diff --git a/src/components/Template/StepComponents/pcr/hsypfz.vue b/src/components/Template/StepComponents/pcr/hsypfz.vue index d213f70..69f5b7c 100644 --- a/src/components/Template/StepComponents/pcr/hsypfz.vue +++ b/src/components/Template/StepComponents/pcr/hsypfz.vue @@ -91,9 +91,11 @@ export default { //todo :有没有什么分装逻辑 fzbutton:{ type:"button", - fillType: "preFill", + fillType: "actFill", fzType:"step", buttonName:"分装", + maxVolumeField:"sjtj", + maxVolumeUnitField:"sjtjdw", myCodeFields:["lbbh","lbbhCode"], }, } diff --git a/src/components/Template/mixins/formPackageMixins.js b/src/components/Template/mixins/formPackageMixins.js index 68a592b..455a714 100644 --- a/src/components/Template/mixins/formPackageMixins.js +++ b/src/components/Template/mixins/formPackageMixins.js @@ -316,7 +316,7 @@ export default { result[key] = formData[key]; }) // 更新表单字段 - this.formFields = result; + this.formFields = {...result}; this.allFieldsConfig = config; }, //比较值是否相等 diff --git a/src/components/Template/mixins/stepMixins.js b/src/components/Template/mixins/stepMixins.js index 4ff6328..37fea99 100644 --- a/src/components/Template/mixins/stepMixins.js +++ b/src/components/Template/mixins/stepMixins.js @@ -1,11 +1,11 @@ import { getuuid } from '@/utils/index.js'; import { EventBus } from "@/utils/eventBus"; export default { - dicts:[ - "business_tjdw","business_czhj","business_rqcz","business_zldw", - "business_yqscdw","business_zsdw","business_wddw","business_ccwz","business_ggdw", - "business_hjxx","business_zzzc","business_step_pcr","business_fycx","business_step_pcrfxyp", - "business_cctj" + dicts: [ + "business_tjdw", "business_czhj", "business_rqcz", "business_zldw", + "business_yqscdw", "business_zsdw", "business_wddw", "business_ccwz", "business_ggdw", + "business_hjxx", "business_zzzc", "business_step_pcr", "business_fycx", "business_step_pcrfxyp", + "business_cctj" ], props: { formData: { @@ -33,15 +33,15 @@ export default { destroyed() { EventBus.$off("dialogSubPackageSubmit") EventBus.$off("subPackageDialogPrintTag") - }, + }, methods: { - // 打印标签 + // 打印标签 onPrintTag(data) { this.$emit("printTag") }, onSubPackageSubmit(data) { if (data.uuid === this.uuid) { - console.log(data,"ddd") + console.log(data, "ddd") //通知后端保存数据 const params = { type: "fieldChanged", @@ -52,19 +52,26 @@ export default { } }, // 点击按钮 - onHandleClickButton(e,item,key) { - const {buttonName = "",myCodeFields = []} = e; - const fields = []; - const stepFormData = this.getFilledFormData(); - myCodeFields.forEach((key) => { - fields.push(stepFormData[key]) - }); - console.log(fields,item,"fields") - if(buttonName === '分装'){ - EventBus.$emit("showSubPackageDialog", {mybh:fields.join(""),uuid:this.uuid,fzType:"step"}) + onHandleClickButton(e, item, key) { + const { buttonName = "", myCodeFields = [], maxVolumeField = "", maxVolumeUnitField = "" } = e; + + if (buttonName === '分装') { + const fields = []; + const stepFormData = this.getFilledFormData(); + if (!myCodeFields.length || !maxVolumeField || !maxVolumeUnitField) { + console.warn("请配置分装参数") + return + } + 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" }) } }, - + async getFormData() { return await this.$refs.stepFormPackageRef.getFormData(); }, @@ -74,7 +81,7 @@ export default { getSjResource() { return this.$refs.stepFormPackageRef?.getSjResource(); }, - //试验配制条件options + //试验配制条件options getDictOptions(dictType) { return this.dict.type[dictType] || [] }, @@ -82,7 +89,7 @@ export default { this.$refs.stepFormPackageRef.resetRecord(); }, //更新温层数据 - updateWcData(key,value) { + updateWcData(key, value) { const options = this.getDictOptions("business_ccwz"); const selectedOption = options.find(item => item.value === value); if (selectedOption) { diff --git a/src/views/business/comps/template/mixins/templateMixin.js b/src/views/business/comps/template/mixins/templateMixin.js index ec68f25..0b5bb38 100644 --- a/src/views/business/comps/template/mixins/templateMixin.js +++ b/src/views/business/comps/template/mixins/templateMixin.js @@ -621,7 +621,7 @@ export default { } const splitXsytj = actDiluentVolume.split("/"); const splitYrytj = actStartSolutionVolume.split("/"); - const sjZtj = splitXsytj.map((item,index) => { + const sjZtj = splitXsytj.map((item, index) => { const xsytj = volumeConverter.convert(item + actDiluentVolumeUnit, actSolutionVolumeUnit); const yrytj = volumeConverter.convert(splitYrytj[index] + actStartSolutionVolumeUnit, actSolutionVolumeUnit); return (Number(xsytj) + Number(yrytj)).toFixed(volPrecision); @@ -695,7 +695,7 @@ export default { return convertConcentration.convert(con + unit, targetSolutionConcentrationUnit) }) const mbyjndArr = (concentration + '').split("/");//目标预计浓度 - if(mbyjndArr.length !== initNdArr.length){ + if (mbyjndArr.length !== initNdArr.length) { this.$message.error("起始溶液浓度和目标溶液浓度格式不一致,请重新输入") return } @@ -704,15 +704,15 @@ export default { const ystj = Number((con * convertTargetVol) / (transNdArr[index] || transNdArr[0])) const convertYsVol = volumeConverter.convert(ystj + targetStartVolUnit, targetStartSolutionVolumeUnit) const xstj = (convertTargetVol1 - convertYsVol)//稀释体积 - return {qsrytj:convertYsVol,xstj} + return { qsrytj: convertYsVol, xstj } }) - item.targetStartSolutionVolume = ystjArr.map((item) => { - return Number((item.qsrytj).toFixed(precision)) - }).join("/"); - item.targetDiluentVolume = ystjArr.map((item) => { - return Number((volumeConverter.convert(item.xstj + targetStartSolutionVolumeUnit, targetDiluentVolumeUnit)).toFixed(precision1)) - }).join("/"); - + if (ystjArr.length > 0) { + const firstItem = ystjArr[0];//只取第一个计算 + item.targetStartSolutionVolume = Number((firstItem.qsrytj).toFixed(precision)); + item.targetDiluentVolume = Number((volumeConverter.convert(firstItem.xstj + targetStartSolutionVolumeUnit, targetDiluentVolumeUnit)).toFixed(precision1)); + } + + }, // 导出excel模板 exportExcel(headerArray, title = '导出模板') {