linkmore-design 1.0.67 → 1.0.68

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 (281) hide show
  1. package/dist/Approval/handle.d.ts +11 -0
  2. package/dist/Approval/type.d.ts +39 -8
  3. package/dist/Approval/util.d.ts +26 -0
  4. package/dist/AutoComplete/index.d.ts +2 -1
  5. package/dist/Calendar/demos/basic.d.ts +2 -0
  6. package/dist/Calendar/index.d.ts +4 -0
  7. package/dist/Calendar/style/index.d.ts +1 -0
  8. package/dist/CardTable/hooks/usePagination.d.ts +1 -1
  9. package/dist/CardTable/utils.d.ts +2 -2
  10. package/dist/Carousel/demos/basic.d.ts +2 -0
  11. package/dist/Carousel/index.d.ts +3 -0
  12. package/dist/Carousel/style/index.d.ts +1 -0
  13. package/dist/CkFilter/components/CascaderFilter.d.ts +1 -1
  14. package/dist/Collapse/demos/basic.d.ts +2 -0
  15. package/dist/Collapse/index.d.ts +3 -0
  16. package/dist/Collapse/style/index.d.ts +1 -0
  17. package/dist/Comment/demos/basic.d.ts +2 -0
  18. package/dist/Comment/index.d.ts +3 -0
  19. package/dist/Comment/style/index.d.ts +1 -0
  20. package/dist/LmFilter/components/CascaderFilter.d.ts +1 -1
  21. package/dist/LmFilter/components/CheckboxFilter.d.ts +1 -1
  22. package/dist/LmFilter/components/DateFilter.d.ts +1 -1
  23. package/dist/LmFilter/components/SelectFilter.d.ts +1 -1
  24. package/dist/LmSelect/useCheckboxOptions.d.ts +1 -1
  25. package/dist/LmTable/components/DndContainer.d.ts +5 -0
  26. package/dist/LmTable/components/sortableBoxCol.d.ts +5 -0
  27. package/dist/LmTable/components/sortableItemCol.d.ts +1 -0
  28. package/dist/LmTable/demos/tableColSort.d.ts +2 -0
  29. package/dist/LmUpload/LmUpload.d.ts +4 -1
  30. package/dist/LmUpload/UploadList/index.d.ts +1 -1
  31. package/dist/LmUpload/body/Progress.d.ts +4 -0
  32. package/dist/LmUpload/fns/index.d.ts +4 -1
  33. package/dist/Modal/index.d.ts +1 -1
  34. package/dist/Popconfirm/demos/basic.d.ts +2 -0
  35. package/dist/Popconfirm/index.d.ts +3 -0
  36. package/dist/Popconfirm/style/index.d.ts +1 -0
  37. package/dist/Progress/demos/basic.d.ts +2 -0
  38. package/dist/Progress/demos/circle.d.ts +2 -0
  39. package/dist/Progress/demos/dynamic.d.ts +2 -0
  40. package/dist/Progress/demos/small.d.ts +2 -0
  41. package/dist/Progress/index.d.ts +3 -0
  42. package/dist/Progress/style/index.d.ts +1 -0
  43. package/dist/Segmented/demos/basic.d.ts +2 -0
  44. package/dist/Segmented/index.d.ts +3 -0
  45. package/dist/Segmented/style/index.d.ts +1 -0
  46. package/dist/Slider/demos/basic.d.ts +2 -0
  47. package/dist/Slider/index.d.ts +2 -0
  48. package/dist/Slider/style/index.d.ts +1 -0
  49. package/dist/Statistic/demos/basic.d.ts +2 -0
  50. package/dist/Statistic/index.d.ts +3 -0
  51. package/dist/Statistic/style/index.d.ts +1 -0
  52. package/dist/TimePicker/demos/basic.d.ts +3 -0
  53. package/dist/TimePicker/index.d.ts +3 -0
  54. package/dist/TimePicker/style/index.d.ts +1 -0
  55. package/dist/Timeline/demos/basic.d.ts +2 -0
  56. package/dist/Timeline/index.d.ts +3 -0
  57. package/dist/Timeline/style/index.d.ts +1 -0
  58. package/dist/Transfer/demos/basic.d.ts +2 -0
  59. package/dist/Transfer/index.d.ts +3 -0
  60. package/dist/Transfer/style/index.d.ts +1 -0
  61. package/dist/TreeSelect/demos/basic.d.ts +2 -0
  62. package/dist/TreeSelect/index.d.ts +3 -0
  63. package/dist/TreeSelect/style/index.d.ts +1 -0
  64. package/dist/hooks/useFullscreen/demos/useInModal.d.ts +2 -0
  65. package/dist/index.d.ts +18 -0
  66. package/dist/index.umd.js +3780 -1343
  67. package/dist/index.umd.min.js +6 -6
  68. package/es/Alert/index.js +27 -5
  69. package/es/Alert/style/index.css +1 -1
  70. package/es/Approval/handle.d.ts +11 -0
  71. package/es/Approval/handle.js +138 -0
  72. package/es/Approval/index.js +279 -121
  73. package/es/Approval/style/index.css +42 -4
  74. package/es/Approval/type.d.ts +39 -8
  75. package/es/Approval/type.js +97 -1
  76. package/es/Approval/util.d.ts +26 -0
  77. package/es/Approval/util.js +132 -0
  78. package/es/AutoComplete/index.d.ts +2 -1
  79. package/es/Calendar/index.d.ts +4 -0
  80. package/es/Calendar/index.js +3 -0
  81. package/es/Calendar/style/index.css +505 -0
  82. package/es/Calendar/style/index.d.ts +1 -0
  83. package/es/Calendar/style/index.js +1 -0
  84. package/es/Carousel/index.d.ts +3 -0
  85. package/es/Carousel/index.js +3 -0
  86. package/es/Carousel/style/index.css +505 -0
  87. package/es/Carousel/style/index.d.ts +1 -0
  88. package/es/Carousel/style/index.js +1 -0
  89. package/es/Collapse/index.d.ts +3 -0
  90. package/es/Collapse/index.js +3 -0
  91. package/es/Collapse/style/index.css +505 -0
  92. package/es/Collapse/style/index.d.ts +1 -0
  93. package/es/Collapse/style/index.js +1 -0
  94. package/es/Comment/index.d.ts +3 -0
  95. package/es/Comment/index.js +3 -0
  96. package/es/Comment/style/index.css +505 -0
  97. package/es/Comment/style/index.d.ts +1 -0
  98. package/es/Comment/style/index.js +1 -0
  99. package/es/LmEditTable/EditTable.js +5 -3
  100. package/es/LmEditTable/style/index.css +6 -0
  101. package/es/LmFilter/customFilter/index.js +2 -1
  102. package/es/LmFilter/customFilter/saveModal.js +5 -6
  103. package/es/LmFilter/filterFns/index.js +0 -1
  104. package/es/LmSelect/useCheckboxOptions.d.ts +1 -1
  105. package/es/LmTable/Table.js +79 -45
  106. package/es/LmTable/components/DndContainer.d.ts +5 -0
  107. package/es/LmTable/components/DndContainer.js +35 -0
  108. package/es/LmTable/components/sortableBoxCol.js +24 -0
  109. package/es/LmTable/components/sortableItemCol.js +54 -0
  110. package/es/LmUpload/LmUpload.d.ts +4 -1
  111. package/es/LmUpload/LmUpload.js +30 -6
  112. package/es/LmUpload/UploadList/ItemPictureCard.js +67 -10
  113. package/es/LmUpload/UploadList/index.d.ts +1 -1
  114. package/es/LmUpload/UploadList/index.js +3 -2
  115. package/es/LmUpload/body/Progress.d.ts +4 -0
  116. package/es/LmUpload/body/Progress.js +16 -0
  117. package/es/LmUpload/body/UploadCore.js +16 -10
  118. package/es/LmUpload/body/UploadPicture.js +12 -4
  119. package/es/LmUpload/fns/index.d.ts +3 -0
  120. package/es/LmUpload/fns/index.js +135 -25
  121. package/es/LmUpload/style/index.css +20 -3
  122. package/es/LmUpload/wrapper/reducer.js +7 -1
  123. package/es/Modal/index.d.ts +1 -1
  124. package/es/Popconfirm/index.d.ts +3 -0
  125. package/es/Popconfirm/index.js +3 -0
  126. package/es/Popconfirm/style/index.css +505 -0
  127. package/es/Popconfirm/style/index.d.ts +1 -0
  128. package/es/Popconfirm/style/index.js +1 -0
  129. package/es/Progress/index.d.ts +3 -0
  130. package/es/Progress/index.js +3 -0
  131. package/es/Progress/style/index.css +505 -0
  132. package/es/Progress/style/index.d.ts +1 -0
  133. package/es/Progress/style/index.js +1 -0
  134. package/es/Segmented/index.d.ts +3 -0
  135. package/es/Segmented/index.js +3 -0
  136. package/es/Segmented/style/index.css +505 -0
  137. package/es/Segmented/style/index.d.ts +1 -0
  138. package/es/Segmented/style/index.js +1 -0
  139. package/es/Slider/index.d.ts +2 -0
  140. package/es/Slider/index.js +3 -0
  141. package/es/Slider/style/index.css +505 -0
  142. package/es/Slider/style/index.d.ts +1 -0
  143. package/es/Slider/style/index.js +1 -0
  144. package/es/Statistic/index.d.ts +3 -0
  145. package/es/Statistic/index.js +3 -0
  146. package/es/Statistic/style/index.css +505 -0
  147. package/es/Statistic/style/index.d.ts +1 -0
  148. package/es/Statistic/style/index.js +1 -0
  149. package/es/TimePicker/index.d.ts +3 -0
  150. package/es/TimePicker/index.js +3 -0
  151. package/es/TimePicker/style/index.css +505 -0
  152. package/es/TimePicker/style/index.d.ts +1 -0
  153. package/es/TimePicker/style/index.js +1 -0
  154. package/es/Timeline/index.d.ts +3 -0
  155. package/es/Timeline/index.js +3 -0
  156. package/es/Timeline/style/index.css +505 -0
  157. package/es/Timeline/style/index.d.ts +1 -0
  158. package/es/Timeline/style/index.js +1 -0
  159. package/es/Transfer/index.d.ts +3 -0
  160. package/es/Transfer/index.js +3 -0
  161. package/es/Transfer/style/index.css +505 -0
  162. package/es/Transfer/style/index.d.ts +1 -0
  163. package/es/Transfer/style/index.js +1 -0
  164. package/es/TreeSelect/index.d.ts +3 -0
  165. package/es/TreeSelect/index.js +3 -0
  166. package/es/TreeSelect/style/index.css +505 -0
  167. package/es/TreeSelect/style/index.d.ts +1 -0
  168. package/es/TreeSelect/style/index.js +1 -0
  169. package/es/hooks/useFullscreen/index.js +6 -8
  170. package/es/index.d.ts +18 -0
  171. package/es/index.js +10 -1
  172. package/lib/Alert/index.js +27 -5
  173. package/lib/Alert/style/index.css +1 -1
  174. package/lib/Approval/handle.d.ts +11 -0
  175. package/lib/Approval/handle.js +160 -0
  176. package/lib/Approval/index.js +286 -121
  177. package/lib/Approval/style/index.css +42 -4
  178. package/lib/Approval/type.d.ts +39 -8
  179. package/lib/Approval/type.js +101 -1
  180. package/lib/Approval/util.d.ts +26 -0
  181. package/lib/Approval/util.js +148 -0
  182. package/lib/AutoComplete/index.d.ts +2 -1
  183. package/lib/Calendar/index.d.ts +4 -0
  184. package/lib/Calendar/index.js +15 -0
  185. package/lib/Calendar/style/index.css +505 -0
  186. package/lib/Calendar/style/index.d.ts +1 -0
  187. package/lib/Calendar/style/index.js +3 -0
  188. package/lib/Carousel/index.d.ts +3 -0
  189. package/lib/Carousel/index.js +15 -0
  190. package/lib/Carousel/style/index.css +505 -0
  191. package/lib/Carousel/style/index.d.ts +1 -0
  192. package/lib/Carousel/style/index.js +3 -0
  193. package/lib/Collapse/index.d.ts +3 -0
  194. package/lib/Collapse/index.js +15 -0
  195. package/lib/Collapse/style/index.css +505 -0
  196. package/lib/Collapse/style/index.d.ts +1 -0
  197. package/lib/Collapse/style/index.js +3 -0
  198. package/lib/Comment/index.d.ts +3 -0
  199. package/lib/Comment/index.js +15 -0
  200. package/lib/Comment/style/index.css +505 -0
  201. package/lib/Comment/style/index.d.ts +1 -0
  202. package/lib/Comment/style/index.js +3 -0
  203. package/lib/LmEditTable/EditTable.js +5 -3
  204. package/lib/LmEditTable/style/index.css +6 -0
  205. package/lib/LmFilter/customFilter/index.js +2 -1
  206. package/lib/LmFilter/customFilter/saveModal.js +5 -6
  207. package/lib/LmFilter/filterFns/index.js +0 -1
  208. package/lib/LmSelect/useCheckboxOptions.d.ts +1 -1
  209. package/lib/LmTable/Table.js +79 -45
  210. package/lib/LmTable/components/DndContainer.d.ts +5 -0
  211. package/lib/LmTable/components/DndContainer.js +49 -0
  212. package/lib/LmTable/components/sortableBoxCol.js +24 -0
  213. package/lib/LmTable/components/sortableItemCol.js +54 -0
  214. package/lib/LmUpload/LmUpload.d.ts +4 -1
  215. package/lib/LmUpload/LmUpload.js +31 -6
  216. package/lib/LmUpload/UploadList/ItemPictureCard.js +66 -10
  217. package/lib/LmUpload/UploadList/index.d.ts +1 -1
  218. package/lib/LmUpload/UploadList/index.js +6 -2
  219. package/lib/LmUpload/body/Progress.d.ts +4 -0
  220. package/lib/LmUpload/body/{UploadDrag.js → Progress.js} +10 -5
  221. package/lib/LmUpload/body/UploadCore.js +16 -10
  222. package/lib/LmUpload/body/UploadPicture.js +14 -3
  223. package/lib/LmUpload/fns/index.d.ts +3 -0
  224. package/lib/LmUpload/fns/index.js +141 -29
  225. package/lib/LmUpload/style/index.css +20 -3
  226. package/lib/LmUpload/wrapper/reducer.js +7 -1
  227. package/lib/Modal/index.d.ts +1 -1
  228. package/lib/Popconfirm/index.d.ts +3 -0
  229. package/lib/Popconfirm/index.js +15 -0
  230. package/lib/Popconfirm/style/index.css +505 -0
  231. package/lib/Popconfirm/style/index.d.ts +1 -0
  232. package/lib/Popconfirm/style/index.js +3 -0
  233. package/lib/Progress/index.d.ts +3 -0
  234. package/lib/Progress/index.js +15 -0
  235. package/lib/Progress/style/index.css +505 -0
  236. package/lib/Progress/style/index.d.ts +1 -0
  237. package/lib/Progress/style/index.js +3 -0
  238. package/lib/Segmented/index.d.ts +3 -0
  239. package/lib/Segmented/index.js +15 -0
  240. package/lib/Segmented/style/index.css +505 -0
  241. package/lib/Segmented/style/index.d.ts +1 -0
  242. package/lib/Segmented/style/index.js +3 -0
  243. package/lib/Slider/index.d.ts +2 -0
  244. package/lib/Slider/index.js +15 -0
  245. package/lib/Slider/style/index.css +505 -0
  246. package/lib/Slider/style/index.d.ts +1 -0
  247. package/lib/Slider/style/index.js +3 -0
  248. package/lib/Statistic/index.d.ts +3 -0
  249. package/lib/Statistic/index.js +15 -0
  250. package/lib/Statistic/style/index.css +505 -0
  251. package/lib/Statistic/style/index.d.ts +1 -0
  252. package/lib/Statistic/style/index.js +3 -0
  253. package/lib/TimePicker/index.d.ts +3 -0
  254. package/lib/TimePicker/index.js +15 -0
  255. package/lib/TimePicker/style/index.css +505 -0
  256. package/lib/TimePicker/style/index.d.ts +1 -0
  257. package/lib/TimePicker/style/index.js +3 -0
  258. package/lib/Timeline/index.d.ts +3 -0
  259. package/lib/Timeline/index.js +15 -0
  260. package/lib/Timeline/style/index.css +505 -0
  261. package/lib/Timeline/style/index.d.ts +1 -0
  262. package/lib/Timeline/style/index.js +3 -0
  263. package/lib/Transfer/index.d.ts +3 -0
  264. package/lib/Transfer/index.js +15 -0
  265. package/lib/Transfer/style/index.css +505 -0
  266. package/lib/Transfer/style/index.d.ts +1 -0
  267. package/lib/Transfer/style/index.js +3 -0
  268. package/lib/TreeSelect/index.d.ts +3 -0
  269. package/lib/TreeSelect/index.js +15 -0
  270. package/lib/TreeSelect/style/index.css +505 -0
  271. package/lib/TreeSelect/style/index.d.ts +1 -0
  272. package/lib/TreeSelect/style/index.js +3 -0
  273. package/lib/hooks/useFullscreen/index.js +6 -10
  274. package/lib/index.d.ts +18 -0
  275. package/lib/index.js +73 -1
  276. package/package.json +2 -1
  277. package/typings/index.d.ts +1 -1
  278. package/dist/LmUpload/body/UploadDrag.d.ts +0 -4
  279. package/es/LmUpload/body/UploadDrag.d.ts +0 -4
  280. package/es/LmUpload/body/UploadDrag.js +0 -10
  281. package/lib/LmUpload/body/UploadDrag.d.ts +0 -4
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+
3
5
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
6
 
5
7
  Object.defineProperty(exports, "__esModule", {
@@ -7,12 +9,20 @@ Object.defineProperty(exports, "__esModule", {
7
9
  });
8
10
  exports.default = void 0;
9
11
 
10
- var _react = _interopRequireDefault(require("react"));
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
11
15
 
12
16
  var _classnames = _interopRequireDefault(require("classnames"));
13
17
 
14
18
  var _ = require("..");
15
19
 
20
+ var _type = require("./type");
21
+
22
+ var _util = require("./util");
23
+
24
+ var _handle = require("./handle");
25
+
16
26
  var __rest = void 0 && (void 0).__rest || function (s, e) {
17
27
  var t = {};
18
28
 
@@ -28,8 +38,20 @@ var __rest = void 0 && (void 0).__rest || function (s, e) {
28
38
 
29
39
  var prefixCls = 'lm_approval';
30
40
  var colors = ['#36BCF1', '#AE86DC', '#8BD248', '#F5A173'];
31
- var statusMap = new Map([[1, '审核中'], [2, '已审核'], [3, '未通过']]);
32
- var defaultStatus = 1;
41
+ var cacheColorMap = new Map();
42
+
43
+ var getColorWithCache = function getColorWithCache(key) {
44
+ var color;
45
+
46
+ if (cacheColorMap.has(key)) {
47
+ color = cacheColorMap.get(key);
48
+ } else {
49
+ color = colors[parseInt(Math.random() * 4 + '')];
50
+ cacheColorMap.set(key, color);
51
+ }
52
+
53
+ return color;
54
+ };
33
55
 
34
56
  var getLastChar = function getLastChar(name) {
35
57
  return name.substring(name.length - 1, name.length);
@@ -40,25 +62,26 @@ var LMDrawer = function LMDrawer(props) {
40
62
  visible = _props$visible === void 0 ? false : _props$visible,
41
63
  _props$title = props.title,
42
64
  title = _props$title === void 0 ? '' : _props$title,
43
- _props$status = props.status,
44
- status = _props$status === void 0 ? defaultStatus : _props$status,
45
- _props$userType = props.userType,
46
- userType = _props$userType === void 0 ? 'self' : _props$userType,
47
- close = props.close,
65
+ user = props.user,
66
+ onClose = props.onClose,
48
67
  children = props.children,
68
+ _props$steps = props.steps,
69
+ steps = _props$steps === void 0 ? [] : _props$steps,
49
70
  _props$onComment = props.onComment,
50
71
  onComment = _props$onComment === void 0 ? function () {} : _props$onComment,
51
72
  _props$onRefuse = props.onRefuse,
52
73
  onRefuse = _props$onRefuse === void 0 ? function () {} : _props$onRefuse,
53
74
  _props$onAgree = props.onAgree,
54
75
  onAgree = _props$onAgree === void 0 ? function () {} : _props$onAgree;
76
+ var status = (0, _util.getStatus)(steps);
55
77
  var currentStatusCls = (0, _classnames.default)(prefixCls + '_title_status');
56
78
  var drawerCls = (0, _classnames.default)(prefixCls + '_drawer');
57
- var statusText = statusMap.has(status) ? statusMap.get(status) : statusMap.get(1);
79
+
80
+ var statusText = _type.ApprovalType.toText(_type.ApprovalType.APPROVAL, status);
58
81
 
59
82
  var handleClose = function handleClose() {
60
83
  visible = false;
61
- close();
84
+ onClose();
62
85
  };
63
86
 
64
87
  return /*#__PURE__*/_react.default.createElement(_.Drawer, {
@@ -68,19 +91,16 @@ var LMDrawer = function LMDrawer(props) {
68
91
  onClose: handleClose,
69
92
  extra: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
70
93
  className: currentStatusCls
71
- }, // 审核中
72
- status === 1 && /*#__PURE__*/_react.default.createElement(_.IconFont, {
94
+ }, _type.ApprovalType.isPending(_type.ApprovalType.APPROVAL, status) && /*#__PURE__*/_react.default.createElement(_.IconFont, {
73
95
  className: 'icon blue',
74
96
  type: "lmweb-yuanxing-gengduo"
75
- }), // 已审核
76
- status === 2 && /*#__PURE__*/_react.default.createElement(_.IconFont, {
97
+ }), _type.ApprovalType.isAgree(_type.ApprovalType.APPROVAL, status) && /*#__PURE__*/_react.default.createElement(_.IconFont, {
77
98
  className: 'icon green',
78
99
  type: "lmweb-check-circle-fill"
79
- }), // 未通过
80
- status === 3 && /*#__PURE__*/_react.default.createElement(_.IconFont, {
100
+ }), _type.ApprovalType.isRefuse(_type.ApprovalType.APPROVAL, status) && /*#__PURE__*/_react.default.createElement(_.IconFont, {
81
101
  className: 'icon grey',
82
102
  type: "lmweb-stop"
83
- }), /*#__PURE__*/_react.default.createElement("span", null, statusText)), status === 1 && userType === 'approver' && /*#__PURE__*/_react.default.createElement(_.Space, null, /*#__PURE__*/_react.default.createElement(_.Button, {
103
+ }), /*#__PURE__*/_react.default.createElement("span", null, statusText)), _type.ApprovalType.isPending(_type.ApprovalType.APPROVAL, status) && (0, _util.currentUserIsApprover)(steps, user) && /*#__PURE__*/_react.default.createElement(_.Space, null, /*#__PURE__*/_react.default.createElement(_.Button, {
84
104
  size: "small",
85
105
  onClick: onComment
86
106
  }, "\u4EC5\u8BC4\u8BBA"), /*#__PURE__*/_react.default.createElement(_.Button, {
@@ -105,88 +125,81 @@ var ApprovalItem = function ApprovalItem(props) {
105
125
  name = _props$name === void 0 ? '' : _props$name,
106
126
  _props$time = props.time,
107
127
  time = _props$time === void 0 ? '' : _props$time,
108
- _props$type = props.type,
109
- type = _props$type === void 0 ? 'start' : _props$type,
128
+ type = props.type,
129
+ _props$agreeList = props.agreeList,
130
+ agreeList = _props$agreeList === void 0 ? [] : _props$agreeList,
131
+ _props$approverList = props.approverList,
132
+ approverList = _props$approverList === void 0 ? [] : _props$approverList,
110
133
  _props$everyoneAgree = props.everyoneAgree,
111
134
  everyoneAgree = _props$everyoneAgree === void 0 ? false : _props$everyoneAgree,
112
135
  _props$comment = props.comment,
113
136
  comment = _props$comment === void 0 ? null : _props$comment,
114
- approverList = props.approverList,
115
- carbonCopyList = props.carbonCopyList,
116
- _cacheColorMap = props._cacheColorMap,
117
- _color = props._color,
118
- _status = props._status;
137
+ _props$carbonCopyList = props.carbonCopyList,
138
+ carbonCopyList = _props$carbonCopyList === void 0 ? [] : _props$carbonCopyList,
139
+ _props$urge = props.urge,
140
+ urge = _props$urge === void 0 ? false : _props$urge,
141
+ approvalStatus = props.approvalStatus,
142
+ _isSelf = props._isSelf,
143
+ _user = props._user,
144
+ onUrge = props.onUrge,
145
+ onDeleteComment = props.onDeleteComment;
119
146
  var itemCls = (0, _classnames.default)(prefixCls + '_item');
120
147
  var itemHeaderCls = (0, _classnames.default)(itemCls + '_header');
121
148
  var itemBodyCls = (0, _classnames.default)(itemCls + '_body');
122
149
 
123
150
  var getIcon = function getIcon() {
124
- if (_status === 1) {
151
+ if (_type.ApprovalType.isRefuse(type, approvalStatus)) {
125
152
  return /*#__PURE__*/_react.default.createElement(_.IconFont, {
126
- className: 'icon blue',
127
- type: "lmweb-yuanxing-gengduo"
128
- });
129
- }
130
-
131
- if (_status === 2) {
132
- return /*#__PURE__*/_react.default.createElement(_.IconFont, {
133
- className: 'icon green',
134
- type: "lmweb-check-circle-fill"
153
+ className: 'icon red',
154
+ type: "lmweb-close-circle-fill"
135
155
  });
136
156
  }
137
157
 
138
- if (_status === 3) {
158
+ if (_type.ApprovalType.isPending(type, approvalStatus)) {
139
159
  return /*#__PURE__*/_react.default.createElement(_.IconFont, {
140
- className: 'icon red',
141
- type: "lmweb-close-circle-fill"
160
+ className: 'icon blue',
161
+ type: "lmweb-yuanxing-gengduo"
142
162
  });
143
163
  }
144
164
 
145
- return null;
165
+ return /*#__PURE__*/_react.default.createElement(_.IconFont, {
166
+ className: 'icon green',
167
+ type: "lmweb-check-circle-fill"
168
+ });
146
169
  };
147
170
 
148
171
  var getApprovalText = function getApprovalText() {
149
- if (type === 'refuse') {
172
+ if (_type.ApprovalType.isPending(type, approvalStatus)) {
173
+ return /*#__PURE__*/_react.default.createElement("div", {
174
+ className: 'desc blue'
175
+ }, "\u5BA1\u6838\u4E2D");
176
+ } else if (_type.ApprovalType.isAgree(type, approvalStatus)) {
177
+ return /*#__PURE__*/_react.default.createElement("div", {
178
+ className: 'desc green'
179
+ }, "\u5DF2\u540C\u610F");
180
+ } else if (_type.ApprovalType.isRefuse(type, approvalStatus)) {
150
181
  return /*#__PURE__*/_react.default.createElement("div", {
151
182
  className: 'desc red'
152
183
  }, "\u62D2\u7EDD");
153
- }
154
-
155
- if (type === 'start') {
184
+ } else if (type === _type.ApprovalType.START) {
156
185
  return /*#__PURE__*/_react.default.createElement("div", {
157
186
  className: 'desc green'
158
187
  }, "\u53D1\u8D77\u5BA1\u6279");
159
- }
160
-
161
- if (type === 'comment') {
188
+ } else if (type === _type.ApprovalType.ONLY_COMMENT) {
162
189
  return /*#__PURE__*/_react.default.createElement("div", {
163
190
  className: 'desc grey'
164
191
  }, "\u4EC5\u8BC4\u8BBA");
165
- }
166
-
167
- if (type === 'carbonCopy') {
192
+ } else if (type === _type.ApprovalType.CARBON_COPY) {
168
193
  return /*#__PURE__*/_react.default.createElement("div", {
169
194
  className: 'desc grey'
170
- }, "\u5DF2\u6284\u90018\u4EBA");
171
- }
172
-
173
- if (type === 'agree') {
174
- return /*#__PURE__*/_react.default.createElement("div", {
175
- className: 'desc green'
176
- }, "\u5DF2\u540C\u610F");
177
- }
178
-
179
- if (type === 'pending') {
180
- return /*#__PURE__*/_react.default.createElement("div", {
181
- className: 'desc blue'
182
- }, "\u5BA1\u6838\u4E2D");
195
+ }, "\u5DF2\u6284\u9001", carbonCopyList.length, "\u4EBA");
183
196
  }
184
197
 
185
198
  return null;
186
199
  };
187
200
 
188
201
  var renderTip = function renderTip() {
189
- if (type === 'pending') {
202
+ if (_type.ApprovalType.isPending(type, approvalStatus)) {
190
203
  if (everyoneAgree) {
191
204
  return /*#__PURE__*/_react.default.createElement("div", {
192
205
  className: "agree-tip"
@@ -203,114 +216,266 @@ var ApprovalItem = function ApprovalItem(props) {
203
216
 
204
217
  var renderComment = function renderComment() {
205
218
  if (comment) {
206
- return /*#__PURE__*/_react.default.createElement("div", {
219
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
207
220
  className: 'comment'
208
- }, comment);
221
+ }, comment, _type.ApprovalType.isOnlyComment(type) && (0, _util.currentUserIsProposer)(_user, name) && /*#__PURE__*/_react.default.createElement("div", {
222
+ className: 'comment-delete',
223
+ onClick: onDeleteComment
224
+ }, /*#__PURE__*/_react.default.createElement(_.IconFont, {
225
+ className: "icon",
226
+ type: "lmweb-delete"
227
+ }), " \u5220\u9664")));
228
+ }
229
+
230
+ return null;
231
+ };
232
+
233
+ var renderUrge = function renderUrge() {
234
+ // 当前用户是提议发起者 && 审核中
235
+ if (_isSelf && _type.ApprovalType.isPending(type, approvalStatus)) {
236
+ return /*#__PURE__*/_react.default.createElement(_.Button, {
237
+ className: "urge",
238
+ disabled: urge,
239
+ size: "small",
240
+ onClick: onUrge
241
+ }, urge ? '已催办' : '催一下');
209
242
  }
210
243
 
211
244
  return null;
212
245
  };
213
246
 
214
247
  var renderList = function renderList() {
215
- var list = approverList || carbonCopyList || [];
248
+ var list = [];
249
+
250
+ if (_type.ApprovalType.isCC(type)) {
251
+ list = carbonCopyList;
252
+ } else if (_type.ApprovalType.isApproval(type)) {
253
+ list = approverList.slice(agreeList.length);
254
+ }
255
+
256
+ var separate = type === _type.ApprovalType.APPROVAL && everyoneAgree; // 审批拒绝
257
+
258
+ if (_type.ApprovalType.isRefuse(type, approvalStatus)) {
259
+ return null;
260
+ } // 审批通过
261
+
262
+
263
+ if (_type.ApprovalType.isAgree(type, approvalStatus)) {
264
+ return null;
265
+ }
216
266
 
217
267
  if (list.length) {
218
268
  return /*#__PURE__*/_react.default.createElement("div", {
269
+ className: 'lm-approver-wrapper'
270
+ }, /*#__PURE__*/_react.default.createElement("div", {
219
271
  className: 'lm-approver-box'
220
272
  }, list.map(function (item, i) {
221
- var circleColor;
222
-
223
- if (_cacheColorMap.has(item)) {
224
- circleColor = _cacheColorMap.get(item);
225
- } else {
226
- circleColor = colors[parseInt(Math.random() * 4 + '')];
227
-
228
- _cacheColorMap.set(item, circleColor);
229
- }
230
-
231
- return /*#__PURE__*/_react.default.createElement("div", {
232
- className: 'lm-approver-cell',
273
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
233
274
  key: item + i
275
+ }, /*#__PURE__*/_react.default.createElement("div", {
276
+ className: 'lm-approver-cell'
234
277
  }, /*#__PURE__*/_react.default.createElement("div", {
235
278
  className: 'lm-approver-circle',
236
279
  style: {
237
- backgroundColor: circleColor
280
+ backgroundColor: getColorWithCache(item)
238
281
  }
239
- }, getLastChar(item)), /*#__PURE__*/_react.default.createElement("span", null, item));
240
- }));
282
+ }, getLastChar(item)), /*#__PURE__*/_react.default.createElement("span", null, item)), separate && i != list.length - 1 && /*#__PURE__*/_react.default.createElement(_.IconFont, {
283
+ className: 'icon',
284
+ type: "lmweb-icon_m_put_away"
285
+ }));
286
+ })), renderUrge());
241
287
  }
242
288
 
243
289
  return null;
244
290
  };
245
291
 
292
+ var renderTime = function renderTime() {
293
+ // 当前用户是提议发起者 && 审核中
294
+ if (_isSelf && _type.ApprovalType.isPending(type, approvalStatus)) {
295
+ return /*#__PURE__*/_react.default.createElement("span", {
296
+ className: 'yellow'
297
+ }, "\u5DF2\u7B49\u5F85".concat((0, _handle.getDistanceTime)(time)));
298
+ }
299
+
300
+ return /*#__PURE__*/_react.default.createElement("span", null, time);
301
+ };
302
+
303
+ var renderAvator = function renderAvator() {
304
+ if (_type.ApprovalType.isCC(type)) {
305
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
306
+ className: 'cc-box'
307
+ }, /*#__PURE__*/_react.default.createElement(_.IconFont, {
308
+ className: 'cc',
309
+ type: "lmweb-a-chaosongrenchaosongyonghu-02"
310
+ })), getIcon());
311
+ }
312
+
313
+ if (_type.ApprovalType.isPending(type, approvalStatus)) {
314
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
315
+ className: 'cc-box'
316
+ }, /*#__PURE__*/_react.default.createElement(_.IconFont, {
317
+ className: 'cc',
318
+ type: "lmweb-audit"
319
+ })), getIcon());
320
+ }
321
+
322
+ if (avator) {
323
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("img", {
324
+ className: 'picture',
325
+ src: avator,
326
+ alt: ""
327
+ }), getIcon());
328
+ }
329
+
330
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
331
+ className: 'subname',
332
+ style: {
333
+ backgroundColor: getColorWithCache(name)
334
+ }
335
+ }, getLastChar(name)), getIcon());
336
+ };
337
+
246
338
  return /*#__PURE__*/_react.default.createElement("div", {
247
339
  className: itemCls
248
340
  }, /*#__PURE__*/_react.default.createElement("div", {
249
341
  className: itemHeaderCls
250
342
  }, /*#__PURE__*/_react.default.createElement("div", {
251
343
  className: "avator"
252
- }, avator ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("img", {
253
- className: 'picture',
254
- src: avator,
255
- alt: ""
256
- }), getIcon()) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
257
- className: 'subname',
258
- style: {
259
- backgroundColor: _color
260
- }
261
- }, getLastChar(name)), getIcon())), /*#__PURE__*/_react.default.createElement("div", {
344
+ }, renderAvator()), /*#__PURE__*/_react.default.createElement("div", {
262
345
  className: "content"
263
346
  }, /*#__PURE__*/_react.default.createElement("div", {
264
347
  className: 'name'
265
348
  }, name), getApprovalText()), /*#__PURE__*/_react.default.createElement("div", {
266
349
  className: "right"
267
- }, time)), type !== 'start' && /*#__PURE__*/_react.default.createElement("div", {
350
+ }, renderTime())), type !== _type.ApprovalType.START && /*#__PURE__*/_react.default.createElement("div", {
268
351
  className: itemBodyCls
269
352
  }, renderTip(), renderComment(), renderList()));
270
353
  };
271
354
 
272
- var Approval = function Approval(props) {
273
- var _props$status2 = props.status,
274
- status = _props$status2 === void 0 ? 1 : _props$status2,
275
- _props$steps = props.steps,
276
- steps = _props$steps === void 0 ? [] : _props$steps;
355
+ var Approval = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
356
+ var _props$proposer = props.proposer,
357
+ proposer = _props$proposer === void 0 ? '' : _props$proposer,
358
+ _props$user = props.user,
359
+ user = _props$user === void 0 ? '' : _props$user,
360
+ _props$steps2 = props.steps,
361
+ steps = _props$steps2 === void 0 ? [] : _props$steps2,
362
+ _onUrge2 = props.onUrge,
363
+ _props$onCarbonCopy = props.onCarbonCopy,
364
+ onCarbonCopy = _props$onCarbonCopy === void 0 ? function () {} : _props$onCarbonCopy,
365
+ _props$onDeleteCommen = props.onDeleteComment,
366
+ _onDeleteComment = _props$onDeleteCommen === void 0 ? function () {} : _props$onDeleteCommen;
367
+
368
+ var weakmap = new WeakMap();
369
+
370
+ var _isSelf = (0, _util.currentUserIsProposer)(proposer, user);
371
+
372
+ var mark = false;
373
+ steps.forEach(function (step) {
374
+ if (_type.ApprovalType.isPending(step.type, step.approvalStatus) && !step.name) {
375
+ step.name = '审批';
376
+ }
377
+
378
+ if (_type.ApprovalType.isCC(step.type) && !step.name) {
379
+ step.name = '抄送人';
380
+ }
277
381
 
278
- var _cacheColorMap = new Map();
382
+ if (step.refuse) {
383
+ step.name = step.refuse;
384
+ }
279
385
 
280
- steps.forEach(function (step, i) {
281
- if (i === 0) {
282
- step._status = status;
283
- } else {
284
- step._status = 2;
386
+ if (!step.name) {
387
+ step.name = 'unkonwn';
285
388
  }
286
389
 
287
- if (!step._color) {
288
- if (_cacheColorMap.has(step.name)) {
289
- step._color = _cacheColorMap.get(step.name);
290
- } else {
291
- step._color = colors[parseInt(Math.random() * 4 + '')];
390
+ if (mark) {
391
+ weakmap.set(step, {
392
+ hidden: true
393
+ });
394
+ } // 拒绝|审核中,后面的不展示
292
395
 
293
- _cacheColorMap.set(step.name, step._color);
294
- }
396
+
397
+ if (_type.ApprovalType.isPending(step.type, step.approvalStatus) || _type.ApprovalType.isRefuse(step.type, step.approvalStatus)) {
398
+ mark = true;
295
399
  }
296
400
  });
297
- var list = steps.map(function (step, i) {
298
- return /*#__PURE__*/_react.default.createElement(ApprovalItem, Object.assign({
401
+ var list = []; // 210 012
402
+
403
+ var _loop = function _loop(i) {
404
+ var step = steps[i];
405
+ var obj = weakmap.get(step);
406
+
407
+ if (obj && obj.hidden) {
408
+ return "continue";
409
+ } // 抄送
410
+
411
+
412
+ if (_type.ApprovalType.isCC(step.type) && !step.isCarbonCopy) {
413
+ onCarbonCopy(step, i, steps);
414
+ step.time = (0, _handle.getCurrentTime)();
415
+ step.isCarbonCopy = true;
416
+ }
417
+
418
+ var element = /*#__PURE__*/_react.default.createElement(ApprovalItem, Object.assign({
299
419
  key: step.name + i,
300
- _cacheColorMap: _cacheColorMap
301
- }, step));
302
- });
303
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, list);
304
- };
420
+ _isSelf: _isSelf,
421
+ _user: user
422
+ }, step, {
423
+ onUrge: function onUrge() {
424
+ _onUrge2(step, i, steps);
425
+ },
426
+ onDeleteComment: function onDeleteComment() {
427
+ _onDeleteComment(step, i, steps);
428
+ }
429
+ }));
430
+
431
+ list.push(element);
432
+ };
433
+
434
+ for (var i = steps.length - 1; i >= 0; i--) {
435
+ var _ret = _loop(i);
305
436
 
306
- var LMApproval = function LMApproval(props) {
437
+ if (_ret === "continue") continue;
438
+ }
439
+
440
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, list);
441
+ });
442
+ var LMApproval = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
307
443
  var className = props.className,
308
- others = __rest(props, ["className"]);
444
+ _props$onUrge = props.onUrge,
445
+ onUrge = _props$onUrge === void 0 ? function () {} : _props$onUrge,
446
+ _props$onDeleteCommen2 = props.onDeleteComment,
447
+ onDeleteComment = _props$onDeleteCommen2 === void 0 ? function () {} : _props$onDeleteCommen2,
448
+ others = __rest(props, ["className", "onUrge", "onDeleteComment"]);
449
+
450
+ var _useState = (0, _react.useState)(false),
451
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
452
+ update = _useState2[0],
453
+ setUpdate = _useState2[1];
454
+
455
+ var comment = (0, _handle.wrapperComment)(others.user, others.steps, update, setUpdate);
456
+ var agree = (0, _handle.wrapperAgree)(others.user, others.steps, update, setUpdate);
457
+ var refuse = (0, _handle.wrapperRefuse)(others.user, others.steps, update, setUpdate);
458
+ (0, _react.useImperativeHandle)(ref, function () {
459
+ return {
460
+ comment: comment,
461
+ agree: agree,
462
+ refuse: refuse
463
+ };
464
+ });
465
+
466
+ var _onUrge = function _onUrge(step, i, steps) {
467
+ step.urge = true;
468
+ onUrge(step, i, steps);
469
+ setUpdate(!update);
470
+ };
309
471
 
310
472
  return /*#__PURE__*/_react.default.createElement(LMDrawer, Object.assign({
311
473
  className: (0, _classnames.default)(className, prefixCls)
312
- }, others), /*#__PURE__*/_react.default.createElement(Approval, Object.assign({}, others)));
313
- };
314
-
474
+ }, others), /*#__PURE__*/_react.default.createElement(Approval, Object.assign({}, others, {
475
+ onUrge: _onUrge,
476
+ onDeleteComment: onDeleteComment,
477
+ __update: update
478
+ })));
479
+ });
315
480
  var _default = LMApproval;
316
481
  exports.default = _default;
@@ -569,6 +569,19 @@ html {
569
569
  .lm_approval_item .lm_approval_item_header .avator .icon.red {
570
570
  color: #FA4F53;
571
571
  }
572
+ .lm_approval_item .lm_approval_item_header .avator .cc-box {
573
+ display: flex;
574
+ justify-content: center;
575
+ align-items: center;
576
+ width: 100%;
577
+ height: 100%;
578
+ border-radius: 50%;
579
+ background-color: #1890FC;
580
+ }
581
+ .lm_approval_item .lm_approval_item_header .avator .cc-box .cc {
582
+ color: #fff;
583
+ font-size: 20px;
584
+ }
572
585
  .lm_approval_item .lm_approval_item_header .avator .subname {
573
586
  width: 100%;
574
587
  height: 100%;
@@ -606,8 +619,13 @@ html {
606
619
  .lm_approval_item .lm_approval_item_header .right {
607
620
  font-size: 12px;
608
621
  line-height: 20px;
622
+ }
623
+ .lm_approval_item .lm_approval_item_header .right span {
609
624
  color: var(--color-45);
610
625
  }
626
+ .lm_approval_item .lm_approval_item_header .right span.yellow {
627
+ color: #FD9827;
628
+ }
611
629
  .lm_approval_item .lm_approval_item_body {
612
630
  min-height: 32px;
613
631
  margin: 4px 0 4px 20px;
@@ -627,12 +645,24 @@ html {
627
645
  background-color: var(--color-4);
628
646
  border-radius: 2px;
629
647
  }
630
- .lm_approval_item .lm_approval_item_body .lm-approver-box {
648
+ .lm_approval_item .lm_approval_item_body .comment .comment-delete {
649
+ color: #1890FC;
650
+ font-size: var(--font-size-sm);
651
+ line-height: 20px;
652
+ cursor: pointer;
653
+ }
654
+ .lm_approval_item .lm_approval_item_body .comment .comment-delete .icon {
655
+ font-size: 14px;
656
+ }
657
+ .lm-approver-wrapper {
658
+ display: flex;
659
+ }
660
+ .lm-approver-wrapper .lm-approver-box {
631
661
  display: flex;
632
662
  flex-wrap: wrap;
633
663
  margin-top: 4px;
634
664
  }
635
- .lm_approval_item .lm_approval_item_body .lm-approver-box .lm-approver-cell {
665
+ .lm-approver-wrapper .lm-approver-box .lm-approver-cell {
636
666
  display: flex;
637
667
  margin: 0 8px 8px 0;
638
668
  height: 24px;
@@ -641,7 +671,7 @@ html {
641
671
  padding-right: 8px;
642
672
  background-color: var(--color-4);
643
673
  }
644
- .lm_approval_item .lm_approval_item_body .lm-approver-box .lm-approver-cell .lm-approver-circle {
674
+ .lm-approver-wrapper .lm-approver-box .lm-approver-cell .lm-approver-circle {
645
675
  width: 20px;
646
676
  height: 20px;
647
677
  border-radius: 50%;
@@ -651,8 +681,16 @@ html {
651
681
  margin-top: 2px;
652
682
  text-align: center;
653
683
  }
654
- .lm_approval_item .lm_approval_item_body .lm-approver-box .lm-approver-cell span {
684
+ .lm-approver-wrapper .lm-approver-box .lm-approver-cell span {
655
685
  color: var(--color-85);
656
686
  font-size: var(--font-size-sm);
657
687
  margin-left: 4px;
658
688
  }
689
+ .lm-approver-wrapper .lm-approver-box .icon {
690
+ margin-top: 5px;
691
+ margin-right: 8px;
692
+ color: rgba(0, 0, 0, 0.45);
693
+ }
694
+ .lm-approver-wrapper .urge {
695
+ margin-top: 4px;
696
+ }