From f0bad1d2d29e3eda3ef6d5559591c1a788d7b932 Mon Sep 17 00:00:00 2001
From: HanLong <404402223@qq.com>
Date: Tue, 24 Feb 2026 16:03:31 +0800
Subject: [PATCH] =?UTF-8?q?feat:[=E6=A8=A1=E6=9D=BF=E7=AE=A1=E7=90=86][PCR?=
=?UTF-8?q?005]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/lang/en/template/pcr.js | 8 ++
src/lang/zh/template/pcr.js | 8 ++
.../business/comps/template/comps/pcr/PCR005.vue | 6 +-
.../comps/template/formConfig/PCRTableConfig.js | 112 +++++++++++++++++++++
4 files changed, 131 insertions(+), 3 deletions(-)
diff --git a/src/lang/en/template/pcr.js b/src/lang/en/template/pcr.js
index 2598f79..3df6323 100644
--- a/src/lang/en/template/pcr.js
+++ b/src/lang/en/template/pcr.js
@@ -37,6 +37,14 @@ export default {
// PCR分析样品处理表
pcr005: {
clpbh: 'Analysis Batch Number',
+ ypmc: '样品名称',
+ ypcsnd: '样品初始浓度',
+ sxbs: '稀释倍数',
+ ysypxytj: '预设样品吸样体积',
+ sjypxytj: '实际样品吸样体积',
+ ysxsyxytj: '预设稀释液吸样体积',
+ sjxsyxytj: '实际稀释液吸样体积',
+ ypznd: '样品终浓度',
},
// 生物样品分析方法学样品制备表-准确度与精密度
sp008: {
diff --git a/src/lang/zh/template/pcr.js b/src/lang/zh/template/pcr.js
index 8abb2d0..46bd344 100644
--- a/src/lang/zh/template/pcr.js
+++ b/src/lang/zh/template/pcr.js
@@ -36,6 +36,14 @@ export default {
// PCR分析样品处理表
pcr005: {
clpbh: '处理批编号',
+ ypmc: '样品名称',
+ ypcsnd: '样品初始浓度',
+ sxbs: '稀释倍数',
+ ysypxytj: '预设样品吸样体积',
+ sjypxytj: '实际样品吸样体积',
+ ysxsyxytj: '预设稀释液吸样体积',
+ sjxsyxytj: '实际稀释液吸样体积',
+ ypznd: '样品终浓度',
},
// 生物样品分析方法学样品制备表-Recovery
sp009: {
diff --git a/src/views/business/comps/template/comps/pcr/PCR005.vue b/src/views/business/comps/template/comps/pcr/PCR005.vue
index 1b1d167..6cd8953 100644
--- a/src/views/business/comps/template/comps/pcr/PCR005.vue
+++ b/src/views/business/comps/template/comps/pcr/PCR005.vue
@@ -20,7 +20,7 @@
{{ $t('template.common.downloadTemplate') }}
{{ $t('template.common.importTemplate') }}
{
}
]
}
+
+// PCR005
+export const getPCR005Config = ($this) => {
+ return [
+ {
+ label: 'template.pcr.pcr005.ypmc',
+ prop: 'ypmc',
+ width: 280,
+ bodyType: 'input',
+ fillType: 'preFill',
+ otherCode: 'bhOther',
+ bodyFillType: 'preFill',
+ },
+ {
+ label: 'template.pcr.pcr005.ypcsnd',
+ prop: 'ypcsnd',
+ width: 280,
+ showWidth: 180,
+ fillType: 'preFill',
+ headerSelectKey: 'ypcsndUnit',
+ headerOptions: $this.getDictOptions('business_nddw'),
+ bodyType: 'inputNumber',
+ bodyFillType: 'preFill',
+ bodyMaxlength: 10,
+ },
+ {
+ label: 'template.pcr.pcr005.sxbs',
+ prop: 'sxbs',
+ width: 280,
+ showWidth: 180,
+ fillType: 'preFill',
+ bodyType: 'inputNumber',
+ bodyFillType: 'preFill',
+ bodyMaxlength: 10,
+ },
+ {
+ label: 'template.pcr.pcr005.ysypxytj',
+ prop: 'ysypxytj',
+ width: 280,
+ showWidth: 180,
+ fillType: 'preFill',
+ headerSelectKey: 'ysypxytjUnit',
+ headerOptions: $this.getDictOptions('business_tjdw'),
+ bodyType: 'inputNumber',
+ bodyFillType: 'preFill',
+ bodyMaxlength: 10,
+ },
+ {
+ label: 'template.pcr.pcr005.sjypxytj',
+ prop: 'sjypxytj',
+ width: 280,
+ showWidth: 180,
+ fillType: 'preFill',
+ headerSelectKey: 'sjypxytjUnit',
+ headerOptions: $this.getDictOptions('business_tjdw'),
+ bodyType: 'inputNumber',
+ bodyFillType: 'actFill',
+ bodyMaxlength: 10,
+ },
+ {
+ label: 'template.pcr.pcr005.ysxsyxytj',
+ prop: 'ysxsyxytj',
+ width: 280,
+ showWidth: 180,
+ fillType: 'preFill',
+ headerSelectKey: 'ysxsyxytjUnit',
+ headerOptions: $this.getDictOptions('business_tjdw'),
+ bodyType: 'inputNumber',
+ bodyFillType: 'preFill',
+ bodyMaxlength: 10,
+ bodySubType: 'inputNumber',
+ bodySubKey: 'actSolutionVolumePrecision',
+ bodyFillType: 'preFill',
+ bodySubFillType: 'preFill',
+ showBodySub: $this.fillType === 'preFill',
+ bodyPrecisionKey: 0,
+ bodyMaxlength: 10,
+ bodySubPlaceholder: 'template.common.xswsPlaceholder',
+ },
+ {
+ label: 'template.pcr.pcr005.sjxsyxytj',
+ prop: 'sjxsyxytj',
+ width: 280,
+ showWidth: 180,
+ fillType: 'preFill',
+ headerSelectKey: 'sjxsyxytjUnit',
+ headerOptions: $this.getDictOptions('business_tjdw'),
+ bodyType: 'inputNumber',
+ bodyFillType: 'actFill',
+ bodyMaxlength: 10,
+ },
+ {
+ label: 'template.pcr.pcr005.ypznd',
+ prop: 'ypznd',
+ width: 280,
+ showWidth: 180,
+ fillType: 'preFill',
+ headerSelectKey: 'ypzndUnit',
+ headerOptions: $this.getDictOptions('business_nddw'),
+ bodyType: 'inputNumber',
+ bodyFillType: 'preFill',
+ bodyMaxlength: 10,
+ bodySubType: 'inputNumber',
+ bodySubKey: 'targetDiluentVolumePrecision',
+ bodyPrecisionKey: 'targetDiluentVolumePrecision',
+ bodySubFillType: 'preFill',
+ showBodySub: $this.fillType === 'preFill',
+ bodyMaxlength: 10,
+ bodySubPlaceholder: 'template.common.xswsPlaceholder',
+ },
+ ]
+}
\ No newline at end of file