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 @@