From f8fe13b6f7d8ad1ae53e7bf6a6cf83f584d52a4d Mon Sep 17 00:00:00 2001 From: fujunling <2984387807@qq.com> Date: 星期二, 06 六月 2023 17:39:24 +0800 Subject: [PATCH] 动态表单组件重构 --- Source/UBCS-WEB/src/components/FormTemplate/FormTempalte.vue | 23 - Source/UBCS-WEB/src/components/FormTemplate/ResembleQuery.vue | 18 Source/UBCS-WEB/src/components/FormTemplate/index.vue | 207 +++++++++++++--- Source/UBCS-WEB/src/components/FormTemplate/CodeApply.vue | 425 ----------------------------------- Source/UBCS-WEB/src/views/MasterData/FormTempalteTest.vue | 2 Source/UBCS-WEB/vue.config.js | 12 6 files changed, 180 insertions(+), 507 deletions(-) diff --git a/Source/UBCS-WEB/src/components/FormTemplate/CodeApply.vue b/Source/UBCS-WEB/src/components/FormTemplate/CodeApply.vue index e6f1f5b..5d02e9d 100644 --- a/Source/UBCS-WEB/src/components/FormTemplate/CodeApply.vue +++ b/Source/UBCS-WEB/src/components/FormTemplate/CodeApply.vue @@ -3,24 +3,14 @@ ref="FormTempalte" :selfColumnType="selfColumnType" :selfColumnConfig="selfColumnConfig" - :columnList="columnList" ></FormTempalte> </template> <script> -import { getCodeRule } from "@/api/formTemplate.js"; export default { name: "CodeApply", components: { FormTempalte: () => import('./FormTempalte.vue') }, props: { - visible: { - type: Boolean, - default: false, - }, - codeClassifyOid: { - type: String, - default: "", - }, }, data() { return { @@ -57,406 +47,6 @@ }, }, }, - columnList: [ - { - btmname: "codebasicsec", - checkInBy: "", - checkInTime: null, - checkOutBy: "", - checkOutTime: null, - codeDateFormatStr: "", - codeFillFlag: "", - codeFillLength: "", - codeFillLimit: 0, - codeFillSeparator: "", - codeFillType: "", - codeFillTypeText: "", - codeGetValueType: "", - codeGetValueTypeText: "", - codeLevelType: "", - codeLevelTypeText: "", - codeLevelValue: 0, - codeSecLength: "10", - codeSecLengthType: "code_sec_length_variable", - codeSecLengthTypeText: "", - componentCodeFlag: "false", - copyFromVersion: "", - createTime: "2023-06-02 10:23:33.000", - creator: "1", - customCodeSerialClass: "", - data: null, - description: "", - displayFlag: "false", - filterSql: "", - firstR: "1", - firstV: "1", - fixedValueVOList: [ - { - btmname: "codefixedvalue", - checkInBy: "", - checkInTime: null, - checkOutBy: "", - checkOutTime: null, - codefixedsecoid: "5591ED23-D218-8B84-9789-1E5EB21A49B9", - codefixedsecoidName: null, - copyFromVersion: "", - createTime: "2023-06-02 10:47:45.000", - creator: "1", - data: null, - description: "", - firstR: "1", - firstV: "1", - id: "002", - lastModifier: "1", - lastModifyTime: "2023-06-02 10:47:45.000", - lastR: "1", - lastV: "1", - lcStatus: "Exist", - lcStatusText: "瀛樺湪", - lctid: "defaultLC", - name: "", - nameOid: "B8BB82F0-9B9E-3E7C-4324-62F13A64B369", - oid: "375AE030-DCB2-B116-1C71-DA1AB971E249", - ordernum: 0, - owner: "1", - revisionOid: "9BF1CABA-EB6D-0B80-0938-D4DC779D5AF0", - revisionRule: "", - revisionSeq: 1, - revisionValue: "", - secretGrade: null, - secretGradeText: "", - ts: "2023-06-02 10:47:45.635", - versionRule: "0", - versionSeq: 1, - versionValue: "1", - }, - { - btmname: "codefixedvalue", - checkInBy: "", - checkInTime: null, - checkOutBy: "", - checkOutTime: null, - codefixedsecoid: "5591ED23-D218-8B84-9789-1E5EB21A49B9", - codefixedsecoidName: null, - copyFromVersion: "", - createTime: "2023-06-02 10:47:42.000", - creator: "1", - data: null, - description: "", - firstR: "1", - firstV: "1", - id: "001", - lastModifier: "1", - lastModifyTime: "2023-06-02 10:47:42.000", - lastR: "1", - lastV: "1", - lcStatus: "Exist", - lcStatusText: "瀛樺湪", - lctid: "defaultLC", - name: "", - nameOid: "804FA254-1158-C355-9CE2-7CA444955AFC", - oid: "821F6250-C763-FB0E-92F5-A9C07F1B951C", - ordernum: 0, - owner: "1", - revisionOid: "6CF50C9D-2606-948A-03B1-26158627CE33", - revisionRule: "", - revisionSeq: 1, - revisionValue: "", - secretGrade: null, - secretGradeText: "", - ts: "2023-06-02 10:47:42.527", - versionRule: "0", - versionSeq: 1, - versionValue: "1", - }, - ], - getValueClass: "", - id: "0001", - lastModifier: "1", - lastModifyTime: "2023-06-02 10:23:33.000", - lastR: "1", - lastV: "1", - lcStatus: "Exist", - lcStatusText: "瀛樺湪", - lctid: "defaultLC", - matchClassifyValueFlag: "", - name: "鍥哄畾鐮佹", - nameOid: "C01CA64B-8358-D3A7-D38D-9DE7A5D748C8", - nullableFlag: "false", - oid: "5591ED23-D218-8B84-9789-1E5EB21A49B9", - orderNum: 1, - owner: "1", - parentClassifySecOid: "", - parentClassifySecText: "", - pkCodeRule: "B95872A6-9CEA-D490-8F1B-9D26548CAF96", - referAttributeId: "", - referAttributeName: "", - referBtmId: "", - referBtmName: "", - referCodeClassifyOid: "", - referCodeClassifyOidName: "", - referConfig: "", - referValueInfo: "", - revisionOid: "EE7A9BC0-FEF3-061B-A750-132121D86D83", - revisionRule: "", - revisionSeq: 1, - revisionValue: "", - secretGrade: null, - secretGradeText: "", - sectype: "codefixedsec", - sectypeText: "鍥哄畾鐮佹", - serialDependFlag: "false", - serialDependOrder: 0, - serialStart: "", - serialStep: 0, - ts: "2023-06-02 10:23:33.733", - valueCutLength: 0, - valueCutType: "code_cut_none", - valueCutTypeText: "涓嶆埅鍙�", - versionRule: "0", - versionSeq: 1, - versionValue: "1", - }, - { - btmname: "codebasicsec", - checkInBy: "", - checkInTime: null, - checkOutBy: "", - checkOutTime: null, - codeDateFormatStr: "", - codeFillFlag: "", - codeFillLength: "", - codeFillLimit: 0, - codeFillSeparator: "0", - codeFillType: "code_fill_right", - codeFillTypeText: "", - codeGetValueType: "", - codeGetValueTypeText: "", - codeLevelType: "", - codeLevelTypeText: "", - codeLevelValue: 0, - codeSecLength: "10", - codeSecLengthType: "", - codeSecLengthTypeText: "", - componentCodeFlag: "false", - copyFromVersion: "", - createTime: "2023-06-02 10:24:07.000", - creator: "1", - customCodeSerialClass: "", - data: null, - description: "鍙彉鐮佹", - displayFlag: "false", - filterSql: "", - firstR: "1", - firstV: "1", - fixedValueVOList: null, - getValueClass: "", - id: "0002", - lastModifier: "1", - lastModifyTime: "2023-06-02 10:24:07.000", - lastR: "1", - lastV: "1", - lcStatus: "Exist", - lcStatusText: "瀛樺湪", - lctid: "defaultLC", - matchClassifyValueFlag: "", - name: "鍙彉鐮佹", - nameOid: "02AED8DD-C40D-7E00-C88A-3DB65A3027A4", - nullableFlag: "false", - oid: "A4508759-4213-2F07-04ED-A8C224303F44", - orderNum: 2, - owner: "1", - parentClassifySecOid: "", - parentClassifySecText: "", - pkCodeRule: "B95872A6-9CEA-D490-8F1B-9D26548CAF96", - referAttributeId: "", - referAttributeName: "", - referBtmId: "", - referBtmName: "", - referCodeClassifyOid: "", - referCodeClassifyOidName: "", - referConfig: "", - referValueInfo: "", - revisionOid: "E4C77B6E-13AE-55EB-4147-64B4526BFEE4", - revisionRule: "", - revisionSeq: 1, - revisionValue: "", - secretGrade: null, - secretGradeText: "", - sectype: "codevariablesec", - sectypeText: "鍙彉鐮佹", - serialDependFlag: "false", - serialDependOrder: 0, - serialStart: "", - serialStep: 0, - ts: "2023-06-02 10:24:07.804", - valueCutLength: 0, - valueCutType: "", - valueCutTypeText: "", - versionRule: "0", - versionSeq: 1, - versionValue: "1", - }, - { - btmname: "codebasicsec", - checkInBy: "", - checkInTime: null, - checkOutBy: "", - checkOutTime: null, - codeDateFormatStr: "", - codeFillFlag: "", - codeFillLength: "", - codeFillLimit: 0, - codeFillSeparator: "", - codeFillType: "", - codeFillTypeText: "", - codeGetValueType: "", - codeGetValueTypeText: "", - codeLevelType: "", - codeLevelTypeText: "", - codeLevelValue: 0, - codeSecLength: "10", - codeSecLengthType: "code_sec_length_static", - codeSecLengthTypeText: "", - componentCodeFlag: "false", - copyFromVersion: "", - createTime: "2023-06-02 10:25:07.000", - creator: "1", - customCodeSerialClass: "", - data: null, - description: "鍒嗙被鐮佹瀛�", - displayFlag: "false", - filterSql: "", - firstR: "1", - firstV: "1", - fixedValueVOList: [ - { - btmname: "codefixedvalue", - checkInBy: "", - checkInTime: null, - checkOutBy: "", - checkOutTime: null, - codefixedsecoid: "8FD660BF-BA04-AB4F-8076-B5C43845621B", - codefixedsecoidName: null, - copyFromVersion: "", - createTime: "2023-06-02 10:43:44.000", - creator: "1", - data: null, - description: "", - firstR: "1", - firstV: "1", - id: "000101", - lastModifier: "1", - lastModifyTime: "2023-06-02 10:43:44.000", - lastR: "1", - lastV: "1", - lcStatus: "Exist", - lcStatusText: "瀛樺湪", - lctid: "defaultLC", - name: "", - nameOid: "D135277F-E638-EB02-CEF1-AD99B889CA94", - oid: "F7FEFFB7-0832-8CAF-2965-50757D01B878", - ordernum: 0, - owner: "1", - revisionOid: "AF362124-06FD-F209-442F-8A13842CEB40", - revisionRule: "", - revisionSeq: 1, - revisionValue: "", - secretGrade: null, - secretGradeText: "", - ts: "2023-06-02 10:43:44.838", - versionRule: "0", - versionSeq: 1, - versionValue: "1", - }, - { - btmname: "codefixedvalue", - checkInBy: "", - checkInTime: null, - checkOutBy: "", - checkOutTime: null, - codefixedsecoid: "8FD660BF-BA04-AB4F-8076-B5C43845621B", - codefixedsecoidName: null, - copyFromVersion: "", - createTime: "2023-06-02 10:43:49.000", - creator: "1", - data: null, - description: "", - firstR: "1", - firstV: "1", - id: "000102", - lastModifier: "1", - lastModifyTime: "2023-06-02 10:43:49.000", - lastR: "1", - lastV: "1", - lcStatus: "Exist", - lcStatusText: "瀛樺湪", - lctid: "defaultLC", - name: "", - nameOid: "4F0F0F48-6146-5E62-7E4C-C1ED5E7D788C", - oid: "F11E47E7-1360-5914-BA03-B6844E37AFB4", - ordernum: 0, - owner: "1", - revisionOid: "B4797510-7232-B6FF-077D-918F9B36D3C3", - revisionRule: "", - revisionSeq: 1, - revisionValue: "", - secretGrade: null, - secretGradeText: "", - ts: "2023-06-02 10:43:49.254", - versionRule: "0", - versionSeq: 1, - versionValue: "1", - }, - ], - getValueClass: "", - id: "00031", - lastModifier: "1", - lastModifyTime: "2023-06-02 10:25:07.000", - lastR: "1", - lastV: "1", - lcStatus: "Exist", - lcStatusText: "瀛樺湪", - lctid: "defaultLC", - matchClassifyValueFlag: "", - name: "鍒嗙被鐮佹瀛�", - nameOid: "69BEE3EC-F560-1C41-F56B-107F5B43C051", - nullableFlag: "false", - oid: "8FD660BF-BA04-AB4F-8076-B5C43845621B", - orderNum: 4, - owner: "1", - parentClassifySecOid: "", - parentClassifySecText: "", - pkCodeRule: "B95872A6-9CEA-D490-8F1B-9D26548CAF96", - referAttributeId: "", - referAttributeName: "", - referBtmId: "", - referBtmName: "", - referCodeClassifyOid: "", - referCodeClassifyOidName: "", - referConfig: "", - referValueInfo: "", - revisionOid: "EA98821E-60A0-1D18-4F70-96B0E0740B44", - revisionRule: "", - revisionSeq: 1, - revisionValue: "", - secretGrade: null, - secretGradeText: "", - sectype: "codefixedsec", - sectypeText: "鍥哄畾鐮佹", - serialDependFlag: "false", - serialDependOrder: 0, - serialStart: "", - serialStep: 0, - ts: "2023-06-02 10:25:07.764", - valueCutLength: 0, - valueCutType: "code_cut_none", - valueCutTypeText: "涓嶆埅鍙�", - versionRule: "0", - versionSeq: 1, - versionValue: "1", - }, - ], }; }, created() { @@ -467,19 +57,8 @@ getType(item) { return this.selfColumnType[item.sectype]; }, - getCodeRule() { - getCodeRule({ codeClassifyOid: this.codeClassifyOid }).then((res) => { - if (res.data && res.data.code === 200) { - // this.defaultValue = res.data.data; - // this.columnList = res.data.data.secVOList || []; - // this.codeRuleOid = res.data.data.oid; - this.$nextTick(() => { - // 娴嬭瘯鏁版嵁灞曠ず - // this.$refs.FormTempalte.init(res.data.data.secVOList); - this.$refs.FormTempalte.init(this.columnList); - }); - } - }); + init(columnList) { + this.$refs.FormTempalte.templateRender(columnList); }, handleResize() { let windowWidth = document.body.clientWidth; diff --git a/Source/UBCS-WEB/src/components/FormTemplate/FormTempalte.vue b/Source/UBCS-WEB/src/components/FormTemplate/FormTempalte.vue index 18b9d68..1c1f9bc 100644 --- a/Source/UBCS-WEB/src/components/FormTemplate/FormTempalte.vue +++ b/Source/UBCS-WEB/src/components/FormTemplate/FormTempalte.vue @@ -24,11 +24,11 @@ </span> </template> <template :slot="item.prop + ''" v-for="item in slotColumnList"> - <vciWebRefer + <!-- <vciWebRefer v-if="item.type == 'refer'" :value="item.value" :options="item.referConfig || {}" - ></vciWebRefer> + ></vciWebRefer> --> </template> </avue-form> </div> @@ -513,10 +513,8 @@ }) .then((res) => { if (res.status === 200) { - this.templateRender(this.testItems); - // 娴嬭瘯鏁版嵁灞曠ず - // this.templateRender(res.data.formDefineVO.items); - this.$emit("getFormTemplateEnd", res.data); + this.$emit('getFormTemplateEnd', res.data) + this.templateRender(res.data.formDefineVO.items); } }) .catch((err) => { @@ -583,9 +581,6 @@ maxlength: formItem.maxlength, filterable: true, referConfig: formItem.referConfig, - change: () => { - this.changeFun(formItem.displayExtension, formItem.prop); - }, span: formItem.type === "textarea" ? 24 : this.trendsSpan, rules: [ { @@ -618,8 +613,7 @@ this.formIndex++; this.loading = false; this.geDictData(dictKeys); - // 娴嬭瘯鏁版嵁灞曠ず - // this.getFormDetail(); + this.getFormDetail(); }, // 浣跨敤浼犲叆鐨勮〃鍗曟暟鎹厤缃� resetFormConfig(formItem) { @@ -665,11 +659,6 @@ if ((type === "text" && !isIcon) || (type === "icon" && isIcon)) { return val; } - }, - changeFun(displayExtension, prop) { - // executeCode({displayExtension, data: this.form}).then(res => { - // this.form[prop] = res.data.data - // }) }, // 鑾峰彇swich鍜屽凡鎷垮埌鐨勪笅鎷夋暟鎹� getDataList(type, dicData) { @@ -725,9 +714,11 @@ }, // 鑾峰彇琛ㄥ崟璇︽儏鏁版嵁 getFormDetail() { + if (this.type === 'add') return if (this.type === "add") return; getFormDetail({ templateOid: this.templateOid, oid: this.rowOid }).then( (res) => { + this.form = Object.assign(this.form, res.obj) console.log(res, "res"); } ); diff --git a/Source/UBCS-WEB/src/components/FormTemplate/ResembleQuery.vue b/Source/UBCS-WEB/src/components/FormTemplate/ResembleQuery.vue index b5c685d..7195205 100644 --- a/Source/UBCS-WEB/src/components/FormTemplate/ResembleQuery.vue +++ b/Source/UBCS-WEB/src/components/FormTemplate/ResembleQuery.vue @@ -38,6 +38,7 @@ :visible.sync="formTemplateVisible" :templateOid="this.resembleTemplateOid" :rowOid="rowOid" + title="鏌ョ湅璇︾粏淇℃伅" :codeClassifyOid="this.resembleCodeClassifyOid" ></FormTemplateDialog> </div> @@ -79,9 +80,7 @@ return { formTemplateVisible: false, activeName: "findlike", - tableData: [ - {id: '*****', materialclassifyText: '001', tuhao: 'tuhao', iod: '123123131312'} - ], + tableData: [], loading: false, resembleTemplateOid: "78B8C7C5-A042-0B96-FE6D-65421451782A", resembleCodeClassifyOid: "4524E801-6CC6-92E8-1AC3-2AB9604E8F96", @@ -125,7 +124,7 @@ }, methods: { // 鐩镐技椤规煡璇� - resembleQuery(form) { + async resembleQuery(form) { this.loading = true; this.activeName = "findlike"; const { defaultValue, formValue } = @@ -137,17 +136,14 @@ data: formValue, }; params = Object.assign(params, defaultValue); - findLike(params).then((res) => { - this.loading = false; - // this.tableData = res.data.data || []; - }); + this.tableData = (await findLike(params)).data.data || [] + this.loading = false + return this.tableData }, openFormTemlpate(row) { - this.$forceUpdate() - console.log(row, 'row.oid'); this.codetemplateoid = row.codetemplateoid; - this.rowOid = row.oid + this.rowOid = row.iod this.formTemplateVisible = true; }, getDefaultValueAndFormValues(form) { diff --git a/Source/UBCS-WEB/src/components/FormTemplate/index.vue b/Source/UBCS-WEB/src/components/FormTemplate/index.vue index f99d7b4..6009b7e 100644 --- a/Source/UBCS-WEB/src/components/FormTemplate/index.vue +++ b/Source/UBCS-WEB/src/components/FormTemplate/index.vue @@ -14,9 +14,7 @@ :visible="visible" :type="type" :rowOid="rowOid" - v-if="dialogVisible" ref="FormTempalte" - @getFormTemplateEnd="getFormTemplate" @getFormData="getFormData" ></FormTempalte> @@ -30,11 +28,14 @@ > <el-tabs v-model="activeName" type="border-card" @tab-click="handleClick"> <el-tab-pane label="鐮佸�肩敵璇�" name="codeApply" v-if="showCodeApply"> - <CodeApply - ref="CodeApply" + <FormTempalte v-bind="$attrs" - @getCodeRuleOid="getCodeRuleOid" - ></CodeApply> + :type="type" + :selfColumnType="selfColumnType" + :selfColumnConfig="selfColumnConfig" + ref="CodeApply" + @getFormData="getFormData" + ></FormTempalte> </el-tab-pane> <el-tab-pane label="鐩镐技椤规煡璇�" @@ -46,7 +47,9 @@ ref="resembleQueryRef" :hasResemble="this.hasResemble" :column="this.resembleTableColumn" + :codeClassifyOid="codeClassifyOid" :form="this.form" + :templateOid="templateOid" ></ResembleQuery> </el-tab-pane> </el-tabs> @@ -67,12 +70,12 @@ </template> <script> +import { getCodeRule, getFormTemplate } from "@/api/formTemplate.js"; import FormTempalte from "./FormTempalte"; import ResembleQuery from "./ResembleQuery"; -import CodeApply from "./CodeApply"; export default { name: "FormTemplateDialog", - components: { ResembleQuery, FormTempalte, CodeApply }, + components: { ResembleQuery, FormTempalte }, props: { visible: { type: Boolean, @@ -90,7 +93,15 @@ type: String, default: "80%", }, - rowOid: '' + rowOid: "", + codeClassifyOid: { + type: String, + default: "", + }, + templateOid: { + type: String, + default: "", + }, }, data() { return { @@ -100,7 +111,39 @@ resembleTableColumn: [], secVOList: [], form: {}, - activeName: "", + activeName: "codeApply", + showCodeApply: true, + showResembleQuery: true, + selfColumnType: { + codefixedsec: "combox", + codeclassifysec: "refer", + codevariablesec: "text", + coderefersec: "refer", + }, + selfColumnConfig: { + function: { + required: this.isRequired, + dicData: this.getOptionList, + type: this.getType, + }, + exchange: { + text: "name", + field: "oid", + prop: "oid", + showField: "name", + parentClassifySecOid: "parentClassifySecOid", + label: "name", + maxlength: "codeSecLength", + data: "fixedValueVOList", + }, + directVoluation: { + search: true, + props: { + label: "id", + value: "id", + }, + }, + }, }; }, created() {}, @@ -113,65 +156,137 @@ this.$emit("update:visible", val); }, }, - showCodeApply() { - // 娴嬭瘯鏁版嵁灞曠ず - // if (this.type === "add") { - // if (this.hasResemble && this.secVOList.length === 0) { - // return false; - // } - // } else { - // return false; - // } - return true; - }, - showResembleQuery() { - return this.hasResemble; - }, }, methods: { openDialog() { - this.$nextTick(() => { - this.$refs.FormTempalte.init(); - this.$refs.CodeApply.getCodeRule(); - }); + this.getFormTemplate(); + this.getCodeRule(); }, close() { this.dialogVisible = false; }, - getCodeRuleOid(data) { - this.secVOList = data.secVOList; + // 鎺ュ彛鑾峰彇琛ㄥ崟鏁版嵁 + getFormTemplate() { + getFormTemplate({ + templateOid: this.templateOid, + codeClassifyOid: this.codeClassifyOid, + }) + .then((res) => { + if (res.status === 200) { + this.hasResemble = + res.data.resembleTableVO && + res.data.resembleTableVO.cols && + res.data.resembleTableVO.cols.length > 0; + this.resembleTableColumn = res.data.resembleTableVO.cols || []; + if (this.hasResemble) { + this.activeName = 'resembleQuery' + this.showResembleQuery = true + } + this.$refs.FormTempalte.templateRender(res.data.formDefineVO.items); + } + }) + .catch((err) => { + this.loading = false; + console.log(err); + }); }, - getFormTemplate(data) { - this.hasResemble = - data.resembleTableVO && - data.resembleTableVO.cols && - data.resembleTableVO.cols.length > 0; - this.resembleTableColumn = data.resembleTableVO.cols || []; - this.activeName = - (this.showCodeApply && "codeApply") || - (this.showResembleQuery && "resembleQuery"); + // 鑾峰彇鐮佸�肩敵璇锋暟鎹� + getCodeRule() { + getCodeRule({ codeClassifyOid: this.codeClassifyOid }).then((res) => { + if (res.data && res.data.code === 200) { + const typeList = [ + "codefixedsec", + "codeclassifysec", + "codevariablesec", + "coderefersec", + ]; + this.secVOList = (res.data.data.secVOList || []).filter((item) => + typeList.includes(item) + ); + this.$nextTick(() => { + if (this.secVOList.length > 0 && this.type === 'add') { + this.showCodeApply = true + this.activeName = 'codeApply' + this.$refs.CodeApply.templateRender(this.secVOList); + } else { + this.showCodeApply = false + } + }); + } + }); }, getFormData(form) { this.form = form; }, resembleQuerySubmit() { + this.activeName = "resembleQuery"; this.$refs.resembleQueryRef.resembleQuery(this.form); }, handleClick() { - if (this.activeName === 'resembleQuery') { - this.resembleQuerySubmit() + if (this.activeName === "resembleQuery") { + this.resembleQuerySubmit(); } }, async submit() { + // 杩涜琛ㄥ崟鏍¢獙 const formValidate = await this.$refs.FormTempalte.validate(); + if (!formValidate) return; let codeValidate = true; + // 杩涜鐮佸�肩敵璇锋牎楠� if (this.showCodeApply) { - codeValidate = await this.$refs.CodeApply.validate(); + codeValidate = await this.$refs.codeApply.validate(); + if (!codeValidate) return; } - this.$emit("submit", { - form: this.form, - flag: formValidate && codeValidate, - }); + // 杩涜鐩镐技椤规煡璇� + const resembleQueryList = await this.$refs.resembleQueryRef.resembleQuery( + this.form + ); + if (resembleQueryList.length === 0) { + this.$emit("submit", this.form); + } else { + this.$confirm( + `璇ョ墿鏂欏凡鏈�${resembleQueryList.length}鏉$浉浼兼暟鎹紝鏄惁缁х画淇濆瓨锛焋, + "闇�瑕佹偍纭", + { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning", + } + ) + .then(() => { + this.$emit("submit", this.form); + }) + .catch(() => {}); + } + }, + getType(item) { + return this.selfColumnType[item.sectype]; + }, + isRequired(item) { + return item.nullableFlag != "true"; + }, + getOptionList(item) { + if ( + Array.isArray(item.fixedValueVOList) && + item.fixedValueVOList.length > 0 + ) { + const configAttr = { + key: "id", + value: "id", + }; + const optionList = item.fixedValueVOList.map((item) => { + for (const key in configAttr) { + if (Object.hasOwnProperty.call(configAttr, key)) { + const element = configAttr[key]; + item[key] = item[element]; + } + } + return item; + }); + return optionList; + } else { + return []; + } }, }, }; diff --git a/Source/UBCS-WEB/src/views/MasterData/FormTempalteTest.vue b/Source/UBCS-WEB/src/views/MasterData/FormTempalteTest.vue index c63bafa..bcf3281 100644 --- a/Source/UBCS-WEB/src/views/MasterData/FormTempalteTest.vue +++ b/Source/UBCS-WEB/src/views/MasterData/FormTempalteTest.vue @@ -32,7 +32,7 @@ visible: false, visible1: false, // 榛樿绂佺敤鐨勮〃鍏冪礌 - disabledProp: ["id"], + disabledProp: ["id", 'lcstatus'], // 琛ㄥ崟绫诲瀷 type: "add", templateOid: "78B8C7C5-A042-0B96-FE6D-65421451782A", diff --git a/Source/UBCS-WEB/vue.config.js b/Source/UBCS-WEB/vue.config.js index fda7e7d..c3b6e82 100644 --- a/Source/UBCS-WEB/vue.config.js +++ b/Source/UBCS-WEB/vue.config.js @@ -26,19 +26,11 @@ proxy: { '/api': { //鏈湴鏈嶅姟鎺ュ彛鍦板潃 -<<<<<<< HEAD // target: 'http://localhost:37000', // target: 'http://192.168.1.63:37000', //target: 'http://192.168.3.7:37000', - target: 'http://dev.vci-tech.com:37000', - // target: 'http://192.168.1.51:37000/', -======= - target: 'http://localhost:37000', - // target: 'http://192.168.1.63:37000', - //target: 'http://192.168.3.7:37000', - //target: 'http://dev.vci-tech.com:37000', - //target: 'http://192.168.1.51:37000/', ->>>>>>> 9474fadca23df051af1789b2078aca9c3163a017 + // target: 'http://dev.vci-tech.com:37000', + target: 'http://192.168.1.51:37000/', //杩滅▼婕旂ず鏈嶅姟鍦板潃,鍙敤浜庣洿鎺ュ惎鍔ㄩ」鐩� // target: 'https://saber.bladex.vip/api', ws: true, -- Gitblit v1.9.3