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" /> - - - - - - - - - - - + :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" /> - - - - - - - - - + :dataSource="resource" + /> +
+
+ {{ + $t('template.dl.dl011.bqdy') + }} +
- - - - - - - - - + :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') { // 检查剂量组列表是否有数据