From e53927c7ccc6a6b97b9205c742b592a6612486ca Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期三, 24 一月 2024 14:47:29 +0800 Subject: [PATCH] 集成日志固定列 --- Source/UBCS-WEB/src/views/docking/info.vue | 493 +++++++++++++++++++++++++++++++++--------------------- 1 files changed, 304 insertions(+), 189 deletions(-) diff --git a/Source/UBCS-WEB/src/views/docking/info.vue b/Source/UBCS-WEB/src/views/docking/info.vue index 238b5f3..5d28a3d 100644 --- a/Source/UBCS-WEB/src/views/docking/info.vue +++ b/Source/UBCS-WEB/src/views/docking/info.vue @@ -2,31 +2,51 @@ <el-container> <el-main> <basic-container> - <avue-crud v-model="form" ref="crud" :option="option" :data="data" @on-load="onLoad" :page.sync="page" + <avue-crud ref="crud" v-model="form" :cell-style="cellStyle" :data="data" :option="option" :page.sync="page" + :permission="permissionList" + @on-load="onLoad" @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange" @current-change="currentChange" - @size-change="sizeChange" - @refresh-change="refreshChange" @row-click="rowClick"> + @size-change="sizeChange" @refresh-change="refreshChange" @row-click="rowClick"> <template slot="menu" slot-scope="{row,index}"> - <el-button icon="el-icon-edit" size="small" type="text" @click="updateSave(row,index)">缂栬緫</el-button> - <el-button icon="el-icon-delete" size="small" type="text" @click="deleteSave(row,index)">鍒犻櫎</el-button> - <el-button v-if="row.usedflag=='false'" icon="el-icon-position" size="small" type="text" @click="ENABLE(row,index)">鍚敤</el-button> - <el-button v-else icon="el-icon-finished" size="small" type="text" @click="DISABLE(row,index)">鍋滅敤</el-button> + <el-button v-if="permissionList.edit" :disabled="row.usedFlag === 'true' ? false :true" + icon="el-icon-edit" size="small" + type="text" + @click="updateSave(row,index)">缂栬緫 + </el-button> + <el-button v-if="permissionList.delete" icon="el-icon-delete" size="small" type="text" + @click="deleteSave(row,index)">鍒犻櫎 + </el-button> + <span v-if="permissionList.enable"> + + <el-button v-if="row.usedFlag=='false' || row.usedFlag==''" icon="el-icon-position" size="small" + type="text" @click="ENABLE(row,index)">鍚敤 + </el-button> + </span> + <span v-if="permissionList.stop"> + <el-button v-if="row.usedFlag !== 'false' && row.usedFlag !== ''" icon="el-icon-finished" + size="small" + type="text" @click="DISABLE(row, index)">鍋滅敤 + </el-button> + </span> </template> <template slot="menuLeft"> - <el-button size="small" type="primary" icon="el-icon-plus" @click="addSave">鏂� 澧� + <el-button v-if="permissionList.add" icon="el-icon-plus" size="small" type="primary" + @click="addSave"> + 鏂� 澧� </el-button> - <el-button size="small" icon="el-icon-share" @click="PUSH">鍚� 姝� + <el-button v-if="permissionList.sync" icon="el-icon-share" size="small" @click="PUSH">鍚� 姝� </el-button> - <el-button size="small" icon="el-icon-search" @click="openAdvancedQuery">鏌� 璇� + <el-button v-if="permissionList.query" icon="el-icon-search" size="small" + @click="openAdvancedQuery">鏌� 璇� </el-button> </template> </avue-crud> </basic-container> </el-main> - <infoForm ref="infoForm" @refreshTable="refreshChange" :formData="editAttribute"></infoForm> + <infoForm ref="infoForm" :formData="editAttribute" @refreshTable="refreshChange"></infoForm> <!-- 楂樼骇鏌ヨ瀵硅瘽妗� --> <advanced-query :ref="advancedQueryParam.ref" @@ -39,129 +59,200 @@ <script> import { - getList,add,edit,del,push,updateStatus + getList, add, edit, del, push, updateStatus } from "@/api/docking/info"; import {getDictionary} from "@/api/omd/enum"; import infoForm from "./infoForm.vue"; +import {mapGetters} from "vuex"; export default { name: "info", - components:{infoForm}, + components: {infoForm}, + data() { return { + //鎺ュ彛绫诲瀷涓嬫媺 + interfaceTypeList: [{ + label: 'webService', value: 'webService' + }, { + label: '绫昏矾寰�', value: 'classPath' + }, { + label: 'Http', value: 'http' + }], + //鍙傛暟绫诲瀷涓嬫媺 + paramTypeList: [{ + label: 'xml', value: 'xml' + }, { + label: 'Json', value: 'json' + }], + //杩斿洖鍊肩被鍨嬩笅鎷� + returnTypeList: [{ + label: 'xml', value: 'xml' + }, { + label: 'Json', value: 'json' + }], + //鎺ㄩ�佺被鍨� + pushTypeList: [{value: '1', label: '鏁版嵁鎺ㄩ��'}, + {value: '2', label: '鍒嗙被鎺ㄩ��'}, + {value: '3', label: '缂栫爜鐢宠'}, + {value: '4', label: '缂栫爜鏇存敼锛堢姸鎬併�佸洖鏀讹級'}, + {value: '5', label: '鍒嗙被鏌ヨ'}, + {value: '6', label: '鍚鍒欎俊鎭殑鍒嗙被鏌ヨ'}, + {value: '7', label: '鏁版嵁鏌ヨ'}], page: { pageSize: 10, currentPage: 1, total: 100 }, - selectRow: "", + selectRow: {}, data: [], form: {}, - attribute: { - nullable: true - }, editAttribute: {}, - applyRangeData: [], selectionList: [], option: { height: "auto", calcHeight: 20, + columnBtn: false, tip: false, headerAlign: "center", border: true, index: true, selection: true, + indexFixed: false, + selectionFixed:false, searchShow: false, + refreshBtn:false, searchMenuSpan: 6, rowKey: "id", tabs: true, stripe: true, - indexFixed: false, menuWidth: 180, highlightCurrentRow: true, addBtn: false, editBtn: false, delBtn: false, - columnBtn: false, column: [{ - label: '鎺ㄩ�佺被鍨�', - field: 'pushTypeText', + label: '鏄惁鍚敤', + prop: 'usedFlag', + width: 150, + formatter: res => res.usedFlag === "true" ? "鍚敤" : "鍋滅敤" + }, { + label: '闆嗘垚绯荤粺', + prop: 'sysBaseName', + sortable: true, + width: 150 + }, { + label: '鍒嗙被閫夋嫨', + prop: 'classifyName', + align: 'center', + // sortable: true, + width: 150 + }, { + label: '缂栫爜绫诲瀷', + prop: 'isGroupCodeFlag', sortable: true, width: 150, - type: 'select', - dicData: this.pushType, - props: { - label: "value", - value: "key" - }, + formatter: res => res.isGroupCodeFlag ? '闆嗗洟鐮�' : '浼佷笟缂栫爜' }, { - label: '绯荤粺鍚嶇О', - prop: 'sysbasename', + label: '鎺ュ彛绫诲瀷', + prop: 'dataFlowTypeText', + align: 'center', sortable: true, - search: true, - width: 150 + width: 150, + }, { + label: '鎺ㄩ�佺被鍨�', + prop: 'pushTypeText', + sortable: true, + overHidden: true, + align: 'center', + width: 150, + //pushTypeList浣滅敤鍩� + // formatter: (d) => { + // return this.pushTypeList[d.pushType] + // } }, { label: '绯荤粺缂栧彿', - prop: 'sysbaseid', + prop: 'id', sortable: true, - search: true, + hide: true, width: 150 }, { - label: '鎺ュ彛鍑芥暟', - prop: 'interfaceFunction', + label: '绯荤粺鍚嶇О', + prop: 'name', + hide: true, sortable: true, width: 150 }, { - label: '鍛藉悕绌洪棿', - prop: 'namespace', - sortable: true, + label: '鎺ュ彛鏂瑰紡', + prop: 'interfaceType', + // sortable: true, + width: 150 + }, { + label: '绫昏矾寰�', + prop: 'classPath', + // sortable: true, width: 150 }, { label: 'soapAction', - prop: 'soapaction', + prop: 'soapAction', + overHidden: true, sortable: true, - width: 150 - }, { - label: '鍙傛暟鍚嶇О', - prop: 'targName', - sortable: true, - width: 150 + width: 200 }, { label: '璋冪敤鏂瑰紡', prop: 'cxfaxis', sortable: true, width: 150 }, { + label: '璇锋眰鏂瑰紡', + prop: 'requestMethod', + align: 'center', + // sortable: true, + width: 150 + }, { label: '璇锋眰鍦板潃', - prop: 'requesturl', + prop: 'requestUrl', + sortable: true, + overHidden: true, + width: 200 + }, { + label: '鎺ュ彛鍑芥暟', + prop: 'interfaceFunction', + sortable: true, + align: 'center', + width: 150 + }, { + label: '鍙傛暟鍚嶇О', + prop: 'targetName', sortable: true, width: 150 }, { label: '鍙傛暟绫诲瀷', - prop: 'paramtype', + prop: 'paramType', + sortable: true, + width: 150, + formatter: (d) => { + return this.paramTypeList[d.paramType] + } + }, { + label: '杩斿洖鍊肩被鍨�', + prop: 'returnType', + sortable: true, + width: 150, + formatter: (d) => { + return this.returnTypeList[d.returnType] + } + }, { + label: '鍛藉悕绌洪棿', + prop: 'nameSpace', sortable: true, width: 150 }, { - label: '杩斿洖鍊肩被鍨�', - prop: 'returntype', - sortable: true, + label: '绯荤粺鎻忚堪', + prop: 'description', width: 150 }] }, - itemForm: { - itemData: {}, - activeName: "referTab", - enumInitFlag: false, - referInitFlag: false, - form: {} - }, - pushType: [{key: '1', value: '鏁版嵁鎺ㄩ��'}, - {key: '2', value: '鍒嗙被鎺ㄩ��'}, - {key: '3', value: '缂栫爜鐢宠'}, - {key: '4', value: '缂栫爜鏇存敼锛堢姸鎬併�佸洖鏀讹級'}, - {key: '5', value: '鍒嗙被鏌ヨ'}, - {key: '6', value: '鍚鍒欎俊鎭殑鍒嗙被鏌ヨ'}, - {key: '7', value: '鏁版嵁鏌ヨ'}], // 楂樼骇鏌ヨ瀵硅瘽妗嗙浉鍏冲弬鏁� advancedQueryParam: { ref: 'advancedQuery', @@ -175,6 +266,18 @@ created() { }, computed: { + ...mapGetters(["permission"]), + permissionList() { + return { + sync: this.vaildData(this.permission.info.info_sync, false), + add: this.vaildData(this.permission.info.info_add, false), + query: this.vaildData(this.permission.info.info_query, false), + edit: this.vaildData(this.permission.info.info_edit, false), + delete: this.vaildData(this.permission.info.info_delete, false), + enable: this.vaildData(this.permission.info.info_enable, false), + stop: this.vaildData(this.permission.info.info_stop, false), + } + }, oids() { let oids = []; this.selectionList.forEach(ele => { @@ -183,7 +286,27 @@ return oids.join(","); } }, + watch: { + // editAttribute:{ + // immediate: true, + // handler(newData) { + // this.$refs.infoForm.formData = Object.assign({}, newData); + // } + // } + }, methods: { + //鍗曞厓鏍兼牱寮� + cellStyle(row, column, rowIndex, columnIndex) { + if (row.columnIndex == 2) { + if (row.row.usedFlag == '' || row.row.usedFlag == 'false') { + return { + color: 'red', + fontWeight: 'bold', + fontSize: '20' + } + } + } + }, searchReset() { this.query = {}; this.onLoad(this.page); @@ -196,15 +319,11 @@ }, selectionChange(list) { this.selectionList = list; - if(this.selectionList.length <= 0){ - this.itemForm.itemData = null + if (this.selectionList.length <= 0) { this.selectRow = null - this.attribute = null } if (this.selectionList.length > 0) { - this.itemForm.itemData = this.selectionList[list.length-1]; - this.selectRow = this.selectionList[list.length-1].$index; - this.attribute = this.selectionList[list.length-1]; + this.selectRow = this.selectionList[list.length - 1].$index; } }, selectionClear() { @@ -222,53 +341,60 @@ }, addSave() { this.$refs.infoForm.showSubmitDialog = true; - const newAttr = {}; - newAttr.nullable = true; - this.$refs.infoForm.formData = newAttr; + this.$refs.infoForm.formData = { + dataFlowType: '', + pushType: '', + sourceSystemName: '', + sourceSystemOid: '', + sourceSystemId: '', + targetSystemName: '', + targetSystemOid: '', + targetSystemId: '', + sysIntParamVOs: [], + sysIntHeaderVOs: [] + }; }, - updateSave(row,index) { - this.selectRow = index; - var json = JSON.stringify(row); - this.editAttribute = JSON.parse(json); - this.editAttribute.nullable = row.nullable == 'true' ? true : false; - this.$refs.infoForm.attribute = this.editAttribute; + updateSave(row, index) { + this.selectRow = row; + this.editAttribute = row; + this.editAttribute.sysIntParamVOs = row.sysIntParamVOs || []; + this.editAttribute.sysIntHeaderVOs = row.sysIntHeaderVOs || []; + this.editAttribute.type = 'edit'; + this.$refs.infoForm.formData = this.editAttribute; this.$refs.infoForm.showSubmitDialog = true; - this.checkUsingReferDict(row); - this.$refs.infoForm.activeName = this.itemForm.activeName; - this.$refs.infoForm.enumInitFlag = this.itemForm.enumInitFlag; - this.$refs.infoForm.referInitFlag = this.itemForm.referInitFlag; - // this.refreshChange() + // console.log('row',this.editAttribute.pushType) + // console.log('editAttribute',this.editAttribute.dataFlowTypeText) }, - deleteSave(row,index) { - this.$confirm("鍒犻櫎鍏冩暟鎹皢鏃犳硶琚仮澶�, 鏄惁缁х画?", "鎻愮ず", { + deleteSave(row, index) { + this.$confirm("鍒犻櫎鏁版嵁灏嗘棤娉曡鎭㈠, 鏄惁缁х画?", "鎻愮ず", { iconClass: 'el-icon-question', confirmButtonText: "纭畾", cancelButtonText: "鍙栨秷", showClose: true, type: "warning" }).then(() => { - remove(row.oid).then(res => { + del({oids: row.oid}).then(res => { this.$message.success("鍒犻櫎鎴愬姛"); this.refreshChange(); }); }); }, - ENABLE(row,index){ + ENABLE(row, index) { //鍚敤 - this.updateStatus("enable"); + this.updateStatus(row, "enable"); }, - DISABLE(row,index){ + DISABLE(row, index) { //鍋滅敤 - this.updateStatus("disable"); + this.updateStatus(row, "disable"); }, - updateStatus(able){ + updateStatus(selectRow, able) { var that = this; var paramTemp = { - update:able, - oid:this.selectRow.oid, - ts:this.selectRow.ts + update: able, + oid: selectRow.oid, + ts: selectRow.ts }; - this.$confirm("鏄惁瑕�"+(able == "enbale" ? "鍚敤" : (able == "disable" ? "鍋滅敤": "鍙戝竷")) +"杩欐潯鏁版嵁锛�", { + this.$confirm("鏄惁瑕�" + (able == "enbale" ? "鍚敤" : (able == "disable" ? "鍋滅敤" : "鍙戝竷")) + "杩欐潯鏁版嵁锛�", { confirmButtonText: "纭畾", cancelButtonText: "鍙栨秷", type: "warning" @@ -280,17 +406,16 @@ this.onLoad(this.page); this.$message({ type: "success", - message:(able == "enbale" ? "鍚敤鎴愬姛" : (able == "disable" ? "鍋滅敤鎴愬姛": "鍙戝竷鎴愬姛")) + message: (able == "enbale" ? "鍚敤鎴愬姛" : (able == "disable" ? "鍋滅敤鎴愬姛" : "鍙戝竷鎴愬姛")) }); - this.$refs.crud.toggleSelection(); }); }, - PUSH(){ + PUSH() { if (this.selectionList.length != 1) { - this.$message.error('璇烽�夋嫨涓�鏉℃暟鎹�') + this.$message.warning('璇烽�夋嫨鏁版嵁') return false; } - this.$confirm("鏄惁瑕�"+ (this.selectionList[0].pushType == "1" ? "鎺ㄩ�佹暟鎹�" : "鎺ㄩ�佸垎绫�"), { + this.$confirm("鏄惁瑕�" + (this.selectionList[0].pushType == "1" ? "鎺ㄩ�佹暟鎹�" : "鎺ㄩ�佸垎绫�"), { confirmButtonText: "纭畾", cancelButtonText: "鍙栨秷", type: "warning" @@ -310,107 +435,80 @@ onLoad(page, params = {}) { this.loading = true; getList(this.page.currentPage, this.page.pageSize, Object.assign(params, this.query)).then(res => { + // console.log(res) const data = res.data.data; this.page.total = data.total; this.data = data.records; this.loading = false; - this.data = res.data.data.records; - this.itemData = this.data[0]; }); }, rowClick(row) { - this.itemForm.itemData = row; this.selectRow = row; - this.attribute = row; - this.$refs.crud.toggleSelection(); this.$refs.crud.toggleRowSelection(row); //閫変腑褰撳墠琛� - //this.checkUsingReferDict(row); - }, - checkUsingReferDict(row){ - if (row.referToId !== null && row.referToId !== ""){ - this.itemForm.activeName = 'referTab'; - this.itemForm.referInitFlag = true; - this.itemForm.enumInitFlag = false; - }else if (row.usingDict === 'true'){ - this.itemForm.activeName = 'enumTab'; - this.itemForm.referInitFlag = false; - this.itemForm.enumInitFlag = true; - getDictionary({code: row.dictCode}).then(res => { - this.editAttribute.dictValue = res.data.data[0].label; - this.itemForm.itemData.dictValue = this.editAttribute.dictValue; - this.$refs.infoForm.dictEnums = res.data.data; - }) - }else { - this.itemForm.activeName = 'referTab'; - this.itemForm.referInitFlag = true; - this.itemForm.enumInitFlag = false; - } - }, - selectBtmType() { - this.referType.display = true; - this.referType.title = "璇烽�夋嫨" + this.referType.value; - }, - applyRangeOpen() { - if (!this.selectRow && this.selectRow != 0) { - this.$message({ - type: "warning", - message: "璇峰厛閫夋嫨灞炴��" - }); - } - var oid = this.data[this.selectRow].oid; - getApplyRange(oid).then(res => { - this.applyRangeData = res.data.data; - this.$refs.applyRange.rangeData = this.applyRangeData; - this.$refs.applyRange.showDialog = true; - - }); }, /** 楂樼骇鏌ヨ瀵硅瘽妗嗙粍浠�,缁勪欢杩斿洖鐨勫�兼槸condtionMap[field]褰㈠紡鐨勬煡璇㈡潯浠讹紝淇濈暀浜嗗拰涔嬪墠涓�鏍风殑鏂瑰紡 */ - echoSeniorContionMap(conditionMaps){ - if(JSON.stringify(conditionMaps)!='{}'){ + echoSeniorContionMap(conditionMaps) { + if (JSON.stringify(conditionMaps) != '{}') { this.query = conditionMaps; this.onLoad(this.page); + }else { + this.query = {}; + this.onLoad(this.page, this.query); } }, - openAdvancedQuery(){ - this.advancedQueryParam.options = [ - { - data: [], - title: '缂栧彿', - fieldType: 'text', - queryField: 'id', - },{ - data: [], - title: '鍚嶇О', - fieldType: 'text', - queryField: 'name', - },{ - data: [], - title: '鎻忚堪', - fieldType: 'text', - queryField: 'description', - },{ - data: [ - // { - // key: '缂栬緫涓�', - // value: 'Editing', - // }, - // { - // key: '宸插彂甯�', - // value: 'Released', - // }, - // { - // key: '鍋滅敤', - // value: 'Disabled', - // }, - ], - title: '鐘舵��', - fieldType: 'combox', - queryField: 'lcStatus', - comboxKey: 'codeSearchLCStatus', - }, - ] + openAdvancedQuery() { + this.advancedQueryParam.options = [{ + data: this.pushTypeList, + title: '鎺ㄩ�佺被鍨�', + queryField: 'pushType', + fieldType: 'combox', + comboxKey: 'searchPushType' + }, { + title: '绯荤粺鍚嶇О', + queryField: 'sysBaseName', + fieldType: 'text' + }, { + title: '绯荤粺缂栧彿', + queryField: 'sysBaseId', + fieldType: 'text' + }, { + title: '鎺ュ彛鍑芥暟', + queryField: 'interfaceFunction', + fieldType: 'text' + }, { + title: '鍛藉悕绌洪棿', + queryField: 'nameSpace', + fieldType: 'text' + }, { + title: 'soapAction', + queryField: 'soapAction', + fieldType: 'text' + }, { + title: '鍙傛暟鍚嶇О', + queryField: 'targetName', + fieldType: 'text' + }, { + title: '璋冪敤鏂瑰紡', + queryField: 'cxfaxis', + fieldType: 'text' + }, { + title: '璇锋眰鍦板潃', + queryField: 'requestUrl', + fieldType: 'text' + }, { + title: '鍙傛暟绫诲瀷', + queryField: 'paramType', + fieldType: 'combox', + comboxKey: 'searchparamType', + data: this.paramTypeList + }, { + title: '杩斿洖鍊肩被鍨�', + queryField: 'returnType', + fieldType: 'combox', + comboxKey: 'searchreturnType', + data: this.returnTypeList + }] this.advancedQueryParam.currentOpen = 'info'; this.advancedQueryParam.advancedQuerySettingBox = true; @@ -419,8 +517,25 @@ } </script> -<style lang="scss"> -.applyRangeTable>.el-card:nth-of-type(2)>.el-card__body>.avue-crud__menu { +<style lang="scss" scoped> +.applyRangeTable > .el-card:nth-of-type(2) > .el-card__body > .avue-crud__menu { display: none !important; } + +// 婊氬姩鏉℃牱寮忎慨鏀� +// 婊氬姩鏉$殑瀹藉害 +/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