¶Ô±ÈÐÂÎļþ |
| | |
| | | <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%"> |
| | | <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"> |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="åæ°ç±»å" prop="paramType"> |
| | | <el-select v-model="formData.paramType" placeholder="è¯·éæ©åæ°ç±»å" @change="typeSelectChange"> |
| | | <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-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> |
| | | <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/referTree'}, |
| | | }" |
| | | :value="formData.classifyOid" |
| | | :text="formData.classifyName" |
| | | :disabled="false" |
| | | :display="true" |
| | | @setReferValue="setReferValue" |
| | | ></vciWebRefer> |
| | | </el-form-item> |
| | | <el-form-item label="æ¨éç³»ç»" prop="sourceSysName"> |
| | | <vciWebRefer |
| | | :referConfig="{ |
| | | title: 'æ¨éç³»ç»', |
| | | showField: 'sourceSysName', |
| | | field: 'sourceSystemOid', |
| | | fieldMap:{'sourceSysId':'id'}, |
| | | placeholder: 'è¯·éæ©æ¨éç³»ç»', |
| | | options: {isMuti: false, type: 'default', url: 'api/ubcs-code/codeClassify/referTree'}, |
| | | }" |
| | | :value="formData.sourceSystemOid" |
| | | :text="formData.sourceSysName" |
| | | :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> |
| | | <el-form-item label="è¯·æ±æ¹å¼" prop="requestMethod"> |
| | | <el-select v-model="formData.requestMethod" placeholder="è¯·éæ©è¯·æ±æ¹å¼" @change="typeSelectChange"> |
| | | <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-input v-model="formData.requestUrl" type="text"></el-input> |
| | | </el-form-item> |
| | | <el-form-item 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> |
| | | <el-form-item label="soapaction" prop="soapaction"> |
| | | <el-input v-model="formData.soapaction" ></el-input> |
| | | </el-form-item> |
| | | <el-form-item 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> |
| | | <el-form-item 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-tab-pane label="åæ°å¯¹è±¡" name="paramTab"> |
| | | <avue-crud :option="param.option" |
| | | :data="param.data" |
| | | 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-scope="scope" slot="menu"> |
| | | <el-button type="text" |
| | | icon="el-icon-delete" |
| | | size="small" |
| | | @click="handleParamDel(scope.row)">ç§»é¤ |
| | | </el-button> |
| | | </template> |
| | | </avue-crud> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="header对象" name="headerTab"> |
| | | <avue-crud :option="header.option" |
| | | :data="header.data" |
| | | v-model="formData.sysIntHeaderVOs" |
| | | ref="paramcrud"> |
| | | <template slot="menuLeft"> |
| | | <el-button type="primary" |
| | | size="small" |
| | | plain |
| | | icon="el-icon-plus" |
| | | @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)">ç§»é¤ |
| | | </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 { 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 |
| | | }, |
| | | }, |
| | | 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' |
| | | }], |
| | | //æ¨éç±»å |
| | | pushTypeList: [{key: '1', value: 'æ°æ®æ¨é'}, |
| | | {key: '2', value: 'åç±»æ¨é'}, |
| | | {key: '3', value: 'ç¼ç ç³è¯·'}, |
| | | {key: '4', value: 'ç¼ç æ´æ¹ï¼ç¶æãåæ¶ï¼'}, |
| | | {key: '5', value: 'åç±»æ¥è¯¢'}, |
| | | {key: '6', value: 'å«è§åä¿¡æ¯çåç±»æ¥è¯¢'}, |
| | | {key: '7', value: 'æ°æ®æ¥è¯¢'}], |
| | | //è¯·æ±æ¹å¼ |
| | | requestMethodList:[{key: 'post', value: 'post'}, |
| | | {key: 'get', value: 'get'}, |
| | | {key: 'delete', value: 'delete'}, |
| | | {key: 'put', value: 'put'}], |
| | | // é»è®¤çé¡µç¾ |
| | | activeName: 'paramTab', |
| | | // 屿§ç±»åä¸ææ¡æ°æ® |
| | | typeList: [], |
| | | // åç
§ä¸ææ¡æ¯å¦å¯ç¨ |
| | | referToFlag: true, |
| | | // è¡¨åæ ¡éªè§å |
| | | rules: { |
| | | paramType: [ |
| | | {required: true, message: 'è¯·éæ©åæ°ç±»å', trigger: 'blur'} |
| | | ], |
| | | returnType: [ |
| | | {required: true, message: 'è¯·éæ©è¿åå¼ç±»å', trigger: 'blur'} |
| | | ], |
| | | pushType: [ |
| | | {required: true, message: 'è¯·éæ©æ¨éç±»å', trigger: 'change'} |
| | | ], |
| | | classifyName: [ |
| | | {required: true, message: 'è¯·éæ©æ¨éç³»ç»', trigger: 'blur'} |
| | | ], |
| | | sourceSysName: [ |
| | | {required: true, message: 'è¯·éæ©åç±»éæ©', trigger: 'blur'} |
| | | ], |
| | | classPath: [ |
| | | {required: true, message: '请è¾å
¥ç±»è·¯å¾', trigger: 'blur'} |
| | | ], |
| | | requestMethod: [ |
| | | {required: true, message: 'è¯·éæ©è¯·æ±æ¹å¼', trigger: 'blur'} |
| | | ], |
| | | requestUrl: [ |
| | | {required: true, message: '请è¾å
¥è¯·æ±å°å', trigger: 'blur'} |
| | | ], |
| | | interfaceFunction: [ |
| | | {required: true, message: '请è¾å
¥æ¥å£å½æ°', trigger: 'blur'} |
| | | ], |
| | | nameSpace: [ |
| | | {required: true, message: '请è¾å
¥å½å空é´', trigger: 'blur'} |
| | | ], |
| | | soapaction: [ |
| | | {required: true, message: '请è¾å
¥soapaction', trigger: 'blur'} |
| | | ], |
| | | targName: [ |
| | | {required: true, message: '请è¾å
¥åæ°åç§°', trigger: 'blur'} |
| | | ], |
| | | cxfaxis: [ |
| | | {required: true, message: '请è¾å
¥cxfaxis', trigger: 'blur'} |
| | | ] |
| | | }, |
| | | // è¡¨æ ¼é
ç½® |
| | | param: { |
| | | option: { |
| | | height: 200, |
| | | addBtn: false, |
| | | viewBtn: false, |
| | | delBtn: false, |
| | | editBtn: false, |
| | | refreshBtn: false, |
| | | columnBtn: false, |
| | | menu: false, |
| | | border: true, |
| | | searchShowBtn: false, |
| | | column: [{ |
| | | label: 'åæ°å', |
| | | prop: 'paramKey' |
| | | }, { |
| | | label: 'åæ°å¼', |
| | | prop: 'paramValue' |
| | | }, { |
| | | label: 'æ¯å¦ä½¿ç¨', |
| | | prop: 'usedFlag', |
| | | dicData: [{ |
| | | label: 'æ¯', value: 'true' |
| | | }, { |
| | | label: 'å¦', value: 'false' |
| | | }] |
| | | }] |
| | | }, |
| | | data: [], |
| | | selectRow: {} |
| | | }, |
| | | // æä¸¾åç
§è¡¨æ ¼é
ç½® |
| | | header: { |
| | | option: { |
| | | height: 200, |
| | | addBtn: false, |
| | | viewBtn: false, |
| | | delBtn: false, |
| | | editBtn: false, |
| | | refreshBtn: false, |
| | | menu: false, |
| | | border: true, |
| | | searchShowBtn: false, |
| | | column: [{ |
| | | label: '头忰åç§°', |
| | | prop: 'headerKey' |
| | | }, { |
| | | label: '头忰å¼', |
| | | prop: 'headerValue' |
| | | }, { |
| | | label: 'æ¯å¦ä½¿ç¨', |
| | | prop: 'usedFlag', |
| | | dicData: [{ |
| | | label: 'æ¯', value: 'true' |
| | | }, { |
| | | label: 'å¦', value: 'false' |
| | | }] |
| | | }], |
| | | data: [], |
| | | // éå®è¡ |
| | | selectRow: '' |
| | | }, |
| | | dictEnums: [] |
| | | } |
| | | } |
| | | }, |
| | | created() { |
| | | //this.geDictData('interfaceType', this.interfaceTypeList) |
| | | |
| | | }, |
| | | methods: { |
| | | closeSubmitDialog() { |
| | | this.resetForm(); |
| | | this.showSubmitDialog = false; |
| | | }, |
| | | resetForm() { |
| | | this.formData = { |
| | | nullable: true, |
| | | referTypeKey: '', |
| | | }; |
| | | this.referToFlag = true; |
| | | this.$refs.form.resetFields(); |
| | | this.dictEnums = []; |
| | | }, |
| | | 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; |
| | | this.$refs.form.validate(function (pass, field) { |
| | | if (pass) { |
| | | add(that.formData).then(res => { |
| | | that.$message.success("ä¿åæå"); |
| | | that.showSubmitDialog = false; |
| | | that.formData = {}; |
| | | 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) { |
| | | 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; |
| | | } |
| | | }); |
| | | }, |
| | | handleClick(tab) { |
| | | // å 为åªè½åç
§åæä¸¾äºéä¸ãæä»¥å¨åæ¢çæ¶åæå±æ§ç»æ¸
空ã |
| | | if (tab.name === 'enumTab') { |
| | | this.enumInitFlag = true; |
| | | this.referInitFlag = false; |
| | | } else { |
| | | this.enumInitFlag = false; |
| | | this.referInitFlag = true; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </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 .el-input>.el-input__inner,.dockingForm .el-input-number--medium { |
| | | width: 300px !important; |
| | | } |
| | | .dockingForm .el-form-item__content{ |
| | | width :300px !important; |
| | | } |
| | | </style> |