@luck-design-biz/luckda 0.0.25-8 → 0.0.25-9

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 (225) hide show
  1. package/es/components/ComplexItem/index.js +92 -0
  2. package/es/components/ComplexItem/service.js +21 -0
  3. package/es/components/LdAutoForm/index.js +11 -6
  4. package/es/components/LdFormList/index.js +2 -1
  5. package/es/components/LdGrid/index.js +8 -1
  6. package/es/components/LdGridForm/index.js +16 -7
  7. package/es/helper/FromItems.js +177 -94
  8. package/es/helper/form.js +41 -7
  9. package/es/helper/props_config.js +17 -0
  10. package/es/locales/zh-CN.js +3 -3
  11. package/es/lowcode/constants/api-url.js +110 -32
  12. package/es/lowcode/constants/index.js +2 -1
  13. package/es/lowcode/engine/meta/cardlist.props.json +13 -3
  14. package/es/lowcode/engine/meta/components-list.json +102 -0
  15. package/es/lowcode/engine/meta/dialog.props.default.json +1 -0
  16. package/es/lowcode/engine/meta/dialog.props.json +7 -0
  17. package/es/lowcode/engine/meta/fieldcolor.props.default.json +14 -0
  18. package/es/lowcode/engine/meta/fieldcolor.props.json +63 -0
  19. package/es/lowcode/engine/meta/fieldcomplex.props.default.json +13 -0
  20. package/es/lowcode/engine/meta/fieldcomplex.props.json +39 -0
  21. package/es/lowcode/engine/meta/fielddate.props.default.json +12 -0
  22. package/es/lowcode/engine/meta/fielddate.props.json +47 -0
  23. package/es/lowcode/engine/meta/fielddict.props.default.json +14 -0
  24. package/es/lowcode/engine/meta/fielddict.props.json +44 -0
  25. package/es/lowcode/engine/meta/fieldeditor.props.default.json +13 -0
  26. package/es/lowcode/engine/meta/fieldeditor.props.json +44 -0
  27. package/es/lowcode/engine/meta/fieldgroup.props.default.json +15 -0
  28. package/es/lowcode/engine/meta/fieldgroup.props.json +73 -0
  29. package/es/lowcode/engine/meta/fieldnumber.props.default.json +14 -0
  30. package/es/lowcode/engine/meta/fieldnumber.props.json +48 -0
  31. package/es/lowcode/engine/meta/fieldradio.props.default.json +12 -0
  32. package/es/lowcode/engine/meta/fieldradio.props.json +20 -0
  33. package/es/lowcode/engine/meta/fieldregion.props.default.json +12 -0
  34. package/es/lowcode/engine/meta/fieldregion.props.json +26 -0
  35. package/es/lowcode/engine/meta/fieldselect.props.default.json +14 -0
  36. package/es/lowcode/engine/meta/fieldselect.props.json +58 -0
  37. package/es/lowcode/engine/meta/fieldstring.props.default.json +16 -0
  38. package/es/lowcode/engine/meta/fieldstring.props.json +62 -0
  39. package/es/lowcode/engine/meta/fieldswitch.props.default.json +12 -0
  40. package/es/lowcode/engine/meta/fieldswitch.props.json +31 -0
  41. package/es/lowcode/engine/meta/fieldtextarea.props.default.json +13 -0
  42. package/es/lowcode/engine/meta/fieldtextarea.props.json +49 -0
  43. package/es/lowcode/engine/meta/fieldupload.props.default.json +15 -0
  44. package/es/lowcode/engine/meta/fieldupload.props.json +71 -0
  45. package/es/lowcode/engine/meta/fielduser.props.default.json +16 -0
  46. package/es/lowcode/engine/meta/fielduser.props.json +82 -0
  47. package/es/lowcode/engine/meta/fieldyear.props.default.json +12 -0
  48. package/es/lowcode/engine/meta/fieldyear.props.json +20 -0
  49. package/es/lowcode/engine/meta/form.props.json +3 -3
  50. package/es/lowcode/engine/meta/imex.props.default.json +1 -1
  51. package/es/lowcode/engine/meta/imex.props.json +1 -1
  52. package/es/lowcode/engine/meta/table.props.json +3 -3
  53. package/es/lowcode/engine/meta/tree.props.json +9 -2
  54. package/es/lowcode/engine/provider/ContextProvider/index.js +1 -0
  55. package/es/lowcode/engine/provider/RemoteSourceProvider.js +12 -18
  56. package/es/lowcode/engine/tools/helper.js +24 -2
  57. package/es/lowcode/painter/Design.js +4 -4
  58. package/es/lowcode/painter/DesignOperator.js +103 -66
  59. package/es/lowcode/painter/DesignToolbar.js +13 -15
  60. package/es/lowcode/painter/Outline.js +10 -6
  61. package/es/lowcode/painter/Panel.js +57 -19
  62. package/es/lowcode/painter/components/ActionBindModal.js +13 -8
  63. package/es/lowcode/painter/components/AdvancePanel.js +32 -21
  64. package/es/lowcode/painter/components/AttrsPanel.js +5 -3
  65. package/es/lowcode/painter/components/FieldSelector.js +26 -13
  66. package/es/lowcode/painter/components/code-editor/JSEditor.js +5 -9
  67. package/es/lowcode/painter/panel-section/BlocksEditor/index.js +4 -7
  68. package/es/lowcode/painter/panel-section/DataSetSelector.js +29 -9
  69. package/es/lowcode/painter/panel-section/FieldsSetting.js +24 -21
  70. package/es/lowcode/painter/panel-section/ImpExp.js +19 -21
  71. package/es/lowcode/painter/panel-section/ImpExpAlone.js +6 -7
  72. package/es/lowcode/painter/panel-section/TableTopFilter.js +23 -13
  73. package/es/lowcode/view/Page.js +4 -4
  74. package/es/lowcode/view/lc-components/CardList/meta.json +13 -3
  75. package/es/lowcode/view/lc-components/Dialog/index.js +3 -1
  76. package/es/lowcode/view/lc-components/Dialog/meta.json +7 -0
  77. package/es/lowcode/view/lc-components/FieldColor/meta.json +63 -0
  78. package/es/lowcode/view/lc-components/FieldComplex/meta.json +39 -0
  79. package/es/lowcode/view/lc-components/FieldDate/meta.json +45 -0
  80. package/es/lowcode/view/lc-components/FieldDict/meta.json +44 -0
  81. package/es/lowcode/view/lc-components/FieldEditor/meta.json +44 -0
  82. package/es/lowcode/view/lc-components/FieldGroup/meta.json +73 -0
  83. package/es/lowcode/view/lc-components/FieldNumber/meta.json +48 -0
  84. package/es/lowcode/view/lc-components/FieldRadio/meta.json +20 -0
  85. package/es/lowcode/view/lc-components/FieldRegion/meta.json +26 -0
  86. package/es/lowcode/view/lc-components/FieldSelect/meta.json +58 -0
  87. package/es/lowcode/view/lc-components/FieldString/meta.json +62 -0
  88. package/es/lowcode/view/lc-components/FieldSwitch/meta.json +31 -0
  89. package/es/lowcode/view/lc-components/FieldTextarea/meta.json +49 -0
  90. package/es/lowcode/view/lc-components/FieldUpload/meta.json +71 -0
  91. package/es/lowcode/view/lc-components/FieldUser/meta.json +82 -0
  92. package/es/lowcode/view/lc-components/FieldYear/meta.json +20 -0
  93. package/es/lowcode/view/lc-components/Form/index.js +90 -18
  94. package/es/lowcode/view/lc-components/Form/meta.json +3 -3
  95. package/es/lowcode/view/lc-components/ImEx/index.js +297 -88
  96. package/es/lowcode/view/lc-components/ImEx/meta.json +1 -1
  97. package/es/lowcode/view/lc-components/Table/components/TopFilter.js +78 -57
  98. package/es/lowcode/view/lc-components/Table/components/TopImex.js +345 -63
  99. package/es/lowcode/view/lc-components/Table/index.js +179 -18
  100. package/es/lowcode/view/lc-components/Table/meta.json +3 -3
  101. package/es/lowcode/view/lc-components/Tabs/FunctionDesign.js +1 -1
  102. package/es/lowcode/view/lc-components/Tabs/index.js +1 -1
  103. package/es/lowcode/view/lc-components/Tree/FunctionDesign.js +0 -2
  104. package/es/lowcode/view/lc-components/Tree/index.js +38 -13
  105. package/es/lowcode/view/lc-components/Tree/meta.json +9 -2
  106. package/es/upload/FilesWall/index.js +13 -13
  107. package/es/upload/FilesWall/index.less +74 -74
  108. package/es/upload/Form/gridForm.js +3 -2
  109. package/es/upload/FormItem/index.js +3 -2
  110. package/es/utils/form.js +16 -3
  111. package/es/utils/grid.js +8 -5
  112. package/lib/components/ComplexItem/index.js +100 -0
  113. package/lib/components/ComplexItem/service.js +28 -0
  114. package/lib/components/LdAutoForm/index.js +10 -5
  115. package/lib/components/LdFormList/index.js +2 -1
  116. package/lib/components/LdGrid/index.js +8 -1
  117. package/lib/components/LdGridForm/index.js +15 -6
  118. package/lib/helper/FromItems.js +175 -92
  119. package/lib/helper/form.js +39 -6
  120. package/lib/helper/props_config.js +23 -0
  121. package/lib/locales/zh-CN.js +3 -3
  122. package/lib/lowcode/constants/api-url.js +110 -33
  123. package/lib/lowcode/constants/index.js +3 -2
  124. package/lib/lowcode/engine/meta/cardlist.props.json +13 -3
  125. package/lib/lowcode/engine/meta/components-list.json +102 -0
  126. package/lib/lowcode/engine/meta/dialog.props.default.json +1 -0
  127. package/lib/lowcode/engine/meta/dialog.props.json +7 -0
  128. package/lib/lowcode/engine/meta/fieldcolor.props.default.json +14 -0
  129. package/lib/lowcode/engine/meta/fieldcolor.props.json +63 -0
  130. package/lib/lowcode/engine/meta/fieldcomplex.props.default.json +13 -0
  131. package/lib/lowcode/engine/meta/fieldcomplex.props.json +39 -0
  132. package/lib/lowcode/engine/meta/fielddate.props.default.json +12 -0
  133. package/lib/lowcode/engine/meta/fielddate.props.json +47 -0
  134. package/lib/lowcode/engine/meta/fielddict.props.default.json +14 -0
  135. package/lib/lowcode/engine/meta/fielddict.props.json +44 -0
  136. package/lib/lowcode/engine/meta/fieldeditor.props.default.json +13 -0
  137. package/lib/lowcode/engine/meta/fieldeditor.props.json +44 -0
  138. package/lib/lowcode/engine/meta/fieldgroup.props.default.json +15 -0
  139. package/lib/lowcode/engine/meta/fieldgroup.props.json +73 -0
  140. package/lib/lowcode/engine/meta/fieldnumber.props.default.json +14 -0
  141. package/lib/lowcode/engine/meta/fieldnumber.props.json +48 -0
  142. package/lib/lowcode/engine/meta/fieldradio.props.default.json +12 -0
  143. package/lib/lowcode/engine/meta/fieldradio.props.json +20 -0
  144. package/lib/lowcode/engine/meta/fieldregion.props.default.json +12 -0
  145. package/lib/lowcode/engine/meta/fieldregion.props.json +26 -0
  146. package/lib/lowcode/engine/meta/fieldselect.props.default.json +14 -0
  147. package/lib/lowcode/engine/meta/fieldselect.props.json +58 -0
  148. package/lib/lowcode/engine/meta/fieldstring.props.default.json +16 -0
  149. package/lib/lowcode/engine/meta/fieldstring.props.json +62 -0
  150. package/lib/lowcode/engine/meta/fieldswitch.props.default.json +12 -0
  151. package/lib/lowcode/engine/meta/fieldswitch.props.json +31 -0
  152. package/lib/lowcode/engine/meta/fieldtextarea.props.default.json +13 -0
  153. package/lib/lowcode/engine/meta/fieldtextarea.props.json +49 -0
  154. package/lib/lowcode/engine/meta/fieldupload.props.default.json +15 -0
  155. package/lib/lowcode/engine/meta/fieldupload.props.json +71 -0
  156. package/lib/lowcode/engine/meta/fielduser.props.default.json +16 -0
  157. package/lib/lowcode/engine/meta/fielduser.props.json +82 -0
  158. package/lib/lowcode/engine/meta/fieldyear.props.default.json +12 -0
  159. package/lib/lowcode/engine/meta/fieldyear.props.json +20 -0
  160. package/lib/lowcode/engine/meta/form.props.json +3 -3
  161. package/lib/lowcode/engine/meta/imex.props.default.json +1 -1
  162. package/lib/lowcode/engine/meta/imex.props.json +1 -1
  163. package/lib/lowcode/engine/meta/table.props.json +3 -3
  164. package/lib/lowcode/engine/meta/tree.props.json +9 -2
  165. package/lib/lowcode/engine/provider/ContextProvider/index.js +1 -0
  166. package/lib/lowcode/engine/provider/RemoteSourceProvider.js +12 -18
  167. package/lib/lowcode/engine/tools/helper.js +25 -1
  168. package/lib/lowcode/painter/Design.js +4 -4
  169. package/lib/lowcode/painter/DesignOperator.js +101 -64
  170. package/lib/lowcode/painter/DesignToolbar.js +12 -14
  171. package/lib/lowcode/painter/Outline.js +9 -5
  172. package/lib/lowcode/painter/Panel.js +56 -18
  173. package/lib/lowcode/painter/components/ActionBindModal.js +13 -8
  174. package/lib/lowcode/painter/components/AdvancePanel.js +31 -20
  175. package/lib/lowcode/painter/components/AttrsPanel.js +5 -3
  176. package/lib/lowcode/painter/components/FieldSelector.js +26 -13
  177. package/lib/lowcode/painter/components/code-editor/JSEditor.js +5 -9
  178. package/lib/lowcode/painter/panel-section/BlocksEditor/index.js +4 -7
  179. package/lib/lowcode/painter/panel-section/DataSetSelector.js +29 -9
  180. package/lib/lowcode/painter/panel-section/FieldsSetting.js +23 -20
  181. package/lib/lowcode/painter/panel-section/ImpExp.js +20 -21
  182. package/lib/lowcode/painter/panel-section/ImpExpAlone.js +6 -7
  183. package/lib/lowcode/painter/panel-section/TableTopFilter.js +22 -12
  184. package/lib/lowcode/view/Page.js +4 -4
  185. package/lib/lowcode/view/lc-components/CardList/meta.json +13 -3
  186. package/lib/lowcode/view/lc-components/Dialog/index.js +3 -1
  187. package/lib/lowcode/view/lc-components/Dialog/meta.json +7 -0
  188. package/lib/lowcode/view/lc-components/FieldColor/meta.json +63 -0
  189. package/lib/lowcode/view/lc-components/FieldComplex/meta.json +39 -0
  190. package/lib/lowcode/view/lc-components/FieldDate/meta.json +45 -0
  191. package/lib/lowcode/view/lc-components/FieldDict/meta.json +44 -0
  192. package/lib/lowcode/view/lc-components/FieldEditor/meta.json +44 -0
  193. package/lib/lowcode/view/lc-components/FieldGroup/meta.json +73 -0
  194. package/lib/lowcode/view/lc-components/FieldNumber/meta.json +48 -0
  195. package/lib/lowcode/view/lc-components/FieldRadio/meta.json +20 -0
  196. package/lib/lowcode/view/lc-components/FieldRegion/meta.json +26 -0
  197. package/lib/lowcode/view/lc-components/FieldSelect/meta.json +58 -0
  198. package/lib/lowcode/view/lc-components/FieldString/meta.json +62 -0
  199. package/lib/lowcode/view/lc-components/FieldSwitch/meta.json +31 -0
  200. package/lib/lowcode/view/lc-components/FieldTextarea/meta.json +49 -0
  201. package/lib/lowcode/view/lc-components/FieldUpload/meta.json +71 -0
  202. package/lib/lowcode/view/lc-components/FieldUser/meta.json +82 -0
  203. package/lib/lowcode/view/lc-components/FieldYear/meta.json +20 -0
  204. package/lib/lowcode/view/lc-components/Form/index.js +89 -17
  205. package/lib/lowcode/view/lc-components/Form/meta.json +3 -3
  206. package/lib/lowcode/view/lc-components/ImEx/index.js +295 -85
  207. package/lib/lowcode/view/lc-components/ImEx/meta.json +1 -1
  208. package/lib/lowcode/view/lc-components/Table/components/TopFilter.js +75 -55
  209. package/lib/lowcode/view/lc-components/Table/components/TopImex.js +343 -60
  210. package/lib/lowcode/view/lc-components/Table/index.js +178 -17
  211. package/lib/lowcode/view/lc-components/Table/meta.json +3 -3
  212. package/lib/lowcode/view/lc-components/Tabs/FunctionDesign.js +1 -1
  213. package/lib/lowcode/view/lc-components/Tabs/index.js +1 -1
  214. package/lib/lowcode/view/lc-components/Tree/FunctionDesign.js +0 -2
  215. package/lib/lowcode/view/lc-components/Tree/index.js +36 -11
  216. package/lib/lowcode/view/lc-components/Tree/meta.json +9 -2
  217. package/lib/upload/FilesWall/index.js +13 -13
  218. package/lib/upload/FilesWall/index.less +74 -74
  219. package/lib/upload/Form/gridForm.js +3 -2
  220. package/lib/upload/FormItem/index.js +3 -2
  221. package/lib/utils/form.js +16 -3
  222. package/lib/utils/grid.js +8 -5
  223. package/package.json +3 -3
  224. package/es/lowcode/engine/meta/local/local.zh-cn.js +0 -97
  225. package/lib/lowcode/engine/meta/local/local.zh-cn.js +0 -103
@@ -6,99 +6,119 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.default = void 0;
9
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
10
  var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
11
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
12
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
13
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
14
  var _react = _interopRequireWildcard(require("react"));
13
15
  var _ahooks = require("ahooks");
14
16
  var _antd = require("luck-design/antd");
15
17
  var _lodash = require("lodash");
16
- function mockDict() {
17
- return new Promise(function (resolve) {
18
- setTimeout(function () {
19
- resolve([{
20
- value: '1',
21
- label: '启用'
22
- }, {
23
- value: '2',
24
- label: '未启用'
25
- }, {
26
- value: '0',
27
- label: '未知'
28
- }]);
29
- }, 600);
30
- });
31
- }
32
- function mockDApi() {
33
- return new Promise(function (resolve) {
34
- setTimeout(function () {
35
- resolve({
36
- options: [{
37
- value: '2023',
38
- label: '2023年'
39
- }, {
40
- value: '2024',
41
- label: '2024年'
42
- }, {
43
- value: '2024',
44
- label: '2025年'
45
- }],
46
- field: 'planYear'
47
- });
48
- }, 600);
49
- });
50
- }
18
+ var _utils = require("@luck-design-biz/base/utils");
19
+ var _apiUrl = require("../../../../constants/api-url");
51
20
  var TopFilter = function TopFilter(_ref) {
52
- var filter = _ref.filter;
21
+ var filter = _ref.filter,
22
+ instance = _ref.instance;
53
23
  var _useState = (0, _react.useState)((0, _lodash.isArray)(filter) ? filter : []),
54
24
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
55
25
  optons = _useState2[0],
56
26
  setOptions = _useState2[1];
27
+ var _useState3 = (0, _react.useState)(void 0),
28
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
29
+ apiField = _useState4[0],
30
+ setApiField = _useState4[1];
57
31
  (0, _ahooks.useAsyncEffect)( /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee() {
58
- var _yield$mockDApi, options, field;
32
+ var _yield$request, options, field, _yield$fetchDataDic, code, list, detail;
59
33
  return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
60
34
  while (1) switch (_context.prev = _context.next) {
61
35
  case 0:
62
36
  if (!(0, _lodash.isString)(filter)) {
63
- _context.next = 9;
37
+ _context.next = 10;
64
38
  break;
65
39
  }
66
40
  _context.next = 3;
67
- return mockDApi();
41
+ return (0, _utils.request)(filter);
68
42
  case 3:
69
- _yield$mockDApi = _context.sent;
70
- options = _yield$mockDApi.options;
71
- field = _yield$mockDApi.field;
43
+ _yield$request = _context.sent;
44
+ options = _yield$request.options;
45
+ field = _yield$request.field;
72
46
  setOptions(options);
73
- _context.next = 19;
47
+ setApiField(field);
48
+ _context.next = 22;
74
49
  break;
75
- case 9:
50
+ case 10:
76
51
  if (!(0, _lodash.isArray)(filter)) {
77
- _context.next = 13;
52
+ _context.next = 14;
78
53
  break;
79
54
  }
80
55
  setOptions(filter);
81
- _context.next = 19;
56
+ _context.next = 22;
82
57
  break;
83
- case 13:
58
+ case 14:
84
59
  if (!(filter.key && filter.field)) {
85
- _context.next = 19;
60
+ _context.next = 22;
86
61
  break;
87
62
  }
88
- _context.t0 = setOptions;
89
63
  _context.next = 17;
90
- return mockDict();
64
+ return (0, _apiUrl.fetchDataDic)({
65
+ snamealias: filter.key
66
+ });
91
67
  case 17:
92
- _context.t1 = _context.sent;
93
- (0, _context.t0)(_context.t1);
94
- case 19:
68
+ _yield$fetchDataDic = _context.sent;
69
+ code = _yield$fetchDataDic.code;
70
+ list = _yield$fetchDataDic.list;
71
+ detail = _yield$fetchDataDic.detail;
72
+ if (code === 1) {
73
+ setOptions([{
74
+ value: 'all',
75
+ label: (0, _utils.formatMessage)({
76
+ id: "luckda.lowcode.view.lc-components.label.all",
77
+ label: '全部'
78
+ })
79
+ }].concat((0, _toConsumableArray2.default)(list.map(function (_id) {
80
+ return {
81
+ value: detail[_id].sfactvalue,
82
+ label: detail[_id].sname
83
+ };
84
+ }))));
85
+ }
86
+ case 22:
95
87
  case "end":
96
88
  return _context.stop();
97
89
  }
98
90
  }, _callee);
99
91
  })), [filter]);
100
- return /*#__PURE__*/_react.default.createElement(_antd.Segmented, {
101
- options: optons
92
+ var handleValueChange = (0, _ahooks.useMemoizedFn)(function (e) {
93
+ var val = e.target.value;
94
+ var _key = apiField || filter.field;
95
+ if (val === 'all') {
96
+ instance.current.onLdQuery((0, _defineProperty2.default)({}, _key, {
97
+ operate: 'remove'
98
+ }));
99
+ } else {
100
+ var _opt = optons.find(function (_ref3) {
101
+ var value = _ref3.value;
102
+ return val === value;
103
+ });
104
+ instance.current.onLdQuery((0, _defineProperty2.default)({}, _key, {
105
+ key: _key,
106
+ value: val,
107
+ label: _opt.label
108
+ }));
109
+ }
102
110
  });
111
+ return /*#__PURE__*/_react.default.createElement(_antd.Radio.Group, {
112
+ defaultValue: "all",
113
+ buttonStyle: "solid",
114
+ onChange: handleValueChange
115
+ }, optons.map(function (_ref4) {
116
+ var value = _ref4.value,
117
+ label = _ref4.label;
118
+ return /*#__PURE__*/_react.default.createElement(_antd.Radio.Button, {
119
+ key: value,
120
+ value: value
121
+ }, label);
122
+ }));
103
123
  };
104
124
  var _default = exports.default = TopFilter;
@@ -1,59 +1,284 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
3
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
- exports.TopUpload = exports.TopExport = void 0;
8
- var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
8
+ exports.TopUpload = exports.TopExport = exports.ImportUploadPop = void 0;
9
9
  var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
10
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
10
11
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
- var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
12
- var _react = _interopRequireDefault(require("react"));
13
- var _propTypes = _interopRequireDefault(require("prop-types"));
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+ var _react = _interopRequireWildcard(require("react"));
14
14
  var _antd = require("luck-design/antd");
15
+ var _ApiConfig = _interopRequireDefault(require("@/services/ApiConfig"));
16
+ var _luckDesign = require("luck-design");
15
17
  var _apiUrl = require("../../../../constants/api-url");
18
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
16
19
  var _lodash = require("lodash");
17
20
  var _ahooks = require("ahooks");
18
21
  var _index = _interopRequireDefault(require("../../ImEx/index.less"));
19
- var _excluded = ["options"],
20
- _excluded2 = ["options", "apiUrl", "tableRef"];
21
- var TopUpload = exports.TopUpload = function TopUpload(_ref) {
22
+ var DownloadLink = _styledComponents.default.div.withConfig({
23
+ displayName: "DownloadLink",
24
+ componentId: "luckda-6530__sc-1eag873-0"
25
+ })(["display:flex;align-items:center;justify-content:center;margin-top:-36px;"]);
26
+ var UploadDoneWrap = _styledComponents.default.div.withConfig({
27
+ displayName: "UploadDoneWrap",
28
+ componentId: "luckda-6530__sc-1eag873-1"
29
+ })(["display:flex;align-items:center;justify-content:center;flex-direction:column;padding:16px;"]);
30
+
31
+ // options: {import: 'templateId' | 'behaviorKey', importType: false | true, moduleCode}
32
+ var ImportUploadPop = exports.ImportUploadPop = function ImportUploadPop(_ref) {
22
33
  var options = _ref.options,
23
- props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
24
- var UploadConfig = {
25
- name: 'file',
26
- action: 'https://660d2bd96ddfa2943b33731c.mockapi.io/api/upload',
27
- headers: {
28
- authorization: 'authorization-text'
29
- }
34
+ visible = _ref.visible,
35
+ setVisible = _ref.setVisible;
36
+ var _useState = (0, _react.useState)('undone'),
37
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
38
+ actionStep = _useState2[0],
39
+ setActionStep = _useState2[1];
40
+ var _useState3 = (0, _react.useState)({}),
41
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
42
+ uploadResult = _useState4[0],
43
+ setUploadResult = _useState4[1];
44
+ var _useState5 = (0, _react.useState)(''),
45
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
46
+ templateUrl = _useState6[0],
47
+ setTemplateUrl = _useState6[1];
48
+
49
+ // 导入
50
+ var _useRequest = (0, _ahooks.useRequest)(_apiUrl.uploadTemplate, {
51
+ manual: true
52
+ }),
53
+ runAsyncImport = _useRequest.runAsync;
54
+ var fecthFindExcelState = function fecthFindExcelState(_ref2, callback) {
55
+ var strategy = _ref2.strategy,
56
+ batchNo = _ref2.batchNo,
57
+ moduleCode = _ref2.moduleCode,
58
+ behaviorKey = _ref2.behaviorKey,
59
+ templateId = _ref2.templateId;
60
+ var _fetchExcelStatePrefix = "/".concat(strategy, "/").concat(batchNo);
61
+ var _fetchExcelStateParams = {
62
+ moduleCode: moduleCode,
63
+ behaviorKey: behaviorKey,
64
+ templateId: templateId,
65
+ reportType: "import"
66
+ };
67
+ (0, _apiUrl.getFindexcelstate)(_fetchExcelStatePrefix, _fetchExcelStateParams).then(function (response) {
68
+ if (response.code === 1) {
69
+ var data = response.data;
70
+ callback(data);
71
+ if (data.state !== -1 && data.successCount < data.totalCount) {
72
+ setTimeout(function () {
73
+ fecthFindExcelState({
74
+ strategy: strategy,
75
+ batchNo: batchNo,
76
+ moduleCode: moduleCode,
77
+ behaviorKey: behaviorKey,
78
+ templateId: templateId
79
+ }, callback);
80
+ }, 500);
81
+ } else {
82
+ setActionStep('finish');
83
+ }
84
+ } else {
85
+ callback();
86
+ setActionStep('finish');
87
+ }
88
+ }).catch(function () {
89
+ setActionStep('finish');
90
+ callback();
91
+ });
30
92
  };
31
- return /*#__PURE__*/_react.default.createElement(_antd.Upload, UploadConfig, /*#__PURE__*/_react.default.createElement(_antd.Button, {
32
- type: "primary"
33
- }, "\u5BFC\u5165"));
93
+ (0, _react.useEffect)(function () {
94
+ if (visible) {
95
+ setActionStep('undone');
96
+ setUploadResult({});
97
+ setTemplateUrl('');
98
+ if (!options.importType) {
99
+ (0, _apiUrl.noAuthGetTemplateUrl)(options.import).then(function (response) {
100
+ if (response.code === 1) {
101
+ setTemplateUrl(response.data);
102
+ }
103
+ });
104
+ }
105
+ }
106
+ }, [visible]);
107
+ var handleImport = /*#__PURE__*/function () {
108
+ var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(err, values) {
109
+ var _importExcelParams, strategy, importParameter, _importExcelPrefix, importExcelResponse;
110
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
111
+ while (1) switch (_context.prev = _context.next) {
112
+ case 0:
113
+ if (err) {
114
+ _context.next = 14;
115
+ break;
116
+ }
117
+ _importExcelParams = new FormData();
118
+ values.files.forEach(function (file) {
119
+ _importExcelParams.append('file', file.originFileObj);
120
+ });
121
+ strategy = options.importType ? 'behavior' : 'report_server';
122
+ importParameter = options.importType ? {
123
+ moduleCode: options.moduleCode,
124
+ behaviorKey: options.import,
125
+ gatewayUrl: "".concat(window.location.origin).concat(_ApiConfig.default.API_HOST)
126
+ } : {
127
+ templateId: options.import,
128
+ gatewayUrl: "".concat(window.location.origin).concat(_ApiConfig.default.API_HOST)
129
+ };
130
+ _importExcelParams.append('importParameter', JSON.stringify(importParameter));
131
+ _importExcelPrefix = "/".concat(strategy);
132
+ _context.next = 9;
133
+ return runAsyncImport(_importExcelPrefix, _importExcelParams);
134
+ case 9:
135
+ importExcelResponse = _context.sent;
136
+ setActionStep('uploading');
137
+ fecthFindExcelState((0, _objectSpread2.default)({
138
+ strategy: strategy,
139
+ batchNo: importExcelResponse.data
140
+ }, importParameter), function (result) {
141
+ setUploadResult(result || {});
142
+ });
143
+ _context.next = 15;
144
+ break;
145
+ case 14:
146
+ _antd.message.info('请选择Excel文件!');
147
+ case 15:
148
+ case "end":
149
+ return _context.stop();
150
+ }
151
+ }, _callee);
152
+ }));
153
+ return function handleImport(_x, _x2) {
154
+ return _ref3.apply(this, arguments);
155
+ };
156
+ }();
157
+ return /*#__PURE__*/_react.default.createElement(_luckDesign.PopWindow, {
158
+ title: "上传excel文件",
159
+ mode: "modal",
160
+ size: "mini",
161
+ visible: visible,
162
+ destroyOnClose: true,
163
+ footer: actionStep === 'undone' ? function () {
164
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
165
+ } : null,
166
+ onClose: function onClose() {
167
+ if (actionStep !== 'uploading') {
168
+ setVisible(false);
169
+ }
170
+ }
171
+ }, actionStep === 'undone' ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_luckDesign.BasicForm, {
172
+ onSubmit: handleImport,
173
+ layout: "drawer",
174
+ buttonRender: function buttonRender() {
175
+ return /*#__PURE__*/_react.default.createElement(_antd.Button, {
176
+ type: "primary",
177
+ htmlType: "submit"
178
+ }, "\u5BFC\u5165");
179
+ }
180
+ }, /*#__PURE__*/_react.default.createElement(_luckDesign.BasicFormItem, {
181
+ type: "upload",
182
+ name: "files",
183
+ label: "\u4E0A\u4F20",
184
+ config: {
185
+ required: true,
186
+ message: '请上传Excel文件',
187
+ directory: false,
188
+ num: 1,
189
+ multiple: false,
190
+ autoUpload: false,
191
+ listType: 'text',
192
+ accept: '.xls,.xlsx,.xlt,.xlsm',
193
+ name: 'fileObj',
194
+ beforeUpload: function beforeUpload(file) {
195
+ var suffix = (0, _lodash.lowerCase)((0, _lodash.last)((0, _lodash.split)(file.name, '.')));
196
+ if (!(0, _lodash.includes)(['xls', 'xlsx', 'xlt', 'xlsm'], suffix)) {
197
+ _antd.message.info('禁止上传的文件类型');
198
+ return false;
199
+ }
200
+ }
201
+ }
202
+ })), templateUrl && /*#__PURE__*/_react.default.createElement(DownloadLink, null, /*#__PURE__*/_react.default.createElement("a", {
203
+ href: "".concat(templateUrl),
204
+ download: true
205
+ }, /*#__PURE__*/_react.default.createElement(_antd.Button, {
206
+ type: "link"
207
+ }, /*#__PURE__*/_react.default.createElement(_antd.Icon, {
208
+ type: "download"
209
+ }), " \u4E0B\u8F7D\u6A21\u7248")))) : /*#__PURE__*/_react.default.createElement(UploadDoneWrap, null, /*#__PURE__*/_react.default.createElement("p", null, "\u5DF2\u5BFC\u5165\uFF1A", uploadResult.totalCount || 0, "\u6761\uFF0C\u6210\u529F\uFF1A", uploadResult.successCount || 0, "\u6761\uFF0C\u5931\u8D25\uFF1A", uploadResult.failureCount, "\u6761"), uploadResult.failureCount > 0 ? /*#__PURE__*/_react.default.createElement("a", {
210
+ href: uploadResult.errorFileUrl,
211
+ download: true
212
+ }, "\u4E0B\u8F7D\u51FA\u9519\u8868\u683C\u4FE1\u606F") : ''));
213
+ };
214
+
215
+ // options: {import: 'templateId' | 'behaviorKey', importType: false | true}
216
+ var TopUpload = exports.TopUpload = function TopUpload(_ref4) {
217
+ var options = _ref4.options,
218
+ moduleCode = _ref4.moduleCode;
219
+ var _useState7 = (0, _react.useState)(false),
220
+ _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
221
+ visible = _useState8[0],
222
+ setVisible = _useState8[1];
223
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_antd.Button, {
224
+ type: "primary",
225
+ onClick: function onClick() {
226
+ if (!options.import) {
227
+ return _antd.message.info("\u672A\u914D\u7F6E".concat(options.importType ? '行为' : '模版', "\uFF01"));
228
+ }
229
+ setVisible(true);
230
+ }
231
+ }, "\u5BFC\u5165"), visible && /*#__PURE__*/_react.default.createElement(ImportUploadPop, {
232
+ visible: visible,
233
+ setVisible: setVisible,
234
+ options: (0, _objectSpread2.default)((0, _objectSpread2.default)({}, options), {}, {
235
+ moduleCode: moduleCode
236
+ })
237
+ }));
34
238
  };
35
- var TopExport = exports.TopExport = function TopExport(_ref2) {
36
- var options = _ref2.options,
37
- apiUrl = _ref2.apiUrl,
38
- tableRef = _ref2.tableRef,
39
- props = (0, _objectWithoutProperties2.default)(_ref2, _excluded2);
40
- var _useRequest = (0, _ahooks.useRequest)(_apiUrl.exportExcel, {
239
+
240
+ // options: {export: true | 'behaviorKey'}
241
+ var TopExport = exports.TopExport = function TopExport(_ref5) {
242
+ var options = _ref5.options,
243
+ moduleCode = _ref5.moduleCode,
244
+ apiUrl = _ref5.apiUrl,
245
+ tableRef = _ref5.tableRef;
246
+ var _useRequest2 = (0, _ahooks.useRequest)(_apiUrl.exportExcel, {
41
247
  manual: true
42
248
  }),
43
- loading = _useRequest.loading,
44
- runAsync = _useRequest.runAsync,
45
- data = _useRequest.data;
46
- var fecthExcelState = function fecthExcelState(payload, procress, resolve, reject) {
47
- // 查询进度
48
- (0, _apiUrl.readExportExcelState)(payload).then(function (ret) {
49
- var cpage = ret.cpage,
50
- total = ret.total,
51
- downloadUrl = ret.downloadUrl;
52
- if (cpage >= total) {
53
- resolve("".concat(window.location.origin, "/api").concat(downloadUrl));
249
+ runAsync = _useRequest2.runAsync;
250
+ var fecthExcelState = function fecthExcelState(_ref6, procress, resolve, reject) {
251
+ var strategy = _ref6.strategy,
252
+ batchNo = _ref6.batchNo,
253
+ moduleCode = _ref6.moduleCode,
254
+ behaviorKey = _ref6.behaviorKey;
255
+ var _fetchExcelStatePrefix = "/".concat(strategy, "/").concat(batchNo);
256
+ var _fetchExcelStateParams = {
257
+ moduleCode: moduleCode,
258
+ behaviorKey: behaviorKey,
259
+ reportType: "export"
260
+ };
261
+ (0, _apiUrl.getFindexcelstate)(_fetchExcelStatePrefix, _fetchExcelStateParams).then(function (response) {
262
+ if (response.code === 1) {
263
+ var _response$data = response.data,
264
+ successCount = _response$data.successCount,
265
+ totalCount = _response$data.totalCount,
266
+ downloadUrl = _response$data.downloadUrl;
267
+ if (successCount >= totalCount) {
268
+ resolve(downloadUrl);
269
+ } else {
270
+ procress((successCount / totalCount * 100).toFixed(1));
271
+ setTimeout(function () {
272
+ fecthExcelState({
273
+ strategy: strategy,
274
+ batchNo: batchNo,
275
+ moduleCode: moduleCode,
276
+ behaviorKey: behaviorKey
277
+ }, procress, resolve, reject);
278
+ }, 500);
279
+ }
54
280
  } else {
55
- procress(cpage / total * 100);
56
- fecthExcelState(payload, procress, resolve, reject);
281
+ reject();
57
282
  }
58
283
  }).catch(function () {
59
284
  reject();
@@ -61,32 +286,95 @@ var TopExport = exports.TopExport = function TopExport(_ref2) {
61
286
  };
62
287
  var handleExportAll = function handleExportAll(procress) {
63
288
  return new Promise( /*#__PURE__*/function () {
64
- var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(resolve, reject) {
65
- var joiner, payload;
66
- return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
67
- while (1) switch (_context.prev = _context.next) {
289
+ var _ref7 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee2(resolve, reject) {
290
+ var isBehavior, strategy, behaviorKey, _exportExcelParams, _exportExcelPrefix, exportExcelResponse, _tableRef$gridApi, joiner, labels, fieldInfo, defaultExcelParams, _exportExcelParams2, _exportExcelPrefix2, _exportExcelResponse;
291
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee2$(_context2) {
292
+ while (1) switch (_context2.prev = _context2.next) {
68
293
  case 0:
294
+ isBehavior = (0, _lodash.isString)(options.export);
295
+ strategy = isBehavior ? 'behavior' : 'report_server';
296
+ if (!isBehavior) {
297
+ _context2.next = 14;
298
+ break;
299
+ }
300
+ if (options.export) {
301
+ _context2.next = 5;
302
+ break;
303
+ }
304
+ return _context2.abrupt("return", _antd.message.info("\u672A\u914D\u7F6E\u884C\u4E3A\uFF01"));
305
+ case 5:
306
+ behaviorKey = options.export;
307
+ _exportExcelParams = {
308
+ moduleCode: moduleCode,
309
+ behaviorKey: behaviorKey,
310
+ reportType: "export"
311
+ };
312
+ _exportExcelPrefix = "/".concat(strategy);
313
+ _context2.next = 10;
314
+ return runAsync(_exportExcelPrefix, _exportExcelParams);
315
+ case 10:
316
+ exportExcelResponse = _context2.sent;
317
+ if (exportExcelResponse.code === 1) {
318
+ fecthExcelState({
319
+ strategy: strategy,
320
+ batchNo: exportExcelResponse.data,
321
+ moduleCode: moduleCode,
322
+ behaviorKey: behaviorKey
323
+ }, procress, resolve, reject);
324
+ } else {
325
+ reject();
326
+ }
327
+ _context2.next = 25;
328
+ break;
329
+ case 14:
330
+ // ! 默认导出
69
331
  joiner = apiUrl.indexOf('?') !== -1 ? '&' : '?';
70
- _context.next = 3;
71
- return runAsync({
72
- apiUrl: "".concat(apiUrl).concat(joiner, "token=").concat(window.cookie.get(window.appConfig.authSaveKey)),
73
- code: options.export
332
+ labels = [];
333
+ fieldInfo = [];
334
+ tableRef === null || tableRef === void 0 || (_tableRef$gridApi = tableRef.gridApi) === null || _tableRef$gridApi === void 0 || _tableRef$gridApi.columnApi.getAllDisplayedColumns().forEach(function (column) {
335
+ if (column.colId !== 'luck-expand' && column.colId !== 'luck-select' && column.colId !== 'luck-index' && column.colId !== 'luck-actions' && !column.colDef.draggable) {
336
+ labels.push(column.colDef.headerName);
337
+ fieldInfo.push({
338
+ width: column.actualWidth,
339
+ fieldNm: column.colId
340
+ });
341
+ }
74
342
  });
75
- case 3:
76
- payload = _context.sent;
77
- if (payload && typeof payload === 'string') {
78
- fecthExcelState(payload, procress, resolve, reject);
343
+ defaultExcelParams = {
344
+ bgColor: "#69b1ff",
345
+ dataUrl: "".concat(window.location.origin, "/api").concat(apiUrl).concat(joiner, "token=").concat(window.cookie.get(window.appConfig.authSaveKey)),
346
+ excelName: "download.xls",
347
+ fieldInfo: fieldInfo,
348
+ islock: false,
349
+ labels: labels === null || labels === void 0 ? void 0 : labels.join(),
350
+ reqBody: null
351
+ };
352
+ _exportExcelParams2 = (0, _objectSpread2.default)({
353
+ moduleCode: moduleCode,
354
+ reportType: "export"
355
+ }, defaultExcelParams);
356
+ _exportExcelPrefix2 = "/".concat(strategy);
357
+ _context2.next = 23;
358
+ return runAsync(_exportExcelPrefix2, _exportExcelParams2);
359
+ case 23:
360
+ _exportExcelResponse = _context2.sent;
361
+ if (_exportExcelResponse.code === 1) {
362
+ fecthExcelState({
363
+ strategy: strategy,
364
+ batchNo: _exportExcelResponse.data,
365
+ moduleCode: moduleCode
366
+ }, procress, resolve, reject);
79
367
  } else {
80
368
  reject();
81
369
  }
82
- case 5:
370
+ case 25:
83
371
  case "end":
84
- return _context.stop();
372
+ return _context2.stop();
85
373
  }
86
- }, _callee);
374
+ }, _callee2);
87
375
  }));
88
- return function (_x, _x2) {
89
- return _ref3.apply(this, arguments);
376
+ return function (_x3, _x4) {
377
+ return _ref7.apply(this, arguments);
90
378
  };
91
379
  }());
92
380
  };
@@ -134,12 +422,7 @@ var TopExport = exports.TopExport = function TopExport(_ref2) {
134
422
  return /*#__PURE__*/_react.default.createElement(_antd.Button, {
135
423
  type: "primary",
136
424
  onClick: function onClick() {
137
- if (!(0, _lodash.isString)(options.export)) {
138
- // 默认右击导出行为
139
- tableRef.doExportAll(tableRef.props.onExportAll);
140
- } else {
141
- doExportAll(handleExportAll);
142
- }
425
+ doExportAll(handleExportAll);
143
426
  }
144
427
  }, "\u5BFC\u51FA");
145
428
  };