From d1fae033c247f26d4e3676015a65bd2dc137f474 Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期五, 01 九月 2023 10:35:13 +0800 Subject: [PATCH] 集成系统接口基本管理表单树回填 --- Source/UBCS-WEB/src/views/docking/info.vue | 482 +++++++++++++++++++++++++++++++++-------------------- 1 files changed, 297 insertions(+), 185 deletions(-) diff --git a/Source/UBCS-WEB/src/views/docking/info.vue b/Source/UBCS-WEB/src/views/docking/info.vue index 538f1e0..acfbe07 100644 --- a/Source/UBCS-WEB/src/views/docking/info.vue +++ b/Source/UBCS-WEB/src/views/docking/info.vue @@ -2,31 +2,34 @@ <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" :data="data" :option="option" :page.sync="page" @on-load="onLoad" @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange" - @refresh-change="refreshChange" @row-click="rowClick"> + @refresh-change="refreshChange" @row-click="rowClick" :cell-style="cellStyle"> <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-edit" size="small" type="text" @click="updateSave(row,index)" :disabled="row.usedFlag === 'true' ? false :true">缂栬緫</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="row.usedFlag=='false' || row.usedFlag==''" 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> </template> <template slot="menuLeft"> - <el-button size="small" type="primary" icon="el-icon-plus" @click="addSave">鏂� 澧� + <el-button icon="el-icon-plus" size="small" type="primary" @click="addSave">鏂� 澧� </el-button> - <el-button size="small" icon="el-icon-share" @click="PUSH">鍚� 姝� + <el-button icon="el-icon-share" size="small" @click="PUSH">鍚� 姝� </el-button> - <el-button size="small" icon="el-icon-search" @click="openAdvancedQuery">鏌� 璇� + <el-button icon="el-icon-search" size="small" @click="openAdvancedQuery">鏌� 璇� </el-button> </template> </avue-crud> </basic-container> </el-main> - <originalAdd ref="originalAdd" @refreshTable="refreshChange" :attribute="editAttribute"></originalAdd> + <infoForm ref="infoForm" :formData="editAttribute" @refreshTable="refreshChange"></infoForm> <!-- 楂樼骇鏌ヨ瀵硅瘽妗� --> <advanced-query :ref="advancedQueryParam.ref" @@ -39,31 +42,53 @@ <script> import { - getList, - remove, - add, - update, getPage, getApplyRange -} from "@/api/omd/OmdAttribute"; + getList, add, edit, del, push, updateStatus +} from "@/api/docking/info"; import {getDictionary} from "@/api/omd/enum"; -import {mapGetters} from "vuex"; +import infoForm from "./infoForm.vue"; export default { name: "info", + 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", @@ -85,85 +110,128 @@ editBtn: false, delBtn: false, columnBtn: false, - column: [{ - label: '鎺ㄩ�佺被鍨�', - field: 'pushTypeText', + column: [ { + 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" - }, - }, { - label: '绯荤粺鍚嶇О', - prop: 'sysbasename', + formatter: res => res.isGroupCodeFlag ? '闆嗗洟鐮�' : '浼佷笟缂栫爜' + },{ + 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 + width: 150, + formatter: (d) => { + return this.paramTypeList[d.paramType] + } }, { label: '杩斿洖鍊肩被鍨�', - prop: 'returntype', + prop: 'returnType', sortable: true, + width: 150, + formatter: (d) => { + return this.returnTypeList[d.returnType] + } + }, { + label: '鍛藉悕绌洪棿', + prop: 'nameSpace', + sortable: true, + width: 150 + },{ + 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', @@ -185,7 +253,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); @@ -198,15 +286,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() { @@ -223,44 +307,82 @@ this.onLoad(this.page, this.query); }, addSave() { - this.$refs.originalAdd.showSubmitDialog = true; - const newAttr = {}; - newAttr.nullable = true; - this.$refs.originalAdd.attribute = newAttr; + this.$refs.infoForm.showSubmitDialog = true; + 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.originalAdd.attribute = this.editAttribute; - this.$refs.originalAdd.showSubmitDialog = true; - this.checkUsingReferDict(row); - this.$refs.originalAdd.activeName = this.itemForm.activeName; - this.$refs.originalAdd.enumInitFlag = this.itemForm.enumInitFlag; - this.$refs.originalAdd.referInitFlag = this.itemForm.referInitFlag; - // this.refreshChange() + 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; + // 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(); }); }); }, - PUSH(){ + ENABLE(row, index) { + //鍚敤 + this.updateStatus(row, "enable"); + }, + DISABLE(row, index) { + //鍋滅敤 + this.updateStatus(row, "disable"); + }, + updateStatus(selectRow, able) { + var that = this; + var paramTemp = { + update: able, + oid: selectRow.oid, + ts: selectRow.ts + }; + this.$confirm("鏄惁瑕�" + (able == "enbale" ? "鍚敤" : (able == "disable" ? "鍋滅敤" : "鍙戝竷")) + "杩欐潯鏁版嵁锛�", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning" + }) + .then(() => { + return updateStatus(paramTemp); + }) + .then(() => { + this.onLoad(this.page); + this.$message({ + type: "success", + message: (able == "enbale" ? "鍚敤鎴愬姛" : (able == "disable" ? "鍋滅敤鎴愬姛" : "鍙戝竷鎴愬姛")) + }); + }); + }, + 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" @@ -279,108 +401,98 @@ }, onLoad(page, params = {}) { this.loading = true; - getPage(this.page.currentPage, this.page.pageSize, Object.assign(params, this.query)).then(res => { + 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; + // const Props = { + // paramType: '', + // returnType: '', + // dataFlowType: '', + // pushType: '', + // classifyName: '', + // sourceSystemName: '', + // targetSystemName: '', + // classPath:'', + // requestMethod:'', + // requestUrl:'', + // interfaceFunction:'', + // nameSpace:'', + // soapAction:'', + // targetName:'', + // cxfaxis:'' + // }; + // this.pushTypeList.forEach(item => { + // Object.assign(item, Props); + // }); this.loading = false; - this.data = res.data.data.records; - this.itemData = this.data[0]; }); }, rowClick(row) { - this.itemForm.itemData = row; - this.selectRow = row.$index; - this.attribute = row; - + this.selectRow = 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.originalAdd.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); } }, - 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; @@ -390,7 +502,7 @@ </script> <style lang="scss"> -.applyRangeTable>.el-card:nth-of-type(2)>.el-card__body>.avue-crud__menu { +.applyRangeTable > .el-card:nth-of-type(2) > .el-card__body > .avue-crud__menu { display: none !important; } </style> -- Gitblit v1.9.3