52b867a3 by lihua

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

1 parent 6520a733
......@@ -372,4 +372,10 @@ export const getDicomStatistics = (taskGuid) => request({
export const retryDicom = (taskGuid) => request({
url: `${import.meta.env.VITE_APP_DIGITAL_CONTRACT_URL}/anon-task/dicom/retry?taskGuid=${taskGuid}`,
method: 'get'
})
export const downDicomPath = (taskExecGuid) => request({
url: `${import.meta.env.VITE_APP_DIGITAL_CONTRACT_URL}/anon-task/down-dicom-path?taskExecGuid=${taskExecGuid}`,
method: 'get',
responseType: 'blob'
})
\ No newline at end of file
......
......@@ -1560,7 +1560,7 @@ onBeforeMount(() => {
dataSource: detailInfo.value.dataSource,
handleType: detailInfo.value.handleType,
coverageArea: detailInfo.value.coverageArea || [],
qualifiedIdentifier: detailInfo.value.qualifiedIdentifier,
// qualifiedIdentifier: detailInfo.value.qualifiedIdentifier,
samplingRate: detailInfo.value.samplingRate,
dataSharingTypeCode: detailInfo.value.dataSharingTypeCode,
}
......
......@@ -2,8 +2,12 @@
<div style="display: flex;justify-content: center;width: 100%;">
<div v-show="!isWordStyle" class="analysis-result-main">
<div class="reject" v-show="analysisResultInfo.rating <= 2">
<div class="header_title">
<span class="title_text">{{ analysisResultInfo.rating == 2 ? `匿名化评测结果不符合评测要求,等级为${analysisResultInfo.rating}级,重标识符风险大于风险阈值0.05,请重新进行匿名化处理` : `匿名化评测结果不符合评测要求,等级为${analysisResultInfo.rating}级,包含直接标识符,请重新进行匿名化处理` }}</span>
<div v-if="analysisResultInfo.rating == 2" class="header_title">
<span class="title_text">{{ `匿名化评测结果不符合评测要求,等级为${analysisResultInfo.rating}级,重标识符风险大于风险阈值0.05,请对如性别、年龄、地区等准标识符加大泛化以降低重标识风险。` }}</span>
</div>
<div v-else class="header_title">
<span class="title_text">{{ `匿名化评测结果不符合评测要求,等级为${analysisResultInfo.rating}级,数据中仍含可直接识别个人身份的信息,请对该信息进行脱敏处理。点击下载`}}</span>
<span class="title_text link" @click="downErrorFile">《需修正文件明细表》</span>
</div>
</div>
<div v-if="showTitle" class="result-title">匿名结果分析</div>
......@@ -349,6 +353,11 @@
import { TableColumnWidth } from '@/utils/enum';
import { QuestionFilled, CircleCloseFilled } from "@element-plus/icons-vue";
import Moment from 'moment';
import {
downDicomPath,
} from '@/api/modules/dataAnonymization';
import { download } from '@/utils/common';
import { ElMessage } from 'element-plus';
const props = defineProps({
isWordStyle: { //显示的是否是word报告的样式
......@@ -575,6 +584,22 @@ const pageChange = (info) => {
emits('pageChange', info);
}
const downPromise: any = ref(null)
const downErrorFile = () => {
if (downPromise.value) {
return;
}
downDicomPath(props.analysisResultInfo.guid).then((res: any) => {
downPromise.value = null
if (res && !res.msg) {
debugger
download(res, (props.oldAnonTaskValueInfo.taskName) + '_需修正文件明细表.xlsx', 'excel')
} else {
res?.msg && ElMessage.error(res?.msg);
}
})
}
defineExpose({
report,
})
......@@ -756,6 +781,11 @@ defineExpose({
transform: rotate(90deg);
}
}
&.link {
cursor: pointer;
color: var(--el-color-primary);
}
}
}
</style>
\ 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!