|
@@ -88,6 +88,17 @@
|
|
|
v-hasPermi="['monitor:job:query']"
|
|
|
>日志</el-button>
|
|
|
</el-col>
|
|
|
+
|
|
|
+ <el-col :span="1.5">
|
|
|
+ <el-button
|
|
|
+ type="success"
|
|
|
+ plain
|
|
|
+ icon="el-icon-s-operation"
|
|
|
+ size="mini"
|
|
|
+ @click="handleJobReport"
|
|
|
+ v-hasPermi="['monitor:job:query']"
|
|
|
+ >报表</el-button>
|
|
|
+ </el-col>
|
|
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
|
|
</el-row>
|
|
|
|
|
@@ -137,6 +148,9 @@
|
|
|
v-hasPermi="['monitor:job:query']">任务详细</el-dropdown-item>
|
|
|
<el-dropdown-item command="handleJobLog" icon="el-icon-s-operation"
|
|
|
v-hasPermi="['monitor:job:query']">调度日志</el-dropdown-item>
|
|
|
+
|
|
|
+ <el-dropdown-item command="handleJobReport" icon="el-icon-s-operation"
|
|
|
+ v-hasPermi="['monitor:job:query']">调度报表</el-dropdown-item>
|
|
|
</el-dropdown-menu>
|
|
|
</el-dropdown>
|
|
|
</template>
|
|
@@ -161,6 +175,24 @@
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
+ <el-form-item label="员工工号" prop="empno">
|
|
|
+ <el-input v-model="form.empno" placeholder="请输入员工工号" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="任务内容" prop="cont" >
|
|
|
+ <el-input v-model="form.cont" placeholder="请输入任务内容" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="超时时间" prop="timeout" >
|
|
|
+ <el-input v-model="form.timeout" placeholder="请输入超时时间" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+
|
|
|
+ <el-col :span="12">
|
|
|
<el-form-item label="任务分组" prop="jobGroup">
|
|
|
<el-select v-model="form.jobGroup" placeholder="请选择任务分组">
|
|
|
<el-option
|
|
@@ -172,8 +204,53 @@
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- <el-col :span="24">
|
|
|
- <el-form-item prop="invokeTarget">
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="任务大类" prop="jobType">
|
|
|
+ <el-select v-model="form.jobType" placeholder="请选择任务大类">
|
|
|
+ <el-option
|
|
|
+ v-for="dict in dict.type.sys_oa"
|
|
|
+ :key="dict.value"
|
|
|
+ :label="dict.label"
|
|
|
+ :value="dict.value"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="任务小类" prop="jobTypeS">
|
|
|
+ <el-select v-model="form.jobTypeS" placeholder="请选择任务小类">
|
|
|
+ <el-option
|
|
|
+ v-for="dict in dict.type.sys_oa_s"
|
|
|
+ :key="dict.value"
|
|
|
+ :label="dict.label"
|
|
|
+ :value="dict.value"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="工作日调度" prop="dispc">
|
|
|
+ <el-select v-model="form.dispc" placeholder="请选择">
|
|
|
+ <el-option
|
|
|
+ v-for="dict in dict.type.sys_yes_no"
|
|
|
+ :key="dict.value"
|
|
|
+ :label="dict.label"
|
|
|
+ :value="dict.value"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+
|
|
|
+ <el-col :span="12">
|
|
|
+ <el-form-item label="预计时长(小时)" prop="duration">
|
|
|
+ <el-input v-model="form.duration" placeholder="请输入时长" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+
|
|
|
+
|
|
|
+ <el-col :span="24" >
|
|
|
+ <el-form-item prop="invokeTarget" readonly >
|
|
|
<span slot="label">
|
|
|
调用方法
|
|
|
<el-tooltip placement="top">
|
|
@@ -185,7 +262,7 @@
|
|
|
<i class="el-icon-question"></i>
|
|
|
</el-tooltip>
|
|
|
</span>
|
|
|
- <el-input v-model="form.invokeTarget" placeholder="请输入调用目标字符串" />
|
|
|
+ <el-input v-model="invokeTarget" placeholder="请输入调用目标字符串" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="24">
|
|
@@ -297,9 +374,34 @@ import Crontab from '@/components/Crontab'
|
|
|
export default {
|
|
|
components: { Crontab },
|
|
|
name: "Job",
|
|
|
- dicts: ['sys_job_group', 'sys_job_status'],
|
|
|
+ dicts: ['sys_job_group', 'sys_job_status', 'sys_oa','sys_oa_s','sys_yes_no'],
|
|
|
data() {
|
|
|
return {
|
|
|
+ pickerOptions: {
|
|
|
+ shortcuts: [{
|
|
|
+ text: '今天',
|
|
|
+ onClick(picker) {
|
|
|
+ picker.$emit('pick', new Date());
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ text: '昨天',
|
|
|
+ onClick(picker) {
|
|
|
+ const date = new Date();
|
|
|
+ date.setTime(date.getTime() - 3600 * 1000 * 24);
|
|
|
+ picker.$emit('pick', date);
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ text: '一周前',
|
|
|
+ onClick(picker) {
|
|
|
+ const date = new Date();
|
|
|
+ date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);
|
|
|
+ picker.$emit('pick', date);
|
|
|
+ }
|
|
|
+ }]
|
|
|
+ },
|
|
|
+ value1: '',
|
|
|
+ value2: '',
|
|
|
+ value3: '',
|
|
|
// 遮罩层
|
|
|
loading: true,
|
|
|
// 选中数组
|
|
@@ -330,16 +432,23 @@ export default {
|
|
|
pageSize: 10,
|
|
|
jobName: undefined,
|
|
|
jobGroup: undefined,
|
|
|
- status: undefined
|
|
|
+ jobType: undefined,
|
|
|
+ jobTypeS: undefined,
|
|
|
+ dispc:undefined,
|
|
|
+ empno:undefined,
|
|
|
+ cont:undefined,
|
|
|
+ timeout:undefined,
|
|
|
+ status: undefined,
|
|
|
+ duration:undefined
|
|
|
},
|
|
|
// 表单参数
|
|
|
form: {},
|
|
|
// 表单校验
|
|
|
rules: {
|
|
|
jobName: [
|
|
|
- { required: true, message: "任务名称不能为空", trigger: "blur" }
|
|
|
+ { required: true, message: "名称不能为空", trigger: "blur" }
|
|
|
],
|
|
|
- invokeTarget: [
|
|
|
+ invokeTarget: [
|
|
|
{ required: true, message: "调用目标字符串不能为空", trigger: "blur" }
|
|
|
],
|
|
|
cronExpression: [
|
|
@@ -348,6 +457,20 @@ export default {
|
|
|
}
|
|
|
};
|
|
|
},
|
|
|
+ computed:{
|
|
|
+ invokeTarget:function (){
|
|
|
+ let white = ['jobName','empno','cont','timeout','jobGroup','jobType','jobTypeS','dispc','duration']
|
|
|
+ let param = ''
|
|
|
+ white.forEach((item,index)=>{
|
|
|
+ if(this.form[item])
|
|
|
+ index===white.length-1
|
|
|
+ ?param+=`'${this.form[item]}'`
|
|
|
+ :param+=`'${this.form[item]}',`
|
|
|
+ })
|
|
|
+ this.form.invokeTarget=`ryTask.tq(${param})`
|
|
|
+ return `ryTask.tq(${param})`
|
|
|
+ }
|
|
|
+ },
|
|
|
created() {
|
|
|
this.getList();
|
|
|
},
|
|
@@ -412,6 +535,9 @@ export default {
|
|
|
case "handleJobLog":
|
|
|
this.handleJobLog(row);
|
|
|
break;
|
|
|
+ case "handleJobReport":
|
|
|
+ this.handleJobReport(row);
|
|
|
+ break;
|
|
|
default:
|
|
|
break;
|
|
|
}
|
|
@@ -456,6 +582,11 @@ export default {
|
|
|
const jobId = row.jobId || 0;
|
|
|
this.$router.push('/monitor/job-log/index/' + jobId)
|
|
|
},
|
|
|
+ /** 任务日志列表查询 */
|
|
|
+ handleJobReport(row) {
|
|
|
+ const jobId = row.jobId || 0;
|
|
|
+ this.$router.push('/monitor/job-log/index/' + jobId)
|
|
|
+ },
|
|
|
/** 新增按钮操作 */
|
|
|
handleAdd() {
|
|
|
this.reset();
|
|
@@ -510,4 +641,5 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
};
|
|
|
+
|
|
|
</script>
|