@cloudbase/weda-ui 3.4.4 → 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.
- package/dist/configs/components/chart/bar.json +113 -8
- package/dist/configs/components/chart/line.js +113 -8
- package/dist/configs/components/chart/pie.json +113 -8
- package/dist/configs/components/chart/statisticsCard.json +57 -0
- package/dist/configs/components/dataView.js +7 -7
- package/dist/configs/components/form/input.json +48 -2
- package/dist/configs/components/form/richText.json +2 -1
- package/dist/configs/components/form/uploader.json +62 -14
- package/dist/configs/components/graphicCard.json +1 -1
- package/dist/configs/components/grid/col.js +4 -1
- package/dist/configs/components/grid/grid.js +8 -3
- package/dist/configs/components/grid/row.js +51 -3
- package/dist/configs/components/listView.js +113 -9
- package/dist/configs/components/navLayout.json +1 -1
- package/dist/configs/components/repeater.js +4 -1
- package/dist/configs/components/table.json +125 -9
- package/dist/configs/components/wd-bubble.js +6 -0
- package/dist/configs/components/wd-button.js +6 -0
- package/dist/configs/components/wd-divider.js +7 -18
- package/dist/configs/components/wd-icon.js +7 -0
- package/dist/configs/components/wd-image.js +7 -0
- package/dist/configs/components/wd-link.js +7 -2
- package/dist/configs/components/wd-text.js +14 -6
- package/dist/configs/index.js +0 -2
- package/dist/docs/common/componentList.js +1 -1
- package/dist/style/index.scss +1 -1
- package/dist/web/actions/showModal/index.js +1 -1
- package/dist/web/components/calendar/index.js +2 -2
- package/dist/web/components/chart/common/data-transform.js +1 -1
- package/dist/web/components/chart/statisticsCard/index.js +1 -1
- package/dist/web/components/flow/components/index.js +0 -4
- package/dist/web/components/flow/frame/index.js +4 -3
- package/dist/web/components/flow/frame/types.js +11 -5
- package/dist/web/components/flow/frame/utils.js +60 -1
- package/dist/web/components/flow/modules/chart/Chart.js +2 -3
- package/dist/web/components/flow/modules/chart/index.css +0 -3
- package/dist/web/components/flow/modules/combination/index.js +1 -1
- package/dist/web/components/flow/modules/operations/components/button/index.js +11 -0
- package/dist/web/components/flow/modules/operations/components/button/style.css +5 -0
- package/dist/web/components/flow/modules/operations/components/index.js +6 -0
- package/dist/web/components/flow/modules/operations/components/popup/index.js +100 -0
- package/dist/web/components/flow/modules/operations/components/popup/style.css +154 -0
- package/dist/web/components/flow/modules/operations/components/popup/types.js +1 -0
- package/dist/web/components/flow/modules/operations/components/user-select/index.js +43 -0
- package/dist/web/components/flow/modules/operations/components/user-select/style.css +4 -0
- package/dist/web/components/flow/modules/operations/components/user-select/types.js +1 -0
- package/dist/web/components/flow/modules/operations/config/approval-form-config.js +140 -0
- package/dist/web/components/flow/modules/operations/config/control-config.js +218 -0
- package/dist/web/components/flow/modules/operations/config/index.js +2 -0
- package/dist/web/components/flow/modules/operations/config/types.js +1 -0
- package/dist/web/components/flow/modules/operations/control.js +26 -0
- package/dist/web/components/flow/modules/operations/controls-items/add-assignee-btn.js +33 -0
- package/dist/web/components/flow/modules/operations/controls-items/apply-cc-btn.js +12 -0
- package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/comment/index.js +188 -0
- package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/comment/style.css +51 -0
- package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/drawer-form/index.js +64 -0
- package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/drawer-form/types.js +1 -0
- package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/drawer-form/view-model.js +83 -0
- package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/field/index.js +16 -0
- package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/field/style.css +56 -0
- package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/index.js +47 -0
- package/dist/web/components/flow/modules/operations/controls-items/approval-drawer/style.css +60 -0
- package/dist/web/components/flow/modules/operations/controls-items/cancel-apply-btn.js +15 -0
- package/dist/web/components/flow/modules/operations/controls-items/check-list-popup/index.js +11 -0
- package/dist/web/components/flow/modules/operations/controls-items/check-list-popup/style.css +26 -0
- package/dist/web/components/flow/modules/operations/controls-items/flow-task-info-modal.js +98 -0
- package/dist/web/components/flow/modules/operations/controls-items/index.js +18 -0
- package/dist/web/components/flow/modules/operations/controls-items/initiation-btn.js +25 -0
- package/dist/web/components/flow/modules/operations/controls-items/revoke-modal/index.js +50 -0
- package/dist/web/components/flow/modules/operations/controls-items/revoke-modal/style.css +28 -0
- package/dist/web/components/flow/modules/operations/controls-items/roll-back-modal.js +104 -0
- package/dist/web/components/flow/modules/operations/controls-items/types.js +1 -0
- package/dist/web/components/flow/modules/operations/index.js +2 -0
- package/dist/web/components/flow/modules/operations/style.css +20 -0
- package/dist/web/components/flow/modules/operations/view-model.js +137 -0
- package/dist/web/components/flow/services/ideData/instance.js +2 -2
- package/dist/web/components/flow/services/ideData/pageDetail.js +1 -0
- package/dist/web/components/form/select/dropdown-select/h5.js +1 -1
- package/dist/web/components/form/select/dropdown-select/index.css +7 -0
- package/dist/web/components/form/select/index.js +2 -7
- package/dist/web/components/form/textarea/index.js +1 -1
- package/dist/web/components/form/uploader/index.css +19 -0
- package/dist/web/components/form/uploader/index.js +21 -3
- package/dist/web/components/form/uploader/uploader.h5.js +14 -8
- package/dist/web/components/form/uploader/uploader.pc.js +29 -16
- package/dist/web/components/form/uploaderFile/index.css +9 -5
- package/dist/web/components/form/uploaderFile/uploadFile.h5.js +23 -21
- package/dist/web/components/form/uploaderFile/uploadFile.pc.js +14 -10
- package/dist/web/components/form/userOrgSelect/common/fetch-data-service.js +0 -1
- package/dist/web/components/form/userOrgSelect/component/depart-select/index.js +1 -1
- package/dist/web/components/form/userOrgSelect/component/user-select-h5/index.js +43 -22
- package/dist/web/components/form/userOrgSelect/component/user-select-h5/user-select-h5.js +15 -4
- package/dist/web/components/form/userOrgSelect/component/user-select-pc/user-model.js +2 -2
- package/dist/web/components/form/userOrgSelect/component/user-select-pc/user-select-pc.js +4 -2
- package/dist/web/components/grid/col.js +81 -18
- package/dist/web/components/grid/grid.js +1 -1
- package/dist/web/components/grid/row.js +4 -2
- package/dist/web/components/index.js +1 -1
- package/dist/web/components/listView/index.js +98 -100
- package/dist/web/components/lottery/index.js +122 -123
- package/dist/web/components/richTextView/index.css +2 -0
- package/dist/web/components/swiper/index.js +14 -8
- package/dist/web/components/table/BaseTable.js +3 -3
- package/dist/web/components/table/ExportFileModalByApi/index.js +1 -1
- package/dist/web/components/table/ImportFileModal/index.js +1 -1
- package/dist/web/components/table/ImportFileModalByApi/index.js +1 -1
- package/dist/web/components/wd-bubble/wd-bubble.js +11 -3
- package/dist/web/components/wd-button/wd-button.js +22 -13
- package/dist/web/components/wd-divider/wd-divider.js +10 -7
- package/dist/web/components/wd-icon/wd-icon.js +12 -3
- package/dist/web/components/wd-image/index.js +12 -5
- package/dist/web/components/wd-link/wd-link.js +11 -3
- package/dist/web/components/wd-text/wd-text.js +15 -3
- package/dist/web/utils/hooks/use-cloud-id-temp-url.js +7 -2
- package/dist/web/utils/platform.js +9 -2
- package/dist/web/utils/tool.js +11 -0
- package/dist/web/utils/widget-api/index.js +3 -0
- package/package.json +7 -5
- package/dist/configs/components/auth.json +0 -17
- package/dist/web/components/flow/components/FlowUserSelect/index.css +0 -116
- package/dist/web/components/flow/components/FlowUserSelect/index.js +0 -115
- package/dist/web/components/flow/components/HighlightTextarea/index.css +0 -42
- package/dist/web/components/flow/components/HighlightTextarea/index.js +0 -131
- package/dist/web/components/flow/components/UserSelectModel/UserSelect.js +0 -74
- package/dist/web/components/flow/components/UserSelectModel/UserSelectMobile.css +0 -8
- package/dist/web/components/flow/components/UserSelectModel/UserSelectMobile.js +0 -86
- package/dist/web/components/flow/components/UserSelectModel/index.js +0 -18
- package/dist/web/components/flow/components/WedaUserTransfer/index.css +0 -3
- package/dist/web/components/flow/components/WedaUserTransfer/index.js +0 -162
- package/dist/web/components/flow/modules/control/ApprovalDrawer.css +0 -144
- package/dist/web/components/flow/modules/control/ApprovalDrawer.js +0 -178
- package/dist/web/components/flow/modules/control/ApprovalPopup.css +0 -115
- package/dist/web/components/flow/modules/control/ApprovalPopup.js +0 -241
- package/dist/web/components/flow/modules/control/Control.css +0 -29
- package/dist/web/components/flow/modules/control/Control.js +0 -93
- package/dist/web/components/flow/modules/control/ControlMobile.css +0 -69
- package/dist/web/components/flow/modules/control/ControlMobile.js +0 -133
- package/dist/web/components/flow/modules/control/FlowTaskInfoModal.css +0 -3
- package/dist/web/components/flow/modules/control/FlowTaskInfoModal.js +0 -31
- package/dist/web/components/flow/modules/control/constants/index.js +0 -35
- package/dist/web/components/flow/modules/control/index.js +0 -15
- package/dist/web/components/flow/modules/control/provider/index.js +0 -17
- package/dist/web/components/flow/modules/control/provider/useControlModel.js +0 -256
- package/dist/web/components/flow/modules/control/provider/useMobileModel.js +0 -86
- package/dist/web/components/flow/modules/control/provider/useRevokeAndBackHook.js +0 -82
- package/dist/web/components/flow/modules/control/utils/ControlModelUtils.js +0 -57
- package/dist/web/components/flow/modules/control/utils/index.js +0 -2
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import React, { useEffect, useRef } from 'react';
|
|
2
|
-
import UserTreeSelect from '../../../form/userOrgSelect/component/user-select-h5';
|
|
3
|
-
export function UserSelect(props) {
|
|
4
|
-
const { multiple = true, isMobile = false, placeholder, visible = false, onClose, } = props;
|
|
5
|
-
const visibleRef = useRef(visible);
|
|
6
|
-
useEffect(() => {
|
|
7
|
-
const onBodyClick = (e) => {
|
|
8
|
-
const element = e.target;
|
|
9
|
-
if (element.closest('.wedatea2td-icon-close') ||
|
|
10
|
-
element.closest('.wedatea2td-btn--weak')) {
|
|
11
|
-
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
12
|
-
}
|
|
13
|
-
};
|
|
14
|
-
const evtOptions = { passive: true, capture: true };
|
|
15
|
-
document.addEventListener('click', onBodyClick, evtOptions);
|
|
16
|
-
return () => {
|
|
17
|
-
document.removeEventListener('click', onBodyClick, evtOptions);
|
|
18
|
-
};
|
|
19
|
-
}, []);
|
|
20
|
-
const { userSelectRef } = usePcUserSelectRef(visible);
|
|
21
|
-
const onTreeSelectChange = (value) => {
|
|
22
|
-
var _a, _b;
|
|
23
|
-
const selectedData = multiple ? value.data : [value.data];
|
|
24
|
-
const userList = selectedData === null || selectedData === void 0 ? void 0 : selectedData.map((user) => ({
|
|
25
|
-
text: (user === null || user === void 0 ? void 0 : user.userName) || (user === null || user === void 0 ? void 0 : user.content) || '-',
|
|
26
|
-
value: user.userId,
|
|
27
|
-
}));
|
|
28
|
-
(_a = props === null || props === void 0 ? void 0 : props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, userList || []);
|
|
29
|
-
(_b = props === null || props === void 0 ? void 0 : props.originOnChange) === null || _b === void 0 ? void 0 : _b.call(props, value);
|
|
30
|
-
if (visibleRef.current !== true) {
|
|
31
|
-
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
const commonProps = {
|
|
35
|
-
labelVisible: false,
|
|
36
|
-
decorator: null,
|
|
37
|
-
multiple,
|
|
38
|
-
size: 'auto-width',
|
|
39
|
-
defaultValue: props.value || [],
|
|
40
|
-
events: {
|
|
41
|
-
change: onTreeSelectChange,
|
|
42
|
-
},
|
|
43
|
-
placeholder,
|
|
44
|
-
style: {
|
|
45
|
-
display: 'none',
|
|
46
|
-
},
|
|
47
|
-
};
|
|
48
|
-
const mobileProps = {
|
|
49
|
-
modelType: 'model',
|
|
50
|
-
showType: 'h5',
|
|
51
|
-
dropDownStyle: { width: '190px' },
|
|
52
|
-
modelOpen: visible,
|
|
53
|
-
};
|
|
54
|
-
const pcProps = {
|
|
55
|
-
showType: 'pc',
|
|
56
|
-
outerRef: userSelectRef,
|
|
57
|
-
onClose,
|
|
58
|
-
};
|
|
59
|
-
const selectProps = { ...commonProps, ...(isMobile ? mobileProps : pcProps) };
|
|
60
|
-
return React.createElement(UserTreeSelect, { ...selectProps });
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* 针对Pc改版后的选人组件设置的自定义hook
|
|
64
|
-
*/
|
|
65
|
-
function usePcUserSelectRef(visible) {
|
|
66
|
-
const userSelectRef = useRef();
|
|
67
|
-
useEffect(() => {
|
|
68
|
-
var _a, _b, _c;
|
|
69
|
-
if (visible) {
|
|
70
|
-
(_c = (_b = (_a = userSelectRef.current) === null || _a === void 0 ? void 0 : _a.methods) === null || _b === void 0 ? void 0 : _b.open) === null || _c === void 0 ? void 0 : _c.call(_b);
|
|
71
|
-
}
|
|
72
|
-
}, [visible]);
|
|
73
|
-
return { userSelectRef };
|
|
74
|
-
}
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import React, { useState, useEffect, useRef } from 'react';
|
|
2
|
-
import { safeJsonParse } from '../../../../utils/tool';
|
|
3
|
-
import { UserSelect } from './UserSelect';
|
|
4
|
-
import './UserSelectMobile.css';
|
|
5
|
-
export const UserSelectMobile = (props) => {
|
|
6
|
-
const { visible, approveField, mode, close, values } = props;
|
|
7
|
-
const [selected, setSelected] = useState(values);
|
|
8
|
-
const visibleRef = useRef(visible);
|
|
9
|
-
useEffect(() => {
|
|
10
|
-
const selectedAvatar = sessionStorage.getItem('selected');
|
|
11
|
-
selectedAvatar && setSelected(safeJsonParse(selectedAvatar));
|
|
12
|
-
}, []);
|
|
13
|
-
const handleHighLightSelected = (selectedIds, selectedUser, flowData) => {
|
|
14
|
-
let v = '';
|
|
15
|
-
const { opinionUserMap, approveInfo } = flowData;
|
|
16
|
-
selectedIds.forEach((id) => {
|
|
17
|
-
const user = selectedUser.find((user) => (user === null || user === void 0 ? void 0 : user.UserId) === id) || {};
|
|
18
|
-
const name = `@${user === null || user === void 0 ? void 0 : user.Name}`;
|
|
19
|
-
v = `${v + name} `;
|
|
20
|
-
if (!opinionUserMap[id]) {
|
|
21
|
-
opinionUserMap[id] = name;
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
flowData.approveInfo = approveInfo + v;
|
|
25
|
-
flowData.opinionUserMap = { ...opinionUserMap };
|
|
26
|
-
};
|
|
27
|
-
const saveSelect = (selectedIds, selectedUser) => {
|
|
28
|
-
var _a;
|
|
29
|
-
const flowData = (_a = safeJsonParse(sessionStorage.getItem('FlowActionsMobile'))) !== null && _a !== void 0 ? _a : {};
|
|
30
|
-
if (approveField === 'assigneeIds') {
|
|
31
|
-
flowData.assigneeIds = selectedIds;
|
|
32
|
-
sessionStorage.setItem('hasSignSubmit', 'hasSignSubmit');
|
|
33
|
-
}
|
|
34
|
-
else if (approveField === 'highLightApprovers') {
|
|
35
|
-
handleHighLightSelected(selectedIds || [], selectedUser, flowData);
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
flowData[approveField] = selectedIds;
|
|
39
|
-
}
|
|
40
|
-
sessionStorage.setItem('FlowActionsMobile', JSON.stringify(flowData));
|
|
41
|
-
sessionStorage.setItem(approveField, JSON.stringify(selectedUser));
|
|
42
|
-
if (visibleRef.current !== true) {
|
|
43
|
-
close === null || close === void 0 ? void 0 : close();
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
const onUserSelectChange = (rows) => {
|
|
47
|
-
var _a;
|
|
48
|
-
const isMultiple = mode === 'multiple';
|
|
49
|
-
const ids = isMultiple ? rows.value : [rows.value];
|
|
50
|
-
const users = (_a = rows.data) === null || _a === void 0 ? void 0 : _a.map((user) => ({
|
|
51
|
-
Name: (user === null || user === void 0 ? void 0 : user.userName) || (user === null || user === void 0 ? void 0 : user.content) || '-',
|
|
52
|
-
UserId: user.userId,
|
|
53
|
-
}));
|
|
54
|
-
saveSelect(ids, users);
|
|
55
|
-
};
|
|
56
|
-
useEffect(() => {
|
|
57
|
-
let lastTouchEnd = 0;
|
|
58
|
-
const touchstartFn = (event) => {
|
|
59
|
-
if (event.touches.length > 1) {
|
|
60
|
-
event.preventDefault();
|
|
61
|
-
}
|
|
62
|
-
};
|
|
63
|
-
const touchendFn = (event) => {
|
|
64
|
-
const now = new Date().getTime();
|
|
65
|
-
if (now - lastTouchEnd <= 300) {
|
|
66
|
-
event.preventDefault();
|
|
67
|
-
}
|
|
68
|
-
lastTouchEnd = now;
|
|
69
|
-
};
|
|
70
|
-
const gesturestartFn = (event) => {
|
|
71
|
-
event.preventDefault();
|
|
72
|
-
};
|
|
73
|
-
document.addEventListener('touchstart', touchstartFn);
|
|
74
|
-
document.addEventListener('touchend', touchendFn, false);
|
|
75
|
-
// 阻止双指放大
|
|
76
|
-
document.addEventListener('gesturestart', gesturestartFn);
|
|
77
|
-
return () => {
|
|
78
|
-
document.removeEventListener('touchstart', touchstartFn);
|
|
79
|
-
document.removeEventListener('touchend', touchendFn);
|
|
80
|
-
document.removeEventListener('gesturestart', gesturestartFn);
|
|
81
|
-
};
|
|
82
|
-
}, []);
|
|
83
|
-
return visible ? (React.createElement(UserSelect, { visible: true, isMobile: true, multiple: mode === 'multiple', value: selected, originOnChange: onUserSelectChange, onClose: () => {
|
|
84
|
-
close === null || close === void 0 ? void 0 : close();
|
|
85
|
-
} })) : null;
|
|
86
|
-
};
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { WedaUserTransfer } from '../WedaUserTransfer';
|
|
3
|
-
import { FlowUserSelect } from '../FlowUserSelect';
|
|
4
|
-
import { UserSelect } from './UserSelect';
|
|
5
|
-
import { UserSelectMobile } from './UserSelectMobile';
|
|
6
|
-
const useOld = false;
|
|
7
|
-
export function UserSelectModel(props) {
|
|
8
|
-
if (props.mobileModel) {
|
|
9
|
-
if (useOld) {
|
|
10
|
-
return React.createElement(FlowUserSelect, { ...props });
|
|
11
|
-
}
|
|
12
|
-
return React.createElement(UserSelectMobile, { ...props });
|
|
13
|
-
}
|
|
14
|
-
if (useOld) {
|
|
15
|
-
return React.createElement(WedaUserTransfer, { ...props, setOptions: props === null || props === void 0 ? void 0 : props.onChange });
|
|
16
|
-
}
|
|
17
|
-
return React.createElement(UserSelect, { ...props });
|
|
18
|
-
}
|
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
import React, { useEffect, useRef, useState } from 'react';
|
|
2
|
-
import { Transfer, Table, SearchBox, Bubble, Text, Modal, Button, LoadingTip, } from 'tea-component';
|
|
3
|
-
import to from 'await-to-js';
|
|
4
|
-
import { useGlobalContext } from '../../../../utils/hooks/context';
|
|
5
|
-
import { getWedaUserList } from '../../services';
|
|
6
|
-
import './index.css';
|
|
7
|
-
const { selectable, removeable, scrollable, radioable } = Table.addons;
|
|
8
|
-
export function WedaUserTransfer({ visible, onClose, setOptions, multiple = true, isMobile = false, onSelectedChange, value, tableClassName, }) {
|
|
9
|
-
var _a;
|
|
10
|
-
const [targetKeys, setTargetKeys] = useState([]);
|
|
11
|
-
const [selectedRows, setSelectedRows] = useState([]);
|
|
12
|
-
const [inputValue, setInputValue] = useState('');
|
|
13
|
-
const [userList, setUserList] = useState([]);
|
|
14
|
-
const originUserList = useRef([]);
|
|
15
|
-
const [loading, setLoading] = useState(false);
|
|
16
|
-
const { callWedaApi, IS_WEDA_IDE } = useGlobalContext();
|
|
17
|
-
useEffect(() => {
|
|
18
|
-
getWedaUser({ PageNo: 1, PageSize: 200 });
|
|
19
|
-
}, []);
|
|
20
|
-
useEffect(() => {
|
|
21
|
-
if (!visible) {
|
|
22
|
-
onSearchUser('');
|
|
23
|
-
}
|
|
24
|
-
}, [visible]);
|
|
25
|
-
useEffect(() => {
|
|
26
|
-
var _a;
|
|
27
|
-
if (isMobile) {
|
|
28
|
-
setTargetKeys(value);
|
|
29
|
-
}
|
|
30
|
-
else {
|
|
31
|
-
setTargetKeys(value === null || value === void 0 ? void 0 : value.map((i) => i === null || i === void 0 ? void 0 : i.value));
|
|
32
|
-
}
|
|
33
|
-
if ((_a = originUserList.current) === null || _a === void 0 ? void 0 : _a.length) {
|
|
34
|
-
const initSelected = value === null || value === void 0 ? void 0 : value.map((i) => {
|
|
35
|
-
var _a;
|
|
36
|
-
return (_a = originUserList.current) === null || _a === void 0 ? void 0 : _a.find((user) => {
|
|
37
|
-
if (isMobile)
|
|
38
|
-
return (user === null || user === void 0 ? void 0 : user.UserId) === i;
|
|
39
|
-
return (user === null || user === void 0 ? void 0 : user.UserId) === (i === null || i === void 0 ? void 0 : i.value);
|
|
40
|
-
});
|
|
41
|
-
});
|
|
42
|
-
setSelectedRows(initSelected || []);
|
|
43
|
-
}
|
|
44
|
-
}, [value, (_a = originUserList.current) === null || _a === void 0 ? void 0 : _a.length]);
|
|
45
|
-
const getWedaUser = async (params) => {
|
|
46
|
-
setLoading(true);
|
|
47
|
-
const [err, result] = await to(getWedaUserList(params, { callWedaApi, IS_WEDA_IDE }));
|
|
48
|
-
setLoading(false);
|
|
49
|
-
if (!err) {
|
|
50
|
-
originUserList.current = (result === null || result === void 0 ? void 0 : result.UserList) || [];
|
|
51
|
-
setUserList((result === null || result === void 0 ? void 0 : result.UserList) || []);
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
const onSourceTableChange = (keys, context) => {
|
|
55
|
-
if (multiple) {
|
|
56
|
-
setTargetKeys(keys);
|
|
57
|
-
const selectedRows = transSelectedRows(context);
|
|
58
|
-
setSelectedRows(selectedRows);
|
|
59
|
-
onSelectedChange === null || onSelectedChange === void 0 ? void 0 : onSelectedChange({ keys, rows: selectedRows });
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
setTargetKeys([keys]);
|
|
63
|
-
setSelectedRows([context === null || context === void 0 ? void 0 : context.record]);
|
|
64
|
-
onSelectedChange === null || onSelectedChange === void 0 ? void 0 : onSelectedChange({ keys: [keys], rows: [context === null || context === void 0 ? void 0 : context.record] });
|
|
65
|
-
}
|
|
66
|
-
};
|
|
67
|
-
const transSelectedRows = (context) => {
|
|
68
|
-
const { checked, record, recordKey } = context;
|
|
69
|
-
const index = selectedRows.findIndex((val) => (val === null || val === void 0 ? void 0 : val.UserId) === recordKey);
|
|
70
|
-
const newSelectedRows = selectedRows.concat();
|
|
71
|
-
if (checked) {
|
|
72
|
-
newSelectedRows.push(record);
|
|
73
|
-
}
|
|
74
|
-
else {
|
|
75
|
-
newSelectedRows.splice(index, 1);
|
|
76
|
-
}
|
|
77
|
-
return newSelectedRows;
|
|
78
|
-
};
|
|
79
|
-
const onSearchUser = (value) => {
|
|
80
|
-
var _a;
|
|
81
|
-
setInputValue(value);
|
|
82
|
-
if (value) {
|
|
83
|
-
const list = (_a = originUserList.current) === null || _a === void 0 ? void 0 : _a.filter((item) => { var _a; return (_a = item === null || item === void 0 ? void 0 : item.Name) === null || _a === void 0 ? void 0 : _a.includes(value); });
|
|
84
|
-
setUserList(list);
|
|
85
|
-
}
|
|
86
|
-
else {
|
|
87
|
-
setUserList(originUserList.current);
|
|
88
|
-
}
|
|
89
|
-
};
|
|
90
|
-
const onSubmitUser = () => {
|
|
91
|
-
setOptions(selectedRows.map((item) => ({
|
|
92
|
-
text: item.Name,
|
|
93
|
-
value: item.UserId,
|
|
94
|
-
})));
|
|
95
|
-
onCloseModal();
|
|
96
|
-
};
|
|
97
|
-
const onRemoveUser = (key) => {
|
|
98
|
-
setTargetKeys(targetKeys === null || targetKeys === void 0 ? void 0 : targetKeys.filter((i) => i !== key));
|
|
99
|
-
setSelectedRows(selectedRows === null || selectedRows === void 0 ? void 0 : selectedRows.filter((i) => i.UserId !== key));
|
|
100
|
-
};
|
|
101
|
-
const onCloseModal = () => {
|
|
102
|
-
setTargetKeys([]);
|
|
103
|
-
setSelectedRows([]);
|
|
104
|
-
onClose === null || onClose === void 0 ? void 0 : onClose();
|
|
105
|
-
};
|
|
106
|
-
if (isMobile) {
|
|
107
|
-
if (loading) {
|
|
108
|
-
return React.createElement(LoadingTip, { loadingText: "\u52A0\u8F7D\u4E2D" });
|
|
109
|
-
}
|
|
110
|
-
return (React.createElement(React.Fragment, null,
|
|
111
|
-
React.createElement(SearchBox, { className: "weda-workbench__flow-user-search", value: inputValue, onChange: (value) => onSearchUser(value) }),
|
|
112
|
-
React.createElement(SourceTable, { dataSource: userList, targetKeys: targetKeys, onChange: onSourceTableChange, multiple: multiple, className: tableClassName })));
|
|
113
|
-
}
|
|
114
|
-
return (React.createElement(Modal, { visible: visible, caption: "\u4EBA\u5458\u9009\u62E9", onClose: onCloseModal, size: "l" },
|
|
115
|
-
React.createElement(Modal.Body, null,
|
|
116
|
-
React.createElement(Transfer, { leftCell: React.createElement(Transfer.Cell, { scrollable: false, title: "\u8BF7\u9009\u62E9\u7528\u6237", header: React.createElement(SearchBox, { value: inputValue, onChange: (value) => onSearchUser(value) }) },
|
|
117
|
-
React.createElement(SourceTable, { dataSource: userList, targetKeys: targetKeys, onChange: onSourceTableChange, multiple: multiple, className: tableClassName })), rightCell: React.createElement(Transfer.Cell, { title: `已选择 (${(targetKeys === null || targetKeys === void 0 ? void 0 : targetKeys.length) || 0})` },
|
|
118
|
-
React.createElement(TargetTable, { dataSource: selectedRows, onRemove: onRemoveUser })) })),
|
|
119
|
-
React.createElement(Modal.Footer, null,
|
|
120
|
-
React.createElement(Button, { type: "primary", onClick: onSubmitUser }, "\u786E\u5B9A"),
|
|
121
|
-
React.createElement(Button, { type: "weak", onClick: onCloseModal }, "\u53D6\u6D88"))));
|
|
122
|
-
}
|
|
123
|
-
const columns = [
|
|
124
|
-
{
|
|
125
|
-
key: 'Name',
|
|
126
|
-
header: '用户名',
|
|
127
|
-
render: (record) => (record === null || record === void 0 ? void 0 : record.Name) ? (React.createElement(Bubble, { content: record === null || record === void 0 ? void 0 : record.Name },
|
|
128
|
-
React.createElement(Text, { overflow: true, style: { cursor: 'pointer' } }, record === null || record === void 0 ? void 0 : record.Name))) : (React.createElement(Text, null, "-")),
|
|
129
|
-
},
|
|
130
|
-
{
|
|
131
|
-
key: 'UserDepartment',
|
|
132
|
-
header: '所属部门',
|
|
133
|
-
render: (record) => {
|
|
134
|
-
var _a, _b;
|
|
135
|
-
const showStr = (_a = record === null || record === void 0 ? void 0 : record.Orgs) === null || _a === void 0 ? void 0 : _a.map((i) => (i === null || i === void 0 ? void 0 : i.OrgName) || '').join();
|
|
136
|
-
return ((_b = record === null || record === void 0 ? void 0 : record.Orgs) === null || _b === void 0 ? void 0 : _b.length) ? (React.createElement(Bubble, { content: showStr },
|
|
137
|
-
React.createElement(Text, { overflow: true, style: { cursor: 'pointer' } }, showStr))) : (React.createElement(Text, null, "-"));
|
|
138
|
-
},
|
|
139
|
-
},
|
|
140
|
-
];
|
|
141
|
-
function SourceTable({ dataSource, targetKeys, onChange, multiple, className, }) {
|
|
142
|
-
const addons = [
|
|
143
|
-
scrollable({
|
|
144
|
-
maxHeight: 310,
|
|
145
|
-
}),
|
|
146
|
-
multiple
|
|
147
|
-
? selectable({
|
|
148
|
-
value: targetKeys,
|
|
149
|
-
onChange,
|
|
150
|
-
rowSelect: true,
|
|
151
|
-
})
|
|
152
|
-
: radioable({
|
|
153
|
-
value: targetKeys === null || targetKeys === void 0 ? void 0 : targetKeys[0],
|
|
154
|
-
onChange,
|
|
155
|
-
rowSelect: true,
|
|
156
|
-
}),
|
|
157
|
-
];
|
|
158
|
-
return (React.createElement(Table, { records: dataSource, recordKey: "UserId", rowDisabled: (record) => record.status === 'stopped', rowClassName: (record) => record.status, columns: columns, addons: addons, className: className }));
|
|
159
|
-
}
|
|
160
|
-
function TargetTable({ dataSource, onRemove }) {
|
|
161
|
-
return (React.createElement(Table, { records: dataSource, recordKey: "UserId", columns: columns, addons: [removeable({ onRemove })] }));
|
|
162
|
-
}
|
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
.approval-drawer.drawer {
|
|
2
|
-
width: 500px !important;
|
|
3
|
-
top: 0px !important;
|
|
4
|
-
box-shadow: 0px 25px 25px rgba(0, 0, 0, 0.5) !important;
|
|
5
|
-
background-color: #fff;
|
|
6
|
-
}
|
|
7
|
-
.approval-drawer.drawer .wedatea2td-form.approval-form__drawer {
|
|
8
|
-
display: block;
|
|
9
|
-
}
|
|
10
|
-
.approval-drawer.drawer
|
|
11
|
-
.wedatea2td-form.approval-form__drawer
|
|
12
|
-
.wedatea2td-form__label {
|
|
13
|
-
padding-top: 5px !important;
|
|
14
|
-
padding-bottom: 5px !important;
|
|
15
|
-
min-width: auto !important;
|
|
16
|
-
line-height: 1.5 !important;
|
|
17
|
-
}
|
|
18
|
-
.approval-drawer.drawer
|
|
19
|
-
.wedatea2td-form.approval-form__drawer
|
|
20
|
-
.wedatea2td-form__label
|
|
21
|
-
label {
|
|
22
|
-
font-size: 14px;
|
|
23
|
-
color: #666;
|
|
24
|
-
}
|
|
25
|
-
.approval-drawer.drawer
|
|
26
|
-
.wedatea2td-form.approval-form__drawer
|
|
27
|
-
.wedatea2td-form__controls {
|
|
28
|
-
width: 100%;
|
|
29
|
-
font-size: 12px;
|
|
30
|
-
}
|
|
31
|
-
.approval-drawer.drawer
|
|
32
|
-
.wedatea2td-form.approval-form__drawer
|
|
33
|
-
.wedatea2td-form__controls--text {
|
|
34
|
-
padding-top: 5px !important;
|
|
35
|
-
padding-bottom: 16px !important;
|
|
36
|
-
line-height: 1.5 !important;
|
|
37
|
-
}
|
|
38
|
-
.approval-drawer.drawer
|
|
39
|
-
.wedatea2td-form.approval-form__drawer
|
|
40
|
-
.wedatea2td-form__controls--text
|
|
41
|
-
.wedatea2td-btn {
|
|
42
|
-
padding: 0 20px !important;
|
|
43
|
-
height: 28px !important;
|
|
44
|
-
line-height: 28px !important;
|
|
45
|
-
min-width: auto !important;
|
|
46
|
-
}
|
|
47
|
-
.approval-drawer.drawer
|
|
48
|
-
.wedatea2td-form.approval-form__drawer
|
|
49
|
-
.wedatea2td-form__controls--text
|
|
50
|
-
.wedatea2td-btn.wedatea2td-btn--link {
|
|
51
|
-
padding: 0 !important;
|
|
52
|
-
}
|
|
53
|
-
.approval-drawer.drawer
|
|
54
|
-
.wedatea2td-form.approval-form__drawer
|
|
55
|
-
.form-item__plain {
|
|
56
|
-
font-size: 14px;
|
|
57
|
-
color: #333;
|
|
58
|
-
}
|
|
59
|
-
.approval-drawer.drawer
|
|
60
|
-
.wedatea2td-form.approval-form__drawer
|
|
61
|
-
.btn-wrapper__black
|
|
62
|
-
button {
|
|
63
|
-
border-radius: 4px;
|
|
64
|
-
}
|
|
65
|
-
.approval-drawer.drawer
|
|
66
|
-
.wedatea2td-form.approval-form__drawer
|
|
67
|
-
.btn-wrapper__black.person-btn__wrapper
|
|
68
|
-
button {
|
|
69
|
-
margin-right: 8px;
|
|
70
|
-
margin-bottom: 6px;
|
|
71
|
-
}
|
|
72
|
-
.approval-drawer.drawer
|
|
73
|
-
.wedatea2td-form.approval-form__drawer
|
|
74
|
-
.upload-item__label
|
|
75
|
-
.wedatea2td-form__label {
|
|
76
|
-
padding-top: 12px !important;
|
|
77
|
-
}
|
|
78
|
-
.approval-drawer.drawer
|
|
79
|
-
.wedatea2td-form.approval-form__drawer
|
|
80
|
-
.form-item__textarea {
|
|
81
|
-
width: 356px;
|
|
82
|
-
height: 108px;
|
|
83
|
-
border-radius: 4px;
|
|
84
|
-
}
|
|
85
|
-
.approval-drawer.drawer .btn-wrapper button {
|
|
86
|
-
border-radius: 4px;
|
|
87
|
-
}
|
|
88
|
-
.approval-drawer.drawer .btn-wrapper button:first-child {
|
|
89
|
-
margin-right: 10px;
|
|
90
|
-
}
|
|
91
|
-
.approval-drawer.drawer .person-item {
|
|
92
|
-
display: inline-block;
|
|
93
|
-
vertical-align: middle;
|
|
94
|
-
height: 30px;
|
|
95
|
-
box-sizing: border-box;
|
|
96
|
-
margin-right: 8px;
|
|
97
|
-
margin-bottom: 6px;
|
|
98
|
-
padding: 4px;
|
|
99
|
-
border: 1px solid #dcdee6;
|
|
100
|
-
border-radius: 4px;
|
|
101
|
-
font-size: 12px;
|
|
102
|
-
}
|
|
103
|
-
.approval-drawer.drawer .person-item span {
|
|
104
|
-
padding: 0 8px;
|
|
105
|
-
}
|
|
106
|
-
.approval-drawer.drawer .person-item .wedatea2td-icon-dismiss {
|
|
107
|
-
cursor: pointer;
|
|
108
|
-
}
|
|
109
|
-
.approval-drawer.drawer .wedatea2td-drawer__body {
|
|
110
|
-
padding: 28px;
|
|
111
|
-
}
|
|
112
|
-
.approval-drawer.drawer .wedatea2td-drawer__footer {
|
|
113
|
-
flex: 0 0 76px;
|
|
114
|
-
padding: 20px;
|
|
115
|
-
background-color: #fff;
|
|
116
|
-
}
|
|
117
|
-
.approval-drawer.drawer .wedatea2td-drawer__footer .btn-wrapper button {
|
|
118
|
-
height: 36px;
|
|
119
|
-
width: 106px;
|
|
120
|
-
}
|
|
121
|
-
.approval-drawer.drawer .apass-upload-file-item__title {
|
|
122
|
-
max-width: 220px;
|
|
123
|
-
overflow: hidden;
|
|
124
|
-
text-overflow: ellipsis;
|
|
125
|
-
display: inline-block;
|
|
126
|
-
}
|
|
127
|
-
.ccUsers-wrapper .person-item {
|
|
128
|
-
display: inline-block;
|
|
129
|
-
vertical-align: middle;
|
|
130
|
-
height: 30px;
|
|
131
|
-
box-sizing: border-box;
|
|
132
|
-
margin-right: 8px;
|
|
133
|
-
margin-bottom: 6px;
|
|
134
|
-
padding: 4px;
|
|
135
|
-
border: 1px solid #dcdee6;
|
|
136
|
-
border-radius: 4px;
|
|
137
|
-
font-size: 12px;
|
|
138
|
-
}
|
|
139
|
-
.ccUsers-wrapper .person-item span {
|
|
140
|
-
padding: 0 8px;
|
|
141
|
-
}
|
|
142
|
-
.ccUsers-wrapper .person-item .wedatea2td-icon-dismiss {
|
|
143
|
-
cursor: pointer;
|
|
144
|
-
}
|
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
import React, { useState, useEffect } from 'react';
|
|
2
|
-
import { Drawer, Button, Form, Icon } from 'tea-component';
|
|
3
|
-
import { HighlightTextarea, UserSelectModel } from '../../components';
|
|
4
|
-
import { useControlContext } from './provider';
|
|
5
|
-
import './ApprovalDrawer.css';
|
|
6
|
-
const ExtraDOM = (props) => {
|
|
7
|
-
const {
|
|
8
|
-
// fileList,
|
|
9
|
-
approveInfo, onChange,
|
|
10
|
-
// appCode,
|
|
11
|
-
type, operationName, statusFlag, setStatusFlag, statusMessage, setStatusMessage, opinionUserMap, setOpinionUserMap, setHighlightPositionMap, } = props;
|
|
12
|
-
const approveInfoLabel = type === 'handle' ? `${operationName}意见` : '审批意见';
|
|
13
|
-
return (React.createElement(Form.Item, { label: approveInfoLabel, required: type === 'reject', status: statusFlag, message: statusMessage },
|
|
14
|
-
React.createElement(HighlightTextarea, { value: approveInfo, placeholder: `请输入您的${approveInfoLabel},可@通知他人`, opinionUserMap: opinionUserMap, setOpinionUserMap: setOpinionUserMap, setHighlightPositionMap: setHighlightPositionMap, onChange: (value) => {
|
|
15
|
-
onChange('approveInfo', value);
|
|
16
|
-
setStatusFlag('');
|
|
17
|
-
setStatusMessage(null);
|
|
18
|
-
if (type === 'reject' && !value.trim()) {
|
|
19
|
-
setStatusFlag('error');
|
|
20
|
-
setStatusMessage(`请输入${approveInfoLabel}`);
|
|
21
|
-
}
|
|
22
|
-
if (value.length > 500) {
|
|
23
|
-
setStatusFlag('error');
|
|
24
|
-
setStatusMessage(`${approveInfoLabel}长度不可超过500,请检查`);
|
|
25
|
-
}
|
|
26
|
-
} })));
|
|
27
|
-
};
|
|
28
|
-
const ApprovePerson = (props) => {
|
|
29
|
-
const { label, approvers, show, onChange } = props;
|
|
30
|
-
const removeItem = (index) => {
|
|
31
|
-
const approversAvatar = approvers.filter((item, idx) => idx !== index);
|
|
32
|
-
onChange(approversAvatar);
|
|
33
|
-
};
|
|
34
|
-
return (React.createElement(Form.Item, { label: label, className: "btn-wrapper__black person-btn__wrapper" },
|
|
35
|
-
React.createElement(Button, { onClick: show },
|
|
36
|
-
React.createElement("span", { style: { fontSize: '16px', lineHeight: '16px' } }, "+"),
|
|
37
|
-
" ",
|
|
38
|
-
'人员'),
|
|
39
|
-
approvers.length > 0
|
|
40
|
-
? approvers.map(({ text }, index) => (React.createElement("div", { className: "person-item", key: `person-${index}` },
|
|
41
|
-
React.createElement("span", null, text),
|
|
42
|
-
React.createElement(Icon, { type: "dismiss", onClick: () => removeItem(index) }))))
|
|
43
|
-
: null));
|
|
44
|
-
};
|
|
45
|
-
export const ApprovalDrawer = (props) => {
|
|
46
|
-
var _a, _b, _c, _d, _e, _f;
|
|
47
|
-
const { pageInfo, flowDetail } = props;
|
|
48
|
-
const { handleType, approveDrawerVisible, submitLoading, onTriggerFlowEvent, onApproveDrawerVisibleChange, } = useControlContext();
|
|
49
|
-
const { startAppCode: appCode, currentNodeName: nodeName, operationName, currentApproverName, } = flowDetail || {};
|
|
50
|
-
const { buttons, showCarbonCopy } = pageInfo || {};
|
|
51
|
-
const [fileList, setFileList] = useState((_a = props.fileList) !== null && _a !== void 0 ? _a : []);
|
|
52
|
-
const [approveInfo, setApproveInfo] = useState((_b = props.approveInfo) !== null && _b !== void 0 ? _b : '');
|
|
53
|
-
const [opinionUserMap, setOpinionUserMap] = useState({});
|
|
54
|
-
const [highlightPositionMap, setHighlightPositionMap] = useState({});
|
|
55
|
-
const [approvers, setApprovers] = useState((_c = props.approvers) !== null && _c !== void 0 ? _c : []);
|
|
56
|
-
const [modalVisible, setModalVisible] = useState(false);
|
|
57
|
-
const [statusFlag, setStatusFlag] = useState('');
|
|
58
|
-
const [statusMessage, setStatusMessage] = useState(null);
|
|
59
|
-
const showModal = () => setModalVisible(true);
|
|
60
|
-
const hideModal = () => setModalVisible(false);
|
|
61
|
-
const stateMap = {
|
|
62
|
-
fileList: {
|
|
63
|
-
default: [],
|
|
64
|
-
fn: setFileList,
|
|
65
|
-
},
|
|
66
|
-
// addTag: {
|
|
67
|
-
// default: false,
|
|
68
|
-
// fn: setTagStatus,
|
|
69
|
-
// },
|
|
70
|
-
approveInfo: {
|
|
71
|
-
default: '',
|
|
72
|
-
fn: setApproveInfo,
|
|
73
|
-
},
|
|
74
|
-
approvers: {
|
|
75
|
-
default: [],
|
|
76
|
-
fn: setApprovers,
|
|
77
|
-
},
|
|
78
|
-
statusFlag: {
|
|
79
|
-
default: '',
|
|
80
|
-
fn: setStatusFlag,
|
|
81
|
-
},
|
|
82
|
-
statusMessage: {
|
|
83
|
-
default: null,
|
|
84
|
-
fn: setStatusMessage,
|
|
85
|
-
},
|
|
86
|
-
};
|
|
87
|
-
const approvalType = {
|
|
88
|
-
agree: {
|
|
89
|
-
title: `${(buttons === null || buttons === void 0 ? void 0 : buttons[1]) || '同意'}`,
|
|
90
|
-
dom: true,
|
|
91
|
-
personLabel: '抄送',
|
|
92
|
-
},
|
|
93
|
-
reject: {
|
|
94
|
-
title: `${(buttons === null || buttons === void 0 ? void 0 : buttons[2]) || '拒绝'}`,
|
|
95
|
-
dom: true,
|
|
96
|
-
personLabel: '抄送',
|
|
97
|
-
},
|
|
98
|
-
transfer: {
|
|
99
|
-
title: '转办',
|
|
100
|
-
dom: false,
|
|
101
|
-
personLabel: '转办',
|
|
102
|
-
},
|
|
103
|
-
handle: {
|
|
104
|
-
title: '处理',
|
|
105
|
-
dom: true,
|
|
106
|
-
personLabel: '处理',
|
|
107
|
-
},
|
|
108
|
-
};
|
|
109
|
-
useEffect(() => {
|
|
110
|
-
if (!approveDrawerVisible) {
|
|
111
|
-
Object.values(stateMap).forEach(({ default: defaultValue, fn }) => fn(defaultValue));
|
|
112
|
-
}
|
|
113
|
-
else {
|
|
114
|
-
// postUserInfo().then((res) => {
|
|
115
|
-
// if (res?.data) {
|
|
116
|
-
// setApprover(res?.data?.name);
|
|
117
|
-
// }
|
|
118
|
-
// });
|
|
119
|
-
}
|
|
120
|
-
}, [approveDrawerVisible]);
|
|
121
|
-
const handleSubmit = () => {
|
|
122
|
-
var _a;
|
|
123
|
-
// const getIdReg = /^(\d+)&(?:user|group),(?:.+)$/;
|
|
124
|
-
if (submitLoading)
|
|
125
|
-
return;
|
|
126
|
-
const obj = {
|
|
127
|
-
operationComment: approveInfo,
|
|
128
|
-
opinionUserMap,
|
|
129
|
-
highlightPositionList: JSON.stringify(highlightPositionMap),
|
|
130
|
-
attachmentInfo: JSON.stringify(fileList),
|
|
131
|
-
ccUserIds: approvers.map((item) => item.value).join(','),
|
|
132
|
-
turnToUserId: (_a = approvers === null || approvers === void 0 ? void 0 : approvers[0]) === null || _a === void 0 ? void 0 : _a.value,
|
|
133
|
-
};
|
|
134
|
-
switch (handleType) {
|
|
135
|
-
case 'agree':
|
|
136
|
-
Reflect.deleteProperty(obj, 'turnToUserId');
|
|
137
|
-
break;
|
|
138
|
-
case 'reject':
|
|
139
|
-
Reflect.deleteProperty(obj, 'ccUserIds');
|
|
140
|
-
Reflect.deleteProperty(obj, 'turnToUserId');
|
|
141
|
-
break;
|
|
142
|
-
case 'transfer':
|
|
143
|
-
Reflect.deleteProperty(obj, 'ccUserIds');
|
|
144
|
-
break;
|
|
145
|
-
}
|
|
146
|
-
onTriggerFlowEvent(obj);
|
|
147
|
-
};
|
|
148
|
-
const onChange = (key, value) => {
|
|
149
|
-
stateMap[key].fn(value);
|
|
150
|
-
};
|
|
151
|
-
return (React.createElement(React.Fragment, null,
|
|
152
|
-
React.createElement(Drawer, { showMask: true, size: 'l', className: "approval-drawer drawer", outerClickClosable: false, visible: approveDrawerVisible, title: handleType === 'handle'
|
|
153
|
-
? `${operationName}意见`
|
|
154
|
-
: `审批意见-${(_d = approvalType === null || approvalType === void 0 ? void 0 : approvalType[handleType]) === null || _d === void 0 ? void 0 : _d.title}`, onClose: onApproveDrawerVisibleChange, footer: React.createElement("div", { className: "btn-wrapper" },
|
|
155
|
-
React.createElement(Button, { className: "submit-btn", type: "primary", loading: submitLoading, onClick: () => {
|
|
156
|
-
if (handleType === 'reject' && !approveInfo.trim()) {
|
|
157
|
-
setStatusFlag('error');
|
|
158
|
-
setStatusMessage('请输入审批意见');
|
|
159
|
-
return;
|
|
160
|
-
}
|
|
161
|
-
if (approveInfo.length > 500) {
|
|
162
|
-
setStatusFlag('error');
|
|
163
|
-
setStatusMessage('审批意见长度不可超过500,请检查');
|
|
164
|
-
return;
|
|
165
|
-
}
|
|
166
|
-
handleSubmit();
|
|
167
|
-
} }, "\u63D0\u4EA4"),
|
|
168
|
-
React.createElement(Button, { onClick: onApproveDrawerVisibleChange }, "\u53D6\u6D88")) },
|
|
169
|
-
React.createElement(Form, { className: "approval-form__drawer" },
|
|
170
|
-
React.createElement(Form.Item, { label: '当前节点' },
|
|
171
|
-
React.createElement("span", { className: "form-item__plain" }, nodeName)),
|
|
172
|
-
React.createElement(Form.Item, { label: handleType === 'handle' ? '处理人' : '审批人' },
|
|
173
|
-
React.createElement("span", { className: "form-item__plain" }, currentApproverName || '--')),
|
|
174
|
-
((_e = approvalType === null || approvalType === void 0 ? void 0 : approvalType[handleType]) === null || _e === void 0 ? void 0 : _e.dom) ? (React.createElement(ExtraDOM, { type: handleType, appCode: appCode, onChange: onChange, fileList: fileList, approveInfo: approveInfo, operationName: operationName, statusFlag: statusFlag, setStatusFlag: setStatusFlag, statusMessage: statusMessage, setStatusMessage: setStatusMessage, opinionUserMap: opinionUserMap, setOpinionUserMap: setOpinionUserMap, setHighlightPositionMap: setHighlightPositionMap })) : null,
|
|
175
|
-
handleType !== 'reject' &&
|
|
176
|
-
(showCarbonCopy || handleType === 'transfer') ? (React.createElement(ApprovePerson, { approvers: approvers, label: (_f = approvalType === null || approvalType === void 0 ? void 0 : approvalType[handleType]) === null || _f === void 0 ? void 0 : _f.personLabel, show: showModal, onChange: (val) => onChange('approvers', val) })) : null)),
|
|
177
|
-
React.createElement(UserSelectModel, { visible: modalVisible, onChange: (val) => onChange('approvers', val), onClose: hideModal, value: approvers === null || approvers === void 0 ? void 0 : approvers.map((item) => item === null || item === void 0 ? void 0 : item.value) })));
|
|
178
|
-
};
|