c962c817 by lihua

修复数据产品上架详情

1 parent ee6798f4
...@@ -25,6 +25,7 @@ import { passFlowData, rejectFlowData, revokeFlowData, isMyFirstNode } from "@/a ...@@ -25,6 +25,7 @@ import { passFlowData, rejectFlowData, revokeFlowData, isMyFirstNode } from "@/a
25 import { onUploadFilePreview, onUploadFileDownload } from '@/api/modules/common'; 25 import { onUploadFilePreview, onUploadFileDownload } from '@/api/modules/common';
26 import { CircleCloseFilled } from '@element-plus/icons-vue' 26 import { CircleCloseFilled } from '@element-plus/icons-vue'
27 import useDataAssetStore from "@/store/modules/dataAsset"; 27 import useDataAssetStore from "@/store/modules/dataAsset";
28 import { TableColumnWidth } from '@/utils/enum';
28 29
29 const router = useRouter(); 30 const router = useRouter();
30 const route = useRoute(); 31 const route = useRoute();
...@@ -47,6 +48,13 @@ const fullscreenLoading = ref(false); ...@@ -47,6 +48,13 @@ const fullscreenLoading = ref(false);
47 const isTruncated = ref(false); 48 const isTruncated = ref(false);
48 const isExpanded = ref(false); 49 const isExpanded = ref(false);
49 50
51 /** 数据产品登记的产品信息详情 */
52 const publicDataProductsMainRSVO: any = ref({});
53
54 const isJSZQ = computed(() => {
55 return !!detailInfo.value.publicDataProductsMainRSVO?.guid;
56 })
57
50 /** 交付物结果数据 */ 58 /** 交付物结果数据 */
51 const deliveryDetailInfo: any = ref([]); 59 const deliveryDetailInfo: any = ref([]);
52 60
...@@ -100,7 +108,7 @@ const registerDetailTableInfo = ref({ ...@@ -100,7 +108,7 @@ const registerDetailTableInfo = ref({
100 rowKey: 'guid', 108 rowKey: 'guid',
101 height: 220, 109 height: 220,
102 loading: false, 110 loading: false,
103 fields: [ { label: "序号", type: "index", width: 56, align: "center" }, 111 fields: [{ label: "序号", type: "index", width: 56, align: "center" },
104 { label: "事项", field: "title", width: 160, align: "left" }, 112 { label: "事项", field: "title", width: 160, align: "left" },
105 { label: "对接主体", field: "institutionName", width: 240, align: "left" }, 113 { label: "对接主体", field: "institutionName", width: 240, align: "left" },
106 ], 114 ],
...@@ -114,13 +122,16 @@ const registerDetailTableInfo = ref({ ...@@ -114,13 +122,16 @@ const registerDetailTableInfo = ref({
114 label: "查看详情", value: "detail", click: (scope) => { 122 label: "查看详情", value: "detail", click: (scope) => {
115 let row = scope.row; 123 let row = scope.row;
116 if (row.type == 'asset') { 124 if (row.type == 'asset') {
117 router.push({ 125 isJSZQ.value ? router.push({
126 name: 'registerInfoJSZQDetail',
127 query: { guid: row.guid, name: detailInfo.value.damName, tenantGuid: row.tenantGuid, tenantName: row.tenantName, type: 'asset' }
128 }) : router.push({
118 name: 'registerInfoDetail', 129 name: 'registerInfoDetail',
119 query: { guid: row.guid, name: detailInfo.value.damName, tenantGuid: row.tenantGuid, tenantName: row.tenantName, type: 'asset' } 130 query: { guid: row.guid, name: detailInfo.value.damName, tenantGuid: row.tenantGuid, tenantName: row.tenantName, type: 'asset' }
120 }); 131 });
121 } else if (row.type == 'qualityEvaluate') { 132 } else if (row.type == 'qualityEvaluate') {
122 if (row.registerApproveState == 'Y') { 133 if (row.registerApproveState == 'Y') {
123 row.dataSource == '1' ? router.push({ 134 isJSZQ.value ? router.push({
124 name: 'registerJSZQDetail', 135 name: 'registerJSZQDetail',
125 query: { guid: row.registerGuid, evaGuid: row.guid, type: 'qualityEvaluate', tenantGuid: row.tenantGuid, tenantName: row.tenantName } 136 query: { guid: row.registerGuid, evaGuid: row.guid, type: 'qualityEvaluate', tenantGuid: row.tenantGuid, tenantName: row.tenantName }
126 }) : router.push({ 137 }) : router.push({
...@@ -135,7 +146,7 @@ const registerDetailTableInfo = ref({ ...@@ -135,7 +146,7 @@ const registerDetailTableInfo = ref({
135 } 146 }
136 } else if (row.type == 'costAssess') { 147 } else if (row.type == 'costAssess') {
137 if (row.registerApproveState == 'Y') { 148 if (row.registerApproveState == 'Y') {
138 row.dataSource == '1' ? router.push({ 149 isJSZQ.value ? router.push({
139 name: 'registerValueJSZQDetail', 150 name: 'registerValueJSZQDetail',
140 query: { guid: row.registerGuid, costAssessGuid: row.guid, type: 'costAssess', tenantGuid: row.tenantGuid, tenantName: row.tenantName } 151 query: { guid: row.registerGuid, costAssessGuid: row.guid, type: 'costAssess', tenantGuid: row.tenantGuid, tenantName: row.tenantName }
141 }) : router.push({ 152 }) : router.push({
...@@ -180,11 +191,16 @@ const getDetailInfo = () => { ...@@ -180,11 +191,16 @@ const getDetailInfo = () => {
180 if (res.code == proxy.$passCode) { 191 if (res.code == proxy.$passCode) {
181 const data = res.data || {}; 192 const data = res.data || {};
182 detailInfo.value = data; 193 detailInfo.value = data;
194 publicDataProductsMainRSVO.value = detailInfo.value.publicDataProductsMainRSVO || {};
183 // detailInfo.value.damTypeName = damTypes.find(d => d.value == detailInfo.value.damType)?.label; 195 // detailInfo.value.damTypeName = damTypes.find(d => d.value == detailInfo.value.damType)?.label;
184 detailInfo.value.dataSourcesName = dataSourcesList.find(d => d.value == detailInfo.value.dataSources)?.label; 196 detailInfo.value.dataSourcesName = dataSourcesList.find(d => d.value == detailInfo.value.dataSources)?.label;
197 if (!isJSZQ.value) {
185 baseInfoFormItems.value.forEach(item => { 198 baseInfoFormItems.value.forEach(item => {
186 item.default = detailInfo.value[item.field] 199 item.default = detailInfo.value[item.field]
187 }); 200 });
201 }
202 inputParamsTableInfo.value.data = publicDataProductsMainRSVO.value?.reqParamListRSVOS || [];
203 respParamsTableInfo.value.data = publicDataProductsMainRSVO.value?.respParamListRSVOS || [];
188 if (fullPath === route.fullPath) { 204 if (fullPath === route.fullPath) {
189 document.title = `详情-${data.damName}`; 205 document.title = `详情-${data.damName}`;
190 } 206 }
...@@ -1106,6 +1122,58 @@ const viewDeliveryFile = (file) => { ...@@ -1106,6 +1122,58 @@ const viewDeliveryFile = (file) => {
1106 onUploadFileDownload(file); 1122 onUploadFileDownload(file);
1107 } 1123 }
1108 1124
1125 const activeTabName = ref('reqParamList');
1126
1127 /** 入参表格信息 */
1128 const inputParamsTableInfo = ref({
1129 id: "input-params-table",
1130 height: '214px',
1131 fields: [
1132 { label: "序号", type: "index", width: TableColumnWidth.INDEX, align: "center" },
1133 { label: "参数英文", field: "fieldEnName", width: 140, },
1134 { label: "参数中文", field: "fieldCnName", width: 140, },
1135 { label: "参数类型", field: "fieldValueTypeName", width: 140, },
1136 {
1137 label: "是否必填", field: "fieldMandatory", width: 100, getName: (scope) => {
1138 return scope.row.fieldMandatory == 'Y' ? '是' : '否';
1139 }
1140 },
1141 { label: "参数描述", field: "fieldComment", width: 140, },
1142 { label: "展示层级顺序", field: "levelCode", width: 120, align: 'right', type: 'chnum' },
1143 ],
1144 data: [],
1145 showPage: false,
1146 actionInfo: {
1147 show: false,
1148 },
1149 loading: false
1150 });
1151
1152 /** 出参表格信息 */
1153 const respParamsTableInfo = ref({
1154 id: "resp-params-table",
1155 height: '214px',
1156 fields: [
1157 { label: "序号", type: "index", width: TableColumnWidth.INDEX, align: "center" },
1158 { label: "参数英文", field: "fieldEnName", width: 140, },
1159 { label: "参数中文", field: "fieldCnName", width: 140, },
1160 { label: "参数类型", field: "fieldValueTypeName", width: 140, },
1161 {
1162 label: "是否必填", field: "fieldMandatory", width: 100, getName: (scope) => {
1163 return scope.row.fieldMandatory == 'Y' ? '是' : '否';
1164 }
1165 },
1166 { label: "参数描述", field: "fieldComment", width: 140, },
1167 { label: "展示层级顺序", field: "levelCode", width: 120, align: 'right', type: 'chnum' },
1168 ],
1169 data: [],
1170 showPage: false,
1171 actionInfo: {
1172 show: false,
1173 },
1174 loading: false
1175 });
1176
1109 </script> 1177 </script>
1110 1178
1111 <template> 1179 <template>
...@@ -1133,16 +1201,18 @@ const viewDeliveryFile = (file) => { ...@@ -1133,16 +1201,18 @@ const viewDeliveryFile = (file) => {
1133 <div class="left-img"></div> 1201 <div class="left-img"></div>
1134 <div class="right-main"> 1202 <div class="right-main">
1135 <div class="asset-title"> 1203 <div class="asset-title">
1136 <div style="display: flex;align-items: center;"> 1204 <div style="display: flex;align-items: center;width: 100%">
1137 <div @click="handleClick" :class="{ 'foundMode': detailInfo.foundMode == '2', 'title1': true }">{{ 1205 <div @click="handleClick" :class="{ 'foundMode': detailInfo.foundMode == '2', 'title1': true }"><ellipsis-tooltip :content="detailInfo.damName ?? '--'"
1138 detailInfo.damName ?? '--' }}</div> 1206 class-name="w100f" :refName="'tooltipOver' + 'damName'"></ellipsis-tooltip></div>
1139 <div class="dataLabel">{{ detailInfo.damTypeName }}</div> 1207 <div class="dataLabel">{{ detailInfo.damTypeName }}</div>
1140 <div class="dataLabel">{{ detailInfo.subjectDomainName || detailInfo.subjectDomain }}</div> 1208 <div class="dataLabel" v-show="detailInfo.subjectDomain">{{ detailInfo.subjectDomainName ||
1209 detailInfo.subjectDomain }}</div>
1141 <div class="dataLabel dataLabel1" v-if="detailInfo.databaseType">{{ detailInfo.databaseType }}</div> 1210 <div class="dataLabel dataLabel1" v-if="detailInfo.databaseType">{{ detailInfo.databaseType }}</div>
1142 <div class="dataLabel dataLabel1">{{ detailInfo.dataSourcesName }}</div> 1211 <div class="dataLabel dataLabel1">{{ detailInfo.dataSourcesName }}</div>
1143 </div> 1212 </div>
1144 </div> 1213 </div>
1145 <div class="applicationScenarios">{{ '权利主体:' + detailInfo.rightMainName }}</div> 1214 <div v-show="detailInfo.rightMainName" class="applicationScenarios">{{ '权利主体:' + detailInfo.rightMainName }}
1215 </div>
1146 <div class="applicationScenarios" 1216 <div class="applicationScenarios"
1147 :style="{ 'margin-right': (isTruncated && !isExpanded) ? '30px' : '0px', WebkitLineClamp: (!isTruncated ? 'inherit' : (isExpanded ? 'inherit' : 1)), WebkitBoxOrient: 'vertical' }"> 1217 :style="{ 'margin-right': (isTruncated && !isExpanded) ? '30px' : '0px', WebkitLineClamp: (!isTruncated ? 'inherit' : (isExpanded ? 'inherit' : 1)), WebkitBoxOrient: 'vertical' }">
1148 {{'覆盖地域:' + (detailInfo.coverageArea?.[0]?.[0] == 'all' ? '全国' : (detailInfo.coverageAreaName?.map(c => 1218 {{'覆盖地域:' + (detailInfo.coverageArea?.[0]?.[0] == 'all' ? '全国' : (detailInfo.coverageAreaName?.map(c =>
...@@ -1155,7 +1225,97 @@ const viewDeliveryFile = (file) => { ...@@ -1155,7 +1225,97 @@ const viewDeliveryFile = (file) => {
1155 </div> 1225 </div>
1156 </div> 1226 </div>
1157 <ContentWrap id="id-assetContent" title="基础信息" description="" style="margin: 0 16px"> 1227 <ContentWrap id="id-assetContent" title="基础信息" description="" style="margin: 0 16px">
1158 <Form ref="baseInfoFormRef" :itemList="baseInfoFormItems" formId="base-info-form" /> 1228 <Form v-if="!isJSZQ" ref="baseInfoFormRef" :itemList="baseInfoFormItems" formId="base-info-form" />
1229 <div v-else class="list_panel">
1230 <div class="list_item">
1231 <span class="item_label">产品编码:</span>
1232 <span class="item_value"><ellipsis-tooltip :content="publicDataProductsMainRSVO?.productCode || '--'"
1233 class-name="w100f mr8-i" :refName="'tooltipOver' + 'productCode'"></ellipsis-tooltip></span>
1234 </div>
1235 <div class="list_item">
1236 <span class="item_label">产品类型:</span>
1237 <span class="item_value">{{ publicDataProductsMainRSVO?.productTypeName }}</span>
1238 </div>
1239 <div class="list_item">
1240 <span class="item_label">是否需要信息主体授权:</span>
1241 <span class="item_value">{{ publicDataProductsMainRSVO?.authLevel == 'Y' ? '是' : '否' }}</span>
1242 </div>
1243 <div class="list_item">
1244 <span class="item_label">更新频率:</span>
1245 <span class="item_value">{{ publicDataProductsMainRSVO?.updateFrequencyName || '--' }}</span>
1246 </div>
1247 <div class="list_item">
1248 <span class="item_label">产品发布机构:</span>
1249 <span class="item_value"><ellipsis-tooltip :content="publicDataProductsMainRSVO?.productPublisherName || '--'"
1250 class-name="w100f mr8-i" :refName="'tooltipOver' + 'productPublisherName'"></ellipsis-tooltip></span>
1251 </div>
1252 <div class="list_item">
1253 <span class="item_label">领域:</span>
1254 <span class="item_value">{{ publicDataProductsMainRSVO?.domainName || '--' }}</span>
1255 </div>
1256 <div class="list_item">
1257 <span class="item_label">应用场景:</span>
1258 <span class="item_value"><ellipsis-tooltip :content="publicDataProductsMainRSVO?.scenarioName || '--'"
1259 class-name="w100f mr8-i" :refName="'tooltipOver' + 'scenarioName'"></ellipsis-tooltip></span>
1260 </div>
1261 <div class="list_item" v-show="publicDataProductsMainRSVO?.domain == '003'">
1262 <span class="item_label">所属科室:</span>
1263 <span class="item_value">{{ publicDataProductsMainRSVO?.medDepartmentCodeName || '--' }}</span>
1264 </div>
1265 <div class="list_item" v-show="publicDataProductsMainRSVO?.domain == '003'">
1266 <span class="item_label">所属疾病:</span>
1267 <span class="item_value">{{ publicDataProductsMainRSVO?.diseaseName || '--' }}</span>
1268 </div>
1269 <div class="list_item" v-show="publicDataProductsMainRSVO?.domain == '003'">
1270 <span class="item_label">数据规模(条):</span>
1271 <span class="item_value">{{ changeNum(publicDataProductsMainRSVO?.dataScale || 0, 0) }}</span>
1272 </div>
1273 <div class="list_item" v-show="publicDataProductsMainRSVO?.domain == '003'">
1274 <span class="item_label">病例总数(例):</span>
1275 <span class="item_value">{{ changeNum(publicDataProductsMainRSVO?.caseNumber || 0, 0) }}</span>
1276 </div>
1277 <div class="list_item" v-show="publicDataProductsMainRSVO?.domain == '004'">
1278 <span class="item_label">所属主题:</span>
1279 <span class="item_value">{{ publicDataProductsMainRSVO?.subjectDomainName || '--' }}</span>
1280 </div>
1281 <div class="list_item">
1282 <span class="item_label">数据来源:</span>
1283 <span class="item_value">{{ publicDataProductsMainRSVO?.dataSourcesName || '--' }}</span>
1284 </div>
1285 <div class="list_item">
1286 <span class="item_label">数据覆盖范围:</span>
1287 <span class="item_value"><ellipsis-tooltip :content="!publicDataProductsMainRSVO?.dataCoverage?.length ? '--' : (publicDataProductsMainRSVO?.dataCoverage[0] == '1' ?
1288 '全国' : publicDataProductsMainRSVO?.dataCoverageName.join(',')
1289 )" class-name="w100f mr8-i" :refName="'tooltipOver' + 'dataCoverage'"></ellipsis-tooltip></span>
1290 </div>
1291 <div class="list_item">
1292 <span class="item_label">产品应用方向:</span>
1293 <span class="item_value">{{ publicDataProductsMainRSVO?.productDirectionName || '--' }}</span>
1294 </div>
1295 <div class="list_item">
1296 <span class="item_label">版本名称:</span>
1297 <span class="item_value"><ellipsis-tooltip :content="publicDataProductsMainRSVO?.versionName || '--'"
1298 class-name="w100f mr8-i" :refName="'tooltipOver' + 'versionName'"></ellipsis-tooltip></span>
1299 </div>
1300 <div class="list_item is_block">
1301 <span class="item_label">产品关键词:</span>
1302 <span class="item_value">{{ publicDataProductsMainRSVO.productKeywords?.join(',') || '--' }}</span>
1303 </div>
1304 <div class="list_item is_block">
1305 <span class="item_label">产品描述:</span>
1306 <span class="item_value">{{ publicDataProductsMainRSVO?.productDesc || '--' }}</span>
1307 </div>
1308 </div>
1309 </ContentWrap>
1310 <ContentWrap v-if="isJSZQ" id="id-paramsInfo" title="入参出参信息" description="" style="margin: 16px 16px 16px">
1311 <el-tabs v-model="activeTabName" class="param-tabs">
1312 <el-tab-pane label="入参信息" name="reqParamList">
1313 <Table ref="inputParamsTableRef" :tableInfo="inputParamsTableInfo" class="fiveRow-table" />
1314 </el-tab-pane>
1315 <el-tab-pane label="出参信息" name="respParamList">
1316 <Table ref="respParamsTableRef" :tableInfo="respParamsTableInfo" class="fiveRow-table" />
1317 </el-tab-pane>
1318 </el-tabs>
1159 </ContentWrap> 1319 </ContentWrap>
1160 <ContentWrap id="id-table" title="资源表" v-if="detailInfo.damCatalogTableInfo?.length" description="" 1320 <ContentWrap id="id-table" title="资源表" v-if="detailInfo.damCatalogTableInfo?.length" description=""
1161 style="margin: 16px 16px 16px"> 1321 style="margin: 16px 16px 16px">
...@@ -1471,7 +1631,8 @@ const viewDeliveryFile = (file) => { ...@@ -1471,7 +1631,8 @@ const viewDeliveryFile = (file) => {
1471 </div> 1631 </div>
1472 </ContentWrap> 1632 </ContentWrap>
1473 1633
1474 <ContentWrap v-if="route.query.type == 'asset' && registerDetailTableInfo.data.length > 0" id="id-registerDetail" title="登记评估上架交易" description="" style="margin: 16px 16px 16px"> 1634 <ContentWrap v-if="route.query.type == 'asset' && registerDetailTableInfo.data.length > 0" id="id-registerDetail"
1635 title="登记评估上架交易" description="" style="margin: 16px 16px 16px">
1475 <Table :table-info="registerDetailTableInfo"></Table> 1636 <Table :table-info="registerDetailTableInfo"></Table>
1476 </ContentWrap> 1637 </ContentWrap>
1477 1638
...@@ -1690,6 +1851,7 @@ const viewDeliveryFile = (file) => { ...@@ -1690,6 +1851,7 @@ const viewDeliveryFile = (file) => {
1690 letter-spacing: 0; 1851 letter-spacing: 0;
1691 line-height: 30px; 1852 line-height: 30px;
1692 font-weight: 600; 1853 font-weight: 600;
1854 max-width: calc(100% - 250px);
1693 } 1855 }
1694 1856
1695 .dataLabel { 1857 .dataLabel {
...@@ -1855,4 +2017,21 @@ const viewDeliveryFile = (file) => { ...@@ -1855,4 +2017,21 @@ const viewDeliveryFile = (file) => {
1855 flex-direction: column; 2017 flex-direction: column;
1856 } 2018 }
1857 } 2019 }
2020
2021 :deep(.param-tabs.el-tabs) {
2022 margin-top: -8px;
2023
2024 .el-tabs__header {
2025 margin-bottom: 8px;
2026 }
2027
2028 .el-tabs__item {
2029 height: 32px;
2030
2031 &:nth-child(2) {
2032 padding-left: 16px;
2033 }
2034
2035 }
2036 }
1858 </style> 2037 </style>
......
...@@ -2200,6 +2200,9 @@ const saveDraft = () => { ...@@ -2200,6 +2200,9 @@ const saveDraft = () => {
2200 } 2200 }
2201 fullscreenLoading.value = true; 2201 fullscreenLoading.value = true;
2202 if (guid) { 2202 if (guid) {
2203 if (!params.damGuid) {
2204 params.damGuid = detailInfo.value.damGuid;
2205 }
2203 params.guid = guid; 2206 params.guid = guid;
2204 registerUpdate(params).then((res: any) => { 2207 registerUpdate(params).then((res: any) => {
2205 fullscreenLoading.value = false; 2208 fullscreenLoading.value = false;
...@@ -2400,6 +2403,9 @@ const save = () => { ...@@ -2400,6 +2403,9 @@ const save = () => {
2400 } 2403 }
2401 fullscreenLoading.value = true; 2404 fullscreenLoading.value = true;
2402 if (guid) { 2405 if (guid) {
2406 if (!params.damGuid) {
2407 params.damGuid = detailInfo.value.damGuid;
2408 }
2403 params.guid = guid; 2409 params.guid = guid;
2404 registerUpdate(params).then((res: any) => { 2410 registerUpdate(params).then((res: any) => {
2405 fullscreenLoading.value = false; 2411 fullscreenLoading.value = false;
......
...@@ -1933,7 +1933,7 @@ const rejectDialogBtnClick = (btn, info) => { ...@@ -1933,7 +1933,7 @@ const rejectDialogBtnClick = (btn, info) => {
1933 <span class="item_label">数据时间范围:</span> 1933 <span class="item_label">数据时间范围:</span>
1934 <span class="item_value">{{ timeRangeInfo || '--' }}</span> 1934 <span class="item_value">{{ timeRangeInfo || '--' }}</span>
1935 </div> 1935 </div>
1936 <div class="list_item"> 1936 <div v-show="flowDetail.dataSource != '1'" class="list_item">
1937 <span class="item_label">交付方式:</span> 1937 <span class="item_label">交付方式:</span>
1938 <span class="item_value">{{ flowDetail.deliveryWayName || '--' }}</span> 1938 <span class="item_value">{{ flowDetail.deliveryWayName || '--' }}</span>
1939 </div> 1939 </div>
...@@ -1941,7 +1941,7 @@ const rejectDialogBtnClick = (btn, info) => { ...@@ -1941,7 +1941,7 @@ const rejectDialogBtnClick = (btn, info) => {
1941 <span class="item_label">定价方式:</span> 1941 <span class="item_label">定价方式:</span>
1942 <span class="item_value">{{ priceWayInfo || '--' }}</span> 1942 <span class="item_value">{{ priceWayInfo || '--' }}</span>
1943 </div> 1943 </div>
1944 <div class="list_item"> 1944 <div v-show="flowDetail.dataSource != '1'" class="list_item">
1945 <span class="item_label">定价金额:</span> 1945 <span class="item_label">定价金额:</span>
1946 <span class="item_value">{{ prcieInfo || '--' }}</span> 1946 <span class="item_value">{{ prcieInfo || '--' }}</span>
1947 </div> 1947 </div>
...@@ -1970,11 +1970,11 @@ const rejectDialogBtnClick = (btn, info) => { ...@@ -1970,11 +1970,11 @@ const rejectDialogBtnClick = (btn, info) => {
1970 }}</span> 1970 }}</span>
1971 </span> 1971 </span>
1972 </div> 1972 </div>
1973 <div class="list_item is_block"> 1973 <div v-show="flowDetail.dataSource != '1'" class="list_item is_block">
1974 <span class="item_label">收费说明:</span> 1974 <span class="item_label">收费说明:</span>
1975 <span class="item_value">{{ flowDetail.feeDesc || '--' }}</span> 1975 <span class="item_value">{{ flowDetail.feeDesc || '--' }}</span>
1976 </div> 1976 </div>
1977 <div class="list_item1 is_block1"> 1977 <div v-show="flowDetail.dataSource != '1'" class="list_item1 is_block1">
1978 <div class="file_item" v-if="flowDetail.productPic && flowDetail.productPic.name"> 1978 <div class="file_item" v-if="flowDetail.productPic && flowDetail.productPic.name">
1979 <span class="item_label">产品图片:</span> 1979 <span class="item_label">产品图片:</span>
1980 <span class="item_value"> 1980 <span class="item_value">
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!