From 6051e46acc6e2d5eac70e00ca401ddae6dd77fe6 Mon Sep 17 00:00:00 2001 From: luojie <125330818@qq.com> Date: Thu, 19 Mar 2026 21:48:54 +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 --- src/utils/index.js | 2 +- .../business/comps/template/comps/sp/SP003.vue | 1 + .../comps/template/mixins/templateMixin.js | 22 ++++++++++++++++++---- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/src/utils/index.js b/src/utils/index.js index 8202b04..d541b85 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -419,7 +419,7 @@ export const getExpireDate = ( effectivePeriod, effectivePeriodUnit ) => { - if(startDate === "NA"){ + if(effectivePeriod === "NA" || effectivePeriodUnit === "NA"){ return "NA"; } const start = moment(startDate) diff --git a/src/views/business/comps/template/comps/sp/SP003.vue b/src/views/business/comps/template/comps/sp/SP003.vue index 70b7a29..454bd90 100644 --- a/src/views/business/comps/template/comps/sp/SP003.vue +++ b/src/views/business/comps/template/comps/sp/SP003.vue @@ -476,6 +476,7 @@ export default { //更新记录 onRegentSubmit(data) { const { selectInfo, key } = data; + const { row } = selectInfo; if (key === "subStartSolution") {//选择起始源溶液需要同步更新table的变更记录。 this.$refs.stepFormPackageRef.updateFormData("targetAcSolution", row.nd); diff --git a/src/views/business/comps/template/mixins/templateMixin.js b/src/views/business/comps/template/mixins/templateMixin.js index 52f3dbf..371d3e9 100644 --- a/src/views/business/comps/template/mixins/templateMixin.js +++ b/src/views/business/comps/template/mixins/templateMixin.js @@ -1,6 +1,6 @@ import moment from 'moment' import { getLatestSn, getLatestSnArr } from '@/api/template'; -import { isValueEmpty, getStringWidth } from '@/utils/index'; +import { isValueEmpty, getStringWidth,getuuid } from '@/utils/index'; import { isCommonUnit } from "@/utils/conTools"; import { sj_subpackage, sj_startConfiguration, sj_configurationCompleted } from '@/api/business/sj/sj'; import { convertConcentration } from "@/utils/conConverter";//浓度单位转换 @@ -175,7 +175,7 @@ export default { !expireDate ) { let end; - if (startDate === "NA") { + if (effectivePeriod === "NA" || effectivePeriodUnit === "NA") { end = "NA"; } else { const start = moment(startDate) @@ -288,10 +288,14 @@ export default { onBeforeReagentSubmit(data) { const { selectData, callback, key, formFields } = data; const { subTargetStartSolution } = formFields; + //判断选择的浓度单位和预制的浓度单位是否一致 if (key === "subStartSolution" && !isCommonUnit(selectData.row.nddw, [subTargetStartSolution])) {//选择起始源溶液需要同步更新table的变更记录。 callback.prevent('浓度单位与预制不符,请重新选择或申请废止并重新预制。'); } + if(selectData.row.nd === "NA"){ + callback.prevent('当前实际浓度为NA,请重新选择'); + } }, getFormDataByTemplateData() { let o = {}; @@ -498,7 +502,8 @@ export default { actSolutionConcentrationPrecision: 3, //小数点精度默认为3 targetDiluentVolumePrecision: 3, //小数点精度默认为3 targetStartSolutionVolumePrecision: 3, //小数点精度默认为3 - targetSolutionCode: `CA-WS-STD${Number(codeSTD) - index}` + targetSolutionCode: `CA-WS-STD${Number(codeSTD) - index}`, + id:getuuid() })) this.$refs.stepTableRef.updateDataSource(arr) } else if (key === 'targetStartSolution' || key === 'subTargetStartSolution') { @@ -615,6 +620,11 @@ export default { const targetStartVolUnit = actSolutionConcentrationUnit.split("/")[1];//先按照预设目标溶液浓度的单位标准 const converActVol = volumeConverter.convert(actVol + actSolutionVolumeUnit, targetStartVolUnit) const converActDiluentVolume1 = volumeConverter.convert(actStartSolutionVolume + actStartSolutionVolumeUnit, targetStartVolUnit) + const converArr = targetAcSolution.split("/"); + converArr.map((item)=>{ + return convertConcentration.convert(item + targetStartSolutionUnit, actSolutionConcentrationUnit) + }) + console.log(converArr,"converArr") const converTargetAcSolution = convertConcentration.convert(targetAcSolution + targetStartSolutionUnit, actSolutionConcentrationUnit) // 实际目标溶液浓度 = 实际源溶液浓度÷(实际终体积÷源溶液加入体积); const actNd = ( @@ -651,7 +661,11 @@ export default { return; } const targetStartVolUnit = targetSolutionConcentrationUnit.split("/")[1];//先按照预设目标溶液浓度的单位标准 - + const volumeArr = volume.split("/"); + const converArr = volumeArr.map((item)=>{ + return convertConcentration.convert(item + subTargetStartSolution, targetSolutionConcentrationUnit) + }) + console.log(converArr,"converArr") //将起始溶液浓度转换为和预设目标溶液浓度一样的单位再计算; const converStartCon = convertConcentration.convert(volume + subTargetStartSolution, targetSolutionConcentrationUnit) //将预设目标溶液体积转换为和预设目标溶液浓度单位的分母一样的单位再计算;如:预设目标溶液浓度单位为mg/mL,预设目标溶液体积单位为uL,则将预设目标溶液体积转换为mL