|  | @ -2,7 +2,7 @@ | 
		
	
		
			
				|  |  |   <div class="app-container"> |  |  |   <div class="app-container"> | 
		
	
		
			
				|  |  |     <!--工具栏--> |  |  |     <!--工具栏--> | 
		
	
		
			
				|  |  |     <div class="head-container"> |  |  |     <div class="head-container"> | 
		
	
		
			
				|  |  |       <div v-if="crud.props.searchToggle"> |  |  |  | 
		
	
		
			
				|  |  |  |  |  |       <div v-if="crud.props.searchToggle" style="margin-bottom:10px"> | 
		
	
		
			
				|  |  |         <!-- 搜索 --> |  |  |         <!-- 搜索 --> | 
		
	
		
			
				|  |  |         <el-input v-model="query.jobName" clearable size="small" placeholder="输入任务名称搜索" style="width: 200px;" class="filter-item" @keyup.enter.native="toQuery" /> |  |  |         <el-input v-model="query.jobName" clearable size="small" placeholder="输入任务名称搜索" style="width: 200px;" class="filter-item" @keyup.enter.native="toQuery" /> | 
		
	
		
			
				|  |  |         <date-range-picker v-model="query.createTime" class="date-item" /> |  |  |         <date-range-picker v-model="query.createTime" class="date-item" /> | 
		
	
	
		
			
				|  | @ -22,77 +22,87 @@ | 
		
	
		
			
				|  |  |       <Log ref="log" /> |  |  |       <Log ref="log" /> | 
		
	
		
			
				|  |  |     </div> |  |  |     </div> | 
		
	
		
			
				|  |  |     <!--Form表单--> |  |  |     <!--Form表单--> | 
		
	
		
			
				|  |  |     <el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title" append-to-body width="730px"> |  |  |  | 
		
	
		
			
				|  |  |       <el-form ref="form" :inline="true" :model="form" :rules="rules" size="small" label-width="100px"> |  |  |  | 
		
	
		
			
				|  |  |         <el-form-item label="任务名称" prop="jobName"> |  |  |  | 
		
	
		
			
				|  |  |           <el-input v-model="form.jobName" style="width: 220px;" /> |  |  |  | 
		
	
		
			
				|  |  |         </el-form-item> |  |  |  | 
		
	
		
			
				|  |  |         <el-form-item label="任务描述" prop="description"> |  |  |  | 
		
	
		
			
				|  |  |           <el-input v-model="form.description" style="width: 220px;" /> |  |  |  | 
		
	
		
			
				|  |  |         </el-form-item> |  |  |  | 
		
	
		
			
				|  |  |         <el-form-item label="Bean名称" prop="beanName"> |  |  |  | 
		
	
		
			
				|  |  |           <el-input v-model="form.beanName" style="width: 220px;" /> |  |  |  | 
		
	
		
			
				|  |  |         </el-form-item> |  |  |  | 
		
	
		
			
				|  |  |         <el-form-item label="执行方法" prop="methodName"> |  |  |  | 
		
	
		
			
				|  |  |           <el-input v-model="form.methodName" style="width: 220px;" /> |  |  |  | 
		
	
		
			
				|  |  |         </el-form-item> |  |  |  | 
		
	
		
			
				|  |  |         <el-form-item label="Cron表达式" prop="cronExpression"> |  |  |  | 
		
	
		
			
				|  |  |           <el-input v-model="form.cronExpression" style="width: 220px;" /> |  |  |  | 
		
	
		
			
				|  |  |         </el-form-item> |  |  |  | 
		
	
		
			
				|  |  |         <el-form-item label="子任务ID"> |  |  |  | 
		
	
		
			
				|  |  |           <el-input v-model="form.subTask" placeholder="多个用逗号隔开,按顺序执行" style="width: 220px;" /> |  |  |  | 
		
	
		
			
				|  |  |         </el-form-item> |  |  |  | 
		
	
		
			
				|  |  |         <el-form-item label="任务负责人" prop="personInCharge"> |  |  |  | 
		
	
		
			
				|  |  |           <el-input v-model="form.personInCharge" style="width: 220px;" /> |  |  |  | 
		
	
		
			
				|  |  |         </el-form-item> |  |  |  | 
		
	
		
			
				|  |  |         <el-form-item label="告警邮箱" prop="email"> |  |  |  | 
		
	
		
			
				|  |  |           <el-input v-model="form.email" placeholder="多个邮箱用逗号隔开" style="width: 220px;" /> |  |  |  | 
		
	
		
			
				|  |  |         </el-form-item> |  |  |  | 
		
	
		
			
				|  |  |         <el-form-item label="失败后暂停"> |  |  |  | 
		
	
		
			
				|  |  |           <el-radio-group v-model="form.pauseAfterFailure" style="width: 220px"> |  |  |  | 
		
	
		
			
				|  |  |             <el-radio :label="true">是</el-radio> |  |  |  | 
		
	
		
			
				|  |  |             <el-radio :label="false">否</el-radio> |  |  |  | 
		
	
		
			
				|  |  |           </el-radio-group> |  |  |  | 
		
	
		
			
				|  |  |         </el-form-item> |  |  |  | 
		
	
		
			
				|  |  |         <el-form-item label="任务状态"> |  |  |  | 
		
	
		
			
				|  |  |           <el-radio-group v-model="form.isPause" style="width: 220px"> |  |  |  | 
		
	
		
			
				|  |  |             <el-radio :label="false">启用</el-radio> |  |  |  | 
		
	
		
			
				|  |  |             <el-radio :label="true">暂停</el-radio> |  |  |  | 
		
	
		
			
				|  |  |           </el-radio-group> |  |  |  | 
		
	
		
			
				|  |  |         </el-form-item> |  |  |  | 
		
	
		
			
				|  |  |         <el-form-item label="参数内容"> |  |  |  | 
		
	
		
			
				|  |  |           <el-input v-model="form.params" style="width: 556px;" rows="4" type="textarea" /> |  |  |  | 
		
	
		
			
				|  |  |         </el-form-item> |  |  |  | 
		
	
		
			
				|  |  |       </el-form> |  |  |  | 
		
	
		
			
				|  |  |  |  |  |     <!-- <el-dialog > | 
		
	
		
			
				|  |  |       <div slot="footer" class="dialog-footer"> |  |  |       <div slot="footer" class="dialog-footer"> | 
		
	
		
			
				|  |  |         <el-button type="text" @click="crud.cancelCU">取消</el-button> |  |  |  | 
		
	
		
			
				|  |  |         <el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">确认</el-button> |  |  |  | 
		
	
		
			
				|  |  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  |  |       </div> | 
		
	
		
			
				|  |  |  |  |  |     </el-dialog> --> | 
		
	
		
			
				|  |  |  |  |  |     <el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title" append-to-body width="730px"> | 
		
	
		
			
				|  |  |  |  |  |       <span class="dialog-right-top" /> | 
		
	
		
			
				|  |  |  |  |  |       <span class="dialog-left-bottom" /> | 
		
	
		
			
				|  |  |  |  |  |       <div class="setting-dialog"> | 
		
	
		
			
				|  |  |  |  |  |         <el-form ref="form" :inline="true" :model="form" :rules="rules" size="small" label-width="100px"> | 
		
	
		
			
				|  |  |  |  |  |           <el-form-item label="任务名称" prop="jobName"> | 
		
	
		
			
				|  |  |  |  |  |             <el-input v-model="form.jobName" style="width: 220px;" /> | 
		
	
		
			
				|  |  |  |  |  |           </el-form-item> | 
		
	
		
			
				|  |  |  |  |  |           <el-form-item label="任务描述" prop="description"> | 
		
	
		
			
				|  |  |  |  |  |             <el-input v-model="form.description" style="width: 220px;" /> | 
		
	
		
			
				|  |  |  |  |  |           </el-form-item> | 
		
	
		
			
				|  |  |  |  |  |           <el-form-item label="Bean名称" prop="beanName"> | 
		
	
		
			
				|  |  |  |  |  |             <el-input v-model="form.beanName" style="width: 220px;" /> | 
		
	
		
			
				|  |  |  |  |  |           </el-form-item> | 
		
	
		
			
				|  |  |  |  |  |           <el-form-item label="执行方法" prop="methodName"> | 
		
	
		
			
				|  |  |  |  |  |             <el-input v-model="form.methodName" style="width: 220px;" /> | 
		
	
		
			
				|  |  |  |  |  |           </el-form-item> | 
		
	
		
			
				|  |  |  |  |  |           <el-form-item label="Cron表达式" prop="cronExpression"> | 
		
	
		
			
				|  |  |  |  |  |             <el-input v-model="form.cronExpression" style="width: 220px;" /> | 
		
	
		
			
				|  |  |  |  |  |           </el-form-item> | 
		
	
		
			
				|  |  |  |  |  |           <el-form-item label="子任务ID"> | 
		
	
		
			
				|  |  |  |  |  |             <el-input v-model="form.subTask" placeholder="多个用逗号隔开,按顺序执行" style="width: 220px;" /> | 
		
	
		
			
				|  |  |  |  |  |           </el-form-item> | 
		
	
		
			
				|  |  |  |  |  |           <el-form-item label="任务负责人" prop="personInCharge"> | 
		
	
		
			
				|  |  |  |  |  |             <el-input v-model="form.personInCharge" style="width: 220px;" /> | 
		
	
		
			
				|  |  |  |  |  |           </el-form-item> | 
		
	
		
			
				|  |  |  |  |  |           <el-form-item label="告警邮箱" prop="email"> | 
		
	
		
			
				|  |  |  |  |  |             <el-input v-model="form.email" placeholder="多个邮箱用逗号隔开" style="width: 220px;" /> | 
		
	
		
			
				|  |  |  |  |  |           </el-form-item> | 
		
	
		
			
				|  |  |  |  |  |           <el-form-item label="失败后暂停"> | 
		
	
		
			
				|  |  |  |  |  |             <el-radio-group v-model="form.pauseAfterFailure" style="width: 220px"> | 
		
	
		
			
				|  |  |  |  |  |               <el-radio :label="true">是</el-radio> | 
		
	
		
			
				|  |  |  |  |  |               <el-radio :label="false">否</el-radio> | 
		
	
		
			
				|  |  |  |  |  |             </el-radio-group> | 
		
	
		
			
				|  |  |  |  |  |           </el-form-item> | 
		
	
		
			
				|  |  |  |  |  |           <el-form-item label="任务状态"> | 
		
	
		
			
				|  |  |  |  |  |             <el-radio-group v-model="form.isPause" style="width: 220px"> | 
		
	
		
			
				|  |  |  |  |  |               <el-radio :label="false">启用</el-radio> | 
		
	
		
			
				|  |  |  |  |  |               <el-radio :label="true">暂停</el-radio> | 
		
	
		
			
				|  |  |  |  |  |             </el-radio-group> | 
		
	
		
			
				|  |  |  |  |  |           </el-form-item> | 
		
	
		
			
				|  |  |  |  |  |           <el-form-item label="参数内容"> | 
		
	
		
			
				|  |  |  |  |  |             <el-input v-model="form.params" style="width: 556px;" rows="4" type="textarea" /> | 
		
	
		
			
				|  |  |  |  |  |           </el-form-item> | 
		
	
		
			
				|  |  |  |  |  |         </el-form> | 
		
	
		
			
				|  |  |  |  |  |         <div slot="footer" class="dialog-footer"> | 
		
	
		
			
				|  |  |  |  |  |           <!-- <el-button type="text" @click="crud.cancelCU">取消</el-button> --> | 
		
	
		
			
				|  |  |  |  |  |           <el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">确认</el-button> | 
		
	
		
			
				|  |  |  |  |  |         </div> | 
		
	
		
			
				|  |  |       </div> |  |  |       </div> | 
		
	
		
			
				|  |  |     </el-dialog> |  |  |     </el-dialog> | 
		
	
		
			
				|  |  |     <!--表格渲染--> |  |  |     <!--表格渲染--> | 
		
	
		
			
				|  |  |     <el-table ref="table" v-loading="crud.loading" :data="crud.data" style="width: 100%;" @selection-change="crud.selectionChangeHandler"> |  |  |  | 
		
	
		
			
				|  |  |  |  |  |     <el-table ref="table" v-loading="crud.loading" :cell-class-name="cell" :data="crud.data" style="width: 100%;" @selection-change="crud.selectionChangeHandler"> | 
		
	
		
			
				|  |  |       <el-table-column :selectable="checkboxT" type="selection" width="55" /> |  |  |       <el-table-column :selectable="checkboxT" type="selection" width="55" /> | 
		
	
		
			
				|  |  |       <el-table-column :show-overflow-tooltip="true" prop="id" label="任务ID" /> |  |  |  | 
		
	
		
			
				|  |  |       <el-table-column :show-overflow-tooltip="true" prop="jobName" label="任务名称" /> |  |  |  | 
		
	
		
			
				|  |  |       <el-table-column :show-overflow-tooltip="true" prop="beanName" label="Bean名称" /> |  |  |  | 
		
	
		
			
				|  |  |       <el-table-column :show-overflow-tooltip="true" prop="methodName" label="执行方法" /> |  |  |  | 
		
	
		
			
				|  |  |       <el-table-column :show-overflow-tooltip="true" prop="params" label="参数" /> |  |  |  | 
		
	
		
			
				|  |  |       <el-table-column :show-overflow-tooltip="true" prop="cronExpression" label="cron表达式" /> |  |  |  | 
		
	
		
			
				|  |  |       <el-table-column :show-overflow-tooltip="true" prop="isPause" width="90px" label="状态"> |  |  |  | 
		
	
		
			
				|  |  |  |  |  |       <el-table-column :show-overflow-tooltip="true" align="center" prop="id" label="任务ID" /> | 
		
	
		
			
				|  |  |  |  |  |       <el-table-column :show-overflow-tooltip="true" align="center" prop="jobName" label="任务名称" /> | 
		
	
		
			
				|  |  |  |  |  |       <el-table-column :show-overflow-tooltip="true" align="center" prop="beanName" label="Bean名称" /> | 
		
	
		
			
				|  |  |  |  |  |       <el-table-column :show-overflow-tooltip="true" align="center" prop="methodName" label="执行方法" /> | 
		
	
		
			
				|  |  |  |  |  |       <el-table-column :show-overflow-tooltip="true" align="center" prop="params" label="参数" /> | 
		
	
		
			
				|  |  |  |  |  |       <el-table-column :show-overflow-tooltip="true" align="center" prop="cronExpression" label="cron表达式" /> | 
		
	
		
			
				|  |  |  |  |  |       <el-table-column :show-overflow-tooltip="true" align="center" prop="isPause" width="90px" label="状态"> | 
		
	
		
			
				|  |  |         <template slot-scope="scope"> |  |  |         <template slot-scope="scope"> | 
		
	
		
			
				|  |  |           <el-tag :type="scope.row.isPause ? 'warning' : 'success'">{{ scope.row.isPause ? '已暂停' : '运行中' }}</el-tag> |  |  |  | 
		
	
		
			
				|  |  |  |  |  |           <!-- <el-tag :type="scope.row.isPause ? 'warning' : 'success'">{{ scope.row.isPause ? '已暂停' : '运行中' }}</el-tag> --> | 
		
	
		
			
				|  |  |  |  |  |           <span class="clear" style="width:76px">{{ scope.row.isPause ? '已暂停' : '运行中' }}</span> | 
		
	
		
			
				|  |  |         </template> |  |  |         </template> | 
		
	
		
			
				|  |  |       </el-table-column> |  |  |       </el-table-column> | 
		
	
		
			
				|  |  |       <el-table-column :show-overflow-tooltip="true" prop="description" width="150px" label="描述" /> |  |  |  | 
		
	
		
			
				|  |  |       <el-table-column :show-overflow-tooltip="true" prop="createTime" width="136px" label="创建日期" /> |  |  |  | 
		
	
		
			
				|  |  |  |  |  |       <el-table-column :show-overflow-tooltip="true" align="center" prop="description" width="150px" label="描述" /> | 
		
	
		
			
				|  |  |  |  |  |       <el-table-column :show-overflow-tooltip="true" align="center" prop="createTime" width="136px" label="创建日期" /> | 
		
	
		
			
				|  |  |       <el-table-column v-if="checkPer(['admin','timing:edit','timing:del'])" label="操作" width="170px" align="center" fixed="right"> |  |  |       <el-table-column v-if="checkPer(['admin','timing:edit','timing:del'])" label="操作" width="170px" align="center" fixed="right"> | 
		
	
		
			
				|  |  |         <template slot-scope="scope"> |  |  |         <template slot-scope="scope"> | 
		
	
		
			
				|  |  |           <el-button v-permission="['admin','timing:edit']" size="mini" style="margin-right: 3px;" type="text" @click="crud.toEdit(scope.row)">编辑</el-button> |  |  |  | 
		
	
		
			
				|  |  |           <el-button v-permission="['admin','timing:edit']" style="margin-left: -2px" type="text" size="mini" @click="execute(scope.row.id)">执行</el-button> |  |  |  | 
		
	
		
			
				|  |  |           <el-button v-permission="['admin','timing:edit']" style="margin-left: 3px" type="text" size="mini" @click="updateStatus(scope.row.id,scope.row.isPause ? '恢复' : '暂停')"> |  |  |  | 
		
	
		
			
				|  |  |  |  |  |           <!-- <el-button v-permission="['admin','timing:edit']" size="mini" style="margin-right: 3px;" type="text" @click="crud.toEdit(scope.row)">编辑</el-button> --> | 
		
	
		
			
				|  |  |  |  |  |           <el-button v-permission="['admin','timing:edit']" class="exc-btn" style="margin-left: -2px" type="text" size="mini" @click="execute(scope.row.id)">执行</el-button> | 
		
	
		
			
				|  |  |  |  |  |           <el-button v-permission="['admin','timing:edit']" :class="scope.row.isPause ? 'rec-btn' : 'pause-btn'" style="margin-left: 3px" type="text" size="mini" @click="updateStatus(scope.row.id,scope.row.isPause ? '恢复' : '暂停')"> | 
		
	
		
			
				|  |  |             {{ scope.row.isPause ? '恢复' : '暂停' }} |  |  |             {{ scope.row.isPause ? '恢复' : '暂停' }} | 
		
	
		
			
				|  |  |           </el-button> |  |  |           </el-button> | 
		
	
		
			
				|  |  |           <el-popover |  |  |  | 
		
	
		
			
				|  |  |  |  |  |           <!-- <el-popover | 
		
	
		
			
				|  |  |             :ref="scope.row.id" |  |  |             :ref="scope.row.id" | 
		
	
		
			
				|  |  |             v-permission="['admin','timing:del']" |  |  |             v-permission="['admin','timing:del']" | 
		
	
		
			
				|  |  |             placement="top" |  |  |             placement="top" | 
		
	
	
		
			
				|  | @ -103,8 +113,8 @@ | 
		
	
		
			
				|  |  |               <el-button size="mini" type="text" @click="$refs[scope.row.id].doClose()">取消</el-button> |  |  |               <el-button size="mini" type="text" @click="$refs[scope.row.id].doClose()">取消</el-button> | 
		
	
		
			
				|  |  |               <el-button :loading="delLoading" type="primary" size="mini" @click="delMethod(scope.row.id)">确定</el-button> |  |  |               <el-button :loading="delLoading" type="primary" size="mini" @click="delMethod(scope.row.id)">确定</el-button> | 
		
	
		
			
				|  |  |             </div> |  |  |             </div> | 
		
	
		
			
				|  |  |             <el-button slot="reference" type="text" size="mini">删除</el-button> |  |  |  | 
		
	
		
			
				|  |  |           </el-popover> |  |  |  | 
		
	
		
			
				|  |  |  |  |  |             <el-button slot="reference" type="text" size="mini">删除</el-button> --> | 
		
	
		
			
				|  |  |  |  |  |           <!-- </el-popover> --> | 
		
	
		
			
				|  |  |         </template> |  |  |         </template> | 
		
	
		
			
				|  |  |       </el-table-column> |  |  |       </el-table-column> | 
		
	
		
			
				|  |  |     </el-table> |  |  |     </el-table> | 
		
	
	
		
			
				|  | @ -204,7 +214,39 @@ export default { | 
		
	
		
			
				|  |  |     }, |  |  |     }, | 
		
	
		
			
				|  |  |     checkboxT(row, rowIndex) { |  |  |     checkboxT(row, rowIndex) { | 
		
	
		
			
				|  |  |       return row.id !== 1 |  |  |       return row.id !== 1 | 
		
	
		
			
				|  |  |  |  |  |     }, | 
		
	
		
			
				|  |  |  |  |  |     // 单元格样式 | 
		
	
		
			
				|  |  |  |  |  |     cell({ row, columnIndex }) { | 
		
	
		
			
				|  |  |  |  |  |       if (row.isPause === true && columnIndex === 7) { // 已暂停 | 
		
	
		
			
				|  |  |  |  |  |         console.log(1) | 
		
	
		
			
				|  |  |  |  |  |         return 'fail-clear' | 
		
	
		
			
				|  |  |  |  |  |       } else if (row.isPause === false && columnIndex === 7) { // 运行中 | 
		
	
		
			
				|  |  |  |  |  |         return 'have-clear' | 
		
	
		
			
				|  |  |  |  |  |       } | 
		
	
		
			
				|  |  |     } |  |  |     } | 
		
	
		
			
				|  |  |   } |  |  |   } | 
		
	
		
			
				|  |  | } |  |  | } | 
		
	
		
			
				|  |  | </script> |  |  | </script> | 
		
	
		
			
				|  |  |  |  |  | 
 | 
		
	
		
			
				|  |  |  |  |  | <style lang="scss" scoped> | 
		
	
		
			
				|  |  |  |  |  | @import '~@/assets/styles/lend-manage.scss'; | 
		
	
		
			
				|  |  |  |  |  | .crud-opts{ | 
		
	
		
			
				|  |  |  |  |  |   display: flex; | 
		
	
		
			
				|  |  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | ::v-deep .el-dialog .el-dialog__header .el-dialog__close::before{ | 
		
	
		
			
				|  |  |  |  |  |     position: absolute; | 
		
	
		
			
				|  |  |  |  |  |     right: -47px; | 
		
	
		
			
				|  |  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | .exc-btn{ | 
		
	
		
			
				|  |  |  |  |  |   background-color:#FD8042; | 
		
	
		
			
				|  |  |  |  |  |   border: none; | 
		
	
		
			
				|  |  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | .rec-btn{ | 
		
	
		
			
				|  |  |  |  |  |   background-color:#1890FF; | 
		
	
		
			
				|  |  |  |  |  |   border: none; | 
		
	
		
			
				|  |  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | .pause-btn{ | 
		
	
		
			
				|  |  |  |  |  |   background-color:#FF4949; | 
		
	
		
			
				|  |  |  |  |  |   border: none; | 
		
	
		
			
				|  |  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | </style> |