3
3
<doc-alert title =" 系统日志" url =" https://doc.iocoder.cn/system-log/" />
4
4
<!-- 搜索工作栏 -->
5
5
<el-form :model =" queryParams" ref =" queryForm" size =" small" :inline =" true" v-show =" showSearch" label-width =" 68px" >
6
- <el-form-item label =" 系统模块" prop =" module" >
7
- <el-input v-model =" queryParams.module" placeholder =" 请输入系统模块" clearable style =" width : 240px ;"
8
- @keyup.enter.native =" handleQuery" />
6
+ <el-form-item label =" 操作人" prop =" userId" >
7
+ <el-select v-model =" queryParams.userId" placeholder =" 请输入操作人员" clearable style =" width : 240px " >
8
+ <el-option v-for =" user in this.userList" :key =" user.id" :label =" user.nickname" :value =" user.id" />
9
+ </el-select >
9
10
</el-form-item >
10
- <el-form-item label =" 操作人员 " prop =" userNickname " >
11
- <el-input v-model =" queryParams.userNickname " placeholder =" 请输入操作人员 " clearable style =" width : 240px ;"
11
+ <el-form-item label =" 操作模块 " prop =" type " >
12
+ <el-input v-model =" queryParams.type " placeholder =" 请输入操作模块 " clearable style =" width : 240px ;"
12
13
@keyup.enter.native =" handleQuery" />
13
14
</el-form-item >
14
- <el-form-item label =" 类型" prop =" type" >
15
- <el-select v-model =" queryParams.type" placeholder =" 操作类型" clearable style =" width : 240px " >
16
- <el-option v-for =" dict in this.getDictDatas(DICT_TYPE.SYSTEM_OPERATE_TYPE)" :key =" parseInt(dict.value)"
17
- :label =" dict.label" :value =" parseInt(dict.value)" />
18
- </el-select >
15
+ <el-form-item label =" 操作名" prop =" subType" >
16
+ <el-input v-model =" queryParams.subType" placeholder =" 请输入操作名" clearable style =" width : 240px ;"
17
+ @keyup.enter.native =" handleQuery" />
19
18
</el-form-item >
20
- <el-form-item label =" 状态" prop =" status" >
21
- <el-select v-model =" queryParams.success" placeholder =" 操作状态" clearable style =" width : 240px " >
22
- <el-option :key =" true" label =" 成功" :value =" true" />
23
- <el-option :key =" false" label =" 失败" :value =" false" />
24
- </el-select >
19
+ <el-form-item label =" 操作内容" prop =" action" >
20
+ <el-input v-model =" queryParams.action" placeholder =" 请输入操作内容" clearable style =" width : 240px ;"
21
+ @keyup.enter.native =" handleQuery" />
25
22
</el-form-item >
26
- <el-form-item label =" 操作时间" prop =" startTime " >
27
- <el-date-picker v-model =" queryParams.startTime " style =" width : 240px " value-format =" yyyy-MM-dd HH:mm:ss" type =" daterange"
23
+ <el-form-item label =" 操作时间" prop =" createTime " >
24
+ <el-date-picker v-model =" queryParams.createTime " style =" width : 240px " value-format =" yyyy-MM-dd HH:mm:ss" type =" daterange"
28
25
range-separator =" -" start-placeholder =" 开始日期" end-placeholder =" 结束日期" :default-time =" ['00:00:00', '23:59:59']" />
29
26
</el-form-item >
27
+ <el-form-item label =" 业务编号" prop =" action" >
28
+ <el-input v-model =" queryParams.bizId" placeholder =" 请输入业务编号" clearable style =" width : 240px ;"
29
+ @keyup.enter.native =" handleQuery" />
30
+ </el-form-item >
30
31
<el-form-item >
31
32
<el-button type =" primary" icon =" el-icon-search" @click =" handleQuery" >搜索</el-button >
32
33
<el-button icon =" el-icon-refresh" @click =" resetQuery" >重置</el-button >
42
43
</el-row >
43
44
44
45
<el-table v-loading =" loading" :data =" list" >
45
- <el-table-column label =" 日志编号" align =" center" prop =" id" />
46
- <el-table-column label =" 操作模块" align =" center" prop =" module" />
47
- <el-table-column label =" 操作名" align =" center" prop =" name" width =" 180" />
48
- <el-table-column label =" 操作类型" align =" center" prop =" type" >
49
- <template v-slot =" scope " >
50
- <dict-tag :type =" DICT_TYPE.SYSTEM_OPERATE_TYPE" :value =" scope.row.type" />
51
- </template >
52
- </el-table-column >
53
- <el-table-column label =" 操作人" align =" center" prop =" userNickname" />
54
- <el-table-column label =" 操作结果" align =" center" prop =" status" >
55
- <template v-slot =" scope " >
56
- <span >{{ scope.row.resultCode === 0 ? '成功' : '失败' }}</span >
57
- </template >
58
- </el-table-column >
59
- <el-table-column label =" 操作日期" align =" center" prop =" startTime" width =" 180" >
60
- <template v-slot =" scope " >
61
- <span >{{ parseTime(scope.row.startTime) }}</span >
62
- </template >
63
- </el-table-column >
64
- <el-table-column label =" 执行时长" align =" center" prop =" startTime" >
46
+ <el-table-column label =" 日志编号" align =" center" prop =" id" width =" 100" />
47
+ <el-table-column label =" 操作人" align =" center" prop =" userName" width =" 120" />
48
+ <el-table-column label =" 操作模块" align =" center" prop =" type" width =" 120" />
49
+ <el-table-column label =" 操作名" align =" center" prop =" subType" width =" 160" />
50
+ <el-table-column label =" 操作内容" align =" center" prop =" action" />
51
+ <el-table-column label =" 操作日期" align =" center" prop =" createTime" width =" 180" >
65
52
<template v-slot =" scope " >
66
- <span >{{ scope.row.duration }} ms </span >
53
+ <span >{{ parseTime( scope.row.createTime) }}</span >
67
54
</template >
68
55
</el-table-column >
69
- <el-table-column label =" 操作" align =" center" class-name =" small-padding fixed-width" >
56
+ <el-table-column label =" 业务编号" align =" center" prop =" bizId" width =" 120" />
57
+ <el-table-column label =" 操作 IP" align =" center" prop =" userIp" width =" 120" />
58
+ <el-table-column label =" 操作" align =" center" width =" 60" class-name =" small-padding fixed-width" >
70
59
<template v-slot =" scope " >
71
60
<el-button size =" mini" type =" text" icon =" el-icon-view" @click =" handleView(scope.row,scope.index)"
72
61
v-hasPermi =" ['system:operate-log:query']" >详细</el-button >
73
62
</template >
74
63
</el-table-column >
75
64
</el-table >
76
65
77
- <pagination v-show =" total> 0" :total =" total" :page.sync =" queryParams.pageNo" :limit.sync =" queryParams.pageSize"
66
+ <pagination v-show =" total > 0" :total =" total" :page.sync =" queryParams.pageNo" :limit.sync =" queryParams.pageSize"
78
67
@pagination =" getList" />
79
68
80
69
<!-- 操作日志详细 -->
88
77
<el-form-item label =" 链路追踪:" >{{ form.traceId }}</el-form-item >
89
78
</el-col >
90
79
<el-col :span =" 24" >
91
- <el-form-item label =" 用户信息 :" >{{ form.userId }} | {{ form.userNickname }} | {{ form.userIp }} | {{ form.userAgent }} </el-form-item >
80
+ <el-form-item label =" 操作人编号 :" >{{ form.userId }} </el-form-item >
92
81
</el-col >
93
82
<el-col :span =" 24" >
94
- <el-form-item label =" 操作信息:" >
95
- {{ form.module }} | {{ form.name }}
96
- <dict-tag :type =" DICT_TYPE.SYSTEM_OPERATE_TYPE" :value =" form.type" />
97
- <br /> {{ form.content }}
98
- <br /> {{ form.exts }}
99
- </el-form-item >
83
+ <el-form-item label =" 操作人名字:" >{{ form.userName }} </el-form-item >
100
84
</el-col >
101
85
<el-col :span =" 24" >
102
- <el-form-item label =" 请求信息 :" >{{ form.requestMethod }} | {{ form.requestUrl }} </el-form-item >
86
+ <el-form-item label =" 操作人 IP :" >{{ form.userIp }} </el-form-item >
103
87
</el-col >
104
88
<el-col :span =" 24" >
105
- <el-form-item label =" 方法名 :" >{{ form.javaMethod }}</el-form-item >
89
+ <el-form-item label =" 操作人 UA :" >{{ form.userAgent }} </el-form-item >
106
90
</el-col >
107
91
<el-col :span =" 24" >
108
- <el-form-item label =" 方法参数 :" >{{ form.javaMethodArgs }}</el-form-item >
92
+ <el-form-item label =" 操作模块 :" >{{ form.type }}</el-form-item >
109
93
</el-col >
110
94
<el-col :span =" 24" >
111
- <el-form-item label =" 开始时间:" >
112
- {{ parseTime(form.startTime) }} | {{ form.duration }} ms
113
- </el-form-item >
95
+ <el-form-item label =" 操作名:" >{{ form.subType }}</el-form-item >
114
96
</el-col >
115
- <el-col :span =" 12" >
116
- <el-form-item label =" 操作结果:" >
117
- <div v-if =" form.resultCode === 0" >正常 | {{ form.resultData}} </div >
118
- <div v-else-if =" form.resultCode > 0" >失败 | {{ form.resultCode }} || {{ form.resultMsg}}</div >
119
- </el-form-item >
97
+ <el-col :span =" 24" >
98
+ <el-form-item label =" 操作内容:" >{{ form.action }}</el-form-item >
99
+ </el-col >
100
+ <el-col :span =" 24" >
101
+ <el-form-item label =" 拓展参数:" >{{ form.extra }}</el-form-item >
102
+ </el-col >
103
+ <el-col :span =" 24" >
104
+ <el-form-item label =" 请求 URL:" >{{ form.requestMethod }} | {{ form.requestUrl }} </el-form-item >
105
+ </el-col >
106
+ <el-col :span =" 24" >
107
+ <el-form-item label =" 操作时间:" >{{ parseTime(form.createTime) }}</el-form-item >
108
+ </el-col >
109
+ <el-col :span =" 24" >
110
+ <el-form-item label =" 业务编号:" >{{ form.bizId }}</el-form-item >
120
111
</el-col >
121
112
</el-row >
122
113
</el-form >
129
120
130
121
<script >
131
122
import { listOperateLog , exportOperateLog } from " @/api/system/operatelog" ;
123
+ import { listSimpleUsers } from " @/api/system/user" ;
132
124
133
125
export default {
134
126
name: " SystemOperateLog" ,
@@ -154,16 +146,22 @@ export default {
154
146
queryParams: {
155
147
pageNo: 1 ,
156
148
pageSize: 10 ,
157
- module: undefined ,
158
- userNickname: undefined ,
159
- businessType: undefined ,
160
- status: undefined ,
161
- startTime: []
149
+ userId: undefined ,
150
+ type: undefined ,
151
+ subType: undefined ,
152
+ action: undefined ,
153
+ createTime: [],
154
+ bizId: undefined
162
155
},
156
+ userList: [], // 用户列表
163
157
};
164
158
},
165
159
created () {
166
160
this .getList ();
161
+ // 获取用户精简信息列表
162
+ listSimpleUsers ().then (res => {
163
+ this .userList = res .data ;
164
+ });
167
165
},
168
166
methods: {
169
167
/** 查询登录日志 */
0 commit comments