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
50188ad8
authored
2025-01-15 17:51:01 +0800
by
xukangle
Browse Files
Options
Browse Files
Tag
Download
Plain Diff
Merge branch 'develop' into dev_20241202_xukangle
2 parents
c7ae9b22
02cf8029
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
192 additions
and
160 deletions
.env.development
.env.product
default.conf
src/api/modules/queryService.ts
src/views/data_asset/registerDetail.vue
src/views/data_asset/registerManagemant.vue
src/views/data_asset/registerStart.vue
src/views/data_quality/qualityRules.vue
src/views/data_quality/ruleForm.vue
src/views/data_quality/ruleModel.vue
src/views/data_quality/ruleModelEdit.vue
src/views/data_quality/ruleTemplate.vue
vite.config.ts
.env.development
View file @
50188ad
...
...
@@ -79,6 +79,13 @@ VITE_APP_ATTACHMENT_TEMPLATE = ms-daop-personel-service
#人员服务
VITE_APP_PERSONAL_URL = 'ms-daop-personel-service'
#流通平台地址
VITE_APP_CIRCULATION = http://192.168.6.20:18052/
# 测试环境访问地址
VITE_API_CIRCULATION_URL = http://192.168.6.22:29900/circulation
# 本地访问地址
# VITE_API_CIRCULATION_URL = http://localhost:9000/circulation
# 是否在打包时生成 sourcemap
VITE_BUILD_SOURCEMAP = false
# 是否在打包时开启压缩,支持 gzip 和 brotli
...
...
.env.product
View file @
50188ad
...
...
@@ -114,6 +114,10 @@ VITE_API_MESSAGE = ms-swzl-message-notification-service
#企业信息接口
VITE_APP_PERSONAL_URL = ms-daop-personel-service
#流通平台接口地址
VITE_APP_CIRCULATION = http://192.168.6.20:18052/
# 是否在打包时生成 sourcemap
VITE_BUILD_SOURCEMAP = false
# 是否在打包时开启压缩,支持 gzip 和 brotli
...
...
default.conf
View file @
50188ad
...
...
@@ -46,6 +46,23 @@ server {
proxy_pass
http
://
192
.
168
.
6
.
20
:
28052
;
}
location
/
circulation
{
# 设置允许跨域的域名,可以使用通配符 '*' 允许所有域访问
add_header
'Access-Control-Allow-Origin'
*
always
;
# 设置允许的 HTTP 方法
add_header
'Access-Control-Allow-Methods'
'GET, POST, OPTIONS, DELETE, PUT'
;
# 设置允许的请求头
add_header
'Access-Control-Allow-Headers'
'Authorization, Content-Type, Accept, Origin, X-Requested-With'
;
# 如果需要支持 cookie,可以设置以下 header
add_header
'Access-Control-Allow-Credentials'
'true'
;
# 缓存设置
add_header
Cache
-
Control
no
-
cache
;
add_header
Cache
-
Control
private
;
# 使用 rewrite 将 /circulation 替换为 /new-api
rewrite
^/
circulation
/(.*)$ /$
1
break
;
proxy_pass
http
://
192
.
168
.
6
.
20
:
18052
;
}
error_page
500
502
503
504
/
50
x
.
html
;
location
= /
50
x
.
html
{
...
...
src/api/modules/queryService.ts
View file @
50188ad
...
...
@@ -82,6 +82,13 @@ export const getProduct = (params) => request({
method: 'get',
params
})
// 查看平台会员信息
export const getTenantInfo = (params) => request({
// url: `
$
{
import
.
meta
.
env
.
VITE_APP_PERSONAL_URL
}
/tenant/g
etByGuid
/
$
{
params
}
`,
url: `
http
:
//192.168.6.22:29900/circulation/ms-data-circulation-portal-service/enterprise/detail-by-name`,
method
:
'get'
,
params
})
// 查看平台会员详情
export
const
getTenantDetailInfo
=
(
params
)
=>
request
({
url
:
`
${
import
.
meta
.
env
.
VITE_APP_PERSONAL_URL
}
/tenant/getByGuid/
${
params
}
`
,
...
...
src/views/data_asset/registerDetail.vue
View file @
50188ad
...
...
@@ -25,7 +25,8 @@ import {
}
from
"@/api/modules/dataAsset"
;
import
{
getTenantDetailInfo
,
getImageContent
getImageContent
,
getTenantInfo
}
from
"@/api/modules/queryService"
;
import
{
passFlowData
,
rejectFlowData
,
revokeFlowData
}
from
"@/api/modules/workFlowService"
;
import
useDataAssetStore
from
"@/store/modules/dataAsset"
;
...
...
@@ -253,30 +254,54 @@ const getDetailInfo = () => {
isTextTruncated
();
})
}
else
{
getRegiaterDetail
({
guid
:
assetGuid
}).
then
((
res
:
any
)
=>
{
fullscreenLoading
.
value
=
false
;
let
ps
:
any
=
[],
tentData
=
{};
ps
.
push
(
getRegiaterDetail
({
guid
:
assetGuid
}).
then
((
res
:
any
)
=>
{
if
(
res
.
code
==
proxy
.
$passCode
)
{
const
data
=
res
.
data
||
{};
let
{
approveVO
}
=
data
;
detailInfo
.
value
=
data
;
assetDetailInfo
.
value
=
data
;
deploymentId
.
value
=
approveVO
.
camundaDeploymentId
;
processInstanceId
.
value
=
approveVO
.
camundaInstanceId
;
isTextTruncated
();
}
else
{
ElMessage
.
error
(
res
.
msg
);
}
});
}));
ps
.
push
(
getTenantDetailInfo
(
userData
.
tenantGuid
).
then
((
res
:
any
)
=>
{
if
(
res
.
code
==
proxy
.
$passCode
)
{
const
data
=
res
.
data
??
{};
tentData
=
{
...
tentData
,
...
data
};
}
else
{
ElMessage
.
error
(
res
.
msg
);
}
approveTableInfo
.
value
.
loading
=
true
;
getApproveList
(
detailType
.
value
==
'qualityEvaluate'
?
evaGuid
.
value
:
(
detailType
.
value
==
'costAssess'
?
costAssessGuid
.
value
:
assetGuid
)).
then
((
res
:
any
)
=>
{
approveTableInfo
.
value
.
loading
=
false
;
}));
ps
.
push
(
getTenantInfo
({
tenantName
:
userData
.
tenantName
}).
then
((
res
:
any
)
=>
{
if
(
res
.
code
==
proxy
.
$passCode
)
{
console
.
log
(
res
.
data
)
;
approveTableInfo
.
value
.
data
=
res
.
data
||
[]
;
const
data
=
res
.
data
??
{}
;
tentData
=
{
...
tentData
,
...
data
}
;
}
else
{
ElMessage
.
error
(
res
.
msg
);
}
}))
Promise
.
all
(
ps
).
then
(()
=>
{
fullscreenLoading
.
value
=
false
;
tenantDetail
.
value
=
tentData
;
}).
catch
(()
=>
{
fullscreenLoading
.
value
=
false
;
});
}
// approveTableInfo.value.loading = true;
// getApproveList(detailType.value == 'qualityEvaluate' ? evaGuid.value : (detailType.value == 'costAssess' ? costAssessGuid.value : assetGuid)).then((res: any) => {
// approveTableInfo.value.loading = false;
// if (res.code == proxy.$passCode) {
// console.log(res.data);
// approveTableInfo.value.data = res.data || [];
// } else {
// ElMessage.error(res.msg);
// }
// });
}
const
handleExpand
=
()
=>
{
...
...
@@ -285,7 +310,7 @@ const handleExpand = () => {
onBeforeMount
(()
=>
{
getDetailInfo
();
daTenantGuid
.
value
&&
getTenantDetail
();
//
getTenantDetail();
});
onActivated
(()
=>
{
...
...
@@ -396,18 +421,27 @@ const approveTableInfo: any = ref({
}
});
const
deploymentId
=
ref
(
''
);
const
processInstanceId
=
ref
(
''
);
const
tenantDetail
:
any
=
ref
({});
/** 获取当前登录会员,服务商,企业等详情。 */
const
getTenantDetail
=
()
=>
{
getTenantDetailInfo
(
daTenantGuid
.
value
).
then
((
res
:
any
)
=>
{
if
(
res
.
code
==
proxy
.
$passCode
)
{
const
data
=
res
.
data
??
{};
tenantDetail
.
value
=
data
;
}
else
{
ElMessage
.
error
(
res
.
msg
);
}
});
// getTenantDetailInfo(userData.tenantGuid).then((res: any) => {
// if (res.code == proxy.$passCode) {
// const data = res.data ?? {};
// userData.value = data;
// } else {
// ElMessage.error(res.msg);
// }
// })
// getTenantInfo({tenantName: userData.tenantName}).then((res: any) => {
// if (res.code == proxy.$passCode) {
// const data = res.data ?? {};
// tenantDetail.value = data;
// } else {
// ElMessage.error(res.msg);
// }
// });
}
// const onUploadFilePreview = (file) => {
...
...
@@ -1016,6 +1050,14 @@ const handleClickDamCatalogDetail = () => {
});
}
const
formattedDate
=
(
dateVal
)
=>
{
const
date
=
new
Date
(
dateVal
);
const
year
=
date
.
getFullYear
();
const
month
=
(
date
.
getMonth
()
+
1
).
toString
().
padStart
(
2
,
'0'
);
const
day
=
date
.
getDate
().
toString
().
padStart
(
2
,
'0'
);
return
`
${
year
}
-
${
month
}
-
${
day
}
`
;
}
</
script
>
<
template
>
...
...
@@ -1026,7 +1068,7 @@ const handleClickDamCatalogDetail = () => {
<Tabs
:tab-position=
"'right'"
:tabsInfo=
"tabsInfo"
@
tabClick=
"tabsClick"
/>
</div>
<div
class=
"main-wrap"
ref=
"contentRef"
>
<div
v-if=
"detailType != 'certificate'"
<div
v-if=
"detailType != 'certificate'
&& detailType != 'asset'
"
:class=
"['panel_wrap', 'results_panel', detailInfo.approveState == 'Y' ? 'success' : (detailInfo.approveState == 'R' ? 'reject' : (detailInfo.approveState == 'C' ? 'revoke' : 'audit'))]"
>
<div
class=
"panel_header"
>
<div
class=
"header_title"
v-if=
"detailInfo.approveState == 'Y'"
>
...
...
@@ -1071,7 +1113,7 @@ const handleClickDamCatalogDetail = () => {
</div>
</div>
</div>
<div
v-else
<div
v-else
-if=
"detailType != 'asset'"
:class=
"['panel_wrap', 'results_panel', detailInfo.state == 4 ? 'success' : (detailInfo.state == 0 ? 'revoke' : 'audit')]"
>
<div
class=
"panel_header"
>
<div
class=
"header_title"
v-if=
"detailInfo.state == 4"
>
...
...
@@ -1684,7 +1726,7 @@ const handleClickDamCatalogDetail = () => {
<
/div
>
<
div
class
=
"list_item"
>
<
span
class
=
"item_label"
>
统一社会信用代码
:
<
/span
>
<
span
class
=
"item_value"
>
{{
tenantDetail
.
usci
??
"--"
}}
<
/span
>
<
span
class
=
"item_value"
>
{{
tenantDetail
.
socialCreditCode
??
"--"
}}
<
/span
>
<
/div
>
<
div
class
=
"list_item"
>
<
span
class
=
"item_label"
>
是否列入失信
:
<
/span
>
...
...
@@ -1696,15 +1738,17 @@ const handleClickDamCatalogDetail = () => {
<
/div
>
<
div
class
=
"list_item"
>
<
span
class
=
"item_label"
>
注册日期
:
<
/span
>
<
span
class
=
"item_value"
>
{{
tenantDetail
.
registerDate
??
"--"
}}
<
/span
>
<
span
class
=
"item_value"
>
{{
tenantDetail
.
registrationDate
?
formattedDate
(
tenantDetail
.
registrationDate
)
:
"--"
}}
<
/span
>
<
/div
>
<
div
class
=
"list_item"
>
<
span
class
=
"item_label"
>
营业开始日期
:
<
/span
>
<
span
class
=
"item_value"
>
{{
tenantDetail
.
trad
eStartDate
??
"--"
}}
<
/span
>
<
span
class
=
"item_value"
>
{{
tenantDetail
.
businessLicens
eStartDate
??
"--"
}}
<
/span
>
<
/div
>
<
div
class
=
"list_item"
>
<
span
class
=
"item_label"
>
营业结束日期
:
<
/span
>
<
span
class
=
"item_value"
>
{{
tenantDetail
.
trad
eEndDate
??
"--"
}}
<
/span
>
<
span
class
=
"item_value"
>
{{
tenantDetail
.
businessLicens
eEndDate
??
"--"
}}
<
/span
>
<
/div
>
<
div
class
=
"list_item is_block"
>
<
span
class
=
"item_label"
>
单位注册地址
:
<
/span
>
...
...
@@ -1779,7 +1823,7 @@ const handleClickDamCatalogDetail = () => {
<ContentWrap id="
id
-
approveInfo
" title="
审批信息
" expandSwicth style="
margin
-
top
:
15
px
"
:isExpand="
approveInfoExpand
" @expand="
(
v
)
=>
approveInfoExpand
=
v
">
<!-- <Table :tableInfo="
approveTableInfo
" /> -->
<ApprovalProcess v-if="
deploymentId
" :deploymentId="
deploymentId
" :
definitionId="
''
">
<ApprovalProcess v-if="
deploymentId
" :deploymentId="
deploymentId
" :
processInstanceId="
processInstanceId
">
</ApprovalProcess>
</ContentWrap>
<ContentWrap id="
id
-
certificate
" v-if="
tabsInfo
.
tabs
.
find
(
t
=>
t
.
name
==
'certificate'
)
" title="
证件信息
"
...
...
src/views/data_asset/registerManagemant.vue
View file @
50188ad
...
...
@@ -208,6 +208,7 @@ const currTableData: any = ref({});
const
btnClick
=
(
btn
)
=>
{
const
type
=
btn
.
value
;
if
(
type
==
'create'
)
{
localStorage
.
setItem
(
'isRestart'
,
''
);
router
.
push
({
name
:
'registerStart'
,
query
:
{
exchangeGuid
:
btn
.
exchangeGuid
,
type
}
...
...
@@ -277,20 +278,6 @@ const tableBtnClick = (scope, btn) => {
}
};
const
handleDataClick
=
(
item
)
=>
{
if
(
item
.
approveState
===
'N'
)
{
router
.
push
({
name
:
'registerStart'
,
query
:
{
guid
:
item
.
guid
}
});
}
else
{
router
.
push
({
name
:
'registerInfoDetail'
,
query
:
{
guid
:
item
.
guid
,
type
:
'asset'
,
daTenantGuid
:
item
.
tenantGuid
}
});
}
}
const
delTableOpen
=
(
msg
,
type
,
isBatch
:
boolean
=
false
)
=>
{
ElMessageBox
.
confirm
(
msg
,
"提示"
,
{
confirmButtonText
:
"确定"
,
...
...
@@ -328,6 +315,7 @@ const delTableOpen = (msg, type, isBatch: boolean = false) => {
const
getTableData
=
()
=>
{
loading
.
value
=
true
;
getExchangeData
();
getRegisterList
({
pageSize
:
pageInfo
.
value
.
limit
,
pageIndex
:
pageInfo
.
value
.
curr
,
...
...
@@ -376,6 +364,7 @@ const toSearch = (val: any, clear: boolean = false) => {
pageInfo
.
value
.
tenantGuid
=
val
.
tenantGuid
;
}
getTableData
();
// getExchangeData();
};
const
pageChange
=
(
info
)
=>
{
...
...
@@ -388,28 +377,13 @@ onActivated(() => {
if
(
assetStore
.
isRefresh
)
{
//如果是首次加载,则不需要调用
pageInfo
.
value
.
curr
=
1
;
getTableData
();
getExchangeData
();
//
getExchangeData();
assetStore
.
set
(
false
);
}
})
onBeforeMount
(()
=>
{
// if (isCompanyPlatform.value) {
// tableInfo.value.fields = tableFields.value;
// searchItemList.value[1].visible = false;
// } else {
// tableFields.value.splice(2, 0, { label: "企业名称", field: "tenantName", width: 240, align: "left" });
// tableInfo.value.fields = tableFields.value;
// searchItemList.value[1].visible = true;
// getRegisterTenant().then((res: any) => {
// if (res.code == proxy.$passCode) {
// searchItemList.value[1].options = res.data || [];
// } else {
// ElMessage.error(res.msg);
// }
// });
// }
getExchangeData
();
// getExchangeData();
})
const
passDialogInfo
=
ref
({
...
...
@@ -548,10 +522,6 @@ const rejectDialogBtnClick = (btn, info) => {
}
};
const
createBtnVisible
=
computed
(()
=>
{
return
isCompanyPlatform
||
(
userStore
.
hasPermission
(
'数据资产'
,
path
,
'新建'
))
})
</
script
>
<
template
>
...
...
@@ -571,7 +541,7 @@ const createBtnVisible = computed(() => {
@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-label"
>
已
登记
产品数
</div>
<div
class=
"item-num"
>
{{
changeNum
(
item
.
listingNum
||
0
)
}}
</div>
</div>
<div
class=
"count-item"
>
...
...
@@ -587,51 +557,8 @@ const createBtnVisible = computed(() => {
</div>
</div>
</div>
<div
class=
"table_panel_wrap"
:style=
"
{ height: createBtnVisible ? 'calc(100% - 89px)' : 'calc(100% - 40px)' }">
<div
v-if=
"activeListType === 'card'"
class=
"data-content"
v-loading=
"listDataLoading"
>
<div
class=
"card-content"
v-for=
"item in listData"
:key=
"item.guid"
@
click=
"handleDataClick(item)"
>
<div
class=
"title-row"
>
<div
class=
"title"
>
<ellipsis-tooltip
:content=
"item.daName"
class-name=
"w100f"
:refName=
"'tooltipOver' + item.guid"
></ellipsis-tooltip>
</div>
<el-tag
:type=
"(tagType(item, 'approveState') as any)"
>
{{
tagMethod
(
item
,
'approveState'
)
}}
</el-tag>
</div>
<div
v-if=
"!isCompanyPlatform"
class=
"desc"
>
{{
item
.
tenantName
??
'深圳传世般若有限公司'
}}
</div>
<div
class=
"desc"
>
{{
item
.
updateTime
}}
</div>
<div
class=
"type-btn"
>
<template
v-if=
"item.ownIndustryName?.length"
>
<div
class=
"type-items"
>
<div
v-for=
"(info) in item.ownIndustryName"
class=
"type"
>
{{
info
}}
</div>
</div>
</
template
>
<
template
v-else
>
<div
class=
"type-items"
></div>
</
template
>
<el-popover
v-model=
"cardBtnVisible"
placement=
"bottom"
width=
"96"
trigger=
"click"
popper-class=
"tree-item-edit-menu"
:show-arrow=
"false"
:hide-after=
"0"
>
<
template
#
reference
>
<el-icon
class=
"list-more"
color=
"#666"
v-show=
"getTableBtns(item, false)?.length > 0"
@
click
.
stop=
"cardBtnVisible = true"
>
<MoreFilled
/>
</el-icon>
</
template
>
<div
class=
"levitation-ul"
>
<span
class=
"levitation-li"
v-for=
"btn in getTableBtns(item, false)"
@
click=
"tableBtnClick({ row: item }, btn)"
>
{{
btn.label }}
</span>
</div>
</el-popover>
</div>
</div>
<div
v-if=
"!listData.length"
class=
"card-noData"
>
<img
src=
"../../assets/images/no-data.png"
:style=
"{ width: '96px', height: '96px' }"
/>
<span>
暂无数据资产
</span>
</div>
</div>
<Table
v-else
:tableInfo=
"tableInfo"
@
tableBtnClick=
"tableBtnClick"
/>
<div
class=
"table_panel_wrap"
>
<Table
:tableInfo=
"tableInfo"
@
tableBtnClick=
"tableBtnClick"
/>
<PageNav
:class=
"[pageInfo.type]"
:pageInfo=
"pageInfo"
@
pageChange=
"pageChange"
/>
</div>
</div>
...
...
@@ -796,14 +723,15 @@ const createBtnVisible = computed(() => {
.list-content
{
display
:
flex
;
justify-content
:
space-between
;
flex-wrap
:
wrap
;
margin-bottom
:
8px
;
.card-content
{
width
:
calc
(
33.33%
-
10
px
);
width
:
calc
(
33.33%
-
6
px
);
padding
:
16px
;
box-shadow
:
0
0
0
1px
#d9d9d9
;
margin-right
:
8px
;
max-width
:
400px
;
&.active
{
box-shadow
:
0
0
0
1px
var
(
--el-color-primary
);
...
...
src/views/data_asset/registerStart.vue
View file @
50188ad
...
...
@@ -11,6 +11,7 @@ import { ContentWrap } from '@/components/ContentWrap';
import
useUserStore
from
"@/store/modules/user"
;
import
{
getAreaData
,
getTenantInfo
,
getTenantDetailInfo
,
getServiceTenants
,
getTenantAttach
,
...
...
@@ -47,6 +48,7 @@ const guid = route.query.guid;
const
fullPath
=
route
.
fullPath
;
const
editType
=
route
.
query
.
type
;
const
exGuid
=
route
.
query
.
exchangeGuid
;
const
restart
=
ref
(
false
);
/** 资产目录列表 */
const
registerCatalogList
:
any
=
ref
([]);
...
...
@@ -165,14 +167,30 @@ const tenantDetail: any = ref({});
/** 获取当前登录会员,服务商,企业等详情。 */
const
getTenantDetail
=
()
=>
{
getTenantDetailInfo
(
userData
.
tenantGuid
).
then
((
res
:
any
)
=>
{
let
ps
:
any
=
[],
tentData
=
{};
ps
.
push
(
getTenantDetailInfo
(
userData
.
tenantGuid
).
then
((
res
:
any
)
=>
{
if
(
res
.
code
==
proxy
.
$passCode
)
{
const
data
=
res
.
data
??
{};
tenantDetail
.
value
=
data
;
tentData
=
{...
tentData
,
...
data
};
}
else
{
ElMessage
.
error
(
res
.
msg
);
}
}));
ps
.
push
(
getTenantInfo
({
tenantName
:
userData
.
tenantName
}).
then
((
res
:
any
)
=>
{
if
(
res
.
code
==
proxy
.
$passCode
)
{
const
data
=
res
.
data
??
{};
tentData
=
{...
tentData
,
...
data
};
}
else
{
ElMessage
.
error
(
res
.
msg
);
}
}))
Promise
.
all
(
ps
).
then
(()
=>
{
tenantDetail
.
value
=
tentData
;
propertyFormItems
.
value
.
forEach
((
item
,
index
)
=>
{
if
(
item
.
field
==
'address'
||
item
.
field
==
'
usci'
||
item
.
field
==
'registerDate'
||
item
.
field
==
'tradeStartDate'
||
item
.
field
==
'trad
eEndDate'
)
{
//在会员详情处获取。
if
(
item
.
field
==
'address'
||
item
.
field
==
'
socialCreditCode'
||
item
.
field
==
'registrationDate'
||
item
.
field
==
'businessLicenseStartDate'
||
item
.
field
==
'businessLicens
eEndDate'
)
{
//在会员详情处获取。
item
.
default
=
tenantDetail
.
value
[
item
.
field
];
}
else
if
(
item
.
field
==
'businessLicense'
)
{
}
else
if
(
item
.
field
==
'businessLicense
Json
'
)
{
item
.
default
=
tenantDetail
.
value
[
item
.
field
]
||
[];
if
(
!
item
.
default
.
length
)
{
item
.
visible
=
false
;
...
...
@@ -185,9 +203,8 @@ const getTenantDetail = () => {
}
}
});
}
else
{
ElMessage
.
error
(
res
.
msg
);
}
}).
catch
(()
=>
{
fullscreenLoading
.
value
=
false
;
});
}
...
...
@@ -294,19 +311,19 @@ const setUploadFormItemsValue = (info) => {
if
(
item
.
field
==
'registerLetter'
)
{
item
.
default
=
attach
.
registerLetter
||
[];
item
.
templateUrl
=
attachDataInfo
.
value
.
register_letter
;
}
else
if
(
item
.
field
==
'
qualityE
valuationFile'
)
{
item
.
default
=
attach
.
qualityE
valuationFile
||
[];
}
else
if
(
item
.
field
==
'
e
valuationFile'
)
{
item
.
default
=
attach
.
e
valuationFile
||
[];
item
.
templateUrl
=
attachDataInfo
.
value
.
quality_evaluation_file
;
}
else
if
(
item
.
field
==
'
costA
ssessmentFile'
)
{
item
.
default
=
attach
.
costA
ssessmentFile
||
[];
}
else
if
(
item
.
field
==
'
a
ssessmentFile'
)
{
item
.
default
=
attach
.
a
ssessmentFile
||
[];
item
.
templateUrl
=
attachDataInfo
.
value
.
cost_assessment_file
;
}
else
if
(
item
.
field
===
'commitmentLetter'
)
{
item
.
default
=
attach
.
commitmentLetter
||
[];
item
.
templateUrl
=
attachDataInfo
.
value
[
'commitment-letter'
];
}
else
if
(
item
.
field
===
'costAssessmentInstitutionGuid'
)
{
item
.
default
=
attach
.
costAssessmentInstitutionGuid
||
''
;
item
.
default
=
attach
.
costAssessmentInstitutionGuid
?
attach
.
costAssessmentInstitutionGuid
:
attach
.
costAssessmentInstitution
;
}
else
if
(
item
.
field
===
'qualityEvaluationInstitutionGuid'
)
{
item
.
default
=
attach
.
qualityEvaluationInstitutionGuid
||
''
;
item
.
default
=
attach
.
qualityEvaluationInstitutionGuid
?
attach
.
qualityEvaluationInstitutionGuid
:
attach
.
qualityEvaluationInstitution
;
}
});
}
...
...
@@ -326,9 +343,9 @@ const setPropertyFormItemsValue = (info) => {
propertyFormItems
.
value
[
index
+
1
].
visible
=
false
;
propertyFormItems
.
value
[
index
+
2
].
visible
=
false
;
}
}
else
if
(
item
.
field
==
'address'
||
item
.
field
==
'
usci'
||
item
.
field
==
'registerDate'
||
item
.
field
==
'tradeStartDate'
||
item
.
field
==
'trad
eEndDate'
)
{
//在会员详情处获取。
}
else
if
(
item
.
field
==
'address'
||
item
.
field
==
'
socialCreditCode'
||
item
.
field
==
'registrationDate'
||
item
.
field
==
'businessLicenseStartDate'
||
item
.
field
==
'businessLicens
eEndDate'
)
{
//在会员详情处获取。
item
.
default
=
tenantDetail
.
value
[
item
.
field
];
}
else
if
(
item
.
field
==
'businessLicense'
)
{
}
else
if
(
item
.
field
==
'businessLicense
Json
'
)
{
item
.
default
=
tenantDetail
.
value
[
item
.
field
]
||
[];
if
(
!
item
.
default
.
length
)
{
item
.
visible
=
false
;
...
...
@@ -345,14 +362,14 @@ const draftDetailInfo: any = ref({});
/** 会员附件模板 */
const
attachDataInfo
:
any
=
ref
({});
const
getRegisterCatalogListData
=
(
dam
:
any
=
{})
=>
{
const
getRegisterCatalogListData
=
(
dam
:
any
=
{})
=>
{
getRegisterCatalogList
().
then
((
res
:
any
)
=>
{
if
(
res
.
code
==
proxy
.
$passCode
)
{
const
data
=
res
.
data
||
[];
baseFormItems
.
value
[
0
].
options
=
registerCatalogList
.
value
=
data
;
if
(
guid
)
{
if
(
guid
)
{
const
opt
=
data
.
find
(
item
=>
item
.
guid
==
dam
.
damGuid
)
baseFormItems
.
value
[
0
].
default
=
opt
?
opt
.
guid
:
dam
.
damName
baseFormItems
.
value
[
0
].
default
=
opt
?
opt
.
guid
:
dam
.
damName
}
let
dataScaleItem
=
baseFormItems
.
value
.
find
(
item
=>
item
.
field
==
'dataScale'
);
if
(
draftDetailInfo
.
value
.
damGuid
)
{
...
...
@@ -390,6 +407,7 @@ onActivated(() => {
})
onBeforeMount
(()
=>
{
restart
.
value
=
localStorage
.
getItem
(
'isRestart'
)?
true
:
false
;
if
(
guid
)
{
fullscreenLoading
.
value
=
true
;
getRegiaterDetail
({
guid
:
guid
}).
then
((
res
:
any
)
=>
{
...
...
@@ -482,7 +500,7 @@ onBeforeMount(() => {
}
else
{
setPropertyFormItemsValue
(
draftDetailInfo
.
value
);
}
getRegisterCatalogListData
({
damName
:
data
.
daName
,
damGuid
:
data
.
damGuid
});
getRegisterCatalogListData
({
damName
:
data
.
daName
,
damGuid
:
data
.
damGuid
});
}
else
{
ElMessage
.
error
(
res
.
msg
);
}
...
...
@@ -536,6 +554,8 @@ onBeforeMount(() => {
// 获取数据资产目录主题
getParamsList
({
dictType
:
'数据资产目录主题名称'
}).
then
((
res
:
any
)
=>
{
if
(
res
.
code
==
proxy
.
$passCode
)
{
const
data
=
res
.
data
||
[];
subjectDomainListData
.
value
=
data
;
let
item
=
baseFormItems
.
value
.
find
(
item
=>
item
.
field
==
'subjectDomain'
);
item
&&
(
item
.
options
=
subjectDomainListData
.
value
);
}
else
{
...
...
@@ -952,7 +972,7 @@ const baseFormItems: any = ref([
block
:
true
,
field
:
"dataSensitivityLevel"
,
col
:
'other-group-flex'
,
default
:
[
1
],
default
:
[],
children
:
[
{
label
:
"公开数据"
,
...
...
@@ -1038,7 +1058,7 @@ const baseFormItems: any = ref([
type
:
"checkbox-group-row"
,
placeholder
:
""
,
field
:
"dataGetWay"
,
default
:
[
1
],
default
:
[],
col
:
'other-group-flex'
,
block
:
true
,
children
:
[
...
...
@@ -1090,7 +1110,7 @@ const baseFormItems: any = ref([
type
:
"checkbox-group-row"
,
placeholder
:
""
,
field
:
"updateFrequency"
,
default
:
[
3
],
default
:
[],
block
:
true
,
col
:
'other-group-flex'
,
children
:
[
...
...
@@ -1140,7 +1160,7 @@ const baseFormItems: any = ref([
placeholder
:
""
,
col
:
'other-group-flex'
,
field
:
"ownIndustry"
,
default
:
[
2
],
default
:
[],
children
:
[
{
label
:
"能源"
,
...
...
@@ -1178,7 +1198,7 @@ const baseFormItems: any = ref([
placeholder
:
""
,
col
:
'other-group-flex'
,
field
:
"bizOwn"
,
default
:
[
1
],
default
:
[],
children
:
[
{
label
:
"生产类业务数据"
,
...
...
@@ -1398,7 +1418,7 @@ const propertyFormItems: any = ref([
type
:
"checkbox-group-row"
,
placeholder
:
""
,
field
:
"propertyType"
,
default
:
[
3
],
default
:
[],
children
:
[
{
label
:
"数据资源持有权"
,
...
...
@@ -1421,7 +1441,7 @@ const propertyFormItems: any = ref([
placeholder
:
""
,
field
:
"rightsContent"
,
col
:
'col2'
,
default
:
[
5
],
default
:
[],
children
:
[
{
label
:
"可转让"
,
...
...
@@ -1597,10 +1617,10 @@ const propertyFormItems: any = ref([
label
:
'统一社会信用代码'
,
type
:
'input'
,
placeholder
:
'请输入'
,
field
:
'
usci
'
,
field
:
'
socialCreditCode
'
,
col
:
'mr8'
,
disabled
:
true
,
default
:
tenantDetail
.
value
.
usci
??
""
,
default
:
tenantDetail
.
value
.
socialCreditCode
??
""
,
required
:
false
},
{
...
...
@@ -1645,9 +1665,9 @@ const propertyFormItems: any = ref([
{
label
:
"注册日期"
,
type
:
"date"
,
field
:
"regist
er
Date"
,
field
:
"regist
ration
Date"
,
col
:
'mr8'
,
default
:
tenantDetail
.
value
.
regist
er
Date
??
""
,
default
:
tenantDetail
.
value
.
regist
ration
Date
??
""
,
placeholder
:
"请选择"
,
clearable
:
true
,
disabled
:
true
,
...
...
@@ -1657,9 +1677,9 @@ const propertyFormItems: any = ref([
label
:
'营业开始日期'
,
type
:
'date'
,
placeholder
:
'请输入'
,
field
:
'
trad
eStartDate'
,
field
:
'
businessLicens
eStartDate'
,
col
:
'mr8'
,
default
:
tenantDetail
.
value
.
trad
eStartDate
??
""
,
default
:
tenantDetail
.
value
.
businessLicens
eStartDate
??
""
,
unlink
:
true
,
disabled
:
true
,
clearable
:
true
,
...
...
@@ -1669,8 +1689,8 @@ const propertyFormItems: any = ref([
label
:
'营业结束日期'
,
type
:
'date'
,
placeholder
:
'无固定期限'
,
field
:
'
trad
eEndDate'
,
default
:
tenantDetail
.
value
.
trad
eEndDate
??
""
,
field
:
'
businessLicens
eEndDate'
,
default
:
tenantDetail
.
value
.
businessLicens
eEndDate
??
""
,
unlink
:
true
,
col
:
'no-margin-r'
,
disabled
:
true
,
...
...
@@ -1685,7 +1705,7 @@ const propertyFormItems: any = ref([
templateUrl
:
null
,
default
:
[],
visible
:
false
,
field
:
'businessLicense'
field
:
'businessLicense
Json
'
},
]);
...
...
@@ -1749,7 +1769,7 @@ const uploadFormItems: any = ref([
required
:
true
,
default
:
[],
col
:
'mr8'
,
field
:
'
qualityE
valuationFile'
,
field
:
'
e
valuationFile'
,
visible
:
false
,
},
{
...
...
@@ -1780,7 +1800,7 @@ const uploadFormItems: any = ref([
required
:
true
,
default
:
[],
col
:
'mr8'
,
field
:
'
costA
ssessmentFile'
,
field
:
'
a
ssessmentFile'
,
visible
:
false
,
},
{
...
...
@@ -1821,7 +1841,7 @@ const uploadFormRules = ref({
costAssessmentInstitutionGuid
:
[
{
required
:
true
,
trigger
:
'change'
,
message
:
"请选择价值评估机构"
}
],
qualityE
valuationFile
:
[{
e
valuationFile
:
[{
validator
:
(
rule
:
any
,
value
:
any
,
callback
:
any
)
=>
{
if
(
!
value
?.
length
)
{
callback
(
new
Error
(
'请上传质量评估报告'
))
...
...
@@ -1830,7 +1850,7 @@ const uploadFormRules = ref({
}
},
trigger
:
'change'
}],
costA
ssessmentFile
:
[{
a
ssessmentFile
:
[{
validator
:
(
rule
:
any
,
value
:
any
,
callback
:
any
)
=>
{
if
(
!
value
?.
length
)
{
callback
(
new
Error
(
'请上传价值评估报告'
))
...
...
@@ -1898,8 +1918,8 @@ const saveDraft = () => {
let
registerAttachment
:
any
=
{
// fileHash: uploadFormInline.fileHash,
registerLetter
:
uploadFormInline
[
'registerLetter'
]?.
map
(
u
=>
u
.
url
)
||
[],
qualityEvaluationFile
:
uploadFormInline
[
'qualityE
valuationFile'
]?.
map
(
u
=>
u
.
url
)
||
[],
costAssessmentFile
:
uploadFormInline
[
'costA
ssessmentFile'
]?.
map
(
u
=>
u
.
url
)
||
[],
evaluationFile
:
uploadFormInline
[
'e
valuationFile'
]?.
map
(
u
=>
u
.
url
)
||
[],
assessmentFile
:
uploadFormInline
[
'a
ssessmentFile'
]?.
map
(
u
=>
u
.
url
)
||
[],
commitmentLetter
:
uploadFormInline
[
'commitmentLetter'
]?.
map
(
u
=>
u
.
url
)
||
[],
}
if
(
qualityEvaluationInstitution
.
value
)
{
...
...
@@ -1986,8 +2006,8 @@ const save = () => {
let
registerAttachment
:
any
=
{
// fileHash: uploadFormInline.fileHash,
registerLetter
:
uploadFormInline
[
'registerLetter'
]?.
map
(
u
=>
u
.
url
)
||
[],
qualityEvaluationFile
:
uploadFormInline
[
'qualityE
valuationFile'
]?.
map
(
u
=>
u
.
url
)
||
[],
costAssessmentFile
:
uploadFormInline
[
'costA
ssessmentFile'
]?.
map
(
u
=>
u
.
url
)
||
[],
evaluationFile
:
uploadFormInline
[
'e
valuationFile'
]?.
map
(
u
=>
u
.
url
)
||
[],
assessmentFile
:
uploadFormInline
[
'a
ssessmentFile'
]?.
map
(
u
=>
u
.
url
)
||
[],
commitmentLetter
:
uploadFormInline
[
'commitmentLetter'
]?.
map
(
u
=>
u
.
url
)
||
[],
}
if
(
qualityEvaluationInstitution
.
value
)
{
...
...
@@ -2012,7 +2032,7 @@ const save = () => {
fullscreenLoading
.
value
=
true
;
if
(
draftDetailInfo
.
value
.
guid
)
{
params
.
guid
=
draftDetailInfo
.
value
.
guid
;
params
.
isRestart
=
localStorage
.
getItem
(
'isRestart'
)
?
true
:
fals
e
;
params
.
isRestart
=
restart
.
valu
e
;
registerUpdate
(
params
).
then
((
res
:
any
)
=>
{
fullscreenLoading
.
value
=
false
;
if
(
res
.
code
==
proxy
.
$passCode
)
{
...
...
@@ -2145,7 +2165,7 @@ const approveTableInfo: any = ref({
<div
class=
"tool_btns"
>
<div
class=
"btns"
>
<el-button
plain
@
click=
"cancel"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"saveDraft"
>
保存
</el-button>
<el-button
type=
"primary"
@
click=
"saveDraft"
v-if=
"!restart"
>
保存
</el-button>
<el-button
type=
"primary"
@
click=
"save"
>
提交申请
</el-button>
</div>
</div>
...
...
src/views/data_quality/qualityRules.vue
View file @
50188ad
...
...
@@ -939,7 +939,7 @@ onBeforeMount(() => {
d
.
label
=
d
.
ruleName
;
d
.
value
=
d
.
ruleCode
;
return
d
;
})?.
filter
(
d
=>
d
.
ruleCode
!=
'rows_check'
&&
d
.
ruleCode
!=
'volatility_check'
)
||
[];
})?.
filter
(
d
=>
d
.
ruleCode
!=
'rows_check'
&&
d
.
ruleCode
!=
'volatility_check'
&&
d
.
ruleCode
!=
'ref_integrality'
)
||
[];
searchItemList
.
value
[
2
].
options
=
ruleTypeList
.
value
;
}
else
{
ElMessage
.
error
(
res
.
msg
);
...
...
src/views/data_quality/ruleForm.vue
View file @
50188ad
...
...
@@ -163,7 +163,7 @@ const rulesListByType: any = computed(() => {
// json: checkRulesList.value.filter(r => r.value == ''),
tinyint
:
checkRulesList
.
value
.
filter
(
r
=>
r
.
value
==
'length_rule'
||
r
.
value
==
'num_value_rule'
||
r
.
value
==
'custom_regular_rule'
),
time
:
checkRulesList
.
value
.
filter
(
r
=>
r
.
value
==
'length_rule'
||
r
.
value
==
'custom_regular_rule'
),
bit
:
checkRulesList
.
value
.
filter
(
r
=>
r
.
value
==
'length_rule'
||
r
.
value
==
'ch_rule'
||
r
.
value
==
'en_rule'
||
r
.
value
==
'custom_regular_rule'
)
,
bit
:
checkRulesList
.
value
.
filter
(
r
=>
r
.
value
==
'length_rule'
||
r
.
value
==
'ch_rule'
||
r
.
value
==
'en_rule'
||
r
.
value
==
'custom_regular_rule'
)
}
});
...
...
@@ -188,7 +188,7 @@ onBeforeMount(() => {
}
if
(
props
.
smallCategoryList
?.
length
)
{
let
p
=
panelList
.
value
[
1
];
if
(
p
.
default
)
{
if
(
p
.
default
&&
!
props
.
readonly
)
{
if
(
p
.
default
==
'1'
)
{
//规范性
panelList
.
value
[
2
].
options
=
props
.
smallCategoryList
.
slice
(
0
,
6
);
}
else
if
(
p
.
default
==
'2'
)
{
...
...
@@ -2395,7 +2395,7 @@ defineExpose({
<
/el-table-column
>
<
el
-
table
-
column
prop
=
"checkRule"
label
=
"选择检验规则"
width
=
"150px"
align
=
"left"
show
-
overflow
-
tooltip
>
<
template
#
default
=
"scope"
>
<
el
-
select
v
-
if
=
"!props.readonly
|| (scope.row.dataType == 'text' || scope.row.dataType == 'json')
"
<
el
-
select
v
-
if
=
"!props.readonly"
v
-
model
=
"scope.row['checkRule']"
placeholder
=
"请选择"
filterable
clearable
>
<
el
-
option
v
-
for
=
"opt in (rulesListByType[scope.row.dataType] || checkRulesList)"
:
key
=
"opt['value']"
:
label
=
"opt['label']"
:
value
=
"opt['value']"
/>
...
...
src/views/data_quality/ruleModel.vue
View file @
50188ad
...
...
@@ -158,7 +158,7 @@ onBeforeMount(() => {
d
.
label
=
d
.
ruleName
;
d
.
value
=
d
.
ruleCode
;
return
d
;
})?.
filter
(
d
=>
d
.
ruleCode
!=
'rows_check'
&&
d
.
ruleCode
!=
'volatility_check'
)
||
[];
})?.
filter
(
d
=>
d
.
ruleCode
!=
'rows_check'
&&
d
.
ruleCode
!=
'volatility_check'
&&
d
.
ruleCode
!=
'ref_integrality'
)
||
[];
}
else
{
ElMessage
.
error
(
res
.
msg
);
}
...
...
src/views/data_quality/ruleModelEdit.vue
View file @
50188ad
...
...
@@ -241,7 +241,7 @@ onBeforeMount(() => {
d
.
label
=
d
.
ruleName
;
d
.
value
=
d
.
ruleCode
;
return
d
;
})?.
filter
(
d
=>
d
.
ruleCode
!=
'rows_check'
&&
d
.
ruleCode
!=
'volatility_check'
)
||
[];
})?.
filter
(
d
=>
d
.
ruleCode
!=
'rows_check'
&&
d
.
ruleCode
!=
'volatility_check'
&&
d
.
ruleCode
!=
'ref_integrality'
)
||
[];
}
else
{
ElMessage
.
error
(
res
.
msg
);
}
...
...
src/views/data_quality/ruleTemplate.vue
View file @
50188ad
...
...
@@ -248,7 +248,7 @@ onBeforeMount(() => {
d
.
label
=
d
.
ruleName
;
d
.
value
=
d
.
ruleCode
;
return
d
;
})?.
filter
(
d
=>
d
.
ruleCode
!=
'rows_check'
&&
d
.
ruleCode
!=
'volatility_check'
)
||
[];
//先隐藏掉表行数检查和表行数波动率
})?.
filter
(
d
=>
d
.
ruleCode
!=
'rows_check'
&&
d
.
ruleCode
!=
'volatility_check'
&&
d
.
ruleCode
!=
'ref_integrality'
)
||
[];
//先隐藏掉表行数检查和表行数波动率
}
else
{
ElMessage
.
error
(
res
.
msg
);
}
...
...
vite.config.ts
View file @
50188ad
...
...
@@ -40,6 +40,11 @@ export default ({ mode, command }) => {
changeOrigin
:
env
.
VITE_OPEN_PROXY
===
'true'
,
rewrite
:
path
=>
path
.
replace
(
/
\/
portal/
,
''
),
},
'/circulation'
:{
target
:
env
.
VITE_APP_CIRCULATION
,
changeOrigin
:
env
.
VITE_OPEN_PROXY
===
'true'
,
rewrite
:
path
=>
path
.
replace
(
/
\/
circulation/
,
''
),
},
'/obs'
:
{
target
:
'//csbr-daop.obs.cn-north-1.myhuaweicloud.com:443'
,
changeOrigin
:
env
.
VITE_OPEN_PROXY
===
'true'
,
...
...
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