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
befe0e9c
authored
2025-09-17 16:33:03 +0800
by
lihua
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
修复数据产品上架详情
1 parent
751c707e
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
211 additions
and
26 deletions
src/views/data_asset/registerCatalogDetail.vue
src/views/data_asset/registerStartJS.vue
src/views/data_product/productListingDetail.vue
src/views/data_asset/registerCatalogDetail.vue
View file @
befe0e9
...
...
@@ -25,6 +25,7 @@ import { passFlowData, rejectFlowData, revokeFlowData, isMyFirstNode } from "@/a
import
{
onUploadFilePreview
,
onUploadFileDownload
}
from
'@/api/modules/common'
;
import
{
CircleCloseFilled
}
from
'@element-plus/icons-vue'
import
useDataAssetStore
from
"@/store/modules/dataAsset"
;
import
{
TableColumnWidth
}
from
'@/utils/enum'
;
const
router
=
useRouter
();
const
route
=
useRoute
();
...
...
@@ -47,6 +48,13 @@ const fullscreenLoading = ref(false);
const
isTruncated
=
ref
(
false
);
const
isExpanded
=
ref
(
false
);
/** 数据产品登记的产品信息详情 */
const
publicDataProductsMainRSVO
:
any
=
ref
({});
const
isJSZQ
=
computed
(()
=>
{
return
!!
detailInfo
.
value
.
publicDataProductsMainRSVO
?.
guid
;
})
/** 交付物结果数据 */
const
deliveryDetailInfo
:
any
=
ref
([]);
...
...
@@ -100,9 +108,9 @@ const registerDetailTableInfo = ref({
rowKey
:
'guid'
,
height
:
220
,
loading
:
false
,
fields
:
[
{
label
:
"序号"
,
type
:
"index"
,
width
:
56
,
align
:
"center"
},
{
label
:
"事项"
,
field
:
"title"
,
width
:
160
,
align
:
"left"
},
{
label
:
"对接主体"
,
field
:
"institutionName"
,
width
:
240
,
align
:
"left"
},
fields
:
[{
label
:
"序号"
,
type
:
"index"
,
width
:
56
,
align
:
"center"
},
{
label
:
"事项"
,
field
:
"title"
,
width
:
160
,
align
:
"left"
},
{
label
:
"对接主体"
,
field
:
"institutionName"
,
width
:
240
,
align
:
"left"
},
],
data
:
<
any
>
[],
showPage
:
false
,
...
...
@@ -114,16 +122,19 @@ const registerDetailTableInfo = ref({
label
:
"查看详情"
,
value
:
"detail"
,
click
:
(
scope
)
=>
{
let
row
=
scope
.
row
;
if
(
row
.
type
==
'asset'
)
{
router
.
push
({
isJSZQ
.
value
?
router
.
push
({
name
:
'registerInfoJSZQDetail'
,
query
:
{
guid
:
row
.
guid
,
name
:
detailInfo
.
value
.
damName
,
tenantGuid
:
row
.
tenantGuid
,
tenantName
:
row
.
tenantName
,
type
:
'asset'
}
})
:
router
.
push
({
name
:
'registerInfoDetail'
,
query
:
{
guid
:
row
.
guid
,
name
:
detailInfo
.
value
.
damName
,
tenantGuid
:
row
.
tenantGuid
,
tenantName
:
row
.
tenantName
,
type
:
'asset'
}
});
}
else
if
(
row
.
type
==
'qualityEvaluate'
)
{
if
(
row
.
registerApproveState
==
'Y'
)
{
row
.
dataSource
==
'1'
?
router
.
push
({
isJSZQ
.
value
?
router
.
push
({
name
:
'registerJSZQDetail'
,
query
:
{
guid
:
row
.
registerGuid
,
evaGuid
:
row
.
guid
,
type
:
'qualityEvaluate'
,
tenantGuid
:
row
.
tenantGuid
,
tenantName
:
row
.
tenantName
}
})
:
router
.
push
({
})
:
router
.
push
({
name
:
'registerDetail'
,
query
:
{
guid
:
row
.
registerGuid
,
evaGuid
:
row
.
guid
,
type
:
'qualityEvaluate'
,
tenantGuid
:
row
.
tenantGuid
,
tenantName
:
row
.
tenantName
}
});
...
...
@@ -135,10 +146,10 @@ const registerDetailTableInfo = ref({
}
}
else
if
(
row
.
type
==
'costAssess'
)
{
if
(
row
.
registerApproveState
==
'Y'
)
{
row
.
dataSource
==
'1'
?
router
.
push
({
isJSZQ
.
value
?
router
.
push
({
name
:
'registerValueJSZQDetail'
,
query
:
{
guid
:
row
.
registerGuid
,
costAssessGuid
:
row
.
guid
,
type
:
'costAssess'
,
tenantGuid
:
row
.
tenantGuid
,
tenantName
:
row
.
tenantName
}
})
:
router
.
push
({
})
:
router
.
push
({
name
:
'registerValueDetail'
,
query
:
{
guid
:
row
.
registerGuid
,
costAssessGuid
:
row
.
guid
,
type
:
'costAssess'
,
tenantGuid
:
row
.
tenantGuid
,
tenantName
:
row
.
tenantName
}
});
...
...
@@ -180,11 +191,16 @@ const getDetailInfo = () => {
if
(
res
.
code
==
proxy
.
$passCode
)
{
const
data
=
res
.
data
||
{};
detailInfo
.
value
=
data
;
publicDataProductsMainRSVO
.
value
=
detailInfo
.
value
.
publicDataProductsMainRSVO
||
{};
// detailInfo.value.damTypeName = damTypes.find(d => d.value == detailInfo.value.damType)?.label;
detailInfo
.
value
.
dataSourcesName
=
dataSourcesList
.
find
(
d
=>
d
.
value
==
detailInfo
.
value
.
dataSources
)?.
label
;
baseInfoFormItems
.
value
.
forEach
(
item
=>
{
item
.
default
=
detailInfo
.
value
[
item
.
field
]
});
if
(
!
isJSZQ
.
value
)
{
baseInfoFormItems
.
value
.
forEach
(
item
=>
{
item
.
default
=
detailInfo
.
value
[
item
.
field
]
});
}
inputParamsTableInfo
.
value
.
data
=
publicDataProductsMainRSVO
.
value
?.
reqParamListRSVOS
||
[];
respParamsTableInfo
.
value
.
data
=
publicDataProductsMainRSVO
.
value
?.
respParamListRSVOS
||
[];
if
(
fullPath
===
route
.
fullPath
)
{
document
.
title
=
`详情-
${
data
.
damName
}
`
;
}
...
...
@@ -275,7 +291,7 @@ const getDetailInfo = () => {
if
(
data
.
qualityEvaluationRSVO
)
{
registerDetailTableInfo
.
value
.
data
.
push
(
Object
.
assign
({},
data
.
qualityEvaluationRSVO
,
{
title
:
"质量评估"
,
type
:
'qualityEvaluate'
type
:
'qualityEvaluate'
}));
}
if
(
data
.
costAssessmentRSVO
)
{
...
...
@@ -373,7 +389,7 @@ const handleTableExpandChange = (row: any, expandedRows: any[]) => {
const handleTableViewData = (scope) => {
let row = scope.row;
router.push({
// name: 'damTableDataView',
// name: 'damTableDataView',
path: route.query.dataSources == '1' ? '/data-asset/authordata-catalog/damTableDataView' : '/data-asset/register-catalog/damTableDataView',
query: {
guid: row.guid,
...
...
@@ -1106,6 +1122,58 @@ const viewDeliveryFile = (file) => {
onUploadFileDownload
(
file
);
}
const
activeTabName
=
ref
(
'reqParamList'
);
/** 入参表格信息 */
const
inputParamsTableInfo
=
ref
({
id
:
"input-params-table"
,
height
:
'214px'
,
fields
:
[
{
label
:
"序号"
,
type
:
"index"
,
width
:
TableColumnWidth
.
INDEX
,
align
:
"center"
},
{
label
:
"参数英文"
,
field
:
"fieldEnName"
,
width
:
140
,
},
{
label
:
"参数中文"
,
field
:
"fieldCnName"
,
width
:
140
,
},
{
label
:
"参数类型"
,
field
:
"fieldValueTypeName"
,
width
:
140
,
},
{
label
:
"是否必填"
,
field
:
"fieldMandatory"
,
width
:
100
,
getName
:
(
scope
)
=>
{
return
scope
.
row
.
fieldMandatory
==
'Y'
?
'是'
:
'否'
;
}
},
{
label
:
"参数描述"
,
field
:
"fieldComment"
,
width
:
140
,
},
{
label
:
"展示层级顺序"
,
field
:
"levelCode"
,
width
:
120
,
align
:
'right'
,
type
:
'chnum'
},
],
data
:
[],
showPage
:
false
,
actionInfo
:
{
show
:
false
,
},
loading
:
false
});
/** 出参表格信息 */
const
respParamsTableInfo
=
ref
({
id
:
"resp-params-table"
,
height
:
'214px'
,
fields
:
[
{
label
:
"序号"
,
type
:
"index"
,
width
:
TableColumnWidth
.
INDEX
,
align
:
"center"
},
{
label
:
"参数英文"
,
field
:
"fieldEnName"
,
width
:
140
,
},
{
label
:
"参数中文"
,
field
:
"fieldCnName"
,
width
:
140
,
},
{
label
:
"参数类型"
,
field
:
"fieldValueTypeName"
,
width
:
140
,
},
{
label
:
"是否必填"
,
field
:
"fieldMandatory"
,
width
:
100
,
getName
:
(
scope
)
=>
{
return
scope
.
row
.
fieldMandatory
==
'Y'
?
'是'
:
'否'
;
}
},
{
label
:
"参数描述"
,
field
:
"fieldComment"
,
width
:
140
,
},
{
label
:
"展示层级顺序"
,
field
:
"levelCode"
,
width
:
120
,
align
:
'right'
,
type
:
'chnum'
},
],
data
:
[],
showPage
:
false
,
actionInfo
:
{
show
:
false
,
},
loading
:
false
});
</
script
>
<
template
>
...
...
@@ -1134,16 +1202,18 @@ const viewDeliveryFile = (file) => {
<div
class=
"left-img"
></div>
<div
class=
"right-main"
>
<div
class=
"asset-title"
>
<div
style=
"display: flex;align-items: center;"
>
<div
@
click=
"handleClick"
:class=
"
{ 'foundMode': detailInfo.foundMode == '2', 'title1': true }">
{{
detailInfo
.
damName
??
'--'
}}
</div>
<div
style=
"display: flex;align-items: center;
width: 100%
"
>
<div
@
click=
"handleClick"
:class=
"
{ 'foundMode': detailInfo.foundMode == '2', 'title1': true }">
<ellipsis-tooltip
:content=
"detailInfo.damName ?? '--'"
class-name=
"w100f"
:refName=
"'tooltipOver' + 'damName'"
></ellipsis-tooltip>
</div>
<div
class=
"dataLabel"
>
{{
detailInfo
.
damTypeName
}}
</div>
<div
class=
"dataLabel"
>
{{
detailInfo
.
subjectDomainName
||
detailInfo
.
subjectDomain
}}
</div>
<div
class=
"dataLabel"
v-show=
"detailInfo.subjectDomain"
>
{{
detailInfo
.
subjectDomainName
||
detailInfo
.
subjectDomain
}}
</div>
<div
class=
"dataLabel dataLabel1"
v-if=
"detailInfo.databaseType"
>
{{
detailInfo
.
databaseType
}}
</div>
<div
class=
"dataLabel dataLabel1"
>
{{
detailInfo
.
dataSourcesName
}}
</div>
</div>
</div>
<div
class=
"applicationScenarios"
>
{{
'权利主体:'
+
detailInfo
.
rightMainName
}}
</div>
<div
v-show=
"detailInfo.rightMainName"
class=
"applicationScenarios"
>
{{
'权利主体:'
+
detailInfo
.
rightMainName
}}
</div>
<div
class=
"applicationScenarios"
:style=
"
{ 'margin-right': (isTruncated
&&
!isExpanded) ? '30px' : '0px', WebkitLineClamp: (!isTruncated ? 'inherit' : (isExpanded ? 'inherit' : 1)), WebkitBoxOrient: 'vertical' }">
{{
'覆盖地域:'
+
(
detailInfo
.
coverageArea
?.[
0
]?.[
0
]
==
'all'
?
'全国'
:
(
detailInfo
.
coverageAreaName
?.
map
(
c
=>
...
...
@@ -1156,7 +1226,97 @@ const viewDeliveryFile = (file) => {
</div>
</div>
<ContentWrap
id=
"id-assetContent"
title=
"基础信息"
description=
""
style=
"margin: 0 16px"
>
<Form
ref=
"baseInfoFormRef"
:itemList=
"baseInfoFormItems"
formId=
"base-info-form"
/>
<Form
v-if=
"!isJSZQ"
ref=
"baseInfoFormRef"
:itemList=
"baseInfoFormItems"
formId=
"base-info-form"
/>
<div
v-else
class=
"list_panel"
>
<div
class=
"list_item"
>
<span
class=
"item_label"
>
产品编码:
</span>
<span
class=
"item_value"
><ellipsis-tooltip
:content=
"publicDataProductsMainRSVO?.productCode || '--'"
class-name=
"w100f mr8-i"
:refName=
"'tooltipOver' + 'productCode'"
></ellipsis-tooltip></span>
</div>
<div
class=
"list_item"
>
<span
class=
"item_label"
>
产品类型:
</span>
<span
class=
"item_value"
>
{{
publicDataProductsMainRSVO
?.
productTypeName
}}
</span>
</div>
<div
class=
"list_item"
>
<span
class=
"item_label"
>
是否需要信息主体授权:
</span>
<span
class=
"item_value"
>
{{
publicDataProductsMainRSVO
?.
authLevel
==
'Y'
?
'是'
:
'否'
}}
</span>
</div>
<div
class=
"list_item"
>
<span
class=
"item_label"
>
更新频率:
</span>
<span
class=
"item_value"
>
{{
publicDataProductsMainRSVO
?.
updateFrequencyName
||
'--'
}}
</span>
</div>
<div
class=
"list_item"
>
<span
class=
"item_label"
>
产品发布机构:
</span>
<span
class=
"item_value"
><ellipsis-tooltip
:content=
"publicDataProductsMainRSVO?.productPublisherName || '--'"
class-name=
"w100f mr8-i"
:refName=
"'tooltipOver' + 'productPublisherName'"
></ellipsis-tooltip></span>
</div>
<div
class=
"list_item"
>
<span
class=
"item_label"
>
领域:
</span>
<span
class=
"item_value"
>
{{
publicDataProductsMainRSVO
?.
domainName
||
'--'
}}
</span>
</div>
<div
class=
"list_item"
>
<span
class=
"item_label"
>
应用场景:
</span>
<span
class=
"item_value"
><ellipsis-tooltip
:content=
"publicDataProductsMainRSVO?.scenarioName || '--'"
class-name=
"w100f mr8-i"
:refName=
"'tooltipOver' + 'scenarioName'"
></ellipsis-tooltip></span>
</div>
<div
class=
"list_item"
v-show=
"publicDataProductsMainRSVO?.domain == '003'"
>
<span
class=
"item_label"
>
所属科室:
</span>
<span
class=
"item_value"
>
{{
publicDataProductsMainRSVO
?.
medDepartmentCodeName
||
'--'
}}
</span>
</div>
<div
class=
"list_item"
v-show=
"publicDataProductsMainRSVO?.domain == '003'"
>
<span
class=
"item_label"
>
所属疾病:
</span>
<span
class=
"item_value"
>
{{
publicDataProductsMainRSVO
?.
diseaseName
||
'--'
}}
</span>
</div>
<div
class=
"list_item"
v-show=
"publicDataProductsMainRSVO?.domain == '003'"
>
<span
class=
"item_label"
>
数据规模(条):
</span>
<span
class=
"item_value"
>
{{
changeNum
(
publicDataProductsMainRSVO
?.
dataScale
||
0
,
0
)
}}
</span>
</div>
<div
class=
"list_item"
v-show=
"publicDataProductsMainRSVO?.domain == '003'"
>
<span
class=
"item_label"
>
病例总数(例):
</span>
<span
class=
"item_value"
>
{{
changeNum
(
publicDataProductsMainRSVO
?.
caseNumber
||
0
,
0
)
}}
</span>
</div>
<div
class=
"list_item"
v-show=
"publicDataProductsMainRSVO?.domain == '004'"
>
<span
class=
"item_label"
>
所属主题:
</span>
<span
class=
"item_value"
>
{{
publicDataProductsMainRSVO
?.
subjectDomainName
||
'--'
}}
</span>
</div>
<div
class=
"list_item"
>
<span
class=
"item_label"
>
数据来源:
</span>
<span
class=
"item_value"
>
{{
publicDataProductsMainRSVO
?.
dataSourcesName
||
'--'
}}
</span>
</div>
<div
class=
"list_item"
>
<span
class=
"item_label"
>
数据覆盖范围:
</span>
<span
class=
"item_value"
><ellipsis-tooltip
:content=
"!publicDataProductsMainRSVO?.dataCoverage?.length ? '--' : (publicDataProductsMainRSVO?.dataCoverage[0] == '1' ?
'全国' : publicDataProductsMainRSVO?.dataCoverageName.join(',')
)"
class-name=
"w100f mr8-i"
:refName=
"'tooltipOver' + 'dataCoverage'"
></ellipsis-tooltip></span>
</div>
<div
class=
"list_item"
>
<span
class=
"item_label"
>
产品应用方向:
</span>
<span
class=
"item_value"
>
{{
publicDataProductsMainRSVO
?.
productDirectionName
||
'--'
}}
</span>
</div>
<div
class=
"list_item"
>
<span
class=
"item_label"
>
版本名称:
</span>
<span
class=
"item_value"
><ellipsis-tooltip
:content=
"publicDataProductsMainRSVO?.versionName || '--'"
class-name=
"w100f mr8-i"
:refName=
"'tooltipOver' + 'versionName'"
></ellipsis-tooltip></span>
</div>
<div
class=
"list_item is_block"
>
<span
class=
"item_label"
>
产品关键词:
</span>
<span
class=
"item_value"
>
{{
publicDataProductsMainRSVO
.
productKeywords
?.
join
(
','
)
||
'--'
}}
</span>
</div>
<div
class=
"list_item is_block"
>
<span
class=
"item_label"
>
产品描述:
</span>
<span
class=
"item_value"
>
{{
publicDataProductsMainRSVO
?.
productDesc
||
'--'
}}
</span>
</div>
</div>
</ContentWrap>
<ContentWrap
v-if=
"isJSZQ"
id=
"id-paramsInfo"
title=
"入参出参信息"
description=
""
style=
"margin: 16px 16px 16px"
>
<el-tabs
v-model=
"activeTabName"
class=
"param-tabs"
>
<el-tab-pane
label=
"入参信息"
name=
"reqParamList"
>
<Table
ref=
"inputParamsTableRef"
:tableInfo=
"inputParamsTableInfo"
class=
"fiveRow-table"
/>
</el-tab-pane>
<el-tab-pane
label=
"出参信息"
name=
"respParamList"
>
<Table
ref=
"respParamsTableRef"
:tableInfo=
"respParamsTableInfo"
class=
"fiveRow-table"
/>
</el-tab-pane>
</el-tabs>
</ContentWrap>
<ContentWrap
id=
"id-table"
title=
"资源表"
v-if=
"detailInfo.damCatalogTableInfo?.length"
description=
""
style=
"margin: 16px 16px 16px"
>
...
...
@@ -1342,7 +1502,7 @@ const viewDeliveryFile = (file) => {
<div
class=
"list_item"
:style=
"{ width: '60%' }"
>
<span
class=
"item_label"
>
评价对象范围:
</span>
<span
class=
"item_value"
>
{{ evaDetailInfo.evaluationRangeStart + '~' + evaDetailInfo.evaluationRangeEnd
}}
</span>
}}
</span>
</div>
<div
class=
"list_item is_block"
>
<span
class=
"item_label"
>
质量评价结果:
</span>
...
...
@@ -1472,7 +1632,8 @@ const viewDeliveryFile = (file) => {
</div>
</ContentWrap>
<ContentWrap
v-if=
"route.query.type == 'asset' && registerDetailTableInfo.data.length > 0"
id=
"id-registerDetail"
title=
"登记评估上架交易"
description=
""
style=
"margin: 16px 16px 16px"
>
<ContentWrap
v-if=
"route.query.type == 'asset' && registerDetailTableInfo.data.length > 0"
id=
"id-registerDetail"
title=
"登记评估上架交易"
description=
""
style=
"margin: 16px 16px 16px"
>
<Table
:table-info=
"registerDetailTableInfo"
></Table>
</ContentWrap>
...
...
@@ -1517,7 +1678,7 @@ const viewDeliveryFile = (file) => {
v-if=
"toolBtns.length && (route.query.type == 'qualityEvaluate' || route.query.type == 'costAssess' || route.query.type == 'asset')"
>
<div
class=
"btns"
>
<el-button
v-for=
"btn in toolBtns"
:type=
"btn.type"
:plain=
"btn.plain"
@
click=
"btnClick(btn)"
>
{{ btn.label
}}
</el-button>
}}
</el-button>
</div>
</div>
<Dialog
:dialogInfo=
"passDialogInfo"
@
btnClick=
"passDialogBtnClick"
@
inputChange=
passDialogInputChange
/>
...
...
@@ -1691,6 +1852,7 @@ const viewDeliveryFile = (file) => {
letter-spacing
:
0
;
line-height
:
30px
;
font-weight
:
600
;
max-width
:
calc
(
100%
-
250px
);
}
.dataLabel
{
...
...
@@ -1856,4 +2018,21 @@ const viewDeliveryFile = (file) => {
flex-direction
:
column
;
}
}
:deep
(
.param-tabs.el-tabs
)
{
margin-top
:
-8px
;
.el-tabs__header
{
margin-bottom
:
8px
;
}
.el-tabs__item
{
height
:
32px
;
&:nth-child(2)
{
padding-left
:
16px
;
}
}
}
</
style
>
...
...
src/views/data_asset/registerStartJS.vue
View file @
befe0e9
...
...
@@ -2200,6 +2200,9 @@ const saveDraft = () => {
}
fullscreenLoading
.
value
=
true
;
if
(
guid
)
{
if
(
!
params
.
damGuid
)
{
params
.
damGuid
=
detailInfo
.
value
.
damGuid
;
}
params
.
guid
=
guid
;
registerUpdate
(
params
).
then
((
res
:
any
)
=>
{
fullscreenLoading
.
value
=
false
;
...
...
@@ -2400,6 +2403,9 @@ const save = () => {
}
fullscreenLoading
.
value
=
true
;
if
(
guid
)
{
if
(
!
params
.
damGuid
)
{
params
.
damGuid
=
detailInfo
.
value
.
damGuid
;
}
params
.
guid
=
guid
;
registerUpdate
(
params
).
then
((
res
:
any
)
=>
{
fullscreenLoading
.
value
=
false
;
...
...
src/views/data_product/productListingDetail.vue
View file @
befe0e9
...
...
@@ -1939,7 +1939,7 @@ const rejectDialogBtnClick = (btn, info) => {
<span
class=
"item_label"
>
数据时间范围:
</span>
<span
class=
"item_value"
>
{{
timeRangeInfo
||
'--'
}}
</span>
</div>
<div
class=
"list_item"
>
<div
v-show=
"flowDetail.dataSource != '1'"
class=
"list_item"
>
<span
class=
"item_label"
>
交付方式:
</span>
<span
class=
"item_value"
>
{{
flowDetail
.
deliveryWayName
||
'--'
}}
</span>
</div>
...
...
@@ -1947,7 +1947,7 @@ const rejectDialogBtnClick = (btn, info) => {
<span
class=
"item_label"
>
定价方式:
</span>
<span
class=
"item_value"
>
{{
priceWayInfo
||
'--'
}}
</span>
</div>
<div
class=
"list_item"
>
<div
v-show=
"flowDetail.dataSource != '1'"
class=
"list_item"
>
<span
class=
"item_label"
>
定价金额:
</span>
<span
class=
"item_value"
>
{{
prcieInfo
||
'--'
}}
</span>
</div>
...
...
@@ -1976,11 +1976,11 @@ const rejectDialogBtnClick = (btn, info) => {
}}
</span>
</span>
</div>
<div
class=
"list_item is_block"
>
<div
v-show=
"flowDetail.dataSource != '1'"
class=
"list_item is_block"
>
<span
class=
"item_label"
>
收费说明:
</span>
<span
class=
"item_value"
>
{{
flowDetail
.
feeDesc
||
'--'
}}
</span>
</div>
<div
class=
"list_item1 is_block1"
>
<div
v-show=
"flowDetail.dataSource != '1'"
class=
"list_item1 is_block1"
>
<div
class=
"file_item"
v-if=
"flowDetail.productPic && flowDetail.productPic.name"
>
<span
class=
"item_label"
>
产品图片:
</span>
<span
class=
"item_value"
>
...
...
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