|
|
|
@ -8,18 +8,18 @@ |
|
|
|
<div class="content"> |
|
|
|
<BaseInfoFormPackage fieldItemLabel="template.common.baseInfo" label="template.common.baseInfo" |
|
|
|
ref="baseInfoRef" :formConfig="baseInfoFormConfig" :formData="formData" /> |
|
|
|
|
|
|
|
<TableList label="template.common.gspsywzInfo" :columns="gspColumns" :dataSource="resourceGsp" v-if="sn!='GSP002'"/> |
|
|
|
|
|
|
|
<TableList label="template.common.gspsywzInfo" :columns="gspColumns" :dataSource="resourceGsp" |
|
|
|
v-if="sn != 'GSP002'" /> |
|
|
|
<TableList label="template.common.sjInfo" :columns="sjColumns" :dataSource="resourceSj" /> |
|
|
|
<TableList label="template.common.instrumentInfo" :columns="yqColumns" :dataSource="yqResource" /> |
|
|
|
|
|
|
|
<LineLabel v-if="sn=='GSP002'" label="template.common.operationSteps" /> |
|
|
|
<LineLabel v-if="sn=='GSP006'" label="template.gsp.GSP002.cbybdpz" /> |
|
|
|
<LineLabel v-if="sn=='GSP008'" label="template.gsp.GSP002.zlkz" /> |
|
|
|
<LineLabel v-if="sn=='GSP012'" label="template.gsp.GSP002.cbywdx" /> |
|
|
|
<LineLabel v-if="sn=='GSP013'" label="template.gsp.GSP002.lmd" /> |
|
|
|
<LineLabel v-if="sn=='GSP014'" label="template.gsp.GSP002.clhwdx" /> |
|
|
|
<!-- 平行配制区域 --> |
|
|
|
<LineLabel v-if="sn == 'GSP002'" label="template.common.operationSteps" /> |
|
|
|
<LineLabel v-if="sn == 'GSP006'" label="template.gsp.GSP002.cbybdpz" /> |
|
|
|
<LineLabel v-if="sn == 'GSP008'" label="template.gsp.GSP002.zlkz" /> |
|
|
|
<LineLabel v-if="sn == 'GSP012'" label="template.gsp.GSP002.cbywdx" /> |
|
|
|
<LineLabel v-if="sn == 'GSP013'" label="template.gsp.GSP002.lmd" /> |
|
|
|
<LineLabel v-if="sn == 'GSP014'" label="template.gsp.GSP002.clhwdx" /> |
|
|
|
<div :label="$t('template.common.pxpz')" |
|
|
|
v-for="(paralleConfig, paralleIndex) in formData.paralleConfigs" |
|
|
|
:key="'paralle_' + paralleIndex"> |
|
|
|
@ -624,25 +624,7 @@ export default { |
|
|
|
showParalleConfig: true |
|
|
|
}); |
|
|
|
}, |
|
|
|
//新增阶梯配制 |
|
|
|
handleAddLadder() { |
|
|
|
// 初始化阶梯配制配置列表 |
|
|
|
if (!this.formData.ladderConfigs) { |
|
|
|
this.$set(this.formData, 'ladderConfigs', []); |
|
|
|
} |
|
|
|
|
|
|
|
// 添加新的阶梯配制配置 |
|
|
|
this.formData.ladderConfigs.push({ |
|
|
|
ladderStepData: [], |
|
|
|
ladderTableFormData: [], |
|
|
|
showLadderConfig: true |
|
|
|
}); |
|
|
|
}, |
|
|
|
// 删除阶梯配制配置 |
|
|
|
deleteLadderConfig(index) { |
|
|
|
this.formData.ladderConfigs.splice(index, 1); |
|
|
|
}, |
|
|
|
// 删除平行配制配置 |
|
|
|
//删除平行配制配置 |
|
|
|
deleteParalleConfig(index) { |
|
|
|
this.formData.paralleConfigs.splice(index, 1); |
|
|
|
}, |
|
|
|
@ -661,11 +643,9 @@ export default { |
|
|
|
tableRef[0].deleteRow(rowIndex); |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
// 表格失去焦点事件 |
|
|
|
onHandleTableBlur(type, configIndex, e) { |
|
|
|
const { colKey = "", item, rowIndex } = e; |
|
|
|
debugger |
|
|
|
if (colKey === "targetStartSolutionConcentration" || colKey === "targetSolutionVolume" || colKey === "targetSolutionConcentration" || colKey === "targetStartSolutionVolumePrecision" || colKey === "targetDiluentVolumePrecision") { |
|
|
|
if (type === "paralle") { |
|
|
|
const volumne = item.targetStartSolutionConcentration || 0; |
|
|
|
@ -677,7 +657,15 @@ export default { |
|
|
|
if (type === "paralle") { |
|
|
|
const targetAcSolution = item.targetAcSolution || 0;//获取实际起始溶液浓度 |
|
|
|
if (targetAcSolution) { |
|
|
|
const volResult = this.updateSjmbrynd(item, targetAcSolution); |
|
|
|
const tableRef = this.$refs[`paralleStepTableRef_${configIndex}`][0]; |
|
|
|
//实际起始溶液体积和实际目标溶液体积 |
|
|
|
const formData = tableRef.getFilledFormData(); |
|
|
|
const headerSelectFields = formData.headerSelectFields; |
|
|
|
const p = { |
|
|
|
targetStartSolutionUnit: rowData.targetStartSolutionConcentrationPrecision, |
|
|
|
headerSelectFields |
|
|
|
} |
|
|
|
const volResult = this.updateSjmbrynd(item, targetAcSolution,p); |
|
|
|
if (!volResult) { |
|
|
|
return |
|
|
|
} |
|
|
|
@ -696,14 +684,21 @@ export default { |
|
|
|
callback.prevent('浓度单位与预制不符,请重新选择或申请废止并重新预制。'); |
|
|
|
} |
|
|
|
}, |
|
|
|
//平行配置 table选择试剂确定弹窗 |
|
|
|
// table选择试剂确定弹窗 |
|
|
|
onTableRegentSubmit(type, configIndex, data) { |
|
|
|
const { selectInfo, rowIndex, key, rowData } = data; |
|
|
|
const { row, selectedId } = selectInfo; |
|
|
|
if (key === "actStartSolutionCode") {//实际原始溶液编号点击事件 |
|
|
|
const tableRef = this.$refs[`paralleStepTableRef_${configIndex}`][0]; |
|
|
|
//实际起始溶液体积和实际目标溶液体积 |
|
|
|
const formData = tableRef.getFilledFormData(); |
|
|
|
const headerSelectFields = formData.headerSelectFields; |
|
|
|
const p = { |
|
|
|
targetStartSolutionUnit: rowData.targetStartSolutionConcentrationPrecision, |
|
|
|
headerSelectFields |
|
|
|
} |
|
|
|
if (tableRef) { |
|
|
|
const volResult = this.updateSjmbrynd(rowData, row.nd); |
|
|
|
const volResult = this.updateSjmbrynd(rowData, row.nd, p); |
|
|
|
//第一次选择溶液的时候,可能其他值没填入,就需要先把浓度和code一起更新 |
|
|
|
tableRef.updateDataSourceByRowIndex(rowIndex, { |
|
|
|
actStartSolutionCode: selectedId, |
|
|
|
@ -719,54 +714,6 @@ export default { |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
//选择试剂提交事件 |
|
|
|
onRegentSubmit(type, rowIndex, data) { |
|
|
|
const { selectInfo, key } = data; |
|
|
|
const { row } = selectInfo; |
|
|
|
if (key) { |
|
|
|
debugger |
|
|
|
const packageRef = this.$refs[`paralleStepFormPackageRef_${rowIndex}`][0]; |
|
|
|
if (key === "subStartSolution") { |
|
|
|
packageRef.updateFormData("targetAcSolution", row.nd); |
|
|
|
packageRef.onValueChangeCompareTo("targetAcSolution", row.nd, "targetStartSolution"); |
|
|
|
this.updateTableNd(row, rowIndex); |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
updateRecord() { |
|
|
|
this.$nextTick(() => { |
|
|
|
EventBus.$emit('onModifyRecord', { |
|
|
|
type: "fieldChanged", |
|
|
|
newRecord: null, |
|
|
|
resourceList: null, |
|
|
|
},) |
|
|
|
}) |
|
|
|
}, |
|
|
|
//选择实际的时候更新table的浓度 |
|
|
|
updateTableNd(row, rowIndex) { |
|
|
|
const { stepTableFormData = [] } = this.$refs[`ladderStepTableRef_${rowIndex}`][0].getFilledFormData(); |
|
|
|
const newData = JSON.parse(JSON.stringify(stepTableFormData)); |
|
|
|
// 遍历数据,按要求更新起始溶液编号 |
|
|
|
newData.forEach((item, index) => { |
|
|
|
let initNd = row.nd;//起始浓度是上一条记录的实际目标溶液浓度 |
|
|
|
if (index === 0) { |
|
|
|
item.startSolutionCode = row.bh; |
|
|
|
} else { |
|
|
|
item.startSolutionCode = newData[index - 1].targetSolutionCode + newData[index - 1].subTargetSolutionCode; |
|
|
|
initNd = newData[i - 1].actSolutionConcentration; |
|
|
|
} |
|
|
|
const volResult = this.updateSjmbrynd(item, initNd); |
|
|
|
if (!volResult) { |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
item.actSolutionVolume = volResult.actVol; |
|
|
|
item.actSolutionConcentration = volResult.actNd; |
|
|
|
// 更新stepTableRef组件的数据 |
|
|
|
}) |
|
|
|
this.$refs[`ladderStepTableRef_${rowIndex}`][0].updateDataSource(newData); |
|
|
|
|
|
|
|
}, |
|
|
|
//只做校验 |
|
|
|
async validFields() { |
|
|
|
// 构建需要验证的引用数组 |
|
|
|
@ -792,7 +739,6 @@ export default { |
|
|
|
const paralleFormData = this.$refs[`paralleStepFormPackageRef_${i}`][0].getFilledFormData(); |
|
|
|
const paralleTableFormData = this.$refs[`paralleStepTableRef_${i}`][0].getFilledFormData(); |
|
|
|
const paralleStepData = this.$refs[`paralleStepRef_${i}`][0].getFilledFormData(); |
|
|
|
|
|
|
|
paralleConfigsData.push({ |
|
|
|
...paralleFormData, |
|
|
|
...paralleTableFormData, |
|
|
|
@ -838,7 +784,7 @@ export default { |
|
|
|
//生成resource |
|
|
|
let tmpResource = [] |
|
|
|
if (this.fillType === "actFill") { |
|
|
|
//平行配置 |
|
|
|
// |
|
|
|
if (content.paralleConfigs && content.paralleConfigs.length > 0) { |
|
|
|
for (let i = 0; i < content.paralleConfigs.length; i++) { |
|
|
|
let paralleConfigs = content.paralleConfigs[i] |
|
|
|
|