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

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 (255) hide show
  1. package/es/components/LDActions/index.js +8 -10
  2. package/es/components/LDActions/index.less +7 -4
  3. package/es/components/LdAutoForm/index.js +26 -8
  4. package/es/components/LdFormList/index.js +37 -22
  5. package/es/components/LdGrid/index.js +14 -7
  6. package/es/components/LdGridForm/index.js +18 -6
  7. package/es/components/LdTree/index.js +33 -15
  8. package/es/helper/form.js +15 -8
  9. package/es/locales/zh-CN.js +16 -10
  10. package/es/lowcode/constants/api-url.js +120 -32
  11. package/es/lowcode/constants/event-topics.js +2 -0
  12. package/es/lowcode/engine/factory/panel-item-factory/SelectStrategy.js +4 -2
  13. package/es/lowcode/engine/factory/panel-item-factory/SwitchStrategy.js +4 -2
  14. package/es/lowcode/engine/meta/box.props.json +3 -3
  15. package/es/lowcode/engine/meta/button.props.json +3 -3
  16. package/es/lowcode/engine/meta/components-list.json +6 -0
  17. package/es/lowcode/engine/meta/dialog.props.default.json +10 -5
  18. package/es/lowcode/engine/meta/dialog.props.json +72 -42
  19. package/es/lowcode/engine/meta/drawer.props.json +8 -20
  20. package/es/lowcode/engine/meta/form.props.json +16 -10
  21. package/es/lowcode/engine/meta/imex.props.default.json +8 -1
  22. package/es/lowcode/engine/meta/imex.props.json +54 -22
  23. package/es/lowcode/engine/meta/js-editor/auto-complete.json +53 -3
  24. package/es/lowcode/engine/meta/layout.props.json +2 -2
  25. package/es/lowcode/engine/meta/page.props.json +2 -2
  26. package/es/lowcode/engine/meta/pagelayout.props.default.json +14 -0
  27. package/es/lowcode/engine/meta/pagelayout.props.json +47 -0
  28. package/es/lowcode/engine/meta/section.props.json +2 -2
  29. package/es/lowcode/engine/meta/split.props.default.json +1 -1
  30. package/es/lowcode/engine/meta/split.props.json +4 -4
  31. package/es/lowcode/engine/meta/table.props.json +17 -11
  32. package/es/lowcode/engine/meta/tabs.props.json +3 -3
  33. package/es/lowcode/engine/meta/tree.props.default.json +2 -0
  34. package/es/lowcode/engine/meta/tree.props.json +62 -6
  35. package/es/lowcode/engine/provider/ContextProvider/index.js +20 -43
  36. package/es/lowcode/engine/provider/RemoteSourceProvider.js +69 -24
  37. package/es/lowcode/engine/tools/dataProcess.js +4 -0
  38. package/es/lowcode/engine/tools/helper.js +2 -3
  39. package/es/lowcode/engine/tools/useCanvasRender.js +3 -2
  40. package/es/lowcode/engine/tools/usePageDataStore.js +176 -0
  41. package/es/lowcode/engine/tools/usePromiseState.js +12 -23
  42. package/es/lowcode/engine/tools/useTodo.js +20 -10
  43. package/es/lowcode/painter/DesignOperator.js +12 -23
  44. package/es/lowcode/painter/DesignToolbar.js +10 -45
  45. package/es/lowcode/painter/Outline.js +2 -4
  46. package/es/lowcode/painter/Panel.js +29 -28
  47. package/es/lowcode/painter/components/ActionBindModal.js +30 -24
  48. package/es/lowcode/painter/components/AdvancePanel.js +6 -1
  49. package/es/lowcode/painter/components/AttrsPanel.js +38 -29
  50. package/es/lowcode/painter/components/DragDrop/DragDropContext.js +1 -1
  51. package/es/lowcode/painter/components/code-editor/BaseEditor.js +3 -2
  52. package/es/lowcode/painter/components/field-setting/CheckFrontRules.js +108 -0
  53. package/es/lowcode/painter/components/field-setting/CheckRules.js +1 -26
  54. package/es/lowcode/painter/components/field-setting/FieldRulesModal.js +33 -13
  55. package/es/lowcode/painter/components/field-setting/SettingUI.js +162 -30
  56. package/es/lowcode/painter/components/field-setting/index.js +32 -63
  57. package/es/lowcode/painter/components/field-setting/meta/frontRules.js +53 -0
  58. package/es/lowcode/painter/panel-section/BlocksEditor/index.js +14 -17
  59. package/es/lowcode/painter/panel-section/ButtonType.js +4 -2
  60. package/es/lowcode/painter/panel-section/DataSetSelector.js +4 -1
  61. package/es/lowcode/painter/panel-section/FieldsSetting.js +53 -8
  62. package/es/lowcode/painter/panel-section/ImpExp.js +93 -6
  63. package/es/lowcode/painter/panel-section/ImpExpAlone.js +109 -0
  64. package/es/lowcode/painter/panel-section/PageLayoutDisplay.js +95 -0
  65. package/es/lowcode/painter/panel-section/SerialsSelector.js +4 -2
  66. package/es/lowcode/painter/panel-section/SplitDisplay.js +25 -110
  67. package/es/lowcode/painter/panel-section/StylePanel/index.js +10 -4
  68. package/es/lowcode/painter/panel-section/TreeRootEditor.js +2 -2
  69. package/es/lowcode/painter/style/action-bind-modal.less +3 -3
  70. package/es/lowcode/painter/style/design.less +1 -1
  71. package/es/lowcode/painter/style/page-layout-display.less +28 -0
  72. package/es/lowcode/painter/style/panel-item.less +1 -1
  73. package/es/lowcode/painter/style/split-display.less +0 -9
  74. package/es/lowcode/preview/index.js +4 -2
  75. package/es/lowcode/view/Canvas.js +6 -7
  76. package/es/lowcode/view/Page.js +2 -3
  77. package/es/lowcode/view/lc-components/Box/FunctionDesign.js +3 -2
  78. package/es/lowcode/view/lc-components/Box/meta.json +3 -3
  79. package/es/lowcode/view/lc-components/Button/index.js +2 -6
  80. package/es/lowcode/view/lc-components/Button/meta.json +3 -3
  81. package/es/lowcode/view/lc-components/Dialog/FunctionDesign.js +3 -10
  82. package/es/lowcode/view/lc-components/Dialog/index.js +114 -19
  83. package/es/lowcode/view/lc-components/Dialog/meta.json +65 -42
  84. package/es/lowcode/view/lc-components/Drawer/meta.json +8 -20
  85. package/es/lowcode/view/lc-components/Form/FunctionDesign.js +23 -33
  86. package/es/lowcode/view/lc-components/Form/FunctionPreview.js +8 -1
  87. package/es/lowcode/view/lc-components/Form/index.js +113 -21
  88. package/es/lowcode/view/lc-components/Form/meta.json +16 -10
  89. package/es/lowcode/view/lc-components/ImEx/FunctionDesign.js +8 -3
  90. package/es/lowcode/view/lc-components/ImEx/index.js +260 -10
  91. package/es/lowcode/view/lc-components/ImEx/index.less +7 -0
  92. package/es/lowcode/view/lc-components/ImEx/meta.json +55 -23
  93. package/es/lowcode/view/lc-components/Layout/FunctionDesign.js +12 -19
  94. package/es/lowcode/view/lc-components/Layout/meta.json +2 -2
  95. package/es/lowcode/view/lc-components/Page/meta.json +2 -2
  96. package/es/lowcode/view/lc-components/PageContent/index.js +8 -9
  97. package/es/lowcode/view/lc-components/PageFooter/index.js +2 -5
  98. package/es/lowcode/view/lc-components/PageHeader/index.js +5 -6
  99. package/es/lowcode/view/lc-components/PageLayout/FunctionDesign.js +63 -0
  100. package/es/lowcode/view/lc-components/PageLayout/FunctionLive.js +10 -0
  101. package/es/lowcode/view/lc-components/PageLayout/FunctionPreview.js +10 -0
  102. package/es/lowcode/view/lc-components/PageLayout/index.js +32 -0
  103. package/es/lowcode/view/lc-components/PageLayout/meta.json +47 -0
  104. package/es/lowcode/view/lc-components/PageModal/index.js +12 -15
  105. package/es/lowcode/view/lc-components/Section/FunctionDesign.js +3 -9
  106. package/es/lowcode/view/lc-components/Section/meta.json +2 -2
  107. package/es/lowcode/view/lc-components/Split/FunctionDesign.js +19 -20
  108. package/es/lowcode/view/lc-components/Split/index.js +5 -9
  109. package/es/lowcode/view/lc-components/Split/meta.json +4 -4
  110. package/es/lowcode/view/lc-components/Table/components/TopImex.js +138 -0
  111. package/es/lowcode/view/lc-components/Table/index.js +124 -39
  112. package/es/lowcode/view/lc-components/Table/meta.json +17 -11
  113. package/es/lowcode/view/lc-components/Tabs/FunctionDesign.js +10 -17
  114. package/es/lowcode/view/lc-components/Tabs/index.js +3 -1
  115. package/es/lowcode/view/lc-components/Tabs/meta.json +3 -3
  116. package/es/lowcode/view/lc-components/Tree/FunctionDesign.js +2 -1
  117. package/es/lowcode/view/lc-components/Tree/index.js +67 -18
  118. package/es/lowcode/view/lc-components/Tree/meta.json +62 -7
  119. package/es/lowcode/view/lc-components/Wrapper.js +9 -11
  120. package/es/services.js +0 -24
  121. package/es/upload/FilesWall/file.png +0 -0
  122. package/es/upload/FilesWall/index.js +422 -0
  123. package/es/upload/FilesWall/index.less +74 -0
  124. package/es/upload/Form/index.js +2 -1
  125. package/es/upload/FormItem/index.js +3 -5
  126. package/es/upload/index.js +2 -1
  127. package/es/utils/action.js +2 -2
  128. package/lib/components/LDActions/index.js +7 -9
  129. package/lib/components/LDActions/index.less +7 -4
  130. package/lib/components/LdAutoForm/index.js +25 -7
  131. package/lib/components/LdFormList/index.js +36 -21
  132. package/lib/components/LdGrid/index.js +14 -7
  133. package/lib/components/LdGridForm/index.js +16 -4
  134. package/lib/components/LdTree/index.js +33 -15
  135. package/lib/helper/form.js +14 -7
  136. package/lib/locales/zh-CN.js +16 -10
  137. package/lib/lowcode/constants/api-url.js +123 -32
  138. package/lib/lowcode/constants/event-topics.js +3 -1
  139. package/lib/lowcode/engine/factory/panel-item-factory/SelectStrategy.js +4 -2
  140. package/lib/lowcode/engine/factory/panel-item-factory/SwitchStrategy.js +4 -2
  141. package/lib/lowcode/engine/meta/box.props.json +3 -3
  142. package/lib/lowcode/engine/meta/button.props.json +3 -3
  143. package/lib/lowcode/engine/meta/components-list.json +6 -0
  144. package/lib/lowcode/engine/meta/dialog.props.default.json +10 -5
  145. package/lib/lowcode/engine/meta/dialog.props.json +72 -42
  146. package/lib/lowcode/engine/meta/drawer.props.json +8 -20
  147. package/lib/lowcode/engine/meta/form.props.json +16 -10
  148. package/lib/lowcode/engine/meta/imex.props.default.json +8 -1
  149. package/lib/lowcode/engine/meta/imex.props.json +54 -22
  150. package/lib/lowcode/engine/meta/js-editor/auto-complete.json +53 -3
  151. package/lib/lowcode/engine/meta/layout.props.json +2 -2
  152. package/lib/lowcode/engine/meta/page.props.json +2 -2
  153. package/lib/lowcode/engine/meta/pagelayout.props.default.json +14 -0
  154. package/lib/lowcode/engine/meta/pagelayout.props.json +47 -0
  155. package/lib/lowcode/engine/meta/section.props.json +2 -2
  156. package/lib/lowcode/engine/meta/split.props.default.json +1 -1
  157. package/lib/lowcode/engine/meta/split.props.json +4 -4
  158. package/lib/lowcode/engine/meta/table.props.json +17 -11
  159. package/lib/lowcode/engine/meta/tabs.props.json +3 -3
  160. package/lib/lowcode/engine/meta/tree.props.default.json +2 -0
  161. package/lib/lowcode/engine/meta/tree.props.json +62 -6
  162. package/lib/lowcode/engine/provider/ContextProvider/index.js +36 -43
  163. package/lib/lowcode/engine/provider/RemoteSourceProvider.js +68 -23
  164. package/lib/lowcode/engine/tools/dataProcess.js +4 -0
  165. package/lib/lowcode/engine/tools/helper.js +2 -3
  166. package/lib/lowcode/engine/tools/useCanvasRender.js +3 -2
  167. package/lib/lowcode/engine/tools/usePageDataStore.js +183 -0
  168. package/lib/lowcode/engine/tools/usePromiseState.js +11 -21
  169. package/lib/lowcode/engine/tools/useTodo.js +19 -9
  170. package/lib/lowcode/painter/DesignOperator.js +11 -22
  171. package/lib/lowcode/painter/DesignToolbar.js +9 -44
  172. package/lib/lowcode/painter/Outline.js +1 -3
  173. package/lib/lowcode/painter/Panel.js +28 -27
  174. package/lib/lowcode/painter/components/ActionBindModal.js +28 -22
  175. package/lib/lowcode/painter/components/AdvancePanel.js +6 -1
  176. package/lib/lowcode/painter/components/AttrsPanel.js +37 -28
  177. package/lib/lowcode/painter/components/DragDrop/DragDropContext.js +1 -1
  178. package/lib/lowcode/painter/components/code-editor/BaseEditor.js +3 -2
  179. package/lib/lowcode/painter/components/field-setting/CheckFrontRules.js +116 -0
  180. package/lib/lowcode/painter/components/field-setting/CheckRules.js +1 -26
  181. package/lib/lowcode/painter/components/field-setting/FieldRulesModal.js +34 -13
  182. package/lib/lowcode/painter/components/field-setting/SettingUI.js +159 -27
  183. package/lib/lowcode/painter/components/field-setting/index.js +32 -63
  184. package/lib/lowcode/painter/components/field-setting/meta/frontRules.js +59 -0
  185. package/lib/lowcode/painter/panel-section/BlocksEditor/index.js +13 -16
  186. package/lib/lowcode/painter/panel-section/ButtonType.js +4 -2
  187. package/lib/lowcode/painter/panel-section/DataSetSelector.js +4 -1
  188. package/lib/lowcode/painter/panel-section/FieldsSetting.js +53 -8
  189. package/lib/lowcode/painter/panel-section/ImpExp.js +92 -5
  190. package/lib/lowcode/painter/panel-section/ImpExpAlone.js +115 -0
  191. package/lib/lowcode/painter/panel-section/PageLayoutDisplay.js +103 -0
  192. package/lib/lowcode/painter/panel-section/SerialsSelector.js +4 -2
  193. package/lib/lowcode/painter/panel-section/SplitDisplay.js +24 -109
  194. package/lib/lowcode/painter/panel-section/StylePanel/index.js +10 -4
  195. package/lib/lowcode/painter/panel-section/TreeRootEditor.js +2 -2
  196. package/lib/lowcode/painter/style/action-bind-modal.less +3 -3
  197. package/lib/lowcode/painter/style/design.less +1 -1
  198. package/lib/lowcode/painter/style/page-layout-display.less +28 -0
  199. package/lib/lowcode/painter/style/panel-item.less +1 -1
  200. package/lib/lowcode/painter/style/split-display.less +0 -9
  201. package/lib/lowcode/preview/index.js +4 -2
  202. package/lib/lowcode/view/Canvas.js +5 -6
  203. package/lib/lowcode/view/Page.js +2 -3
  204. package/lib/lowcode/view/lc-components/Box/FunctionDesign.js +3 -2
  205. package/lib/lowcode/view/lc-components/Box/meta.json +3 -3
  206. package/lib/lowcode/view/lc-components/Button/index.js +2 -6
  207. package/lib/lowcode/view/lc-components/Button/meta.json +3 -3
  208. package/lib/lowcode/view/lc-components/Dialog/FunctionDesign.js +2 -9
  209. package/lib/lowcode/view/lc-components/Dialog/index.js +114 -19
  210. package/lib/lowcode/view/lc-components/Dialog/meta.json +65 -42
  211. package/lib/lowcode/view/lc-components/Drawer/meta.json +8 -20
  212. package/lib/lowcode/view/lc-components/Form/FunctionDesign.js +20 -31
  213. package/lib/lowcode/view/lc-components/Form/FunctionPreview.js +8 -1
  214. package/lib/lowcode/view/lc-components/Form/index.js +110 -18
  215. package/lib/lowcode/view/lc-components/Form/meta.json +16 -10
  216. package/lib/lowcode/view/lc-components/ImEx/FunctionDesign.js +8 -3
  217. package/lib/lowcode/view/lc-components/ImEx/index.js +257 -8
  218. package/lib/lowcode/view/lc-components/ImEx/index.less +7 -0
  219. package/lib/lowcode/view/lc-components/ImEx/meta.json +55 -23
  220. package/lib/lowcode/view/lc-components/Layout/FunctionDesign.js +11 -18
  221. package/lib/lowcode/view/lc-components/Layout/meta.json +2 -2
  222. package/lib/lowcode/view/lc-components/Page/meta.json +2 -2
  223. package/lib/lowcode/view/lc-components/PageContent/index.js +7 -8
  224. package/lib/lowcode/view/lc-components/PageFooter/index.js +2 -5
  225. package/lib/lowcode/view/lc-components/PageHeader/index.js +4 -5
  226. package/lib/lowcode/view/lc-components/PageLayout/FunctionDesign.js +71 -0
  227. package/lib/lowcode/view/lc-components/PageLayout/FunctionLive.js +17 -0
  228. package/lib/lowcode/view/lc-components/PageLayout/FunctionPreview.js +17 -0
  229. package/lib/lowcode/view/lc-components/PageLayout/index.js +40 -0
  230. package/lib/lowcode/view/lc-components/PageLayout/meta.json +47 -0
  231. package/lib/lowcode/view/lc-components/PageModal/index.js +11 -14
  232. package/lib/lowcode/view/lc-components/Section/FunctionDesign.js +2 -8
  233. package/lib/lowcode/view/lc-components/Section/meta.json +2 -2
  234. package/lib/lowcode/view/lc-components/Split/FunctionDesign.js +19 -20
  235. package/lib/lowcode/view/lc-components/Split/index.js +2 -6
  236. package/lib/lowcode/view/lc-components/Split/meta.json +4 -4
  237. package/lib/lowcode/view/lc-components/Table/components/TopImex.js +145 -0
  238. package/lib/lowcode/view/lc-components/Table/index.js +123 -38
  239. package/lib/lowcode/view/lc-components/Table/meta.json +17 -11
  240. package/lib/lowcode/view/lc-components/Tabs/FunctionDesign.js +11 -18
  241. package/lib/lowcode/view/lc-components/Tabs/index.js +3 -1
  242. package/lib/lowcode/view/lc-components/Tabs/meta.json +3 -3
  243. package/lib/lowcode/view/lc-components/Tree/FunctionDesign.js +2 -1
  244. package/lib/lowcode/view/lc-components/Tree/index.js +65 -16
  245. package/lib/lowcode/view/lc-components/Tree/meta.json +62 -7
  246. package/lib/lowcode/view/lc-components/Wrapper.js +8 -10
  247. package/lib/services.js +0 -25
  248. package/lib/upload/FilesWall/file.png +0 -0
  249. package/lib/upload/FilesWall/index.js +429 -0
  250. package/lib/upload/FilesWall/index.less +74 -0
  251. package/lib/upload/Form/index.js +2 -1
  252. package/lib/upload/FormItem/index.js +3 -5
  253. package/lib/upload/index.js +8 -1
  254. package/lib/utils/action.js +2 -2
  255. package/package.json +5 -4
@@ -0,0 +1,429 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
14
+ var _react = _interopRequireWildcard(require("react"));
15
+ var _antd = require("luck-design/antd");
16
+ var _ahooks = require("ahooks");
17
+ var _propTypes = _interopRequireDefault(require("prop-types"));
18
+ var _utils = require("@luck-design-biz/base/utils");
19
+ var _umi = require("umi");
20
+ var _lodash = require("lodash");
21
+ var _luckDesign = require("luck-design");
22
+ var _index = _interopRequireDefault(require("./index.less"));
23
+ var _excluded = ["rowKey", "formMode", "beforeUpload", "onUploadChange", "moduleCode", "docUid", "bucket", "operates", "zipName", "showNote", "tag", "maxLength"];
24
+ /**
25
+ * 附件墙
26
+ * @param props
27
+ * @returns {JSX.Element}
28
+ * @constructor
29
+ */
30
+ var FilesWall = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
31
+ var _props$rowKey = props.rowKey,
32
+ rowKey = _props$rowKey === void 0 ? 'indocno' : _props$rowKey,
33
+ formMode = props.formMode,
34
+ beforeUpload = props.beforeUpload,
35
+ onUploadChange = props.onUploadChange,
36
+ moduleCode = props.moduleCode,
37
+ docUid = props.docUid,
38
+ _props$bucket = props.bucket,
39
+ bucket = _props$bucket === void 0 ? '' : _props$bucket,
40
+ _props$operates = props.operates,
41
+ operates = _props$operates === void 0 ? ['read', 'add', 'delete', 'download'] : _props$operates,
42
+ _props$zipName = props.zipName,
43
+ zipName = _props$zipName === void 0 ? 'download.zip' : _props$zipName,
44
+ _props$showNote = props.showNote,
45
+ showNote = _props$showNote === void 0 ? false : _props$showNote,
46
+ _props$tag = props.tag,
47
+ tag = _props$tag === void 0 ? '' : _props$tag,
48
+ maxLength = props.maxLength,
49
+ rest = (0, _objectWithoutProperties2.default)(props, _excluded);
50
+ var _useSetState = (0, _ahooks.useSetState)({
51
+ dataSource: [],
52
+ loading: false,
53
+ checkedList: [],
54
+ selectAll: true
55
+ }),
56
+ _useSetState2 = (0, _slicedToArray2.default)(_useSetState, 2),
57
+ state = _useSetState2[0],
58
+ setState = _useSetState2[1];
59
+ (0, _react.useEffect)(function () {
60
+ if (formMode !== 'add') {
61
+ onQuery();
62
+ }
63
+ }, []);
64
+ var onQuery = function onQuery() {
65
+ setState({
66
+ loading: true
67
+ });
68
+ (0, _utils.request)(getUrl('loadFileGrid')).then(function (res) {
69
+ var code = res.code,
70
+ list = res.list,
71
+ detail = res.detail;
72
+ if (code === 1) {
73
+ var dataSource = list.map(function (i) {
74
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, detail[i]), {}, {
75
+ name: detail[i].origFileName,
76
+ size: detail[i].fileSize,
77
+ spath: detail[i].previewUrl
78
+ });
79
+ });
80
+ setState({
81
+ dataSource: dataSource
82
+ });
83
+ setState({
84
+ loading: false
85
+ });
86
+ }
87
+ });
88
+ };
89
+ (0, _react.useImperativeHandle)(ref, function () {
90
+ return {
91
+ getDataSource: function getDataSource() {
92
+ return state.dataSource;
93
+ },
94
+ refreshList: function refreshList() {
95
+ return onQuery();
96
+ }
97
+ };
98
+ });
99
+ var getUrl = function getUrl(behaviorKey) {
100
+ return "".concat(window.appConfig.OSS_HOST_V3, "?moduleCode=").concat(moduleCode, "&bucket=").concat(bucket, "&docUid=").concat(docUid, "&behaviorKey=").concat(behaviorKey, "&tag=").concat(tag);
101
+ };
102
+
103
+ // 预览
104
+ var handlePreview = function handlePreview(file) {
105
+ var files = [];
106
+ state.dataSource.forEach(function (data) {
107
+ var nodePreviewUrl = data.previewUrl;
108
+ files.push({
109
+ uid: data.indocno || data.uid,
110
+ fileExt: data.fileExt || data.fileExt,
111
+ name: data.name,
112
+ previewUrl: "/minioPreview".concat(nodePreviewUrl),
113
+ url: data.spath
114
+ });
115
+ });
116
+ var activeIndex = files.findIndex(function (item) {
117
+ return item.uid === (file.indocno || file.uid);
118
+ });
119
+ window.openPreviewV3(files, {
120
+ activeIndex: activeIndex
121
+ });
122
+ };
123
+ var handleBeforeUpload = function handleBeforeUpload(file, fileList) {
124
+ var _getDvaApp;
125
+ setState({
126
+ loading: true
127
+ });
128
+ var uploadConfig = (_getDvaApp = (0, _umi.getDvaApp)()) === null || _getDvaApp === void 0 ? void 0 : _getDvaApp._store.getState().settings.upload_config;
129
+ var suffix = (0, _lodash.lowerCase)((0, _lodash.last)((0, _lodash.split)(file.name, '.')));
130
+ var flag = uploadConfig && uploadConfig[suffix] && +uploadConfig[suffix] * 1024 * 1024 < file.size;
131
+ if (flag) {
132
+ (0, _utils.showPop)("".concat(file.name).concat((0, _utils.formatMessage)({
133
+ id: 'app.exception.fileTooLarge',
134
+ label: '文件过大'
135
+ })));
136
+ }
137
+ return !flag && (beforeUpload ? beforeUpload(file, fileList) : true);
138
+ };
139
+ var handleUploadChange = function handleUploadChange(e) {
140
+ var file = e.file,
141
+ fileList = e.fileList;
142
+ if (file.status === 'error' || file.response && file.response.code !== 1) {
143
+ var _file$response = file.response,
144
+ msg = _file$response.msg,
145
+ message = _file$response.message;
146
+ (0, _utils.showPop)(msg || message, null, 'error');
147
+ }
148
+ console.log('handleUploadChange', e);
149
+ setState({
150
+ loading: false
151
+ });
152
+ if (file.status === 'done' && file.response && file.response.code === 1) {
153
+ onQuery();
154
+ }
155
+ setState({
156
+ dataSource: (0, _toConsumableArray2.default)(fileList)
157
+ });
158
+ onUploadChange && onUploadChange(e);
159
+ };
160
+ var formItemProps = (0, _objectSpread2.default)((0, _objectSpread2.default)({}, rest), {}, {
161
+ action: getUrl('upload'),
162
+ // 上传地址
163
+ headers: {
164
+ Authorization: "Bearer ".concat(window.cookie.get(window.appConfig.authSaveKey))
165
+ },
166
+ // 请求头
167
+ name: 'files',
168
+ multiple: true,
169
+ showUploadList: false,
170
+ beforeUpload: handleBeforeUpload,
171
+ onChange: function onChange(e) {
172
+ handleUploadChange(e);
173
+ }
174
+ });
175
+ var uploadButton = /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_antd.Icon, {
176
+ type: "plus"
177
+ }), /*#__PURE__*/_react.default.createElement("div", {
178
+ className: "ant-upload-text"
179
+ }, (0, _utils.formatMessage)({
180
+ id: 'sys.attr.type.upload'
181
+ })));
182
+
183
+ // 勾选附件
184
+ var onFileCheck = function onFileCheck(e, item) {
185
+ var checkedList = state.checkedList;
186
+ if (e.target.checked) {
187
+ checkedList.push(item);
188
+ setState({
189
+ checkedList: checkedList
190
+ });
191
+ } else {
192
+ var tempList = checkedList.filter(function (c) {
193
+ return c.indocno !== item.indocno;
194
+ });
195
+ setState({
196
+ checkedList: tempList
197
+ });
198
+ }
199
+ };
200
+ var isImage = function isImage(fileExt) {
201
+ return ['.png', '.jpg', '.jpeg', '.gif', '.bmp'].includes(fileExt === null || fileExt === void 0 ? void 0 : fileExt.toLowerCase());
202
+ };
203
+
204
+ // 自定义附件列表
205
+ var renderFileList = function renderFileList() {
206
+ return state.dataSource.map(function (f) {
207
+ return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
208
+ className: _index.default.fileContent
209
+ }, /*#__PURE__*/_react.default.createElement("img", {
210
+ className: _index.default.img,
211
+ src: isImage(f.fileExt) ? "/minioPreview".concat(f.previewUrl) : require("./file.png"),
212
+ alt: ""
213
+ }), /*#__PURE__*/_react.default.createElement(_antd.Checkbox, {
214
+ onChange: function onChange(e) {
215
+ return onFileCheck(e, f);
216
+ },
217
+ checked: state.checkedList.findIndex(function (l) {
218
+ return l.indocno === f.indocno;
219
+ }) > -1,
220
+ className: _index.default.check
221
+ })), /*#__PURE__*/_react.default.createElement(_luckDesign.Box, {
222
+ className: _index.default.actions,
223
+ justify: "center",
224
+ align: "center"
225
+ }, /*#__PURE__*/_react.default.createElement(_luckDesign.Box, {
226
+ justify: "space-around",
227
+ className: _index.default.actionsChild
228
+ }, /*#__PURE__*/_react.default.createElement(_luckDesign.Permission, {
229
+ userPermission: operates || [],
230
+ hasDefaultWord: false
231
+ }, /*#__PURE__*/_react.default.createElement(_antd.Icon, {
232
+ wanted: (0, _utils.canPreview)(f) && 'read',
233
+ type: "eye",
234
+ style: {
235
+ color: 'white'
236
+ },
237
+ onClick: function onClick() {
238
+ return handlePreview(f);
239
+ }
240
+ }), /*#__PURE__*/_react.default.createElement(_antd.Icon, {
241
+ wanted: "download",
242
+ type: "download",
243
+ style: {
244
+ color: 'white'
245
+ },
246
+ onClick: function onClick() {
247
+ return handleDownload([f]);
248
+ }
249
+ }), /*#__PURE__*/_react.default.createElement(_antd.Icon, {
250
+ wanted: formMode !== 'info' && 'delete',
251
+ type: "delete",
252
+ style: {
253
+ color: 'white'
254
+ },
255
+ onClick: function onClick() {
256
+ return handleDelete([f], false);
257
+ }
258
+ })))));
259
+ });
260
+ };
261
+ var menu = /*#__PURE__*/_react.default.createElement(_luckDesign.PermissionGroup, {
262
+ userPermission: operates,
263
+ modeStyle: "menu"
264
+ }, /*#__PURE__*/_react.default.createElement("a", {
265
+ wanted: "download",
266
+ name: "download",
267
+ disabled: state.checkedList.length === 0,
268
+ onClick: function onClick() {
269
+ return handleDownload(state.checkedList, true);
270
+ }
271
+ }, "\u4E0B\u8F7D"), /*#__PURE__*/_react.default.createElement("a", {
272
+ wanted: formMode !== 'info' && 'delete',
273
+ name: "delete",
274
+ disabled: state.checkedList.length === 0,
275
+ onClick: function onClick() {
276
+ _antd.Modal.confirm({
277
+ title: (0, _utils.formatMessage)({
278
+ id: 'app.base.operate.delete'
279
+ }),
280
+ content: (0, _utils.formatMessage)({
281
+ id: 'app.base.confirm.delete'
282
+ }),
283
+ okText: (0, _utils.formatMessage)({
284
+ id: 'app.base.operate.ok'
285
+ }),
286
+ okType: 'danger',
287
+ cancelText: (0, _utils.formatMessage)({
288
+ id: 'app.base.operate.cancel'
289
+ }),
290
+ onOk: function onOk() {
291
+ handleDelete(state.checkedList, true);
292
+ }
293
+ });
294
+ }
295
+ }, "\u5220\u9664"));
296
+
297
+ /**
298
+ * 删除
299
+ * @param selectedRows 选择的数据
300
+ * @param isCheck 是否批量勾选
301
+ */
302
+ var handleDelete = function handleDelete(selectedRows, isCheck) {
303
+ setState({
304
+ loading: true
305
+ });
306
+ (0, _utils.request)(getUrl('removeFile'), {
307
+ method: 'POST',
308
+ body: {
309
+ fileNames: selectedRows.map(function (row) {
310
+ return row.fileName;
311
+ })
312
+ }
313
+ }).then(function () {
314
+ setState({
315
+ loading: false
316
+ });
317
+ isCheck && setState({
318
+ checkedList: []
319
+ });
320
+ onQuery();
321
+ });
322
+ };
323
+ var handleDownload = function handleDownload(selectedRows, isCheck) {
324
+ if (selectedRows.length === 1) {
325
+ var filenames = selectedRows.map(function (item) {
326
+ return item.fileName;
327
+ });
328
+ downloadFile(filenames, 'downloadOne');
329
+ } else {
330
+ var files = selectedRows.map(function (item) {
331
+ return (0, _objectSpread2.default)((0, _objectSpread2.default)({}, item), {}, {
332
+ sname: item.fileName,
333
+ downloadUrl: "".concat(getUrl('download'), "&fileName=").concat(item.fileName),
334
+ stype: item.fileExt
335
+ });
336
+ });
337
+ (0, _utils.patchDownload)(files);
338
+ }
339
+ isCheck && setState({
340
+ checkedList: []
341
+ });
342
+ };
343
+
344
+ /**
345
+ * 下载附件
346
+ * @param filenames
347
+ * @param tag downloadOne:下载单个,其他批量
348
+ */
349
+ var downloadFile = function downloadFile(filenames, tag) {
350
+ saveAs("".concat(getUrl('download'), "&fileName=").concat(filenames[0]));
351
+ };
352
+ return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
353
+ className: _index.default.operates
354
+ }, /*#__PURE__*/_react.default.createElement(_antd.Button, {
355
+ type: "primary",
356
+ loading: state.loading,
357
+ style: {
358
+ marginRight: 8
359
+ },
360
+ onClick: function onClick() {
361
+ return state.selectAll ? setState({
362
+ checkedList: state.dataSource,
363
+ selectAll: false
364
+ }) : setState({
365
+ checkedList: [],
366
+ selectAll: true
367
+ });
368
+ },
369
+ disabled: state.dataSource.length === 0
370
+ }, state.selectAll ? (0, _utils.formatMessage)({
371
+ id: 'app.base.operate.selectAll',
372
+ label: '全选'
373
+ }) : (0, _utils.formatMessage)({
374
+ id: 'app.base.operate.selectNone',
375
+ label: '全不选'
376
+ })), /*#__PURE__*/_react.default.createElement(_antd.Button, {
377
+ type: "primary",
378
+ loading: state.loading,
379
+ style: {
380
+ marginRight: 8
381
+ },
382
+ onClick: function onClick() {
383
+ return handleDownload(state.dataSource);
384
+ },
385
+ disabled: state.dataSource.length === 0
386
+ }, (0, _utils.formatMessage)({
387
+ id: 'app.base.operate.downloadAll',
388
+ label: '下载全部'
389
+ })), state.checkedList.length > 0 && /*#__PURE__*/_react.default.createElement(_antd.Dropdown, {
390
+ overlay: menu,
391
+ trigger: ['hover']
392
+ }, /*#__PURE__*/_react.default.createElement(_antd.Button, null, "\u6279\u91CF\u64CD\u4F5C"))), /*#__PURE__*/_react.default.createElement("div", {
393
+ className: _index.default.filesWall
394
+ }, renderFileList(), /*#__PURE__*/_react.default.createElement(_antd.Upload, (0, _extends2.default)({
395
+ listType: "picture-card"
396
+ }, formItemProps, {
397
+ fileList: state.dataSource,
398
+ onPreview: handlePreview,
399
+ showUploadList: false
400
+ }), state.dataSource.length >= maxLength || formMode === 'info' || !operates.includes('add') ? null : uploadButton)));
401
+ });
402
+ FilesWall.propTypes = {
403
+ moduleCode: _propTypes.default.string.isRequired,
404
+ // 模块code
405
+ docUid: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]).isRequired,
406
+ // 单据主键,新增模式下前端生成
407
+ formMode: _propTypes.default.string,
408
+ // 表单formMode
409
+ operates: _propTypes.default.array,
410
+ // 表单操作权限
411
+ zipName: _propTypes.default.string,
412
+ // 打包下载文件名
413
+ bucket: _propTypes.default.string,
414
+ tag: _propTypes.default.string,
415
+ // 附件tag标识
416
+ showNote: _propTypes.default.bool,
417
+ // 是否填写附件备注
418
+ beforeUpload: _propTypes.default.func,
419
+ // 上传前回调
420
+ onUploadChange: _propTypes.default.func,
421
+ // 上传后回调
422
+ maxLength: _propTypes.default.number // 最大上传数量
423
+ };
424
+ FilesWall.defaultProps = {
425
+ bucket: '',
426
+ showNote: false,
427
+ maxLength: 999
428
+ };
429
+ var _default = exports.default = FilesWall;
@@ -0,0 +1,74 @@
1
+ .operates {
2
+ display: flex;
3
+ margin-bottom: 8px;
4
+ }
5
+
6
+ .filesWall {
7
+ display: flex;
8
+ flex-wrap: wrap;
9
+ align-items: center;
10
+ width: 100%;
11
+ box-sizing: border-box;
12
+
13
+ .fileContent {
14
+ position: relative;
15
+
16
+ .check {
17
+ position: absolute;
18
+ right: 8px;
19
+ top: -3px;
20
+ }
21
+
22
+ .img {
23
+ position: relative;
24
+ padding: 8px;
25
+ border: 1px solid #d9d9d9;
26
+ border-radius: 4px 0 4px 4px;
27
+ display: table;
28
+ float: left;
29
+ width: 104px;
30
+ height: 104px;
31
+ margin-right: 8px;
32
+ margin-bottom: 8px;
33
+ text-align: center;
34
+ vertical-align: top;
35
+ cursor: pointer;
36
+ -webkit-transition: border-color 0.3s ease;
37
+ transition: border-color 0.3s ease;
38
+ }
39
+ }
40
+
41
+ .actions {
42
+ width: 104px !important;
43
+ height: 104px !important;
44
+ position: absolute;
45
+ background-color: rgba(0, 0, 0, 0.4);
46
+ border-radius: 4px;
47
+ display: none !important;
48
+
49
+ .actionsChild {
50
+ margin-top: 35%;
51
+ }
52
+ }
53
+
54
+ .fileContent:hover + .actions,
55
+ .actions:hover {
56
+ display: block !important;
57
+ }
58
+
59
+ :global {
60
+ .ant-upload-select-picture-card i {
61
+ font-size: 32px;
62
+ color: #999;
63
+ }
64
+
65
+ .ant-upload-select-picture-card .ant-upload-text {
66
+ margin-top: 8px;
67
+ color: #666;
68
+ }
69
+
70
+ .ant-upload-picture-card-wrapper {
71
+ width: auto;
72
+ }
73
+ }
74
+ }
@@ -12,6 +12,7 @@ var _lodash = require("lodash");
12
12
  var _querystring = require("querystring");
13
13
  var _gridForm = _interopRequireDefault(require("./gridForm"));
14
14
  var _utils = require("@luck-design-biz/base/utils");
15
+ var _apiUrl = require("../../lowcode/constants/api-url");
15
16
  var _excluded = ["formId", "moduleCode", "bucket", "note"];
16
17
  function buildComponent(props) {
17
18
  var _formId = props.formId,
@@ -36,7 +37,7 @@ function buildComponent(props) {
36
37
  active: !(behaviorKey === 'loadFileGrid' || rest.formMode === 'add' || rest.formMode === 'update'),
37
38
  docUid: docUid || formData[mainFormLdId] && formData[mainFormLdId][PRIMARY_KEY] || ticketData && ticketData[PRIMARY_KEY]
38
39
  }, _lodash.isNil);
39
- return "".concat(window.appConfig.OSS_HOST_V3, "?").concat((0, _querystring.stringify)(params));
40
+ return "".concat((0, _apiUrl.getBehaviorUrl)(), "?").concat((0, _querystring.stringify)(params));
40
41
  };
41
42
  return /*#__PURE__*/_react.default.createElement(_gridForm.default, (0, _extends2.default)({
42
43
  formId: formId,
@@ -11,7 +11,7 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
11
11
  var _react = _interopRequireDefault(require("react"));
12
12
  var _luckDesign = require("luck-design");
13
13
  var _utils = require("@luck-design-biz/base/utils");
14
- var _ahooks = require("ahooks");
14
+ var _apiUrl = require("../../lowcode/constants/api-url");
15
15
  var _excluded = ["uploadUrl", "moduleCode", "bucket", "tag", "note", "config", "forbiddenTypes", "children", "dataFormat", "listType"];
16
16
  /**
17
17
  * 表单类型富文本上传
@@ -47,11 +47,9 @@ function buildComponent(props) {
47
47
  listType = props.listType,
48
48
  rest = (0, _objectWithoutProperties2.default)(props, _excluded);
49
49
  var getUrl = function getUrl(behaviorKey) {
50
- return "".concat(window.appConfig.OSS_HOST_V3, "?moduleCode=").concat(moduleCode, "&behaviorKey=").concat(behaviorKey, "&bucket=").concat(bucket, "&tag=").concat(tag, "&note=").concat(note);
50
+ return "".concat((0, _apiUrl.getBehaviorUrl)(), "?moduleCode=").concat(moduleCode, "&behaviorKey=").concat(behaviorKey, "&bucket=").concat(bucket, "&tag=").concat(tag, "&note=").concat(note);
51
51
  };
52
- var supportUploadTypes = (0, _ahooks.useCreation)(function () {
53
- return (0, _utils.getSupportUploadTypes)(forbiddenTypes);
54
- }, [forbiddenTypes]);
52
+ var supportUploadTypes = (0, _utils.getSupportUploadTypes)(forbiddenTypes);
55
53
  return /*#__PURE__*/_react.default.createElement(_luckDesign.BasicFormItem, (0, _extends2.default)({
56
54
  extra: "".concat((0, _utils.formatMessage)({
57
55
  id: 'app.upload.supportUpload',
@@ -4,6 +4,12 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
+ Object.defineProperty(exports, "UploadFilesWall", {
8
+ enumerable: true,
9
+ get: function get() {
10
+ return _FilesWall.default;
11
+ }
12
+ });
7
13
  Object.defineProperty(exports, "UploadGridCell", {
8
14
  enumerable: true,
9
15
  get: function get() {
@@ -24,4 +30,5 @@ Object.defineProperty(exports, "buildUploadFormItem", {
24
30
  });
25
31
  var _Form = _interopRequireDefault(require("./Form"));
26
32
  var _FormItem = _interopRequireDefault(require("./FormItem"));
27
- var _GridCell = _interopRequireDefault(require("./GridCell"));
33
+ var _GridCell = _interopRequireDefault(require("./GridCell"));
34
+ var _FilesWall = _interopRequireDefault(require("./FilesWall"));
@@ -8,7 +8,7 @@ exports.behaviorCall = behaviorCall;
8
8
  var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/regeneratorRuntime"));
9
9
  var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
10
10
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
11
- var _services = require("../services");
11
+ var _apiUrl = require("../lowcode/constants/api-url");
12
12
  // 行为请求同一接口
13
13
  function behaviorCall() {
14
14
  return _behaviorCall.apply(this, arguments);
@@ -25,7 +25,7 @@ function _behaviorCall() {
25
25
  get = _args.length > 0 && _args[0] !== undefined ? _args[0] : {};
26
26
  post = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};
27
27
  datasetCode = get.datasetCode;
28
- return _context.abrupt("return", (0, _services.readBehaviorCall)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, get), {}, {
28
+ return _context.abrupt("return", (0, _apiUrl.fetchCallBehavior)((0, _objectSpread2.default)((0, _objectSpread2.default)({}, get), {}, {
29
29
  datasetCode: datasetCode || Object.keys(post).join(',')
30
30
  }), post));
31
31
  case 4:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@luck-design-biz/luckda",
3
- "version": "0.0.25-6",
3
+ "version": "0.0.25-8",
4
4
  "description": "前端配置管理中心业务组件库",
5
5
  "scripts": {
6
6
  "start": "cross-env NODE_OPTIONS=--max-old-space-size=10240 USER_RUNTIME=SITE RUNTIME=dev umi dev",
@@ -63,7 +63,8 @@
63
63
  "querystring": "^0.2.0",
64
64
  "react": "^16.12.0",
65
65
  "react-color": "^2.19.3",
66
- "styled-components": "^6.1.8"
66
+ "styled-components": "^6.1.8",
67
+ "zustand": "^4.5.2"
67
68
  },
68
69
  "devDependencies": {
69
70
  "@amap/amap-jsapi-loader": "^0.0.7",
@@ -76,7 +77,7 @@
76
77
  "@babel/plugin-transform-strict-mode": "^7.18.6",
77
78
  "@babel/polyfill": "^7.12.1",
78
79
  "@babel/traverse": "^7.24.1",
79
- "@luck-design-biz/base": "0.0.44",
80
+ "@luck-design-biz/base": "0.0.45-2",
80
81
  "@luck-design-biz/bpm": "0.0.5",
81
82
  "@luck-helper/ui-design": "0.0.6",
82
83
  "@types/classnames": "^2.3.1",
@@ -121,7 +122,7 @@
121
122
  "js-cookie": "^2.2.1",
122
123
  "jsdom-global": "^3.0.2",
123
124
  "lint-staged": "^11.2.6",
124
- "luck-design": "0.1.76-2",
125
+ "luck-design": "0.1.76-4",
125
126
  "monaco-editor-webpack-plugin": "6.*.*",
126
127
  "node-fetch": "^2.6.7",
127
128
  "nprogress": "^0.2.0",