bcddc19d by xukangle

fix

1 parent a764f068
...@@ -83,6 +83,13 @@ VITE_APP_PERSONAL_URL = 'ms-daop-personel-service' ...@@ -83,6 +83,13 @@ VITE_APP_PERSONAL_URL = 'ms-daop-personel-service'
83 VITE_APP_CIRCULATION = http://192.168.6.20:18052/ 83 VITE_APP_CIRCULATION = http://192.168.6.20:18052/
84 # 测试环境访问地址 84 # 测试环境访问地址
85 VITE_API_CIRCULATION_URL = http://192.168.6.22:29900/circulation 85 VITE_API_CIRCULATION_URL = http://192.168.6.22:29900/circulation
86
87 #数据加工交付
88 VITE_APP_DATA_DELIVERY = http://192.168.6.20:38052/
89 # 测试环境访问地址
90 VITE_API_DATA_DELIVERY_URL = http://192.168.6.22:29900/delivery
91
92
86 # 本地访问地址 93 # 本地访问地址
87 # VITE_API_CIRCULATION_URL = http://localhost:9000/circulation 94 # VITE_API_CIRCULATION_URL = http://localhost:9000/circulation
88 95
......
...@@ -116,7 +116,8 @@ VITE_APP_PERSONAL_URL = ms-daop-personel-service ...@@ -116,7 +116,8 @@ VITE_APP_PERSONAL_URL = ms-daop-personel-service
116 116
117 #流通平台接口地址 117 #流通平台接口地址
118 VITE_APP_CIRCULATION = http://192.168.6.20:18052/ 118 VITE_APP_CIRCULATION = http://192.168.6.20:18052/
119 119 #数据加工交付
120 VITE_APP_DATA_DELIVERY = http://192.168.6.20:38052/
120 121
121 # 是否在打包时生成 sourcemap 122 # 是否在打包时生成 sourcemap
122 VITE_BUILD_SOURCEMAP = false 123 VITE_BUILD_SOURCEMAP = false
......
...@@ -63,6 +63,23 @@ server { ...@@ -63,6 +63,23 @@ server {
63 rewrite ^/circulation/(.*)$ /$1 break; 63 rewrite ^/circulation/(.*)$ /$1 break;
64 proxy_pass http://192.168.6.20:18052; 64 proxy_pass http://192.168.6.20:18052;
65 } 65 }
66 location /delivery {
67 # 设置允许跨域的域名,可以使用通配符 '*' 允许所有域访问
68 add_header 'Access-Control-Allow-Origin' * always;
69 # 设置允许的 HTTP 方法
70 add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, DELETE, PUT';
71 # 设置允许的请求头
72 add_header 'Access-Control-Allow-Headers' 'Authorization, Content-Type, Accept, Origin, X-Requested-With';
73 # 如果需要支持 cookie,可以设置以下 header
74 add_header 'Access-Control-Allow-Credentials' 'true';
75 # 缓存设置
76 add_header Cache-Control no-cache;
77 add_header Cache-Control private;
78
79 # 使用 rewrite 将 /circulation 替换为 /new-api
80 rewrite ^/delivery/(.*)$ /$1 break;
81 proxy_pass http://192.168.6.20:38052;
82 }
66 83
67 error_page 500 502 503 504 /50x.html; 84 error_page 500 502 503 504 /50x.html;
68 location = /50x.html { 85 location = /50x.html {
......
...@@ -402,3 +402,30 @@ export const getExchangeList = () => request({ ...@@ -402,3 +402,30 @@ export const getExchangeList = () => request({
402 url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-base/register-num`, 402 url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-base/register-num`,
403 method: 'post' 403 method: 'post'
404 }) 404 })
405
406
407
408 // API详情
409 /** 查询域名和文根 */
410 /** api类型,有表单类型,自定义sql. */
411 export const apiTypes: any = [{
412 value: 1,
413 label: '单表API'
414 }, {
415 value: 2,
416 label: '自定义sql'
417 }, {
418 value: 3,
419 label: '注册API'
420 }];
421
422 /** 获取api详情信息 */
423 export const getApiDetail = (params) => request({
424 // url:`${import.meta.env.VITE_APP_SERVICE_BASEURL}/api-base-info/detail`,
425 // url: `http://localhost:9000/circulation/ms-data-circulation-portal-service/enterprise/detail-by-name`,
426 // url: `http://localhost:9000/delivery/api-base-info/detail`,
427 url: `http://192.168.6.20:38052/delivery/api-base-info/detail`,
428 method: 'get',
429 params
430 })
431
......
...@@ -81,6 +81,20 @@ const routes: RouteRecordRaw[] = [ ...@@ -81,6 +81,20 @@ const routes: RouteRecordRaw[] = [
81 } 81 }
82 } 82 }
83 }, 83 },
84 {
85 // path: 'processDetail',
86 // name: 'APIProcessDetail',
87 path: 'api-detail',
88 name: 'apiDetail',
89 component: () => import('@/views/data_asset/detail_serviceApi.vue'),
90 meta: {
91 title: '流程详情',
92 sidebar: false,
93 breadcrumb: false,
94 cache: true,
95 reuse: true
96 }
97 },
84 // { 98 // {
85 // path: 'import-table-field', 99 // path: 'import-table-field',
86 // name: 'importTableField', 100 // name: 'importTableField',
......
...@@ -134,7 +134,7 @@ const baseInfoFormItems = ref([ ...@@ -134,7 +134,7 @@ const baseInfoFormItems = ref([
134 placeholder: '请输入', 134 placeholder: '请输入',
135 field: 'rightMain', 135 field: 'rightMain',
136 maxlength: 20, 136 maxlength: 20,
137 default: userStore.userName, 137 default: JSON.parse(userStore.userData).tenantName,
138 required: true, 138 required: true,
139 disabled: true 139 disabled: true
140 }, 140 },
...@@ -329,6 +329,7 @@ const assetDataTableInfo = ref({ ...@@ -329,6 +329,7 @@ const assetDataTableInfo = ref({
329 let btns = [{ 329 let btns = [{
330 label: "编辑", value: "edit", click: (scope) => { 330 label: "编辑", value: "edit", click: (scope) => {
331 //分为未建表的编辑,和已建表的编辑。 331 //分为未建表的编辑,和已建表的编辑。
332 console.log(scope, 'scope');
332 let row = scope.row; 333 let row = scope.row;
333 importTableEditIndex.value = scope.$index; 334 importTableEditIndex.value = scope.$index;
334 if (row.guid) {//已建表的 335 if (row.guid) {//已建表的
...@@ -504,6 +505,13 @@ onBeforeMount(() => { ...@@ -504,6 +505,13 @@ onBeforeMount(() => {
504 // ElMessage.error(res.msg) 505 // ElMessage.error(res.msg)
505 // } 506 // }
506 // }) 507 // })
508 // if (route.query.guid && route.query.foundMode == '2') {
509 // baseInfoFormItems.value[0].disabled = true;
510 // baseInfoFormItems.value[1].disabled = true;
511 // baseInfoFormItems.value[2].disabled = true;
512 // baseInfoFormItems.value[5].disabled = true;
513 // }
514
507 getParentAreaPromise.value = getAreaData({ parentId: null }).then((res: any) => { 515 getParentAreaPromise.value = getAreaData({ parentId: null }).then((res: any) => {
508 if (res?.code == proxy.$passCode) { 516 if (res?.code == proxy.$passCode) {
509 parentAreaData.value = res.data ?? []; 517 parentAreaData.value = res.data ?? [];
...@@ -517,7 +525,7 @@ onBeforeMount(() => { ...@@ -517,7 +525,7 @@ onBeforeMount(() => {
517 if (res.code == proxy.$passCode) { 525 if (res.code == proxy.$passCode) {
518 detailInfo.value = res.data || {}; 526 detailInfo.value = res.data || {};
519 baseInfoFormItems.value.forEach((item: any) => { 527 baseInfoFormItems.value.forEach((item: any) => {
520 item.default = detailInfo.value[item.field]; 528 item.default = detailInfo.value[item.field] || '';
521 if (item.field == 'subjectDomain') { 529 if (item.field == 'subjectDomain') {
522 let tree = detailInfo.value.subjectDomainTree?.[0]; 530 let tree = detailInfo.value.subjectDomainTree?.[0];
523 if (tree) { 531 if (tree) {
...@@ -529,36 +537,50 @@ onBeforeMount(() => { ...@@ -529,36 +537,50 @@ onBeforeMount(() => {
529 } 537 }
530 } 538 }
531 else if (item.field == 'coverageArea') { 539 else if (item.field == 'coverageArea') {
532 if (detailInfo.value.coverageArea[0][0] == 'all') { 540 if (detailInfo.value.coverageArea && Array.isArray(detailInfo.value.coverageArea) && detailInfo.value.coverageArea.length > 0) {
533 item.default = 'all'; 541 if (detailInfo.value.coverageArea[0][0] == 'all') {
534 if (item.children?.length) { 542 item.default = 'all';
535 item.children[0].visible = false; 543 if (item.children?.length) {
536 item.children[0].default = []; 544 item.children[0].visible = false;
537 } 545 item.children[0].default = [];
538 } else { 546 }
539 item.default = ''; 547 } else {
540 if (item.children?.length) { 548 item.default = '';
541 item.children[0].visible = true; 549 if (item.children?.length) {
542 item.children[0].default = [detailInfo.value.coverageArea[0]] as any; 550 item.children[0].visible = true;
543 let p: any = []; 551 item.children[0].default = [detailInfo.value.coverageArea[0]] as any;
544 detailInfo.value.coverageArea.forEach(area => { 552 let p: any = [];
545 if (p.includes(area[0])) { 553 detailInfo.value.coverageArea?.forEach(area => {
546 return; 554 if (p.includes(area[0])) {
555 return;
556 }
557 p.push(area[0]);
558 getArea({ value: area[0], level: 1 }, () => { })
559 });
560 let ps: any = []
561 for (const key in getAreaDataPromise.value) {
562 ps.push(getAreaDataPromise.value[key])
547 } 563 }
548 p.push(area[0]); 564 Promise.all(ps).then(() => {
549 getArea({ value: area[0], level: 1 }, () => { }) 565 item.children[0].default = detailInfo.value.coverageArea;
550 }); 566 });
551 let ps: any = []
552 for (const key in getAreaDataPromise.value) {
553 ps.push(getAreaDataPromise.value[key])
554 } 567 }
555 Promise.all(ps).then(() => {
556 item.children[0].default = detailInfo.value.coverageArea;
557 });
558 } 568 }
559 } 569 }
570 } else if (item.field == 'rightMain') {
571 item.default = detailInfo.value.rightMainName;
560 } 572 }
561 }); 573 });
574 if (route.query.guid && route.query.foundMode == '2') {
575 baseInfoFormItems.value[0].disabled = true;
576 baseInfoFormItems.value[1].disabled = true;
577 baseInfoFormItems.value[2].disabled = true;
578 if (detailInfo.value.databaseType == null && route.query.foundMode == '2') {
579 baseInfoFormItems.value[5].visible = false;
580 } else if (detailInfo.value.databaseType != null && route.query.foundMode == '2') {
581 baseInfoFormItems.value[5].disabled = true;
582 }
583 }
562 checkedInfo.value = {}; 584 checkedInfo.value = {};
563 nextTick(() => { 585 nextTick(() => {
564 baseInfoFormRules.value.damName[1] = checkExistName(checkedInfo.value, existDamName, detailInfo.value, 'damName'); 586 baseInfoFormRules.value.damName[1] = checkExistName(checkedInfo.value, existDamName, detailInfo.value, 'damName');
...@@ -622,7 +644,7 @@ const save = () => { ...@@ -622,7 +644,7 @@ const save = () => {
622 if (valid) { 644 if (valid) {
623 let params = { ...baseInfoFormRef.value.formInline }; 645 let params = { ...baseInfoFormRef.value.formInline };
624 /** 只有数据集和api类型时,目录表必填。 */ 646 /** 只有数据集和api类型时,目录表必填。 */
625 if (params.damType == '1' || params.damType == '2') { 647 if ((params.damType == '1' || params.damType == '2') && route.query.foundMode != '2') {
626 if (!params.databaseType) { 648 if (!params.databaseType) {
627 proxy.$ElMessage.error('资源类型为数据集或API时,数据库类型必填'); 649 proxy.$ElMessage.error('资源类型为数据集或API时,数据库类型必填');
628 baseInfoExpand.value = true; 650 baseInfoExpand.value = true;
...@@ -646,6 +668,8 @@ const save = () => { ...@@ -646,6 +668,8 @@ const save = () => {
646 } 668 }
647 if (damGuid.value) { 669 if (damGuid.value) {
648 params.guid = damGuid.value; 670 params.guid = damGuid.value;
671 params.foundMode = route.query.foundMode;
672 params.rightMain = detailInfo.value.rightMain;
649 fullscreenLoading.value = true; 673 fullscreenLoading.value = true;
650 registerCatalogUpdate(params).then((res: any) => { 674 registerCatalogUpdate(params).then((res: any) => {
651 fullscreenLoading.value = false; 675 fullscreenLoading.value = false;
...@@ -663,6 +687,8 @@ const save = () => { ...@@ -663,6 +687,8 @@ const save = () => {
663 } else { 687 } else {
664 params.damCatalogTableInfo = assetDataTableInfo.value.data; 688 params.damCatalogTableInfo = assetDataTableInfo.value.data;
665 fullscreenLoading.value = true; 689 fullscreenLoading.value = true;
690 console.log(params, 'params');
691 params.rightMain = JSON.parse(userStore.userData).tenantGuid;
666 registerCatalogSave(params).then((res: any) => { 692 registerCatalogSave(params).then((res: any) => {
667 fullscreenLoading.value = false; 693 fullscreenLoading.value = false;
668 if (res.code == proxy.$passCode) { 694 if (res.code == proxy.$passCode) {
......
...@@ -223,9 +223,17 @@ const btnClick = (btn) => { ...@@ -223,9 +223,17 @@ const btnClick = (btn) => {
223 const type = btn.value; 223 const type = btn.value;
224 if (type == 'cancel') { 224 if (type == 'cancel') {
225 userStore.setTabbar(userStore.tabbar.filter((tab: any) => tab.fullPath !== fullPath)); 225 userStore.setTabbar(userStore.tabbar.filter((tab: any) => tab.fullPath !== fullPath));
226 router.push({ 226 console.log('detailType', detailType.value);
227 name: detailType.value == 'qualityEvaluate' ? 'qualityEvaluate' : (detailType.value == 'costAssess' ? 'valueEvaluate' : (detailType.value == 'certificate' ? 'certificateManagement' : 'registerManagemant')) 227 if (detailType.value == 'asset') {
228 }); 228 router.push({
229 name: 'registerCatalogManagement',
230 query: {}
231 });
232 } else {
233 router.push({
234 name: detailType.value == 'qualityEvaluate' ? 'qualityEvaluate' : (detailType.value == 'costAssess' ? 'valueEvaluate' : (detailType.value == 'certificate' ? 'certificateManagement' : 'registerManagemant'))
235 });
236 }
229 } else if (type == 'pass') { 237 } else if (type == 'pass') {
230 passDialogInfo.value.visible = true; 238 passDialogInfo.value.visible = true;
231 assessFormItems.value[2].placeholder = '按照本次评估目的及价值类型,该笔数据资产在评估基准日的评估值为人民币***元。本次评估结论在评估基准日后一年内有效,即自20*年*月*日至20*年*月*日止。超过一年,需重新举行资产评估。'; 239 assessFormItems.value[2].placeholder = '按照本次评估目的及价值类型,该笔数据资产在评估基准日的评估值为人民币***元。本次评估结论在评估基准日后一年内有效,即自20*年*月*日至20*年*月*日止。超过一年,需重新举行资产评估。';
...@@ -768,6 +776,21 @@ const formattedAmount = computed(() => { ...@@ -768,6 +776,21 @@ const formattedAmount = computed(() => {
768 maximumFractionDigits: 2 776 maximumFractionDigits: 2
769 }).format(costAssessDetail.value?.assessmentMoney); 777 }).format(costAssessDetail.value?.assessmentMoney);
770 }); 778 });
779
780 const handleClick = () => {
781 // 跳转到 apiDetail 页面
782 if (detailInfo.value.foundMode == '2') {
783 router.push({
784 name: 'apiDetail',
785 query: {
786 guid: detailInfo.value.guid,
787 type: 'detaile',
788 }
789 });
790 }
791 };
792
793
771 </script> 794 </script>
772 795
773 <template> 796 <template>
...@@ -779,7 +802,8 @@ const formattedAmount = computed(() => { ...@@ -779,7 +802,8 @@ const formattedAmount = computed(() => {
779 <div class="right-main"> 802 <div class="right-main">
780 <div class="asset-title"> 803 <div class="asset-title">
781 <div style="display: flex;align-items: center;"> 804 <div style="display: flex;align-items: center;">
782 <div class="title1">{{ detailInfo.damName ?? '--' }}</div> 805 <div @click="handleClick" :class="{ 'foundMode': detailInfo.foundMode == '2', 'title1': true }">{{
806 detailInfo.damName ?? '--' }}</div>
783 <div class="dataLabel">{{ detailInfo.damTypeName }}</div> 807 <div class="dataLabel">{{ detailInfo.damTypeName }}</div>
784 <div class="dataLabel">{{ detailInfo.subjectDomainName || detailInfo.subjectDomain }}</div> 808 <div class="dataLabel">{{ detailInfo.subjectDomainName || detailInfo.subjectDomain }}</div>
785 <div class="dataLabel dataLabel1" v-if="detailInfo.databaseType">{{ detailInfo.databaseType }}</div> 809 <div class="dataLabel dataLabel1" v-if="detailInfo.databaseType">{{ detailInfo.databaseType }}</div>
...@@ -892,8 +916,8 @@ const formattedAmount = computed(() => { ...@@ -892,8 +916,8 @@ const formattedAmount = computed(() => {
892 </el-table-column> 916 </el-table-column>
893 </el-table> 917 </el-table>
894 </ContentWrap> 918 </ContentWrap>
895 <ContentWrap v-if="route.query.type == 'qualityEvaluate' || 'costAssess'" id="id-assetContent" title="附件信息" 919 <ContentWrap v-if="route.query.type == 'qualityEvaluate' || route.query.type == 'costAssess'" id="id-assetContent"
896 description="" style="margin: 16px 16px 16px"> 920 title="附件信息" description="" style="margin: 16px 16px 16px">
897 <div class="list_panel mt4"> 921 <div class="list_panel mt4">
898 <div class="list_item isFile" v-if="evaDetailInfo?.qualityEvaluationFile?.length" :style="{ width: '40%' }"> 922 <div class="list_item isFile" v-if="evaDetailInfo?.qualityEvaluationFile?.length" :style="{ width: '40%' }">
899 <span class="item_label" :style="{ width: 'auto', 'text-align': 'left' }">数据质量评价收集</span> 923 <span class="item_label" :style="{ width: 'auto', 'text-align': 'left' }">数据质量评价收集</span>
...@@ -1035,14 +1059,14 @@ const formattedAmount = computed(() => { ...@@ -1035,14 +1059,14 @@ const formattedAmount = computed(() => {
1035 </div> 1059 </div>
1036 </ContentWrap> 1060 </ContentWrap>
1037 1061
1038 <ContentWrap v-if="route.query.type == 'qualityEvaluate' || 'costAssess'" id="id-approveInfo" title="审批信息" 1062 <ContentWrap v-if="route.query.type == 'qualityEvaluate' || route.query.type == 'costAssess'" id="id-approveInfo"
1039 description="" style="margin: 16px 16px 16px"> 1063 title="审批信息" description="" style="margin: 16px 16px 16px">
1040 <ApprovalProcess v-if="deploymentId" :deploymentId="deploymentId" :processInstanceId="processInstanceId"> 1064 <ApprovalProcess v-if="deploymentId" :deploymentId="deploymentId" :processInstanceId="processInstanceId">
1041 </ApprovalProcess> 1065 </ApprovalProcess>
1042 </ContentWrap> 1066 </ContentWrap>
1043 </div> 1067 </div>
1044 <div class="tool_btns" 1068 <div class="tool_btns"
1045 v-if="toolBtns.length && (route.query.type == 'qualityEvaluate' || route.query.type == 'costAssess')"> 1069 v-if="toolBtns.length && (route.query.type == 'qualityEvaluate' || route.query.type == 'costAssess' || route.query.type == 'asset')">
1046 <div class="btns"> 1070 <div class="btns">
1047 <el-button v-for="btn in toolBtns" :type="btn.type" :plain="btn.plain" @click="btnClick(btn)">{{ btn.label 1071 <el-button v-for="btn in toolBtns" :type="btn.type" :plain="btn.plain" @click="btnClick(btn)">{{ btn.label
1048 }}</el-button> 1072 }}</el-button>
...@@ -1208,6 +1232,10 @@ const formattedAmount = computed(() => { ...@@ -1208,6 +1232,10 @@ const formattedAmount = computed(() => {
1208 align-items: center; 1232 align-items: center;
1209 justify-content: space-between; 1233 justify-content: space-between;
1210 1234
1235 .foundMode {
1236 color: #1BA854;
1237 }
1238
1211 .title1 { 1239 .title1 {
1212 font-size: 20px; 1240 font-size: 20px;
1213 color: #212121; 1241 color: #212121;
......
...@@ -313,17 +313,32 @@ const tableBtnClick = (scope, btn) => { ...@@ -313,17 +313,32 @@ const tableBtnClick = (scope, btn) => {
313 console.log('row', row); 313 console.log('row', row);
314 currTableData.value = row; 314 currTableData.value = row;
315 if (type == "redit") { 315 if (type == "redit") {
316 if (!row.registerGuid) { 316 // if (!row.registerGuid) {
317 formItems.value[2].visible = true; 317 // formItems.value[2].visible = true;
318 formItems.value[3].visible = true; 318 // formItems.value[3].visible = true;
319 formItems.value[4].visible = true; 319 // formItems.value[4].visible = true;
320 formItems.value[5].visible = true; 320 // formItems.value[5].visible = true;
321 formItems.value[0].visible = false; 321 // formItems.value[0].visible = false;
322 formItems.value[0].default = row.damGuid; 322 // formItems.value[0].default = row.damGuid;
323 formItems.value[1].default = row.costAssessmentFile || []; 323 // formItems.value[1].default = row.costAssessmentFile || [];
324 dialogInfo.value.type = 'reSubmit'; 324 // dialogInfo.value.type = 'reSubmit';
325 dialogInfo.value.visible = true; 325 // dialogInfo.value.visible = true;
326 } else { 326 // } else {
327 // formItems.value[2].visible = false;
328 // formItems.value[3].visible = false;
329 // formItems.value[4].visible = false;
330 // formItems.value[5].visible = false;
331 // formItems.value[0].visible = false;
332 // formItems.value[0].default = row.damGuid;
333 // formItems.value[1].default = row.costAssessmentFile || [];
334 // formItems.value[2].default = row.qualityScore;
335 // formItems.value[3].default = row.evaluationRangeStart && row.evaluationRangeEnd ? [row.evaluationRangeStart, row.evaluationRangeEnd] : '';
336 // formItems.value[4].default = row.evaluationNote;
337 // formItems.value[5].default = row.evaluationFile || [];
338 // dialogInfo.value.type = 'reSubmit';
339 // dialogInfo.value.visible = true;
340 // }
341 if (row.qualityScore || (!row.qualityScore && !row.qualityEvaluationGuid)) {
327 formItems.value[2].visible = false; 342 formItems.value[2].visible = false;
328 formItems.value[3].visible = false; 343 formItems.value[3].visible = false;
329 formItems.value[4].visible = false; 344 formItems.value[4].visible = false;
...@@ -338,6 +353,18 @@ const tableBtnClick = (scope, btn) => { ...@@ -338,6 +353,18 @@ const tableBtnClick = (scope, btn) => {
338 dialogInfo.value.type = 'reSubmit'; 353 dialogInfo.value.type = 'reSubmit';
339 dialogInfo.value.visible = true; 354 dialogInfo.value.visible = true;
340 } 355 }
356 if (!row.qualityScore && row.qualityEvaluationGuid) {
357 formItems.value[2].visible = true;
358 formItems.value[3].visible = true;
359 formItems.value[4].visible = true;
360 formItems.value[5].visible = true;
361 formItems.value[0].visible = false;
362 formItems.value[0].default = row.damGuid;
363 formItems.value[1].default = row.costAssessmentFile || [];
364 dialogInfo.value.type = 'reSubmit';
365 dialogInfo.value.visible = true;
366 }
367
341 } else if (type == "delete") { 368 } else if (type == "delete") {
342 delTableOpen("此操作将永久删除该资产价值评估,是否继续?", "warning"); 369 delTableOpen("此操作将永久删除该资产价值评估,是否继续?", "warning");
343 } else if (type === 'backup') { 370 } else if (type === 'backup') {
......
...@@ -874,7 +874,7 @@ const formInfo = ref<any>({ ...@@ -874,7 +874,7 @@ const formInfo = ref<any>({
874 <Table :tableInfo="tableInfo" @tableBtnClick="tableBtnClick" @tablePageChange="tablePageChange" 874 <Table :tableInfo="tableInfo" @tableBtnClick="tableBtnClick" @tablePageChange="tablePageChange"
875 @tableSwitchBeforeChange="tableSwitchBeforeChange" /> 875 @tableSwitchBeforeChange="tableSwitchBeforeChange" />
876 </div> 876 </div>
877 <el-dialog v-model="dialogVisible" :title="dialogTitle" width="60%"> 877 <el-dialog v-model="dialogVisible" :title="dialogTitle" width="30%">
878 <Form ref="listingFormRef" :itemList="formInfo.items" :rules="formInfo.rules" /> 878 <Form ref="listingFormRef" :itemList="formInfo.items" :rules="formInfo.rules" />
879 <el-input type="textarea" :rows="3" maxlength="100" v-model="approveSuggest" resize="none" 879 <el-input type="textarea" :rows="3" maxlength="100" v-model="approveSuggest" resize="none"
880 placeholder="请输入审批意见" /> 880 placeholder="请输入审批意见" />
......
...@@ -45,6 +45,11 @@ export default ({ mode, command }) => { ...@@ -45,6 +45,11 @@ export default ({ mode, command }) => {
45 changeOrigin: env.VITE_OPEN_PROXY === 'true', 45 changeOrigin: env.VITE_OPEN_PROXY === 'true',
46 rewrite: path => path.replace(/\/circulation/, ''), 46 rewrite: path => path.replace(/\/circulation/, ''),
47 }, 47 },
48 '/delivery':{
49 target: env.VITE_APP_DATA_DELIVERY,
50 changeOrigin: env.VITE_OPEN_PROXY === 'true',
51 rewrite: path => path.replace(/\/delivery/, ''),
52 },
48 '/obs': { 53 '/obs': {
49 target: '//csbr-daop.obs.cn-north-1.myhuaweicloud.com:443', 54 target: '//csbr-daop.obs.cn-north-1.myhuaweicloud.com:443',
50 changeOrigin: env.VITE_OPEN_PROXY === 'true', 55 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!