From 04e6a69cfec10e5d6ef7d3d66e58a95ad9a9146c Mon Sep 17 00:00:00 2001
From: ouqian <13568766802@163.com>
Date: Mon, 9 Mar 2026 23:15:54 +0800
Subject: [PATCH] =?UTF-8?q?feat:[=E6=A8=A1=E6=9D=BF=E7=AE=A1=E7=90=86][DL0?=
=?UTF-8?q?07~DL014=E4=BC=98=E5=8C=96]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/lang/en/template/dl.js | 6 +-
src/lang/zh/template/dl.js | 6 +-
.../business/comps/template/comps/dl/DL007.vue | 5 +-
.../business/comps/template/comps/dl/DL008.vue | 5 +-
.../business/comps/template/comps/dl/DL009.vue | 24 +--
.../business/comps/template/comps/dl/DL010.vue | 200 +++++----------------
.../business/comps/template/comps/dl/DL011.vue | 164 +++--------------
.../business/comps/template/comps/dl/DL012.vue | 154 ++--------------
.../business/comps/template/comps/dl/DL013.vue | 3 +-
.../business/comps/template/comps/dl/DL014.vue | 105 +++++++----
10 files changed, 179 insertions(+), 493 deletions(-)
diff --git a/src/lang/en/template/dl.js b/src/lang/en/template/dl.js
index 5d7650a..5fcd221 100644
--- a/src/lang/en/template/dl.js
+++ b/src/lang/en/template/dl.js
@@ -30,6 +30,7 @@ const common = {
export default {
dl001: {},
common,
+ czsj: 'Operation Time',
dl003: {
...common,
pytj: '培养条件',
@@ -127,6 +128,8 @@ export default {
yslhnzsjyjrl: 'Preset 0.9% Sodium Chloride Injection Volume',
sjlhnzsjyjrl: 'Actual 0.9% Sodium Chloride Injection Volume',
sjgs: 'Bone Marrow Collection',
+ sj: 'Collection',
+ gusui: 'Bone Marrow',
lx: 'Centrifugation',
ysjrxq: 'Preset Serum Addition',
sjjrxq: 'Actual Serum Addition',
@@ -148,7 +151,8 @@ export default {
pyxbh: 'Incubator Number',
pytjText: 'Culture Conditions',
pykssj: 'Culture Start Time',
- pykssjButton: 'Start'
+ pykssjButton: 'Start',
+ bqdy: 'Label Print'
},
dl012: {
...common,
diff --git a/src/lang/zh/template/dl.js b/src/lang/zh/template/dl.js
index 8a56b24..2b6e2fc 100644
--- a/src/lang/zh/template/dl.js
+++ b/src/lang/zh/template/dl.js
@@ -30,6 +30,7 @@ const common = {
export default {
dl001: {},
common,
+ czsj: '操作时间',
dl003: {
...common,
pytj: '培养条件',
@@ -128,6 +129,8 @@ export default {
yslhnzsjyjrl: '预设0.9%氯化钠注射液加入量',
sjlhnzsjyjrl: '实际0.9%氯化钠注射液加入量',
sjgs: '收集骨髓',
+ sj: '收集',
+ gusui: '骨髓',
lx: '离心',
ysjrxq: '预设加入血清',
sjjrxq: '实际加入血清',
@@ -149,7 +152,8 @@ export default {
pyxbh: '培养箱编号',
pytjText: '培养条件',
pykssj: '培养开始时间',
- pykssjButton: '开始'
+ pykssjButton: '开始',
+ bqdy: '标签打印'
},
dl012: {
...common,
diff --git a/src/views/business/comps/template/comps/dl/DL007.vue b/src/views/business/comps/template/comps/dl/DL007.vue
index 2e12a9b..e177c8e 100644
--- a/src/views/business/comps/template/comps/dl/DL007.vue
+++ b/src/views/business/comps/template/comps/dl/DL007.vue
@@ -133,11 +133,10 @@ export default {
}
},
{
- type: 'conditionItem',
+ type: 'cellItem',
label: 'template.dl.dl007.sydd',
config: {
sydd: {
- span: 1,
label: 'template.dl.dl007.sydd',
type: 'select',
options: this.getDictOptions('business_sydd'),
@@ -148,7 +147,7 @@ export default {
},
{
type: 'cellItem',
- label: 'template.common.configurationTime',
+ label: 'template.dl.czsj',
config: {
startDate: {
label: 'template.common.startTime',
diff --git a/src/views/business/comps/template/comps/dl/DL008.vue b/src/views/business/comps/template/comps/dl/DL008.vue
index a75927c..c3b3023 100644
--- a/src/views/business/comps/template/comps/dl/DL008.vue
+++ b/src/views/business/comps/template/comps/dl/DL008.vue
@@ -181,11 +181,10 @@ export default {
}
},
{
- type: 'conditionItem',
+ type: 'cellItem',
label: 'template.dl.dl007.sydd',
config: {
sydd: {
- span: 1,
label: 'template.dl.dl007.sydd',
type: 'select',
options: this.getDictOptions('business_sydd'),
@@ -196,7 +195,7 @@ export default {
},
{
type: 'cellItem',
- label: 'template.common.configurationTime',
+ label: 'template.dl.czsj',
config: {
startDate: {
label: 'template.common.startTime',
diff --git a/src/views/business/comps/template/comps/dl/DL009.vue b/src/views/business/comps/template/comps/dl/DL009.vue
index 6cea609..53271e4 100644
--- a/src/views/business/comps/template/comps/dl/DL009.vue
+++ b/src/views/business/comps/template/comps/dl/DL009.vue
@@ -22,12 +22,6 @@
:formData="formData"
/>
-
-
-
-
-
- deleteTableRow(rowIndex, 'sysjTableRef')"
- >
-
-
-
-
- onRegentSubmit(e)"
- :showOperation="fillType === 'actFill'"
- :showAddRow="fillType === 'actFill'"
- :formData="formData"
- :prefixKey="`yqsyTable`"
- >
-
- deleteTableRow(rowIndex, 'yqsyTableRef')"
- >
-
-
+ :dataSource="resource"
+ />
+
@@ -130,8 +102,6 @@ import ImportExcelDialog from '../../dialog/ImportExcelDialog'
const refConf = {
base: 'baseInfoRef',
- sysj: 'sysjTableRef',
- yqsy: 'yqsyTableRef',
sjxxStep: 'sjxxStepRef',
sjxx: 'sjxxTableRef',
remark: 'remarkRef'
@@ -195,11 +165,10 @@ export default {
}
},
{
- type: 'conditionItem',
+ type: 'cellItem',
label: 'template.dl.dl010.dwzs',
config: {
dwzs: {
- span: 1,
label: 'template.dl.dl010.dwzs',
type: 'select',
options: this.getDictOptions('business_dwzs'),
@@ -214,9 +183,9 @@ export default {
config: {
cjdd: {
label: 'template.dl.dl010.cjdd',
- type: 'input',
- fillType: 'actFill',
- maxlength: 200
+ type: 'select',
+ options: this.getDictOptions('business_cjdd'),
+ fillType: 'actFill'
}
}
},
@@ -226,18 +195,17 @@ export default {
config: {
zpdd: {
label: 'template.dl.dl010.zpdd',
- type: 'input',
- fillType: 'actFill',
- maxlength: 200
+ type: 'select',
+ options: this.getDictOptions('business_zpdd'),
+ fillType: 'actFill'
}
}
},
{
- type: 'conditionItem',
+ type: 'cellItem',
label: 'template.dl.dl010.cjbw',
config: {
cjbw: {
- span: 1,
label: 'template.dl.dl010.cjbw',
type: 'select',
options: this.getDictOptions('business_cjbw'),
@@ -250,97 +218,20 @@ export default {
type: 'cellItem',
label: 'template.dl.dl010.jprq',
config: {
- jprqKssj: {
+ startDate: {
label: 'template.dl.dl010.jprqKssj',
type: 'input',
disabled: true
},
- jprqJssj: {
+ endDate: {
label: 'template.dl.dl010.jprqJssj',
type: 'input',
- fillType: 'actFill',
- maxlength: 200
+ disabled: true
}
}
}
]
},
- // 试验试剂信息
- sysjColumns() {
- return [
- {
- label: 'template.dl.dl010.sjmc',
- prop: 'sjmc',
- bodyType: 'input',
- bodyFillType: 'actFill'
- },
- {
- label: 'template.dl.dl010.bh',
- prop: 'bh',
- bodyType: 'input',
- bodyFillType: 'actFill'
- },
- {
- label: 'template.dl.dl010.ph',
- prop: 'ph',
- bodyType: 'input',
- bodyFillType: 'actFill'
- },
- {
- label: 'template.dl.dl010.ndhlcd',
- prop: 'ndhlcd',
- bodyType: 'input',
- bodyFillType: 'actFill'
- },
- {
- label: 'template.dl.dl010.ly',
- prop: 'ly',
- bodyType: 'input',
- bodyFillType: 'actFill'
- },
- {
- label: 'template.dl.dl010.sxr',
- prop: 'sxr',
- bodyType: 'input',
- bodyFillType: 'actFill'
- }
- ]
- },
- // 仪器使用信息
- yqsyColumns() {
- return [
- {
- label: 'template.dl.dl010.yqmc',
- prop: 'yqmc',
- bodyType: 'input',
- bodyDisabled: true,
- bodyFillType: 'actFill',
- disabled: true
- },
- {
- label: 'template.dl.dl010.yqxh',
- prop: 'yqxh',
- bodyType: 'input',
- bodyDisabled: true,
- bodyFillType: 'actFill',
- disabled: true
- },
- {
- label: 'template.dl.dl010.yqbh',
- prop: 'yqbh',
- bodyType: 'yq',
- bodyFillType: 'actFill'
- },
- {
- label: 'template.dl.dl010.xccsjzjdrq',
- prop: 'jzrq',
- bodyType: 'input',
- bodyDisabled: true,
- bodyFillType: 'actFill',
- disabled: true
- }
- ]
- },
// 采集信息列表
sjxxColumns() {
return [
@@ -354,6 +245,7 @@ export default {
{
label: 'template.dl.dl010.yslhnzsjyjrl',
headerSelectKey: 'yslhnUnit',
+ headerSelectTo: 'sjlhnUnit',
headerOptions: this.getDictOptions('business_tjdw'),
prop: 'yslhnzsjyjrl',
bodyType: 'inputNumber',
@@ -363,10 +255,12 @@ export default {
},
{
label: 'template.dl.dl010.sjlhnzsjyjrl',
- headerSelectKey: 'yslhnUnit',
+ headerSelectKey: 'sjlhnUnit',
headerOptions: this.getDictOptions('business_tjdw'),
prop: 'sjlhnzsjyjrl',
bodyMaxlength: 10,
+ compareTo: 'yslhnzsjyjrl',
+ copyFrom: 'yslhnzsjyjrl',
bodyType: 'inputNumber',
bodyFillType: 'actFill',
fillType: 'preFill'
@@ -378,9 +272,14 @@ export default {
checkboxLabel: '',
bodyFillType: 'actFill',
headerColumns: [
- { type: 'span', label: '收集' },
- { type: 'inputNumber', fillType: 'actFill', key: 'gs' },
- { type: 'span', label: '骨髓' }
+ { type: 'span', label: 'template.dl.dl010.sj' },
+ {
+ type: 'inputNumber',
+ fillType: 'actFill',
+ maxLength: 10,
+ key: 'gs'
+ },
+ { type: 'span', label: 'template.dl.dl010.gusui' }
],
span: 3
},
@@ -398,7 +297,8 @@ export default {
bodyFillType: 'preFill',
bodyMaxlength: 10,
fillType: 'preFill',
- headerSelectKey: 'yslhnUnit',
+ headerSelectKey: 'ysjrxqUnit',
+ headerSelectTo: 'sjjrxqUnit',
headerOptions: this.getDictOptions('business_tjdw')
},
{
@@ -408,7 +308,9 @@ export default {
bodyMaxlength: 10,
bodyFillType: 'actFill',
fillType: 'preFill',
- headerSelectKey: 'yslhnUnit',
+ compareTo: 'ysjrxq',
+ copyFrom: 'ysjrxq',
+ headerSelectKey: 'sjjrxqUnit',
headerOptions: this.getDictOptions('business_tjdw')
}
]
@@ -543,16 +445,12 @@ export default {
// 获取已填写的表单数据
getFilledFormData() {
const baseData = this.$refs.baseInfoRef.getFilledFormData()
- const sysjData = this.$refs.sysjTableRef.getFilledFormData()
- const yqsyData = this.$refs.yqsyTableRef.getFilledFormData()
const sjxxStepData = this.$refs.sjxxStepRef.getFilledFormData()
const sjxxData = this.$refs.sjxxTableRef.getFilledFormData()
const remarkData = this.$refs.remarkRef.getFilledFormData()
return {
...baseData,
- ...sysjData,
- ...yqsyData,
...sjxxStepData,
...sjxxData,
...remarkData
@@ -571,8 +469,6 @@ export default {
async validFields() {
const refsToValidate = [
'baseInfoRef',
- 'sysjTableRef',
- 'yqsyTableRef',
'sjxxStepRef',
'sjxxTableRef',
'remarkRef'
@@ -580,28 +476,14 @@ export default {
return await this.validFormFields(refsToValidate)
},
getResource() {
- const sysjStepResource = this.$refs.sysjTableRef.getStepResource()
- const yqsyStepResource = this.$refs.yqsyTableRef.getStepResource()
+ const sjxxStepResource = this.$refs.sjxxStepRef.getStepResource()
// 使用的试剂、仪器
- this.resourceTmp = [
- ...(sysjStepResource.sjResource || []),
- ...(yqsyStepResource.sjResource || [])
- ]
- this.yqResourceTmp = yqsyStepResource.yqResource || []
+ this.resourceTmp = sjxxStepResource.sjResource || []
+ this.yqResourceTmp = sjxxStepResource.yqResource || []
return this.resourceTmp
},
onRegentSubmit(e) {
- const { selectInfo, key, rowIndex } = e
- const { row } = selectInfo
-
- if (key === 'yqbh') {
- const params = {
- yqmc: row.mc,
- yqxh: row.xh,
- jzrq: row.jzrq
- }
- this.$refs.yqsyTableRef.updateDataSourceByRowIndex(rowIndex, params)
- }
+ // 预留方法,如果需要处理试剂提交事件可以在这里添加
},
// 保存
async onSave() {
diff --git a/src/views/business/comps/template/comps/dl/DL011.vue b/src/views/business/comps/template/comps/dl/DL011.vue
index cf339c2..089ce92 100644
--- a/src/views/business/comps/template/comps/dl/DL011.vue
+++ b/src/views/business/comps/template/comps/dl/DL011.vue
@@ -16,48 +16,25 @@
:formData="formData"
/>
-
-
-
- deleteTableRow(rowIndex, 'sysjTableRef')"
- >
-
-
-
-
-
onRegentSubmit(e)"
- :showOperation="fillType === 'actFill'"
- :showAddRow="fillType === 'actFill'"
- :formData="formData"
- :prefixKey="`yqsyTable`"
- >
-
- deleteTableRow(rowIndex, 'yqsyTableRef')"
- >
-
-
+ :dataSource="resource"
+ />
+
+
-
-
-
- deleteTableRow(rowIndex, 'sysjTableRef')"
- >
-
-
-
-
-
onRegentSubmit(e)"
- :showOperation="fillType === 'actFill'"
- :showAddRow="fillType === 'actFill'"
- :formData="formData"
- :prefixKey="`yqsyTable`"
- >
-
- deleteTableRow(rowIndex, 'yqsyTableRef')"
- >
-
-
+ :dataSource="resource"
+ />
+
@@ -108,8 +80,6 @@ import moment from 'moment'
const refConf = {
base: 'baseInfoRef',
- sysj: 'sysjTableRef',
- yqsy: 'yqsyTableRef',
xbxx: 'xbxxRef',
step: 'stepRef',
pyxx: 'pyxxRef',
@@ -173,10 +143,10 @@ export default {
}
},
{
- type: 'conditionItem',
+ type: 'cellItem',
+ label: 'template.dl.dl012.sydd',
config: {
sydd: {
- span: 1,
label: 'template.dl.dl012.sydd',
type: 'select',
options: this.getDictOptions('business_sydd'),
@@ -203,78 +173,6 @@ export default {
}
]
},
- // 试验试剂信息
- sysjColumns() {
- return [
- {
- label: 'template.dl.dl012.sjmc',
- prop: 'sjmc',
- bodyType: 'input',
- bodyFillType: 'actFill'
- },
- {
- label: 'template.dl.dl012.bh',
- prop: 'bh',
- bodyType: 'input',
- bodyFillType: 'actFill'
- },
- {
- label: 'template.dl.dl012.ph',
- prop: 'ph',
- bodyType: 'input',
- bodyFillType: 'actFill'
- },
- {
- label: 'template.dl.dl012.ndhlcd',
- prop: 'ndhlcd',
- bodyType: 'input',
- bodyFillType: 'actFill'
- },
- {
- label: 'template.dl.dl012.ly',
- prop: 'ly',
- bodyType: 'input',
- bodyFillType: 'actFill'
- },
- {
- label: 'template.dl.dl012.sxr',
- prop: 'sxr',
- bodyType: 'input',
- bodyFillType: 'actFill'
- }
- ]
- },
- // 仪器使用信息
- yqsyColumns() {
- return [
- {
- label: 'template.dl.dl012.yqmc',
- prop: 'yqmc',
- bodyType: 'input',
- bodyFillType: 'actFill'
- },
- {
- label: 'template.dl.dl012.yqxh',
- prop: 'yqxh',
- bodyType: 'input',
- bodyFillType: 'actFill'
- },
- {
- label: 'template.dl.dl012.yqbh',
- prop: 'yqbh',
- bodyType: 'yq',
- bodyFillType: 'actFill'
- },
- {
- label: 'template.dl.dl012.xccsjzjdrq',
- prop: 'xccsjzjdrq',
- bodyType: 'input',
- bodyDisabled: true,
- bodyFillType: 'actFill',
- disabled: true
- }
- ]
- },
// 培养信息配置
pyxxConfig() {
return [
@@ -364,7 +262,8 @@ export default {
fillType: 'actFill',
subOptions: this.getDictOptions('business_nddw'),
maxlength: 10,
- copyFrom: 'zbhxbyjtj' //复制哪个字段
+ compareTo: 'zbhxbyjtj',
+ copyFrom: 'zbhxbyjtj'
}
}
}
@@ -408,7 +307,7 @@ export default {
}
},
methods: {
- handleClickButton(e,signData) {
+ handleClickButton(e, signData) {
console.log(e)
const { subKey } = e || {}
if (subKey === 'pykssjButton') {
@@ -436,33 +335,14 @@ export default {
return await this.validFormFields(refNames)
},
getResource() {
- const sysjStepResource = this.$refs.sysjTableRef.getStepResource()
- const yqsyStepResource = this.$refs.yqsyTableRef.getStepResource()
const stepResource = this.$refs.stepRef.getStepResource()
// 使用的试剂、仪器
- this.resourceTmp = [
- ...(sysjStepResource.sjResource || []),
- ...(yqsyStepResource.sjResource || []),
- ...(stepResource.sjResource || [])
- ]
- this.yqResourceTmp = [
- ...(yqsyStepResource.yqResource || []),
- ...(stepResource.yqResource || [])
- ]
+ this.resourceTmp = stepResource.sjResource || []
+ this.yqResourceTmp = stepResource.yqResource || []
return this.resourceTmp
},
onRegentSubmit(e) {
- const { selectInfo, key, rowIndex } = e
- const { row } = selectInfo
-
- if (key === 'yqbh') {
- const params = {
- yqmc: row.mc,
- yqxh: row.xh,
- xccsjzjdrq: row.jzrq
- }
- this.$refs.yqsyTableRef.updateDataSourceByRowIndex(rowIndex, params)
- }
+ // 预留方法,如果需要处理试剂提交事件可以在这里添加
},
// 保存
async onSave() {
diff --git a/src/views/business/comps/template/comps/dl/DL013.vue b/src/views/business/comps/template/comps/dl/DL013.vue
index 72f5fc1..67a9324 100644
--- a/src/views/business/comps/template/comps/dl/DL013.vue
+++ b/src/views/business/comps/template/comps/dl/DL013.vue
@@ -179,11 +179,10 @@ export default {
}
},
{
- type: 'conditionItem',
+ type: 'cellItem',
label: 'template.dl.dl013.sydd',
config: {
sydd: {
- span: 1,
label: 'template.dl.dl013.sydd',
type: 'select',
options: this.getDictOptions('business_sydd'),
diff --git a/src/views/business/comps/template/comps/dl/DL014.vue b/src/views/business/comps/template/comps/dl/DL014.vue
index cb485c8..31e7488 100644
--- a/src/views/business/comps/template/comps/dl/DL014.vue
+++ b/src/views/business/comps/template/comps/dl/DL014.vue
@@ -16,8 +16,16 @@
:formData="formData"
/>
-
-
+
+
+
+
+
item.yqbh)
- .map(item => ({
+ .filter((item) => item.yqbh)
+ .map((item) => ({
bh: item.yqbh,
mc: item.yqmc,
xh: item.yqxh
}))
-
+
// 从剂量组表格中提取试剂资源(如果有 S9混合液编号或细胞编号)
const jlzData = this.$refs.jlzTableRef?.getFilledFormData()
const jlzList = jlzData?.stepTableFormData || []
-
+
const sjResourceFromJlz = []
- jlzList.forEach(item => {
+ jlzList.forEach((item) => {
// 如果有细胞编号,添加到试剂资源
if (item.xybh) {
sjResourceFromJlz.push({
@@ -639,9 +680,9 @@ export default {
})
}
})
-
+
this.resourceTmp = sjResourceFromJlz
-
+
return this.resourceTmp
},
onRegentSubmit(e) {
@@ -668,7 +709,7 @@ export default {
// 处理剂量组配制信息的 blur 事件
onJlzInfoBlur(e) {
const { key, value } = e
-
+
// 当剂量组总数改变时,清空剂量组名称表格数据和剂量组列表数据
if (key === 'jlzzs') {
// 检查值是否真的改变了
@@ -677,24 +718,26 @@ export default {
this.$set(this.formData, 'jlzmcTableData', [])
// 同时清空剂量组列表数据
this.$set(this.formData, 'jlzTableData', [])
-
- this.$message.info('剂量组总数已改变,已清空剂量组名称和剂量组列表数据')
+
+ this.$message.info(
+ '剂量组总数已改变,已清空剂量组名称和剂量组列表数据'
+ )
}
-
+
// 更新旧值
this.oldJlzzs = value
}
-
+
// 当平行瓶数改变时,清空剂量组列表数据
if (key === 'pxpb') {
// 检查值是否真的改变了
if (this.oldPxpb !== null && this.oldPxpb !== value) {
// 清空剂量组列表数据
this.$set(this.formData, 'jlzTableData', [])
-
+
this.$message.info('平行瓶数已改变,已清空剂量组列表数据')
}
-
+
// 更新旧值
this.oldPxpb = value
}
@@ -702,7 +745,7 @@ export default {
// 处理剂量组名称表格的 blur 事件
onJlzmcTableBlur(e) {
const { colKey } = e
-
+
// 当剂量组名称字段改变时,清空剂量组列表数据
if (colKey === 'jlzzmc') {
// 检查剂量组列表是否有数据