From 98a8ea3537deac24266aed2be20a2c0887996c1b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?ZHANGTENG=5C=E5=BC=A0=E8=85=BE?= <894697943@qq.com>
Date: Wed, 11 Mar 2026 10:03:30 +0800
Subject: [PATCH] =?UTF-8?q?feat:[=E6=A8=A1=E6=9D=BF=E7=AE=A1=E7=90=86]DJ00?=
=?UTF-8?q?2=E3=80=81BL001=E5=BE=85=E5=AE=8C=E5=96=84?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/lang/en/template/dj.js | 3 +
src/lang/zh/template/dj.js | 3 +
.../business/comps/template/TemplateTable.vue | 6 +
.../business/comps/template/comps/bl/BL001.vue | 374 +++++++++++++++++++++
.../business/comps/template/comps/dj/DJ001.vue | 150 +++++++--
.../business/comps/template/comps/dj/DJ002.vue | 363 ++++++++++++++++++++
.../business/comps/template/comps/dj/DJ003.vue | 5 +-
.../comps/template/mixins/templateMixin.js | 2 +
8 files changed, 868 insertions(+), 38 deletions(-)
create mode 100644 src/views/business/comps/template/comps/bl/BL001.vue
create mode 100644 src/views/business/comps/template/comps/dj/DJ002.vue
diff --git a/src/lang/en/template/dj.js b/src/lang/en/template/dj.js
index 998ee7c..ae74580 100644
--- a/src/lang/en/template/dj.js
+++ b/src/lang/en/template/dj.js
@@ -3,12 +3,15 @@ export default {
dj001: {
syts: '试验天数',
fhfw: '复核范围',
+ fhlr: '复核内容',
},
+ //dj002复用dj003
dj003: {
yplx: '样品类型',
knj: '抗凝剂',
cyhcftj: '采样后存放条件',
cyd: '采样点',
+ ypmc: '样品名称',
dwbh: '动物编号',
cysj: '采样时间',
sjbd: '时间比对',
diff --git a/src/lang/zh/template/dj.js b/src/lang/zh/template/dj.js
index 998ee7c..ae74580 100644
--- a/src/lang/zh/template/dj.js
+++ b/src/lang/zh/template/dj.js
@@ -3,12 +3,15 @@ export default {
dj001: {
syts: '试验天数',
fhfw: '复核范围',
+ fhlr: '复核内容',
},
+ //dj002复用dj003
dj003: {
yplx: '样品类型',
knj: '抗凝剂',
cyhcftj: '采样后存放条件',
cyd: '采样点',
+ ypmc: '样品名称',
dwbh: '动物编号',
cysj: '采样时间',
sjbd: '时间比对',
diff --git a/src/views/business/comps/template/TemplateTable.vue b/src/views/business/comps/template/TemplateTable.vue
index 56cdfee..e69687f 100644
--- a/src/views/business/comps/template/TemplateTable.vue
+++ b/src/views/business/comps/template/TemplateTable.vue
@@ -89,9 +89,11 @@ import XB001 from "./comps/xb/XB001.vue";
//动技
import DJ001 from "./comps/dj/DJ001.vue";
+import DJ002 from "./comps/dj/DJ002.vue";
import DJ003 from "./comps/dj/DJ003.vue";
//病理
+import BL001 from "./comps/bl/BL001.vue";
import BL002 from "./comps/bl/BL002.vue";
//毒理
@@ -173,8 +175,10 @@ export default {
XB001,
//动技
DJ001,
+ DJ002,
DJ003,
//病理
+ BL001,
BL002
},
data() {
@@ -292,8 +296,10 @@ export default {
'XB001': 'XB001',
//动技
'DJ001': 'DJ001',
+ 'DJ002': 'DJ002',
'DJ003': 'DJ003',
//病理
+ 'BL001': 'BL001',
'BL002': 'BL002',
//毒理
//DL001-SYWZPZJHB
diff --git a/src/views/business/comps/template/comps/bl/BL001.vue b/src/views/business/comps/template/comps/bl/BL001.vue
new file mode 100644
index 0000000..77bdb90
--- /dev/null
+++ b/src/views/business/comps/template/comps/bl/BL001.vue
@@ -0,0 +1,374 @@
+
+
+
+
+
+

{{ formData.bdmc
+ }}

+
+
+
+
+
+
+
+
diff --git a/src/views/business/comps/template/comps/dj/DJ001.vue b/src/views/business/comps/template/comps/dj/DJ001.vue
index 782eb6a..93c6f09 100644
--- a/src/views/business/comps/template/comps/dj/DJ001.vue
+++ b/src/views/business/comps/template/comps/dj/DJ001.vue
@@ -8,35 +8,56 @@
@@ -59,6 +80,7 @@ import { uniqeResource } from "@/utils/calUnitTools";
import { debounce } from 'lodash-es'
import TableOpertaionDelete from "@/components/Template/operation/TableOpertaionDelete.vue"
import StepFormPackage from "@/components/Template/StepFormPackage.vue"
+import { fill } from "lodash";
export default {
name: "DJ001",
@@ -115,7 +137,7 @@ export default {
operateConfig() {
return [
{
- type: "step",
+ type: "cellItem",
config: {
syts: {
label: 'template.dj.dj001.syts',
@@ -127,6 +149,30 @@ export default {
]
},
+ //复核范围配置
+ fhfwCheckBoxConfig() {
+ return [
+ {
+ type: "checkboxList",
+ config: {
+ fhfwCheck: {
+ label: 'template.dj.dj001.fhfw',
+ type: "checkboxTree",
+ fillType: 'actFill',
+ options: this.fhfwCheckOptions
+ },
+ fhlrCheck: {
+ label: 'template.dj.dj001.fhlr',
+ type: "checkboxTree",
+ fillType: 'actFill',
+ options: this.fhlrCheckOptions
+ },
+ }
+ },
+
+ ]
+ },
+ //复核范围
operateColumns() {
return [
{
@@ -138,42 +184,54 @@ export default {
},
]
},
+ //复核内容
+ fhlrColumns() {
+ return [
+ {
+ label: 'template.dj.dj001.fhlr',
+ prop: 'fhlr',
+ bodyType: 'select',
+ bodyOptions: this.getDictOptions('business_fhlr'),
+ bodyFillType: 'preFill'
+ },
+ ]
+ },
},
data() {
return {
formData: {},
+ fhfwCheckOptions:[],
+ fhlrCheckOptions:[],
+ isFirstTableDataRecorded: false,
};
},
mounted() {
+ setTimeout(()=>{
+ this.getTableData()
+ },200)
},
methods: {
//获取已填写的表单数据
getFilledFormData() {
return this.getFilledFormDataByRefs(
[
- "baseInfoRef", "stepRef", "remarkRef",
- "fjRef", "tableFirstRef", "stepFormPackageSecondRef",
- "stepFormPackageThirdRef", "stepFormPackageFourthRef",
- "stepFormPackageFivthRef", "tableSecondRef", "stepFormPackageSixthRef"
+ "baseInfoRef", "operateStepRef", "operateTableRef", "fhlrTableRef", "fhfwCheckBoxRef"
]
)
},
//获取填写完成的表单数据
async getFormData() {
let content = await this.validFormFields([
- "baseInfoRef", "stepRef", "remarkRef",
- "fjRef", "tableFirstRef", "stepFormPackageSecondRef",
- "stepFormPackageThirdRef", "stepFormPackageFourthRef",
- "stepFormPackageFivthRef", "tableSecondRef", "stepFormPackageSixthRef"
+ "baseInfoRef", "operateStepRef", "operateTableRef", "fhlrTableRef", "fhfwCheckBoxRef"
]);
return content;
},
getResource() {
//使用的试剂、仪器
- const stepResource = this.$refs.stepRef.getStepResource()
- this.resourceTmp = stepResource.sjResource || []
- this.yqResourceTmp = stepResource.yqResource || []
- return this.resourceTmp;
+ // const stepResource = this.$refs.stepRef.getStepResource()
+ // this.resourceTmp = stepResource.sjResource || []
+ // this.yqResourceTmp = stepResource.yqResource || []
+ // return this.resourceTmp;
},
//保存
async onSave() {
@@ -191,6 +249,26 @@ export default {
tableRef2.deleteRow(rowIndex);
}
},
+ // 获取范围和内容表格数据(核心优化)
+ getTableData() {
+ const formData = this.getFilledFormData() || {};
+ const stepTableFormData = formData.stepTableFormData || [];
+ const stepTableFormData_1 = formData.stepTableFormData_1 || [];
+ // 处理数据为复选框options格式(去重+空值过滤)
+ const firstList = stepTableFormData
+ .filter(item => item.fhfw) // 过滤空值
+ .map(item => ({ label: item.fhfw, value: item.fhfw }))
+ .filter((item, index, arr) => arr.findIndex(i => i.value === item.value) === index); // 去重
+
+ const secondList = stepTableFormData_1
+ .filter(item => item.fhlr) // 过滤空值
+ .map(item => ({ label: item.fhlr, value: item.fhlr }))
+ .filter((item, index, arr) => arr.findIndex(i => i.value === item.value) === index); // 去重
+
+ // 更新响应式变量(触发computed更新)
+ this.fhfwCheckOptions = firstList;
+ this.fhlrCheckOptions = secondList;
+ },
}
};
diff --git a/src/views/business/comps/template/comps/dj/DJ002.vue b/src/views/business/comps/template/comps/dj/DJ002.vue
new file mode 100644
index 0000000..dc3634e
--- /dev/null
+++ b/src/views/business/comps/template/comps/dj/DJ002.vue
@@ -0,0 +1,363 @@
+
+
+
+
+
+

{{ formData.bdmc
+ }}

+
+
+
+
+
+
+
+
diff --git a/src/views/business/comps/template/comps/dj/DJ003.vue b/src/views/business/comps/template/comps/dj/DJ003.vue
index 61ac06c..209b82f 100644
--- a/src/views/business/comps/template/comps/dj/DJ003.vue
+++ b/src/views/business/comps/template/comps/dj/DJ003.vue
@@ -16,9 +16,9 @@
:formData="formData"
/>
-
+