diff --git a/src/lang/en/template/pcr.js b/src/lang/en/template/pcr.js index 1600c5b..6d8d914 100644 --- a/src/lang/en/template/pcr.js +++ b/src/lang/en/template/pcr.js @@ -1,67 +1,92 @@ -//色谱 +//PCR export default { // PCR分析溶液配制记录表 - pcr001:{ - title: 'PCR分析溶液配制记录表', - + pcr001: { + title: 'PCR分析溶液配制记录表' }, - // 生物样品分析储备液配制表 - sp002:{ - title: '生物样品分析储备液配制表', - + // PCR分析工作液制备表 + pcr002: { + title: 'PCR分析工作液制备表', + qsyry: 'Source Solution', + ysqsyrynd: 'Expected Concentration of Source Solution', + mbryyxzq: 'Validity Period of Target Solution', + mbrysxr: 'Expiration Date of Target Solution', + mbrybh: 'Target Solution ID', + qsrybh: 'Source Solution ID', + ysqsrytj: 'Expected Volume of Source Solution', + sjqsrytj: 'Actual Source Solution Volume', + ysxsytj: 'Expected Volume of Diluent', + sjxsytj: 'Actual Volume of Diluent', + ysmbrynd: 'Expected Concentration of Target Solution', + sjmbrynd: 'Actual Concentration of Target Solution', + ysmbrytj: 'Expected Volume of Target Solution', + sjmbrytj: 'Actual Volume of Target Solution', + mbryyxzq: 'Validity Period of Target Solution', + mbrysxr: 'Expiration Date of Target Solution', + ysysrybh: '预设原始溶液编号', + sjysrybh: '实际原始溶液编号', + ysysrynd: '预设原始溶液浓度', + sjysrynd: '实际原始溶液浓度', + ysysrytj: '预设原始溶液体积', + sjysrytj: '实际原始溶液体积', + yjxsytj: 'Expected Volume of Diluent', + sjxsytj: 'Actual Volume of Diluent', + sjqsyrynd: 'Actual Concentration of Source Solution', + xsy: 'Diluent', + rqcz: 'Container Material', + cctj: 'Storage Condition', }, // 生物样品标曲工作液制备表 - sp003:{ + sp003: { title: '生物样品标曲工作液制备表', rqcz: 'Container Material', - cctj:'Storage Condition', - qsyry:'Source Solution', - ysqsyrynd:'Expected Concentration of Source Solution', - sjqsyrynd:'Actual Concentration of Source Solution', - xsy:'Diluent', - qsbhstd:'STD Starting Number', - mbryyxzq:'Validity Period of Target Solution', - mbrysxr:'Expiration Date of Target Solution', - mbrybh:'Target Solution ID', - qsrybh:'Source Solution ID', - ysqsrytj:'Expected Volume of Source Solution', - sjqsrytj:'Actual Source Solution Volume', - ysxsytj:'Expected Volume of Diluent', - sjxsytj:'Actual Volume of Diluent', - ysmbrynd:'Expected Concentration of Target Solution', - sjmbrynd:'Actual Concentration of Target Solution', - ysmbrytj:'Expected Volume of Target Solution', - sjmbrytj:'Actual Volume of Target Solution', + cctj: 'Storage Condition', + qsyry: 'Source Solution', + ysqsyrynd: 'Expected Concentration of Source Solution', + + + qsbhstd: 'STD Starting Number', + + + mbrybh: 'Target Solution ID', + qsrybh: 'Source Solution ID', + ysqsrytj: 'Expected Volume of Source Solution', + sjqsrytj: 'Actual Source Solution Volume', + ysxsytj: 'Expected Volume of Diluent', + sjxsytj: 'Actual Volume of Diluent', + ysmbrynd: 'Expected Concentration of Target Solution', + sjmbrynd: 'Actual Concentration of Target Solution', + ysmbrytj: 'Expected Volume of Target Solution', + sjmbrytj: 'Actual Volume of Target Solution' }, - // 生物样品内标工作液制备表 - sp00456:{ + // 生物样品内标工作液制备表 + sp00456: { title: '生物样品内标工作液制备表', - mbrybh:'Target Solution ID', - qsrybh:'Source Solution ID', - ysqsrytj:'Expected Volume of Source Solution', - sjqsrytj:'Actual Source Solution Volume', - ysxsytj:'Expected Volume of Diluent', - sjxsytj:'Actual Volume of Diluent', - ysmbrynd:'Expected Concentration of Target Solution', - sjmbrynd:'Actual Concentration of Target Solution', - ysmbrytj:'Expected Volume of Target Solution', - sjmbrytj:'Actual Volume of Target Solution', - mbryyxzq:'Validity Period of Target Solution', - mbrysxr:'Expiration Date of Target Solution', - ysysrybh:'预设原始溶液编号', - sjysrybh:'实际原始溶液编号', - ysysrynd:'预设原始溶液浓度', - sjysrynd:'实际原始溶液浓度', - ysysrytj:'预设原始溶液体积', - sjysrytj:'实际原始溶液体积', - yjxsytj:'Expected Volume of Diluent', - sjxsytj:'Actual Volume of Diluent', - qsyry:'Source Solution', - ysqsyrynd:'Expected Concentration of Source Solution', - sjqsyrynd:'Actual Concentration of Source Solution', - xsy:'Diluent', + mbrybh: 'Target Solution ID', + qsrybh: 'Source Solution ID', + ysqsrytj: 'Expected Volume of Source Solution', + sjqsrytj: 'Actual Source Solution Volume', + ysxsytj: 'Expected Volume of Diluent', + sjxsytj: 'Actual Volume of Diluent', + ysmbrynd: 'Expected Concentration of Target Solution', + sjmbrynd: 'Actual Concentration of Target Solution', + ysmbrytj: 'Expected Volume of Target Solution', + sjmbrytj: 'Actual Volume of Target Solution', + mbryyxzq: 'Validity Period of Target Solution', + mbrysxr: 'Expiration Date of Target Solution', + ysysrybh: '预设原始溶液编号', + sjysrybh: '实际原始溶液编号', + ysysrynd: '预设原始溶液浓度', + sjysrynd: '实际原始溶液浓度', + ysysrytj: '预设原始溶液体积', + sjysrytj: '实际原始溶液体积', + yjxsytj: 'Expected Volume of Diluent', + sjxsytj: 'Actual Volume of Diluent', + + sjqsyrynd: 'Actual Concentration of Source Solution', + xsy: 'Diluent', rqcz: 'Container Material', - cctj:'Storage Condition', + }, // 生物样品分析方法学样品制备表-准确度与精密度 sp008: { diff --git a/src/lang/zh/template/pcr.js b/src/lang/zh/template/pcr.js index 2cd6b64..cea497b 100644 --- a/src/lang/zh/template/pcr.js +++ b/src/lang/zh/template/pcr.js @@ -1,67 +1,91 @@ -//色谱 +//PCR export default { // PCR分析溶液配制记录表 - pcr001:{ - title: 'PCR分析溶液配制记录表', - + pcr001: { + title: 'PCR分析溶液配制记录表' }, - // 生物样品分析储备液配制表 - sp002:{ - title: '生物样品分析储备液配制表', - + // PCR分析工作液制备表 + pcr002: { + title: 'PCR分析工作液制备表', + mbrybh: '目标溶液编号', + qsrybh: '起始溶液编号', + ysqsrytj: '预设起始溶液体积', + sjqsrytj: '实际起始溶液体积', + ysxsytj: '预设稀释液体积', + sjxsytj: '实际稀释液体积', + ysmbrynd: '预设目标溶液浓度', + sjmbrynd: '实际目标溶液浓度', + ysmbrytj: '预设目标溶液体积', + sjmbrytj: '实际目标溶液体积', + mbryyxzq: '目标溶液有效周期', + mbrysxr: '目标溶液失效日', + ysysrybh: '预设原始溶液编号', + sjysrybh: '实际原始溶液编号', + ysysrynd: '预设原始溶液浓度', + sjysrynd: '实际原始溶液浓度', + ysysrytj: '预设原始溶液体积', + sjysrytj: '实际原始溶液体积', + yjxsytj: '预计稀释液体积', + sjxsytj: '实际稀释液体积', + qsyry: '起始源溶液', + ysqsyrynd: '预设起始源溶液浓度', + sjqsyrynd: '实际起始源溶液浓度', + xsy: '稀释液', + rqcz: '容器材质', + cctj: '存储条件' }, // 生物样品标曲工作液制备表 - sp003:{ + sp003: { title: '生物样品标曲工作液制备表', rqcz: '容器材质', - cctj:'存储条件', - qsyry:'起始源溶液', - ysqsyrynd:'预设起始源溶液浓度', - sjqsyrynd:'实际起始源溶液浓度', - xsy:'稀释液', - qsbhstd:'起始编号STD', - mbryyxzq:'目标溶液有效周期', - mbrysxr:'目标溶液失效日', - mbrybh:'目标溶液编号', - qsrybh:'起始溶液编号', - ysqsrytj:'预设起始溶液体积', - sjqsrytj:'实际起始溶液体积', - ysxsytj:'预设稀释液体积', - sjxsytj:'实际稀释液体积', - ysmbrynd:'预设目标溶液浓度', - sjmbrynd:'实际目标溶液浓度', - ysmbrytj:'预设目标溶液体积', - sjmbrytj:'实际目标溶液体积', + cctj: '存储条件', + qsyry: '起始源溶液', + ysqsyrynd: '预设起始源溶液浓度', + sjqsyrynd: '实际起始源溶液浓度', + xsy: '稀释液', + qsbhstd: '起始编号STD', + mbryyxzq: '目标溶液有效周期', + mbrysxr: '目标溶液失效日', + mbrybh: '目标溶液编号', + qsrybh: '起始溶液编号', + ysqsrytj: '预设起始溶液体积', + sjqsrytj: '实际起始溶液体积', + ysxsytj: '预设稀释液体积', + sjxsytj: '实际稀释液体积', + ysmbrynd: '预设目标溶液浓度', + sjmbrynd: '实际目标溶液浓度', + ysmbrytj: '预设目标溶液体积', + sjmbrytj: '实际目标溶液体积' }, // 生物样品内标工作液制备表 - sp00456:{ + sp00456: { title: '生物样品内标工作液制备表', - mbrybh:'目标溶液编号', - qsrybh:'起始溶液编号', - ysqsrytj:'预设起始溶液体积', - sjqsrytj:'实际起始溶液体积', - ysxsytj:'预设稀释液体积', - sjxsytj:'实际稀释液体积', - ysmbrynd:'预设目标溶液浓度', - sjmbrynd:'实际目标溶液浓度', - ysmbrytj:'预设目标溶液体积', - sjmbrytj:'实际目标溶液体积', - mbryyxzq:'目标溶液有效周期', - mbrysxr:'目标溶液失效日', - ysysrybh:'预设原始溶液编号', - sjysrybh:'实际原始溶液编号', - ysysrynd:'预设原始溶液浓度', - sjysrynd:'实际原始溶液浓度', - ysysrytj:'预设原始溶液体积', - sjysrytj:'实际原始溶液体积', - yjxsytj:'预计稀释液体积', - sjxsytj:'实际稀释液体积', - qsyry:'起始源溶液', - ysqsyrynd:'预设起始源溶液浓度', - sjqsyrynd:'实际起始源溶液浓度', - xsy:'稀释液', + mbrybh: '目标溶液编号', + qsrybh: '起始溶液编号', + ysqsrytj: '预设起始溶液体积', + sjqsrytj: '实际起始溶液体积', + ysxsytj: '预设稀释液体积', + sjxsytj: '实际稀释液体积', + ysmbrynd: '预设目标溶液浓度', + sjmbrynd: '实际目标溶液浓度', + ysmbrytj: '预设目标溶液体积', + sjmbrytj: '实际目标溶液体积', + mbryyxzq: '目标溶液有效周期', + mbrysxr: '目标溶液失效日', + ysysrybh: '预设原始溶液编号', + sjysrybh: '实际原始溶液编号', + ysysrynd: '预设原始溶液浓度', + sjysrynd: '实际原始溶液浓度', + ysysrytj: '预设原始溶液体积', + sjysrytj: '实际原始溶液体积', + yjxsytj: '预计稀释液体积', + sjxsytj: '实际稀释液体积', + qsyry: '起始源溶液', + ysqsyrynd: '预设起始源溶液浓度', + sjqsyrynd: '实际起始源溶液浓度', + xsy: '稀释液', rqcz: '容器材质', - cctj:'存储条件', + cctj: '存储条件' }, // 生物样品分析方法学样品制备表-准确度与精密度 sp008: { diff --git a/src/views/business/comps/template/TemplateTable.vue b/src/views/business/comps/template/TemplateTable.vue index fc9455d..f8ac4da 100644 --- a/src/views/business/comps/template/TemplateTable.vue +++ b/src/views/business/comps/template/TemplateTable.vue @@ -46,6 +46,7 @@ import MJYLQSQD from "./comps/gsp/MJYLQSQD.vue"; // PCR import PCR001 from "./comps/pcr/PCR001.vue"; +import PCR002 from "./comps/pcr/PCR002.vue"; export default { name: "TemplateTable", @@ -57,7 +58,7 @@ export default { //色谱 SP001, SP002, SP003, SP00456, SP008, SP009, SP010, SP011, SP012, SP013, SP014, SP015, SP016, SP017, SP018, // PCR - PCR001 + PCR001, PCR002 }, props: { sn: { @@ -104,7 +105,8 @@ export default { 'SYWZPZJHB': 'SYWZPZJHB', 'MJYLQSQD': 'MJYLQSQD', //PCR - 'PCR001': 'PCR001' + 'PCR001': 'PCR001', + 'PCR002': 'PCR002' } } return this.componentMap || "Demo" diff --git a/src/views/business/comps/template/comps/pcr/PCR002.vue b/src/views/business/comps/template/comps/pcr/PCR002.vue new file mode 100644 index 0000000..f0f2022 --- /dev/null +++ b/src/views/business/comps/template/comps/pcr/PCR002.vue @@ -0,0 +1,330 @@ + + + + + {{ formData.bdmc || + $t('template.pcr.pcr002.title') }} + + + + + + + + + + + + + deleteRow(rowIndex)" + @subPackageSubmit="subPackageSubmit" + @startConfig="startConfig" + @configComplete="configComplete" + > + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/views/business/comps/template/formConfig/PCRTableConfig.js b/src/views/business/comps/template/formConfig/PCRTableConfig.js new file mode 100644 index 0000000..7745916 --- /dev/null +++ b/src/views/business/comps/template/formConfig/PCRTableConfig.js @@ -0,0 +1,574 @@ +// 阶梯配置表格列配置 +export const getLadderColumnsConfig = ($this) => { + return [ + { + label: 'template.pcr.pcr002.mbrybh', + prop: 'targetSolutionCode', + bodyType: 'input', + bodySubType: 'span', + bodySubKey: 'subTargetSolutionCode', + bodyFillType: 'preFill', + width: 280, + myCodeFields: ["targetSolutionCode", "subTargetSolutionCode"],//分装的母液编号字段 + maxVolumeField: "actSolutionVolume",//分装的最大量字段 + maxVolumeFieldUnit: "actSolutionVolumeUnit",//分装的最大量单位字段 + }, + { + label: 'template.pcr.pcr002.qsrybh', + prop: 'startSolutionCode', + width: 280, + bodyType: 'input', + bodyFillType: 'actFill', + bodyMaxlength: 10 + }, + { + label: 'template.pcr.pcr002.ysqsrytj', + prop: 'targetStartSolutionVolume', + width: 280, + headerSelectKey: 'targetStartSolutionVolumeUnit', + fillType: 'preFill', + headerOptions: $this.getDictOptions('business_tjdw'), + bodyType: 'inputNumber', + bodySubType: 'inputNumber', + bodySubKey: 'targetStartSolutionVolumePrecision', + bodyFillType: 'preFill', + bodySubFillType: 'preFill', + showBodySub: $this.fillType === 'preFill', + bodyPrecisionKey: 'targetStartSolutionVolumePrecision', + bodyMaxlength: 10, + bodyDisabled: true, + bodySubPlaceholder: 'template.common.xswsPlaceholder' + }, + { + label: 'template.pcr.pcr002.sjqsrytj', + prop: 'actStartSolutionVolume', + width: 280, + headerSelectKey: 'actStartSolutionVolumeUnit', + fillType: 'preFill', + headerOptions: $this.getDictOptions('business_tjdw'), + bodyType: 'inputNumber', + bodyFillType: 'actFill', + bodyMaxlength: 10, + copyFrom: 'targetStartSolutionVolume', //复制哪个字段 + compareTo: 'targetStartSolutionVolume' //比较哪个字段 + }, + { + label: 'template.pcr.pcr002.ysxsytj', + prop: 'targetDiluentVolume', + width: 280, + headerSelectKey: 'targetDiluentVolumeUnit', + fillType: 'preFill', + headerOptions: $this.getDictOptions('business_tjdw'), + bodyDisabled: true, + bodyType: 'inputNumber', + bodySubType: 'inputNumber', + bodySubKey: 'targetDiluentVolumePrecision', + bodyFillType: 'preFill', + bodySubFillType: 'preFill', + showBodySub: $this.fillType === 'preFill', + + bodyPrecisionKey: 'targetDiluentVolumePrecision', + bodyMaxlength: 10, + bodySubPlaceholder: 'template.common.xswsPlaceholder' + }, + { + label: 'template.pcr.pcr002.sjxsytj', + prop: 'actDiluentVolume', + width: 280, + headerSelectKey: 'actDiluentVolumeUnit', + fillType: 'preFill', + headerOptions: $this.getDictOptions('business_tjdw'), + bodyType: 'inputNumber', + bodyFillType: 'actFill', + bodyMaxlength: 10, + copyFrom: 'targetDiluentVolume', //复制哪个字段 + compareTo: 'targetDiluentVolume', //比较哪个字段 + }, + { + label: 'template.pcr.pcr002.ysmbrynd', + prop: 'targetSolutionConcentration', + width: 280, + headerSelectKey: 'targetSolutionConcentrationUnit', + fillType: 'preFill', + headerOptions: $this.getDictOptions('business_nddw'), + bodyType: 'inputNumber', + bodyFillType: 'preFill', + bodyMaxlength: 10 + }, + { + label: 'template.pcr.pcr002.sjmbrynd', + prop: 'actSolutionConcentration', + width: 280, + headerSelectKey: 'actSolutionConcentrationUnit', + fillType: 'preFill', + headerOptions: $this.getDictOptions('business_nddw'), + bodyDisabled: true, + bodyType: 'inputNumber', + bodySubType: 'inputNumber', + bodySubKey: 'actSolutionConcentrationPrecision', + bodyFillType: 'actFill', + bodySubFillType: 'preFill', + showBodySub: $this.fillType === 'preFill', + + bodyPrecisionKey: 'actSolutionConcentrationPrecision', + bodyMaxlength: 10, + bodySubPlaceholder: 'template.common.xswsPlaceholder', + compareTo: 'targetSolutionConcentration', //比较哪个字段 + }, + { + label: 'template.pcr.pcr002.ysmbrytj', + prop: 'targetSolutionVolume', + width: 280, + headerSelectKey: 'targetSolutionVolumeUnit', + fillType: 'preFill', + headerOptions: $this.getDictOptions('business_tjdw'), + bodyType: 'inputNumber', + bodyFillType: 'preFill', + bodyMaxlength: 10 + }, + { + label: 'template.pcr.pcr002.sjmbrytj', + prop: 'actSolutionVolume', + width: 280, + headerSelectKey: 'actSolutionVolumeUnit', + fillType: 'preFill', + headerOptions: $this.getDictOptions('business_tjdw'), + bodyDisabled: true, + bodyType: 'inputNumber', + bodySubType: 'inputNumber', + bodySubKey: 'actSolutionVolumePrecision', + bodyFillType: 'actFill', + bodySubFillType: 'preFill', + showBodySub: $this.fillType === 'preFill', + + bodyPrecisionKey: 'actSolutionVolumePrecision', + bodyMaxlength: 10, + // copyFrom: 'targetSolutionVolume', //复制哪个字段 + bodySubPlaceholder: 'template.common.xswsPlaceholder', + compareTo: 'targetSolutionVolume', //比较哪个字段 + } + ] +} +// 平行配置表格列配置 +export const getParallelColumnsConfig = ($this) => { + const sn = $this.sn; + let o = { + "SP004":"business_sp_nbgzy", + "SP005":"business_sp_zkgzy", + "SP006":"business_sp_bzqxzkypzbb", + } + return [ + { + label: 'template.sp.sp00456.mbrybh', + prop: 'targetSolutionCode', + bodyType: 'select', + bodyOptions: $this.getDictOptions(o[sn]), + bodySubType: 'span', + bodySubKey: 'subTargetSolutionCode', + bodyFillType: 'preFill', + myCodeFields: ["targetSolutionCode", "subTargetSolutionCode"],//分装的母液编号字段 + maxVolumeField: "actSolutionVolume",//分装的最大量字段 + maxVolumeFieldUnit: "actSolutionVolumeUnit",//分装的最大量单位字段 + width: 280 + }, + { + label: 'template.sp.sp00456.ysmbrynd', + prop: 'targetSolutionConcentration', + width: 280, + headerSelectKey: 'targetSolutionConcentrationUnit', + fillType: 'preFill', + headerOptions: $this.getDictOptions('business_nddw'), + bodyType: 'inputNumber', + bodyFillType: 'preFill', + bodyMaxlength: 10 + }, + { + label: 'template.sp.sp00456.sjmbrynd', + prop: 'actSolutionConcentration', + width: 280, + headerSelectKey: 'actSolutionConcentrationUnit', + fillType: 'preFill', + headerOptions: $this.getDictOptions('business_nddw'), + bodyDisabled: true, + bodyType: 'inputNumber', + bodySubType: 'inputNumber', + bodySubKey: 'actSolutionConcentrationPrecision', + bodyFillType: 'actFill', + bodySubFillType: 'preFill', + showBodySub: $this.fillType === 'preFill', + bodyPrecisionKey: 'actSolutionConcentrationPrecision', + bodyMaxlength: 10, + bodySubPlaceholder: 'template.common.xswsPlaceholder', + compareTo: 'targetSolutionConcentration', //比较哪个字段 + }, + { + label: 'template.sp.sp00456.ysmbrytj', + prop: 'targetSolutionVolume', + width: 280, + headerSelectKey: 'targetSolutionVolumeUnit', + fillType: 'preFill', + headerOptions: $this.getDictOptions('business_tjdw'), + bodyType: 'inputNumber', + bodyFillType: 'preFill', + bodyMaxlength: 10 + }, + { + label: 'template.sp.sp00456.sjmbrytj', + prop: 'actSolutionVolume', + width: 280, + headerSelectKey: 'actSolutionVolumeUnit', + fillType: 'preFill', + headerOptions: $this.getDictOptions('business_tjdw'), + bodyDisabled: true, + bodyType: 'inputNumber', + bodySubType: 'inputNumber', + bodySubKey: 'actSolutionVolumePrecision', + bodyFillType: 'actFill', + bodySubFillType: 'preFill', + showBodySub: $this.fillType === 'preFill', + bodyPrecisionKey: 'actSolutionVolumePrecision', + bodyMaxlength: 10, + bodySubPlaceholder: 'template.common.xswsPlaceholder', + compareTo: 'targetSolutionVolume', //比较哪个字段 + }, + { + label: 'template.sp.sp00456.mbryyxzq', + prop: 'targetSolutionCycle', + width: 280, + fillType: 'preFill', + bodyType: 'inputNumber', + bodySubType: 'select', + showBodySub: true, + bodySubKey: 'targetSolutionCyclePrecision', + bodySubOptions: $this.getDictOptions('business_yxqdw'), + bodyFillType: 'preFill', + bodySubFillType: 'preFill', + bodyMaxlength: 10 + }, + { + label: 'template.sp.sp00456.mbrysxr', + prop: 'targetSolutionExpirationDate', + width: 180, + bodyType: 'span' + }, + { + label: 'template.sp.sp00456.ysysrybh', + prop: 'startSolutionCode', + width: 280, + bodyType: 'input', + bodyFillType: 'preFill' + }, + { + label: 'template.sp.sp00456.sjysrybh', + prop: 'actStartSolutionCode', + width: 280, + bodyType: 'clickable', + bodyFillType: 'actFill', + compareTo: 'startSolutionCode', //比较哪个字段 + }, + { + label: 'template.sp.sp00456.ysysrynd', + prop: 'targetStartSolutionConcentration', + width: 280, + bodyType: 'inputNumber', + bodyFillType: 'preFill', + bodySubType: 'select', + bodySubKey: 'targetStartSolutionConcentrationPrecision', + bodySubOptions: $this.getDictOptions('business_nddw'), + bodySubFillType: 'preFill', + bodyMaxlength: 10, + showBodySub: true + }, + { + label: 'template.sp.sp00456.sjysrynd', + prop: 'targetAcSolution', + width: 280, + bodyType: 'inputNumber', + bodyFillType: 'actFill', + bodyDisabled: true, + compareTo: 'targetStartSolutionConcentration', //比较哪个字段 + }, + { + label: 'template.sp.sp00456.ysysrytj', + prop: 'targetStartSolutionVolume', + headerSelectKey: 'targetStartSolutionVolumeUnit', + fillType: 'preFill', + headerOptions: $this.getDictOptions('business_tjdw'), + width: 280, + bodyType: 'inputNumber', + bodyFillType: 'preFill', + bodySubType: 'inputNumber', + bodySubKey: 'targetStartSolutionVolumePrecision', + bodySubFillType: 'preFill', + bodyMaxlength: 10, + bodyPrecisionKey: 'targetStartSolutionVolumePrecision', + bodyMaxlength: 10, + bodySubPlaceholder: 'template.common.xswsPlaceholder', + bodyDisabled: true, + showBodySub: true, + showBodySub: $this.fillType === 'preFill' + }, + + { + label: 'template.sp.sp00456.sjysrytj', + prop: 'actStartSolutionVolume', + headerSelectKey: 'actStartSolutionVolumeUnit', + fillType: 'preFill', + headerOptions: $this.getDictOptions('business_tjdw'), + width: 280, + bodyType: 'inputNumber', + bodyFillType: 'actFill', + bodyMaxlength: 10, + compareTo: 'targetStartSolutionVolume', //比较哪个字段 + copyFrom: 'targetStartSolutionVolume' //复制哪个字段 + }, + + { + label: 'template.sp.sp00456.yjxsytj', + prop: 'targetDiluentVolume', + headerSelectKey: 'preDiluentVolumeUnit', + fillType: 'preFill', + headerOptions: $this.getDictOptions('business_tjdw'), + width: 280, + bodyType: 'inputNumber', + bodyFillType: 'preFill', + bodySubType: 'inputNumber', + bodySubKey: 'targetDiluentVolumePrecision', + bodySubFillType: 'preFill', + bodyMaxlength: 10, + bodyPrecisionKey: 'targetDiluentVolumePrecision', + bodySubPlaceholder: 'template.common.xswsPlaceholder', + bodyDisabled: true, + showBodySub: $this.fillType === 'preFill' + }, + { + label: 'template.sp.sp00456.sjxsytj', + prop: 'actDiluentVolume', + headerSelectKey: 'actDiluentVolumeUnit', + fillType: 'preFill', + headerOptions: $this.getDictOptions('business_tjdw'), + width: 280, + bodyType: 'inputNumber', + bodyFillType: 'actFill', + bodyMaxlength: 10, + copyFrom:"targetDiluentVolume", + compareTo: 'targetDiluentVolume' //比较哪个字段 + } + ] +} + +//阶梯配置 +export const getLadderFormConfig = ($this) => { + return [ + { + type: 'step', + config: { + startSolution: { + label: 'template.sp.sp00456.qsyry', + type: 'input', + fillType: 'preFill', + subType: 'clickable', + subKey: 'subStartSolution', + subFillType: 'actFill', + maxlength: 20 + }, + targetStartSolution: { + label: 'template.sp.sp00456.ysqsyrynd', + type: 'inputNumber', + subType: 'select', + fillType: 'preFill', + subOptions: $this.getDictOptions('business_nddw'), + subKey: 'subTargetStartSolution', + maxlength: 10 + }, + targetAcSolution: { + label: 'template.sp.sp00456.sjqsyrynd', + type: 'input', + fillType: 'actFill', + disabled: true, + maxlength: 10, + compareTo: 'targetStartSolution', //比较哪个字段 + }, + solution: { + label: 'template.sp.sp00456.xsy', + type: 'input', + fillType: 'preFill', + subType: 'clickable', + subKey: 'subSolution', + subFillType: 'actFill', + maxlength: 20 + }, + stepStorageCondition: { + label: 'template.sp.sp00456.cctj', + type: 'select', + fillType: 'preFill', + options: $this.getDictOptions('business_cctj'), + otherCode: 'stepStorageConditionOther' + }, + + effectivePeriod: { + label: 'template.sp.sp00456.mbryyxzq', + type: 'input', + subType: 'select', + subKey: 'effectivePeriodUnit', + fillType: 'preFill', + subOptions: $this.getDictOptions('business_yxqdw') + }, + expireDate: { + label: 'template.sp.sp00456.mbrysxr', + type: 'input' + } + } + } + ] +} + +//试验基本信息 +export const getBaseInfoFormConfig = ($this) => { + return [ + { + type: 'cardItem', + config: { + studyMc: { + label: 'template.common.testName', + type: 'input', + disabled: true + }, + studySn: { + label: 'template.common.testNumber', + type: 'input', + disabled: true + }, + methodCode: { + label: 'template.common.methodCode', + type: 'input', + fillType: 'preFill', + maxlength: 50 + }, + versionNum: { + label: 'template.common.versionNumber', + type: 'inputNumber', + fillType: 'actFill', + prepend: 'V', + maxlength: 50 + } + } + }, + { + type: 'conditionItem', + label: 'template.common.testConfigurationConditions', + config: { + pre: { + label: 'template.common.preFill', + type: 'select', + multiple: true, + fillType: 'preFill', + options: $this.getDictOptions('business_pztj'), + otherCode: 'preOther' + }, + act: { + label: 'template.common.actualFill', + type: 'select', + fillType: 'actFill', + otherCode: 'actOther', + multiple: true, + options: $this.getDictOptions('business_pztj'), + compareTo: 'pre' + } + } + }, + { + type: 'conditionItem', + label: 'template.sp.sp00456.rqcz', + config: { + containerMaterial: { + label: 'template.sp.sp00456.rqcz', + type: 'select', + options: $this.getDictOptions('business_rqcz'), + fillType: 'actFill', + multiple: true, + otherCode: 'containerMaterialOther' + } + } + }, + { + type: 'cellItem', + label: 'template.common.configurationTime', + config: { + startDate: { + label: 'template.common.startTime', + type: 'input' + }, + endDate: { + label: 'template.common.endTime', + type: 'input' + } + } + } + ] +} + +//备注config +export const getRemarkFormConfig = () => { + return [ + { + type: 'cellItem', + config: { + remark: { + label: '', + type: 'textarea', + fillType: 'actFill', + span: 1, + placeholder: 'template.common.remarkPlaceholder', + maxlength: 1000, + rows: 5 + } + } + } + ] +} + +//存储条件 +export const getStorageConditionFormConfig = ($this) => { + return [ + { + type: 'conditionItem', + config: { + storageCondition: { + label: 'template.sp.sp00456.cctj', + type: 'select', + fillType: 'preFill', + options: $this.getDictOptions('business_cctj'), + otherCode: 'othersSorageCondition' + } + } + } + ] +} + +//并行步骤配置 +export const getParalleStepFormConfig = ($this) => { + return [ + { + type: 'step', + config: { + solution: { + label: 'template.sp.sp00456.xsy', + type: 'input', + fillType: 'preFill', + subType: 'clickable', + subKey: 'subSolution', + subFillType: 'actFill', + maxlength: 20 + }, + paralleStepStorageCondition: { + label: 'template.sp.sp00456.cctj', + type: 'select', + fillType: 'preFill', + options: $this.getDictOptions('business_cctj'), + otherCode: 'paralleStepStorageConditionOther' + } + } + } + ] +}