@cloudbase/weda-ui 3.4.5 → 3.4.7

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,240 +0,0 @@
1
- import React, { useState, useEffect, useRef } from 'react';
2
- import { Icon, Button } from 'tea-component';
3
- import { Popup, Field } from 'react-vant';
4
- import { HighlightTextarea } from '../../components';
5
- import { useControlContext } from './provider';
6
- import { ACTION_TYPE } from './constants';
7
- import './ApprovalPopup.css';
8
- const ExtraDOM = (props) => {
9
- const { type, statusMessage, setStatusMessage, operationName, opinionUserMap, setOpinionUserMap, setHighlightPositionMap, prevFn, onUserSelectModelVisibleChange, onUserSelectModalInfoChange, safeJsonParse, userSelectModelVisible, setApproveComment, } = props;
10
- const [approveInfo, setApproveInfo] = useState('');
11
- useEffect(() => {
12
- if (!userSelectModelVisible) {
13
- const popupData = sessionStorage.getItem('FlowActionsMobile');
14
- if (popupData) {
15
- const { approveInfo: localApproveInfo } = safeJsonParse(popupData);
16
- setApproveInfo(localApproveInfo);
17
- }
18
- }
19
- }, [userSelectModelVisible]);
20
- const toSelectPerson = () => {
21
- prevFn === null || prevFn === void 0 ? void 0 : prevFn(approveInfo);
22
- onUserSelectModelVisibleChange();
23
- onUserSelectModalInfoChange({
24
- approveField: 'highLightApprovers',
25
- mode: 'multiple',
26
- });
27
- };
28
- const approveInfoLabel = type === 'handle' ? `${operationName}意见` : '审批意见';
29
- return (React.createElement(React.Fragment, null,
30
- React.createElement(Field, { className: "highlightTextarea-cell_wrapper", label: React.createElement("div", { className: "highlightTextarea-mobile__wrapper" },
31
- React.createElement("span", { className: "label" },
32
- type === 'reject' && React.createElement("span", { style: { color: '#ee0a24' } }, "*"),
33
- approveInfoLabel),
34
- React.createElement("span", { onClick: toSelectPerson, className: "extra-dom" }, "@\u67D0\u4EBA"),
35
- React.createElement(HighlightTextarea, { value: approveInfo || '', size: "mobile", placeholder: `请输入您的${approveInfoLabel},可@通知他人`, opinionUserMap: opinionUserMap, setOpinionUserMap: setOpinionUserMap, setHighlightPositionMap: setHighlightPositionMap, onChange: (value) => {
36
- setApproveComment(value);
37
- setApproveInfo(value);
38
- setStatusMessage(null);
39
- if (type === 'reject' && !value.trim()) {
40
- setStatusMessage(`请输入${approveInfoLabel}`);
41
- }
42
- if (value.length > 500) {
43
- setStatusMessage(`${approveInfoLabel}长度不可超过500,请检查`);
44
- }
45
- } }),
46
- statusMessage && (React.createElement("div", { className: "pant-field__error-message" }, statusMessage))), placeholder: "" })));
47
- };
48
- const ApprovePerson = (props) => {
49
- const { label, onChange, approvers, prevFn, type, approveField = 'approvers', onUserSelectModelVisibleChange, onUserSelectModalInfoChange, safeJsonParse, } = props;
50
- const getUserMap = () => {
51
- var _a;
52
- return (_a = safeJsonParse(sessionStorage.getItem('approvers'))) === null || _a === void 0 ? void 0 : _a.reduce((p, c) => {
53
- // eslint-disable-next-line no-param-reassign
54
- p[c === null || c === void 0 ? void 0 : c.UserId] = c === null || c === void 0 ? void 0 : c.Name;
55
- return p;
56
- }, {});
57
- };
58
- const toSelectPerson = () => {
59
- prevFn === null || prevFn === void 0 ? void 0 : prevFn();
60
- onUserSelectModelVisibleChange();
61
- onUserSelectModalInfoChange({
62
- approveField,
63
- mode: [ACTION_TYPE.AGREE, ACTION_TYPE.TRANSFER].includes(type)
64
- ? 'multiple'
65
- : 'single',
66
- });
67
- };
68
- const removeItem = (index) => {
69
- const approversAvatar = approvers.filter((item, idx) => idx !== index);
70
- onChange(approversAvatar);
71
- };
72
- return (React.createElement(React.Fragment, null,
73
- React.createElement(Field, { label: React.createElement(React.Fragment, null,
74
- React.createElement("span", { className: "label" }, label)), className: "label-execute__btn", name: "approvers", placeholder: "" },
75
- React.createElement("span", { className: "btn-show-modal", onClick: toSelectPerson },
76
- React.createElement("i", { className: "apa-icon apa-icon-plus-blue" }),
77
- "\u4EBA\u5458")),
78
- (approvers === null || approvers === void 0 ? void 0 : approvers.length) > 0
79
- ? approvers === null || approvers === void 0 ? void 0 : approvers.map((item, index) => {
80
- var _a;
81
- return (React.createElement("div", { className: "person-item", key: `person-item_${index}` },
82
- React.createElement("span", null, ((_a = getUserMap()) === null || _a === void 0 ? void 0 : _a[item]) || item),
83
- React.createElement(Icon, { type: "dismiss", onClick: () => removeItem(index) })));
84
- })
85
- : null));
86
- };
87
- export const ApprovalPopup = (props) => {
88
- var _a, _b, _c;
89
- const { pageInfo, flowDetail, safeJsonParse } = props;
90
- const { handleType, approveDrawerVisible, submitLoading, approver, approvers, fileList, opinionUserMap, highlightPositionMap, userSelectModelVisible, setFileList, setApprovers, setApprover, setOpinionUserMap, setHighlightPositionMap, onApproveDrawerVisibleChange, onUserSelectModelVisibleChange, onUserSelectModalInfoChange, onTriggerFlowEvent, } = useControlContext();
91
- const { startAppCode: appCode, currentNodeName: nodeName, operationName, currentApproverName, } = flowDetail || {};
92
- const { buttons, showCarbonCopy } = pageInfo || {};
93
- const [statusMessage, setStatusMessage] = useState('');
94
- const approveInfoRef = useRef('');
95
- const stateMap = {
96
- fileList: {
97
- default: [],
98
- fn: setFileList,
99
- },
100
- approvers: {
101
- default: [],
102
- fn: setApprovers,
103
- },
104
- approver: {
105
- default: '',
106
- fn: setApprover,
107
- },
108
- statusMessage: {
109
- default: '',
110
- fn: setStatusMessage,
111
- },
112
- };
113
- const approvalType = {
114
- agree: {
115
- title: `${(buttons === null || buttons === void 0 ? void 0 : buttons[1]) || '同意'}`,
116
- dom: true,
117
- personLabel: '抄送',
118
- },
119
- reject: {
120
- title: `${(buttons === null || buttons === void 0 ? void 0 : buttons[2]) || '拒绝'}`,
121
- dom: true,
122
- personLabel: '抄送',
123
- },
124
- transfer: {
125
- title: '转办',
126
- dom: false,
127
- personLabel: '转办',
128
- },
129
- handle: {
130
- title: '处理',
131
- dom: true,
132
- personLabel: '抄送',
133
- },
134
- };
135
- useEffect(() => {
136
- if (!approveDrawerVisible) {
137
- // resetValue?.();
138
- Object.values(stateMap).forEach(({ default: defaultValue, fn }) => fn(defaultValue));
139
- }
140
- else if (!approver) {
141
- if (!props.approver) {
142
- // postUserInfo().then((res) => {
143
- // if (res?.data) {
144
- // setApprover(res?.data?.name);
145
- // }
146
- // });
147
- }
148
- else {
149
- Object.entries(stateMap).forEach(([key, value]) => value.fn(props[key]));
150
- }
151
- }
152
- }, [approveDrawerVisible]);
153
- useEffect(() => {
154
- setApprovers(props.approvers);
155
- }, [props.approvers]);
156
- useEffect(() => {
157
- setFileList(props.fileList);
158
- }, [props.fileList]);
159
- useEffect(() => {
160
- var _a;
161
- setOpinionUserMap((_a = props.opinionUserMap) !== null && _a !== void 0 ? _a : {});
162
- }, [props.opinionUserMap]);
163
- useEffect(() => {
164
- var _a;
165
- setHighlightPositionMap((_a = props.highlightPositionMap) !== null && _a !== void 0 ? _a : {});
166
- }, [props.highlightPositionMap]);
167
- const onChange = (key, value) => {
168
- stateMap[key].fn(value);
169
- };
170
- const handleSubmit = () => {
171
- const obj = {
172
- operationComment: approveInfoRef.current || '',
173
- opinionUserMap,
174
- highlightPositionList: JSON.stringify(highlightPositionMap),
175
- attachmentInfo: JSON.stringify(fileList),
176
- ccUserIds: approvers === null || approvers === void 0 ? void 0 : approvers.join(','),
177
- turnToUserId: approvers === null || approvers === void 0 ? void 0 : approvers[0],
178
- };
179
- switch (handleType) {
180
- case 'agree':
181
- Reflect.deleteProperty(obj, 'turnToUserId');
182
- break;
183
- case 'reject':
184
- Reflect.deleteProperty(obj, 'ccUserIds');
185
- Reflect.deleteProperty(obj, 'turnToUserId');
186
- break;
187
- case 'transfer':
188
- Reflect.deleteProperty(obj, 'ccUserIds');
189
- break;
190
- }
191
- onTriggerFlowEvent(obj);
192
- };
193
- const dynamiticHeight = handleType === 'transfer' ? '500px' : '540px';
194
- const saveTemp = (approveInfo) => {
195
- approveInfoRef.current = approveInfo;
196
- const temp = {
197
- fileList,
198
- approveInfo,
199
- opinionUserMap,
200
- highlightPositionMap,
201
- approvers,
202
- handleType,
203
- approveDrawerVisible,
204
- appCode,
205
- // addApprovers,
206
- // tagType,
207
- // addTag,
208
- nodeName,
209
- approver,
210
- };
211
- sessionStorage.setItem('FlowActionsMobile', JSON.stringify(temp));
212
- };
213
- const setApproveComment = (value) => {
214
- approveInfoRef.current = value;
215
- };
216
- return (React.createElement(React.Fragment, null,
217
- React.createElement(Popup, { visible: approveDrawerVisible, position: "bottom", style: { height: dynamiticHeight }, onClose: onApproveDrawerVisibleChange, closeable: true, className: "cp-vant-popup", overlayStyle: { zIndex: 998 } },
218
- React.createElement(React.Fragment, null,
219
- React.createElement("div", { className: "popup-content-wrapper" },
220
- React.createElement("h3", { className: "popup-title" }, handleType === 'handle'
221
- ? `${operationName}意见`
222
- : `审批意见 - ${(_a = approvalType === null || approvalType === void 0 ? void 0 : approvalType[handleType]) === null || _a === void 0 ? void 0 : _a.title}`),
223
- React.createElement(Field, { value: nodeName, label: "\u5F53\u524D\u8282\u70B9", readOnly: true }),
224
- React.createElement(Field, { value: currentApproverName || '-', label: handleType === 'handle' ? '处理人' : '审批人', readOnly: true }),
225
- ((_b = approvalType === null || approvalType === void 0 ? void 0 : approvalType[handleType]) === null || _b === void 0 ? void 0 : _b.dom) && approveDrawerVisible ? (React.createElement(ExtraDOM, { type: handleType, appCode: appCode, onChange: onChange, fileList: fileList, operationName: operationName, statusMessage: statusMessage, setStatusMessage: setStatusMessage, opinionUserMap: opinionUserMap, setOpinionUserMap: setOpinionUserMap, setHighlightPositionMap: setHighlightPositionMap, prevFn: saveTemp, onUserSelectModelVisibleChange: onUserSelectModelVisibleChange, onUserSelectModalInfoChange: onUserSelectModalInfoChange, safeJsonParse: safeJsonParse, userSelectModelVisible: userSelectModelVisible, setApproveComment: setApproveComment })) : null,
226
- handleType !== 'reject' &&
227
- (showCarbonCopy || handleType === 'transfer') ? (React.createElement(ApprovePerson, { type: handleType, prevFn: saveTemp, approvers: approvers, label: (_c = approvalType === null || approvalType === void 0 ? void 0 : approvalType[handleType]) === null || _c === void 0 ? void 0 : _c.personLabel, onChange: (val) => onChange('approvers', val), onUserSelectModelVisibleChange: onUserSelectModelVisibleChange, onUserSelectModalInfoChange: onUserSelectModalInfoChange, safeJsonParse: safeJsonParse })) : null),
228
- React.createElement(Button, { className: "success-btn apa-height-xl", type: "primary", loading: submitLoading, onClick: () => {
229
- var _a;
230
- if (handleType === 'reject' && !approveInfoRef.current.trim()) {
231
- setStatusMessage('请输入审批意见');
232
- return;
233
- }
234
- if (((_a = approveInfoRef.current) === null || _a === void 0 ? void 0 : _a.length) > 500) {
235
- setStatusMessage('审批意见长度不可超过500,请检查');
236
- return;
237
- }
238
- handleSubmit();
239
- } }, "\u63D0\u4EA4")))));
240
- };
@@ -1,29 +0,0 @@
1
- .page-process__progress__app-page {
2
- height: auto;
3
- }
4
- .mf-progress-footer__app-page {
5
- left: 233px;
6
- }
7
- .page-process__progress .mf-progress-footer {
8
- overflow-x: auto;
9
- background: #fff;
10
- text-align: center;
11
- padding: 20px;
12
- }
13
- .page-process__progress .mf-progress-footer .mf-progress-footer__btn-line {
14
- position: relative;
15
- margin-left: 24px;
16
- }
17
- .page-process__progress
18
- .mf-progress-footer
19
- .mf-progress-footer__btn-line:before {
20
- border-left: 1px solid rgba(0, 0, 0, 0.25);
21
- height: 30px;
22
- content: '';
23
- position: absolute;
24
- top: 3px;
25
- left: -13px;
26
- }
27
- .mf-progress-footer__btn-group {
28
- display: inline-flex;
29
- }
@@ -1,105 +0,0 @@
1
- import React from 'react';
2
- import { Button, Modal, Form, Select } from 'tea-component';
3
- import classNames from '../../../../utils/classnames';
4
- import { UserSelectModel } from '../../components';
5
- import { useControlContext } from './provider';
6
- import { ACTION_TYPE } from './constants';
7
- import { ApprovalDrawer } from './ApprovalDrawer';
8
- import { FlowTaskInfoModal } from './FlowTaskInfoModal';
9
- import { setOperationButtonId } from './utils';
10
- import './Control.css';
11
- export const FlowControl = (props) => {
12
- const { commonFlowData, flowLocalProps, ide } = props;
13
- const { flowDetail, pageInfo } = commonFlowData;
14
- const { isWedaIde, currentPageType } = flowLocalProps;
15
- const {
16
- // ControlModel
17
- userModalVisible, submitApplyLoading, ccUserModelVisible, ccUsers, ifSubmitAndCc, hasGoBack, setCcUsers, setCcUserModelVisible, onControlChick, setUserModalVisible, onUserModalVisibleChange, onAddCounterSign, onBackFlowCenter,
18
- // RevokeModel
19
- showRevokeModal, showBackModal, backNodeList, backNode, setShowRevokeModal, doneRevokeFn, doneBackFn, setShowBackModal, getNodeList, setBackNode, } = useControlContext();
20
- const onClickGoBack = async () => {
21
- await getNodeList();
22
- setShowBackModal(true);
23
- };
24
- const footerClassNames = classNames('mf-progress-footer', {
25
- 'mf-progress-footer__app-page': !isWedaIde,
26
- });
27
- const containerClassNames = classNames('page-process__progress', {
28
- 'page-process__progress__app-page': !isWedaIde,
29
- });
30
- const renderButtonGroup = () => {
31
- var _a, _b, _c;
32
- if (hasGoBack)
33
- return null;
34
- /**
35
- * 审批页面类型 - approval:审批页面,apply:提交审批页面
36
- * 微搭编辑器中预览按钮区域根据审批页面类型展示不同的按钮,审批页面类型是提交审批页面 且在微搭编辑器中 的话 渲染提交申请按钮组
37
- */
38
- if (((_a = ide.bindMetadata) === null || _a === void 0 ? void 0 : _a.approvalPageType) === 'apply' && isWedaIde) {
39
- return (React.createElement("div", { className: footerClassNames },
40
- React.createElement(ButtonLayout, { gap: 10 },
41
- React.createElement(Button, { type: "primary" }, "\u63D0\u4EA4\u7533\u8BF7"),
42
- React.createElement(Button, { type: "weak" }, "\u4FDD\u5B58\u8349\u7A3F"),
43
- React.createElement(Button, { type: "weak" }, "\u53D6\u6D88"))));
44
- }
45
- if (['CREATE', 'DONE'].includes(currentPageType) && (pageInfo === null || pageInfo === void 0 ? void 0 : pageInfo.showRevoke)) {
46
- return (React.createElement("div", { className: footerClassNames },
47
- React.createElement(Button, { type: "weak", onClick: () => setShowRevokeModal(true), id: setOperationButtonId('revoke') }, "\u64A4\u9500")));
48
- }
49
- if (['DRAFT', 'CREATEFLOW', 'TODO'].includes(currentPageType) &&
50
- (pageInfo === null || pageInfo === void 0 ? void 0 : pageInfo.show)) {
51
- if (pageInfo === null || pageInfo === void 0 ? void 0 : pageInfo.showSubmitApp) {
52
- return (React.createElement("div", { className: footerClassNames },
53
- React.createElement(ButtonLayout, { gap: 10 },
54
- ifSubmitAndCc ? (React.createElement(Button, { type: "link", onClick: () => setCcUserModelVisible(true), id: setOperationButtonId('cc') },
55
- "+\u6284\u9001\u4EBA(",
56
- (ccUsers === null || ccUsers === void 0 ? void 0 : ccUsers.length) || 0,
57
- ")")) : null,
58
- React.createElement(Button, { type: "primary", loading: submitApplyLoading, onClick: (e) => onControlChick(ACTION_TYPE.SUBMIT, e), id: setOperationButtonId('submit') }, ((_b = pageInfo === null || pageInfo === void 0 ? void 0 : pageInfo.buttons) === null || _b === void 0 ? void 0 : _b[3]) || '提交申请'),
59
- (flowDetail === null || flowDetail === void 0 ? void 0 : flowDetail.canDelete) && (React.createElement(React.Fragment, null,
60
- React.createElement(Button, { type: "weak", onClick: (e) => onControlChick(ACTION_TYPE.SAVE_DRAFT, e), id: setOperationButtonId('save_draft') }, "\u4FDD\u5B58\u8349\u7A3F"),
61
- React.createElement(Button, { type: "weak", onClick: onBackFlowCenter }, "\u53D6\u6D88"))))));
62
- }
63
- return (React.createElement("div", { className: footerClassNames },
64
- React.createElement(ButtonLayout, null,
65
- (flowDetail === null || flowDetail === void 0 ? void 0 : flowDetail.userTaskType) === 2 ? (React.createElement(Button, { type: "primary", onClick: (e) => onControlChick(ACTION_TYPE.HANDLE, e), id: setOperationButtonId('handle') }, flowDetail === null || flowDetail === void 0 ? void 0 : flowDetail.operationName)) : (React.createElement(ButtonLayout, { gap: 10 },
66
- React.createElement(Button, { type: "primary", onClick: (e) => onControlChick(ACTION_TYPE.AGREE, e), id: setOperationButtonId('agree') }, (pageInfo === null || pageInfo === void 0 ? void 0 : pageInfo.buttons) ? pageInfo === null || pageInfo === void 0 ? void 0 : pageInfo.buttons[1] : '同意'),
67
- React.createElement(Button, { type: "weak", onClick: (e) => onControlChick(ACTION_TYPE.REJECT, e), id: setOperationButtonId('reject') }, (pageInfo === null || pageInfo === void 0 ? void 0 : pageInfo.buttons) ? pageInfo === null || pageInfo === void 0 ? void 0 : pageInfo.buttons[2] : '拒绝'))),
68
- (pageInfo === null || pageInfo === void 0 ? void 0 : pageInfo.showTurnToPerson) ? (React.createElement(Button, { type: "weak", className: "mf-progress-footer__btn-line", onClick: (e) => onControlChick(ACTION_TYPE.TRANSFER, e), id: setOperationButtonId('turn_to_person') }, "\u8F6C\u529E")) : null,
69
- (pageInfo === null || pageInfo === void 0 ? void 0 : pageInfo.showRollBack) && (React.createElement(Button, { type: "weak", className: "mf-progress-footer__btn-line", onClick: onClickGoBack, id: setOperationButtonId('roll_back') }, "\u56DE\u9000")),
70
- (pageInfo === null || pageInfo === void 0 ? void 0 : pageInfo.showAddAssignee) && (React.createElement(Button, { type: "weak", className: "mf-progress-footer__btn-line", onClick: onUserModalVisibleChange, id: setOperationButtonId('add_assignee') }, "\u52A0\u7B7E")))));
71
- }
72
- if (['DRAFT', 'CREATEFLOW'].includes(currentPageType)) {
73
- return (React.createElement("div", { className: footerClassNames },
74
- React.createElement(Button, { type: "primary", loading: submitApplyLoading, onClick: (e) => onControlChick(ACTION_TYPE.SUBMIT, e), id: setOperationButtonId('submit') }, ((_c = pageInfo === null || pageInfo === void 0 ? void 0 : pageInfo.buttons) === null || _c === void 0 ? void 0 : _c[3]) || '提交申请'),
75
- React.createElement(Button, { type: "weak", onClick: (e) => onControlChick(ACTION_TYPE.SAVE_DRAFT, e), id: setOperationButtonId('save_draft') }, "\u4FDD\u5B58\u8349\u7A3F"),
76
- React.createElement(Button, { type: "weak", onClick: onBackFlowCenter }, "\u53D6\u6D88")));
77
- }
78
- return null;
79
- };
80
- return (
81
- // eslint-disable-next-line react/jsx-props-no-spreading
82
- React.createElement("div", { ...ide },
83
- React.createElement("div", { className: containerClassNames },
84
- renderButtonGroup(),
85
- React.createElement(Modal, { visible: showBackModal, caption: '流程回退', onClose: () => setShowBackModal(false) },
86
- React.createElement(Modal.Body, null,
87
- React.createElement(Form, null,
88
- React.createElement(Form.Item, { label: '选择回退节点' },
89
- React.createElement(Select, { size: "full", appearance: "button", matchButtonWidth: true, options: backNodeList, value: backNode, onChange: (value) => setBackNode(value) })))),
90
- React.createElement(Modal.Footer, null,
91
- React.createElement(Button, { type: "primary", disabled: (backNodeList === null || backNodeList === void 0 ? void 0 : backNodeList.length) === 0, onClick: () => doneBackFn() }, "\u786E\u5B9A"),
92
- React.createElement(Button, { type: "weak", onClick: () => setShowBackModal(false) }, "\u53D6\u6D88"))),
93
- React.createElement(Modal, { visible: showRevokeModal, caption: '撤销流程提醒', onClose: () => setShowRevokeModal(false) },
94
- React.createElement(Modal.Body, null, '流程正在进行中,确认撤销此流程?'),
95
- React.createElement(Modal.Footer, null,
96
- React.createElement(Button, { type: "primary", onClick: doneRevokeFn }, "\u786E\u5B9A"),
97
- React.createElement(Button, { type: "weak", onClick: () => setShowRevokeModal(false) }, "\u53D6\u6D88"))),
98
- React.createElement(UserSelectModel, { visible: userModalVisible, onChange: (val) => val.length && onAddCounterSign(val), onClose: () => setUserModalVisible(false) }),
99
- React.createElement(UserSelectModel, { value: ccUsers, visible: ccUserModelVisible, onUserIdChange: (ids) => setCcUsers(ids || []), onClose: () => setCcUserModelVisible(false) }),
100
- React.createElement(FlowTaskInfoModal, null),
101
- React.createElement(ApprovalDrawer, { pageInfo: pageInfo, flowDetail: flowDetail }))));
102
- };
103
- export const ButtonLayout = ({ children, gap }) => {
104
- return (React.createElement("div", { className: "mf-progress-footer__btn-group", style: { gap: gap || 0 } }, children));
105
- };
@@ -1,101 +0,0 @@
1
- .mf-progress-mb--footer {
2
- background: #fff;
3
- padding: 20px 0;
4
- text-align: center;
5
- width: 100%;
6
- }
7
- .approval-progress__more--dialog .wedatea2td-dialog__inner {
8
- width: 100%;
9
- padding: 0;
10
- vertical-align: bottom;
11
- min-width: 100%;
12
- border-radius: 0px;
13
- }
14
- @media (max-width: 1024px) {
15
- .approval-progress__more--dialog .wedatea2td-dialog__inner {
16
- margin: 0;
17
- }
18
- }
19
- .flow-popup {
20
- display: flex;
21
- max-height: 400px;
22
- flex-direction: column;
23
- }
24
- .flow-popup-title {
25
- height: 40px;
26
- display: flex;
27
- flex-shrink: 0;
28
- justify-content: space-between;
29
- align-items: center;
30
- font-size: 16px;
31
- font-weight: 400;
32
- padding: 0 20px;
33
- border-bottom: 1px solid #dcdee6;
34
- }
35
- .flow-popup-title .left {
36
- color: #666;
37
- }
38
- .flow-popup-title .center {
39
- font-size: 14px;
40
- color: #666;
41
- }
42
- .flow-popup-title .right {
43
- color: #006eff;
44
- }
45
- .flow-popup_mb-group-list {
46
- display: flex;
47
- align-items: center;
48
- }
49
- .flow-popup_mb-group-list span {
50
- flex: 1;
51
- white-space: nowrap;
52
- overflow: hidden;
53
- text-overflow: ellipsis;
54
- }
55
- .flow-popup_mb-group-list .apa-icon {
56
- width: 16px;
57
- height: 16px;
58
- display: inline-block;
59
- vertical-align: middle;
60
- background-repeat: no-repeat;
61
- background-position: inherit;
62
- font-size: 0;
63
- }
64
- .flow-popup_mb-group-list .apa-icon-star-fill-active {
65
- background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTZweCIgaGVpZ2h0PSIxNnB4IiB2aWV3Qm94PSIwIDAgMTYgMTYiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDU4ICg4NDY2MykgLSBodHRwczovL3NrZXRjaC5jb20gLS0+CiAgICA8dGl0bGU+55S75p2/PC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGcgaWQ9IueUu+advyIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9Iue8lue7hCI+CiAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaIiIHg9IjAiIHk9IjAiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PC9yZWN0PgogICAgICAgICAgICA8cGF0aCBkPSJNOC40NDgzNjgwNCwxLjcwODQ5Mjg4IEwxMC4zNTExNDEsNS41NjM5MzIwMiBMMTAuMzUxMTQxLDUuNTYzOTMyMDIgTDE0LjYwNTg3MDcsNi4xODIxODA0NCBDMTQuODc5MTQzMSw2LjIyMTg4OTI1IDE1LjA2ODQ4MzksNi40NzU2MTA2NyAxNS4wMjg3NzUxLDYuNzQ4ODgzMSBDMTUuMDEyOTYyOCw2Ljg1NzcwMTYyIDE0Ljk2MTcxOTIsNi45NTgyNzI4MiAxNC44ODI5Nzc0LDcuMDM1MDI3MTMgTDExLjgwNDIyNjEsMTAuMDM2MDY4IEwxMS44MDQyMjYxLDEwLjAzNjA2OCBMMTIuNTMxMDIwNywxNC4yNzM2MDU3IEMxMi41Nzc3MDEyLDE0LjU0NTc3MzkgMTIuMzk0OTA3MywxNC44MDQyNTE4IDEyLjEyMjczOSwxNC44NTA5MzI0IEMxMi4wMTQzNjAyLDE0Ljg2OTUyMDggMTEuOTAyODc2MiwxNC44NTE4NjM0IDExLjgwNTU0NTksMTQuODAwNjkzOSBMOCwxMi44IEw4LDEyLjggTDQuMTk0NDU0MDYsMTQuODAwNjkzOSBDMy45NTAwMzE3NywxNC45MjkxOTQzIDMuNjQ3NzE4MTksMTQuODM1MjIxIDMuNTE5MjE3NzgsMTQuNTkwNzk4OCBDMy40NjgwNDgyNSwxNC40OTM0Njg1IDMuNDUwMzkwOTEsMTQuMzgxOTg0NSAzLjQ2ODk3OTMzLDE0LjI3MzYwNTcgTDQuMTk1NzczOTMsMTAuMDM2MDY4IEw0LjE5NTc3MzkzLDEwLjAzNjA2OCBMMS4xMTcwMjI2LDcuMDM1MDI3MTMgQzAuOTE5MjgwODA2LDYuODQyMjc2NTIgMC45MTUyMzQ2NTMsNi41MjU3MTk4OSAxLjEwNzk4NTI2LDYuMzI3OTc4MSBDMS4xODQ3Mzk1Niw2LjI0OTIzNjI4IDEuMjg1MzEwNzcsNi4xOTc5OTI2OSAxLjM5NDEyOTI4LDYuMTgyMTgwNDQgTDUuNjQ4ODU4OTksNS41NjM5MzIwMiBMNS42NDg4NTg5OSw1LjU2MzkzMjAyIEw3LjU1MTYzMTk2LDEuNzA4NDkyODggQzcuNjczODQzMTEsMS40NjA4NjYwNSA3Ljk3MzY1NjAzLDEuMzU5MTk2NTUgOC4yMjEyODI4NiwxLjQ4MTQwNzY5IEM4LjMxOTg4OTE2LDEuNTMwMDcyODEgOC4zOTk3MDI5MiwxLjYwOTg4NjU3IDguNDQ4MzY4MDQsMS43MDg0OTI4OCBaIiBpZD0i5pif5b2iIiBmaWxsPSIjRjRDMDBDIiBmaWxsLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==);
66
- }
67
- .flow-popup_mb-group-list .apa-icon-star-fill {
68
- background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTZweCIgaGVpZ2h0PSIxNnB4IiB2aWV3Qm94PSIwIDAgMTYgMTYiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDU4ICg4NDY2MykgLSBodHRwczovL3NrZXRjaC5jb20gLS0+CiAgICA8dGl0bGU+55S75p2/PC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGcgaWQ9IueUu+advyIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9Iue8lue7hCI+CiAgICAgICAgICAgIDxyZWN0IGlkPSLnn6nlvaIiIHg9IjAiIHk9IjAiIHdpZHRoPSIxNiIgaGVpZ2h0PSIxNiI+PC9yZWN0PgogICAgICAgICAgICA8cGF0aCBkPSJNOC40NDgzNjgwNCwxLjcwODQ5Mjg4IEwxMC4zNTExNDEsNS41NjM5MzIwMiBMMTAuMzUxMTQxLDUuNTYzOTMyMDIgTDE0LjYwNTg3MDcsNi4xODIxODA0NCBDMTQuODc5MTQzMSw2LjIyMTg4OTI1IDE1LjA2ODQ4MzksNi40NzU2MTA2NyAxNS4wMjg3NzUxLDYuNzQ4ODgzMSBDMTUuMDEyOTYyOCw2Ljg1NzcwMTYyIDE0Ljk2MTcxOTIsNi45NTgyNzI4MiAxNC44ODI5Nzc0LDcuMDM1MDI3MTMgTDExLjgwNDIyNjEsMTAuMDM2MDY4IEwxMS44MDQyMjYxLDEwLjAzNjA2OCBMMTIuNTMxMDIwNywxNC4yNzM2MDU3IEMxMi41Nzc3MDEyLDE0LjU0NTc3MzkgMTIuMzk0OTA3MywxNC44MDQyNTE4IDEyLjEyMjczOSwxNC44NTA5MzI0IEMxMi4wMTQzNjAyLDE0Ljg2OTUyMDggMTEuOTAyODc2MiwxNC44NTE4NjM0IDExLjgwNTU0NTksMTQuODAwNjkzOSBMOCwxMi44IEw4LDEyLjggTDQuMTk0NDU0MDYsMTQuODAwNjkzOSBDMy45NTAwMzE3NywxNC45MjkxOTQzIDMuNjQ3NzE4MTksMTQuODM1MjIxIDMuNTE5MjE3NzgsMTQuNTkwNzk4OCBDMy40NjgwNDgyNSwxNC40OTM0Njg1IDMuNDUwMzkwOTEsMTQuMzgxOTg0NSAzLjQ2ODk3OTMzLDE0LjI3MzYwNTcgTDQuMTk1NzczOTMsMTAuMDM2MDY4IEw0LjE5NTc3MzkzLDEwLjAzNjA2OCBMMS4xMTcwMjI2LDcuMDM1MDI3MTMgQzAuOTE5MjgwODA2LDYuODQyMjc2NTIgMC45MTUyMzQ2NTMsNi41MjU3MTk4OSAxLjEwNzk4NTI2LDYuMzI3OTc4MSBDMS4xODQ3Mzk1Niw2LjI0OTIzNjI4IDEuMjg1MzEwNzcsNi4xOTc5OTI2OSAxLjM5NDEyOTI4LDYuMTgyMTgwNDQgTDUuNjQ4ODU4OTksNS41NjM5MzIwMiBMNS42NDg4NTg5OSw1LjU2MzkzMjAyIEw3LjU1MTYzMTk2LDEuNzA4NDkyODggQzcuNjczODQzMTEsMS40NjA4NjYwNSA3Ljk3MzY1NjAzLDEuMzU5MTk2NTUgOC4yMjEyODI4NiwxLjQ4MTQwNzY5IEM4LjMxOTg4OTE2LDEuNTMwMDcyODEgOC4zOTk3MDI5MiwxLjYwOTg4NjU3IDguNDQ4MzY4MDQsMS43MDg0OTI4OCBaIiBpZD0i5pif5b2iIiBmaWxsPSIjQTJBQ0JEIiBmaWxsLXJ1bGU9Im5vbnplcm8iPjwvcGF0aD4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==);
69
- }
70
-
71
- .list-content {
72
- flex: 1;
73
- padding: 0 20px 20px;
74
- font-size: 14px;
75
- overflow-y: auto;
76
- }
77
- .list-content li {
78
- height: 40px;
79
- line-height: 40px;
80
- border-bottom: 1px solid #dcdee6;
81
- }
82
- .list-content .list-checked {
83
- color: #2473f2;
84
- display: flex;
85
- justify-content: space-between;
86
- align-items: center;
87
- }
88
-
89
- .list-checked::after {
90
- content: '\2713';
91
- width: 16px;
92
- height: 40px;
93
- }
94
-
95
- .list-content li span {
96
- display: inline-block;
97
- max-width: 90%;
98
- white-space: nowrap;
99
- overflow: hidden;
100
- text-overflow: ellipsis;
101
- }
@@ -1,148 +0,0 @@
1
- import React from 'react';
2
- import { Button, Status, Text, StatusTip } from 'tea-component';
3
- import { Popup } from 'react-vant';
4
- import { UserSelectModel } from '../../components';
5
- import { useControlContext } from './provider';
6
- import { ACTION_TYPE } from './constants';
7
- import { ApprovalPopup } from './ApprovalPopup';
8
- import { ButtonLayout } from './Control';
9
- import { setOperationButtonId } from './utils';
10
- import { FlowTaskInfoModal } from './FlowTaskInfoModal';
11
- import './ControlMobile.css';
12
- export const FlowControlMobile = (props) => {
13
- const { commonFlowData, flowLocalProps, ide } = props;
14
- const { pageInfo, flowDetail } = commonFlowData;
15
- const { isWedaIde, safeJsonParse, currentPageType } = flowLocalProps;
16
- const {
17
- // ControlModel
18
- submitApplyLoading, showMoreAction, ifSubmitAndCc, hasGoBack, ccUsers, onControlChick, onShowMoreVisibleChange, loadingAssign, onBackFlowCenter,
19
- // RevokeModel
20
- showRevokeModal, showBackModal, backNodeList, backNode, setShowRevokeModal, doneRevokeFn, doneBackFn, setShowBackModal, getNodeList, setBackNode, onUserSelectModalInfoChange, setUserSelectModelVisible, userSelectApproveField, userSelectModelVisible, userSelectMode, } = useControlContext();
21
- const onClickRollBack = async () => {
22
- await getNodeList();
23
- onShowMoreVisibleChange();
24
- setShowBackModal(true);
25
- };
26
- const onClickAddCcUser = () => {
27
- setUserSelectModelVisible(true);
28
- onUserSelectModalInfoChange({ approveField: 'ccUsers', mode: 'multiple' });
29
- };
30
- const buttonActionMap = {
31
- showTurnToPerson: {
32
- label: '转办',
33
- action: (e) => onControlChick(ACTION_TYPE.TRANSFER, e),
34
- operationName: 'turn_to_person',
35
- },
36
- showRollBack: {
37
- label: '回退',
38
- action: async () => {
39
- await getNodeList();
40
- setShowBackModal(true);
41
- },
42
- operationName: 'roll_back',
43
- },
44
- showAddAssignee: {
45
- label: '加签',
46
- action: () => {
47
- onShowMoreVisibleChange();
48
- sessionStorage.setItem('selected', JSON.stringify([]));
49
- sessionStorage.setItem('FlowActionsMobile', JSON.stringify({
50
- instanceId: flowDetail.instanceId,
51
- nodeId: flowDetail.currentNodeId,
52
- taskId: flowDetail.taskId,
53
- assigneeIds: [],
54
- }));
55
- sessionStorage.setItem('last-url', location.href);
56
- setUserSelectModelVisible(true);
57
- onUserSelectModalInfoChange({
58
- approveField: 'assigneeIds',
59
- mode: 'multiple',
60
- });
61
- },
62
- operationName: 'add_assignee',
63
- },
64
- };
65
- const renderButtonGroup = () => {
66
- var _a, _b;
67
- if (hasGoBack)
68
- return null;
69
- if (((_a = ide.bindMetadata) === null || _a === void 0 ? void 0 : _a.approvalPageType) === 'apply' && isWedaIde) {
70
- return (React.createElement("div", { className: "mf-progress-mb--footer" },
71
- React.createElement(ButtonLayout, { gap: 10 },
72
- React.createElement(Button, { type: "primary" }, "\u63D0\u4EA4\u7533\u8BF7"),
73
- React.createElement(Button, { type: "weak" }, "\u4FDD\u5B58\u8349\u7A3F"),
74
- React.createElement(Button, { type: "weak" }, "\u53D6\u6D88"))));
75
- }
76
- if (['CREATE', 'DONE'].includes(currentPageType) && (pageInfo === null || pageInfo === void 0 ? void 0 : pageInfo.showRevoke)) {
77
- return (React.createElement("div", { className: "mf-progress-mb--footer" },
78
- React.createElement(Button, { type: "primary", onClick: () => setShowRevokeModal(true), id: setOperationButtonId('revoke') }, "\u64A4\u9500")));
79
- }
80
- if (['DRAFT', 'CREATEFLOW', 'TODO'].includes(currentPageType) &&
81
- (pageInfo === null || pageInfo === void 0 ? void 0 : pageInfo.show)) {
82
- return (React.createElement("div", { className: "mf-progress-mb--footer" }, (pageInfo === null || pageInfo === void 0 ? void 0 : pageInfo.showSubmitApp) ? (React.createElement(ButtonLayout, { gap: 10 },
83
- flowDetail.canDelete ? (React.createElement(Button, { type: "link", onClick: () => onControlChick(ACTION_TYPE.SAVE_DRAFT), id: setOperationButtonId('save_draft') }, "\u4FDD\u5B58\u8349\u7A3F")) : null,
84
- ifSubmitAndCc ? (React.createElement(Button, { type: "link", onClick: onClickAddCcUser, id: setOperationButtonId('cc') },
85
- "+\u6284\u9001\u4EBA(",
86
- ccUsers.length || 0,
87
- ")")) : null,
88
- React.createElement(Button, { type: "primary", loading: submitApplyLoading, onClick: () => onControlChick(ACTION_TYPE.SUBMIT), id: setOperationButtonId('submit') }, ((_b = pageInfo === null || pageInfo === void 0 ? void 0 : pageInfo.buttons) === null || _b === void 0 ? void 0 : _b[3]) || '提交申请'),
89
- flowDetail.canDelete ? (React.createElement(Button, { type: "weak", onClick: onBackFlowCenter }, "\u53D6\u6D88")) : null)) : (React.createElement(ButtonLayout, { gap: 10 },
90
- ['showTurnToPerson', 'showRollBack', 'showAddAssignee'].filter((key) => pageInfo[key]).length >= 2 ? (React.createElement(Button, { type: "link", onClick: onShowMoreVisibleChange }, "\u66F4\u591A")) : (['showTurnToPerson', 'showRollBack', 'showAddAssignee']
91
- .filter((key) => pageInfo[key])
92
- .map((key, actionIndex) => {
93
- const { label, action, operationName } = buttonActionMap[key];
94
- return (React.createElement(Button, { key: `actionItem-${actionIndex}`, className: "apa-height-xl tea-mr-4n tea-mt-1n", type: "link", onClick: action, id: setOperationButtonId(operationName) }, label));
95
- })),
96
- flowDetail.userTaskType === 2 ? (React.createElement(Button, { type: "primary", style: { flex: 3 }, onClick: (e) => onControlChick(ACTION_TYPE.HANDLE, e), id: setOperationButtonId('handle') }, flowDetail.operationName)) : (React.createElement(React.Fragment, null,
97
- React.createElement(Button, { onClick: (e) => onControlChick(ACTION_TYPE.REJECT, e), id: setOperationButtonId('reject') }, (pageInfo === null || pageInfo === void 0 ? void 0 : pageInfo.buttons) ? pageInfo === null || pageInfo === void 0 ? void 0 : pageInfo.buttons[2] : '拒绝'),
98
- React.createElement(Button, { type: "primary", onClick: (e) => onControlChick(ACTION_TYPE.AGREE, e), id: setOperationButtonId('agree') }, (pageInfo === null || pageInfo === void 0 ? void 0 : pageInfo.buttons) ? pageInfo === null || pageInfo === void 0 ? void 0 : pageInfo.buttons[1] : '同意')))))));
99
- }
100
- };
101
- return (
102
- // eslint-disable-next-line react/jsx-props-no-spreading
103
- React.createElement("div", { ...ide },
104
- renderButtonGroup(),
105
- React.createElement(FlowTaskInfoModal, { layout: "vertical" }),
106
- React.createElement(Popup, { className: "cp-mobile-dialog apa-m-overlay approval-progress__more--dialog", visible: showMoreAction, onClose: onShowMoreVisibleChange,
107
- // disableCloseIcon={true}
108
- closeIcon: false, position: "bottom" },
109
- React.createElement("div", { className: "apa-m-overlay__body" },
110
- React.createElement("div", { className: "approval-progress__more--btns" },
111
- (pageInfo === null || pageInfo === void 0 ? void 0 : pageInfo.showTurnToPerson) && (React.createElement("div", { className: "approval-progress__more--btn", onClick: (e) => {
112
- onShowMoreVisibleChange();
113
- onControlChick(ACTION_TYPE.TRANSFER, e);
114
- } },
115
- React.createElement("p", { style: { fontSize: 14 } }, "\u8F6C\u529E"),
116
- React.createElement("p", null,
117
- React.createElement(Text, { theme: "label" }, "\u9009\u62E9\u8F6C\u529E\u4EBA\u5458")))),
118
- (pageInfo === null || pageInfo === void 0 ? void 0 : pageInfo.showRollBack) && (React.createElement("div", { className: "approval-progress__more--btn", onClick: onClickRollBack },
119
- React.createElement("p", { style: { fontSize: 14 } }, "\u56DE\u9000"),
120
- React.createElement("p", null,
121
- React.createElement(Text, { theme: "label" }, "\u56DE\u9000\u81F3\u6307\u5B9A\u8282\u70B9")))),
122
- (pageInfo === null || pageInfo === void 0 ? void 0 : pageInfo.showAddAssignee) && (React.createElement("div", { className: "approval-progress__more--btn", onClick: buttonActionMap.showAddAssignee.action },
123
- React.createElement("p", { style: { fontSize: 14 } }, "\u52A0\u7B7E"),
124
- React.createElement("p", null,
125
- React.createElement(Text, { theme: "label" }, "\u9009\u62E9\u52A0\u7B7E\u4EBA\u5458"))))),
126
- React.createElement("div", { className: "approval-progress__more--footer" },
127
- React.createElement(Text, { theme: "label", onClick: onShowMoreVisibleChange }, "\u53D6\u6D88")))),
128
- React.createElement(Popup, { className: "confim-popup", visible: showRevokeModal, onClose: () => setShowRevokeModal(false) },
129
- React.createElement(React.Fragment, null,
130
- React.createElement("h3", { className: "popup-header" }, "\u64A4\u9500\u6D41\u7A0B"),
131
- React.createElement("div", { className: "popup-body" }, "\u6D41\u7A0B\u6B63\u5728\u5BA1\u6279\u6D41\u8F6C\u4E2D\uFF0C\u786E\u5B9A\u64A4\u9500\u6D41\u7A0B\uFF1F"),
132
- React.createElement("div", { className: "popup-footer" },
133
- React.createElement("span", { onClick: () => setShowRevokeModal(false) }, "\u53D6\u6D88"),
134
- React.createElement("span", { className: "confirm-btn", onClick: doneRevokeFn }, "\u786E\u5B9A")))),
135
- React.createElement(Popup, { visible: loadingAssign, className: "assign-modal" },
136
- React.createElement(StatusTip, { status: "loading", loadingText: "\u52A0\u7B7E\u4E2D...", style: { color: '#fff' } })),
137
- React.createElement(Popup, { className: "flow-popup", visible: showBackModal, position: "bottom", onClose: () => setShowBackModal(false) },
138
- React.createElement("h3", { className: "flow-popup-title" },
139
- React.createElement("span", { className: "left", onClick: () => setShowBackModal(false) }, "\u53D6\u6D88"),
140
- React.createElement("span", { className: "center" }, "\u8BF7\u9009\u62E9\u56DE\u9000\u8282\u70B9"),
141
- React.createElement("span", { className: "right", onClick: () => {
142
- doneBackFn();
143
- } }, "\u5B8C\u6210")),
144
- (backNodeList === null || backNodeList === void 0 ? void 0 : backNodeList.length) ? (React.createElement("ul", { className: "list-content" }, backNodeList === null || backNodeList === void 0 ? void 0 : backNodeList.map((item) => (React.createElement("li", { key: item.value, className: backNode === item.value ? 'list-checked' : '', onClick: () => setBackNode(item.value) },
145
- React.createElement("span", null, item.text)))))) : (React.createElement(Status, { icon: "blank", size: "l", title: "\u6682\u65E0\u53EF\u56DE\u9000\u8282\u70B9" }))),
146
- React.createElement(UserSelectModel, { visible: userSelectModelVisible, approveField: userSelectApproveField, mode: userSelectMode, close: () => setUserSelectModelVisible(false), mobileModel: true, values: ccUsers.map((user) => user.value) }),
147
- React.createElement(ApprovalPopup, { pageInfo: pageInfo, flowDetail: flowDetail, safeJsonParse: safeJsonParse })));
148
- };
@@ -1,3 +0,0 @@
1
- .flow_center_next_approve-form_item > .tea-form__controls {
2
- width: 100% !important;
3
- }