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
20d109d5
authored
2025-02-06 14:16:20 +0800
by
xukangle
Browse Files
Options
Browse Files
Tag
Download
Plain Diff
Merge branch 'develop' into release-test
2 parents
17f31ff0
a04a9a71
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
135 additions
and
63 deletions
src/components/Table/index.vue
src/store/modules/user.ts
src/views/data_asset/qualityEvaluate.vue
src/views/data_asset/registerCatalogManagement.vue
src/views/data_asset/registerManagemant.vue
src/views/data_asset/valueEvaluate.vue
src/views/data_product/productListing.vue
src/views/indexNewBigScreen.vue
src/views/security_menu/index.vue
src/components/Table/index.vue
View file @
20d109d
...
...
@@ -216,6 +216,14 @@ const pageChange = (page) => {
const
tableRowClassName1
=
({
row
,
rowIndex
})
=>
{
return
row
.
isAlter
==
"Y"
?
"primary"
:
""
}
const
handleClickEvent
=
(
scope
,
item
)
=>
{
if
(
item
.
getName
(
scope
)
===
'--'
)
return
;
// 如果是 '--',直接拦截,不执行点击事件
if
(
item
.
click
&&
!
item
.
disabled
&&
!
scope
.
row
.
disabled
)
{
item
.
click
(
scope
,
{
label
:
item
.
label
,
value
:
item
.
value
});
}
else
{
handleClick
(
scope
,
{
label
:
item
.
label
,
value
:
item
.
value
});
}
}
onMounted
(()
=>
{
// setTimeout(() => {
...
...
@@ -330,12 +338,30 @@ onMounted(() => {
<!--
{{
scope
.
row
[
item
.
field
]
}}
-->
</
template
>
<
template
#
default=
"scope"
v-else-if=
"item.type == 'text_btn'"
>
<span
class=
"text_btn"
v-if=
"scope.row[item.field] != null"
:class=
"[item.class, scope.row.cellClass]"
<span
v-if=
"scope.row[item.field] != null"
:class=
"[
(item.getName(scope) === '--' || item.getName(scope) === null) ? '' : 'text_btn',
item.class,
scope.row.cellClass,
]"
@
click=
"(item.click && !item.disabled && !scope.row.disabled) ? item.click(scope,
{ label: item.label, value: item.value }) : handleClick(scope, { label: item.label, value: item.value })"
v-preReClick>
{{
item
.
getName
?
item
.
getName
(
scope
)
:
scope
.
row
[
item
.
field
]
}}
</span>
<span
v-else
>
--
</span>
</
template
>
<!-- <template #default="scope" v-else-if="item.type == 'text_btn'">
<span v-if="scope.row[item.field] != null" :class="[
(item.getName(scope) === '--' || item.getName(scope) === null) ? '' : 'text_btn',
item.class,
scope.row.cellClass,
{ 'disabled-btn': item.getName(scope) === '--' }
]" @click="item.getName(scope) === '--' ? null : handleClickEvent(scope, item)" v-preReClick>
{{ item.getName ? item.getName(scope) : scope.row[item.field]
}}
</span>
<span v-else>--</span>
</template> -->
<
template
#
default=
"scope"
v-else-if=
"item.type == 'btn'"
>
<template
v-for=
"btn in item.btns"
>
<span
v-if=
"btn.visible ?? true"
class=
"text_btn"
...
...
src/store/modules/user.ts
View file @
20d109d
...
...
@@ -55,24 +55,24 @@ const useUserStore = defineStore(
currentTenantGuid
.
value
=
res
.
data
.
tenantInfoList
&&
res
.
data
.
tenantInfoList
.
length
?
res
.
data
.
tenantInfoList
[
0
].
guid
:
''
;
localStorage
.
setItem
(
'currentTenantGuid'
,
currentTenantGuid
.
value
);
let
currentTenant
=
res
.
data
.
tenantInfoList
?.[
0
];
getCurrentUserInfo
({
tenantGuid
:
currentTenantGuid
.
value
}).
then
((
res
:
any
)
=>
{
return
getCurrentUserInfo
({
tenantGuid
:
currentTenantGuid
.
value
}).
then
((
res
:
any
)
=>
{
console
.
log
(
res
,
'getCurrentUserInfo'
);
if
(
res
.
code
==
'00000'
)
{
userName
.
value
=
res
.
data
.
staffName
;
localStorage
.
setItem
(
'userName'
,
res
.
data
?.
staffName
);
localStorage
.
setItem
(
'userData'
,
JSON
.
stringify
(
res
.
data
));
return
getSystemMenu
({
tenantGuid
:
currentTenantGuid
.
value
}).
then
((
info
:
any
)
=>
{
//解决页面调用流程接口传递staffGuid,为空的问题
if
(
info
.
code
==
'00000'
)
{
localStorage
.
setItem
(
'userInfoData'
,
JSON
.
stringify
(
info
.
data
));
userInfoData
.
value
=
info
.
data
;
}
else
{
ElMessage
.
error
(
info
.
msg
)
}
})
}
else
{
ElMessage
.
error
(
res
.
msg
)
}
})
return
getSystemMenu
({
tenantGuid
:
currentTenantGuid
.
value
}).
then
((
info
:
any
)
=>
{
if
(
info
.
code
==
'00000'
)
{
localStorage
.
setItem
(
'userInfoData'
,
JSON
.
stringify
(
info
.
data
));
userInfoData
.
value
=
info
.
data
;
}
else
{
ElMessage
.
error
(
info
.
msg
)
}
})
}
else
{
isLogin
.
value
=
false
;
// ElMessage.error(res.msg);//授权码被重复使用,不抛出异常。
...
...
src/views/data_asset/qualityEvaluate.vue
View file @
20d109d
...
...
@@ -35,7 +35,7 @@ const tableFields = ref([
{
label
:
"资产名称"
,
field
:
"daName"
,
width
:
160
,
align
:
"left"
,
type
:
'text_btn'
,
value
:
'productDetail'
,
columClass
:
'text_btn'
},
{
label
:
"登记时间"
,
field
:
"registerTime"
,
width
:
120
},
// { label: "企业名称", field: "tenantName", width: 240, align: "left" },
{
label
:
"评估机构"
,
field
:
"
issuingEntit
yName"
,
width
:
250
,
align
:
"left"
},
{
label
:
"评估机构"
,
field
:
"
evaluationAgenc
yName"
,
width
:
250
,
align
:
"left"
},
{
label
:
"审批状态"
,
field
:
"approveVO"
,
type
:
"approveTag"
,
width
:
96
,
align
:
'center'
},
]);
...
...
@@ -465,6 +465,7 @@ const dialogBtnClick = (btn, info) => {
})
}
}
else
{
dialogInfo
.
value
.
footer
.
btns
[
1
].
loading
=
false
;
ElMessage
.
error
(
res
.
msg
);
}
})
...
...
src/views/data_asset/registerCatalogManagement.vue
View file @
20d109d
...
...
@@ -33,6 +33,12 @@ const isRegisterOptions = ref<any>([
{
label
:
"已登记"
,
value
:
"Y"
},
{
label
:
"未登记"
,
value
:
"N"
},
])
// 数据来源 1:自建 2:加工交付
const
damTypesOptions
=
ref
<
any
>
([
{
label
:
"自建"
,
value
:
1
},
{
label
:
"加工交付"
,
value
:
2
},
])
const
searchItemList
=
ref
([
{
type
:
"input"
,
...
...
@@ -84,12 +90,12 @@ const searchItemList = ref([
{
type
:
"select"
,
label
:
""
,
field
:
"
dataSources
"
,
field
:
"
foundMode
"
,
default
:
""
,
placeholder
:
"产品来源"
,
clearable
:
true
,
filterable
:
true
,
options
:
da
taSource
s
.
value
,
options
:
da
mTypesOption
s
.
value
,
props
:
{
value
:
'value'
,
label
:
'label'
...
...
@@ -122,6 +128,7 @@ const pageInfo = ref({
tenantGuid
:
""
,
dataSources
:
""
,
isRegister
:
""
,
foundMode
:
""
,
subjectDomain
:
[],
});
...
...
@@ -198,6 +205,7 @@ const getTableData = () => {
tenantGuid
:
pageInfo
.
value
.
tenantGuid
,
dataSources
:
pageInfo
.
value
.
dataSources
,
isRegister
:
pageInfo
.
value
.
isRegister
,
foundMode
:
pageInfo
.
value
.
foundMode
,
}).
then
((
res
:
any
)
=>
{
listDataLoading
.
value
=
false
;
if
(
res
.
code
==
proxy
.
$passCode
)
{
...
...
@@ -214,6 +222,7 @@ const getTableData = () => {
const
toSearch
=
(
val
:
any
,
clear
:
boolean
=
false
)
=>
{
pageInfo
.
value
.
curr
=
1
;
console
.
log
(
'val'
,
val
);
if
(
clear
)
{
searchItemList
.
value
.
map
((
item
)
=>
(
item
.
default
=
""
));
pageInfo
.
value
.
damName
=
""
;
...
...
@@ -222,6 +231,7 @@ const toSearch = (val: any, clear: boolean = false) => {
pageInfo
.
value
.
tenantGuid
=
""
;
pageInfo
.
value
.
isRegister
=
""
;
pageInfo
.
value
.
dataSources
=
""
;
pageInfo
.
value
.
foundMode
=
""
;
}
else
{
pageInfo
.
value
.
damName
=
val
.
damName
;
pageInfo
.
value
.
damType
=
val
.
damType
;
...
...
@@ -229,6 +239,7 @@ const toSearch = (val: any, clear: boolean = false) => {
pageInfo
.
value
.
tenantGuid
=
val
.
tenantGuid
;
pageInfo
.
value
.
isRegister
=
val
.
isRegister
;
pageInfo
.
value
.
dataSources
=
val
.
dataSources
;
pageInfo
.
value
.
foundMode
=
val
.
foundMode
;
}
getTableData
();
};
...
...
src/views/data_asset/registerManagemant.vue
View file @
20d109d
...
...
@@ -531,31 +531,33 @@ const rejectDialogBtnClick = (btn, info) => {
</div>
<div
class=
"content_main_wrap"
>
<div
class=
"list-content"
>
<div
class=
"card-content"
:class=
"
{ active: exchangGuid == item.exchangeGuid }" v-for="item in exchangeList"
:key="item.exchangeGuid">
<div
class=
"header"
>
<img
class=
"left-img"
:src=
"(item.picUrl && typeof item.picUrl == 'string') ? item.picUrl : defaultItemLogo"
alt=
""
/>
<div
class=
"right-main"
>
<div
class=
"title"
:class=
"
{ active: exchangGuid == item.exchangeGuid }"
@click="btnClick({ value: 'search', ...item })" v-preReClick>
{{
item
.
exchangeName
??
'--'
}}
</div>
<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>
<template
v-for=
"(item, i) in exchangeList"
:key=
"item.exchangeGuid"
>
<div
class=
"card-content"
:class=
"
{ active: exchangGuid == item.exchangeGuid }">
<div
class=
"header"
>
<img
class=
"left-img"
:src=
"(item.picUrl && typeof item.picUrl == 'string') ? item.picUrl : defaultItemLogo"
alt=
""
/>
<div
class=
"right-main"
>
<div
class=
"title"
:class=
"
{ active: exchangGuid == item.exchangeGuid }"
@click="btnClick({ value: 'search', ...item })" v-preReClick>
{{
item
.
exchangeName
??
'--'
}}
</div>
<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"
>
<!--
<div
class=
"left-btn borderRight"
@
click=
"btnClick(item)"
>
更新模板
</div>
-->
<div
class=
"left-btn is_block"
@
click=
"btnClick(
{ value: 'create', ...item })">资产登记
</div>
</div>
</div>
<div
class=
"operator-btn"
>
<!--
<div
class=
"left-btn borderRight"
@
click=
"btnClick(item)"
>
更新模板
</div>
-->
<div
class=
"left-btn is_block"
@
click=
"btnClick(
{ value: 'create', ...item })">资产登记
</div>
</div>
</div>
<div
v-if=
"i
< exchangeList
.
length
-
1
"
class=
"space_partition"
></div>
</
template
>
</div>
<div
class=
"table_panel_wrap"
>
<Table
:tableInfo=
"tableInfo"
@
tableBtnClick=
"tableBtnClick"
/>
...
...
@@ -727,16 +729,12 @@ const rejectDialogBtnClick = (btn, info) => {
flex-wrap
:
wrap
;
.card-content
{
width
:
calc
(
33.33
%
-
6px
);
width
:
calc
(
25
%
-
6px
);
padding
:
16px
;
box-shadow
:
0
0
0
1px
#d9d9d9
;
margin-bottom
:
8px
;
max-width
:
400px
;
+.card-content
{
margin-left
:
8px
;
}
&.active
{
box-shadow
:
0
0
0
1px
var
(
--el-color-primary
);
}
...
...
@@ -819,5 +817,9 @@ const rejectDialogBtnClick = (btn, info) => {
}
}
}
.space_partition
{
width
:
8px
;
}
}
</
style
>
...
...
src/views/data_asset/valueEvaluate.vue
View file @
20d109d
...
...
@@ -44,7 +44,7 @@ const tableFields = ref([
{
label
:
"资产名称"
,
field
:
"daName"
,
width
:
160
,
align
:
"left"
,
type
:
'text_btn'
,
value
:
'productDetail'
,
columClass
:
'text_btn'
},
{
label
:
"登记时间"
,
field
:
"registerTime"
,
width
:
120
},
// { label: "企业名称", field: "tenantName", width: 240, align: "left" },
{
label
:
"评估机构"
,
field
:
"
issuingEntit
yName"
,
width
:
250
,
align
:
"left"
},
{
label
:
"评估机构"
,
field
:
"
evaluationAgenc
yName"
,
width
:
250
,
align
:
"left"
},
{
label
:
"审批状态"
,
field
:
"approveState"
,
type
:
"tag"
,
width
:
96
,
align
:
'center'
,
getName
:
(
scope
)
=>
{
const
approveVO
=
scope
.
row
.
approveVO
||
{}
...
...
src/views/data_product/productListing.vue
View file @
20d109d
...
...
@@ -80,7 +80,35 @@ const tableInfo = ref({
},
{
label
:
"审核状态"
,
field
:
"approveState"
,
width
:
TableColumnWidth
.
STATE
,
align
:
'center'
,
type
:
"tag"
,
getName
:
(
scope
)
=>
{
return
filterVal
(
scope
.
row
.
approveVO
.
approveState
,
'approveState'
);
const
approveVO
=
scope
.
row
.
approveVO
||
{}
switch
(
approveVO
.
approveState
)
{
case
'N'
:
return
'草稿中'
;
case
'A'
:
return
'审批中'
;
case
'Y'
:
return
'已通过'
;
case
'R'
:
return
'已驳回'
;
case
'C'
:
return
'已撤销'
;
case
'I'
:
return
'--'
;
default
:
return
'草稿中'
;
}
},
tagType
:
(
scope
)
=>
{
const
approveVO
=
scope
.
row
.
approveVO
||
{}
switch
(
approveVO
.
approveState
)
{
case
'A'
:
return
'warning'
;
case
'Y'
:
return
'success'
;
case
'R'
:
return
'danger'
;
default
:
return
'info'
;
}
}
},
{
...
...
@@ -194,9 +222,11 @@ const toSearch = (val: any, clear: boolean = false) => {
// 获取产品上架数量
const
getListingCountData
=
()
=>
{
flowDetailLoading
.
value
=
true
;
getListingCount
().
then
((
res
:
any
)
=>
{
if
(
res
.
code
==
proxy
.
$passCode
)
{
demandListData
.
value
=
res
.
data
||
[];
flowDetailLoading
.
value
=
false
;
}
else
{
proxy
.
$ElMessage
.
error
(
res
.
msg
);
}
...
...
@@ -335,7 +365,7 @@ const tableBtnClick = (scope, btn) => {
}
if
(
type
==
'pass'
)
{
approveSuggest
.
value
=
''
;
dynamicPlaceholder
.
value
=
'请填写通过理由
(必填)
'
;
dynamicPlaceholder
.
value
=
'请填写通过理由'
;
if
(
listingFormRef
.
value
)
{
clearFormValues
(
listingFormRef
.
value
.
formInline
);
listingFormRef
.
value
.
ruleFormRef
.
clearValidate
(
formInfo
.
value
.
items
.
map
(
item
=>
item
.
field
))
...
...
@@ -497,7 +527,7 @@ const clearFormValues = (formInline) => {
});
};
const
fullscreenLoading
=
ref
(
false
);
const
dynamicPlaceholder
=
ref
(
'请填写通过理由
(必填)
'
);
const
dynamicPlaceholder
=
ref
(
'请填写通过理由'
);
const
passSubmit
=
()
=>
{
let
row
=
currTableData
.
value
listingFormRef
.
value
.
ruleFormRef
.
validate
().
then
((
valid
)
=>
{
...
...
@@ -726,6 +756,7 @@ const assetsSafeInfo = ref<any>()
const
defaultItemLogo
=
new
URL
(
'@/assets/images/home-finance-product.png'
,
import
.
meta
.
url
).
href
const
demandListData
:
any
=
ref
([
]);
const
flowDetailLoading
=
ref
(
false
);
const
btnClick
=
(
item
)
=>
{
console
.
log
(
item
)
if
(
item
.
exchangeGuid
)
{
...
...
@@ -871,7 +902,7 @@ const formInfo = ref<any>({
<el-button
type=
"primary"
@
click=
"toPatn1('add', 'add1')"
v-preReClick
>
新建
</el-button>
</div>
-->
</div>
<div
class=
"list-content"
v-if=
"demandListData.length > 0"
>
<div
class=
"list-content"
v-if=
"demandListData.length > 0"
v-loading=
"flowDetailLoading"
>
<div
class=
"card-content"
v-for=
"item in demandListData"
:key=
"item.guid"
>
<div
class=
"header"
>
<div
class=
"header-top"
>
...
...
@@ -956,7 +987,8 @@ const formInfo = ref<any>({
.card-content
{
width
:
300px
;
box-shadow
:
0
0
0
1px
#d9d9d9
;
//
box-shadow
:
0
0
0
1px
#d9d9d9
;
border
:
1px
solid
#d9d9d9
;
border-radius
:
3px
;
margin-right
:
18px
;
margin-bottom
:
12px
;
...
...
src/views/indexNewBigScreen.vue
View file @
20d109d
...
...
@@ -208,14 +208,14 @@ const assetTableInfo = ref({
return
scope
.
row
.
trade
==
"已交易"
?
"icon-success"
:
"icon-audit"
;
},
},
{
label
:
"融资"
,
field
:
"financing"
,
minWidth
:
100
,
getSvg
:
(
scope
)
=>
{
return
scope
.
row
.
financing
==
"已融资"
?
"icon-success"
:
"icon-audit"
;
},
},
//
{
//
label: "融资",
//
field: "financing",
//
minWidth: 100,
//
getSvg: (scope) => {
//
return scope.row.financing == "已融资" ? "icon-success" : "icon-audit";
//
},
//
},
],
data
:
[],
showPage
:
false
,
...
...
src/views/security_menu/index.vue
View file @
20d109d
...
...
@@ -35,13 +35,13 @@ const tableInfo = ref({
fixedSelection
:
true
,
fields
:
[
{
label
:
"序号"
,
type
:
"index"
,
width
:
56
,
align
:
"center"
},
{
label
:
"数据产品编号"
,
field
:
"label"
,
width
:
1
4
0
,
},
{
label
:
"数据产品编号"
,
field
:
"label"
,
width
:
1
2
0
,
},
{
label
:
"数据产品名称"
,
field
:
"damName"
,
width
:
1
5
0
,
label
:
"数据产品名称"
,
field
:
"damName"
,
width
:
1
4
0
,
},
{
label
:
"数据类型"
,
field
:
"damTypeName"
,
width
:
10
0
},
{
label
:
"数据类型"
,
field
:
"damTypeName"
,
width
:
9
0
},
{
label
:
'权力主体'
,
field
:
'rightMainName'
,
width
:
1
0
0
,
label
:
'权力主体'
,
field
:
'rightMainName'
,
width
:
1
4
0
,
},
{
label
:
"是否公共数据"
,
field
:
"isPublicData"
,
width
:
120
,
getName
:
(
scope
)
=>
{
...
...
@@ -55,18 +55,18 @@ const tableInfo = ref({
}
},
{
label
:
"合规评估报告"
,
field
:
"complianceEvaluateReport"
,
width
:
120
,
type
:
'text_btn'
,
value
:
'complianceEvaluateReport'
,
columClass
:
'text_btn'
,
getName
:
(
scope
)
=>
{
const
value
=
scope
.
row
.
complianceEvaluateReport
?.
length
>
0
;
return
scope
.
row
.
complianceEvaluateReport
?
.
length
>
0
?
'预览'
:
'--'
;
}
label
:
"合规评估报告"
,
field
:
"complianceEvaluateReport"
,
width
:
120
,
type
:
'text_btn'
,
value
:
'complianceEvaluateReport'
,
getName
:
(
scope
)
=>
{
const
value
=
scope
.
row
.
complianceEvaluateReport
;
return
value
&&
value
.
length
>
0
?
'预览'
:
'--'
;
}
,
},
{
label
:
"合规法律意见书"
,
field
:
"complianceLegalOpinion"
,
width
:
130
,
type
:
'text_btn'
,
value
:
'complianceLegalOpinion'
,
columClass
:
'text_btn'
,
getName
:
(
scope
)
=>
{
label
:
"合规法律意见书"
,
field
:
"complianceLegalOpinion"
,
width
:
130
,
type
:
'text_btn'
,
value
:
'complianceLegalOpinion'
,
getName
:
(
scope
)
=>
{
return
scope
.
row
.
complianceLegalOpinion
?.
length
>
0
?
'预览'
:
'--'
;
}
},
{
label
:
"入表合规方案"
,
field
:
"entryComplianceProgram"
,
width
:
120
,
type
:
'text_btn'
,
value
:
'entryComplianceProgram'
,
columClass
:
'text_btn'
,
getName
:
(
scope
)
=>
{
label
:
"入表合规方案"
,
field
:
"entryComplianceProgram"
,
width
:
120
,
type
:
'text_btn'
,
value
:
'entryComplianceProgram'
,
getName
:
(
scope
)
=>
{
return
scope
.
row
.
entryComplianceProgram
?.
length
>
0
?
'预览'
:
'--'
;
}
},
...
...
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