From d6f94d02fd033c1c0a68fe2d4e987eb233d2afb1 Mon Sep 17 00:00:00 2001 From: 田源 <tianyuan@vci-tech.com> Date: 星期三, 05 三月 2025 18:05:03 +0800 Subject: [PATCH] 整合代码 --- Source/UBCS-WEB/src/views/docking/loge.vue | 328 +++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 262 insertions(+), 66 deletions(-) diff --git a/Source/UBCS-WEB/src/views/docking/loge.vue b/Source/UBCS-WEB/src/views/docking/loge.vue index f4c2b24..3788739 100644 --- a/Source/UBCS-WEB/src/views/docking/loge.vue +++ b/Source/UBCS-WEB/src/views/docking/loge.vue @@ -1,32 +1,124 @@ <template> <!--绯荤粺闆嗘垚鐨勭郴缁熸棩蹇楅〉闈�--> <basic-container> - <avue-crud :option="option" - :table-loading="loading" - :data="data" + <avue-crud ref="crud" + :data="data || getList" + :option="option" :page.sync="page" - :permission="permissionList" - ref="crud" + :table-loading="loading" + @cell-dblclick="cellDbClick" @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange" - @refresh-change="refreshChange" - @on-load="onLoad"> + @refresh-change="refreshChange"> + <template slot="menuLeft" slot-scope="scope"> + <vci-docking-search ref="dockingSearch" :SearchObject="SearchObject" :formInline="formInline" :page="page" + :status="status" @getList="dockingGetList"></vci-docking-search> + </template> + <template slot="paramString" slot-scope="scope"> + <avue-text-ellipsis :height="50" :text="scope.row.paramString"> + <small slot="more">...</small> + </avue-text-ellipsis> + </template> + <template slot="returnString" slot-scope="scope"> + <avue-text-ellipsis :height="50" :text="scope.row.returnString"> + <small slot="more">...</small> + </avue-text-ellipsis> + </template> + <template slot="menu" slot-scope="scope"> + <el-button icon="el-icon-view" size="mini" type="text" @click="rowView(scope.row)">鏌ョ湅</el-button> + </template> </avue-crud> </basic-container> </template> <script> -import {getList} from "@/api/docking/loge"; +import {getLogoList, gridLogeDetail} from "@/api/docking/loge"; import {validatenull} from "@/util/validate"; import {mapGetters} from "vuex"; export default { name: "loge", - data(){ + data() { return { + value: '', + //鍚勪釜绫诲瀷鐘舵�� + status: { + type: 'loge', + typeFlag: false, + dateFlag: false, + stateFlag: false, + }, + //model缁戝畾 + formInline: { + type: '', + cut: '', + text: '', + Date: '', + state: '' + }, + //闆嗘垚绫诲瀷姝绘暟鎹� + SearchObject: { + searchData: [ + { + label: '鏁版嵁缂栫爜', + prop: "id", + value: 0 + }, + { + label: '鍒嗙被浠e彿', + prop: 'classifyId', + value: 1 + }, + { + label: '鍒嗙被鍚嶇О', + prop: 'classifyName', + value: 2 + }, + { + label: '闆嗘垚绯荤粺缂栧彿', + prop: 'systemCode', + value: 3 + }, + { + label: '闆嗘垚绯荤粺鍚嶇О', + prop: 'systemName', + value: 4 + }, + { + label: '绫诲瀷', + prop: 'typeText', + value: 5 + }, + { + label: '璁板綍鏃堕棿', + value: 6, + prop: 'createTime', + }, + { + label: '鏄惁鎴愬姛', + prop: 'interfaceStatus', + value: 7 + }, + { + label: '鎺ュ彛鍙傛暟', + prop: 'paramString', + value: 11 + }, + { + label: '杩斿洖鍙傛暟', + prop: 'returnString', + value: 12 + }, + { + label: '杩斿洖msg', + prop: 'msg', + value: 13 + }, + ], + }, loading: false, query: {}, selectionList: [], @@ -35,78 +127,108 @@ currentPage: 1, total: 0 }, - data:[], + data: [], option: { - calcHeight: 30, + height: 'auto', + calcHeight: 20, + menuWidth: 120, tip: false, searchShow: false, - searchMenuSpan: 6, border: true, index: true, - viewBtn: true, + indexFixed: false, selection: false, dialogClickModal: false, - menu:false, + menuFixed: 'right', + dialogType: 'drawer', + viewBtn: false, + stripe: true, + addBtn: false, + editBtn: false, + delBtn: false, column: [ { label: "鏁版嵁缂栫爜", prop: "id", - search: true, - sortable:true, - width:150 + sortable: true, + width: 130 }, { label: "鍥惧彿", - prop: "uniquecode", - search: true, - sortable:true, - width:150 + prop: "uniqueCode", + hide: true, + sortable: true, + width: 150 }, { - label: '鍒嗙被id', - prop: 'classifyid', - search: true, - sortable:true, - width: 250 + label: '鍒嗙被浠e彿', + prop: 'classifyId', + sortable: true, + overHidden: true, + width: 150 }, { label: '鍒嗙被鍚嶇О', - prop: 'classifyname', - search: true, - sortable:true, - overHidden: true + prop: 'classifyName', + sortable: true, + overHidden: true, + width: 140 + }, + // { + // label: '鏍囧噯鐢宠', + // prop: 'applyCodeForBZ', + // sortable:true, + // width: 130 + // }, + // { + // label: '閮ㄩ棬鐢宠', + // prop: 'syncDataForOrg', + // sortable:true, + // width: 130 + // }, + // { + // label: '浜哄憳鐢宠', + // prop: 'syncDataForPerson', + // sortable:true, + // width: 130 + // }, + { + label: '闆嗘垚绯荤粺缂栧彿', + prop: 'systemCode', + labelWidth: 150, + sortable: true, + width: 130 }, { - label: '绯荤粺缂栧彿', - prop: 'systemcode', - search: true, - sortable:true, + label: '闆嗘垚绯荤粺鍚嶇О', + prop: 'systemName', + sortable: true, + labelWidth: 150, width: 150 }, { - label: '绯荤粺鍚嶇О', - prop: 'systemname', - search: true, - sortable:true, + label: '绫诲瀷', + prop: 'typeText', + sortable: true, width: 150 }, { - label: '鏄惁鎺ㄩ�佹垚鍔�', - prop: 'interfacestatus', - search: true, - sortable:true, - width: 120, - html:true, - align:'center', - type:'select', - dicData: [{key:'true',value:'鏄�'},{key:'false',value:'鍚�'}], - props: { - label: "value", - value: "key" - }, - formatter : function (row, column) { - return row.interfacestatus == 'true' || row.interfacestatus == '1' ? '<i class="el-icon-check"></i>' : '<i class="el-icon-close"></i>' - } + label: '鎺ュ彛鍙傛暟', + prop: 'paramString', + sortable: true, + minRows: 20, + type: "textarea", + slot: true, + hide: true, + }, + { + label: '杩斿洖鍙傛暟', + prop: 'returnString', + sortable: true, + minRows: 20, + type: "textarea", + slot: true, + hide: true, }, { label: '杩斿洖msg', @@ -116,15 +238,33 @@ { label: '璁板綍鏃堕棿', prop: 'createTime', - sortable:true, - width: 160 - } + sortable: true, + + }, + { + label: '鏄惁鎴愬姛', + prop: 'interfaceStatus', + sortable: true, + width: 120, + html: true, + align: 'center', + type: 'select', + searchLabelWidth: 130, + dicData: [{key: 'true', value: '鏄�'}, {key: 'false', value: '鍚�'}], + props: { + label: "value", + value: "key" + }, + formatter: function (row, column) { + return row.interfaceStatus == 'true' || row.interfaceStatus == '' ? '<i class="el-icon-check" style="color: #32cd32;font-size: 20px;font-weight: 800"></i>' : '<i class="el-icon-close" style="color: #ff0000;font-size: 20px;font-weight: 800"></i>' + } + }, ] } } }, - computed:{ - ...mapGetters([ "permission"]), + computed: { + ...mapGetters(["permission"]), permissionList() { return { addBtn: false, @@ -134,7 +274,39 @@ }; } }, + created() { + this.onLoad(this.page); + }, 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; + this.page.currentPage = val.current; + this.page.total = val.total; + }, + async cellDbClick(row, column, cell, event) { + for (const key in row) { + if (key === column.property) { + this.value = row[key]; + } + } + try { + await this.$copyText(this.value); + this.$message.success('澶嶅埗鎴愬姛'); + } catch (error) { + this.$message.warning('澶嶅埗澶辫触'); + } + }, searchReset() { this.query = {}; this.onLoad(this.page); @@ -154,28 +326,37 @@ }, currentChange(currentPage) { this.page.currentPage = currentPage; + this.$refs.dockingSearch.SaveSearchHandler(); }, sizeChange(pageSize) { this.page.pageSize = pageSize; + this.$refs.dockingSearch.SaveSearchHandler(); }, refreshChange() { - this.onLoad(this.page); + const page = { + pageSize: 20, + currentPage: 1, + total: 0 + }; + this.page = page; + this.formInline = { type: '', cut: '', text: '',Date: '', state: ''} + this.onLoad(page); }, - onLoad(page, params={}) { + onLoad(page, params = {}) { this.loading = true; - var query={} + var queryCondition = {} if (this.query) { for (var key in this.query) { - query['conditionMap["' + key + '"]'] = this.query[key]; + queryCondition['conditionMap["' + key + '"]'] = this.query[key]; } } - getList(page.currentPage, page.pageSize, Object.assign(params,this.params, query,this.query)).then(res => { + getLogoList(page.currentPage, page.pageSize, 'createTime', 'desc', Object.assign(params, this.params, queryCondition, this.query),).then(res => { const data = res.data.data; this.page.total = data.total; this.data = data.records; this.loading = false; this.selectionClear(); - }).catch(error=>{ + }).catch(error => { this.$message.error(error); this.loading = false; }); @@ -185,6 +366,21 @@ } </script> -<style scoped> +<style lang="scss" scoped> +// 婊氬姩鏉℃牱寮忎慨鏀� +// 婊氬姩鏉$殑瀹藉害 +/deep/ .el-table__body-wrapper::-webkit-scrollbar { + height: 15px; // 绾靛悜婊氬姩鏉� 蹇呭啓 + background: white; + border: white; + width: 10px; +} + +// 婊氬姩鏉$殑婊戝潡 +/deep/ .el-table__body-wrapper::-webkit-scrollbar-thumb { + background-color: #ececec; + border-radius: 20px; + border: #ececec; +} </style> -- Gitblit v1.9.3