16852fd6 by lihua

修改匿名化报告

1 parent 78bc58ff
......@@ -352,6 +352,13 @@ export const htmlToWord = (params) => request({
responseType: 'blob'
})
export const downloadAnonReport = (params) => request({
url: `${import.meta.env.VITE_APP_ANONYMIZATION_BASEURL}/anon-task/download`,
method: 'postJsonD',
data: params,
responseType: 'blob'
})
/** 发送评测报告到邮箱 */
export const sendAnonReport = (params) => request({
url: `${import.meta.env.VITE_APP_DIGITAL_CONTRACT_URL}/anon-task/send-mail-and-msg`,
......
......@@ -4,6 +4,7 @@
<script lang="ts" setup name="anonResultReportView">
import {
downloadAnonReport,
getAnonAnalyzePageData,
getAnonAnalyzeResult,
getAnonTaskDetail,
......@@ -16,11 +17,14 @@ import anonResultAnalysis from './components/anonResultAnalysis.vue';
import { commonPageConfig, USERROLE } from '@/utils/enum';
import { calcColumnWidth } from '@/utils';
import html2canvas from 'html2canvas';
import useUserStore from "@/store/modules/user";
const route = useRoute();
const router = useRouter();
const fullPath = route.fullPath;
const taskGuid = ref(route.query.guid);
const userStore = useUserStore();
const userData = JSON.parse(userStore.userData)
const { proxy } = getCurrentInstance() as any;
const resultDataLoading = ref(false);
......@@ -209,7 +213,7 @@ const downloadWord = () => {
loadingText.value = `评测报告正在${route.query.dataOwner == '1' ? '发送' : '下载' }中,请勿关闭浏览器...`;
downPromise.value = convertHtml2Img(report, dom).then(() => {
if (route.query.dataOwner == '1') {
sendAnonReport({ taskGuid: taskGuid.value, html: encodeURIComponent(`<div>${getHTML(dom.innerHTML)}</div>`) }).then((res: any) => {
sendAnonReport({ taskGuid: taskGuid.value, title: `${analysisResultInfo.value.tenantName}持有的“${oldAnonTaskValueInfo.value.taskName}”`, evaluationDate: analysisResultInfo.value.execTime, deIdentProcessorName: userData.tenantName, html: encodeURIComponent(`<div>${getHTML(dom.innerHTML)}</div>`) }).then((res: any) => {
downPromise.value = null
loadingText.value = '';
resultDataLoading.value = false;
......@@ -220,7 +224,7 @@ const downloadWord = () => {
}
})
} else {
htmlToWord({ html: encodeURIComponent(`<div>${getHTML(dom.innerHTML)}</div>`) }).then((res: any) => {
downloadAnonReport({ taskGuid: taskGuid.value, title: `${analysisResultInfo.value.tenantName}持有的“${oldAnonTaskValueInfo.value.taskName}”`, evaluationDate: analysisResultInfo.value.execTime, deIdentProcessorName: userData.tenantName, html: encodeURIComponent(`<div>${getHTML(dom.innerHTML)}</div>`) }).then((res: any) => {
downPromise.value = null
loadingText.value = '';
resultDataLoading.value = false;
......@@ -273,7 +277,7 @@ onBeforeMount(() => {
<div class="table_tool_wrap" v-loading="resultDataLoading" ref="containerRef" :element-loading-text="loadingText">
<!-- 连接器不需要显示下载报告按钮 -->
<template v-if="!isDataProvider">
<el-button v-show="!isWordStyle" style="margin-bottom: 8px;" type="primary" @click="transfer"
<el-button v-show="!isWordStyle && analysisResultInfo.rating >= 2" style="margin-bottom: 8px;" type="primary" @click="transfer"
v-preReClick>预览Word评估报告</el-button>
<div v-show="isWordStyle" style="margin-bottom: 8px;">
<el-button @click="isWordStyle = false">返回</el-button>
......
......@@ -168,7 +168,7 @@
</anonResultAnalysis>
<!-- 连接器只能查看报告 -->
<template v-if="!isDataProvider" #header>
<el-button v-show="isExecEnd && analysisResultInfo.status == 'Y' && !isWordStyle" type="primary"
<el-button v-show="isExecEnd && analysisResultInfo.status == 'Y' && !isWordStyle && analysisResultInfo.rating >= 2" type="primary"
v-loading="!!downPromise" @click="transfer">预览Word评估报告</el-button>
<div v-show="isWordStyle">
<el-button @click="isWordStyle = false">返回</el-button>
......@@ -237,6 +237,7 @@ import {
getDicomMeta,
getDicomStatistics,
retryDicom,
downloadAnonReport,
sendAnonReport
} from '@/api/modules/dataAnonymization';
import {
......@@ -268,6 +269,7 @@ import html2canvas from 'html2canvas';
const anonymizationStore = useDataAnonymizationStore();
const { proxy } = getCurrentInstance() as any;
const userStore = useUserStore();
const userData = JSON.parse(userStore.userData)
const route = useRoute();
const router = useRouter();
const fullPath = route.fullPath;
......@@ -1252,6 +1254,7 @@ const dialogBtnClick = (btn) => {
if (taskGuid.value) {
saveParams.guid = taskGuid.value;
}
saveParams.dataSharingTypeName = saveParams.dataSharingTypeCode && dataSharingTypeList.value.find(d => d.value == saveParams.dataSharingTypeCode)?.label;
dicomStatisticsData.value = {};
folderFileTableInfo.value.data = [];
if (!taskGuid.value) { //保存
......@@ -2219,7 +2222,8 @@ const downloadWord = () => {
loadingText.value = '报告正在下载中,请勿关闭浏览器...';
downloadLoading.value = true;
downPromise.value = convertHtml2Img(report, dom).then(() => {
htmlToWord({ html: encodeURIComponent(`<div>${getHTML(dom.innerHTML)}</div>`) }).then((res: any) => {
downloadAnonReport({ taskGuid: oldAnonTaskValueInfo.value.guid, title: `${analysisResultInfo.value.tenantName}持有的“${oldAnonTaskValueInfo.value.taskName}”`, evaluationDate: analysisResultInfo.value.execTime,
deIdentProcessorName: userData.tenantName, html: encodeURIComponent(`<div>${getHTML(dom.innerHTML)}</div>`) }).then((res: any) => {
downPromise.value = null
loadingText.value = '';
downloadLoading.value = false;
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!