From c04bd57e9307711ee9633bc56c923ce4911cfe9b Mon Sep 17 00:00:00 2001 From: pengjun <158915633@qq.com> Date: Fri, 24 May 2024 01:42:50 +0800 Subject: [PATCH] report --- src/components/report/BtnReport.vue | 110 +++++++++++++----- .../report/PatientRegisterListNobtn.vue | 2 +- 2 files changed, 85 insertions(+), 27 deletions(-) diff --git a/src/components/report/BtnReport.vue b/src/components/report/BtnReport.vue index c5f34af..3d1fa5b 100644 --- a/src/components/report/BtnReport.vue +++ b/src/components/report/BtnReport.vue @@ -1,25 +1,34 @@ @@ -28,11 +37,12 @@ import moment from "moment"; import { mapState } from "vuex"; import { getapi, postapi, putapi, deletapi } from "@/api/api"; import { arrayExistObj, deepCopy, parseID } from "../../utlis/proFunc"; - +import ElProgressOCX from "../report/ElProgressOCX.vue"; //import PatientRegisterList from "../doctorCheck/PatientRegisterList.vue"; export default { components: { //PatientRegisterList, + ElProgressOCX }, data() { return { @@ -50,7 +60,7 @@ export default { }, computed: { - ...mapState(["dict", "dataTransOpts", "patientRegister", "doctorCheck", "sumDoctorCheck", "report"]), + ...mapState(["dict", "elProgress","dataTransOpts", "patientRegister", "doctorCheck", "sumDoctorCheck", "report"]), }, methods: { @@ -73,7 +83,7 @@ export default { default: break; } - + postapi(url, { patientRegisterId: this.dataTransOpts.tableS.patient_register.id }).then(res => { if (res.code > -1) { this.$message.success({ showClose: true, message: '导入成功!' }) @@ -94,15 +104,63 @@ export default { //上传报告 async btnUpReport() { - if(this.dataTransOpts.tableM.patient_register && this.dataTransOpts.tableM.patient_register.length > 0){ + if (!this.$peisAPI) { + this.$message.info({ showClose: true, message: "此功能,需要在壳客户端才可运行!" }) + return + } + + if (this.dataTransOpts.tableM.patient_register && this.dataTransOpts.tableM.patient_register.length > 0) { + this.elProgress.display = true; - this.$message.warning({ showClose: true, message: "暂未开放……" }) + this.elProgress.percentage = 0; + let ReportCode = '0005'; + let token = window.sessionStorage.getItem('token'); + let user = window.sessionStorage.getItem('user'); + let toOutShell = { + ReportCode, token, + isBuildImage: 'N', + IsUploadPdf: 'N', + preViewCanPrint: 'Y', + BusinessCode: '', + Parameters: [ + { Name: 'printer', Value: user }, + { Name: 'LTS', Value: 'Y' }, //Y、N N只看不能打印 + { Name: "firstPage", Value: "pic/peisReportFirstPage.jpg" }, + { Name: "pageHeader", Value: "pic/peisReportPageHeader.jpg" }, + { Name: "pageFooter", Value: "pic/peisReportPageFooter.jpg" }, + { Name: "orgSign", Value: "pic/orgSign.png" }, + { Name: 'picExtOne', Value: 'pic/hisLog.jpg' }, + ], + IsHealthReport: 'Y' + }; + for (let i = 0; i < this.dataTransOpts.tableM.patient_register.length; i++) { + let e = this.dataTransOpts.tableM.patient_register[i]; + this.elProgress.percentage = Math.floor(((i + 1) * 100) / this.multipleSelection.length); + if (e.completeFlag != '3') continue + // 调上传接口 + try { + toOutShell.BusinessCode = e.patientRegisterId + let jsonToOutShell = JSON.stringify(toOutShell) + console.log('toOutShell',jsonToOutShell) + let res = await this.$peisAPI.upLoadReportPdf(jsonToOutShell) + if (JSON.parse(res).code < 0){ + this.$message.warning({ showClose: true, message: JSON.parse(res).message }); + }else{ + // 上传成功 ,更新上传传状态 - }else{ + } + } catch (error) { + console.log('error',error) + this.$message.warning({ showClose: true, message: error }); + } + } + this.elProgress.display = false; + + } else { this.$message.warning({ showClose: true, message: "请勾选择记录!" }) return - } + } }, diff --git a/src/components/report/PatientRegisterListNobtn.vue b/src/components/report/PatientRegisterListNobtn.vue index 2f9b6e7..48f2940 100644 --- a/src/components/report/PatientRegisterListNobtn.vue +++ b/src/components/report/PatientRegisterListNobtn.vue @@ -137,7 +137,7 @@ 条。 - +