|
@@ -50,7 +50,7 @@ |
|
|
{{ scope.$index + 1 }} |
|
|
{{ scope.$index + 1 }} |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
<el-table-column label="计划名称" align="center" prop="planName" width="100" /> |
|
|
|
|
|
|
|
|
<el-table-column label="计划名称" align="center" prop="planName" width="150" /> |
|
|
<el-table-column label="应用名称" align="center" prop="appName" width="250" /> |
|
|
<el-table-column label="应用名称" align="center" prop="appName" width="250" /> |
|
|
<el-table-column label="调度方式" align="center" prop="planType" width="100"> |
|
|
<el-table-column label="调度方式" align="center" prop="planType" width="100"> |
|
|
<template slot-scope="scope"> |
|
|
<template slot-scope="scope"> |
|
@@ -61,7 +61,16 @@ |
|
|
<el-table-column label="应用类型名称" align="center" prop="appTypeName" width="100" /> |
|
|
<el-table-column label="应用类型名称" align="center" prop="appTypeName" width="100" /> |
|
|
<el-table-column label="appid" align="center" prop="appId" width="300" /> |
|
|
<el-table-column label="appid" align="center" prop="appId" width="300" /> |
|
|
<el-table-column label="应用类型枚举" align="center" prop="appType" width="100" /> |
|
|
<el-table-column label="应用类型枚举" align="center" prop="appType" width="100" /> |
|
|
<el-table-column label="计划参数" align="center" prop="planParams" width="100" /> |
|
|
|
|
|
|
|
|
<el-table-column label="计划参数" align="center" prop="planParams" width="100"> |
|
|
|
|
|
<template slot-scope="scope"> |
|
|
|
|
|
<el-popover trigger="hover" placement="top"> |
|
|
|
|
|
<p> {{ scope.row.planParams }}</p> |
|
|
|
|
|
<div slot="reference" class="name-wrapper"> |
|
|
|
|
|
<el-tag size="medium">显示参数</el-tag> |
|
|
|
|
|
</div> |
|
|
|
|
|
</el-popover> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
<el-table-column label="等待超时时间" align="center" prop="waitTimeout" width="100"> |
|
|
<el-table-column label="等待超时时间" align="center" prop="waitTimeout" width="100"> |
|
|
<template slot-scope="scope"> |
|
|
<template slot-scope="scope"> |
|
|
<dict-tag :options="dict.type.wait_timeout" :value="scope.row.waitTimeout" /> |
|
|
<dict-tag :options="dict.type.wait_timeout" :value="scope.row.waitTimeout" /> |
|
@@ -80,6 +89,8 @@ |
|
|
<dict-tag :options="dict.type.plan_run_status" :value="scope.row.taskStatus" /> |
|
|
<dict-tag :options="dict.type.plan_run_status" :value="scope.row.taskStatus" /> |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column label="上次执行时间" align="center" prop="lastExecTime" width="170" /> |
|
|
|
|
|
<el-table-column label="下次执行时间" align="center" prop="nextExecTime" width="170" /> |
|
|
<el-table-column label="任务运行uuid" align="center" prop="taskUuid" width="300" /> |
|
|
<el-table-column label="任务运行uuid" align="center" prop="taskUuid" width="300" /> |
|
|
<el-table-column label="开始时间" align="center" fixed="right" prop="startTime" width="100" /> |
|
|
<el-table-column label="开始时间" align="center" fixed="right" prop="startTime" width="100" /> |
|
|
<el-table-column label="结束时间" align="center" fixed="right" prop="endTime" width="100" /> |
|
|
<el-table-column label="结束时间" align="center" fixed="right" prop="endTime" width="100" /> |
|
@@ -105,7 +116,7 @@ |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
<el-table-column label="备注" align="center" prop="remark" /> |
|
|
<el-table-column label="备注" align="center" prop="remark" /> |
|
|
<el-table-column label="操作" align="center" width="150" fixed="right" class-name="small-padding fixed-width"> |
|
|
|
|
|
|
|
|
<el-table-column label="操作" align="center" width="200" fixed="right" class-name="small-padding fixed-width"> |
|
|
<template slot-scope="scope"> |
|
|
<template slot-scope="scope"> |
|
|
<el-button size="mini" v-if="scope.row.taskStatus == 'await_create' && scope.row.supportParam != 0" |
|
|
<el-button size="mini" v-if="scope.row.taskStatus == 'await_create' && scope.row.supportParam != 0" |
|
|
type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" |
|
|
type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" |
|
@@ -186,8 +197,15 @@ |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="12"> |
|
|
<el-col :span="12"> |
|
|
<el-form-item v-if="form.excType == 2" label="执行表达式" prop="cronExpression"> |
|
|
|
|
|
<el-input v-model="form.cronExpression" placeholder="请输入执行表达式" /> |
|
|
|
|
|
|
|
|
<el-form-item v-if="form.excType == 2" label="cron表达式" prop="cronExpression"> |
|
|
|
|
|
<el-input v-model="form.cronExpression" placeholder="请输入cron执行表达式"> |
|
|
|
|
|
<template slot="append"> |
|
|
|
|
|
<el-button type="primary" @click="handleShowCron"> |
|
|
|
|
|
生成表达式 |
|
|
|
|
|
<i class="el-icon-time el-icon--right"></i> |
|
|
|
|
|
</el-button> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-input> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
</el-row> |
|
|
</el-row> |
|
@@ -200,8 +218,9 @@ |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="4"> |
|
|
<el-col :span="4"> |
|
|
<el-row :gutter="24"> |
|
|
<el-row :gutter="24"> |
|
|
<el-col style="margin-bottom: 10px;" :span="24"><el-button type="primary" size="mini" @click="addParamVisible = true">添加参数</el-button></el-col> |
|
|
|
|
|
<el-col :span="24"><el-button type="primary" size="mini" @click="form.planParams = ''">清空参数</el-button></el-col> |
|
|
|
|
|
|
|
|
<el-col style="margin-bottom: 10px;" :span="24"><el-button type="primary" size="mini" |
|
|
|
|
|
@click="showAddParam">添加参数</el-button></el-col> |
|
|
|
|
|
<el-col :span="24"><el-button type="primary" size="mini" @click="clearAddParam">清空参数</el-button></el-col> |
|
|
</el-row> |
|
|
</el-row> |
|
|
</el-col> |
|
|
</el-col> |
|
|
</el-row> |
|
|
</el-row> |
|
@@ -219,18 +238,21 @@ |
|
|
</div> |
|
|
</div> |
|
|
</el-dialog> |
|
|
</el-dialog> |
|
|
|
|
|
|
|
|
|
|
|
<el-dialog title="Cron表达式生成器" :visible.sync="openCron" append-to-body destroy-on-close class="scrollbar"> |
|
|
|
|
|
<crontab @hide="openCron=false" @fill="crontabFill" :expression="expression"></crontab> |
|
|
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
|
<!-- 添加参数 --> |
|
|
|
|
|
<el-dialog title="添加参数" :visible.sync="addParamVisible" width="800px" append-to-body> |
|
|
|
|
|
|
|
|
<!-- 添加参数 --> |
|
|
|
|
|
<el-dialog title="添加参数" :visible.sync="addParamVisible" width="1000px" append-to-body> |
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="100px"> |
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="100px"> |
|
|
<el-row :gutter="24"> |
|
|
<el-row :gutter="24"> |
|
|
<el-col :span="8"> |
|
|
<el-col :span="8"> |
|
|
<el-form-item label="参数类型" prop="type"> |
|
|
<el-form-item label="参数类型" prop="type"> |
|
|
<el-select v-model="param.type" placeholder="请选择参数类型"> |
|
|
<el-select v-model="param.type" placeholder="请选择参数类型"> |
|
|
<el-option v-for="dict in dict.type.app_param_type" :key="dict.value" :label="dict.label" |
|
|
<el-option v-for="dict in dict.type.app_param_type" :key="dict.value" :label="dict.label" |
|
|
:value="dict.value"></el-option> |
|
|
|
|
|
|
|
|
:value="dict.value"></el-option> |
|
|
</el-select> |
|
|
</el-select> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="8"> |
|
|
<el-col :span="8"> |
|
@@ -238,11 +260,32 @@ |
|
|
<el-input v-model="param.name" type="text" placeholder="请输入内容" /> |
|
|
<el-input v-model="param.name" type="text" placeholder="请输入内容" /> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
<el-col :span="8"> |
|
|
|
|
|
|
|
|
<el-col v-if="param.type == null || param.type == 'str'" :span="8"> |
|
|
<el-form-item label="参数值" prop="value"> |
|
|
<el-form-item label="参数值" prop="value"> |
|
|
<el-input v-model="param.value" type="text" placeholder="请输入参数值" /> |
|
|
<el-input v-model="param.value" type="text" placeholder="请输入参数值" /> |
|
|
</el-form-item> |
|
|
</el-form-item> |
|
|
</el-col> |
|
|
</el-col> |
|
|
|
|
|
<el-col v-if="param.type == 'int'" :span="8"> |
|
|
|
|
|
<el-form-item label="参数值" prop="value"> |
|
|
|
|
|
<el-input-number v-model="param.value" :precision="0" placeholder="请输入参数值"></el-input-number> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
<el-col v-if="param.type == 'float'" :span="8"> |
|
|
|
|
|
<el-form-item label="参数值" prop="value"> |
|
|
|
|
|
<el-input-number v-model="param.value" :precision="2" placeholder="请输入参数值"></el-input-number> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
<el-col v-if="param.type == 'bool'" :span="8"> |
|
|
|
|
|
<el-form-item label="参数值" prop="value"> |
|
|
|
|
|
<el-switch v-model="param.value" active-text="真" inactive-text="假" active-value="true" |
|
|
|
|
|
inactive-value="false" /> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</el-col> |
|
|
|
|
|
<el-col v-if="param.type == 'file'" :span="8"> |
|
|
|
|
|
<el-form-item label="参数值" prop="value"> |
|
|
|
|
|
<file-upload v-model="param.value" /> |
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
</el-col> |
|
|
</el-row> |
|
|
</el-row> |
|
|
|
|
|
|
|
|
</el-form> |
|
|
</el-form> |
|
@@ -258,12 +301,19 @@ |
|
|
import { listCtApplyPlan, getCtApplyPlan, delCtApplyPlan, addCtApplyPlan, updateCtApplyPlan } from "@/api/business/ctApplyPlan"; |
|
|
import { listCtApplyPlan, getCtApplyPlan, delCtApplyPlan, addCtApplyPlan, updateCtApplyPlan } from "@/api/business/ctApplyPlan"; |
|
|
import { listRebotAll } from "@/api/business/ctRebot"; |
|
|
import { listRebotAll } from "@/api/business/ctRebot"; |
|
|
import { listApplyAll } from "@/api/business/ctApply"; |
|
|
import { listApplyAll } from "@/api/business/ctApply"; |
|
|
|
|
|
import Crontab from '@/components/Crontab' |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
export default { |
|
|
export default { |
|
|
|
|
|
components: { Crontab }, |
|
|
name: "CtApplyPlan", |
|
|
name: "CtApplyPlan", |
|
|
dicts: ['plan_type', 'wait_timeout', , 'exc_type', 'plan_run_status','app_param_type'], |
|
|
|
|
|
|
|
|
dicts: ['plan_type', 'wait_timeout', , 'exc_type', 'plan_run_status', 'app_param_type'], |
|
|
data() { |
|
|
data() { |
|
|
return { |
|
|
return { |
|
|
|
|
|
// 是否显示Cron表达式弹出层 |
|
|
|
|
|
openCron: false, |
|
|
|
|
|
// 传入的表达式 |
|
|
|
|
|
expression: "", |
|
|
// 添加参数 |
|
|
// 添加参数 |
|
|
addParamVisible: false, |
|
|
addParamVisible: false, |
|
|
// 遮罩层 |
|
|
// 遮罩层 |
|
@@ -310,9 +360,9 @@ export default { |
|
|
// 应用列表 |
|
|
// 应用列表 |
|
|
applyList: [], |
|
|
applyList: [], |
|
|
// 参数集 |
|
|
// 参数集 |
|
|
params:[], |
|
|
|
|
|
|
|
|
params: [], |
|
|
// 单个参数对象 |
|
|
// 单个参数对象 |
|
|
param:{}, |
|
|
|
|
|
|
|
|
param: {}, |
|
|
}; |
|
|
}; |
|
|
}, |
|
|
}, |
|
|
created() { |
|
|
created() { |
|
@@ -320,11 +370,22 @@ export default { |
|
|
}, |
|
|
}, |
|
|
methods: { |
|
|
methods: { |
|
|
// 添加参数 |
|
|
// 添加参数 |
|
|
addParam(){ |
|
|
|
|
|
|
|
|
addParam() { |
|
|
this.params.push(this.param); |
|
|
this.params.push(this.param); |
|
|
this.form.planParams = JSON.stringify(this.params); |
|
|
this.form.planParams = JSON.stringify(this.params); |
|
|
this.addParamVisible = false; |
|
|
this.addParamVisible = false; |
|
|
}, |
|
|
}, |
|
|
|
|
|
// 清空参数 |
|
|
|
|
|
clearAddParam() { |
|
|
|
|
|
this.form.planParams = '' |
|
|
|
|
|
this.params = []; |
|
|
|
|
|
this.param = {}; |
|
|
|
|
|
}, |
|
|
|
|
|
// 打开添加参数 |
|
|
|
|
|
showAddParam() { |
|
|
|
|
|
this.addParamVisible = true; |
|
|
|
|
|
this.param = {}; |
|
|
|
|
|
}, |
|
|
/** 查询应用执行计划管理列表 */ |
|
|
/** 查询应用执行计划管理列表 */ |
|
|
getList() { |
|
|
getList() { |
|
|
this.loading = true; |
|
|
this.loading = true; |
|
@@ -476,7 +537,16 @@ export default { |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
return sums; |
|
|
return sums; |
|
|
} |
|
|
|
|
|
|
|
|
}, |
|
|
|
|
|
/** cron表达式按钮操作 */ |
|
|
|
|
|
handleShowCron() { |
|
|
|
|
|
this.expression = this.form.cronExpression; |
|
|
|
|
|
this.openCron = true; |
|
|
|
|
|
}, |
|
|
|
|
|
/** 确定后回传值 */ |
|
|
|
|
|
crontabFill(value) { |
|
|
|
|
|
this.form.cronExpression = value; |
|
|
|
|
|
}, |
|
|
} |
|
|
} |
|
|
}; |
|
|
}; |
|
|
</script> |
|
|
</script> |