From e11fe673c30bd68a635cd4164bf8083f8b5052b4 Mon Sep 17 00:00:00 2001 From: HanLong <404402223@qq.com> Date: Tue, 20 Jan 2026 17:32:40 +0800 Subject: [PATCH] =?UTF-8?q?feat:[=E6=A8=A1=E6=9D=BF=E7=AE=A1=E7=90=86][?= =?UTF-8?q?=E7=94=9F=E7=89=A9=E6=A0=B7=E5=93=81=E5=88=86=E6=9E=90=E6=96=B9?= =?UTF-8?q?=E6=B3=95=E5=AD=A6=E6=A0=B7=E5=93=81=E5=88=B6=E5=A4=87=E8=A1=A8?= =?UTF-8?q?=EF=BC=88Recovery=EF=BC=89]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/lang/en/template/sp.js | 8 +- src/lang/zh/template/sp.js | 8 +- .../template/comps/sp/SWYPFXFFXYPZBB/Recovery.vue | 154 +++++++++++---------- .../formConfig/SWYPFXFFXYPZBBTableConfig.js | 117 ++++++++++++++++ 4 files changed, 210 insertions(+), 77 deletions(-) diff --git a/src/lang/en/template/sp.js b/src/lang/en/template/sp.js index 485b0e7..6c1da02 100644 --- a/src/lang/en/template/sp.js +++ b/src/lang/en/template/sp.js @@ -31,7 +31,13 @@ export default { sjryxql: 'Actual Solution Extraction Volume', yjjzxql: 'Expected Blank Substrate Extraction Volume', sjjzxql: 'Actual Blank Substrate Extraction Volume', - hhwznd: 'Target Solution Concentration' + hhwznd: 'Target Solution Concentration', + xzgzy: 'Select Working Solution', + xzxsy: 'Select Diluent', + yjgzyxql: 'Expected Working Solution Extraction Volume', + sjgzyxql: 'Actual Working Solution Extraction Volume', + yjxsyxql: 'Expected Diluent Extraction Volume', + sjxsyxql: 'Actual Diluent Extraction Volume', }, //生物样品分析方法学样品制备表(全血稳定) sp010: { diff --git a/src/lang/zh/template/sp.js b/src/lang/zh/template/sp.js index 7d73819..11d39c5 100644 --- a/src/lang/zh/template/sp.js +++ b/src/lang/zh/template/sp.js @@ -30,7 +30,13 @@ export default { sjryxql: '实际溶液吸取量', yjjzxql: '预计基质吸取量', sjjzxql: '实际基质吸取量', - hhwznd: '化合物终浓度' + hhwznd: '化合物终浓度', + xzgzy: '选择工作液', + xzxsy: '选择稀释液', + yjgzyxql: '预计工作液吸取量', + sjgzyxql: '实际工作液吸取量', + yjxsyxql: '预计稀释液吸取量', + sjxsyxql: '实际稀释液吸取量', }, //生物样品分析方法学样品制备表(全血稳定) sp010: { diff --git a/src/views/business/comps/template/comps/sp/SWYPFXFFXYPZBB/Recovery.vue b/src/views/business/comps/template/comps/sp/SWYPFXFFXYPZBB/Recovery.vue index 2e6ca8f..d0e8f49 100644 --- a/src/views/business/comps/template/comps/sp/SWYPFXFFXYPZBB/Recovery.vue +++ b/src/views/business/comps/template/comps/sp/SWYPFXFFXYPZBB/Recovery.vue @@ -3,68 +3,48 @@
{{ formData.templateMc || - $t('template.sp.sp009.title') }}
+ $t('template.sp.sp009.title') }}
- - - - + + +
- + 基质 + - +
- test + 溶液 - - + +
- +
@@ -81,12 +61,12 @@ import Step from "@/components/Template/Step"; import templateMixin from "../../../mixins/templateMixin"; import CustomTable from '@/components/Template/CustomTable.vue'; import { getLatestSn } from '@/api/template'; -import {getSWYPFXFFXYPZBBTableConfig} from "../../../formConfig/SWYPFXFFXYPZBBTableConfig.js"; +import { getSWYPFXFFXYPZBBTableConfig, getSWYPFXFFXYPZBBTQHSLTableConfig } from "../../../formConfig/SWYPFXFFXYPZBBTableConfig.js"; import TableOpertaion from "@/components/Template/operation/TableOpertaion.vue" export default { name: "SWYPFXRYPZB", - components: { BaseInfoFormPcakge, LineLabel, TableList, Step, CustomTable,TableOpertaion }, + components: { BaseInfoFormPcakge, LineLabel, TableList, Step, CustomTable, TableOpertaion }, mixins: [templateMixin], props: { fillType: { @@ -107,7 +87,6 @@ export default { options: this.getDictOptions("business_cctj"), otherCode: "storageConditionOther", }, - } } ]; @@ -222,17 +201,41 @@ export default { { type: "step", config: { - jz1: { - label: 'template.sp.sp009.xzjz', - type: "span", - label: 'template.common.storageConditionLabel', + jz: { + label: 'template.sp.sp008.xzjz', + type: "input", fillType: "preFill", - options: this.getDictOptions("business_cctj"), - otherCode: "storageConditionOther", + subType: "clickable", + subKey: "subJz", + subFillType: "actFill", + maxlength: 20, + labelWidth: 80, }, - - jz: { - label: 'template.sp.sp009.xzjz', + } + } + ] + }, + rongyeStepFormConfig() { + return [ + { + type: "step", + config: { + gzy: { + label: 'template.sp.sp009.xzgzy', + type: "input", + fillType: "preFill", + subType: "clickable", + subKey: "subSolution", + subFillType: "actFill", + maxlength: 20, + }, + } + }, + { + type: "step", + config: { + xsy: { + label: 'template.sp.sp009.xzxsy', type: "input", fillType: "preFill", subType: "clickable", @@ -240,14 +243,15 @@ export default { subFillType: "actFill", maxlength: 20, }, - } }, - ] }, tableStepColumns() { - return getSWYPFXFFXYPZBBTableConfig(this); + return getSWYPFXFFXYPZBBTableConfig(this, 'business_sp_tqhsl', false); + }, + rongyeTableStepColumns() { + return getSWYPFXFFXYPZBBTQHSLTableConfig(this, 'business_sp_tqhsl'); }, }, data() { @@ -278,7 +282,7 @@ export default { formData: { immediate: true, handler(v) { - if(!v.targetCodeSn && this.fillType === "actFill"){ + if (!v.targetCodeSn && this.fillType === "actFill") { this.getCode(); } } @@ -287,36 +291,36 @@ export default { methods: { //点击表格单元格 handleClickable(col, rowIndex) { - console.log("clickable",rowIndex, col) - if(col.prop === "sjry"){ + console.log("clickable", rowIndex, col) + if (col.prop === "sjry") { //调用对应弹窗的方法; } - this.$refs.tableRef.updateDataSourceByRowIndex(rowIndex,{ + this.$refs.tableRef.updateDataSourceByRowIndex(rowIndex, { sjry: "我是填充进来的数据", }) }, //获取目标溶液编号 - async getCode(){ + async getCode() { const result = await getLatestSn({ count: 1, }) - if(result.code == 200){ - this.$refs.stepFormPackageRef.updateFormData("targetCodeSn",result.data) + if (result.code == 200) { + this.$refs.stepFormPackageRef.updateFormData("targetCodeSn", result.data) } }, //获取已填写的表单数据 - getFilledFormData(){ - return this.getFilledFormDataByRefs(["baseInfoRef", "storageConditionRef", "stepFormPackageRef", "tableRef","stepRef", "remarkRef"]) + getFilledFormData() { + return this.getFilledFormDataByRefs(["baseInfoRef", "storageConditionRef", "stepFormPackageRef", "tableRef", "stepRef", "remarkRef"]) }, async getFormData() { - let content = await this.validFormFields(["baseInfoRef", "storageConditionRef", "stepFormPackageRef","tableRef" ,"stepRef", "remarkRef"]); + let content = await this.validFormFields(["baseInfoRef", "storageConditionRef", "stepFormPackageRef", "tableRef", "stepRef", "remarkRef"]); //生成resource let tmpResource = [] debugger //配置的试剂 tmpResource.push({ mc: content.targetName, - bh: content.targetCode+content.targetCodeSn, + bh: content.targetCode + content.targetCodeSn, ph: '', nd: content.targetActConcentration + content.targetActConcentrationUnit, source: 'ELN配制', @@ -326,12 +330,12 @@ export default { kc: content.targetActVolume, kcdw: content.targetActVolumeUnit, syl: null, - syldw:content.targetActVolumeUnit, - yxzq:content.effectivePeriod, - yxzqdw:content.effectivePeriodUnit, + syldw: content.targetActVolumeUnit, + yxzq: content.effectivePeriod, + yxzqdw: content.effectivePeriodUnit, }) //使用的试剂 - this.resource=tmpResource + this.resource = tmpResource return content; }, diff --git a/src/views/business/comps/template/formConfig/SWYPFXFFXYPZBBTableConfig.js b/src/views/business/comps/template/formConfig/SWYPFXFFXYPZBBTableConfig.js index 6207f24..bca0667 100644 --- a/src/views/business/comps/template/formConfig/SWYPFXFFXYPZBBTableConfig.js +++ b/src/views/business/comps/template/formConfig/SWYPFXFFXYPZBBTableConfig.js @@ -104,3 +104,120 @@ export const getSWYPFXFFXYPZBBTableConfig = ( } return arr } + +// 提取回收率-溶液稀释 +export const getSWYPFXFFXYPZBBTQHSLTableConfig = ( + $this, + selectKey, +) => { + let arr = [ + { + label: 'template.sp.sp008.bh', + prop: 'bh', + bodyType: 'select', + bodyOptions: $this.getDictOptions(selectKey), + bodySubType: 'span', + bodySubKey: 'bhCode', + bodyFillType: 'preFill', + width: 280 + }, + { + label: 'template.sp.sp008.ysry', + prop: 'ysry', + bodyType: 'input', + bodyFillType: 'preFill', + width: 280 + }, + { + label: 'template.sp.sp008.sjry', + prop: 'sjry', + bodyType: 'clickable', + bodyFillType: 'actFill', + width: 280 + }, + { + label: 'template.sp.sp008.yjryxql', + prop: 'yjryxql', + width: 320, + headerSelectKey: 'yjryxqlUnit', + fillType: 'preFill', + headerOptions: $this.getDictOptions('business_tjdw'), + bodyType: 'inputNumber', + bodyFillType: 'preFill', + bodyMaxlength: 10 + }, + { + label: 'template.sp.sp008.sjryxql', + prop: 'sjryxql', + width: 300, + headerSelectKey: 'sjryxqlUnit', + fillType: 'preFill', + headerOptions: $this.getDictOptions('business_tjdw'), + bodyType: 'inputNumber', + bodyFillType: 'actFill', + bodyMaxlength: 10, + bodyCompareTo: 'yjryxql', + copyFrom: 'yjryxql' + }, + { + label: 'template.sp.sp009.yjgzyxql', + prop: 'yjgzyxql', + width: 350, + headerSelectKey: 'yjgzyxqlUnit', + fillType: 'preFill', + headerOptions: $this.getDictOptions('business_tjdw'), + bodyType: 'inputNumber', + bodyFillType: 'preFill', + bodyMaxlength: 10 + }, + { + label: 'template.sp.sp009.sjgzyxql', + prop: 'sjgzyxql', + width: 350, + headerSelectKey: 'sjgzyxqlUnit', + fillType: 'preFill', + headerOptions: $this.getDictOptions('business_tjdw'), + bodyType: 'inputNumber', + bodyFillType: 'actFill', + bodyMaxlength: 10, + bodyCompareTo: 'yjjzxql', + copyFrom: 'yjjzxql' + }, + { + label: 'template.sp.sp009.yjxsyxql', + prop: 'yjxsyxql', + width: 350, + headerSelectKey: 'yjxsyxqlUnit', + fillType: 'preFill', + headerOptions: $this.getDictOptions('business_tjdw'), + bodyType: 'inputNumber', + bodyFillType: 'preFill', + bodyMaxlength: 10 + }, + { + label: 'template.sp.sp009.sjxsyxql', + prop: 'sjxsyxql', + width: 350, + headerSelectKey: 'sjxsyxqlUnit', + fillType: 'preFill', + headerOptions: $this.getDictOptions('business_tjdw'), + bodyType: 'inputNumber', + bodyFillType: 'actFill', + bodyMaxlength: 10, + bodyCompareTo: 'yjjzxql', + copyFrom: 'yjjzxql' + }, + { + label: 'template.sp.sp008.hhwznd', + prop: 'hhwznd', + width: 280, + headerSelectKey: 'hhwzndUnit', + fillType: 'preFill', + headerOptions: $this.getDictOptions('business_nddw'), + bodyType: 'inputNumber', + bodyFillType: 'preFill', + bodyMaxlength: 10 + } + ] + return arr +}