|
|
@ -2,7 +2,7 @@ |
|
|
|
<div class="app-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" /> |
|
|
|
<date-range-picker v-model="query.createTime" class="date-item" /> |
|
|
@ -22,77 +22,87 @@ |
|
|
|
<Log ref="log" /> |
|
|
|
</div> |
|
|
|
<!--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"> |
|
|
|
<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> |
|
|
|
</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 :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"> |
|
|
|
<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> |
|
|
|
</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"> |
|
|
|
<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 ? '恢复' : '暂停' }} |
|
|
|
</el-button> |
|
|
|
<el-popover |
|
|
|
<!-- <el-popover |
|
|
|
:ref="scope.row.id" |
|
|
|
v-permission="['admin','timing:del']" |
|
|
|
placement="top" |
|
|
@ -103,8 +113,8 @@ |
|
|
|
<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> |
|
|
|
</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> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
@ -204,7 +214,39 @@ export default { |
|
|
|
}, |
|
|
|
checkboxT(row, rowIndex) { |
|
|
|
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> |
|
|
|
|
|
|
|
<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> |