52b867a3 by lihua

支持下载查看扫描的文件直接标识符列表

1 parent 6520a733
...@@ -372,4 +372,10 @@ export const getDicomStatistics = (taskGuid) => request({ ...@@ -372,4 +372,10 @@ export const getDicomStatistics = (taskGuid) => request({
372 export const retryDicom = (taskGuid) => request({ 372 export const retryDicom = (taskGuid) => request({
373 url: `${import.meta.env.VITE_APP_DIGITAL_CONTRACT_URL}/anon-task/dicom/retry?taskGuid=${taskGuid}`, 373 url: `${import.meta.env.VITE_APP_DIGITAL_CONTRACT_URL}/anon-task/dicom/retry?taskGuid=${taskGuid}`,
374 method: 'get' 374 method: 'get'
375 })
376
377 export const downDicomPath = (taskExecGuid) => request({
378 url: `${import.meta.env.VITE_APP_DIGITAL_CONTRACT_URL}/anon-task/down-dicom-path?taskExecGuid=${taskExecGuid}`,
379 method: 'get',
380 responseType: 'blob'
375 }) 381 })
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -1560,7 +1560,7 @@ onBeforeMount(() => { ...@@ -1560,7 +1560,7 @@ onBeforeMount(() => {
1560 dataSource: detailInfo.value.dataSource, 1560 dataSource: detailInfo.value.dataSource,
1561 handleType: detailInfo.value.handleType, 1561 handleType: detailInfo.value.handleType,
1562 coverageArea: detailInfo.value.coverageArea || [], 1562 coverageArea: detailInfo.value.coverageArea || [],
1563 qualifiedIdentifier: detailInfo.value.qualifiedIdentifier, 1563 // qualifiedIdentifier: detailInfo.value.qualifiedIdentifier,
1564 samplingRate: detailInfo.value.samplingRate, 1564 samplingRate: detailInfo.value.samplingRate,
1565 dataSharingTypeCode: detailInfo.value.dataSharingTypeCode, 1565 dataSharingTypeCode: detailInfo.value.dataSharingTypeCode,
1566 } 1566 }
......
...@@ -2,8 +2,12 @@ ...@@ -2,8 +2,12 @@
2 <div style="display: flex;justify-content: center;width: 100%;"> 2 <div style="display: flex;justify-content: center;width: 100%;">
3 <div v-show="!isWordStyle" class="analysis-result-main"> 3 <div v-show="!isWordStyle" class="analysis-result-main">
4 <div class="reject" v-show="analysisResultInfo.rating <= 2"> 4 <div class="reject" v-show="analysisResultInfo.rating <= 2">
5 <div class="header_title"> 5 <div v-if="analysisResultInfo.rating == 2" class="header_title">
6 <span class="title_text">{{ analysisResultInfo.rating == 2 ? `匿名化评测结果不符合评测要求,等级为${analysisResultInfo.rating}级,重标识符风险大于风险阈值0.05,请重新进行匿名化处理` : `匿名化评测结果不符合评测要求,等级为${analysisResultInfo.rating}级,包含直接标识符,请重新进行匿名化处理` }}</span> 6 <span class="title_text">{{ `匿名化评测结果不符合评测要求,等级为${analysisResultInfo.rating}级,重标识符风险大于风险阈值0.05,请对如性别、年龄、地区等准标识符加大泛化以降低重标识风险。` }}</span>
7 </div>
8 <div v-else class="header_title">
9 <span class="title_text">{{ `匿名化评测结果不符合评测要求,等级为${analysisResultInfo.rating}级,数据中仍含可直接识别个人身份的信息,请对该信息进行脱敏处理。点击下载`}}</span>
10 <span class="title_text link" @click="downErrorFile">《需修正文件明细表》</span>
7 </div> 11 </div>
8 </div> 12 </div>
9 <div v-if="showTitle" class="result-title">匿名结果分析</div> 13 <div v-if="showTitle" class="result-title">匿名结果分析</div>
...@@ -349,6 +353,11 @@ ...@@ -349,6 +353,11 @@
349 import { TableColumnWidth } from '@/utils/enum'; 353 import { TableColumnWidth } from '@/utils/enum';
350 import { QuestionFilled, CircleCloseFilled } from "@element-plus/icons-vue"; 354 import { QuestionFilled, CircleCloseFilled } from "@element-plus/icons-vue";
351 import Moment from 'moment'; 355 import Moment from 'moment';
356 import {
357 downDicomPath,
358 } from '@/api/modules/dataAnonymization';
359 import { download } from '@/utils/common';
360 import { ElMessage } from 'element-plus';
352 361
353 const props = defineProps({ 362 const props = defineProps({
354 isWordStyle: { //显示的是否是word报告的样式 363 isWordStyle: { //显示的是否是word报告的样式
...@@ -575,6 +584,22 @@ const pageChange = (info) => { ...@@ -575,6 +584,22 @@ const pageChange = (info) => {
575 emits('pageChange', info); 584 emits('pageChange', info);
576 } 585 }
577 586
587 const downPromise: any = ref(null)
588 const downErrorFile = () => {
589 if (downPromise.value) {
590 return;
591 }
592 downDicomPath(props.analysisResultInfo.guid).then((res: any) => {
593 downPromise.value = null
594 if (res && !res.msg) {
595 debugger
596 download(res, (props.oldAnonTaskValueInfo.taskName) + '_需修正文件明细表.xlsx', 'excel')
597 } else {
598 res?.msg && ElMessage.error(res?.msg);
599 }
600 })
601 }
602
578 defineExpose({ 603 defineExpose({
579 report, 604 report,
580 }) 605 })
...@@ -756,6 +781,11 @@ defineExpose({ ...@@ -756,6 +781,11 @@ defineExpose({
756 transform: rotate(90deg); 781 transform: rotate(90deg);
757 } 782 }
758 } 783 }
784
785 &.link {
786 cursor: pointer;
787 color: var(--el-color-primary);
788 }
759 } 789 }
760 } 790 }
761 </style> 791 </style>
...\ No newline at end of file ...\ No newline at end of file
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!