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
9bca7e98
authored
2025-01-06 16:08:22 +0800
by
lihua
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
提交血缘图片的上传和下载
1 parent
96af58b9
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
98 additions
and
48 deletions
src/views/data_meta/analysisReports.vue
src/views/data_meta/analysisView.vue
src/views/data_meta/metaSheet.vue
src/views/data_meta/analysisReports.vue
View file @
9bca7e9
...
...
@@ -8,10 +8,14 @@ import { ElMessage, ElMessageBox } from "element-plus";
import
Table
from
'@/components/Table/index.vue'
import
TableTools
from
'@/components/Tools/table_tools.vue'
import
{
getAnalysisReportList
,
delAnalysisRepor
,
updateAnalysisRepor
}
from
"@/api/modules/dataMetaService"
import
{
getImageContent
}
from
"@/api/modules/queryService"
;
import
Dialog
from
'@/components/Dialog/index.vue'
import
{
getDownloadUrl
,
download
}
from
"@/utils/common"
;
import
{
useRouter
}
from
'vue-router'
;
import
{
parseAndDecodeUrl
,
getDownFileSignByUrl
,
obsDownloadRequest
}
from
"@/api/modules/obsService"
;
const
router
=
useRouter
()
const
page
=
ref
({
limit
:
50
,
...
...
@@ -119,37 +123,47 @@ const tableSearchItemList: any = ref([{
placeholder
:
'血缘关系名称'
,
clearable
:
true
}]);
const
tableBtnClick
=
(
scope
,
btn
)
=>
{
const
tableBtnClick
=
async
(
scope
,
btn
)
=>
{
const
type
=
btn
.
value
;
let
row
=
scope
.
row
;
rowData
.
value
=
row
currTableData
.
value
=
row
;
if
(
type
==
'view'
)
{
getImageContent
(
row
.
analysisReportUrl
).
then
((
res
:
any
)
=>
{
if
(
res
&&
!
res
.
msg
)
{
let
name
=
row
.
analysisReportUrl
;
var
fileSuffix
=
name
?
name
.
substring
(
name
.
lastIndexOf
(
'.'
)
+
1
)
:
''
;
if
(
fileSuffix
===
'png'
)
{
//浏览器可以支持图片和pdf预览
let
fileUrl
=
getDownloadUrl
(
res
,
name
,
fileSuffix
);
let
win
=
window
.
open
(
fileUrl
,
name
);
win
&&
(
win
.
document
.
title
=
name
);
const
refSignInfo
:
any
=
await
getDownFileSignByUrl
(
parseAndDecodeUrl
(
row
.
analysisReportUrl
).
decodedPath
);
if
(
!
refSignInfo
?.
data
)
{
refSignInfo
?.
msg
&&
ElMessage
.
error
(
refSignInfo
?.
msg
);
return
;
}
obsDownloadRequest
(
refSignInfo
?.
data
).
then
((
res
:
any
)
=>
{
if
(
res
&&
!
res
.
msg
)
{
let
name
=
row
.
analysisReportUrl
;
var
fileSuffix
=
name
?
name
.
substring
(
name
.
lastIndexOf
(
'.'
)
+
1
)
:
''
;
if
(
fileSuffix
===
'png'
)
{
//浏览器可以支持图片和pdf预览
let
fileUrl
=
<
string
>
getDownloadUrl
(
res
,
name
,
fileSuffix
);
let
win
=
window
.
open
(
fileUrl
,
name
);
win
&&
(
win
.
document
.
title
=
name
);
}
else
{
download
(
res
,
row
.
analysisReportName
,
fileSuffix
);
}
}
else
{
download
(
res
,
row
.
analysisReportName
,
fileSuffix
);
res
?.
msg
&&
ElMessage
.
error
(
res
?.
msg
);
}
}
else
{
res
?.
msg
&&
ElMessage
.
error
(
res
?.
msg
);
}
});
});
}
else
if
(
type
==
'export'
)
{
getImageContent
(
row
.
analysisReportUrl
).
then
((
res
:
any
)
=>
{
if
(
res
&&
!
res
.
msg
)
{
let
name
=
row
.
analysisReportUrl
;
var
fileSuffix
=
name
?
name
.
substring
(
name
.
lastIndexOf
(
'.'
)
+
1
)
:
''
;
download
(
res
,
row
.
analysisReportName
,
fileSuffix
);
}
else
{
res
?.
msg
&&
ElMessage
.
error
(
res
?.
msg
);
const
refSignInfo
:
any
=
await
getDownFileSignByUrl
(
parseAndDecodeUrl
(
row
.
analysisReportUrl
).
decodedPath
);
if
(
!
refSignInfo
?.
data
)
{
refSignInfo
?.
msg
&&
ElMessage
.
error
(
refSignInfo
?.
msg
);
return
;
}
});
obsDownloadRequest
(
refSignInfo
?.
data
).
then
((
res
:
any
)
=>
{
if
(
res
&&
!
res
.
msg
)
{
let
name
=
row
.
analysisReportUrl
;
var
fileSuffix
=
name
?
name
.
substring
(
name
.
lastIndexOf
(
'.'
)
+
1
)
:
''
;
download
(
res
,
row
.
analysisReportName
,
fileSuffix
);
}
else
{
res
?.
msg
&&
ElMessage
.
error
(
res
?.
msg
);
}
});
}
else
if
(
type
==
"rename"
)
{
dialogInfo
.
value
.
visible
=
true
formItems
.
value
[
0
].
default
=
row
.
analysisReportName
...
...
src/views/data_meta/analysisView.vue
View file @
9bca7e9
...
...
@@ -22,7 +22,11 @@ import {
delLineAge
,
checkTableData
}
from
'@/api/modules/dataMetaService'
;
import
{
getFileUrl
}
from
"@/api/modules/queryService"
import
{
parseAndDecodeUrl
,
getUpFileSignByUrl
,
obsUploadRequest
}
from
"@/api/modules/obsService"
;
import
{
useRouter
,
useRoute
}
from
"vue-router"
;
import
useDataMetaStore
from
"@/store/modules/dataMeta"
import
{
cloneDeep
}
from
'lodash-es'
...
...
@@ -857,17 +861,23 @@ const pageSave = () => {
return
}
let
formData
=
new
FormData
();
formData
.
append
(
'file'
,
file
.
value
);
formData
.
append
(
'fileName'
,
`
${
analysisReportName
}
.png`
);
getFileUrl
(
formData
).
then
((
res
)
=>
{
saveMetaReportAnalysis
({
dialogInfo1
.
value
.
footer
.
btns
[
1
].
loading
=
true
;
return
getUpFileSignByUrl
({
fileName
:
`
${
analysisReportName
}
.png`
})
.
then
((
res
:
any
)
=>
{
obsUploadRequest
({
signedUrl
:
res
.
data
.
signedUrl
,
file
:
file
.
value
,
actualSignedRequestHeaders
:
res
.
data
.
actualSignedRequestHeaders
}).
then
(()
=>
{
if
(
res
.
code
==
'00000'
)
{
saveMetaReportAnalysis
({
table
:
lastClickNode
.
value
.
tableName
,
database
:
lastClickNode
.
value
.
databaseName
,
analysisReportUrl
:
res
.
data
,
analysisReportUrl
:
res
.
data
?.
signedUrl
,
analysisReportName
:
analysisReportName
,
databaseChName
:
lastClickNode
.
value
.
databaseChName
}).
then
((
res
:
any
)
=>
{
dialogInfo1
.
value
.
footer
.
btns
[
1
].
loading
=
false
;
if
(
res
.
code
==
proxy
.
$passCode
)
{
ElMessage
({
type
:
"success"
,
...
...
@@ -883,9 +893,19 @@ const pageSave = () => {
})
}
})
}).
catch
((
res
)
=>
{
}
else
{
ElMessage
({
type
:
"error"
,
message
:
res
.
msg
,
appendTo
:
lineageGraph
.
value
.
containerRef
})
}
}).
catch
((
res
)
=>
{
ElMessage
.
error
(
res
.
msg
)
})
});
}).
catch
((
res
)
=>
{
ElMessage
.
error
(
res
.
msg
)
});
}
const
formItems1
:
any
=
ref
([
...
...
@@ -933,7 +953,7 @@ const dialogInfo1 = ref({
footer
:
{
btns
:
[
{
type
:
"default"
,
label
:
"取消"
,
value
:
"cancel"
},
{
type
:
"primary"
,
label
:
"保存"
,
value
:
"submit"
},
{
type
:
"primary"
,
label
:
"保存"
,
value
:
"submit"
,
loading
:
false
},
],
},
});
...
...
src/views/data_meta/metaSheet.vue
View file @
9bca7e9
...
...
@@ -26,9 +26,13 @@ import {
saveMetaReportAnalysis
,
checkTableData
}
from
'@/api/modules/dataMetaService'
;
import
{
getFileUrl
}
from
"@/api/modules/queryService"
import
useDataMetaStore
from
"@/store/modules/dataMeta"
import
{
TableColumnWidth
}
from
'@/utils/enum'
;
import
{
parseAndDecodeUrl
,
getUpFileSignByUrl
,
obsUploadRequest
}
from
"@/api/modules/obsService"
;
const
{
proxy
}
=
getCurrentInstance
()
as
any
;
const
router
=
useRouter
();
...
...
@@ -556,18 +560,24 @@ const pageSave = () => {
})
return
}
let
formData
=
new
FormData
();
formData
.
append
(
'file'
,
file
.
value
);
formData
.
append
(
'fileName'
,
`
${
analysisReportName
}
.png`
);
console
.
log
(
formInline1
.
value
.
pageName
)
getFileUrl
(
formData
).
then
((
res
)
=>
{
saveMetaReportAnalysis
({
dialogInfo1
.
value
.
footer
.
btns
[
1
].
loading
=
true
;
getUpFileSignByUrl
({
fileName
:
`
${
analysisReportName
}
.png`
})
.
then
((
res
:
any
)
=>
{
obsUploadRequest
({
signedUrl
:
res
.
data
.
signedUrl
,
file
:
file
.
value
,
actualSignedRequestHeaders
:
res
.
data
.
actualSignedRequestHeaders
}).
then
(()
=>
{
if
(
res
.
code
==
'00000'
)
{
saveMetaReportAnalysis
({
table
:
sheetInfo
.
value
.
tableName
,
database
:
sheetInfo
.
value
.
databaseName
,
analysisReportUrl
:
res
.
data
,
analysisReportUrl
:
res
.
data
?.
signedUrl
,
analysisReportName
:
analysisReportName
,
databaseChName
:
sheetInfo
.
value
.
databaseChName
}).
then
((
res
:
any
)
=>
{
dialogInfo1
.
value
.
footer
.
btns
[
1
].
loading
=
false
;
if
(
res
.
code
==
proxy
.
$passCode
)
{
// ElMessage.success("保存成功")
ElMessage
({
...
...
@@ -584,13 +594,19 @@ const pageSave = () => {
})
}
})
}).
catch
((
res
)
=>
{
ElMessage
({
type
:
"error"
,
message
:
res
.
msg
,
appendTo
:
lineageGraph
.
value
[
0
].
containerRef
})
})
}
else
{
ElMessage
({
type
:
"error"
,
message
:
res
.
msg
,
appendTo
:
lineageGraph
.
value
.
containerRef
})
}
}).
catch
((
res
)
=>
{
ElMessage
.
error
(
res
.
msg
)
});
}).
catch
((
res
)
=>
{
ElMessage
.
error
(
res
.
msg
)
});
}
const
formItems1
:
any
=
ref
([
...
...
@@ -638,7 +654,7 @@ const dialogInfo1 = ref({
footer
:
{
btns
:
[
{
type
:
"default"
,
label
:
"取消"
,
value
:
"cancel"
},
{
type
:
"primary"
,
label
:
"保存"
,
value
:
"submit"
},
{
type
:
"primary"
,
label
:
"保存"
,
value
:
"submit"
,
loading
:
false
},
],
},
});
...
...
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