From 94619d90359419a070f80f65c2f0163382b67fc1 Mon Sep 17 00:00:00 2001 From: wangting <675591594@qq.com> Date: 星期四, 24 八月 2023 15:07:37 +0800 Subject: [PATCH] 接口配置页面 --- Source/UBCS-WEB/src/api/docking/info.js | 18 Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue | 10 Source/UBCS-WEB/src/components/refer/vciWebRefer.vue | 2 Source/UBCS-WEB/src/views/docking/info.vue | 161 +++++-------- Source/UBCS-WEB/src/components/FormTemplate/index.vue | 12 Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue | 10 Source/UBCS-WEB/src/App.vue | 3 Source/UBCS-WEB/src/views/docking/infoForm.vue | 448 +++++++++++++++++++++++++----------- Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue | 45 +++ 9 files changed, 450 insertions(+), 259 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 index df0cb74..2d17aad 100644 --- a/Source/UBCS-WEB/src/api/docking/info.js +++ b/Source/UBCS-WEB/src/api/docking/info.js @@ -2,7 +2,7 @@ export const getList = (page, size, params) => { return request({ - url: '/api/ubcs-code/dockingManagement/gridLoge', + url: '/api/ubcs-code/dockingManagement/gridDockingSystem', method: 'get', params: { ...params, @@ -15,7 +15,7 @@ // 鏂板 export const add = (data) => { return request({ - url: '/api/ubcs-code/dockingManagement/submit', + url: '/api/ubcs-code/dockingManagement/addSaveSystemConfig', method: 'post', data }) @@ -23,18 +23,18 @@ // 淇敼 export const edit = (data) => { return request({ - url: '/api/ubcs-code/dockingManagement/edit-save', - method: 'put', + url: '/api/ubcs-code/dockingManagement/editSystemConfig', + method: 'post', data }) } // 鍒犻櫎 export const del = (data) => { - let url = '/api/ubcs-code/dockingManagement/remove' + let url = '/api/ubcs-code/dockingManagement/deleteSystemConfigsById' return request({ url, - method: 'post', + method: 'delete', data }) } @@ -43,8 +43,8 @@ // 鍚屾 export const push = (data) => { return request({ - url: '/api/ubcs-code/dockingManagement/push', - method: 'put', + url: '/api/ubcs-code/dockingManagement/pushData', + method: 'post', data }) } @@ -53,7 +53,7 @@ export const updateStatus = (data) => { return request({ url: '/api/ubcs-code/dockingManagement/updateStatus', - method: 'put', + method: 'post', data }) } diff --git a/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue b/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue index e7fe577..5f034cb 100644 --- a/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue +++ b/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue @@ -542,6 +542,12 @@ message = "璇疯緭鍏�"; trigger = "blur"; } + let fieldMapKey='' + if( formItem.type == "refer"){ + if(!formItem.fieldMap){ + fieldMapKey=formItem.field+'Id' + } + } let columnItem = { label: formItem.text, labelslot: true, @@ -572,8 +578,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 ? formItem.span : formItem.type === "textarea" ? 24 : this.trendsSpan, @@ -723,6 +730,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 e41a812..8e62607 100644 --- a/Source/UBCS-WEB/src/components/FormTemplate/index.vue +++ b/Source/UBCS-WEB/src/components/FormTemplate/index.vue @@ -134,10 +134,10 @@ showCodeApply: false, showResembleQuery: false, selfColumnType: { - codefixedsec: "combox", - codeclassifysec: "refer", - codevariablesec: "text", - coderefersec: "refer", + codefixedsec: "combox",//鍥哄畾鐮佹 + codeclassifysec: "refer",//鍒嗙被鐮佹 + codevariablesec: "text",//鍙彉鐮佹 + coderefersec: "refer",//寮曠敤鐮佹 }, selfColumnConfig: { function: { @@ -294,6 +294,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; }); @@ -407,6 +409,7 @@ getReferConfig(item) { let params = {}; if (item.secType == "codeclassifysec") { + //鍒嗙被鐮佹 params = { isMuti: false, type: "grid", @@ -451,6 +454,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 3697124..c1817d1 100644 --- a/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue +++ b/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue @@ -179,11 +179,15 @@ debugger; 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 }) @@ -285,8 +289,8 @@ } } 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 + this.data = res.data.records || res.data.data.records; + this.page.total=res.data.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 549156e..c63ba28 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 }) @@ -343,8 +347,8 @@ } } 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 + this.data = res.data.records || res.data.data.records; + this.page.total=res.data.total || res.data.data.total; this.loading = false; this.selectionClear(); }).catch(error=>{ diff --git a/Source/UBCS-WEB/src/views/docking/info.vue b/Source/UBCS-WEB/src/views/docking/info.vue index 238b5f3..55271c2 100644 --- a/Source/UBCS-WEB/src/views/docking/info.vue +++ b/Source/UBCS-WEB/src/views/docking/info.vue @@ -49,19 +49,43 @@ 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,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: '鎺ュ彛鍑芥暟', @@ -113,12 +132,12 @@ width: 150 }, { label: '鍛藉悕绌洪棿', - prop: 'namespace', + prop: 'nameSpace', sortable: true, width: 150 }, { label: 'soapAction', - prop: 'soapaction', + prop: 'soapAction', sortable: true, width: 150 }, { @@ -133,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', @@ -197,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() { @@ -222,25 +229,23 @@ }, addSave() { this.$refs.infoForm.showSubmitDialog = true; - const newAttr = {}; - newAttr.nullable = true; - this.$refs.infoForm.formData = newAttr; + 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.infoForm.attribute = this.editAttribute; + 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; - 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() }, deleteSave(row,index) { - this.$confirm("鍒犻櫎鍏冩暟鎹皢鏃犳硶琚仮澶�, 鏄惁缁х画?", "鎻愮ず", { + this.$confirm("鍒犻櫎鏁版嵁灏嗘棤娉曡鎭㈠, 鏄惁缁х画?", "鎻愮ず", { iconClass: 'el-icon-question', confirmButtonText: "纭畾", cancelButtonText: "鍙栨秷", @@ -287,7 +292,7 @@ }, PUSH(){ if (this.selectionList.length != 1) { - this.$message.error('璇烽�夋嫨涓�鏉℃暟鎹�') + this.$message.error('璇烽�夋嫨鏁版嵁') return false; } this.$confirm("鏄惁瑕�"+ (this.selectionList[0].pushType == "1" ? "鎺ㄩ�佹暟鎹�" : "鎺ㄩ�佸垎绫�"), { @@ -315,56 +320,12 @@ 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){ diff --git a/Source/UBCS-WEB/src/views/docking/infoForm.vue b/Source/UBCS-WEB/src/views/docking/infoForm.vue index e450714..c36b5b7 100644 --- a/Source/UBCS-WEB/src/views/docking/infoForm.vue +++ b/Source/UBCS-WEB/src/views/docking/infoForm.vue @@ -1,30 +1,30 @@ <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: 100vh;" top="-5%"> + style="height: 110vh;" top="-5%"> <el-form ref="form" :model="formData" show-message="true" inline size="medium" label-suffix=":" - class="dockingForm" :rules="rules" @resetFields="resetForm" status-icon="true"> - <el-form-item label="鎺ュ彛绫诲瀷" prop="interfaceType"> - <el-select v-model="formData.interfaceType" placeholder="璇烽�夋嫨鎺ュ彛绫诲瀷" @change="typeSelectChange"> - <el-option v-for="item in interfaceTypeList" :key="item.value" :label="item.label" :value="item.value"> + 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="璇烽�夋嫨鍙傛暟绫诲瀷" @change="typeSelectChange"> + <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="璇烽�夋嫨杩斿洖鍊肩被鍨�" @change="typeSelectChange"> + <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="pushType"> - <el-select v-model="formData.pushType" placeholder="璇烽�夋嫨鎺ㄩ�佺被鍨�" @change="typeSelectChange"> - <el-option v-for="item in pushTypeList" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> </el-form-item> @@ -36,7 +36,7 @@ field: 'classifyOid', fieldMap:{'classifyId':'id'}, placeholder: '璇烽�夋嫨鍒嗙被閫夋嫨', - options: {isMuti: false, type: 'tree', url: 'api/ubcs-code/codeClassify/referTree'}, + options: {isMuti: false, type: 'tree', url: 'api/ubcs-code/codeClassify/treeCodeClassify'}, }" :value="formData.classifyOid" :text="formData.classifyName" @@ -45,57 +45,126 @@ @setReferValue="setReferValue" ></vciWebRefer> </el-form-item> - <el-form-item label="鎺ㄩ�佺郴缁�" prop="sourceSysName"> + <el-form-item v-if="formData.dataFlowType=='push'" label="闆嗘垚绯荤粺" prop="targetSystemName"> <vciWebRefer :referConfig="{ - title: '鎺ㄩ�佺郴缁�', - showField: 'sourceSysName', - field: 'sourceSystemOid', - fieldMap:{'sourceSysId':'id'}, - placeholder: '璇烽�夋嫨鎺ㄩ�佺郴缁�', - options: {isMuti: false, type: 'default', url: 'api/ubcs-code/codeClassify/referTree'}, + title: '闆嗘垚绯荤粺', + showField: 'targetSystemName', + field: 'targetSystemOid', + fieldMap:{'targetSystemId':'id'}, + placeholder: '璇烽�夋嫨', + options: {isMuti: false, type: 'default', url: 'api/ubcs-code/codeBasicSecController/gridCodeBasicSec'}, }" - :value="formData.sourceSystemOid" - :text="formData.sourceSysName" + :value="formData.targetSystemOid" + :text="formData.targetSystemName" :disabled="false" :display="true" @setReferValue="setReferValue" ></vciWebRefer> </el-form-item> - <el-form-item label="绯荤粺鎻忚堪" > - <el-input type="textarea" :rows="2" v-model="formData.description"></el-input> + <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 label="璇锋眰鏂瑰紡" prop="requestMethod"> - <el-select v-model="formData.requestMethod" placeholder="璇烽�夋嫨璇锋眰鏂瑰紡" @change="typeSelectChange"> + <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 label="璇锋眰鍦板潃" prop="requestUrl"> + <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 label="鎺ュ彛鍑芥暟" prop="interfaceFunction"> + <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 label="鍛藉悕绌洪棿" prop="nameSpace"> - <el-input v-model="formData.namespace"></el-input> + <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 label="soapaction" prop="soapaction"> - <el-input v-model="formData.soapaction" ></el-input> + <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 label="鍙傛暟鍚嶇О" prop="targName"> + <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 label="cxfaxis" prop="cxfaxis"> - <el-input v-model="formData.soapaction" ></el-input> + <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 label="绫昏矾寰�" prop="classPath"> + <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="handleClick" stretch="true"> + <el-tabs v-model="activeName" @tab-click="tabClick"> <el-tab-pane label="鍙傛暟瀵硅薄" name="paramTab"> <avue-crud :option="param.option" - :data="param.data" + :data="formData.sysIntParamVOs" v-model="formData.sysIntParamVOs" ref="paramcrud"> <template slot="menuLeft"> @@ -106,20 +175,22 @@ @click="handleParamAdd">娣诲姞琛� </el-button> </template> - <template slot-scope="scope" slot="menu"> - <el-button type="text" - icon="el-icon-delete" - size="small" - @click="handleParamDel(scope.row)">绉婚櫎 + <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="header.data" + :data="formData.sysIntHeaderVOs" v-model="formData.sysIntHeaderVOs" - ref="paramcrud"> + ref="headercrud"> <template slot="menuLeft"> <el-button type="primary" size="small" @@ -128,11 +199,13 @@ @click="handleHeaderAdd">娣诲姞琛� </el-button> </template> - <template slot-scope="scope" slot="menu"> - <el-button type="text" - icon="el-icon-delete" - size="small" - @click="handleHeaderDel(scope.row)">绉婚櫎 + <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> @@ -149,6 +222,7 @@ </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"; @@ -157,7 +231,11 @@ name: 'infoForm', props: { formData: { - type: Object + type: Object, + default:{ + sysIntParamVOs:[], + sysIntHeaderVOs:[] + } }, }, components: { vciWebRefer }, @@ -173,36 +251,32 @@ label: 'Http', value: 'http' }], //鍙傛暟绫诲瀷涓嬫媺 - paramTypeList:[ { - label: 'xml', value: 'xml' - }, { - label: 'Json', value: 'json' - }], - //杩斿洖鍊肩被鍨嬩笅鎷� - returnTypeList:[ { + 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: [{key: '1', value: '鏁版嵁鎺ㄩ��'}, - {key: '2', value: '鍒嗙被鎺ㄩ��'}, - {key: '3', value: '缂栫爜鐢宠'}, - {key: '4', value: '缂栫爜鏇存敼锛堢姸鎬併�佸洖鏀讹級'}, - {key: '5', value: '鍒嗙被鏌ヨ'}, - {key: '6', value: '鍚鍒欎俊鎭殑鍒嗙被鏌ヨ'}, - {key: '7', value: '鏁版嵁鏌ヨ'}], + pushTypeList: [{value: '1', label: '鏁版嵁鎺ㄩ��'}, + {value: '2', label: '鍒嗙被鎺ㄩ��'}], //璇锋眰鏂瑰紡 - requestMethodList:[{key: 'post', value: 'post'}, + requestMethodList: [{key: 'post', value: 'post'}, {key: 'get', value: 'get'}, {key: 'delete', value: 'delete'}, {key: 'put', value: 'put'}], // 榛樿鐨勯〉绛� activeName: 'paramTab', - // 灞炴�х被鍨嬩笅鎷夋鏁版嵁 - typeList: [], - // 鍙傜収涓嬫媺妗嗘槸鍚﹀彲鐢� - referToFlag: true, // 琛ㄥ崟鏍¢獙瑙勫垯 rules: { paramType: [ @@ -211,14 +285,20 @@ returnType: [ {required: true, message: '璇烽�夋嫨杩斿洖鍊肩被鍨�', trigger: 'blur'} ], + dataFlowType: [ + {required: true, message: '璇烽�夋嫨', trigger: 'change'} + ], pushType: [ - {required: true, message: '璇烽�夋嫨鎺ㄩ�佺被鍨�', trigger: 'change'} + {required: true, message: '璇烽�夋嫨鎺ㄩ�佺被鍨�', trigger: 'blur'} ], classifyName: [ - {required: true, message: '璇烽�夋嫨鎺ㄩ�佺郴缁�', trigger: 'blur'} + {required: true, message: '璇烽�夋嫨', trigger: 'sbumit'} ], - sourceSysName: [ - {required: true, message: '璇烽�夋嫨鍒嗙被閫夋嫨', trigger: 'blur'} + sourceSystemName: [ + {required: true, message: '璇烽�夋嫨', trigger: 'sbumit'} + ], + targetSystemName: [ + {required: true, message: '璇烽�夋嫨', trigger: 'sbumit'} ], classPath: [ {required: true, message: '璇疯緭鍏ョ被璺緞', trigger: 'blur'} @@ -235,8 +315,8 @@ nameSpace: [ {required: true, message: '璇疯緭鍏ュ懡鍚嶇┖闂�', trigger: 'blur'} ], - soapaction: [ - {required: true, message: '璇疯緭鍏oapaction', trigger: 'blur'} + soapAction: [ + {required: true, message: '璇疯緭鍏oapAction', trigger: 'blur'} ], targName: [ {required: true, message: '璇疯緭鍏ュ弬鏁板悕绉�', trigger: 'blur'} @@ -249,62 +329,71 @@ param: { option: { height: 200, + index: true, addBtn: false, viewBtn: false, delBtn: false, editBtn: false, refreshBtn: false, columnBtn: false, - menu: false, border: true, + menuWidth: 150, searchShowBtn: false, + align: 'center', column: [{ label: '鍙傛暟鍚�', - prop: 'paramKey' + prop: 'paramKey', + cell: true }, { label: '鍙傛暟鍊�', - prop: 'paramValue' + prop: 'paramValue', + cell: true }, { label: '鏄惁浣跨敤', prop: 'usedFlag', - dicData: [{ - label: '鏄�', value: 'true' - }, { - label: '鍚�', value: 'false' - }] + formatter: function (row, column) { + return row.usedFlag == 'true' || row.usedFlag == '1' ? '鏄�' : '鍚�' + }, + width: 150, + type: 'switch', + cell: true }] }, - data: [], selectRow: {} }, // 鏋氫妇鍙傜収琛ㄦ牸閰嶇疆 header: { option: { height: 200, + index: true, addBtn: false, viewBtn: false, delBtn: false, editBtn: false, refreshBtn: false, - menu: false, + columnBtn: false, border: true, + menuWidth: 150, searchShowBtn: false, + align: 'center', column: [{ label: '澶村弬鏁板悕绉�', - prop: 'headerKey' + prop: 'headerKey', + cell: true }, { label: '澶村弬鏁板��', - prop: 'headerValue' + prop: 'headerValue', + cell: true }, { label: '鏄惁浣跨敤', prop: 'usedFlag', - dicData: [{ - label: '鏄�', value: 'true' - }, { - label: '鍚�', value: 'false' - }] + formatter: function (row, column) { + return row.usedFlag == 'true' || row.usedFlag == '1' ? '鏄�' : '鍚�' + }, + width: 150, + type: 'switch', + cell: true }], - data: [], // 閫夊畾琛� selectRow: '' }, @@ -314,7 +403,27 @@ }, 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() { @@ -323,12 +432,10 @@ }, resetForm() { this.formData = { - nullable: true, - referTypeKey: '', + sysIntParamVOs: [], + sysIntHeaderVOs: [] }; - this.referToFlag = true; this.$refs.form.resetFields(); - this.dictEnums = []; }, setReferValue(data) { if (data.field) { @@ -371,46 +478,49 @@ this.formData[key] = value.join(','); } } - } - , + }, submitAttribute() { const that = this; - this.$refs.form.validate(function (pass, field) { - if (pass) { + 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; - that.formData = {}; + this.formData = { + sysIntParamVOs: [], + sysIntHeaderVOs: [] + }; that.$emit('refreshTable'); }); - } else { - that.$message.error('蹇呭~'); } }) }, cancelSubmit() { this.closeSubmitDialog(); - }, - // 灞炴�х被鍨嬩笅鎷夋閫夋嫨浜嬩欢 - typeSelectChange(value) { - if (value == 'VTString') { - this.$set(this.formData, "maxLength", 150) - } else if (value == 'VTInteger') { - this.$set(this.formData, "maxLength", 50) - } else if (value == 'VTBoolean') { - this.$set(this.formData, "maxLength", 5) - } else if (value == 'VTDouble') { - this.$set(this.formData, "maxLength", 26) - this.$set(this.formData, "precision", 8) - } else if (value == 'VTLong') { - this.$set(this.formData, "maxLength", 150) - } else if (value == 'VTDate' || value == 'VTTime' || value == 'VTDateTime') { - this.$set(this.formData, "maxLength", 6) - } else { - this.$set(this.formData, "maxLength", 50) - } - this.formData.typeCode = 'attributeType'; - this.formData.typeKey = value; }, // 寮傛鑾峰彇瀛楀吀鏁版嵁 geDictData(dictKey, list) { @@ -425,15 +535,75 @@ } }); }, - handleClick(tab) { - // 鍥犱负鍙兘鍙傜収鍜屾灇涓句簩閫変竴銆傛墍浠ュ湪鍒囨崲鐨勬椂鍊欐妸灞炴�х粰娓呯┖銆� - if (tab.name === 'enumTab') { - this.enumInitFlag = true; - this.referInitFlag = false; - } else { - this.enumInitFlag = false; - this.referInitFlag = true; + 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; } } } @@ -448,10 +618,10 @@ display: none !important; } .dockingForm .el-form-item__label{width: 130px;} -.dockingForm .el-form-item__content .el-input>.el-input__inner,.dockingForm .el-input-number--medium { +.dockingForm .el-form-item__content,.dockingForm .el-form-item__content .el-input>.el-input__inner,.dockingForm .el-input-number--medium { width: 300px !important; } -.dockingForm .el-form-item__content{ - width :300px !important; +.dockingForm .cell .el-form-item__content,.dockingForm .cell .el-form-item__content .el-input>.el-input__inner{ + width :100% !important; } </style> -- Gitblit v1.9.3