@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,17 +6,18 @@ Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports.default = void 0;
9
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
11
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
12
12
  var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
13
13
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
14
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
15
14
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
16
15
  var _react = _interopRequireWildcard(require("react"));
17
16
  var _propTypes = _interopRequireDefault(require("prop-types"));
18
17
  var _ahooks = require("ahooks");
19
18
  var _antd = require("luck-design/antd");
19
+ var _luckDesign = require("luck-design");
20
+ var _ApiConfig = _interopRequireDefault(require("@/services/ApiConfig"));
20
21
  var _styledComponents = _interopRequireDefault(require("styled-components"));
21
22
  var _classnames = _interopRequireDefault(require("classnames"));
22
23
  var _index = _interopRequireDefault(require("./index.less"));
@@ -28,6 +29,7 @@ var _utils = require("@luck-design-biz/base/utils");
28
29
  var _helper = require("../../../engine/tools/helper");
29
30
  var _apiUrl = require("../../../constants/api-url");
30
31
  var _imexPropsDefault = _interopRequireDefault(require("../../../engine/meta/imex.props.default.json"));
32
+ var _lodash = require("lodash");
31
33
  var _excluded = ["id", "title", "type", "size", "iconFont", "block", "ghost", "css", "className", "onClick", "advance", "impexpSetting"];
32
34
  var StyledButton = (0, _styledComponents.default)(_LdCom.LdButton).withConfig({
33
35
  displayName: "StyledButton",
@@ -35,6 +37,14 @@ var StyledButton = (0, _styledComponents.default)(_LdCom.LdButton).withConfig({
35
37
  })(["", ""], function (props) {
36
38
  return props.$css;
37
39
  });
40
+ var DownloadLink = _styledComponents.default.div.withConfig({
41
+ displayName: "DownloadLink",
42
+ componentId: "luckda-6530__sc-mil6cj-1"
43
+ })(["display:flex;align-items:center;justify-content:center;margin-top:-36px;"]);
44
+ var UploadDoneWrap = _styledComponents.default.div.withConfig({
45
+ displayName: "UploadDoneWrap",
46
+ componentId: "luckda-6530__sc-mil6cj-2"
47
+ })(["display:flex;align-items:center;justify-content:center;flex-direction:column;padding:16px;"]);
38
48
  var LCButton = function LCButton(_ref) {
39
49
  var id = _ref.id,
40
50
  title = _ref.title,
@@ -54,27 +64,49 @@ var LCButton = function LCButton(_ref) {
54
64
  var _useRemoteSource = (0, _ContextProvider.useRemoteSource)(),
55
65
  module = _useRemoteSource.module,
56
66
  moduleCode = _useRemoteSource.moduleCode;
57
- var _useState = (0, _react.useState)(false),
58
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
59
- uploadLoading = _useState2[0],
60
- setUploadLoading = _useState2[1];
67
+ var getTargetDom = (0, _ahooks.useMemoizedFn)(function () {
68
+ var _ref$current;
69
+ return (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.buttonNode;
70
+ });
71
+
72
+ // ========= 导出 ==========
73
+
61
74
  var _useRequest = (0, _ahooks.useRequest)(_apiUrl.exportExcel, {
62
75
  manual: true
63
76
  }),
64
- _loading = _useRequest.loading,
65
- runAsync = _useRequest.runAsync,
66
- data = _useRequest.data;
67
- var fecthExcelState = function fecthExcelState(payload, procress, resolve, reject) {
68
- // 查询进度
69
- (0, _apiUrl.readExportExcelState)(payload).then(function (ret) {
70
- var cpage = ret.cpage,
71
- total = ret.total,
72
- downloadUrl = ret.downloadUrl;
73
- if (cpage >= total) {
74
- resolve("".concat(window.location.origin, "/api").concat(downloadUrl));
77
+ runAsync = _useRequest.runAsync;
78
+ var fecthExcelState = function fecthExcelState(_ref2, procress, resolve, reject) {
79
+ var strategy = _ref2.strategy,
80
+ batchNo = _ref2.batchNo,
81
+ moduleCode = _ref2.moduleCode,
82
+ behaviorKey = _ref2.behaviorKey;
83
+ var _fetchExcelStatePrefix = "/".concat(strategy, "/").concat(batchNo);
84
+ var _fetchExcelStateParams = {
85
+ moduleCode: moduleCode,
86
+ behaviorKey: behaviorKey,
87
+ reportType: "export"
88
+ };
89
+ (0, _apiUrl.getFindexcelstate)(_fetchExcelStatePrefix, _fetchExcelStateParams).then(function (response) {
90
+ if (response.code === 1) {
91
+ var _response$data = response.data,
92
+ successCount = _response$data.successCount,
93
+ totalCount = _response$data.totalCount,
94
+ downloadUrl = _response$data.downloadUrl;
95
+ if (successCount >= totalCount) {
96
+ resolve(downloadUrl);
97
+ } else {
98
+ procress((successCount / totalCount * 100).toFixed(1));
99
+ setTimeout(function () {
100
+ fecthExcelState({
101
+ strategy: strategy,
102
+ batchNo: batchNo,
103
+ moduleCode: moduleCode,
104
+ behaviorKey: behaviorKey
105
+ }, procress, resolve, reject);
106
+ }, 500);
107
+ }
75
108
  } else {
76
- procress(cpage / total * 100);
77
- fecthExcelState(payload, procress, resolve, reject);
109
+ reject();
78
110
  }
79
111
  }).catch(function () {
80
112
  reject();
@@ -82,32 +114,48 @@ var LCButton = function LCButton(_ref) {
82
114
  };
83
115
  var handleExportAll = function handleExportAll(procress) {
84
116
  return new Promise( /*#__PURE__*/function () {
85
- var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(resolve, reject) {
86
- var joiner, payload;
117
+ var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee(resolve, reject) {
118
+ var isBehavior, strategy, behaviorKey, _exportExcelParams, _exportExcelPrefix, exportExcelResponse;
87
119
  return (0, _regeneratorRuntime2.default)().wrap(function _callee$(_context) {
88
120
  while (1) switch (_context.prev = _context.next) {
89
121
  case 0:
90
- joiner = 'apiUrl'.indexOf('?') !== -1 ? '&' : '?';
91
- _context.next = 3;
92
- return runAsync({
93
- apiUrl: "apiurl".concat(joiner, "token=").concat(window.cookie.get(window.appConfig.authSaveKey)),
94
- code: impexpSetting.customParam
95
- });
96
- case 3:
97
- payload = _context.sent;
98
- if (payload && typeof payload === 'string') {
99
- fecthExcelState(payload, procress, resolve, reject);
122
+ isBehavior = (0, _lodash.isString)(impexpSetting.customParam);
123
+ strategy = isBehavior ? 'behavior' : 'report_server';
124
+ if (isBehavior) {
125
+ _context.next = 4;
126
+ break;
127
+ }
128
+ return _context.abrupt("return", _antd.message.info("\u672A\u914D\u7F6E\u81EA\u5B9A\u4E49\u884C\u4E3A\uFF01"));
129
+ case 4:
130
+ behaviorKey = impexpSetting.customParam;
131
+ _exportExcelParams = {
132
+ moduleCode: module.moduleCode,
133
+ behaviorKey: behaviorKey,
134
+ reportType: "export"
135
+ };
136
+ _exportExcelPrefix = "/".concat(strategy);
137
+ _context.next = 9;
138
+ return runAsync(_exportExcelPrefix, _exportExcelParams);
139
+ case 9:
140
+ exportExcelResponse = _context.sent;
141
+ if (exportExcelResponse.code === 1) {
142
+ fecthExcelState({
143
+ strategy: strategy,
144
+ batchNo: exportExcelResponse.data,
145
+ moduleCode: module.moduleCode,
146
+ behaviorKey: behaviorKey
147
+ }, procress, resolve, reject);
100
148
  } else {
101
149
  reject();
102
150
  }
103
- case 5:
151
+ case 11:
104
152
  case "end":
105
153
  return _context.stop();
106
154
  }
107
155
  }, _callee);
108
156
  }));
109
157
  return function (_x, _x2) {
110
- return _ref2.apply(this, arguments);
158
+ return _ref3.apply(this, arguments);
111
159
  };
112
160
  }());
113
161
  };
@@ -119,7 +167,7 @@ var LCButton = function LCButton(_ref) {
119
167
  message: '正在导出数据...',
120
168
  placement: 'bottomRight',
121
169
  closeIcon: /*#__PURE__*/_react.default.createElement("div", null),
122
- icon: /*#__PURE__*/_react.default.createElement(_antd.Icon, {
170
+ icon: /*#__PURE__*/_react.default.createElement(_IconFont.default, {
123
171
  type: "cloud-download",
124
172
  className: _index.default.exportTheme
125
173
  })
@@ -143,7 +191,7 @@ var LCButton = function LCButton(_ref) {
143
191
  _antd.notification.close(key);
144
192
  }).catch(function () {
145
193
  return _antd.notification.open((0, _objectSpread2.default)((0, _objectSpread2.default)({}, notificationConfig), {}, {
146
- icon: /*#__PURE__*/_react.default.createElement(_antd.Icon, {
194
+ icon: /*#__PURE__*/_react.default.createElement(_IconFont.default, {
147
195
  type: "cloud-download",
148
196
  className: _index.default.exportErrorTheme
149
197
  }),
@@ -152,67 +200,183 @@ var LCButton = function LCButton(_ref) {
152
200
  }));
153
201
  });
154
202
  };
155
- var getTargetDom = (0, _ahooks.useMemoizedFn)(function () {
156
- var _ref$current;
157
- return (_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.buttonNode;
158
- });
159
- var getActionUrl = function getActionUrl() {
160
- var caturl = impexpSetting.customType ? "selectKey=".concat(impexpSetting.customParam) : "inputKey=".concat(impexpSetting.customParam);
161
- return caturl;
203
+
204
+ // ========= 导出 ==========
205
+
206
+ // ========= 导入 ==========
207
+ var _useState = (0, _react.useState)(false),
208
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
209
+ visible = _useState2[0],
210
+ setVisible = _useState2[1];
211
+ var _useState3 = (0, _react.useState)('undone'),
212
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
213
+ actionStep = _useState4[0],
214
+ setActionStep = _useState4[1];
215
+ var _useState5 = (0, _react.useState)(''),
216
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
217
+ templateUrl = _useState6[0],
218
+ setTemplateUrl = _useState6[1];
219
+ var _useState7 = (0, _react.useState)({}),
220
+ _useState8 = (0, _slicedToArray2.default)(_useState7, 2),
221
+ uploadResult = _useState8[0],
222
+ setUploadResult = _useState8[1];
223
+ var _useRequest2 = (0, _ahooks.useRequest)(_apiUrl.uploadTemplate, {
224
+ manual: true
225
+ }),
226
+ runAsyncImport = _useRequest2.runAsync;
227
+ var fecthFindExcelState = function fecthFindExcelState(_ref4, callback) {
228
+ var strategy = _ref4.strategy,
229
+ batchNo = _ref4.batchNo,
230
+ moduleCode = _ref4.moduleCode,
231
+ behaviorKey = _ref4.behaviorKey,
232
+ templateId = _ref4.templateId;
233
+ var _fetchExcelStatePrefix = "/".concat(strategy, "/").concat(batchNo);
234
+ var _fetchExcelStateParams = {
235
+ moduleCode: moduleCode,
236
+ behaviorKey: behaviorKey,
237
+ templateId: templateId,
238
+ reportType: "import"
239
+ };
240
+ (0, _apiUrl.getFindexcelstate)(_fetchExcelStatePrefix, _fetchExcelStateParams).then(function (response) {
241
+ if (response.code === 1) {
242
+ var data = response.data;
243
+ callback(data);
244
+ if (data.state !== -1 && data.successCount < data.totalCount) {
245
+ setTimeout(function () {
246
+ fecthFindExcelState({
247
+ strategy: strategy,
248
+ batchNo: batchNo,
249
+ moduleCode: moduleCode,
250
+ behaviorKey: behaviorKey,
251
+ templateId: templateId
252
+ }, callback);
253
+ }, 500);
254
+ } else {
255
+ setActionStep('finish');
256
+ }
257
+ } else {
258
+ callback();
259
+ setActionStep('finish');
260
+ }
261
+ }).catch(function () {
262
+ setActionStep('finish');
263
+ callback();
264
+ });
162
265
  };
163
- var formItemProps = {
164
- action: getActionUrl(),
165
- // 上传地址
166
- headers: {
167
- Authorization: "Bearer ".concat(window.cookie.get(window.appConfig.authSaveKey))
168
- },
169
- name: 'files',
170
- showUploadList: false,
171
- beforeUpload: function beforeUpload(file, fileList) {
172
- setUploadLoading(true);
173
- return file;
174
- },
175
- onChange: function onChange(e) {
176
- setUploadLoading(false);
266
+ (0, _react.useEffect)(function () {
267
+ if (visible) {
268
+ setActionStep('undone');
269
+ setUploadResult({});
270
+ setTemplateUrl('');
177
271
  }
178
- };
179
- var handleClick = (0, _ahooks.useMemoizedFn)( /*#__PURE__*/function () {
180
- var _ref3 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee2(e) {
181
- var _uploadRef$current;
272
+ }, [visible]);
273
+ var handleImport = /*#__PURE__*/function () {
274
+ var _ref5 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee2(err, values) {
275
+ var _importExcelParams, strategy, importParameter, _importExcelPrefix, importExcelResponse;
182
276
  return (0, _regeneratorRuntime2.default)().wrap(function _callee2$(_context2) {
183
277
  while (1) switch (_context2.prev = _context2.next) {
278
+ case 0:
279
+ if (err) {
280
+ _context2.next = 14;
281
+ break;
282
+ }
283
+ _importExcelParams = new FormData();
284
+ values.files.forEach(function (file) {
285
+ _importExcelParams.append('file', file.originFileObj);
286
+ });
287
+ strategy = impexpSetting.customType ? 'behavior' : 'report_server';
288
+ importParameter = impexpSetting.customType ? {
289
+ moduleCode: module.moduleCode,
290
+ behaviorKey: impexpSetting.customParam,
291
+ gatewayUrl: "".concat(window.location.origin).concat(_ApiConfig.default.API_HOST)
292
+ } : {
293
+ templateId: impexpSetting.customParam,
294
+ gatewayUrl: "".concat(window.location.origin).concat(_ApiConfig.default.API_HOST)
295
+ };
296
+ _importExcelParams.append('importParameter', JSON.stringify(importParameter));
297
+ _importExcelPrefix = "/".concat(strategy);
298
+ _context2.next = 9;
299
+ return runAsyncImport(_importExcelPrefix, _importExcelParams);
300
+ case 9:
301
+ importExcelResponse = _context2.sent;
302
+ setActionStep('uploading');
303
+ fecthFindExcelState((0, _objectSpread2.default)({
304
+ strategy: strategy,
305
+ batchNo: importExcelResponse.data
306
+ }, importParameter), function (result) {
307
+ setUploadResult(result || {});
308
+ });
309
+ _context2.next = 15;
310
+ break;
311
+ case 14:
312
+ _antd.message.info('请选择Excel文件!');
313
+ case 15:
314
+ case "end":
315
+ return _context2.stop();
316
+ }
317
+ }, _callee2);
318
+ }));
319
+ return function handleImport(_x3, _x4) {
320
+ return _ref5.apply(this, arguments);
321
+ };
322
+ }();
323
+
324
+ // ========= 导入 ==========
325
+
326
+ var handleClick = (0, _ahooks.useMemoizedFn)( /*#__PURE__*/function () {
327
+ var _ref6 = (0, _asyncToGenerator2.default)( /*#__PURE__*/(0, _regeneratorRuntime2.default)().mark(function _callee3(e) {
328
+ return (0, _regeneratorRuntime2.default)().wrap(function _callee3$(_context3) {
329
+ while (1) switch (_context3.prev = _context3.next) {
184
330
  case 0:
185
331
  if (!onClick) {
186
- _context2.next = 3;
332
+ _context3.next = 3;
187
333
  break;
188
334
  }
189
335
  onClick(e);
190
- return _context2.abrupt("return");
336
+ return _context3.abrupt("return");
191
337
  case 3:
192
- if (impexpSetting.type === 'export') {
338
+ if (!(impexpSetting.type === 'export')) {
339
+ _context3.next = 7;
340
+ break;
341
+ }
342
+ // ! 导出
343
+ if ((0, _lodash.isString)(impexpSetting.customParam) && impexpSetting.customParam) {
193
344
  doExportAll(handleExportAll);
194
345
  } else {
195
- if (uploadRef.current) {
196
- (_uploadRef$current = uploadRef.current) === null || _uploadRef$current === void 0 || (_uploadRef$current = _uploadRef$current.upload) === null || _uploadRef$current === void 0 || (_uploadRef$current = _uploadRef$current.uploader) === null || _uploadRef$current === void 0 || _uploadRef$current.onClick();
197
- }
346
+ _antd.message.info("\u672A\u914D\u7F6E\u884C\u4E3A\uFF01");
347
+ }
348
+ _context3.next = 11;
349
+ break;
350
+ case 7:
351
+ if (impexpSetting.customParam) {
352
+ _context3.next = 9;
353
+ break;
198
354
  }
199
- case 4:
355
+ return _context3.abrupt("return", _antd.message.info("\u672A\u914D\u7F6E\u6A21\u7248\uFF01"));
356
+ case 9:
357
+ if (!impexpSetting.customType) {
358
+ (0, _apiUrl.noAuthGetTemplateUrl)(impexpSetting.customParam).then(function (response) {
359
+ if (response.code === 1) {
360
+ setTemplateUrl(response.data);
361
+ }
362
+ });
363
+ }
364
+ setVisible(true);
365
+ case 11:
200
366
  case "end":
201
- return _context2.stop();
367
+ return _context3.stop();
202
368
  }
203
- }, _callee2);
369
+ }, _callee3);
204
370
  }));
205
- return function (_x3) {
206
- return _ref3.apply(this, arguments);
371
+ return function (_x5) {
372
+ return _ref6.apply(this, arguments);
207
373
  };
208
374
  }());
209
- // console.log(formItemProps, module, moduleCode)
210
-
211
375
  return /*#__PURE__*/_react.default.createElement(_Wrapper.default, {
212
376
  id: id,
213
377
  displayName: "Imex",
214
378
  getTargetDom: getTargetDom
215
- }, /*#__PURE__*/_react.default.createElement(StyledButton, {
379
+ }, /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(StyledButton, {
216
380
  ref: ref,
217
381
  type: type,
218
382
  size: size,
@@ -220,20 +384,66 @@ var LCButton = function LCButton(_ref) {
220
384
  ghost: ghost,
221
385
  $css: css,
222
386
  className: (0, _classnames.default)((0, _defineProperty2.default)({}, className, !!className)),
223
- onClick: handleClick,
224
- loading: !!_loading || !!uploadLoading
225
- }, /*#__PURE__*/_react.default.createElement("div", {
226
- style: {
227
- display: 'none'
228
- }
229
- }, /*#__PURE__*/_react.default.createElement(_antd.Upload, (0, _extends2.default)({}, formItemProps, {
230
- ref: uploadRef
231
- }))), iconFont ? /*#__PURE__*/_react.default.createElement(_IconFont.default, {
387
+ onClick: handleClick
388
+ }, iconFont ? /*#__PURE__*/_react.default.createElement(_IconFont.default, {
232
389
  type: iconFont
233
390
  }) : null, title || (0, _utils.formatMessage)({
234
391
  id: 'luckda.lowcode.painter.import',
235
392
  label: '导入'
236
- })));
393
+ })), /*#__PURE__*/_react.default.createElement(_luckDesign.PopWindow, (0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)((0, _defineProperty2.default)({
394
+ visible: visible,
395
+ title: "\u4E0A\u4F20excel\u6587\u4EF6",
396
+ mode: "modal",
397
+ size: "mini"
398
+ }, "visible", visible), "destroyOnClose", true), "footer", actionStep === 'undone' ? function () {
399
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);
400
+ } : null), "onClose", function onClose() {
401
+ if (actionStep !== 'uploading') {
402
+ setVisible(false);
403
+ }
404
+ }), actionStep === 'undone' ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_luckDesign.BasicForm, {
405
+ onSubmit: handleImport,
406
+ layout: "drawer",
407
+ buttonRender: function buttonRender() {
408
+ return /*#__PURE__*/_react.default.createElement(_LdCom.LdButton, {
409
+ type: "primary",
410
+ htmlType: "submit"
411
+ }, "\u5BFC\u5165");
412
+ }
413
+ }, /*#__PURE__*/_react.default.createElement(_luckDesign.BasicFormItem, {
414
+ type: "upload",
415
+ name: "files",
416
+ label: "\u4E0A\u4F20",
417
+ accept: ".csv, application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
418
+ config: {
419
+ required: true,
420
+ message: '请上传Excel文件',
421
+ directory: false,
422
+ num: 1,
423
+ multiple: false,
424
+ autoUpload: false,
425
+ listType: 'text',
426
+ accept: '.xls,.xlsx,.xlt,.xlsm',
427
+ name: 'fileObj',
428
+ beforeUpload: function beforeUpload(file) {
429
+ var suffix = (0, _lodash.lowerCase)((0, _lodash.last)((0, _lodash.split)(file.name, '.')));
430
+ if (!(0, _lodash.includes)(['xls', 'xlsx', 'xlt', 'xlsm'], suffix)) {
431
+ _antd.message.info('禁止上传的文件类型');
432
+ return false;
433
+ }
434
+ }
435
+ }
436
+ })), templateUrl && /*#__PURE__*/_react.default.createElement(DownloadLink, null, /*#__PURE__*/_react.default.createElement("a", {
437
+ href: "".concat(templateUrl),
438
+ download: true
439
+ }, /*#__PURE__*/_react.default.createElement(_LdCom.LdButton, {
440
+ type: "link"
441
+ }, /*#__PURE__*/_react.default.createElement(_IconFont.default, {
442
+ type: "download"
443
+ }), " \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", {
444
+ href: uploadResult.errorFileUrl,
445
+ download: true
446
+ }, "\u4E0B\u8F7D\u51FA\u9519\u8868\u683C\u4FE1\u606F") : ''))));
237
447
  };
238
448
  LCButton.propTypes = {
239
449
  /**
@@ -257,7 +467,7 @@ LCButton.propTypes = {
257
467
  /**
258
468
  * @name impexpSetting
259
469
  * @type _ImpExpAlone
260
- * @default { "customType": false, "customParam": false, "type": "export" }
470
+ * @default { "customType": false, "customParam": null, "type": "export" }
261
471
  */
262
472
  impexpSetting: _propTypes.default.object,
263
473
  /**
@@ -25,7 +25,7 @@
25
25
  "type": "_ImpExpAlone",
26
26
  "default": {
27
27
  "customType": false,
28
- "customParam": false,
28
+ "customParam": null,
29
29
  "type": "export"
30
30
  }
31
31
  },