Merge branch 'develop' into dev_20241202_xukangle
Showing
13 changed files
with
131 additions
and
119 deletions
| ... | @@ -79,6 +79,13 @@ VITE_APP_ATTACHMENT_TEMPLATE = ms-daop-personel-service | ... | @@ -79,6 +79,13 @@ VITE_APP_ATTACHMENT_TEMPLATE = ms-daop-personel-service |
| 79 | #人员服务 | 79 | #人员服务 |
| 80 | VITE_APP_PERSONAL_URL = 'ms-daop-personel-service' | 80 | VITE_APP_PERSONAL_URL = 'ms-daop-personel-service' |
| 81 | 81 | ||
| 82 | #流通平台地址 | ||
| 83 | VITE_APP_CIRCULATION = http://192.168.6.20:18052/ | ||
| 84 | # 测试环境访问地址 | ||
| 85 | VITE_API_CIRCULATION_URL = http://192.168.6.22:29900/circulation | ||
| 86 | # 本地访问地址 | ||
| 87 | # VITE_API_CIRCULATION_URL = http://localhost:9000/circulation | ||
| 88 | |||
| 82 | # 是否在打包时生成 sourcemap | 89 | # 是否在打包时生成 sourcemap |
| 83 | VITE_BUILD_SOURCEMAP = false | 90 | VITE_BUILD_SOURCEMAP = false |
| 84 | # 是否在打包时开启压缩,支持 gzip 和 brotli | 91 | # 是否在打包时开启压缩,支持 gzip 和 brotli | ... | ... |
| ... | @@ -114,6 +114,10 @@ VITE_API_MESSAGE = ms-swzl-message-notification-service | ... | @@ -114,6 +114,10 @@ VITE_API_MESSAGE = ms-swzl-message-notification-service |
| 114 | #企业信息接口 | 114 | #企业信息接口 |
| 115 | VITE_APP_PERSONAL_URL = ms-daop-personel-service | 115 | VITE_APP_PERSONAL_URL = ms-daop-personel-service |
| 116 | 116 | ||
| 117 | #流通平台接口地址 | ||
| 118 | VITE_APP_CIRCULATION = http://192.168.6.20:18052/ | ||
| 119 | |||
| 120 | |||
| 117 | # 是否在打包时生成 sourcemap | 121 | # 是否在打包时生成 sourcemap |
| 118 | VITE_BUILD_SOURCEMAP = false | 122 | VITE_BUILD_SOURCEMAP = false |
| 119 | # 是否在打包时开启压缩,支持 gzip 和 brotli | 123 | # 是否在打包时开启压缩,支持 gzip 和 brotli | ... | ... |
| ... | @@ -46,6 +46,23 @@ server { | ... | @@ -46,6 +46,23 @@ server { |
| 46 | proxy_pass http://192.168.6.20:28052; | 46 | proxy_pass http://192.168.6.20:28052; |
| 47 | } | 47 | } |
| 48 | 48 | ||
| 49 | location /circulation { | ||
| 50 | # 设置允许跨域的域名,可以使用通配符 '*' 允许所有域访问 | ||
| 51 | add_header 'Access-Control-Allow-Origin' * always; | ||
| 52 | # 设置允许的 HTTP 方法 | ||
| 53 | add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, DELETE, PUT'; | ||
| 54 | # 设置允许的请求头 | ||
| 55 | add_header 'Access-Control-Allow-Headers' 'Authorization, Content-Type, Accept, Origin, X-Requested-With'; | ||
| 56 | # 如果需要支持 cookie,可以设置以下 header | ||
| 57 | add_header 'Access-Control-Allow-Credentials' 'true'; | ||
| 58 | # 缓存设置 | ||
| 59 | add_header Cache-Control no-cache; | ||
| 60 | add_header Cache-Control private; | ||
| 61 | |||
| 62 | # 使用 rewrite 将 /circulation 替换为 /new-api | ||
| 63 | rewrite ^/circulation/(.*)$ /$1 break; | ||
| 64 | proxy_pass http://192.168.6.20:18052; | ||
| 65 | } | ||
| 49 | 66 | ||
| 50 | error_page 500 502 503 504 /50x.html; | 67 | error_page 500 502 503 504 /50x.html; |
| 51 | location = /50x.html { | 68 | location = /50x.html { | ... | ... |
| ... | @@ -82,6 +82,13 @@ export const getProduct = (params) => request({ | ... | @@ -82,6 +82,13 @@ export const getProduct = (params) => request({ |
| 82 | method: 'get', | 82 | method: 'get', |
| 83 | params | 83 | params |
| 84 | }) | 84 | }) |
| 85 | // 查看平台会员信息 | ||
| 86 | export const getTenantInfo = (params) => request({ | ||
| 87 | // url: `${import.meta.env.VITE_APP_PERSONAL_URL}/tenant/getByGuid/${params}`, | ||
| 88 | url: `http://192.168.6.22:29900/circulation/ms-data-circulation-portal-service/enterprise/detail-by-name`, | ||
| 89 | method: 'get', | ||
| 90 | params | ||
| 91 | }) | ||
| 85 | // 查看平台会员详情 | 92 | // 查看平台会员详情 |
| 86 | export const getTenantDetailInfo = (params) => request({ | 93 | export const getTenantDetailInfo = (params) => request({ |
| 87 | url: `${import.meta.env.VITE_APP_PERSONAL_URL}/tenant/getByGuid/${params}`, | 94 | url: `${import.meta.env.VITE_APP_PERSONAL_URL}/tenant/getByGuid/${params}`, | ... | ... |
| ... | @@ -25,7 +25,8 @@ import { | ... | @@ -25,7 +25,8 @@ import { |
| 25 | } from "@/api/modules/dataAsset"; | 25 | } from "@/api/modules/dataAsset"; |
| 26 | import { | 26 | import { |
| 27 | getTenantDetailInfo, | 27 | getTenantDetailInfo, |
| 28 | getImageContent | 28 | getImageContent, |
| 29 | getTenantInfo | ||
| 29 | } from "@/api/modules/queryService"; | 30 | } from "@/api/modules/queryService"; |
| 30 | import { passFlowData, rejectFlowData, revokeFlowData } from "@/api/modules/workFlowService"; | 31 | import { passFlowData, rejectFlowData, revokeFlowData } from "@/api/modules/workFlowService"; |
| 31 | import useDataAssetStore from "@/store/modules/dataAsset"; | 32 | import useDataAssetStore from "@/store/modules/dataAsset"; |
| ... | @@ -253,30 +254,54 @@ const getDetailInfo = () => { | ... | @@ -253,30 +254,54 @@ const getDetailInfo = () => { |
| 253 | isTextTruncated(); | 254 | isTextTruncated(); |
| 254 | }) | 255 | }) |
| 255 | } else { | 256 | } else { |
| 256 | getRegiaterDetail({ guid: assetGuid }).then((res: any) => { | 257 | let ps: any = [], tentData = {}; |
| 257 | fullscreenLoading.value = false; | 258 | ps.push(getRegiaterDetail({ guid: assetGuid }).then((res: any) => { |
| 258 | if (res.code == proxy.$passCode) { | 259 | if (res.code == proxy.$passCode) { |
| 259 | const data = res.data || {}; | 260 | const data = res.data || {}; |
| 260 | let { approveVO } = data; | 261 | let { approveVO } = data; |
| 261 | detailInfo.value = data; | 262 | detailInfo.value = data; |
| 262 | assetDetailInfo.value = data; | 263 | assetDetailInfo.value = data; |
| 263 | deploymentId.value = approveVO.camundaDeploymentId; | 264 | deploymentId.value = approveVO.camundaDeploymentId; |
| 265 | processInstanceId.value = approveVO.camundaInstanceId; | ||
| 264 | isTextTruncated(); | 266 | isTextTruncated(); |
| 265 | } else { | 267 | } else { |
| 266 | ElMessage.error(res.msg); | 268 | ElMessage.error(res.msg); |
| 267 | } | 269 | } |
| 270 | })); | ||
| 271 | ps.push(getTenantDetailInfo(userData.tenantGuid).then((res: any) => { | ||
| 272 | if (res.code == proxy.$passCode) { | ||
| 273 | const data = res.data ?? {}; | ||
| 274 | tentData = { ...tentData, ...data }; | ||
| 275 | } else { | ||
| 276 | ElMessage.error(res.msg); | ||
| 277 | } | ||
| 278 | })); | ||
| 279 | ps.push(getTenantInfo({ tenantName: userData.tenantName }).then((res: any) => { | ||
| 280 | if (res.code == proxy.$passCode) { | ||
| 281 | const data = res.data ?? {}; | ||
| 282 | tentData = { ...tentData, ...data }; | ||
| 283 | } else { | ||
| 284 | ElMessage.error(res.msg); | ||
| 285 | } | ||
| 286 | })) | ||
| 287 | |||
| 288 | Promise.all(ps).then(() => { | ||
| 289 | fullscreenLoading.value = false; | ||
| 290 | tenantDetail.value = tentData; | ||
| 291 | }).catch(() => { | ||
| 292 | fullscreenLoading.value = false; | ||
| 268 | }); | 293 | }); |
| 269 | } | 294 | } |
| 270 | approveTableInfo.value.loading = true; | 295 | // approveTableInfo.value.loading = true; |
| 271 | getApproveList(detailType.value == 'qualityEvaluate' ? evaGuid.value : (detailType.value == 'costAssess' ? costAssessGuid.value : assetGuid)).then((res: any) => { | 296 | // getApproveList(detailType.value == 'qualityEvaluate' ? evaGuid.value : (detailType.value == 'costAssess' ? costAssessGuid.value : assetGuid)).then((res: any) => { |
| 272 | approveTableInfo.value.loading = false; | 297 | // approveTableInfo.value.loading = false; |
| 273 | if (res.code == proxy.$passCode) { | 298 | // if (res.code == proxy.$passCode) { |
| 274 | console.log(res.data); | 299 | // console.log(res.data); |
| 275 | approveTableInfo.value.data = res.data || []; | 300 | // approveTableInfo.value.data = res.data || []; |
| 276 | } else { | 301 | // } else { |
| 277 | ElMessage.error(res.msg); | 302 | // ElMessage.error(res.msg); |
| 278 | } | 303 | // } |
| 279 | }); | 304 | // }); |
| 280 | } | 305 | } |
| 281 | 306 | ||
| 282 | const handleExpand = () => { | 307 | const handleExpand = () => { |
| ... | @@ -285,7 +310,7 @@ const handleExpand = () => { | ... | @@ -285,7 +310,7 @@ const handleExpand = () => { |
| 285 | 310 | ||
| 286 | onBeforeMount(() => { | 311 | onBeforeMount(() => { |
| 287 | getDetailInfo(); | 312 | getDetailInfo(); |
| 288 | daTenantGuid.value && getTenantDetail(); | 313 | // getTenantDetail(); |
| 289 | }); | 314 | }); |
| 290 | 315 | ||
| 291 | onActivated(() => { | 316 | onActivated(() => { |
| ... | @@ -396,18 +421,27 @@ const approveTableInfo: any = ref({ | ... | @@ -396,18 +421,27 @@ const approveTableInfo: any = ref({ |
| 396 | } | 421 | } |
| 397 | }); | 422 | }); |
| 398 | const deploymentId = ref(''); | 423 | const deploymentId = ref(''); |
| 424 | const processInstanceId = ref(''); | ||
| 399 | const tenantDetail: any = ref({}); | 425 | const tenantDetail: any = ref({}); |
| 400 | 426 | ||
| 401 | /** 获取当前登录会员,服务商,企业等详情。 */ | 427 | /** 获取当前登录会员,服务商,企业等详情。 */ |
| 402 | const getTenantDetail = () => { | 428 | const getTenantDetail = () => { |
| 403 | getTenantDetailInfo(daTenantGuid.value).then((res: any) => { | 429 | // getTenantDetailInfo(userData.tenantGuid).then((res: any) => { |
| 404 | if (res.code == proxy.$passCode) { | 430 | // if (res.code == proxy.$passCode) { |
| 405 | const data = res.data ?? {}; | 431 | // const data = res.data ?? {}; |
| 406 | tenantDetail.value = data; | 432 | // userData.value = data; |
| 407 | } else { | 433 | // } else { |
| 408 | ElMessage.error(res.msg); | 434 | // ElMessage.error(res.msg); |
| 409 | } | 435 | // } |
| 410 | }); | 436 | // }) |
| 437 | // getTenantInfo({tenantName: userData.tenantName}).then((res: any) => { | ||
| 438 | // if (res.code == proxy.$passCode) { | ||
| 439 | // const data = res.data ?? {}; | ||
| 440 | // tenantDetail.value = data; | ||
| 441 | // } else { | ||
| 442 | // ElMessage.error(res.msg); | ||
| 443 | // } | ||
| 444 | // }); | ||
| 411 | } | 445 | } |
| 412 | 446 | ||
| 413 | // const onUploadFilePreview = (file) => { | 447 | // const onUploadFilePreview = (file) => { |
| ... | @@ -1016,6 +1050,14 @@ const handleClickDamCatalogDetail = () => { | ... | @@ -1016,6 +1050,14 @@ const handleClickDamCatalogDetail = () => { |
| 1016 | }); | 1050 | }); |
| 1017 | } | 1051 | } |
| 1018 | 1052 | ||
| 1053 | const formattedDate = (dateVal) => { | ||
| 1054 | const date = new Date(dateVal); | ||
| 1055 | const year = date.getFullYear(); | ||
| 1056 | const month = (date.getMonth() + 1).toString().padStart(2, '0'); | ||
| 1057 | const day = date.getDate().toString().padStart(2, '0'); | ||
| 1058 | return `${year}-${month}-${day}`; | ||
| 1059 | } | ||
| 1060 | |||
| 1019 | </script> | 1061 | </script> |
| 1020 | 1062 | ||
| 1021 | <template> | 1063 | <template> |
| ... | @@ -1026,7 +1068,7 @@ const handleClickDamCatalogDetail = () => { | ... | @@ -1026,7 +1068,7 @@ const handleClickDamCatalogDetail = () => { |
| 1026 | <Tabs :tab-position="'right'" :tabsInfo="tabsInfo" @tabClick="tabsClick" /> | 1068 | <Tabs :tab-position="'right'" :tabsInfo="tabsInfo" @tabClick="tabsClick" /> |
| 1027 | </div> | 1069 | </div> |
| 1028 | <div class="main-wrap" ref="contentRef"> | 1070 | <div class="main-wrap" ref="contentRef"> |
| 1029 | <div v-if="detailType != 'certificate'" | 1071 | <div v-if="detailType != 'certificate' && detailType != 'asset'" |
| 1030 | :class="['panel_wrap', 'results_panel', detailInfo.approveState == 'Y' ? 'success' : (detailInfo.approveState == 'R' ? 'reject' : (detailInfo.approveState == 'C' ? 'revoke' : 'audit'))]"> | 1072 | :class="['panel_wrap', 'results_panel', detailInfo.approveState == 'Y' ? 'success' : (detailInfo.approveState == 'R' ? 'reject' : (detailInfo.approveState == 'C' ? 'revoke' : 'audit'))]"> |
| 1031 | <div class="panel_header"> | 1073 | <div class="panel_header"> |
| 1032 | <div class="header_title" v-if="detailInfo.approveState == 'Y'"> | 1074 | <div class="header_title" v-if="detailInfo.approveState == 'Y'"> |
| ... | @@ -1071,7 +1113,7 @@ const handleClickDamCatalogDetail = () => { | ... | @@ -1071,7 +1113,7 @@ const handleClickDamCatalogDetail = () => { |
| 1071 | </div> | 1113 | </div> |
| 1072 | </div> | 1114 | </div> |
| 1073 | </div> | 1115 | </div> |
| 1074 | <div v-else | 1116 | <div v-else-if="detailType != 'asset'" |
| 1075 | :class="['panel_wrap', 'results_panel', detailInfo.state == 4 ? 'success' : (detailInfo.state == 0 ? 'revoke' : 'audit')]"> | 1117 | :class="['panel_wrap', 'results_panel', detailInfo.state == 4 ? 'success' : (detailInfo.state == 0 ? 'revoke' : 'audit')]"> |
| 1076 | <div class="panel_header"> | 1118 | <div class="panel_header"> |
| 1077 | <div class="header_title" v-if="detailInfo.state == 4"> | 1119 | <div class="header_title" v-if="detailInfo.state == 4"> |
| ... | @@ -1684,7 +1726,7 @@ const handleClickDamCatalogDetail = () => { | ... | @@ -1684,7 +1726,7 @@ const handleClickDamCatalogDetail = () => { |
| 1684 | </div> | 1726 | </div> |
| 1685 | <div class="list_item"> | 1727 | <div class="list_item"> |
| 1686 | <span class="item_label">统一社会信用代码:</span> | 1728 | <span class="item_label">统一社会信用代码:</span> |
| 1687 | <span class="item_value">{{ tenantDetail.usci ?? "--" }}</span> | 1729 | <span class="item_value">{{ tenantDetail.socialCreditCode ?? "--" }}</span> |
| 1688 | </div> | 1730 | </div> |
| 1689 | <div class="list_item"> | 1731 | <div class="list_item"> |
| 1690 | <span class="item_label">是否列入失信:</span> | 1732 | <span class="item_label">是否列入失信:</span> |
| ... | @@ -1696,15 +1738,17 @@ const handleClickDamCatalogDetail = () => { | ... | @@ -1696,15 +1738,17 @@ const handleClickDamCatalogDetail = () => { |
| 1696 | </div> | 1738 | </div> |
| 1697 | <div class="list_item"> | 1739 | <div class="list_item"> |
| 1698 | <span class="item_label">注册日期:</span> | 1740 | <span class="item_label">注册日期:</span> |
| 1699 | <span class="item_value">{{ tenantDetail.registerDate ?? "--" }}</span> | 1741 | <span class="item_value">{{ tenantDetail.registrationDate ? formattedDate(tenantDetail.registrationDate) : |
| 1742 | "--" | ||
| 1743 | }}</span> | ||
| 1700 | </div> | 1744 | </div> |
| 1701 | <div class="list_item"> | 1745 | <div class="list_item"> |
| 1702 | <span class="item_label">营业开始日期:</span> | 1746 | <span class="item_label">营业开始日期:</span> |
| 1703 | <span class="item_value">{{ tenantDetail.tradeStartDate ?? "--" }}</span> | 1747 | <span class="item_value">{{ tenantDetail.businessLicenseStartDate ?? "--" }}</span> |
| 1704 | </div> | 1748 | </div> |
| 1705 | <div class="list_item"> | 1749 | <div class="list_item"> |
| 1706 | <span class="item_label">营业结束日期:</span> | 1750 | <span class="item_label">营业结束日期:</span> |
| 1707 | <span class="item_value">{{ tenantDetail.tradeEndDate ?? "--" }}</span> | 1751 | <span class="item_value">{{ tenantDetail.businessLicenseEndDate ?? "--" }}</span> |
| 1708 | </div> | 1752 | </div> |
| 1709 | <div class="list_item is_block"> | 1753 | <div class="list_item is_block"> |
| 1710 | <span class="item_label">单位注册地址:</span> | 1754 | <span class="item_label">单位注册地址:</span> |
| ... | @@ -1779,7 +1823,7 @@ const handleClickDamCatalogDetail = () => { | ... | @@ -1779,7 +1823,7 @@ const handleClickDamCatalogDetail = () => { |
| 1779 | <ContentWrap id="id-approveInfo" title="审批信息" expandSwicth style="margin-top: 15px" | 1823 | <ContentWrap id="id-approveInfo" title="审批信息" expandSwicth style="margin-top: 15px" |
| 1780 | :isExpand="approveInfoExpand" @expand="(v) => approveInfoExpand = v"> | 1824 | :isExpand="approveInfoExpand" @expand="(v) => approveInfoExpand = v"> |
| 1781 | <!-- <Table :tableInfo="approveTableInfo" /> --> | 1825 | <!-- <Table :tableInfo="approveTableInfo" /> --> |
| 1782 | <ApprovalProcess v-if="deploymentId" :deploymentId="deploymentId" :definitionId="''"> | 1826 | <ApprovalProcess v-if="deploymentId" :deploymentId="deploymentId" :processInstanceId="processInstanceId"> |
| 1783 | </ApprovalProcess> | 1827 | </ApprovalProcess> |
| 1784 | </ContentWrap> | 1828 | </ContentWrap> |
| 1785 | <ContentWrap id="id-certificate" v-if="tabsInfo.tabs.find(t => t.name == 'certificate')" title="证件信息" | 1829 | <ContentWrap id="id-certificate" v-if="tabsInfo.tabs.find(t => t.name == 'certificate')" title="证件信息" | ... | ... |
| ... | @@ -208,6 +208,7 @@ const currTableData: any = ref({}); | ... | @@ -208,6 +208,7 @@ const currTableData: any = ref({}); |
| 208 | const btnClick = (btn) => { | 208 | const btnClick = (btn) => { |
| 209 | const type = btn.value; | 209 | const type = btn.value; |
| 210 | if (type == 'create') { | 210 | if (type == 'create') { |
| 211 | localStorage.setItem('isRestart', ''); | ||
| 211 | router.push({ | 212 | router.push({ |
| 212 | name: 'registerStart', | 213 | name: 'registerStart', |
| 213 | query: { exchangeGuid: btn.exchangeGuid, type } | 214 | query: { exchangeGuid: btn.exchangeGuid, type } |
| ... | @@ -277,20 +278,6 @@ const tableBtnClick = (scope, btn) => { | ... | @@ -277,20 +278,6 @@ const tableBtnClick = (scope, btn) => { |
| 277 | } | 278 | } |
| 278 | }; | 279 | }; |
| 279 | 280 | ||
| 280 | const handleDataClick = (item) => { | ||
| 281 | if (item.approveState === 'N') { | ||
| 282 | router.push({ | ||
| 283 | name: 'registerStart', | ||
| 284 | query: { guid: item.guid } | ||
| 285 | }); | ||
| 286 | } else { | ||
| 287 | router.push({ | ||
| 288 | name: 'registerInfoDetail', | ||
| 289 | query: { guid: item.guid, type: 'asset', daTenantGuid: item.tenantGuid } | ||
| 290 | }); | ||
| 291 | } | ||
| 292 | } | ||
| 293 | |||
| 294 | const delTableOpen = (msg, type, isBatch: boolean = false) => { | 281 | const delTableOpen = (msg, type, isBatch: boolean = false) => { |
| 295 | ElMessageBox.confirm(msg, "提示", { | 282 | ElMessageBox.confirm(msg, "提示", { |
| 296 | confirmButtonText: "确定", | 283 | confirmButtonText: "确定", |
| ... | @@ -328,6 +315,7 @@ const delTableOpen = (msg, type, isBatch: boolean = false) => { | ... | @@ -328,6 +315,7 @@ const delTableOpen = (msg, type, isBatch: boolean = false) => { |
| 328 | 315 | ||
| 329 | const getTableData = () => { | 316 | const getTableData = () => { |
| 330 | loading.value = true; | 317 | loading.value = true; |
| 318 | getExchangeData(); | ||
| 331 | getRegisterList({ | 319 | getRegisterList({ |
| 332 | pageSize: pageInfo.value.limit, | 320 | pageSize: pageInfo.value.limit, |
| 333 | pageIndex: pageInfo.value.curr, | 321 | pageIndex: pageInfo.value.curr, |
| ... | @@ -376,6 +364,7 @@ const toSearch = (val: any, clear: boolean = false) => { | ... | @@ -376,6 +364,7 @@ const toSearch = (val: any, clear: boolean = false) => { |
| 376 | pageInfo.value.tenantGuid = val.tenantGuid; | 364 | pageInfo.value.tenantGuid = val.tenantGuid; |
| 377 | } | 365 | } |
| 378 | getTableData(); | 366 | getTableData(); |
| 367 | // getExchangeData(); | ||
| 379 | }; | 368 | }; |
| 380 | 369 | ||
| 381 | const pageChange = (info) => { | 370 | const pageChange = (info) => { |
| ... | @@ -388,28 +377,13 @@ onActivated(() => { | ... | @@ -388,28 +377,13 @@ onActivated(() => { |
| 388 | if (assetStore.isRefresh) {//如果是首次加载,则不需要调用 | 377 | if (assetStore.isRefresh) {//如果是首次加载,则不需要调用 |
| 389 | pageInfo.value.curr = 1; | 378 | pageInfo.value.curr = 1; |
| 390 | getTableData(); | 379 | getTableData(); |
| 391 | getExchangeData(); | 380 | // getExchangeData(); |
| 392 | assetStore.set(false); | 381 | assetStore.set(false); |
| 393 | } | 382 | } |
| 394 | }) | 383 | }) |
| 395 | 384 | ||
| 396 | onBeforeMount(() => { | 385 | onBeforeMount(() => { |
| 397 | // if (isCompanyPlatform.value) { | 386 | // getExchangeData(); |
| 398 | // tableInfo.value.fields = tableFields.value; | ||
| 399 | // searchItemList.value[1].visible = false; | ||
| 400 | // } else { | ||
| 401 | // tableFields.value.splice(2, 0, { label: "企业名称", field: "tenantName", width: 240, align: "left" }); | ||
| 402 | // tableInfo.value.fields = tableFields.value; | ||
| 403 | // searchItemList.value[1].visible = true; | ||
| 404 | // getRegisterTenant().then((res: any) => { | ||
| 405 | // if (res.code == proxy.$passCode) { | ||
| 406 | // searchItemList.value[1].options = res.data || []; | ||
| 407 | // } else { | ||
| 408 | // ElMessage.error(res.msg); | ||
| 409 | // } | ||
| 410 | // }); | ||
| 411 | // } | ||
| 412 | getExchangeData(); | ||
| 413 | }) | 387 | }) |
| 414 | 388 | ||
| 415 | const passDialogInfo = ref({ | 389 | const passDialogInfo = ref({ |
| ... | @@ -548,10 +522,6 @@ const rejectDialogBtnClick = (btn, info) => { | ... | @@ -548,10 +522,6 @@ const rejectDialogBtnClick = (btn, info) => { |
| 548 | } | 522 | } |
| 549 | }; | 523 | }; |
| 550 | 524 | ||
| 551 | const createBtnVisible = computed(() => { | ||
| 552 | return isCompanyPlatform || (userStore.hasPermission('数据资产', path, '新建')) | ||
| 553 | }) | ||
| 554 | |||
| 555 | </script> | 525 | </script> |
| 556 | 526 | ||
| 557 | <template> | 527 | <template> |
| ... | @@ -571,7 +541,7 @@ const createBtnVisible = computed(() => { | ... | @@ -571,7 +541,7 @@ const createBtnVisible = computed(() => { |
| 571 | @click="btnClick({ value: 'search', ...item })" v-preReClick>{{ item.exchangeName ?? '--' }}</div> | 541 | @click="btnClick({ value: 'search', ...item })" v-preReClick>{{ item.exchangeName ?? '--' }}</div> |
| 572 | <div class="count-group"> | 542 | <div class="count-group"> |
| 573 | <div class="count-item"> | 543 | <div class="count-item"> |
| 574 | <div class="item-label">已上架产品数</div> | 544 | <div class="item-label">已登记产品数</div> |
| 575 | <div class="item-num">{{ changeNum(item.listingNum || 0) }}</div> | 545 | <div class="item-num">{{ changeNum(item.listingNum || 0) }}</div> |
| 576 | </div> | 546 | </div> |
| 577 | <div class="count-item"> | 547 | <div class="count-item"> |
| ... | @@ -587,51 +557,8 @@ const createBtnVisible = computed(() => { | ... | @@ -587,51 +557,8 @@ const createBtnVisible = computed(() => { |
| 587 | </div> | 557 | </div> |
| 588 | </div> | 558 | </div> |
| 589 | </div> | 559 | </div> |
| 590 | <div class="table_panel_wrap" :style="{ height: createBtnVisible ? 'calc(100% - 89px)' : 'calc(100% - 40px)' }"> | 560 | <div class="table_panel_wrap"> |
| 591 | <div v-if="activeListType === 'card'" class="data-content" v-loading="listDataLoading"> | 561 | <Table :tableInfo="tableInfo" @tableBtnClick="tableBtnClick" /> |
| 592 | <div class="card-content" v-for="item in listData" :key="item.guid" @click="handleDataClick(item)"> | ||
| 593 | <div class="title-row"> | ||
| 594 | <div class="title"> | ||
| 595 | <ellipsis-tooltip :content="item.daName" class-name="w100f" | ||
| 596 | :refName="'tooltipOver' + item.guid"></ellipsis-tooltip> | ||
| 597 | </div> | ||
| 598 | <el-tag :type="(tagType(item, 'approveState') as any)">{{ | ||
| 599 | tagMethod(item, 'approveState') | ||
| 600 | }}</el-tag> | ||
| 601 | </div> | ||
| 602 | <div v-if="!isCompanyPlatform" class="desc">{{ item.tenantName ?? '深圳传世般若有限公司' }}</div> | ||
| 603 | <div class="desc">{{ item.updateTime }}</div> | ||
| 604 | <div class="type-btn"> | ||
| 605 | <template v-if="item.ownIndustryName?.length"> | ||
| 606 | <div class="type-items"> | ||
| 607 | <div v-for="(info) in item.ownIndustryName" class="type">{{ info }}</div> | ||
| 608 | </div> | ||
| 609 | </template> | ||
| 610 | <template v-else> | ||
| 611 | <div class="type-items"></div> | ||
| 612 | </template> | ||
| 613 | <el-popover v-model="cardBtnVisible" placement="bottom" width="96" trigger="click" | ||
| 614 | popper-class="tree-item-edit-menu" :show-arrow="false" :hide-after="0"> | ||
| 615 | <template #reference> | ||
| 616 | <el-icon class="list-more" color="#666" v-show="getTableBtns(item, false)?.length > 0" | ||
| 617 | @click.stop="cardBtnVisible = true"> | ||
| 618 | <MoreFilled /> | ||
| 619 | </el-icon> | ||
| 620 | </template> | ||
| 621 | <div class="levitation-ul"> | ||
| 622 | <span class="levitation-li" v-for="btn in getTableBtns(item, false)" | ||
| 623 | @click="tableBtnClick({ row: item }, btn)">{{ | ||
| 624 | btn.label }}</span> | ||
| 625 | </div> | ||
| 626 | </el-popover> | ||
| 627 | </div> | ||
| 628 | </div> | ||
| 629 | <div v-if="!listData.length" class="card-noData"> | ||
| 630 | <img src="../../assets/images/no-data.png" :style="{ width: '96px', height: '96px' }" /> | ||
| 631 | <span>暂无数据资产</span> | ||
| 632 | </div> | ||
| 633 | </div> | ||
| 634 | <Table v-else :tableInfo="tableInfo" @tableBtnClick="tableBtnClick" /> | ||
| 635 | <PageNav :class="[pageInfo.type]" :pageInfo="pageInfo" @pageChange="pageChange" /> | 562 | <PageNav :class="[pageInfo.type]" :pageInfo="pageInfo" @pageChange="pageChange" /> |
| 636 | </div> | 563 | </div> |
| 637 | </div> | 564 | </div> |
| ... | @@ -796,14 +723,15 @@ const createBtnVisible = computed(() => { | ... | @@ -796,14 +723,15 @@ const createBtnVisible = computed(() => { |
| 796 | 723 | ||
| 797 | .list-content { | 724 | .list-content { |
| 798 | display: flex; | 725 | display: flex; |
| 799 | justify-content: space-between; | ||
| 800 | flex-wrap: wrap; | 726 | flex-wrap: wrap; |
| 801 | margin-bottom: 8px; | 727 | margin-bottom: 8px; |
| 802 | 728 | ||
| 803 | .card-content { | 729 | .card-content { |
| 804 | width: calc(33.33% - 10px); | 730 | width: calc(33.33% - 6px); |
| 805 | padding: 16px; | 731 | padding: 16px; |
| 806 | box-shadow: 0 0 0 1px #d9d9d9; | 732 | box-shadow: 0 0 0 1px #d9d9d9; |
| 733 | margin-right: 8px; | ||
| 734 | max-width: 400px; | ||
| 807 | 735 | ||
| 808 | &.active { | 736 | &.active { |
| 809 | box-shadow: 0 0 0 1px var(--el-color-primary); | 737 | box-shadow: 0 0 0 1px var(--el-color-primary); | ... | ... |
This diff is collapsed.
Click to expand it.
| ... | @@ -939,7 +939,7 @@ onBeforeMount(() => { | ... | @@ -939,7 +939,7 @@ onBeforeMount(() => { |
| 939 | d.label = d.ruleName; | 939 | d.label = d.ruleName; |
| 940 | d.value = d.ruleCode; | 940 | d.value = d.ruleCode; |
| 941 | return d; | 941 | return d; |
| 942 | })?.filter(d => d.ruleCode != 'rows_check' && d.ruleCode != 'volatility_check') || []; | 942 | })?.filter(d => d.ruleCode != 'rows_check' && d.ruleCode != 'volatility_check' && d.ruleCode != 'ref_integrality') || []; |
| 943 | searchItemList.value[2].options = ruleTypeList.value; | 943 | searchItemList.value[2].options = ruleTypeList.value; |
| 944 | } else { | 944 | } else { |
| 945 | ElMessage.error(res.msg); | 945 | ElMessage.error(res.msg); | ... | ... |
| ... | @@ -163,7 +163,7 @@ const rulesListByType: any = computed(() => { | ... | @@ -163,7 +163,7 @@ const rulesListByType: any = computed(() => { |
| 163 | // json: checkRulesList.value.filter(r => r.value == ''), | 163 | // json: checkRulesList.value.filter(r => r.value == ''), |
| 164 | tinyint: checkRulesList.value.filter(r => r.value == 'length_rule' || r.value == 'num_value_rule' || r.value == 'custom_regular_rule'), | 164 | tinyint: checkRulesList.value.filter(r => r.value == 'length_rule' || r.value == 'num_value_rule' || r.value == 'custom_regular_rule'), |
| 165 | time: checkRulesList.value.filter(r => r.value == 'length_rule' || r.value == 'custom_regular_rule'), | 165 | time: checkRulesList.value.filter(r => r.value == 'length_rule' || r.value == 'custom_regular_rule'), |
| 166 | bit: checkRulesList.value.filter(r => r.value == 'length_rule' || r.value == 'ch_rule' || r.value == 'en_rule' || r.value == 'custom_regular_rule'), | 166 | bit: checkRulesList.value.filter(r => r.value == 'length_rule' || r.value == 'ch_rule' || r.value == 'en_rule' || r.value == 'custom_regular_rule') |
| 167 | } | 167 | } |
| 168 | }); | 168 | }); |
| 169 | 169 | ||
| ... | @@ -188,7 +188,7 @@ onBeforeMount(() => { | ... | @@ -188,7 +188,7 @@ onBeforeMount(() => { |
| 188 | } | 188 | } |
| 189 | if (props.smallCategoryList?.length) { | 189 | if (props.smallCategoryList?.length) { |
| 190 | let p = panelList.value[1]; | 190 | let p = panelList.value[1]; |
| 191 | if (p.default) { | 191 | if (p.default && !props.readonly) { |
| 192 | if (p.default == '1') {//规范性 | 192 | if (p.default == '1') {//规范性 |
| 193 | panelList.value[2].options = props.smallCategoryList.slice(0, 6); | 193 | panelList.value[2].options = props.smallCategoryList.slice(0, 6); |
| 194 | } else if (p.default == '2') { | 194 | } else if (p.default == '2') { |
| ... | @@ -2395,7 +2395,7 @@ defineExpose({ | ... | @@ -2395,7 +2395,7 @@ defineExpose({ |
| 2395 | </el-table-column> | 2395 | </el-table-column> |
| 2396 | <el-table-column prop="checkRule" label="选择检验规则" width="150px" align="left" show-overflow-tooltip> | 2396 | <el-table-column prop="checkRule" label="选择检验规则" width="150px" align="left" show-overflow-tooltip> |
| 2397 | <template #default="scope"> | 2397 | <template #default="scope"> |
| 2398 | <el-select v-if="!props.readonly || (scope.row.dataType == 'text' || scope.row.dataType == 'json')" | 2398 | <el-select v-if="!props.readonly" |
| 2399 | v-model="scope.row['checkRule']" placeholder="请选择" filterable clearable> | 2399 | v-model="scope.row['checkRule']" placeholder="请选择" filterable clearable> |
| 2400 | <el-option v-for="opt in (rulesListByType[scope.row.dataType] || checkRulesList)" :key="opt['value']" | 2400 | <el-option v-for="opt in (rulesListByType[scope.row.dataType] || checkRulesList)" :key="opt['value']" |
| 2401 | :label="opt['label']" :value="opt['value']" /> | 2401 | :label="opt['label']" :value="opt['value']" /> | ... | ... |
| ... | @@ -158,7 +158,7 @@ onBeforeMount(() => { | ... | @@ -158,7 +158,7 @@ onBeforeMount(() => { |
| 158 | d.label = d.ruleName; | 158 | d.label = d.ruleName; |
| 159 | d.value = d.ruleCode; | 159 | d.value = d.ruleCode; |
| 160 | return d; | 160 | return d; |
| 161 | })?.filter(d => d.ruleCode != 'rows_check' && d.ruleCode != 'volatility_check') || []; | 161 | })?.filter(d => d.ruleCode != 'rows_check' && d.ruleCode != 'volatility_check' && d.ruleCode != 'ref_integrality') || []; |
| 162 | } else { | 162 | } else { |
| 163 | ElMessage.error(res.msg); | 163 | ElMessage.error(res.msg); |
| 164 | } | 164 | } | ... | ... |
| ... | @@ -241,7 +241,7 @@ onBeforeMount(() => { | ... | @@ -241,7 +241,7 @@ onBeforeMount(() => { |
| 241 | d.label = d.ruleName; | 241 | d.label = d.ruleName; |
| 242 | d.value = d.ruleCode; | 242 | d.value = d.ruleCode; |
| 243 | return d; | 243 | return d; |
| 244 | })?.filter(d => d.ruleCode != 'rows_check' && d.ruleCode != 'volatility_check') || []; | 244 | })?.filter(d => d.ruleCode != 'rows_check' && d.ruleCode != 'volatility_check' && d.ruleCode != 'ref_integrality') || []; |
| 245 | } else { | 245 | } else { |
| 246 | ElMessage.error(res.msg); | 246 | ElMessage.error(res.msg); |
| 247 | } | 247 | } | ... | ... |
| ... | @@ -248,7 +248,7 @@ onBeforeMount(() => { | ... | @@ -248,7 +248,7 @@ onBeforeMount(() => { |
| 248 | d.label = d.ruleName; | 248 | d.label = d.ruleName; |
| 249 | d.value = d.ruleCode; | 249 | d.value = d.ruleCode; |
| 250 | return d; | 250 | return d; |
| 251 | })?.filter(d => d.ruleCode != 'rows_check' && d.ruleCode != 'volatility_check') || []; //先隐藏掉表行数检查和表行数波动率 | 251 | })?.filter(d => d.ruleCode != 'rows_check' && d.ruleCode != 'volatility_check' && d.ruleCode != 'ref_integrality') || []; //先隐藏掉表行数检查和表行数波动率 |
| 252 | } else { | 252 | } else { |
| 253 | ElMessage.error(res.msg); | 253 | ElMessage.error(res.msg); |
| 254 | } | 254 | } | ... | ... |
| ... | @@ -40,6 +40,11 @@ export default ({ mode, command }) => { | ... | @@ -40,6 +40,11 @@ export default ({ mode, command }) => { |
| 40 | changeOrigin: env.VITE_OPEN_PROXY === 'true', | 40 | changeOrigin: env.VITE_OPEN_PROXY === 'true', |
| 41 | rewrite: path => path.replace(/\/portal/, ''), | 41 | rewrite: path => path.replace(/\/portal/, ''), |
| 42 | }, | 42 | }, |
| 43 | '/circulation':{ | ||
| 44 | target: env.VITE_APP_CIRCULATION, | ||
| 45 | changeOrigin: env.VITE_OPEN_PROXY === 'true', | ||
| 46 | rewrite: path => path.replace(/\/circulation/, ''), | ||
| 47 | }, | ||
| 43 | '/obs': { | 48 | '/obs': { |
| 44 | target: '//csbr-daop.obs.cn-north-1.myhuaweicloud.com:443', | 49 | target: '//csbr-daop.obs.cn-north-1.myhuaweicloud.com:443', |
| 45 | changeOrigin: env.VITE_OPEN_PROXY === 'true', | 50 | changeOrigin: env.VITE_OPEN_PROXY === 'true', | ... | ... |
-
Please register or sign in to post a comment