From 9d8be8e7580ef577def96c852288a5a95eab4ea3 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期二, 11 七月 2023 19:22:53 +0800 Subject: [PATCH] 代码整合,前端代码打包 --- Source/UBCS-WEB/src/components/FormTemplate/index.vue | 184 +++++++++++++++++++++++++++++++--------------- 1 files changed, 124 insertions(+), 60 deletions(-) diff --git a/Source/UBCS-WEB/src/components/FormTemplate/index.vue b/Source/UBCS-WEB/src/components/FormTemplate/index.vue index b6946b6..c7e2680 100644 --- a/Source/UBCS-WEB/src/components/FormTemplate/index.vue +++ b/Source/UBCS-WEB/src/components/FormTemplate/index.vue @@ -9,16 +9,15 @@ 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=" @@ -29,8 +28,8 @@ " > <el-tabs v-model="activeName" type="border-card" @tab-click="handleClick"> - <el-tab-pane label="鐮佸�肩敵璇�" name="codeApply"> - <FormTempalte + <el-tab-pane label="鐮佸�肩敵璇�" name="codeApply" v-if="showCodeApply"> + <FormTemplate v-bind="$attrs" :type="type" :selfColumnType="selfColumnType" @@ -38,7 +37,7 @@ ref="CodeApply" @getFormData="getCodeApplyFormData" @referConfigDataUpdate="referConfigDataUpdate" - ></FormTempalte> + ></FormTemplate> </el-tab-pane> <el-tab-pane label="鐩镐技椤规煡璇�" @@ -57,28 +56,35 @@ </el-tab-pane> </el-tabs> </div> - <div class="avue-dialog__footer" v-if="type !== 'detail'"> - <el-button @click="close()">鍙� 娑�</el-button> - <el-button @click="submit()" type="primary" :loading="submitBtnLoading">{{ - submitText - }}</el-button> - <el-button - @click="resembleQuerySubmit" - type="primary" - v-if="showResembleQuery" - >鐩镐技鍍忔煡璇�</el-button - > - </div> + <template #footer> + <div class="" v-if="type !== 'detail'"> + <el-button @click="close()" size="small">鍙� 娑�</el-button> + <el-button + @click="submit()" + type="primary" + :loading="submitBtnLoading" + size="small" + >{{ submitText }}</el-button + > + <el-button + @click="resembleQuerySubmit" + type="primary" + size="small" + v-if="showResembleQuery" + >鐩镐技鍍忔煡璇�</el-button + > + </div> + </template> </el-dialog> </template> <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, @@ -109,6 +115,10 @@ type: String, default: "纭� 瀹�", }, + setForm: { + type: Object, + default: () => ({}), + }, }, data() { return { @@ -120,8 +130,8 @@ form: {}, codeApplyForm: {}, activeName: "codeApply", - showCodeApply: true, - showResembleQuery: true, + showCodeApply: false, + showResembleQuery: false, selfColumnType: { codefixedsec: "combox", codeclassifysec: "refer", @@ -186,6 +196,7 @@ "copyfromversion", "secretgrade", ], + codeRuleOid: "", }; }, created() {}, @@ -225,11 +236,21 @@ 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; }); }, @@ -237,6 +258,7 @@ getCodeRule() { getCodeRule({ codeClassifyOid: this.codeClassifyOid }).then((res) => { if (res.data && res.data.code === 200) { + this.codeRuleOid = res.data.data.oid; const typeList = [ "codefixedsec", "codeclassifysec", @@ -244,17 +266,17 @@ "coderefersec", ]; this.secVOList = (res.data.data.secVOList || []).filter((item) => - typeList.includes(item) + typeList.includes(item.secType) ); - 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; + } } }); }, @@ -287,33 +309,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; - } - // 杩涜鐩镐技椤规煡璇� - const resembleQueryList = await this.$refs.resembleQueryRef.resembleQuery( - this.form - ); - if (resembleQueryList.length === 0) { - let resForm = {} - const { defaultValue, formValue } = this.getDefaultValueAndFormValues(this.form) - resForm.data = formValue - resForm = Object.assign({}, resForm, defaultValue) - resForm.secDTOList = [] - for (const key in this.codeApplyForm) { - if (Object.hasOwnProperty.call(this.codeApplyForm, key)) { - const value = this.codeApplyForm[key]; - if (value) { - resForm.secDTOList.push({[key]: value}) - } + if (!codeValidate) { + this.activeName = "codeApply"; + return false; } } + let resembleQueryList = []; + if (this.$refs.resembleQueryRef) { + // 杩涜鐩镐技椤规煡璇� + resembleQueryList = await this.$refs.resembleQueryRef.resembleQuery( + this.form + ); + } + if (resembleQueryList.length === 0) { + let resForm = {}; + const { defaultValue, formValue } = this.getDefaultValueAndFormValues( + this.form + ); + resForm.data = formValue; + resForm = Object.assign({}, resForm, defaultValue); + resForm.secDTOList = []; + for (const key in this.codeApplyForm) { + if (Object.hasOwnProperty.call(this.codeApplyForm, key)) { + const value = this.codeApplyForm[key]; + if (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( @@ -326,7 +358,39 @@ } ) .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 => { + if (formValue[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; + console.log(resForm, 'ddd'); + this.$emit("submit", resForm); }) .catch(() => {}); } @@ -350,11 +414,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", @@ -398,13 +462,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