@cloudbase/weda-ui 3.4.5 → 3.4.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/dist/configs/components/form/input.json +48 -2
  2. package/dist/configs/components/form/richText.json +2 -1
  3. package/dist/configs/components/form/uploader.json +62 -14
  4. package/dist/configs/components/grid/col.js +4 -1
  5. package/dist/configs/components/grid/grid.js +8 -3
  6. package/dist/configs/components/grid/row.js +51 -3
  7. package/dist/configs/components/repeater.js +4 -1
  8. package/dist/configs/components/table.json +1 -0
  9. package/dist/configs/components/wd-bubble.js +6 -0
  10. package/dist/configs/components/wd-button.js +6 -0
  11. package/dist/configs/components/wd-divider.js +7 -18
  12. package/dist/configs/components/wd-icon.js +7 -0
  13. package/dist/configs/components/wd-image.js +7 -0
  14. package/dist/configs/components/wd-link.js +7 -2
  15. package/dist/configs/components/wd-text.js +14 -6
  16. package/dist/configs/index.js +0 -2
  17. package/dist/docs/common/componentList.js +1 -1
  18. package/dist/web/actions/showModal/index.js +1 -1
  19. package/dist/web/components/calendar/index.js +2 -2
  20. package/dist/web/components/flow/components/index.js +0 -4
  21. package/dist/web/components/flow/frame/index.js +4 -3
  22. package/dist/web/components/flow/frame/types.js +11 -5
  23. package/dist/web/components/flow/frame/utils.js +60 -1
  24. package/dist/web/components/flow/modules/chart/Chart.js +2 -3
  25. package/dist/web/components/flow/modules/combination/index.js +1 -1
  26. package/dist/web/components/flow/modules/operations/components/button/index.js +11 -0
  27. package/dist/web/components/flow/modules/operations/components/button/style.css +5 -0
  28. package/dist/web/components/flow/modules/operations/components/index.js +6 -0
  29. package/dist/web/components/flow/modules/operations/components/popup/index.js +100 -0
  30. package/dist/web/components/flow/modules/operations/components/popup/style.css +154 -0
  31. package/dist/web/components/flow/modules/operations/components/popup/types.js +1 -0
  32. package/dist/web/components/flow/modules/operations/components/user-select/index.js +43 -0
  33. package/dist/web/components/flow/modules/operations/components/user-select/style.css +4 -0
  34. package/dist/web/components/flow/modules/operations/components/user-select/types.js +1 -0
  35. package/dist/web/components/flow/modules/operations/config/approval-form-config.js +140 -0
  36. package/dist/web/components/flow/modules/operations/config/control-config.js +218 -0
  37. package/dist/web/components/flow/modules/operations/config/index.js +2 -0
  38. package/dist/web/components/flow/modules/operations/config/types.js +1 -0
  39. package/dist/web/components/flow/modules/operations/control.js +26 -0
  40. package/dist/web/components/flow/modules/operations/controls-items/add-assignee-btn.js +33 -0
  41. package/dist/web/components/flow/modules/operations/controls-items/apply-cc-btn.js +12 -0
  42. package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/comment/index.js +188 -0
  43. package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/comment/style.css +51 -0
  44. package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/drawer-form/index.js +64 -0
  45. package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/drawer-form/types.js +1 -0
  46. package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/drawer-form/view-model.js +83 -0
  47. package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/field/index.js +16 -0
  48. package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/field/style.css +56 -0
  49. package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/index.js +47 -0
  50. package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/style.css +60 -0
  51. package/dist/web/components/flow/modules/operations/controls-items/cancel-apply-btn.js +15 -0
  52. package/dist/web/components/flow/modules/operations/controls-items/check-list-popup/index.js +11 -0
  53. package/dist/web/components/flow/modules/operations/controls-items/check-list-popup/style.css +26 -0
  54. package/dist/web/components/flow/modules/operations/controls-items/flow-task-info-modal.js +98 -0
  55. package/dist/web/components/flow/modules/operations/controls-items/index.js +18 -0
  56. package/dist/web/components/flow/modules/operations/controls-items/initiation-btn.js +25 -0
  57. package/dist/web/components/flow/modules/operations/controls-items/revoke-modal/index.js +50 -0
  58. package/dist/web/components/flow/modules/operations/controls-items/revoke-modal/style.css +28 -0
  59. package/dist/web/components/flow/modules/operations/controls-items/roll-back-modal.js +104 -0
  60. package/dist/web/components/flow/modules/operations/controls-items/types.js +1 -0
  61. package/dist/web/components/flow/modules/operations/index.js +2 -0
  62. package/dist/web/components/flow/modules/operations/style.css +20 -0
  63. package/dist/web/components/flow/modules/operations/view-model.js +137 -0
  64. package/dist/web/components/flow/services/ideData/instance.js +2 -2
  65. package/dist/web/components/flow/services/ideData/pageDetail.js +1 -0
  66. package/dist/web/components/form/uploader/index.css +19 -0
  67. package/dist/web/components/form/uploader/index.js +21 -3
  68. package/dist/web/components/form/uploader/uploader.h5.js +14 -8
  69. package/dist/web/components/form/uploader/uploader.pc.js +29 -16
  70. package/dist/web/components/form/uploaderFile/index.css +5 -2
  71. package/dist/web/components/form/uploaderFile/uploadFile.h5.js +15 -12
  72. package/dist/web/components/form/uploaderFile/uploadFile.pc.js +11 -8
  73. package/dist/web/components/form/userOrgSelect/common/fetch-data-service.js +0 -1
  74. package/dist/web/components/form/userOrgSelect/component/depart-select/index.js +1 -1
  75. package/dist/web/components/form/userOrgSelect/component/user-select-h5/index.js +9 -5
  76. package/dist/web/components/form/userOrgSelect/component/user-select-h5/user-select-h5.js +4 -2
  77. package/dist/web/components/form/userOrgSelect/component/user-select-pc/user-model.js +2 -2
  78. package/dist/web/components/form/userOrgSelect/component/user-select-pc/user-select-pc.js +4 -2
  79. package/dist/web/components/grid/col.js +81 -18
  80. package/dist/web/components/grid/grid.js +1 -1
  81. package/dist/web/components/grid/row.js +4 -2
  82. package/dist/web/components/index.js +1 -1
  83. package/dist/web/components/listView/index.js +4 -3
  84. package/dist/web/components/lottery/index.js +122 -123
  85. package/dist/web/components/table/ExportFileModalByApi/index.js +1 -1
  86. package/dist/web/components/table/ImportFileModal/index.js +1 -1
  87. package/dist/web/components/table/ImportFileModalByApi/index.js +1 -1
  88. package/dist/web/components/wd-bubble/wd-bubble.js +11 -3
  89. package/dist/web/components/wd-button/wd-button.js +22 -13
  90. package/dist/web/components/wd-divider/wd-divider.js +10 -7
  91. package/dist/web/components/wd-icon/wd-icon.js +12 -3
  92. package/dist/web/components/wd-image/index.js +12 -5
  93. package/dist/web/components/wd-link/wd-link.js +11 -3
  94. package/dist/web/components/wd-text/wd-text.js +15 -3
  95. package/dist/web/utils/hooks/use-cloud-id-temp-url.js +7 -3
  96. package/dist/web/utils/platform.js +0 -1
  97. package/dist/web/utils/tool.js +11 -0
  98. package/dist/web/utils/widget-api/index.js +3 -0
  99. package/package.json +5 -3
  100. package/dist/configs/components/auth.json +0 -17
  101. package/dist/web/components/flow/components/FlowUserSelect/index.css +0 -116
  102. package/dist/web/components/flow/components/FlowUserSelect/index.js +0 -115
  103. package/dist/web/components/flow/components/HighlightTextarea/index.css +0 -42
  104. package/dist/web/components/flow/components/HighlightTextarea/index.js +0 -131
  105. package/dist/web/components/flow/components/UserSelectModel/UserSelect.js +0 -72
  106. package/dist/web/components/flow/components/UserSelectModel/UserSelectMobile.css +0 -8
  107. package/dist/web/components/flow/components/UserSelectModel/UserSelectMobile.js +0 -82
  108. package/dist/web/components/flow/components/UserSelectModel/index.js +0 -18
  109. package/dist/web/components/flow/components/WedaUserTransfer/index.css +0 -3
  110. package/dist/web/components/flow/components/WedaUserTransfer/index.js +0 -162
  111. package/dist/web/components/flow/modules/control/ApprovalDrawer.css +0 -144
  112. package/dist/web/components/flow/modules/control/ApprovalDrawer.js +0 -178
  113. package/dist/web/components/flow/modules/control/ApprovalPopup.css +0 -115
  114. package/dist/web/components/flow/modules/control/ApprovalPopup.js +0 -240
  115. package/dist/web/components/flow/modules/control/Control.css +0 -29
  116. package/dist/web/components/flow/modules/control/Control.js +0 -105
  117. package/dist/web/components/flow/modules/control/ControlMobile.css +0 -101
  118. package/dist/web/components/flow/modules/control/ControlMobile.js +0 -148
  119. package/dist/web/components/flow/modules/control/FlowTaskInfoModal.css +0 -3
  120. package/dist/web/components/flow/modules/control/FlowTaskInfoModal.js +0 -31
  121. package/dist/web/components/flow/modules/control/constants/index.js +0 -35
  122. package/dist/web/components/flow/modules/control/index.js +0 -15
  123. package/dist/web/components/flow/modules/control/provider/index.js +0 -17
  124. package/dist/web/components/flow/modules/control/provider/useControlModel.js +0 -252
  125. package/dist/web/components/flow/modules/control/provider/useMobileModel.js +0 -84
  126. package/dist/web/components/flow/modules/control/provider/useRevokeAndBackHook.js +0 -84
  127. package/dist/web/components/flow/modules/control/utils/ControlModelUtils.js +0 -57
  128. package/dist/web/components/flow/modules/control/utils/index.js +0 -3
  129. package/dist/web/components/flow/modules/control/utils/tools.js +0 -3
@@ -1,31 +0,0 @@
1
- import React, { useEffect, useState } from 'react';
2
- import { Modal, SelectMultiple, Button, Form } from 'tea-component';
3
- // import { history } from 'umi';
4
- import { useControlContext } from './provider';
5
- import './FlowTaskInfoModal.css';
6
- export const FlowTaskInfoModal = ({ layout = 'default', }) => {
7
- // const { visible, setVisible, flowTaskInfoList, flowTaskIds, setFlowTaskIds, allInfos } = props;
8
- const { flowTaskInfoList, flowTaskInfoModalVisible, flowTaskIds, setFlowTaskIds, onCloseFlowTaskInfoModal, } = useControlContext();
9
- const [options, setOptions] = useState([]);
10
- useEffect(() => {
11
- const tempOptions = [];
12
- flowTaskInfoList.forEach((item) => {
13
- tempOptions.push({
14
- text: item === null || item === void 0 ? void 0 : item.assigneeName,
15
- value: item === null || item === void 0 ? void 0 : item.waitFlowTaskId,
16
- assignee: item === null || item === void 0 ? void 0 : item.assignee,
17
- });
18
- });
19
- setOptions(tempOptions);
20
- }, [flowTaskInfoList]);
21
- return (React.createElement(Modal, { visible: flowTaskInfoModalVisible, caption: '选择下一节点处理人', onClose: onCloseFlowTaskInfoModal, size: "auto" },
22
- React.createElement(Modal.Body, null,
23
- React.createElement(Form, { style: { marginBottom: '5px' }, layout: layout },
24
- React.createElement(Form.Item, { label: '选择处理人', className: "flow_center_next_approve-form_item" },
25
- React.createElement(SelectMultiple, { appearance: "button", size: 'full', searchable: true, matchButtonWidth: true, staging: false, options: options, onChange: (val) => {
26
- setFlowTaskIds(val);
27
- }, value: flowTaskIds, style: { width: 200 } })))),
28
- React.createElement(Modal.Footer, null,
29
- React.createElement(Button, { type: "primary", onClick: onCloseFlowTaskInfoModal }, "\u786E\u5B9A"),
30
- React.createElement(Button, { type: "weak", onClick: onCloseFlowTaskInfoModal }, "\u53D6\u6D88"))));
31
- };
@@ -1,35 +0,0 @@
1
- export const ACTION_TYPE = {
2
- SUBMIT: 'submit',
3
- AGREE: 'agree',
4
- REJECT: 'reject',
5
- TRANSFER: 'transfer',
6
- HANDLE: 'handle',
7
- SAVE_DRAFT: 'saveDraft',
8
- CANCEL_SUBMIT: 'cancelSubmit',
9
- GO_BACK: 'goBack',
10
- ADD_ASSIGNEE: 'addAssignee',
11
- REVOKE: 'revoke',
12
- SELECT_NEXT_APPROVER: 'selectNextApprover',
13
- };
14
- export const ACTION_TYPE_MAP = {
15
- // 提交1 同意/处理2 驳回3 转办4 保存草稿17
16
- submit: 1,
17
- agree: 2,
18
- handle: 2,
19
- reject: 3,
20
- transfer: 4,
21
- saveDraft: 17,
22
- };
23
- export const ACTION_FINISH_MAP = {
24
- saveDraft: 'afterSavedDraft',
25
- submit: 'afterSubmit',
26
- cancelSubmit: 'afterCancelSubmit',
27
- handle: 'afterHandle',
28
- agree: 'afterAgree',
29
- reject: 'afterReject',
30
- transfer: 'afterTransfer',
31
- goBack: 'afterGoBack',
32
- addAssignee: 'afterAddAssignee',
33
- revoke: 'afterRevoke',
34
- selectNextApprover: 'afterSelectNextApprover',
35
- };
@@ -1,15 +0,0 @@
1
- import React from 'react';
2
- import { FlowControl } from './Control';
3
- import { FlowControlMobile } from './ControlMobile';
4
- import { ControlProvider } from './provider';
5
- import { createModuleFrame } from '../../frame';
6
- const ModelFlowControl = (props) => {
7
- const renderContent = () => {
8
- if (props.flowLocalProps.isH5) {
9
- return React.createElement(FlowControlMobile, { ...props });
10
- }
11
- return React.createElement(FlowControl, { ...props });
12
- };
13
- return React.createElement(ControlProvider, { ...props }, renderContent());
14
- };
15
- export default createModuleFrame(ModelFlowControl, 'flow-control');
@@ -1,17 +0,0 @@
1
- import React, { createContext, useContext } from 'react';
2
- import { useControlModel } from './useControlModel';
3
- import { useRevokeAndBackHook, } from './useRevokeAndBackHook';
4
- import { useMobileModel } from './useMobileModel';
5
- const Context = createContext({});
6
- export const ControlProvider = (props) => {
7
- const control = useControlModel(props);
8
- const revoke = useRevokeAndBackHook(props, control);
9
- const mobile = useMobileModel(props, control);
10
- const value = {
11
- ...control,
12
- ...revoke,
13
- ...mobile,
14
- };
15
- return React.createElement(Context.Provider, { value: value }, props.children);
16
- };
17
- export const useControlContext = () => useContext(Context);
@@ -1,252 +0,0 @@
1
- import { useState, useRef, useEffect } from 'react';
2
- import { message } from 'tea-component';
3
- import { postApprovalFlow, postApprovalSign, postFlowTaskList, } from '../../../services';
4
- import { ACTION_TYPE, ACTION_TYPE_MAP, ACTION_FINISH_MAP } from '../constants';
5
- import { ControlModelUtils } from '../utils';
6
- export const useControlModel = (params) => {
7
- const { commonFlowData, flowLocalProps, ide, reload, setFormType } = params;
8
- const { flowDetail, pageInfo, ccUserMaps } = commonFlowData;
9
- const { isWedaIde, callWedaApi } = flowLocalProps;
10
- const { events } = ide || {};
11
- const ifSubmitAndCc = (pageInfo === null || pageInfo === void 0 ? void 0 : pageInfo.showSubmitApp) && (pageInfo === null || pageInfo === void 0 ? void 0 : pageInfo.showCarbonCopy);
12
- const [approveDrawerVisible, setApproveDrawerVisible] = useState(false);
13
- const [userModalVisible, setUserModalVisible] = useState(false);
14
- const [submitApplyLoading, setSubmitApplyLoading] = useState(false);
15
- const [submitLoading, setSubmitLoading] = useState(false);
16
- const [handleType, setHandleType] = useState('');
17
- const [flowTaskInfoModalVisible, setFlowTaskInfoModalVisible] = useState(false); // 下一节点展示人弹窗
18
- const [flowTaskInfoList, setFlowTaskInfoList] = useState([]); // 审批人列表
19
- const [allInfos, setAllInfos] = useState([]);
20
- const [flowTaskIds, setFlowTaskIds] = useState([]);
21
- const [ccUserModelVisible, setCcUserModelVisible] = useState(false);
22
- const [ccUsers, setCcUsers] = useState([]);
23
- /** 流程是否回退 */
24
- const [hasGoBack, setHasGoBack] = useState(false);
25
- useEffect(() => {
26
- var _a;
27
- const ccUsers = (_a = Object.entries(ccUserMaps || {})) === null || _a === void 0 ? void 0 : _a.map(([value, text]) => ({
28
- text,
29
- value,
30
- }));
31
- setCcUsers(ccUsers);
32
- }, [ccUserMaps]);
33
- const pageFormData = useRef({});
34
- const handleTypeRef = useRef('');
35
- const onAddCounterSign = async (assigneeIds) => {
36
- try {
37
- const res = await postApprovalSign({
38
- instanceId: flowDetail.instanceId,
39
- nodeId: flowDetail.currentNodeId,
40
- taskId: flowDetail.taskId,
41
- assigneeIds: assigneeIds.map((item) => item.value),
42
- }, { callWedaApi });
43
- if (res === null || res === void 0 ? void 0 : res.status) {
44
- onFinishFlowAction({
45
- handleType: ACTION_TYPE.ADD_ASSIGNEE,
46
- });
47
- }
48
- }
49
- catch (error) {
50
- console.error(error);
51
- }
52
- };
53
- const onControlChick = (type, e) => {
54
- var _a;
55
- if (isWedaIde) {
56
- return;
57
- }
58
- handleTypeRef.current = type;
59
- (_a = events === null || events === void 0 ? void 0 : events.tap) === null || _a === void 0 ? void 0 : _a.call(events, {
60
- onGetFormData: (formDataMap) => {
61
- if (Object.values(formDataMap).some((item) => item === undefined)) {
62
- return;
63
- }
64
- pageFormData.current = { ...pageFormData.current, ...formDataMap };
65
- if (type === ACTION_TYPE.SUBMIT) {
66
- onTriggerFlowEvent({ buttonAction: ACTION_TYPE_MAP.submit });
67
- }
68
- else if (type === ACTION_TYPE.SAVE_DRAFT) {
69
- onSaveDraft();
70
- }
71
- else {
72
- onApproveDrawerVisibleChange();
73
- setHandleType(type);
74
- }
75
- },
76
- }, {
77
- originEvent: e,
78
- });
79
- };
80
- const onApproveDrawerVisibleChange = () => {
81
- setApproveDrawerVisible(!approveDrawerVisible);
82
- !approveDrawerVisible && setHandleType('');
83
- };
84
- const onUserModalVisibleChange = () => {
85
- setUserModalVisible(!userModalVisible);
86
- };
87
- const onFlowTaskInfoModalVisibleChange = () => {
88
- setFlowTaskInfoModalVisible(!flowTaskInfoModalVisible);
89
- };
90
- const onSaveDraft = () => {
91
- const params = {
92
- buttonAction: ACTION_TYPE_MAP[ACTION_TYPE.SAVE_DRAFT],
93
- ccUserIds: (ccUsers === null || ccUsers === void 0 ? void 0 : ccUsers.length) ? ccUsers.join(',') : undefined,
94
- flowCode: flowDetail.flowCode,
95
- instanceId: flowDetail.instanceId,
96
- nodeId: flowDetail.currentNodeId,
97
- taskId: flowDetail.taskId,
98
- appVersion: flowDetail.flowVersion,
99
- variableInfos: ControlModelUtils.translateVariableInfos(pageFormData.current, pageInfo) || [],
100
- };
101
- params.variableInfos = ControlModelUtils.convertVariableInfosFormat(params.variableInfos);
102
- postApprovalFlow({ ...params, AppCode: flowDetail.startAppCode }, { callWedaApi })
103
- .then((res) => {
104
- if (res) {
105
- message.success({
106
- content: '保存草稿成功',
107
- });
108
- onFinishFlowAction({ handleType: ACTION_TYPE.SAVE_DRAFT });
109
- }
110
- })
111
- .catch(() => {
112
- message.error({ content: '保存失败' });
113
- });
114
- };
115
- const onTriggerFlowEvent = (data) => {
116
- setSubmitApplyLoading(true);
117
- if (!pageFormData.current) {
118
- message.warning({
119
- content: '请检查申请信息是否填写完整',
120
- });
121
- setSubmitApplyLoading(false);
122
- return;
123
- }
124
- setSubmitLoading(true);
125
- const params = {
126
- buttonAction: ACTION_TYPE_MAP[handleType],
127
- ccUserIds: (ccUsers === null || ccUsers === void 0 ? void 0 : ccUsers.length) ? ccUsers.join(',') : undefined,
128
- flowCode: flowDetail.flowCode,
129
- instanceId: flowDetail.instanceId,
130
- nodeId: flowDetail.currentNodeId,
131
- taskId: flowDetail.taskId,
132
- // turnToUserId: data.turnToUserId,
133
- appVersion: flowDetail.flowVersion,
134
- variableInfos: ControlModelUtils.translateVariableInfos(pageFormData.current, pageInfo) || [],
135
- ...data,
136
- };
137
- params.variableInfos = ControlModelUtils.convertVariableInfosFormat(params.variableInfos);
138
- postApprovalFlow({ ...params, AppCode: flowDetail === null || flowDetail === void 0 ? void 0 : flowDetail.startAppCode }, { callWedaApi })
139
- .then((res) => {
140
- var _a;
141
- if (res) {
142
- sessionStorage.removeItem('FlowActionsMobile');
143
- if (res.toBeSubmittedFlowTaskFlag) {
144
- handleTypeRef.current = ACTION_TYPE.SELECT_NEXT_APPROVER;
145
- setApproveDrawerVisible(false);
146
- setFlowTaskInfoModalVisible(res === null || res === void 0 ? void 0 : res.toBeSubmittedFlowTaskFlag);
147
- setFlowTaskInfoList((res === null || res === void 0 ? void 0 : res.toBeSubmittedFlowTaskInfo) || []);
148
- const tempArr = [];
149
- (_a = res === null || res === void 0 ? void 0 : res.toBeSubmittedFlowTaskInfo) === null || _a === void 0 ? void 0 : _a.forEach((item) => {
150
- tempArr.push(item.waitFlowTaskId);
151
- });
152
- setAllInfos(tempArr);
153
- // eslint-disable-next-line rulesdir/no-timer
154
- setTimeout(() => {
155
- completeFlowTask(tempArr);
156
- }, 600000);
157
- }
158
- else {
159
- setApproveDrawerVisible(false);
160
- onFinishFlowAction();
161
- }
162
- }
163
- })
164
- .catch((error) => {
165
- message.error({ content: error.message || '请求出错' });
166
- })
167
- .finally(() => {
168
- setSubmitLoading(false);
169
- setSubmitApplyLoading(false);
170
- });
171
- };
172
- const onCloseFlowTaskInfoModal = () => {
173
- completeFlowTask(allInfos);
174
- };
175
- const completeFlowTask = (allUser) => {
176
- postFlowTaskList({
177
- flowTaskIds: flowTaskIds.length ? flowTaskIds : allUser,
178
- }, { callWedaApi }).then((res) => {
179
- if (res.status) {
180
- onFlowTaskInfoModalVisibleChange();
181
- onFinishFlowAction();
182
- }
183
- });
184
- };
185
- /** 返回流程中心 */
186
- const onBackFlowCenter = () => {
187
- ControlModelUtils.navigateToFlowCenter();
188
- };
189
- /** 完成流程动作后的事件 */
190
- const onFinishFlowAction = async (params) => {
191
- const { handleType } = params || {};
192
- const currentHandleType = handleType || handleTypeRef.current;
193
- const customizeFinishActionName = ACTION_FINISH_MAP === null || ACTION_FINISH_MAP === void 0 ? void 0 : ACTION_FINISH_MAP[currentHandleType];
194
- const customizeFinishAction = events === null || events === void 0 ? void 0 : events[customizeFinishActionName];
195
- if (customizeFinishAction) {
196
- // 当前动作不是加签的话,需要切换URL参数
197
- if (currentHandleType !== ACTION_TYPE.ADD_ASSIGNEE) {
198
- // 默认切换页面类型为【我已处理】
199
- let newPageType = 'DONE';
200
- // 提交后需要切换页面类型为【我发起的】
201
- if (currentHandleType === ACTION_TYPE.SUBMIT) {
202
- newPageType = 'CREATE';
203
- }
204
- // 保存草稿后切换页面类型为【草稿箱】
205
- if (currentHandleType === ACTION_TYPE.SAVE_DRAFT) {
206
- newPageType = 'DRAFT';
207
- }
208
- ControlModelUtils.updateUrlSearch({ pageType: newPageType });
209
- }
210
- // 操作类型不是回退的情况才reload数据 回退之后当前流程被销毁 故回退之后不刷新数据
211
- if (currentHandleType === ACTION_TYPE.GO_BACK) {
212
- setHasGoBack(true);
213
- setFormType('read');
214
- }
215
- else {
216
- // 重新加载数据
217
- reload();
218
- }
219
- // 执行自定义事件
220
- customizeFinishAction === null || customizeFinishAction === void 0 ? void 0 : customizeFinishAction();
221
- }
222
- };
223
- return {
224
- userModalVisible,
225
- approveDrawerVisible,
226
- submitApplyLoading,
227
- submitLoading,
228
- handleType,
229
- flowTaskInfoModalVisible,
230
- flowTaskInfoList,
231
- allInfos,
232
- flowTaskIds,
233
- ccUserModelVisible,
234
- ccUsers,
235
- ifSubmitAndCc,
236
- hasGoBack,
237
- setUserModalVisible,
238
- setCcUsers,
239
- setCcUserModelVisible,
240
- onAddCounterSign,
241
- onControlChick,
242
- onApproveDrawerVisibleChange,
243
- onUserModalVisibleChange,
244
- onTriggerFlowEvent,
245
- onFlowTaskInfoModalVisibleChange,
246
- setFlowTaskIds,
247
- onSaveDraft,
248
- onCloseFlowTaskInfoModal,
249
- onBackFlowCenter,
250
- onFinishFlowAction,
251
- };
252
- };
@@ -1,84 +0,0 @@
1
- import { useState, useEffect } from 'react';
2
- import { postApprovalSign } from '../../../services';
3
- import { ACTION_TYPE } from '../constants';
4
- export const useMobileModel = (params, controlModel) => {
5
- const { safeJsonParse, callWedaApi } = params.flowLocalProps;
6
- const { setCcUsers, onFinishFlowAction } = controlModel;
7
- const [showMoreAction, setShowMoreAction] = useState(false);
8
- const [userSelectModelVisible, setUserSelectModelVisible] = useState(false);
9
- const [userSelectApproveField, setUserSelectApproveField] = useState('');
10
- const [userSelectMode, setUserSelectMode] = useState('');
11
- const [fileList, setFileList] = useState([]);
12
- const [approvers, setApprovers] = useState([]);
13
- const [approver, setApprover] = useState('');
14
- const [opinionUserMap, setOpinionUserMap] = useState({});
15
- const [highlightPositionMap, setHighlightPositionMap] = useState({});
16
- const [loadingAssign, setLoadingAssign] = useState(false);
17
- useEffect(() => {
18
- if (!userSelectModelVisible) {
19
- const popupData = sessionStorage.getItem('FlowActionsMobile');
20
- const hasSignSubmit = sessionStorage.getItem('hasSignSubmit');
21
- const ccUserFormStorage = safeJsonParse(sessionStorage.getItem('ccUsers'));
22
- if (popupData) {
23
- const pageActionData = safeJsonParse(popupData);
24
- const { opinionUserMap, highlightPositionMap, approver, approvers, fileList, ccUsers, } = pageActionData;
25
- setApprover(approver || []);
26
- setApprovers(approvers || []);
27
- setOpinionUserMap({ ...opinionUserMap });
28
- setHighlightPositionMap({ ...highlightPositionMap });
29
- setFileList(fileList);
30
- if (ccUsers) {
31
- setCcUsers(ccUserFormStorage.map((user) => ({
32
- value: user.UserId,
33
- text: user.Name,
34
- })));
35
- }
36
- if (hasSignSubmit) {
37
- setLoadingAssign(true);
38
- const assigneeIds = pageActionData === null || pageActionData === void 0 ? void 0 : pageActionData.assigneeIds;
39
- postApprovalSign({ ...pageActionData, assigneeIds }, { callWedaApi }).then((res) => {
40
- if (res === null || res === void 0 ? void 0 : res.status) {
41
- setLoadingAssign(false);
42
- sessionStorage.removeItem('FlowActionsMobile');
43
- sessionStorage.removeItem('hasSignSubmit');
44
- onFinishFlowAction({
45
- handleType: ACTION_TYPE.ADD_ASSIGNEE,
46
- });
47
- }
48
- });
49
- }
50
- }
51
- }
52
- }, [userSelectModelVisible]);
53
- const onUserSelectModelVisibleChange = () => {
54
- setUserSelectModelVisible(!userSelectModelVisible);
55
- };
56
- const onShowMoreVisibleChange = () => {
57
- setShowMoreAction(!showMoreAction);
58
- };
59
- const onUserSelectModalInfoChange = ({ approveField, mode }) => {
60
- setUserSelectApproveField(approveField);
61
- setUserSelectMode(mode);
62
- };
63
- return {
64
- showMoreAction,
65
- userSelectModelVisible,
66
- userSelectApproveField,
67
- userSelectMode,
68
- approver,
69
- approvers,
70
- fileList,
71
- opinionUserMap,
72
- highlightPositionMap,
73
- loadingAssign,
74
- setUserSelectModelVisible,
75
- setFileList,
76
- setApprovers,
77
- setApprover,
78
- setOpinionUserMap,
79
- setHighlightPositionMap,
80
- onShowMoreVisibleChange,
81
- onUserSelectModelVisibleChange,
82
- onUserSelectModalInfoChange,
83
- };
84
- };
@@ -1,84 +0,0 @@
1
- import { useState } from 'react';
2
- import { revokeFlow, fetchBackNodeList, rollBackFlow } from '../../../services';
3
- import { ACTION_TYPE } from '../constants';
4
- // 撤销/回退逻辑
5
- export const useRevokeAndBackHook = (params, controlModel) => {
6
- const { flowDetail } = params.commonFlowData;
7
- const { callWedaApi, currentPageType } = params.flowLocalProps;
8
- const { onFinishFlowAction } = controlModel;
9
- const [showRevokeModal, setShowRevokeModal] = useState(false);
10
- const [showBackModal, setShowBackModal] = useState(false);
11
- const [backNodeList, setBackNodeList] = useState([]);
12
- const [backNode, setBackNode] = useState('');
13
- const doneRevokeFn = () => {
14
- // 调用撤销接口
15
- revokeFlow({
16
- flowCode: flowDetail.flowCode,
17
- appVersion: flowDetail.flowVersion,
18
- instanceId: flowDetail.instanceId,
19
- revokeType: currentPageType === 'CREATE' ? 2 : 1,
20
- taskId: currentPageType === 'DONE' ? flowDetail.taskId : undefined,
21
- }, { callWedaApi }).then((res) => {
22
- if (res) {
23
- setShowRevokeModal(false);
24
- onFinishFlowAction({ handleType: ACTION_TYPE.REVOKE });
25
- }
26
- });
27
- };
28
- const getNodeList = () =>
29
- // 获取回退节点列表
30
- fetchBackNodeList({
31
- flowCode: flowDetail.flowCode,
32
- appVersion: flowDetail.flowVersion,
33
- instanceId: flowDetail.instanceId,
34
- }, { callWedaApi }).then((res) => {
35
- if (res === null || res === void 0 ? void 0 : res.data) {
36
- let preNodeId = '';
37
- const options = res.data.map((item) => {
38
- if (item.lastNode) {
39
- preNodeId = item.elementId;
40
- }
41
- return {
42
- ...item,
43
- value: item.elementId,
44
- text: item.elementName,
45
- };
46
- });
47
- setBackNodeList(options);
48
- setBackNode(preNodeId);
49
- }
50
- });
51
- const doneBackFn = () => {
52
- var _a;
53
- if (!backNode)
54
- return;
55
- // 调用回退接口
56
- rollBackFlow({
57
- flowCode: flowDetail.flowCode,
58
- appVersion: flowDetail.flowVersion,
59
- instanceId: flowDetail.instanceId,
60
- taskId: flowDetail.taskId,
61
- nodeId: flowDetail.currentNodeId,
62
- sourceType: 1,
63
- targetNodeId: backNode,
64
- targetActTaskId: (_a = backNodeList.find((item) => item.value === backNode)) === null || _a === void 0 ? void 0 : _a.actTaskId,
65
- }, { callWedaApi }).then((res) => {
66
- if (res) {
67
- setShowBackModal(false);
68
- onFinishFlowAction({ handleType: ACTION_TYPE.GO_BACK });
69
- }
70
- });
71
- };
72
- return {
73
- showRevokeModal,
74
- setShowRevokeModal,
75
- doneRevokeFn,
76
- doneBackFn,
77
- showBackModal,
78
- setShowBackModal,
79
- getNodeList,
80
- backNodeList,
81
- backNode,
82
- setBackNode,
83
- };
84
- };
@@ -1,57 +0,0 @@
1
- import { parse, stringify } from 'querystring';
2
- import { getPageQuery } from '../../../../../utils/getPageQuery';
3
- export default class ControlModelUtils {
4
- static translateVariableInfos(pageFormData, pageDetail) {
5
- var _a;
6
- const outEntityCodes = (pageDetail === null || pageDetail === void 0 ? void 0 : pageDetail.outEntityCodes) || [];
7
- const originObjectMap = ((_a = pageDetail === null || pageDetail === void 0 ? void 0 : pageDetail.variableInfos) === null || _a === void 0 ? void 0 : _a.objectMap) || [];
8
- return outEntityCodes === null || outEntityCodes === void 0 ? void 0 : outEntityCodes.map((item) => {
9
- const originVariableInfo = originObjectMap === null || originObjectMap === void 0 ? void 0 : originObjectMap.find((info) => (info === null || info === void 0 ? void 0 : info.entityCode) === (item === null || item === void 0 ? void 0 : item.entityCode));
10
- const { recordId, fieldValueMap } = originVariableInfo || {};
11
- const Value = Object.assign({
12
- entityCode: item === null || item === void 0 ? void 0 : item.entityCode,
13
- fieldValueMap: {
14
- ...(fieldValueMap || {}),
15
- ...((pageFormData === null || pageFormData === void 0 ? void 0 : pageFormData[item === null || item === void 0 ? void 0 : item.entityCode]) || {}),
16
- },
17
- }, recordId ? { recordId } : {});
18
- const variableInfo = {
19
- Type: item === null || item === void 0 ? void 0 : item.type,
20
- Value,
21
- };
22
- return variableInfo;
23
- });
24
- }
25
- static navigateToFlowCenter() {
26
- const { origin, pathname } = location;
27
- const { envType } = getPageQuery();
28
- window.location.href = `${origin}${pathname}#/flowCenter?envType=${envType}`;
29
- }
30
- static convertVariableInfosFormat(data) {
31
- if (data.length) {
32
- return data.map((v) => {
33
- var _a, _b, _c, _d;
34
- const item = { ...v };
35
- if (!((_a = item.value) === null || _a === void 0 ? void 0 : _a.recordId) && ((_b = item.value) === null || _b === void 0 ? void 0 : _b.fieldValueMap)) {
36
- item.value.recordId = ((_d = (_c = item.value) === null || _c === void 0 ? void 0 : _c.fieldValueMap) === null || _d === void 0 ? void 0 : _d.recordId) || '';
37
- }
38
- return item;
39
- });
40
- }
41
- return [];
42
- }
43
- }
44
- Object.defineProperty(ControlModelUtils, "updateUrlSearch", {
45
- enumerable: true,
46
- configurable: true,
47
- writable: true,
48
- value: (newSearchOption) => {
49
- const { hash, origin, pathname } = location;
50
- const currentHash = hash.split('?')[0];
51
- const currentSearch = parse(hash.split('?')[1]);
52
- const newSearch = stringify({ ...currentSearch, ...newSearchOption });
53
- const newHash = `${currentHash}?${newSearch}`;
54
- const newUrl = `${origin}${pathname}${newHash}`;
55
- history.pushState('', '', newUrl);
56
- }
57
- });
@@ -1,3 +0,0 @@
1
- import ControlModelUtils from './ControlModelUtils';
2
- export * from './tools';
3
- export { ControlModelUtils };
@@ -1,3 +0,0 @@
1
- export function setOperationButtonId(operationName) {
2
- return `weda_flow_${operationName}_btn`;
3
- }