1
huangxiaoqiang
2025-11-10 8f7e6826d51a25c7b368c210dbb321d423d24a85
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<!--
*Author:jxx
 *Contact:283591387@qq.com
 *代码由框架生成,任何更改都可能导致被代码生成器覆盖
 *业务请在@/extension/system/Sys_Log.js此处编写
 -->
<template>
    <view-grid ref="grid" :columns="columns" :detail="detail" :editFormFields="editFormFields"
        :editFormOptions="editFormOptions" :searchFormFields="searchFormFields" :searchFormOptions="searchFormOptions"
        :table="table" :extend="extend">
    </view-grid>
</template>
<script>
import extend from "@/extension/system/Sys_Log.js";
import { ref, defineComponent } from "vue";
export default defineComponent({
    setup() {
        const table = ref({
            key: 'Id',
            footer: "Foots",
            cnName: '系统日志',
            name: 'Sys_Log',
            url: "/Sys_Log/",
            sortName: "Id"
        });
        const editFormFields = ref({});
        const editFormOptions = ref([]);
        const searchFormFields = ref({ "BeginDate": "", "Url": "", "LogType": [], "Success": [], "UserIP": "", "ServiceIP": "", "Role_Id": "" });
        const searchFormOptions = ref([
            [
                { "title": "请求地址", "field": "Url", "type": "text" },
                { "title": "用户IP", "field": "UserIP", "type": "text" },
                { "title": "服务器IP", "field": "ServiceIP", "type": "text" }
            ],
            [
                { "title": "开始时间", "field": "BeginDate", "type": "datetime" },
                { "dataKey": "restatus", "data": [], "title": "响应状态", "field": "Success", "type": "selectList" },
                { "dataKey": "roles", "data": [], "title": "角色ID", "field": "Role_Id", "type": "select" }
            ],
            [
                // { "dataKey": "log", "data": [], "title": "日志类型", "field": "LogType", "colSize": 12, "type": "checkbox" }
            ]
        ]);
        const columns = ref([{ field: 'Id', title: 'Id', type: 'int', width: 90, hidden: true, readonly: true, require: true, align: 'left' },
        { field: 'beginDate', title: '开始时间', type: 'datetime', width: 110, align: 'left', sortable: true },
        { field: 'userName', title: '用户名称', type: 'string', width: 50, align: 'left' },
        { field: 'url', title: '请求地址', type: 'string', width: 180, align: 'left' },
        { field: 'logType', title: '日志类型', type: 'string', bind: { key: 'log', data: [] }, width: 80, align: 'left', hidden: true },
        { field: 'success', title: '响应状态', type: 'int', bind: { key: 'restatus', data: [] }, width: 80, align: 'left', hidden: true },
        { field: 'elapsedTime', title: '时长', type: 'int', width: 40, align: 'left' },
        { field: 'requestParam', title: '请求参数', type: 'string', width: 120, align: 'left' },
        { field: 'responseParam', title: '响应参数', type: 'string', width: 120, align: 'left' },
        { field: 'exceptionInfo', title: '异常信息', type: 'string', width: 70, align: 'left', hidden: true },
        { field: 'userIP', title: '用户IP', type: 'string', width: 90, align: 'left' },
        { field: 'serviceIP', title: '服务器IP', type: 'string', width: 90, hidden: true, align: 'left' },
        { field: 'browserType', title: '浏览器类型', type: 'string', width: 90, align: 'left', hidden: true },
        { field: 'user_Id', title: '用户ID', type: 'int', width: 90, hidden: true, align: 'left' },
        { field: 'role_Id', title: '角色ID', type: 'int', bind: { key: 'roles', data: [] }, width: 90, hidden: true, align: 'left' },
        { field: 'endDate', title: '结束时间', type: 'datetime', width: 150, hidden: true, align: 'left', sortable: true }]);
        const detail = ref({
            cnName: "#detailCnName",
            columns: [],
            sortName: "",
            key: ""
        });
        return {
            table,
            extend,
            editFormFields,
            editFormOptions,
            searchFormFields,
            searchFormOptions,
            columns,
            detail,
        };
    },
});
</script>