From bf27f5b4da2b9c2911cfeb9e3b334664d2430919 Mon Sep 17 00:00:00 2001 From: "15881625488@163.com" <15881625488@163.com> Date: Tue, 10 Feb 2026 10:46:56 +0800 Subject: [PATCH 1/6] =?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/jhbd/Fh.vue | 5 ++++- src/views/business/study/comp/jhbd/Sy.vue | 5 ++++- src/views/business/study/comp/jhbd/Xq.vue | 5 ++++- src/views/business/study/comp/sqbd/Fh.vue | 5 ++++- src/views/business/study/comp/sqbd/Sh.vue | 5 ++++- src/views/business/study/comp/sqbd/Sy.vue | 5 ++++- src/views/business/study/comp/sqbd/Xq.vue | 5 ++++- src/views/business/study/comp/tbbd/Bj.vue | 25 ++++++++++++++----------- src/views/business/study/comp/tbbd/Fh.vue | 5 ++++- src/views/business/study/comp/tbbd/Sy.vue | 5 ++++- src/views/business/study/comp/tbbd/Xq.vue | 5 ++++- src/views/business/study/comp/ytbd/Xq.vue | 8 +++++++- 12 files changed, 61 insertions(+), 22 deletions(-) diff --git a/src/views/business/study/comp/jhbd/Fh.vue b/src/views/business/study/comp/jhbd/Fh.vue index a498b11..dad7c50 100644 --- a/src/views/business/study/comp/jhbd/Fh.vue +++ b/src/views/business/study/comp/jhbd/Fh.vue @@ -189,7 +189,10 @@ export default { }, getJjcgjList(val) { this.$modal.loading() - studyFormPlan_jcgj(_.merge({}, this.queryParamsJcgj, val)).then(response => { + if(val){ + this.queryParamsJcgj=_.merge({}, this.queryParamsJcgj, val) + } + studyFormPlan_jcgj(this.queryParamsJcgj).then(response => { this.jcgjList = response.rows this.jcgjTotal = response.total this.$refs.jcgjList.init(this.jcgjList) diff --git a/src/views/business/study/comp/jhbd/Sy.vue b/src/views/business/study/comp/jhbd/Sy.vue index c42c1e6..0ace067 100644 --- a/src/views/business/study/comp/jhbd/Sy.vue +++ b/src/views/business/study/comp/jhbd/Sy.vue @@ -145,7 +145,10 @@ export default { methods: { getJjcgjList(val) { this.$modal.loading() - studyFormPlan_jcgj(_.merge({}, this.queryParamsJcgj, val)).then(response => { + if(val){ + this.queryParamsJcgj=_.merge({}, this.queryParamsJcgj, val) + } + studyFormPlan_jcgj(this.queryParamsJcgj).then(response => { this.jcgjList = response.rows this.jcgjTotal = response.total this.$refs.jcgjList.init(this.jcgjList) diff --git a/src/views/business/study/comp/jhbd/Xq.vue b/src/views/business/study/comp/jhbd/Xq.vue index 7bd5222..2a26334 100644 --- a/src/views/business/study/comp/jhbd/Xq.vue +++ b/src/views/business/study/comp/jhbd/Xq.vue @@ -345,7 +345,10 @@ export default { }, getJjcgjList(val) { this.$modal.loading() - studyFormPlan_jcgj(_.merge({}, this.queryParamsJcgj, val)).then(response => { + if(val){ + this.queryParamsJcgj=_.merge({}, this.queryParamsJcgj, val) + } + studyFormPlan_jcgj(this.queryParamsJcgj).then(response => { this.jcgjList = response.rows this.jcgjTotal = response.total this.$refs.jcgjList.init(this.jcgjList) diff --git a/src/views/business/study/comp/sqbd/Fh.vue b/src/views/business/study/comp/sqbd/Fh.vue index 4251a32..b00dd00 100644 --- a/src/views/business/study/comp/sqbd/Fh.vue +++ b/src/views/business/study/comp/sqbd/Fh.vue @@ -190,7 +190,10 @@ export default { }, getJjcgjList(val) { this.$modal.loading() - studyFormApply_jcgj(_.merge({}, this.queryParamsJcgj, val)).then(response => { + if(val){ + this.queryParamsJcgj=_.merge({}, this.queryParamsJcgj, val) + } + studyFormApply_jcgj(this.queryParamsJcgj).then(response => { this.jcgjList = response.rows this.jcgjTotal = response.total this.$refs.jcgjList.init(this.jcgjList) diff --git a/src/views/business/study/comp/sqbd/Sh.vue b/src/views/business/study/comp/sqbd/Sh.vue index 9654484..902a8dc 100644 --- a/src/views/business/study/comp/sqbd/Sh.vue +++ b/src/views/business/study/comp/sqbd/Sh.vue @@ -165,7 +165,10 @@ export default { getJjcgjList(val) { this.$modal.loading() - studyFormApply_jcgj(_.merge({}, this.queryParamsJcgj, val)).then(response => { + if(val){ + this.queryParamsJcgj=_.merge({}, this.queryParamsJcgj, val) + } + studyFormApply_jcgj(this.queryParamsJcgj).then(response => { this.jcgjList = response.rows this.jcgjTotal = response.total this.$refs.jcgjList.init(this.jcgjList) diff --git a/src/views/business/study/comp/sqbd/Sy.vue b/src/views/business/study/comp/sqbd/Sy.vue index 52e1575..7c8bc07 100644 --- a/src/views/business/study/comp/sqbd/Sy.vue +++ b/src/views/business/study/comp/sqbd/Sy.vue @@ -148,7 +148,10 @@ export default { methods: { getJjcgjList(val) { this.$modal.loading() - studyFormApply_jcgj(_.merge({}, this.queryParamsJcgj, val)).then(response => { + if(val){ + this.queryParamsJcgj=_.merge({}, this.queryParamsJcgj, val) + } + studyFormApply_jcgj(this.queryParamsJcgj).then(response => { this.jcgjList = response.rows this.jcgjTotal = response.total this.$refs.jcgjList.init(this.jcgjList) diff --git a/src/views/business/study/comp/sqbd/Xq.vue b/src/views/business/study/comp/sqbd/Xq.vue index abc3c25..c406bf5 100644 --- a/src/views/business/study/comp/sqbd/Xq.vue +++ b/src/views/business/study/comp/sqbd/Xq.vue @@ -346,7 +346,10 @@ export default { }, getJjcgjList(val) { this.$modal.loading() - studyFormApply_jcgj(_.merge({}, this.queryParamsJcgj, val)).then(response => { + if(val){ + this.queryParamsJcgj=_.merge({}, this.queryParamsJcgj, val) + } + studyFormApply_jcgj(this.queryParamsJcgj).then(response => { this.jcgjList = response.rows this.jcgjTotal = response.total this.$refs.jcgjList.init(this.jcgjList) diff --git a/src/views/business/study/comp/tbbd/Bj.vue b/src/views/business/study/comp/tbbd/Bj.vue index 568867c..f4fde38 100644 --- a/src/views/business/study/comp/tbbd/Bj.vue +++ b/src/views/business/study/comp/tbbd/Bj.vue @@ -46,7 +46,7 @@ + @change="selectTemplateChange" :needPre="1" :selectedDeptId="selectedDeptId" /> @@ -174,15 +174,18 @@
{{ $t('page.business.study.studyFormFill.yltj') }}
- {{ item.bh }} - - - +
+
@@ -479,7 +482,7 @@ export default { studyType: null, studyFormType: null, ccwzlist: [], - selectedDeptId:null, + selectedDeptId: null, } }, computed: { @@ -608,9 +611,9 @@ export default { this.templateData = deepClone(this.form) const obj = Object.assign({}, this.$route, { title: this.$t('page.business.study.studyFormFill.xzbd') }) this.$tab.updatePage(obj); - let name=this.studyType==1?'试验':(this.studyType==5?'非试验表单':'麻精药表单') - let nameEn=this.studyType==1?'Study':(this.studyType==5?'Non-study':'ontrolled Drug') - this.saveSimpleLog({jcmc:'填报表单新增',jcmcEn:'Record Create',name:name,nameEn:nameEn}) + let name = this.studyType == 1 ? '试验' : (this.studyType == 5 ? '非试验表单' : '麻精药表单') + let nameEn = this.studyType == 1 ? 'Study' : (this.studyType == 5 ? 'Non-study' : 'ontrolled Drug') + this.saveSimpleLog({ jcmc: '填报表单新增', jcmcEn: 'Record Create', name: name, nameEn: nameEn }) this.$modal.closeLoading() }) } diff --git a/src/views/business/study/comp/tbbd/Fh.vue b/src/views/business/study/comp/tbbd/Fh.vue index 4c81d1a..c03ef8c 100644 --- a/src/views/business/study/comp/tbbd/Fh.vue +++ b/src/views/business/study/comp/tbbd/Fh.vue @@ -191,7 +191,10 @@ export default { }, getJjcgjList(val) { this.$modal.loading() - studyFormFill_jcgj(_.merge({}, this.queryParamsJcgj, val)).then(response => { + if(val){ + this.queryParamsJcgj=_.merge({}, this.queryParamsJcgj, val) + } + studyFormFill_jcgj(this.queryParamsJcgj).then(response => { this.jcgjList = response.rows this.jcgjTotal = response.total this.$refs.jcgjList.init(this.jcgjList) diff --git a/src/views/business/study/comp/tbbd/Sy.vue b/src/views/business/study/comp/tbbd/Sy.vue index e0873c0..27e9a64 100644 --- a/src/views/business/study/comp/tbbd/Sy.vue +++ b/src/views/business/study/comp/tbbd/Sy.vue @@ -147,7 +147,10 @@ export default { methods: { getJjcgjList(val) { this.$modal.loading() - studyFormFill_jcgj(_.merge({}, this.queryParamsJcgj, val)).then(response => { + if(val){ + this.queryParamsJcgj=_.merge({}, this.queryParamsJcgj, val) + } + studyFormFill_jcgj(this.queryParamsJcgj).then(response => { this.jcgjList = response.rows this.jcgjTotal = response.total this.$refs.jcgjList.init(this.jcgjList) diff --git a/src/views/business/study/comp/tbbd/Xq.vue b/src/views/business/study/comp/tbbd/Xq.vue index 45fdbae..0516b80 100644 --- a/src/views/business/study/comp/tbbd/Xq.vue +++ b/src/views/business/study/comp/tbbd/Xq.vue @@ -352,7 +352,10 @@ export default { }, getJjcgjList(val) { this.$modal.loading() - studyFormFill_jcgj(_.merge({}, this.queryParamsJcgj, val)).then(response => { + if(val){ + this.queryParamsJcgj=_.merge({}, this.queryParamsJcgj, val) + } + studyFormFill_jcgj(this.queryParamsJcgj).then(response => { this.jcgjList = response.rows this.jcgjTotal = response.total this.$refs.jcgjList.init(this.jcgjList) diff --git a/src/views/business/study/comp/ytbd/Xq.vue b/src/views/business/study/comp/ytbd/Xq.vue index 778bd3b..b67449d 100644 --- a/src/views/business/study/comp/ytbd/Xq.vue +++ b/src/views/business/study/comp/ytbd/Xq.vue @@ -182,10 +182,16 @@ export default { }) }, getJjcgjList(val) { - studyFormPre_jcgj(_.merge({}, this.queryParamsJcgj, val)).then(response => { + this.$modal.loading() + if(val){ + this.queryParamsJcgj=_.merge({}, this.queryParamsJcgj, val) + } + studyFormPre_jcgj(this.queryParamsJcgj).then(response => { this.jcgjList = response.rows this.jcgjTotal = response.total this.$refs.jcgjList.init(this.jcgjList) + }).finally(() => { + this.$modal.closeLoading() }) }, getQmxxList() { From 1bef7b2fdf17d97305ab982bf5012ce8fb46c224 Mon Sep 17 00:00:00 2001 From: memorylkf <312904636@qq.com> Date: Tue, 10 Feb 2026 11:03:42 +0800 Subject: [PATCH 2/6] =?UTF-8?q?feat:=20[=E6=A8=A1=E6=9D=BF=E7=AE=A1?= =?UTF-8?q?=E7=90=86]=20lba003?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/lang/en/template/lba.js | 4 + src/lang/en/template/sp.js | 104 ++++---- src/lang/zh/template/lba.js | 4 + src/lang/zh/template/sp.js | 102 ++++---- .../business/comps/template/comps/lba/LBA003.vue | 148 ++++++++--- .../business/comps/template/comps/sp/SP007.vue | 8 +- .../business/comps/template/formConfig/sp/SP007.js | 277 ++++++++++----------- 7 files changed, 362 insertions(+), 285 deletions(-) diff --git a/src/lang/en/template/lba.js b/src/lang/en/template/lba.js index 8f2b7e7..8f775b7 100644 --- a/src/lang/en/template/lba.js +++ b/src/lang/en/template/lba.js @@ -5,5 +5,9 @@ export default { cztj: 'Work Condition', czsj: 'Work Time', jcbmc: 'Analysis Plate Name' + }, + lba003: { + jclc: 'Testing Process', + fj: 'Attachment' } } diff --git a/src/lang/en/template/sp.js b/src/lang/en/template/sp.js index f629f76..31a22ae 100644 --- a/src/lang/en/template/sp.js +++ b/src/lang/en/template/sp.js @@ -1,66 +1,64 @@ //色谱 export default { // 生物样品分析溶液配制表 - sp001:{ - - }, + sp001: {}, // 生物样品分析储备液配制表 - sp002:{ - - }, + sp002: {}, // 生物样品标曲工作液制备表 - sp003:{ + sp003: { rqcz: 'Container Material', - cctj:'Storage Condition', - qsyry:'Source Solution', - ysqsyrynd:'Expected Concentration of Source Solution', - sjqsyrynd:'Actual Concentration of Source Solution', - xsy:'Diluent', - qsbhstd:'STD Starting Number', - mbryyxzq:'Validity Period of Target Solution', - mbrysxr:'Expiration Date of Target Solution', - mbrybh:'Target Solution ID', - qsrybh:'Source Solution ID', - ysqsrytj:'Expected Volume of Source Solution', - sjqsrytj:'Actual Source Solution Volume', - ysxsytj:'Expected Volume of Diluent', - sjxsytj:'Actual Volume of Diluent', - ysmbrynd:'Expected Concentration of Target Solution', - sjmbrynd:'Actual Concentration of Target Solution', - ysmbrytj:'Expected Volume of Target Solution', - sjmbrytj:'Actual Volume of Target Solution', + cctj: 'Storage Condition', + qsyry: 'Source Solution', + ysqsyrynd: 'Expected Concentration of Source Solution', + sjqsyrynd: 'Actual Concentration of Source Solution', + xsy: 'Diluent', + qsbhstd: 'STD Starting Number', + mbryyxzq: 'Validity Period of Target Solution', + mbrysxr: 'Expiration Date of Target Solution', + mbrybh: 'Target Solution ID', + qsrybh: 'Source Solution ID', + ysqsrytj: 'Expected Volume of Source Solution', + sjqsrytj: 'Actual Source Solution Volume', + ysxsytj: 'Expected Volume of Diluent', + sjxsytj: 'Actual Volume of Diluent', + ysmbrynd: 'Expected Concentration of Target Solution', + sjmbrynd: 'Actual Concentration of Target Solution', + ysmbrytj: 'Expected Volume of Target Solution', + sjmbrytj: 'Actual Volume of Target Solution' }, - // 生物样品内标工作液制备表 - sp00456:{ - mbrybh:'Target Solution ID', - qsrybh:'Source Solution ID', - ysqsrytj:'Expected Volume of Source Solution', - sjqsrytj:'Actual Source Solution Volume', - ysxsytj:'Expected Volume of Diluent', - sjxsytj:'Actual Volume of Diluent', - ysmbrynd:'Expected Concentration of Target Solution', - sjmbrynd:'Actual Concentration of Target Solution', - ysmbrytj:'Expected Volume of Target Solution', - sjmbrytj:'Actual Volume of Target Solution', - mbryyxzq:'Validity Period of Target Solution', - mbrysxr:'Expiration Date of Target Solution', - ysysrybh:'预设原始溶液编号', - sjysrybh:'实际原始溶液编号', - ysysrynd:'预设原始溶液浓度', - sjysrynd:'实际原始溶液浓度', - ysysrytj:'预设原始溶液体积', - sjysrytj:'实际原始溶液体积', - yjxsytj:'Expected Volume of Diluent', - sjxsytj:'Actual Volume of Diluent', - qsyry:'Source Solution', - ysqsyrynd:'Expected Concentration of Source Solution', - sjqsyrynd:'Actual Concentration of Source Solution', - xsy:'Diluent', + // 生物样品内标工作液制备表 + sp00456: { + mbrybh: 'Target Solution ID', + qsrybh: 'Source Solution ID', + ysqsrytj: 'Expected Volume of Source Solution', + sjqsrytj: 'Actual Source Solution Volume', + ysxsytj: 'Expected Volume of Diluent', + sjxsytj: 'Actual Volume of Diluent', + ysmbrynd: 'Expected Concentration of Target Solution', + sjmbrynd: 'Actual Concentration of Target Solution', + ysmbrytj: 'Expected Volume of Target Solution', + sjmbrytj: 'Actual Volume of Target Solution', + mbryyxzq: 'Validity Period of Target Solution', + mbrysxr: 'Expiration Date of Target Solution', + ysysrybh: '预设原始溶液编号', + sjysrybh: '实际原始溶液编号', + ysysrynd: '预设原始溶液浓度', + sjysrynd: '实际原始溶液浓度', + ysysrytj: '预设原始溶液体积', + sjysrytj: '实际原始溶液体积', + yjxsytj: 'Expected Volume of Diluent', + sjxsytj: 'Actual Volume of Diluent', + qsyry: 'Source Solution', + ysqsyrynd: 'Expected Concentration of Source Solution', + sjqsyrynd: 'Actual Concentration of Source Solution', + xsy: 'Diluent', rqcz: 'Container Material', - cctj:'Storage Condition', + cctj: 'Storage Condition' }, - sp007:{ + sp007: { title: '生物样品分析样本处理表', + ybsm: 'Sample Description', + bt: 'Title' }, // 生物样品分析方法学样品制备表-准确度与精密度 sp008: { diff --git a/src/lang/zh/template/lba.js b/src/lang/zh/template/lba.js index 1e220c6..191723f 100644 --- a/src/lang/zh/template/lba.js +++ b/src/lang/zh/template/lba.js @@ -5,5 +5,9 @@ export default { cztj: '操作条件', czsj: '操作时间', jcbmc: '检测板名称' + }, + lba003: { + jclc: '检测流程', + fj: '附件' } } diff --git a/src/lang/zh/template/sp.js b/src/lang/zh/template/sp.js index e503ecc..0812b65 100644 --- a/src/lang/zh/template/sp.js +++ b/src/lang/zh/template/sp.js @@ -1,66 +1,64 @@ //色谱 export default { // 生物样品分析溶液配制表 - sp001:{ - - }, + sp001: {}, // 生物样品分析储备液配制表 - sp002:{ - - }, + sp002: {}, // 生物样品标曲工作液制备表 - sp003:{ + sp003: { rqcz: '容器材质', - cctj:'存储条件', - qsyry:'起始源溶液', - ysqsyrynd:'预设起始源溶液浓度', - sjqsyrynd:'实际起始源溶液浓度', - xsy:'稀释液', - qsbhstd:'起始编号STD', - mbryyxzq:'目标溶液有效周期', - mbrysxr:'目标溶液失效日', - mbrybh:'目标溶液编号', - qsrybh:'起始溶液编号', - ysqsrytj:'预设起始溶液体积', - sjqsrytj:'实际起始溶液体积', - ysxsytj:'预设稀释液体积', - sjxsytj:'实际稀释液体积', - ysmbrynd:'预设目标溶液浓度', - sjmbrynd:'实际目标溶液浓度', - ysmbrytj:'预设目标溶液体积', - sjmbrytj:'实际目标溶液体积', + cctj: '存储条件', + qsyry: '起始源溶液', + ysqsyrynd: '预设起始源溶液浓度', + sjqsyrynd: '实际起始源溶液浓度', + xsy: '稀释液', + qsbhstd: '起始编号STD', + mbryyxzq: '目标溶液有效周期', + mbrysxr: '目标溶液失效日', + mbrybh: '目标溶液编号', + qsrybh: '起始溶液编号', + ysqsrytj: '预设起始溶液体积', + sjqsrytj: '实际起始溶液体积', + ysxsytj: '预设稀释液体积', + sjxsytj: '实际稀释液体积', + ysmbrynd: '预设目标溶液浓度', + sjmbrynd: '实际目标溶液浓度', + ysmbrytj: '预设目标溶液体积', + sjmbrytj: '实际目标溶液体积' }, // 生物样品内标工作液制备表 - sp00456:{ - mbrybh:'目标溶液编号', - qsrybh:'起始溶液编号', - ysqsrytj:'预设起始溶液体积', - sjqsrytj:'实际起始溶液体积', - ysxsytj:'预设稀释液体积', - sjxsytj:'实际稀释液体积', - ysmbrynd:'预设目标溶液浓度', - sjmbrynd:'实际目标溶液浓度', - ysmbrytj:'预设目标溶液体积', - sjmbrytj:'实际目标溶液体积', - mbryyxzq:'目标溶液有效周期', - mbrysxr:'目标溶液失效日', - ysysrybh:'预设原始溶液编号', - sjysrybh:'实际原始溶液编号', - ysysrynd:'预设原始溶液浓度', - sjysrynd:'实际原始溶液浓度', - ysysrytj:'预设原始溶液体积', - sjysrytj:'实际原始溶液体积', - yjxsytj:'预计稀释液体积', - sjxsytj:'实际稀释液体积', - qsyry:'起始源溶液', - ysqsyrynd:'预设起始源溶液浓度', - sjqsyrynd:'实际起始源溶液浓度', - xsy:'稀释液', + sp00456: { + mbrybh: '目标溶液编号', + qsrybh: '起始溶液编号', + ysqsrytj: '预设起始溶液体积', + sjqsrytj: '实际起始溶液体积', + ysxsytj: '预设稀释液体积', + sjxsytj: '实际稀释液体积', + ysmbrynd: '预设目标溶液浓度', + sjmbrynd: '实际目标溶液浓度', + ysmbrytj: '预设目标溶液体积', + sjmbrytj: '实际目标溶液体积', + mbryyxzq: '目标溶液有效周期', + mbrysxr: '目标溶液失效日', + ysysrybh: '预设原始溶液编号', + sjysrybh: '实际原始溶液编号', + ysysrynd: '预设原始溶液浓度', + sjysrynd: '实际原始溶液浓度', + ysysrytj: '预设原始溶液体积', + sjysrytj: '实际原始溶液体积', + yjxsytj: '预计稀释液体积', + sjxsytj: '实际稀释液体积', + qsyry: '起始源溶液', + ysqsyrynd: '预设起始源溶液浓度', + sjqsyrynd: '实际起始源溶液浓度', + xsy: '稀释液', rqcz: '容器材质', - cctj:'存储条件', + cctj: '存储条件' }, - sp007:{ + sp007: { title: '生物样品分析样本处理表', + ybsm: '样本说明', + bt: '标题' }, // 生物样品分析方法学样品制备表-准确度与精密度 sp008: { diff --git a/src/views/business/comps/template/comps/lba/LBA003.vue b/src/views/business/comps/template/comps/lba/LBA003.vue index b75bddf..3ef94b7 100644 --- a/src/views/business/comps/template/comps/lba/LBA003.vue +++ b/src/views/business/comps/template/comps/lba/LBA003.vue @@ -2,8 +2,7 @@ @@ -36,16 +31,13 @@ import LineLabel from "@/components/Template/LineLabel"; import TableList from "@/components/Template/Table"; import Step from "@/components/Template/Step"; import templateMixin from "../../mixins/templateMixin"; -import CustomTable from '@/components/Template/CustomTable.vue'; -import { getLatestSn } from '@/api/template'; import { EventBus } from "@/utils/eventBus"; import { uniqeResource } from "@/utils/calUnitTools"; import { debounce } from 'lodash-es'; -import {getBaseInfoFormConfig, getRemarkFormConfig,getStorageFormConfig,getYbFormConfig,getfjFormConfig} from "../../formConfig/sp/SP007"; export default { name: "LBA003", - components: { BaseInfoFormPackage, LineLabel, TableList, Step, CustomTable }, + components: { BaseInfoFormPackage, LineLabel, TableList, Step }, mixins: [templateMixin], props: { fillType: { @@ -54,25 +46,109 @@ export default { }, }, computed: { - // 配置条件 - storageFormConfig() { - return getStorageFormConfig(this); - }, // 备注表单配置 remarkConig() { - return getRemarkFormConfig(); - }, - // 样本说明 - ybFormConfig() { - return getYbFormConfig(); + return [ + { + type: "cellItem", + config: { + remark: { + label: "", + type: "textarea", + fillType: "actFill", + span: 1, + placeholder: 'template.common.remarkPlaceholder', + maxlength: 1000, + rows: 5 + } + } + } + ] }, // 试验基本信息表单配置 baseInfoFormConfig() { - return getBaseInfoFormConfig(this); + return [ + { + type: "cardItem", + config: { + studyMc: { + label: 'template.common.testName', + type: "input", + disabled: true, + }, + studySn: { + label: 'template.common.testNumber', + type: "input", + disabled: true, + }, + methodCode: { + label: 'template.common.methodCode', + type: "input", + fillType: "preFill", + maxlength: 50 + }, + versionNum: { + label: 'template.common.versionNumber', + type: "inputNumber", + fillType: "actFill", + prepend: "V", + maxlength: 50 + }, + } + }, + { + type: "conditionItem", + label: 'template.lba.lba002.cztj', + config: { + pre: { + label: 'template.common.preFill', + type: "select", + multiple: true, + fillType: "preFill", + options: this.getDictOptions('business_pztj'), + otherCode: "preOther", + }, + act: { + label: 'template.common.actualFill', + type: "select", + fillType: "actFill", + otherCode: "actOther", + multiple: true, + compareTo: "pre", + options: this.getDictOptions('business_pztj') + } + } + }, + { + type: "cellItem", + label: 'template.lba.lba002.czsj', + config: { + startDate: { + label: 'template.common.startTime', + type: "input", + }, + endDate: { + label: 'template.common.endTime', + type: "input", + }, + } + } + ] }, // 附件表单配置 getFjFormConfig() { - return getfjFormConfig(this); + return [ + { + type: "attachment", + config: { + attTitle: { + label: 'template.lba.lba003.fj', + type: "attachment", + fillType: "preFill", + }, + } + } + ] }, }, @@ -84,27 +160,21 @@ export default { mounted() { }, methods: { - //打印标签 - printTag() { - const printConfig = this.getBasePrintConfig(); - const { storageCondition, targetCodeSn } = this.formData; - printConfig["存储条件"] = storageCondition; - printConfig["编号"] = targetCodeSn; - - EventBus.$emit('showTagPrintDialog', { printConfig }) - }, - //获取已填写的表单数据 getFilledFormData() { - return this.getFilledFormDataByRefs(["baseInfoRef", "storageConditionRef", "ybRef","stepRef", "remarkRef","fjRef"]) + return this.getFilledFormDataByRefs(["baseInfoRef","stepRef", "remarkRef","fjRef"]) }, //获取填写完成的表单数据 async getFormData() { - let content = await this.validFormFields(["baseInfoRef", "storageConditionRef", "ybRef","stepRef", "remarkRef","fjRef"]); + let content = await this.validFormFields(["baseInfoRef","stepRef", "remarkRef","fjRef"]); return content; }, getResource() { let content = this.getFilledFormData(); + //使用的试剂、仪器 + const stepResource = this.$refs.stepRef.getStepResource() + this.resourceTmp = stepResource.sjResource || [] + this.yqResourceTmp = stepResource.yqResource || [] return this.resourceTmp; }, //保存 diff --git a/src/views/business/comps/template/comps/sp/SP007.vue b/src/views/business/comps/template/comps/sp/SP007.vue index ded75d0..6f8d673 100644 --- a/src/views/business/comps/template/comps/sp/SP007.vue +++ b/src/views/business/comps/template/comps/sp/SP007.vue @@ -14,13 +14,13 @@ - - @@ -105,6 +105,10 @@ export default { }, getResource() { let content = this.getFilledFormData(); + //使用的试剂、仪器 + const stepResource = this.$refs.stepRef.getStepResource() + this.resourceTmp = stepResource.sjResource || [] + this.yqResourceTmp = stepResource.yqResource || [] return this.resourceTmp; }, //保存 diff --git a/src/views/business/comps/template/formConfig/sp/SP007.js b/src/views/business/comps/template/formConfig/sp/SP007.js index f2d649b..116f0ba 100644 --- a/src/views/business/comps/template/formConfig/sp/SP007.js +++ b/src/views/business/comps/template/formConfig/sp/SP007.js @@ -1,160 +1,159 @@ export const getBaseInfoFormConfig = ($this) => { - return [ - { - type: "cardItem", - config: { - studyMc: { - label: 'template.common.testName', - type: "input", - disabled: true, - }, - studySn: { - label: 'template.common.testNumber', - type: "input", - disabled: true, - }, - methodCode: { - label: 'template.common.methodCode', - type: "input", - fillType: "preFill", - maxlength: 50 - }, - versionNum: { - label: 'template.common.versionNumber', - type: "inputNumber", - fillType: "actFill", - prepend: "V", - maxlength: 50 - }, - clpbh: { - label: '处理批编号', - type: "input", - fillType: "actFill", - maxlength: 50 - }, - - } + return [ + { + type: 'cardItem', + config: { + studyMc: { + label: 'template.common.testName', + type: 'input', + disabled: true + }, + studySn: { + label: 'template.common.testNumber', + type: 'input', + disabled: true + }, + methodCode: { + label: 'template.common.methodCode', + type: 'input', + fillType: 'preFill', + maxlength: 50 }, - { - type: "conditionItem", - label: 'template.common.testConfigurationConditions', - config: { - pre: { - label: 'template.common.preFill', - type: "select", - multiple: true, - fillType: "preFill", - options: $this.getDictOptions('business_pztj'), - otherCode: "preOther", - }, - act: { - label: 'template.common.actualFill', - type: "select", - fillType: "actFill", - otherCode: "actOther", - multiple: true, - compareTo: "pre", - options: $this.getDictOptions('business_pztj') - } - } + versionNum: { + label: 'template.common.versionNumber', + type: 'inputNumber', + fillType: 'actFill', + prepend: 'V', + maxlength: 50 + }, + clpbh: { + label: 'template.sp.sp008.clpbh', + type: 'input', + fillType: 'actFill', + maxlength: 50 + } + } + }, + { + type: 'conditionItem', + label: 'template.common.testConfigurationConditions', + config: { + pre: { + label: 'template.common.preFill', + type: 'select', + multiple: true, + fillType: 'preFill', + options: $this.getDictOptions('business_pztj'), + otherCode: 'preOther' }, - { - type: "cellItem", - config: { - containerMaterial: { - label: "template.sp.sp003.rqcz", - type: "select", - options: $this.getDictOptions('business_rqcz'), - fillType: "actFill", - otherCode: "containerMaterialOther", - } - } + act: { + label: 'template.common.actualFill', + type: 'select', + fillType: 'actFill', + otherCode: 'actOther', + multiple: true, + compareTo: 'pre', + options: $this.getDictOptions('business_pztj') + } + } + }, + { + type: 'cellItem', + config: { + containerMaterial: { + label: 'template.sp.sp003.rqcz', + type: 'select', + options: $this.getDictOptions('business_rqcz'), + fillType: 'actFill', + otherCode: 'containerMaterialOther' + } + } + }, + { + type: 'cellItem', + label: 'template.sp.sp008.clsj', + config: { + startDate: { + label: 'template.common.startTime', + type: 'input' }, - { - type: "cellItem", - label: 'template.sp.sp008.clsj', - config: { - startDate: { - label: 'template.common.startTime', - type: "input", - }, - endDate: { - label: 'template.common.endTime', - type: "input", - }, - } + endDate: { + label: 'template.common.endTime', + type: 'input' } - ] + } + } + ] } //备注 export const getRemarkFormConfig = () => { - return [ - { - type: "cellItem", - config: { - remark: { - label: "", - type: "textarea", - fillType: "actFill", - span: 1, - placeholder: 'template.common.remarkPlaceholder', - maxlength: 1000, - rows: 5 - } - } + return [ + { + type: 'cellItem', + config: { + remark: { + label: '', + type: 'textarea', + fillType: 'actFill', + span: 1, + placeholder: 'template.common.remarkPlaceholder', + maxlength: 1000, + rows: 5 } - ] + } + } + ] } //样本说明 export const getYbFormConfig = () => { - return [ - { - type: "cellItem", - config: { - remark: { - label: "", - type: "textarea", - fillType: "actFill", - span: 1, - placeholder: '样本说明', - maxlength: 1000, - rows: 5 - } - } + return [ + { + type: 'cellItem', + config: { + remark: { + label: '', + type: 'textarea', + fillType: 'actFill', + span: 1, + placeholder: 'template.sp.sp007.ybsm', + maxlength: 1000, + rows: 5 } - ] + } + } + ] } //存储条件 export const getStorageFormConfig = ($this) => { - return [ - { - type: "conditionItem", - config: { - storageCondition: { - label: 'template.common.storageConditionLabel', - type: "select", - fillType: "preFill", - options: $this.getDictOptions("business_cctj"), - otherCode: "storageConditionOther", - }, - } - } - ] + return [ + { + type: 'conditionItem', + config: { + storageCondition: { + label: 'template.common.storageConditionLabel', + type: 'select', + fillType: 'preFill', + options: $this.getDictOptions('business_cctj'), + otherCode: 'storageConditionOther' + } + } + } + ] } //存储条件 export const getfjFormConfig = () => { - return [ - { - type: "attachment", - config: { - attTitle: { - label: '标题', - type: "attachment", - fillType: "preFill", - }, - } - } - ] -} \ No newline at end of file + return [ + { + type: 'attachment', + config: { + attTitle: { + label: 'template.sp.sp007.bt', + type: 'attachment', + fillType: 'preFill' + } + } + } + ] +} From 163ccb6b0f40f3e9382659beef6600312930b4f5 Mon Sep 17 00:00:00 2001 From: memorylkf <312904636@qq.com> Date: Tue, 10 Feb 2026 11:09:11 +0800 Subject: [PATCH 3/6] =?UTF-8?q?feat:=20[=E6=A8=A1=E6=9D=BF=E7=AE=A1?= =?UTF-8?q?=E7=90=86]=20=E9=99=84=E4=BB=B6=E5=AD=97=E5=A1=AB=E6=8A=A5?= =?UTF-8?q?=E6=89=8D=E8=83=BD=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/business/comps/template/comps/lba/LBA003.vue | 2 +- src/views/business/comps/template/formConfig/sp/SP007.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/views/business/comps/template/comps/lba/LBA003.vue b/src/views/business/comps/template/comps/lba/LBA003.vue index 3ef94b7..a52a4bd 100644 --- a/src/views/business/comps/template/comps/lba/LBA003.vue +++ b/src/views/business/comps/template/comps/lba/LBA003.vue @@ -144,7 +144,7 @@ export default { attTitle: { label: 'template.lba.lba003.fj', type: "attachment", - fillType: "preFill", + fillType: "actFill", }, } } diff --git a/src/views/business/comps/template/formConfig/sp/SP007.js b/src/views/business/comps/template/formConfig/sp/SP007.js index 116f0ba..15648b6 100644 --- a/src/views/business/comps/template/formConfig/sp/SP007.js +++ b/src/views/business/comps/template/formConfig/sp/SP007.js @@ -151,7 +151,7 @@ export const getfjFormConfig = () => { attTitle: { label: 'template.sp.sp007.bt', type: 'attachment', - fillType: 'preFill' + fillType: 'actFill' } } } From 8b87724fc66762b27f8e7b72e89040479bc08f38 Mon Sep 17 00:00:00 2001 From: memorylkf <312904636@qq.com> Date: Tue, 10 Feb 2026 11:26:03 +0800 Subject: [PATCH 4/6] =?UTF-8?q?feat:=20[=E6=A8=A1=E6=9D=BF=E7=AE=A1?= =?UTF-8?q?=E7=90=86]=20ADA003?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/business/comps/template/TemplateTable.vue | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/views/business/comps/template/TemplateTable.vue b/src/views/business/comps/template/TemplateTable.vue index 5d56f50..a700d38 100644 --- a/src/views/business/comps/template/TemplateTable.vue +++ b/src/views/business/comps/template/TemplateTable.vue @@ -59,6 +59,7 @@ import LBA003 from "./comps/lba/LBA003.vue"; //ADA // ADA001-使用SP001 // ADA002-使用LBA002 +// ADA003-使用LBA003 //样品 // YP001-使用SP001 @@ -136,6 +137,7 @@ export default { //ADA 'ADA001': 'SP001', 'ADA002': 'LBA002', + 'ADA003': 'LBA003', //样品 'YP001': 'SP001', } From d6e1a53ed32f209176a64cea50cc9327b8d82f18 Mon Sep 17 00:00:00 2001 From: HanLong <404402223@qq.com> Date: Tue, 10 Feb 2026 13:27:25 +0800 Subject: [PATCH 5/6] =?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=E5=85=A5=E5=BA=93?= =?UTF-8?q?=E8=AE=B0=E5=BD=95]=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../resource/gsp/comps/rkjl/RkjlImport.vue | 84 ++++++++++++++++------ 1 file changed, 64 insertions(+), 20 deletions(-) diff --git a/src/views/business/resource/gsp/comps/rkjl/RkjlImport.vue b/src/views/business/resource/gsp/comps/rkjl/RkjlImport.vue index 598eaa8..e0e32b7 100644 --- a/src/views/business/resource/gsp/comps/rkjl/RkjlImport.vue +++ b/src/views/business/resource/gsp/comps/rkjl/RkjlImport.vue @@ -1,19 +1,58 @@ @@ -316,7 +316,7 @@ export default { ' ' + value.bh + '' + ' ' + - (value.mdMcs&&value.mdMcs!=''&&value.mdOther&&value.mdOther!=''? (value.mdMcs +","+value.mdOther) :(value.mdMcs +value.mdOther))+ + (value.mdMcs && value.mdMcs != '' && value.mdOther && value.mdOther != '' ? (value.mdMcs + "," + value.mdOther) : (value.mdMcs + value.mdOther)) + '' + ' ' + value.ffzytj + @@ -359,6 +359,7 @@ export default { '' + '' }) + _datastr = _datastr.replaceAll('null', '') tabelStr = tabelStr + _datastr + ' ' // Worksheet名 var worksheet = that.$t('page.business.resource.gsp.ffhsjl') @@ -380,7 +381,7 @@ export default { a.href = uri + window.btoa(unescape(encodeURIComponent(exportTemplate))) a.click() that.$modal.closeLoading() - this.saveSimpleLog({name:'',nameEn:'',jcmc:'供试品发放回收导出',jcmcEn:'Test Item In-and-Out Record Export'}) + this.saveSimpleLog({ name: '', nameEn: '', jcmc: '供试品发放回收导出', jcmcEn: 'Test Item In-and-Out Record Export' }) }).finally(() => { that.$modal.closeLoading() }) diff --git a/src/views/business/resource/gsp/comps/gspList.vue b/src/views/business/resource/gsp/comps/gspList.vue index 1386551..530ff38 100644 --- a/src/views/business/resource/gsp/comps/gspList.vue +++ b/src/views/business/resource/gsp/comps/gspList.vue @@ -385,6 +385,7 @@ export default { '' + '' }) + _datastr = _datastr.replaceAll('null', '') tabelStr = tabelStr + _datastr + '
' // Worksheet名 var worksheet = that.$t('page.business.resource.gsp.gspgl') diff --git a/src/views/business/resource/gsp/comps/rkjlList.vue b/src/views/business/resource/gsp/comps/rkjlList.vue index 23dc093..6044664 100644 --- a/src/views/business/resource/gsp/comps/rkjlList.vue +++ b/src/views/business/resource/gsp/comps/rkjlList.vue @@ -177,7 +177,7 @@ - + @@ -325,6 +325,7 @@ export default { '' + '' }) + _datastr = _datastr.replaceAll('null', '') tabelStr = tabelStr + _datastr + '
' // Worksheet名 var worksheet = that.$t('page.business.resource.gsp.gsprkjl') diff --git a/src/views/business/study/comp/syjList.vue b/src/views/business/study/comp/syjList.vue index 977e514..25f8589 100644 --- a/src/views/business/study/comp/syjList.vue +++ b/src/views/business/study/comp/syjList.vue @@ -100,7 +100,7 @@ - + @@ -114,6 +114,7 @@ import Jl from "./syj/Jl"; import Detail from "./syj/Detail"; import { mapGetters } from 'vuex' import moment from "moment"; +import { deepClone } from "@/utils/index"; export default { name: 'SyjList', props: { @@ -168,7 +169,105 @@ export default { }, created() { }, methods: { - + //导出 + handleExport() { + let that = this + that.$modal.loading() + let params = deepClone(this.searchForm) + params.pageSize = 999999 + studyRoom_list(params).then(response => { + var tabelStr = + '
' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + ' ' + let _datastr = '' + _.forEach(response.rows, function (value) { + let zt = '' + switch (value.zt) { + case 1: + zt = that.$t('page.business.study.studyRoom.syz') + break + case 3: + zt = that.$t('page.business.study.studyRoom.yjs') + break + } + _datastr = + _datastr + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + '' + + '' + }) + _datastr = _datastr.replaceAll('null', ' ') + tabelStr = tabelStr + _datastr + '
' + this.$t('page.business.study.studyRoom.syjh') + '' + this.$t('page.business.study.studyRoom.syqy') + '' + this.$t('page.business.study.studyRoom.dwzs') + '' + this.$t('page.business.study.studyRoom.longju') + '' + this.$t('page.business.study.studyRoom.kssyyl') + '' + this.$t('page.business.study.studyRoom.qyr') + '' + this.$t('page.business.study.studyRoom.kssj') + '' + this.$t('page.business.study.studyRoom.jssyyl') + '' + this.$t('page.business.study.studyRoom.jsr') + '' + this.$t('page.business.study.studyRoom.jssj') + '' + this.$t('page.business.study.studyRoom.zt') + '
' + + value.syjh + + '' + + ' ' + value.syqy + + '' + + value.dwzs + + '' + + value.lj + + '' + + value.kssyyl + + '' + + value.qyrMc + + '' + + value.createTime + + '' + + value.jssyyl + + '' + + value.jsrMc + + '' + + value.jssj + + '' + + zt + + '
' + console.log(tabelStr) + // Worksheet名 + var worksheet = that.$t('page.business.study.studyEnter.syjsygl') + var uri = 'data:application/vnd.ms-excel;base64,' + // 真正要导出(下载)的HTML模板 + var exportTemplate = ` + + + + ${tabelStr} + + ` + var a = document.createElement('a') + a.download = worksheet + '.xls' + a.href = uri + window.btoa(unescape(encodeURIComponent(exportTemplate))) + a.click() + that.$modal.closeLoading() + this.saveSimpleLog({ name: '', nameEn: '', jcmc: '饲养间使用管理导出', jcmcEn: 'Animal Room Usage Export' }) + }).finally(() => { + that.$modal.closeLoading() + }) + }, search() { this.searchForm.pageNum = 1 this.getList() @@ -215,9 +314,6 @@ export default { // this.$emit('showDetail', this.showDetail) // this.$refs.Xq.show(row) }, - handleExport() { - - }, xqClose() { this.showDetail = false this.$emit('showDetail', this.showDetail)