50188ad8 by xukangle

Merge branch 'develop' into dev_20241202_xukangle

2 parents c7ae9b22 02cf8029
...@@ -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 }
268 }); 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);
269 } 277 }
270 approveTableInfo.value.loading = true; 278 }));
271 getApproveList(detailType.value == 'qualityEvaluate' ? evaGuid.value : (detailType.value == 'costAssess' ? costAssessGuid.value : assetGuid)).then((res: any) => { 279 ps.push(getTenantInfo({ tenantName: userData.tenantName }).then((res: any) => {
272 approveTableInfo.value.loading = false;
273 if (res.code == proxy.$passCode) { 280 if (res.code == proxy.$passCode) {
274 console.log(res.data); 281 const data = res.data ?? {};
275 approveTableInfo.value.data = res.data || []; 282 tentData = { ...tentData, ...data };
276 } else { 283 } else {
277 ElMessage.error(res.msg); 284 ElMessage.error(res.msg);
278 } 285 }
286 }))
287
288 Promise.all(ps).then(() => {
289 fullscreenLoading.value = false;
290 tenantDetail.value = tentData;
291 }).catch(() => {
292 fullscreenLoading.value = false;
279 }); 293 });
294 }
295 // approveTableInfo.value.loading = true;
296 // getApproveList(detailType.value == 'qualityEvaluate' ? evaGuid.value : (detailType.value == 'costAssess' ? costAssessGuid.value : assetGuid)).then((res: any) => {
297 // approveTableInfo.value.loading = false;
298 // if (res.code == proxy.$passCode) {
299 // console.log(res.data);
300 // approveTableInfo.value.data = res.data || [];
301 // } else {
302 // ElMessage.error(res.msg);
303 // }
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);
......
...@@ -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',
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!