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