Browse Source

feat: 完成定时任务模块接口联调

master
insistence 1 year ago
parent
commit
7e0937fa5c
  1. 53
      ruoyi-fastapi-frontend/src/views/monitor/job/index.vue
  2. 26
      ruoyi-fastapi-frontend/src/views/monitor/job/log.vue

53
ruoyi-fastapi-frontend/src/views/monitor/job/index.vue

@ -141,7 +141,7 @@
<el-dialog :title="title" v-model="open" width="820px" append-to-body>
<el-form ref="jobRef" :model="form" :rules="rules" label-width="120px">
<el-row>
<el-col :span="12">
<el-col :span="24">
<el-form-item label="任务名称" prop="jobName">
<el-input v-model="form.jobName" placeholder="请输入任务名称" />
</el-form-item>
@ -158,6 +158,18 @@
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="任务执行器" prop="jobGroup">
<el-select v-model="form.jobExecutor" placeholder="请选择任务执行器">
<el-option
v-for="dict in sys_job_executor"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item prop="invokeTarget">
<template #label>
@ -178,6 +190,16 @@
<el-input v-model="form.invokeTarget" placeholder="请输入调用目标字符串" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="位置参数" prop="jobArgs">
<el-input v-model="form.jobArgs" placeholder="请输入位置参数" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="关键字参数" prop="jobKwargs">
<el-input v-model="form.jobKwargs" placeholder="请输入关键字参数" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="cron表达式" prop="cronExpression">
<el-input v-model="form.cronExpression" placeholder="请输入cron执行表达式">
@ -242,7 +264,7 @@
</el-col>
<el-col :span="12">
<el-form-item label="任务分组:">{{ jobGroupFormat(form) }}</el-form-item>
<el-form-item label="创建时间:">{{ form.createTime }}</el-form-item>
<el-form-item label="创建时间:">{{ parseTime(form.createTime) }}</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="cron表达式:">{{ form.cronExpression }}</el-form-item>
@ -250,9 +272,18 @@
<el-col :span="12">
<el-form-item label="下次执行时间:">{{ parseTime(form.nextValidTime) }}</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="任务执行器:">{{ jobExecutorFormat(form) }}</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="调用目标方法:">{{ form.invokeTarget }}</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="位置参数:">{{ form.jobArgs }}</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="关键字参数:">{{ form.jobKwargs }}</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="任务状态:">
<div v-if="form.status == 0">正常</div>
@ -267,10 +298,10 @@
</el-col>
<el-col :span="12">
<el-form-item label="执行策略:">
<div v-if="form.misfirePolicy == 0">默认策略</div>
<div v-else-if="form.misfirePolicy == 1">立即执行</div>
<div v-else-if="form.misfirePolicy == 2">执行一次</div>
<div v-else-if="form.misfirePolicy == 3">放弃执行</div>
<div v-if="form.misfirePolicy == '0'">默认策略</div>
<div v-else-if="form.misfirePolicy == '1'">立即执行</div>
<div v-else-if="form.misfirePolicy == '2'">执行一次</div>
<div v-else-if="form.misfirePolicy == '3'">放弃执行</div>
</el-form-item>
</el-col>
</el-row>
@ -289,7 +320,7 @@ import { listJob, getJob, delJob, addJob, updateJob, runJob, changeJobStatus } f
import Crontab from '@/components/Crontab'
const router = useRouter();
const { proxy } = getCurrentInstance();
const { sys_job_group, sys_job_status } = proxy.useDict("sys_job_group", "sys_job_status");
const { sys_job_group, sys_job_status, sys_job_executor } = proxy.useDict("sys_job_group", "sys_job_status", "sys_job_executor");
const jobList = ref([]);
const open = ref(false);
@ -335,6 +366,10 @@ function getList() {
function jobGroupFormat(row, column) {
return proxy.selectDictLabel(sys_job_group.value, row.jobGroup);
}
/** 任务执行器名字典翻译 */
function jobExecutorFormat(row, column) {
return proxy.selectDictLabel(sys_job_executor.value, row.jobExecutor);
}
/** 取消按钮 */
function cancel() {
open.value = false;
@ -348,8 +383,8 @@ function reset() {
jobGroup: undefined,
invokeTarget: undefined,
cronExpression: undefined,
misfirePolicy: 1,
concurrent: 1,
misfirePolicy: "1",
concurrent: "1",
status: "0"
};
proxy.resetForm("jobRef");

26
ruoyi-fastapi-frontend/src/views/monitor/job/log.vue

@ -141,12 +141,24 @@
<el-form-item label="任务名称:">{{ form.jobName }}</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="任务分组:">{{ form.jobGroup }}</el-form-item>
<el-form-item label="执行时间:">{{ form.createTime }}</el-form-item>
<el-form-item label="任务分组:">{{ jobGroupFormat(form) }}</el-form-item>
<el-form-item label="执行时间:">{{ parseTime(form.createTime) }}</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="任务执行器:">{{ jobExecutorFormat(form) }}</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="任务触发器:">{{ form.jobTrigger }}</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="调用方法:">{{ form.invokeTarget }}</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="位置参数:">{{ form.jobArgs }}</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="关键字参数:">{{ form.jobKwargs }}</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="日志信息:">{{ form.jobMessage }}</el-form-item>
</el-col>
@ -175,7 +187,7 @@ import { getJob } from "@/api/monitor/job";
import { listJobLog, delJobLog, cleanJobLog } from "@/api/monitor/jobLog";
const { proxy } = getCurrentInstance();
const { sys_common_status, sys_job_group } = proxy.useDict("sys_common_status", "sys_job_group");
const { sys_common_status, sys_job_group, sys_job_executor } = proxy.useDict("sys_common_status", "sys_job_group", "sys_job_executor");
const jobLogList = ref([]);
const open = ref(false);
@ -209,6 +221,14 @@ function getList() {
loading.value = false;
});
}
/** 任务组名字典翻译 */
function jobGroupFormat(row, column) {
return proxy.selectDictLabel(sys_job_group.value, row.jobGroup);
}
/** 任务组名字典翻译 */
function jobExecutorFormat(row, column) {
return proxy.selectDictLabel(sys_job_executor.value, row.jobExecutor);
}
//
function handleClose() {
const obj = { path: "/monitor/job" };

Loading…
Cancel
Save