From 447d6b096de7957ab5777a6e01d190f02eb4fab1 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期三, 24 四月 2024 17:17:58 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/UBCS-WEB/src/views/docking/loge.vue | 17 ++ Source/UBCS-WEB/src/api/logs.js | 12 + Source/UBCS-WEB/src/views/monitor/log/operateLog.vue | 374 +++++++++++++++++++++++++++++------------------------ Source/UBCS-WEB/src/api/docking/loge.js | 9 + 4 files changed, 241 insertions(+), 171 deletions(-) diff --git a/Source/UBCS-WEB/src/api/docking/loge.js b/Source/UBCS-WEB/src/api/docking/loge.js index 357b4a3..56094c6 100644 --- a/Source/UBCS-WEB/src/api/docking/loge.js +++ b/Source/UBCS-WEB/src/api/docking/loge.js @@ -13,3 +13,12 @@ } }) } +export const gridLogeDetail = (params) => { + return request({ + url: '/api/ubcs-code/dockingManagement/gridLogeDetail', + method: 'get', + params: { + ...params, + } + }) +} diff --git a/Source/UBCS-WEB/src/api/logs.js b/Source/UBCS-WEB/src/api/logs.js index 82b1b69..e56358f 100644 --- a/Source/UBCS-WEB/src/api/logs.js +++ b/Source/UBCS-WEB/src/api/logs.js @@ -94,4 +94,14 @@ ...params, } }) -} \ No newline at end of file +} + +export const detailByOid = (params) => { + return request({ + url: '/api/ubcs-log/operateLog/detailByOid', + method: 'get', + params: { + ...params, + } + }) +} diff --git a/Source/UBCS-WEB/src/views/docking/loge.vue b/Source/UBCS-WEB/src/views/docking/loge.vue index ffbb8c7..cc83e39 100644 --- a/Source/UBCS-WEB/src/views/docking/loge.vue +++ b/Source/UBCS-WEB/src/views/docking/loge.vue @@ -27,12 +27,15 @@ <small slot="more">...</small> </avue-text-ellipsis> </template> + <template slot="menu" slot-scope="scope"> + <el-button type="text" icon="el-icon-view" size="mini" @click="rowView(scope.row)">鏌ョ湅</el-button> + </template> </avue-crud> </basic-container> </template> <script> -import {getLogoList} from "@/api/docking/loge"; +import {getLogoList,gridLogeDetail} from "@/api/docking/loge"; import {validatenull} from "@/util/validate"; import {mapGetters} from "vuex"; @@ -137,7 +140,7 @@ dialogClickModal: false, menuFixed:'right', dialogType: 'drawer', - viewBtn: true, + viewBtn: false, stripe: true, addBtn:false, editBtn:false, @@ -273,6 +276,16 @@ } }, methods: { + rowView(row){ + this.loading = true; + gridLogeDetail({oid:row.oid}).then(res =>{ + console.log(res) + if(res.data.data){ + this.loading = false + this.$refs.crud.rowView(res.data.data) + } + }) + }, dockingGetList(val){ this.data=val.records; this.page.pageSize=val.size; diff --git a/Source/UBCS-WEB/src/views/monitor/log/operateLog.vue b/Source/UBCS-WEB/src/views/monitor/log/operateLog.vue index cbb013c..ccf7420 100644 --- a/Source/UBCS-WEB/src/views/monitor/log/operateLog.vue +++ b/Source/UBCS-WEB/src/views/monitor/log/operateLog.vue @@ -1,24 +1,24 @@ <template> <basic-container> - <avue-crud :option="option" - :table-loading="loading" - :data="data" - ref="crud" + <avue-crud ref="crud" v-model="form" - :permission="permissionList" - :page.sync="page" :before-open="beforeOpen" + :data="data" + :option="option" + :page.sync="page" + :permission="permissionList" + :table-loading="loading" @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="description" slot-scope="scope"> + <avue-text-ellipsis :height="50" :text="scope.row.description"> + <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"> @@ -30,186 +30,224 @@ <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" + <el-button icon="el-icon-search" plain size="small" type="primary" @click="searchHandler"> 鎼滅储</el-button> </span> + </template> + <template slot="menu" slot-scope="scope"> + <el-button type="text" icon="el-icon-view" size="mini" @click="rowView(scope.row)">鏌ョ湅</el-button> </template> </avue-crud> </basic-container> </template> <script> - import { listLogOperate } from "@/api/logs"; - import {mapGetters} from "vuex"; +import {listLogOperate,detailByOid} from "@/api/logs"; +import {mapGetters} from "vuex"; - export default { - data() { - return { - searchSelect: "userName", - searchValue: '', - searchData: [ +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 + }, + { + label: "鐢ㄦ埛ip", + prop: "ip", + }, + { + label: "妯″潡", + prop: "model", + + }, + { + label: "鏃堕棿", + prop: "time", + + }, + { + label: "鎿嶄綔缁撴灉", + prop: "operateResult", + + }, + { + label: "鎻忚堪", + prop: "description", + span: 24, + minRows: 20, + }, + ], + 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: false, + editBtn: false, + addBtn: false, + delBtn: false, + menuWidth: 120, + dialogType: 'drawer', + column: [ { label: "鐢ㄦ埛鍚�", prop: "userName", - align: "left", - display: false, - width: 200, - required: true - }, { + search: true, + width: '120' + }, + { 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", + search: true, + width: '120' + }, + { + label: "鐢ㄦ埛ip", + prop: "ip", + }, + { + label: "妯″潡", + prop: "model", - }, - { - label: "鏃堕棿", - prop: "time", + }, + { + label: "鏃堕棿", + prop: "time", - }, - { - label: "鎿嶄綔缁撴灉", - prop: "operateResult", + }, + { + label: "鎿嶄綔缁撴灉", + prop: "operateResult", - }, - { - label: "鎻忚堪", - prop: "description", - span: 24, - minRows: 20, - type: "textarea", - hide:true, - slot: true, - }, - ] - }, - data: [] + }, + { + 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) }; }, - 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(); - }); + }, + created() { + this.getRouteParam() + }, + methods: { + rowView(row){ + this.loading = true; + detailByOid({oid:row.oid}).then(res =>{ + if(res.data.data){ + this.loading = false + this.$refs.crud.rowView(res.data.data) } - 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; + }) + }, + 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> -- Gitblit v1.9.3