From 2f1d2636adbd763d729c5836aa720fe8844ba9f3 Mon Sep 17 00:00:00 2001 From: wang1 <844966816@qq.com> Date: 星期五, 14 七月 2023 18:01:23 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/UBCS-WEB/src/components/FormTemplate/index.vue | 143 ++++++++++++++++++++++++++++++++++------------- 1 files changed, 104 insertions(+), 39 deletions(-) diff --git a/Source/UBCS-WEB/src/components/FormTemplate/index.vue b/Source/UBCS-WEB/src/components/FormTemplate/index.vue index f37041e..68f7141 100644 --- a/Source/UBCS-WEB/src/components/FormTemplate/index.vue +++ b/Source/UBCS-WEB/src/components/FormTemplate/index.vue @@ -3,22 +3,22 @@ :visible.sync="dialogVisible" v-if="dialogVisible" v-dialogDrag - top="5vh" + top="-5vh" + class="avue-dialog avue-dialog--top" :title="title" :width="width" append-to-body @opened="openDialog" > - <FormTempalte + <FormTemplate v-bind="$attrs" - :visible="visible" :type="type" :rowOid="rowOid" :templateOid="templateOid" - ref="FormTempalte" + v-if="dialogVisible" + ref="FormTemplate" @getFormData="getFormData" - ></FormTempalte> - + ></FormTemplate> <div class="tab_box" v-if=" @@ -30,7 +30,7 @@ > <el-tabs v-model="activeName" type="border-card" @tab-click="handleClick"> <el-tab-pane label="鐮佸�肩敵璇�" name="codeApply" v-if="showCodeApply"> - <FormTempalte + <FormTemplate v-bind="$attrs" :type="type" :selfColumnType="selfColumnType" @@ -38,7 +38,7 @@ ref="CodeApply" @getFormData="getCodeApplyFormData" @referConfigDataUpdate="referConfigDataUpdate" - ></FormTempalte> + ></FormTemplate> </el-tab-pane> <el-tab-pane label="鐩镐技椤规煡璇�" @@ -81,11 +81,11 @@ <script> import { getCodeRule, getFormTemplate } from "@/api/formTemplate.js"; -import FormTempalte from "./FormTempalte"; +import FormTemplate from "./FormTemplate"; import ResembleQuery from "./ResembleQuery"; export default { name: "FormTemplateDialog", - components: { ResembleQuery, FormTempalte }, + components: { ResembleQuery, FormTemplate }, props: { visible: { type: Boolean, @@ -116,6 +116,10 @@ type: String, default: "纭� 瀹�", }, + setForm: { + type: Object, + default: () => ({}), + }, }, data() { return { @@ -127,8 +131,8 @@ form: {}, codeApplyForm: {}, activeName: "codeApply", - showCodeApply: true, - showResembleQuery: true, + showCodeApply: false, + showResembleQuery: false, selfColumnType: { codefixedsec: "combox", codeclassifysec: "refer", @@ -193,6 +197,7 @@ "copyfromversion", "secretgrade", ], + codeRuleOid: "", }; }, created() {}, @@ -232,19 +237,29 @@ if (this.hasResemble) { this.activeName = "resembleQuery"; this.showResembleQuery = true; + } else { + this.showResembleQuery = false; } - this.$refs.FormTempalte.templateRender(res.data.formDefineVO.items); + console.log(this.hasResemble, "this.hasResemblethis.hasResemble"); + this.$nextTick(() => { + this.$refs.FormTemplate.templateRender( + res.data.formDefineVO.items + ); + if (Object.keys(this.setForm).length > 0) { + this.$refs.FormTemplate.form = this.setForm; + } + }); } }) - .catch((err) => { + .catch(() => { this.loading = false; }); }, // 鑾峰彇鐮佸�肩敵璇锋暟鎹� getCodeRule() { getCodeRule({ codeClassifyOid: this.codeClassifyOid }).then((res) => { - console.log(res, "resresresresres"); if (res.data && res.data.code === 200) { + this.codeRuleOid = res.data.data.oid; const typeList = [ "codefixedsec", "codeclassifysec", @@ -254,16 +269,15 @@ this.secVOList = (res.data.data.secVOList || []).filter((item) => typeList.includes(item.secType) ); - console.log(this.secVOList, "this.secVOListthis.secVOList"); - this.$nextTick(() => { - if (this.secVOList.length > 0 && this.type === "add") { - this.showCodeApply = true; - this.activeName = "codeApply"; + if (this.secVOList.length > 0 && this.type === "add") { + this.showCodeApply = true; + this.activeName = "codeApply"; + this.$nextTick(() => { this.$refs.CodeApply.templateRender(this.secVOList); - } else { - this.showCodeApply = false; - } - }); + }); + } else { + this.showCodeApply = false; + } } }); }, @@ -296,24 +310,43 @@ }, async submit() { // 杩涜琛ㄥ崟鏍¢獙 - const formValidate = await this.$refs.FormTempalte.validate(); + const formValidate = await this.$refs.FormTemplate.validate(); if (!formValidate) return; let codeValidate = true; // 杩涜鐮佸�肩敵璇锋牎楠� - if (this.showCodeApply) { - codeValidate = await this.$refs.CodeApply.validate(); - console.log(9999); - if (!codeValidate) return; + // if (this.showCodeApply) { + // codeValidate = await this.$refs.CodeApply.validate(); + // if (!codeValidate) { + // this.activeName = "codeApply"; + // return false; + // } + // } + let resembleQueryList = []; + if (this.$refs.resembleQueryRef) { + // 杩涜鐩镐技椤规煡璇� + resembleQueryList = await this.$refs.resembleQueryRef.resembleQuery( + this.form + ); } - // 杩涜鐩镐技椤规煡璇� - const resembleQueryList = await this.$refs.resembleQueryRef.resembleQuery( - this.form - ); if (resembleQueryList.length === 0) { let resForm = {}; const { defaultValue, formValue } = this.getDefaultValueAndFormValues( this.form ); + const noData = [ + "jiliangdwname", + "materialtypeText", + "morengongysname", + "$caigouwl", + "$xiaoshouwl", + "$shifoupihaoguanli", + "lcstatus_text", + "hesuanfenleiname", + "$kucunwl", + ]; + noData.forEach((item) => { + this.$delete(formValue, item); + }); resForm.data = formValue; resForm = Object.assign({}, resForm, defaultValue); resForm.secDTOList = []; @@ -321,10 +354,13 @@ if (Object.hasOwnProperty.call(this.codeApplyForm, key)) { const value = this.codeApplyForm[key]; if (value) { - resForm.secDTOList.push({ [key]: value }); + resForm.secDTOList.push({ secOid: key, secValue: value }); } } } + resForm.codeClassifyOid = this.codeClassifyOid; + resForm.codeRuleOid = this.codeRuleOid; + resForm.templateOid = this.templateOid; this.$emit("submit", resForm); } else { this.$confirm( @@ -337,7 +373,36 @@ } ) .then(() => { - this.$emit("submit", this.form); + // 鎺掗櫎涓�浜涘瓧娈� + const noData = [ + "jiliangdwname", + "materialtypeText", + "morengongysname", + "$caigouwl", + "$xiaoshouwl", + "$shifoupihaoguanli", + "lcstatus_text", + "hesuanfenleiname", + "$kucunwl", + ]; + let resForm = {}; + const { defaultValue, formValue } = + this.getDefaultValueAndFormValues(this.form); + noData.forEach((item) => { + this.$delete(formValue, item); + }); + resForm.data = formValue; + resForm = Object.assign({}, resForm, defaultValue); + resForm.secDTOList = this.secVOList.map((item) => { + return { + secOid: item.oid, + secValue: this.codeApplyForm[item.oid], + }; + }); + resForm.codeClassifyOid = this.codeClassifyOid; + resForm.codeRuleOid = this.codeRuleOid; + resForm.templateOid = this.templateOid; + this.$emit("submit", resForm); }) .catch(() => {}); } @@ -361,11 +426,11 @@ }; }, getType(item) { - return this.selfColumnType[item.sectype]; + return this.selfColumnType[item.secType]; }, getReferConfig(item) { let params = {}; - if (item.sectype == "codeclassifysec") { + if (item.secType == "codeclassifysec") { params = { isMuti: false, type: "grid", @@ -409,13 +474,13 @@ : "", }, }; - } else if (item.sectype == "coderefersec") { + } else if (item.secType == "coderefersec") { params = JSON.parse(item.referValueInfo); } return params; }, getDisabled(item) { - if (item.sectype === "codeclassifysec") { + if (item.secType === "codeclassifysec") { if (item.parentClassifySecOid) { if (!this.codeApplyForm[item.parentClassifySecOid]) { return true; -- Gitblit v1.9.3