242a9cb3 by lxs

Merge branch 'develop' into release-test

2 parents 066cf4b0 d4bc7e00
...@@ -17,6 +17,7 @@ declare module '@vue/runtime-core' { ...@@ -17,6 +17,7 @@ declare module '@vue/runtime-core' {
17 Copyright: typeof import('./src/components/Copyright/index.vue')['default'] 17 Copyright: typeof import('./src/components/Copyright/index.vue')['default']
18 Day: typeof import('./src/components/Schedule/component/day.vue')['default'] 18 Day: typeof import('./src/components/Schedule/component/day.vue')['default']
19 Dialog: typeof import('./src/components/Dialog/index.vue')['default'] 19 Dialog: typeof import('./src/components/Dialog/index.vue')['default']
20 Dialog_approval: typeof import('./src/components/ApprovalProcess/dialog_approval.vue')['default']
20 Dialog_form: typeof import('./src/components/Dialog/dialog_form.vue')['default'] 21 Dialog_form: typeof import('./src/components/Dialog/dialog_form.vue')['default']
21 Dialog_grid: typeof import('./src/components/Dialog/dialog_grid.vue')['default'] 22 Dialog_grid: typeof import('./src/components/Dialog/dialog_grid.vue')['default']
22 Dialog_pane: typeof import('./src/components/Dialog/dialog_pane.vue')['default'] 23 Dialog_pane: typeof import('./src/components/Dialog/dialog_pane.vue')['default']
......
...@@ -63,4 +63,11 @@ export const isMyFirstNode = (params) => request({ ...@@ -63,4 +63,11 @@ export const isMyFirstNode = (params) => request({
63 url: `${import.meta.env.VITE_APP_WORK_FLOW_URL}/work-flow/data/is-my-first-node`, 63 url: `${import.meta.env.VITE_APP_WORK_FLOW_URL}/work-flow/data/is-my-first-node`,
64 method: 'post', 64 method: 'post',
65 data: params 65 data: params
66 })
...\ No newline at end of file ...\ No newline at end of file
66 })
67
68 /** 获取跨平台审批数据节点详情 */
69 export const getCrossDetailList = (params) => request({
70 url: `${import.meta.env.VITE_APP_WORK_FLOW_URL}/approve-detail-cross/list`,
71 method: 'post',
72 data: params
73 })
......
1 <script lang="ts" setup name="DialogApproval">
2 import { TableColumnWidth } from '@/utils/enum';
3 import {
4 getCrossDetailList
5 } from '@/api/modules/workFlowService';
6
7 const { proxy } = getCurrentInstance() as any;
8
9 const emits = defineEmits([
10 "dialogCancel"
11 ]);
12
13 const props = defineProps({
14 visible: {
15 type: Boolean,
16 default: false
17 },
18 currentRowInfo: {
19 type: Object,
20 default: {
21 }
22 }
23 })
24
25 const dialogInfo = ref({
26 visible: false,
27 size: 700,
28 direction: "column",
29 header: {
30 title: "主平台审批节点",
31 },
32 footer: {
33 visible: false
34 }
35 });
36
37 watch(() => props.visible, () => {
38 dialogInfo.value.visible = props.visible;
39 if (props.visible) {
40 tableInfo.value.data = [];
41 gettableList();
42 }
43 }, {
44 immediate: true
45 })
46
47 /** 获取版本信息数据 */
48 const gettableList = () => {
49 tableInfo.value.loading = true;
50 getCrossDetailList({
51 pageIndex: 1,
52 pageSize: -1,
53 bizGuid: props.currentRowInfo.guid
54 }).then((res: any) => {
55 tableInfo.value.loading = false;
56 if (res.code == proxy.$passCode) {
57 const data = res.data || [];
58 tableInfo.value.data = data?.map(d => {
59 d.approveState = d.approveState == null ? undefined : d.approveState;
60 return d;
61 });
62 } else {
63 proxy.$ElMessage.error(res.msg);
64 }
65 })
66 }
67
68 const tableInfo = ref({
69 id: 'approval-table',
70 loading: false,
71 minPanelHeight: "60px",
72 minHeight: "60px",
73 fields: [
74 { label: "序号", type: "index", width: TableColumnWidth.INDEX, align: "center", fixed: "left" },
75 {
76 label: "节点", field: "processName", width: 100
77 },
78 { label: "处理对象", field: "operator", width: TableColumnWidth.USERNAME },
79 { label: "操作时间", field: "operatingTime", width: TableColumnWidth.DATETIME, },
80 {
81 label: "审批状态", field: "approveState", width: 120, type: 'tag'
82 },
83 { label: "审批原因", field: "approveSuggest", width: TableColumnWidth.DESCRIPTION },
84 ],
85 data: [],
86 showPage: false,
87 actionInfo: {
88 show: false
89 }
90 });
91
92 const handleDialogCancel = () => {
93 dialogInfo.value.visible = false;
94 emits("dialogCancel");
95 }
96
97 </script>
98
99 <template>
100 <!-- 版本信息 -->
101 <el-dialog v-model="dialogInfo.visible" :title="dialogInfo.header.title" :width="dialogInfo.size" :modal="true"
102 :close-on-click-modal="true" destroy-on-close align-center @close="handleDialogCancel">
103 <Table ref="tableRef" :tableInfo="tableInfo" class="approval-table" />
104 </el-dialog>
105 </template>
106
107 <style lang="scss" scoped>
108 .approval-table {
109 height: 180px !important;
110 }
111
112 :deep(.cusror-inherit) {
113 cursor: inherit;
114 }
115 </style>
...\ No newline at end of file ...\ No newline at end of file
...@@ -291,6 +291,17 @@ onMounted(() => { ...@@ -291,6 +291,17 @@ onMounted(() => {
291 }}</el-tag> 291 }}</el-tag>
292 <span v-else>{{ '--' }}</span> 292 <span v-else>{{ '--' }}</span>
293 </template> 293 </template>
294 <template #default="scope" v-else-if="item.type == 'approveTagBtn'">
295 <div v-if="scope.row[item.field] !== undefined" style="position: relative;">
296 <el-tag :type="tagType(scope.row, item.field)">{{
297 tagMethod(scope.row, item.field)
298 }}</el-tag>
299 <span v-if="item.btn?.visible?.(scope) !== false && item.btn.visible !== false" class="text_btn" style="position: absolute;right: 0;"
300 @click="(item.btn.click && !item.btn.disabled && !scope.row.disabled) ? item.btn.click(scope, item.btn) : handleClick(scope, item.btn)"
301 v-preReClick>{{ item.btn.label }}</span>
302 </div>
303 <span v-else>{{ '--' }}</span>
304 </template>
294 <template #default="scope" v-else-if="item.type == 'popover'"> 305 <template #default="scope" v-else-if="item.type == 'popover'">
295 <el-popover v-if="scope.row[item.field] !== undefined && (item.checkName ? item.checkName(scope) : true)" 306 <el-popover v-if="scope.row[item.field] !== undefined && (item.checkName ? item.checkName(scope) : true)"
296 placement="left-start" :title="props.tableInfo.popoverTitle || '变化'" :width="476" trigger="hover" 307 placement="left-start" :title="props.tableInfo.popoverTitle || '变化'" :width="476" trigger="hover"
......
...@@ -17,6 +17,7 @@ declare module '@vue/runtime-core' { ...@@ -17,6 +17,7 @@ declare module '@vue/runtime-core' {
17 Copyright: typeof import('./../components/Copyright/index.vue')['default'] 17 Copyright: typeof import('./../components/Copyright/index.vue')['default']
18 Day: typeof import('./../components/Schedule/component/day.vue')['default'] 18 Day: typeof import('./../components/Schedule/component/day.vue')['default']
19 Dialog: typeof import('./../components/Dialog/index.vue')['default'] 19 Dialog: typeof import('./../components/Dialog/index.vue')['default']
20 Dialog_approval: typeof import('./../components/ApprovalProcess/dialog_approval.vue')['default']
20 Dialog_form: typeof import('./../components/Dialog/dialog_form.vue')['default'] 21 Dialog_form: typeof import('./../components/Dialog/dialog_form.vue')['default']
21 Dialog_grid: typeof import('./../components/Dialog/dialog_grid.vue')['default'] 22 Dialog_grid: typeof import('./../components/Dialog/dialog_grid.vue')['default']
22 Dialog_pane: typeof import('./../components/Dialog/dialog_pane.vue')['default'] 23 Dialog_pane: typeof import('./../components/Dialog/dialog_pane.vue')['default']
......
...@@ -379,7 +379,7 @@ export const chunk = (arr, size) => { ...@@ -379,7 +379,7 @@ export const chunk = (arr, size) => {
379 } 379 }
380 380
381 // 设置tag样式 381 // 设置tag样式
382 export const tagType = (row, type) => { 382 export const tagType = (row, type): any => {
383 let state = 'info' 383 let state = 'info'
384 if (type == 'connectStatus') { 384 if (type == 'connectStatus') {
385 switch (row[type]) { 385 switch (row[type]) {
...@@ -441,7 +441,7 @@ export const tagType = (row, type) => { ...@@ -441,7 +441,7 @@ export const tagType = (row, type) => {
441 state = 'warning'; 441 state = 'warning';
442 break; 442 break;
443 } 443 }
444 } else if (type == 'approveState') { 444 } else if (type == 'approveState' || type == 'crossPlatformApproveState') {
445 switch (row[type]) { 445 switch (row[type]) {
446 case "N": 446 case "N":
447 state = 'info'; 447 state = 'info';
...@@ -705,7 +705,7 @@ export const tagMethod = (row, type) => { ...@@ -705,7 +705,7 @@ export const tagMethod = (row, type) => {
705 tag = '待受理' 705 tag = '待受理'
706 break; 706 break;
707 } 707 }
708 } else if (type == 'approveState') { 708 } else if (type == 'approveState' || type == 'crossPlatformApproveState') {
709 switch (row[type]) { 709 switch (row[type]) {
710 case "N": 710 case "N":
711 tag = '草稿中' 711 tag = '草稿中'
...@@ -723,7 +723,7 @@ export const tagMethod = (row, type) => { ...@@ -723,7 +723,7 @@ export const tagMethod = (row, type) => {
723 tag = '已撤销' 723 tag = '已撤销'
724 break; 724 break;
725 default: 725 default:
726 tag = '--' 726 tag = type == 'crossPlatformApproveState' ? '未发起' : '--'
727 break; 727 break;
728 } 728 }
729 } else if (type == 'standardType') { 729 } else if (type == 'standardType') {
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
6 6
7 import { ref } from 'vue'; 7 import { ref } from 'vue';
8 import TableTools from "@/components/Tools/table_tools.vue"; 8 import TableTools from "@/components/Tools/table_tools.vue";
9 import DialogApproval from '@/components/ApprovalProcess/dialog_approval.vue';
9 import { ElMessage, ElMessageBox } from 'element-plus'; 10 import { ElMessage, ElMessageBox } from 'element-plus';
10 import { 11 import {
11 getQualityEvaList, 12 getQualityEvaList,
...@@ -30,6 +31,14 @@ const { proxy } = getCurrentInstance() as any; ...@@ -30,6 +31,14 @@ const { proxy } = getCurrentInstance() as any;
30 const userStore = useUserStore(); 31 const userStore = useUserStore();
31 const userData = JSON.parse(userStore.userData) 32 const userData = JSON.parse(userStore.userData)
32 33
34 const systemApproveCurrentRowInfo: any = ref({})
35
36 const approvalDialogVisible = ref(false);
37
38 const handleApprovalDialogCancel = () => {
39 approvalDialogVisible.value = false;
40 }
41
33 /** 数据来源于该企业申请登记的数据资产已通过且剔除数据质量评价中已通过、审批中的资产。 */ 42 /** 数据来源于该企业申请登记的数据资产已通过且剔除数据质量评价中已通过、审批中的资产。 */
34 const assetListData: any = ref([]); 43 const assetListData: any = ref([]);
35 44
...@@ -40,6 +49,16 @@ const tableFields = ref([ ...@@ -40,6 +49,16 @@ const tableFields = ref([
40 // { label: "企业名称", field: "tenantName", width: 240, align: "left" }, 49 // { label: "企业名称", field: "tenantName", width: 240, align: "left" },
41 { label: "评估机构", field: "evaluationAgencyName", width: 250, align: "left" }, 50 { label: "评估机构", field: "evaluationAgencyName", width: 250, align: "left" },
42 { label: "审批状态", field: "approveVO", type: "approveTag", width: 96, align: 'center' }, 51 { label: "审批状态", field: "approveVO", type: "approveTag", width: 96, align: 'center' },
52 {
53 label: "主平台审批状态", field: "crossPlatformApproveState", type: "approveTagBtn", width: 150, align: 'center', btn: {
54 label: '查看', visible: (scope) => {
55 return scope.row.crossPlatformApproveState != null;
56 }, click: (scope) => {
57 systemApproveCurrentRowInfo.value = scope.row;
58 approvalDialogVisible.value = true;
59 }
60 }
61 },
43 ]); 62 ]);
44 63
45 const deploymentId = ref(''); 64 const deploymentId = ref('');
...@@ -845,6 +864,8 @@ const passCommonDialogBtnClick = (btn, info) => { ...@@ -845,6 +864,8 @@ const passCommonDialogBtnClick = (btn, info) => {
845 <Dialog :dialogInfo="passDialogInfo" @btnClick="passDialogBtnClick" @inputChange=passDialogInputChange /> 864 <Dialog :dialogInfo="passDialogInfo" @btnClick="passDialogBtnClick" @inputChange=passDialogInputChange />
846 <Dialog :dialogInfo="rejectDialogInfo" @btnClick="rejectDialogBtnClick" /> 865 <Dialog :dialogInfo="rejectDialogInfo" @btnClick="rejectDialogBtnClick" />
847 <Dialog :dialogInfo="passCommonDialogInfo" @btnClick="passCommonDialogBtnClick" /> 866 <Dialog :dialogInfo="passCommonDialogInfo" @btnClick="passCommonDialogBtnClick" />
867 <DialogApproval :visible="approvalDialogVisible" :currentRowInfo="systemApproveCurrentRowInfo"
868 @dialog-cancel="handleApprovalDialogCancel"></DialogApproval>
848 </div> 869 </div>
849 </template> 870 </template>
850 871
......
...@@ -25,7 +25,7 @@ import { ...@@ -25,7 +25,7 @@ import {
25 } from "@/api/modules/queryService"; 25 } from "@/api/modules/queryService";
26 import { passFlowData, rejectFlowData, revokeFlowData, isMyFirstNode } from "@/api/modules/workFlowService"; 26 import { passFlowData, rejectFlowData, revokeFlowData, isMyFirstNode } from "@/api/modules/workFlowService";
27 import useDataAssetStore from "@/store/modules/dataAsset"; 27 import useDataAssetStore from "@/store/modules/dataAsset";
28 import { changeNum, getDownloadUrl, download } from '@/utils/common'; 28 import { changeNum } from '@/utils/common';
29 import { onUploadFilePreview, onUploadFileDownload } from '@/api/modules/common'; 29 import { onUploadFilePreview, onUploadFileDownload } from '@/api/modules/common';
30 30
31 const assetStore = useDataAssetStore(); 31 const assetStore = useDataAssetStore();
...@@ -1035,6 +1035,8 @@ const passDialogBtnClick = (btn, info) => { ...@@ -1035,6 +1035,8 @@ const passDialogBtnClick = (btn, info) => {
1035 } else { 1035 } else {
1036 ElMessage.error(res.msg); 1036 ElMessage.error(res.msg);
1037 } 1037 }
1038 }).catch(() => {
1039 passDialogInfo.value.footer.btns[1].loading = false;
1038 }); 1040 });
1039 } else if (detailType.value == 'costAssess') { 1041 } else if (detailType.value == 'costAssess') {
1040 if (submitPromise.value) { 1042 if (submitPromise.value) {
...@@ -1070,6 +1072,8 @@ const passDialogBtnClick = (btn, info) => { ...@@ -1070,6 +1072,8 @@ const passDialogBtnClick = (btn, info) => {
1070 } else { 1072 } else {
1071 ElMessage.error(res.msg); 1073 ElMessage.error(res.msg);
1072 } 1074 }
1075 }).catch(() => {
1076 passDialogInfo.value.footer.btns[1].loading = false;
1073 }); 1077 });
1074 } else if (detailType.value == 'certificate') { 1078 } else if (detailType.value == 'certificate') {
1075 if (submitPromise.value) { 1079 if (submitPromise.value) {
...@@ -1093,7 +1097,9 @@ const passDialogBtnClick = (btn, info) => { ...@@ -1093,7 +1097,9 @@ const passDialogBtnClick = (btn, info) => {
1093 } else { 1097 } else {
1094 ElMessage.error(res.msg); 1098 ElMessage.error(res.msg);
1095 } 1099 }
1096 }) 1100 }).catch(() => {
1101 passDialogInfo.value.footer.btns[1].loading = false;
1102 });
1097 } 1103 }
1098 } else if (btn.value == 'cancel') { 1104 } else if (btn.value == 'cancel') {
1099 passDialogInfo.value.visible = false; 1105 passDialogInfo.value.visible = false;
...@@ -1164,6 +1170,8 @@ const rejectDialogBtnClick = (btn, info) => { ...@@ -1164,6 +1170,8 @@ const rejectDialogBtnClick = (btn, info) => {
1164 } else { 1170 } else {
1165 ElMessage.error(res.msg); 1171 ElMessage.error(res.msg);
1166 } 1172 }
1173 }).catch(() => {
1174 rejectDialogInfo.value.footer.btns[1].loading = false;
1167 }); 1175 });
1168 } else if (btn.value == 'cancel') { 1176 } else if (btn.value == 'cancel') {
1169 rejectDialogInfo.value.visible = false; 1177 rejectDialogInfo.value.visible = false;
...@@ -1248,7 +1256,9 @@ const passCommonDialogBtnClick = (btn, info) => { ...@@ -1248,7 +1256,9 @@ const passCommonDialogBtnClick = (btn, info) => {
1248 } else { 1256 } else {
1249 ElMessage.error(res.msg); 1257 ElMessage.error(res.msg);
1250 } 1258 }
1251 }) 1259 }).catch(() => {
1260 passCommonDialogInfo.value.footer.btns[1].loading = false;
1261 });
1252 } else if (btn.value == 'cancel') { 1262 } else if (btn.value == 'cancel') {
1253 passCommonDialogInfo.value.visible = false; 1263 passCommonDialogInfo.value.visible = false;
1254 } 1264 }
......
...@@ -7,6 +7,7 @@ import { ref } from 'vue'; ...@@ -7,6 +7,7 @@ import { ref } from 'vue';
7 import TableTools from "@/components/Tools/table_tools.vue"; 7 import TableTools from "@/components/Tools/table_tools.vue";
8 import { ElMessage, ElMessageBox } from 'element-plus'; 8 import { ElMessage, ElMessageBox } from 'element-plus';
9 import { CarouselPanel } from '@/components/CarouselPanel'; 9 import { CarouselPanel } from '@/components/CarouselPanel';
10 import DialogApproval from '@/components/ApprovalProcess/dialog_approval.vue';
10 import { useRouter, useRoute } from "vue-router"; 11 import { useRouter, useRoute } from "vue-router";
11 import { MoreFilled } from "@element-plus/icons-vue"; 12 import { MoreFilled } from "@element-plus/icons-vue";
12 import { changeNum } from "@/utils/common"; 13 import { changeNum } from "@/utils/common";
...@@ -95,13 +96,21 @@ const pageInfo = ref({ ...@@ -95,13 +96,21 @@ const pageInfo = ref({
95 tenantGuid: '', 96 tenantGuid: '',
96 }); 97 });
97 98
99 const systemApproveCurrentRowInfo: any = ref({})
100
101 const approvalDialogVisible = ref(false);
102
103 const handleApprovalDialogCancel = () => {
104 approvalDialogVisible.value = false;
105 }
106
98 const tableFields = ref([{ label: "序号", type: "index", width: 56, align: "center" }, 107 const tableFields = ref([{ label: "序号", type: "index", width: 56, align: "center" },
99 { label: "资产名称", field: "daName", width: 160, align: "left" }, 108 { label: "资产名称", field: "daName", width: 160, align: "left" },
100 { label: "数据分类", field: "dataCategoryName", width: 120, align: "left" }, 109 { label: "数据分类", field: "dataCategoryName", width: 120, align: "left" },
101 { label: "存储方式", field: "storageFormName", width: 120, align: "left" }, 110 { label: "存储方式", field: "storageFormName", width: 120, align: "left" },
102 { label: "数交所名称", field: "exchangeName", width: 160, align: "left" }, 111 { label: "数交所名称", field: "exchangeName", width: 160, align: "left" },
103 { 112 {
104 label: "状态", field: "approveState", type: "tag", width: 96, align: 'center', getName: (scope) => { 113 label: "审批状态", field: "approveState", type: "tag", width: 96, align: 'center', getName: (scope) => {
105 const approveVO = scope.row.approveVO || {} 114 const approveVO = scope.row.approveVO || {}
106 switch (approveVO.approveState) { 115 switch (approveVO.approveState) {
107 case 'N': 116 case 'N':
...@@ -133,6 +142,16 @@ const tableFields = ref([{ label: "序号", type: "index", width: 56, align: "ce ...@@ -133,6 +142,16 @@ const tableFields = ref([{ label: "序号", type: "index", width: 56, align: "ce
133 } 142 }
134 } 143 }
135 }, 144 },
145 {
146 label: "主平台审批状态", field: "crossPlatformApproveState", type: "approveTagBtn", width: 150, align: 'center', btn: {
147 label: '查看', visible: (scope) => {
148 return scope.row.crossPlatformApproveState != null;
149 }, click: (scope) => {
150 systemApproveCurrentRowInfo.value = scope.row;
151 approvalDialogVisible.value = true;
152 }
153 }
154 },
136 { label: "修改人", field: "updateUserName", width: 140 }, 155 { label: "修改人", field: "updateUserName", width: 140 },
137 { label: "修改时间", field: "updateTime", width: 180 }]); 156 { label: "修改时间", field: "updateTime", width: 180 }]);
138 157
...@@ -424,7 +443,7 @@ const passDialogInfo = ref({ ...@@ -424,7 +443,7 @@ const passDialogInfo = ref({
424 443
425 const passDialogBtnClick = (btn, info) => { 444 const passDialogBtnClick = (btn, info) => {
426 if (btn.value == 'submit') { 445 if (btn.value == 'submit') {
427 loading.value = true; 446 passDialogInfo.value.footer.btns[1].loading = true;
428 let params = { 447 let params = {
429 guid: currTableData.value.approveVO.approveGuid, 448 guid: currTableData.value.approveVO.approveGuid,
430 flowType: currTableData.value.approveVO.flowType, 449 flowType: currTableData.value.approveVO.flowType,
...@@ -432,7 +451,7 @@ const passDialogBtnClick = (btn, info) => { ...@@ -432,7 +451,7 @@ const passDialogBtnClick = (btn, info) => {
432 approveStaffGuid: userData.staffGuid, 451 approveStaffGuid: userData.staffGuid,
433 } 452 }
434 passFlowData(params, currTableData.value.tenantGuid).then((res: any) => { 453 passFlowData(params, currTableData.value.tenantGuid).then((res: any) => {
435 loading.value = false; 454 passDialogInfo.value.footer.btns[1].loading = false;
436 if (res?.code == proxy.$passCode) { 455 if (res?.code == proxy.$passCode) {
437 if (res.data) { 456 if (res.data) {
438 ElMessage.success('审批成功'); 457 ElMessage.success('审批成功');
...@@ -445,7 +464,7 @@ const passDialogBtnClick = (btn, info) => { ...@@ -445,7 +464,7 @@ const passDialogBtnClick = (btn, info) => {
445 ElMessage.error(res.msg); 464 ElMessage.error(res.msg);
446 } 465 }
447 }).catch(() => { 466 }).catch(() => {
448 loading.value = false; 467 passDialogInfo.value.footer.btns[1].loading = false;
449 }); 468 });
450 } else if (btn.value == 'cancel') { 469 } else if (btn.value == 'cancel') {
451 passDialogInfo.value.visible = false; 470 passDialogInfo.value.visible = false;
...@@ -483,7 +502,7 @@ const rejectDialogInfo = ref({ ...@@ -483,7 +502,7 @@ const rejectDialogInfo = ref({
483 footer: { 502 footer: {
484 btns: [ 503 btns: [
485 { type: "default", label: "取消", value: "cancel" }, 504 { type: "default", label: "取消", value: "cancel" },
486 { type: "primary", label: "确定", value: "submit" }, 505 { type: "primary", label: "确定", value: "submit", loading: false },
487 ], 506 ],
488 }, 507 },
489 }); 508 });
...@@ -494,7 +513,7 @@ const rejectDialogBtnClick = (btn, info) => { ...@@ -494,7 +513,7 @@ const rejectDialogBtnClick = (btn, info) => {
494 ElMessage.error('请填写驳回理由'); 513 ElMessage.error('请填写驳回理由');
495 return 514 return
496 } 515 }
497 loading.value = true; 516 rejectDialogInfo.value.footer.btns[1].loading = true;
498 let params = { 517 let params = {
499 guid: currTableData.value.approveVO.approveGuid, 518 guid: currTableData.value.approveVO.approveGuid,
500 flowType: currTableData.value.approveVO.flowType, 519 flowType: currTableData.value.approveVO.flowType,
...@@ -502,7 +521,7 @@ const rejectDialogBtnClick = (btn, info) => { ...@@ -502,7 +521,7 @@ const rejectDialogBtnClick = (btn, info) => {
502 approveStaffGuid: userData.staffGuid, 521 approveStaffGuid: userData.staffGuid,
503 } 522 }
504 rejectFlowData(params, currTableData.value.tenantGuid).then((res: any) => { 523 rejectFlowData(params, currTableData.value.tenantGuid).then((res: any) => {
505 loading.value = false; 524 rejectDialogInfo.value.footer.btns[1].loading = false;
506 if (res?.code == proxy.$passCode) { 525 if (res?.code == proxy.$passCode) {
507 if (res.data) { 526 if (res.data) {
508 ElMessage.success('驳回成功'); 527 ElMessage.success('驳回成功');
...@@ -515,7 +534,7 @@ const rejectDialogBtnClick = (btn, info) => { ...@@ -515,7 +534,7 @@ const rejectDialogBtnClick = (btn, info) => {
515 ElMessage.error(res.msg); 534 ElMessage.error(res.msg);
516 } 535 }
517 }).catch(() => { 536 }).catch(() => {
518 loading.value = false; 537 rejectDialogInfo.value.footer.btns[1].loading = false;
519 }); 538 });
520 } else if (btn.value == 'cancel') { 539 } else if (btn.value == 'cancel') {
521 rejectDialogInfo.value.visible = false; 540 rejectDialogInfo.value.visible = false;
...@@ -562,6 +581,8 @@ const rejectDialogBtnClick = (btn, info) => { ...@@ -562,6 +581,8 @@ const rejectDialogBtnClick = (btn, info) => {
562 </div> 581 </div>
563 <Dialog :dialogInfo="passDialogInfo" @btnClick="passDialogBtnClick" /> 582 <Dialog :dialogInfo="passDialogInfo" @btnClick="passDialogBtnClick" />
564 <Dialog :dialogInfo="rejectDialogInfo" @btnClick="rejectDialogBtnClick" /> 583 <Dialog :dialogInfo="rejectDialogInfo" @btnClick="rejectDialogBtnClick" />
584 <DialogApproval :visible="approvalDialogVisible" :currentRowInfo="systemApproveCurrentRowInfo"
585 @dialog-cancel="handleApprovalDialogCancel"></DialogApproval>
565 </div> 586 </div>
566 </template> 587 </template>
567 588
......
...@@ -12,10 +12,9 @@ import { ...@@ -12,10 +12,9 @@ import {
12 saveCostAssess, 12 saveCostAssess,
13 updateCostAssess, 13 updateCostAssess,
14 deleteCostAssess, 14 deleteCostAssess,
15 registerApproveCancel,
16 registerApproveBackup,
17 costAssessAllow 15 costAssessAllow
18 } from "@/api/modules/dataAsset"; 16 } from "@/api/modules/dataAsset";
17 import DialogApproval from '@/components/ApprovalProcess/dialog_approval.vue';
19 import { 18 import {
20 getStaffDetailInfo 19 getStaffDetailInfo
21 } from "@/api/modules/queryService"; 20 } from "@/api/modules/queryService";
...@@ -37,8 +36,14 @@ const isCompanyPlatform = ref(userData.tenantType == 1); ...@@ -37,8 +36,14 @@ const isCompanyPlatform = ref(userData.tenantType == 1);
37 36
38 /** 数据来源于该企业申请登记的数据资产已通过且剔除数据价值评估中已通过、审批中的资产。 */ 37 /** 数据来源于该企业申请登记的数据资产已通过且剔除数据价值评估中已通过、审批中的资产。 */
39 const assetListData: any = ref([]); 38 const assetListData: any = ref([]);
40 /** 会员附件模板 */ 39
41 const attachDataInfo: any = ref({}); 40 const systemApproveCurrentRowInfo: any = ref({})
41
42 const approvalDialogVisible = ref(false);
43
44 const handleApprovalDialogCancel = () => {
45 approvalDialogVisible.value = false;
46 }
42 47
43 const tableFields = ref([ 48 const tableFields = ref([
44 { label: "序号", type: "index", width: 56, align: "center" }, 49 { label: "序号", type: "index", width: 56, align: "center" },
...@@ -47,35 +52,15 @@ const tableFields = ref([ ...@@ -47,35 +52,15 @@ const tableFields = ref([
47 // { label: "企业名称", field: "tenantName", width: 240, align: "left" }, 52 // { label: "企业名称", field: "tenantName", width: 240, align: "left" },
48 { label: "评估机构", field: "evaluationAgencyName", width: 250, align: "left" }, 53 { label: "评估机构", field: "evaluationAgencyName", width: 250, align: "left" },
49 { 54 {
50 label: "审批状态", field: "approveState", type: "tag", width: 96, align: 'center', getName: (scope) => { 55 label: "审批状态", field: "approveVO", type: "approveTag", width: 96, align: 'center'
51 const approveVO = scope.row.approveVO || {} 56 },
52 switch (approveVO.approveState) { 57 {
53 case 'N': 58 label: "主平台审批状态", field: "crossPlatformApproveState", type: "approveTagBtn", width: 150, align: 'center', btn: {
54 return '草稿中'; 59 label: '查看', visible: (scope) => {
55 case 'A': 60 return scope.row.crossPlatformApproveState != null;
56 return '审批中'; 61 }, click: (scope) => {
57 case 'Y': 62 systemApproveCurrentRowInfo.value = scope.row;
58 return '已通过'; 63 approvalDialogVisible.value = true;
59 case 'R':
60 return '已驳回';
61 case 'C':
62 return '已撤销';
63 case 'I':
64 return '--';
65 default:
66 return '草稿中';
67 }
68 }, tagType: (scope) => {
69 const approveVO = scope.row.approveVO || {}
70 switch (approveVO.approveState) {
71 case 'A':
72 return 'warning';
73 case 'Y':
74 return 'success';
75 case 'R':
76 return 'danger';
77 default:
78 return 'info';
79 } 64 }
80 } 65 }
81 }, 66 },
...@@ -991,16 +976,16 @@ const passDialogInfo = ref({ ...@@ -991,16 +976,16 @@ const passDialogInfo = ref({
991 footer: { 976 footer: {
992 btns: [ 977 btns: [
993 { type: "default", label: "取消", value: "cancel" }, 978 { type: "default", label: "取消", value: "cancel" },
994 { type: "primary", label: "确定", value: "submit" }, 979 { type: "primary", label: "确定", value: "submit", loading: false },
995 ], 980 ],
996 }, 981 },
997 }); 982 });
998 983
999 const passDialogBtnClick = (btn, info) => { 984 const passDialogBtnClick = (btn, info) => {
1000 let params: any = {} 985 let params: any = {}
1001 console.log('btn', btn, info, currTableData.value); 986 // console.log('btn', btn, info, currTableData.value);
1002 if (btn.value == 'submit') { 987 if (btn.value == 'submit') {
1003 988 passDialogInfo.value.footer.btns[1].loading = true;
1004 costAssessAllow({ 989 costAssessAllow({
1005 guid: currTableData.value.approveVO.approveGuid, 990 guid: currTableData.value.approveVO.approveGuid,
1006 bizGuid: currTableData.value.guid, 991 bizGuid: currTableData.value.guid,
...@@ -1016,6 +1001,7 @@ const passDialogBtnClick = (btn, info) => { ...@@ -1016,6 +1001,7 @@ const passDialogBtnClick = (btn, info) => {
1016 } 1001 }
1017 }) || [] 1002 }) || []
1018 }, currTableData.value.tenantGuid).then((res: any) => { 1003 }, currTableData.value.tenantGuid).then((res: any) => {
1004 passDialogInfo.value.footer.btns[1].loading = false;
1019 if (res?.code == proxy.$passCode) { 1005 if (res?.code == proxy.$passCode) {
1020 if (res.data) { 1006 if (res.data) {
1021 ElMessage.success('审批成功'); 1007 ElMessage.success('审批成功');
...@@ -1027,7 +1013,9 @@ const passDialogBtnClick = (btn, info) => { ...@@ -1027,7 +1013,9 @@ const passDialogBtnClick = (btn, info) => {
1027 } else { 1013 } else {
1028 ElMessage.error(res.msg); 1014 ElMessage.error(res.msg);
1029 } 1015 }
1030 }) 1016 }).catch(() => {
1017 passDialogInfo.value.footer.btns[1].loading = false;
1018 });
1031 } else if (btn.value == 'cancel') { 1019 } else if (btn.value == 'cancel') {
1032 passDialogInfo.value.visible = false; 1020 passDialogInfo.value.visible = false;
1033 } 1021 }
...@@ -1113,7 +1101,7 @@ const rejectDialogBtnClick = (btn, info) => { ...@@ -1113,7 +1101,7 @@ const rejectDialogBtnClick = (btn, info) => {
1113 ElMessage.error('请填写驳回理由'); 1101 ElMessage.error('请填写驳回理由');
1114 return 1102 return
1115 } 1103 }
1116 console.log('currTableData', currTableData.value, info); 1104 // console.log('currTableData', currTableData.value, info);
1117 rejectDialogInfo.value.footer.btns[1].loading = true; 1105 rejectDialogInfo.value.footer.btns[1].loading = true;
1118 let params = { 1106 let params = {
1119 guid: currTableData.value.approveVO.approveGuid, 1107 guid: currTableData.value.approveVO.approveGuid,
...@@ -1134,7 +1122,9 @@ const rejectDialogBtnClick = (btn, info) => { ...@@ -1134,7 +1122,9 @@ const rejectDialogBtnClick = (btn, info) => {
1134 } else { 1122 } else {
1135 ElMessage.error(res.msg); 1123 ElMessage.error(res.msg);
1136 } 1124 }
1137 }) 1125 }).catch(() => {
1126 rejectDialogInfo.value.footer.btns[1].loading = false;
1127 });
1138 } else if (btn.value == 'cancel') { 1128 } else if (btn.value == 'cancel') {
1139 rejectDialogInfo.value.visible = false; 1129 rejectDialogInfo.value.visible = false;
1140 } 1130 }
...@@ -1162,7 +1152,9 @@ const passCommonDialogBtnClick = (btn, info) => { ...@@ -1162,7 +1152,9 @@ const passCommonDialogBtnClick = (btn, info) => {
1162 } else { 1152 } else {
1163 ElMessage.error(res.msg); 1153 ElMessage.error(res.msg);
1164 } 1154 }
1165 }) 1155 }).catch(() => {
1156 passCommonDialogInfo.value.footer.btns[1].loading = false;
1157 });
1166 } else if (btn.value == 'cancel') { 1158 } else if (btn.value == 'cancel') {
1167 passCommonDialogInfo.value.visible = false; 1159 passCommonDialogInfo.value.visible = false;
1168 } 1160 }
...@@ -1185,6 +1177,7 @@ const passCommonDialogBtnClick = (btn, info) => { ...@@ -1185,6 +1177,7 @@ const passCommonDialogBtnClick = (btn, info) => {
1185 <Dialog :dialogInfo="passDialogInfo" @btnClick="passDialogBtnClick" @inputChange="passDialogInputChange" /> 1177 <Dialog :dialogInfo="passDialogInfo" @btnClick="passDialogBtnClick" @inputChange="passDialogInputChange" />
1186 <Dialog :dialogInfo="rejectDialogInfo" @btnClick="rejectDialogBtnClick" /> 1178 <Dialog :dialogInfo="rejectDialogInfo" @btnClick="rejectDialogBtnClick" />
1187 <Dialog :dialogInfo="passCommonDialogInfo" @btnClick="passCommonDialogBtnClick" /> 1179 <Dialog :dialogInfo="passCommonDialogInfo" @btnClick="passCommonDialogBtnClick" />
1180 <DialogApproval :visible="approvalDialogVisible" :currentRowInfo="systemApproveCurrentRowInfo" @dialog-cancel="handleApprovalDialogCancel"></DialogApproval>
1188 </div> 1181 </div>
1189 </template> 1182 </template>
1190 1183
......
...@@ -11,7 +11,7 @@ import { ElMessage, ElMessageBox } from "element-plus"; ...@@ -11,7 +11,7 @@ import { ElMessage, ElMessageBox } from "element-plus";
11 import useDataAssetStore from "@/store/modules/dataAsset"; 11 import useDataAssetStore from "@/store/modules/dataAsset";
12 import { getListingList, listingDelete, listingUpdateStatus, getListingCount, productRejectFlowData } from "@/api/modules/dataProduct"; 12 import { getListingList, listingDelete, listingUpdateStatus, getListingCount, productRejectFlowData } from "@/api/modules/dataProduct";
13 import { TableColumnWidth } from '@/utils/enum'; 13 import { TableColumnWidth } from '@/utils/enum';
14 14 import DialogApproval from '@/components/ApprovalProcess/dialog_approval.vue';
15 import TableTools from "@/components/Tools/table_tools.vue"; 15 import TableTools from "@/components/Tools/table_tools.vue";
16 import Table from "@/components/Table/index.vue"; 16 import Table from "@/components/Table/index.vue";
17 import { CarouselPanel } from '@/components/CarouselPanel'; 17 import { CarouselPanel } from '@/components/CarouselPanel';
...@@ -76,6 +76,15 @@ const page = ref({ ...@@ -76,6 +76,15 @@ const page = ref({
76 }); 76 });
77 const searchItemValue: any = ref({}); 77 const searchItemValue: any = ref({});
78 const currTableData: any = ref({}); 78 const currTableData: any = ref({});
79
80 const systemApproveCurrentRowInfo: any = ref({})
81
82 const approvalDialogVisible = ref(false);
83
84 const handleApprovalDialogCancel = () => {
85 approvalDialogVisible.value = false;
86 }
87
79 const tableInfo = ref({ 88 const tableInfo = ref({
80 id: "mapping-table", 89 id: "mapping-table",
81 fields: [ 90 fields: [
...@@ -92,43 +101,23 @@ const tableInfo = ref({ ...@@ -92,43 +101,23 @@ const tableInfo = ref({
92 }, 101 },
93 { label: "上架分类", field: "exchangeName", width: 140 }, 102 { label: "上架分类", field: "exchangeName", width: 140 },
94 { 103 {
95 label: "审核状态", field: "approveState", width: TableColumnWidth.STATE, align: 'center', type: "tag", getName: (scope) => { 104 label: "审批状态", field: "approveVO", type: "approveTag", width: TableColumnWidth.STATE, align: 'center'
96 const approveVO = scope.row.approveVO || {}
97 switch (approveVO.approveState) {
98 case 'N':
99 return '草稿中';
100 case 'A':
101 return '审批中';
102 case 'Y':
103 return '已通过';
104 case 'R':
105 return '已驳回';
106 case 'C':
107 return '已撤销';
108 case 'I':
109 return '--';
110 default:
111 return '草稿中';
112 }
113 }, tagType: (scope) => {
114 const approveVO = scope.row.approveVO || {}
115 switch (approveVO.approveState) {
116 case 'A':
117 return 'warning';
118 case 'Y':
119 return 'success';
120 case 'R':
121 return 'danger';
122 default:
123 return 'info';
124 }
125 }
126 }, 105 },
127 { 106 {
128 label: '上架状态', field: 'listingStatus', width: 100, getName: (scope) => { 107 label: '上架状态', field: 'listingStatus', width: 100, getName: (scope) => {
129 return scope.row.listingStatus == 'Y' ? '已上架' : '未上架'; 108 return scope.row.listingStatus == 'Y' ? '已上架' : '未上架';
130 } 109 }
131 }, 110 },
111 {
112 label: "主平台审批状态", field: "crossPlatformApproveState", type: "approveTagBtn", width: 150, align: 'center', btn: {
113 label: '查看', visible: (scope) => {
114 return scope.row.crossPlatformApproveState != null;
115 }, click: (scope) => {
116 systemApproveCurrentRowInfo.value = scope.row;
117 approvalDialogVisible.value = true;
118 }
119 }
120 },
132 { label: "修改时间", field: "updateTime", width: TableColumnWidth.DATETIME }, 121 { label: "修改时间", field: "updateTime", width: TableColumnWidth.DATETIME },
133 ], 122 ],
134 loading: false, 123 loading: false,
...@@ -995,6 +984,7 @@ const rejectDialogBtnClick = (btn, info) => { ...@@ -995,6 +984,7 @@ const rejectDialogBtnClick = (btn, info) => {
995 </el-dialog> 984 </el-dialog>
996 <Dialog :dialogInfo="passCommonDialogInfo" @btnClick="passCommonDialogBtnClick" /> 985 <Dialog :dialogInfo="passCommonDialogInfo" @btnClick="passCommonDialogBtnClick" />
997 <Dialog :dialogInfo="rejectDialogInfo" @btnClick="rejectDialogBtnClick" /> 986 <Dialog :dialogInfo="rejectDialogInfo" @btnClick="rejectDialogBtnClick" />
987 <DialogApproval :visible="approvalDialogVisible" :currentRowInfo="systemApproveCurrentRowInfo" @dialog-cancel="handleApprovalDialogCancel"></DialogApproval>
998 </div> 988 </div>
999 </template> 989 </template>
1000 990
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!