wms-antdvue/.svn/pristine/69/6988340c09252f27f826ba8f9c490405fa2f2e47.svn-base
2024-11-07 16:33:03 +08:00

87 lines
2.2 KiB
Plaintext

<template>
<a-modal v-model:visible="props.visible"
title="操作日志详情"
width="700px"
@cancel="dialogClose"
>
<a-descriptions class="margin-top" :column="2" bordered :labelStyle="{width:'120px'}">
<a-descriptions-item label="日志标题">
{{formData.title}}
</a-descriptions-item>
<a-descriptions-item label="操作用户">
{{formData.createUser}}
</a-descriptions-item>
<a-descriptions-item label="IP地址">
{{formData.ip}}
</a-descriptions-item>
<a-descriptions-item label="操作系统">
{{formData.os}}
</a-descriptions-item>
<a-descriptions-item label="操作浏览器">
{{formData.browser}}
</a-descriptions-item>
<a-descriptions-item label="请求耗时">
{{formData.consumeTime}}s
</a-descriptions-item>
<a-descriptions-item label="请求方式">
{{formData.requestMethod}}
</a-descriptions-item>
<a-descriptions-item label="请求状态">
<a-tag :color="formData.status?'danger':'success'">{{formData.status?'异常':'正常'}}</a-tag>
</a-descriptions-item>
<a-descriptions-item label="调用方法" :span="3">
{{formData.method}}
</a-descriptions-item>
<a-descriptions-item label="请求参数" :span="3">
{{formData.param}}
</a-descriptions-item>
<a-descriptions-item label="返回结果" :span="3">
{{formData.result}}
</a-descriptions-item>
</a-descriptions>
<template #footer>
<span class="dialog-footer">
<a-button @click="dialogClose">取消</a-button>
</span>
</template>
</a-modal>
</template>
<script lang="ts" setup>
import {getOperLogDetail} from "@/api/system/operLog";
import {onMounted, ref} from "vue";
const emit = defineEmits(["success", "update:visible"]);
const formData = ref({});
const props = defineProps({
visible: {
type: Boolean,
required: true,
default: false
},
operlogId: {
type: Number,
required: true,
default: 0
}
});
const dialogClose = () => {
emit("update:visible", false);
};
const setFormData = async () => {
const data = await getOperLogDetail(props.operlogId);
formData.value = data
};
onMounted(() => {
if (props.operlogId) {
setFormData();
}
});
</script>