From 274a3f7c6b176b1d279e1c251d8d0d5bdc1debef Mon Sep 17 00:00:00 2001 From: luojie <125330818@qq.com> Date: Thu, 26 Mar 2026 16:57:53 +0800 Subject: [PATCH] =?UTF-8?q?feat:[=E6=A8=A1=E6=9D=BF=E7=AE=A1=E7=90=86][upd?= =?UTF-8?q?ate]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Template/StepComponents/pcr/hsypfz.vue | 17 +-- src/components/Template/mixins/stepMixins.js | 49 +++++--- .../comps/template/dialog/SubPackageDialog.vue | 136 +++++++++------------ 3 files changed, 94 insertions(+), 108 deletions(-) diff --git a/src/components/Template/StepComponents/pcr/hsypfz.vue b/src/components/Template/StepComponents/pcr/hsypfz.vue index 7f7d562..5c2afca 100644 --- a/src/components/Template/StepComponents/pcr/hsypfz.vue +++ b/src/components/Template/StepComponents/pcr/hsypfz.vue @@ -20,23 +20,10 @@ export default { StepFormPackage }, mounted() { - this.getCode(); + this.handleBackfillCode("lbbh","lbbhCode"); }, methods: { - async getCode() { - const { lbbhCode } = this.formData; - if (this.templateFillType === 'actFill') { - const stepFormData = this.getFilledFormData(); - const { lbbh } = stepFormData; - const result = await this.getLatestSn({ - count: 1, - type: 1, - pre: lbbh, - }) - this.$refs.stepFormPackageRef.updateFormData("lbbhCode",result[0]) - console.log(result,"reee") - } - } + }, computed: { formConfig() { diff --git a/src/components/Template/mixins/stepMixins.js b/src/components/Template/mixins/stepMixins.js index e8b5e8d..341b3e0 100644 --- a/src/components/Template/mixins/stepMixins.js +++ b/src/components/Template/mixins/stepMixins.js @@ -1,4 +1,4 @@ -import { getuuid } from '@/utils/index.js' +import { getuuid ,justUpdateFilledFormData} from '@/utils/index.js' import { EventBus } from '@/utils/eventBus' import { getLatestSn, getLatestSnArr } from '@/api/template' export default { @@ -33,7 +33,7 @@ export default { data() { return { uuid: getuuid(), - fzInfo: null + fzInfo:{}, } }, mounted() { @@ -50,6 +50,22 @@ export default { }, methods: { + //回填编号 preField 前缀 updateField 需要更新的字段 + async handleBackfillCode(preField,updateField){ + const updateValue = this.formData[updateField]; + if (this.templateFillType === 'actFill' && !updateValue) { + const stepFormData = this.getFilledFormData(); + const preValue = stepFormData[preField]; + const result = await this.getLatestSn({ + pre: preValue, + }) + this.$refs.stepFormPackageRef.updateFormData(updateField,result[0]) + this.justUpdateFilledFormData(); + } + }, + justUpdateFilledFormData(){ + justUpdateFilledFormData(); + }, //获取最新的多个编号 async getLatestSnArr(params) { const res = await getLatestSnArr(params) @@ -77,15 +93,9 @@ export default { }, onSubPackageSubmit(data) { if (data.uuid === this.uuid) { - console.log(data, 'ddd') - this.fzInfo = data - //通知后端保存数据 - const params = { - type: 'fieldChanged', - newRecord: null, - resourceList: null - } - EventBus.$emit('onModifyRecord', params) + delete data.uuid //删除uuid字段,不然会导致下次匹配的时候匹配到错误的uuid + this.$refs.stepFormPackageRef.updateFormData('fzInfo',data) + this.justUpdateFilledFormData(); } }, // 点击按钮 @@ -104,30 +114,37 @@ export default { console.warn('请配制分装参数') return } + const fzInfo = stepFormData.fzInfo || this.formData.fzInfo; const maxVolume = stepFormData[maxVolumeField] const maxVolumeUnit = stepFormData[maxVolumeUnitField] myCodeFields.forEach((key) => { fields.push(stepFormData[key]) }) - EventBus.$emit('showSubPackageDialog', { mybh: fields.join(''), maxVolume, maxVolumeUnit, uuid: this.uuid, - fzType: 'step' + fzType: 'step', + ...fzInfo, }) } }, async getFormData() { - return await this.$refs.stepFormPackageRef.getFormData() + const data = await this.$refs.stepFormPackageRef.getFormData(); + data.fzInfo = data.fzInfo || this.formData.fzInfo; + return data }, getFilledFormData() { - return this.$refs.stepFormPackageRef?.getFilledFormData() + const data = this.$refs.stepFormPackageRef?.getFilledFormData(); + data.fzInfo = data.fzInfo || this.formData.fzInfo; + return data }, getSjResource() { - return this.$refs.stepFormPackageRef?.getSjResource() + const data = this.$refs.stepFormPackageRef?.getSjResource(); + data.fzInfo = data.fzInfo || this.formData.fzInfo; + return data }, //试验配制条件options getDictOptions(dictType) { diff --git a/src/views/business/comps/template/dialog/SubPackageDialog.vue b/src/views/business/comps/template/dialog/SubPackageDialog.vue index e279be6..dc231e5 100644 --- a/src/views/business/comps/template/dialog/SubPackageDialog.vue +++ b/src/views/business/comps/template/dialog/SubPackageDialog.vue @@ -5,13 +5,14 @@