@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.
- 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/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/repeater.js +4 -1
- package/dist/configs/components/table.json +1 -0
- 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/web/actions/showModal/index.js +1 -1
- package/dist/web/components/calendar/index.js +2 -2
- 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/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/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 +5 -2
- package/dist/web/components/form/uploaderFile/uploadFile.h5.js +15 -12
- package/dist/web/components/form/uploaderFile/uploadFile.pc.js +11 -8
- 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 +9 -5
- package/dist/web/components/form/userOrgSelect/component/user-select-h5/user-select-h5.js +4 -2
- 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 +4 -3
- package/dist/web/components/lottery/index.js +122 -123
- 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 -3
- package/dist/web/utils/platform.js +0 -1
- package/dist/web/utils/tool.js +11 -0
- package/dist/web/utils/widget-api/index.js +3 -0
- package/package.json +5 -3
- 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 -72
- package/dist/web/components/flow/components/UserSelectModel/UserSelectMobile.css +0 -8
- package/dist/web/components/flow/components/UserSelectModel/UserSelectMobile.js +0 -82
- 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 -240
- package/dist/web/components/flow/modules/control/Control.css +0 -29
- package/dist/web/components/flow/modules/control/Control.js +0 -105
- package/dist/web/components/flow/modules/control/ControlMobile.css +0 -101
- package/dist/web/components/flow/modules/control/ControlMobile.js +0 -148
- 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 -252
- package/dist/web/components/flow/modules/control/provider/useMobileModel.js +0 -84
- package/dist/web/components/flow/modules/control/provider/useRevokeAndBackHook.js +0 -84
- package/dist/web/components/flow/modules/control/utils/ControlModelUtils.js +0 -57
- package/dist/web/components/flow/modules/control/utils/index.js +0 -3
- package/dist/web/components/flow/modules/control/utils/tools.js +0 -3
|
@@ -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
|
-
};
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
.cp-vant-popup {
|
|
2
|
-
z-index: 998 !important;
|
|
3
|
-
}
|
|
4
|
-
.cp-vant-popup h3.popup-title {
|
|
5
|
-
padding: 20px 24px 12px;
|
|
6
|
-
}
|
|
7
|
-
.cp-vant-popup .rv-cell {
|
|
8
|
-
padding: 12px 24px;
|
|
9
|
-
}
|
|
10
|
-
.cp-vant-popup .rv-field + .rv-field {
|
|
11
|
-
margin-top: 12px;
|
|
12
|
-
}
|
|
13
|
-
.cp-vant-popup .rv-field__control {
|
|
14
|
-
color: #000;
|
|
15
|
-
}
|
|
16
|
-
.cp-vant-popup .rv-cell:not(:last-child)::after {
|
|
17
|
-
left: 24px;
|
|
18
|
-
right: 24px;
|
|
19
|
-
border-bottom: 1px solid #dcdee6;
|
|
20
|
-
}
|
|
21
|
-
.cp-vant-popup .apa-height-xl.wedatea2td-btn.success-btn {
|
|
22
|
-
padding: 0;
|
|
23
|
-
height: 40px;
|
|
24
|
-
line-height: 40px;
|
|
25
|
-
min-width: 152px;
|
|
26
|
-
position: absolute;
|
|
27
|
-
bottom: 30px;
|
|
28
|
-
left: 20px;
|
|
29
|
-
right: 20px;
|
|
30
|
-
width: calc(100% - 48px);
|
|
31
|
-
}
|
|
32
|
-
.cp-vant-popup .popup-content-wrapper {
|
|
33
|
-
height: calc(100% - 90px);
|
|
34
|
-
overflow: auto;
|
|
35
|
-
}
|
|
36
|
-
.cp-vant-popup h3.popup-title {
|
|
37
|
-
padding: 20px;
|
|
38
|
-
padding-bottom: 10px;
|
|
39
|
-
font-size: 14px;
|
|
40
|
-
}
|
|
41
|
-
.cp-vant-popup .rv-cell {
|
|
42
|
-
padding-left: 20px;
|
|
43
|
-
}
|
|
44
|
-
.cp-vant-popup .upload-cell_wrapper .pant-cell__title {
|
|
45
|
-
display: flex;
|
|
46
|
-
justify-content: space-between;
|
|
47
|
-
}
|
|
48
|
-
.cp-vant-popup .label-execute__btn .rv-cell__value .rv-field__control-wrapper {
|
|
49
|
-
margin-right: 12px;
|
|
50
|
-
justify-content: flex-end;
|
|
51
|
-
color: #2473f2;
|
|
52
|
-
}
|
|
53
|
-
.cp-vant-popup
|
|
54
|
-
.label-execute__btn
|
|
55
|
-
.rv-cell__value
|
|
56
|
-
.rv-field__control-wrapper
|
|
57
|
-
.rv-field__children {
|
|
58
|
-
justify-content: flex-end;
|
|
59
|
-
}
|
|
60
|
-
.cp-vant-popup .label-execute__btn .btn-show-modal {
|
|
61
|
-
display: flex;
|
|
62
|
-
align-items: center;
|
|
63
|
-
}
|
|
64
|
-
.cp-vant-popup .label-execute__btn .apa-icon {
|
|
65
|
-
width: 16px;
|
|
66
|
-
height: 16px;
|
|
67
|
-
display: inline-block;
|
|
68
|
-
vertical-align: middle;
|
|
69
|
-
background-repeat: no-repeat;
|
|
70
|
-
background-position: inherit;
|
|
71
|
-
font-size: 0;
|
|
72
|
-
background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMTZweCIgaGVpZ2h0PSIxNnB4IiB2aWV3Qm94PSIwIDAgMTYgMTYiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CiAgICA8IS0tIEdlbmVyYXRvcjogU2tldGNoIDU4ICg4NDY2MykgLSBodHRwczovL3NrZXRjaC5jb20gLS0+CiAgICA8dGl0bGU+55S75p2/PC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGcgaWQ9IueUu+advyIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9IuWbvuaghy/mt7vliqAiPgogICAgICAgICAgICA8ZyBpZD0i57yW57uEIj4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik04LDIuNSBDOC4yNzYxNDIzNywyLjUgOC41LDIuNzIzODU3NjMgOC41LDMgTDguNSw3LjUgTDEzLDcuNSBDMTMuMjc2MTQyNCw3LjUgMTMuNSw3LjcyMzg1NzYzIDEzLjUsOCBDMTMuNSw4LjI3NjE0MjM3IDEzLjI3NjE0MjQsOC41IDEzLDguNSBMOC41LDguNSBMOC41LDEzIEM4LjUsMTMuMjc2MTQyNCA4LjI3NjE0MjM3LDEzLjUgOCwxMy41IEM3LjcyMzg1NzYzLDEzLjUgNy41LDEzLjI3NjE0MjQgNy41LDEzIEw3LjUsOC41IEwzLDguNSBDMi43MjM4NTc2Myw4LjUgMi41LDguMjc2MTQyMzcgMi41LDggQzIuNSw3LjcyMzg1NzYzIDIuNzIzODU3NjMsNy41IDMsNy41IEw3LjUsNy41IEw3LjUsMyBDNy41LDIuNzIzODU3NjMgNy43MjM4NTc2MywyLjUgOCwyLjUgWiIgaWQ9IuW9oueKtue7k+WQiCIgZmlsbD0iIzI0NzNGMiI+PC9wYXRoPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IuefqeW9oiIgeD0iMCIgeT0iMCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48L3JlY3Q+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==);
|
|
73
|
-
}
|
|
74
|
-
.pant-popup .success-btn {
|
|
75
|
-
position: absolute;
|
|
76
|
-
bottom: 30px;
|
|
77
|
-
left: 20px;
|
|
78
|
-
right: 20px;
|
|
79
|
-
width: calc(100% - 48px);
|
|
80
|
-
}
|
|
81
|
-
.highlightTextarea-cell_wrapper .rv-cell__title {
|
|
82
|
-
width: 100%;
|
|
83
|
-
}
|
|
84
|
-
.highlightTextarea-cell_wrapper
|
|
85
|
-
.highlightTextarea-mobile__wrapper
|
|
86
|
-
.highlight-textarea {
|
|
87
|
-
border: none;
|
|
88
|
-
color: #000;
|
|
89
|
-
margin-top: 5px;
|
|
90
|
-
}
|
|
91
|
-
.highlightTextarea-cell_wrapper .highlightTextarea-mobile__wrapper .extra-dom {
|
|
92
|
-
position: absolute;
|
|
93
|
-
right: 40px;
|
|
94
|
-
top: 14px;
|
|
95
|
-
color: #006eff;
|
|
96
|
-
cursor: pointer;
|
|
97
|
-
}
|
|
98
|
-
.highlightTextarea-cell_wrapper .rv-cell__value {
|
|
99
|
-
display: none;
|
|
100
|
-
}
|
|
101
|
-
.rv-popup .person-item {
|
|
102
|
-
display: flex;
|
|
103
|
-
justify-content: space-between;
|
|
104
|
-
font-size: 12px;
|
|
105
|
-
background: rgba(220, 222, 230, 0.4);
|
|
106
|
-
padding: 4px 8px;
|
|
107
|
-
line-height: 20px;
|
|
108
|
-
margin: 0 24px;
|
|
109
|
-
}
|
|
110
|
-
.rv-popup .person-item .tea-icon {
|
|
111
|
-
margin-top: 4px;
|
|
112
|
-
}
|
|
113
|
-
.rv-popup .person-item + .person-item {
|
|
114
|
-
margin-top: 4px;
|
|
115
|
-
}
|