|
@@ -41,20 +41,18 @@
|
|
|
:height="height"
|
|
|
:header-cell-style="{ 'text-align': 'center' }"
|
|
|
:cell-style="{ 'text-align': 'center' }"
|
|
|
+ @expand-change="expandChange"
|
|
|
>
|
|
|
>
|
|
|
|
|
|
<el-table-column type="expand">
|
|
|
<template slot-scope="props">
|
|
|
<el-form label-position="left" inline class="demo-table-expand">
|
|
|
- <el-form-item label="鉴权URL:">
|
|
|
- <span>{{ props.row.comUrl }}</span>
|
|
|
+ <el-form-item label="最后执行时间:">
|
|
|
+ <span>{{ props.row.nextFireTime }}</span>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="推送数据URL:">
|
|
|
- <span>{{ props.row.pushUrl }}</span>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="拉取数据URL:">
|
|
|
- <span>{{ props.row.pullUrl }}</span>
|
|
|
+ <el-form-item label="下次执行时间:">
|
|
|
+ <span>{{ props.row.laetFireTime }}</span>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
</template>
|
|
@@ -110,6 +108,7 @@
|
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
|
|
<el-form-item label="场站" prop="name">
|
|
|
<el-select
|
|
|
+ :disabled="isEdit"
|
|
|
v-model="form.stationCode"
|
|
|
placeholder="请选择"
|
|
|
@change="selectStationChange($event)"
|
|
@@ -125,6 +124,8 @@
|
|
|
|
|
|
<el-form-item label="执行类" prop="executeClass">
|
|
|
<el-select
|
|
|
+ :disabled="isEdit"
|
|
|
+ style="width: 100%"
|
|
|
v-model="form.executeClass"
|
|
|
placeholder="请选择"
|
|
|
@change="selectExecuteClassChange($event)"
|
|
@@ -134,7 +135,11 @@
|
|
|
:key="item.executeClass"
|
|
|
:label="item.name"
|
|
|
:value="item.executeClass"
|
|
|
- ></el-option>
|
|
|
+ >
|
|
|
+
|
|
|
+ <span style="float: left">{{ item.name }}</span>
|
|
|
+ <span style="float: right; color: #8492a6; font-size: 13px">{{ item.type }}</span>
|
|
|
+ </el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
|
|
@@ -171,13 +176,13 @@
|
|
|
<el-input v-model.trim="form.name" autocomplete="off"></el-input>
|
|
|
</el-form-item>
|
|
|
|
|
|
- <el-form-item label="任务状态" prop="jobState">
|
|
|
+ <el-form-item label="任务操作" prop="operate">
|
|
|
<el-select
|
|
|
- v-model="form.jobState"
|
|
|
+ v-model="form.operate"
|
|
|
placeholder="请选择"
|
|
|
>
|
|
|
<el-option
|
|
|
- v-for="item in state"
|
|
|
+ v-for="item in operates"
|
|
|
:key="item.value"
|
|
|
:label="item.label"
|
|
|
:value="item.value"
|
|
@@ -190,14 +195,12 @@
|
|
|
<el-form-item label="开始时间" prop="startTime">
|
|
|
<el-date-picker
|
|
|
v-model.trim="form.startTime"
|
|
|
+ value-format="timestamp"
|
|
|
type="datetime"
|
|
|
placeholder="选择日期时间">
|
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
|
|
|
|
- <el-form-item label="类型" prop="jobType">
|
|
|
- <el-input v-model.trim="form.jobType" autocomplete="off"></el-input>
|
|
|
- </el-form-item>
|
|
|
</el-form>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
<el-button @click="close">取 消</el-button>
|
|
@@ -208,8 +211,8 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
- import { fetchList, addObj, putObj, delObj,getJobName } from '@/api/quartz'
|
|
|
- import { getCode, getInCode } from "@/api/quartzBase";
|
|
|
+ import { fetchList, addObj, putObj, delObj,getJobName,getJobTime } from '@/api/quartz'
|
|
|
+ import { getChoose } from "@/api/quartzBase";
|
|
|
|
|
|
import { getAll } from '@/api/station'
|
|
|
import { cron } from 'vue-cron'
|
|
@@ -222,7 +225,7 @@
|
|
|
if (!value) {
|
|
|
return callback(new Error('请输入任务标识'))
|
|
|
}
|
|
|
- getJobName(this.form.code, value).then((response) => {
|
|
|
+ getJobName(this.form.jobName, value).then((response) => {
|
|
|
if (this.dialogType === 'edit') callback()
|
|
|
let result = response.data
|
|
|
if (result !== null) {
|
|
@@ -233,6 +236,7 @@
|
|
|
})
|
|
|
}
|
|
|
return {
|
|
|
+ isEdit: false,
|
|
|
cronPopover: false,
|
|
|
cron: '',
|
|
|
stations: [],
|
|
@@ -243,7 +247,7 @@
|
|
|
title: '',
|
|
|
tableData: [],
|
|
|
companys: [],
|
|
|
- state: [
|
|
|
+ operates: [
|
|
|
{ label: '启动', value: 'start' },
|
|
|
{ label: '停止', value: 'stop' },
|
|
|
{ label: '重载', value: 'restart' },
|
|
@@ -257,14 +261,10 @@
|
|
|
jobName: null,
|
|
|
cronExpression: null,
|
|
|
},
|
|
|
- imgShow: true,
|
|
|
- list: [],
|
|
|
- imageList: [],
|
|
|
listLoading: true,
|
|
|
layout: 'total, sizes, prev, pager, next, jumper',
|
|
|
total: 0,
|
|
|
background: true,
|
|
|
- selectRows: '',
|
|
|
elementLoadingText: '正在加载...',
|
|
|
page: {
|
|
|
total: 0, // 总页数
|
|
@@ -279,7 +279,7 @@
|
|
|
],
|
|
|
|
|
|
jobName: [
|
|
|
- { required: true, trigger: 'blur', validator: validateJobName, },
|
|
|
+ { required: true, trigger: 'change', validator: validateJobName, },
|
|
|
],
|
|
|
|
|
|
cronExpression: [
|
|
@@ -289,9 +289,6 @@
|
|
|
startTime: [
|
|
|
{ required: true, trigger: 'blur', message: '请输入开始时间' },
|
|
|
],
|
|
|
- jobState: [
|
|
|
- { required: true, trigger: 'blur', message: '请输入状态' },
|
|
|
- ],
|
|
|
},
|
|
|
}
|
|
|
},
|
|
@@ -304,6 +301,15 @@
|
|
|
this.getStations()
|
|
|
},
|
|
|
methods: {
|
|
|
+ expandChange(row, expandedRows){
|
|
|
+ getJobTime(row.jobName)
|
|
|
+ .then((response) => {
|
|
|
+ row.nextFireTime = response.data.nextFireTime
|
|
|
+ row.laetFireTime = response.data.previousFireTime
|
|
|
+
|
|
|
+ })
|
|
|
+
|
|
|
+ },
|
|
|
changeCron(v) {
|
|
|
this.form.cronExpression = v
|
|
|
},
|
|
@@ -320,7 +326,7 @@
|
|
|
})
|
|
|
},
|
|
|
getQuartzBaseInCode() {
|
|
|
- getInCode(this.inCode)
|
|
|
+ getChoose(this.inCode)
|
|
|
.then((response) => {
|
|
|
this.quartzBases = response.data
|
|
|
|
|
@@ -401,6 +407,7 @@
|
|
|
this.dialogFormVisible = true
|
|
|
},
|
|
|
handleEdit(row) {
|
|
|
+ this.isEdit = true
|
|
|
this.form = row
|
|
|
this.title = '修改'
|
|
|
this.dialogType = 'edit'
|
|
@@ -408,12 +415,14 @@
|
|
|
},
|
|
|
handleDelete(row) {
|
|
|
this.$baseConfirm('你确定要删除当前项吗', null, async () => {
|
|
|
- const { msg } = await delObj(row.id)
|
|
|
- this.$baseMessage(msg, 'success')
|
|
|
+ await delObj(row.id)
|
|
|
+ this.$baseMessage("删除成功", 'success')
|
|
|
this.fetchData()
|
|
|
})
|
|
|
},
|
|
|
saveOrUpdate() {
|
|
|
+ this.form.nextFireTime = null;
|
|
|
+ this.form.laetFireTime = null;
|
|
|
if (this.dialogType == 'add') {
|
|
|
this.save()
|
|
|
} else {
|
|
@@ -439,6 +448,7 @@
|
|
|
})
|
|
|
},
|
|
|
update() {
|
|
|
+ console.log(this.form)
|
|
|
this.$refs.form.validate((valid) => {
|
|
|
if (valid) {
|
|
|
this.listLoading = true
|