|
|
|
@ -1,19 +1,20 @@ |
|
|
|
<template> |
|
|
|
<div class="template-table"> |
|
|
|
<component ref="templateComponent" :sn = "sn" :is="getTemplateComponent()" :templateData="templateData" :fillType="fillType"> |
|
|
|
<component ref="templateComponent" :sn="sn" :is="getTemplateComponent()" :templateData="templateData" |
|
|
|
:fillType="fillType"> |
|
|
|
</component> |
|
|
|
<SubPackageDialog ref = "subPackageDialogRef"></SubPackageDialog> |
|
|
|
<TagPrintDialog ref = "tagPrintDialogRef"></TagPrintDialog> |
|
|
|
<SelectReagentDialog ref="selectReagentDialogRef"/> |
|
|
|
<SelectInstrumentDialog ref="selectInstrumentDialogRef"/> |
|
|
|
<SelectMixReagentDialog ref="selectMixReagentDialogRef"/> |
|
|
|
<SubPackageDialog ref="subPackageDialogRef"></SubPackageDialog> |
|
|
|
<TagPrintDialog ref="tagPrintDialogRef"></TagPrintDialog> |
|
|
|
<SelectReagentDialog ref="selectReagentDialogRef" /> |
|
|
|
<SelectInstrumentDialog ref="selectInstrumentDialogRef" /> |
|
|
|
<SelectMixReagentDialog ref="selectMixReagentDialogRef" /> |
|
|
|
<EditSign ref="editSignRef" @cancel="handleEditSignCancel" @callback="handleEditSignCallback" /> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
|
|
|
|
<script> |
|
|
|
import { EventBus } from "@/utils/eventBus"; |
|
|
|
|
|
|
|
import { debounce } from 'lodash-es' |
|
|
|
import SubPackageDialog from "./dialog/SubPackageDialog.vue";//分装弹窗 |
|
|
|
import TagPrintDialog from "./dialog/PrintTagDialog.vue";//标签打印弹窗 |
|
|
|
import SelectReagentDialog from "./dialog/SelectReagentDialog.vue";//选择试剂弹窗 |
|
|
|
@ -49,11 +50,11 @@ export default { |
|
|
|
name: "TemplateTable", |
|
|
|
components: { |
|
|
|
Demo, |
|
|
|
SubPackageDialog,TagPrintDialog,SelectReagentDialog,SelectInstrumentDialog,SelectMixReagentDialog,EditSign, |
|
|
|
SubPackageDialog, TagPrintDialog, SelectReagentDialog, SelectInstrumentDialog, SelectMixReagentDialog, EditSign, |
|
|
|
//供试品 |
|
|
|
MJYLQSQD, SYWZPZJHB, |
|
|
|
//色谱 |
|
|
|
SP001, SP002, SP003, SP00456,ZQDYJMD,QXWDX,CBYHGZYWDX,Recovery,RXJZXY,JZXY,XZXHTYX,ZDYBS,XSKKX,CBYDB,SWYPFXFFXZKPZB |
|
|
|
SP001, SP002, SP003, SP00456, ZQDYJMD, QXWDX, CBYHGZYWDX, Recovery, RXJZXY, JZXY, XZXHTYX, ZDYBS, XSKKX, CBYDB, SWYPFXFFXZKPZB |
|
|
|
}, |
|
|
|
props: { |
|
|
|
sn: { |
|
|
|
@ -81,10 +82,10 @@ export default { |
|
|
|
//色谱 |
|
|
|
'SP001': 'SP001', |
|
|
|
'SP002': 'SP002', |
|
|
|
'SP003': 'SWYPBQGZYZBB', |
|
|
|
'SP004': 'SWYPNBGZYZBB', |
|
|
|
'SP005': 'SWYPNBGZYZBB', |
|
|
|
'SP006': 'SWYPNBGZYZBB', |
|
|
|
'SP003': 'SP003', |
|
|
|
'SP004': 'SP00456', |
|
|
|
'SP005': 'SP00456', |
|
|
|
'SP006': 'SP00456', |
|
|
|
'SP008': 'ZQDYJMD', |
|
|
|
'SP009': 'Recovery', |
|
|
|
'SP010': 'QXWDX', |
|
|
|
@ -134,7 +135,7 @@ export default { |
|
|
|
//分发给子组件的fillType |
|
|
|
templateData: this.templateData, |
|
|
|
templateFillType: this.fillType, |
|
|
|
getZdxgjl: () => this.zdxgjl , |
|
|
|
getZdxgjl: () => this.zdxgjl, |
|
|
|
getFhyjjl: () => this.fhyjjl, |
|
|
|
getFieldCheckObj: () => this.fieldCheckObj, |
|
|
|
//更新提交记录 |
|
|
|
@ -163,34 +164,37 @@ export default { |
|
|
|
fhyjjl: [], |
|
|
|
fieldCheckObj: {}, |
|
|
|
currentEditSignUuid: null, // 当前请求EditSign的HandleFormItem的uuid |
|
|
|
latestParams: {},//用于存储最新的params |
|
|
|
hasCustomTable: false,//是否有自定义表格 |
|
|
|
}; |
|
|
|
}, |
|
|
|
created() { |
|
|
|
this.debouncedEmit = debounce(this.emitToParent, 100) |
|
|
|
}, |
|
|
|
mounted() { |
|
|
|
EventBus.$on('onModifyRecord', (data) => { |
|
|
|
this.$emit(this.emitName, data) |
|
|
|
}); |
|
|
|
EventBus.$on('onModifyRecord', this.handleModyfyRecord); |
|
|
|
//分装弹窗 |
|
|
|
EventBus.$on("showSubPackageDialog",(data)=>{ |
|
|
|
EventBus.$on("showSubPackageDialog", (data) => { |
|
|
|
this.$refs.subPackageDialogRef.show(data) |
|
|
|
}) |
|
|
|
//标签打印弹窗 |
|
|
|
EventBus.$on("showTagPrintDialog",(data)=>{ |
|
|
|
EventBus.$on("showTagPrintDialog", (data) => { |
|
|
|
this.$refs.tagPrintDialogRef.show(data) |
|
|
|
}) |
|
|
|
//选择仪器弹窗 |
|
|
|
EventBus.$on("showSelectInstrumentDialog",(data)=>{ |
|
|
|
this.$refs.selectInstrumentDialogRef.show(data.studyFormId,data) |
|
|
|
EventBus.$on("showSelectInstrumentDialog", (data) => { |
|
|
|
this.$refs.selectInstrumentDialogRef.show(data.studyFormId, data) |
|
|
|
}) |
|
|
|
//选择试剂弹窗 |
|
|
|
EventBus.$on("showSelectReagentDialog",(data)=>{ |
|
|
|
this.$refs.selectReagentDialogRef.show(data.studyFormId,data) |
|
|
|
EventBus.$on("showSelectReagentDialog", (data) => { |
|
|
|
this.$refs.selectReagentDialogRef.show(data.studyFormId, data) |
|
|
|
}) |
|
|
|
//选择试剂/供试品/给药制剂弹窗 |
|
|
|
EventBus.$on("showSelectMixReagentDialog",(data)=>{ |
|
|
|
this.$refs.selectMixReagentDialogRef.show(data.studyFormId,data) |
|
|
|
EventBus.$on("showSelectMixReagentDialog", (data) => { |
|
|
|
this.$refs.selectMixReagentDialogRef.show(data.studyFormId, data) |
|
|
|
}) |
|
|
|
//显示电子签名弹窗 |
|
|
|
EventBus.$on("showEditSignDialog",(data)=>{ |
|
|
|
EventBus.$on("showEditSignDialog", (data) => { |
|
|
|
this.currentEditSignUuid = data.uuid; |
|
|
|
this.$refs.editSignRef.show(); |
|
|
|
}) |
|
|
|
@ -204,8 +208,29 @@ export default { |
|
|
|
EventBus.$off("showSelectInstrumentDialog"); |
|
|
|
EventBus.$off("showSelectMixReagentDialog"); |
|
|
|
EventBus.$off("showEditSignDialog"); |
|
|
|
this.debouncedEmit.cancel() |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
handleModyfyRecord(data) { |
|
|
|
const { source } = data; |
|
|
|
if (source === "customTable") { |
|
|
|
this.latestParams = data; |
|
|
|
// delete this.latestParams.source |
|
|
|
this.hasCustomTable = true |
|
|
|
// 取消之前的等待 |
|
|
|
this.debouncedEmit.cancel() |
|
|
|
this.emitToParent() |
|
|
|
}else if(!source && !this.hasCustomTable){ |
|
|
|
this.latestParams = data |
|
|
|
this.debouncedEmit() |
|
|
|
} |
|
|
|
}, |
|
|
|
emitToParent() { |
|
|
|
if (this.latestParams) { |
|
|
|
console.log(this.latestParams,"this.latestParams") |
|
|
|
this.$emit(this.emitName, this.latestParams) |
|
|
|
} |
|
|
|
}, |
|
|
|
// 处理电子签名取消事件 |
|
|
|
handleEditSignCancel() { |
|
|
|
if (this.currentEditSignUuid) { |
|
|
|
@ -222,11 +247,11 @@ export default { |
|
|
|
} |
|
|
|
}, |
|
|
|
async getFormData() { |
|
|
|
if(this.fillType === "actFill"){ |
|
|
|
if (this.fillType === "actFill") { |
|
|
|
//检查是否有未填写的复核意见 |
|
|
|
const flag = this.fhyjjl.every((item)=>!!item.content && !!item.reply) |
|
|
|
console.log(this.fhyjjl,flag,"flag") |
|
|
|
if(!flag){ |
|
|
|
const flag = this.fhyjjl.every((item) => !!item.content && !!item.reply) |
|
|
|
console.log(this.fhyjjl, flag, "flag") |
|
|
|
if (!flag) { |
|
|
|
this.$message.error("疑问项还未回复,请回复后再提交"); |
|
|
|
return; |
|
|
|
} |
|
|
|
|