From 200f259e3fd05aae48a2d881429c2c86f4d35fef Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期四, 24 八月 2023 16:47:21 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/UBCS-WEB/src/api/docking/info.js | 59 +++ Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue | 17 Source/UBCS-WEB/src/components/refer/vciWebRefer.vue | 2 Source/UBCS-WEB/src/views/docking/info.vue | 213 ++++++------ Source/UBCS-WEB/src/components/FormTemplate/index.vue | 12 Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue | 17 Source/UBCS-WEB/src/App.vue | 3 Source/UBCS-WEB/src/views/docking/infoForm.vue | 627 ++++++++++++++++++++++++++++++++++++ Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue | 47 ++ Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java | 2 Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue | 3 11 files changed, 876 insertions(+), 126 deletions(-) diff --git a/Source/UBCS-WEB/src/App.vue b/Source/UBCS-WEB/src/App.vue index aa919b5..3bf8519 100644 --- a/Source/UBCS-WEB/src/App.vue +++ b/Source/UBCS-WEB/src/App.vue @@ -28,4 +28,7 @@ .avue--detail .el-col{ margin-bottom: 0; } +.avue-dialog .el-dialog__body { + margin-bottom: 10px +} </style> diff --git a/Source/UBCS-WEB/src/api/docking/info.js b/Source/UBCS-WEB/src/api/docking/info.js new file mode 100644 index 0000000..2d17aad --- /dev/null +++ b/Source/UBCS-WEB/src/api/docking/info.js @@ -0,0 +1,59 @@ +import request from '@/router/axios'; + +export const getList = (page, size, params) => { + return request({ + url: '/api/ubcs-code/dockingManagement/gridDockingSystem', + method: 'get', + params: { + ...params, + page, + size + } + }) +} + +// 鏂板 +export const add = (data) => { + return request({ + url: '/api/ubcs-code/dockingManagement/addSaveSystemConfig', + method: 'post', + data + }) +} +// 淇敼 +export const edit = (data) => { + return request({ + url: '/api/ubcs-code/dockingManagement/editSystemConfig', + method: 'post', + data + }) +} + +// 鍒犻櫎 +export const del = (data) => { + let url = '/api/ubcs-code/dockingManagement/deleteSystemConfigsById' + return request({ + url, + method: 'delete', + data + }) +} + + +// 鍚屾 +export const push = (data) => { + return request({ + url: '/api/ubcs-code/dockingManagement/pushData', + method: 'post', + data + }) +} + +// 鍋滅敤鍚敤 +export const updateStatus = (data) => { + return request({ + url: '/api/ubcs-code/dockingManagement/updateStatus', + method: 'post', + data + }) +} diff --git a/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue b/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue index b53cf1a..ee1422f 100644 --- a/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue +++ b/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue @@ -170,6 +170,12 @@ message = "璇疯緭鍏�"; trigger = "blur"; } + let fieldMapKey='' + if( formItem.type == "refer"){ + if(!formItem.fieldMap){ + fieldMapKey=formItem.field+'Id' + } + } let columnItem = { label: formItem.text, labelslot: true, @@ -200,8 +206,9 @@ title: formItem.text, showField: formItem.showField || formItem.field, field: formItem.field, + fieldMap:formItem.fieldMap || {fieldMapKey:'id'}, placeholder: formItem.inputTip, - options: formItem.referConfig, + options: formItem.referConfig } : {}, span: formItem.span @@ -212,7 +219,7 @@ rules: [ { required: formItem.required, - message: `璇�${message}${formItem.text}`, + message: `${message}${formItem.text}`, trigger, }, { @@ -356,6 +363,42 @@ if (data.field) { this.form[data.field] = data.value || ""; this.form[data.showField] = data.text || ""; + if (data.fieldMap) { + //璇存槑闇�瑕佹槧灏� + for (let key in data.fieldMap) { + let mapFields = data.fieldMap[key].split(","); + let value = []; + data.rawData.forEach(_item => { + var temp; + if (!_item.attributes) { + _item.attributes = _item; + } + if (mapFields.length == 1) { + var mapField = mapFields[0]; + if (mapField.indexOf("attribute.") > -1) { + temp = _item['attributes'][mapField.subString("attribute.".length)]; + } else { + temp = _item['attributes'][mapField] || _item[mapField]; + } + } else { + //鏈夊涓� + var mutiTemp = []; + layui.each(mapFields, function (_indexField, _itemField) { + if (_itemField.indexOf("attribute.") > -1) { + mutiTemp.push(_item['attributes'][_itemField.subString("attribute.".length)]); + } else { + mutiTemp.push(_item['attributes'][_itemField] || _item[_itemField]); + } + }); + temp = mutiTemp.join(' '); + } + if (temp != null && temp != '') { + value.push(temp); + } + }) + this.form[key] = value.join(','); + } + } this.$emit("getFormData", this.form); this.$emit("referConfigDataUpdate", data); } diff --git a/Source/UBCS-WEB/src/components/FormTemplate/index.vue b/Source/UBCS-WEB/src/components/FormTemplate/index.vue index d2585c3..8bcb7ef 100644 --- a/Source/UBCS-WEB/src/components/FormTemplate/index.vue +++ b/Source/UBCS-WEB/src/components/FormTemplate/index.vue @@ -134,12 +134,12 @@ showCodeApply: false, showResembleQuery: false, selfColumnType: { - codefixedsec: "combox", - codeclassifysec: "refer", - codevariablesec: "text", + codefixedsec: "combox",//鍥哄畾鐮佹 + codeclassifysec: "refer",//鍒嗙被鐮佹 + codevariablesec: "text",//鍙彉鐮佹 + coderefersec: "refer",//寮曠敤鐮佹 codeattrsec: "text", codelevelsec: "text", - coderefersec: "refer", codedatesec: "date" }, selfColumnConfig: { @@ -301,6 +301,8 @@ if (item.parentClassifySecOid === field) { this.$refs.CodeApply.form[item.oid] = undefined; this.$refs.CodeApply.form[item.name] = undefined; + item.readOnly=false; + item.referConfig.extraParams.parentClassifyValueOid=data.value; } return item; }); @@ -414,6 +416,7 @@ getReferConfig(item) { let params = {}; if (item.secType == "codeclassifysec") { + //鍒嗙被鐮佹 params = { isMuti: false, type: "grid", @@ -458,6 +461,7 @@ }, }; } else if (item.secType == "coderefersec") { + //寮曠敤鐮佹 params = JSON.parse(item.referValueInfo); } return params; diff --git a/Source/UBCS-WEB/src/components/refer/vciWebRefer.vue b/Source/UBCS-WEB/src/components/refer/vciWebRefer.vue index a253841..a421c47 100644 --- a/Source/UBCS-WEB/src/components/refer/vciWebRefer.vue +++ b/Source/UBCS-WEB/src/components/refer/vciWebRefer.vue @@ -48,6 +48,8 @@ deep: true, immediate: true, handler(newV) { + this.text=newV.text; + this.value=newV.value; this.$emit("setReferValue", newV); } } diff --git a/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue b/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue index ab1ee06..11fe9d4 100644 --- a/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue +++ b/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue @@ -178,11 +178,15 @@ } else { this.option.column = this.options.tableConfig.cols.map(item => { if (item.field != 'LAY_TABLE_INDEX' && item.field != 'LAY_CHECKED') { + let formatter=item.template || item.templet; + if(typeof formatter == "string" && formatter !=''){ + formatter=eval("(" + formatter + ")") + } return { ...item, label: item.title, prop: item.field, - formatter:item.template, + formatter:formatter, search:this.options.tableConfig.queryColumns.some(qItem=>{ return qItem.field==item.field }) @@ -236,7 +240,7 @@ this.value=value.join(','); this.text=text.join(',') - this.$emit("setValue", {field:this.referConfig.field,showField:this.referConfig.showField,value:this.value,text:this.text,rawData:this.selectionList}); + this.$emit("setValue", {field:this.referConfig.field,showField:this.referConfig.showField,value:this.value,text:this.text,rawData:this.selectionList,fieldMap:this.referConfig.fieldMap}); this.visible=false; }, searchReset() { @@ -284,8 +288,13 @@ } } getList(Object.assign(params,this.params,this.query, query),page.currentPage, page.pageSize, this.url, this.method).then(res => { - this.data = res.data.records; - this.page.total=res.data.total + if(res.data.records){ + this.data = res.data.records + this.page.total=res.data.total ; + }else{ + this.data = res.data.data.records; + this.page.total=res.data.data.total; + } this.loading = false; this.selectionClear(); }).catch(error=>{ diff --git a/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue b/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue index cc0b644..4551c28 100644 --- a/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue +++ b/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue @@ -242,11 +242,15 @@ //璇存槑浼犻�掍簡鐨� this.option.column= this.options.tableConfig.cols.map(item => { if (item.field != 'LAY_TABLE_INDEX' && item.field != 'LAY_CHECKED') { + let formatter=item.template || item.templet; + if(typeof formatter == "string" && formatter !=''){ + formatter=eval("(" + formatter + ")") + } return { ...item, label: item.title, prop: item.field, - formatter:item.template, + formatter:formatter, search: this.options.tableConfig.queryColumns.some(qItem=>{ return qItem.field==item.field }) @@ -295,7 +299,7 @@ this.value=value.join(','); this.text=text.join(',') - this.$emit("setValue", {field:this.referConfig.field,showField:this.referConfig.showField,value:this.value,text:this.text,rawData:this.selectionList}); + this.$emit("setValue", {field:this.referConfig.field,showField:this.referConfig.showField,value:this.value,text:this.text,rawData:this.selectionList,fieldMap:this.referConfig.fieldMap}); this.visible=false; }, searchReset() { @@ -343,8 +347,13 @@ } } getList(Object.assign(params,this.params,this.query, query),page.currentPage, page.pageSize, this.url).then(res => { - this.data = res.data.records; - this.page.total=res.data.total + if(res.data.records){ + this.data = res.data.records + this.page.total=res.data.total ; + }else{ + this.data = res.data.data.records; + this.page.total=res.data.data.total; + } this.loading = false; this.selectionClear(); }).catch(error=>{ diff --git a/Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue b/Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue index 8abf926..88fa814 100644 --- a/Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue +++ b/Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue @@ -183,7 +183,8 @@ value: this.value, text: this.text || '', isTreeMuti:this.isMuti, - rawData: checkedData.checkedNodes + rawData: checkedData.checkedNodes, + fieldMap:this.referConfig.fieldMap }); } }, diff --git a/Source/UBCS-WEB/src/views/docking/info.vue b/Source/UBCS-WEB/src/views/docking/info.vue index 538f1e0..55271c2 100644 --- a/Source/UBCS-WEB/src/views/docking/info.vue +++ b/Source/UBCS-WEB/src/views/docking/info.vue @@ -26,7 +26,7 @@ </avue-crud> </basic-container> </el-main> - <originalAdd ref="originalAdd" @refreshTable="refreshChange" :attribute="editAttribute"></originalAdd> + <infoForm ref="infoForm" @refreshTable="refreshChange" :formData="editAttribute"></infoForm> <!-- 楂樼骇鏌ヨ瀵硅瘽妗� --> <advanced-query :ref="advancedQueryParam.ref" @@ -39,31 +39,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", @@ -87,26 +109,21 @@ columnBtn: false, column: [{ label: '鎺ㄩ�佺被鍨�', - field: 'pushTypeText', + prop: 'pushType', sortable: true, width: 150, - type: 'select', - dicData: this.pushType, - props: { - label: "value", - value: "key" - }, + formatter:function (d){ + return this.pushTypeList[d.pushType] + } }, { label: '绯荤粺鍚嶇О', - prop: 'sysbasename', + prop: 'sysBaseName', sortable: true, - search: true, width: 150 }, { label: '绯荤粺缂栧彿', - prop: 'sysbaseid', + prop: 'sysBaseId', sortable: true, - search: true, width: 150 }, { label: '鎺ュ彛鍑芥暟', @@ -115,12 +132,12 @@ width: 150 }, { label: '鍛藉悕绌洪棿', - prop: 'namespace', + prop: 'nameSpace', sortable: true, width: 150 }, { label: 'soapAction', - prop: 'soapaction', + prop: 'soapAction', sortable: true, width: 150 }, { @@ -135,35 +152,27 @@ width: 150 }, { label: '璇锋眰鍦板潃', - prop: 'requesturl', + prop: 'requestUrl', sortable: true, width: 150 }, { label: '鍙傛暟绫诲瀷', - prop: 'paramtype', + prop: 'paramType', sortable: true, - width: 150 + width: 150, + formatter:function (d){ + return this.paramTypeList[d.paramType] + } }, { label: '杩斿洖鍊肩被鍨�', - prop: 'returntype', + prop: 'returnType', sortable: true, - width: 150 + width: 150, + formatter:function (d){ + return this.returnTypeList[d.returnType] + } }] }, - 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', @@ -199,14 +208,10 @@ selectionChange(list) { this.selectionList = list; if(this.selectionList.length <= 0){ - this.itemForm.itemData = null 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]; } }, selectionClear() { @@ -223,26 +228,24 @@ 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:'push', + pushType:'1', + 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() + this.selectRow = row; + this.editAttribute = row; + this.editAttribute.sysIntParamVOs = row.sysIntParamVOs||[]; + this.editAttribute.sysIntHeaderVOs = row.sysIntHeaderVOs||[]; + this.$refs.infoForm.formData = this.editAttribute; + this.$refs.infoForm.showSubmitDialog = true; }, deleteSave(row,index) { - this.$confirm("鍒犻櫎鍏冩暟鎹皢鏃犳硶琚仮澶�, 鏄惁缁х画?", "鎻愮ず", { + this.$confirm("鍒犻櫎鏁版嵁灏嗘棤娉曡鎭㈠, 鏄惁缁х画?", "鎻愮ず", { iconClass: 'el-icon-question', confirmButtonText: "纭畾", cancelButtonText: "鍙栨秷", @@ -255,9 +258,41 @@ }); }); }, + ENABLE(row,index){ + //鍚敤 + this.updateStatus("enable"); + }, + DISABLE(row,index){ + //鍋滅敤 + this.updateStatus("disable"); + }, + updateStatus(able){ + var that = this; + var paramTemp = { + update:able, + oid:this.selectRow.oid, + ts:this.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" ? "鍋滅敤鎴愬姛": "鍙戝竷鎴愬姛")) + }); + this.$refs.crud.toggleSelection(); + }); + }, PUSH(){ if (this.selectionList.length != 1) { - this.$message.error('璇烽�夋嫨涓�鏉℃暟鎹�') + this.$message.error('璇烽�夋嫨鏁版嵁') return false; } this.$confirm("鏄惁瑕�"+ (this.selectionList[0].pushType == "1" ? "鎺ㄩ�佹暟鎹�" : "鎺ㄩ�佸垎绫�"), { @@ -279,62 +314,18 @@ }, 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 => { 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.$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){ diff --git a/Source/UBCS-WEB/src/views/docking/infoForm.vue b/Source/UBCS-WEB/src/views/docking/infoForm.vue new file mode 100644 index 0000000..c36b5b7 --- /dev/null +++ b/Source/UBCS-WEB/src/views/docking/infoForm.vue @@ -0,0 +1,627 @@ +<template> + <el-container> + <el-dialog title="绯荤粺闆嗘垚鍩虹淇℃伅" v-dialogDrag :visible.sync="showSubmitDialog" class="avue-dialog avue-dialog--top" append-to-body @close="closeSubmitDialog" width="1000px" + style="height: 110vh;" top="-5%"> + <el-form ref="form" :model="formData" show-message="true" inline size="medium" label-suffix=":" + class="dockingForm" :rules="rules" status-icon="true"> + <el-form-item label="dataFlowType" prop="dataFlowType"> + <el-select v-model="formData.dataFlowType" placeholder="璇烽�夋嫨" @change="dataFlowTypeChange"> + <el-option v-for="item in dataFlowTypeList" :key="item.value" :label="item.label" :value="item.value"> + </el-option> + </el-select> + </el-form-item> + <el-form-item :label="formData.dataFlowType=='push'?'鎺ㄩ�佺被鍨�':'鎺ュ彈绫诲瀷'" prop="pushType"> + <el-select v-model="formData.pushType" placeholder="璇烽�夋嫨" @change="pushTypeChange"> + <el-option v-for="item in pushTypeList" :key="item.value" :label="item.label" :value="item.value"> + </el-option> + </el-select> + </el-form-item> + <el-form-item label="鍙傛暟绫诲瀷" prop="paramType"> + <el-select v-model="formData.paramType" placeholder="璇烽�夋嫨"> + <el-option v-for="item in paramTypeList" :key="item.value" :label="item.label" :value="item.value"> + </el-option> + </el-select> + </el-form-item> + <el-form-item label="杩斿洖鍊肩被鍨�" prop="returnType"> + <el-select v-model="formData.returnType" placeholder="璇烽�夋嫨"> + <el-option v-for="item in returnTypeList" :key="item.value" :label="item.label" :value="item.value"> + </el-option> + </el-select> + </el-form-item> + <el-form-item label="鍒嗙被閫夋嫨" prop="classifyName"> + <vciWebRefer + :referConfig="{ + title: '鍒嗙被閫夋嫨', + showField: 'classifyName', + field: 'classifyOid', + fieldMap:{'classifyId':'id'}, + placeholder: '璇烽�夋嫨鍒嗙被閫夋嫨', + options: {isMuti: false, type: 'tree', url: 'api/ubcs-code/codeClassify/treeCodeClassify'}, + }" + :value="formData.classifyOid" + :text="formData.classifyName" + :disabled="false" + :display="true" + @setReferValue="setReferValue" + ></vciWebRefer> + </el-form-item> + <el-form-item v-if="formData.dataFlowType=='push'" label="闆嗘垚绯荤粺" prop="targetSystemName"> + <vciWebRefer + :referConfig="{ + title: '闆嗘垚绯荤粺', + showField: 'targetSystemName', + field: 'targetSystemOid', + fieldMap:{'targetSystemId':'id'}, + placeholder: '璇烽�夋嫨', + options: {isMuti: false, type: 'default', url: 'api/ubcs-code/codeBasicSecController/gridCodeBasicSec'}, + }" + :value="formData.targetSystemOid" + :text="formData.targetSystemName" + :disabled="false" + :display="true" + @setReferValue="setReferValue" + ></vciWebRefer> + </el-form-item> + <el-form-item v-if="formData.dataFlowType=='push'" label="缂栫爜绯荤粺" prop="sourceSystemName"> + <vciWebRefer + :referConfig="{ + title: '缂栫爜绯荤粺', + showField: 'sourceSystemName', + field: 'sourceSystemOid', + fieldMap:{'sourceSystemId':'id'}, + placeholder: '璇烽�夋嫨', + options: {isMuti: false, type: 'default', url: 'api/ubcs-code/codeBasicSecController/gridCodeBasicSec'}, + }" + :value="formData.sourceSystemOid" + :text="formData.sourceSystemName" + :disabled="false" + :display="true" + @setReferValue="setReferValue" + ></vciWebRefer> + </el-form-item> + <el-form-item v-if="formData.dataFlowType=='accept'" label="缂栫爜绯荤粺" prop="targetSystemName"> + <vciWebRefer + :referConfig="{ + title: '缂栫爜绯荤粺', + showField: 'targetSystemName', + field: 'targetSystemOid', + fieldMap:{'targetSystemId':'id'}, + placeholder: '璇烽�夋嫨', + options: {isMuti: false, type: 'default', url: 'api/ubcs-code/codeBasicSecController/gridCodeBasicSec'}, + }" + :value="formData.targetSystemOid" + :text="formData.targetSystemName" + :disabled="false" + :display="true" + @setReferValue="setReferValue" + ></vciWebRefer> + </el-form-item> + <el-form-item v-if="formData.dataFlowType=='accept'" label="闆嗘垚绯荤粺" prop="sourceSystemName"> + <vciWebRefer + :referConfig="{ + title: '闆嗘垚绯荤粺', + showField: 'sourceSystemName', + field: 'sourceSystemOid', + fieldMap:{'sourceSystemId':'id'}, + placeholder: '璇烽�夋嫨', + options: {isMuti: false, type: 'default', url: 'api/ubcs-code/codeBasicSecController/gridCodeBasicSec'}, + }" + :value="formData.sourceSystemOid" + :text="formData.sourceSystemName" + :disabled="false" + :display="true" + @setReferValue="setReferValue" + ></vciWebRefer> + </el-form-item> + <el-form-item v-if="formData.pushType=='1'" label="鏄惁鎺ㄩ�侀泦鍥㈢爜" prop="isGroupCodeFlag"> + <el-switch v-model="formData.isGroupCodeFlag" ></el-switch> + </el-form-item> + <el-form-item v-if="formData.pushType=='3'" label="鏄惁鐢宠闆嗗洟鐮�" prop="isGroupCodeFlag"> + <el-switch v-model="formData.isGroupCodeFlag" ></el-switch> + </el-form-item> + <el-form-item v-if="formData.pushType=='4'" label="鏄惁缁存姢闆嗗洟鐮�" prop="isGroupCodeFlag"> + <el-switch v-model="formData.isGroupCodeFlag" ></el-switch> + </el-form-item> + <el-form-item v-if="formData.pushType=='7'" label="鏄惁鏌ヨ闆嗗洟鐮�" prop="isGroupCodeFlag"> + <el-switch v-model="formData.isGroupCodeFlag" ></el-switch> + </el-form-item> + <el-form-item label="绯荤粺鎻忚堪" style="width: 850px;"> + <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 5}" v-model="formData.description" style="width: 740px;"></el-input> + </el-form-item> + <el-form-item label="鎺ュ彛绫诲瀷" prop="interfaceType"> + <el-select v-model="formData.interfaceType" clearable placeholder="璇烽�夋嫨"> + <el-option v-for="item in interfaceTypeList" :key="item.value" :label="item.label" :value="item.value"> + </el-option> + </el-select> + </el-form-item> + <el-form-item v-if="formData.interfaceType=='http'" label="璇锋眰鏂瑰紡" prop="requestMethod"> + <el-select v-model="formData.requestMethod" placeholder="璇烽�夋嫨"> + <el-option v-for="item in requestMethodList" :key="item.value" :label="item.label" :value="item.value"> + </el-option> + </el-select> + </el-form-item> + <el-form-item v-if="formData.interfaceType=='webService' || formData.interfaceType=='http'" label="璇锋眰鍦板潃" prop="requestUrl"> + <el-input v-model="formData.requestUrl" type="text"></el-input> + </el-form-item> + <el-form-item v-if="formData.interfaceType=='webService'" label="鎺ュ彛鍑芥暟" prop="interfaceFunction"> + <el-input v-model="formData.interfaceFunction"></el-input> + </el-form-item> + <el-form-item v-if="formData.interfaceType=='webService'" label="鍛藉悕绌洪棿" prop="nameSpace"> + <el-input v-model="formData.nameSpace"></el-input> + </el-form-item> + <el-form-item v-if="formData.interfaceType=='webService'" label="soapAction" prop="soapAction"> + <el-input v-model="formData.soapAction" ></el-input> + </el-form-item> + <el-form-item v-if="formData.interfaceType=='webService'" label="鍙傛暟鍚嶇О" prop="targName"> + <el-input v-model="formData.targName" ></el-input> + </el-form-item> + <el-form-item v-if="formData.interfaceType=='webService'" label="cxfaxis" prop="cxfaxis"> + <el-input v-model="formData.cxfaxis" ></el-input> + </el-form-item> + <el-form-item v-if="formData.interfaceType=='classPath'" label="绫昏矾寰�" prop="classPath"> + <el-input v-model="formData.classPath" ></el-input> + </el-form-item> + <el-tabs v-model="activeName" @tab-click="tabClick"> + <el-tab-pane label="鍙傛暟瀵硅薄" name="paramTab"> + <avue-crud :option="param.option" + :data="formData.sysIntParamVOs" + v-model="formData.sysIntParamVOs" + ref="paramcrud"> + <template slot="menuLeft"> + <el-button type="primary" + size="small" + plain + icon="el-icon-plus" + @click="handleParamAdd">娣诲姞琛� + </el-button> + </template> + <template slot="menu" slot-scope="{row,index}"> + <el-button icon="el-icon-edit" size="small" type="text" v-if="!row.$cellEdit" @click="handleParamEditClick(row,index)">缂栬緫 + </el-button> + <el-button icon="el-icon-delete" size="small" type="text" v-if="!row.$cellEdit" @click="handleParamDel(row,index)">绉婚櫎 + </el-button> + <el-button icon="el-icon-check" size="small" type="text" v-if="row.$cellEdit" @click="handleParamEditSave(row,index)"> + 淇濆瓨 + </el-button> + </template> + </avue-crud> + </el-tab-pane> + <el-tab-pane label="header瀵硅薄" name="headerTab"> + <avue-crud :option="header.option" + :data="formData.sysIntHeaderVOs" + v-model="formData.sysIntHeaderVOs" + ref="headercrud"> + <template slot="menuLeft"> + <el-button type="primary" + size="small" + plain + icon="el-icon-plus" + @click="handleHeaderAdd">娣诲姞琛� + </el-button> + </template> + <template slot="menu" slot-scope="{row,index}"> + <el-button icon="el-icon-edit" size="small" type="text" v-if="!row.$cellEdit" @click="handleHeaderEditClick(row,index)">缂栬緫 + </el-button> + <el-button icon="el-icon-delete" size="small" type="text" v-if="!row.$cellEdit" @click="handleHeaderDel(row,index)">绉婚櫎 + </el-button> + <el-button icon="el-icon-check" size="small" type="text" v-if="row.$cellEdit" @click="handleHeaderEditSave(row,index)"> + 淇濆瓨 + </el-button> + </template> + </avue-crud> + </el-tab-pane> + </el-tabs> + </el-form> + <div slot="footer" class="dialog-footer"> + <el-button type="primary" @click="submitAttribute">纭畾</el-button> + <el-button @click="cancelSubmit">鍙栨秷</el-button> + </div> + </el-dialog> + + </el-container> +</template> + +<script> +import { validatenull } from "@/util/validate"; +import { getDictionary, getParentList } from '@/api/omd/enum' +import {add,edit} from "@/api/docking/info" +import vciWebRefer from "@/components/refer/vciWebRefer.vue"; + +export default { + name: 'infoForm', + props: { + formData: { + type: Object, + default:{ + sysIntParamVOs:[], + sysIntHeaderVOs:[] + } + }, + }, + components: { vciWebRefer }, + data() { + return { + showSubmitDialog: false, + //鎺ュ彛绫诲瀷涓嬫媺 + 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' + }], + dataFlowTypeList: [{ + label: 'push', value: 'push' + }, { + label: 'accept', value: 'accept' + }], + //鎺ㄩ�佺被鍨� + pushTypeList: [{value: '1', label: '鏁版嵁鎺ㄩ��'}, + {value: '2', label: '鍒嗙被鎺ㄩ��'}], + //璇锋眰鏂瑰紡 + requestMethodList: [{key: 'post', value: 'post'}, + {key: 'get', value: 'get'}, + {key: 'delete', value: 'delete'}, + {key: 'put', value: 'put'}], + // 榛樿鐨勯〉绛� + activeName: 'paramTab', + // 琛ㄥ崟鏍¢獙瑙勫垯 + rules: { + paramType: [ + {required: true, message: '璇烽�夋嫨鍙傛暟绫诲瀷', trigger: 'blur'} + ], + returnType: [ + {required: true, message: '璇烽�夋嫨杩斿洖鍊肩被鍨�', trigger: 'blur'} + ], + dataFlowType: [ + {required: true, message: '璇烽�夋嫨', trigger: 'change'} + ], + pushType: [ + {required: true, message: '璇烽�夋嫨鎺ㄩ�佺被鍨�', trigger: 'blur'} + ], + classifyName: [ + {required: true, message: '璇烽�夋嫨', trigger: 'sbumit'} + ], + sourceSystemName: [ + {required: true, message: '璇烽�夋嫨', trigger: 'sbumit'} + ], + targetSystemName: [ + {required: true, message: '璇烽�夋嫨', trigger: 'sbumit'} + ], + classPath: [ + {required: true, message: '璇疯緭鍏ョ被璺緞', trigger: 'blur'} + ], + requestMethod: [ + {required: true, message: '璇烽�夋嫨璇锋眰鏂瑰紡', trigger: 'blur'} + ], + requestUrl: [ + {required: true, message: '璇疯緭鍏ヨ姹傚湴鍧�', trigger: 'blur'} + ], + interfaceFunction: [ + {required: true, message: '璇疯緭鍏ユ帴鍙e嚱鏁�', trigger: 'blur'} + ], + nameSpace: [ + {required: true, message: '璇疯緭鍏ュ懡鍚嶇┖闂�', trigger: 'blur'} + ], + soapAction: [ + {required: true, message: '璇疯緭鍏oapAction', trigger: 'blur'} + ], + targName: [ + {required: true, message: '璇疯緭鍏ュ弬鏁板悕绉�', trigger: 'blur'} + ], + cxfaxis: [ + {required: true, message: '璇疯緭鍏xfaxis', trigger: 'blur'} + ] + }, + // 琛ㄦ牸閰嶇疆 + param: { + option: { + height: 200, + index: true, + addBtn: false, + viewBtn: false, + delBtn: false, + editBtn: false, + refreshBtn: false, + columnBtn: false, + border: true, + menuWidth: 150, + searchShowBtn: false, + align: 'center', + column: [{ + label: '鍙傛暟鍚�', + prop: 'paramKey', + cell: true + }, { + label: '鍙傛暟鍊�', + prop: 'paramValue', + cell: true + }, { + label: '鏄惁浣跨敤', + prop: 'usedFlag', + formatter: function (row, column) { + return row.usedFlag == 'true' || row.usedFlag == '1' ? '鏄�' : '鍚�' + }, + width: 150, + type: 'switch', + cell: true + }] + }, + selectRow: {} + }, + // 鏋氫妇鍙傜収琛ㄦ牸閰嶇疆 + header: { + option: { + height: 200, + index: true, + addBtn: false, + viewBtn: false, + delBtn: false, + editBtn: false, + refreshBtn: false, + columnBtn: false, + border: true, + menuWidth: 150, + searchShowBtn: false, + align: 'center', + column: [{ + label: '澶村弬鏁板悕绉�', + prop: 'headerKey', + cell: true + }, { + label: '澶村弬鏁板��', + prop: 'headerValue', + cell: true + }, { + label: '鏄惁浣跨敤', + prop: 'usedFlag', + formatter: function (row, column) { + return row.usedFlag == 'true' || row.usedFlag == '1' ? '鏄�' : '鍚�' + }, + width: 150, + type: 'switch', + cell: true + }], + // 閫夊畾琛� + selectRow: '' + }, + dictEnums: [] + } + } + }, + created() { + //this.geDictData('interfaceType', this.interfaceTypeList) + }, + mounted(){ + if (!this.formData.sysIntParamVOs) { + this.formData.sysIntParamVOs = []; + } + if (!this.formData.sysIntHeaderVOs) { + this.formData.sysIntHeaderVOs = []; + } + if(this.formData.dataFlowType=='accept'){ + this.pushTypeList=[ + {value: '3', label: '缂栫爜鐢宠'}, + {value: '4', label: '缂栫爜鏇存敼锛堢姸鎬併�佸洖鏀讹級'}, + {value: '5', label: '鍒嗙被鏌ヨ'}, + {value: '6', label: '鍚鍒欎俊鎭殑鍒嗙被鏌ヨ'}, + {value: '7', label: '鏁版嵁鏌ヨ'}] + this.formData.pushType='' + }else { + this.pushTypeList=[{value: '1', label: '鏁版嵁鎺ㄩ��'}, + {value: '2', label: '鍒嗙被鎺ㄩ��'}] + this.formData.pushType='1' + } + }, + methods: { + closeSubmitDialog() { + this.resetForm(); + this.showSubmitDialog = false; + }, + resetForm() { + this.formData = { + sysIntParamVOs: [], + sysIntHeaderVOs: [] + }; + this.$refs.form.resetFields(); + }, + setReferValue(data) { + if (data.field) { + this.formData[data.field] = data.value || ""; + this.formData[data.showField] = data.text || ""; + } + if (data.fieldMap) { + //璇存槑闇�瑕佹槧灏� + for (let key in data.fieldMap) { + let mapFields = data.fieldMap[key].split(","); + let value = []; + data.rawData.forEach(_item => { + var temp; + if (!_item.attributes) { + _item.attributes = _item; + } + if (mapFields.length == 1) { + var mapField = mapFields[0]; + if (mapField.indexOf("attribute.") > -1) { + temp = _item['attributes'][mapField.subString("attribute.".length)]; + } else { + temp = _item['attributes'][mapField] || _item[mapField]; + } + } else { + //鏈夊涓� + var mutiTemp = []; + layui.each(mapFields, function (_indexField, _itemField) { + if (_itemField.indexOf("attribute.") > -1) { + mutiTemp.push(_item['attributes'][_itemField.subString("attribute.".length)]); + } else { + mutiTemp.push(_item['attributes'][_itemField] || _item[_itemField]); + } + }); + temp = mutiTemp.join(' '); + } + if (temp != null && temp != '') { + value.push(temp); + } + }) + this.formData[key] = value.join(','); + } + } + }, + submitAttribute() { + const that = this; + let pass=true + if(validatenull(this.formData.classifyName)||validatenull(this.formData.sourceSystemName)||validatenull(this.formData.targetSystemName)){ + that.$message.error('蹇呭~椤逛笉鑳戒负绌�'); + pass=false + return; + } + this.$refs.form.validateField(['paramType','returnType','dataFlowType','pushType','classPath','requestMethod','requestUrl', + 'interfaceFunction','nameSpace','soapAction','targName','cxfaxis'],function (errormsg, field) { + if (errormsg) { + pass=false + } + }) + this.$nextTick(function (){ + if(pass){ + that.formData.sysIntParamDTOs=this.formData.sysIntParamVOs.map(item=>{ + return { + ...item, + ordernNo:item.$index + } + }) + that.formData.sysIntHeaderDTOS=this.formData.sysIntHeaderVOs.map(item=>{ + return { + ...item, + ordernNo:item.$index + } + }) + add(that.formData).then(res => { + that.$message.success("淇濆瓨鎴愬姛"); + that.showSubmitDialog = false; + this.formData = { + sysIntParamVOs: [], + sysIntHeaderVOs: [] + }; + that.$emit('refreshTable'); + }); + } + }) + }, + cancelSubmit() { + this.closeSubmitDialog(); + }, + // 寮傛鑾峰彇瀛楀吀鏁版嵁 + geDictData(dictKey, list) { + getDictionary({code: dictKey}).then((res) => { + if (res.data && res.data.code === 200) { + let dictData = (res.data.data || []).map((itm) => { + itm.value = itm.dictValue; + itm.key = itm.dictKey; + return itm; + }); + list = dictData; + } + }); + }, + dataFlowTypeChange(value){ + if(value=='push'){ + this.pushTypeList=[{value: '1', label: '鏁版嵁鎺ㄩ��'}, + {value: '2', label: '鍒嗙被鎺ㄩ��'}] + this.formData.pushType='鏁版嵁鎺ㄩ��' + }else if(value=='accept'){ + this.pushTypeList=[ + {value: '3', label: '缂栫爜鐢宠'}, + {value: '4', label: '缂栫爜鏇存敼锛堢姸鎬併�佸洖鏀讹級'}, + {value: '5', label: '鍒嗙被鏌ヨ'}, + {value: '6', label: '鍚鍒欎俊鎭殑鍒嗙被鏌ヨ'}, + {value: '7', label: '鏁版嵁鏌ヨ'}] + this.formData.pushType='' + }else{ + this.pushTypeList=[]; + } + this.$refs.form.clearValidate() + }, + pushTypeChange(value){ + this.$refs.form.clearValidate() + }, + tabClick(tab) { + if (tab.name === 'paramTab') { + this.$nextTick(function (){ + this.$refs.paramcrud.doLayout() + }) + } else { + this.$nextTick(function (){ + this.$refs.headercrud.doLayout() + }) + } + }, + handleParamAdd() { + this.formData.sysIntParamVOs.push({ + usedFlag: true, + $cellEdit:true + }) + this.$nextTick(function (){ + this.$refs.paramcrud.doLayout() + }) + }, + handleParamEditClick(row){ + row.$cellEdit = true; + }, + handleParamDel(row,index){ + this.formData.sysIntParamVOs.splice(index, 1); + }, + // 鍒楄〃缂栬緫淇濆瓨 + handleParamEditSave(row,index) { + row.$cellEdit = false; + }, + handleHeaderAdd() { + this.formData.sysIntHeaderVOs.push({ + usedFlag: true, + $cellEdit:true + }) + this.$nextTick(function (){ + this.$refs.headercrud.doLayout() + }) + }, + handleHeaderEditClick(row){ + row.$cellEdit = true; + }, + handleHeaderDel(row,index){ + this.formData.sysIntHeaderVOs.splice(index, 1); + }, + // 鍒楄〃缂栬緫淇濆瓨 + handleHeaderEditSave(row,index) { + row.$cellEdit = false; + } + } +} +</script> + +<style> +.btmTable>.el-card:nth-of-type(2)>.el-card__body>.avue-crud__menu { + display: none !important; +} + +.enumTable>.el-card:nth-of-type(2)>.el-card__body>.avue-crud__menu { + display: none !important; +} +.dockingForm .el-form-item__label{width: 130px;} +.dockingForm .el-form-item__content,.dockingForm .el-form-item__content .el-input>.el-input__inner,.dockingForm .el-input-number--medium { + width: 300px !important; +} +.dockingForm .cell .el-form-item__content,.dockingForm .cell .el-form-item__content .el-input>.el-input__inner{ + width :100% !important; +} +</style> diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java index 9a1bfdc..4948270 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmProductCodeServiceImpl.java @@ -179,6 +179,7 @@ CodeSerialValue serialValueDO = serialValueDOS.get(0); if(VciBaseUtil.getDouble(serialValueDO.getMaxSerial())<maxSerial){ serialValueDO.setMaxSerial(String.valueOf(maxSerial)); + DefaultAttrAssimtUtil.updateDefaultAttrAssimt(serialValueDO); editSerialValueList.add(serialValueDO); } }else{ @@ -663,6 +664,7 @@ //璇存槑鏈� serialValueDO = maxSerialValueMap.get(secOid).get(unit); serialValueDO.setMaxSerial(maxSerial.toString()); + DefaultAttrAssimtUtil.updateDefaultAttrAssimt(serialValueDO); editSerialValueDOList.add(serialValueDO); }else{ serialValueDO = new CodeSerialValue(); -- Gitblit v1.9.3