From db1b26607c8a86ff4a1de439d87ef6ea1d51cefb Mon Sep 17 00:00:00 2001 From: memorylkf <312904636@qq.com> Date: Wed, 21 Jan 2026 11:09:22 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20[=E6=A8=A1=E6=9D=BF=E7=AE=A1=E7=90=86]?= =?UTF-8?q?=20=E4=BF=AE=E6=94=B9=E7=BC=96=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../template/comps/sp/SWYPFXFFXYPZBB/CBYDB.vue | 51 +++--- .../comps/sp/SWYPFXFFXYPZBB/CBYHGZYWDX.vue | 51 +++--- .../template/comps/sp/SWYPFXFFXYPZBB/JZXY.vue | 51 +++--- .../template/comps/sp/SWYPFXFFXYPZBB/QXWDX.vue | 51 +++--- .../template/comps/sp/SWYPFXFFXYPZBB/RXJZXY.vue | 51 +++--- .../template/comps/sp/SWYPFXFFXYPZBB/XSKKX.vue | 52 +++--- .../template/comps/sp/SWYPFXFFXYPZBB/XZXHTYX.vue | 51 +++--- .../template/comps/sp/SWYPFXFFXYPZBB/ZDYBS.vue | 51 +++--- .../template/comps/sp/SWYPFXFFXYPZBB/ZQDYJMD.vue | 176 ++++++++++++++------- 9 files changed, 377 insertions(+), 208 deletions(-) diff --git a/src/views/business/comps/template/comps/sp/SWYPFXFFXYPZBB/CBYDB.vue b/src/views/business/comps/template/comps/sp/SWYPFXFFXYPZBB/CBYDB.vue index cb54f15..d83a0c6 100644 --- a/src/views/business/comps/template/comps/sp/SWYPFXFFXYPZBB/CBYDB.vue +++ b/src/views/business/comps/template/comps/sp/SWYPFXFFXYPZBB/CBYDB.vue @@ -65,6 +65,7 @@ import { getLatestSn } from '@/api/template'; import {getSWYPFXFFXYPZBBTableConfig} from "../../../formConfig/SWYPFXFFXYPZBBTableConfig.js"; import TableOpertaion from "@/components/Template/operation/TableOpertaion.vue" import SelectReagentDialog from '../../../dialog/SelectReagentDialog.vue'; +import { EventBus } from "@/utils/eventBus"; export default { name: "CBYDB", @@ -312,6 +313,16 @@ export default { }) } } + + const params = { + type: "fieldChanged", + newRecord: null, + resourceList: null, + } + setTimeout(() => { + debugger + EventBus.$emit('onModifyRecord', params,) + }, 10); } } }, @@ -325,25 +336,27 @@ export default { let tmpResource = [] let tableList = content.stepTableFormData - for(let i=0;i0){ + for(let i=0;i { + debugger + EventBus.$emit('onModifyRecord', params,) + }, 10); } } }, @@ -325,25 +336,27 @@ export default { let tmpResource = [] let tableList = content.stepTableFormData - for(let i=0;i0){ + for(let i=0;i { + debugger + EventBus.$emit('onModifyRecord', params,) + }, 10); } } }, @@ -313,25 +324,27 @@ export default { let tmpResource = [] let tableList = content.stepTableFormData - for(let i=0;i0){ + for(let i=0;i { + debugger + EventBus.$emit('onModifyRecord', params,) + }, 10); } } }, @@ -325,25 +336,27 @@ export default { let tmpResource = [] let tableList = content.stepTableFormData - for(let i=0;i0){ + for(let i=0;i { + debugger + EventBus.$emit('onModifyRecord', params,) + }, 10); } } }, @@ -325,25 +336,27 @@ export default { let tmpResource = [] let tableList = content.stepTableFormData - for(let i=0;i0){ + for(let i=0;i { + debugger + EventBus.$emit('onModifyRecord', params,) + }, 10); } } }, @@ -325,27 +336,30 @@ export default { let tmpResource = [] let tableList = content.stepTableFormData - for(let i=0;i0){ + for(let i=0;i { + debugger + EventBus.$emit('onModifyRecord', params,) + }, 10); } } }, @@ -325,25 +336,27 @@ export default { let tmpResource = [] let tableList = content.stepTableFormData - for(let i=0;i0){ + for(let i=0;i { + debugger + EventBus.$emit('onModifyRecord', params,) + }, 10); } } }, @@ -325,25 +336,27 @@ export default { let tmpResource = [] let tableList = content.stepTableFormData - for(let i=0;i0){ + for(let i=0;i
-
{{ formData.templateMc || - '生物样品分析方法学样品制备表-准确度与精密度' }}
+
{{ formData.bdmc || + $t('template.sp.sp008.title') }}
- + - @@ -59,10 +64,12 @@ import CustomTable from '@/components/Template/CustomTable.vue'; import { getLatestSn } from '@/api/template'; import {getSWYPFXFFXYPZBBTableConfig} from "../../../formConfig/SWYPFXFFXYPZBBTableConfig.js"; import TableOpertaion from "@/components/Template/operation/TableOpertaion.vue" +import SelectReagentDialog from '../../../dialog/SelectReagentDialog.vue'; +import { EventBus } from "@/utils/eventBus"; export default { - name: "SWYPFXRYPZB", - components: { BaseInfoFormPcakge, LineLabel, TableList, Step, CustomTable,TableOpertaion }, + name: "ZQDYJMD", + components: { BaseInfoFormPcakge, LineLabel, TableList, Step, CustomTable,TableOpertaion,SelectReagentDialog }, mixins: [templateMixin], props: { fillType: { @@ -106,7 +113,7 @@ export default { } ] }, - + baseInfoFormConfig() { return [ { @@ -136,7 +143,7 @@ export default { }, //处理批编号 clpbg: { - label: 'template.common.clpbh', + label: 'template.sp.sp008.clpbh', type: "input", fillType: "actFill", maxlength: 50 @@ -168,18 +175,20 @@ export default { }, { type: "cellItem", - label: 'template.common.rqcz', + label: 'template.sp.sp008.rqcz', config: { rqcz: { - type: "input", + type: "select", + multiple: true, fillType: "actFill", - maxlength: 50 + options: this.getDictOptions('business_rqcz'), + otherCode: "rqczOther", }, } }, { type: "cellItem", - label: 'template.common.clsj', + label: 'template.sp.sp008.clsj', config: { startDate: { label: 'template.common.startTime', @@ -199,32 +208,37 @@ export default { type: "step", config: { jz: { - label: 'template.common.xzjz', + label: 'template.sp.sp008.xzjz', type: "input", fillType: "preFill", subType: "clickable", - subKey: "subSolution", + subKey: "subJz", subFillType: "actFill", maxlength: 20, + labelWidth: 80, }, } } ] }, tableStepColumns() { - return getSWYPFXFFXYPZBBTableConfig(this); + return getSWYPFXFFXYPZBBTableConfig(this,'business_sp_jmdyzqdyp'); }, }, data() { return { + reagentType: "",//本表单特殊字段:选择试剂的类型1选择基质,2表格里面选择试剂 + + currentSubKey: "",//当前点击的子项key + rowIndex:0,//当前表格点击的行数 + resource: [], - resourceData1: [], sysjColumns: [ { label: 'template.common.reagentName', prop: "mc" },//名称 { label: 'template.common.reagentCode', prop: "bh" },//编号 { label: 'template.common.reagentNo', prop: "ph" },//批号 试剂,供试品才有 { label: 'template.common.concentration', prop: "nd" },//浓度 - { label: 'template.common.source', prop: "source" },//来源 + { label: 'template.common.source', prop: "source" },//来源 { label: 'template.common.reagentExpireDate', prop: "sxrq" },//失效日期 ], yqsColumns: [ @@ -243,30 +257,73 @@ export default { formData: { immediate: true, handler(v) { - if(!v.targetCodeSn && this.fillType === "actFill"){ - this.getCode(); + if(this.fillType === "actFill"){ + this.getCode(v); } } } }, methods: { + //点击基质选择 + handleJzClickable(obj){ + this.reagentType = 1//本表单特殊字段 + this.currentSubKey = obj.subKey; + this.$refs.selectReagentDialogRef.show() + }, + //选择试剂提交事件 + onSelectReagentSubmit(code,row){ + if(this.reagentType===1){ + this.$refs.stepFormPackageRef.updateFormData(this.currentSubKey, code); + }else{ + this.$refs.tableRef.updateDataSourceByRowIndex(this.rowIndex,{ + [this.currentSubKey]: code, + }) + } + this.$refs.selectReagentDialogRef.onCancel() + }, //点击表格单元格 handleClickable(col, rowIndex) { + //本表单特殊字段 + this.reagentType = 2 + + this.rowIndex = rowIndex + this.currentSubKey = col.prop; console.log("clickable",rowIndex, col) if(col.prop === "sjry"){ - //调用对应弹窗的方法; + //调用对应弹窗的方法-多个点击的需要判断是哪个字段点击 + this.$refs.selectReagentDialogRef.show() } - this.$refs.tableRef.updateDataSourceByRowIndex(rowIndex,{ - sjry: "我是填充进来的数据", - }) }, //获取目标溶液编号 - async getCode(){ - const result = await getLatestSn({ - count: 1, - }) - if(result.code == 200){ - this.$refs.stepFormPackageRef.updateFormData("targetCodeSn",result.data) + async getCode(v){ + const {stepTableFormData = []} = v; + if(stepTableFormData && stepTableFormData.length>0 && !stepTableFormData[0].bhCode){ + const result = await getLatestSn({ + count: stepTableFormData.length, + }) + if(result.code == 200){ + if(stepTableFormData.length===1){ + this.$refs.tableRef.updateDataSourceByRowIndex(0,{ + bhCode: result.data, + }) + }else{ + for(let i=0;i { + debugger + EventBus.$emit('onModifyRecord', params,) + }, 10); + } } }, //获取已填写的表单数据 @@ -277,27 +334,33 @@ export default { let content = await this.validFormFields(["baseInfoRef", "storageConditionRef", "stepFormPackageRef","tableRef" ,"stepRef", "remarkRef"]); //生成resource let tmpResource = [] - debugger - //配置的试剂 - tmpResource.push({ - mc: content.targetName, - bh: content.targetCode+content.targetCodeSn, - ph: '', - nd: content.targetActConcentration + content.targetActConcentrationUnit, - source: 'ELN配制', - sxrq: content.expireDate, - ndz: content.targetActConcentration, - nddw: content.targetActConcentrationUnit, - kc: content.targetActVolume, - kcdw: content.targetActVolumeUnit, - syl: null, - syldw:content.targetActVolumeUnit, - yxzq:content.effectivePeriod, - yxzqdw:content.effectivePeriodUnit, - }) + + let tableList = content.stepTableFormData + if(tableList && tableList.length>0){ + for(let i=0;i