From 090ad5323a613926565e13b7cda11b86dca73fde Mon Sep 17 00:00:00 2001 From: RuoYi <yzz_ivy@163.com> Date: 星期四, 17 六月 2021 12:30:43 +0800 Subject: [PATCH] 日志列表支持排序操作 --- ruoyi-common/src/main/java/com/ruoyi/common/core/page/PageDomain.java | 9 +++++++++ ruoyi-ui/src/layout/components/Sidebar/Logo.vue | 4 ++-- ruoyi-ui/src/views/monitor/logininfor/index.vue | 19 ++++++++++++++----- ruoyi-ui/src/views/monitor/operlog/index.vue | 19 ++++++++++++++----- 4 files changed, 39 insertions(+), 12 deletions(-) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/page/PageDomain.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/page/PageDomain.java index 23f1f8b..119b385 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/core/page/PageDomain.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/page/PageDomain.java @@ -67,6 +67,15 @@ public void setIsAsc(String isAsc) { + // 兼容前端排序类型 + if ("ascending".equals(isAsc)) + { + isAsc = "asc"; + } + else if ("descending".equals(isAsc)) + { + isAsc = "desc"; + } this.isAsc = isAsc; } } diff --git a/ruoyi-ui/src/layout/components/Sidebar/Logo.vue b/ruoyi-ui/src/layout/components/Sidebar/Logo.vue index afe5fcd..f3bf5d5 100644 --- a/ruoyi-ui/src/layout/components/Sidebar/Logo.vue +++ b/ruoyi-ui/src/layout/components/Sidebar/Logo.vue @@ -2,11 +2,11 @@ <div class="sidebar-logo-container" :class="{'collapse':collapse}" :style="{ backgroundColor: sideTheme === 'theme-dark' ? variables.menuBg : variables.menuLightBg }"> <transition name="sidebarLogoFade"> <router-link v-if="collapse" key="collapse" class="sidebar-logo-link" to="/"> - <img v-if="logo" :src="logo" class="sidebar-logo"> + <img v-if="logo" :src="logo" class="sidebar-logo" /> <h1 v-else class="sidebar-title" :style="{ color: sideTheme === 'theme-dark' ? variables.sidebarTitle : variables.sidebarLightTitle }">{{ title }} </h1> </router-link> <router-link v-else key="expand" class="sidebar-logo-link" to="/"> - <img v-if="logo" :src="logo" class="sidebar-logo"> + <img v-if="logo" :src="logo" class="sidebar-logo" /> <h1 class="sidebar-title" :style="{ color: sideTheme === 'theme-dark' ? variables.sidebarTitle : variables.sidebarLightTitle }">{{ title }} </h1> </router-link> </transition> diff --git a/ruoyi-ui/src/views/monitor/logininfor/index.vue b/ruoyi-ui/src/views/monitor/logininfor/index.vue index c6b38c7..8b051b3 100644 --- a/ruoyi-ui/src/views/monitor/logininfor/index.vue +++ b/ruoyi-ui/src/views/monitor/logininfor/index.vue @@ -91,17 +91,17 @@ <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> </el-row> - <el-table v-loading="loading" :data="list" @selection-change="handleSelectionChange"> + <el-table ref="tables" v-loading="loading" :data="list" @selection-change="handleSelectionChange" :default-sort="defaultSort" @sort-change="handleSortChange"> <el-table-column type="selection" width="55" align="center" /> <el-table-column label="访问编号" align="center" prop="infoId" /> - <el-table-column label="用户名称" align="center" prop="userName" /> + <el-table-column label="用户名称" align="center" prop="userName" :show-overflow-tooltip="true" sortable="custom" :sort-orders="['descending', 'ascending']" /> <el-table-column label="登录地址" align="center" prop="ipaddr" width="130" :show-overflow-tooltip="true" /> <el-table-column label="登录地点" align="center" prop="loginLocation" :show-overflow-tooltip="true" /> - <el-table-column label="浏览器" align="center" prop="browser" /> + <el-table-column label="浏览器" align="center" prop="browser" :show-overflow-tooltip="true" /> <el-table-column label="操作系统" align="center" prop="os" /> <el-table-column label="登录状态" align="center" prop="status" :formatter="statusFormat" /> <el-table-column label="操作信息" align="center" prop="msg" /> - <el-table-column label="登录日期" align="center" prop="loginTime" width="180"> + <el-table-column label="登录日期" align="center" prop="loginTime" sortable="custom" :sort-orders="['descending', 'ascending']" width="180"> <template slot-scope="scope"> <span>{{ parseTime(scope.row.loginTime) }}</span> </template> @@ -143,6 +143,8 @@ statusOptions: [], // 日期范围 dateRange: [], + // 默认排序 + defaultSort: {prop: 'loginTime', order: 'descending'}, // 查询参数 queryParams: { pageNum: 1, @@ -183,13 +185,20 @@ resetQuery() { this.dateRange = []; this.resetForm("queryForm"); + this.$refs.tables.sort(this.defaultSort.prop, this.defaultSort.order) this.handleQuery(); }, - // 多选框选中数据 + /** 多选框选中数据 */ handleSelectionChange(selection) { this.ids = selection.map(item => item.infoId) this.multiple = !selection.length }, + /** 排序触发事件 */ + handleSortChange(column, prop, order) { + this.queryParams.orderByColumn = column.prop; + this.queryParams.isAsc = column.order; + this.getList(); + }, /** 删除按钮操作 */ handleDelete(row) { const infoIds = row.infoId || this.ids; diff --git a/ruoyi-ui/src/views/monitor/operlog/index.vue b/ruoyi-ui/src/views/monitor/operlog/index.vue index 7909c85..64158e6 100644 --- a/ruoyi-ui/src/views/monitor/operlog/index.vue +++ b/ruoyi-ui/src/views/monitor/operlog/index.vue @@ -107,17 +107,17 @@ <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> </el-row> - <el-table v-loading="loading" :data="list" @selection-change="handleSelectionChange"> + <el-table ref="tables" v-loading="loading" :data="list" @selection-change="handleSelectionChange" :default-sort="defaultSort" @sort-change="handleSortChange"> <el-table-column type="selection" width="55" align="center" /> <el-table-column label="日志编号" align="center" prop="operId" /> <el-table-column label="系统模块" align="center" prop="title" /> <el-table-column label="操作类型" align="center" prop="businessType" :formatter="typeFormat" /> <el-table-column label="请求方式" align="center" prop="requestMethod" /> - <el-table-column label="操作人员" align="center" prop="operName" /> - <el-table-column label="主机" align="center" prop="operIp" width="130" :show-overflow-tooltip="true" /> + <el-table-column label="操作人员" align="center" prop="operName" width="100" :show-overflow-tooltip="true" sortable="custom" :sort-orders="['descending', 'ascending']" /> + <el-table-column label="操作地址" align="center" prop="operIp" width="130" :show-overflow-tooltip="true" /> <el-table-column label="操作地点" align="center" prop="operLocation" :show-overflow-tooltip="true" /> <el-table-column label="操作状态" align="center" prop="status" :formatter="statusFormat" /> - <el-table-column label="操作日期" align="center" prop="operTime" width="180"> + <el-table-column label="操作日期" align="center" prop="operTime" sortable="custom" :sort-orders="['descending', 'ascending']" width="180"> <template slot-scope="scope"> <span>{{ parseTime(scope.row.operTime) }}</span> </template> @@ -216,6 +216,8 @@ statusOptions: [], // 日期范围 dateRange: [], + // 默认排序 + defaultSort: {prop: 'operTime', order: 'descending'}, // 表单参数 form: {}, // 查询参数 @@ -266,13 +268,20 @@ resetQuery() { this.dateRange = []; this.resetForm("queryForm"); + this.$refs.tables.sort(this.defaultSort.prop, this.defaultSort.order) this.handleQuery(); }, - // 多选框选中数据 + /** 多选框选中数据 */ handleSelectionChange(selection) { this.ids = selection.map(item => item.operId) this.multiple = !selection.length }, + /** 排序触发事件 */ + handleSortChange(column, prop, order) { + this.queryParams.orderByColumn = column.prop; + this.queryParams.isAsc = column.order; + this.getList(); + }, /** 详细按钮操作 */ handleView(row) { this.open = true; -- Gitblit v1.9.2