Explorar o código

日志列表支持排序操作

RuoYi %!s(int64=4) %!d(string=hai) anos
pai
achega
df284ff6f5

+ 9 - 0
ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/web/page/PageDomain.java

@@ -67,6 +67,15 @@ public class PageDomain
67 67
 
68 68
     public void setIsAsc(String isAsc)
69 69
     {
70
+        // 兼容前端排序类型
71
+        if ("ascending".equals(isAsc))
72
+        {
73
+            isAsc = "asc";
74
+        }
75
+        else if ("descending".equals(isAsc))
76
+        {
77
+            isAsc = "desc";
78
+        }
70 79
         this.isAsc = isAsc;
71 80
     }
72 81
 }

+ 13 - 4
ruoyi-ui/src/views/system/logininfor/index.vue

@@ -90,14 +90,14 @@
90 90
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
91 91
     </el-row>
92 92
 
93
-    <el-table v-loading="loading" :data="list" @selection-change="handleSelectionChange">
93
+    <el-table ref="tables" v-loading="loading" :data="list" @selection-change="handleSelectionChange" :default-sort="defaultSort" @sort-change="handleSortChange">
94 94
       <el-table-column type="selection" width="55" align="center" />
95 95
       <el-table-column label="访问编号" align="center" prop="infoId" />
96
-      <el-table-column label="用户名称" align="center" prop="userName" />
96
+      <el-table-column label="用户名称" align="center" prop="userName" :show-overflow-tooltip="true" sortable="custom" :sort-orders="['descending', 'ascending']" />
97 97
       <el-table-column label="地址" align="center" prop="ipaddr" width="130" :show-overflow-tooltip="true" />
98 98
       <el-table-column label="状态" align="center" prop="status" :formatter="statusFormat" />
99 99
       <el-table-column label="描述" align="center" prop="msg" />
100
-      <el-table-column label="访问时间" align="center" prop="accessTime" width="180">
100
+      <el-table-column label="访问时间" align="center" prop="accessTime" sortable="custom" :sort-orders="['descending', 'ascending']" width="180">
101 101
         <template slot-scope="scope">
102 102
           <span>{{ parseTime(scope.row.accessTime) }}</span>
103 103
         </template>
@@ -137,6 +137,8 @@ export default {
137 137
       statusOptions: [],
138 138
       // 日期范围
139 139
       dateRange: [],
140
+      // 默认排序
141
+      defaultSort: {prop: 'loginTime', order: 'descending'},
140 142
       // 查询参数
141 143
       queryParams: {
142 144
         pageNum: 1,
@@ -177,13 +179,20 @@ export default {
177 179
     resetQuery() {
178 180
       this.dateRange = [];
179 181
       this.resetForm("queryForm");
182
+      this.$refs.tables.sort(this.defaultSort.prop, this.defaultSort.order)
180 183
       this.handleQuery();
181 184
     },
182
-    // 多选框选中数据
185
+    /** 多选框选中数据 */
183 186
     handleSelectionChange(selection) {
184 187
       this.ids = selection.map(item => item.infoId)
185 188
       this.multiple = !selection.length
186 189
     },
190
+    /** 排序触发事件 */
191
+    handleSortChange(column, prop, order) {
192
+      this.queryParams.orderByColumn = column.prop;
193
+      this.queryParams.isAsc = column.order;
194
+      this.getList();
195
+    },
187 196
     /** 删除按钮操作 */
188 197
     handleDelete(row) {
189 198
       const infoIds = row.infoId || this.ids;

+ 13 - 4
ruoyi-ui/src/views/system/operlog/index.vue

@@ -106,16 +106,16 @@
106 106
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
107 107
     </el-row>
108 108
 
109
-    <el-table v-loading="loading" :data="list" @selection-change="handleSelectionChange">
109
+    <el-table ref="tables" v-loading="loading" :data="list" @selection-change="handleSelectionChange" :default-sort="defaultSort" @sort-change="handleSortChange">
110 110
       <el-table-column type="selection" width="55" align="center" />
111 111
       <el-table-column label="日志编号" align="center" prop="operId" />
112 112
       <el-table-column label="系统模块" align="center" prop="title" />
113 113
       <el-table-column label="操作类型" align="center" prop="businessType" :formatter="typeFormat" />
114 114
       <el-table-column label="请求方式" align="center" prop="requestMethod" />
115
-      <el-table-column label="操作人员" align="center" prop="operName" />
115
+      <el-table-column label="操作人员" align="center" prop="operName" :show-overflow-tooltip="true" sortable="custom" :sort-orders="['descending', 'ascending']" width="100"/>
116 116
       <el-table-column label="主机" align="center" prop="operIp" width="130" :show-overflow-tooltip="true" />
117 117
       <el-table-column label="操作状态" align="center" prop="status" :formatter="statusFormat" />
118
-      <el-table-column label="操作日期" align="center" prop="operTime" width="180">
118
+      <el-table-column label="操作日期" align="center" prop="operTime" sortable="custom" :sort-orders="['descending', 'ascending']" width="180">
119 119
         <template slot-scope="scope">
120 120
           <span>{{ parseTime(scope.row.operTime) }}</span>
121 121
         </template>
@@ -212,6 +212,8 @@ export default {
212 212
       statusOptions: [],
213 213
       // 日期范围
214 214
       dateRange: [],
215
+      // 默认排序
216
+      defaultSort: {prop: 'operTime', order: 'descending'},
215 217
       // 表单参数
216 218
       form: {},
217 219
       // 查询参数
@@ -262,13 +264,20 @@ export default {
262 264
     resetQuery() {
263 265
       this.dateRange = [];
264 266
       this.resetForm("queryForm");
267
+      this.$refs.tables.sort(this.defaultSort.prop, this.defaultSort.order)
265 268
       this.handleQuery();
266 269
     },
267
-    // 多选框选中数据
270
+    /** 多选框选中数据 */
268 271
     handleSelectionChange(selection) {
269 272
       this.ids = selection.map(item => item.operId)
270 273
       this.multiple = !selection.length
271 274
     },
275
+    /** 排序触发事件 */
276
+    handleSortChange(column, prop, order) {
277
+      this.queryParams.orderByColumn = column.prop;
278
+      this.queryParams.isAsc = column.order;
279
+      this.getList();
280
+    },
272 281
     /** 详细按钮操作 */
273 282
     handleView(row) {
274 283
       this.open = true;