-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ $t('form.search') }}
- {{ $t('form.reset') }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('form.search') }}
+ {{ $t('form.reset') }}
+
@@ -113,11 +96,11 @@
{{ $t('page.business.study.studyFormPre.guanbi')
- }}
+ }}
{{ $t('page.business.study.studyFormPre.qrgb')
- }}
+ }}
@@ -265,7 +248,7 @@ export default {
pageNum: 1,
pageSize: 10,
studyId: -1,
- studyStatus:5,
+ studyStatus: 5,
studySn: '',
studyMc: '',
bdbh: '',
@@ -424,7 +407,7 @@ export default {
getList() {
if (this.daterange != null && this.daterange.length > 0) {
this.searchForm.startDate = this.daterange[0]
- this.searchForm.endDate = moment().add(this.daterange[1], 'days').format('YYYY-MM-DD');
+ this.searchForm.endDate = moment(this.daterange[1]).add(1, 'days').format('YYYY-MM-DD');
} else {
this.searchForm.startDate = ''
this.searchForm.endDate = ''
@@ -481,7 +464,7 @@ export default {
detail(row) {
this.showDetail = true
this.$emit('showDetail', this.showDetail)
- this.$refs.Xq.show(row, true,this.searchForm)
+ this.$refs.Xq.show(row, true, this.searchForm)
},
audit(row) {
this.showAudit = true
diff --git a/src/views/business/resource/gyzj/comps/gyzjList.vue b/src/views/business/resource/gyzj/comps/gyzjList.vue
index c5bf48d..b440992 100644
--- a/src/views/business/resource/gyzj/comps/gyzjList.vue
+++ b/src/views/business/resource/gyzj/comps/gyzjList.vue
@@ -522,7 +522,7 @@ export default {
getList() {
if (this.daterange != null && this.daterange.length > 0) {
this.queryParams.startDate = this.daterange[0]
- this.queryParams.endDate = moment().add(this.daterange[1], 'days').format('YYYY-MM-DD');
+ this.queryParams.endDate = moment(this.daterange[1]).add(1, 'days').format('YYYY-MM-DD');
} else {
this.queryParams.startDate = ''
this.queryParams.endDate = ''
diff --git a/src/views/business/resource/mjy/comps/mjyList.vue b/src/views/business/resource/mjy/comps/mjyList.vue
index c06594f..9dea244 100644
--- a/src/views/business/resource/mjy/comps/mjyList.vue
+++ b/src/views/business/resource/mjy/comps/mjyList.vue
@@ -521,7 +521,7 @@ export default {
getList() {
if (this.daterange != null && this.daterange.length > 0) {
this.queryParams.startDate = this.daterange[0]
- this.queryParams.endDate = moment().add(this.daterange[1], 'days').format('YYYY-MM-DD');
+ this.queryParams.endDate = moment(this.daterange[1]).add(1, 'days').format('YYYY-MM-DD');
} else {
this.queryParams.startDate = ''
this.queryParams.endDate = ''
diff --git a/src/views/business/study/comp/jhbdList.vue b/src/views/business/study/comp/jhbdList.vue
index 6a336cc..cc185c9 100644
--- a/src/views/business/study/comp/jhbdList.vue
+++ b/src/views/business/study/comp/jhbdList.vue
@@ -2,41 +2,29 @@
-
-
-
+
+ style="width: 150px" />
-
-
+ style="width: 150px" />
-
-
-
-
-
-
-
{{ $t('form.search') }}
{{ $t('form.reset') }}
-
-
@@ -239,7 +227,7 @@ export default {
getList() {
if (this.daterange != null && this.daterange.length > 0) {
this.searchForm.cjsjks = this.daterange[0]
- this.searchForm.cjsjjs = moment().add(this.daterange[1], 'days').format('YYYY-MM-DD');
+ this.searchForm.cjsjjs = moment(this.daterange[1]).add(1, 'days').format('YYYY-MM-DD');
} else {
this.searchForm.cjsjks = ''
this.searchForm.cjsjjs = ''
diff --git a/src/views/business/study/comp/tbbdList.vue b/src/views/business/study/comp/tbbdList.vue
index fa5355b..1b196b4 100644
--- a/src/views/business/study/comp/tbbdList.vue
+++ b/src/views/business/study/comp/tbbdList.vue
@@ -2,65 +2,48 @@
-
-
-
+
+
+ style="width: 150px" />
-
-
+
+ style="width: 150px" />
-
-
+
-
-
-
-
-
- {{ $t('form.search') }}
- {{ $t('form.reset') }}
-
-
-
-
-
-
+ style="width: 150px" />
-
-
-
-
+
-
-
+
-
+
-
-
+
+ {{ $t('form.search') }}
+ {{ $t('form.reset') }}
+
@@ -386,7 +369,7 @@ export default {
getList() {
if (this.daterange != null && this.daterange.length > 0) {
this.searchForm.cjsjks = this.daterange[0]
- this.searchForm.cjsjjs = moment().add(this.daterange[1], 'days').format('YYYY-MM-DD');
+ this.searchForm.cjsjjs = moment(this.daterange[1]).add(1, 'days').format('YYYY-MM-DD');
} else {
this.searchForm.cjsjks = ''
this.searchForm.cjsjjs = ''
diff --git a/src/views/business/study/comp/wzlb/gyzjList.vue b/src/views/business/study/comp/wzlb/gyzjList.vue
index 6a1d69d..da7e287 100644
--- a/src/views/business/study/comp/wzlb/gyzjList.vue
+++ b/src/views/business/study/comp/wzlb/gyzjList.vue
@@ -255,7 +255,7 @@ export default {
getList() {
if (this.daterange != null && this.daterange.length > 0) {
this.queryParams.startDate = this.daterange[0]
- this.queryParams.endDate = moment().add(this.daterange[1], 'days').format('YYYY-MM-DD');
+ this.queryParams.endDate = moment(this.daterange[1]).add(1, 'days').format('YYYY-MM-DD');
} else {
this.queryParams.startDate = ''
this.queryParams.endDate = ''
diff --git a/src/views/business/study/comp/wzlb/mjyList.vue b/src/views/business/study/comp/wzlb/mjyList.vue
index 414e1a8..b61d488 100644
--- a/src/views/business/study/comp/wzlb/mjyList.vue
+++ b/src/views/business/study/comp/wzlb/mjyList.vue
@@ -233,7 +233,7 @@ export default {
getList() {
if (this.daterange != null && this.daterange.length > 0) {
this.queryParams.startDate = this.daterange[0]
- this.queryParams.endDate = moment().add(this.daterange[1], 'days').format('YYYY-MM-DD');
+ this.queryParams.endDate = moment(this.daterange[1]).add(1, 'days').format('YYYY-MM-DD');
} else {
this.queryParams.startDate = ''
this.queryParams.endDate = ''
diff --git a/src/views/business/study/comp/ytbdList.vue b/src/views/business/study/comp/ytbdList.vue
index 7dd0421..f539ff8 100644
--- a/src/views/business/study/comp/ytbdList.vue
+++ b/src/views/business/study/comp/ytbdList.vue
@@ -2,48 +2,32 @@
-
-
-
+
+ style="width: 150px" />
-
-
+ style="width: 150px" />
-
-
-
-
-
- {{ $t('form.search') }}
- {{ $t('form.reset') }}
-
-
-
-
-
+ style="width: 150px" />
-
-
-
-
+
+ {{ $t('form.search') }}
+ {{ $t('form.reset') }}
+
@@ -430,7 +414,7 @@ export default {
getList() {
if (this.daterange != null && this.daterange.length > 0) {
this.searchForm.startDate = this.daterange[0]
- this.searchForm.endDate = moment().add(this.daterange[1], 'days').format('YYYY-MM-DD');
+ this.searchForm.endDate = moment(this.daterange[1]).add(1, 'days').format('YYYY-MM-DD');
} else {
this.searchForm.startDate = ''
this.searchForm.endDate = ''
From 1b6101d3d44f599980ac7e976bb7ac5153a1ee53 Mon Sep 17 00:00:00 2001
From: HanLong <404402223@qq.com>
Date: Wed, 18 Mar 2026 14:37:21 +0800
Subject: [PATCH 09/52] =?UTF-8?q?fix:[=E8=B5=84=E6=BA=90=E5=BA=93=E7=AE=A1?=
=?UTF-8?q?=E7=90=86][=E4=BE=9B=E8=AF=95=E5=93=81]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/business/gsp/gspFfjl.js | 8 +++
src/api/business/gsp/gspRkjl.js | 8 +++
src/views/business/resource/gsp/comps/ffjlList.vue | 59 +++++++++++++-----
src/views/business/resource/gsp/comps/gsp/Ff.vue | 5 +-
src/views/business/resource/gsp/comps/gsp/Ysff.vue | 61 ++++++++++---------
src/views/business/resource/gsp/comps/gspList.vue | 1 +
src/views/business/resource/gsp/comps/rkjlList.vue | 69 +++++++++++++---------
7 files changed, 135 insertions(+), 76 deletions(-)
diff --git a/src/api/business/gsp/gspFfjl.js b/src/api/business/gsp/gspFfjl.js
index 38886e8..a0833bc 100644
--- a/src/api/business/gsp/gspFfjl.js
+++ b/src/api/business/gsp/gspFfjl.js
@@ -88,4 +88,12 @@ export function jq(data) {
method: 'post',
data: data
})
+}
+
+export function statistics(query) {
+ return request({
+ url: '/system/business/gspFfjl/statistics',
+ method: 'get',
+ params: query
+ })
}
\ No newline at end of file
diff --git a/src/api/business/gsp/gspRkjl.js b/src/api/business/gsp/gspRkjl.js
index 16a100b..90292d8 100644
--- a/src/api/business/gsp/gspRkjl.js
+++ b/src/api/business/gsp/gspRkjl.js
@@ -104,4 +104,12 @@ export function jq(data) {
method: 'post',
data: data
})
+}
+//入库量统计
+export function sumRkl(query) {
+ return request({
+ url: '/system/business/gspRkjl/sumRkl',
+ method: 'get',
+ params: query
+ })
}
\ No newline at end of file
diff --git a/src/views/business/resource/gsp/comps/ffjlList.vue b/src/views/business/resource/gsp/comps/ffjlList.vue
index 4524ff6..379a36d 100644
--- a/src/views/business/resource/gsp/comps/ffjlList.vue
+++ b/src/views/business/resource/gsp/comps/ffjlList.vue
@@ -7,22 +7,22 @@
-
+
-
+
-
-
+
-
+
@@ -33,7 +33,7 @@
-
+
@@ -42,13 +42,13 @@
-
+
-
+
@@ -78,6 +78,14 @@
{{
$t('form.export') }}
+
+
+ {{ $t('page.business.resource.gsp.rkl') }}:{{ rkl }}
+ {{ $t('page.business.resource.gsp.ckl') }}:{{ ckl }}
+ {{ $t('page.business.resource.gsp.syl') }}:{{ syl }}
+
+
+
@@ -195,7 +203,7 @@
From 220920373e81ff46b13f4931b1f2f27fad087d24 Mon Sep 17 00:00:00 2001
From: memorylkf <312904636@qq.com>
Date: Wed, 18 Mar 2026 18:05:31 +0800
Subject: [PATCH 21/52] =?UTF-8?q?feat:=20[=E6=A8=A1=E6=9D=BF=E7=AE=A1?=
=?UTF-8?q?=E7=90=86]=20=E8=AF=95=E9=AA=8C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/lang/en/template/dl.js | 225 +++++++++++----------
src/lang/zh/template/dl.js | 200 +++++++++---------
.../business/comps/template/comps/dl/DL006.vue | 2 +-
.../business/comps/template/comps/dl/DL007.vue | 2 +-
4 files changed, 221 insertions(+), 208 deletions(-)
diff --git a/src/lang/en/template/dl.js b/src/lang/en/template/dl.js
index 1f4b018..0540a20 100644
--- a/src/lang/en/template/dl.js
+++ b/src/lang/en/template/dl.js
@@ -49,7 +49,7 @@ export default {
dl004: {
...common,
zjjgqr: '增菌结果确认',
- ccwz: 'Storage Location',
+ ccwz: 'Storage Location'
},
dl006: {
...common,
@@ -78,7 +78,8 @@ export default {
pykssj: 'Cultivation Start Time',
pyjssj: 'Cultivation End Time',
jsButton: 'End',
- yqsyxxEmpty: 'Instrument usage information has not been filled in, please fill in before submitting'
+ yqsyxxEmpty:
+ 'Instrument usage information has not been filled in, please fill in before submitting'
},
dl008: {
...common,
@@ -89,8 +90,10 @@ export default {
jzbh2: 'Strain Number',
jzbh3: 'Strain Number',
jzbh4: 'Strain Number',
- yqsyxxEmpty: 'Instrument usage information has not been filled in, please fill in before submitting',
- cxqkEmpty: 'Imaging status has not been filled in, please fill in before submitting'
+ yqsyxxEmpty:
+ 'Instrument usage information has not been filled in, please fill in before submitting',
+ cxqkEmpty:
+ 'Imaging status has not been filled in, please fill in before submitting'
},
dl009: {
...common,
@@ -104,11 +107,16 @@ export default {
czqk: 'Precipitation Status',
bjjt: 'Background Lawn',
jls: 'Colony Count',
- czqkDesc: 'Precipitation codes: "P-" = "None"; "P+" = "Slight"; "P++" = "Moderate"; "P+++" = "Severe".',
- bjjtDesc: 'Background lawn codes: "N" = "Normal"; "R1" = "Weak, lawn covers 70%-90% of plate area"; "R2" = "Medium, lawn covers 40%-70% of plate area"; "R3" = "Strong, lawn covers 10%-40% of plate area"; "A" = "Absent, no lawn on plate"; "O" = "Precipitation present, affecting lawn assessment";',
- jlsDesc: 'Colony count special case: "*" indicates pinpoint colonies visible on plate;',
- yqsyxxEmpty: 'Instrument usage information has not been filled in, please fill in before submitting',
- jgxxEmpty: 'Result information has not been filled in, please fill in before submitting'
+ czqkDesc:
+ 'Precipitation codes: "P-" = "None"; "P+" = "Slight"; "P++" = "Moderate"; "P+++" = "Severe".',
+ bjjtDesc:
+ 'Background lawn codes: "N" = "Normal"; "R1" = "Weak, lawn covers 70%-90% of plate area"; "R2" = "Medium, lawn covers 40%-70% of plate area"; "R3" = "Strong, lawn covers 10%-40% of plate area"; "A" = "Absent, no lawn on plate"; "O" = "Precipitation present, affecting lawn assessment";',
+ jlsDesc:
+ 'Colony count special case: "*" indicates pinpoint colonies visible on plate;',
+ yqsyxxEmpty:
+ 'Instrument usage information has not been filled in, please fill in before submitting',
+ jgxxEmpty:
+ 'Result information has not been filled in, please fill in before submitting'
},
dl010: {
...common,
@@ -195,8 +203,10 @@ export default {
yxg: 'Lower Right Grid (cells)',
cdxxTime: 'Time {index}',
addCdxx: 'Add',
- yqsyxxEmpty: 'Instrument usage information has not been filled in, please fill in before submitting',
- cdxxEmpty: 'Measurement information has not been filled in, please fill in before submitting'
+ yqsyxxEmpty:
+ 'Instrument usage information has not been filled in, please fill in before submitting',
+ cdxxEmpty:
+ 'Measurement information has not been filled in, please fill in before submitting'
},
dl014: {
...common,
@@ -224,7 +234,8 @@ export default {
gyhzqk: 'Post-dose Status',
qrButton: 'Confirm',
wcButton: 'Complete',
- yqsyxxEmpty: 'Instrument usage information has not been filled in, please fill in before submitting'
+ yqsyxxEmpty:
+ 'Instrument usage information has not been filled in, please fill in before submitting'
},
dl015: {
...common,
@@ -239,148 +250,148 @@ export default {
pyybrl: 'Culture Medium Volume Added (ul)'
},
dl016: {
- xbxx:'细胞信息',
- sydd:'实验地点',
- czsj:'操作时间',
+ xbxx: '细胞信息',
+ sydd: '试验地点',
+ czsj: '操作时间',
qxbd: '前序表单',
dlbz: '备注',
czbz: '操作步骤',
- qcxjjyqk:'秋水仙碱加液情况',
- bltj:'暴露条件',
- jlzb:'剂量组别',
- xybh:'悬液编号',
- qsxjjrl:'秋水仙碱加入量',
+ qcxjjyqk: '秋水仙碱加液情况',
+ bltj: '暴露条件',
+ jlzb: '剂量组别',
+ xybh: '悬液编号',
+ qsxjjrl: '秋水仙碱加入量'
},
dl017: {
- xbxx:'细胞信息',
- sydd:'实验地点',
- czsj:'操作时间',
+ xbxx: '细胞信息',
+ sydd: '试验地点',
+ czsj: '操作时间',
qxbd: '前序表单',
dlbz: '备注',
czbz: '操作步骤',
- xbczqk:'细胞操作情况',
- bltj:'暴露条件',
+ xbczqk: '细胞操作情况',
+ bltj: '暴露条件',
- jlzb:'剂量组别',
- xybh:'悬液编号',
- sjqszqk:'收集前生长情况',
- sjqcdqk:'收集前沉淀情况',
- saqqtqk:'收集前其他情况',
- ddpyy:'倒掉培养液',
- xd:'洗涤',
- sj:'收集',
- ds:'低渗',
- dy1gd:'第一次固定',
- dy2gd:'第二次固定',
- dy3gd:'第三次固定',
- dy4gd:'第四次固定',
+ jlzb: '剂量组别',
+ xybh: '悬液编号',
+ sjqszqk: '收集前生长情况',
+ sjqcdqk: '收集前沉淀情况',
+ saqqtqk: '收集前其他情况',
+ ddpyy: '倒掉培养液',
+ xd: '洗涤',
+ sj: '收集',
+ ds: '低渗',
+ dy1gd: '第一次固定',
+ dy2gd: '第二次固定',
+ dy3gd: '第三次固定',
+ dy4gd: '第四次固定'
},
dl018: {
- xbxx:'细胞信息',
- sydd:'实验地点',
- czsj:'操作时间',
+ xbxx: '细胞信息',
+ sydd: '试验地点',
+ czsj: '操作时间',
qxbd: '前序表单',
dlbz: '备注',
czbz: '操作步骤',
- xbczqk:'细胞操作情况',
- bltj:'暴露条件',
+ xbczqk: '细胞操作情况',
+ bltj: '暴露条件',
- jlzb:'剂量组别',
- xybh:'悬液编号',
- rsks:'染色开始',
- rsjs:'染色结束',
- ksButton:'开始',
- jsButton:'结束',
- zs:'左上(个)',
- ys:'右上(个)',
- zy:'左下(个)',
- yx:'右下(个)',
- tj:'体积(mL)',
+ jlzb: '剂量组别',
+ xybh: '悬液编号',
+ rsks: '染色开始',
+ rsjs: '染色结束',
+ ksButton: '开始',
+ jsButton: '结束',
+ zs: '左上(个)',
+ ys: '右上(个)',
+ zy: '左下(个)',
+ yx: '右下(个)',
+ tj: '体积(mL)'
},
dl019: {
- xbxx:'细胞信息',
- sydd:'实验地点',
- czsj:'操作时间',
+ xbxx: '细胞信息',
+ sydd: '试验地点',
+ czsj: '操作时间',
qxbd: '前序表单',
dlbz: '备注',
czbz: '操作步骤',
- xbczqk:'细胞操作情况',
- bltj:'暴露条件',
+ xbczqk: '细胞操作情况',
+ bltj: '暴露条件',
- jlzb:'剂量组别',
- xybh:'悬液编号',
- bplsh1:'玻片流水号',
- bplsh2:'玻片流水号',
+ jlzb: '剂量组别',
+ xybh: '悬液编号',
+ bplsh1: '玻片流水号',
+ bplsh2: '玻片流水号'
},
dl020: {
swdljlbxx: 'Toxicology Record Information',
- xbxx:'Cell Information',
- sydd:'Test Location',
- czsj:'Operation Time',
+ xbxx: 'Cell Information',
+ sydd: 'Test Location',
+ czsj: 'Operation Time',
qxbd: 'Previous Form',
dlbz: 'Remarks',
- czbz: 'Operation Steps',
+ czbz: 'Operation Steps'
},
dl021: {
- czsj:'操作时间',
+ czsj: '操作时间',
dlbz: '备注',
gcqk: '观察情况',
- xbmc:'细胞名称',
- xwj:'显微镜',
- bpbh:'玻片编号',
- gcxps:'观察细胞数目',
- zqxxbs:'中期相细胞数',
+ xbmc: '细胞名称',
+ xwj: '显微镜',
+ bpbh: '玻片编号',
+ gcxps: '观察细胞数目',
+ zqxxbs: '中期相细胞数'
},
dl022: {
- czsj:'操作时间',
+ czsj: '操作时间',
dlbz: '备注',
gcqk: '观察情况',
- xbmc:'细胞名称',
- xwj:'显微镜',
- bpbh:'玻片编号',
- gcxps:'观察细胞数目',
+ xbmc: '细胞名称',
+ xwj: '显微镜',
+ bpbh: '玻片编号',
+ gcxps: '观察细胞数目',
- jgjxjbs:'结构畸形畸变数',
- lxjbs:'裂隙畸变数',
- dbtjbs:'多倍体畸变数',
- nfzjbs:'内复制畸变数',
- jblx:'畸变类型'
+ jgjxjbs: '结构畸形畸变数',
+ lxjbs: '裂隙畸变数',
+ dbtjbs: '多倍体畸变数',
+ nfzjbs: '内复制畸变数',
+ jblx: '畸变类型'
},
dl023: {
- czsj:'操作时间',
+ czsj: '操作时间',
dlbz: '备注',
yqsyxx: '仪器使用信息',
czjl: '操作记录',
- yqbh:'仪器编号',
- yqmc:'仪器名称',
- yqxh:'仪器型号',
- xcrq:'下次测试/校准/检定日期',
+ yqbh: '仪器编号',
+ yqmc: '仪器名称',
+ yqxh: '仪器型号',
+ xcrq: '下次测试/校准/检定日期',
- dwzshxbx:'动物种属或细胞系',
- dwzs:'动物种属',
- xbx:'细胞系',
- sydd:'试验地点',
- zwbh:'动物编号/细胞培养板名称',
- uvazsjl:'UVA照射剂量',
- zszsj:'照射总时间(分:秒)',
- zskssj:'照射开始时间',
- zsjssj:'照射结束时间',
- ksButton:'开始',
- jsButton:'结束',
+ dwzshxbx: '动物种属或细胞系',
+ dwzs: '动物种属',
+ xbx: '细胞系',
+ sydd: '试验地点',
+ zwbh: '动物编号/细胞培养板名称',
+ uvazsjl: 'UVA照射剂量',
+ zszsj: '照射总时间(分:秒)',
+ zskssj: '照射开始时间',
+ zsjssj: '照射结束时间',
+ ksButton: '开始',
+ jsButton: '结束'
},
dl024: {
- sydd:'实验地点',
- czsj:'操作时间',
+ sydd: '试验地点',
+ czsj: '操作时间',
dlbz: '备注',
xbpyxx: '细胞培养信息',
- qxbd:'前序表单',
- pykssj:'培养开始时间',
- pyjssj:'培养结束时间',
- jsButton:'培养结束时间',
- xbbh:'细胞编号',
- },
+ qxbd: '前序表单',
+ pykssj: '培养开始时间',
+ pyjssj: '培养结束时间',
+ jsButton: '培养结束时间',
+ xbbh: '细胞编号'
+ }
}
diff --git a/src/lang/zh/template/dl.js b/src/lang/zh/template/dl.js
index d1795d0..33232be 100644
--- a/src/lang/zh/template/dl.js
+++ b/src/lang/zh/template/dl.js
@@ -50,7 +50,7 @@ export default {
dl004: {
...common,
zjjgqr: '增菌结果确认',
- ccwz: '存储位置',
+ ccwz: '存储位置'
},
dl006: {
...common,
@@ -73,7 +73,7 @@ export default {
jzbh: '菌种编号',
gspcdqk: '供试品沉淀情况',
czxx: '操作信息',
- pyxbh:"培养箱编号"
+ pyxbh: '培养箱编号'
},
dl007: {
...common,
@@ -107,8 +107,10 @@ export default {
czqk: '沉淀情况',
bjjt: '背景菌苔',
jls: '菌落数(个)',
- czqkDesc: '沉淀量以代码填入:"P-" 代表 "无沉淀";"P+" 代表 "少量";"P++" 代表 "中等";"P+++" 代表 "严重"。',
- bjjtDesc: '背景菌苔以代码填入:"N" 代表 "正常";"R1" 代表 "弱,菌苔约占平皿面积 70%-90%";"R2" 代表 "中,菌苔约占平皿面积 40%-70%";"R3" 代表 "强,菌苔约占平皿面积 10%-40%";"A" 代表 "消失,平皿上无菌苔";"O" 代表 "产生沉淀,影响背景菌苔判断";',
+ czqkDesc:
+ '沉淀量以代码填入:"P-" 代表 "无沉淀";"P+" 代表 "少量";"P++" 代表 "中等";"P+++" 代表 "严重"。',
+ bjjtDesc:
+ '背景菌苔以代码填入:"N" 代表 "正常";"R1" 代表 "弱,菌苔约占平皿面积 70%-90%";"R2" 代表 "中,菌苔约占平皿面积 40%-70%";"R3" 代表 "强,菌苔约占平皿面积 10%-40%";"A" 代表 "消失,平皿上无菌苔";"O" 代表 "产生沉淀,影响背景菌苔判断";',
jlsDesc: '菌落数特殊情况:"*" 该平皿可见针尖样菌落;',
yqsyxxEmpty: '仪器使用信息还未填写,请填写后再提交',
jgxxEmpty: '结果信息还未填写,请填写后再提交'
@@ -242,147 +244,147 @@ export default {
pyybrl: '培养液补入量(ul)'
},
dl016: {
- xbxx:'细胞信息',
- sydd:'实验地点',
- czsj:'操作时间',
+ xbxx: '细胞信息',
+ sydd: '试验地点',
+ czsj: '操作时间',
qxbd: '前序表单',
dlbz: '备注',
czbz: '操作步骤',
- qcxjjyqk:'秋水仙碱加液情况',
- bltj:'暴露条件',
- jlzb:'剂量组别',
- xybh:'悬液编号',
- qsxjjrl:'秋水仙碱加入量',
+ qcxjjyqk: '秋水仙碱加液情况',
+ bltj: '暴露条件',
+ jlzb: '剂量组别',
+ xybh: '悬液编号',
+ qsxjjrl: '秋水仙碱加入量'
},
dl017: {
- xbxx:'细胞信息',
- sydd:'实验地点',
- czsj:'操作时间',
+ xbxx: '细胞信息',
+ sydd: '试验地点',
+ czsj: '操作时间',
qxbd: '前序表单',
dlbz: '备注',
czbz: '操作步骤',
- xbczqk:'细胞操作情况',
- bltj:'暴露条件',
+ xbczqk: '细胞操作情况',
+ bltj: '暴露条件',
- jlzb:'剂量组别',
- xybh:'悬液编号',
- sjqszqk:'收集前生长情况',
- sjqcdqk:'收集前沉淀情况',
- saqqtqk:'收集前其他情况',
- ddpyy:'倒掉培养液',
- xd:'洗涤',
- sj:'收集',
- ds:'低渗',
- dy1gd:'第一次固定',
- dy2gd:'第二次固定',
- dy3gd:'第三次固定',
- dy4gd:'第四次固定',
+ jlzb: '剂量组别',
+ xybh: '悬液编号',
+ sjqszqk: '收集前生长情况',
+ sjqcdqk: '收集前沉淀情况',
+ saqqtqk: '收集前其他情况',
+ ddpyy: '倒掉培养液',
+ xd: '洗涤',
+ sj: '收集',
+ ds: '低渗',
+ dy1gd: '第一次固定',
+ dy2gd: '第二次固定',
+ dy3gd: '第三次固定',
+ dy4gd: '第四次固定'
},
dl018: {
- xbxx:'细胞信息',
- sydd:'实验地点',
- czsj:'操作时间',
+ xbxx: '细胞信息',
+ sydd: '试验地点',
+ czsj: '操作时间',
qxbd: '前序表单',
dlbz: '备注',
czbz: '操作步骤',
- xbczqk:'细胞操作情况',
- bltj:'暴露条件',
+ xbczqk: '细胞操作情况',
+ bltj: '暴露条件',
- jlzb:'剂量组别',
- xybh:'悬液编号',
- rsks:'染色开始',
- rsjs:'染色结束',
- ksButton:'开始',
- jsButton:'结束',
- zs:'左上(个)',
- ys:'右上(个)',
- zy:'左下(个)',
- yx:'右下(个)',
- tj:'体积(mL)',
+ jlzb: '剂量组别',
+ xybh: '悬液编号',
+ rsks: '染色开始',
+ rsjs: '染色结束',
+ ksButton: '开始',
+ jsButton: '结束',
+ zs: '左上(个)',
+ ys: '右上(个)',
+ zy: '左下(个)',
+ yx: '右下(个)',
+ tj: '体积(mL)'
},
dl019: {
- xbxx:'细胞信息',
- sydd:'实验地点',
- czsj:'操作时间',
+ xbxx: '细胞信息',
+ sydd: '试验地点',
+ czsj: '操作时间',
qxbd: '前序表单',
dlbz: '备注',
czbz: '操作步骤',
- xbczqk:'细胞操作情况',
- bltj:'暴露条件',
+ xbczqk: '细胞操作情况',
+ bltj: '暴露条件',
- jlzb:'剂量组别',
- xybh:'悬液编号',
- bplsh1:'玻片流水号',
- bplsh2:'玻片流水号',
+ jlzb: '剂量组别',
+ xybh: '悬液编号',
+ bplsh1: '玻片流水号',
+ bplsh2: '玻片流水号'
},
dl020: {
- xbxx:'细胞信息',
- sydd:'实验地点',
- czsj:'操作时间',
+ xbxx: '细胞信息',
+ sydd: '试验地点',
+ czsj: '操作时间',
qxbd: '前序表单',
dlbz: '备注',
- czbz: '操作步骤',
+ czbz: '操作步骤'
},
dl021: {
- czsj:'操作时间',
+ czsj: '操作时间',
dlbz: '备注',
gcqk: '观察情况',
- xbmc:'细胞名称',
- xwj:'显微镜',
- bpbh:'玻片编号',
- gcxps:'观察细胞数目',
- zqxxbs:'中期相细胞数',
+ xbmc: '细胞名称',
+ xwj: '显微镜',
+ bpbh: '玻片编号',
+ gcxps: '观察细胞数目',
+ zqxxbs: '中期相细胞数'
},
dl022: {
- czsj:'操作时间',
+ czsj: '操作时间',
dlbz: '备注',
gcqk: '观察情况',
- xbmc:'细胞名称',
- xwj:'显微镜',
- bpbh:'玻片编号',
- gcxps:'观察细胞数目',
+ xbmc: '细胞名称',
+ xwj: '显微镜',
+ bpbh: '玻片编号',
+ gcxps: '观察细胞数目',
- jgjxjbs:'结构畸形畸变数',
- lxjbs:'裂隙畸变数',
- dbtjbs:'多倍体畸变数',
- nfzjbs:'内复制畸变数',
- jblx:'畸变类型'
+ jgjxjbs: '结构畸形畸变数',
+ lxjbs: '裂隙畸变数',
+ dbtjbs: '多倍体畸变数',
+ nfzjbs: '内复制畸变数',
+ jblx: '畸变类型'
},
dl023: {
- czsj:'操作时间',
+ czsj: '操作时间',
dlbz: '备注',
yqsyxx: '仪器使用信息',
czjl: '操作记录',
- yqbh:'仪器编号',
- yqmc:'仪器名称',
- yqxh:'仪器型号',
- xcrq:'下次测试/校准/检定日期',
+ yqbh: '仪器编号',
+ yqmc: '仪器名称',
+ yqxh: '仪器型号',
+ xcrq: '下次测试/校准/检定日期',
- dwzshxbx:'动物种属或细胞系',
- dwzs:'动物种属',
- xbx:'细胞系',
- sydd:'试验地点',
- zwbh:'动物编号/细胞培养板名称',
- uvazsjl:'UVA照射剂量',
- zszsj:'照射总时间(分:秒)',
- zskssj:'照射开始时间',
- zsjssj:'照射结束时间',
- ksButton:'开始',
- jsButton:'结束',
+ dwzshxbx: '动物种属或细胞系',
+ dwzs: '动物种属',
+ xbx: '细胞系',
+ sydd: '试验地点',
+ zwbh: '动物编号/细胞培养板名称',
+ uvazsjl: 'UVA照射剂量',
+ zszsj: '照射总时间(分:秒)',
+ zskssj: '照射开始时间',
+ zsjssj: '照射结束时间',
+ ksButton: '开始',
+ jsButton: '结束'
},
dl024: {
- sydd:'实验地点',
- czsj:'操作时间',
+ sydd: '试验地点',
+ czsj: '操作时间',
dlbz: '备注',
xbpyxx: '细胞培养信息',
- qxbd:'前序表单',
- pykssj:'培养开始时间',
- pyjssj:'培养结束时间',
- jsButton:'培养结束时间',
- xbbh:'细胞编号',
- },
+ qxbd: '前序表单',
+ pykssj: '培养开始时间',
+ pyjssj: '培养结束时间',
+ jsButton: '培养结束时间',
+ xbbh: '细胞编号'
+ }
}
diff --git a/src/views/business/comps/template/comps/dl/DL006.vue b/src/views/business/comps/template/comps/dl/DL006.vue
index 1770176..58b5268 100644
--- a/src/views/business/comps/template/comps/dl/DL006.vue
+++ b/src/views/business/comps/template/comps/dl/DL006.vue
@@ -1,4 +1,4 @@
-
+
diff --git a/src/views/business/comps/template/comps/dl/DL007.vue b/src/views/business/comps/template/comps/dl/DL007.vue
index 95d5173..02f9318 100644
--- a/src/views/business/comps/template/comps/dl/DL007.vue
+++ b/src/views/business/comps/template/comps/dl/DL007.vue
@@ -1,4 +1,4 @@
-
+
From e96e9317b62ab62c901c90a467ab77796e3d0222 Mon Sep 17 00:00:00 2001
From: "15881625488@163.com" <15881625488@163.com>
Date: Wed, 18 Mar 2026 18:20:31 +0800
Subject: [PATCH 22/52] =?UTF-8?q?fix:[=E6=A8=A1=E6=9D=BF=E7=AE=A1=E7=90=86?=
=?UTF-8?q?]DL014?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../business/comps/template/comps/dl/DL011.vue | 8 +
.../business/comps/template/comps/dl/DL012.vue | 57 +---
.../business/comps/template/comps/dl/DL014.vue | 327 +++++++++------------
3 files changed, 161 insertions(+), 231 deletions(-)
diff --git a/src/views/business/comps/template/comps/dl/DL011.vue b/src/views/business/comps/template/comps/dl/DL011.vue
index e41c302..4c3cee7 100644
--- a/src/views/business/comps/template/comps/dl/DL011.vue
+++ b/src/views/business/comps/template/comps/dl/DL011.vue
@@ -55,6 +55,7 @@ import Step from '@/components/Template/Step'
import templateMixin from '../../mixins/templateMixin'
import moment from 'moment'
import { uniqeYqOne, uniqeResource } from "@/utils/calUnitTools";
+import { EventBus } from "@/utils/eventBus";
const refConf = {
base: 'baseInfoRef',
@@ -280,6 +281,13 @@ export default {
this.$refs.pyxxRef.updateFormData('pyxbh_xh', data.selectInfo.row.xh)
this.$refs.pyxxRef.updateFormData('pyxbh_jzrq', data.selectInfo.row.jzrq)
}
+ //通知后端保存数据
+ const params = {
+ type: "fieldChanged",
+ newRecord: null,
+ resourceList: null,
+ }
+ EventBus.$emit('onModifyRecord', params);
},
// 处理培养信息中按钮点击事件
handlePyxxClickButton(_item, signData) {
diff --git a/src/views/business/comps/template/comps/dl/DL012.vue b/src/views/business/comps/template/comps/dl/DL012.vue
index ef9bf15..e10e802 100644
--- a/src/views/business/comps/template/comps/dl/DL012.vue
+++ b/src/views/business/comps/template/comps/dl/DL012.vue
@@ -50,6 +50,7 @@ import Step from '@/components/Template/Step'
import templateMixin from '../../mixins/templateMixin'
import moment from 'moment'
import { uniqeYqOne, uniqeResource } from "@/utils/calUnitTools";
+import { EventBus } from "@/utils/eventBus";
const refConf = {
base: 'baseInfoRef',
@@ -322,6 +323,13 @@ export default {
this.$refs.pyxxRef.updateFormData('pyxbh_xh', data.selectInfo.row.xh)
this.$refs.pyxxRef.updateFormData('pyxbh_jzrq', data.selectInfo.row.jzrq)
}
+ //通知后端保存数据
+ const params = {
+ type: "fieldChanged",
+ newRecord: null,
+ resourceList: null,
+ }
+ EventBus.$emit('onModifyRecord', params);
},
handleClickButton(e, signData) {
console.log(e)
@@ -350,61 +358,15 @@ export default {
async validFields() {
return await this.validFormFields(refNames)
},
- _getResource() {
- const stepResource = this.$refs.stepRef.getStepResource()
- // 使用的试剂、仪器(来自制备步骤)
- this.resourceTmp = stepResource.sjResource || []
- this.yqResourceTmp = [...(stepResource.yqResource || [])]
-
- // 获取细胞信息
- const xbxxData = this.$refs.xbxxRef?.getFilledFormData() || {}
-
- // 如果选择了细胞制备前编号,添加到细胞细菌信息中
- if (xbxxData.xbzbqbh) {
- const xbInfo = xbxxData.selectInfo_xbzbqbh || {}
- // 细胞信息格式:不包含 type 字段
- this.xbxjTmp = [
- {
- value: xbxxData.xbzbqbh,
- bh: xbInfo.bh || xbxxData.xbzbqbh,
- mc: xbInfo.mc || '',
- xh: xbInfo.xh || '',
- jzrq: xbInfo.jzrq || ''
- }
- ]
- } else {
- this.xbxjTmp = []
- }
-
- // 获取培养信息
- const pyxxData = this.$refs.pyxxRef?.getFilledFormData() || {}
-
- // 如果选择了培养箱编号,添加到仪器信息中
- if (pyxxData.pyxbh) {
- const pyxInfo = pyxxData.selectInfo_pyxbh || {}
- // 仪器信息格式:包含 type 字段
- this.yqResourceTmp.push({
- type: 'yq',
- value: pyxxData.pyxbh,
- bh: pyxInfo.bh || pyxxData.pyxbh,
- mc: pyxInfo.mc || '',
- xh: pyxInfo.xh || '',
- jzrq: pyxInfo.jzrq || ''
- })
- }
-
- return this.resourceTmp
- },
getResource() {
const content = this.getFilledFormData()
let tmpResource = []
let tmpYq = []
- debugger
//生成细胞
for (var i = 0; i < parseInt(content.zbxbs); i++) {
tmpResource.push({
mc: content.xbmc,
- bh: content['zbhxbbh_'+(i+1)] +content['zbhxbbhCodeSn_'+(i+1)],
+ bh: content['zbhxbbh_' + (i + 1)] + content['zbhxbbhCodeSn_' + (i + 1)],
ph: '',
ndz: '',
nd: '',
@@ -451,7 +413,6 @@ export default {
const stepResource = this.$refs.stepRef.getStepResource()
this.resourceTmp = uniqeResource(tmpResource, stepResource.sjResource || [])
this.yqResourceTmp = uniqeYqOne(tmpYq, stepResource.yqResource || [])
- debugger
return this.resourceTmp;
},
onRegentSubmit(e) {
diff --git a/src/views/business/comps/template/comps/dl/DL014.vue b/src/views/business/comps/template/comps/dl/DL014.vue
index 4956fb3..823c441 100644
--- a/src/views/business/comps/template/comps/dl/DL014.vue
+++ b/src/views/business/comps/template/comps/dl/DL014.vue
@@ -8,76 +8,36 @@
-
-
-
-
+
+
+
+
-
onRegentSubmit(e)"
- :showOperation="fillType === 'actFill'"
- :showAddRow="fillType === 'actFill'"
- :formData="formData"
- :prefixKey="`yqsyTable`"
- >
+ onRegentSubmit(e)"
+ :showOperation="fillType === 'actFill'" :showAddRow="fillType === 'actFill'" :formData="formData"
+ :prefixKey="`yqsyTable`">
- deleteTableRow(rowIndex, 'yqsyTableRef')"
- >
+ deleteTableRow(rowIndex, 'yqsyTableRef')">
-
+
-
+
@@ -139,6 +77,8 @@ import LineLabel from '@/components/Template/LineLabel'
import TableList from '@/components/Template/Table'
import Step from '@/components/Template/Step'
import templateMixin from '../../mixins/templateMixin'
+import { uniqeResourceOne } from "@/utils/calUnitTools";
+import { EventBus } from "@/utils/eventBus";
const refConf = {
base: 'baseInfoRef',
@@ -464,7 +404,7 @@ export default {
bodyMaxlength: 10,
headerSelectKey: 'yss9hhyjrlUnit',
headerOptions: this.getDictOptions('business_tjdw'),
- width: 180,
+ width: 220,
fillType: 'preFill'
},
{
@@ -473,11 +413,11 @@ export default {
bodyType: 'inputNumber',
bodyFillType: 'actFill',
bodyMaxlength: 10,
- headerSelectKey: 'yss9hhyjrlUnit',
+ headerSelectKey: 'sjs9hhyjrlUnit',
headerOptions: this.getDictOptions('business_tjdw'),
copyFrom: 'yss9hhyjrl',
compareTo: 'yss9hhyjrl',
- width: 180,
+ width: 220,
fillType: 'preFill'
}
)
@@ -513,7 +453,7 @@ export default {
bodyType: 'inputNumber',
bodyFillType: 'actFill',
bodyMaxlength: 10,
- headerSelectKey: 'ysgspjrlUnit',
+ headerSelectKey: 'sjgspjrlUnit',
headerOptions: this.getDictOptions('business_tjdw'),
copyFrom: 'ysgspjrl',
width: 180,
@@ -565,6 +505,27 @@ export default {
}
},
methods: {
+ onTableRegentSubmit(data) {
+ if (data.key === 's9hhybh') {
+ this.$refs.jlzInfoRef.updateFormData('s9hhybh_dw', data.selectInfo.row.kcdw)
+ }
+ if (data.key === 'pyysj') {
+ this.$refs.pyyRef.updateFormData('pyysj_dw', data.selectInfo.row.kcdw)
+ }
+ // if (data.key === 'gspbh') {
+ // this.$refs.pyyRef.updateFormData(data.rowIndex+'_gspbh_dw', data.selectInfo.row.kcdw)
+ // }
+ if (data.key === 'xybh') {
+ this.$refs.pyyRef.updateFormData(data.rowIndex+'_xybh_dw', data.selectInfo.row.kcdw)
+ }
+ //通知后端保存数据
+ const params = {
+ type: "fieldChanged",
+ newRecord: null,
+ resourceList: null,
+ }
+ EventBus.$emit('onModifyRecord', params);
+ },
// 删除表格行
deleteTableRow(rowIndex, refName) {
this.$refs[refName].deleteRow(rowIndex)
@@ -682,104 +643,104 @@ export default {
return true
},
getResource() {
- // 从仪器使用信息表格中提取仪器资源
- const yqsyData = this.$refs.yqsyTableRef?.getFilledFormData()
- const yqsyList = yqsyData?.stepTableFormData || []
-
- // 提取仪器资源
- this.yqResourceTmp = yqsyList
- .filter((item) => item.yqbh)
- .map((item) => ({
- type: 'yq',
- bh: item.yqbh,
- mc: item.yqmc,
- xh: item.yqxh,
- jzrq: item.jzrq
- }))
-
- // 从剂量组配制信息中提取S9混合液编号(如果有)
- const jlzInfoData = this.$refs.jlzInfoRef?.getFilledFormData()
- const resourceList = []
-
- // 如果添加了S9混合液,提取S9混合液编号
- if (this.isSftjs9Yes && jlzInfoData?.s9hhybh) {
- resourceList.push({
- mc: 'S9混合液',
- bh: jlzInfoData.s9hhybh,
- ph: null,
- nd: null,
- nddw: null,
- ndz: null,
- ly: null,
+ const content = this.getFilledFormData()
+ let tmpResource = []
+ let tmpYq = []
+ let sjs9hhyjrltotal=0
+ for (var i = 0; i < content.jlzTableData.length; i++) {
+ let item = content.jlzTableData[i]
+ sjs9hhyjrltotal=sjs9hhyjrltotal+parseFloat(item.sjs9hhyjrl)
+ //混悬液
+ tmpResource.push({
+ mc: null,
+ bh: item.xybh,
+ ph: '',
+ ndz: '',
+ nd: '',
+ nddw: '',
+ ly: '',
sxrq: null,
kc: null,
kcdw: null,
- type: 1,
syl: null,
- syldw: null,
+ type: 1, //生成的时候传null
+ elnType: null, //生成的时候传 his.product
+ syldw: content[i+'_xybh_dw'],
yxzq: null,
- yxzqdw: null
+ yxzqdw: null,
+ })
+ //给药制剂
+ tmpResource.push({
+ mc: null,
+ bh: item.gyzjbh,
+ ph: '',
+ ndz: '',
+ nd: '',
+ nddw: '',
+ ly: '',
+ sxrq: null,
+ kc: null,
+ kcdw: null,
+ syl: item.sjgspjrl,
+ type: 3, //生成的时候传null
+ elnType: null, //生成的时候传 his.product
+ syldw: content.jlzHeaderSelectFields.sjgspjrlUnit,
+ yxzq: null,
+ yxzqdw: null,
})
}
-
- // 从剂量组表格中提取试剂资源(细胞悬液编号、供试品编号)
- const jlzData = this.$refs.jlzTableRef?.getFilledFormData()
- const jlzList = jlzData?.stepTableFormData || []
- const jlzHeaderSelectFields = jlzData?.headerSelectFields || {}
-
- // 用于去重的Set
- const xybhSet = new Set()
- const gspbhSet = new Set()
-
- jlzList.forEach((item) => {
- // 提取细胞悬液编号
- if (item.xybh && !xybhSet.has(item.xybh)) {
- xybhSet.add(item.xybh)
- resourceList.push({
- mc: '细胞悬液',
- bh: item.xybh,
- ph: null,
- nd: null,
- nddw: null,
- ndz: null,
- ly: null,
- sxrq: null,
- kc: null,
- kcdw: null,
- type: 1,
- syl: item.sjplyjrl || null,
- syldw: jlzHeaderSelectFields.ysplyjrlUnit || null,
- yxzq: null,
- yxzqdw: null
- })
- }
-
- // 提取供试品编号
- if (item.gspbh && !gspbhSet.has(item.gspbh)) {
- gspbhSet.add(item.gspbh)
- resourceList.push({
- mc: '供试品',
- bh: item.gspbh,
- ph: null,
- nd: null,
- nddw: null,
- ndz: null,
- ly: null,
- sxrq: null,
- kc: null,
- kcdw: null,
- type: 1,
- syl: item.sjgspjrl || null,
- syldw: jlzHeaderSelectFields.ysgspjrlUnit || null,
- yxzq: null,
- yxzqdw: null
- })
- }
+ //S9混合液
+ tmpResource.push({
+ mc: null,
+ bh: content.s9hhybh,
+ ph: '',
+ ndz: '',
+ nd: '',
+ nddw: '',
+ ly: '',
+ sxrq: null,
+ kc: null,
+ kcdw: null,
+ syl: sjs9hhyjrltotal,
+ type: 1, //使用的时候传对应的值
+ elnType: null, //传null
+ syldw: content.jlzHeaderSelectFields.sjs9hhyjrlUnit,
+ yxzq: null,
+ yxzqdw: null,
})
-
- this.resourceTmp = resourceList
-
- return this.resourceTmp
+ //培养液
+ tmpResource.push({
+ mc: null,
+ bh: content.pyysj,
+ ph: '',
+ ndz: '',
+ nd: '',
+ nddw: '',
+ ly: '',
+ sxrq: null,
+ kc: null,
+ kcdw: null,
+ syl: null,
+ type: 1, //使用的时候传对应的值
+ elnType: null, //传null
+ syldw: content.pyysj_dw,
+ yxzq: null,
+ yxzqdw: null,
+ })
+ //使用仪器
+ for (var i = 0; i < content.stepTableFormData.length; i++) {
+ let item = content.stepTableFormData[i]
+ tmpYq.push({
+ mc: item.yqmc,
+ xh: item.yqxh,
+ bh: item.yqbh,
+ jzrq: item.jzrq,
+ })
+ }
+ this.yqResourceTmp = tmpYq
+ this.resourceTmp = uniqeResourceOne(tmpResource)
+ debugger
+ return this.resourceTmp;
},
onRegentSubmit(e) {
const { selectInfo, key, rowIndex } = e
From 4752ce391575ec024b80986d12fb8b0cf776a14c Mon Sep 17 00:00:00 2001
From: "15881625488@163.com" <15881625488@163.com>
Date: Wed, 18 Mar 2026 18:36:19 +0800
Subject: [PATCH 23/52] =?UTF-8?q?fix:[=E5=A1=AB=E6=8A=A5=E8=A1=A8=E5=8D=95?=
=?UTF-8?q?]=E4=BC=98=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/business/comps/template/mixins/templateMixin.js | 3 +++
src/views/business/study/comp/jhbd/Bj.vue | 3 ++-
src/views/business/study/comp/sqbd/Bj.vue | 3 ++-
src/views/business/study/comp/tbbd/Bj.vue | 3 ++-
src/views/business/study/comp/ytbd/Bj.vue | 1 +
5 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/src/views/business/comps/template/mixins/templateMixin.js b/src/views/business/comps/template/mixins/templateMixin.js
index 5f6c11a..52f3dbf 100644
--- a/src/views/business/comps/template/mixins/templateMixin.js
+++ b/src/views/business/comps/template/mixins/templateMixin.js
@@ -93,6 +93,7 @@ export default {
templateId,
templateSn,
startDate,
+ submittedCodes,
bdmc,
endDate,
id
@@ -141,6 +142,7 @@ export default {
templateId,
templateSn,
startDate,
+ submittedCodes,
bdmc,
endDate,
id
@@ -155,6 +157,7 @@ export default {
templateMcEn,
templateId,
templateSn,
+ submittedCodes,
startDate,
bdmc,
endDate,
diff --git a/src/views/business/study/comp/jhbd/Bj.vue b/src/views/business/study/comp/jhbd/Bj.vue
index 2439121..4d53683 100644
--- a/src/views/business/study/comp/jhbd/Bj.vue
+++ b/src/views/business/study/comp/jhbd/Bj.vue
@@ -201,7 +201,8 @@ export default {
id: this.form.id,
bdnr: JSON.stringify(this.$refs.templateTable.getFilledFormData()),
zdxgjl: JSON.stringify(data.resourceList),
- filedValue: JSON.stringify(data.newRecord)
+ filedValue: JSON.stringify(data.newRecord),
+ submittedCodes: data.submittedCodes ? JSON.stringify(data.submittedCodes) : ''
}
).then(response => {
})
diff --git a/src/views/business/study/comp/sqbd/Bj.vue b/src/views/business/study/comp/sqbd/Bj.vue
index 0124d95..94567ea 100644
--- a/src/views/business/study/comp/sqbd/Bj.vue
+++ b/src/views/business/study/comp/sqbd/Bj.vue
@@ -201,7 +201,8 @@ export default {
id: this.form.id,
bdnr: JSON.stringify(this.$refs.templateTable.getFilledFormData()),
zdxgjl: JSON.stringify(data.resourceList),
- filedValue: JSON.stringify(data.newRecord)
+ filedValue: JSON.stringify(data.newRecord),
+ submittedCodes: data.submittedCodes ? JSON.stringify(data.submittedCodes) : ''
}
).then(response => {
})
diff --git a/src/views/business/study/comp/tbbd/Bj.vue b/src/views/business/study/comp/tbbd/Bj.vue
index ec78c8b..53a435f 100644
--- a/src/views/business/study/comp/tbbd/Bj.vue
+++ b/src/views/business/study/comp/tbbd/Bj.vue
@@ -531,7 +531,8 @@ export default {
id: this.form.id,
bdnr: JSON.stringify(this.$refs.templateTable.getFilledFormData()),
zdxgjl: data.resourceList ? JSON.stringify(data.resourceList) : '',
- filedValue: data.newRecord ? JSON.stringify(data.newRecord) : ''
+ filedValue: data.newRecord ? JSON.stringify(data.newRecord) : '',
+ submittedCodes: data.submittedCodes ? JSON.stringify(data.submittedCodes) : ''
}
).then(response => {
})
diff --git a/src/views/business/study/comp/ytbd/Bj.vue b/src/views/business/study/comp/ytbd/Bj.vue
index 4d2eb9f..7f7c918 100644
--- a/src/views/business/study/comp/ytbd/Bj.vue
+++ b/src/views/business/study/comp/ytbd/Bj.vue
@@ -212,6 +212,7 @@ export default {
{
id: this.form.id,
bdnr: JSON.stringify(this.$refs.templateTable.getFilledFormData()),
+ submittedCodes: data.submittedCodes ? JSON.stringify(data.submittedCodes) : ''
// zdxgjl: JSON.stringify(data.resourceList),
// filedValue: JSON.stringify(data.newRecord)
}
From 56a227e90f014623e1d238a1be10a109eb0b0bbd Mon Sep 17 00:00:00 2001
From: "15881625488@163.com" <15881625488@163.com>
Date: Wed, 18 Mar 2026 21:01:02 +0800
Subject: [PATCH 24/52] =?UTF-8?q?fix:[=E5=A1=AB=E6=8A=A5=E8=A1=A8=E5=8D=95?=
=?UTF-8?q?]=E7=97=85=E5=8E=86=E5=AD=A6=E5=AE=B6=E5=AE=A1=E6=A0=B8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/business/study/studyFormFill.js | 27 ++
src/lang/en/business/study/studyFormFill.js | 4 +
src/lang/zh/business/study/studyFormFill.js | 4 +
src/views/business/form/drug/comp/tbbdList.vue | 19 +-
src/views/business/form/nonTrial/comp/tbbdList.vue | 34 ++-
src/views/business/study/comp/tbbd/Bj.vue | 101 ++++++-
src/views/business/study/comp/tbbd/Blxjsh.vue | 290 +++++++++++++++++++++
src/views/business/study/comp/tbbdList.vue | 37 ++-
src/views/business/template/list.vue | 12 +
9 files changed, 499 insertions(+), 29 deletions(-)
create mode 100644 src/views/business/study/comp/tbbd/Blxjsh.vue
diff --git a/src/api/business/study/studyFormFill.js b/src/api/business/study/studyFormFill.js
index c902877..009ca76 100644
--- a/src/api/business/study/studyFormFill.js
+++ b/src/api/business/study/studyFormFill.js
@@ -136,6 +136,33 @@ export function studyFormFill_gc(data) {
})
}
+//提交病理学家审核
+export function studyFormFill_tjblxjsh(data) {
+ return request({
+ url: '/system/business/studyFormFill/tjblxjsh',
+ method: 'post',
+ data: data
+ })
+}
+
+//病理学家审核通过
+export function studyFormFill_blxjshtg(data) {
+ return request({
+ url: '/system/business/studyFormFill/blxjshtg',
+ method: 'post',
+ data: data
+ })
+}
+
+//病理学家审核拒绝
+export function studyFormFill_blxjshjj(data) {
+ return request({
+ url: '/system/business/studyFormFill/blxjshjj',
+ method: 'post',
+ data: data
+ })
+}
+
//复核通过
export function studyFormFill_fhtg(data) {
return request({
diff --git a/src/lang/en/business/study/studyFormFill.js b/src/lang/en/business/study/studyFormFill.js
index 4abb26f..b2deb74 100644
--- a/src/lang/en/business/study/studyFormFill.js
+++ b/src/lang/en/business/study/studyFormFill.js
@@ -22,6 +22,8 @@ export default {
next: 'Next',
pre: 'Pre',
save: 'Save',
+ blxjshtg:'病历学家审核通过',
+ blxjshjj:'病历学家审核拒绝',
submit: 'Submit',
bdnr: 'Record Information',
qmxx: 'Signature information',
@@ -31,6 +33,8 @@ export default {
bzyy: 'Comment/Reason',
jcgj: 'Track Record',
cjjl: 'Create Record',
+ tjsh:'Submit Audit',
+ blxjsh:'病理学家审核',
sfbl: 'Back Entry',
yes: 'Yes',
no: 'No',
diff --git a/src/lang/zh/business/study/studyFormFill.js b/src/lang/zh/business/study/studyFormFill.js
index 294bddf..61d1744 100644
--- a/src/lang/zh/business/study/studyFormFill.js
+++ b/src/lang/zh/business/study/studyFormFill.js
@@ -21,6 +21,8 @@ export default {
zc: '暂存',
next: '下一步',
pre: '上一步',
+ blxjshtg:'病历学家审核通过',
+ blxjshjj:'病历学家审核拒绝',
save: '保存',
submit: '提交',
bdnr: '表单内容',
@@ -33,6 +35,8 @@ export default {
cjjl: '创建记录',
sfbl: '是否补录',
yes: '是',
+ blxjsh:'病理学家审核',
+ tjsh:'提交审核',
no: '否',
tjjl: '提交记录',
sqfz: '申请废止',
diff --git a/src/views/business/form/drug/comp/tbbdList.vue b/src/views/business/form/drug/comp/tbbdList.vue
index 7c4beb6..de31417 100644
--- a/src/views/business/form/drug/comp/tbbdList.vue
+++ b/src/views/business/form/drug/comp/tbbdList.vue
@@ -31,7 +31,8 @@
:end-placeholder="$t('page.business.form.endDate')" value-format="yyyy-MM-dd" style="width: 200px" />
-
+
@@ -143,6 +144,8 @@
+
+
@@ -167,6 +170,7 @@ import Xq from "@/views/business/study/comp/tbbd/Xq";
import Sy from "@/views/business/study/comp/tbbd/Sy";
import Fz from "@/views/business/study/comp/tbbd/Fz";
import Fh from "@/views/business/study/comp/tbbd/Fh";
+import Blxjsh from "@/views/business/study/comp/tbbd/Blxjsh";
import Qrfz from "@/views/business/study/comp/tbbd/Qrfz";
import Jq from "@/views/business/study/comp/tbbd/Jq";
import Ghgsr from "@/views/business/study/comp/tbbd/Ghgsr";
@@ -206,13 +210,14 @@ export default {
deep: true
}
},
- components: { Ghgsr, Fh, Fz, Bj, Xq, Qrfz, Sy, Jq, Gc, SelectDeptUser, SelectDeptUserDialog },
+ components: { Ghgsr, Fh, Fz, Bj, Blxjsh, Xq, Qrfz, Sy, Jq, Gc, SelectDeptUser, SelectDeptUserDialog },
data() {
return {
isQa: false,
leader: null,
showFh: false,
showAudit: false,
+ showBlxjsh: false,
showEdit: false,
showDetail: false,
daterangetj: [],
@@ -369,6 +374,11 @@ export default {
this.$emit('showDetail', this.showFh)
this.search()
},
+ blxjshClose() {
+ this.showBlxjsh = false
+ this.$emit('showDetail', this.showBlxjsh)
+ this.search()
+ },
detail(row) {
this.showDetail = true
this.$emit('showDetail', this.showDetail)
@@ -384,6 +394,11 @@ export default {
this.$emit('showDetail', this.showFh)
this.$refs.Fh.show(row)
},
+ blxjsh(row) {
+ this.showBlxjsh = true
+ this.$emit('showDetail', this.showBlxjsh)
+ this.$refs.Blxjsh.show(row)
+ },
}
}
diff --git a/src/views/business/form/nonTrial/comp/tbbdList.vue b/src/views/business/form/nonTrial/comp/tbbdList.vue
index f3274c4..1418074 100644
--- a/src/views/business/form/nonTrial/comp/tbbdList.vue
+++ b/src/views/business/form/nonTrial/comp/tbbdList.vue
@@ -30,7 +30,8 @@
:end-placeholder="$t('page.business.form.endDate')" value-format="yyyy-MM-dd" style="width: 200px" />
-
+
@@ -141,6 +142,8 @@
+
+
@@ -166,6 +169,7 @@ import Xq from "@/views/business/study/comp/tbbd/Xq";
import Sy from "@/views/business/study/comp/tbbd/Sy";
import Fz from "@/views/business/study/comp/tbbd/Fz";
import Fh from "@/views/business/study/comp/tbbd/Fh";
+import Blxjsh from "@/views/business/study/comp/tbbd/Blxjsh";
import Qrfz from "@/views/business/study/comp/tbbd/Qrfz";
import Jq from "@/views/business/study/comp/tbbd/Jq";
import Ghgsr from "@/views/business/study/comp/tbbd/Ghgsr";
@@ -205,13 +209,14 @@ export default {
deep: true
}
},
- components: { Ghgsr, Fh, Fz, Bj, Xq, Qrfz, Sy, Jq, Gc, SelectDeptUser, SelectDeptUserDialog },
+ components: { Ghgsr, Fh, Fz, Blxjsh, Bj, Xq, Qrfz, Sy, Jq, Gc, SelectDeptUser, SelectDeptUserDialog },
data() {
return {
isQa: false,
leader: null,
showFh: false,
showAudit: false,
+ showBlxjsh: false,
showEdit: false,
showDetail: false,
daterangetj: [],
@@ -454,6 +459,11 @@ export default {
this.$emit('showDetail', this.showFh)
this.search()
},
+ blxjshClose() {
+ this.showBlxjsh = false
+ this.$emit('showDetail', this.showBlxjsh)
+ this.search()
+ },
detail(row) {
this.showDetail = true
this.$emit('showDetail', this.showDetail)
@@ -465,18 +475,14 @@ export default {
this.$refs.Sy.show(row)
},
fh(row) {
- this.$modal.loading()
- studyMethod_getReadAllMethodStatus({ userId: this.id, studyId: this.searchForm.studyId }).then(response => {
- if (response.data.toUrl) {
- this.toRead(response.data)
- } else {
- this.showFh = true
- this.$emit('showDetail', this.showFh)
- this.$refs.Fh.show(row)
- }
- }).finally(() => {
- this.$modal.closeLoading()
- })
+ this.showFh = true
+ this.$emit('showDetail', this.showFh)
+ this.$refs.Fh.show(row)
+ },
+ blxjsh(row) {
+ this.showBlxjsh = true
+ this.$emit('showDetail', this.showBlxjsh)
+ this.$refs.Blxjsh.show(row)
},
}
}
diff --git a/src/views/business/study/comp/tbbd/Bj.vue b/src/views/business/study/comp/tbbd/Bj.vue
index 53a435f..7f55052 100644
--- a/src/views/business/study/comp/tbbd/Bj.vue
+++ b/src/views/business/study/comp/tbbd/Bj.vue
@@ -32,7 +32,10 @@
$t('page.business.study.studyFormFill.yjcc')
}}
{{ $t('page.business.study.studyFormFill.save') }}
- {{ $t('page.business.study.studyFormFill.submit')
+ {{
+ $t('page.business.study.studyFormFill.tjsh')
+ }}
+ {{ $t('page.business.study.studyFormFill.submit')
}}
{{ $t('page.business.study.studyFormFill.pre') }}
@@ -78,7 +81,7 @@
-
diff --git a/src/views/business/study/comp/tbbdList.vue b/src/views/business/study/comp/tbbdList.vue
index 1b196b4..bec7404 100644
--- a/src/views/business/study/comp/tbbdList.vue
+++ b/src/views/business/study/comp/tbbdList.vue
@@ -1,6 +1,6 @@
-
+
@@ -97,7 +97,7 @@
{{
$t('form.edit') }}
@@ -119,17 +119,21 @@
@click="sy(scope.row)" v-hasPermi="['business:studyFormFill:sy']">{{
$t('page.business.study.studyFormFill.sy') }}
- {{
$t('page.business.study.studyFormFill.fz') }}
{{
$t('page.business.study.studyFormFill.qrfz') }}
-
+
{{
$t('page.business.study.studyFormFill.gc') }}
+
+ {{
+ $t('page.business.study.studyFormFill.blxjsh') }}
@@ -147,6 +151,8 @@
+
+
@@ -175,6 +181,7 @@ import Qrfz from "./tbbd/Qrfz";
import Jq from "./tbbd/Jq";
import Ghgsr from "./tbbd/Ghgsr";
import Gc from "./tbbd/Gc";
+import Blxjsh from "./tbbd/Blxjsh";
import SelectDeptUser from '@/views/business/comps/select/SelectDeptUser';
import SelectDeptUserDialog from '@/views/business/comps/select/SelectDeptUserDialog';
import { caesarCipher } from "@/utils/index";
@@ -228,7 +235,7 @@ export default {
// 记得移除监听,避免内存泄漏
EventBus.$off('onRefreshStudyTbbdList');
},
- components: { Ghgsr, Fh, Fz, Bj, Xq, Qrfz, Sy, Jq, Gc, SelectDeptUser, SelectDeptUserDialog },
+ components: { Ghgsr, Fh, Fz, Bj, Xq, Qrfz, Sy, Jq, Gc,Blxjsh, SelectDeptUser, SelectDeptUserDialog },
data() {
return {
isMatchSubject: false,
@@ -236,6 +243,7 @@ export default {
leader: null,
showFh: false,
showAudit: false,
+ showBlxjsh: false,
showEdit: false,
showDetail: false,
daterangetj: [],
@@ -475,6 +483,11 @@ export default {
this.$emit('showDetail', this.showFh)
this.search()
},
+ blxjshClose() {
+ this.showBlxjsh = false
+ this.$emit('showDetail', this.showBlxjsh)
+ this.search()
+ },
detail(row) {
this.showDetail = true
this.$emit('showDetail', this.showDetail)
@@ -498,6 +511,20 @@ export default {
}).finally(() => {
this.$modal.closeLoading()
})
+ },
+ blxjsh(row) {
+ this.$modal.loading()
+ studyMethod_getReadAllMethodStatus({ userId: this.id, studyId: this.searchForm.studyId, studySubjectId: this.searchForm.studySubjectId }).then(response => {
+ if (response.data.toUrl) {
+ this.toRead(response.data)
+ } else {
+ this.showBlxjsh = true
+ this.$emit('showDetail', this.showBlxjsh)
+ this.$refs.Blxjsh.show(row)
+ }
+ }).finally(() => {
+ this.$modal.closeLoading()
+ })
},
}
}
diff --git a/src/views/business/template/list.vue b/src/views/business/template/list.vue
index 972a116..940812d 100644
--- a/src/views/business/template/list.vue
+++ b/src/views/business/template/list.vue
@@ -138,6 +138,15 @@
+
+
+
+
+
+
+
+
Date: Wed, 18 Mar 2026 21:16:07 +0800
Subject: [PATCH 25/52] =?UTF-8?q?fix:[=E6=A8=A1=E6=9D=BF=E7=AE=A1=E7=90=86?=
=?UTF-8?q?]=E4=BC=98=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/business/study/comp/tbbd/Bj.vue | 18 ++++++++++++------
1 file changed, 12 insertions(+), 6 deletions(-)
diff --git a/src/views/business/study/comp/tbbd/Bj.vue b/src/views/business/study/comp/tbbd/Bj.vue
index 7f55052..d8628f4 100644
--- a/src/views/business/study/comp/tbbd/Bj.vue
+++ b/src/views/business/study/comp/tbbd/Bj.vue
@@ -509,6 +509,7 @@ export default {
id: null,
qmyy: this.$t('page.business.study.studyFormFill.txbtjjl'),
remark: '',
+ bdnr: '',
qmrmm: '',
},
resourceYj: [],
@@ -782,17 +783,22 @@ export default {
that.$modal.msgError("没有可存储的药剂")
}
},
- showTjsh() {
+ async showTjsh(qmyy) {
let that = this
- that.formTjsh.id = that.form.id
- that.formTjsh.remark = ''
- that.formTjsh.qmrmm = ''
- that.openTjsh = true
+ let content = await this.$refs.templateTable.getFormData()
+ if (content) {
+ that.formTjsh.id = that.form.id
+ that.formTjsh.remark = ''
+ that.formTjsh.qmrmm = ''
+ that.formTjsh.bdnr = ''
+ that.openTjsh = true
+ }
},
- saveTjsh() {
+ async saveTjsh() {
let that = this
this.$refs["formTjsh"].validate(valid => {
if (valid) {
+ this.formTjsh.bdnr = JSON.stringify(this.$refs.templateTable.getFilledFormData())
that.$modal.loading()
studyFormFill_tjblxjsh(that.formTjsh).then(response => {
that.openTjsh = false
From 62ca9e54c9d4cf773dd7fad1f0381a0af9dd0f99 Mon Sep 17 00:00:00 2001
From: luojie <125330818@qq.com>
Date: Wed, 18 Mar 2026 22:14:02 +0800
Subject: [PATCH 26/52] =?UTF-8?q?feat:[=E6=A8=A1=E6=9D=BF=E7=AE=A1?=
=?UTF-8?q?=E7=90=86][sp021]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/Template/CustomTable.vue | 2 +-
.../business/comps/template/comps/sp/SP00456.vue | 22 +++++++++++------
.../comps/template/comps/sp/comps/LadderConfig.vue | 28 +++++++++++++++++++++-
.../template/formConfig/paralleAndLadderConfig.js | 7 ++++--
4 files changed, 48 insertions(+), 11 deletions(-)
diff --git a/src/components/Template/CustomTable.vue b/src/components/Template/CustomTable.vue
index 01bbfb7..b50fe45 100644
--- a/src/components/Template/CustomTable.vue
+++ b/src/components/Template/CustomTable.vue
@@ -1060,7 +1060,7 @@ export default {
},
onAddRow() {
if (this.$listeners && this.$listeners['onAddRow']) {
- this.$emit('onAddRow');
+ this.$emit('onAddRow',{dataSource:this.localDataSource});
return;
}
this.addRow({
diff --git a/src/views/business/comps/template/comps/sp/SP00456.vue b/src/views/business/comps/template/comps/sp/SP00456.vue
index 533cc0d..cb69749 100644
--- a/src/views/business/comps/template/comps/sp/SP00456.vue
+++ b/src/views/business/comps/template/comps/sp/SP00456.vue
@@ -47,7 +47,9 @@
:showOperation="fillType === 'actFill' || fillType === 'preFill'"
:tableColumns="ladderStepColumns" :prefixKey="'ladder_' + ladderIndex"
:configType="'ladder'" :ref="`ladderRef_${ladderIndex}`"
- :fieldItemLabel="'template.common.jtpz'"
+ :sn = "sn"
+ ladderType = "bq"
+ :fieldItemLabel="getOperationStepsLabel()"
:showHeader="!isPcr234"
@deleteConfig="deleteConfig('ladderConfigs', ladderConfig)" :fillType="fillType" />
@@ -59,12 +61,12 @@
:showOperation="fillType === 'actFill' || fillType === 'preFill'"
:tableColumns="paralleStepColumns" :prefixKey="'paralle_' + paralleIndex"
:configType="'paralle'" :ref="`paralleRef_${paralleIndex}`"
- :fieldItemLabel="'template.common.pxpz'"
+ :fieldItemLabel="getOperationStepsLabel()"
:showHeader="!isPcr234"
:showHeaderLabel="!isGsp"
@deleteConfig="deleteConfig('paralleConfigs', paralleConfig)" :fillType="fillType" />
-
+
{{
@@ -81,7 +83,7 @@
:showOperation="fillType === 'actFill' || fillType === 'preFill'"
:tableColumns="ladderStepColumns" :prefixKey="'ladder_1_' + ladderIndex"
:configType="'ladder'" :ref="`ladderRef_1_${ladderIndex}`"
- :fieldItemLabel="'template.common.jtpz'"
+ :fieldItemLabel="'template.lba.lba005.zkpz'"
@deleteConfig="deleteConfig('ladderConfigs_1', ladderConfig)" :fillType="fillType" />
@@ -90,9 +92,9 @@
:key="'paralle_1_' + paralleConfig.id">
@@ -189,11 +191,17 @@ export default {
paralleStepFormConfig() {
return getParalleStepFormConfig(this);
},
+ paralleStepFormConfig1() {
+ return getParalleStepFormConfig(this);
+ },
// 操作步骤表单配置
ladderStepFormConfig() {
return getLadderFormConfig(this);
},
paralleStepColumns() {
+ return getParallelColumnsConfig(this,this.sn);
+ },
+ paralleStepColumns1() {
return getParallelColumnsConfig(this);
},
// 阶梯配置表格列配置
@@ -238,7 +246,7 @@ export default {
getOperationStepsLabel() {
const obj = {
"LBA005": "template.lba.lba005.bzqxpz",//标准曲线配制
- "ADA005": "template.lba.lba005.bzqxpz",//标准曲线配制
+ "ADA005": "template.lba.lba005.zkpz",//质控配制
"GSP007": "template.gsp.gsp007.bzqx",//标准曲线
// "LBA007": "template.lba.lba005.bzqxpz",//
}
diff --git a/src/views/business/comps/template/comps/sp/comps/LadderConfig.vue b/src/views/business/comps/template/comps/sp/comps/LadderConfig.vue
index c44c8ed..5d6e5d9 100644
--- a/src/views/business/comps/template/comps/sp/comps/LadderConfig.vue
+++ b/src/views/business/comps/template/comps/sp/comps/LadderConfig.vue
@@ -19,6 +19,7 @@
:columns="tableColumns" :formData="currentFormData" @bodySelectChange="bodySelectChange"
@beforeSaveRecord="(data) => onBeforeSaveRecord(data)"
@headerSelectChange="(data) => onHeaderSelectChange(data)"
+ @onAddRow="(e) => onAddRow(e)"
@beforeReagentSubmit="(data) => onTableBeforeReagentSubmit(data)"
@onRegentSubmit="(data) => onTableRegentSubmit(data)" :prefixKey="prefixKey"
:fieldItemLabel="fieldItemLabel">
@@ -44,6 +45,7 @@ import BaseInfoFormPackage from '@/components/Template/BaseInfoFormPackage.vue';
import templateMixin from "../../../mixins/templateMixin.js";
import { addTj } from "@/utils/calUnitTools";
import { isCommonUnit } from "@/utils/conTools";
+import {getuuid,justUpdateFilledFormData} from "@/utils/index.js"
export default {
components: {
@@ -94,9 +96,33 @@ export default {
configType: {
type: String,
default: 'ladder',
- }
+ },
+ sn: {
+ type: String,
+ default: '',
+ },
+ ladderType: {
+ type: String,
+ default: '',
+ },
},
methods: {
+ // 添加行
+ onAddRow(e) {
+ const {dataSource} = e;
+ const rowInfo = {
+ actSolutionVolumePrecision: 3,//小数点精度默认为3
+ actSolutionConcentrationPrecision: 3,//小数点精度默认为3
+ targetDiluentVolumePrecision: 3,//小数点精度默认为3
+ targetStartSolutionVolumePrecision: 3,//小数点精度默认为3
+ id:getuuid(),
+ };
+ if(this.ladderType === 'bq' && this.sn =="LBA005"){
+ rowInfo.targetSolutionCode = `LBA-STD${dataSource.length + 1}`;
+ }
+ this.$refs.tableRef?.addRow(rowInfo);
+ justUpdateFilledFormData()
+ },
deleteConfig() {
this.$emit('deleteConfig', this.configType);
},
diff --git a/src/views/business/comps/template/formConfig/paralleAndLadderConfig.js b/src/views/business/comps/template/formConfig/paralleAndLadderConfig.js
index 6d22b9c..37bc319 100644
--- a/src/views/business/comps/template/formConfig/paralleAndLadderConfig.js
+++ b/src/views/business/comps/template/formConfig/paralleAndLadderConfig.js
@@ -224,8 +224,11 @@ export const getLadderColumnsConfig = ($this) => {
]
}
// 平行配置表格列配置
-export const getParallelColumnsConfig = ($this) => {
- const dic = optionsCode[$this.sn] || 'business_sp_nbgzy'
+export const getParallelColumnsConfig = ($this,sn) => {
+ let dic = optionsCode[$this.sn] || 'business_sp_nbgzy';
+ if(sn === "LBA005"){
+ dic = "business_lba_bqpx";
+ }
return [
{
label: 'template.sp.sp00456.mbrybh',
From 7ea8aaa6b884529a34c789e4f89344cacf4b40c1 Mon Sep 17 00:00:00 2001
From: lslaiwy <1209768238@qq.com>
Date: Wed, 18 Mar 2026 23:56:28 +0800
Subject: [PATCH 27/52] =?UTF-8?q?fix[=E8=A1=A8=E5=8D=95=E6=A8=A1=E7=89=88]?=
=?UTF-8?q?=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 | 2 +-
src/lang/zh/template/dl.js | 2 +-
.../business/comps/template/comps/dl/DL016.vue | 34 +++++----
.../business/comps/template/comps/dl/DL022.vue | 86 ++++++++++++++++++----
.../business/comps/template/comps/dl/DL024.vue | 21 +-----
5 files changed, 97 insertions(+), 48 deletions(-)
diff --git a/src/lang/en/template/dl.js b/src/lang/en/template/dl.js
index 0540a20..71283dd 100644
--- a/src/lang/en/template/dl.js
+++ b/src/lang/en/template/dl.js
@@ -346,7 +346,7 @@ export default {
dl022: {
czsj: '操作时间',
dlbz: '备注',
- gcqk: '观察情况',
+ jbqk: '畸变情况',
xbmc: '细胞名称',
xwj: '显微镜',
diff --git a/src/lang/zh/template/dl.js b/src/lang/zh/template/dl.js
index 33232be..e8d660c 100644
--- a/src/lang/zh/template/dl.js
+++ b/src/lang/zh/template/dl.js
@@ -339,7 +339,7 @@ export default {
dl022: {
czsj: '操作时间',
dlbz: '备注',
- gcqk: '观察情况',
+ jbqk: '畸变情况',
xbmc: '细胞名称',
xwj: '显微镜',
diff --git a/src/views/business/comps/template/comps/dl/DL016.vue b/src/views/business/comps/template/comps/dl/DL016.vue
index 14e6045..c2a5ccb 100644
--- a/src/views/business/comps/template/comps/dl/DL016.vue
+++ b/src/views/business/comps/template/comps/dl/DL016.vue
@@ -45,13 +45,12 @@ import templateMixin from "../../mixins/templateMixin";
import CustomTable from '@/components/Template/CustomTable.vue';
import { EventBus } from "@/utils/eventBus";
import { uniqeResource } from "@/utils/calUnitTools";
-import { debounce } from 'lodash-es'
import TableOpertaionDelete from "@/components/Template/operation/TableOpertaionDelete.vue"
export default {
name: "DL016",
dicts: [
- 'business_dl_qsxjbltj','business_tjdw'
+ 'business_dl_qsxjbltj','business_tjdw','business_nddw'
],
components: { BaseInfoFormPackage, LineLabel, TableList, Step, CustomTable,TableOpertaionDelete },
mixins: [templateMixin],
@@ -179,13 +178,25 @@ export default {
bodyDisabled: true,
},
{
- label: "template.dl.dl016.qsxjjrl",
- prop: "qsxjjrl",
- width: 180,
- bodyType: "input",
- bodyFillType: "actFill",
- bodyMaxlength: 10,
- // bodyDisabled: true,
+ // label: "template.dl.dl016.qsxjjrl",
+ // prop: "qsxjjrl",
+ // width: 180,
+ // bodyFillType: "actFill",
+ // bodyMaxlength: 10,
+ // headerSelectKey: 'qsxjjrldw',
+ // fillType: "actFill",
+ // headerOptions: this.getDictOptions('business_nddw'),
+ // bodyType: 'inputNumber',
+ label: "template.dl.dl016.qsxjjrl",
+ prop: 'qsxjjrl',
+ width: 280,
+ headerSelectKey: 'qsxjjrldw',
+ fillType: "preFill",
+ headerOptions: this.getDictOptions('business_tjdw'),
+ bodyType: 'inputNumber',
+ bodyFillType: 'actFill',
+ copyFrom: 'ysqyl',
+ compareTo: 'ysqyl',
}
]
},
@@ -195,9 +206,6 @@ export default {
formData: {},
};
},
- mounted() {
- console.log('mounted=============',this.formData);
- },
methods: {
onRegentSubmit(e) {
const { selectInfo, key, rowIndex } = e
@@ -261,7 +269,6 @@ export default {
//获取填写完成的表单数据
async getFormData() {
let content = await this.validFormFields(["baseInfoRef", "swypyjInfoRef", "qcxjjyqkTableRef", "stepRef","remarkRef"]);
- console.log('获取填写完成的表单数据==============',content);
return content;
},
getResource() {
@@ -274,7 +281,6 @@ export default {
//保存
async onSave() {
let content = await this.$refs.stepRef.getFormData();
- console.log(content);
},
// 删除表格行
// deleteRow(rowIndex) {
diff --git a/src/views/business/comps/template/comps/dl/DL022.vue b/src/views/business/comps/template/comps/dl/DL022.vue
index d000add..41ef4f0 100644
--- a/src/views/business/comps/template/comps/dl/DL022.vue
+++ b/src/views/business/comps/template/comps/dl/DL022.vue
@@ -1,4 +1,4 @@
-
+
@@ -10,7 +10,7 @@
ref="baseInfoRef" :formConfig="baseInfoFormConfig" :formData="formData" />
-
+
畸变类型以代号填写:断片(b)、裂隙(g)、互换及射体(t)、环状染色体(r)、多倍体(p)、双着丝点染色体(d)、内复制(e)、染色体碎化(z)、缺失(l)、粘着(s)、微小体(m)。
-
0){
+ const list = this.formData.stepTableFormData;
+ list.map((item, index) => {
+ let jblxList = item.jblx;
+ if(jblxList&&jblxList.length>0){
+ item.jgjxjbs = this.calculateJgjxjbs(jblxList);
+ }
+ })
+
+ // 使用 $set 更新 formData,触发 CustomTable 的响应式更新
+ this.$set(this.formData, this.formData)
+ }
+
+ },
+ // 计算结构畸形畸变数
+ calculateJgjxjbs(jblxList,countCodes) {
+ if (!jblxList || jblxList.length === 0) return 0
+ // 需要计数的代号
+ // const countCodes = ['b', 't', 'r', 'd', 'z', 'l', 's', 'm']
+
+ let count = 0
+
+ for (const it of jblxList) {
+ if (it.value) {
+ const val = String(it.value).toLowerCase()
+ // 同一输入框中,每个符合规则的代号都计1
+ for (const code of countCodes) {
+ if (val.includes(code)) {
+ count++
+ }
+ }
+ }
+ }
+ return count
+ },
handleEditSignCallback(data){
if (data.uuid === this.uuid) {
this.handleEdit();
@@ -235,10 +290,14 @@ export default {
this.$message.error('畸变类型还未填写完,请填写完成后再操作')
return
}
+ item.jgjxjbs = this.calculateJgjxjbs(jblx,['b', 't', 'r', 'd', 'z', 'l', 's', 'm'])
+ item.lxjbs = this.calculateJgjxjbs(jblx,['g'])
+ item.dbtjbs = this.calculateJgjxjbs(jblx,['p'])
+ item.nfzjbs = this.calculateJgjxjbs(jblx,['e'])
EventBus.$emit('showEditSignDialog', { uuid: this.uuid });
this.currentItem = item;
this.currentRowIndex = rowIndex;
-
+ this.$refs.tableRef.updateDataSourceByRowIndex(rowIndex, item)
},
// 新增行
onAddRow() {
@@ -298,7 +357,6 @@ export default {
//保存
async onSave() {
// stepRef不存在,直接返回空对象
- console.log({});
},
// 删除表格行
deleteRow(rowIndex) {
@@ -325,7 +383,7 @@ export default {
EventBus.$emit('onModifyRecord', params);
},
}
-};
+}
\ No newline at end of file
diff --git a/src/views/business/comps/template/comps/dl/DL007.vue b/src/views/business/comps/template/comps/dl/DL007.vue
index 02f9318..caba3f2 100644
--- a/src/views/business/comps/template/comps/dl/DL007.vue
+++ b/src/views/business/comps/template/comps/dl/DL007.vue
@@ -22,6 +22,7 @@
:ref="refConf.yqsy"
@onRegentSubmit="(e) => onRegentSubmit(e)"
:showOperation="fillType === 'actFill'"
+ fieldItemLabel = "template.dl.dl007.yqsyxx"
:showAddRow="fillType === 'actFill'"
:formData="formData"
:prefixKey="`yqsyTable`"
diff --git a/src/views/business/comps/template/comps/dl/DL023.vue b/src/views/business/comps/template/comps/dl/DL023.vue
index fad17ca..ab14c55 100644
--- a/src/views/business/comps/template/comps/dl/DL023.vue
+++ b/src/views/business/comps/template/comps/dl/DL023.vue
@@ -12,6 +12,7 @@
onRegentSubmit(e)"
:formData="formData" operationWidth="80px" :showAddRow="fillType === 'actFill'"
+ fieldItemLabel = "template.dl.dl023.yqsyxx"
:showOperation="fillType === 'actFill'">
Date: Thu, 19 Mar 2026 21:48:54 +0800
Subject: [PATCH 30/52] =?UTF-8?q?feat:[=E6=A8=A1=E6=9D=BF=E7=AE=A1?=
=?UTF-8?q?=E7=90=86][update]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/utils/index.js | 2 +-
.../business/comps/template/comps/sp/SP003.vue | 1 +
.../comps/template/mixins/templateMixin.js | 22 ++++++++++++++++++----
3 files changed, 20 insertions(+), 5 deletions(-)
diff --git a/src/utils/index.js b/src/utils/index.js
index 8202b04..d541b85 100644
--- a/src/utils/index.js
+++ b/src/utils/index.js
@@ -419,7 +419,7 @@ export const getExpireDate = (
effectivePeriod,
effectivePeriodUnit
) => {
- if(startDate === "NA"){
+ if(effectivePeriod === "NA" || effectivePeriodUnit === "NA"){
return "NA";
}
const start = moment(startDate)
diff --git a/src/views/business/comps/template/comps/sp/SP003.vue b/src/views/business/comps/template/comps/sp/SP003.vue
index 70b7a29..454bd90 100644
--- a/src/views/business/comps/template/comps/sp/SP003.vue
+++ b/src/views/business/comps/template/comps/sp/SP003.vue
@@ -476,6 +476,7 @@ export default {
//更新记录
onRegentSubmit(data) {
const { selectInfo, key } = data;
+
const { row } = selectInfo;
if (key === "subStartSolution") {//选择起始源溶液需要同步更新table的变更记录。
this.$refs.stepFormPackageRef.updateFormData("targetAcSolution", row.nd);
diff --git a/src/views/business/comps/template/mixins/templateMixin.js b/src/views/business/comps/template/mixins/templateMixin.js
index 52f3dbf..371d3e9 100644
--- a/src/views/business/comps/template/mixins/templateMixin.js
+++ b/src/views/business/comps/template/mixins/templateMixin.js
@@ -1,6 +1,6 @@
import moment from 'moment'
import { getLatestSn, getLatestSnArr } from '@/api/template';
-import { isValueEmpty, getStringWidth } from '@/utils/index';
+import { isValueEmpty, getStringWidth,getuuid } from '@/utils/index';
import { isCommonUnit } from "@/utils/conTools";
import { sj_subpackage, sj_startConfiguration, sj_configurationCompleted } from '@/api/business/sj/sj';
import { convertConcentration } from "@/utils/conConverter";//浓度单位转换
@@ -175,7 +175,7 @@ export default {
!expireDate
) {
let end;
- if (startDate === "NA") {
+ if (effectivePeriod === "NA" || effectivePeriodUnit === "NA") {
end = "NA";
} else {
const start = moment(startDate)
@@ -288,10 +288,14 @@ export default {
onBeforeReagentSubmit(data) {
const { selectData, callback, key, formFields } = data;
const { subTargetStartSolution } = formFields;
+
//判断选择的浓度单位和预制的浓度单位是否一致
if (key === "subStartSolution" && !isCommonUnit(selectData.row.nddw, [subTargetStartSolution])) {//选择起始源溶液需要同步更新table的变更记录。
callback.prevent('浓度单位与预制不符,请重新选择或申请废止并重新预制。');
}
+ if(selectData.row.nd === "NA"){
+ callback.prevent('当前实际浓度为NA,请重新选择');
+ }
},
getFormDataByTemplateData() {
let o = {};
@@ -498,7 +502,8 @@ export default {
actSolutionConcentrationPrecision: 3, //小数点精度默认为3
targetDiluentVolumePrecision: 3, //小数点精度默认为3
targetStartSolutionVolumePrecision: 3, //小数点精度默认为3
- targetSolutionCode: `CA-WS-STD${Number(codeSTD) - index}`
+ targetSolutionCode: `CA-WS-STD${Number(codeSTD) - index}`,
+ id:getuuid()
}))
this.$refs.stepTableRef.updateDataSource(arr)
} else if (key === 'targetStartSolution' || key === 'subTargetStartSolution') {
@@ -615,6 +620,11 @@ export default {
const targetStartVolUnit = actSolutionConcentrationUnit.split("/")[1];//先按照预设目标溶液浓度的单位标准
const converActVol = volumeConverter.convert(actVol + actSolutionVolumeUnit, targetStartVolUnit)
const converActDiluentVolume1 = volumeConverter.convert(actStartSolutionVolume + actStartSolutionVolumeUnit, targetStartVolUnit)
+ const converArr = targetAcSolution.split("/");
+ converArr.map((item)=>{
+ return convertConcentration.convert(item + targetStartSolutionUnit, actSolutionConcentrationUnit)
+ })
+ console.log(converArr,"converArr")
const converTargetAcSolution = convertConcentration.convert(targetAcSolution + targetStartSolutionUnit, actSolutionConcentrationUnit)
// 实际目标溶液浓度 = 实际源溶液浓度÷(实际终体积÷源溶液加入体积);
const actNd = (
@@ -651,7 +661,11 @@ export default {
return;
}
const targetStartVolUnit = targetSolutionConcentrationUnit.split("/")[1];//先按照预设目标溶液浓度的单位标准
-
+ const volumeArr = volume.split("/");
+ const converArr = volumeArr.map((item)=>{
+ return convertConcentration.convert(item + subTargetStartSolution, targetSolutionConcentrationUnit)
+ })
+ console.log(converArr,"converArr")
//将起始溶液浓度转换为和预设目标溶液浓度一样的单位再计算;
const converStartCon = convertConcentration.convert(volume + subTargetStartSolution, targetSolutionConcentrationUnit)
//将预设目标溶液体积转换为和预设目标溶液浓度单位的分母一样的单位再计算;如:预设目标溶液浓度单位为mg/mL,预设目标溶液体积单位为uL,则将预设目标溶液体积转换为mL
From 707bd13c87c32f80c56f979d11f7a9361f403f2d Mon Sep 17 00:00:00 2001
From: HanLong <404402223@qq.com>
Date: Fri, 20 Mar 2026 15:01:04 +0800
Subject: [PATCH 31/52] =?UTF-8?q?fix:[=E8=B5=84=E6=BA=90=E5=BA=93=E7=AE=A1?=
=?UTF-8?q?=E7=90=86][=E4=BE=9B=E8=AF=95=E5=93=81]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/api/business/gsp/gsp.js | 19 ++
src/views/business/resource/gsp/comps/gsp/Cc.vue | 188 ++++++++++++++++
.../business/resource/gsp/comps/gsp/Xq copy.vue | 237 +++++++++++++++++++++
src/views/business/resource/gsp/comps/gsp/Xz.vue | 2 +-
src/views/business/study/comp/wzlb/gspList.vue | 44 +++-
src/views/business/study/comp/wzlb/sjList.vue | 8 +-
6 files changed, 486 insertions(+), 12 deletions(-)
create mode 100644 src/views/business/resource/gsp/comps/gsp/Cc.vue
create mode 100644 src/views/business/resource/gsp/comps/gsp/Xq copy.vue
diff --git a/src/api/business/gsp/gsp.js b/src/api/business/gsp/gsp.js
index 28975cc..54ca3f5 100644
--- a/src/api/business/gsp/gsp.js
+++ b/src/api/business/gsp/gsp.js
@@ -218,4 +218,23 @@ export function exportDetail(query) {
method: 'get',
params: query
})
+}
+
+
+//存储
+export function cc(data) {
+ return request({
+ url: '/system/business/gsp/cc',
+ method: 'post',
+ data: data
+ })
+}
+
+//取出
+export function qc(data) {
+ return request({
+ url: '/system/business/gsp/qc',
+ method: 'post',
+ data: data
+ })
}
\ No newline at end of file
diff --git a/src/views/business/resource/gsp/comps/gsp/Cc.vue b/src/views/business/resource/gsp/comps/gsp/Cc.vue
new file mode 100644
index 0000000..29725ce
--- /dev/null
+++ b/src/views/business/resource/gsp/comps/gsp/Cc.vue
@@ -0,0 +1,188 @@
+
+
+
+
+
diff --git a/src/views/business/resource/gsp/comps/gsp/Xq copy.vue b/src/views/business/resource/gsp/comps/gsp/Xq copy.vue
new file mode 100644
index 0000000..3bb2f68
--- /dev/null
+++ b/src/views/business/resource/gsp/comps/gsp/Xq copy.vue
@@ -0,0 +1,237 @@
+
+
+
+
+
+
+

+
+
+
+ {{ $t('form.cancel') }}
+ {{ $t('form.export') }}
+
+
+

{{ $t('page.business.resource.gyzj.gyzjxq')
+ }}

+
+
+
+
+
{{ $t('page.business.resource.gyzj.jbxx') }}
+
+
+
+
{{ $t('page.business.resource.gyzj.mc') }}
+
+
+
+
{{ $t('page.business.resource.gyzj.bh') }}
+
+
+
+
+
+
{{ $t('page.business.resource.gyzj.nd') }}
+
{{
+ form.nddw }}
+
+
+
+
{{ $t('page.business.resource.gyzj.kcl') }}
+
{{
+ form.kcdw }}
+
+
+
+
+
{{ $t('page.business.resource.gyzj.sxrq') }}
+
+
+
+
{{ $t('page.business.resource.gyzj.cctj') }}
+
+
+
+
+
+
{{ $t('page.business.resource.gyzj.ccwz') }}
+
+
+
+
{{ $t('page.business.resource.gyzj.zjzt') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{{ $t('page.business.resource.gyzj.bdxx') }}
+
+
+
+
{{ $t('page.business.resource.gyzj.sssy') }}
+
+
+
+
{{ $t('page.business.resource.gyzj.ssbd') }}
+
+
+
+
+
+
{{ $t('page.business.resource.gyzj.bdssr') }}
+
+
+
+
+
+
{{ $t('page.business.resource.gyzj.tz') }}
+
+
+
+
+
+ {{ scope.row.qmrMc }}
+
+
+
+
+ {{ scope.row.lqrMc }}{{ scope.row.ghrMc }}
+
+
+
+
+
+ {{ scope.row.ffrMc }}{{ scope.row.jsrMc }}
+
+
+
+
+
+
+ {{ scope.row.czl }}{{ scope.row.czldw }}
+
+
+
+
+
+
+
+
+
+
+
+
{{ $t('page.business.resource.gyzj.jcgj') }}
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/business/resource/gsp/comps/gsp/Xz.vue b/src/views/business/resource/gsp/comps/gsp/Xz.vue
index 428979e..8976bf2 100644
--- a/src/views/business/resource/gsp/comps/gsp/Xz.vue
+++ b/src/views/business/resource/gsp/comps/gsp/Xz.vue
@@ -107,7 +107,7 @@
-
+
diff --git a/src/views/business/study/comp/wzlb/gspList.vue b/src/views/business/study/comp/wzlb/gspList.vue
index 26662ac..39a2fa1 100644
--- a/src/views/business/study/comp/wzlb/gspList.vue
+++ b/src/views/business/study/comp/wzlb/gspList.vue
@@ -59,6 +59,14 @@
+
+
+ {{
+ $t('page.business.resource.resource.cczt.qc') }}
+ {{
+ $t('page.business.resource.resource.cczt.cc') }}
+
+
{{ $t('page.business.resource.resource.zjzt.rk') }}
@@ -74,23 +82,32 @@
{{
+ v-hasPermi="['business:studyGsp:xq', 'business:nonTrialGsp:xq', 'business:drugGsp:xq']">{{
$t('page.business.resource.gsp.detail') }}
-
+
{{
+ v-hasPermi="['business:studyGsp:cz', 'business:nonTrialGsp:cz', 'business:drugGsp:cz']">{{
$t('page.business.resource.gsp.cz') }}
{{
+ v-hasPermi="['business:studyGsp:bj', 'business:nonTrialGsp:bj', 'business:drugGsp:bj']">{{
$t('form.edit') }}
{{
+ v-hasPermi="['business:studyGsp:xgkc', 'business:nonTrialGsp:xgkc', 'business:drugGsp:xgkc']">{{
$t('page.business.resource.gsp.xgkc') }}
+
+
+ {{
+ $t('page.business.resource.gyzj.quchu') }}
+
+ {{
+ $t('page.business.resource.gyzj.cunchu') }}
@@ -105,6 +122,10 @@
+
+
+
+
@@ -117,11 +138,12 @@ import Xq from "@/views/business/resource/gsp/comps/gsp/Xq";
import Bj from "@/views/business/resource/gsp/comps/gsp/Bj";
import Xgkc from "@/views/business/resource/gsp/comps/gsp/Xgkc";
import Cz from "@/views/business/resource/gsp/comps/gsp/Cz";
-import moment from "moment";
+import Cc from "@/views/business/resource/gyzj/comps/gyzj/Cc";
+import Qc from "@/views/business/resource/gyzj/comps/gyzj/Qc";
export default {
name: "GspList",
- components: { Xq, Bj, Xgkc, Cz },
+ components: { Xq, Bj, Xgkc, Cz, Cc, Qc },
data() {
return {
daterange: [],
@@ -197,6 +219,14 @@ export default {
this.$emit('showDetail', this.showDetail)
this.$refs.Xq.show(row)
},
+ //取出
+ handleQc(row) {
+ this.$refs.Qc.show(row)
+ },
+ //存储
+ handleCc(row) {
+ this.$refs.Cc.show(row)
+ },
//获取列表
getList() {
if (this.daterange != null && this.daterange.length > 0) {
diff --git a/src/views/business/study/comp/wzlb/sjList.vue b/src/views/business/study/comp/wzlb/sjList.vue
index ed45c8f..349b483 100644
--- a/src/views/business/study/comp/wzlb/sjList.vue
+++ b/src/views/business/study/comp/wzlb/sjList.vue
@@ -71,21 +71,21 @@
- {{
+ {{
$t('page.business.resource.sj.detail') }}
- {{
+ {{
$t('page.business.resource.sj.cz') }}
- {{
+ {{
$t('form.edit') }}
- {{
+ {{
$t('page.business.resource.sj.xgkc') }}
From 5e168ecd028a83cc1dab6dfa3a9474c2ff11e3db Mon Sep 17 00:00:00 2001
From: HanLong <404402223@qq.com>
Date: Sat, 21 Mar 2026 11:15:21 +0800
Subject: [PATCH 32/52] =?UTF-8?q?fix:[=E8=AF=95=E9=AA=8C=E7=AE=A1=E7=90=86?=
=?UTF-8?q?][=E8=AF=95=E9=AA=8C=E6=96=B9=E6=B3=95]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/business/form/nonTrial/comp/syffList.vue | 13 +++++--------
src/views/business/study/comp/syffList.vue | 13 +++++--------
src/views/business/study/comp/syjList.vue | 11 ++++++-----
src/views/business/study/comp/wzlb/bacteriaList.vue | 8 ++++----
src/views/business/study/comp/wzlb/cellList.vue | 10 +++++-----
src/views/business/study/comp/wzlb/gspList.vue | 8 ++++----
src/views/business/study/comp/wzlb/sjList.vue | 8 ++++----
7 files changed, 33 insertions(+), 38 deletions(-)
diff --git a/src/views/business/form/nonTrial/comp/syffList.vue b/src/views/business/form/nonTrial/comp/syffList.vue
index 96c6941..a8200cc 100644
--- a/src/views/business/form/nonTrial/comp/syffList.vue
+++ b/src/views/business/form/nonTrial/comp/syffList.vue
@@ -9,12 +9,12 @@
+ @keyup.enter.native="search" @change="search"/>
-
-
+
+
@@ -141,10 +141,6 @@ export default {
pageNum: 1,
pageSize: 10,
studyId: '',
- syjh: '',
- syqy: '',
- qyr: '',
- jsr: '',
startDate: '',
endDate: ''
},
@@ -179,6 +175,7 @@ export default {
},
reset() {
this.resetForm("searchForm")
+ this.daterange = []
this.search()
},
getList() {
diff --git a/src/views/business/study/comp/syffList.vue b/src/views/business/study/comp/syffList.vue
index 96c6941..a8200cc 100644
--- a/src/views/business/study/comp/syffList.vue
+++ b/src/views/business/study/comp/syffList.vue
@@ -9,12 +9,12 @@
+ @keyup.enter.native="search" @change="search"/>
-
-
+
+
@@ -141,10 +141,6 @@ export default {
pageNum: 1,
pageSize: 10,
studyId: '',
- syjh: '',
- syqy: '',
- qyr: '',
- jsr: '',
startDate: '',
endDate: ''
},
@@ -179,6 +175,7 @@ export default {
},
reset() {
this.resetForm("searchForm")
+ this.daterange = []
this.search()
},
getList() {
diff --git a/src/views/business/study/comp/syjList.vue b/src/views/business/study/comp/syjList.vue
index a645847..c8c8775 100644
--- a/src/views/business/study/comp/syjList.vue
+++ b/src/views/business/study/comp/syjList.vue
@@ -9,25 +9,25 @@
+ @keyup.enter.native="search" @change="search"/>
+ @keyup.enter.native="search" @change="search"/>
+ @keyup.enter.native="search" @change="search"/>
+ @keyup.enter.native="search" @change="search"/>
-
+
@@ -275,6 +275,7 @@ export default {
},
reset() {
this.resetForm("searchForm")
+ this.daterange = []
this.search()
},
getList() {
diff --git a/src/views/business/study/comp/wzlb/bacteriaList.vue b/src/views/business/study/comp/wzlb/bacteriaList.vue
index 9c9a0ae..820a9ea 100644
--- a/src/views/business/study/comp/wzlb/bacteriaList.vue
+++ b/src/views/business/study/comp/wzlb/bacteriaList.vue
@@ -5,22 +5,22 @@
-
+
-
+
-
+
-
+
diff --git a/src/views/business/study/comp/wzlb/cellList.vue b/src/views/business/study/comp/wzlb/cellList.vue
index c4a42aa..e57cad2 100644
--- a/src/views/business/study/comp/wzlb/cellList.vue
+++ b/src/views/business/study/comp/wzlb/cellList.vue
@@ -5,27 +5,27 @@
-
+
-
+
-
+
-
+
-
+
diff --git a/src/views/business/study/comp/wzlb/gspList.vue b/src/views/business/study/comp/wzlb/gspList.vue
index 39a2fa1..d9663e1 100644
--- a/src/views/business/study/comp/wzlb/gspList.vue
+++ b/src/views/business/study/comp/wzlb/gspList.vue
@@ -5,17 +5,17 @@
-
+
-
+
-
+
@@ -27,7 +27,7 @@
-
+
diff --git a/src/views/business/study/comp/wzlb/sjList.vue b/src/views/business/study/comp/wzlb/sjList.vue
index 349b483..90893fe 100644
--- a/src/views/business/study/comp/wzlb/sjList.vue
+++ b/src/views/business/study/comp/wzlb/sjList.vue
@@ -5,17 +5,17 @@
-
+
-
+
-
+
@@ -168,7 +168,7 @@ export default {
},
methods: {
//处置
- handleCzyj(row) {
+ handleCz(row) {
this.$refs.Cz.show(row)
},
//编辑
From 5e185a43eb2bf716ab4fb8cac4f706f0396d6ccb Mon Sep 17 00:00:00 2001
From: luojie <125330818@qq.com>
Date: Sun, 22 Mar 2026 20:32:52 +0800
Subject: [PATCH 33/52] =?UTF-8?q?feat:[=E6=A8=A1=E6=9D=BF=E7=AE=A1?=
=?UTF-8?q?=E7=90=86][update]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/Template/BaseInfoFormPackage.vue | 9 +++-
src/components/Template/CustomTable.vue | 3 +-
src/components/Template/HandleFormItem.vue | 17 ++++---
.../comps/template/comps/sp/comps/LadderConfig.vue | 13 +++---
.../comps/template/mixins/templateMixin.js | 52 ++++++++++++++--------
5 files changed, 62 insertions(+), 32 deletions(-)
diff --git a/src/components/Template/BaseInfoFormPackage.vue b/src/components/Template/BaseInfoFormPackage.vue
index 7017902..7c09f51 100644
--- a/src/components/Template/BaseInfoFormPackage.vue
+++ b/src/components/Template/BaseInfoFormPackage.vue
@@ -445,10 +445,17 @@ export default {
},
// 获取按钮项
getButtonItem(sItem) {
+ const o = {
+ ...sItem,
+ key: sItem.subKey,
+ fillType: sItem.subFillType || sItem.fillType
+ };
+ if(sItem.hasOwnProperty("subDisabled")){
+ o.disabled = sItem.disabled;
+ }
return {
...sItem,
key: sItem.subKey,
- disabled: sItem.subDisabled,
fillType: sItem.subFillType || sItem.fillType
}
},
diff --git a/src/components/Template/CustomTable.vue b/src/components/Template/CustomTable.vue
index 4e285fb..0a16432 100644
--- a/src/components/Template/CustomTable.vue
+++ b/src/components/Template/CustomTable.vue
@@ -800,7 +800,7 @@ export default {
const compareToValue = this.localDataSource[rowIndex][col.compareTo];
// 比较当前值和compareTo值,如果不相等则设置橙色背景
- if (value !== compareToValue) {
+ if (!isEqual(value, compareToValue)) {
this.setOrangeBg(rowIndex, colIndex, colKey, true);
} else {
// 相等则移除橙色背景
@@ -1069,6 +1069,7 @@ export default {
targetDiluentVolumePrecision: 3,//小数点精度默认为3
targetStartSolutionVolumePrecision: 3,//小数点精度默认为3
id:getuuid(),
+ rowIndex:this.localDataSource.length,
});
justUpdateFilledFormData()
},
diff --git a/src/components/Template/HandleFormItem.vue b/src/components/Template/HandleFormItem.vue
index e0d5b01..eaa4a89 100644
--- a/src/components/Template/HandleFormItem.vue
+++ b/src/components/Template/HandleFormItem.vue
@@ -111,6 +111,7 @@
复核意见:{{ record.content }}
-
回复意见:{{ record.reply }}
+
意见回复:{{ record.reply }}
@@ -213,7 +214,7 @@
-
@@ -404,7 +405,6 @@ export default {
},
methods: {
remoteMethod(query) {
- console.log(query,"qqq")
this.$emit('remoteMethod', query);
},
handleFalse() {
@@ -766,7 +766,7 @@ export default {
const baseInfo = this.getCommonRecordInfo();
const record = {
...baseInfo,
- title: (this.templateFillType == 'actFill' || this.templateFillType == 'blxjsh') ? "回复意见" : "复核意见",
+ title: (this.templateFillType == 'actFill' || this.templateFillType == 'blxjsh') ? "意见回复" : "复核意见",
time: moment().format("YYYY-MM-DD HH:mm:ss"),
}
if (this.templateFillType == 'actFill' || this.templateFillType == 'blxjsh') {
@@ -816,7 +816,7 @@ export default {
const records = this.getReplyRecords();
if (records.length > 0) {
const o = records[0];
- if (o.reply && o.content) {//有回复意见和复核意见
+ if (o.reply && o.content) {//有意见回复和复核意见
return "green"
} else if (o.content && !o.reply) {//只有复核意见
return "orange"
@@ -1198,7 +1198,7 @@ export default {
if (isSame) {
return;
}
- if (!isOldValueEmpty && !(isSame) && (this.templateFillType === "actFill" || this.templateFillType === "blxjsh")) {
+ if (!isOldValueEmpty && !(isSame) && (this.templateFillType === "actFill" || this.templateFillType === "blxjsh")&&this.type !== "attachment") {
// 通过EventBus触发电子签名弹窗
EventBus.$emit('showEditSignDialog', { uuid: this.uuid });
} else {//如果是第一次填写,不需要密码验证
@@ -1284,6 +1284,11 @@ export default {
recordOldVlaue = `${this.item.checkboxLabel || ""}:${this.oldValue?'勾选':'未勾选'}`;
recordValue = `${this.item.checkboxLabel||""}:${this.inputValue?'勾选':'未勾选'}`;
isModify = this.oldValue !== '';
+ }else if(this.type === "attachment"){
+ const attList = JSON.parse(recordValue);
+ const oldAttList = JSON.parse(recordOldVlaue || "[]");
+ recordValue = attList.map(item => item.name).join(";");
+ recordOldVlaue = oldAttList.map(item => item.name).join(";");
}
const record = {
...baseInfo,
diff --git a/src/views/business/comps/template/comps/sp/comps/LadderConfig.vue b/src/views/business/comps/template/comps/sp/comps/LadderConfig.vue
index 5d6e5d9..add303a 100644
--- a/src/views/business/comps/template/comps/sp/comps/LadderConfig.vue
+++ b/src/views/business/comps/template/comps/sp/comps/LadderConfig.vue
@@ -109,13 +109,14 @@ export default {
methods: {
// 添加行
onAddRow(e) {
- const {dataSource} = e;
+ const {dataSource=[]} = e;
const rowInfo = {
actSolutionVolumePrecision: 3,//小数点精度默认为3
actSolutionConcentrationPrecision: 3,//小数点精度默认为3
targetDiluentVolumePrecision: 3,//小数点精度默认为3
targetStartSolutionVolumePrecision: 3,//小数点精度默认为3
id:getuuid(),
+ rowIndex:dataSource.length,
};
if(this.ladderType === 'bq' && this.sn =="LBA005"){
rowInfo.targetSolutionCode = `LBA-STD${dataSource.length + 1}`;
@@ -212,7 +213,8 @@ export default {
const { targetStartSolution, subTargetStartSolution } = this.$refs.formPackageRef?.getFilledFormData();
const params = {
subTargetStartSolution,
- headerSelectFields
+ headerSelectFields,
+ dataSource,
}
if (targetStartSolution) {
this.updateTargetStartSolutionVolume(item, targetStartSolution, params);
@@ -266,15 +268,16 @@ export default {
}
},
bodySelectChange(data) {
- this.paralleUpdateTargetStartSolutionVolume(data.item, data.headerSelectFields);
+ this.paralleUpdateTargetStartSolutionVolume(data.item, data.headerSelectFields, data.dataSource);
},
//平行配置更新体积
- paralleUpdateTargetStartSolutionVolume(item, headerSelectFields) {
+ paralleUpdateTargetStartSolutionVolume(item, headerSelectFields, dataSource) {
const volumne = item.targetStartSolutionConcentration;
const subTargetStartSolution = item.targetStartSolutionConcentrationPrecision;
const params = {
headerSelectFields,
- subTargetStartSolution
+ subTargetStartSolution,
+ dataSource,
}
if (volumne) {
this.updateTargetStartSolutionVolume(item, volumne, params);
diff --git a/src/views/business/comps/template/mixins/templateMixin.js b/src/views/business/comps/template/mixins/templateMixin.js
index 371d3e9..16a59e2 100644
--- a/src/views/business/comps/template/mixins/templateMixin.js
+++ b/src/views/business/comps/template/mixins/templateMixin.js
@@ -503,18 +503,19 @@ export default {
targetDiluentVolumePrecision: 3, //小数点精度默认为3
targetStartSolutionVolumePrecision: 3, //小数点精度默认为3
targetSolutionCode: `CA-WS-STD${Number(codeSTD) - index}`,
- id:getuuid()
+ id:getuuid(),
+ rowIndex:index,
}))
this.$refs.stepTableRef.updateDataSource(arr)
} else if (key === 'targetStartSolution' || key === 'subTargetStartSolution') {
//起始溶液体积失焦时,更新目标溶液预计浓度
const arr = this.$refs.stepTableRef?.getDataSource();
- const { headerSelectFields } = this.$refs.stepTableRef?.getFilledFormData();
+ const { headerSelectFields,stepTableFormData=[] } = this.$refs.stepTableRef?.getFilledFormData();
const params = {
subTargetStartSolution,
- headerSelectFields
- }
-
+ headerSelectFields,
+ dataSource:stepTableFormData,
+ }
arr.forEach((item, rowIndex) => {
this.updateTargetStartSolutionVolume(
item,
@@ -526,6 +527,7 @@ export default {
},
//批量更新目标起始源溶液体积
batchUpdateTargetStartSolutionVolume(arr, startConcentration, params) {
+ params.dataSource = arr;
arr.forEach((item, rowIndex) => {
this.updateTargetStartSolutionVolume(
item,
@@ -553,7 +555,8 @@ export default {
)
const params = {
subTargetStartSolution: subTargetStartSolution,
- headerSelectFields
+ headerSelectFields,
+ dataSource
}
if (isValueEmpty(volume)) {
this.$message.error('请先选择预设起始源溶液浓度')
@@ -593,13 +596,17 @@ export default {
//计算目标溶液浓度
calcNd(item, targetAcSolution, params) {
- console.log(params, "ppp")
+ console.log(item,params, "ppp")
// debugger
//targetStartSolutionUnit(实际起始源溶液浓度单位)
const { targetStartSolutionUnit, headerSelectFields } = params;
+ const { actStartSolutionVolumeUnit, actSolutionVolumeUnit, actDiluentVolumeUnit, actSolutionConcentrationUnit } = headerSelectFields;
+ let initUnit = targetStartSolutionUnit;
+ if (item.rowIndex > 0) {
+ initUnit = actSolutionConcentrationUnit;
+ }
//actStartSolutionVolumeUnit(实际起始源溶液体积单位)actSolutionVolumeUnit(实际目标溶液体积单位)
//actDiluentVolumeUnit(实际稀释液体积单位)actSolutionConcentrationUnit(实际目标溶液浓度单位)
- const { actStartSolutionVolumeUnit, actSolutionVolumeUnit, actDiluentVolumeUnit, actSolutionConcentrationUnit } = headerSelectFields;
//实际源溶液浓度÷(实际终体积÷源溶液加入体积);
const precision = item.actSolutionConcentrationPrecision
const volPrecision = item.actSolutionVolumePrecision;
@@ -607,10 +614,9 @@ export default {
const actDiluentVolume = item.actDiluentVolume
//实际起始源溶液体积
const actStartSolutionVolume = item.actStartSolutionVolume
- if (isValueEmpty(actStartSolutionVolume) || isValueEmpty(actDiluentVolume) || isValueEmpty(targetStartSolutionUnit)) {
+ if (isValueEmpty(actStartSolutionVolume) || isValueEmpty(actDiluentVolume) || isValueEmpty(initUnit)) {
return false
}
-
const converActDiluentVolume = volumeConverter.convert(actDiluentVolume + actDiluentVolumeUnit, actSolutionVolumeUnit)
const converActStartSolutionVolume = volumeConverter.convert(actStartSolutionVolume + actStartSolutionVolumeUnit, actSolutionVolumeUnit)
//实际源溶液加入体积+实际稀释液加入体积
@@ -620,12 +626,12 @@ export default {
const targetStartVolUnit = actSolutionConcentrationUnit.split("/")[1];//先按照预设目标溶液浓度的单位标准
const converActVol = volumeConverter.convert(actVol + actSolutionVolumeUnit, targetStartVolUnit)
const converActDiluentVolume1 = volumeConverter.convert(actStartSolutionVolume + actStartSolutionVolumeUnit, targetStartVolUnit)
- const converArr = targetAcSolution.split("/");
+ const converArr = (targetAcSolution+'').split("/");
converArr.map((item)=>{
- return convertConcentration.convert(item + targetStartSolutionUnit, actSolutionConcentrationUnit)
+ return convertConcentration.convert(item + initUnit, actSolutionConcentrationUnit)
})
console.log(converArr,"converArr")
- const converTargetAcSolution = convertConcentration.convert(targetAcSolution + targetStartSolutionUnit, actSolutionConcentrationUnit)
+ const converTargetAcSolution = convertConcentration.convert(targetAcSolution + initUnit, actSolutionConcentrationUnit)
// 实际目标溶液浓度 = 实际源溶液浓度÷(实际终体积÷源溶液加入体积);
const actNd = (
parseFloat(converTargetAcSolution) / (
@@ -644,15 +650,22 @@ export default {
},
//更新起始溶液体积时,计算预设起始溶液体积和预设稀释液体积
updateTargetStartSolutionVolume(item, volume, unitParams) {
+ const { rowIndex } = item
+ const { subTargetStartSolution, headerSelectFields, dataSource=[] } = unitParams
+ const { targetSolutionConcentrationUnit, targetSolutionVolumeUnit, targetStartSolutionVolumeUnit, targetDiluentVolumeUnit } = headerSelectFields
+
+ let initNd = volume,unit = subTargetStartSolution;
+ if (rowIndex > 0) {
+ initNd = dataSource[rowIndex - 1].targetSolutionConcentration;
+ unit = targetSolutionConcentrationUnit;
+ }
const precision = item.targetStartSolutionVolumePrecision || 0
const concentration = item.targetSolutionConcentration
const targetVolume = item.targetSolutionVolume
- const { subTargetStartSolution, headerSelectFields } = unitParams
- const { targetSolutionConcentrationUnit, targetSolutionVolumeUnit, targetStartSolutionVolumeUnit, targetDiluentVolumeUnit } = headerSelectFields
if (
isValueEmpty(concentration) ||
isValueEmpty(targetVolume) ||
- isValueEmpty(subTargetStartSolution) ||
+ isValueEmpty(unit) ||
isValueEmpty(targetSolutionConcentrationUnit) ||
isValueEmpty(targetSolutionVolumeUnit) ||
isValueEmpty(targetStartSolutionVolumeUnit) ||
@@ -660,14 +673,15 @@ export default {
) {
return;
}
+
const targetStartVolUnit = targetSolutionConcentrationUnit.split("/")[1];//先按照预设目标溶液浓度的单位标准
- const volumeArr = volume.split("/");
+ const volumeArr = (initNd+'').split("/");
const converArr = volumeArr.map((item)=>{
- return convertConcentration.convert(item + subTargetStartSolution, targetSolutionConcentrationUnit)
+ return convertConcentration.convert(item + unit, targetSolutionConcentrationUnit)
})
console.log(converArr,"converArr")
//将起始溶液浓度转换为和预设目标溶液浓度一样的单位再计算;
- const converStartCon = convertConcentration.convert(volume + subTargetStartSolution, targetSolutionConcentrationUnit)
+ const converStartCon = convertConcentration.convert(initNd + unit, targetSolutionConcentrationUnit)
//将预设目标溶液体积转换为和预设目标溶液浓度单位的分母一样的单位再计算;如:预设目标溶液浓度单位为mg/mL,预设目标溶液体积单位为uL,则将预设目标溶液体积转换为mL
const convertTargetVol = volumeConverter.convert(targetVolume + targetSolutionVolumeUnit, targetStartVolUnit)
From 358f32683757e4a033702ef81626b7920d659409 Mon Sep 17 00:00:00 2001
From: luojie <125330818@qq.com>
Date: Mon, 23 Mar 2026 09:51:16 +0800
Subject: [PATCH 34/52] =?UTF-8?q?feat:[=E6=A8=A1=E6=9D=BF=E7=AE=A1?=
=?UTF-8?q?=E7=90=86][update]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/Template/HandleFormItem.vue | 2 +-
src/views/business/comps/template/formConfig/sp/SP0019.js | 2 ++
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/components/Template/HandleFormItem.vue b/src/components/Template/HandleFormItem.vue
index eaa4a89..bebcc0b 100644
--- a/src/components/Template/HandleFormItem.vue
+++ b/src/components/Template/HandleFormItem.vue
@@ -19,7 +19,7 @@
diff --git a/src/views/business/comps/template/formConfig/sp/SP0019.js b/src/views/business/comps/template/formConfig/sp/SP0019.js
index cf42240..be40b7f 100644
--- a/src/views/business/comps/template/formConfig/sp/SP0019.js
+++ b/src/views/business/comps/template/formConfig/sp/SP0019.js
@@ -54,6 +54,8 @@ export const getStorageFormConfig = ($this)=>{
fillType: 'actFill',
options: $this.spzxhOptions,
filledCodes:['mc','bh'],
+ selectRemote: true,
+
},
}
},
From 01b077896f89f7dc9679ae40ab3458d7e353effe Mon Sep 17 00:00:00 2001
From: luojie <125330818@qq.com>
Date: Mon, 23 Mar 2026 10:16:14 +0800
Subject: [PATCH 35/52] =?UTF-8?q?feat:[=E6=A8=A1=E6=9D=BF=E7=AE=A1?=
=?UTF-8?q?=E7=90=86][update]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../business/comps/template/TemplateTable.vue | 7 +-
.../business/comps/template/comps/pcr/PCR002.vue | 586 --------------------
.../business/comps/template/comps/pcr/PCR003.vue | 587 ---------------------
.../business/comps/template/comps/pcr/PCR004.vue | 587 ---------------------
.../business/comps/template/comps/sp/SP00456.vue | 16 +-
5 files changed, 19 insertions(+), 1764 deletions(-)
delete mode 100644 src/views/business/comps/template/comps/pcr/PCR002.vue
delete mode 100644 src/views/business/comps/template/comps/pcr/PCR003.vue
delete mode 100644 src/views/business/comps/template/comps/pcr/PCR004.vue
diff --git a/src/views/business/comps/template/TemplateTable.vue b/src/views/business/comps/template/TemplateTable.vue
index 07c9d3d..50a2a02 100644
--- a/src/views/business/comps/template/TemplateTable.vue
+++ b/src/views/business/comps/template/TemplateTable.vue
@@ -500,11 +500,14 @@ export default {
this.currentEditSignUuid = null;
}
},
+ // 检查是否有未填写的复核意见
+ isReply(){
+ return this.fhyjjl.every((item) => !!item.content && !!item.reply)
+ },
async getFormData() {
if (this.fillType === "actFill") {
//检查是否有未填写的复核意见
- const flag = this.fhyjjl.every((item) => !!item.content && !!item.reply)
- console.log(this.fhyjjl, flag, "flag")
+ const flag = this.isReply()
if (!flag) {
this.$message.error("疑问项还未回复,请回复后再提交");
return;
diff --git a/src/views/business/comps/template/comps/pcr/PCR002.vue b/src/views/business/comps/template/comps/pcr/PCR002.vue
deleted file mode 100644
index e113814..0000000
--- a/src/views/business/comps/template/comps/pcr/PCR002.vue
+++ /dev/null
@@ -1,586 +0,0 @@
-
-
-
-
-

{{ formData.bdmc }}

-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/views/business/comps/template/comps/pcr/PCR003.vue b/src/views/business/comps/template/comps/pcr/PCR003.vue
deleted file mode 100644
index f06318a..0000000
--- a/src/views/business/comps/template/comps/pcr/PCR003.vue
+++ /dev/null
@@ -1,587 +0,0 @@
-
-
-
-
-

{{ formData.bdmc }}

-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/views/business/comps/template/comps/pcr/PCR004.vue b/src/views/business/comps/template/comps/pcr/PCR004.vue
deleted file mode 100644
index 3ffe9cd..0000000
--- a/src/views/business/comps/template/comps/pcr/PCR004.vue
+++ /dev/null
@@ -1,587 +0,0 @@
-
-
-
-
-

{{ formData.bdmc }}

-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/views/business/comps/template/comps/sp/SP00456.vue b/src/views/business/comps/template/comps/sp/SP00456.vue
index cb69749..4bb97d5 100644
--- a/src/views/business/comps/template/comps/sp/SP00456.vue
+++ b/src/views/business/comps/template/comps/sp/SP00456.vue
@@ -49,7 +49,7 @@
:configType="'ladder'" :ref="`ladderRef_${ladderIndex}`"
:sn = "sn"
ladderType = "bq"
- :fieldItemLabel="getOperationStepsLabel()"
+ :fieldItemLabel="getTableLabel('ladder')"
:showHeader="!isPcr234"
@deleteConfig="deleteConfig('ladderConfigs', ladderConfig)" :fillType="fillType" />
@@ -61,7 +61,7 @@
:showOperation="fillType === 'actFill' || fillType === 'preFill'"
:tableColumns="paralleStepColumns" :prefixKey="'paralle_' + paralleIndex"
:configType="'paralle'" :ref="`paralleRef_${paralleIndex}`"
- :fieldItemLabel="getOperationStepsLabel()"
+ :fieldItemLabel="getTableLabel('paralle')"
:showHeader="!isPcr234"
:showHeaderLabel="!isGsp"
@deleteConfig="deleteConfig('paralleConfigs', paralleConfig)" :fillType="fillType" />
@@ -252,6 +252,18 @@ export default {
}
return obj[this.sn] || 'template.common.operationSteps';//操作步骤
},
+ // 获取表格标签
+ getTableLabel(type) {
+ const obj = {
+ "paralle": "template.common.pxpz",//标准曲线配制
+ "ladder": "template.common.jtpz",//阶梯配制
+ }
+ if(this.isGsp){
+ return "";
+ }
+ return obj[type] || '';//表格标签
+ },
+ // 删除选板信息行
deleteJcbRow(rowIndex) {
const jcbRef = this.$refs['jcbRef'];
if (jcbRef) {
From 0006f739b4322b49b3550bfec2631169349c97ba Mon Sep 17 00:00:00 2001
From: luojie <125330818@qq.com>
Date: Mon, 23 Mar 2026 10:45:02 +0800
Subject: [PATCH 36/52] =?UTF-8?q?feat:[=E6=A8=A1=E6=9D=BF=E7=AE=A1?=
=?UTF-8?q?=E7=90=86][update]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/Template/BaseInfoFormPackage.vue | 2 +-
src/components/Template/CustomTable.vue | 12 ++++++++++++
src/components/Template/HandleFormItem.vue | 17 +++++++++++++----
src/views/business/comps/template/TemplateTable.vue | 5 +----
4 files changed, 27 insertions(+), 9 deletions(-)
diff --git a/src/components/Template/BaseInfoFormPackage.vue b/src/components/Template/BaseInfoFormPackage.vue
index 7c09f51..6ded5ec 100644
--- a/src/components/Template/BaseInfoFormPackage.vue
+++ b/src/components/Template/BaseInfoFormPackage.vue
@@ -451,7 +451,7 @@ export default {
fillType: sItem.subFillType || sItem.fillType
};
if(sItem.hasOwnProperty("subDisabled")){
- o.disabled = sItem.disabled;
+ o.disabled = sItem.subDisabled;
}
return {
...sItem,
diff --git a/src/components/Template/CustomTable.vue b/src/components/Template/CustomTable.vue
index 0a16432..8ed469f 100644
--- a/src/components/Template/CustomTable.vue
+++ b/src/components/Template/CustomTable.vue
@@ -224,6 +224,11 @@
:value="row[col.bodySubKey]"
@clickButton="(e, data) => handleClickButton(e, data, col.bodySubKey, rowIndex, colIndex)" />
+
+ handleClickButton(e, data, col.bodyThirdKey, rowIndex, colIndex)" />
+
{{ modificationRecords.length - 1 == index ? "提交" : "修改" }}
-
原值:{{ record.oldValue }}
-
修改值:{{ record.value }}
+
+
备注:{{ record.reason }}
@@ -1287,8 +1293,11 @@ export default {
}else if(this.type === "attachment"){
const attList = JSON.parse(recordValue);
const oldAttList = JSON.parse(recordOldVlaue || "[]");
- recordValue = attList.map(item => item.name).join(";");
- recordOldVlaue = oldAttList.map(item => item.name).join(";");
+ const urlList = attList.map(item => {
+ return `${item.name}`
+ });
+ recordValue = urlList.join("、");
+ recordOldVlaue = oldAttList.map(item => `${item.name}`).join("、");
}
const record = {
...baseInfo,
diff --git a/src/views/business/comps/template/TemplateTable.vue b/src/views/business/comps/template/TemplateTable.vue
index 50a2a02..a4bcf9a 100644
--- a/src/views/business/comps/template/TemplateTable.vue
+++ b/src/views/business/comps/template/TemplateTable.vue
@@ -52,9 +52,6 @@ import DMYPPZJLB from "./comps/gsp/DMYPPZJLB.vue";
// PCR
//PCR001-使用SP001
-import PCR002 from "./comps/pcr/PCR002.vue";
-import PCR003 from "./comps/pcr/PCR003.vue";
-import PCR004 from "./comps/pcr/PCR004.vue";
import PCR005 from "./comps/pcr/PCR005.vue";
import PCR007 from "./comps/pcr/PCR007.vue";
import PCR008 from "./comps/pcr/PCR008.vue";
@@ -140,7 +137,7 @@ export default {
//色谱
SP001, SP003, SP00456,SP007, SP008, SP009,SP0019,SP0020,SP0021,
// PCR
- PCR002, PCR003, PCR004, PCR005,PCR007, PCR008, PCR009,PCR010, PCR011, PCR012,
+ PCR005,PCR007, PCR008, PCR009,PCR010, PCR011, PCR012,
//LBA
LBA002,
LBA003,
From 4e8020dceb5fdf16f22914caef4d5c2d00c08863 Mon Sep 17 00:00:00 2001
From: luojie <125330818@qq.com>
Date: Mon, 23 Mar 2026 10:59:26 +0800
Subject: [PATCH 37/52] =?UTF-8?q?feat:[=E6=A8=A1=E6=9D=BF=E7=AE=A1?=
=?UTF-8?q?=E7=90=86][update]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/Template/BaseInfoFormPackage.vue | 7 ++-----
src/components/Template/CustomTable.vue | 16 ++++++++--------
src/views/business/comps/template/comps/yp/YP005.vue | 4 ++++
3 files changed, 14 insertions(+), 13 deletions(-)
diff --git a/src/components/Template/BaseInfoFormPackage.vue b/src/components/Template/BaseInfoFormPackage.vue
index 6ded5ec..b02a9df 100644
--- a/src/components/Template/BaseInfoFormPackage.vue
+++ b/src/components/Template/BaseInfoFormPackage.vue
@@ -453,11 +453,8 @@ export default {
if(sItem.hasOwnProperty("subDisabled")){
o.disabled = sItem.subDisabled;
}
- return {
- ...sItem,
- key: sItem.subKey,
- fillType: sItem.subFillType || sItem.fillType
- }
+ return o;
+
},
// 获取按钮项
getThirdButtonItem(sItem) {
diff --git a/src/components/Template/CustomTable.vue b/src/components/Template/CustomTable.vue
index 8ed469f..c7f930e 100644
--- a/src/components/Template/CustomTable.vue
+++ b/src/components/Template/CustomTable.vue
@@ -200,7 +200,7 @@
:orange-bg="hasOrangeBg(rowIndex, colIndex, col.otherCode)" />
-
@@ -224,11 +224,6 @@
:value="row[col.bodySubKey]"
@clickButton="(e, data) => handleClickButton(e, data, col.bodySubKey, rowIndex, colIndex)" />
-
- handleClickButton(e, data, col.bodyThirdKey, rowIndex, colIndex)" />
-
+
+ handleClickButton(e, data, col.bodyThirdKey, rowIndex, colIndex)" />
+
@@ -461,7 +461,7 @@ export default {
isValid = value && value.some(tag => tag.checked === true);
} else if (this.templateFillType === "preFill") {
// preFill时,检查所有tagValue是否不为空
- isValid = value && value.every(tag => tag.tagValue && tag.tagValue.trim() !== '');
+ isValid = value && value.every(tag => tag.tagValue && (tag.tagValue+'').trim() !== '');
}
this.onErrorUpdate(rowIndex, colIndex, col.prop, !isValid);
this.$emit("onCheckboxTagChange", rowIndex, col, value)
@@ -675,7 +675,7 @@ export default {
}
} else if (this.templateFillType === "preFill") {
// preFill时,检查所有tagValue是否不为空
- const allTagValuesFilled = mainValue && mainValue.every(tag => tag.tagValue && tag.tagValue.trim() !== '');
+ const allTagValuesFilled = mainValue && mainValue.every(tag => tag.tagValue && (tag.tagValue+'').trim() !== '');
if (!allTagValuesFilled && !col.bodyDisabled) {
const errorItem = {
rowIndex,
diff --git a/src/views/business/comps/template/comps/yp/YP005.vue b/src/views/business/comps/template/comps/yp/YP005.vue
index 82cb9c7..f336e57 100644
--- a/src/views/business/comps/template/comps/yp/YP005.vue
+++ b/src/views/business/comps/template/comps/yp/YP005.vue
@@ -172,6 +172,10 @@ export default {
bodySubButtonName:"template.yp.yp005.ks",
bodySubKey:"startBtn",
showBodySub:this.fillType === "actFill",
+ bodyThirdType:"button",
+ bodyThirdButtonName:"结束",
+ bodyThirdKey:"endBtn",
+ bodyThirdFillType:"actFill",
width: 280,
bodyDisabled:true,
bodySubDisabled:false,
From 7ccaedfbf09332301c182982921146377d140b2b Mon Sep 17 00:00:00 2001
From: memorylkf <312904636@qq.com>
Date: Mon, 23 Mar 2026 11:24:18 +0800
Subject: [PATCH 38/52] =?UTF-8?q?feat:=20[=E6=A8=A1=E6=9D=BF=E7=AE=A1?=
=?UTF-8?q?=E7=90=86]=20YP005?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../business/comps/template/comps/dl/DL023.vue | 4 +--
.../business/comps/template/comps/yp/YP002.vue | 2 +-
.../business/comps/template/comps/yp/YP005.vue | 33 ++++++++++++++++++++--
3 files changed, 34 insertions(+), 5 deletions(-)
diff --git a/src/views/business/comps/template/comps/dl/DL023.vue b/src/views/business/comps/template/comps/dl/DL023.vue
index ab14c55..267a79f 100644
--- a/src/views/business/comps/template/comps/dl/DL023.vue
+++ b/src/views/business/comps/template/comps/dl/DL023.vue
@@ -189,7 +189,7 @@ export default {
subKey: 'zskssj',
buttonName: 'template.dl.dl023.ksButton',
disabled: true,
- subDisabled: false
+ subDisabled: this.fillType !== 'actFill'
},
zsjssj: {
label: 'template.dl.dl023.zsjssj',
@@ -200,7 +200,7 @@ export default {
subKey: 'zsjssj',
buttonName: 'template.dl.dl023.jsButton',
disabled: true,
- subDisabled: false
+ subDisabled: this.fillType !== 'actFill'
},
}
}
diff --git a/src/views/business/comps/template/comps/yp/YP002.vue b/src/views/business/comps/template/comps/yp/YP002.vue
index cf90f0b..7a6a875 100644
--- a/src/views/business/comps/template/comps/yp/YP002.vue
+++ b/src/views/business/comps/template/comps/yp/YP002.vue
@@ -143,7 +143,7 @@ export default {
subKey:"jssjButton",
buttonName:"template.yp.yp002.hqsj",
disabled:true,
- subDisabled:false
+ subDisabled:this.fillType !== 'actFill'
},
}
},
diff --git a/src/views/business/comps/template/comps/yp/YP005.vue b/src/views/business/comps/template/comps/yp/YP005.vue
index f336e57..4098387 100644
--- a/src/views/business/comps/template/comps/yp/YP005.vue
+++ b/src/views/business/comps/template/comps/yp/YP005.vue
@@ -178,7 +178,7 @@ export default {
bodyThirdFillType:"actFill",
width: 280,
bodyDisabled:true,
- bodySubDisabled:false,
+ bodySubDisabled:this.fillType !== 'actFill',
}]
},
},
@@ -198,8 +198,37 @@ export default {
this.$refs.ImportExcelDialog.show()
}
if(key === "startBtn"){
+ debugger
+ let startTime = moment().format("YYYY/MM/DD HH:mm")
+ let content = this.getFilledFormData();
+ let tableList = content.stepTableFormData
+ let qxsj = tableList[rowIndex].qxsj
+ let timeArr = qxsj?qxsj.split('~'):['','']
+ timeArr[0] = startTime
this.$refs.tableRef.updateDataSourceByRowIndex(rowIndex,{
- qxsj: moment().format("YYYY/MM/DD HH:mm"),
+ qxsj: timeArr.join('~'),
+ })
+
+ // this.$nextTick(() => {
+ // //通知后端保存数据
+ // const params = {
+ // type: "fieldChanged",
+ // newRecord: null,
+ // resourceList: null,
+ // }
+ // EventBus.$emit('onModifyRecord', params,)
+ // })
+ }
+ if(key === "endBtn"){
+ debugger
+ let endTime = moment().format("YYYY/MM/DD HH:mm")
+ let content = this.getFilledFormData();
+ let tableList = content.stepTableFormData
+ let qxsj = tableList[rowIndex].qxsj
+ let timeArr = qxsj?qxsj.split('~'):['','']
+ timeArr[1] = endTime
+ this.$refs.tableRef.updateDataSourceByRowIndex(rowIndex,{
+ qxsj: timeArr.join('~'),
})
// this.$nextTick(() => {
From 52f96d632b75e0d5981305993a46bfd492d5421c Mon Sep 17 00:00:00 2001
From: memorylkf <312904636@qq.com>
Date: Mon, 23 Mar 2026 11:34:26 +0800
Subject: [PATCH 39/52] =?UTF-8?q?feat:=20[=E6=A8=A1=E6=9D=BF=E7=AE=A1?=
=?UTF-8?q?=E7=90=86]=20yp005?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/business/comps/template/comps/yp/YP005.vue | 13 ++++---------
1 file changed, 4 insertions(+), 9 deletions(-)
diff --git a/src/views/business/comps/template/comps/yp/YP005.vue b/src/views/business/comps/template/comps/yp/YP005.vue
index 4098387..c581be3 100644
--- a/src/views/business/comps/template/comps/yp/YP005.vue
+++ b/src/views/business/comps/template/comps/yp/YP005.vue
@@ -193,17 +193,16 @@ export default {
methods: {
// 点击按钮
handleClickButton(key,rowIndex,colIndex,e,data){
+ let content = this.getFilledFormData();
+ let tableList = content.stepTableFormData
+ let qxsj = tableList[rowIndex].qxsj
+ let timeArr = qxsj?qxsj.split('~'):['','']
if(key === "exportBtn"){
this.currentRowIndex = rowIndex;
this.$refs.ImportExcelDialog.show()
}
if(key === "startBtn"){
- debugger
let startTime = moment().format("YYYY/MM/DD HH:mm")
- let content = this.getFilledFormData();
- let tableList = content.stepTableFormData
- let qxsj = tableList[rowIndex].qxsj
- let timeArr = qxsj?qxsj.split('~'):['','']
timeArr[0] = startTime
this.$refs.tableRef.updateDataSourceByRowIndex(rowIndex,{
qxsj: timeArr.join('~'),
@@ -222,10 +221,6 @@ export default {
if(key === "endBtn"){
debugger
let endTime = moment().format("YYYY/MM/DD HH:mm")
- let content = this.getFilledFormData();
- let tableList = content.stepTableFormData
- let qxsj = tableList[rowIndex].qxsj
- let timeArr = qxsj?qxsj.split('~'):['','']
timeArr[1] = endTime
this.$refs.tableRef.updateDataSourceByRowIndex(rowIndex,{
qxsj: timeArr.join('~'),
From 951cf19b7b256838653423c23ecf5717df22ad34 Mon Sep 17 00:00:00 2001
From: HanLong <404402223@qq.com>
Date: Mon, 23 Mar 2026 15:05:47 +0800
Subject: [PATCH 40/52] =?UTF-8?q?fix:[=E5=AD=98=E5=82=A8=E4=BD=8D=E7=BD=AE?=
=?UTF-8?q?]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/views/business/storageLocation/list.vue | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/views/business/storageLocation/list.vue b/src/views/business/storageLocation/list.vue
index 672f62f..e2d8c42 100644
--- a/src/views/business/storageLocation/list.vue
+++ b/src/views/business/storageLocation/list.vue
@@ -130,7 +130,7 @@
diff --git a/src/views/business/storageLocation/list.vue b/src/views/business/storageLocation/list.vue
index e2d8c42..330fc80 100644
--- a/src/views/business/storageLocation/list.vue
+++ b/src/views/business/storageLocation/list.vue
@@ -114,7 +114,8 @@
-
+
@@ -126,6 +127,7 @@
+
@@ -136,9 +138,10 @@ import BusinessSelect from '@/views/business/comps/select/BusinessSelect';
import SelectDept from '@/views/business/comps/select/SelectDept';
import { mapGetters } from 'vuex'
import SelectStorageLocation from '@/views/business/comps/select/SelectStorageLocation'
+import StorageLocationDetail from './comps/detail'
export default {
name: 'StorageLocation',
- components: { BusinessSelect, SelectDept, SelectStorageLocation },
+ components: { BusinessSelect, SelectDept, SelectStorageLocation, StorageLocationDetail },
data() {
return {
@@ -170,7 +173,8 @@ export default {
},
// 表单参数
form: {
- 'qmyy': this.$t('page.form.add')
+ 'qmyy': this.$t('page.form.add'),
+ qmrmm: null,
},
// 表单校验
rules: {
@@ -238,6 +242,7 @@ export default {
wc: null,
ccwz: null,
fzdd: null,
+ qmrmm: null,
qmyy: this.$t('page.system.storageLocation.addStroageLocation'),
}
this.resetForm('form')
@@ -269,7 +274,7 @@ export default {
this.title = this.$t('form.edit')
},
handleDetail(row) {
- this.$refs.YqDetail.show(row)
+ this.$refs.storageLocationDetail.show(row)
},
/** 提交按钮 */
submitForm() {
From f97b0fa0958ee05358692641b99956271afaf8be Mon Sep 17 00:00:00 2001
From: memorylkf <312904636@qq.com>
Date: Mon, 23 Mar 2026 16:11:49 +0800
Subject: [PATCH 42/52] =?UTF-8?q?feat:=20[=E6=AD=A5=E9=AA=A4=E7=AE=A1?=
=?UTF-8?q?=E7=90=86]=20=E8=A7=A3=E5=86=BB=E7=9B=B8=E5=85=B3=E6=AD=A5?=
=?UTF-8?q?=E9=AA=A4=E7=9A=84=E6=B8=A9=E5=BA=A6=E6=94=B9=E6=88=90=E5=AD=98?=
=?UTF-8?q?=E5=82=A8=E6=9D=A1=E4=BB=B6?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/Template/StepComponents/qxwdx/qxjz.vue | 10 +---------
src/components/Template/StepComponents/ry/jd.vue | 12 ++++++++----
2 files changed, 9 insertions(+), 13 deletions(-)
diff --git a/src/components/Template/StepComponents/qxwdx/qxjz.vue b/src/components/Template/StepComponents/qxwdx/qxjz.vue
index 85b3735..c80c673 100644
--- a/src/components/Template/StepComponents/qxwdx/qxjz.vue
+++ b/src/components/Template/StepComponents/qxwdx/qxjz.vue
@@ -66,7 +66,7 @@ export default {
compareTo: "yjhj",
},
text6: {
- label: this.sn==='qxqy'?"条件下暂存至":"条件下静置,即稳定性",
+ label: this.sn==='qxqy'?"条件下暂存,作为":"条件下静置,即稳定性",
type: "text",
},
}
@@ -93,14 +93,6 @@ export default {
fillType: "actFill",
otherCode: "ccwzOther",
}
- config[0].config.text8 = {
- type: "text",
- label: "作为",
- }
- config[0].config.yp = {
- type: "input",
- fillType: "actFill",
- }
config[0].config.text9 = {
type: "text",
label: "样品。",
diff --git a/src/components/Template/StepComponents/ry/jd.vue b/src/components/Template/StepComponents/ry/jd.vue
index 67c1ad0..2486dcb 100644
--- a/src/components/Template/StepComponents/ry/jd.vue
+++ b/src/components/Template/StepComponents/ry/jd.vue
@@ -51,7 +51,8 @@ export default {
},
yjwd: {
type: "select",
- options: this.getDictOptions("business_wddw"),
+ options: this.getDictOptions("business_cctj"),
+ multiple: true,
fillType: "preFill",
otherCode: "yjwdOther",
},
@@ -67,7 +68,8 @@ export default {
},
sjwd: {
type: "select",
- options: this.getDictOptions("business_wddw"),
+ options: this.getDictOptions("business_cctj"),
+ multiple: true,
fillType: "actFill",
otherCode: "sjwdOther",
compareTo: "yjwd",
@@ -162,7 +164,8 @@ export default {
},
yjwd: {
type: "select",
- options: this.getDictOptions("business_wddw"),
+ options: this.getDictOptions("business_cctj"),
+ multiple: true,
fillType: "preFill",
otherCode: "yjwdOther",
},
@@ -178,7 +181,8 @@ export default {
},
sjwd: {
type: "select",
- options: this.getDictOptions("business_wddw"),
+ options: this.getDictOptions("business_cctj"),
+ multiple: true,
fillType: "actFill",
otherCode: "sjwdOther",
compareTo: "yjwd",
From f8a0cc6e3da6f6c0e3ed499fbf53dcaeaf86c4ab Mon Sep 17 00:00:00 2001
From: luojie <125330818@qq.com>
Date: Mon, 23 Mar 2026 16:24:26 +0800
Subject: [PATCH 43/52] =?UTF-8?q?feat:[=E6=A8=A1=E6=9D=BF=E7=AE=A1?=
=?UTF-8?q?=E7=90=86][update]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/Template/BaseInfoFormPackage.vue | 5 +-
src/components/Template/HandleFormItem.vue | 18 ++----
.../Template/mixins/formPackageMixins.js | 67 ++++++++++++--------
.../comps/template/comps/gsp/DMYPPZJLB.vue | 2 +-
.../business/comps/template/comps/gsp/GSP001.vue | 2 +-
.../business/comps/template/comps/gsp/GSP003.vue | 2 +-
.../business/comps/template/comps/gsp/GSP005.vue | 2 +-
.../business/comps/template/comps/gsp/GSP009.vue | 2 +-
.../business/comps/template/comps/gsp/GSP010.vue | 2 +-
.../business/comps/template/comps/lba/LBA002.vue | 2 +-
.../business/comps/template/comps/lba/LBA003.vue | 2 +-
.../business/comps/template/comps/lba/LBA004.vue | 2 +-
.../business/comps/template/comps/lba/LBA006.vue | 2 +-
.../business/comps/template/comps/lba/LBA008.vue | 2 +-
.../business/comps/template/comps/pcr/PCR005.vue | 2 +-
.../business/comps/template/comps/pcr/PCR008.vue | 2 +-
.../business/comps/template/comps/pcr/PCR009.vue | 2 +-
.../business/comps/template/comps/pcr/PCR010.vue | 2 +-
.../business/comps/template/comps/pcr/PCR011.vue | 2 +-
.../business/comps/template/comps/pcr/PCR012.vue | 2 +-
.../business/comps/template/comps/sp/SP001.vue | 2 +-
.../business/comps/template/comps/sp/SP003.vue | 3 +-
.../business/comps/template/comps/sp/SP008.vue | 2 +-
.../business/comps/template/comps/sp/SP009.vue | 2 +-
.../comps/template/comps/sp/comps/LadderConfig.vue | 8 ++-
.../business/comps/template/comps/yp/YP003.vue | 71 ++++++++++------------
.../business/comps/template/comps/yp/YP004.vue | 2 +-
.../business/comps/template/comps/yp/YP005.vue | 2 +-
.../comps/template/mixins/templateMixin.js | 3 +-
29 files changed, 115 insertions(+), 104 deletions(-)
diff --git a/src/components/Template/BaseInfoFormPackage.vue b/src/components/Template/BaseInfoFormPackage.vue
index b02a9df..4b3dc69 100644
--- a/src/components/Template/BaseInfoFormPackage.vue
+++ b/src/components/Template/BaseInfoFormPackage.vue
@@ -39,7 +39,10 @@
:field-key="prefixKey + '_' + sItem.otherCode" @blur="onBlur(key, $event)"
:item="getOtherItem(sItem)" v-model="formFields[sItem.otherCode]"
@copy="onCopy(sItem, key)" :error="errors[sItem.otherCode]"
- @update:error="errors[sItem.otherCode] = false" />
+ @update:error="errors[sItem.otherCode] = false"
+ :orange-bg="orangeBgFields[sItem.otherCode]"
+ />
+
diff --git a/src/components/Template/HandleFormItem.vue b/src/components/Template/HandleFormItem.vue
index e2eb665..8c19bed 100644
--- a/src/components/Template/HandleFormItem.vue
+++ b/src/components/Template/HandleFormItem.vue
@@ -193,14 +193,8 @@
{{ modificationRecords.length - 1 == index ? "提交" : "修改" }}
-
-
+
原值:{{ record.oldValue }}
+
修改值:{{ record.value }}
备注:{{ record.reason }}
@@ -1293,12 +1287,10 @@ export default {
}else if(this.type === "attachment"){
const attList = JSON.parse(recordValue);
const oldAttList = JSON.parse(recordOldVlaue || "[]");
- const urlList = attList.map(item => {
- return `
${item.name}`
- });
- recordValue = urlList.join("、");
- recordOldVlaue = oldAttList.map(item => `
${item.name}`).join("、");
+ recordValue = attList.map(item => item.name).join(";");
+ recordOldVlaue = oldAttList.map(item => item.name).join(";");
}
+
const record = {
...baseInfo,
oldValue: recordOldVlaue,
diff --git a/src/components/Template/mixins/formPackageMixins.js b/src/components/Template/mixins/formPackageMixins.js
index b49a519..68a592b 100644
--- a/src/components/Template/mixins/formPackageMixins.js
+++ b/src/components/Template/mixins/formPackageMixins.js
@@ -260,7 +260,7 @@ export default {
}
config[subKey] = { label: currentConfig.label, subKey, type: currentConfig.subType, fillType: currentConfig.subFillType || currentConfig.fillType, selectTo: currentConfig.selectTo }
}
- if(currentConfig.thirdKey){
+ if (currentConfig.thirdKey) {
const { thirdKey } = currentConfig;
if (update) {
result[thirdKey] = formFields[thirdKey] || formData[thirdKey] || '';
@@ -269,7 +269,7 @@ export default {
}
config[thirdKey] = { label: currentConfig.label, thirdKey, type: currentConfig.thirdType, fillType: currentConfig.thirdFillType, selectTo: currentConfig.selectTo }
}
- if(currentConfig.fourthKey){
+ if (currentConfig.fourthKey) {
const { fourthKey } = currentConfig;
if (update) {
result[fourthKey] = formFields[fourthKey] || formData[fourthKey] || '';
@@ -293,6 +293,12 @@ export default {
this.compareFieldsIsEqual(currentValue, compareToValue, currentConfig.subKey)
}
+ if (currentConfig.otherCodeCompareTo && formData[currentConfig.otherCodeCompareTo] && result[currentConfig.otherCode]) {
+ const compareToValue = formData[currentConfig.otherCodeCompareTo];
+ const currentValue = result[currentConfig.otherCode];
+ this.compareFieldsIsEqual(currentValue, compareToValue, currentConfig.otherCode)
+
+ }
});
// 处理可能存在的直接otherCode字段
@@ -350,24 +356,24 @@ export default {
const o = allFieldsConfig[key];
if (o.otherCode) {//
if (o.type === "select") {
- const isSelectedOther = this.isShowOther(formFields[key],o);
+ const isSelectedOther = this.isShowOther(formFields[key], o);
if (!isSelectedOther) {//如果其他选项没有被选择,清空其他字段
formFields[o.otherCode] = "";
}
} else if (o.subType === "select") {
- const isSelectedOther = this.isShowOther(formFields[o.subKey],o);
+ const isSelectedOther = this.isShowOther(formFields[o.subKey], o);
if (!isSelectedOther) {//如果其他选项没有被选择,清空其他字段
formFields[o.otherCode] = "";
}
} else if (o.type === "radioAndOther") {
- const isSelectedOther = this.isShowOtherByRadioAndOther(formFields[key],o);
+ const isSelectedOther = this.isShowOtherByRadioAndOther(formFields[key], o);
if (!isSelectedOther) {//如果其他选项没有被选择,清空其他字段
formFields[o.otherCode] = "";
}
}
}
- if (o.type === "attachment"&&o.fillType === this.templateFillType) {
+ if (o.type === "attachment" && o.fillType === this.templateFillType) {
const attValue = formFields[key];
if (!attValue || attValue == "[]") {
errors.push({
@@ -377,9 +383,9 @@ export default {
});
this.$set(this.errors, key, true);
}
- } else if (o.type === "fqyq" &&o.fillType === this.templateFillType) {
+ } else if (o.type === "fqyq" && o.fillType === this.templateFillType) {
const fqyqValue = formFields[key] || {};
- const {mainRadio, subRadio,inputValue} = fqyqValue;
+ const { mainRadio, subRadio, inputValue } = fqyqValue;
if (!mainRadio) {
errors.push({
field: key,
@@ -388,7 +394,7 @@ export default {
});
this.$set(this.errors, key, true);
} else {
- if (mainRadio==="是") {
+ if (mainRadio === "是") {
if (!subRadio) {
errors.push({
field: key,
@@ -396,7 +402,7 @@ export default {
error: "请选择是否在规定时间完成"
});
this.$set(this.errors, key, true);
- }else if(!inputValue){
+ } else if (!inputValue) {
errors.push({
field: key,
label: o.label,
@@ -408,10 +414,10 @@ export default {
}
continue
- }else if(o.type === "checkboxTree"&&o.fillType === this.templateFillType){
+ } else if (o.type === "checkboxTree" && o.fillType === this.templateFillType) {
const checkboxTreeValue = formFields[key] || {};
- const {checkedValues=[],otherValues = {}} = checkboxTreeValue;;
- const {options = []} = o;
+ const { checkedValues = [], otherValues = {} } = checkboxTreeValue;;
+ const { options = [] } = o;
//需要校验第一层是否有选中项
const parentOptions = options.map(item => item.label);
const isChecked = checkedValues.some(option => {
@@ -420,9 +426,9 @@ export default {
//获取所有选中的选项
const allCheckedOptions = checkedValues.filter(item => item.checked).map(item => item.label);
//再筛选出需要显示其他输入框的选项
- const otherOptions = allCheckedOptions.filter((label)=>isShowOtherByCheckboxTree(label))
+ const otherOptions = allCheckedOptions.filter((label) => isShowOtherByCheckboxTree(label))
const isHasOtherInfo = otherOptions.every(item => otherValues[item]);
- console.log(isChecked,isHasOtherInfo,"isChecked")
+ console.log(isChecked, isHasOtherInfo, "isChecked")
if (!isChecked || !isHasOtherInfo) {
errors.push({
field: key,
@@ -432,12 +438,12 @@ export default {
this.$set(this.errors, key, true);
}
continue
- }else if(o.type === "radioAndOther"&&o.fillType === this.templateFillType){
+ } else if (o.type === "radioAndOther" && o.fillType === this.templateFillType) {
const radioValue = formFields[key] || {};
- const {otherCode} = o;
+ const { otherCode } = o;
const otherValue = formFields[otherCode] || "";
- const isShow = this.isShowOtherByRadioAndOther(radioValue,o)
- if(isShow&&!otherValue){
+ const isShow = this.isShowOtherByRadioAndOther(radioValue, o)
+ if (isShow && !otherValue) {
errors.push({
field: key,
label: o.label,
@@ -460,7 +466,7 @@ export default {
if (o.label === "template.common.other" && !this.isShowOther(formFields[o.parentKey])) {
continue
}
-
+
//span的字段不校验
if (o.type === "span" || o.type === "text" || o.type === "button") {
continue
@@ -532,10 +538,23 @@ export default {
onValueChangeCompareTo(key, val, compKey) {
// compareTo 功能:当fillType==="actFill"时,判断当前值是否与compareTo字段的值一样,如果不一样则将当前input框的背景色标记成橙色
const currentFieldConfig = this.allFieldsConfig[key];
- if (currentFieldConfig && currentFieldConfig.fillType === "actFill" && (currentFieldConfig.compareTo || compKey)) {
- const compareToKey = compKey || currentFieldConfig.compareTo;
- const compareToValue = this.formFields[compareToKey];
- this.compareFieldsIsEqual(val, compareToValue, key);
+ if (currentFieldConfig && currentFieldConfig.fillType === "actFill") {
+ if ((currentFieldConfig.compareTo || compKey)) {
+ const compareToKey = compKey || currentFieldConfig.compareTo;
+ const compareToValue = this.formFields[compareToKey];
+ this.compareFieldsIsEqual(val, compareToValue, key);
+ }
+ if (currentFieldConfig.otherCodeCompareTo && this.formFields[currentFieldConfig.otherCodeCompareTo] && this.formFields[currentFieldConfig.otherCode]) {
+ const compareToValue = this.formFields[currentFieldConfig.otherCodeCompareTo];
+ const currentValue = this.formFields[currentFieldConfig.otherCode];
+ this.compareFieldsIsEqual(currentValue, compareToValue, currentFieldConfig.otherCode)
+ }
+ if(currentFieldConfig.subCompareTo && this.formFields[currentFieldConfig.subCompareTo] && this.formFields[currentFieldConfig.subKey]){
+ const compareToValue = this.formFields[currentFieldConfig.subCompareTo];
+ const currentValue = this.formFields[currentFieldConfig.subKey];
+ this.compareFieldsIsEqual(currentValue, compareToValue, currentFieldConfig.subKey)
+ }
+
}
},
onAttachmentChange(key, val) {
diff --git a/src/views/business/comps/template/comps/gsp/DMYPPZJLB.vue b/src/views/business/comps/template/comps/gsp/DMYPPZJLB.vue
index b107012..b41874d 100644
--- a/src/views/business/comps/template/comps/gsp/DMYPPZJLB.vue
+++ b/src/views/business/comps/template/comps/gsp/DMYPPZJLB.vue
@@ -157,7 +157,7 @@ export default {
label: 'template.common.actualFill',
type: "select",
fillType: "actFill",
- otherCode: "actOther",
+ otherCode: "actOther",otherCodeCompareTo: "preOther",
multiple: true,
compareTo: "pre",
options: this.getDictOptions('business_pztj')
diff --git a/src/views/business/comps/template/comps/gsp/GSP001.vue b/src/views/business/comps/template/comps/gsp/GSP001.vue
index 09b5d01..12b7dbb 100644
--- a/src/views/business/comps/template/comps/gsp/GSP001.vue
+++ b/src/views/business/comps/template/comps/gsp/GSP001.vue
@@ -156,7 +156,7 @@ export default {
label: 'template.common.actualFill',
type: "select",
fillType: "actFill",
- otherCode: "actOther",
+ otherCode: "actOther",otherCodeCompareTo: "preOther",
multiple: true,
compareTo: "pre",
options: this.getDictOptions('business_pztj')
diff --git a/src/views/business/comps/template/comps/gsp/GSP003.vue b/src/views/business/comps/template/comps/gsp/GSP003.vue
index b8f4e8e..5d526ae 100644
--- a/src/views/business/comps/template/comps/gsp/GSP003.vue
+++ b/src/views/business/comps/template/comps/gsp/GSP003.vue
@@ -179,7 +179,7 @@ export default {
label: 'template.common.actualFill',
type: "select",
fillType: "actFill",
- otherCode: "actOther",
+ otherCode: "actOther",otherCodeCompareTo: "preOther",
multiple: true,
compareTo: "pre",
options: this.getDictOptions('business_pztj')
diff --git a/src/views/business/comps/template/comps/gsp/GSP005.vue b/src/views/business/comps/template/comps/gsp/GSP005.vue
index 17c9d55..da5ed1c 100644
--- a/src/views/business/comps/template/comps/gsp/GSP005.vue
+++ b/src/views/business/comps/template/comps/gsp/GSP005.vue
@@ -181,7 +181,7 @@ export default {
label: 'template.common.actualFill',
type: "select",
fillType: "actFill",
- otherCode: "actOther",
+ otherCode: "actOther",otherCodeCompareTo: "preOther",
multiple: true,
compareTo: "pre",
options: this.getDictOptions('business_pztj')
diff --git a/src/views/business/comps/template/comps/gsp/GSP009.vue b/src/views/business/comps/template/comps/gsp/GSP009.vue
index 1e9573d..2600afd 100644
--- a/src/views/business/comps/template/comps/gsp/GSP009.vue
+++ b/src/views/business/comps/template/comps/gsp/GSP009.vue
@@ -128,7 +128,7 @@ export default {
label: 'template.common.actualFill',
type: "select",
fillType: "actFill",
- otherCode: "actOther",
+ otherCode: "actOther",otherCodeCompareTo: "preOther",
multiple: true,
compareTo: "pre",
options: this.getDictOptions('business_pztj')
diff --git a/src/views/business/comps/template/comps/gsp/GSP010.vue b/src/views/business/comps/template/comps/gsp/GSP010.vue
index 2b87e66..dc83c71 100644
--- a/src/views/business/comps/template/comps/gsp/GSP010.vue
+++ b/src/views/business/comps/template/comps/gsp/GSP010.vue
@@ -135,7 +135,7 @@ export default {
label: 'template.common.actualFill',
type: "select",
fillType: "actFill",
- otherCode: "actOther",
+ otherCode: "actOther",otherCodeCompareTo: "preOther",
multiple: true,
compareTo: "pre",
options: this.getDictOptions('business_pztj')
diff --git a/src/views/business/comps/template/comps/lba/LBA002.vue b/src/views/business/comps/template/comps/lba/LBA002.vue
index 1fb262b..8ddc1b2 100644
--- a/src/views/business/comps/template/comps/lba/LBA002.vue
+++ b/src/views/business/comps/template/comps/lba/LBA002.vue
@@ -128,7 +128,7 @@ export default {
label: 'template.common.actualFill',
type: "select",
fillType: "actFill",
- otherCode: "actOther",
+ otherCode: "actOther",otherCodeCompareTo: "preOther",
multiple: true,
compareTo: "pre",
options: this.getDictOptions('business_pztj')
diff --git a/src/views/business/comps/template/comps/lba/LBA003.vue b/src/views/business/comps/template/comps/lba/LBA003.vue
index cf7c06d..de1fced 100644
--- a/src/views/business/comps/template/comps/lba/LBA003.vue
+++ b/src/views/business/comps/template/comps/lba/LBA003.vue
@@ -112,7 +112,7 @@ export default {
label: 'template.common.actualFill',
type: "select",
fillType: "actFill",
- otherCode: "actOther",
+ otherCode: "actOther",otherCodeCompareTo: "preOther",
multiple: true,
compareTo: "pre",
options: this.getDictOptions('business_pztj')
diff --git a/src/views/business/comps/template/comps/lba/LBA004.vue b/src/views/business/comps/template/comps/lba/LBA004.vue
index c63af97..12e74c0 100644
--- a/src/views/business/comps/template/comps/lba/LBA004.vue
+++ b/src/views/business/comps/template/comps/lba/LBA004.vue
@@ -188,7 +188,7 @@ export default {
label: 'template.common.actualFill',
type: "select",
fillType: "actFill",
- otherCode: "actOther",
+ otherCode: "actOther",otherCodeCompareTo: "preOther",
multiple: true,
compareTo: "pre",
options: this.getDictOptions('business_pztj')
diff --git a/src/views/business/comps/template/comps/lba/LBA006.vue b/src/views/business/comps/template/comps/lba/LBA006.vue
index 3fea786..f83cd2c 100644
--- a/src/views/business/comps/template/comps/lba/LBA006.vue
+++ b/src/views/business/comps/template/comps/lba/LBA006.vue
@@ -125,7 +125,7 @@ export default {
label: 'template.common.actualFill',
type: "select",
fillType: "actFill",
- otherCode: "actOther",
+ otherCode: "actOther",otherCodeCompareTo: "preOther",
multiple: true,
options: this.getDictOptions('business_pztj')
}
diff --git a/src/views/business/comps/template/comps/lba/LBA008.vue b/src/views/business/comps/template/comps/lba/LBA008.vue
index 8eee88d..1ba72d0 100644
--- a/src/views/business/comps/template/comps/lba/LBA008.vue
+++ b/src/views/business/comps/template/comps/lba/LBA008.vue
@@ -162,7 +162,7 @@ export default {
label: 'template.common.actualFill',
type: "select",
fillType: "actFill",
- otherCode: "actOther",
+ otherCode: "actOther",otherCodeCompareTo: "preOther",
multiple: true,
compareTo: "pre",
options: this.getDictOptions('business_pztj')
diff --git a/src/views/business/comps/template/comps/pcr/PCR005.vue b/src/views/business/comps/template/comps/pcr/PCR005.vue
index ff2de9c..33d5f3e 100644
--- a/src/views/business/comps/template/comps/pcr/PCR005.vue
+++ b/src/views/business/comps/template/comps/pcr/PCR005.vue
@@ -166,7 +166,7 @@ export default {
label: 'template.common.actualFill',
type: "select",
fillType: "actFill",
- otherCode: "actOther",
+ otherCode: "actOther",otherCodeCompareTo: "preOther",
multiple: true,
compareTo: "pre",
options: this.getDictOptions('business_pztj')
diff --git a/src/views/business/comps/template/comps/pcr/PCR008.vue b/src/views/business/comps/template/comps/pcr/PCR008.vue
index 6c62908..a19777d 100644
--- a/src/views/business/comps/template/comps/pcr/PCR008.vue
+++ b/src/views/business/comps/template/comps/pcr/PCR008.vue
@@ -145,7 +145,7 @@ export default {
label: 'template.common.actualFill',
type: "select",
fillType: "actFill",
- otherCode: "actOther",
+ otherCode: "actOther",otherCodeCompareTo: "preOther",
multiple: true,
compareTo: "pre",
options: this.getDictOptions('business_pztj')
diff --git a/src/views/business/comps/template/comps/pcr/PCR009.vue b/src/views/business/comps/template/comps/pcr/PCR009.vue
index d491959..3a15a65 100644
--- a/src/views/business/comps/template/comps/pcr/PCR009.vue
+++ b/src/views/business/comps/template/comps/pcr/PCR009.vue
@@ -162,7 +162,7 @@ export default {
label: 'template.common.actualFill',
type: "select",
fillType: "actFill",
- otherCode: "actOther",
+ otherCode: "actOther",otherCodeCompareTo: "preOther",
multiple: true,
compareTo: "pre",
options: this.getDictOptions('business_pztj')
diff --git a/src/views/business/comps/template/comps/pcr/PCR010.vue b/src/views/business/comps/template/comps/pcr/PCR010.vue
index 8ac872a..519da6d 100644
--- a/src/views/business/comps/template/comps/pcr/PCR010.vue
+++ b/src/views/business/comps/template/comps/pcr/PCR010.vue
@@ -147,7 +147,7 @@ export default {
label: 'template.common.actualFill',
type: "select",
fillType: "actFill",
- otherCode: "actOther",
+ otherCode: "actOther",otherCodeCompareTo: "preOther",
multiple: true,
compareTo: "pre",
options: this.getDictOptions('business_pztj')
diff --git a/src/views/business/comps/template/comps/pcr/PCR011.vue b/src/views/business/comps/template/comps/pcr/PCR011.vue
index ef9f80b..bf61259 100644
--- a/src/views/business/comps/template/comps/pcr/PCR011.vue
+++ b/src/views/business/comps/template/comps/pcr/PCR011.vue
@@ -147,7 +147,7 @@ export default {
label: 'template.common.actualFill',
type: "select",
fillType: "actFill",
- otherCode: "actOther",
+ otherCode: "actOther",otherCodeCompareTo: "preOther",
multiple: true,
compareTo: "pre",
options: this.getDictOptions('business_pztj')
diff --git a/src/views/business/comps/template/comps/pcr/PCR012.vue b/src/views/business/comps/template/comps/pcr/PCR012.vue
index ccefd9e..72c40e4 100644
--- a/src/views/business/comps/template/comps/pcr/PCR012.vue
+++ b/src/views/business/comps/template/comps/pcr/PCR012.vue
@@ -148,7 +148,7 @@ export default {
label: 'template.common.actualFill',
type: "select",
fillType: "actFill",
- otherCode: "actOther",
+ otherCode: "actOther",otherCodeCompareTo: "preOther",
multiple: true,
compareTo: "pre",
options: this.getDictOptions('business_pztj')
diff --git a/src/views/business/comps/template/comps/sp/SP001.vue b/src/views/business/comps/template/comps/sp/SP001.vue
index a4def6b..648673f 100644
--- a/src/views/business/comps/template/comps/sp/SP001.vue
+++ b/src/views/business/comps/template/comps/sp/SP001.vue
@@ -157,7 +157,7 @@ export default {
label: 'template.common.actualFill',
type: "select",
fillType: "actFill",
- otherCode: "actOther",
+ otherCode: "actOther",otherCodeCompareTo: "preOther",
multiple: true,
compareTo: "pre",
options: this.getDictOptions('business_pztj')
diff --git a/src/views/business/comps/template/comps/sp/SP003.vue b/src/views/business/comps/template/comps/sp/SP003.vue
index 454bd90..0740fdf 100644
--- a/src/views/business/comps/template/comps/sp/SP003.vue
+++ b/src/views/business/comps/template/comps/sp/SP003.vue
@@ -158,7 +158,8 @@ export default {
otherCode: "actOther",
multiple: true,
options: this.getDictOptions('business_pztj'),
- compareTo: "pre"
+ compareTo: "pre",
+ otherCodeCompareTo: "preOther",
}
}
},
diff --git a/src/views/business/comps/template/comps/sp/SP008.vue b/src/views/business/comps/template/comps/sp/SP008.vue
index 296d5ac..647d779 100644
--- a/src/views/business/comps/template/comps/sp/SP008.vue
+++ b/src/views/business/comps/template/comps/sp/SP008.vue
@@ -171,7 +171,7 @@ export default {
label: 'template.common.actualFill',
type: "select",
fillType: "actFill",
- otherCode: "actOther",
+ otherCode: "actOther",otherCodeCompareTo: "preOther",
compareTo: "pre",
multiple: true,
options: this.getDictOptions('business_pztj')
diff --git a/src/views/business/comps/template/comps/sp/SP009.vue b/src/views/business/comps/template/comps/sp/SP009.vue
index 786cd05..76cf980 100644
--- a/src/views/business/comps/template/comps/sp/SP009.vue
+++ b/src/views/business/comps/template/comps/sp/SP009.vue
@@ -175,7 +175,7 @@ export default {
label: 'template.common.actualFill',
type: "select",
fillType: "actFill",
- otherCode: "actOther",
+ otherCode: "actOther",otherCodeCompareTo: "preOther",
compareTo: "pre",
multiple: true,
options: this.getDictOptions('business_pztj')
diff --git a/src/views/business/comps/template/comps/sp/comps/LadderConfig.vue b/src/views/business/comps/template/comps/sp/comps/LadderConfig.vue
index add303a..4788a23 100644
--- a/src/views/business/comps/template/comps/sp/comps/LadderConfig.vue
+++ b/src/views/business/comps/template/comps/sp/comps/LadderConfig.vue
@@ -268,7 +268,9 @@ export default {
}
},
bodySelectChange(data) {
- this.paralleUpdateTargetStartSolutionVolume(data.item, data.headerSelectFields, data.dataSource);
+ if(this.configType === "paralle"){//只有平行配置才需要更新体积
+ this.paralleUpdateTargetStartSolutionVolume(data.item, data.headerSelectFields, data.dataSource);
+ }
},
//平行配置更新体积
paralleUpdateTargetStartSolutionVolume(item, headerSelectFields, dataSource) {
@@ -277,8 +279,8 @@ export default {
const params = {
headerSelectFields,
subTargetStartSolution,
- dataSource,
}
+
if (volumne) {
this.updateTargetStartSolutionVolume(item, volumne, params);
}
@@ -303,7 +305,7 @@ export default {
const { targetStartSolution, subTargetStartSolution } = this.$refs.formPackageRef?.getFilledFormData();
const params = {
subTargetStartSolution,
- headerSelectFields
+ headerSelectFields,
}
this.batchUpdateTargetStartSolutionVolume(dataSource, targetStartSolution, params)
} else {
diff --git a/src/views/business/comps/template/comps/yp/YP003.vue b/src/views/business/comps/template/comps/yp/YP003.vue
index 6a762c8..3bc7b79 100644
--- a/src/views/business/comps/template/comps/yp/YP003.vue
+++ b/src/views/business/comps/template/comps/yp/YP003.vue
@@ -10,25 +10,18 @@
ref="baseInfoRef" :formConfig="baseInfoFormConfig" :formData="formData" />
-
+
-
+
-
+
-
+