8d73b563 by lxs

数据资产登记更新

1 parent 0eaaaefc
...@@ -5,6 +5,7 @@ VITE_APP_TITLE = 数据资产管理系统 ...@@ -5,6 +5,7 @@ VITE_APP_TITLE = 数据资产管理系统
5 # VITE_API_BASEURL = https://swzl-test.csbr.cn/api 5 # VITE_API_BASEURL = https://swzl-test.csbr.cn/api
6 # VITE_API_BASEURL = http://localhost:9000 6 # VITE_API_BASEURL = http://localhost:9000
7 VITE_API_BASEURL = http://192.168.6.20:28052/ 7 VITE_API_BASEURL = http://192.168.6.20:28052/
8
8 # 平台用户 接口请地址 9 # 平台用户 接口请地址
9 VITE_APP_USER_API_BASEURL = gateway-server 10 VITE_APP_USER_API_BASEURL = gateway-server
10 11
...@@ -13,21 +14,31 @@ VITE_APP_AUTH_URL = 'ms-daop-auth-service' ...@@ -13,21 +14,31 @@ VITE_APP_AUTH_URL = 'ms-daop-auth-service'
13 14
14 # 系统管理 接口地址 15 # 系统管理 接口地址
15 VITE_APP_API_BASEURL = ms-daop-zcgl-system-manager-service 16 VITE_APP_API_BASEURL = ms-daop-zcgl-system-manager-service
17
16 # #配置服务 18 # #配置服务
17 # VITE_APP_CONFIG_URL = 'ms-daop-configure-service' 19 # VITE_APP_CONFIG_URL = 'ms-daop-configure-service'
18 20
19 # 文件上传请求地址 21 # 文件上传请求地址
20 VITE_APP_ADD_FILE = ms-daop-import-data-service 22 VITE_APP_ADD_FILE = ms-daop-import-data-service
23
21 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 24 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空
22 VITE_APP_DEBUG_TOOL = 25 VITE_APP_DEBUG_TOOL =
26
23 # 是否开启代理 27 # 是否开启代理
24 VITE_OPEN_PROXY = true 28 VITE_OPEN_PROXY = true
29
25 # vite serve base 30 # vite serve base
26 VITE_SERVE_BASE = / 31 VITE_SERVE_BASE = /
32
27 # 流程设计访问地址 33 # 流程设计访问地址
28 VITE_BPMN_URL = https://workflow-swzl-test.csbr.cn 34 VITE_BPMN_URL = https://workflow-swzl-test.csbr.cn
35
36 #流程服务
37 VITE_APP_WORK_FLOW_URL = 'ms-daop-workflow-service'
38
29 # 数据标准、元数据、数据目录 接口地址 39 # 数据标准、元数据、数据目录 接口地址
30 VITE_APP_PLAN_BASEURL = ms-daop-zcgl-data-plan-service 40 VITE_APP_PLAN_BASEURL = ms-daop-zcgl-data-plan-service
41
31 #数据质量接口地址 42 #数据质量接口地址
32 VITE_APP_QUALITY_BASEURL = ms-daop-data-quality-service 43 VITE_APP_QUALITY_BASEURL = ms-daop-data-quality-service
33 44
...@@ -44,20 +55,26 @@ VITE_APP_CONFIG_URL = 'ms-daop-configure-service' ...@@ -44,20 +55,26 @@ VITE_APP_CONFIG_URL = 'ms-daop-configure-service'
44 # 文件上传下载接口地址 55 # 文件上传下载接口地址
45 VITE_APP_COMMON_URL = 'ms-daop-common-service' 56 VITE_APP_COMMON_URL = 'ms-daop-common-service'
46 57
58 #camunda服务
59 VITE_APP_CAMUNDA_URL = 'ms-daop-camunda-server'
47 60
48 #门户接口 61 #门户接口
49 VITE_API_PORTALURL = https://swzl-test.zgsjzc.com/portal 62 VITE_API_PORTALURL = https://swzl-test.zgsjzc.com/portal
50 63
51 #数据资产接口地址 64 #数据资产接口地址
52 VITE_API_ASSET_BASEURL = ms-swzl-data-dam-service 65 VITE_API_ASSET_BASEURL = ms-swzl-data-dam-service
66
53 #数据同步接口地址 67 #数据同步接口地址
54 VITE_API_DATA_SYNC = ms-swzl-data-sync-service 68 VITE_API_DATA_SYNC = ms-swzl-data-sync-service
69
55 #消息接口 70 #消息接口
56 VITE_API_MESSAGE = ms-swzl-message-notification-service 71 VITE_API_MESSAGE = ms-swzl-message-notification-service
57 72
58 #新门户接口 73 #新门户接口
59 VITE_API_NEW_PORTAL = ms-daop-zcgl-asset-dam-service 74 VITE_API_NEW_PORTAL = ms-daop-zcgl-asset-dam-service
60 75
76 #企业信息接口
77 VITE_API_PERSONEL_SERVICE = ms-daop-personel-service
61 78
62 # 是否在打包时生成 sourcemap 79 # 是否在打包时生成 sourcemap
63 VITE_BUILD_SOURCEMAP = false 80 VITE_BUILD_SOURCEMAP = false
......
...@@ -3,22 +3,31 @@ VITE_APP_TITLE = 数据资产管理系统 ...@@ -3,22 +3,31 @@ VITE_APP_TITLE = 数据资产管理系统
3 # 接口域名 3 # 接口域名
4 VITE_API_BASEURL = http://192.168.6.20:28052/ 4 VITE_API_BASEURL = http://192.168.6.20:28052/
5 # VITE_API_BASEURL = http://49.4.26.201:31709/ 5 # VITE_API_BASEURL = http://49.4.26.201:31709/
6
6 # # 平台用户 接口请地址 7 # # 平台用户 接口请地址
7 # VITE_APP_USER_API_BASEURL = gateway-server 8 # VITE_APP_USER_API_BASEURL = gateway-server
9
8 # # 系统管理 接口地址 10 # # 系统管理 接口地址
9 # VITE_APP_API_BASEURL = ms-daop-zcgl-system-manager-service 11 # VITE_APP_API_BASEURL = ms-daop-zcgl-system-manager-service
12
10 # # 文件上传请求地址 13 # # 文件上传请求地址
11 # VITE_APP_ADD_FILE = ms-daop-import-data-service 14 # VITE_APP_ADD_FILE = ms-daop-import-data-service
15
12 # # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 16 # # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空
13 # VITE_APP_DEBUG_TOOL = 17 # VITE_APP_DEBUG_TOOL =
18
14 # # 是否开启代理 19 # # 是否开启代理
15 # VITE_OPEN_PROXY = true 20 # VITE_OPEN_PROXY = true
21
16 # # vite serve base 22 # # vite serve base
17 # VITE_SERVE_BASE = / 23 # VITE_SERVE_BASE = /
24
18 # # 流程设计访问地址 25 # # 流程设计访问地址
19 # VITE_BPMN_URL = https://workflow.zgsjzc.com 26 # VITE_BPMN_URL = https://workflow.zgsjzc.com
27
20 # # 数据标准、元数据、数据目录 接口地址 28 # # 数据标准、元数据、数据目录 接口地址
21 # VITE_APP_PLAN_BASEURL = ms-daop-jgjf-data-plan-service 29 # VITE_APP_PLAN_BASEURL = ms-daop-jgjf-data-plan-service
30
22 # #数据质量接口地址 31 # #数据质量接口地址
23 # VITE_APP_QUALITY_BASEURL = ms-daop-data-quality-service 32 # VITE_APP_QUALITY_BASEURL = ms-daop-data-quality-service
24 33
...@@ -27,10 +36,13 @@ VITE_APP_TITLE = 数据资产管理系统 ...@@ -27,10 +36,13 @@ VITE_APP_TITLE = 数据资产管理系统
27 36
28 # #数据资产接口地址 37 # #数据资产接口地址
29 # VITE_API_ASSET_BASEURL = ms-swzl-data-dam-service 38 # VITE_API_ASSET_BASEURL = ms-swzl-data-dam-service
39
30 # #数据同步接口地址 40 # #数据同步接口地址
31 # VITE_API_DATA_SYNC = ms-swzl-data-sync-service 41 # VITE_API_DATA_SYNC = ms-swzl-data-sync-service
42
32 # #消息接口 43 # #消息接口
33 # VITE_API_MESSAGE = ms-swzl-message-notification-service 44 # VITE_API_MESSAGE = ms-swzl-message-notification-service
45
34 # 平台用户 接口请地址 46 # 平台用户 接口请地址
35 VITE_APP_USER_API_BASEURL = gateway-server 47 VITE_APP_USER_API_BASEURL = gateway-server
36 48
...@@ -42,16 +54,25 @@ VITE_APP_API_BASEURL = ms-daop-zcgl-system-manager-service ...@@ -42,16 +54,25 @@ VITE_APP_API_BASEURL = ms-daop-zcgl-system-manager-service
42 54
43 # 文件上传请求地址 55 # 文件上传请求地址
44 VITE_APP_ADD_FILE = ms-daop-import-data-service 56 VITE_APP_ADD_FILE = ms-daop-import-data-service
57
45 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空 58 # 调试工具,可设置 eruda 或 vconsole,如果不需要开启则留空
46 VITE_APP_DEBUG_TOOL = 59 VITE_APP_DEBUG_TOOL =
60
47 # 是否开启代理 61 # 是否开启代理
48 VITE_OPEN_PROXY = true 62 VITE_OPEN_PROXY = true
63
49 # vite serve base 64 # vite serve base
50 VITE_SERVE_BASE = / 65 VITE_SERVE_BASE = /
66
51 # 流程设计访问地址 67 # 流程设计访问地址
52 VITE_BPMN_URL = https://workflow-swzl-test.csbr.cn 68 VITE_BPMN_URL = https://workflow-swzl-test.csbr.cn
69
70 #流程服务
71 VITE_APP_WORK_FLOW_URL = 'ms-daop-workflow-service'
72
53 # 数据标准、元数据、数据目录 接口地址 73 # 数据标准、元数据、数据目录 接口地址
54 VITE_APP_PLAN_BASEURL = ms-daop-zcgl-data-plan-service 74 VITE_APP_PLAN_BASEURL = ms-daop-zcgl-data-plan-service
75
55 #数据质量接口地址 76 #数据质量接口地址
56 VITE_APP_QUALITY_BASEURL = ms-daop-data-quality-service 77 VITE_APP_QUALITY_BASEURL = ms-daop-data-quality-service
57 78
...@@ -68,15 +89,24 @@ VITE_APP_DATA_SOURCE_URL = ms-daop-data-source-service ...@@ -68,15 +89,24 @@ VITE_APP_DATA_SOURCE_URL = ms-daop-data-source-service
68 # 文件上传下载接口地址 89 # 文件上传下载接口地址
69 VITE_APP_COMMON_URL = 'ms-daop-common-service' 90 VITE_APP_COMMON_URL = 'ms-daop-common-service'
70 91
92 #camunda服务
93 VITE_APP_CAMUNDA_URL = 'ms-daop-camunda-server'
94
71 #门户接口 95 #门户接口
72 VITE_API_PORTALURL = https://swzl-test.zgsjzc.com/portal 96 VITE_API_PORTALURL = https://swzl-test.zgsjzc.com/portal
73 97
74 #数据资产接口地址 98 #数据资产接口地址
75 VITE_API_ASSET_BASEURL = ms-swzl-data-dam-service 99 VITE_API_ASSET_BASEURL = ms-swzl-data-dam-service
100
76 #数据同步接口地址 101 #数据同步接口地址
77 VITE_API_DATA_SYNC = ms-swzl-data-sync-service 102 VITE_API_DATA_SYNC = ms-swzl-data-sync-service
103
78 #消息接口 104 #消息接口
79 VITE_API_MESSAGE = ms-swzl-message-notification-service 105 VITE_API_MESSAGE = ms-swzl-message-notification-service
106
107 #企业信息接口
108 VITE_API_PERSONEL_SERVICE = ms-daop-personel-service
109
80 # 是否在打包时生成 sourcemap 110 # 是否在打包时生成 sourcemap
81 VITE_BUILD_SOURCEMAP = false 111 VITE_BUILD_SOURCEMAP = false
82 # 是否在打包时开启压缩,支持 gzip 和 brotli 112 # 是否在打包时开启压缩,支持 gzip 和 brotli
......
...@@ -9,6 +9,7 @@ export {} ...@@ -9,6 +9,7 @@ export {}
9 9
10 declare module '@vue/runtime-core' { 10 declare module '@vue/runtime-core' {
11 export interface GlobalComponents { 11 export interface GlobalComponents {
12 ApprovalProcess: typeof import('./src/components/ApprovalProcess/src/ApprovalProcess.vue')['default']
12 Auth: typeof import('./src/components/Auth/index.vue')['default'] 13 Auth: typeof import('./src/components/Auth/index.vue')['default']
13 AuthAll: typeof import('./src/components/AuthAll/index.vue')['default'] 14 AuthAll: typeof import('./src/components/AuthAll/index.vue')['default']
14 ContentWrap: typeof import('./src/components/ContentWrap/src/ContentWrap.vue')['default'] 15 ContentWrap: typeof import('./src/components/ContentWrap/src/ContentWrap.vue')['default']
...@@ -31,6 +32,7 @@ declare module '@vue/runtime-core' { ...@@ -31,6 +32,7 @@ declare module '@vue/runtime-core' {
31 ImageUpload: typeof import('./src/components/ImageUpload/index.vue')['default'] 32 ImageUpload: typeof import('./src/components/ImageUpload/index.vue')['default']
32 LineageGraph: typeof import('./src/components/LineageGraph/index.vue')['default'] 33 LineageGraph: typeof import('./src/components/LineageGraph/index.vue')['default']
33 ListPanel: typeof import('./src/components/ListPanel/index.vue')['default'] 34 ListPanel: typeof import('./src/components/ListPanel/index.vue')['default']
35 LookBpmn: typeof import('./src/components/ApprovalProcess/src/components/LookBpmn.vue')['default']
34 Month: typeof import('./src/components/Schedule/component/month.vue')['default'] 36 Month: typeof import('./src/components/Schedule/component/month.vue')['default']
35 NotAllowed: typeof import('./src/components/NotAllowed/index.vue')['default'] 37 NotAllowed: typeof import('./src/components/NotAllowed/index.vue')['default']
36 PageHeader: typeof import('./src/components/PageHeader/index.vue')['default'] 38 PageHeader: typeof import('./src/components/PageHeader/index.vue')['default']
......
...@@ -22,7 +22,11 @@ ...@@ -22,7 +22,11 @@
22 "@vueuse/integrations": "^10.1.0", 22 "@vueuse/integrations": "^10.1.0",
23 "@wangeditor/editor": "^5.1.23", 23 "@wangeditor/editor": "^5.1.23",
24 "@wangeditor/editor-for-vue": "^5.1.12", 24 "@wangeditor/editor-for-vue": "^5.1.12",
25 "ant-design-vue": "^3.2.20",
25 "axios": "^1.4.0", 26 "axios": "^1.4.0",
27 "bpmn-js": "^8.10.0",
28 "bpmn-js-token-simulation": "^0.10.0",
29 "camunda-bpmn-moddle": "^4.4.0",
26 "crypto-js": "^4.2.0", 30 "crypto-js": "^4.2.0",
27 "dayjs": "^1.11.7", 31 "dayjs": "^1.11.7",
28 "echarts": "^5.4.3", 32 "echarts": "^5.4.3",
...@@ -32,6 +36,7 @@ ...@@ -32,6 +36,7 @@
32 "hotkeys-js": "^3.10.2", 36 "hotkeys-js": "^3.10.2",
33 "html2canvas": "^1.4.1", 37 "html2canvas": "^1.4.1",
34 "insert-css": "^2.0.0", 38 "insert-css": "^2.0.0",
39 "jquery": "^3.7.1",
35 "lodash-es": "^4.17.21", 40 "lodash-es": "^4.17.21",
36 "md5": "^2.3.0", 41 "md5": "^2.3.0",
37 "mitt": "^3.0.0", 42 "mitt": "^3.0.0",
......
This diff could not be displayed because it is too large.
...@@ -2,201 +2,201 @@ import request from "@/utils/request"; ...@@ -2,201 +2,201 @@ import request from "@/utils/request";
2 2
3 /** 获取登记列表。 */ 3 /** 获取登记列表。 */
4 export const getRegisterList = (params) => request({ 4 export const getRegisterList = (params) => request({
5 url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-base/page-list`, 5 url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-base/page-list`,
6 method: 'post', 6 method: 'post',
7 data: params 7 data: params
8 }) 8 })
9 9
10 /** 获取登记详情 */ 10 /** 获取登记详情 */
11 export const getRegiaterDetail = (params) => request({ 11 export const getRegiaterDetail = (params) => request({
12 url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-base/detail`, 12 url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-base/detail`,
13 method: 'get', 13 method: 'get',
14 params 14 params
15 }) 15 })
16 16
17 /** 提交登记信息。 */ 17 /** 提交登记信息。 */
18 export const registerSave = (params) => request({ 18 export const registerSave = (params) => request({
19 url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-base/save`, 19 url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-base/save`,
20 method: 'post', 20 method: 'post',
21 data: params 21 data: params
22 }); 22 });
23 23
24 /** 更新登记信息 */ 24 /** 更新登记信息 */
25 export const registerUpdate = (params) => request({ 25 export const registerUpdate = (params) => request({
26 url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-base/update`, 26 url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-base/update`,
27 method: 'post', 27 method: 'post',
28 data: params 28 data: params
29 }); 29 });
30 30
31 /** 删除登记信息 */ 31 /** 删除登记信息 */
32 export const registerDelete = (params) => request({ 32 export const registerDelete = (params) => request({
33 url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-base/delete`, 33 url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-base/delete`,
34 method: 'delete', 34 method: 'delete',
35 data: params 35 data: params
36 }); 36 });
37 37
38 /** 获取当前会员审批流程信息 */ 38 /** 获取当前会员审批流程信息 */
39 export const getTenantApprove = (params={}) => request({ 39 export const getTenantApprove = (params = {}) => request({
40 url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-approve/get-node`, 40 url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-approve/get-node`,
41 method: 'get', 41 method: 'get',
42 params 42 params
43 }); 43 });
44 44
45 /** 获取资产登记,审批列表。 */ 45 /** 获取资产登记,审批列表。 */
46 export const getApproveList = (bizGuid) => request({ 46 export const getApproveList = (bizGuid) => request({
47 url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-approve/biz-arppove-list?biz_guid=${bizGuid}`, 47 url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-approve/biz-arppove-list?biz_guid=${bizGuid}`,
48 method: 'get' 48 method: 'get'
49 }); 49 });
50 50
51 /** 撤销审批流程 */ 51 /** 撤销审批流程 */
52 export const registerApproveCancel = (params) => request({ 52 export const registerApproveCancel = (params) => request({
53 url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-approve/canal`, 53 url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-approve/canal`,
54 method: 'post', 54 method: 'post',
55 data: params 55 data: params
56 }); 56 });
57 57
58 /** 重新提交审批流程 */ 58 /** 重新提交审批流程 */
59 export const registerApproveReSubmit = (params) => request({ 59 export const registerApproveReSubmit = (params) => request({
60 url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-approve/resubmit`, 60 url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-approve/resubmit`,
61 method: 'post', 61 method: 'post',
62 data: params 62 data: params
63 }); 63 });
64 64
65 /** 通过资产登记流程 */ 65 /** 通过资产登记流程 */
66 export const registerApproveAllow = (params) => request({ 66 export const registerApproveAllow = (params) => request({
67 url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-approve/allow`, 67 url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-approve/allow`,
68 method: 'post', 68 method: 'post',
69 data: params 69 data: params
70 }); 70 });
71 71
72 /** 驳回资产登记流程 */ 72 /** 驳回资产登记流程 */
73 export const registerApproveBackup = (params) => request({ 73 export const registerApproveBackup = (params) => request({
74 url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-approve/backup`, 74 url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-approve/backup`,
75 method: 'post', 75 method: 'post',
76 data: params 76 data: params
77 }); 77 });
78 78
79 /** 获取企业名称列表,用于搜索 */ 79 /** 获取企业名称列表,用于搜索 */
80 export const getRegisterTenant = () => request({ 80 export const getRegisterTenant = () => request({
81 url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-base/get-tenant-list`, 81 url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-base/get-tenant-list`,
82 method: 'get' 82 method: 'get'
83 }); 83 });
84 84
85 /** 资产质量评价相关接口 */ 85 /** 资产质量评价相关接口 */
86 86
87 /** 获取资产质量评价列表。 */ 87 /** 获取资产质量评价列表。 */
88 export const getQualityEvaList = (params) => request({ 88 export const getQualityEvaList = (params) => request({
89 url: `${import.meta.env.VITE_API_NEW_PORTAL}/quality-evaluation/page-list`, 89 url: `${import.meta.env.VITE_API_NEW_PORTAL}/quality-evaluation/page-list`,
90 method: 'post', 90 method: 'post',
91 data: params 91 data: params
92 }) 92 })
93 93
94 /** 发起数据质量评价 */ 94 /** 发起数据质量评价 */
95 export const saveQuality = (params) => request({ 95 export const saveQuality = (params) => request({
96 url: `${import.meta.env.VITE_API_NEW_PORTAL}/quality-evaluation/save`, 96 url: `${import.meta.env.VITE_API_NEW_PORTAL}/quality-evaluation/save`,
97 method: 'post', 97 method: 'post',
98 data: params 98 data: params
99 }) 99 })
100 100
101 /** 再次提交数据质量评价 */ 101 /** 再次提交数据质量评价 */
102 export const updatQuality = (params) => request({ 102 export const updatQuality = (params) => request({
103 url: `${import.meta.env.VITE_API_NEW_PORTAL}/quality-evaluation/update`, 103 url: `${import.meta.env.VITE_API_NEW_PORTAL}/quality-evaluation/update`,
104 method: 'post', 104 method: 'post',
105 data: params 105 data: params
106 }) 106 })
107 107
108 /** 获取可以发起资产质量评价的选项列表。 */ 108 /** 获取可以发起资产质量评价的选项列表。 */
109 /** type: 1 质量评价;2 资产评估 */ 109 /** type: 1 质量评价;2 资产评估 */
110 export const getRegisteredList = (type) => request({ 110 export const getRegisteredList = (type) => request({
111 url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-base/get-valid-list?type=${type}`, 111 url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-base/get-valid-list?type=${type}`,
112 method: 'get' 112 method: 'get'
113 }) 113 })
114 114
115 /** 质量评价审批通过 */ 115 /** 质量评价审批通过 */
116 export const qualityAllow = (params) => request({ 116 export const qualityAllow = (params) => request({
117 url: `${import.meta.env.VITE_API_NEW_PORTAL}/quality-evaluation/allow`, 117 url: `${import.meta.env.VITE_API_NEW_PORTAL}/quality-evaluation/allow`,
118 method: 'post', 118 method: 'post',
119 data: params 119 data: params
120 }); 120 });
121 121
122 /** 删除质量评价 */ 122 /** 删除质量评价 */
123 export const deleteQuality = (params) => request({ 123 export const deleteQuality = (params) => request({
124 url: `${import.meta.env.VITE_API_NEW_PORTAL}/quality-evaluation/delete`, 124 url: `${import.meta.env.VITE_API_NEW_PORTAL}/quality-evaluation/delete`,
125 method: 'delete', 125 method: 'delete',
126 data: params 126 data: params
127 }); 127 });
128 128
129 /** 获取资产质量评价详情 */ 129 /** 获取资产质量评价详情 */
130 export const getEvaDetail = (params) => request({ 130 export const getEvaDetail = (params) => request({
131 url: `${import.meta.env.VITE_API_NEW_PORTAL}/quality-evaluation/detail`, 131 url: `${import.meta.env.VITE_API_NEW_PORTAL}/quality-evaluation/detail`,
132 method: 'get', 132 method: 'get',
133 params 133 params
134 }) 134 })
135 135
136 /** 资产价值评估相关接口 */ 136 /** 资产价值评估相关接口 */
137 137
138 /** 获取资产价值评估分页列表。 */ 138 /** 获取资产价值评估分页列表。 */
139 export const getCostAssessList = (params) => request({ 139 export const getCostAssessList = (params) => request({
140 url: `${import.meta.env.VITE_API_NEW_PORTAL}/cost-assessment/page-list`, 140 url: `${import.meta.env.VITE_API_NEW_PORTAL}/cost-assessment/page-list`,
141 method: 'post', 141 method: 'post',
142 data: params 142 data: params
143 }) 143 })
144 144
145 /** 发起数据价值评估 */ 145 /** 发起数据价值评估 */
146 export const saveCostAssess = (params) => request({ 146 export const saveCostAssess = (params) => request({
147 url: `${import.meta.env.VITE_API_NEW_PORTAL}/cost-assessment/save`, 147 url: `${import.meta.env.VITE_API_NEW_PORTAL}/cost-assessment/save`,
148 method: 'post', 148 method: 'post',
149 data: params 149 data: params
150 }) 150 })
151 151
152 /** 再次提交数据价值评估 */ 152 /** 再次提交数据价值评估 */
153 export const updateCostAssess = (params) => request({ 153 export const updateCostAssess = (params) => request({
154 url: `${import.meta.env.VITE_API_NEW_PORTAL}/cost-assessment/update`, 154 url: `${import.meta.env.VITE_API_NEW_PORTAL}/cost-assessment/update`,
155 method: 'post', 155 method: 'post',
156 data: params 156 data: params
157 }) 157 })
158 158
159 /** 删除数据价值评估 */ 159 /** 删除数据价值评估 */
160 export const deleteCostAssess = (params) => request({ 160 export const deleteCostAssess = (params) => request({
161 url: `${import.meta.env.VITE_API_NEW_PORTAL}/cost-assessment/delete`, 161 url: `${import.meta.env.VITE_API_NEW_PORTAL}/cost-assessment/delete`,
162 method: 'delete', 162 method: 'delete',
163 data: params 163 data: params
164 }); 164 });
165 165
166 /** 通过价值评估审批 */ 166 /** 通过价值评估审批 */
167 export const costAssessAllow = (params) => request({ 167 export const costAssessAllow = (params) => request({
168 url: `${import.meta.env.VITE_API_NEW_PORTAL}/cost-assessment/allow`, 168 url: `${import.meta.env.VITE_API_NEW_PORTAL}/cost-assessment/allow`,
169 method: 'post', 169 method: 'post',
170 data: params 170 data: params
171 }); 171 });
172 172
173 /** 获取价值评估详情 */ 173 /** 获取价值评估详情 */
174 export const getCostAssessDetail = (params) => request({ 174 export const getCostAssessDetail = (params) => request({
175 url: `${import.meta.env.VITE_API_NEW_PORTAL}/cost-assessment/detail`, 175 url: `${import.meta.env.VITE_API_NEW_PORTAL}/cost-assessment/detail`,
176 method: 'get', 176 method: 'get',
177 params 177 params
178 }) 178 })
179 179
180 /** ------- 证件管理--------- */ 180 /** ------- 证件管理--------- */
181 /** 获取证件管理分页列表数据 */ 181 /** 获取证件管理分页列表数据 */
182 export const getRegistDocumentList = (params) => request({ 182 export const getRegistDocumentList = (params) => request({
183 url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-document/page-list`, 183 url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-document/page-list`,
184 method: 'post', 184 method: 'post',
185 data: params 185 data: params
186 }) 186 })
187 187
188 /** 获取证件详情 */ 188 /** 获取证件详情 */
189 export const getCertificateDetail = (params) => request({ 189 export const getCertificateDetail = (params) => request({
190 url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-document/detail`, 190 url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-document/detail`,
191 method: 'get', 191 method: 'get',
192 params 192 params
193 }) 193 })
194 194
195 /** 发证确认 */ 195 /** 发证确认 */
196 export const updateCertificate = (params) => request({ 196 export const updateCertificate = (params) => request({
197 url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-document/update-state`, 197 url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-document/update-state`,
198 method: 'post', 198 method: 'post',
199 data: params 199 data: params
200 }) 200 })
201 201
202 /** 获取当前会员分配的交易所 */ 202 /** 获取当前会员分配的交易所 */
...@@ -208,30 +208,30 @@ export const getServiceDetail = (params) => request({ ...@@ -208,30 +208,30 @@ export const getServiceDetail = (params) => request({
208 208
209 /** 获取可使用的资产目录列表 */ 209 /** 获取可使用的资产目录列表 */
210 export const getRegisterCatalogList = () => request({ 210 export const getRegisterCatalogList = () => request({
211 url: `${import.meta.env.VITE_API_NEW_PORTAL}/dam-catalog-table/dam-list?isRegister=${'Y'}`, 211 url: `${import.meta.env.VITE_API_NEW_PORTAL}/dam-catalog-table/dam-list?isRegister=${'Y'}`,
212 method: 'get' 212 method: 'get'
213 }) 213 })
214 214
215 /*** -------------------- 资产目录管理 ------------------------ */ 215 /*** -------------------- 资产目录管理 ------------------------ */
216 216
217 /** 数据来源列表 */ 217 /** 数据来源列表 */
218 export const dataSourcesList = [ 218 export const dataSourcesList = [
219 { 219 {
220 value: 1, 220 value: 1,
221 label: '授权数据', 221 label: '授权数据',
222 }, 222 },
223 { 223 {
224 value: 2, 224 value: 2,
225 label: '自有数据', 225 label: '自有数据',
226 }, 226 },
227 { 227 {
228 value: 3, 228 value: 3,
229 label: '购买数据', 229 label: '购买数据',
230 }, 230 },
231 { 231 {
232 value: 4, 232 value: 4,
233 label: '其他来源', 233 label: '其他来源',
234 } 234 }
235 ] 235 ]
236 236
237 //获取参数字典列表。 这个是主系统的所有字典 237 //获取参数字典列表。 这个是主系统的所有字典
...@@ -241,8 +241,9 @@ export const dataSourcesList = [ ...@@ -241,8 +241,9 @@ export const dataSourcesList = [
241 // data 241 // data
242 // }) 242 // })
243 export const getParamsList = (params) => request({ 243 export const getParamsList = (params) => request({
244 url: `${import.meta.env.VITE_APP_CONFIG_URL}/dict/data/get-by-dictType?dictType=${params.dictType}`, 244 url: `${import.meta.env.VITE_APP_CONFIG_URL}/dict/data/get-by-dictType`,
245 method: 'get', 245 method: 'get',
246 params
246 }) 247 })
247 248
248 /** 获取参数类型列表 */ 249 /** 获取参数类型列表 */
...@@ -251,10 +252,11 @@ export const getParamsList = (params) => request({ ...@@ -251,10 +252,11 @@ export const getParamsList = (params) => request({
251 // method: 'post', 252 // method: 'post',
252 // data: { paramCode: "DAM-TYPE" } 253 // data: { paramCode: "DAM-TYPE" }
253 // }) 254 // })
254 export const getDamTypesList = (params) => request({ 255 // export const getDamTypesList = (params) => request({
255 url: `${import.meta.env.VITE_APP_CONFIG_URL}/dict/data/get-by-dictType?dictType=${params.dictType}`, 256 // url: `${import.meta.env.VITE_APP_CONFIG_URL}/dict/data/get-by-dictType`,
256 method: 'get', 257 // method: 'get',
257 }) 258 // params
259 // })
258 260
259 /** 获取所属主题的四级参数类型列表 */ 261 /** 获取所属主题的四级参数类型列表 */
260 // export const getSubjectDoaminList = () => request({ 262 // export const getSubjectDoaminList = () => request({
...@@ -262,10 +264,11 @@ export const getDamTypesList = (params) => request({ ...@@ -262,10 +264,11 @@ export const getDamTypesList = (params) => request({
262 // method: 'post', 264 // method: 'post',
263 // data: { paramCode: "SUBJECT-DOMAIN" } 265 // data: { paramCode: "SUBJECT-DOMAIN" }
264 // }) 266 // })
265 export const getSubjectDoaminList = (params) => request({ 267 // export const getSubjectDoaminList = (params) => request({
266 url: `${import.meta.env.VITE_APP_CONFIG_URL}/dict/data/get-by-dictType?dictType=${params.dictType}`, 268 // url: `${import.meta.env.VITE_APP_CONFIG_URL}/dict/data/get-by-dictType`,
267 method: 'get', 269 // method: 'get',
268 }) 270 // params
271 // })
269 272
270 // 获取数据类型的接口 273 // 获取数据类型的接口
271 // export const getDataTypeList = () => request({ 274 // export const getDataTypeList = () => request({
...@@ -273,109 +276,116 @@ export const getSubjectDoaminList = (params) => request({ ...@@ -273,109 +276,116 @@ export const getSubjectDoaminList = (params) => request({
273 // method: 'post', 276 // method: 'post',
274 // data: { paramCode: "DATA_TYPE" } 277 // data: { paramCode: "DATA_TYPE" }
275 // }) 278 // })
276 // 新获取数据类型的接口 279 // // 新获取数据类型的接口
277 export const getDataTypeList = (params) => request({ 280 // export const getDataTypeList = (params) => request({
278 url: `${import.meta.env.VITE_APP_CONFIG_URL}/dict/data/get-by-dictType?dictType=${params.dictType}`, 281 // url: `${import.meta.env.VITE_APP_CONFIG_URL}/dict/data/get-by-dictType`,
279 method: 'get', 282 // method: 'get',
280 }) 283 // params
284 // })
281 285
282 286
283 export const getDamCatalogTable = (params) => request({ 287 export const getDamCatalogTable = (params) => request({
284 url: `${import.meta.env.VITE_API_NEW_PORTAL}/dam-catalog-table/page-list`, 288 url: `${import.meta.env.VITE_API_NEW_PORTAL}/dam-catalog-table/page-list`,
285 method: 'post', 289 method: 'post',
286 data: params 290 data: params
287 }) 291 })
288 292
289 /** 删除数据资产目录 */ 293 /** 删除数据资产目录 */
290 export const registerCatalogDelete = (params) => request({ 294 export const registerCatalogDelete = (params) => request({
291 url: `${import.meta.env.VITE_API_NEW_PORTAL}/dam-catalog-table/delete`, 295 url: `${import.meta.env.VITE_API_NEW_PORTAL}/dam-catalog-table/delete`,
292 method: 'delete', 296 method: 'delete',
293 data: params 297 data: params
294 }); 298 });
295 299
296 /** 保存数据资产目录 */ 300 /** 保存数据资产目录 */
297 export const registerCatalogSave = (params) => request({ 301 export const registerCatalogSave = (params) => request({
298 url: `${import.meta.env.VITE_API_NEW_PORTAL}/dam-catalog-table/save`, 302 url: `${import.meta.env.VITE_API_NEW_PORTAL}/dam-catalog-table/save`,
299 method: 'post', 303 method: 'post',
300 data: params 304 data: params
301 }); 305 });
302 306
303 /** 验证资产名称是否存在 */ 307 /** 验证资产名称是否存在 */
304 export const existDamName = (params) => request({ 308 export const existDamName = (params) => request({
305 url:`${import.meta.env.VITE_API_NEW_PORTAL}/dam-catalog-table/exists?damName=${params}`, 309 url: `${import.meta.env.VITE_API_NEW_PORTAL}/dam-catalog-table/exists?damName=${params}`,
306 method: 'get' 310 method: 'get'
307 }); 311 });
308 312
309 /** 获取资产目录基本信息的详情 */ 313 /** 获取资产目录基本信息的详情 */
310 export const getRegisterCatalogDetail = (guid) => request({ 314 export const getRegisterCatalogDetail = (guid) => request({
311 url:`${import.meta.env.VITE_API_NEW_PORTAL}/dam-catalog-table/detail?guid=${guid}`, 315 url: `${import.meta.env.VITE_API_NEW_PORTAL}/dam-catalog-table/detail?guid=${guid}`,
312 method: 'get' 316 method: 'get'
313 }); 317 });
314 318
315 /** 获取资产目录表的详情 */ 319 /** 获取资产目录表的详情 */
316 export const getRegisterCatalogTableDetail = (subjectGuid) => request({ 320 export const getRegisterCatalogTableDetail = (subjectGuid) => request({
317 url:`${import.meta.env.VITE_API_NEW_PORTAL}/dam-catalog-table/get-table-detail?subjectGuid=${subjectGuid}`, 321 url: `${import.meta.env.VITE_API_NEW_PORTAL}/dam-catalog-table/get-table-detail?subjectGuid=${subjectGuid}`,
318 method: 'get' 322 method: 'get'
319 }); 323 });
320 324
321 /** 编辑资产目录基本信息 */ 325 /** 编辑资产目录基本信息 */
322 export const registerCatalogUpdate = (params) => request({ 326 export const registerCatalogUpdate = (params) => request({
323 url: `${import.meta.env.VITE_API_NEW_PORTAL}/dam-catalog-table/update`, 327 url: `${import.meta.env.VITE_API_NEW_PORTAL}/dam-catalog-table/update`,
324 method: 'post', 328 method: 'post',
325 data: params 329 data: params
326 }); 330 });
327 331
328 /** 新增资产目录表 */ 332 /** 新增资产目录表 */
329 export const registerCatalogTableSave = (params) => request({ 333 export const registerCatalogTableSave = (params) => request({
330 url: `${import.meta.env.VITE_API_NEW_PORTAL}/dam-catalog-table/add-table`, 334 url: `${import.meta.env.VITE_API_NEW_PORTAL}/dam-catalog-table/add-table`,
331 method: 'post', 335 method: 'post',
332 data: params 336 data: params
333 }); 337 });
334 338
335 /** 编辑资产目录表 */ 339 /** 编辑资产目录表 */
336 export const registerCatalogTableUpdate = (params) => request({ 340 export const registerCatalogTableUpdate = (params) => request({
337 url: `${import.meta.env.VITE_API_NEW_PORTAL}/dam-catalog-table/update-table`, 341 url: `${import.meta.env.VITE_API_NEW_PORTAL}/dam-catalog-table/update-table`,
338 method: 'post', 342 method: 'post',
339 data: params 343 data: params
340 }); 344 });
341 345
342 /** 删除资产目录表 */ 346 /** 删除资产目录表 */
343 export const registerCatalogTableDelete = (params) => request({ 347 export const registerCatalogTableDelete = (params) => request({
344 url: `${import.meta.env.VITE_API_NEW_PORTAL}/dam-catalog-table/remove-table?damGuid=${params.damGuid}&subjectGuid=${params.subjectGuid}`, 348 url: `${import.meta.env.VITE_API_NEW_PORTAL}/dam-catalog-table/remove-table?damGuid=${params.damGuid}&subjectGuid=${params.subjectGuid}`,
345 method: 'post' 349 method: 'post'
346 }); 350 });
347 351
348 /** 获取资产目录表 */ 352 /** 获取资产目录表 */
349 export const getRegisterCatalogTableList = (damGuid) => request({ 353 export const getRegisterCatalogTableList = (damGuid) => request({
350 url: `${import.meta.env.VITE_API_NEW_PORTAL}/dam-catalog-table/get-table-list?damGuid=${damGuid}`, 354 url: `${import.meta.env.VITE_API_NEW_PORTAL}/dam-catalog-table/get-table-list?damGuid=${damGuid}`,
351 method: 'get' 355 method: 'get'
352 }); 356 });
353 357
354 /** 查看资产表数据 */ 358 /** 查看资产表数据 */
355 export const queryData = (subjectGuid) => request({ 359 export const queryData = (subjectGuid) => request({
356 url: `${import.meta.env.VITE_API_NEW_PORTAL}/dam-catalog-table/preview-data/${subjectGuid}`, 360 url: `${import.meta.env.VITE_API_NEW_PORTAL}/dam-catalog-table/preview-data/${subjectGuid}`,
357 method: 'get' 361 method: 'get'
358 }); 362 });
359 363
360 /** 验证新增和编辑资产表 */ 364 /** 验证新增和编辑资产表 */
361 export const checkDamTableChange = (params) => request({ 365 export const checkDamTableChange = (params) => request({
362 url: `${import.meta.env.VITE_API_NEW_PORTAL}/dam-catalog-table/check-table-change`, 366 url: `${import.meta.env.VITE_API_NEW_PORTAL}/dam-catalog-table/check-table-change`,
363 method: 'post', 367 method: 'post',
364 data: params 368 data: params
365 }); 369 });
366 370
367 371
368 /** ------------------ 公示异议处理 -------------------------------- */ 372 /** ------------------ 公示异议处理 -------------------------------- */
369 /** 获取异议列表数据 */ 373 /** 获取异议列表数据 */
370 export const getDissentList = (params) => request({ 374 export const getDissentList = (params) => request({
371 url: `${import.meta.env.VITE_API_NEW_PORTAL}/dam-dissent-handle/page-list`, 375 url: `${import.meta.env.VITE_API_NEW_PORTAL}/dam-dissent-handle/page-list`,
372 method: 'post', 376 method: 'post',
373 data: params 377 data: params
374 }) 378 })
375 379
376 /** 更新异议处理 */ 380 /** 更新异议处理 */
377 export const updateDissentState = (params) => request({ 381 export const updateDissentState = (params) => request({
378 url: `${import.meta.env.VITE_API_NEW_PORTAL}/dam-dissent-handle/update-state`, 382 url: `${import.meta.env.VITE_API_NEW_PORTAL}/dam-dissent-handle/update-state`,
379 method: 'post', 383 method: 'post',
380 data: params 384 data: params
385 })
386
387 // 获取数交所数据
388 export const getExchangeList = () => request({
389 url: `${import.meta.env.VITE_API_NEW_PORTAL}/register-base/register-num`,
390 method: 'post'
381 }) 391 })
......
...@@ -268,3 +268,17 @@ export const getAllFlowData = (params) => request({ ...@@ -268,3 +268,17 @@ export const getAllFlowData = (params) => request({
268 method: 'get', 268 method: 'get',
269 params 269 params
270 }) 270 })
271 // 获取资产/价值评估机构数据
272 export const getSingleList = (params) => request({
273 url: `${import.meta.env.VITE_API_PERSONEL_SERVICE}/tenant/singlePage`,
274 method: 'post',
275 data: params
276 })
277 // 获取当前登录人信息
278 export const getCurrentUserInfo = (params) => {
279 return request({
280 url: `${import.meta.env.VITE_API_PERSONEL_SERVICE}/staff/data/get-current-staff`,
281 method: "post",
282 params
283 });
284 };
......
1 import request from "@/utils/request";
2 import useUserStore from "@/store/modules/user";
3 const userStore = useUserStore()
4 const userData = JSON.parse(userStore.userData)
5
6 // 获取流程详情。
7 export const getProcessFlowDetail = (params) => request({
8 url: `${import.meta.env.VITE_APP_WORK_FLOW_URL}/work-flow/detail/?approvalGuid=${params}`,
9 method: 'post',
10 })
11 // 审批通过
12 export const passFlowData = (params) => request({
13 url: `${import.meta.env.VITE_APP_WORK_FLOW_URL}/work-flow/data/allow-flow`,
14 method: 'post',
15 data: params
16 })
17 // 审批驳回
18 export const rejectFlowData = (params) => request({
19 url: `${import.meta.env.VITE_APP_WORK_FLOW_URL}/work-flow/data/backup-flow`,
20 method: 'post',
21 data: params
22 })
23 // 审批撤销
24 export const revokeFlowData = (params) => request({
25 url: `${import.meta.env.VITE_APP_WORK_FLOW_URL}/work-flow/data/canal-flow`,
26 method: 'post',
27 data: params
28 })
29 // 删除流程
30 export const deleteFlowData = (params) => request({
31 url: `${import.meta.env.VITE_APP_WORK_FLOW_URL}/work-flow/data/del`,
32 method: 'post',
33 params
34 })
35
36 export const getFlowData = (params) => request({
37 url: `${import.meta.env.VITE_APP_WORK_FLOW_URL}/work-flow/data/page-list`,
38 method: 'post',
39 data: params
40 })
41 export const getCamundaDeploymentId = (flowType) => request({
42 url: `${import.meta.env.VITE_APP_WORK_FLOW_URL}/work-flow/data/get-camunda-deployment-id`,
43 method: 'post',
44 data: {
45 tenantGuid: userData.tenantGuid,
46 flowType:flowType,
47 staffGuid: userData.staffGuid,
48 }
49 })
50
51 export const getDetailDataPromise = (deploymentId)=> request({
52 url: `${import.meta.env.VITE_APP_CAMUNDA_URL}/process-definition/get-detail?deploymentId=${deploymentId}`,
53 method: 'get',
54 })
55
56 export const getProcessNodesPromise = (params)=>request({
57 url: `${import.meta.env.VITE_APP_CAMUNDA_URL}/process-definition/get-process-nodes`,
58 method: 'post',
59 data: params
60 })
1 import ApprovalProcess from './src/ApprovalProcess.vue'
2
3 export { ApprovalProcess }
1 <script setup lang="tsx">
2 import LookBpmn from "./components/LookBpmn.vue";
3 import useProcessStore from '@/store/modules/process'
4 import { cloneDeep } from 'lodash-es';
5 import { getProcessNodesPromise } from "@/api/modules/workFlowService"
6 const processStore = useProcessStore()
7 const props = defineProps({
8 deploymentId: {
9 type: String,
10 default: ''
11 },
12 processInstanceId: {
13 type: String,
14 default: ''
15 },
16 });
17 const tableData = ref<any>([])
18 const lookBpmnRef = ref()
19 // const contentRef = ref();
20 // const { height: contentHeight } = useElementSize(contentRef);
21 const renderProcessNodes = () => {
22 let param = {
23 deploymentId: props.deploymentId || null,
24 processInstanceId: props.processInstanceId || null,
25 };
26 getProcessNodesPromise(param).then((res:any) => {
27 if (res.code === "00000") {
28 let data = res.data;
29 if (data) {
30 data.forEach((i, index) => {
31 i.id = i.activityId;
32 i.staffName = "";
33 if (i.staffVOS && i.staffVOS.length > 1) {
34 i.staffVOS.forEach((j) => {
35 j.id = j.staffGuid;
36 j.processName = i.processName;
37 if (j.approvalState) {
38 i.approvalState = j.approvalState;
39 i.approvalSuggest = j.approvalSuggest;
40 i.approvalTime = j.approvalTime;
41 i.staffName = j.staffName;
42 }
43 });
44
45 i.children = i.staffVOS;
46 } else {
47 if (i.staffVOS) {
48 i.approvalState = i.staffVOS[i.staffVOS.length - 1].approvalState;
49 i.approvalSuggest =
50 i.staffVOS[i.staffVOS.length - 1].approvalSuggest;
51 i.approvalTime = i.staffVOS[i.staffVOS.length - 1].approvalTime;
52 i.staffName = i.staffVOS[i.staffVOS.length - 1].staffName;
53 } else {
54 if (i.organisationVOS) {
55 i.approvalState = "";
56 i.approvalSuggest = "";
57 i.approvalTime = "";
58 if (i.organisationVOS.length > 1) {
59 i.staffName =
60 i.organisationVOS[0].organisationName +
61 "等" +
62 i.organisationVOS.length +
63 "个部门";
64 } else {
65 i.staffName = i.organisationVOS[0].organisationName;
66 }
67 } else if (i.positionVOS != null && i.positionVOS.length > 0) {
68 i.approvalState = "";
69 i.approvalSuggest = "";
70 i.approvalTime = "";
71 if (i.positionVOS.length > 1) {
72 if (i.staffName) {
73 i.staffName =
74 i.staffName +
75 "," +
76 i.positionVOS[0].positionName +
77 "等" +
78 i.positionVOS.length +
79 "个岗位";
80 } else {
81 i.staffName = i.positionVOS[0].positionName;
82 }
83 } else {
84 if (i.staffName) {
85 i.staffName =
86 i.staffName + "," + i.positionVOS[0].positionName;
87 } else {
88 i.staffName = i.positionVOS[0].positionName;
89 }
90 }
91 } else if (i.candidateUsers != null && i.candidateUsers != "") {
92 i.approvalState = "";
93 i.approvalSuggest = "";
94 i.approvalTime = "";
95 if (i.candidateUsers.length > 1) {
96 i.staffName =
97 i.candidateUsers[0].staffName +
98 "等" +
99 i.candidateUsers.length +
100 "个人员";
101 if (i.candidateUsers) {
102 i.candidateUsers.forEach((j) => {
103 j.id = j.staffGuid;
104 j.processName = i.processName;
105 });
106 }
107 i.children = i.candidateUsers;
108 } else {
109 i.staffName = i.candidateUsers[0].staffName;
110 }
111 }
112 }
113 }
114 });
115 }
116 tableData.value = data
117 processStore.processNodes = cloneDeep(tableData.value)
118 localStorage.setItem('processTableData',JSON.stringify(tableData.value));
119 nextTick(()=>{
120 setTimeout(()=>{
121 getSpecialEventUserTaskList()
122 })
123 })
124 }
125 });
126 };
127 const getApprovalState = (val: string) => {
128 if (!val) {
129 return "-";
130 } else {
131 if (val == "W") {
132 return (val = "待提交");
133 } else if (val == "N") {
134 return (val = "初始");
135 } else if (val == "A") {
136 return (val = "审批中");
137 } else if (val == "Y") {
138 return (val = "已通过");
139 } else if (val == "F") {
140 return (val = "已完成");
141 } else if (val == "R") {
142 return (val = "已驳回");
143 } else if (val == "C") {
144 return (val = "已撤销");
145 } else {
146 return (val = "");
147 }
148 }
149 }
150 const getSpecialEventUserTaskList = () => {
151 lookBpmnRef.value.getDetailData(props.deploymentId)
152 };
153
154 onBeforeRouteLeave((to, from) =>{
155 processStore.clearStore()
156 })
157 onMounted(() => {
158 renderProcessNodes()
159 });
160 defineExpose({
161 renderProcessNodes
162 })
163 </script>
164
165 <template>
166 <div>
167 <!-- <Table :columns="columns" :data="tableData" :border="false"></Table> -->
168 <el-table tooltip-effect="light" :data="tableData" :border="false" >
169 <el-table-column type="index" label="节点" :width="140" align="left" >
170 <template #default="scope">
171 {{ scope.row.processName ||'-' }}
172 </template>
173 </el-table-column>
174 <el-table-column type="index" label="处理对象" :width="140" align="left" show-overflow-tooltip>
175 <template #default="scope">
176 {{ scope.row.staffName ||'-' }}
177 </template>
178 </el-table-column>
179 <el-table-column type="index" label="操作时间" :width="180" align="left" show-overflow-tooltip >
180 <template #default="scope">
181 {{ scope.row.approvalTime||'-'}}
182 </template>
183 </el-table-column>
184
185 <!-- <el-table-column type="index" label="申请人" :width="100" align="left" >
186 <template #default="scope">
187 {{ scope.row.applyName||'-'}}
188 </template>
189 </el-table-column>
190
191 <el-table-column label="申请时间" :width="180" align="left" >
192 <template #default="scope">
193 {{ scope.row.time||'-'}}
194 </template>
195 </el-table-column> -->
196 <el-table-column label="审批状态" :width="140" align="left" show-overflow-tooltip>
197 <template #default="scope">
198 <div v-if="scope.row.approvalState === 'A'" class='state-sty'>{{ getApprovalState(scope.row.approvalState) }}</div>
199 <div v-else-if="scope.row.approvalState === 'Y'" class='state-sty1'>{{getApprovalState(scope.row.approvalState) }}</div>
200 <div v-else-if="scope.row.approvalState === 'R'" class='state-sty2'>{{ getApprovalState(scope.row.approvalState) }}</div>
201 <div v-else>{{getApprovalState(scope.row.approvalState)}}</div>
202 </template>
203 </el-table-column>
204
205 <el-table-column label="审批原因" align="left" >
206 <template #default="scope">
207 {{ scope.row.approvalSuggest||'-'}}
208 </template>
209 </el-table-column>
210 </el-table>
211 <div class="bpmn-sty pt-20px" style="margin-top: 20px">
212 <span style="font-size:16px;color:#666">{{ '审批流程' }}</span>
213 <el-divider style="margin-bottom:10px!important;margin-top:10px!important" />
214 <LookBpmn ref="lookBpmnRef"></LookBpmn>
215 </div>
216 </div>
217 </template>
218
219 <style lang="scss" scoped>
220 .iframe-sty {
221 width: 100%;
222 border: none;
223 // height: 600px;
224 }
225 :deep(.el-table) {
226 .state-sty {
227 width: 52px;
228 height: 21px;
229 text-align: center;
230 line-height: 21px;
231 background: #FFEEE3;
232 border-radius: 3px;
233 color: #FF8623;
234 }
235 .state-sty1 {
236 width: 52px;
237 height: 21px;
238 text-align: center;
239 line-height: 21px;
240 background: #E3F0F0;
241 border-radius: 3px;
242 color: #4FA1A4;
243 }
244 .state-sty2 {
245 width: 52px;
246 height: 21px;
247 text-align: center;
248 line-height: 21px;
249 background: #FFE4E2;
250 border-radius: 3px;
251 color: #FE4638;
252 }
253 .state-sty3 {
254 width: 52px;
255 height: 21px;
256 text-align: center;
257 line-height: 21px;
258 background: #E3E3E3;
259 border-radius: 3px;
260 color: #323233;
261 }
262 }
263 </style>
1 <script setup lang="ts">
2 import camundaModdleDescriptor from 'camunda-bpmn-moddle/resources/camunda';
3 import BpmnViewer from 'bpmn-js/lib/Viewer'; //查看 .bpmn 文件
4 import { append as svgAppend, attr as svgAttr, create as svgCreate } from 'tiny-svg'
5 import { query as domQuery } from 'min-dom'
6 import $ from 'jquery'
7 import { getDetailDataPromise } from "@/api/modules/workFlowService"
8 const canvasRef = ref()
9 let bpmnViewer = reactive<any>({})
10 const processScript = ref('')
11 const tenantGuid = ref('')
12 const elementRegistry = ref<any>([])
13 const form = reactive({
14 processName: '',
15 description: ''
16 })
17 const nodeList = ref<any[]>([])
18 const startList = ref<any[]>([])
19 const endList = ref<any[]>([])
20
21 const createNewDiagram = () => {
22 bpmnViewer.importXML(processScript.value, (err) => {
23 if (err) {
24 console.error(err)
25 } else {
26 //改变箭头颜色
27 const marker = svgCreate('marker')
28 svgAttr(marker, {
29 id: 'sequenceflow-arrow-normal',
30 viewBox: '0 0 20 20',
31 refX: '11',
32 refY: '10',
33 markerWidth: '10',
34 markerHeight: '10',
35 orient: 'auto'
36 })
37 const path = svgCreate('path')
38 svgAttr(path, {
39 d: 'M 1 5 L 11 10 L 1 15 Z',
40 style: ' stroke-width: 1px; stroke-linecap: round; stroke-dasharray: 10000, 1;stroke: #A8A8A8;fill:#A8A8A8; '
41 })
42 const defs: any = domQuery('defs');
43 svgAppend(marker, path);
44 svgAppend(defs, marker);
45
46 elementRegistry.value = bpmnViewer.get('elementRegistry');
47 nodeList.value = elementRegistry.value.filter(
48 (item) => item.type === 'bpmn:UserTask' || item.type === 'bpmn:ServiceTask'
49 );
50 startList.value = elementRegistry.value.filter(
51 (item) => item.type === 'bpmn:StartEvent'
52 );
53 endList.value = elementRegistry.value.filter(
54 (item) => item.type === 'bpmn:EndEvent'
55 );
56 if (localStorage.getItem("processTableData")) {
57 let processTableData = JSON.parse(localStorage.getItem("processTableData"));
58 if (nodeList) {
59 nodeList.value.forEach((i) => {
60 if (processTableData) {
61 processTableData.forEach((j) => {
62 if (i.id == j.id) {
63 i.approvalState = j.approvalState;
64 i.staffName = j.staffName;
65 }
66 })
67 }
68 })
69 }
70 changeColor();
71 }
72
73 }
74 })
75 }
76
77 const changeColor = () => {
78 if (startList) {
79 let overlaysStart = bpmnViewer.get('overlays');
80 let shapeStart = elementRegistry.value.get(startList.value[0].id);
81 if (shapeStart) {
82 const $overlayHtmlS = $('<div class="highlight-overlay-start-sty" style="">').css({
83 width: 48,
84 height: 48,
85 color: '#000000'
86 });
87 overlaysStart.add(startList.value[0].id, {
88 position: { top: -6, left: -6 },
89 html: $overlayHtmlS
90 });
91 }
92 }
93 if (endList) {
94 let overlaysEnd = bpmnViewer.get('overlays');
95 endList.value.forEach((e) => {
96 let shapeEnd = elementRegistry.value.get(e.id);
97 if (shapeEnd) {
98 const $overlayHtmlE = $('<div class="highlight-overlay-end-sty" style="">').css({
99 width: 48,
100 height: 48,
101 color: '#000000'
102 });
103 overlaysEnd.add(e.id, {
104 position: { top: -6, left: -6 },
105 html: $overlayHtmlE
106 });
107 }
108 })
109 }
110 nodeList.value.forEach(i => {
111 let overlays = bpmnViewer.get('overlays');
112 let shape = elementRegistry.value.get(i.id);
113 if (shape) {
114 let appointorNames = i.businessObject.$attrs['camunda:nodeName'];
115 let type = i.approvalState;
116 let $overlayHtml: JQuery<HTMLElement>;
117 if (type == 'Y') {
118 $overlayHtml = $('<div class="highlight-overlay" style="border: 0px solid;border-color:#f1f1f1;border-radius: 4px;"><div class="highlight-overlay-name">' + i.businessObject.name + '</div><div class="highlight-overlay-down">' + appointorNames + '</div><div class="highlight-overlay-down1">已通过</div>').css({
119 width: shape.width + 3,
120 height: shape.height + 3
121 });
122 } else if (type == 'A') {
123 $overlayHtml = $('<div class="highlight-overlay1" style="border: 0px solid;border-color:#f1f1f1;border-radius: 4px;"><div class="highlight-overlay-name">' + i.businessObject.name + '</div><div class="highlight-overlay-down">' + appointorNames + '</div><div class="highlight-overlay-down2">审批中</div>').css({
124 width: shape.width + 3,
125 height: shape.height + 3
126 });
127 } else if (type == 'R') {
128 $overlayHtml = $('<div class="highlight-overlay2" style="border: 0px solid;border-color:#f1f1f1;border-radius: 4px;"><div class="highlight-overlay-name">' + i.businessObject.name + '</div><div class="highlight-overlay-down">' + appointorNames + '</div><div class="highlight-overlay-down3">已驳回</div>').css({
129 width: shape.width + 3,
130 height: shape.height + 3
131 });
132 } else {
133 if (i.businessObject.name == '发起人') {
134 $overlayHtml = $('<div class="highlight-overlay" style="border: 0px solid;border-color:#f1f1f1;border-radius: 4px;"><div class="highlight-overlay-name">' + i.businessObject.name + '</div><div class="highlight-overlay-down">' + appointorNames + '</div><div class="highlight-overlay-down3"></div>').css({
135 width: shape.width + 3,
136 height: shape.height + 3
137 });
138 } else {
139 $overlayHtml = $('<div class="highlight-overlay3" style="border: 0px solid;border-color:#f1f1f1;border-radius: 4px;"><div class="highlight-overlay-name">' + i.businessObject.name + '</div><div class="highlight-overlay-down">' + appointorNames + '</div><div class="highlight-overlay-down4"></div>').css({
140 width: shape.width + 3,
141 height: shape.height + 3
142 });
143 }
144 }
145 overlays.add(i.id, {
146 position: { top: -1.5, left: -1.5 },
147 html: $overlayHtml
148 });
149 }
150 });
151 }
152 const getDetailData = (deploymentId) => {
153 if (!deploymentId) {
154 return
155 }
156 getDetailDataPromise(deploymentId).then((res:any) => {
157 if (res.code == '00000') {
158 // console.log('调用查看组件', res.data.data);
159 if (res.data) {
160 let data = res.data;
161 processScript.value = data.processScript;
162 tenantGuid.value = data.tenantGuid;
163 form.processName = data.processName;
164 form.description = data.description;
165 } else {
166 tenantGuid.value = '';
167 form.processName = '';
168 form.description = '';
169 processScript.value = `
170 <?xml version="1.0" encoding="UTF-8"?>
171 <bpmn2:definitions
172 xmlns:bpmn2="http://www.omg.org/spec/BPMN/20100524/MODEL"
173 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
174 xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"
175 xmlns:dc="http://www.omg.org/spec/DD/20100524/DC"
176 xmlns:di="http://www.omg.org/spec/DD/20100524/DI"
177 id="sample-diagram"
178 targetNamespace="http://bpmn.io/schema/bpmn"
179 xsi:schemaLocation="http://www.omg.org/spec/BPMN/20100524/MODEL BPMN20.xsd">
180 <bpmn2:process id="process1567044459787" name="流程1567044459787" isExecutable="true">
181 <bpmn2:documentation>描述</bpmn2:documentation>
182 <bpmn2:startEvent id="StartEvent_01ydzqe" name="开始">
183 <bpmn2:outgoing>SequenceFlow_1qw929z</bpmn2:outgoing>
184 </bpmn2:startEvent>
185 <bpmn2:sequenceFlow id="SequenceFlow_1qw929z" sourceRef="StartEvent_01ydzqe" targetRef="Task_1piqdk6" />
186 <bpmn2:userTask id="Task_1piqdk6" name="请假申请">
187 <bpmn2:incoming>SequenceFlow_1qw929z</bpmn2:incoming>
188 <bpmn2:outgoing>SequenceFlow_0axt6j6</bpmn2:outgoing>
189 </bpmn2:userTask>
190 <bpmn2:endEvent id="EndEvent_0pnmjd3">
191 <bpmn2:incoming>SequenceFlow_0axt6j6</bpmn2:incoming>
192 </bpmn2:endEvent>
193 <bpmn2:sequenceFlow id="SequenceFlow_0axt6j6" sourceRef="Task_1piqdk6" targetRef="EndEvent_0pnmjd3" />
194 </bpmn2:process>
195 <bpmndi:BPMNDiagram id="BPMNDiagram_1">
196 <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="process1567044459787">
197 <bpmndi:BPMNShape id="StartEvent_01ydzqe_di" bpmnElement="StartEvent_01ydzqe">
198 <dc:Bounds x="532" y="72" width="36" height="36" />
199 <bpmndi:BPMNLabel>
200 <dc:Bounds x="539" y="53" width="22" height="14" />
201 </bpmndi:BPMNLabel>
202 </bpmndi:BPMNShape>
203 <bpmndi:BPMNEdge id="SequenceFlow_1qw929z_di" bpmnElement="SequenceFlow_1qw929z">
204 <di:waypoint x="550" y="108" />
205 <di:waypoint x="550" y="150" />
206 </bpmndi:BPMNEdge>
207 <bpmndi:BPMNShape id="UserTask_1qxjy46_di" bpmnElement="Task_1piqdk6">
208 <dc:Bounds x="500" y="150" width="100" height="80" />
209 </bpmndi:BPMNShape>
210 <bpmndi:BPMNShape id="EndEvent_0pnmjd3_di" bpmnElement="EndEvent_0pnmjd3">
211 <dc:Bounds x="532" y="338" width="36" height="36" />
212 </bpmndi:BPMNShape>
213 <bpmndi:BPMNEdge id="SequenceFlow_0axt6j6_di" bpmnElement="SequenceFlow_0axt6j6">
214 <di:waypoint x="550" y="230" />
215 <di:waypoint x="550" y="338" />
216 </bpmndi:BPMNEdge>
217 </bpmndi:BPMNPlane>
218 </bpmndi:BPMNDiagram>
219 </bpmn2:definitions>
220 `
221 }
222 // 新增流程定义
223 createNewDiagram()
224 }
225 })
226 }
227 defineExpose({
228 getDetailData
229 })
230
231 onMounted(() => {
232 bpmnViewer = new BpmnViewer({
233 container: canvasRef.value,
234 moddleExtensions: {
235 camunda: camundaModdleDescriptor
236 }
237 })
238 })
239 </script>
240
241 <template>
242 <div class="containers">
243 <div class="canvas" ref="canvasRef"></div>
244 </div>
245 </template>
246
247 <style lang="scss" scoped>
248 .containers {
249 // position: absolute;
250 background: #E9EEF3;
251 width: 100%;
252 height: 300px;
253 overflow: auto;
254
255 // overflow-y: scroll;
256 .canvas {
257 width: 100%;
258 height: 300px
259 }
260
261 :deep(.bjs-powered-by) {
262 display: none;
263 }
264
265 :deep(.djs-palette .two-column .open) {
266 display: none;
267 }
268
269 :deep(.highlight-overlay) {
270 background: url(@/assets/images/approvalProcess/users.jpg) no-repeat;
271 background-size: 103px 83px;
272 font-size: 12px !important;
273 overflow: hidden;
274 text-overflow: ellipsis;
275 white-space: nowrap;
276 }
277
278 :deep(.highlight-overlay1) {
279 background: url(@/assets/images/approvalProcess/users2.jpg) no-repeat;
280 background-size: 103px 83px;
281 font-size: 12px !important;
282 }
283
284 :deep(.highlight-overlay2) {
285 background: url(@/assets/images/approvalProcess/users1.jpg) no-repeat;
286 background-size: 103px 83px;
287 font-size: 12px !important;
288 }
289
290 :deep(.highlight-overlay3 ){
291 background: url(@/assets/images/approvalProcess/users3.jpg) no-repeat;
292 background-size: 103px 83px;
293 font-size: 12px !important;
294 }
295
296 :deep(.highlight-overlay-name) {
297 width: 100px;
298 height: 30px;
299 text-align: left;
300 padding-left: 22px;
301 line-height: 34px;
302 color: #ffffff;
303 overflow: hidden;
304 text-overflow: ellipsis;
305 white-space: nowrap;
306 }
307
308 :deep(.highlight-overlay-down) {
309 width: 100px;
310 text-align: left;
311 height: 28px;
312 line-height: 28px;
313 padding-left: 9px;
314 overflow: hidden;
315 // padding: 10px 5px;
316 }
317
318 :deep(.highlight-overlay-down1) {
319 width: 100px;
320 text-align: left;
321 height: 20px;
322 line-height: 20px;
323 padding-left: 9px;
324 color: #4FA1A4;
325 // padding: 10px 5px;
326 }
327
328 :deep(.highlight-overlay-down2) {
329 width: 100px;
330 text-align: left;
331 height: 20px;
332 line-height: 20px;
333 padding-left: 9px;
334 color: #FF8623;
335 // padding: 10px 5px;
336 }
337
338 :deep(.highlight-overlay-down3) {
339 width: 100px;
340 text-align: left;
341 height: 20px;
342 line-height: 20px;
343 padding-left: 9px;
344 color: #FE4638;
345 // padding: 10px 5px;
346 }
347
348 :deep(.highlight-overlay-down4) {
349 width: 100px;
350 text-align: left;
351 height: 20px;
352 line-height: 20px;
353 padding-left: 9px;
354 color: #9A9A9A;
355 // padding: 10px 5px;
356 }
357
358 :deep(.highlight-overlay-start-sty) {
359 background: url(@/assets/images/approvalProcess/start.png) no-repeat;
360 background-size: 48px 48px;
361 font-size: 12px !important;
362 }
363
364 :deep(.highlight-overlay-end-sty) {
365 background: url(@/assets/images/approvalProcess/end.png) no-repeat;
366 background-size: 48px 48px;
367 font-size: 12px !important;
368 }
369
370 :deep(.djs-connection) {
371 path {
372 stroke: #A8A8A8 !important;
373 marker-end: url(#sequenceflow-arrow-normal) !important;
374 }
375 }
376 }
377 </style>
...\ No newline at end of file ...\ No newline at end of file
...@@ -3,7 +3,7 @@ function Layout() { ...@@ -3,7 +3,7 @@ function Layout() {
3 return import('@/layouts/index.vue') 3 return import('@/layouts/index.vue')
4 } 4 }
5 const routes: RouteRecordRaw[] = [ 5 const routes: RouteRecordRaw[] = [
6 { 6 {
7 path: '/data-asset-register/register-managemant', 7 path: '/data-asset-register/register-managemant',
8 component: Layout, 8 component: Layout,
9 meta: { 9 meta: {
...@@ -35,14 +35,8 @@ const routes: RouteRecordRaw[] = [ ...@@ -35,14 +35,8 @@ const routes: RouteRecordRaw[] = [
35 reuse: true 35 reuse: true
36 }, 36 },
37 beforeEnter: (to, from) => { 37 beforeEnter: (to, from) => {
38 if (to.query.type) { 38 to.meta.title = to.query.type == 'edit' ? `编辑-${to.query.name}` : '新建资产登记';
39 to.meta.title = `详情-`; 39 to.meta.editPage = true;
40 return;
41 }
42 if (to.query.guid) {
43 to.meta.title = `编辑-`;
44 to.meta.editPage = true;
45 }
46 } 40 }
47 }, 41 },
48 { 42 {
...@@ -55,11 +49,14 @@ const routes: RouteRecordRaw[] = [ ...@@ -55,11 +49,14 @@ const routes: RouteRecordRaw[] = [
55 breadcrumb: false, 49 breadcrumb: false,
56 cache: true, 50 cache: true,
57 reuse: true 51 reuse: true
52 },
53 beforeEnter: (to, from) => {
54 to.meta.title = `详情-${to.query.name}`;
58 } 55 }
59 } 56 }
60 ], 57 ],
61 }, 58 },
62 { 59 {
63 path: '/data-asset-register/quality-evaluate', 60 path: '/data-asset-register/quality-evaluate',
64 component: Layout, 61 component: Layout,
65 meta: { 62 meta: {
...@@ -92,7 +89,7 @@ const routes: RouteRecordRaw[] = [ ...@@ -92,7 +89,7 @@ const routes: RouteRecordRaw[] = [
92 } 89 }
93 ], 90 ],
94 }, 91 },
95 { 92 {
96 path: '/data-asset-register/value-evaluate', 93 path: '/data-asset-register/value-evaluate',
97 component: Layout, 94 component: Layout,
98 meta: { 95 meta: {
......
1 const useProcessStore = defineStore(
2 // 唯一ID
3 'process',
4 () => {
5 const processNodes = ref([])
6 const staffVOS = computed(() => { // 最后审批node
7 return processNodes.value.find((item:any) => item.approvalState)
8 })
9 const clearStore = () => {
10 processNodes.value = []
11 }
12 return {
13 processNodes,
14 staffVOS,
15 clearStore
16 }
17 },
18 {
19 persist:{
20 storage: sessionStorage,
21 paths: ['processNodes','staffVOS']
22 }
23 }
24 )
25
26 export default useProcessStore
27
...\ No newline at end of file ...\ No newline at end of file
...@@ -4,7 +4,7 @@ import router from '@/router' ...@@ -4,7 +4,7 @@ import router from '@/router'
4 import { ElMessage } from 'element-plus' 4 import { ElMessage } from 'element-plus'
5 import apiUser from '@/api/modules/user' 5 import apiUser from '@/api/modules/user'
6 import { getCurrentTime } from '@/utils/common' 6 import { getCurrentTime } from '@/utils/common'
7 import { getSystemMenu, getUserInfo, getTokenByCode, loginOut, refreshToken, editPasswordInterface } from '@/api/modules/queryService' 7 import { getSystemMenu, getUserInfo, getTokenByCode, loginOut, refreshToken, editPasswordInterface, getCurrentUserInfo } from '@/api/modules/queryService'
8 8
9 const useUserStore = defineStore( 9 const useUserStore = defineStore(
10 // 唯一ID 10 // 唯一ID
...@@ -29,47 +29,49 @@ const useUserStore = defineStore( ...@@ -29,47 +29,49 @@ const useUserStore = defineStore(
29 /* idass的登录页面url,退出登录需要跳转到登录页。*/ 29 /* idass的登录页面url,退出登录需要跳转到登录页。*/
30 const idassLoginUrl = 'https://idaas-test.csbr.cn/login'; 30 const idassLoginUrl = 'https://idaas-test.csbr.cn/login';
31 const timer: any = ref(null); 31 const timer: any = ref(null);
32 //获取token. 32 //获取token.
33 function getToken(data, state) { 33 function getToken(data, state) {
34 data.platformGuid = "7f16f697aec111ef8656fa163e60becd"; 34 data.platformGuid = "7f16f697aec111ef8656fa163e60becd";
35 data.userType = 2; 35 data.userType = 2;
36 data.validateUri = location.origin == 'http://localhost:9000' ? 'http://localhost:9000/' : location.origin + '/'; 36 data.validateUri = location.origin == 'http://localhost:9000' ? 'http://localhost:9000/' : location.origin + '/';
37 return getTokenPromise.value = getTokenByCode(data).then((res: any) => { 37 return getTokenPromise.value = getTokenByCode(data).then((res: any) => {
38 getTokenPromise.value = null; 38 getTokenPromise.value = null;
39 console.log(res); 39 console.log(res);
40 if (res.code == '00000') { 40 if (res.code == '00000') {
41 console.log(res.data); 41 console.log(res.data);
42 isLogin.value = true; 42 isLogin.value = true;
43 localStorage.setItem('code', `${data.code}`); 43 localStorage.setItem('code', `${data.code}`);
44 localStorage.setItem('state', state); 44 localStorage.setItem('state', state);
45 localStorage.setItem('token', res.data.token || ""); 45 localStorage.setItem('token', res.data.token || "");
46 token.value = res.data.access_token; 46 token.value = res.data.access_token;
47 localStorage.setItem('refresh_token', res.data.refreshToken || ""); 47 localStorage.setItem('refresh_token', res.data.refreshToken || "");
48 const expiresIn = (Date.now() + 1700000) + ""; 48 const expiresIn = (Date.now() + 1700000) + "";
49 localStorage.setItem('expiresIn', expiresIn); 49 localStorage.setItem('expiresIn', expiresIn);
50 refreshUserToken(); 50 refreshUserToken();
51 //获取用户信息 51 //获取用户信息
52 account.value = res.data.logonUser 52 account.value = res.data.logonUser
53 userId.value = res.data.userId 53 userId.value = res.data.userId
54 userName.value = res.data.userName 54 userName.value = res.data.userName
55 // userData.value = JSON.stringify(res.data.data); 55 currentTenantGuid.value = res.data.tenantInfoList && res.data.tenantInfoList.length ? res.data.tenantInfoList[0].guid : '';
56 currentTenantGuid.value = res.data.tenantInfoList && res.data.tenantInfoList.length ? res.data.tenantInfoList[0].guid : ''; 56 localStorage.setItem('currentTenantGuid', currentTenantGuid.value);
57 localStorage.setItem('currentTenantGuid', currentTenantGuid.value); 57 let currentTenant = res.data.tenantInfoList?.[0];
58 let currentTenant = res.data.tenantInfoList?.[0]; 58 return getCurrentUserInfo({ tenantGuid: currentTenantGuid.value }).then((result: any) => {
59 return getSystemMenu({ tenantGuid: currentTenantGuid.value }).then((info: any) => { 59 return getSystemMenu({ tenantGuid: currentTenantGuid.value }).then((info: any) => {
60 if (info.code == '00000') { 60 if (info.code == '00000') {
61 localStorage.setItem('userName', currentTenant?.name) 61 localStorage.setItem('userName', currentTenant?.name)
62 localStorage.setItem('userInfoData', JSON.stringify(info.data)); 62 localStorage.setItem('userInfoData', JSON.stringify(info.data));
63 userInfoData.value = info.data; 63 userInfoData.value = info.data;
64 } else { 64 localStorage.setItem('userData', JSON.stringify(result.data));
65 ElMessage.error(info.msg) 65 } else {
66 } 66 ElMessage.error(info.msg)
67 }) 67 }
68 } else { 68 })
69 isLogin.value = false; 69 })
70 // ElMessage.error(res.msg);//授权码被重复使用,不抛出异常。 70 } else {
71 } 71 isLogin.value = false;
72 }); 72 // ElMessage.error(res.msg);//授权码被重复使用,不抛出异常。
73 }
74 });
73 } 75 }
74 76
75 function refreshUserToken() { 77 function refreshUserToken() {
...@@ -80,11 +82,11 @@ const useUserStore = defineStore( ...@@ -80,11 +82,11 @@ const useUserStore = defineStore(
80 const process = async () => { 82 const process = async () => {
81 if (parseInt(expiresIn) - Date.now() < 600000) { 83 if (parseInt(expiresIn) - Date.now() < 600000) {
82 const refreshing = localStorage.getItem('refreshing'); 84 const refreshing = localStorage.getItem('refreshing');
83 let now = new Date(); 85 let now = new Date();
84 if (!refreshing || new Date(refreshing) < now) {//确保多个页面只刷新一次。 86 if (!refreshing || new Date(refreshing) < now) {//确保多个页面只刷新一次。
85 localStorage.setItem('refreshing', now.toISOString()); 87 localStorage.setItem('refreshing', now.toISOString());
86 await refresh(); 88 await refresh();
87 localStorage.removeItem('refreshing'); 89 localStorage.removeItem('refreshing');
88 } 90 }
89 } 91 }
90 } 92 }
...@@ -100,14 +102,14 @@ const useUserStore = defineStore( ...@@ -100,14 +102,14 @@ const useUserStore = defineStore(
100 refreshToken: localStorage.getItem('refresh_token') 102 refreshToken: localStorage.getItem('refresh_token')
101 }).then((resInfo: any) => { 103 }).then((resInfo: any) => {
102 getTokenPromise.value = null; 104 getTokenPromise.value = null;
103 if (resInfo.code == '00000'){ 105 if (resInfo.code == '00000') {
104 localStorage.setItem('token',resInfo.data.accessToken); 106 localStorage.setItem('token', resInfo.data.accessToken);
105 token.value = resInfo.data.accessToken; 107 token.value = resInfo.data.accessToken;
106 localStorage.setItem('refresh_token',resInfo.data.refreshToken); 108 localStorage.setItem('refresh_token', resInfo.data.refreshToken);
107 const expiresIn = (Date.now() + 1700000) + ""; 109 const expiresIn = (Date.now() + 1700000) + "";
108 localStorage.setItem('expiresIn', expiresIn); 110 localStorage.setItem('expiresIn', expiresIn);
109 } else { 111 } else {
110 //会出现同步刷新token就退出登录的问题,去掉这个代码。 112 //会出现同步刷新token就退出登录的问题,去掉这个代码。
111 //logout(true) 113 //logout(true)
112 } 114 }
113 }).catch(() => { 115 }).catch(() => {
...@@ -151,23 +153,23 @@ const useUserStore = defineStore( ...@@ -151,23 +153,23 @@ const useUserStore = defineStore(
151 // 登出 153 // 登出
152 async function logout(isErrorReturn = false, redirect = router.currentRoute.value.fullPath) { 154 async function logout(isErrorReturn = false, redirect = router.currentRoute.value.fullPath) {
153 if (!isErrorReturn && localStorage.getItem('code')) { 155 if (!isErrorReturn && localStorage.getItem('code')) {
154 isLoginOut.value = true; 156 isLoginOut.value = true;
155 loginOut().then(() => { 157 loginOut().then(() => {
156 localStorage.clear() 158 localStorage.clear()
157 account.value = '' 159 account.value = ''
158 userId.value = '' 160 userId.value = ''
159 userName.value = '' 161 userName.value = ''
160 userData.value = '' 162 userData.value = ''
161 token.value = ''; 163 token.value = '';
162 timer.value && clearInterval(timer.value); 164 timer.value && clearInterval(timer.value);
163 isLogin.value = false; 165 isLogin.value = false;
164 userInfoData.value = []; 166 userInfoData.value = [];
165 routeStore.removeRoutes() 167 routeStore.removeRoutes()
166 menuStore.setActived(0) 168 menuStore.setActived(0)
167 tabbar.value = [] 169 tabbar.value = []
168 tabbarMap.value = {} 170 tabbarMap.value = {}
169 window.location.href = idassLoginUrl + '?logout=1'; 171 window.location.href = idassLoginUrl + '?logout=1';
170 }); 172 });
171 } else { 173 } else {
172 let hasCode = localStorage.getItem('code'); 174 let hasCode = localStorage.getItem('code');
173 isLoginOut.value = true; 175 isLoginOut.value = true;
...@@ -228,7 +230,7 @@ const useUserStore = defineStore( ...@@ -228,7 +230,7 @@ const useUserStore = defineStore(
228 mark = 'data-sync' 230 mark = 'data-sync'
229 } else if (item.meta.title == '数据质量') { 231 } else if (item.meta.title == '数据质量') {
230 mark = 'data-quality' 232 mark = 'data-quality'
231 } else if (item.meta.title == '数据盘点') { 233 } else if (item.meta.title == '数据盘点') {
232 mark = 'data-inventory' 234 mark = 'data-inventory'
233 } else if (item.meta.title == '首页') { 235 } else if (item.meta.title == '首页') {
234 mark = 'data-asset-index' 236 mark = 'data-asset-index'
......
...@@ -9,6 +9,7 @@ export {} ...@@ -9,6 +9,7 @@ export {}
9 9
10 declare module '@vue/runtime-core' { 10 declare module '@vue/runtime-core' {
11 export interface GlobalComponents { 11 export interface GlobalComponents {
12 ApprovalProcess: typeof import('./../components/ApprovalProcess/src/ApprovalProcess.vue')['default']
12 Auth: typeof import('./../components/Auth/index.vue')['default'] 13 Auth: typeof import('./../components/Auth/index.vue')['default']
13 AuthAll: typeof import('./../components/AuthAll/index.vue')['default'] 14 AuthAll: typeof import('./../components/AuthAll/index.vue')['default']
14 ContentWrap: typeof import('./../components/ContentWrap/src/ContentWrap.vue')['default'] 15 ContentWrap: typeof import('./../components/ContentWrap/src/ContentWrap.vue')['default']
...@@ -31,6 +32,7 @@ declare module '@vue/runtime-core' { ...@@ -31,6 +32,7 @@ declare module '@vue/runtime-core' {
31 ImageUpload: typeof import('./../components/ImageUpload/index.vue')['default'] 32 ImageUpload: typeof import('./../components/ImageUpload/index.vue')['default']
32 LineageGraph: typeof import('./../components/LineageGraph/index.vue')['default'] 33 LineageGraph: typeof import('./../components/LineageGraph/index.vue')['default']
33 ListPanel: typeof import('./../components/ListPanel/index.vue')['default'] 34 ListPanel: typeof import('./../components/ListPanel/index.vue')['default']
35 LookBpmn: typeof import('./../components/ApprovalProcess/src/components/LookBpmn.vue')['default']
34 Month: typeof import('./../components/Schedule/component/month.vue')['default'] 36 Month: typeof import('./../components/Schedule/component/month.vue')['default']
35 NotAllowed: typeof import('./../components/NotAllowed/index.vue')['default'] 37 NotAllowed: typeof import('./../components/NotAllowed/index.vue')['default']
36 PageHeader: typeof import('./../components/PageHeader/index.vue')['default'] 38 PageHeader: typeof import('./../components/PageHeader/index.vue')['default']
......
...@@ -5,7 +5,6 @@ ...@@ -5,7 +5,6 @@
5 <script lang="ts" setup name="importTableField"> 5 <script lang="ts" setup name="importTableField">
6 import { ref } from 'vue'; 6 import { ref } from 'vue';
7 import { 7 import {
8 getDataTypeList,
9 getParamsList 8 getParamsList
10 } from "@/api/modules/dataAsset"; 9 } from "@/api/modules/dataAsset";
11 import { pinyin } from 'pinyin-pro'; 10 import { pinyin } from 'pinyin-pro';
...@@ -80,7 +79,7 @@ const handleFileDataChange = (fileFields, files, sheetName, data) => { ...@@ -80,7 +79,7 @@ const handleFileDataChange = (fileFields, files, sheetName, data) => {
80 } 79 }
81 80
82 const getFieldTypeList = () => { 81 const getFieldTypeList = () => {
83 getDataTypeList({ 82 getParamsList({
84 dictType: "字段类型" 83 dictType: "字段类型"
85 }).then((res: any) => { 84 }).then((res: any) => {
86 fieldTypes.value = []; 85 fieldTypes.value = [];
......
...@@ -10,8 +10,7 @@ import { ...@@ -10,8 +10,7 @@ import {
10 getAreaData 10 getAreaData
11 } from "@/api/modules/queryService"; 11 } from "@/api/modules/queryService";
12 import { 12 import {
13 getDamTypesList, 13 getParamsList,
14 getSubjectDoaminList,
15 dataSourcesList, 14 dataSourcesList,
16 registerCatalogSave, 15 registerCatalogSave,
17 existDamName, 16 existDamName,
...@@ -570,7 +569,7 @@ onBeforeMount(() => { ...@@ -570,7 +569,7 @@ onBeforeMount(() => {
570 } 569 }
571 return data; 570 return data;
572 } 571 }
573 getDamTypesList({ 572 getParamsList({
574 dictType: "资产类型", 573 dictType: "资产类型",
575 }).then((res: any) => { 574 }).then((res: any) => {
576 if (res.code == proxy.$passCode) { 575 if (res.code == proxy.$passCode) {
...@@ -582,7 +581,7 @@ onBeforeMount(() => { ...@@ -582,7 +581,7 @@ onBeforeMount(() => {
582 proxy.$ElMessage.error(res.msg); 581 proxy.$ElMessage.error(res.msg);
583 } 582 }
584 }) 583 })
585 getSubjectDoaminList({ 584 getParamsList({
586 dictType: "数据资产目录主题名称", 585 dictType: "数据资产目录主题名称",
587 }).then((res: any) => { 586 }).then((res: any) => {
588 if (res.code == proxy.$passCode) { 587 if (res.code == proxy.$passCode) {
......
...@@ -9,8 +9,7 @@ import { ElMessageBox } from "element-plus"; ...@@ -9,8 +9,7 @@ import { ElMessageBox } from "element-plus";
9 import { useRouter, useRoute } from "vue-router"; 9 import { useRouter, useRoute } from "vue-router";
10 import { MoreFilled } from "@element-plus/icons-vue"; 10 import { MoreFilled } from "@element-plus/icons-vue";
11 import { 11 import {
12 getSubjectDoaminList, 12 getParamsList,
13 getDamTypesList,
14 getDamCatalogTable, 13 getDamCatalogTable,
15 registerCatalogDelete 14 registerCatalogDelete
16 } from "@/api/modules/dataAsset"; 15 } from "@/api/modules/dataAsset";
...@@ -217,7 +216,7 @@ onActivated(() => { ...@@ -217,7 +216,7 @@ onActivated(() => {
217 }); 216 });
218 217
219 onBeforeMount(() => { 218 onBeforeMount(() => {
220 getDamTypesList({ 219 getParamsList({
221 dictType: "资产类型", 220 dictType: "资产类型",
222 }).then((res: any) => { 221 }).then((res: any) => {
223 if (res.code == proxy.$passCode) { 222 if (res.code == proxy.$passCode) {
...@@ -229,7 +228,7 @@ onBeforeMount(() => { ...@@ -229,7 +228,7 @@ onBeforeMount(() => {
229 proxy.$ElMessage.error(res.msg); 228 proxy.$ElMessage.error(res.msg);
230 } 229 }
231 }) 230 })
232 getSubjectDoaminList({ 231 getParamsList({
233 dictType: "数据资产目录主题名称", 232 dictType: "数据资产目录主题名称",
234 }).then((res: any) => { 233 }).then((res: any) => {
235 if (res.code == proxy.$passCode) { 234 if (res.code == proxy.$passCode) {
......
...@@ -258,13 +258,14 @@ const getDetailInfo = () => { ...@@ -258,13 +258,14 @@ const getDetailInfo = () => {
258 const data = res.data || {}; 258 const data = res.data || {};
259 detailInfo.value = data; 259 detailInfo.value = data;
260 assetDetailInfo.value = data; 260 assetDetailInfo.value = data;
261 if (fullPath === route.fullPath) { 261 deploymentId.value = data.camundaDeploymentId;
262 document.title = `详情-${data.daName}`; 262 // if (fullPath === route.fullPath) {
263 } 263 // document.title = `详情-${data.daName}`;
264 let tab: any = userStore.tabbar.find((tab: any) => tab.fullPath === fullPath); 264 // }
265 if (tab) { 265 // let tab: any = userStore.tabbar.find((tab: any) => tab.fullPath === fullPath);
266 tab.meta.title = `详情-${data.daName}`; 266 // if (tab) {
267 } 267 // tab.meta.title = `详情-${data.daName}`;
268 // }
268 isTextTruncated(); 269 isTextTruncated();
269 } else { 270 } else {
270 ElMessage.error(res.msg); 271 ElMessage.error(res.msg);
...@@ -293,11 +294,11 @@ onBeforeMount(() => { ...@@ -293,11 +294,11 @@ onBeforeMount(() => {
293 }); 294 });
294 295
295 onActivated(() => { 296 onActivated(() => {
296 if (assetDetailInfo.value?.daName) { 297 // if (assetDetailInfo.value?.daName) {
297 if (fullPath === route.fullPath) { 298 // if (fullPath === route.fullPath) {
298 document.title = `详情-${assetDetailInfo.value?.daName}`; 299 // document.title = `详情-${assetDetailInfo.value?.daName}`;
299 } 300 // }
300 } 301 // }
301 }); 302 });
302 303
303 onMounted(() => { 304 onMounted(() => {
...@@ -399,7 +400,7 @@ const approveTableInfo: any = ref({ ...@@ -399,7 +400,7 @@ const approveTableInfo: any = ref({
399 show: false 400 show: false
400 } 401 }
401 }); 402 });
402 403 const deploymentId = ref('');
403 const tenantDetail: any = ref({}); 404 const tenantDetail: any = ref({});
404 405
405 /** 获取当前登录会员,服务商,企业等详情。 */ 406 /** 获取当前登录会员,服务商,企业等详情。 */
...@@ -490,7 +491,7 @@ const btnClick = (btn) => { ...@@ -490,7 +491,7 @@ const btnClick = (btn) => {
490 qualityEvaluateFormItems.value[1].disabled = true; 491 qualityEvaluateFormItems.value[1].disabled = true;
491 } else { 492 } else {
492 qualityEvaluateFormItems.value[1].default = null; 493 qualityEvaluateFormItems.value[1].default = null;
493 qualityEvaluateFormItems.value[1].disabled = false; 494 qualityEvaluateFormItems.value[1].disabled = false;
494 } 495 }
495 } else if (type == 'reject') { 496 } else if (type == 'reject') {
496 rejectDialogInfo.value.visible = true; 497 rejectDialogInfo.value.visible = true;
...@@ -1593,7 +1594,9 @@ const handleClickDamCatalogDetail = () => { ...@@ -1593,7 +1594,9 @@ const handleClickDamCatalogDetail = () => {
1593 </ContentWrap> 1594 </ContentWrap>
1594 <ContentWrap id="id-approveInfo" title="审批信息" expandSwicth style="margin-top: 15px" 1595 <ContentWrap id="id-approveInfo" title="审批信息" expandSwicth style="margin-top: 15px"
1595 :isExpand="approveInfoExpand" @expand="(v) => approveInfoExpand = v"> 1596 :isExpand="approveInfoExpand" @expand="(v) => approveInfoExpand = v">
1596 <Table :tableInfo="approveTableInfo" /> 1597 <!-- <Table :tableInfo="approveTableInfo" /> -->
1598 <ApprovalProcess v-if="deploymentId" :deploymentId="deploymentId" :definitionId="''">
1599 </ApprovalProcess>
1597 </ContentWrap> 1600 </ContentWrap>
1598 <ContentWrap id="id-certificate" v-if="tabsInfo.tabs.find(t => t.name == 'certificate')" title="证件信息" 1601 <ContentWrap id="id-certificate" v-if="tabsInfo.tabs.find(t => t.name == 'certificate')" title="证件信息"
1599 expandSwicth style="margin-top: 15px" :isExpand="certificateExpand" @expand="(v) => certificateExpand = v"> 1602 expandSwicth style="margin-top: 15px" :isExpand="certificateExpand" @expand="(v) => certificateExpand = v">
...@@ -2065,4 +2068,4 @@ const handleClickDamCatalogDetail = () => { ...@@ -2065,4 +2068,4 @@ const handleClickDamCatalogDetail = () => {
2065 } 2068 }
2066 } 2069 }
2067 } 2070 }
2068 </style>
...\ No newline at end of file ...\ No newline at end of file
2071 </style>
......
...@@ -20,7 +20,8 @@ import { ...@@ -20,7 +20,8 @@ import {
20 registerApproveReSubmit, 20 registerApproveReSubmit,
21 registerApproveAllow, 21 registerApproveAllow,
22 registerApproveBackup, 22 registerApproveBackup,
23 getRegisterTenant 23 getRegisterTenant,
24 getExchangeList
24 } from "@/api/modules/dataAsset"; 25 } from "@/api/modules/dataAsset";
25 import useDataAssetStore from "@/store/modules/dataAsset"; 26 import useDataAssetStore from "@/store/modules/dataAsset";
26 import useUserStore from "@/store/modules/user"; 27 import useUserStore from "@/store/modules/user";
...@@ -37,11 +38,8 @@ const path = route.path; ...@@ -37,11 +38,8 @@ const path = route.path;
37 38
38 const loading = ref(false); 39 const loading = ref(false);
39 const defaultItemLogo = new URL('@/assets/images/home-finance-product.png', import.meta.url).href 40 const defaultItemLogo = new URL('@/assets/images/home-finance-product.png', import.meta.url).href
40 const demandListData: any = ref([ 41 const exchangeList: any = ref([]);
41 { companyName: '北数所', listedNum: 16, processNum: 1235 }, 42 const exchangGuid = ref('');
42 { companyName: '深数所', listedNum: 16, processNum: 1235 },
43 { companyName: '苏数所', listedNum: 16, processNum: 1235 },
44 ]);
45 const searchItemList = ref([ 43 const searchItemList = ref([
46 { 44 {
47 type: "input", 45 type: "input",
...@@ -51,21 +49,21 @@ const searchItemList = ref([ ...@@ -51,21 +49,21 @@ const searchItemList = ref([
51 placeholder: "资产名称", 49 placeholder: "资产名称",
52 clearable: true, 50 clearable: true,
53 }, 51 },
54 { 52 // {
55 type: "select", 53 // type: "select",
56 label: "", 54 // label: "",
57 field: "tenantGuid", 55 // field: "tenantGuid",
58 default: "", 56 // default: "",
59 placeholder: "企业名称", 57 // placeholder: "企业名称",
60 clearable: true, 58 // clearable: true,
61 filterable: true, 59 // filterable: true,
62 options: [], 60 // options: [],
63 props: { 61 // props: {
64 value: 'guid', 62 // value: 'guid',
65 label: 'tenantName' 63 // label: 'tenantName'
66 }, 64 // },
67 visible: false, 65 // visible: false,
68 }, 66 // },
69 { 67 {
70 type: 'select', 68 type: 'select',
71 label: '', 69 label: '',
...@@ -118,7 +116,7 @@ const isCompanyPlatform = ref(userData.tenantType == 1); ...@@ -118,7 +116,7 @@ const isCompanyPlatform = ref(userData.tenantType == 1);
118 116
119 const listDataLoading = ref(false); 117 const listDataLoading = ref(false);
120 118
121 const activeListType = ref('card'); 119 const activeListType = ref('list');
122 120
123 const listData: any = ref([]); 121 const listData: any = ref([]);
124 122
...@@ -144,9 +142,11 @@ const tableInfo = ref({ ...@@ -144,9 +142,11 @@ const tableInfo = ref({
144 }); 142 });
145 143
146 const getTableBtns = (row, includeDetail = true) => { 144 const getTableBtns = (row, includeDetail = true) => {
145 console.log(userData)
147 let btnsArr: any[] = []; 146 let btnsArr: any[] = [];
148 if (row.approveState == 'N') {//只有草稿中的详情是可以编辑的 147 if (row.approveState == 'N') {//只有草稿中的详情是可以编辑的
149 includeDetail && btnsArr.push({ label: "详情", value: "path_detail" }) 148 includeDetail && btnsArr.push({ label: "详情", value: "path_detail" })
149 includeDetail && btnsArr.push({ label: "编辑", value: "edit" })
150 if (row.tenantGuid == userData.tenantGuid) { 150 if (row.tenantGuid == userData.tenantGuid) {
151 btnsArr.push({ label: "删除", value: "delete" }); 151 btnsArr.push({ label: "删除", value: "delete" });
152 } 152 }
...@@ -162,7 +162,7 @@ const getTableBtns = (row, includeDetail = true) => { ...@@ -162,7 +162,7 @@ const getTableBtns = (row, includeDetail = true) => {
162 } else if (row.approveState == 'Y') {//已通过的不能删除。 162 } else if (row.approveState == 'Y') {//已通过的不能删除。
163 includeDetail && btnsArr.push({ label: "详情", value: "path_detail" }) 163 includeDetail && btnsArr.push({ label: "详情", value: "path_detail" })
164 } else if (row.approveState == 'R' || row.approveState == 'C') {//已驳回或已撤销 164 } else if (row.approveState == 'R' || row.approveState == 'C') {//已驳回或已撤销
165 includeDetail && btnsArr.push({ label: "详情", value: "path_detail" }); 165 includeDetail && btnsArr.push({ label: "编辑", value: "edit" });
166 if (row.tenantGuid == userData.tenantGuid) { 166 if (row.tenantGuid == userData.tenantGuid) {
167 btnsArr.push({ label: "重新提交", value: "edit", disabled: false }) 167 btnsArr.push({ label: "重新提交", value: "edit", disabled: false })
168 } 168 }
...@@ -176,6 +176,18 @@ const getTableBtns = (row, includeDetail = true) => { ...@@ -176,6 +176,18 @@ const getTableBtns = (row, includeDetail = true) => {
176 const currTableData: any = ref({}); 176 const currTableData: any = ref({});
177 177
178 const btnClick = (btn) => { 178 const btnClick = (btn) => {
179 const type = btn.value;
180 if (type == 'create') {
181 router.push({
182 name: 'registerStart',
183 query: { exchangeGuid: btn.exchangeGuid, type }
184 });
185 } else if (type == 'search') {
186 exchangGuid.value = btn.exchangeGuid;
187 pageInfo.value.curr = 1;
188 pageInfo.value.limit = 50;
189 getTableData();
190 }
179 } 191 }
180 192
181 const tableBtnClick = (scope, btn) => { 193 const tableBtnClick = (scope, btn) => {
...@@ -185,7 +197,7 @@ const tableBtnClick = (scope, btn) => { ...@@ -185,7 +197,7 @@ const tableBtnClick = (scope, btn) => {
185 if (type === "edit") { //草稿中\已驳回\已撤销\已通过 状态,才可以编辑。 197 if (type === "edit") { //草稿中\已驳回\已撤销\已通过 状态,才可以编辑。
186 router.push({ 198 router.push({
187 name: 'registerStart', 199 name: 'registerStart',
188 query: { guid: row.guid } 200 query: { guid: row.guid, damGuid: row.damGuid, name: row.daName, type }
189 }); 201 });
190 } else if (type == "delete") { 202 } else if (type == "delete") {
191 delTableOpen("此操作将永久删除该资产登记,是否继续?", "warning"); 203 delTableOpen("此操作将永久删除该资产登记,是否继续?", "warning");
...@@ -220,17 +232,21 @@ const tableBtnClick = (scope, btn) => { ...@@ -220,17 +232,21 @@ const tableBtnClick = (scope, btn) => {
220 }); 232 });
221 }); 233 });
222 } else if (type === 'path_detail') { // 详情, 若是草稿中,详情就是编辑, 234 } else if (type === 'path_detail') { // 详情, 若是草稿中,详情就是编辑,
223 if (row.approveState === 'N') { 235 // if (row.approveState === 'N') {
224 router.push({ 236 // router.push({
225 name: 'registerStart', 237 // name: 'registerStart',
226 query: { guid: row.guid } 238 // query: { guid: row.guid, name: row.daName, type: 'detail' }
227 }); 239 // });
228 } else { 240 // } else {
229 router.push({ 241 // router.push({
230 name: 'registerInfoDetail', 242 // name: 'registerInfoDetail',
231 query: { guid: row.guid, type: 'asset', daTenantGuid: row.tenantGuid } 243 // query: { guid: row.guid, type: 'asset', daTenantGuid: row.tenantGuid }
232 }); 244 // });
233 } 245 // }
246 router.push({
247 name: 'registerInfoDetail',
248 query: { guid: row.guid, name: row.daName, type: 'asset' }
249 });
234 } else if (type === 'pass') { 250 } else if (type === 'pass') {
235 passDialogInfo.value.visible = true; 251 passDialogInfo.value.visible = true;
236 } else if (type == 'backup') { 252 } else if (type == 'backup') {
...@@ -291,7 +307,8 @@ const getTableData = () => { ...@@ -291,7 +307,8 @@ const getTableData = () => {
291 pageIndex: pageInfo.value.curr, 307 pageIndex: pageInfo.value.curr,
292 daName: pageInfo.value.daName, 308 daName: pageInfo.value.daName,
293 approveState: pageInfo.value.approveState, 309 approveState: pageInfo.value.approveState,
294 tenantGuid: pageInfo.value.tenantGuid 310 tenantGuid: pageInfo.value.tenantGuid,
311 exchangGuid: exchangGuid.value
295 }).then((res: any) => { 312 }).then((res: any) => {
296 listDataLoading.value = false; 313 listDataLoading.value = false;
297 tableInfo.value.loading = false; 314 tableInfo.value.loading = false;
...@@ -307,13 +324,24 @@ const getTableData = () => { ...@@ -307,13 +324,24 @@ const getTableData = () => {
307 }) 324 })
308 } 325 }
309 326
327 const getExchangeData = () => {
328 getExchangeList().then((res: any) => {
329 if (res.code == proxy.$passCode) {
330 exchangeList.value = res.data || [];
331 } else {
332 ElMessage.error(res.msg);
333 }
334 })
335 }
336
310 const toSearch = (val: any, clear: boolean = false) => { 337 const toSearch = (val: any, clear: boolean = false) => {
311 pageInfo.value.curr = 1; 338 pageInfo.value.curr = 1;
312 if (clear) { 339 if (clear) {
313 searchItemList.value.map((item) => (item.default = "")); 340 searchItemList.value.map((item) => item.default = "");
314 pageInfo.value.daName = ''; 341 pageInfo.value.daName = '';
315 pageInfo.value.approveState = ""; 342 pageInfo.value.approveState = "";
316 pageInfo.value.tenantGuid = ""; 343 pageInfo.value.tenantGuid = "";
344 val && (exchangGuid.value = '');
317 } else { 345 } else {
318 pageInfo.value.daName = val.daName; 346 pageInfo.value.daName = val.daName;
319 pageInfo.value.approveState = val.approveState; 347 pageInfo.value.approveState = val.approveState;
...@@ -332,34 +360,30 @@ onActivated(() => { ...@@ -332,34 +360,30 @@ onActivated(() => {
332 if (assetStore.isRefresh) {//如果是首次加载,则不需要调用 360 if (assetStore.isRefresh) {//如果是首次加载,则不需要调用
333 pageInfo.value.curr = 1; 361 pageInfo.value.curr = 1;
334 getTableData(); 362 getTableData();
363 getExchangeData();
335 assetStore.set(false); 364 assetStore.set(false);
336 } 365 }
337 }) 366 })
338 367
339 onBeforeMount(() => { 368 onBeforeMount(() => {
340 if (isCompanyPlatform.value) { 369 // if (isCompanyPlatform.value) {
341 tableInfo.value.fields = tableFields.value; 370 // tableInfo.value.fields = tableFields.value;
342 searchItemList.value[1].visible = false; 371 // searchItemList.value[1].visible = false;
343 } else { 372 // } else {
344 tableFields.value.splice(2, 0, { label: "企业名称", field: "tenantName", width: 240, align: "left" }); 373 // tableFields.value.splice(2, 0, { label: "企业名称", field: "tenantName", width: 240, align: "left" });
345 tableInfo.value.fields = tableFields.value; 374 // tableInfo.value.fields = tableFields.value;
346 searchItemList.value[1].visible = true; 375 // searchItemList.value[1].visible = true;
347 getRegisterTenant().then((res: any) => { 376 // getRegisterTenant().then((res: any) => {
348 if (res.code == proxy.$passCode) { 377 // if (res.code == proxy.$passCode) {
349 searchItemList.value[1].options = res.data || []; 378 // searchItemList.value[1].options = res.data || [];
350 } else { 379 // } else {
351 ElMessage.error(res.msg); 380 // ElMessage.error(res.msg);
352 } 381 // }
353 }); 382 // });
354 } 383 // }
384 getExchangeData();
355 }) 385 })
356 386
357 const handleCreate = () => {
358 router.push({
359 name: 'registerStart'
360 });
361 }
362
363 const passDialogInfo = ref({ 387 const passDialogInfo = ref({
364 visible: false, 388 visible: false,
365 size: 460, 389 size: 460,
...@@ -498,50 +522,35 @@ const createBtnVisible = computed(() => { ...@@ -498,50 +522,35 @@ const createBtnVisible = computed(() => {
498 522
499 <template> 523 <template>
500 <div class="container_wrap" v-loading="loading"> 524 <div class="container_wrap" v-loading="loading">
501 <div class="list-content"> 525 <div class="table_tool_wrap">
502 <div class="card-content" v-for="item in demandListData" :key="item.guid"> 526 <TableTools :searchItems="searchItemList" :searchId="'register-data-search'" @search="toSearch" />
503 <div class="header">
504 <img class="left-img" :src="(item.picUrl && typeof item.picUrl == 'string') ? item.picUrl : defaultItemLogo"
505 alt="" />
506 <div class="right-main">
507 <div class="title">{{ item.companyName ?? '--' }}</div>
508 <div class="count-group">
509 <div class="count-item">
510 <div class="item-label">已上架产品数</div>
511 <div class="item-num">{{ changeNum(item.listedNum) }}</div>
512 </div>
513 <div class="count-item">
514 <div class="item-label">审批中产品数</div>
515 <div class="item-num">{{ changeNum(item.processNum) }}</div>
516 </div>
517 </div>
518 </div>
519 </div>
520 <div class="operator-btn">
521 <div class="left-btn borderRight" @click="btnClick(item)">更新模板</div>
522 <div class="left-btn" @click="btnClick(item)">资产登记</div>
523 </div>
524 </div>
525 </div> 527 </div>
526 <div class="content_main_wrap"> 528 <div class="content_main_wrap">
527 <div class="table_tool_wrap"> 529 <div class="list-content">
528 <TableTools :searchItems="searchItemList" :searchId="'register-data-search'" @search="toSearch" /> 530 <div class="card-content" :class="{ active: exchangGuid == item.exchangeGuid }" v-for="item in exchangeList"
529 <div class="tools_btns"> 531 :key="item.exchangeGuid">
530 <el-button type="primary" @click="handleCreate" v-if="createBtnVisible" v-preReClick>新建</el-button> 532 <div class="header">
531 <div class="view-change"> 533 <img class="left-img" :src="(item.picUrl && typeof item.picUrl == 'string') ? item.picUrl : defaultItemLogo"
532 <div class="list-btn" :class="[activeListType === 'list' ? 'active' : '']" @click="activeListType = 'list'"> 534 alt="" />
533 <el-icon style="width: 12px;height: 12px;"> 535 <div class="right-main">
534 <svg-icon style="width: 12px;height: 12px;" 536 <div class="title" :class="{ active: exchangGuid == item.exchangeGuid }"
535 :name="activeListType === 'list' ? 'btn-list-white' : 'btn-list'" /> 537 @click="btnClick({ value: 'search', ...item })" v-preReClick>{{ item.exchangeName ?? '--' }}</div>
536 </el-icon> 538 <div class="count-group">
537 </div> 539 <div class="count-item">
538 <div class="card-btn" :class="[activeListType === 'card' ? 'active' : '']" @click="activeListType = 'card'"> 540 <div class="item-label">已上架产品数</div>
539 <el-icon style="width: 12px;height: 12px;"> 541 <div class="item-num">{{ changeNum(item.listingNum || 0) }}</div>
540 <svg-icon style="width: 12px;height: 12px;" 542 </div>
541 :name="activeListType === 'card' ? 'btn-card-white' : 'btn-card'" /> 543 <div class="count-item">
542 </el-icon> 544 <div class="item-label">审批中产品数</div>
545 <div class="item-num">{{ changeNum(item.underReviewNum || 0) }}</div>
546 </div>
547 </div>
543 </div> 548 </div>
544 </div> 549 </div>
550 <div class="operator-btn">
551 <!-- <div class="left-btn borderRight" @click="btnClick(item)">更新模板</div> -->
552 <div class="left-btn is_block" @click="btnClick({ value: 'create', ...item })">资产登记</div>
553 </div>
545 </div> 554 </div>
546 </div> 555 </div>
547 <div class="table_panel_wrap" :style="{ height: createBtnVisible ? 'calc(100% - 89px)' : 'calc(100% - 40px)' }"> 556 <div class="table_panel_wrap" :style="{ height: createBtnVisible ? 'calc(100% - 89px)' : 'calc(100% - 40px)' }">
...@@ -554,7 +563,7 @@ const createBtnVisible = computed(() => { ...@@ -554,7 +563,7 @@ const createBtnVisible = computed(() => {
554 </div> 563 </div>
555 <el-tag :type="(tagType(item, 'approveState') as any)">{{ 564 <el-tag :type="(tagType(item, 'approveState') as any)">{{
556 tagMethod(item, 'approveState') 565 tagMethod(item, 'approveState')
557 }}</el-tag> 566 }}</el-tag>
558 </div> 567 </div>
559 <div v-if="!isCompanyPlatform" class="desc">{{ item.tenantName ?? '深圳传世般若有限公司' }}</div> 568 <div v-if="!isCompanyPlatform" class="desc">{{ item.tenantName ?? '深圳传世般若有限公司' }}</div>
560 <div class="desc">{{ item.updateTime }}</div> 569 <div class="desc">{{ item.updateTime }}</div>
...@@ -599,13 +608,23 @@ const createBtnVisible = computed(() => { ...@@ -599,13 +608,23 @@ const createBtnVisible = computed(() => {
599 608
600 <style scoped lang="scss"> 609 <style scoped lang="scss">
601 .container_wrap { 610 .container_wrap {
602 padding: 16px 16px 0; 611 padding: 0 16px;
603 display: flex; 612
604 flex-direction: column; 613 .table_tool_wrap {
614 height: 44px;
615 margin-bottom: 4px;
616 }
617
618 .table_panel_wrap {
619 flex: 1;
620 }
605 } 621 }
606 622
607 .content_main_wrap { 623 .content_main_wrap {
608 flex: 1; 624 display: flex;
625 flex-direction: column;
626 height: calc(100% - 48px);
627
609 } 628 }
610 629
611 .table_panel { 630 .table_panel {
...@@ -752,6 +771,10 @@ const createBtnVisible = computed(() => { ...@@ -752,6 +771,10 @@ const createBtnVisible = computed(() => {
752 padding: 16px; 771 padding: 16px;
753 box-shadow: 0 0 0 1px #d9d9d9; 772 box-shadow: 0 0 0 1px #d9d9d9;
754 773
774 &.active {
775 box-shadow: 0 0 0 1px var(--el-color-primary);
776 }
777
755 .header { 778 .header {
756 display: flex; 779 display: flex;
757 margin-bottom: 16px; 780 margin-bottom: 16px;
...@@ -766,6 +789,12 @@ const createBtnVisible = computed(() => { ...@@ -766,6 +789,12 @@ const createBtnVisible = computed(() => {
766 color: #212121; 789 color: #212121;
767 font-weight: 600; 790 font-weight: 600;
768 margin-bottom: 8px; 791 margin-bottom: 8px;
792 cursor: pointer;
793
794 &:hover,
795 &.active {
796 color: var(--el-color-primary);
797 }
769 } 798 }
770 799
771 .right-main { 800 .right-main {
...@@ -792,29 +821,35 @@ const createBtnVisible = computed(() => { ...@@ -792,29 +821,35 @@ const createBtnVisible = computed(() => {
792 display: flex; 821 display: flex;
793 justify-content: space-between; 822 justify-content: space-between;
794 align-items: center; 823 align-items: center;
795 box-shadow: 0 0 0 1px #d9d9d9; 824 box-shadow: 0 0 0 1px #4fa1a4;
796 position: relative; 825 position: relative;
797 826
798 &::after { 827 // &::after {
799 content: ''; 828 // content: '';
800 width: 0; 829 // width: 0;
801 height: 100%; 830 // height: 100%;
802 border-left: 1px solid #d9d9d9; 831 // border-left: 1px solid #d9d9d9;
803 position: absolute; 832 // position: absolute;
804 left: 50%; 833 // left: 50%;
805 transform: translateX(-50%); 834 // transform: translateX(-50%);
806 } 835 // }
807 836
808 >.left-btn { 837 >.left-btn {
809 width: 50%; 838 width: 50%;
810 height: 40px; 839 height: 40px;
811 line-height: 40px; 840 line-height: 40px;
812 text-align: center; 841 text-align: center;
842 background: #4fa1a4;
843 color: #fff;
813 cursor: pointer; 844 cursor: pointer;
814 845
815 &:hover { 846 &.is_block {
816 color: #4fa1a4; 847 width: 100%;
817 } 848 }
849
850 // &:hover {
851 // color: #4fa1a4;
852 // }
818 } 853 }
819 } 854 }
820 } 855 }
......
...@@ -13,12 +13,12 @@ import { ...@@ -13,12 +13,12 @@ import {
13 getAreaData, 13 getAreaData,
14 getTenantDetailInfo, 14 getTenantDetailInfo,
15 getServiceTenants, 15 getServiceTenants,
16 getTenantAttach 16 getTenantAttach,
17 getSingleList
17 } from "@/api/modules/queryService"; 18 } from "@/api/modules/queryService";
18 import { ElMessage, ElMessageBox } from "element-plus"; 19 import { ElMessage, ElMessageBox } from "element-plus";
19 import { 20 import {
20 getSubjectDoaminList, 21 getParamsList,
21 getDamTypesList,
22 registerSave, 22 registerSave,
23 registerUpdate, 23 registerUpdate,
24 getRegiaterDetail, 24 getRegiaterDetail,
...@@ -27,6 +27,7 @@ import { ...@@ -27,6 +27,7 @@ import {
27 getServiceDetail, 27 getServiceDetail,
28 getRegisterCatalogList 28 getRegisterCatalogList
29 } from '@/api/modules/dataAsset'; 29 } from '@/api/modules/dataAsset';
30 import { getCamundaDeploymentId } from "@/api/modules/workFlowService"
30 import useDataAssetStore from "@/store/modules/dataAsset"; 31 import useDataAssetStore from "@/store/modules/dataAsset";
31 import { useValidator } from '@/hooks/useValidator'; 32 import { useValidator } from '@/hooks/useValidator';
32 33
...@@ -50,6 +51,8 @@ const editType = route.query.type; ...@@ -50,6 +51,8 @@ const editType = route.query.type;
50 const registerCatalogList: any = ref([]); 51 const registerCatalogList: any = ref([]);
51 const damTypes: any = ref([]); 52 const damTypes: any = ref([]);
52 const subjectDomainListData: any = ref([]); 53 const subjectDomainListData: any = ref([]);
54 const qualityEvaluationData: any = ref([]);
55 const costAssessmentData: any = ref([]);
53 56
54 const getParentAreaPromise: any = ref(null); 57 const getParentAreaPromise: any = ref(null);
55 const getAreaDataPromise: any = ref({}); 58 const getAreaDataPromise: any = ref({});
...@@ -154,8 +157,22 @@ const getArea = (node, resolve) => { ...@@ -154,8 +157,22 @@ const getArea = (node, resolve) => {
154 } 157 }
155 } 158 }
156 159
157 const serviceTenants: any = ref([]); 160 const serviceTenants: any = ref([
158 const currTenantChanged: any = ref([]); 161 {
162 "exchangeGuid": "07c11603a8bc4d8f8bee2e3a34ab4d8a",
163 "exchangeName": "测试数交所",
164 "listingNum": 0,
165 "underReviewNum": 0
166 }
167 ]);
168 const currTenantChanged: any = ref([
169 {
170 "exchangeGuid": "07c11603a8bc4d8f8bee2e3a34ab4d8a",
171 "exchangeName": "测试数交所",
172 "listingNum": 0,
173 "underReviewNum": 0
174 }
175 ]);
159 176
160 const tenantDetail: any = ref({}); 177 const tenantDetail: any = ref({});
161 178
...@@ -193,8 +210,7 @@ const setBaseFormItemsValue = (info) => { ...@@ -193,8 +210,7 @@ const setBaseFormItemsValue = (info) => {
193 item.default = info.coverageArea; 210 item.default = info.coverageArea;
194 item.children[0].default = info.coverageAreas; 211 item.children[0].default = info.coverageAreas;
195 item.children[0].visible = info.coverageArea != 'all'; 212 item.children[0].visible = info.coverageArea != 'all';
196 } 213 } else if (item.field == 'dataSensitivityLevel') {
197 else if (item.field == 'dataSensitivityLevel') {
198 item.default = info[item.field] || []; 214 item.default = info[item.field] || [];
199 item.inputOptions.default = info['dataSensitivityLevelOther']; 215 item.inputOptions.default = info['dataSensitivityLevelOther'];
200 if (info['dataSensitivityLevel']?.includes(5)) { 216 if (info['dataSensitivityLevel']?.includes(5)) {
...@@ -250,14 +266,34 @@ const setBaseFormItemsValue = (info) => { ...@@ -250,14 +266,34 @@ const setBaseFormItemsValue = (info) => {
250 } else { 266 } else {
251 item.children[1].visible = false; 267 item.children[1].visible = false;
252 } 268 }
253 } else if (item.field == 'isEvaluationAssessment') { 269 }
270 // else if (item.field == 'isEvaluationAssessment') {
271 // item.default = info[item.field];
272 // if (info['isEvaluationAssessment'] === 'Y') {
273 // uploadFormItems.value[2].visible = true;
274 // uploadFormItems.value[3].visible = true
275 // } else {
276 // uploadFormItems.value[2].visible = false;
277 // uploadFormItems.value[3].visible = false
278 // }
279 // }
280 else if (item.field == 'isQualityAssessment') {
254 item.default = info[item.field]; 281 item.default = info[item.field];
255 if (info['isEvaluationAssessment'] === 'Y') { 282 if (info['isQualityAssessment'] === 'Y') {
256 uploadFormItems.value[2].visible = true; 283 uploadFormItems.value[2].visible = true;
257 uploadFormItems.value[3].visible = true 284 uploadFormItems.value[3].visible = true;
258 } else { 285 } else {
259 uploadFormItems.value[2].visible = false; 286 uploadFormItems.value[2].visible = false;
260 uploadFormItems.value[3].visible = false 287 uploadFormItems.value[3].visible = false;
288 }
289 } else if (item.field == 'isCostAssessment') {
290 item.default = info[item.field];
291 if (info['isCostAssessment'] === 'Y') {
292 uploadFormItems.value[4].visible = true;
293 uploadFormItems.value[5].visible = true;
294 } else {
295 uploadFormItems.value[4].visible = false;
296 uploadFormItems.value[5].visible = false;
261 } 297 }
262 } else { 298 } else {
263 item.default = info[item.field]; 299 item.default = info[item.field];
...@@ -271,8 +307,7 @@ const setUploadFormItemsValue = (info) => { ...@@ -271,8 +307,7 @@ const setUploadFormItemsValue = (info) => {
271 if (item.field == 'registerLetter') { 307 if (item.field == 'registerLetter') {
272 item.default = attach.registerLetter || []; 308 item.default = attach.registerLetter || [];
273 item.templateUrl = attachDataInfo.value.register_letter; 309 item.templateUrl = attachDataInfo.value.register_letter;
274 } 310 } else if (item.field == 'qualityEvaluationFile') {
275 else if (item.field == 'qualityEvaluationFile') {
276 item.default = attach.qualityEvaluationFile || []; 311 item.default = attach.qualityEvaluationFile || [];
277 item.templateUrl = attachDataInfo.value.quality_evaluation_file; 312 item.templateUrl = attachDataInfo.value.quality_evaluation_file;
278 } else if (item.field == 'costAssessmentFile') { 313 } else if (item.field == 'costAssessmentFile') {
...@@ -281,6 +316,10 @@ const setUploadFormItemsValue = (info) => { ...@@ -281,6 +316,10 @@ const setUploadFormItemsValue = (info) => {
281 } else if (item.field === 'commitmentLetter') { 316 } else if (item.field === 'commitmentLetter') {
282 item.default = attach.commitmentLetter || []; 317 item.default = attach.commitmentLetter || [];
283 item.templateUrl = attachDataInfo.value['commitment-letter']; 318 item.templateUrl = attachDataInfo.value['commitment-letter'];
319 } else if (item.field === 'costAssessmentInstitution') {
320 item.default = attach.costAssessmentInstitution || '';
321 } else if (item.field === 'qualityEvaluationInstitution') {
322 item.default = attach.qualityEvaluationInstitution || '';
284 } 323 }
285 }); 324 });
286 } 325 }
...@@ -324,18 +363,18 @@ const getRegisterCatalogListData = () => { ...@@ -324,18 +363,18 @@ const getRegisterCatalogListData = () => {
324 if (res.code == proxy.$passCode) { 363 if (res.code == proxy.$passCode) {
325 baseFormItems.value[0].options = registerCatalogList.value = res.data || [] 364 baseFormItems.value[0].options = registerCatalogList.value = res.data || []
326 let dataScaleItem = baseFormItems.value.find(item => item.field == 'dataScale'); 365 let dataScaleItem = baseFormItems.value.find(item => item.field == 'dataScale');
327 if (draftDetailInfo.value.damGuid) { 366 if (draftDetailInfo.value.damGuid) {
328 let da = registerCatalogList.value.find(r => r.guid == draftDetailInfo.value.damGuid); 367 let da = registerCatalogList.value.find(r => r.guid == draftDetailInfo.value.damGuid);
329 if (da && da.dataCount != null) { 368 if (da && da.dataCount != null) {
330 dataScaleItem.disabled = true; 369 dataScaleItem.disabled = true;
331 if ( draftDetailInfo.value.dataScale == null) { 370 if (draftDetailInfo.value.dataScale == null) {
332 draftDetailInfo.value.dataScale = da.dataCount; 371 draftDetailInfo.value.dataScale = da.dataCount;
333 setBaseFormItemsValue(draftDetailInfo.value); 372 setBaseFormItemsValue(draftDetailInfo.value);
334 }
335 } else {
336 dataScaleItem.disabled = false;
337 } 373 }
374 } else {
375 dataScaleItem.disabled = false;
338 } 376 }
377 }
339 } else { 378 } else {
340 ElMessage.error(res.msg); 379 ElMessage.error(res.msg);
341 } 380 }
...@@ -348,12 +387,15 @@ onActivated(() => { ...@@ -348,12 +387,15 @@ onActivated(() => {
348 387
349 onBeforeMount(() => { 388 onBeforeMount(() => {
350 if (guid) { 389 if (guid) {
390 baseFormItems.value[7].default = guid;
351 fullscreenLoading.value = true; 391 fullscreenLoading.value = true;
352 getRegiaterDetail({ guid: guid }).then((res: any) => { 392 getRegiaterDetail({ guid: guid }).then((res: any) => {
353 fullscreenLoading.value = false; 393 fullscreenLoading.value = false;
354 if (res.code == proxy.$passCode) { 394 if (res.code == proxy.$passCode) {
355 const data = res.data || {} 395 const data = res.data || {}
356 draftDetailInfo.value = data; 396 draftDetailInfo.value = data;
397 deploymentId.value = data.camundaDeploymentId;
398 processInstanceId.value = data.camundaInstanceId
357 let coverageArea = ''; 399 let coverageArea = '';
358 let coverageAreas = []; 400 let coverageAreas = [];
359 let damTypeItem = baseFormItems.value.find(item => item.field == 'damType'); 401 let damTypeItem = baseFormItems.value.find(item => item.field == 'damType');
...@@ -401,17 +443,18 @@ onBeforeMount(() => { ...@@ -401,17 +443,18 @@ onBeforeMount(() => {
401 }); 443 });
402 } 444 }
403 if (data.exchangeGuid) { 445 if (data.exchangeGuid) {
404 getTenantAttach(data.exchangeGuid).then((res: any) => { 446 // getTenantAttach(data.exchangeGuid).then((res: any) => {
405 if (res?.code == proxy.$passCode) { 447 // if (res?.code == proxy.$passCode) {
406 Object.assign(attachDataInfo.value, res.data || {}); 448 // Object.assign(attachDataInfo.value, res.data || {});
407 uploadFormItems.value[0].templateUrl = attachDataInfo.value.register_letter; 449 // uploadFormItems.value[0].templateUrl = attachDataInfo.value.register_letter;
408 uploadFormItems.value[1].templateUrl = attachDataInfo.value['commitment-letter']; 450 // uploadFormItems.value[1].templateUrl = attachDataInfo.value['commitment-letter'];
409 setUploadFormItemsValue(draftDetailInfo.value); 451 // setUploadFormItemsValue(draftDetailInfo.value);
410 } else { 452 // } else {
411 ElMessage.error(res.msg); 453 // ElMessage.error(res.msg);
412 setUploadFormItemsValue(draftDetailInfo.value); 454 // setUploadFormItemsValue(draftDetailInfo.value);
413 } 455 // }
414 }) 456 // })
457 setUploadFormItemsValue(draftDetailInfo.value);
415 } else { 458 } else {
416 setUploadFormItemsValue(draftDetailInfo.value); 459 setUploadFormItemsValue(draftDetailInfo.value);
417 } 460 }
...@@ -435,13 +478,13 @@ onBeforeMount(() => { ...@@ -435,13 +478,13 @@ onBeforeMount(() => {
435 } else { 478 } else {
436 setPropertyFormItemsValue(draftDetailInfo.value); 479 setPropertyFormItemsValue(draftDetailInfo.value);
437 } 480 }
438 if (fullPath === route.fullPath) { 481 // if (fullPath === route.fullPath) {
439 document.title = editType ? `详情-${data.daName}` : `编辑-${data.daName}`; 482 // document.title = editType ? `详情-${data.daName}` : `编辑-${data.daName}`;
440 } 483 // }
441 let tab: any = userStore.tabbar.find((tab: any) => tab.fullPath === fullPath); 484 // let tab: any = userStore.tabbar.find((tab: any) => tab.fullPath === fullPath);
442 if (tab) { 485 // if (tab) {
443 tab.meta.title = editType ? `详情-${data.daName}` : `编辑-${data.daName}`; 486 // tab.meta.title = editType ? `详情-${data.daName}` : `编辑-${data.daName}`;
444 } 487 // }
445 if (data.approveGuid != null) { 488 if (data.approveGuid != null) {
446 approveTableInfo.value.loading = true; 489 approveTableInfo.value.loading = true;
447 getApproveList(guid).then((res: any) => { 490 getApproveList(guid).then((res: any) => {
...@@ -473,59 +516,68 @@ onBeforeMount(() => { ...@@ -473,59 +516,68 @@ onBeforeMount(() => {
473 } 516 }
474 }); 517 });
475 } else { 518 } else {
476 //新建无guid的时候显示这个审批信息,有guid调用另一个接口。 519 getCamundaDeploymentId('10017').then((res: any) => {
477 getTenantApprove().then((res: any) => {
478 if (res.code == proxy.$passCode) { 520 if (res.code == proxy.$passCode) {
479 approveTableInfo.value.data = res.data?.map(d => { 521 deploymentId.value = res.data;
480 return {
481 tenantType: d.substring(4)
482 }
483 }) || [];
484 } else { 522 } else {
485 ElMessage.error(res.msg); 523 ElMessage.error(res.msg);
486 } 524 }
487 }); 525 })
526 // //新建无guid的时候显示这个审批信息,有guid调用另一个接口。
527 // getTenantApprove().then((res: any) => {
528 // if (res.code == proxy.$passCode) {
529 // approveTableInfo.value.data = res.data?.map(d => {
530 // return {
531 // tenantType: d.substring(4)
532 // }
533 // }) || [];
534 // } else {
535 // ElMessage.error(res.msg);
536 // }
537 // });
488 } 538 }
489 getTenantDetail(); 539 let exchangeItem = baseFormItems.value.find(f => f.field === 'exchangeGuid');
490 getServiceTenants({ 540 exchangeItem.default = route.query.exchangeGuid;
491 tenantType: 3 541 // getTenantDetail();
492 }).then((res: any) => { 542 // getServiceTenants({
493 if (res.code == proxy.$passCode) { 543 // tenantType: 3
494 const data = res.data ?? {}; 544 // }).then((res: any) => {
495 serviceTenants.value = data['3'] || []; 545 // if (res.code == proxy.$passCode) {
496 let item2 = baseFormItems.value.find(f => f.field === 'rules'); 546 // const data = res.data ?? {};
497 item2.children[1].options = serviceTenants.value; 547 // serviceTenants.value = data['3'] || [];
498 } else { 548 // let item2 = baseFormItems.value.find(f => f.field === 'rules');
499 ElMessage.error(res.msg); 549 // item2.children[1].options = serviceTenants.value;
500 } 550 // } else {
501 }); 551 // ElMessage.error(res.msg);
502 getServiceDetail(userData.tenantGuid).then((res: any) => { 552 // }
503 if (res.code == proxy.$passCode) { 553 // });
504 const data = res.data ?? {}; 554 // getServiceDetail(userData.tenantGuid).then((res: any) => {
505 currTenantChanged.value = data.filter(d => d.serviceType == 4); 555 // if (res.code == proxy.$passCode) {
506 let formItem = baseFormItems.value.find(f => f.field === 'exchangeGuid'); 556 // const data = res.data ?? {};
507 formItem.options = currTenantChanged.value; 557 // currTenantChanged.value = data.filter(d => d.serviceType == 4);
508 } else { 558 // let formItem = baseFormItems.value.find(f => f.field === 'exchangeGuid');
509 ElMessage.error(res.msg); 559 // formItem.options = currTenantChanged.value;
510 } 560 // } else {
511 }); 561 // ElMessage.error(res.msg);
562 // }
563 // });
512 getParentAreaPromise.value = getAreaData({ parentId: null }).then((res: any) => { 564 getParentAreaPromise.value = getAreaData({ parentId: null }).then((res: any) => {
513 if (res?.code == proxy.$passCode) { 565 if (res?.code == proxy.$passCode) {
514 parentAreaData.value = res.data ?? []; 566 parentAreaData.value = res.data ?? [];
515 return parentAreaData.value; 567 return parentAreaData.value;
516 } 568 }
517 }) 569 })
518 getTenantAttach(userData.tenantGuid).then((res: any) => { 570 // getTenantAttach(userData.tenantGuid).then((res: any) => {
519 if (res?.code == proxy.$passCode) { 571 // if (res?.code == proxy.$passCode) {
520 console.log(res.data); 572 // console.log(res.data);
521 Object.assign(attachDataInfo.value, res.data || {}); 573 // Object.assign(attachDataInfo.value, res.data || {});
522 uploadFormItems.value[2].templateUrl = attachDataInfo.value.quality_evaluation_file; 574 // uploadFormItems.value[2].templateUrl = attachDataInfo.value.quality_evaluation_file;
523 uploadFormItems.value[3].templateUrl = attachDataInfo.value.cost_assessment_file; 575 // uploadFormItems.value[3].templateUrl = attachDataInfo.value.cost_assessment_file;
524 } else { 576 // } else {
525 ElMessage.error(res.msg); 577 // ElMessage.error(res.msg);
526 } 578 // }
527 }) 579 // })
528 getDamTypesList().then((res: any) => { 580 getParamsList({ dictType: '资产类型' }).then((res: any) => {
529 if (res.code == proxy.$passCode) { 581 if (res.code == proxy.$passCode) {
530 damTypes.value = res.data || []; 582 damTypes.value = res.data || [];
531 let item = baseFormItems.value.find(item => item.field == 'damType'); 583 let item = baseFormItems.value.find(item => item.field == 'damType');
...@@ -542,7 +594,7 @@ onBeforeMount(() => { ...@@ -542,7 +594,7 @@ onBeforeMount(() => {
542 proxy.$ElMessage.error(res.msg); 594 proxy.$ElMessage.error(res.msg);
543 } 595 }
544 }) 596 })
545 getSubjectDoaminList().then((res: any) => { 597 getParamsList({ dictType: '数据资产目录主题名称' }).then((res: any) => {
546 if (res.code == proxy.$passCode) { 598 if (res.code == proxy.$passCode) {
547 subjectDomainListData.value = res.data || []; 599 subjectDomainListData.value = res.data || [];
548 let item = baseFormItems.value.find(item => item.field == 'subjectDomain'); 600 let item = baseFormItems.value.find(item => item.field == 'subjectDomain');
...@@ -551,6 +603,26 @@ onBeforeMount(() => { ...@@ -551,6 +603,26 @@ onBeforeMount(() => {
551 proxy.$ElMessage.error(res.msg); 603 proxy.$ElMessage.error(res.msg);
552 } 604 }
553 }) 605 })
606 // 获取质量评估机构
607 getSingleList({ pageIndex: -1, pageSize: -1, tenantType: "12505" }).then((res: any) => {
608 if (res.code == proxy.$passCode) {
609 qualityEvaluationData.value = res.data.records || [];
610 let item = uploadFormItems.value.find(item => item.field == 'qualityEvaluationInstitution');
611 item && (item.options = qualityEvaluationData.value);
612 } else {
613 proxy.$ElMessage.error(res.msg);
614 }
615 })
616 // 获取价值评估机构
617 getSingleList({ pageIndex: -1, pageSize: -1, tenantType: "12504" }).then((res: any) => {
618 if (res.code == proxy.$passCode) {
619 costAssessmentData.value = res.data.records || [];
620 let item = uploadFormItems.value.find(item => item.field == 'costAssessmentInstitution');
621 item && (item.options = costAssessmentData.value);
622 } else {
623 proxy.$ElMessage.error(res.msg);
624 }
625 })
554 }); 626 });
555 627
556 const tabsInfo = ref({ 628 const tabsInfo = ref({
...@@ -618,8 +690,8 @@ const baseFormItems: any = ref([ ...@@ -618,8 +690,8 @@ const baseFormItems: any = ref([
618 default: '', 690 default: '',
619 options: damTypes.value, 691 options: damTypes.value,
620 props: { 692 props: {
621 value: 'paramValue', 693 // value: 'paramValue',
622 label: 'paramName' 694 // label: 'paramName'
623 }, 695 },
624 required: true, 696 required: true,
625 visible: true 697 visible: true
...@@ -633,8 +705,9 @@ const baseFormItems: any = ref([ ...@@ -633,8 +705,9 @@ const baseFormItems: any = ref([
633 checkStrictly: false,//只能选择叶子节点。 705 checkStrictly: false,//只能选择叶子节点。
634 lazy: false, 706 lazy: false,
635 props: { 707 props: {
636 label: "paramName", 708 label: "label",
637 value: "paramValue", 709 value: "value",
710 children: 'childDictList'
638 }, 711 },
639 filterable: true, 712 filterable: true,
640 clearable: true, 713 clearable: true,
...@@ -649,14 +722,14 @@ const baseFormItems: any = ref([ ...@@ -649,14 +722,14 @@ const baseFormItems: any = ref([
649 regexp: /\D/g, 722 regexp: /\D/g,
650 default: '', 723 default: '',
651 required: true 724 required: true
652 }, { 725 }, {
653 label: "数据时间范围", 726 label: "数据时间范围",
654 type: "date-picker", 727 type: "date-picker",
655 field: "dateRange", 728 field: "dateRange",
656 default: null, 729 default: null,
657 placeholder: "开始时间~结束时间", 730 placeholder: "开始时间~结束时间",
658 clearable: true, 731 clearable: true,
659 required: true, 732 required: true,
660 }, { 733 }, {
661 label: '病例总数(例)', 734 label: '病例总数(例)',
662 type: 'input', 735 type: 'input',
...@@ -666,7 +739,7 @@ const baseFormItems: any = ref([ ...@@ -666,7 +739,7 @@ const baseFormItems: any = ref([
666 regexp: /\D/g, 739 regexp: /\D/g,
667 default: '', 740 default: '',
668 required: false 741 required: false
669 }, { 742 }, {
670 label: '数据覆盖地域', 743 label: '数据覆盖地域',
671 type: 'checkbox-select', 744 type: 'checkbox-select',
672 placeholder: '全国', 745 placeholder: '全国',
...@@ -709,13 +782,16 @@ const baseFormItems: any = ref([ ...@@ -709,13 +782,16 @@ const baseFormItems: any = ref([
709 placeholder: '请选择', 782 placeholder: '请选择',
710 field: 'exchangeGuid', 783 field: 'exchangeGuid',
711 default: '', 784 default: '',
712 // col: 'mr8', 785 // col: 'mr8',
713 options: currTenantChanged.value, 786 options: currTenantChanged.value,
714 props: { 787 props: {
715 value: 'serviceTenantGuid', 788 // value: 'serviceTenantGuid',
716 label: 'serviceTenantName' 789 // label: 'serviceTenantName'
790 value: "exchangeGuid",
791 label: "exchangeName",
717 }, 792 },
718 required: true, 793 required: true,
794 disabled: true,
719 visible: true 795 visible: true
720 }, 796 },
721 { 797 {
...@@ -751,8 +827,10 @@ const baseFormItems: any = ref([ ...@@ -751,8 +827,10 @@ const baseFormItems: any = ref([
751 default: [], 827 default: [],
752 // index: 0, 828 // index: 0,
753 props: { 829 props: {
754 value: "guid", 830 // value: "guid",
755 label: "tenantName", 831 // label: "tenantName",
832 value: "exchangeGuid",
833 label: "exchangeName",
756 }, 834 },
757 options: serviceTenants.value, 835 options: serviceTenants.value,
758 multiple: true, 836 multiple: true,
...@@ -786,24 +864,42 @@ const baseFormItems: any = ref([ ...@@ -786,24 +864,42 @@ const baseFormItems: any = ref([
786 required: true, 864 required: true,
787 }, 865 },
788 { 866 {
789 label: "是否质量及价值评估", 867 label: "是否完成质量评估",
790 type: "radio-group", 868 type: "radio-group",
791 placeholder: "", 869 placeholder: "",
792 field: "isEvaluationAssessment", 870 field: "isQualityAssessment",
793 default: 'N', 871 default: 'N',
794 col: 'no-margin-r',
795 options: [ 872 options: [
796 { 873 {
797 label: "是", 874 label: "是",
798 value: "Y", 875 value: 'Y',
799 }, 876 },
800 { 877 {
801 label: "否", 878 label: "否",
802 value: "N", 879 value: 'N',
803 } 880 },
804 ], 881 ],
805 required: true, 882 required: true,
806 }, { 883 },
884 {
885 label: "是否完成价值评估",
886 type: "radio-group",
887 placeholder: "",
888 field: "isCostAssessment",
889 default: 'N',
890 options: [
891 {
892 label: "是",
893 value: 'Y',
894 },
895 {
896 label: "否",
897 value: 'N',
898 },
899 ],
900 required: true,
901 },
902 {
807 label: "数据分类", 903 label: "数据分类",
808 type: "radio-group", 904 type: "radio-group",
809 placeholder: "", 905 placeholder: "",
...@@ -906,7 +1002,7 @@ const baseFormItems: any = ref([ ...@@ -906,7 +1002,7 @@ const baseFormItems: any = ref([
906 block: true, 1002 block: true,
907 field: "dataSensitivityLevel", 1003 field: "dataSensitivityLevel",
908 col: 'other-group-flex', 1004 col: 'other-group-flex',
909 default: [], 1005 default: [1],
910 children: [ 1006 children: [
911 { 1007 {
912 label: "公开数据", 1008 label: "公开数据",
...@@ -992,7 +1088,7 @@ const baseFormItems: any = ref([ ...@@ -992,7 +1088,7 @@ const baseFormItems: any = ref([
992 type: "checkbox-group-row", 1088 type: "checkbox-group-row",
993 placeholder: "", 1089 placeholder: "",
994 field: "dataGetWay", 1090 field: "dataGetWay",
995 default: [], 1091 default: [1],
996 col: 'other-group-flex', 1092 col: 'other-group-flex',
997 block: true, 1093 block: true,
998 children: [ 1094 children: [
...@@ -1044,7 +1140,7 @@ const baseFormItems: any = ref([ ...@@ -1044,7 +1140,7 @@ const baseFormItems: any = ref([
1044 type: "checkbox-group-row", 1140 type: "checkbox-group-row",
1045 placeholder: "", 1141 placeholder: "",
1046 field: "updateFrequency", 1142 field: "updateFrequency",
1047 default: [], 1143 default: [3],
1048 block: true, 1144 block: true,
1049 col: 'other-group-flex', 1145 col: 'other-group-flex',
1050 children: [ 1146 children: [
...@@ -1094,7 +1190,7 @@ const baseFormItems: any = ref([ ...@@ -1094,7 +1190,7 @@ const baseFormItems: any = ref([
1094 placeholder: "", 1190 placeholder: "",
1095 col: 'other-group-flex', 1191 col: 'other-group-flex',
1096 field: "ownIndustry", 1192 field: "ownIndustry",
1097 default: [], 1193 default: [2],
1098 children: [ 1194 children: [
1099 { 1195 {
1100 label: "能源", 1196 label: "能源",
...@@ -1132,7 +1228,7 @@ const baseFormItems: any = ref([ ...@@ -1132,7 +1228,7 @@ const baseFormItems: any = ref([
1132 placeholder: "", 1228 placeholder: "",
1133 col: 'other-group-flex', 1229 col: 'other-group-flex',
1134 field: "bizOwn", 1230 field: "bizOwn",
1135 default: [], 1231 default: [1],
1136 children: [ 1232 children: [
1137 { 1233 {
1138 label: "生产类业务数据", 1234 label: "生产类业务数据",
...@@ -1349,7 +1445,7 @@ const propertyFormItems: any = ref([ ...@@ -1349,7 +1445,7 @@ const propertyFormItems: any = ref([
1349 type: "checkbox-group-row", 1445 type: "checkbox-group-row",
1350 placeholder: "", 1446 placeholder: "",
1351 field: "propertyType", 1447 field: "propertyType",
1352 default: [], 1448 default: [3],
1353 children: [ 1449 children: [
1354 { 1450 {
1355 label: "数据资源持有权", 1451 label: "数据资源持有权",
...@@ -1372,7 +1468,7 @@ const propertyFormItems: any = ref([ ...@@ -1372,7 +1468,7 @@ const propertyFormItems: any = ref([
1372 placeholder: "", 1468 placeholder: "",
1373 field: "rightsContent", 1469 field: "rightsContent",
1374 col: 'col2', 1470 col: 'col2',
1375 default: [], 1471 default: [5],
1376 children: [ 1472 children: [
1377 { 1473 {
1378 label: "可转让", 1474 label: "可转让",
...@@ -1670,53 +1766,109 @@ const propertyRadioGroupChange = (val, row, item) => { ...@@ -1670,53 +1766,109 @@ const propertyRadioGroupChange = (val, row, item) => {
1670 const uploadFormRef = ref(); 1766 const uploadFormRef = ref();
1671 1767
1672 /** 资产内容 */ 1768 /** 资产内容 */
1673 const uploadFormItems: any = ref([{ 1769 const uploadFormItems: any = ref([
1674 label: '数据登记承诺及收集函', 1770 {
1675 tip: '支持扩展名:xls .xlsx .doc .docx .rar .zip', 1771 label: '数据登记承诺及收集函',
1676 type: 'upload-file', 1772 tip: '支持扩展名:xls .xlsx .doc .docx .rar .zip',
1677 accept: '.xls, .xlsx, .doc, .docx, .rar, .zip', 1773 type: 'upload-file',
1678 required: true, 1774 accept: '.xls, .xlsx, .doc, .docx, .rar, .zip',
1679 default: [], 1775 required: true,
1680 field: 'registerLetter', 1776 default: [],
1681 visible: true, 1777 field: 'registerLetter',
1682 }, 1778 visible: true,
1683 { 1779 col: 'col2',
1684 label: '承诺函附件', 1780 },
1685 tip: '支持扩展名:doc .docx .pdf .jpg .png', 1781 {
1686 type: 'upload-file', 1782 label: '承诺函附件',
1687 accept: '.doc, .docx, .pdf, .jpg, .png', 1783 tip: '支持扩展名:doc .docx .pdf .jpg .png',
1688 required: false, 1784 type: 'upload-file',
1689 default: [], 1785 accept: '.doc, .docx, .pdf, .jpg, .png',
1690 field: 'commitmentLetter', 1786 required: false,
1691 }, 1787 default: [],
1692 // { 1788 field: 'commitmentLetter',
1693 // label: '文件hash值', 1789 col: 'col2',
1694 // type: 'input', 1790 },
1695 // placeholder: '请输入', 1791 // {
1696 // field: 'fileHash', 1792 // label: '文件hash值',
1697 // default: '', 1793 // type: 'input',
1698 // visible: true, 1794 // placeholder: '请输入',
1699 // required: true 1795 // field: 'fileHash',
1700 // }, 1796 // default: '',
1701 { 1797 // visible: true,
1702 label: '数据质量评价收集', 1798 // required: true
1703 tip: '支持扩展名:xls .xlsx .doc .docx .rar .zip', 1799 // },
1704 type: 'upload-file', 1800 // {
1705 accept: '.xls, .xlsx, .doc, .docx, .rar, .zip', 1801 // label: '数据质量评价收集',
1706 required: true, 1802 // tip: '支持扩展名:xls .xlsx .doc .docx .rar .zip',
1707 default: [], 1803 // type: 'upload-file',
1708 field: 'qualityEvaluationFile', 1804 // accept: '.xls, .xlsx, .doc, .docx, .rar, .zip',
1709 visible: false, 1805 // required: true,
1710 }, { 1806 // default: [],
1711 label: '数据价值评估', 1807 // field: 'qualityEvaluationFile',
1712 tip: '支持扩展名:xls .xlsx .doc .docx .rar .zip', 1808 // visible: false,
1713 type: 'upload-file', 1809 // }, {
1714 accept: '.xls, .xlsx, .doc, .docx, .rar, .zip', 1810 // label: '数据价值评估',
1715 required: true, 1811 // tip: '支持扩展名:xls .xlsx .doc .docx .rar .zip',
1716 visible: false, 1812 // type: 'upload-file',
1717 default: [], 1813 // accept: '.xls, .xlsx, .doc, .docx, .rar, .zip',
1718 field: 'costAssessmentFile', 1814 // required: true,
1719 }]); 1815 // visible: false,
1816 // default: [],
1817 // field: 'costAssessmentFile',
1818 // },
1819 {
1820 label: '上传质量评估报告',
1821 tip: '支持扩展名:.png, .pdf,单个文件不得大于5M',
1822 type: 'upload-file',
1823 accept: '.png, .pdf',
1824 required: true,
1825 default: [],
1826 col: 'mr8',
1827 field: 'qualityEvaluationFile',
1828 visible: false,
1829 },
1830 {
1831 label: '质量评估机构',
1832 type: 'select',
1833 placeholder: '请选择',
1834 field: 'qualityEvaluationInstitution',
1835 default: '',
1836 options: [],
1837 required: true,
1838 filterable: true,
1839 allowCreate: true,
1840 style: {
1841 width: 'calc(33.33% - 6px)!important'
1842 },
1843 visible: false,
1844 },
1845 {
1846 label: '上传价值评估报告',
1847 tip: '支持扩展名:.png, .pdf,单个文件不得大于5M',
1848 type: 'upload-file',
1849 accept: '.png, .pdf',
1850 required: true,
1851 default: [],
1852 col: 'mr8',
1853 field: 'costAssessmentFile',
1854 visible: false,
1855 },
1856 {
1857 label: '价值评估机构',
1858 type: 'select',
1859 placeholder: '请选择',
1860 field: 'costAssessmentInstitution',
1861 default: '',
1862 options: [],
1863 required: true,
1864 filterable: true,
1865 allowCreate: true,
1866 style: {
1867 width: 'calc(33.33% - 6px)!important'
1868 },
1869 visible: false,
1870 },
1871 ]);
1720 1872
1721 const uploadFormRules = ref({ 1873 const uploadFormRules = ref({
1722 registerLetter: [{ 1874 registerLetter: [{
...@@ -1731,10 +1883,13 @@ const uploadFormRules = ref({ ...@@ -1731,10 +1883,13 @@ const uploadFormRules = ref({
1731 // fileHash: [ 1883 // fileHash: [
1732 // { required: true, trigger: 'blur', message: "请填写文件hash值" } 1884 // { required: true, trigger: 'blur', message: "请填写文件hash值" }
1733 // ], 1885 // ],
1886 qualityEvaluationInstitution: [
1887 { required: true, trigger: 'change', message: "请选择质量评估机构" }
1888 ],
1734 qualityEvaluationFile: [{ 1889 qualityEvaluationFile: [{
1735 validator: (rule: any, value: any, callback: any) => { 1890 validator: (rule: any, value: any, callback: any) => {
1736 if (!value?.length) { 1891 if (!value?.length) {
1737 callback(new Error('请上传数据质量评价收集')) 1892 callback(new Error('请上传质量评估报告'))
1738 } else { 1893 } else {
1739 callback(); 1894 callback();
1740 } 1895 }
...@@ -1743,7 +1898,7 @@ const uploadFormRules = ref({ ...@@ -1743,7 +1898,7 @@ const uploadFormRules = ref({
1743 costAssessmentFile: [{ 1898 costAssessmentFile: [{
1744 validator: (rule: any, value: any, callback: any) => { 1899 validator: (rule: any, value: any, callback: any) => {
1745 if (!value?.length) { 1900 if (!value?.length) {
1746 callback(new Error('请上传数据价值评估')) 1901 callback(new Error('请上传价值评估报告'))
1747 } else { 1902 } else {
1748 callback(); 1903 callback();
1749 } 1904 }
...@@ -1795,14 +1950,17 @@ const saveDraft = () => { ...@@ -1795,14 +1950,17 @@ const saveDraft = () => {
1795 let propertyFormLine = porpertyInfoFormRef.value.formInline; 1950 let propertyFormLine = porpertyInfoFormRef.value.formInline;
1796 Object.assign(params, propertyFormLine); 1951 Object.assign(params, propertyFormLine);
1797 let uploadFormInline = uploadFormRef.value.formInline; 1952 let uploadFormInline = uploadFormRef.value.formInline;
1953 const registerAttachment = {
1954 // fileHash: uploadFormInline.fileHash,
1955 registerLetter: uploadFormInline['registerLetter']?.map(u => u.url) || [],
1956 qualityEvaluationFile: uploadFormInline['qualityEvaluationFile']?.map(u => u.url) || [],
1957 costAssessmentFile: uploadFormInline['costAssessmentFile']?.map(u => u.url) || [],
1958 commitmentLetter: uploadFormInline['commitmentLetter']?.map(u => u.url) || [],
1959 qualityEvaluationInstitution: uploadFormInline.qualityEvaluationInstitution || '',
1960 costAssessmentInstitution: uploadFormInline.costAssessmentInstitution || '',
1961 }
1798 Object.assign(params, { 1962 Object.assign(params, {
1799 registerAttachment: { 1963 registerAttachment: registerAttachment,
1800 // fileHash: uploadFormInline.fileHash,
1801 registerLetter: uploadFormInline['registerLetter']?.map(u => u.url) || [],
1802 qualityEvaluationFile: uploadFormInline['qualityEvaluationFile']?.map(u => u.url) || [],
1803 costAssessmentFile: uploadFormInline['costAssessmentFile']?.map(u => u.url) || [],
1804 commitmentLetter: uploadFormInline['commitmentLetter']?.map(u => u.url) || [],
1805 },
1806 isSubmit: false, 1964 isSubmit: false,
1807 }); 1965 });
1808 if (params.dateRange?.length) { 1966 if (params.dateRange?.length) {
...@@ -1824,6 +1982,9 @@ const saveDraft = () => { ...@@ -1824,6 +1982,9 @@ const saveDraft = () => {
1824 } else { 1982 } else {
1825 ElMessage.error(res.msg); 1983 ElMessage.error(res.msg);
1826 } 1984 }
1985 }).catch((xhr) => {
1986 ElMessage.error(xhr.response.data.msg);
1987 fullscreenLoading.value = false;
1827 }); 1988 });
1828 } else { 1989 } else {
1829 registerSave(params).then((res: any) => { 1990 registerSave(params).then((res: any) => {
...@@ -1838,6 +1999,9 @@ const saveDraft = () => { ...@@ -1838,6 +1999,9 @@ const saveDraft = () => {
1838 } else { 1999 } else {
1839 ElMessage.error(res.msg); 2000 ElMessage.error(res.msg);
1840 } 2001 }
2002 }).catch((xhr) => {
2003 ElMessage.error(xhr.response.data.msg);
2004 fullscreenLoading.value = false;
1841 }); 2005 });
1842 } 2006 }
1843 } 2007 }
...@@ -1874,6 +2038,7 @@ const save = () => { ...@@ -1874,6 +2038,7 @@ const save = () => {
1874 costAssessmentFile: uploadFormInline['costAssessmentFile']?.map(u => u.url) || [], 2038 costAssessmentFile: uploadFormInline['costAssessmentFile']?.map(u => u.url) || [],
1875 commitmentLetter: uploadFormInline['commitmentLetter']?.map(u => u.url) || [], 2039 commitmentLetter: uploadFormInline['commitmentLetter']?.map(u => u.url) || [],
1876 }, 2040 },
2041 immediateApprove: true,
1877 isSubmit: true, 2042 isSubmit: true,
1878 }); 2043 });
1879 if (params.dateRange?.length) { 2044 if (params.dateRange?.length) {
...@@ -1951,6 +2116,8 @@ onMounted(() => { ...@@ -1951,6 +2116,8 @@ onMounted(() => {
1951 // } 2116 // }
1952 // }, 100)); 2117 // }, 100));
1953 }) 2118 })
2119 const deploymentId = ref('');
2120 const processInstanceId = ref('');
1954 const approveTableInfo: any = ref({ 2121 const approveTableInfo: any = ref({
1955 id: 'approve-table', 2122 id: 'approve-table',
1956 rowKey: 'guid', 2123 rowKey: 'guid',
...@@ -1994,8 +2161,8 @@ const approveTableInfo: any = ref({ ...@@ -1994,8 +2161,8 @@ const approveTableInfo: any = ref({
1994 </ContentWrap> 2161 </ContentWrap>
1995 <ContentWrap id="id-assetContent" title="附件信息" description="" :isExpand="assetContentExpand" expandSwicth 2162 <ContentWrap id="id-assetContent" title="附件信息" description="" :isExpand="assetContentExpand" expandSwicth
1996 style="margin-top: 15px" @expand="(v) => assetContentExpand = v"> 2163 style="margin-top: 15px" @expand="(v) => assetContentExpand = v">
1997 <Form class='uploadForm' :style="{ width: '90%' }" ref="uploadFormRef" :itemList="uploadFormItems" 2164 <Form class='uploadForm' ref="uploadFormRef" :itemList="uploadFormItems" formId="upload-form"
1998 formId="upload-form" :rules="uploadFormRules" /> 2165 :rules="uploadFormRules" col="col3" />
1999 </ContentWrap> 2166 </ContentWrap>
2000 <ContentWrap id="id-propertyInfo" title="权利信息" description="申报数据资产的权利信息" expandSwicth 2167 <ContentWrap id="id-propertyInfo" title="权利信息" description="申报数据资产的权利信息" expandSwicth
2001 :isExpand="propertyInfoExpand" style="margin-top: 15px" @expand="(v) => propertyInfoExpand = v"> 2168 :isExpand="propertyInfoExpand" style="margin-top: 15px" @expand="(v) => propertyInfoExpand = v">
...@@ -2005,7 +2172,8 @@ const approveTableInfo: any = ref({ ...@@ -2005,7 +2172,8 @@ const approveTableInfo: any = ref({
2005 </ContentWrap> 2172 </ContentWrap>
2006 <ContentWrap id="id-approveInfo" title="审批信息" :isExpand="approveInfoExpand" expandSwicth 2173 <ContentWrap id="id-approveInfo" title="审批信息" :isExpand="approveInfoExpand" expandSwicth
2007 style="margin-top: 15px" @expand="(v) => approveInfoExpand = v"> 2174 style="margin-top: 15px" @expand="(v) => approveInfoExpand = v">
2008 <Table :tableInfo="approveTableInfo" /> 2175 <ApprovalProcess v-if="deploymentId" :deploymentId="deploymentId" :definitionId="''">
2176 </ApprovalProcess>
2009 </ContentWrap> 2177 </ContentWrap>
2010 </div> 2178 </div>
2011 </div> 2179 </div>
......
...@@ -23,7 +23,6 @@ import { ...@@ -23,7 +23,6 @@ import {
23 exportDictionary, 23 exportDictionary,
24 showDictionary, 24 showDictionary,
25 getDataBaseList, 25 getDataBaseList,
26 getDataTypeList,
27 getCoderuleList, 26 getCoderuleList,
28 saveDictionaryData, 27 saveDictionaryData,
29 getDictionaryFileds, 28 getDictionaryFileds,
...@@ -608,7 +607,7 @@ const getDataType = (type) => { ...@@ -608,7 +607,7 @@ const getDataType = (type) => {
608 let params = { 607 let params = {
609 paramCode: type 608 paramCode: type
610 } 609 }
611 getDataTypeList(params).then((res: any) => { 610 getParamsList(params).then((res: any) => {
612 if (res.code == proxy.$passCode) { 611 if (res.code == proxy.$passCode) {
613 const data = res.data 612 const data = res.data
614 if (type == 'DATA_TYPE') { 613 if (type == 'DATA_TYPE') {
......
...@@ -12,7 +12,7 @@ import Dialog from "@/components/Dialog/index.vue"; ...@@ -12,7 +12,7 @@ import Dialog from "@/components/Dialog/index.vue";
12 import useUserStore from "@/store/modules/user"; 12 import useUserStore from "@/store/modules/user";
13 import useDataAssetStore from "@/store/modules/dataAsset"; 13 import useDataAssetStore from "@/store/modules/dataAsset";
14 import { onUploadFilePreview, onUploadFileDownload } from '@/api/modules/common'; 14 import { onUploadFilePreview, onUploadFileDownload } from '@/api/modules/common';
15 import { getApproveList, getTenantApprove, registerApproveAllow, registerApproveBackup, getSubjectDoaminList } from "@/api/modules/dataAsset"; 15 import { getApproveList, getTenantApprove, registerApproveAllow, registerApproveBackup, getParamsList } from "@/api/modules/dataAsset";
16 import { getDemandDetail, demandSave, competitionSave, marketSave, demandUpdate, competitionUpdate, marketUpdate, checkDemandName, getParamsDataList, getProductTypeList } from "@/api/modules/dataProduct"; 16 import { getDemandDetail, demandSave, competitionSave, marketSave, demandUpdate, competitionUpdate, marketUpdate, checkDemandName, getParamsDataList, getProductTypeList } from "@/api/modules/dataProduct";
17 import { getMatchDetail } from "@/api/modules/dataFinance"; 17 import { getMatchDetail } from "@/api/modules/dataFinance";
18 import { useValidator } from '@/hooks/useValidator'; 18 import { useValidator } from '@/hooks/useValidator';
...@@ -353,7 +353,7 @@ const algorithmFormItem = ref([ ...@@ -353,7 +353,7 @@ const algorithmFormItem = ref([
353 block: true, 353 block: true,
354 clearable: true, 354 clearable: true,
355 required: true, 355 required: true,
356 }, 356 },
357 // { 357 // {
358 // label: '赛事图片', 358 // label: '赛事图片',
359 // tip: '支持扩展名:.jpg .png .jpeg', 359 // tip: '支持扩展名:.jpg .png .jpeg',
...@@ -431,7 +431,7 @@ const elementFormItems = ref([ ...@@ -431,7 +431,7 @@ const elementFormItems = ref([
431 clearable: true, 431 clearable: true,
432 required: true, 432 required: true,
433 }, 433 },
434 { 434 {
435 label: '产品类别', 435 label: '产品类别',
436 type: 'tree-select', 436 type: 'tree-select',
437 placeholder: '请选择', 437 placeholder: '请选择',
...@@ -464,7 +464,7 @@ const elementFormItems = ref([ ...@@ -464,7 +464,7 @@ const elementFormItems = ref([
464 clearable: true, 464 clearable: true,
465 disabled: false, 465 disabled: false,
466 required: true, 466 required: true,
467 }, 467 },
468 { 468 {
469 label: '产品预算', 469 label: '产品预算',
470 type: 'checkbox-input-item', 470 type: 'checkbox-input-item',
...@@ -860,7 +860,7 @@ const submitForm = (btn, formEl, tosub = false) => { ...@@ -860,7 +860,7 @@ const submitForm = (btn, formEl, tosub = false) => {
860 ElMessage.error(res.msg); 860 ElMessage.error(res.msg);
861 } 861 }
862 }) 862 })
863 } 863 }
864 } 864 }
865 } else { 865 } else {
866 nextTick(() => { 866 nextTick(() => {
...@@ -1112,7 +1112,7 @@ const initMethodByInterfaceType = ref({ ...@@ -1112,7 +1112,7 @@ const initMethodByInterfaceType = ref({
1112 proxy.$ElMessage.error(res.msg); 1112 proxy.$ElMessage.error(res.msg);
1113 } 1113 }
1114 }) 1114 })
1115 getSubjectDoaminList().then((res: any) => { 1115 getParamsList({dictType: 'SUBJECT-DOMAIN'}).then((res: any) => {
1116 if (res.code == proxy.$passCode) { 1116 if (res.code == proxy.$passCode) {
1117 subjectDomainListData.value = res.data || []; 1117 subjectDomainListData.value = res.data || [];
1118 let item = demandFormItems.value.find(item => item.field == 'subjectDomain'); 1118 let item = demandFormItems.value.find(item => item.field == 'subjectDomain');
......
...@@ -15,7 +15,7 @@ import { TableColumnWidth } from '@/utils/enum'; ...@@ -15,7 +15,7 @@ import { TableColumnWidth } from '@/utils/enum';
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 Dialog from "@/components/Dialog/index.vue"; 17 import Dialog from "@/components/Dialog/index.vue";
18 import { getDamTypesList } from "@/api/modules/dataAsset"; 18 import { getParamsList } from "@/api/modules/dataAsset";
19 19
20 const { proxy } = getCurrentInstance() as any; 20 const { proxy } = getCurrentInstance() as any;
21 const router = useRouter(); 21 const router = useRouter();
...@@ -284,7 +284,7 @@ onBeforeMount(() => { ...@@ -284,7 +284,7 @@ onBeforeMount(() => {
284 // proxy.$ElMessage.error(res.msg); 284 // proxy.$ElMessage.error(res.msg);
285 // } 285 // }
286 // }) 286 // })
287 getDamTypesList({ 287 getParamsList({
288 dictType: "资产类型", 288 dictType: "资产类型",
289 }).then((res: any) => { 289 }).then((res: any) => {
290 if (res.code == proxy.$passCode) { 290 if (res.code == proxy.$passCode) {
......
...@@ -14,7 +14,7 @@ import useDataAssetStore from "@/store/modules/dataAsset"; ...@@ -14,7 +14,7 @@ import useDataAssetStore from "@/store/modules/dataAsset";
14 import { changeNum } from '@/utils/common'; 14 import { changeNum } from '@/utils/common';
15 import { onUploadFilePreview, onUploadFileDownload } from '@/api/modules/common'; 15 import { onUploadFilePreview, onUploadFileDownload } from '@/api/modules/common';
16 import { getAreaData, getServiceTenants } from "@/api/modules/queryService"; 16 import { getAreaData, getServiceTenants } from "@/api/modules/queryService";
17 import { getApproveList, getTenantApprove, registerApproveAllow, registerApproveBackup, getSubjectDoaminList, getServiceDetail } from "@/api/modules/dataAsset"; 17 import { getApproveList, getTenantApprove, registerApproveAllow, registerApproveBackup, getParamsList, getServiceDetail } from "@/api/modules/dataAsset";
18 import { getProductList, getAddedProductList, getListingDetail, listingSave, listingUpdate, getParamsDataList } from "@/api/modules/dataProduct"; 18 import { getProductList, getAddedProductList, getListingDetail, listingSave, listingUpdate, getParamsDataList } from "@/api/modules/dataProduct";
19 import { getMatchDetail } from "@/api/modules/dataFinance"; 19 import { getMatchDetail } from "@/api/modules/dataFinance";
20 import { useValidator } from '@/hooks/useValidator'; 20 import { useValidator } from '@/hooks/useValidator';
...@@ -1062,7 +1062,7 @@ onBeforeMount(() => { ...@@ -1062,7 +1062,7 @@ onBeforeMount(() => {
1062 // ElMessage.error(res.msg); 1062 // ElMessage.error(res.msg);
1063 // } 1063 // }
1064 // }); 1064 // });
1065 getSubjectDoaminList({ 1065 getParamsList({
1066 dictType: "数据资产目录主题名称", 1066 dictType: "数据资产目录主题名称",
1067 }).then((res: any) => { 1067 }).then((res: any) => {
1068 if (res.code == proxy.$passCode) { 1068 if (res.code == proxy.$passCode) {
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!