优化定时任务日志
This commit is contained in:
parent
7d3d66c952
commit
87c2aecae9
@ -12,7 +12,7 @@ VITE_DROP_CONSOLE = true
|
||||
|
||||
# 跨域代理,可以配置多个,请注意不要换行
|
||||
#VITE_PROXY = [["/appApi","http://localhost:8001"],["/upload","http://localhost:8001/upload"]]
|
||||
VITE_PROXY=[["/api","http://192.168.124.203:8081/api"]]
|
||||
VITE_PROXY=[["/api","http://192.168.124.32:8081/api"]]
|
||||
|
||||
# API 接口地址
|
||||
VITE_GLOB_API_URL =
|
||||
|
@ -3,7 +3,7 @@
|
||||
v-model="props.visible"
|
||||
title="消息详情"
|
||||
|
||||
width="700"
|
||||
width="750"
|
||||
:close-on-click-modal="false"
|
||||
:before-close="dialogClose"
|
||||
>
|
||||
|
@ -3,7 +3,7 @@
|
||||
v-model="props.visible"
|
||||
title="消息详情"
|
||||
|
||||
width="700"
|
||||
width="750"
|
||||
:close-on-click-modal="false"
|
||||
:before-close="dialogClose"
|
||||
>
|
||||
|
@ -3,7 +3,7 @@
|
||||
v-model="props.visible"
|
||||
title="邮件日志详情"
|
||||
|
||||
width="700"
|
||||
width="750"
|
||||
:close-on-click-modal="false"
|
||||
:before-close="dialogClose"
|
||||
>
|
||||
|
@ -3,7 +3,7 @@
|
||||
v-model="props.visible"
|
||||
title="文件日志详情"
|
||||
|
||||
width="700"
|
||||
width="750"
|
||||
:close-on-click-modal="false"
|
||||
:before-close="dialogClose"
|
||||
>
|
||||
|
@ -3,7 +3,7 @@
|
||||
v-model="props.visible"
|
||||
title="短信日志详情"
|
||||
|
||||
width="700"
|
||||
width="750"
|
||||
:close-on-click-modal="false"
|
||||
:before-close="dialogClose"
|
||||
>
|
||||
|
@ -20,10 +20,17 @@ export const columns = [
|
||||
{
|
||||
label: '任务触发器',
|
||||
prop: 'jobTrigger',
|
||||
width: 150,
|
||||
},
|
||||
{
|
||||
label: '任务信息',
|
||||
label: '任务日志信息',
|
||||
prop: 'jobMessage',
|
||||
width: 150,
|
||||
},
|
||||
{
|
||||
label: '执行表达式',
|
||||
prop: 'cronExpression',
|
||||
width: 150,
|
||||
},
|
||||
{
|
||||
label: '执行状态',
|
||||
@ -50,7 +57,22 @@ export const columns = [
|
||||
},
|
||||
},
|
||||
{
|
||||
label: '执行时间',
|
||||
label: '任务开始时间',
|
||||
prop: 'startTime',
|
||||
width: 180,
|
||||
},
|
||||
{
|
||||
label: '任务结束时间',
|
||||
prop: 'endTime',
|
||||
width: 180,
|
||||
},
|
||||
{
|
||||
label: '任务执行时间',
|
||||
prop: 'createTime',
|
||||
width: 180,
|
||||
},
|
||||
{
|
||||
label: '任务执行耗时',
|
||||
prop: 'consumeTime',
|
||||
},
|
||||
];
|
||||
|
@ -1,44 +1,59 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
v-model="props.visible"
|
||||
title="日志详情"
|
||||
|
||||
width="700"
|
||||
title="执行日志详情"
|
||||
width="750"
|
||||
:close-on-click-modal="false"
|
||||
:before-close="dialogClose"
|
||||
>
|
||||
<el-descriptions column="2">
|
||||
<el-descriptions-item label="任务名称:">{{formData.jobName}}</el-descriptions-item>
|
||||
<el-descriptions-item label="任务组名:">{{formData.jobGroup}}</el-descriptions-item>
|
||||
<el-descriptions-item label="任务触发器:">{{formData.jobTrigger}}</el-descriptions-item>
|
||||
<el-descriptions-item label="任务信息:">{{formData.jobMessage}}</el-descriptions-item>
|
||||
<el-descriptions-item label="cron执行表达式:">{{formData.cronExpression}}</el-descriptions-item>
|
||||
<el-descriptions-item label="任务开始时间:">{{formData.startTime}}</el-descriptions-item>
|
||||
<el-descriptions-item label="任务结束时间:">{{formData.endTime}}</el-descriptions-item>
|
||||
<el-descriptions class="margin-top" :column="2" border>
|
||||
<el-descriptions-item label="任务名称" label-class-name="des-width">
|
||||
{{formData.jobName}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="任务组名" label-class-name="des-width">
|
||||
{{formData.jobGroup}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="任务触发器">
|
||||
{{formData.jobTrigger}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="任务日志信息">
|
||||
{{formData.jobMessage}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="执行表达式">
|
||||
{{formData.cronExpression}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="执行状态">
|
||||
<el-tag :type="formData.status?'danger':'success'">{{formData.status?'异常':'正常'}}</el-tag>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="任务开始时间">
|
||||
{{formData.startTime}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="任务结束时间">
|
||||
{{formData.endTime}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="执行时间">
|
||||
{{formData.createTime}}
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="执行耗时">
|
||||
{{formData.consumeTime}}s
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="执行异常信息" :span="3">
|
||||
{{formData.exceptionInfo}}
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="dialogClose">关闭</el-button>
|
||||
<el-button @click="dialogClose">取消</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</template>
|
||||
<script lang="ts" setup>
|
||||
import {getJobLogDetail} from "@/api/monitor/job";
|
||||
import {onMounted, reactive, shallowRef} from "vue";
|
||||
import {onMounted, ref,} from "vue";
|
||||
|
||||
const formData = reactive({
|
||||
id: "",
|
||||
jobName: "",
|
||||
jobGroup:'',
|
||||
jobTrigger:'',
|
||||
jobMessage:'',
|
||||
cronExpression:'',
|
||||
startTime:'',
|
||||
endTime:''
|
||||
});
|
||||
|
||||
const emit = defineEmits(["update:visible"]);
|
||||
const emit = defineEmits(["success", "update:visible"]);
|
||||
const formData = ref({});
|
||||
|
||||
const props = defineProps({
|
||||
visible: {
|
||||
@ -60,53 +75,8 @@ const dialogClose = () => {
|
||||
|
||||
const setFormData = async () => {
|
||||
const data = await getJobLogDetail(props.logId);
|
||||
for (const key in formData) {
|
||||
if (data[key] != null && data[key] != undefined) {
|
||||
//@ts-ignore
|
||||
formData[key] = data[key];
|
||||
}
|
||||
}
|
||||
formData.value = data
|
||||
};
|
||||
const getReviceType =(type)=>{
|
||||
let typeText = ''
|
||||
switch (type) {
|
||||
case 1:
|
||||
typeText='系统用户'
|
||||
break;
|
||||
case 2:
|
||||
typeText='会员用户'
|
||||
break;
|
||||
case 3:
|
||||
typeText='其他'
|
||||
break;
|
||||
default:
|
||||
break
|
||||
}
|
||||
return typeText
|
||||
}
|
||||
const getTyepText =(type)=>{
|
||||
let typeText = ''
|
||||
switch (type) {
|
||||
case 1:
|
||||
typeText='登录'
|
||||
break;
|
||||
case 2:
|
||||
typeText='注册'
|
||||
break;
|
||||
case 3:
|
||||
typeText='找回密码'
|
||||
break;
|
||||
case 4:
|
||||
typeText='业务'
|
||||
break;
|
||||
case 5:
|
||||
typeText='其他'
|
||||
break;
|
||||
default:
|
||||
break
|
||||
}
|
||||
return typeText
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
if (props.logId) {
|
||||
@ -115,3 +85,12 @@ onMounted(() => {
|
||||
});
|
||||
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
:deep(.des-width) {
|
||||
width:120px;
|
||||
}
|
||||
:deep(.el-descriptions__body .el-descriptions__table .el-descriptions__cell) {
|
||||
word-break: break-all;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
116
src/views/monitor/job/log/edit2.vue
Normal file
116
src/views/monitor/job/log/edit2.vue
Normal file
@ -0,0 +1,116 @@
|
||||
<template>
|
||||
<el-dialog
|
||||
v-model="props.visible"
|
||||
title="日志详情"
|
||||
width="750"
|
||||
:close-on-click-modal="false"
|
||||
:before-close="dialogClose"
|
||||
>
|
||||
<el-descriptions column="2">
|
||||
<el-descriptions-item label="任务名称:">{{formData.jobName}}</el-descriptions-item>
|
||||
<el-descriptions-item label="任务组名:">{{formData.jobGroup}}</el-descriptions-item>
|
||||
<el-descriptions-item label="任务触发器:">{{formData.jobTrigger}}</el-descriptions-item>
|
||||
<el-descriptions-item label="任务信息:">{{formData.jobMessage}}</el-descriptions-item>
|
||||
<el-descriptions-item label="cron执行表达式:">{{formData.cronExpression}}</el-descriptions-item>
|
||||
<el-descriptions-item label="任务开始时间:">{{formData.startTime}}</el-descriptions-item>
|
||||
<el-descriptions-item label="任务结束时间:">{{formData.endTime}}</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
<template #footer>
|
||||
<span class="dialog-footer">
|
||||
<el-button @click="dialogClose">关闭</el-button>
|
||||
</span>
|
||||
</template>
|
||||
</el-dialog>
|
||||
</template>
|
||||
<script lang="ts" setup>
|
||||
import {getJobLogDetail} from "@/api/monitor/job";
|
||||
import {onMounted, reactive, shallowRef} from "vue";
|
||||
|
||||
const formData = reactive({
|
||||
id: "",
|
||||
jobName: "",
|
||||
jobGroup:'',
|
||||
jobTrigger:'',
|
||||
jobMessage:'',
|
||||
cronExpression:'',
|
||||
startTime:'',
|
||||
endTime:''
|
||||
});
|
||||
|
||||
const emit = defineEmits(["update:visible"]);
|
||||
|
||||
const props = defineProps({
|
||||
visible: {
|
||||
type: Boolean,
|
||||
required: true,
|
||||
default: false
|
||||
},
|
||||
logId: {
|
||||
type: Number,
|
||||
required: true,
|
||||
default: 0
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
const dialogClose = () => {
|
||||
emit("update:visible", false);
|
||||
};
|
||||
|
||||
const setFormData = async () => {
|
||||
const data = await getJobLogDetail(props.logId);
|
||||
for (const key in formData) {
|
||||
if (data[key] != null && data[key] != undefined) {
|
||||
//@ts-ignore
|
||||
formData[key] = data[key];
|
||||
}
|
||||
}
|
||||
};
|
||||
const getReviceType =(type)=>{
|
||||
let typeText = ''
|
||||
switch (type) {
|
||||
case 1:
|
||||
typeText='系统用户'
|
||||
break;
|
||||
case 2:
|
||||
typeText='会员用户'
|
||||
break;
|
||||
case 3:
|
||||
typeText='其他'
|
||||
break;
|
||||
default:
|
||||
break
|
||||
}
|
||||
return typeText
|
||||
}
|
||||
const getTyepText =(type)=>{
|
||||
let typeText = ''
|
||||
switch (type) {
|
||||
case 1:
|
||||
typeText='登录'
|
||||
break;
|
||||
case 2:
|
||||
typeText='注册'
|
||||
break;
|
||||
case 3:
|
||||
typeText='找回密码'
|
||||
break;
|
||||
case 4:
|
||||
typeText='业务'
|
||||
break;
|
||||
case 5:
|
||||
typeText='其他'
|
||||
break;
|
||||
default:
|
||||
break
|
||||
}
|
||||
return typeText
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
if (props.logId) {
|
||||
setFormData();
|
||||
}
|
||||
});
|
||||
|
||||
</script>
|
@ -75,7 +75,7 @@ const selectionData = ref([])
|
||||
status:''
|
||||
});
|
||||
const actionColumn = reactive({
|
||||
width: 250,
|
||||
width: 200,
|
||||
label: '操作',
|
||||
prop: 'action',
|
||||
fixed: 'right',
|
||||
|
@ -2,7 +2,7 @@
|
||||
<el-dialog
|
||||
v-model="props.visible"
|
||||
title="登录日志详情"
|
||||
width="700"
|
||||
width="750"
|
||||
:close-on-click-modal="false"
|
||||
:before-close="dialogClose"
|
||||
>
|
||||
|
@ -2,7 +2,7 @@
|
||||
<el-dialog
|
||||
v-model="props.visible"
|
||||
title="操作日志详情"
|
||||
width="700"
|
||||
width="750"
|
||||
:close-on-click-modal="false"
|
||||
:before-close="dialogClose"
|
||||
>
|
||||
|
@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<el-dialog v-model="props.visible" :title="props.userId ? '编辑' : '新增'" width="700" :close-on-click-modal="false"
|
||||
<el-dialog v-model="props.visible" :title="props.userId ? '编辑' : '新增'" width="750" :close-on-click-modal="false"
|
||||
:before-close="dialogClose">
|
||||
<el-form ref="formRef" :model="formData" label-width="84px">
|
||||
<el-form-item label="头像" prop="avatar" :rules="{ required: true, message: '请输上传头像', trigger: 'blur' }">
|
||||
|
Loading…
Reference in New Issue
Block a user