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