-

{{ getTemplateName() }}

+

{{ formData.bdmc || getTemplateName()
+ }}

-
+
+
+
-
-
-
-
+
新增平行配制
新增阶梯配制
@@ -86,7 +86,7 @@
:prefixKey="'paralle' + paralleIndex">
-
+
@@ -378,7 +378,7 @@ export default {
// 表格失去焦点事件
onHandleTableBlur(type, configIndex, e) {
- const { colKey = "", item,rowIndex } = e;
+ const { colKey = "", item, rowIndex } = e;
if (colKey === "targetStartSolutionConcentration" || colKey === "targetSolutionVolume" || colKey === "targetSolutionConcentration" || colKey === "targetStartSolutionVolumePrecision" || colKey === "targetDiluentVolumePrecision") {
if (type === "ladder") {
const volume = this.$refs[`ladderStepFormPackageRef_${configIndex}`][0]?.getFormDataByKey("targetStartSolution") || 0;
@@ -395,17 +395,21 @@ export default {
if (type === "ladder") {
const targetAcSolution = this.$refs[`ladderStepFormPackageRef_${configIndex}`][0]?.getFormDataByKey("targetAcSolution") || 0;//获取实际起始溶液浓度
if (targetAcSolution) {
- const {actVol, actNd} = this.updateSjmbrynd(item, targetAcSolution);
- this.$refs[`ladderStepTableRef_${configIndex}`][0]?.updateDataSourceByRowIndex(rowIndex,{actSolutionVolume: actVol,
- actSolutionConcentration: actNd,});
+ const { actVol, actNd } = this.updateSjmbrynd(item, targetAcSolution);
+ this.$refs[`ladderStepTableRef_${configIndex}`][0]?.updateDataSourceByRowIndex(rowIndex, {
+ actSolutionVolume: actVol,
+ actSolutionConcentration: actNd,
+ });
}
} else if (type === "paralle") {
const targetAcSolution = item.targetAcSolution || 0;//获取实际起始溶液浓度
if (targetAcSolution) {
this.updateSjmbrynd(item, targetAcSolution);
- const {actVol, actNd} = this.updateSjmbrynd(item, targetAcSolution);
- this.$refs[`paralleStepTableRef_${configIndex}`][0]?.updateDataSourceByRowIndex(rowIndex,{actSolutionVolume: actVol,
- targetAcSolution: actNd,});
+ const { actVol, actNd } = this.updateSjmbrynd(item, targetAcSolution);
+ this.$refs[`paralleStepTableRef_${configIndex}`][0]?.updateDataSourceByRowIndex(rowIndex, {
+ actSolutionVolume: actVol,
+ targetAcSolution: actNd,
+ });
}
}
@@ -564,7 +568,106 @@ export default {
if (!validFlag) {
return false;
}
- return this.getFilledFormData();
+ let content = this.getFilledFormData();
+ //生成resource
+ let tmpResource = []
+ //平行配置
+ if (content.ladderConfigs && content.ladderConfigs.length > 0) {
+ for (let i = 0; i < content.ladderConfigs.length; i++) {
+ let ladderConfigs = content.ladderConfigs[i]
+ let stepTableFormData = ladderConfigs.stepTableFormData
+ for (let j = 0; j < stepTableFormData.length; j++) {
+ //计算实际目标溶液体积(实际起始溶液体积+实际稀释液体积)
+ const { total, unit } = addTj([stepTableFormData[j].actStartSolutionVolume, stepTableFormData[j].actDiluentVolume], [ladderConfigs.headerSelectFields.actStartSolutionVolumeUnit, ladderConfigs.headerSelectFields.actDiluentVolumeUnit])
+ tmpResource.push({
+ mc: null,
+ bh: stepTableFormData[j].targetSolutionCode + stepTableFormData[j].subTargetSolutionCode,
+ ph: null,
+ nd: stepTableFormData[j].actSolutionConcentration + ladderConfigs.headerSelectFields.actSolutionConcentrationUnit,
+ source: 'ELN配制',
+ sxrq: ladderConfigs.expireDate,
+ ndz: stepTableFormData[j].actSolutionConcentration,
+ nddw: ladderConfigs.headerSelectFields.actSolutionConcentrationUnit,
+ kc: total,
+ kcdw: unit,
+ syl: null,
+ syldw: unit,
+ yxzq: ladderConfigs.effectivePeriod,
+ yxzqdw: ladderConfigs.effectivePeriodUnit,
+ })
+ let fzsj = stepTableFormData[j].fzsj
+ if (fzsj && fzsj.fzList) {
+ for (let k = 0; k < fzsj.fzList.length; k++) {
+ tmpResource.push({
+ mc: null,
+ bh: fzsj.mybh + '-' + fzsj.fzList[k].subCode,
+ ph: null,
+ nd: stepTableFormData[j].actSolutionConcentration + ladderConfigs.headerSelectFields.actSolutionConcentrationUnit,
+ source: 'ELN配制',
+ sxrq: ladderConfigs.expireDate,
+ ndz: stepTableFormData[j].actSolutionConcentration,
+ nddw: ladderConfigs.headerSelectFields.actSolutionConcentrationUnit,
+ kc: fzsj.fzList[k].num,
+ kcdw: fzsj.dw,
+ syl: null,
+ syldw: ladderConfigs.headerSelectFields.actSolutionVolumeUnit,
+ yxzq: ladderConfigs.effectivePeriod,
+ yxzqdw: ladderConfigs.effectivePeriodUnit,
+ })
+ }
+ }
+ }
+ }
+ }
+ //阶梯配置
+ if (content.paralleConfigs && content.paralleConfigs.length > 0) {
+ for (let i = 0; i < content.paralleConfigs.length; i++) {
+ let paralleConfigs = content.paralleConfigs[i]
+ let stepTableFormData = paralleConfigs.stepTableFormData
+ for (let j = 0; j < stepTableFormData.length; j++) {
+ const { total, unit } = addTj([stepTableFormData[j].actSolutionVolume, stepTableFormData[j].actDiluentVolume], [paralleConfigs.headerSelectFields.actSolutionVolumeUnit, paralleConfigs.headerSelectFields.actDiluentVolumeUnit])
+ tmpResource.push({
+ mc: null,
+ bh: stepTableFormData[j].targetSolutionCode + stepTableFormData[j].subTargetSolutionCode,
+ ph: null,
+ nd: stepTableFormData[j].actSolutionConcentration + paralleConfigs.headerSelectFields.actSolutionConcentrationUnit,
+ source: 'ELN配制',
+ sxrq: stepTableFormData[j].targetSolutionExpirationDate,
+ ndz: stepTableFormData[j].actSolutionConcentration,
+ nddw: paralleConfigs.headerSelectFields.actSolutionConcentrationUnit,
+ kc: total,
+ kcdw: unit,
+ syl: null,
+ syldw: unit,
+ yxzq: stepTableFormData[j].targetSolutionCycle,
+ yxzqdw: stepTableFormData[j].targetSolutionCyclePrecision,
+ })
+ let fzsj = stepTableFormData[j].fzsj
+ if (fzsj && fzsj.fzList) {
+ for (let k = 0; k < fzsj.fzList.length; k++) {
+ tmpResource.push({
+ mc: null,
+ bh: fzsj.mybh + '-' + fzsj.fzList[k].subCode,
+ ph: null,
+ nd: stepTableFormData[j].actSolutionConcentration + paralleConfigs.headerSelectFields.actSolutionConcentrationUnit,
+ source: 'ELN配制',
+ sxrq: paralleConfigs.expireDate,
+ ndz: stepTableFormData[j].actSolutionConcentration,
+ nddw: paralleConfigs.headerSelectFields.actSolutionConcentrationUnit,
+ kc: fzsj.fzList[k].num,
+ kcdw: fzsj.dw,
+ syl: null,
+ syldw: paralleConfigs.headerSelectFields.actSolutionVolumeUnit,
+ yxzq: paralleConfigs.effectivePeriod,
+ yxzqdw: paralleConfigs.effectivePeriodUnit,
+ })
+ }
+ }
+ }
+ }
+ }
+ this.resourceTmp = tmpResource
+ return content;
},
async onSave() {
const formData = await this.getFormData();
diff --git a/src/views/business/comps/template/formConfig/SWYPFXFFXYPZBBTableConfig.js b/src/views/business/comps/template/formConfig/SWYPFXFFXYPZBBTableConfig.js
index 20e145e..41c453c 100644
--- a/src/views/business/comps/template/formConfig/SWYPFXFFXYPZBBTableConfig.js
+++ b/src/views/business/comps/template/formConfig/SWYPFXFFXYPZBBTableConfig.js
@@ -21,8 +21,8 @@ export const getSWYPFXFFXYPZBBTableConfig = (
bodyFillType: 'preFill',
width: 280,
myCodeFields: ['bh', 'bhOther', 'bhCode'],
- maxVolumeField: 'sjryxql', //分装的最大量字段
- maxVolumeFieldUnit: 'sjryxqlUnit' //分装的最大量单位字段
+ maxVolumeField: 'sjryxql,sjjzxql', //分装的最大量字段
+ maxVolumeFieldUnit: 'sjryxqlUnit,sjjzxqlUnit' //分装的最大量单位字段
},
{
label: 'template.sp.sp008.ysry',
@@ -123,8 +123,8 @@ export const getSWYPFXFFXYPZBBTQHSLTableConfig = ($this, selectKey) => {
bodyFillType: 'preFill',
width: 280,
myCodeFields: ['bh', 'bhCode'],
- maxVolumeField: 'sjryxql', //分装的最大量字段
- maxVolumeFieldUnit: 'sjryxqlUnit' //分装的最大量单位字段
+ maxVolumeField: 'sjryxql,sjgzyxql,sjxsyxql', //分装的最大量字段
+ maxVolumeFieldUnit: 'sjryxqlUnit,sjgzyxqlUnit,sjxsyxqlUnit' //分装的最大量单位字段
},
{
label: 'template.sp.sp008.ysry',
diff --git a/src/views/business/comps/template/formConfig/paralleAndLadderConfig.js b/src/views/business/comps/template/formConfig/paralleAndLadderConfig.js
index 7b4ba27..00e60e0 100644
--- a/src/views/business/comps/template/formConfig/paralleAndLadderConfig.js
+++ b/src/views/business/comps/template/formConfig/paralleAndLadderConfig.js
@@ -2,7 +2,7 @@
export const getLadderColumnsConfig = ($this) => {
return [
{
- label: '目标溶液编号',
+ label: 'template.sp.sp00456.mbrybh',
prop: 'targetSolutionCode',
bodyType: 'input',
bodySubType: 'span',
@@ -14,7 +14,7 @@ export const getLadderColumnsConfig = ($this) => {
maxVolumeFieldUnit: "actSolutionVolumeUnit",//分装的最大量单位字段
},
{
- label: '起始溶液编号',
+ label: 'template.sp.sp00456.qsrybh',
prop: 'startSolutionCode',
width: 280,
bodyType: 'input',
@@ -22,7 +22,7 @@ export const getLadderColumnsConfig = ($this) => {
bodyMaxlength: 10
},
{
- label: '预设起始溶液体积',
+ label: 'template.sp.sp00456.ysqsrytj',
prop: 'targetStartSolutionVolume',
width: 280,
headerSelectKey: 'targetStartSolutionVolumeUnit',
@@ -40,7 +40,7 @@ export const getLadderColumnsConfig = ($this) => {
bodySubPlaceholder: '请输入保留小数位数'
},
{
- label: '实际起始溶液体积',
+ label: 'template.sp.sp00456.sjqsrytj',
prop: 'actStartSolutionVolume',
width: 280,
headerSelectKey: 'actStartSolutionVolumeUnit',
@@ -53,7 +53,7 @@ export const getLadderColumnsConfig = ($this) => {
compareTo: 'targetStartSolutionVolume' //比较哪个字段
},
{
- label: '预设稀释液体积',
+ label: 'template.sp.sp00456.ysxsytj',
prop: 'targetDiluentVolume',
width: 280,
headerSelectKey: 'targetDiluentVolumeUnit',
@@ -72,7 +72,7 @@ export const getLadderColumnsConfig = ($this) => {
bodySubPlaceholder: '请输入保留小数位数'
},
{
- label: '实际稀释液体积',
+ label: 'template.sp.sp00456.sjxsytj',
prop: 'actDiluentVolume',
width: 280,
headerSelectKey: 'actDiluentVolumeUnit',
@@ -85,7 +85,7 @@ export const getLadderColumnsConfig = ($this) => {
compareTo: 'targetDiluentVolume', //比较哪个字段
},
{
- label: '预设目标溶液浓度',
+ label: 'template.sp.sp00456.ysmbrynd',
prop: 'targetSolutionConcentration',
width: 280,
headerSelectKey: 'targetSolutionConcentrationUnit',
@@ -96,7 +96,7 @@ export const getLadderColumnsConfig = ($this) => {
bodyMaxlength: 10
},
{
- label: '实际目标溶液浓度',
+ label: 'template.sp.sp00456.sjmbrynd',
prop: 'actSolutionConcentration',
width: 280,
headerSelectKey: 'actSolutionConcentrationUnit',
@@ -116,7 +116,7 @@ export const getLadderColumnsConfig = ($this) => {
compareTo: 'targetSolutionConcentration', //比较哪个字段
},
{
- label: '预设目标溶液体积',
+ label: 'template.sp.sp00456.ysmbrytj',
prop: 'targetSolutionVolume',
width: 280,
headerSelectKey: 'targetSolutionVolumeUnit',
@@ -127,7 +127,7 @@ export const getLadderColumnsConfig = ($this) => {
bodyMaxlength: 10
},
{
- label: '实际目标溶液体积',
+ label: 'template.sp.sp00456.sjmbrytj',
prop: 'actSolutionVolume',
width: 280,
headerSelectKey: 'actSolutionVolumeUnit',
@@ -159,7 +159,7 @@ export const getParallelColumnsConfig = ($this) => {
}
return [
{
- label: '目标溶液编号',
+ label: 'template.sp.sp00456.mbrybh',
prop: 'targetSolutionCode',
bodyType: 'select',
bodyOptions: $this.getDictOptions(o[sn]),
@@ -172,7 +172,7 @@ export const getParallelColumnsConfig = ($this) => {
width: 280
},
{
- label: '预设目标溶液浓度',
+ label: 'template.sp.sp00456.ysmbrynd',
prop: 'targetSolutionConcentration',
width: 280,
headerSelectKey: 'targetSolutionConcentrationUnit',
@@ -183,7 +183,7 @@ export const getParallelColumnsConfig = ($this) => {
bodyMaxlength: 10
},
{
- label: '实际目标溶液浓度',
+ label: 'template.sp.sp00456.sjmbrynd',
prop: 'actSolutionConcentration',
width: 280,
headerSelectKey: 'actSolutionConcentrationUnit',
@@ -202,7 +202,7 @@ export const getParallelColumnsConfig = ($this) => {
compareTo: 'targetSolutionConcentration', //比较哪个字段
},
{
- label: '预设目标溶液体积',
+ label: 'template.sp.sp00456.ysmbrytj',
prop: 'targetSolutionVolume',
width: 280,
headerSelectKey: 'targetSolutionVolumeUnit',
@@ -213,7 +213,7 @@ export const getParallelColumnsConfig = ($this) => {
bodyMaxlength: 10
},
{
- label: '实际目标溶液体积',
+ label: 'template.sp.sp00456.sjmbrytj',
prop: 'actSolutionVolume',
width: 280,
headerSelectKey: 'actSolutionVolumeUnit',
@@ -232,7 +232,7 @@ export const getParallelColumnsConfig = ($this) => {
compareTo: 'targetSolutionVolume', //比较哪个字段
},
{
- label: '目标溶液有效周期',
+ label: 'template.sp.sp00456.mbryyxzq',
prop: 'targetSolutionCycle',
width: 280,
fillType: 'preFill',
@@ -246,20 +246,20 @@ export const getParallelColumnsConfig = ($this) => {
bodyMaxlength: 10
},
{
- label: '目标溶液失效日',
+ label: 'template.sp.sp00456.mbrysxr',
prop: 'targetSolutionExpirationDate',
width: 180,
bodyType: 'span'
},
{
- label: '预设原始溶液编号',
+ label: 'template.sp.sp00456.ysysrybh',
prop: 'startSolutionCode',
width: 280,
bodyType: 'input',
bodyFillType: 'preFill'
},
{
- label: '实际原始溶液编号',
+ label: 'template.sp.sp00456.sjysrybh',
prop: 'actStartSolutionCode',
width: 280,
bodyType: 'clickable',
@@ -267,7 +267,7 @@ export const getParallelColumnsConfig = ($this) => {
compareTo: 'startSolutionCode', //比较哪个字段
},
{
- label: '预设原始溶液浓度',
+ label: 'template.sp.sp00456.ysysrynd',
prop: 'targetStartSolutionConcentration',
width: 280,
bodyType: 'inputNumber',
@@ -280,7 +280,7 @@ export const getParallelColumnsConfig = ($this) => {
showBodySub: true
},
{
- label: '实际原始溶液浓度',
+ label: 'template.sp.sp00456.sjysrynd',
prop: 'targetAcSolution',
width: 280,
bodyType: 'inputNumber',
@@ -289,7 +289,7 @@ export const getParallelColumnsConfig = ($this) => {
compareTo: 'targetStartSolutionConcentration', //比较哪个字段
},
{
- label: '预设原始溶液体积',
+ label: 'template.sp.sp00456.ysysrytj',
prop: 'targetStartSolutionVolume',
headerSelectKey: 'targetStartSolutionVolumeUnit',
fillType: 'preFill',
@@ -310,7 +310,7 @@ export const getParallelColumnsConfig = ($this) => {
},
{
- label: '实际原始溶液体积',
+ label: 'template.sp.sp00456.sjysrytj',
prop: 'actStartSolutionVolume',
headerSelectKey: 'actStartSolutionVolumeUnit',
fillType: 'preFill',
@@ -324,7 +324,7 @@ export const getParallelColumnsConfig = ($this) => {
},
{
- label: '预计稀释液体积',
+ label: 'template.sp.sp00456.yjxsytj',
prop: 'targetDiluentVolume',
headerSelectKey: 'preDiluentVolumeUnit',
fillType: 'preFill',
@@ -342,7 +342,7 @@ export const getParallelColumnsConfig = ($this) => {
showBodySub: $this.fillType === 'preFill'
},
{
- label: '实际稀释液体积',
+ label: 'template.sp.sp00456.sjxsytj',
prop: 'actDiluentVolume',
headerSelectKey: 'actDiluentVolumeUnit',
fillType: 'preFill',
@@ -363,7 +363,7 @@ export const getLadderFormConfig = ($this) => {
type: 'step',
config: {
startSolution: {
- label: '起始源溶液',
+ label: 'template.sp.sp00456.qsyry',
type: 'input',
fillType: 'preFill',
subType: 'clickable',
@@ -372,7 +372,7 @@ export const getLadderFormConfig = ($this) => {
maxlength: 20
},
targetStartSolution: {
- label: '预设起始源溶液浓度',
+ label: 'template.sp.sp00456.ysqsyrynd',
type: 'inputNumber',
subType: 'select',
fillType: 'preFill',
@@ -381,7 +381,7 @@ export const getLadderFormConfig = ($this) => {
maxlength: 10
},
targetAcSolution: {
- label: '实际起始源溶液浓度',
+ label: 'template.sp.sp00456.sjqsyrynd',
type: 'input',
fillType: 'actFill',
disabled: true,
@@ -389,7 +389,7 @@ export const getLadderFormConfig = ($this) => {
compareTo: 'targetStartSolution', //比较哪个字段
},
solution: {
- label: '稀释液',
+ label: 'template.sp.sp00456.xsy',
type: 'input',
fillType: 'preFill',
subType: 'clickable',
@@ -398,7 +398,7 @@ export const getLadderFormConfig = ($this) => {
maxlength: 20
},
stepStorageCondition: {
- label: '存储条件',
+ label: 'template.sp.sp00456.cctj',
type: 'select',
fillType: 'preFill',
options: $this.getDictOptions('business_cctj'),
@@ -406,7 +406,7 @@ export const getLadderFormConfig = ($this) => {
},
effectivePeriod: {
- label: '目标溶液有效周期',
+ label: 'template.sp.sp00456.mbryyxzq',
type: 'input',
subType: 'select',
subKey: 'effectivePeriodUnit',
@@ -414,7 +414,7 @@ export const getLadderFormConfig = ($this) => {
subOptions: $this.getDictOptions('business_yxqdw')
},
expireDate: {
- label: '目标溶液失效日',
+ label: 'template.sp.sp00456.mbrysxr',
type: 'input'
}
}
@@ -429,23 +429,23 @@ export const getBaseInfoFormConfig = ($this) => {
type: 'cardItem',
config: {
studyMc: {
- label: '试验名称',
+ label: 'template.common.testName',
type: 'input',
disabled: true
},
studySn: {
- label: '试验编号',
+ label: 'template.common.testNumber',
type: 'input',
disabled: true
},
methodCode: {
- label: '方法编号',
+ label: 'template.common.methodCode',
type: 'input',
fillType: 'preFill',
maxlength: 50
},
versionNum: {
- label: '版本号',
+ label: 'template.common.versionNumber',
type: 'inputNumber',
fillType: 'actFill',
prepend: 'V',
@@ -455,10 +455,10 @@ export const getBaseInfoFormConfig = ($this) => {
},
{
type: 'conditionItem',
- label: '试验配制条件',
+ label: 'template.common.testConfigurationConditions',
config: {
pre: {
- label: '预填',
+ label: 'template.common.preFill',
type: 'select',
multiple: true,
fillType: 'preFill',
@@ -466,7 +466,7 @@ export const getBaseInfoFormConfig = ($this) => {
otherCode: 'preOther'
},
act: {
- label: '实际',
+ label: 'template.common.actualFill',
type: 'select',
fillType: 'actFill',
otherCode: 'actOther',
@@ -477,10 +477,10 @@ export const getBaseInfoFormConfig = ($this) => {
},
{
type: 'conditionItem',
- label: '容器材质',
+ label: 'template.sp.sp00456.rqcz',
config: {
containerMaterial: {
- label: '容器材质',
+ label: 'template.sp.sp00456.rqcz',
type: 'select',
options: $this.getDictOptions('business_rqcz'),
fillType: 'actFill',
@@ -491,14 +491,14 @@ export const getBaseInfoFormConfig = ($this) => {
},
{
type: 'cellItem',
- label: '处理时间',
+ label: 'template.common.configurationTime',
config: {
startDate: {
- label: '开始时间',
+ label: 'template.common.startTime',
type: 'input'
},
endDate: {
- label: '结束时间',
+ label: 'template.common.endTime',
type: 'input'
}
}
@@ -533,7 +533,7 @@ export const getStorageConditionFormConfig = ($this) => {
type: 'conditionItem',
config: {
storageCondition: {
- label: '存储条件',
+ label: 'template.sp.sp00456.cctj',
type: 'select',
fillType: 'preFill',
options: $this.getDictOptions('business_cctj'),
diff --git a/src/views/business/comps/template/mixins/templateMixin.js b/src/views/business/comps/template/mixins/templateMixin.js
index 53ecdc5..9a5ec13 100644
--- a/src/views/business/comps/template/mixins/templateMixin.js
+++ b/src/views/business/comps/template/mixins/templateMixin.js
@@ -38,6 +38,7 @@ export default {
handler(v) {
if (v) {
const {
+ studySubjectId,
studyId,
studyMc,
studySn,
@@ -56,6 +57,7 @@ export default {
if (v.bdnr) {
this.formData = {
...JSON.parse(v.bdnr),
+ studySubjectId,
studyId,
studyMc,
studySn,
@@ -69,6 +71,7 @@ export default {
}
} else {
this.formData = {
+ studySubjectId,
studyId,
studyMc,
studySn,
@@ -109,6 +112,7 @@ export default {
formData: {},
templateDetail: {},
resource: [], //试验试剂信息
+ resourceTmp:[],//试验试剂信息提交用
sysjColumns: [
{ label: '试剂名称', prop: 'reagentName' },
{ label: '编号', prop: 'reagentCode' },
@@ -184,7 +188,7 @@ export default {
return null
},
getResource() {
- return this.resource
+ return this.resourceTmp
},
//根据ref数组获取直接formData
getFilledFormDataByRefs(refArr = []) {
diff --git a/src/views/business/resource/gsp/comps/gsp/Xq.vue b/src/views/business/resource/gsp/comps/gsp/Xq.vue
index 5745b48..94e267a 100644
--- a/src/views/business/resource/gsp/comps/gsp/Xq.vue
+++ b/src/views/business/resource/gsp/comps/gsp/Xq.vue
@@ -129,7 +129,7 @@