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
25364613
authored
2025-02-14 16:12:37 +0800
by
lihua
Browse Files
Options
Browse Files
Tag
Download
Plain Diff
Merge branch 'develop' into release-test
2 parents
d5c6cc3c
02abb7b2
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
79 additions
and
42 deletions
src/components/Table/index.vue
src/views/data_inventory/classifyGradeCatalogue.vue
src/views/data_product/productListing.vue
src/components/Table/index.vue
View file @
2536461
...
...
@@ -204,7 +204,7 @@ const rowSelectable = (row, index) => {
if
(
props
.
tableInfo
.
selectable
===
false
)
{
return
false
}
return
row
.
selectable
??
true
;
return
props
.
tableInfo
.
selectableHandle
?
props
.
tableInfo
.
selectableHandle
(
row
)
:
(
row
.
selectable
??
true
)
;
};
...
...
src/views/data_inventory/classifyGradeCatalogue.vue
View file @
2536461
...
...
@@ -437,6 +437,10 @@ const tableInfo = ref({
id
:
"role-manage-table"
,
multiple
:
true
,
fixedSelection
:
true
,
selectable
:
true
,
selectableHandle
:
(
row
)
=>
{
return
row
?.
isImportCreate
!=
'Y'
;
},
fields
:
[
{
label
:
"序号"
,
type
:
"index"
,
width
:
56
,
align
:
"center"
},
{
label
:
"字段名"
,
field
:
"fieldName"
,
width
:
140
},
...
...
@@ -687,7 +691,7 @@ const dataBaseTableInfo = ref({
}
});
},
disabled
:
scope
.
row
.
state
==
0
?
true
:
false
disabled
:
(
scope
.
row
.
isImportCreate
==
'Y'
||
scope
.
row
.
state
==
0
)
?
true
:
false
},
{
label
:
"编辑表结构"
,
value
:
"edit"
,
click
:
(
scope
)
=>
{
...
...
@@ -1377,7 +1381,7 @@ const getDataBaseTableData = async (params = {}) => {
dataBaseTableInfo
.
value
.
page
.
rows
=
res
.
data
.
totalRows
;
dataBaseTableInfo
.
value
.
page
.
limit
=
res
.
data
.
pageSize
dataBaseTableInfo
.
value
.
page
.
curr
=
res
.
data
.
pageIndex
dataBaseTableInfo
.
value
.
data
=
res
.
data
.
records
;
dataBaseTableInfo
.
value
.
data
=
res
.
data
.
records
||
[]
;
}
else
{
proxy
.
$ElMessage
.
error
(
res
.
msg
);
}
...
...
src/views/data_product/productListing.vue
View file @
2536461
...
...
@@ -14,11 +14,12 @@ import { TableColumnWidth } from '@/utils/enum';
import
TableTools
from
"@/components/Tools/table_tools.vue"
;
import
Table
from
"@/components/Table/index.vue"
;
import
Dialog
from
"@/components/Dialog/index.vue"
;
import
{
CarouselPanel
}
from
'@/components/CarouselPanel'
;
import
{
getParamsList
}
from
"@/api/modules/dataAsset"
;
import
{
changeNum
,
}
from
"@/utils/common"
;
import
{
chunk
}
from
"@/api/modules/common"
;
import
{
passFlowData
,
rejectFlowData
,
revokeFlowData
}
from
"@/api/modules/workFlowService"
;
const
{
proxy
}
=
getCurrentInstance
()
as
any
;
...
...
@@ -26,6 +27,18 @@ const router = useRouter();
const
userStore
=
useUserStore
();
const
userData
=
JSON
.
parse
(
userStore
.
userData
);
const
assetStore
=
useDataAssetStore
();
const
sjsLogo
=
new
URL
(
'@/assets/images/sjs-logo.png'
,
import
.
meta
.
url
).
href
const
carouselInfo
:
any
=
ref
({
list
:
[],
height
:
'172px'
,
loop
:
false
,
autoplay
:
false
,
arrow
:
'hover'
,
itemClass
:
'list-content'
})
const
damTypes
=
ref
([]);
const
searchItemList
:
any
=
ref
([
{
...
...
@@ -229,9 +242,12 @@ const toSearch = (val: any, clear: boolean = false) => {
const
getListingCountData
=
()
=>
{
flowDetailLoading
.
value
=
true
;
getListingCount
().
then
((
res
:
any
)
=>
{
flowDetailLoading
.
value
=
false
;
if
(
res
.
code
==
proxy
.
$passCode
)
{
demandListData
.
value
=
res
.
data
||
[];
flowDetailLoading
.
value
=
false
;
let
valueData
=
chunk
(
demandListData
.
value
,
4
);
carouselInfo
.
value
.
list
=
valueData
;
carouselInfo
.
value
.
arrow
=
valueData
.
length
>
1
?
'hover'
:
'never'
;
}
else
{
proxy
.
$ElMessage
.
error
(
res
.
msg
);
}
...
...
@@ -922,34 +938,41 @@ const formInfo = ref<any>({
</div>
-->
</div>
<div
v-loading=
"flowDetailLoading"
>
<div
class=
"list-content"
v-if=
"demandListData.length > 0"
>
<div
class=
"card-content"
v-for=
"item in demandListData"
:key=
"item.guid"
@
click=
"cardBtnClick(item)"
:class=
"
{ active: currExchangeGuid == item.exchangeGuid }">
<div
class=
"header"
>
<div
class=
"header-top"
>
<img
class=
"left-img"
:src=
"(item.picUrl && typeof item.picUrl == 'string') ? item.picUrl : defaultItemLogo"
alt=
""
/>
<div
class=
"title"
>
<ellipsis-tooltip
:content=
"item.exchangeName ?? '--'"
class-name=
"w100f"
:refName=
"'tooltipOver'"
></ellipsis-tooltip></div>
</div>
<div
class=
"right-main"
>
<div
class=
"count-group"
>
<div
class=
"count-item"
>
<div
class=
"item-label"
>
已上架产品数
</div>
<div
class=
"item-num"
>
{{
changeNum
(
item
.
listingNum
||
0
)
}}
</div>
</div>
<div
class=
"count-item"
>
<div
class=
"item-label"
>
审批中产品数
</div>
<div
class=
"item-num"
>
{{
changeNum
(
item
.
underReviewNum
||
0
)
}}
</div>
<CarouselPanel
:carousel-info=
"carouselInfo"
>
<template
v-slot:default=
"
{ carousel }">
<div
class=
"card-content"
v-for=
"(item, i) in carousel"
:key=
"item.guid"
@
click=
"cardBtnClick(item)"
:class=
"
{ active: currExchangeGuid == item.exchangeGuid, mr16: i
< carousel
.
length
-
1
&&
(
i
+
1
)
%
4
!==
0
}"
>
<div
class=
"header"
>
<div
class=
"header-top"
>
<img
class=
"left-img"
:src=
"(item.picUrl && typeof item.picUrl == 'string') ? item.picUrl : (item.exchangeName?.indexOf('门户') > -1 ? sjsLogo : defaultItemLogo)"
alt=
""
/>
<div
class=
"title"
>
<ellipsis-tooltip
:content=
"item.exchangeName ?? '--'"
class-name=
"w100f"
:refName=
"'tooltipOver'"
></ellipsis-tooltip></div>
</div>
<div
class=
"right-main"
>
<div
class=
"count-group"
>
<div
class=
"count-item"
>
<div
class=
"item-label"
>
已上架产品数
</div>
<div
class=
"item-num"
>
{{
changeNum
(
item
.
listingNum
||
0
)
}}
</div>
</div>
<div
class=
"count-item"
>
<div
class=
"item-label"
>
审批中产品数
</div>
<div
class=
"item-num"
>
{{
changeNum
(
item
.
underReviewNum
||
0
)
}}
</div>
</div>
</div>
</div>
</div>
<div
class=
"operator-btn"
@
click
.
stop=
"btnClick(item)"
>
<!--
<div
class=
"left-btn"
>
更新模板
</div>
-->
<div
class=
"right-btn"
>
产品上架
</div>
</div>
</div>
<div
class=
"operator-btn"
@
click
.
stop=
"btnClick(item)"
>
<!--
<div
class=
"left-btn"
>
更新模板
</div>
-->
<div
class=
"right-btn"
>
产品上架
</div>
</div>
</div>
</div>
</
template
>
</CarouselPanel>
<!-- <div class="list-content" v-if="demandListData.length > 0">
</div> -->
<div
class=
"v-tip"
>
<div
class=
"tip-icon"
></div>
<div
class=
"tip-des"
>
...
...
@@ -1000,19 +1023,16 @@ const formInfo = ref<any>({
padding
:
0px
8px
0
;
}
.list-content
{
display
:
flex
;
flex-wrap
:
wrap
;
padding
:
0
0px
0px
8px
;
:deep
(
.el-carousel
)
{
margin
:
0
-16px
16px
;
padding
:
0
16px
;
.card-content
{
width
:
290px
;
//
box-shadow
:
0
0
0
1px
#d9d9d9
;
border
:
1px
solid
#d9d9d9
;
border-radius
:
3px
;
margin-right
:
12px
;
margin-bottom
:
12px
;
width
:
calc
(
25%
-
12px
);
height
:
100%
;
margin-bottom
:
8px
;
border
:
1px
solid
var
(
--el-border-color-regular
);
float
:
left
;
cursor
:
pointer
;
&:hover
{
...
...
@@ -1021,15 +1041,21 @@ const formInfo = ref<any>({
&
.active
{
border
:
1px
solid
var
(
--el-color-primary
);
.header
{
background-color
:
#ebf6f7
;
}
}
&
.mr16
{
margin-right
:
16px
;
}
.header
{
display
:
flex
;
flex-direction
:
column
;
padding
:
16px
;
padding
:
12px
;
height
:
calc
(
100%
-
44px
);
.header-top
{
display
:
flex
;
...
...
@@ -1052,7 +1078,6 @@ const formInfo = ref<any>({
.right-main
{
width
:
100%
;
padding
:
0
16px
;
display
:
flex
;
flex-direction
:
column
;
justify-content
:
space-between
;
...
...
@@ -1061,6 +1086,14 @@ const formInfo = ref<any>({
display
:
flex
;
justify-content
:
space-between
;
.count-item
{
width
:
50%
;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
flex-direction
:
column
;
}
.item-num
{
font-size
:
24px
;
font-weight
:
600
;
...
...
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