diff --git a/src/views/monitor/job/index.vue b/src/views/monitor/job/index.vue index 11d5cc6..903996c 100644 --- a/src/views/monitor/job/index.vue +++ b/src/views/monitor/job/index.vue @@ -43,6 +43,11 @@ @success="reloadTable('noRefresh')" > + + @@ -56,11 +61,17 @@ import { columns } from './columns'; import { PlusOutlined } from '@vicons/antd'; import {message,confirm} from "@/utils/auth"; + import { useRouter } from 'vue-router'; + const router = useRouter(); const editDialog = defineAsyncComponent(() => import('./edit.vue') ) +const jobLog = defineAsyncComponent(() => + import('./log/index.vue') +) const jobId =ref(0) const editVisible=ref(false) +const editLogVisible=ref(false) const selectionData = ref([]) const tableRef = ref(); const formParams = reactive({ @@ -76,27 +87,7 @@ const selectionData = ref([]) return h(TableAction, { style: 'button', actions: [ - // { - // label: '启动', - // type: 'warning', - // onClick: handelChangeStatus.bind(null, record), - // ifShow: () => { - // return record.row.status==0 ||record.row.status==2; - // }, - // }, - // { - // label: '暂停', - // type: 'warning', - // onClick: handelChangeStatus.bind(null, record), - // ifShow: () => { - // return record.row.status==1; - // }, - // }, - // { - // label: '执行一次', - // type: 'warning', - // onClick: handelRunOnce.bind(null, record), - // }, + { label: '编辑', type: 'warning', @@ -139,7 +130,7 @@ const selectionData = ref([]) }, { label: '调度日志', - key: 'jogLog' + key: 'jobLog' }, ], select: (key) => { @@ -147,6 +138,8 @@ const selectionData = ref([]) handelChangeStatus(record) } else if(key=='runOnce') { handelRunOnce(record) + } else if(key=='jobLog'){ + handleJobLog(record) } }, }); @@ -212,6 +205,11 @@ async function handleDelete(record: Recordable) { message("删除成功"); reloadTable() } + const handleJobLog=(record)=>{ + // router.push({path:'/monitorJob/log'}) + editLogVisible.value = true + jobId.value=record.row.id + } function onSelectionChange(value){ selectionData.value = value } diff --git a/src/views/monitor/job/log/columns.ts b/src/views/monitor/job/log/columns.ts new file mode 100644 index 0000000..fc9f6c0 --- /dev/null +++ b/src/views/monitor/job/log/columns.ts @@ -0,0 +1,52 @@ +import { h } from 'vue'; +import { ElTag } from 'element-plus'; + +export const columns = [ + { + type: 'selection', + }, + { + label: '任务名称', + prop: 'jobName', + }, + { + label: '任务组名', + prop: 'jobGroup', + }, + { + label: '任务触发器', + prop: 'jobTrigger', + }, + { + label: '任务信息', + prop: 'jobMessage', + }, + { + label: '执行状态', + prop: 'status', + render(record) { + let typeText = '' + switch (record.row.status) { + case 0: + typeText='未发布' + break; + case 1: + typeText='运行中' + break; + case 2: + typeText='暂停' + break; + case 3: + typeText='删除' + break; + default: + break; + } + return h('span', typeText || '-'); + }, + }, + { + label: '执行时间', + prop: 'startTime', + }, +]; diff --git a/src/views/monitor/job/log/edit.vue b/src/views/monitor/job/log/edit.vue new file mode 100644 index 0000000..b2cdf40 --- /dev/null +++ b/src/views/monitor/job/log/edit.vue @@ -0,0 +1,117 @@ + + diff --git a/src/views/monitor/job/log/index.vue b/src/views/monitor/job/log/index.vue new file mode 100644 index 0000000..b79430d --- /dev/null +++ b/src/views/monitor/job/log/index.vue @@ -0,0 +1,162 @@ + + + + + diff --git a/src/views/monitor/job/log/querySchemas.ts b/src/views/monitor/job/log/querySchemas.ts new file mode 100644 index 0000000..ed7e917 --- /dev/null +++ b/src/views/monitor/job/log/querySchemas.ts @@ -0,0 +1,30 @@ +import { FormSchema } from '@/components/Form/index'; +export const schemas: FormSchema[] = [ + { + field: 'jobName', + component: 'Input', + label: '任务名称', + componentProps: { + placeholder: '请输入数据源名称', + }, + }, + { + field: 'status', + component: 'Select', + label: '任务状态', + componentProps: { + placeholder: '请选择任务状态', + clearable: true, + options: [ + { + label: '正常', + value: 0, + }, + { + label: '失败', + value: 1, + }, + ], + }, + }, +];