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
289bbea2
authored
2025-01-15 13:04:39 +0800
by
xukangle
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
fix
1 parent
97692c16
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
78 additions
and
72 deletions
src/components/FileUpload/uploadExcelFile.vue
src/views/data_asset/importTableField.vue
src/views/data_asset/registerCatalogManagement.vue
src/components/FileUpload/uploadExcelFile.vue
View file @
289bbea
...
...
@@ -8,6 +8,7 @@ import * as XLSX from 'xlsx';
import
{
getImageContent
}
from
'@/api/modules/queryService'
;
import
{
getDownFileSignByUrl
,
obsDownloadRequest
,
parseAndDecodeUrl
}
from
"@/api/modules/obsService"
;
const
props
=
defineProps
({
noUpload
:
{
...
...
@@ -266,7 +267,7 @@ const formatterPreviewDate = (row, info) => {
return
v
;
};
const
setFormValue
=
(
v
)
=>
{
const
setFormValue
=
async
(
v
)
=>
{
fileFormItems
.
value
[
1
].
default
=
v
.
sheetName
||
""
;
let
url
=
v
.
file
?.[
0
]?.
url
;
if
(
fileFormItems
.
value
[
0
].
default
?.[
0
]?.
url
!==
url
)
{
...
...
@@ -275,72 +276,78 @@ const setFormValue = (v) => {
fileFieldLoading
.
value
=
true
;
fileTableFields
.
value
=
[];
fileTableData
.
value
=
[];
getImageContent
(
url
).
then
((
res
:
any
)
=>
{
if
(
res
&&
!
res
.
msg
)
{
let
urlNames
=
url
.
split
(
'/'
);
let
name
=
urlNames
.
at
(
-
1
);
let
reader
=
new
FileReader
();
reader
.
onload
=
function
(
e
)
{
if
(
!
e
?.
target
)
{
fileFieldLoading
.
value
=
false
;
return
;
const
refSignInfo
:
any
=
await
getDownFileSignByUrl
(
parseAndDecodeUrl
(
url
).
fileName
);
if
(
!
refSignInfo
?.
data
)
{
refSignInfo
?.
msg
&&
ElMessage
.
error
(
refSignInfo
?.
msg
);
return
;
}
const
res
:
any
=
await
obsDownloadRequest
(
refSignInfo
?.
data
);
// getImageContent(url).then((res: any) => {
if
(
res
&&
!
res
.
msg
)
{
let
urlNames
=
url
.
split
(
'/'
);
let
name
=
urlNames
.
at
(
-
1
);
let
reader
=
new
FileReader
();
reader
.
onload
=
function
(
e
)
{
if
(
!
e
?.
target
)
{
fileFieldLoading
.
value
=
false
;
return
;
}
let
data
=
new
Uint8Array
(
<
any
>
e
.
target
.
result
);
const
wb
=
XLSX
.
read
(
data
,
{
type
:
'array'
,
raw
:
false
,
cellDates
:
true
});
fileWb
.
value
=
wb
;
console
.
log
(
wb
);
sheetList
.
value
=
wb
.
SheetNames
?.
map
(
s
=>
{
return
{
value
:
s
,
label
:
s
}
let
data
=
new
Uint8Array
(
<
any
>
e
.
target
.
result
);
const
wb
=
XLSX
.
read
(
data
,
{
type
:
'array'
,
raw
:
false
,
cellDates
:
true
});
fileWb
.
value
=
wb
;
console
.
log
(
wb
);
sheetList
.
value
=
wb
.
SheetNames
?.
map
(
s
=>
{
})
||
[];
fileFormItems
.
value
[
1
].
options
=
sheetList
.
value
;
fileFormItems
.
value
[
1
].
default
=
v
.
sheetName
||
""
;
const
sheet
=
wb
.
Sheets
[
v
.
sheetName
];
const
json
:
any
[]
=
XLSX
.
utils
.
sheet_to_json
(
sheet
,
{
header
:
1
});
if
(
json
.
length
==
0
)
{
fileTableFields
.
value
=
[];
fileTableData
.
value
=
[];
}
else
{
fileTableFields
.
value
=
json
[
0
]?.
map
((
j
,
index
)
=>
{
return
{
value
:
s
,
label
:
s
index
:
index
,
enName
:
j
+
''
,
chName
:
j
+
''
,
dataType
:
'varchar'
}
})
||
[];
fileFormItems
.
value
[
1
].
options
=
sheetList
.
value
;
fileFormItems
.
value
[
1
].
default
=
v
.
sheetName
||
""
;
const
sheet
=
wb
.
Sheets
[
v
.
sheetName
];
const
json
:
any
[]
=
XLSX
.
utils
.
sheet_to_json
(
sheet
,
{
header
:
1
});
if
(
json
.
length
==
0
)
{
fileTableFields
.
value
=
[];
fileTableData
.
value
=
[];
}
else
{
fileTableFields
.
value
=
json
[
0
]?.
map
((
j
,
index
)
=>
{
return
{
index
:
index
,
enName
:
j
+
''
,
chName
:
j
+
''
,
dataType
:
'varchar'
}
})
||
[];
if
(
json
.
length
>
1
)
{
fileTableData
.
value
=
json
.
slice
(
1
,
51
).
map
((
info
,
row
)
=>
{
let
object
=
{};
json
[
0
].
forEach
((
name
,
col
)
=>
{
if
(
info
[
col
]
===
""
||
info
[
col
]
==
null
)
{
object
[
name
]
=
info
[
col
];
}
else
{
var
cellRef
=
XLSX
.
utils
.
encode_cell
({
r
:
row
+
1
,
c
:
col
});
var
cell
=
sheet
[
cellRef
];
object
[
name
]
=
cell
.
w
||
info
[
col
];
let
isNum
=
cell
.
t
==
'n'
;
if
(
isNum
&&
fileTableFields
.
value
[
col
].
dataType
!=
'int'
)
{
fileTableFields
.
value
[
col
].
dataType
=
'int'
;
}
if
(
json
.
length
>
1
)
{
fileTableData
.
value
=
json
.
slice
(
1
,
51
).
map
((
info
,
row
)
=>
{
let
object
=
{};
json
[
0
].
forEach
((
name
,
col
)
=>
{
if
(
info
[
col
]
===
""
||
info
[
col
]
==
null
)
{
object
[
name
]
=
info
[
col
];
}
else
{
var
cellRef
=
XLSX
.
utils
.
encode_cell
({
r
:
row
+
1
,
c
:
col
});
var
cell
=
sheet
[
cellRef
];
object
[
name
]
=
cell
.
w
||
info
[
col
];
let
isNum
=
cell
.
t
==
'n'
;
if
(
isNum
&&
fileTableFields
.
value
[
col
].
dataType
!=
'int'
)
{
fileTableFields
.
value
[
col
].
dataType
=
'int'
;
}
});
return
object
;
}
});
}
else
{
fileTableData
.
value
=
[];
}
return
object
;
});
}
else
{
fileTableData
.
value
=
[];
}
fileFieldLoading
.
value
=
false
;
};
reader
.
readAsArrayBuffer
(
res
);
}
else
{
res
?.
msg
&&
ElMessage
.
error
(
res
?.
msg
);
}
})
}
fileFieldLoading
.
value
=
false
;
};
reader
.
readAsArrayBuffer
(
res
);
}
else
{
res
?.
msg
&&
ElMessage
.
error
(
res
?.
msg
);
}
// })
}
}
...
...
@@ -371,11 +378,11 @@ defineExpose({
:style=
"
{ width: '100%', height: '100%' }">
<template
v-for=
"(item, index) in (fileTableFields || [])"
>
<el-table-column
:label=
"item.chName"
:width=
"item.dataType === 'datetime'
? TableColumnWidth.DATETIME
: item.dataType === 'date'
? TableColumnWidth.DATE
: originTableFieldColumn[item.enName]
"
:align=
"getTextAlign(item)"
:header-align=
"getTextAlign(item)"
? TableColumnWidth.DATETIME
: item.dataType === 'date'
? TableColumnWidth.DATE
: originTableFieldColumn[item.enName]
"
:align=
"getTextAlign(item)"
:header-align=
"getTextAlign(item)"
:formatter=
"(row) => formatterPreviewDate(row, item)"
:show-overflow-tooltip=
"true"
>
</el-table-column>
</
template
>
...
...
@@ -472,4 +479,4 @@ defineExpose({
display
:
none
}
}
</
style
>
\ No newline at end of file
</
style
>
...
...
src/views/data_asset/importTableField.vue
View file @
289bbea
...
...
@@ -10,7 +10,6 @@ import {
import
{
pinyin
}
from
'pinyin-pro'
;
import
useUserStore
from
"@/store/modules/user"
;
import
{
getDictionaryTree
}
from
'@/api/modules/dataInventory'
;
import
{
pa
}
from
'element-plus/es/locale'
;
const
emits
=
defineEmits
([
"cancelImport"
,
...
...
src/views/data_asset/registerCatalogManagement.vue
View file @
289bbea
...
...
@@ -95,7 +95,7 @@ const searchItemList = ref([
{
type
:
"select"
,
label
:
""
,
field
:
"
registerState
"
,
field
:
"
isRegister
"
,
default
:
""
,
placeholder
:
"登记状态"
,
clearable
:
true
,
...
...
@@ -118,7 +118,7 @@ const pageInfo = ref({
damType
:
""
,
tenantGuid
:
""
,
dataSources
:
""
,
registerState
:
""
,
isRegister
:
""
,
subjectDomain
:
[],
});
...
...
@@ -193,7 +193,7 @@ const getTableData = () => {
subjectDomain
:
pageInfo
.
value
.
subjectDomain
,
tenantGuid
:
pageInfo
.
value
.
tenantGuid
,
dataSources
:
pageInfo
.
value
.
dataSources
,
registerState
:
pageInfo
.
value
.
registerState
,
isRegister
:
pageInfo
.
value
.
isRegister
,
}).
then
((
res
:
any
)
=>
{
listDataLoading
.
value
=
false
;
if
(
res
.
code
==
proxy
.
$passCode
)
{
...
...
@@ -216,14 +216,14 @@ const toSearch = (val: any, clear: boolean = false) => {
pageInfo
.
value
.
damType
=
""
;
pageInfo
.
value
.
subjectDomain
=
[];
pageInfo
.
value
.
tenantGuid
=
""
;
pageInfo
.
value
.
registerState
=
""
;
pageInfo
.
value
.
isRegister
=
""
;
pageInfo
.
value
.
dataSources
=
""
;
}
else
{
pageInfo
.
value
.
damName
=
val
.
damName
;
pageInfo
.
value
.
damType
=
val
.
damType
;
pageInfo
.
value
.
subjectDomain
=
val
.
subjectDomain
;
pageInfo
.
value
.
tenantGuid
=
val
.
tenantGuid
;
pageInfo
.
value
.
registerState
=
val
.
registerState
;
pageInfo
.
value
.
isRegister
=
val
.
isRegister
;
pageInfo
.
value
.
dataSources
=
val
.
dataSources
;
}
getTableData
();
...
...
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