diff --git a/src/api/feature/accumulativeStatistics.ts b/src/api/feature/accumulativeStatistics.ts index 8f51d6d5e8807de2dacc17f343c98b9281fda9a3..b0720208584ec259651621deab2c189c21013db5 100644 --- a/src/api/feature/accumulativeStatistics.ts +++ b/src/api/feature/accumulativeStatistics.ts @@ -35,4 +35,9 @@ export class AccumulativeStatistics { const url = `/infection/cdc/suffererinfo/trace?suffererIdNo=${opts.suffererIdNo}&suffererName=${opts.suffererName}`; return this.rSerivce.serverObj.get(url); } + // 通过身份证号 名字 cdc溯源详情导出 + public suffererinfoTraceExport(opts: any) { + const url = `infection/cdc/trace/export?suffererIdNo=${opts.suffererIdNo}&suffererName=${opts.suffererName}`; + return this.downService.downloadRequest.get(url); + } } diff --git a/src/views/PatientPortrayal.vue b/src/views/PatientPortrayal.vue index 9565db366acb72424501cc7cb153470978c049ad..137cf73eac3710689bc2536e213e8ce2a4e4b7f2 100644 --- a/src/views/PatientPortrayal.vue +++ b/src/views/PatientPortrayal.vue @@ -11,7 +11,7 @@
{{item.changeInfo}}
cursor -
+
{{currentSufferData.suffererName}}病情溯源
@@ -207,6 +207,31 @@ export default class LayoutHome extends Vue { } else { this.$router.go(-1); } + } + private downloadFun(res: any) { + const obj = res.data; + const filename = res.headers.filename; + if (window.navigator.msSaveOrOpenBlob) { + window.navigator.msSaveOrOpenBlob(obj, filename); + } else { + const tmpDom = document.createElement('a'); + tmpDom.download = filename || '下载'; + tmpDom.href = URL.createObjectURL(obj); + tmpDom.click(); //  延时释放 + setTimeout(() => { + URL.revokeObjectURL(obj); + }, 100); + } + } + // 溯源导出 + private downloadTrace() { + const params = { + suffererIdNo: this.currentSufferData.suffererIdNo, + suffererName: this.currentSufferData.suffererName, + }; + accumulativeStatistics.suffererinfoTraceExport(params).then((res: any) => { + this.downloadFun(res); + }); } private mounted() { const dom: any = document.getElementById('app'); @@ -281,6 +306,7 @@ export default class LayoutHome extends Vue { top: 76px; left: 124px; background: url("../../src/assets/image/top-left.png"); + cursor:pointer; .left-text { display: inline-block; margin-top: 10px;