feat;完成接口对接
This commit is contained in:
@@ -10,14 +10,12 @@
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="任务组名" prop="jobGroup">
|
||||
<el-select v-model="queryParams.jobGroup" placeholder="请选择任务组名" clearable>
|
||||
<el-option
|
||||
v-for="dict in sys_job_group"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
</el-select>
|
||||
<el-input
|
||||
v-model="queryParams.jobGroup"
|
||||
placeholder="请输入任务组名"
|
||||
clearable
|
||||
@keyup.enter="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="任务状态" prop="status">
|
||||
<el-select v-model="queryParams.status" placeholder="请选择任务状态" clearable>
|
||||
@@ -178,45 +176,81 @@
|
||||
<el-form ref="jobRef" :model="form" :rules="rules" label-width="120px">
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="任务名称" prop="jobName">
|
||||
<el-input v-model="form.jobName" placeholder="请输入任务名称" />
|
||||
<el-form-item label="任务名称" prop="jobId">
|
||||
<el-input v-model="form.jobId" 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
|
||||
v-for="dict in sys_job_group"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
<el-form-item label="任务分组" prop="groupName">
|
||||
<el-input v-model="form.groupName" placeholder="请输入任务分组" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item prop="invokeTarget">
|
||||
<el-form-item prop="assemblyName">
|
||||
<template #label>
|
||||
<span>
|
||||
调用方法
|
||||
调用程序集
|
||||
<el-tooltip placement="top">
|
||||
<template #content>
|
||||
<div>
|
||||
Bean调用示例:ryTask.ryParams('ry')
|
||||
<br />Class类调用示例:com.ruoyi.quartz.task.RyTask.ryParams('ry')
|
||||
<br />参数说明:支持字符串,布尔类型,长整型,浮点型,整型
|
||||
Bean调用示例:Yi.Furion.Application
|
||||
<!-- <br />Class类调用示例:com.ruoyi.quartz.task.RyTask.ryParams('ry')
|
||||
<br />参数说明:支持字符串,布尔类型,长整型,浮点型,整型 -->
|
||||
</div>
|
||||
</template>
|
||||
<el-icon><question-filled /></el-icon>
|
||||
</el-tooltip>
|
||||
</span>
|
||||
</template>
|
||||
<el-input v-model="form.invokeTarget" placeholder="请输入调用目标字符串" />
|
||||
<el-input v-model="form.assemblyName" placeholder="请输入调用程序集" />
|
||||
</el-form-item>
|
||||
|
||||
|
||||
|
||||
<el-form-item prop="jobTypeFullName">
|
||||
<template #label>
|
||||
<span>
|
||||
job类名
|
||||
<el-tooltip placement="top">
|
||||
<template #content>
|
||||
<div>
|
||||
Bean调用示例:Yi.Furion.Application.Rbac.Job.TestJob
|
||||
<br />Class类调用示例:Yi.Furion.Application.Rbac.Job.TestJob
|
||||
<!-- <br />参数说明:支持字符串,布尔类型,长整型,浮点型,整型 -->
|
||||
</div>
|
||||
</template>
|
||||
<el-icon><question-filled /></el-icon>
|
||||
</el-tooltip>
|
||||
</span>
|
||||
</template>
|
||||
<el-input v-model="form.jobTypeFullName" placeholder="请输入调用程序集下的job完整类名" />
|
||||
</el-form-item>
|
||||
|
||||
|
||||
<el-form-item prop="properties">
|
||||
<template #label>
|
||||
<span>
|
||||
job任务参数
|
||||
<el-tooltip placement="top">
|
||||
<template #content>
|
||||
<div>
|
||||
参数示例:{"string":"obj","string","obj"}
|
||||
<br />调用示例:类型为字典key:string,value:obj
|
||||
<!-- <br />参数说明:支持字符串,布尔类型,长整型,浮点型,整型 -->
|
||||
</div>
|
||||
</template>
|
||||
<el-icon><question-filled /></el-icon>
|
||||
</el-tooltip>
|
||||
</span>
|
||||
</template>
|
||||
<el-input v-model="form.properties" 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执行表达式">
|
||||
<el-col v-show="form.type==0" :span="24">
|
||||
<el-form-item label="cron表达式" prop="cron">
|
||||
<el-input v-model="form.cron" placeholder="请输入cron执行表达式">
|
||||
<template #append>
|
||||
<el-button type="primary" @click="handleShowCron">
|
||||
生成表达式
|
||||
@@ -225,25 +259,30 @@
|
||||
</template>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col v-show="form.type==1" :span="24">
|
||||
<el-form-item label="定时毫秒间隔" prop="millisecond">
|
||||
<el-input v-model="form.millisecond" placeholder="请输入毫秒间隔">
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="执行策略" prop="misfirePolicy">
|
||||
<el-radio-group v-model="form.misfirePolicy">
|
||||
<el-radio-button label="1">立即执行</el-radio-button>
|
||||
<el-radio-button label="2">执行一次</el-radio-button>
|
||||
<el-radio-button label="3">放弃执行</el-radio-button>
|
||||
<el-form-item label="执行策略" prop="type">
|
||||
<el-radio-group v-model="form.type">
|
||||
<el-radio-button :label=0>Cron表达式</el-radio-button>
|
||||
<el-radio-button :label=1>简单毫秒间隔</el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="是否并发" prop="concurrent">
|
||||
<el-radio-group v-model="form.concurrent">
|
||||
<el-radio-button label="0">允许</el-radio-button>
|
||||
<el-radio-button label="1">禁止</el-radio-button>
|
||||
<el-radio-button :label=true>允许</el-radio-button>
|
||||
<el-radio-button :label=false>禁止</el-radio-button>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<!-- <el-col :span="12">
|
||||
<el-form-item label="状态">
|
||||
<el-radio-group v-model="form.status">
|
||||
<el-radio
|
||||
@@ -253,7 +292,14 @@
|
||||
>{{ dict.label }}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-col> -->
|
||||
|
||||
|
||||
<el-col :span="24">
|
||||
<el-form-item label="描述" prop="description">
|
||||
<el-input v-model="form.description" placeholder="请输入任务描述" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<template #footer>
|
||||
@@ -318,6 +364,7 @@
|
||||
|
||||
<script setup name="Job">
|
||||
import { listJob, getJob, delJob, addJob, updateJob, runJob, changeJobStatus } from "@/api/monitor/job";
|
||||
import { ref } from "vue";
|
||||
|
||||
const router = useRouter();
|
||||
const { proxy } = getCurrentInstance();
|
||||
@@ -336,19 +383,21 @@ const openView = ref(false);
|
||||
const openCron = ref(false);
|
||||
const expression = ref("");
|
||||
|
||||
const IsAdd=ref(true);
|
||||
|
||||
const data = reactive({
|
||||
form: {},
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
jobName: undefined,
|
||||
JobId: undefined,
|
||||
jobGroup: undefined,
|
||||
status: undefined
|
||||
},
|
||||
rules: {
|
||||
jobName: [{ required: true, message: "任务名称不能为空", trigger: "blur" }],
|
||||
invokeTarget: [{ required: true, message: "调用目标字符串不能为空", trigger: "blur" }],
|
||||
cronExpression: [{ required: true, message: "cron执行表达式不能为空", trigger: "blur" }]
|
||||
JobId: [{ required: true, message: "任务Id不能为空", trigger: "blur" }],
|
||||
assemblyName: [{ required: true, message: "Job程序集不能为空", trigger: "blur" }],
|
||||
jobTypeFullName: [{ required: true, message: "Job全类名不能为空", trigger: "blur" }]
|
||||
}
|
||||
});
|
||||
|
||||
@@ -376,14 +425,17 @@ function cancel() {
|
||||
function reset() {
|
||||
form.value = {
|
||||
jobId: undefined,
|
||||
jobName: undefined,
|
||||
jobGroup: undefined,
|
||||
invokeTarget: undefined,
|
||||
cronExpression: undefined,
|
||||
misfirePolicy: 1,
|
||||
concurrent: 1,
|
||||
status: "0"
|
||||
groupName: undefined,
|
||||
type: undefined,
|
||||
cron: undefined,
|
||||
millisecond: undefined,
|
||||
assemblyName: undefined,
|
||||
jobTypeFullName: undefined,
|
||||
concurrent: false,
|
||||
description:undefined,
|
||||
properties:undefined
|
||||
};
|
||||
IsAdd.value=true;
|
||||
proxy.resetForm("jobRef");
|
||||
}
|
||||
/** 搜索按钮操作 */
|
||||
@@ -431,7 +483,7 @@ function handleStatusChange(row) {
|
||||
}
|
||||
/* 立即执行一次 */
|
||||
function handleRun(row) {
|
||||
proxy.$modal.confirm('确认要立即执行一次"' + row.jobName + '"任务吗?').then(function () {
|
||||
proxy.$modal.confirm('确认要立即执行一次"' + row.jobId + '"任务吗?').then(function () {
|
||||
return runJob(row.jobId, row.jobGroup);
|
||||
}).then(() => {
|
||||
proxy.$modal.msgSuccess("执行成功");})
|
||||
@@ -466,6 +518,7 @@ function handleAdd() {
|
||||
}
|
||||
/** 修改按钮操作 */
|
||||
function handleUpdate(row) {
|
||||
IsAdd.value=false;
|
||||
reset();
|
||||
const jobId = row.jobId || ids.value;
|
||||
getJob(jobId).then(response => {
|
||||
@@ -478,18 +531,21 @@ function handleUpdate(row) {
|
||||
function submitForm() {
|
||||
proxy.$refs["jobRef"].validate(valid => {
|
||||
if (valid) {
|
||||
if (form.value.jobId != undefined) {
|
||||
updateJob(form.value).then(response => {
|
||||
proxy.$modal.msgSuccess("修改成功");
|
||||
open.value = false;
|
||||
getList();
|
||||
});
|
||||
} else {
|
||||
if (IsAdd.value) {
|
||||
addJob(form.value).then(response => {
|
||||
proxy.$modal.msgSuccess("新增成功");
|
||||
open.value = false;
|
||||
getList();
|
||||
});
|
||||
} else {
|
||||
|
||||
updateJob(form.value).then(response => {
|
||||
proxy.$modal.msgSuccess("修改成功");
|
||||
open.value = false;
|
||||
getList();
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -504,12 +560,12 @@ function handleDelete(row) {
|
||||
proxy.$modal.msgSuccess("删除成功");
|
||||
}).catch(() => {});
|
||||
}
|
||||
/** 导出按钮操作 */
|
||||
function handleExport() {
|
||||
proxy.download("monitor/job/export", {
|
||||
...queryParams.value,
|
||||
}, `job_${new Date().getTime()}.xlsx`);
|
||||
}
|
||||
// /** 导出按钮操作 */
|
||||
// function handleExport() {
|
||||
// proxy.download("monitor/job/export", {
|
||||
// ...queryParams.value,
|
||||
// }, `job_${new Date().getTime()}.xlsx`);
|
||||
// }
|
||||
|
||||
getList();
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user