From 5f7bbcdd4fcbed2d2b977c72304864a6a4bbb896 Mon Sep 17 00:00:00 2001
From: "15881625488@163.com" <15881625488@163.com>
Date: Thu, 29 Jan 2026 11:24:48 +0800
Subject: [PATCH] =?UTF-8?q?feat=EF=BC=9A[=E6=A8=A1=E6=9D=BF=E7=AE=A1?=
=?UTF-8?q?=E7=90=86]=E6=96=B0=E5=A2=9E=E4=BB=AA=E5=99=A8=E4=BF=A1?=
=?UTF-8?q?=E6=81=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../business/comps/template/TemplateTable.vue | 3 +
.../comps/template/comps/sp/SWYPBQGZYZBB.vue | 101 +++++------
.../comps/template/comps/sp/SWYPFXCBYPZB.vue | 2 +-
.../comps/template/comps/sp/SWYPFXFFXZKPZB.vue | 3 +-
.../comps/template/comps/sp/SWYPFXRYPZB.vue | 2 -
.../comps/template/comps/sp/SWYPNBGZYZBB.vue | 186 +++++++++++----------
.../comps/template/mixins/templateMixin.js | 9 +
src/views/business/study/comp/tbbd/Bj.vue | 4 +
8 files changed, 164 insertions(+), 146 deletions(-)
diff --git a/src/views/business/comps/template/TemplateTable.vue b/src/views/business/comps/template/TemplateTable.vue
index 7dd9b9d..1ac0a7a 100644
--- a/src/views/business/comps/template/TemplateTable.vue
+++ b/src/views/business/comps/template/TemplateTable.vue
@@ -211,6 +211,9 @@ export default {
getResource() {
return this.$refs.templateComponent.getResource();
},
+ getYqResource() {
+ return this.$refs.templateComponent.getYqResource();
+ },
getFilledFormData() {
return this.$refs.templateComponent.getFilledFormData();
},
diff --git a/src/views/business/comps/template/comps/sp/SWYPBQGZYZBB.vue b/src/views/business/comps/template/comps/sp/SWYPBQGZYZBB.vue
index 0b8a31f..e2b4e77 100644
--- a/src/views/business/comps/template/comps/sp/SWYPBQGZYZBB.vue
+++ b/src/views/business/comps/template/comps/sp/SWYPBQGZYZBB.vue
@@ -6,12 +6,10 @@
"生物样品标曲工作液制备表" }}
-
-
-
+
+
+
@@ -19,9 +17,9 @@
-
+
-
+
@@ -551,46 +550,48 @@ export default {
let content = await this.validFormFields(["baseInfoRef", "stepFormPackageRef", "stepTableRef", "stepRef", "remarkRef"]);
//生成resource
let tmpResource = []
- let tableList = content.stepTableFormData
- if (tableList && tableList.length > 0) {
- for (let i = 0; i < tableList.length; i++) {
- let item = tableList[i]
- //计算实际目标溶液体积(实际起始溶液体积+实际稀释液体积)
- const { total, unit } = addTj([item.actStartSolutionVolume, item.actDiluentVolumeUnit], [content.headerSelectFields.actStartSolutionVolumeUnit, content.headerSelectFields.actDiluentVolumeUnit])
- tmpResource.push({
- mc: null,
- bh: item.targetSolutionCode + item.subTargetSolutionCode,
- ph: null,
- nd: item.actSolutionConcentration + content.headerSelectFields.actSolutionConcentrationUnit,
- source: 'ELN配制',
- sxrq: content.expireDate,
- ndz: item.actSolutionConcentration,
- nddw: content.headerSelectFields.actSolutionConcentrationUnit,
- kc: total,
- kcdw: unit,
- syl: null,
- syldw: unit,
- yxzq: content.effectivePeriod,
- yxzqdw: content.effectivePeriodUnit,
- })
- if (item.fzsj && item.fzsj.fzList && item.fzsj.fzList) {
- for (let j = 0; j < item.fzsj.fzList.length; j++) {
- tmpResource.push({
- mc: null,
- bh: item.fzsj.mybh +'-'+item.fzsj.fzList[j].subCode,
- ph: null,
- nd: item.actSolutionConcentration + content.headerSelectFields.actSolutionConcentrationUnit,
- source: 'ELN配制',
- sxrq: content.expireDate,
- ndz: item.actSolutionConcentration,
- nddw: content.headerSelectFields.actSolutionConcentrationUnit,
- kc: item.fzsj.fzList[j].num,
- kcdw: item.fzsj.dw,
- syl: null,
- syldw: item.fzsj.dw,
- yxzq: content.effectivePeriod,
- yxzqdw: content.effectivePeriodUnit,
- })
+ if (this.fillType === "actFill") {
+ let tableList = content.stepTableFormData
+ if (tableList && tableList.length > 0) {
+ for (let i = 0; i < tableList.length; i++) {
+ let item = tableList[i]
+ //计算实际目标溶液体积(实际起始溶液体积+实际稀释液体积)
+ const { total, unit } = addTj([item.actStartSolutionVolume, item.actDiluentVolumeUnit], [content.headerSelectFields.actStartSolutionVolumeUnit, content.headerSelectFields.actDiluentVolumeUnit])
+ tmpResource.push({
+ mc: null,
+ bh: item.targetSolutionCode + item.subTargetSolutionCode,
+ ph: null,
+ nd: item.actSolutionConcentration + content.headerSelectFields.actSolutionConcentrationUnit,
+ source: 'ELN配制',
+ sxrq: content.expireDate,
+ ndz: item.actSolutionConcentration,
+ nddw: content.headerSelectFields.actSolutionConcentrationUnit,
+ kc: total,
+ kcdw: unit,
+ syl: null,
+ syldw: unit,
+ yxzq: content.effectivePeriod,
+ yxzqdw: content.effectivePeriodUnit,
+ })
+ if (item.fzsj && item.fzsj.fzList && item.fzsj.fzList) {
+ for (let j = 0; j < item.fzsj.fzList.length; j++) {
+ tmpResource.push({
+ mc: null,
+ bh: item.fzsj.mybh + '-' + item.fzsj.fzList[j].subCode,
+ ph: null,
+ nd: item.actSolutionConcentration + content.headerSelectFields.actSolutionConcentrationUnit,
+ source: 'ELN配制',
+ sxrq: content.expireDate,
+ ndz: item.actSolutionConcentration,
+ nddw: content.headerSelectFields.actSolutionConcentrationUnit,
+ kc: item.fzsj.fzList[j].num,
+ kcdw: item.fzsj.dw,
+ syl: null,
+ syldw: item.fzsj.dw,
+ yxzq: content.effectivePeriod,
+ yxzqdw: content.effectivePeriodUnit,
+ })
+ }
}
}
}
diff --git a/src/views/business/comps/template/comps/sp/SWYPFXCBYPZB.vue b/src/views/business/comps/template/comps/sp/SWYPFXCBYPZB.vue
index 590b264..ee387e2 100644
--- a/src/views/business/comps/template/comps/sp/SWYPFXCBYPZB.vue
+++ b/src/views/business/comps/template/comps/sp/SWYPFXCBYPZB.vue
@@ -11,7 +11,7 @@
+ :dataSource="yqResource" />
diff --git a/src/views/business/comps/template/comps/sp/SWYPFXFFXZKPZB.vue b/src/views/business/comps/template/comps/sp/SWYPFXFFXZKPZB.vue
index 74ffb5e..4071503 100644
--- a/src/views/business/comps/template/comps/sp/SWYPFXFFXZKPZB.vue
+++ b/src/views/business/comps/template/comps/sp/SWYPFXFFXZKPZB.vue
@@ -11,7 +11,7 @@
+ :dataSource="yqResource" />
@@ -240,7 +240,6 @@ export default {
currentSubKey: "",//当前点击的子项key
rowIndex:0,//当前表格点击的行数
- resource: [],
sysjColumns: [
{ label: 'template.common.reagentName', prop: "mc" },//名称
{ label: 'template.common.reagentCode', prop: "bh" },//编号
diff --git a/src/views/business/comps/template/comps/sp/SWYPFXRYPZB.vue b/src/views/business/comps/template/comps/sp/SWYPFXRYPZB.vue
index f217d4c..ef60758 100644
--- a/src/views/business/comps/template/comps/sp/SWYPFXRYPZB.vue
+++ b/src/views/business/comps/template/comps/sp/SWYPFXRYPZB.vue
@@ -241,8 +241,6 @@ export default {
},
data() {
return {
- resource: [],
- yqResource: [],
formData: {}
};
},
diff --git a/src/views/business/comps/template/comps/sp/SWYPNBGZYZBB.vue b/src/views/business/comps/template/comps/sp/SWYPNBGZYZBB.vue
index c2871ad..e684b65 100644
--- a/src/views/business/comps/template/comps/sp/SWYPNBGZYZBB.vue
+++ b/src/views/business/comps/template/comps/sp/SWYPNBGZYZBB.vue
@@ -9,9 +9,10 @@
-
-
+
+
新增平行配制
@@ -86,7 +87,8 @@
:prefixKey="'paralle' + paralleIndex">
-
+
@@ -484,7 +486,7 @@ export default {
// 遍历数据,按要求更新起始溶液编号
newData.forEach((item, index) => {
const { actVol, actNd } = this.updateSjmbrynd(item, row.nd);
- console.log(actNd,"actNd")
+ console.log(actNd, "actNd")
item.actSolutionVolume = actVol;
item.actSolutionConcentration = actNd;
})
@@ -572,96 +574,98 @@ export default {
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 (this.fillType === "actFill") {
+ //平行配置
+ 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,
- })
+ //阶梯配置
+ 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,
+ })
+ }
}
}
}
diff --git a/src/views/business/comps/template/mixins/templateMixin.js b/src/views/business/comps/template/mixins/templateMixin.js
index ab7d5d2..54d3ebc 100644
--- a/src/views/business/comps/template/mixins/templateMixin.js
+++ b/src/views/business/comps/template/mixins/templateMixin.js
@@ -54,6 +54,10 @@ export default {
//试验试剂信息
this.resource = JSON.parse(v.resource)
}
+ if (v.yqResource) {
+ //仪器信息
+ this.yqResource = JSON.parse(v.yqResource)
+ }
if (v.bdnr) {
this.formData = {
...JSON.parse(v.bdnr),
@@ -112,6 +116,8 @@ export default {
formData: {},
templateDetail: {},
resource: [], //试验试剂信息
+ yqResource: [], //仪器信息
+ yqResourceTmp: [], //仪器信息提交用
resourceTmp:[],//试验试剂信息提交用
sysjColumns: [
{ label: 'template.common.reagentName', prop: "mc" },//名称
@@ -190,6 +196,9 @@ export default {
getResource() {
return this.resourceTmp
},
+ getYqResource() {
+ return this.yqResourceTmp
+ },
//根据ref数组获取直接formData
getFilledFormDataByRefs(refArr = []) {
let result = {}
diff --git a/src/views/business/study/comp/tbbd/Bj.vue b/src/views/business/study/comp/tbbd/Bj.vue
index 69d9391..06606a1 100644
--- a/src/views/business/study/comp/tbbd/Bj.vue
+++ b/src/views/business/study/comp/tbbd/Bj.vue
@@ -318,6 +318,7 @@ export default {
remark: '',
bdnr: '',
resource: '',
+ yqResource:'',
qmrmm: '',
sfcz: false,
czfs: '',
@@ -329,6 +330,7 @@ export default {
ccids: '',
},
resource: [],
+ yqResource:[],
bdmbTitle: this.$t('page.business.form.bdmb'),
rulesApprove: {
qmrmm: [{
@@ -484,6 +486,7 @@ export default {
that.formApprove.id = that.form.id
that.formApprove.bdnr = JSON.stringify(content)
that.resource = that.$refs.templateTable.getResource()
+ that.yqResource = that.$refs.templateTable.getYqResource()
that.openApprove = true
}
},
@@ -615,6 +618,7 @@ export default {
if (valid) {
that.$modal.loading()
that.formApprove.resource = JSON.stringify(that.resource)
+ that.formApprove.yqResource = JSON.stringify(that.yqResource)
if (that.czlist.length > 0) {
that.formApprove.czlist = JSON.stringify(that.czlist)
}