From 56c45e1f4be85d6bbfb3a03437021c6742b32ad9 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期四, 24 八月 2023 18:29:30 +0800 Subject: [PATCH] 前端代码打包 --- Source/UBCS-WEB/src/views/docking/infoForm.vue | 632 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 632 insertions(+), 0 deletions(-) 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..8bd4c89 --- /dev/null +++ b/Source/UBCS-WEB/src/views/docking/infoForm.vue @@ -0,0 +1,632 @@ +<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="鎺ュ彛绫诲瀷" 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> + <div v-if="formData.dataFlowType=='push'"> + <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 label="闆嗘垚绯荤粺" prop="targetSystemName"> + <vciWebRefer + :referConfig="{ + title: '闆嗘垚绯荤粺', + showField: 'targetSystemName', + field: 'targetSystemOid', + fieldMap:{'targetSystemId':'id'}, + placeholder: '璇烽�夋嫨', + options: {isMuti: false, type: 'default', url: 'api/ubcs-code/dockingManagement/gridDockingSystem'}, + }" + :value="formData.targetSystemOid" + :text="formData.targetSystemName" + :disabled="false" + :display="true" + @setReferValue="setReferValue" + ></vciWebRefer> + </el-form-item> + </div> + <div v-else> + <el-form-item label="鍒嗙被閫夋嫨" prop="classifyName" style="display: none"> + </el-form-item> + <el-form-item label="闆嗘垚绯荤粺" prop="sourceSystemName"> + <vciWebRefer + :referConfig="{ + title: '闆嗘垚绯荤粺', + showField: 'sourceSystemName', + field: 'sourceSystemOid', + fieldMap:{'sourceSystemId':'id'}, + placeholder: '璇烽�夋嫨', + options: {isMuti: false, type: 'default', url: 'api/ubcs-code/dockingManagement/gridDockingSystem'}, + }" + :value="formData.sourceSystemOid" + :text="formData.sourceSystemName" + :disabled="false" + :display="true" + @setReferValue="setReferValue" + ></vciWebRefer> + </el-form-item> + </div> + + + <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.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 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: '鎺ㄩ��', value: 'push' + }, { + label: '鎺ュ彈', 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='' + this.formData.targetSystemName='缂栫爜绯荤粺'; + this.formData.targetSystemOid='code00000001'; + this.formData.targetSystemId='CODE'; + + this.formData.sourceSystemName=''; + this.formData.sourceSystemOid=''; + this.formData.sourceSystemId=''; + }else { + this.pushTypeList=[{value: '1', label: '鏁版嵁鎺ㄩ��'}, + {value: '2', label: '鍒嗙被鎺ㄩ��'}] + this.formData.pushType='1' ; + this.formData.sourceSystemName='缂栫爜绯荤粺'; + this.formData.sourceSystemOid='code00000001'; + this.formData.sourceSystemId='CODE'; + this.formData.targetSystemName=''; + this.formData.targetSystemOid=''; + this.formData.targetSystemId=''; + } + }, + 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(this.formData.dataFlowType=='push' && (validatenull(this.formData.classifyName)||validatenull(this.formData.targetSystemName))){ + that.$message.error('蹇呭~椤逛笉鑳戒负绌�'); + pass=false + return; + } + if(this.formData.dataFlowType=='accept' && (validatenull(this.formData.sourceSystemName))){ + 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='1'; + this.formData.sourceSystemName='缂栫爜绯荤粺'; + this.formData.sourceSystemOid='code00000001'; + this.formData.sourceSystemId='CODE'; + this.formData.targetSystemName=''; + this.formData.targetSystemOid=''; + this.formData.targetSystemId=''; + }else if(value=='accept'){ + this.pushTypeList=[ + {value: '3', label: '缂栫爜鐢宠'}, + {value: '4', label: '缂栫爜鏇存敼锛堢姸鎬併�佸洖鏀讹級'}, + {value: '5', label: '鍒嗙被鏌ヨ'}, + {value: '6', label: '鍚鍒欎俊鎭殑鍒嗙被鏌ヨ'}, + {value: '7', label: '鏁版嵁鏌ヨ'}] + this.formData.pushType=''; + this.formData.targetSystemName='缂栫爜绯荤粺'; + this.formData.targetSystemOid='code00000001'; + this.formData.targetSystemId='CODE'; + + this.formData.sourceSystemName=''; + this.formData.sourceSystemOid=''; + this.formData.sourceSystemId=''; + }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> -- Gitblit v1.9.3