From 813b237509319b8db2e0ac8c82025b70713aa11c Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期三, 24 四月 2024 10:31:41 +0800 Subject: [PATCH] 操作日志添加模糊查询-集成日志隐藏表格接口参数 --- Source/UBCS-WEB/src/views/monitor/log/operateLog.vue | 216 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 216 insertions(+), 0 deletions(-) diff --git a/Source/UBCS-WEB/src/views/monitor/log/operateLog.vue b/Source/UBCS-WEB/src/views/monitor/log/operateLog.vue index e69de29..cbb013c 100644 --- a/Source/UBCS-WEB/src/views/monitor/log/operateLog.vue +++ b/Source/UBCS-WEB/src/views/monitor/log/operateLog.vue @@ -0,0 +1,216 @@ +<template> + <basic-container> + <avue-crud :option="option" + :table-loading="loading" + :data="data" + ref="crud" + v-model="form" + :permission="permissionList" + :page.sync="page" + :before-open="beforeOpen" + @search-change="searchChange" + @search-reset="searchReset" + @current-change="currentChange" + @size-change="sizeChange" + @refresh-change="refreshChange" + @on-load="onLoad"> + <template slot="description" slot-scope="scope"> + <avue-text-ellipsis :text="scope.row.description" :height="50"> + <small slot="more">...</small> + </avue-text-ellipsis> + </template> + <template slot="menuLeft"> + <span style="width: 200px;display: inline-block"> + <el-select slot="prepend" v-model="searchSelect" placeholder="璇烽�夋嫨" size="small"> + <el-option v-for="item in searchData" :key="item.prop" :label="item.label" :value="item.prop" + ></el-option> + </el-select> + </span> + <span style="margin-left: 5px"> + <el-input v-model="searchValue" class="attrSearch" clearable placeholder="璇疯緭鍏ュ唴瀹�" + prefix-icon="el-icon-search" + size="small" type="text"></el-input> + <el-button icon="el-icon-search" plain size="small" type="primary" + @click="searchHandler"> 鎼滅储</el-button> + </span> + </template> + </avue-crud> + </basic-container> +</template> + +<script> + import { listLogOperate } from "@/api/logs"; + import {mapGetters} from "vuex"; + + export default { + data() { + return { + searchSelect: "userName", + searchValue: '', + searchData: [ + { + label: "鐢ㄦ埛鍚�", + prop: "userName", + align: "left", + display: false, + width: 200, + required: true + }, { + label: "濮撳悕", + prop: "realName", + align: "left", + display: false + } + ], + form: {}, + selectionList: [], + query: {}, + //鏄惁鏄笁鍛樼鐞嗗憳鏃ュ織 + isAdmin: '', + // LoginOrLogout:鐧诲綍鏃ュ織,grant:鎺堟潈鏃ュ織,operate:鎿嶄綔鏃ュ織 + logType: '', + loading: true, + page: { + pageSize: 10, + currentPage: 1, + total: 0 + }, + option: { + height: 'auto', + calcHeight: 20, + columnBtn:false, + tip: false, + searchShow: false, + searchMenuSpan: 6, + border: true, + index: true, + viewBtn: true, + editBtn: false, + addBtn: false, + delBtn: false, + menuWidth: 120, + dialogType: 'drawer', + column: [ + { + label: "鐢ㄦ埛鍚�", + prop: "userName", + search: true, + width:'120' + }, + { + label: "濮撳悕", + prop: "realName", + search: true, + width:'120' + }, + { + label: "鐢ㄦ埛ip", + prop: "ip", + }, + { + label: "妯″潡", + prop: "model", + + }, + { + label: "鏃堕棿", + prop: "time", + + }, + { + label: "鎿嶄綔缁撴灉", + prop: "operateResult", + + }, + { + label: "鎻忚堪", + prop: "description", + span: 24, + minRows: 20, + type: "textarea", + hide:true, + slot: true, + }, + ] + }, + data: [] + }; + }, + computed: { + ...mapGetters(["permission"]), + permissionList() { + return { + viewBtn: this.vaildData(this.permission.log_usual.log_usual_view, false) + }; + }, + }, + created() { + this.getRouteParam() + }, + methods: { + searchHandler(){ + let params = { + [this.searchSelect]:this.searchValue + }; + this.page.currentPage = 1; + this.onLoad(this.page, params); + }, + //鑾峰彇鏁版嵁 + getRouteParam() { + const logType = this.$route.query.log_type; // 鑾峰彇log_type鍙傛暟鐨勫�� + const result = logType.substring(0, logType.indexOf(':')); // 鎴彇浠�0鍒癅涔嬮棿鐨勫瓙瀛楃涓� + const isAdmin = logType.substring(logType.indexOf(':')+1, logType.indexOf('@')); // 浠嶡涔嬪悗鎴彇鍒版湯灏剧殑瀛愬瓧绗︿覆 + this.logType = result; + this.isAdmin = isAdmin; + //console.log(this.logType) + //console.log(this.isAdmin) + }, + searchReset() { + this.query = {}; + this.onLoad(this.page); + }, + searchChange(params, done) { + this.query = params; + this.page.currentPage = 1; + this.onLoad(this.page, params); + done(); + }, + underscoreName(key) { + return key.replace(/([A-Z])/g, "_$1").toLowerCase(); + }, + currentChange(currentPage){ + this.page.currentPage = currentPage; + }, + sizeChange(pageSize){ + this.page.pageSize = pageSize; + }, + refreshChange() { + this.onLoad(this.page, this.query); + }, + onLoad(page, params = {}) { + let conditionMaps = {}; + conditionMaps["conditionMap[is_admin]"] = this.isAdmin; + conditionMaps["conditionMap[log_type]"] = this.logType.trim(); + if (params) { + Object.keys(params).forEach((key) => { + conditionMaps["conditionMap[" + this.underscoreName(key) + "_like]"] = params[key].trim(); + }); + } + this.loading = true; + listLogOperate( + page.currentPage, + page.pageSize, + conditionMaps + ).then(res => { + const data = res.data.data; + this.page.total = data.total; + this.data = data.records; + this.loading = false; + }); + } + } + }; +</script> + +<style> +</style> -- Gitblit v1.9.3