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
72248eea
authored
2025-02-05 17:34:32 +0800
by
xukangle
Browse Files
Options
Browse Files
Tag
Download
Plain Diff
Merge branch 'develop' into release-test
2 parents
234bcfcf
16de1226
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
317 additions
and
211 deletions
src/assets/icons/waring.svg
src/layouts/components/Tools/index.vue
src/views/data_asset/registerCatalogManagement.vue
src/views/data_asset/registerStart.vue
src/views/data_product/productListing.vue
src/views/data_product/productListingDetail.vue
src/views/indexNewBigScreen.vue
src/views/security_menu/index.vue
src/assets/icons/waring.svg
0 → 100644
View file @
72248ee
<?xml version="1.0" encoding="UTF-8"?>
<svg
width=
"32px"
height=
"32px"
viewBox=
"0 0 32 32"
version=
"1.1"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
>
<title>
0.全局样式/1.图标/4.基础面性图标/警告
</title>
<g
id=
"0.全局样式/1.图标/4.基础面性图标/警告"
stroke=
"none"
stroke-width=
"1"
fill=
"none"
fill-rule=
"evenodd"
>
<path
d=
"M16,2 C23.7319865,2 30,8.2680135 30,16 C30,23.7319865 23.7319865,30 16,30 C8.2680135,30 2,23.7319865 2,16 C2,8.2680135 8.2680135,2 16,2 Z M16,22 C15.1715729,22 14.5,22.6715729 14.5,23.5 C14.5,24.3284271 15.1715729,25 16,25 C16.8284271,25 17.5,24.3284271 17.5,23.5 C17.5,22.6715729 16.8284271,22 16,22 Z M16,7 C15.4477153,7 15,7.44771525 15,8 L15,8 L15,19 C15,19.5522847 15.4477153,20 16,20 C16.5522847,20 17,19.5522847 17,19 L17,19 L17,8 C17,7.44771525 16.5522847,7 16,7 Z"
id=
"形状结合"
fill=
"#FF991C"
></path>
</g>
</svg>
src/layouts/components/Tools/index.vue
View file @
72248ee
...
...
@@ -66,7 +66,6 @@ onMounted(() => {
<svg-icon
name=
"ep:caret-bottom"
/>
</el-icon>
</div>
</div>
<template
#
dropdown
>
<el-dropdown-menu
class=
"user-dropdown"
>
...
...
src/views/data_asset/registerCatalogManagement.vue
View file @
72248ee
...
...
@@ -54,6 +54,9 @@ const searchItemList = ref([
props
:
{
value
:
'value'
,
label
:
'label'
},
style
:
{
width
:
'230px'
}
},
{
...
...
@@ -83,7 +86,7 @@ const searchItemList = ref([
label
:
""
,
field
:
"dataSources"
,
default
:
""
,
placeholder
:
"
数据
来源"
,
placeholder
:
"
产品
来源"
,
clearable
:
true
,
filterable
:
true
,
options
:
dataSources
.
value
,
...
...
@@ -303,12 +306,19 @@ const handleCreate = () => {
// 定义 ref 和响应式高度
const
tableToolsRef
=
ref
<
any
>
(
null
);
const
tableToolsHeight
=
ref
<
any
>
(
0
);
const
searchHeight
=
ref
<
any
>
(
0
);
// 获取 TableTools 的高度
const
getTableToolsHeight
=
()
=>
{
const
tableToolsElement
:
any
=
tableToolsRef
.
value
;
if
(
tableToolsElement
)
{
console
.
log
(
'tableToolsElement'
,
tableToolsElement
.
offsetHeight
);
tableToolsHeight
.
value
=
tableToolsElement
.
offsetHeight
;
if
(
tableToolsHeight
.
value
>
40
&&
tableToolsHeight
.
value
<
80
)
{
searchHeight
.
value
=
tableToolsHeight
.
value
-
30
;
}
else
if
(
tableToolsHeight
.
value
>
80
)
{
searchHeight
.
value
=
tableToolsHeight
.
value
-
78
;
}
}
};
// 在组件挂载后获取初始高度
...
...
@@ -345,7 +355,7 @@ const handleWindowResize = () => {
</div>
-->
</div>
<div
class=
"table_panel_wrap"
:style=
"
{ height: `calc(100% - ${tableToolsHeight + 60}px)` }">
<div
class=
"data-content"
v-loading=
"listDataLoading"
:style=
"
{ height: `calc(100% - ${
tableTools
Height}px)` }">
<div
class=
"data-content"
v-loading=
"listDataLoading"
:style=
"
{ height: `calc(100% - ${
search
Height}px)` }">
<div
class=
"v-add"
@
click
.
stop=
"handleCreate"
>
<div
class=
" add-img"
></div>
<div
class=
"add-titile"
>
...
...
@@ -413,7 +423,7 @@ const handleWindowResize = () => {
<div
class=
"right"
>
{{ item.damTypeName || '--' }}
</div>
</div>
<div
class=
"mid-content"
>
<div
class=
"left"
>
数据
来源
</div>
<div
class=
"left"
>
产品
来源
</div>
<div
class=
"right"
>
{{ item.foundMode ? (item.foundMode === 1 ? '自建' : '加工交付') : '--'
}}
</div>
</div>
...
...
@@ -458,7 +468,7 @@ const handleWindowResize = () => {
:deep
(
.tools_search
)
{
.el-form-item
.el-select
{
width
:
2
4
0px
;
width
:
2
3
0px
;
}
}
...
...
src/views/data_asset/registerStart.vue
View file @
72248ee
...
...
@@ -168,44 +168,44 @@ const tenantDetail: any = ref({});
/** 获取当前登录会员,服务商,企业等详情。 */
const
getTenantDetail
=
()
=>
{
let
ps
:
any
=
[],
tentData
=
{};
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
);
}
}));
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
==
'socialCreditCode'
||
item
.
field
==
'registrationDate'
||
item
.
field
==
'businessLicenseStartDate'
||
item
.
field
==
'businessLicenseEndDate'
)
{
//在会员详情处获取。
item
.
default
=
tenantDetail
.
value
[
item
.
field
];
}
else
if
(
item
.
field
==
'businessLicenseJson'
)
{
item
.
default
=
tenantDetail
.
value
[
item
.
field
]
||
[];
if
(
!
item
.
default
.
length
)
{
item
.
visible
=
false
;
}
else
{
item
.
visible
=
true
;
}
}
else
if
(
item
.
field
==
'officeLocation'
)
{
if
(
!
guid
&&
tenantDetail
.
value
.
province
)
{
item
.
default
=
[[
tenantDetail
.
value
.
province
,
tenantDetail
.
value
.
city
]];
}
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
);
}
}));
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
==
'socialCreditCode'
||
item
.
field
==
'registrationDate'
||
item
.
field
==
'businessLicenseStartDate'
||
item
.
field
==
'businessLicenseEndDate'
)
{
//在会员详情处获取。
item
.
default
=
tenantDetail
.
value
[
item
.
field
];
}
else
if
(
item
.
field
==
'businessLicenseJson'
)
{
item
.
default
=
tenantDetail
.
value
[
item
.
field
]
||
[];
if
(
!
item
.
default
.
length
)
{
item
.
visible
=
false
;
}
else
{
item
.
visible
=
true
;
}
});
}).
catch
(()
=>
{
fullscreenLoading
.
value
=
false
;
}
else
if
(
item
.
field
==
'officeLocation'
)
{
if
(
!
guid
&&
tenantDetail
.
value
.
province
)
{
item
.
default
=
[[
tenantDetail
.
value
.
province
,
tenantDetail
.
value
.
city
]];
}
}
});
}).
catch
(()
=>
{
fullscreenLoading
.
value
=
false
;
});
}
const
setBaseFormItemsValue
=
(
info
)
=>
{
...
...
@@ -310,28 +310,28 @@ const setUploadFormItemsValue = (info) => {
uploadFormItems
.
value
.
forEach
(
item
=>
{
if
(
item
.
field
==
'registerLetter'
)
{
let
registerLetter
=
attach
.
registerLetter
?
attach
.
registerLetter
:
[];
if
(
registerLetter
.
length
)
{
if
(
registerLetter
.
length
)
{
registerLetter
[
0
].
name
=
registerLetter
[
0
].
name
}
item
.
default
=
registerLetter
;
item
.
templateUrl
=
attachDataInfo
.
value
.
register_letter
;
}
else
if
(
item
.
field
==
'evaluationFile'
)
{
let
evaluationFile
=
attach
.
evaluationFile
?
attach
.
evaluationFile
:
[];
if
(
evaluationFile
.
length
)
{
if
(
evaluationFile
.
length
)
{
evaluationFile
[
0
].
name
=
evaluationFile
[
0
].
name
}
item
.
default
=
evaluationFile
;
item
.
templateUrl
=
attachDataInfo
.
value
.
quality_evaluation_file
;
}
else
if
(
item
.
field
==
'assessmentFile'
)
{
let
assessmentFile
=
attach
.
assessmentFile
?
attach
.
assessmentFile
:
[];
if
(
assessmentFile
.
length
)
{
if
(
assessmentFile
.
length
)
{
assessmentFile
[
0
].
name
=
assessmentFile
[
0
].
name
}
item
.
default
=
assessmentFile
;
item
.
templateUrl
=
attachDataInfo
.
value
.
cost_assessment_file
;
}
else
if
(
item
.
field
===
'commitmentLetter'
)
{
let
commitmentLetter
=
attach
.
commitmentLetter
?
attach
.
commitmentLetter
:
[];
if
(
commitmentLetter
.
length
)
{
if
(
commitmentLetter
.
length
)
{
commitmentLetter
[
0
].
name
=
commitmentLetter
[
0
].
name
}
item
.
default
=
commitmentLetter
;
...
...
@@ -423,7 +423,7 @@ onActivated(() => {
})
onBeforeMount
(()
=>
{
restart
.
value
=
localStorage
.
getItem
(
'isRestart'
)
?
true
:
false
;
restart
.
value
=
localStorage
.
getItem
(
'isRestart'
)
?
true
:
false
;
if
(
guid
)
{
fullscreenLoading
.
value
=
true
;
getRegiaterDetail
({
guid
:
guid
}).
then
((
res
:
any
)
=>
{
...
...
@@ -1939,19 +1939,19 @@ const saveDraft = () => {
name
:
u
.
name
}
})
||
[],
evaluationFile
:
uploadFormInline
[
'evaluationFile'
]?.
map
(
u
=>
{
evaluationFile
:
uploadFormInline
[
'evaluationFile'
]?.
map
(
u
=>
{
return
{
url
:
u
.
url
,
name
:
u
.
name
}
})
||
[],
assessmentFile
:
uploadFormInline
[
'assessmentFile'
]?.
map
(
u
=>
{
assessmentFile
:
uploadFormInline
[
'assessmentFile'
]?.
map
(
u
=>
{
return
{
url
:
u
.
url
,
name
:
u
.
name
}
})
||
[],
commitmentLetter
:
uploadFormInline
[
'commitmentLetter'
]?.
map
(
u
=>
{
commitmentLetter
:
uploadFormInline
[
'commitmentLetter'
]?.
map
(
u
=>
{
return
{
url
:
u
.
url
,
name
:
u
.
name
...
...
@@ -2041,30 +2041,30 @@ const save = () => {
let
uploadFormInline
=
uploadFormRef
.
value
.
formInline
;
let
registerAttachment
:
any
=
{
// fileHash: uploadFormInline.fileHash,
registerLetter
:
uploadFormInline
[
'registerLetter'
]?.
map
(
u
=>
{
return
{
url
:
u
.
url
,
name
:
u
.
name
}
})
||
[],
evaluationFile
:
uploadFormInline
[
'evaluationFile'
]?.
map
(
u
=>
{
return
{
url
:
u
.
url
,
name
:
u
.
name
}
})
||
[],
assessmentFile
:
uploadFormInline
[
'assessmentFile'
]?.
map
(
u
=>
{
return
{
url
:
u
.
url
,
name
:
u
.
name
}
})
||
[],
commitmentLetter
:
uploadFormInline
[
'commitmentLetter'
]?.
map
(
u
=>
{
return
{
url
:
u
.
url
,
name
:
u
.
name
}
})
||
[],
registerLetter
:
uploadFormInline
[
'registerLetter'
]?.
map
(
u
=>
{
return
{
url
:
u
.
url
,
name
:
u
.
name
}
})
||
[],
evaluationFile
:
uploadFormInline
[
'evaluationFile'
]?.
map
(
u
=>
{
return
{
url
:
u
.
url
,
name
:
u
.
name
}
})
||
[],
assessmentFile
:
uploadFormInline
[
'assessmentFile'
]?.
map
(
u
=>
{
return
{
url
:
u
.
url
,
name
:
u
.
name
}
})
||
[],
commitmentLetter
:
uploadFormInline
[
'commitmentLetter'
]?.
map
(
u
=>
{
return
{
url
:
u
.
url
,
name
:
u
.
name
}
})
||
[],
}
if
(
qualityEvaluationInstitution
.
value
)
{
registerAttachment
.
qualityEvaluationInstitution
=
qualityEvaluationInstitution
.
value
...
...
src/views/data_product/productListing.vue
View file @
72248ee
...
...
@@ -360,91 +360,114 @@ const tableBtnClick = (scope, btn) => {
}
if
(
type
==
'up'
)
{
// tableSwitchChange('Y', scope, 'listingStatus')
console
.
log
(
'上架'
,
scope
)
let
params
:
any
=
{}
if
(
scope
.
row
.
exchangeGuid
)
{
// 数交所上架 [params.commitmentLetterInfo[0].url]
params
=
{
guid
:
scope
.
row
.
guid
,
accreditFile
:
scope
.
row
.
accreditFile
,
caseNumber
:
scope
.
row
.
caseNumber
,
commitmentLetter
:
scope
.
row
.
commitmentLetter
,
content
:
scope
.
row
.
productDesc
,
costAssessmentInstitution
:
scope
.
row
.
costAssessmentInstitution
,
costAssessmentInstitutionGuid
:
scope
.
row
.
costAssessmentInstitutionGuid
,
coverageArea
:
scope
.
row
.
coverageArea
,
damCode
:
scope
.
row
.
damCode
,
damGuid
:
scope
.
row
.
damGuid
,
damName
:
scope
.
row
.
damName
,
damType
:
scope
.
row
.
damType
,
dataScale
:
scope
.
row
.
dataScale
,
deliveryWay
:
scope
.
row
.
deliveryWay
,
evaluationFile
:
scope
.
row
.
evaluationFile
,
exchangeGuid
:
scope
.
row
.
exchangeGuid
,
feeDesc
:
scope
.
row
.
feeDesc
,
immediateApprove
:
true
,
priceUnit
:
scope
.
row
.
priceUnit
,
pricingWay
:
scope
.
row
.
pricingWay
,
productPic
:
scope
.
row
.
productPic
,
productPrice
:
scope
.
row
.
productPrice
,
qualityEvaluationInstitution
:
scope
.
row
.
qualityEvaluationInstitution
,
qualityEvaluationInstitutionGuid
:
scope
.
row
.
qualityEvaluationInstitutionGuid
,
timeAreaStart
:
scope
.
row
.
timeAreaStart
,
timeAreaEnd
:
scope
.
row
.
timeAreaEnd
,
registrationCertificate
:
scope
.
row
.
registrationCertificate
,
productDetail
:
scope
.
row
.
productDetail
,
assessmentFile
:
scope
.
row
.
assessmentFile
,
}
listingUpdate
(
params
).
then
((
res
:
any
)
=>
{
if
(
res
.
code
==
proxy
.
$passCode
)
{
ElMessage
({
type
:
"success"
,
message
:
'提交成功'
,
});
getTableData
();
}
else
{
ElMessage
({
type
:
"error"
,
message
:
res
.
msg
,
});
// console.log('上架', scope)
// let params: any = {}
// if (scope.row.exchangeGuid) {
// // 数交所上架 [params.commitmentLetterInfo[0].url]
// params = {
// guid: scope.row.guid,
// accreditFile: scope.row.accreditFile,
// caseNumber: scope.row.caseNumber,
// commitmentLetter: scope.row.commitmentLetter,
// content: scope.row.productDesc,
// costAssessmentInstitution: scope.row.costAssessmentInstitution,
// costAssessmentInstitutionGuid: scope.row.costAssessmentInstitutionGuid,
// coverageArea: scope.row.coverageArea,
// damCode: scope.row.damCode,
// damGuid: scope.row.damGuid,
// damName: scope.row.damName,
// damType: scope.row.damType,
// dataScale: scope.row.dataScale,
// deliveryWay: scope.row.deliveryWay,
// evaluationFile: scope.row.evaluationFile,
// exchangeGuid: scope.row.exchangeGuid,
// feeDesc: scope.row.feeDesc,
// immediateApprove: true,
// priceUnit: scope.row.priceUnit,
// pricingWay: scope.row.pricingWay,
// productPic: scope.row.productPic,
// productPrice: scope.row.productPrice,
// qualityEvaluationInstitution: scope.row.qualityEvaluationInstitution,
// qualityEvaluationInstitutionGuid: scope.row.qualityEvaluationInstitutionGuid,
// timeAreaStart: scope.row.timeAreaStart,
// timeAreaEnd: scope.row.timeAreaEnd,
// registrationCertificate: scope.row.registrationCertificate,
// productDetail: scope.row.productDetail,
// assessmentFile: scope.row.assessmentFile,
// }
// listingUpdate(params).then((res: any) => {
// if (res.code == proxy.$passCode) {
// ElMessage({
// type: "success",
// message: '提交成功',
// });
// getTableData();
// } else {
// ElMessage({
// type: "error",
// message: res.msg,
// });
// }
// })
// } else {
// // 门户数据专区上架
// params = {
// guid: scope.row.guid,
// caseNumber: scope.row.caseNumber,
// content: scope.row.productDesc,
// coverageArea: scope.row.coverageArea,
// damGuid: scope.row.damGuid,
// damName: scope.row.damName,
// damType: scope.row.damType,
// dataScale: scope.row.dataScale,
// deliveryWay: scope.row.deliveryWay,
// feeDesc: scope.row.feeDesc,
// immediateApprove: true,
// priceUnit: scope.row.priceUnit,
// pricingWay: scope.row.pricingWay,
// productPic: scope.row.productPic,
// productPrice: scope.row.productPrice,
// timeAreaStart: scope.row.timeAreaStart,
// timeAreaEnd: scope.row.timeAreaEnd,
// }
// listingUpdateGateway(params).then((res: any) => {
// if (res.code == proxy.$passCode) {
// ElMessage({
// type: "success",
// message: '提交成功',
// });
// getTableData();
// } else {
// ElMessage({
// type: "error",
// message: res.msg,
// });
// }
// })
// console.log('上架', scope)
// }
if
(
row
.
exchangeGuid
)
{
router
.
push
({
name
:
'productListingDetail'
,
query
:
{
guid
:
row
.
guid
,
exchangeName
:
row
.
exchangeName
,
type
:
type
==
'edit'
?
'edit'
:
'redit'
,
case
:
'1'
,
name
:
row
.
damName
,
exchangeGuid
:
row
.
exchangeGuid
}
})
}
else
{
// 门户数据专区上架
params
=
{
guid
:
scope
.
row
.
guid
,
caseNumber
:
scope
.
row
.
caseNumber
,
content
:
scope
.
row
.
productDesc
,
coverageArea
:
scope
.
row
.
coverageArea
,
damGuid
:
scope
.
row
.
damGuid
,
damName
:
scope
.
row
.
damName
,
damType
:
scope
.
row
.
damType
,
dataScale
:
scope
.
row
.
dataScale
,
deliveryWay
:
scope
.
row
.
deliveryWay
,
feeDesc
:
scope
.
row
.
feeDesc
,
immediateApprove
:
true
,
priceUnit
:
scope
.
row
.
priceUnit
,
pricingWay
:
scope
.
row
.
pricingWay
,
productPic
:
scope
.
row
.
productPic
,
productPrice
:
scope
.
row
.
productPrice
,
timeAreaStart
:
scope
.
row
.
timeAreaStart
,
timeAreaEnd
:
scope
.
row
.
timeAreaEnd
,
}
listingUpdateGateway
(
params
).
then
((
res
:
any
)
=>
{
if
(
res
.
code
==
proxy
.
$passCode
)
{
ElMessage
({
type
:
"success"
,
message
:
'提交成功'
,
});
getTableData
();
}
else
{
ElMessage
({
type
:
"error"
,
message
:
res
.
msg
,
});
router
.
push
({
name
:
'productListingDetail'
,
query
:
{
guid
:
row
.
guid
,
type
:
type
==
'edit'
?
'edit'
:
'redit'
,
case
:
'2'
,
name
:
row
.
damName
}
})
console
.
log
(
'上架'
,
scope
)
});
}
}
...
...
@@ -851,10 +874,12 @@ const formInfo = ref<any>({
<div
class=
"list-content"
v-if=
"demandListData.length > 0"
>
<div
class=
"card-content"
v-for=
"item in demandListData"
:key=
"item.guid"
>
<div
class=
"header"
>
<
img
class=
"left-img"
:src=
"(item.picUrl && typeof item.picUrl == 'string') ? item.picUrl : defaultItemLogo"
alt=
""
/>
<div
class=
"right-main"
>
<
div
class=
"header-top"
>
<img
class=
"left-img"
:src=
"(item.picUrl && typeof item.picUrl == 'string') ? item.picUrl : defaultItemLogo"
alt=
""
/
>
<div
class=
"title"
>
{{
item
.
exchangeName
??
'--'
}}
</div>
</div>
<div
class=
"right-main"
>
<div
class=
"count-group"
>
<div
class=
"count-item"
>
<div
class=
"item-label"
>
已上架产品数
</div>
...
...
@@ -868,11 +893,18 @@ const formInfo = ref<any>({
</div>
</div>
<div
class=
"operator-btn"
@
click=
"btnClick(item)"
>
<div
class=
"
left-btn"
>
资产登记
</div>
<!--
<div
class=
"left-btn"
>
更新模板
</div>
-->
<div
class=
"
right-btn"
>
产品上架
</div>
</div>
</div>
</div>
<div
class=
"v-tip"
>
<div
class=
"tip-icon"
></div>
<div
class=
"tip-des"
>
在各数交所上架时,会同时在门户、专区和主平台门户进行展示;在门户上架则只会在门户上架,不会在数交所、专区及主平台门户上架。
</div>
</div>
<div
class=
"table_panel_wrap"
:style=
"
{
height: demandListData.length > 0 ? 'calc(100% - 230px)' : 'calc(100% - 54px)'
}">
...
...
@@ -920,33 +952,42 @@ const formInfo = ref<any>({
display
:
flex
;
justify-content
:
flex-start
;
flex-wrap
:
wrap
;
margin-bottom
:
8px
;
padding
:
0
8px
;
.card-content
{
width
:
300px
;
padding
:
16px
;
box-shadow
:
0
0
0
1px
#d9d9d9
;
margin-right
:
12px
;
border-radius
:
3px
;
margin-right
:
18px
;
margin-bottom
:
12px
;
.header
{
display
:
flex
;
margin-bottom
:
16px
;
flex-direction
:
column
;
padding
:
16px
;
img
{
width
:
80px
;
margin-right
:
16px
;
}
.header-top
{
display
:
flex
;
align-items
:
center
;
margin-bottom
:
22px
;
img
{
width
:
20px
;
height
:
20px
;
margin-right
:
8px
;
}
.title
{
font-size
:
16px
;
color
:
#212121
;
font-weight
:
600
;
margin-bottom
:
8px
;
.title
{
font-size
:
16px
;
color
:
#212121
;
font-weight
:
600
;
}
}
.right-main
{
width
:
calc
(
100%
-
96px
);
width
:
100%
;
padding
:
0
16px
;
display
:
flex
;
flex-direction
:
column
;
justify-content
:
space-between
;
...
...
@@ -956,10 +997,11 @@ const formInfo = ref<any>({
justify-content
:
space-between
;
.item-num
{
font-size
:
2
0
px
;
font-size
:
2
4
px
;
font-weight
:
600
;
color
:
#
212121
;
color
:
#
44ABB4
;
margin-top
:
8px
;
text-align
:
center
;
}
}
}
...
...
@@ -970,38 +1012,64 @@ const formInfo = ref<any>({
//
justify-content
:
space-between
;
justify-content
:
center
;
align-items
:
center
;
box-shadow
:
0
0
0
1px
#d9d9d9
;
position
:
relative
;
width
:
100%
;
height
:
4
0
px
;
height
:
4
4
px
;
line-height
:
40px
;
background
:
#
4fa1a4
;
background
:
#
FAFAFA
;
color
:
#fff
;
cursor
:
pointer
;
border-bottom-left-radius
:
3px
;
border-bottom-right-radius
:
3px
;
border-top
:
1px
solid
#d9d9d9
;
//
&::after
{
//
content
:
''
;
//
width
:
0
;
//
height
:
100%
;
//
height
:
26px
;
//
border-left
:
1px
solid
#d9d9d9
;
//
position
:
absolute
;
//
left
:
50%
;
//
transform
:
translateX
(
-50%
);
//
}
//
>
.left-btn
{
//
width
:
50%
;
//
height
:
40px
;
//
line-height
:
40px
;
//
text-align
:
center
;
//
cursor
:
pointer
;
//
&:hover
{
//
color
:
#4fa1a4
;
//
}
//
}
.left-btn
,
.right-btn
{
width
:
50%
;
height
:
40px
;
line-height
:
40px
;
text-align
:
center
;
cursor
:
pointer
;
color
:
#666666
;
}
}
}
}
.v-tip
{
display
:
flex
;
height
:
40px
;
align-items
:
center
;
background
:
#FFFBF2
;
border
:
1px
solid
rgba
(
255
,
241
,
212
,
1
);
border-radius
:
4px
;
margin
:
5px
8px
17px
8px
;
.tip-icon
{
width
:
16px
;
height
:
16px
;
background
:
url('@/assets/icons/waring.svg')
no-repeat
;
background-size
:
100%
100%
;
margin
:
0
10px
;
}
.tip-des
{
font-size
:
14px
;
color
:
#FF991C
;
line-height
:
20px
;
font-weight
:
400
;
}
}
}
</
style
>
...
...
src/views/data_product/productListingDetail.vue
View file @
72248ee
...
...
@@ -72,6 +72,7 @@ const getArea = (node, resolve) => {
return
;
}
if
(
!
getAreaDataPromise
.
value
[
node
.
value
])
{
console
.
log
(
'getAreaDataPromise'
,
getAreaDataPromise
.
value
);
getAreaDataPromise
.
value
[
node
.
value
]
=
getAreaData
(
params
).
then
((
res
:
any
)
=>
{
getAreaDataPromise
.
value
[
node
.
value
]
=
null
;
node
.
loaded
=
true
;
...
...
@@ -264,13 +265,14 @@ const formInfo = ref<any>({
clearable
:
true
,
required
:
true
,
col
:
'checkbox-right'
,
visible
:
tru
e
visible
:
fals
e
}
],
clearable
:
false
,
required
:
true
,
col
:
'checkbox-cascader'
},
{
},
{
label
:
"交付方式"
,
type
:
"select"
,
placeholder
:
"请选择"
,
...
...
@@ -1191,6 +1193,7 @@ const setFormItems = (row: any = null, isDetail = false) => {
const
selectChange
=
async
(
val
,
row
,
info
)
=>
{
if
(
row
.
field
==
'damName'
)
{
console
.
log
(
val
,
row
,
info
,
'--------1123123---------'
);
const
data
=
row
.
options
.
filter
(
o
=>
o
.
damName
==
val
);
let
coverageArea
=
(
data
.
length
&&
data
[
0
].
coverageArea
)
?
data
[
0
].
coverageArea
:
[];
await
setFormItems
({
...
info
,
coverageArea
:
coverageArea
});
...
...
@@ -1483,9 +1486,17 @@ onBeforeMount(async () => {
if
(
route
.
query
.
exchangeGuid
)
{
getTemplateInfo
();
}
setTimeout
(()
=>
{
formInfo
.
value
.
items
.
forEach
(
item
=>
{
if
(
item
.
field
==
'coverageAreas'
)
{
item
.
children
[
0
].
visible
=
true
}
})
},
0
);
})
const
pageLIstInfo
=
ref
<
any
>
();
const
getTableData
=
async
()
=>
{
const
res
:
any
=
await
getListingList
({
...
...
@@ -1508,13 +1519,13 @@ const getTemplateInfo = () => {
if
(
res
.
code
==
proxy
.
$passCode
)
{
formInfo
.
value
.
items
.
forEach
(
item
=>
{
if
(
item
.
field
==
'commitmentLetterInfo'
)
{
item
.
templateUrl
=
res
.
data
.
commitment_letter
||
''
;
item
.
templateUrl
=
res
.
data
?
.
commitment_letter
||
''
;
}
if
(
item
.
field
==
'accreditFileInfo'
)
{
item
.
templateUrl
=
res
.
data
.
authorization_file
||
''
;
item
.
templateUrl
=
res
.
data
?
.
authorization_file
||
''
;
}
if
(
item
.
field
==
'productDetailInfo'
)
{
item
.
templateUrl
=
res
.
data
.
detail_file
||
''
;
item
.
templateUrl
=
res
.
data
?
.
detail_file
||
''
;
}
})
}
else
{
...
...
src/views/indexNewBigScreen.vue
View file @
72248ee
...
...
@@ -91,18 +91,18 @@ const cardList = ref([
label
:
"最近入表时间"
,
unit
:
""
,
},
{
name
:
"dataCategoryNum"
,
value
:
0
,
label
:
"数据分类"
,
unit
:
""
,
},
{
name
:
"dataGradeNum"
,
value
:
0
,
label
:
"数据分级"
,
unit
:
""
,
},
//
{
//
name: "dataCategoryNum",
//
value: 0,
//
label: "数据分类",
//
unit: "",
//
},
//
{
//
name: "dataGradeNum",
//
value: 0,
//
label: "数据分级",
//
unit: "",
//
},
]);
const
checkImage
=
()
=>
{
...
...
@@ -631,9 +631,9 @@ const autoRoll = (stop = false) => {
},
4000
)
}
/** 快捷筛选项 */
const
filterDate
=
ref
(
'
today
'
);
//默认选中今天
const
filterDate
=
ref
(
''
);
//默认选中今天
/** 日期时间范围值 */
const
daterange
=
ref
([
Moment
(
new
Date
()).
format
(
"YYYY-MM-DD 00:00:00"
),
Moment
(
new
Date
()).
format
(
"YYYY-MM-DD HH:mm:ss"
)
]);
const
daterange
=
ref
([
''
,
''
]);
/** 日期面板的默认显示时分秒 */
const
defaultTime1
=
[
new
Date
(
2000
,
1
,
1
,
0
,
0
,
0
),
new
Date
(
2000
,
1
,
1
,
23
,
59
,
59
)];
// '12:00:00'
const
filterDateClickTimestamp
=
ref
(
Date
.
now
());
// 记录点击时间
...
...
@@ -674,6 +674,7 @@ const handleDatePickerChange = (val) => {
// 更新开始时间和结束时间
startTime
.
value
=
val
[
0
];
endTime
.
value
=
val
[
1
];
daterange
.
value
=
[
startTime
.
value
,
endTime
.
value
];
// 获取数据表格
getAssetTableData
();
...
...
@@ -868,7 +869,7 @@ const handleChangeTime = (val) => {
<div
class=
"row-per"
>
<div
class=
"header"
>
<div
class=
"left-pd"
></div>
<div
class=
"header-title"
>
资产授信
情况
</div>
<div
class=
"header-title"
>
数据产品调用
情况
</div>
</div>
<div
style=
"height: calc(100% - 40px);"
>
<Table
class=
"drak-table"
v-if=
"!financingTableInfo.loading1"
:tableInfo=
"financingTableInfo"
...
...
src/views/security_menu/index.vue
View file @
72248ee
...
...
@@ -31,7 +31,7 @@ const page = ref({
});
const
tableInfo
=
ref
({
id
:
"role-manage-table"
,
multiple
:
true
,
//
multiple: true,
fixedSelection
:
true
,
fields
:
[
{
label
:
"序号"
,
type
:
"index"
,
width
:
56
,
align
:
"center"
},
...
...
@@ -56,6 +56,7 @@ 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
?
'预览'
:
'--'
;
}
},
...
...
@@ -141,6 +142,7 @@ const formItems = ref([
block
:
true
,
visible
:
true
,
default
:
[],
limit
:
1
,
},
{
label
:
'合规法律意见书'
,
...
...
@@ -153,6 +155,7 @@ const formItems = ref([
block
:
true
,
visible
:
true
,
default
:
[],
limit
:
1
,
},
{
label
:
'入表合规方案'
,
...
...
@@ -165,6 +168,7 @@ const formItems = ref([
block
:
true
,
visible
:
true
,
default
:
[],
limit
:
1
,
},
]);
...
...
@@ -366,6 +370,12 @@ const getTableData = () => {
}
}
:deep
(
.tools_search
)
{
.el-form-item
.el-select
{
width
:
230px
;
}
}
.table_panel_wrap
{
margin-top
:
12px
;
width
:
100%
;
...
...
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