Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
csbr-daop
/
fe-data-trusted-space
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
16852fd6
authored
2026-06-24 09:44:00 +0800
by
lihua
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
修改匿名化报告
1 parent
78bc58ff
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
20 additions
and
5 deletions
src/api/modules/dataAnonymization.ts
src/views/data_anonymization/anonResultReportView.vue
src/views/data_anonymization/anonTaskCreate.vue
src/views/data_anonymization/components/anonResultAnalysis.vue
src/api/modules/dataAnonymization.ts
View file @
16852fd
...
...
@@ -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`
,
...
...
src/views/data_anonymization/anonResultReportView.vue
View file @
16852fd
...
...
@@ -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>
...
...
src/views/data_anonymization/anonTaskCreate.vue
View file @
16852fd
...
...
@@ -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
;
...
...
src/views/data_anonymization/components/anonResultAnalysis.vue
View file @
16852fd
This diff is collapsed.
Click to expand it.
Write
Preview
Styling with
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment