From ac8e8998235f247365280d1a1632115c43b10037 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期五, 17 十一月 2023 02:24:30 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/UBCS-WEB/src/components/FormTemplate/index.vue | 64 ++++++++++++++++++++++++------- 1 files changed, 49 insertions(+), 15 deletions(-) diff --git a/Source/UBCS-WEB/src/components/FormTemplate/index.vue b/Source/UBCS-WEB/src/components/FormTemplate/index.vue index cefd61a..fb3a61b 100644 --- a/Source/UBCS-WEB/src/components/FormTemplate/index.vue +++ b/Source/UBCS-WEB/src/components/FormTemplate/index.vue @@ -11,9 +11,12 @@ @opened="openDialog" > <FormTemplate + key="masterForm" data-key="masterForm" v-bind="$attrs" :type="type" + :TreeValue="TreeValue" :rowOid="rowOid" + :eventList="eventList" :templateOid="templateOid" v-if="dialogVisible" ref="FormTemplate" @@ -31,12 +34,14 @@ <el-tabs v-model="activeName" type="border-card" @tab-click="handleClick"> <el-tab-pane label="鐮佸�肩敵璇�" name="codeApply" v-if="showCodeApply"> <FormTemplate - v-bind="$attrs" + key="codeApplyForm" data-key="codeApplyForm" + secDTOListv-bind="$attrs" :type="type" :selfColumnType="selfColumnType" :selfColumnConfig="selfColumnConfig" ref="CodeApply" @getFormData="getCodeApplyFormData" + @attrList="attrListForm" @referConfigDataUpdate="referConfigDataUpdate" ></FormTemplate> </el-tab-pane> @@ -91,6 +96,10 @@ type: Boolean, default: false, }, + TreeValue:{ + type: String, + default: "", + }, type: { type: String, default: "add", @@ -123,6 +132,8 @@ }, data() { return { + attrList:[], + eventList:[], //鐮佸�肩殑绗簩绉嶅彧璇婚殣钘忔儏鍐� codeValueApplyStatus:'', loading: false, @@ -217,6 +228,13 @@ }, }, }, + watch:{ + codeApplyForm:{ + handler(newval,oldval){ + // console.log('newval',newval) + } + } + }, methods: { openDialog() { this.getFormTemplate(); @@ -246,11 +264,12 @@ } else { this.showResembleQuery = false; } - // console.log(this.hasResemble, "this.hasResemblethis.hasResemble"); this.$nextTick(() => { this.$refs.FormTemplate.templateRender( res.data.formDefineVO.items ); + this.eventList=res.data.templateVO.attributes + // this.$refs.FormTemplate.$emit('eventList', res.data.templateVO.attributes); if (Object.keys(this.setForm).length > 0) { this.$refs.FormTemplate.form = this.setForm; } @@ -263,9 +282,10 @@ }, // 鑾峰彇鐮佸�肩敵璇锋暟鎹� getCodeRule() { - getCodeRule({ codeClassifyOid: this.codeClassifyOid }).then((res) => { + let that = this; + getCodeRule({codeClassifyOid: that.codeClassifyOid}).then((res) => { if (res.data && res.data.code === 200) { - this.codeRuleOid = res.data.data.oid; + that.codeRuleOid = res.data.data.oid; const typeList = [ //灞炴�х爜娈� 鍙 "codeattrsec", @@ -283,25 +303,35 @@ "codelevelsec", //娴佹按鐮佹 闅愯棌 ]; - this.secVOList = (res.data.data.secVOList || []).filter((item) => + that.secVOList = (res.data.data.secVOList || []).filter((item) => typeList.includes(item.secType) ); - if (this.secVOList.length > 0 && this.type === "add") { - this.showCodeApply = true; - this.activeName = "codeApply"; + if (that.secVOList.length > 0 && that.type === "add") { + that.showCodeApply = true; + that.activeName = "codeApply"; this.$nextTick(() => { - this.$refs.CodeApply.templateRender(this.secVOList); + that.$refs.CodeApply.templateRender(that.secVOList, this.TreeValue); }); } else { - this.showCodeApply = false; + that.showCodeApply = false; } } - // console.log(' this.secVOList',this.secVOList) - // console.log(' res.data.data.secVOList',res.data.data.secVOList) }); }, getFormData(form) { this.form = form; + //灞炴�х爜娈佃祴鍊� + if (this.attrList) { + this.attrList.forEach(item => { + if (this.form.hasOwnProperty(item.referAttributeId)) { + this.codeApplyForm[item.oid] = this.form[item.referAttributeId]; + } + }) + } + }, + //灞炴�х爜娈佃祴鍊� + attrListForm(attrListForm){ + this.attrList=attrListForm; }, getCodeApplyFormData(codeApplyForm) { this.codeApplyForm = codeApplyForm; @@ -309,16 +339,20 @@ // 鍙傜収缁勪欢鏁版嵁鍙樻洿 referConfigDataUpdate(data) { const { field } = data; + let childItems=[]; this.secVOList = this.secVOList.map((item) => { if (item.parentClassifySecOid === field) { this.$refs.CodeApply.form[item.oid] = undefined; this.$refs.CodeApply.form[item.name] = undefined; item.readOnly=false; item.referConfig.extraParams.parentClassifyValueOid=data.value; + item.referConfig.reloadData = true; + childItems.push(item) } return item; }); - this.$refs.CodeApply.templateRender(this.secVOList); + //this.$refs.CodeApply.templateRender(this.secVOList,this.TreeValue); + this.$refs.CodeApply.changeChildItem(childItems); }, resembleQuerySubmit() { this.activeName = "resembleQuery"; @@ -343,7 +377,7 @@ // } // } let resembleQueryList = []; - if (this.$refs.resembleQueryRef) { + if (this.showResembleQuery && this.$refs.resembleQueryRef) { // 杩涜鐩镐技椤规煡璇� resembleQueryList = await this.$refs.resembleQueryRef.resembleQuery( this.form @@ -382,7 +416,6 @@ this.$delete(formValue, item); }); const keys = Object.keys(formValue); - debugger keys.forEach((item, index) => { keys.forEach((itm, idx) => { if ((item === ('$' + itm)) && idx !== index) { @@ -492,6 +525,7 @@ isRequired(item) { return item.nullableFlag != "true"; }, + //榛樿鍊� getOptionList(item) { if ( Array.isArray(item.fixedValueVOList) && -- Gitblit v1.9.3