diff --git a/src/api/business/systemLog/systemLog.js b/src/api/business/systemLog/systemLog.js
index 4526380..48cf0ce 100644
--- a/src/api/business/systemLog/systemLog.js
+++ b/src/api/business/systemLog/systemLog.js
@@ -7,3 +7,10 @@ export function systemLog_list(query) {
params: query
})
}
+export function systemLog_czlxList(query) {
+ return request({
+ url: '/system/business/systemLog/czlxList',
+ method: 'get',
+ params: query
+ })
+}
diff --git a/src/api/system/user.js b/src/api/system/user.js
index 076095e..1577c9b 100644
--- a/src/api/system/user.js
+++ b/src/api/system/user.js
@@ -168,10 +168,3 @@ export function roleChangeList(query) {
params: query
})
}
-export function roleChangeExport(data) {
- return request({
- url: '/system/business/roleChange/export',
- method: 'post',
- data
- })
-}
diff --git a/src/components/Template/Table.vue b/src/components/Template/Table.vue
index 194c8c7..e712cb0 100644
--- a/src/components/Template/Table.vue
+++ b/src/components/Template/Table.vue
@@ -15,7 +15,8 @@
- | {{ ditem[item.prop] }} |
+
+ {{item.prop=='ndz'? (ditem['nd']+ditem['nddw']):ditem[item.prop] }} |
diff --git a/src/lang/en.js b/src/lang/en.js
index df47bc5..3d56934 100644
--- a/src/lang/en.js
+++ b/src/lang/en.js
@@ -11,6 +11,8 @@ import dept from './en/system/dept'
import user from './en/system/user'
// 模板管理
import template from './en/system/template'
+// 字典管理
+import dict from './en/system/dict'
// 公共模板语言配置
import commonTemplate from './en/template/commonTemplate'
//色谱模板
@@ -91,7 +93,7 @@ export default {
close: 'Close',
operate: 'Action',
delete: 'Delete',
- detail: 'Dtail',
+ detail: 'Detail',
placeholderInput: 'Please Input',
placeholderSelect: 'Please Select',
confirmDelete: 'Confirm Delete?',
@@ -151,7 +153,8 @@ export default {
dept,
user,
template,
- systemLog
+ systemLog,
+ dict
},
business: {
home: home,
diff --git a/src/lang/en/system/dict.js b/src/lang/en/system/dict.js
new file mode 100644
index 0000000..00fc703
--- /dev/null
+++ b/src/lang/en/system/dict.js
@@ -0,0 +1,9 @@
+export default {
+ name: 'Name',
+ type: 'Type',
+
+ bq: 'Label',
+ jz: 'Value',
+ sort: 'Sort',
+ refresh: 'Refresh Cache'
+}
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.js b/src/lang/zh.js
index 60fe169..6572be8 100644
--- a/src/lang/zh.js
+++ b/src/lang/zh.js
@@ -11,6 +11,8 @@ import dept from './zh/system/dept'
import user from './zh/system/user'
// 模板管理
import template from './zh/system/template'
+// 字典管理
+import dict from './zh/system/dict'
// 公共模板语言配置
import commonTemplate from './zh/template/commonTemplate'
//色谱模板
@@ -147,7 +149,8 @@ export default {
dept,
user,
template,
- systemLog
+ systemLog,
+ dict
},
business: {
home: home,
diff --git a/src/lang/zh/system/dict.js b/src/lang/zh/system/dict.js
new file mode 100644
index 0000000..7ac77aa
--- /dev/null
+++ b/src/lang/zh/system/dict.js
@@ -0,0 +1,9 @@
+export default {
+ name: '名称',
+ type: '类型',
+
+ bq: '标签',
+ jz: '键值',
+ sort: '排序',
+ refresh: '刷新缓存'
+}
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/layout/components/AppMain.vue b/src/layout/components/AppMain.vue
index e5f43d5..451220e 100644
--- a/src/layout/components/AppMain.vue
+++ b/src/layout/components/AppMain.vue
@@ -47,7 +47,7 @@ export default {
\ No newline at end of file
diff --git a/src/views/business/comps/template/comps/sp/SP001.vue b/src/views/business/comps/template/comps/sp/SP001.vue
index b52c651..d42bf55 100644
--- a/src/views/business/comps/template/comps/sp/SP001.vue
+++ b/src/views/business/comps/template/comps/sp/SP001.vue
@@ -27,7 +27,7 @@
-
+
diff --git a/src/views/business/comps/template/comps/sp/SP00456.vue b/src/views/business/comps/template/comps/sp/SP00456.vue
index ad62715..d8a5816 100644
--- a/src/views/business/comps/template/comps/sp/SP00456.vue
+++ b/src/views/business/comps/template/comps/sp/SP00456.vue
@@ -202,6 +202,7 @@ export default {
kcdw: dw,
}
})
+ debugger
let postData = {
studyId: this.formData.studyId,
studyFormId: this.formData.id,
@@ -227,6 +228,7 @@ export default {
const { rowData, headerSelectFields } = val;
//计算实际目标溶液体积(实际起始溶液体积+实际稀释液体积)
const { total, unit } = addTj([rowData.actStartSolutionVolume, rowData.actDiluentVolume], [headerSelectFields.actStartSolutionVolumeUnit, headerSelectFields.actDiluentVolumeUnit])
+ debugger
let postData = {
mc: null,
bh: rowData.targetSolutionCode + rowData.subTargetSolutionCode,
@@ -407,6 +409,7 @@ export default {
const targetAcSolution = this.$refs[`ladderStepFormPackageRef_${configIndex}`][0]?.getFormDataByKey("targetAcSolution") || 0;//获取实际起始溶液浓度
if (targetAcSolution) {
const volResult = this.updateSjmbrynd(item, targetAcSolution);
+ debugger
if (!volResult) {
return
}
@@ -507,6 +510,7 @@ export default {
}
console.log(volResult.actNd, "actNd")
item.actSolutionVolume = volResult.actVol;
+ debugger
item.actSolutionConcentration = volResult.actNd;
// 更新stepTableRef组件的数据
})
@@ -595,7 +599,7 @@ export default {
debugger
let tmpResource = []
if (this.fillType === "actFill") {
- //平行配置
+ //阶梯配置
if (content.ladderConfigs && content.ladderConfigs.length > 0) {
for (let i = 0; i < content.ladderConfigs.length; i++) {
let ladderConfigs = content.ladderConfigs[i]
@@ -689,7 +693,7 @@ export default {
}
}
}
- //阶梯配置
+ //平行配置
if (content.paralleConfigs && content.paralleConfigs.length > 0) {
for (let i = 0; i < content.paralleConfigs.length; i++) {
let paralleConfigs = content.paralleConfigs[i]
@@ -742,24 +746,6 @@ export default {
yxzq: stepTableFormData[j].targetSolutionCycle,
yxzqdw: stepTableFormData[j].targetSolutionCyclePrecision,
})
- //起始源溶液
- tmpResource.push({
- mc: null,
- bh: paralleConfigs.subStartSolution,
- ph: null,
- nd: null,
- nddw: null,
- ndz: null,
- ly: null,
- sxrq: null,
- kc: null,
- kcdw: null,
- type: 1,
- syl: stepTableFormData[j].actSolutionVolume,
- syldw: paralleConfigs.headerSelectFields.actSolutionVolumeUnit,
- yxzq: null,
- yxzqdw: null,
- })
//稀释液
tmpResource.push({
mc: null,
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'
+ }
+ }
+ }
+ ]
+}
diff --git a/src/views/business/comps/template/mixins/templateMixin.js b/src/views/business/comps/template/mixins/templateMixin.js
index 4fd31d2..5bea18c 100644
--- a/src/views/business/comps/template/mixins/templateMixin.js
+++ b/src/views/business/comps/template/mixins/templateMixin.js
@@ -397,18 +397,18 @@ export default {
return false
}
const actNd = (
- targetAcSolution /
- actStartSolutionVolume /
- actVol
+ parseFloat(targetAcSolution) /
+ parseFloat(actStartSolutionVolume) /
+ parseFloat(actVol)
).toFixed(precision)
const nd = actNd === 'Infinity' ? 0 : Number(actNd)
console.log(actNd, targetAcSolution, actStartSolutionVolume, actVol, "actNd")
-
// item.actSolutionConcentration = actNd === 'Infinity' ? 0 : actNd
return { actVol:Number(actVol), actNd: nd }
},
//更新起始溶液体积时,计算目标溶液预计浓度
updateTargetStartSolutionVolume(item, volume) {
+ debugger
const precision = item.targetStartSolutionVolumePrecision || 0
const concentration = item.targetSolutionConcentration || 0
const targetVolume = item.targetSolutionVolume || 0
diff --git a/src/views/business/systemLog/comp/czrz.vue b/src/views/business/systemLog/comp/czrz.vue
index 9636f6d..e6bed8c 100644
--- a/src/views/business/systemLog/comp/czrz.vue
+++ b/src/views/business/systemLog/comp/czrz.vue
@@ -4,7 +4,7 @@
+ style="width: 120px" />
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+ style="width: 120px" />
{{ $t('page.business.study.study.search') }}
{{ $t('form.reset') }}
+ {{$t('form.export')}}
@@ -61,7 +59,7 @@