aldehyde 0.2.480 → 0.2.481

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 (582) hide show
  1. package/LICENSE +201 -201
  2. package/README.md +2 -2
  3. package/lib/controls/2dEditor/2dEditor/index.less +5 -5
  4. package/lib/controls/2dEditor/2dView/index.less +8 -8
  5. package/lib/controls/2dEditor/components/component.less +83 -83
  6. package/lib/controls/action/index.css +8 -8
  7. package/lib/controls/action/index.d.ts.map +1 -1
  8. package/lib/controls/chemstruc/graph.d.ts.map +1 -1
  9. package/lib/controls/chemstruc/index.css +28 -28
  10. package/lib/controls/collapse-card/index.css +8 -8
  11. package/lib/controls/collapse-card/index.d.ts.map +1 -1
  12. package/lib/controls/cquery/cquick-button.d.ts.map +1 -1
  13. package/lib/controls/entity-select/entity-select.d.ts.map +1 -1
  14. package/lib/controls/entity-select/index.css +7 -7
  15. package/lib/controls/entity-select/lab-tree-select.d.ts.map +1 -1
  16. package/lib/controls/entity-select/popover-entity-select.d.ts.map +1 -1
  17. package/lib/controls/file-view/index.less +9 -9
  18. package/lib/controls/html-editor/index.less +67 -67
  19. package/lib/controls/icon-selector/icon/aldehyde-menu-icon/iconfont.css +147 -147
  20. package/lib/controls/password-setter/index.css +2 -2
  21. package/lib/controls/password-setter/index.d.ts.map +1 -1
  22. package/lib/controls/qr-code/index.less +28 -28
  23. package/lib/controls/relation-existion/index.css +3 -3
  24. package/lib/controls/relation-existion/index.d.ts.map +1 -1
  25. package/lib/controls/rfield/index.css +4 -4
  26. package/lib/controls/rfield/index.d.ts.map +1 -1
  27. package/lib/controls/select/index.d.ts.map +1 -1
  28. package/lib/controls/signature/index.d.ts.map +1 -1
  29. package/lib/controls/text/ellipsis-text.d.ts.map +1 -1
  30. package/lib/controls/text/index.less +7 -7
  31. package/lib/controls/upload/index.d.ts.map +1 -1
  32. package/lib/controls/upload/mult-file-upload.d.ts.map +1 -1
  33. package/lib/custom-page/dtmpl-custom-edit-modal-page.d.ts.map +1 -1
  34. package/lib/detail/button/bottom-submit-button-bar.d.ts.map +1 -1
  35. package/lib/detail/button/cquery-button-bar.d.ts.map +1 -1
  36. package/lib/detail/button/fix-right-submit-button-bar.d.ts.map +1 -1
  37. package/lib/detail/button/index.css +42 -42
  38. package/lib/detail/dtmpl.css +67 -67
  39. package/lib/detail/edit/fields-edit-card.d.ts.map +1 -1
  40. package/lib/detail/edit/modal-row-edit.d.ts.map +1 -1
  41. package/lib/detail/edit/popover-edit-card.d.ts.map +1 -1
  42. package/lib/detail/rightbar/index.css +34 -34
  43. package/lib/detail/rightbar/index.d.ts.map +1 -1
  44. package/lib/detail/view/act-dtmpl-view.d.ts.map +1 -1
  45. package/lib/detail/view/field-view-group.d.ts.map +1 -1
  46. package/lib/detail/view/modal-dtmpl-view.d.ts.map +1 -1
  47. package/lib/detail/view/snapshot-timeline.d.ts.map +1 -1
  48. package/lib/detail/view/tab-act-dtmpl-view.d.ts.map +1 -1
  49. package/lib/draw-canvas-edit/components/render/components/index.d.ts +3 -0
  50. package/lib/draw-canvas-edit/components/render/components/index.d.ts.map +1 -0
  51. package/lib/draw-canvas-edit/components/render/components/index.js +3 -0
  52. package/lib/draw-canvas-edit/components/render/components/index.js.map +1 -0
  53. package/lib/draw-canvas-edit/components/render/components/workstation-component.d.ts +31 -0
  54. package/lib/draw-canvas-edit/components/render/components/workstation-component.d.ts.map +1 -0
  55. package/lib/draw-canvas-edit/components/render/components/workstation-component.js +105 -0
  56. package/lib/draw-canvas-edit/components/render/components/workstation-component.js.map +1 -0
  57. package/lib/draw-canvas-edit/components/render/tools/component-factory.d.ts +2 -0
  58. package/lib/draw-canvas-edit/components/render/tools/component-factory.d.ts.map +1 -1
  59. package/lib/draw-canvas-edit/components/render/tools/component-factory.js +10 -42
  60. package/lib/draw-canvas-edit/components/render/tools/component-factory.js.map +1 -1
  61. package/lib/draw-canvas-edit/components/render/types.d.ts +3 -0
  62. package/lib/draw-canvas-edit/components/render/types.d.ts.map +1 -1
  63. package/lib/draw-canvas-edit/components/render/types.js.map +1 -1
  64. package/lib/draw-canvas-edit/index.less +48 -48
  65. package/lib/draw-canvas-view/index.less +59 -59
  66. package/lib/draw-canvas-view/view.d.ts.map +1 -1
  67. package/lib/draw-canvas-view/view.js +19 -6
  68. package/lib/draw-canvas-view/view.js.map +1 -1
  69. package/lib/export/export-frame.css +2 -2
  70. package/lib/export/export-frame.d.ts.map +1 -1
  71. package/lib/export/select-code-export-frame.d.ts.map +1 -1
  72. package/lib/form/dtmpl-form.css +3 -3
  73. package/lib/form/dtmpl-form.d.ts.map +1 -1
  74. package/lib/form/dtmpl-form.js +1 -1
  75. package/lib/form/dtmpl-form.js.map +1 -1
  76. package/lib/form/field-group-form.d.ts.map +1 -1
  77. package/lib/form/form-Item-group.d.ts.map +1 -1
  78. package/lib/form/index.css +12 -12
  79. package/lib/import/excel-import.d.ts.map +1 -1
  80. package/lib/import/index.css +53 -53
  81. package/lib/import/template.css +50 -50
  82. package/lib/layout/common.css +64 -64
  83. package/lib/layout/coverstyle.css +51 -51
  84. package/lib/layout/footer/index.css +5 -5
  85. package/lib/layout/header/index.css +122 -122
  86. package/lib/layout/menu/block.css +7 -7
  87. package/lib/layout/menu/block.d.ts.map +1 -1
  88. package/lib/layout/menu/l2menu-quick-bar.d.ts.map +1 -1
  89. package/lib/layout/menu/menu-2layers.d.ts.map +1 -1
  90. package/lib/layout/menu/message-bar.less +73 -73
  91. package/lib/layout/menu/reset-password.d.ts.map +1 -1
  92. package/lib/layout/menu/user-bar.d.ts.map +1 -1
  93. package/lib/layout/menu/userinfo-bar.d.ts.map +1 -1
  94. package/lib/layout/sidebar/index.css +57 -57
  95. package/lib/layout2/css/header.css +41 -41
  96. package/lib/layout2/css/sider.less +17 -17
  97. package/lib/layout2/css/tabs-layout.less +18 -18
  98. package/lib/layout3/css/header.less +195 -195
  99. package/lib/layout3/css/main.less +161 -161
  100. package/lib/layout3/css/sider.less +32 -32
  101. package/lib/layout3/css/tabs-layout.less +38 -38
  102. package/lib/layout4/css/header.less +196 -196
  103. package/lib/layout4/css/main.less +154 -154
  104. package/lib/layout4/css/sider.less +37 -37
  105. package/lib/layout4/css/tabs-layout.less +42 -42
  106. package/lib/layout5/css/header.less +35 -35
  107. package/lib/layout5/css/sider.less +18 -18
  108. package/lib/list/calendar/index.less +20 -20
  109. package/lib/list/card-list/index.less +154 -154
  110. package/lib/list/gantt/index.less +8 -8
  111. package/lib/list/vertical-list/index.less +208 -208
  112. package/lib/login/index.css +19 -19
  113. package/lib/login/login.d.ts.map +1 -1
  114. package/lib/login/vertify/index.css +143 -143
  115. package/lib/login3/index.less +136 -136
  116. package/lib/lowcode-components/act-table/index.less +26 -26
  117. package/lib/lowcode-components/base-button/index.less +7 -7
  118. package/lib/lowcode-components/base-map/index.js +6 -6
  119. package/lib/lowcode-components/base-radio/index.less +23 -23
  120. package/lib/lowcode-components/base-tabs/index.less +14 -14
  121. package/lib/lowcode-components/border/border10/index.less +26 -26
  122. package/lib/lowcode-components/border/border11/index.js +46 -46
  123. package/lib/lowcode-components/border/border11/index.less +17 -17
  124. package/lib/lowcode-components/border/border12/index.js +13 -13
  125. package/lib/lowcode-components/border/border12/index.less +13 -13
  126. package/lib/lowcode-components/border/border13/index.js +5 -5
  127. package/lib/lowcode-components/border/border13/index.less +13 -13
  128. package/lib/lowcode-components/border/border2/index.less +17 -17
  129. package/lib/lowcode-components/border/border3/index.less +25 -25
  130. package/lib/lowcode-components/border/border4/index.js +2 -2
  131. package/lib/lowcode-components/border/border4/index.less +72 -72
  132. package/lib/lowcode-components/border/border5/index.js +2 -2
  133. package/lib/lowcode-components/border/border5/index.less +35 -35
  134. package/lib/lowcode-components/border/border6/index.less +17 -17
  135. package/lib/lowcode-components/border/border7/index.less +26 -26
  136. package/lib/lowcode-components/border/border8/index.less +13 -13
  137. package/lib/lowcode-components/border/border9/index.js +14 -14
  138. package/lib/lowcode-components/border/border9/index.less +13 -13
  139. package/lib/lowcode-components/decoration/decoration1/index.less +7 -7
  140. package/lib/lowcode-components/decoration/decoration10/index.js +3 -3
  141. package/lib/lowcode-components/decoration/decoration10/index.less +5 -5
  142. package/lib/lowcode-components/decoration/decoration11/index.less +5 -5
  143. package/lib/lowcode-components/decoration/decoration2/index.less +6 -6
  144. package/lib/lowcode-components/decoration/decoration3/index.less +7 -7
  145. package/lib/lowcode-components/decoration/decoration4/index.less +29 -29
  146. package/lib/lowcode-components/decoration/decoration5/index.less +3 -3
  147. package/lib/lowcode-components/decoration/decoration6/index.less +7 -7
  148. package/lib/lowcode-components/decoration/decoration7/index.less +4 -4
  149. package/lib/lowcode-components/decoration/decoration8/index.less +14 -14
  150. package/lib/lowcode-components/decoration/decoration9/index.less +4 -4
  151. package/lib/lowcode-components/effectScatter-map/index.js +6 -6
  152. package/lib/lowcode-components/effectScatter-map-3d/index.js +6 -6
  153. package/lib/lowcode-components/lowcode-view/index.less +19 -19
  154. package/lib/lowcode-components/search-form/index.less +25 -25
  155. package/lib/module/dtmpl-edit-card.d.ts.map +1 -1
  156. package/lib/module/dtmpl-edit-page.d.ts.map +1 -1
  157. package/lib/module/index.less +4 -4
  158. package/lib/module/ltmpl-modal.d.ts.map +1 -1
  159. package/lib/module/ltmpl-table.d.ts.map +1 -1
  160. package/lib/routable/index.less +25 -25
  161. package/lib/table/act-table.d.ts.map +1 -1
  162. package/lib/table/column/index.less +63 -63
  163. package/lib/table/index.css +211 -211
  164. package/lib/table/modal-select-table.d.ts.map +1 -1
  165. package/lib/table/pagination.css +14 -14
  166. package/lib/table/pagination.d.ts.map +1 -1
  167. package/lib/table/relation-table.d.ts.map +1 -1
  168. package/lib/table/select-table.d.ts.map +1 -1
  169. package/lib/table/select-table.js +14 -2
  170. package/lib/table/select-table.js.map +1 -1
  171. package/lib/table/selected-rows-card.d.ts.map +1 -1
  172. package/lib/table/stat/restat.d.ts.map +1 -1
  173. package/lib/tree/act-tree.d.ts.map +1 -1
  174. package/lib/tree/block-menu-auth-tree.d.ts.map +1 -1
  175. package/lib/tree/index.css +22 -22
  176. package/lib/tree/tmpl-tree.d.ts.map +1 -1
  177. package/lib/welcome/components/menu-card.less +96 -96
  178. package/lib/welcome/components/page-card.less +49 -49
  179. package/lib/welcome/components/quick-entrance.less +120 -120
  180. package/lib/welcome/components/user-menus.less +192 -192
  181. package/lib/welcome/components/workbench.less +118 -118
  182. package/lib/welcome/index.css +13 -13
  183. package/package.json +223 -223
  184. package/src/aldehyde/controls/2dEditor/2dEditor/index.less +5 -5
  185. package/src/aldehyde/controls/2dEditor/2dEditor/index.tsx +270 -270
  186. package/src/aldehyde/controls/2dEditor/2dView/index.less +8 -8
  187. package/src/aldehyde/controls/2dEditor/2dView/index.tsx +110 -110
  188. package/src/aldehyde/controls/2dEditor/components/card.tsx +256 -256
  189. package/src/aldehyde/controls/2dEditor/components/component.less +83 -83
  190. package/src/aldehyde/controls/2dEditor/components/data.d.ts +32 -32
  191. package/src/aldehyde/controls/2dEditor/components/hotspot.tsx +80 -80
  192. package/src/aldehyde/controls/2dEditor/components/html-box.tsx +101 -101
  193. package/src/aldehyde/controls/2dEditor/components/image.tsx +99 -99
  194. package/src/aldehyde/controls/2dEditor/components/line.tsx +73 -73
  195. package/src/aldehyde/controls/action/index.css +8 -8
  196. package/src/aldehyde/controls/action/index.tsx +406 -406
  197. package/src/aldehyde/controls/action/utils.tsx +306 -306
  198. package/src/aldehyde/controls/auto-complete/index.tsx +82 -82
  199. package/src/aldehyde/controls/cascader/index.tsx +112 -112
  200. package/src/aldehyde/controls/chemstruc/graph.tsx +185 -185
  201. package/src/aldehyde/controls/chemstruc/index.css +28 -28
  202. package/src/aldehyde/controls/code-editor/sql-code-editor.tsx +73 -73
  203. package/src/aldehyde/controls/collapse-card/index.css +8 -8
  204. package/src/aldehyde/controls/collapse-card/index.tsx +109 -109
  205. package/src/aldehyde/controls/color-picker/index.tsx +21 -21
  206. package/src/aldehyde/controls/counting-tag/index.tsx +53 -53
  207. package/src/aldehyde/controls/cquery/cquick-button.tsx +145 -145
  208. package/src/aldehyde/controls/date-picker/index.tsx +199 -199
  209. package/src/aldehyde/controls/direct-file-view/drawer-file-view.tsx +54 -54
  210. package/src/aldehyde/controls/direct-file-view/index.tsx +145 -145
  211. package/src/aldehyde/controls/direct-upload/index.tsx +139 -139
  212. package/src/aldehyde/controls/entity-select/entity-select.tsx +791 -791
  213. package/src/aldehyde/controls/entity-select/index.css +7 -7
  214. package/src/aldehyde/controls/entity-select/lab-tree-select.tsx +154 -154
  215. package/src/aldehyde/controls/entity-select/popover-entity-select.tsx +205 -205
  216. package/src/aldehyde/controls/entry-control.tsx +418 -418
  217. package/src/aldehyde/controls/enum-badge/index.tsx +42 -42
  218. package/src/aldehyde/controls/enum-tag/index.tsx +45 -45
  219. package/src/aldehyde/controls/field-history/index.tsx +81 -81
  220. package/src/aldehyde/controls/file-export/select-code-export.tsx +40 -40
  221. package/src/aldehyde/controls/file-view/drawer-file-view.tsx +117 -117
  222. package/src/aldehyde/controls/file-view/index.less +9 -9
  223. package/src/aldehyde/controls/file-view/index.tsx +148 -148
  224. package/src/aldehyde/controls/file-view/multi-file-view.tsx +39 -39
  225. package/src/aldehyde/controls/file-view/newin-file-view.tsx +40 -40
  226. package/src/aldehyde/controls/html-editor/draft.tsx +136 -136
  227. package/src/aldehyde/controls/html-editor/index.less +67 -67
  228. package/src/aldehyde/controls/icon-selector/app-icon-selector.tsx +68 -68
  229. package/src/aldehyde/controls/icon-selector/icon/aldehyde-menu-icon/iconfont.css +147 -147
  230. package/src/aldehyde/controls/icon-selector/icon/aldehyde-menu-icon/iconfont.json +240 -240
  231. package/src/aldehyde/controls/icon-selector/pc-icon-selector.tsx +68 -68
  232. package/src/aldehyde/controls/input-number/index.tsx +148 -148
  233. package/src/aldehyde/controls/input-range/index.tsx +59 -59
  234. package/src/aldehyde/controls/password-setter/index.css +2 -2
  235. package/src/aldehyde/controls/password-setter/index.js +88 -88
  236. package/src/aldehyde/controls/progress/index.tsx +74 -74
  237. package/src/aldehyde/controls/qr-code/index.less +28 -28
  238. package/src/aldehyde/controls/qr-code/index.tsx +40 -40
  239. package/src/aldehyde/controls/relation-existion/index.css +3 -3
  240. package/src/aldehyde/controls/relation-existion/index.tsx +144 -144
  241. package/src/aldehyde/controls/rfield/index.css +4 -4
  242. package/src/aldehyde/controls/rfield/index.tsx +225 -225
  243. package/src/aldehyde/controls/select/index.tsx +216 -216
  244. package/src/aldehyde/controls/signature/index.tsx +226 -226
  245. package/src/aldehyde/controls/single-checkbox/index.tsx +18 -18
  246. package/src/aldehyde/controls/steps/index.tsx +59 -59
  247. package/src/aldehyde/controls/text/ellipsis-text.tsx +98 -98
  248. package/src/aldehyde/controls/text/index.less +7 -7
  249. package/src/aldehyde/controls/tree-select/navigation-tree.tsx +122 -122
  250. package/src/aldehyde/controls/tree-select/tree-entity-select.tsx +121 -121
  251. package/src/aldehyde/controls/upload/index.tsx +128 -128
  252. package/src/aldehyde/controls/upload/mult-file-upload.tsx +240 -240
  253. package/src/aldehyde/controls/view-control.tsx +289 -289
  254. package/src/aldehyde/custom-page/custom-detail-modal-page.tsx +69 -69
  255. package/src/aldehyde/custom-page/custom-page-router.tsx +64 -64
  256. package/src/aldehyde/custom-page/def-custom-page.tsx +17 -17
  257. package/src/aldehyde/custom-page/dtmpl-custom-edit-modal-page.tsx +88 -88
  258. package/src/aldehyde/detail/button/bottom-submit-button-bar.tsx +91 -91
  259. package/src/aldehyde/detail/button/cquery-button-bar.tsx +144 -144
  260. package/src/aldehyde/detail/button/edit-button.tsx +61 -61
  261. package/src/aldehyde/detail/button/fix-right-submit-button-bar.tsx +186 -186
  262. package/src/aldehyde/detail/button/index.css +42 -42
  263. package/src/aldehyde/detail/button/inline-edit-button.tsx +40 -40
  264. package/src/aldehyde/detail/button/submit-button-bar.tsx +57 -57
  265. package/src/aldehyde/detail/button/view-button.tsx +64 -64
  266. package/src/aldehyde/detail/dtmpl.css +67 -67
  267. package/src/aldehyde/detail/edit/dtmpl-edit.tsx +279 -279
  268. package/src/aldehyde/detail/edit/fields-edit-card.tsx +145 -145
  269. package/src/aldehyde/detail/edit/modal-row-edit.tsx +95 -95
  270. package/src/aldehyde/detail/edit/popover-edit-card.tsx +167 -167
  271. package/src/aldehyde/detail/edit/popover-editor.tsx +70 -70
  272. package/src/aldehyde/detail/edit/post-result/index.tsx +86 -86
  273. package/src/aldehyde/detail/rightbar/index.css +34 -34
  274. package/src/aldehyde/detail/rightbar/index.tsx +92 -92
  275. package/src/aldehyde/detail/tooltipbar/index.tsx +32 -32
  276. package/src/aldehyde/detail/view/act-dtmpl-view.tsx +288 -288
  277. package/src/aldehyde/detail/view/dtmpl-view.tsx +314 -314
  278. package/src/aldehyde/detail/view/field-view-group.tsx +88 -88
  279. package/src/aldehyde/detail/view/modal-dtmpl-view.tsx +73 -73
  280. package/src/aldehyde/detail/view/snapshot-timeline.tsx +231 -231
  281. package/src/aldehyde/detail/view/tab-act-dtmpl-view.tsx +304 -304
  282. package/src/aldehyde/detail/view/view-compare-panel.tsx +57 -57
  283. package/src/aldehyde/draw-canvas-edit/components/render/components/index.ts +3 -0
  284. package/src/aldehyde/draw-canvas-edit/components/render/components/workstation-component.tsx +104 -0
  285. package/src/aldehyde/draw-canvas-edit/components/render/draws/bg-draw.ts +176 -176
  286. package/src/aldehyde/draw-canvas-edit/components/render/draws/contextmenu-draw.ts +329 -329
  287. package/src/aldehyde/draw-canvas-edit/components/render/graphs/bezier.ts +542 -542
  288. package/src/aldehyde/draw-canvas-edit/components/render/handlers/drag-outside-handlers.ts +72 -72
  289. package/src/aldehyde/draw-canvas-edit/components/render/handlers/selection-handlers.ts +396 -396
  290. package/src/aldehyde/draw-canvas-edit/components/render/index.ts +808 -808
  291. package/src/aldehyde/draw-canvas-edit/components/render/tools/attract-tool.ts +457 -457
  292. package/src/aldehyde/draw-canvas-edit/components/render/tools/component-factory.ts +270 -302
  293. package/src/aldehyde/draw-canvas-edit/components/render/tools/copy-tool.ts +244 -244
  294. package/src/aldehyde/draw-canvas-edit/components/render/tools/import-export-tool.ts +576 -576
  295. package/src/aldehyde/draw-canvas-edit/components/render/tools/index.ts +10 -10
  296. package/src/aldehyde/draw-canvas-edit/components/render/tools/position-tool.ts +191 -191
  297. package/src/aldehyde/draw-canvas-edit/components/render/tools/selection-tool.ts +140 -140
  298. package/src/aldehyde/draw-canvas-edit/components/render/types.ts +294 -291
  299. package/src/aldehyde/draw-canvas-edit/components/setting-form/index.tsx +291 -291
  300. package/src/aldehyde/draw-canvas-edit/constant.ts +5 -5
  301. package/src/aldehyde/draw-canvas-edit/index.less +48 -48
  302. package/src/aldehyde/draw-canvas-edit/index.tsx +201 -201
  303. package/src/aldehyde/draw-canvas-view/index.less +59 -59
  304. package/src/aldehyde/draw-canvas-view/index.tsx +49 -49
  305. package/src/aldehyde/draw-canvas-view/view.tsx +17 -5
  306. package/src/aldehyde/export/export-frame.css +2 -2
  307. package/src/aldehyde/export/export-frame.tsx +301 -301
  308. package/src/aldehyde/export/select-code-export-frame.tsx +212 -212
  309. package/src/aldehyde/form/criteria-form.tsx +604 -604
  310. package/src/aldehyde/form/dtmpl-form.css +3 -3
  311. package/src/aldehyde/form/dtmpl-form.tsx +552 -552
  312. package/src/aldehyde/form/field-group-form.tsx +102 -102
  313. package/src/aldehyde/form/fields-form.tsx +45 -45
  314. package/src/aldehyde/form/form-Item-group.tsx +245 -245
  315. package/src/aldehyde/form/index.css +12 -12
  316. package/src/aldehyde/hooks/use-match-route/index.tsx +62 -62
  317. package/src/aldehyde/hooks/use-tabs/index.tsx +139 -139
  318. package/src/aldehyde/hooks/useVarCssColor.ts +6 -6
  319. package/src/aldehyde/icon/aliIcon.tsx +9 -9
  320. package/src/aldehyde/icon/index.tsx +28 -28
  321. package/src/aldehyde/import/excel-import.tsx +450 -450
  322. package/src/aldehyde/import/index.css +53 -53
  323. package/src/aldehyde/import/template.css +50 -50
  324. package/src/aldehyde/index.tsx +220 -220
  325. package/src/aldehyde/layout/MainPage.tsx +334 -334
  326. package/src/aldehyde/layout/common.css +64 -64
  327. package/src/aldehyde/layout/coverstyle.css +51 -51
  328. package/src/aldehyde/layout/footer/index.css +5 -5
  329. package/src/aldehyde/layout/footer/index.js +17 -17
  330. package/src/aldehyde/layout/header/index.css +122 -122
  331. package/src/aldehyde/layout/header/index.tsx +152 -152
  332. package/src/aldehyde/layout/menu/block.css +7 -7
  333. package/src/aldehyde/layout/menu/block.tsx +174 -174
  334. package/src/aldehyde/layout/menu/l2menu-message-bar.tsx +160 -160
  335. package/src/aldehyde/layout/menu/l2menu-quick-bar.tsx +175 -175
  336. package/src/aldehyde/layout/menu/menu-2layers.tsx +117 -117
  337. package/src/aldehyde/layout/menu/menu-render.tsx +168 -168
  338. package/src/aldehyde/layout/menu/message-bar.less +73 -73
  339. package/src/aldehyde/layout/menu/reset-password.tsx +255 -255
  340. package/src/aldehyde/layout/menu/user-bar.tsx +259 -259
  341. package/src/aldehyde/layout/menu/userinfo-bar.tsx +69 -69
  342. package/src/aldehyde/layout/sidebar/index.css +57 -57
  343. package/src/aldehyde/layout/sidebar/index.tsx +84 -84
  344. package/src/aldehyde/layout2/components/icon-font.tsx +7 -7
  345. package/src/aldehyde/layout2/components/screenfull-button.tsx +21 -21
  346. package/src/aldehyde/layout2/components/search-menu.tsx +85 -85
  347. package/src/aldehyde/layout2/components/system-messages.tsx +75 -75
  348. package/src/aldehyde/layout2/components/theme-button.tsx +65 -65
  349. package/src/aldehyde/layout2/components/user-button.tsx +258 -258
  350. package/src/aldehyde/layout2/components/user-notification.tsx +74 -74
  351. package/src/aldehyde/layout2/css/header.css +41 -41
  352. package/src/aldehyde/layout2/css/sider.less +17 -17
  353. package/src/aldehyde/layout2/css/tabs-layout.less +18 -18
  354. package/src/aldehyde/layout2/header.tsx +278 -278
  355. package/src/aldehyde/layout2/layout-context.tsx +95 -95
  356. package/src/aldehyde/layout2/main.tsx +30 -30
  357. package/src/aldehyde/layout2/page.tsx +315 -315
  358. package/src/aldehyde/layout2/sider.tsx +230 -230
  359. package/src/aldehyde/layout2/tabs/tabs-context.tsx +37 -37
  360. package/src/aldehyde/layout2/tabs/tabs-layout.tsx +146 -146
  361. package/src/aldehyde/layout2/type/layout-type.ts +15 -15
  362. package/src/aldehyde/layout2/util/menu-util.tsx +125 -125
  363. package/src/aldehyde/layout3/components/tabs-layout.tsx +110 -110
  364. package/src/aldehyde/layout3/components/time.tsx +25 -25
  365. package/src/aldehyde/layout3/css/header.less +195 -195
  366. package/src/aldehyde/layout3/css/main.less +161 -161
  367. package/src/aldehyde/layout3/css/sider.less +32 -32
  368. package/src/aldehyde/layout3/css/tabs-layout.less +38 -38
  369. package/src/aldehyde/layout3/header.tsx +187 -187
  370. package/src/aldehyde/layout3/main.tsx +29 -29
  371. package/src/aldehyde/layout3/page.tsx +110 -110
  372. package/src/aldehyde/layout3/sider.tsx +198 -198
  373. package/src/aldehyde/layout4/components/tabs-layout.tsx +110 -110
  374. package/src/aldehyde/layout4/css/header.less +196 -196
  375. package/src/aldehyde/layout4/css/main.less +154 -154
  376. package/src/aldehyde/layout4/css/sider.less +37 -37
  377. package/src/aldehyde/layout4/css/tabs-layout.less +42 -42
  378. package/src/aldehyde/layout4/header.tsx +190 -190
  379. package/src/aldehyde/layout4/main.tsx +29 -29
  380. package/src/aldehyde/layout4/page.tsx +125 -125
  381. package/src/aldehyde/layout4/sider.tsx +201 -201
  382. package/src/aldehyde/layout5/css/header.less +35 -35
  383. package/src/aldehyde/layout5/css/sider.less +18 -18
  384. package/src/aldehyde/layout5/header.tsx +204 -204
  385. package/src/aldehyde/layout5/page.tsx +107 -107
  386. package/src/aldehyde/layout5/sider.tsx +235 -235
  387. package/src/aldehyde/list/calendar/index.less +20 -20
  388. package/src/aldehyde/list/calendar/index.tsx +157 -157
  389. package/src/aldehyde/list/card-list/card-list-item.tsx +111 -111
  390. package/src/aldehyde/list/card-list/index.less +154 -154
  391. package/src/aldehyde/list/card-list/index.tsx +83 -83
  392. package/src/aldehyde/list/gantt/index.less +8 -8
  393. package/src/aldehyde/list/gantt/index.tsx +508 -508
  394. package/src/aldehyde/list/vertical-list/index.less +208 -208
  395. package/src/aldehyde/list/vertical-list/index.tsx +55 -55
  396. package/src/aldehyde/list/vertical-list/item.tsx +136 -136
  397. package/src/aldehyde/locale/LocaleButton.tsx +48 -48
  398. package/src/aldehyde/locale/LocaleProvider.tsx +265 -265
  399. package/src/aldehyde/locale/langMp.ts +45 -45
  400. package/src/aldehyde/locale/translate.ts +80 -80
  401. package/src/aldehyde/locale/useLocale.ts +72 -72
  402. package/src/aldehyde/login/context-setter.tsx +130 -130
  403. package/src/aldehyde/login/index.css +19 -19
  404. package/src/aldehyde/login/login.tsx +255 -255
  405. package/src/aldehyde/login/router-login.tsx +107 -107
  406. package/src/aldehyde/login/vertify/index.css +143 -143
  407. package/src/aldehyde/login/vertify/index.tsx +360 -360
  408. package/src/aldehyde/login/vertify/tool.ts +13 -13
  409. package/src/aldehyde/login2/login-page.tsx +92 -92
  410. package/src/aldehyde/login2/login.tsx +226 -226
  411. package/src/aldehyde/login3/index.less +136 -136
  412. package/src/aldehyde/login3/login-page.tsx +71 -71
  413. package/src/aldehyde/lowcode-components/act-table/index.less +26 -26
  414. package/src/aldehyde/lowcode-components/act-table/index.tsx +139 -139
  415. package/src/aldehyde/lowcode-components/assets/lowcode-constant.tsx +12 -12
  416. package/src/aldehyde/lowcode-components/bar-chart/index.tsx +268 -268
  417. package/src/aldehyde/lowcode-components/base-button/index.less +7 -7
  418. package/src/aldehyde/lowcode-components/base-button/index.tsx +197 -197
  419. package/src/aldehyde/lowcode-components/base-image/index.tsx +220 -220
  420. package/src/aldehyde/lowcode-components/base-map/index.tsx +292 -292
  421. package/src/aldehyde/lowcode-components/base-radio/index.less +23 -23
  422. package/src/aldehyde/lowcode-components/base-radio/index.tsx +157 -157
  423. package/src/aldehyde/lowcode-components/base-table/index.tsx +268 -268
  424. package/src/aldehyde/lowcode-components/base-tabs/index.less +14 -14
  425. package/src/aldehyde/lowcode-components/base-tabs/index.tsx +183 -183
  426. package/src/aldehyde/lowcode-components/base-text/index.tsx +58 -58
  427. package/src/aldehyde/lowcode-components/border/border1/index.tsx +70 -70
  428. package/src/aldehyde/lowcode-components/border/border10/index.less +26 -26
  429. package/src/aldehyde/lowcode-components/border/border10/index.tsx +45 -45
  430. package/src/aldehyde/lowcode-components/border/border11/index.less +17 -17
  431. package/src/aldehyde/lowcode-components/border/border11/index.tsx +232 -232
  432. package/src/aldehyde/lowcode-components/border/border12/index.less +13 -13
  433. package/src/aldehyde/lowcode-components/border/border12/index.tsx +115 -115
  434. package/src/aldehyde/lowcode-components/border/border13/index.less +13 -13
  435. package/src/aldehyde/lowcode-components/border/border13/index.tsx +69 -69
  436. package/src/aldehyde/lowcode-components/border/border2/index.less +17 -17
  437. package/src/aldehyde/lowcode-components/border/border2/index.tsx +51 -51
  438. package/src/aldehyde/lowcode-components/border/border3/index.less +25 -25
  439. package/src/aldehyde/lowcode-components/border/border3/index.tsx +61 -61
  440. package/src/aldehyde/lowcode-components/border/border4/index.less +72 -72
  441. package/src/aldehyde/lowcode-components/border/border4/index.tsx +79 -79
  442. package/src/aldehyde/lowcode-components/border/border5/index.less +35 -35
  443. package/src/aldehyde/lowcode-components/border/border5/index.tsx +75 -75
  444. package/src/aldehyde/lowcode-components/border/border6/index.less +17 -17
  445. package/src/aldehyde/lowcode-components/border/border6/index.tsx +60 -60
  446. package/src/aldehyde/lowcode-components/border/border7/index.less +26 -26
  447. package/src/aldehyde/lowcode-components/border/border7/index.tsx +75 -75
  448. package/src/aldehyde/lowcode-components/border/border8/index.less +13 -13
  449. package/src/aldehyde/lowcode-components/border/border8/index.tsx +84 -84
  450. package/src/aldehyde/lowcode-components/border/border9/index.less +13 -13
  451. package/src/aldehyde/lowcode-components/border/border9/index.tsx +154 -154
  452. package/src/aldehyde/lowcode-components/capsule-bar-chart/index.tsx +290 -290
  453. package/src/aldehyde/lowcode-components/carousel/index.tsx +218 -218
  454. package/src/aldehyde/lowcode-components/circular-progress-chart/index.tsx +263 -263
  455. package/src/aldehyde/lowcode-components/column-3d-chart/index.tsx +438 -438
  456. package/src/aldehyde/lowcode-components/column-chart/index.tsx +293 -293
  457. package/src/aldehyde/lowcode-components/data-number/index.tsx +219 -219
  458. package/src/aldehyde/lowcode-components/data.d.ts +18 -18
  459. package/src/aldehyde/lowcode-components/decoration/decoration1/index.less +7 -7
  460. package/src/aldehyde/lowcode-components/decoration/decoration1/index.tsx +153 -153
  461. package/src/aldehyde/lowcode-components/decoration/decoration10/index.less +5 -5
  462. package/src/aldehyde/lowcode-components/decoration/decoration10/index.tsx +89 -89
  463. package/src/aldehyde/lowcode-components/decoration/decoration11/index.less +5 -5
  464. package/src/aldehyde/lowcode-components/decoration/decoration11/index.tsx +133 -133
  465. package/src/aldehyde/lowcode-components/decoration/decoration2/index.less +6 -6
  466. package/src/aldehyde/lowcode-components/decoration/decoration2/index.tsx +61 -61
  467. package/src/aldehyde/lowcode-components/decoration/decoration3/index.less +7 -7
  468. package/src/aldehyde/lowcode-components/decoration/decoration3/index.tsx +87 -87
  469. package/src/aldehyde/lowcode-components/decoration/decoration4/index.less +29 -29
  470. package/src/aldehyde/lowcode-components/decoration/decoration4/index.tsx +53 -53
  471. package/src/aldehyde/lowcode-components/decoration/decoration5/index.less +3 -3
  472. package/src/aldehyde/lowcode-components/decoration/decoration5/index.tsx +116 -116
  473. package/src/aldehyde/lowcode-components/decoration/decoration6/index.less +7 -7
  474. package/src/aldehyde/lowcode-components/decoration/decoration6/index.tsx +121 -121
  475. package/src/aldehyde/lowcode-components/decoration/decoration7/index.less +4 -4
  476. package/src/aldehyde/lowcode-components/decoration/decoration7/index.tsx +70 -70
  477. package/src/aldehyde/lowcode-components/decoration/decoration8/index.less +14 -14
  478. package/src/aldehyde/lowcode-components/decoration/decoration8/index.tsx +122 -122
  479. package/src/aldehyde/lowcode-components/decoration/decoration9/index.less +4 -4
  480. package/src/aldehyde/lowcode-components/decoration/decoration9/index.tsx +196 -196
  481. package/src/aldehyde/lowcode-components/effectScatter-map/index.tsx +315 -315
  482. package/src/aldehyde/lowcode-components/effectScatter-map-3d/index.tsx +419 -419
  483. package/src/aldehyde/lowcode-components/gauge-chart/index.tsx +254 -254
  484. package/src/aldehyde/lowcode-components/index.ts +130 -130
  485. package/src/aldehyde/lowcode-components/line-bar-chart/index.tsx +300 -300
  486. package/src/aldehyde/lowcode-components/line-chart/index.tsx +290 -290
  487. package/src/aldehyde/lowcode-components/liquid-chart/index.tsx +250 -250
  488. package/src/aldehyde/lowcode-components/lowcode-view/component/assets.ts +478 -478
  489. package/src/aldehyde/lowcode-components/lowcode-view/component/component-controller.ts +153 -153
  490. package/src/aldehyde/lowcode-components/lowcode-view/component/component-definition.ts +23 -23
  491. package/src/aldehyde/lowcode-components/lowcode-view/component/loading.tsx +20 -20
  492. package/src/aldehyde/lowcode-components/lowcode-view/component/util.ts +27 -27
  493. package/src/aldehyde/lowcode-components/lowcode-view/index.less +19 -19
  494. package/src/aldehyde/lowcode-components/lowcode-view/index.tsx +277 -277
  495. package/src/aldehyde/lowcode-components/lowcode-view/interface.ts +189 -189
  496. package/src/aldehyde/lowcode-components/pie-chart/index.tsx +349 -349
  497. package/src/aldehyde/lowcode-components/progress-chart/index.tsx +295 -295
  498. package/src/aldehyde/lowcode-components/radar-chart/index.tsx +322 -322
  499. package/src/aldehyde/lowcode-components/search-form/index.less +25 -25
  500. package/src/aldehyde/lowcode-components/search-form/index.tsx +121 -121
  501. package/src/aldehyde/lowcode-components/stroke-animation/index.tsx +219 -219
  502. package/src/aldehyde/module/block-menu-tree-drawer.tsx +118 -118
  503. package/src/aldehyde/module/criteria-page.tsx1 +175 -175
  504. package/src/aldehyde/module/draggable-modal.tsx +66 -66
  505. package/src/aldehyde/module/dtmpl-edit-card.tsx +437 -437
  506. package/src/aldehyde/module/dtmpl-edit-drawer.tsx +23 -23
  507. package/src/aldehyde/module/dtmpl-edit-modal.tsx +25 -25
  508. package/src/aldehyde/module/dtmpl-edit-page.tsx +558 -558
  509. package/src/aldehyde/module/dtmpl-editor.tsx +165 -165
  510. package/src/aldehyde/module/dtmpl-view-card.tsx +64 -64
  511. package/src/aldehyde/module/dtmpl-view-drawer.tsx +71 -71
  512. package/src/aldehyde/module/dtmpl-view-modal.tsx +56 -56
  513. package/src/aldehyde/module/embed-dtmpl-edit-page.tsx +137 -137
  514. package/src/aldehyde/module/index.less +4 -4
  515. package/src/aldehyde/module/ltmpl-drawer.tsx +60 -60
  516. package/src/aldehyde/module/ltmpl-modal.tsx +63 -63
  517. package/src/aldehyde/module/ltmpl-table.tsx +378 -378
  518. package/src/aldehyde/module/ttmpl-tree.tsx +47 -47
  519. package/src/aldehyde/routable/dtmpl-route.tsx +173 -173
  520. package/src/aldehyde/routable/import-route.tsx +35 -35
  521. package/src/aldehyde/routable/index.less +25 -25
  522. package/src/aldehyde/routable/ltmpl-route.tsx +539 -539
  523. package/src/aldehyde/routable/splitview-ltmpl-route.tsx +377 -377
  524. package/src/aldehyde/routable/ttmpl-route.tsx +93 -93
  525. package/src/aldehyde/routable/withroute.tsx +36 -36
  526. package/src/aldehyde/sso-Login/index.tsx +73 -73
  527. package/src/aldehyde/sso-Login/service/index.js +16 -16
  528. package/src/aldehyde/sso-Login/service/login.js +75 -75
  529. package/src/aldehyde/table/act-table.tsx +1831 -1831
  530. package/src/aldehyde/table/column/column-builder.tsx +864 -864
  531. package/src/aldehyde/table/column/column-selector.tsx +130 -130
  532. package/src/aldehyde/table/column/index.less +63 -63
  533. package/src/aldehyde/table/column/summary-builder.tsx +712 -712
  534. package/src/aldehyde/table/column/theme-color-getter.tsx +25 -25
  535. package/src/aldehyde/table/control-table-x-axis-wrapper.tsx +80 -80
  536. package/src/aldehyde/table/index.css +211 -211
  537. package/src/aldehyde/table/l2-act-table.tsx +91 -91
  538. package/src/aldehyde/table/modal-select-table.tsx +308 -308
  539. package/src/aldehyde/table/page-config-button.tsx +203 -203
  540. package/src/aldehyde/table/pagination.css +14 -14
  541. package/src/aldehyde/table/pagination.tsx +81 -81
  542. package/src/aldehyde/table/query-table.tsx +658 -658
  543. package/src/aldehyde/table/relation-table.tsx +1093 -1093
  544. package/src/aldehyde/table/report-table.tsx +125 -125
  545. package/src/aldehyde/table/resizable-table.tsx +97 -97
  546. package/src/aldehyde/table/select-table.tsx +559 -548
  547. package/src/aldehyde/table/selected-rows-card.tsx +78 -78
  548. package/src/aldehyde/table/stat/restat.tsx +122 -122
  549. package/src/aldehyde/table/table-util.tsx +25 -25
  550. package/src/aldehyde/tmpl/control-type-supportor.tsx +154 -154
  551. package/src/aldehyde/tmpl/hc-data-source.tsx +566 -566
  552. package/src/aldehyde/tmpl/hcservice-v3.tsx +1590 -1590
  553. package/src/aldehyde/tmpl/interface.tsx +919 -919
  554. package/src/aldehyde/tmpl/model-struc-v3.tsx +111 -111
  555. package/src/aldehyde/tmpl/superagent.js +146 -146
  556. package/src/aldehyde/tmpl/tmpl-config-analysis.tsx +585 -585
  557. package/src/aldehyde/tmpl/web-socket.ts +366 -366
  558. package/src/aldehyde/tree/act-tree.tsx +217 -217
  559. package/src/aldehyde/tree/block-menu-auth-tree.tsx +189 -189
  560. package/src/aldehyde/tree/index.css +22 -22
  561. package/src/aldehyde/tree/navigation-tree.tsx +39 -39
  562. package/src/aldehyde/tree/tmpl-tree.tsx +751 -751
  563. package/src/aldehyde/tree/tree-node.tsx +73 -73
  564. package/src/aldehyde/tree/tree-utils.tsx +317 -317
  565. package/src/aldehyde/units/EncryptUtils.js +37 -37
  566. package/src/aldehyde/units/image.d.ts +7 -7
  567. package/src/aldehyde/units/index.tsx +1367 -1367
  568. package/src/aldehyde/units/storage.js +2 -2
  569. package/src/aldehyde/utils/dsu.ts +27 -27
  570. package/src/aldehyde/welcome/HCWelcome.js +404 -404
  571. package/src/aldehyde/welcome/HCWelcome1.js +259 -259
  572. package/src/aldehyde/welcome/components/menu-card.less +96 -96
  573. package/src/aldehyde/welcome/components/menu-card.tsx +70 -70
  574. package/src/aldehyde/welcome/components/page-card.less +49 -49
  575. package/src/aldehyde/welcome/components/page-card.tsx +97 -97
  576. package/src/aldehyde/welcome/components/quick-entrance.less +120 -120
  577. package/src/aldehyde/welcome/components/quick-entrance.tsx +80 -80
  578. package/src/aldehyde/welcome/components/user-menus.less +192 -192
  579. package/src/aldehyde/welcome/components/user-menus.tsx +279 -279
  580. package/src/aldehyde/welcome/components/workbench.less +118 -118
  581. package/src/aldehyde/welcome/components/workbench.tsx +146 -146
  582. package/src/aldehyde/welcome/index.css +13 -13
@@ -1,604 +1,604 @@
1
- import React, { useEffect, useRef, useState, useMemo } from "react";
2
- import {
3
- Button,
4
- Card,
5
- Col,
6
- Form as AntdForm,
7
- Popconfirm,
8
- Row,
9
- Select,
10
- Space,
11
- theme
12
- } from "antd";
13
- import {
14
- CriteriaConfig, CustomButton,
15
- DtmplData,
16
- JumpConfig,
17
- LtmplConfig,
18
- SelectConfig,
19
- SelectedRow,
20
- CriteriaGroup
21
- } from "../tmpl/interface";
22
- import EntryControl from "../controls/entry-control";
23
- import Action from "../controls/action";
24
- import CquickButton from "../controls/cquery/cquick-button";
25
- import { useLocale } from "../locale/useLocale";
26
- import { LeftOutlined, RightOutlined, SearchOutlined } from "@ant-design/icons";
27
- import { ProgramConfig } from "../index";
28
- import SelectCodeExport from "../controls/file-export/select-code-export";
29
- import Icon from "../icon/aliIcon";
30
-
31
- const FormItem = AntdForm.Item;
32
- const { useToken } = theme;
33
-
34
- export interface CriteriaFormProps {
35
- serverKey?: string;
36
- ltmplConfig: LtmplConfig & SelectConfig;
37
- data: object;
38
- selectedRows: SelectedRow[];
39
- selectedDatas?: DtmplData[];
40
- doSearch?: (data: object) => void;
41
- doDelete?: () => void;
42
- doAction?: (string, selectedRows: SelectedRow[], object) => void;
43
- doCustomButton?: (customButton: CustomButton, datas: DtmplData[]) => void;
44
- doJump?: (jump: JumpConfig) => void;
45
- doCQuery?: (cqueryId: string) => void;
46
- doMultiRowEdit?: () => void;
47
- hiddenCriteriaIds?: string[];
48
- open?: boolean;
49
- loading: boolean;
50
- mainCode?: string;
51
- multiRowEditDisabled?: boolean; // 批量行编辑是否禁用
52
- tabCriteriaId?: string; // 列表页tab条件id
53
- }
54
-
55
- let serial_number = new Date().getTime();
56
-
57
- const CriteriaForm: React.FC<CriteriaFormProps> = (props) => {
58
- const { translate } = useLocale();
59
- const {
60
- ltmplConfig,
61
- doSearch,
62
- doAction,
63
- doCustomButton,
64
- doJump,
65
- doDelete,
66
- selectedRows,
67
- data,
68
- open,
69
- loading,
70
- selectedDatas,
71
- doCQuery,
72
- serverKey,
73
- doMultiRowEdit,
74
- multiRowEditDisabled,
75
- tabCriteriaId
76
- } = props;
77
- let [form] = AntdForm.useForm();
78
- const { token: { colorBorder, colorWarning } } = useToken();
79
-
80
- let {
81
- buttons,
82
- actions,
83
- customButtons,
84
- fileExports,
85
- jumps,
86
- cQuerys,
87
- drillingParams,
88
- columns,
89
- updrillButtonConfigs,
90
- innerParams,
91
- defShowCriteriaCount,
92
- criteriaGroups,
93
- commonCriteria,
94
- split2TabCriteria
95
- } = ltmplConfig;
96
- const initialValues = {};
97
- const searchSubmit = (data) => {
98
- let new_serial_number = new Date().getTime();
99
-
100
- if (doSearch && new_serial_number - serial_number > 3000) {
101
- serial_number = new_serial_number;
102
- doSearch({ ...data, serial_number });
103
- }
104
-
105
- doSearch && doSearch({ ...data, serial_number });
106
- };
107
- // let currentDrillButton=null;
108
- const [currentDrillButton, setCurrentDrillButton] = useState(null);
109
- const [drillLoadings, setDrillLoadings] = useState<string>(null);
110
- const [collapsible, setCollapsible] = useState<boolean>(false);
111
- const [expanded, setExpanded] = useState<boolean>(false);
112
- const [criteriaGExpanded, setCriteriaGExpanded] = useState<boolean>(false); // 扩展条件组是否展开
113
- const [criteriaGroupHeight, setCriteriaGroupHeight] = useState<number>(32); // 扩展条件组高度,用于展开/收起
114
- const criteriaGroupRef = useRef(null);
115
-
116
- const criteria = useMemo(() => {
117
- const temCriteria = commonCriteria?.length ? commonCriteria : ltmplConfig.criteria;
118
- if (tabCriteriaId) { // 处理标签页条件(存在标签页,多tab拆解条件时搜索栏加载其他tab条件)
119
- const otherTabCriteria = split2TabCriteria.filter(item => `c_${item.id}` !== tabCriteriaId);
120
- return [...temCriteria, ...otherTabCriteria];
121
- }
122
- return temCriteria;
123
- }, [ltmplConfig, tabCriteriaId]);
124
-
125
- let collapseCriteria: CriteriaConfig[] = defShowCriteriaCount <= 0 ? criteria : criteria.slice(0, defShowCriteriaCount);
126
-
127
- // 扩展条件组,监听扩展条件组高度变化,用于展开/收起
128
- const handleCriteriaGroupResize = () => {
129
- if (!criteriaGroupRef.current) {
130
- return;
131
- }
132
- let timeoutId;
133
- const resizeObserver = new ResizeObserver((entries) => {
134
- clearTimeout(timeoutId);
135
- timeoutId = setTimeout(() => {
136
- for (let entry of entries) {
137
- const newHeight = entry.target.scrollHeight;
138
- setCriteriaGroupHeight(newHeight);
139
- }
140
- }, 200);
141
- });
142
- resizeObserver.observe(criteriaGroupRef.current);
143
- return resizeObserver;
144
- }
145
-
146
- useEffect(() => {
147
- const resizeObserver = handleCriteriaGroupResize();
148
- return () => {
149
- resizeObserver && resizeObserver.disconnect();
150
- }
151
- }, []);
152
-
153
- useEffect(() => {
154
- form.resetFields();
155
- if (collapseCriteria && criteria && collapseCriteria.length < criteria.length) {
156
- setCollapsible(true);
157
- }
158
- });
159
-
160
- useEffect(() => { // 表单初始化设置
161
- if (Object.keys(initialValues)?.length) {
162
- onValuesChange(initialValues, false);
163
- }
164
- }, [initialValues]);
165
-
166
- let showQueryButton = buttons.includes("query") && doSearch;
167
-
168
- let showDeleteButton = buttons.includes("batchDelete") && doDelete;
169
- let deleteButtonDisabled = !(selectedRows && selectedRows.length > 0);
170
-
171
- const renderAction = () => {
172
- if (doAction && actions && actions.length > 0) {
173
- return actions.map((action) => {
174
- let disabled = true;
175
- if (selectedRows) {
176
- if (selectedRows.length > 0 && action.multible) {
177
- disabled = false;
178
- } else if (selectedRows.length == 1) {
179
- disabled = false;
180
- }
181
- }
182
-
183
- return (
184
- <Action
185
- serverKey={serverKey}
186
- hiddenType={"disabled"}
187
- key={action.id}
188
- disabled={disabled}
189
- data={selectedDatas}
190
- actionConfig={action}
191
- doAction={doAction}
192
- serial={1}
193
- buttonSize="middle"
194
- />
195
- );
196
- });
197
- }
198
- };
199
-
200
- const renderCustomButton = () => {
201
- if (doCustomButton && customButtons?.length > 0) {
202
- return customButtons.map((customButton) => {
203
- // defDisabled设置默认是否禁用
204
- let disabled = customButton.defDisabled !== false;
205
- if (customButton.unDatarequired) { // 判断按钮是否需要关联数据
206
- disabled = false;
207
- } else {
208
- if (selectedRows) {
209
- if (selectedRows.length > 0 && customButton.multible) {
210
- disabled = false;
211
- } else if (selectedRows.length == 1) {
212
- disabled = false;
213
- }
214
- }
215
- }
216
-
217
- return (
218
- <Button disabled={disabled}
219
- key={customButton.id}
220
- type={customButton.buttonType ? customButton.buttonType : 'dashed'}
221
- onClick={() => doCustomButton(customButton, selectedDatas)}
222
- >
223
- {customButton.icon ? <Icon type={customButton.icon} /> : null}
224
- {translate("${" + customButton.title + "}")}
225
- </Button>
226
- );
227
- });
228
- }
229
- };
230
-
231
- const renderFileExport = () => {
232
- if (doAction && fileExports && fileExports.length > 0) {
233
- return fileExports.map((fileExport) => {
234
- let disabled = true;
235
- if (selectedRows) {
236
- if (selectedRows.length > 0 && fileExport.multible) {
237
- disabled = false;
238
- } else if (selectedRows.length == 1) {
239
- disabled = false;
240
- }
241
- }
242
- let codes = [];
243
- if (selectedDatas) {
244
- selectedDatas.forEach(s => {
245
- codes.push(s.code);
246
- })
247
- }
248
-
249
- return (
250
- <SelectCodeExport
251
- serverKey={serverKey}
252
- hiddenType={"disabled"}
253
- codes={codes}
254
- key={fileExport.id}
255
- fileExport={fileExport}
256
- disabled={disabled}
257
- ></SelectCodeExport>
258
- );
259
- });
260
- }
261
- };
262
-
263
- const renderUpdrill = () => {
264
- if (updrillButtonConfigs && updrillButtonConfigs.length > 0) {
265
- let i = 0;
266
- return updrillButtonConfigs.map((updrillButtonConfig) => {
267
- i++;
268
- return (
269
- <>
270
- {i == 1 ? (
271
- <AntdForm.Item
272
- hidden={true}
273
- name={"updrillButtonId"}
274
- ></AntdForm.Item>
275
- ) : null}
276
- <Button
277
- loading={drillLoadings == updrillButtonConfig.id ? true : false}
278
- disabled={
279
- drillLoadings && drillLoadings != updrillButtonConfig.id
280
- ? true
281
- : false
282
- }
283
- icon={
284
- currentDrillButton == updrillButtonConfig.id ? (
285
- <SearchOutlined />
286
- ) : null
287
- }
288
- type={updrillButtonConfig.buttonType}
289
- shape={updrillButtonConfig.buttonShape}
290
- htmlType="submit"
291
- onClick={() => {
292
- form.setFieldValue("updrillButtonId", updrillButtonConfig.id);
293
- form.setFieldValue(
294
- "drillingColIds",
295
- updrillButtonConfig.dimensions
296
- );
297
- form.submit();
298
- }}
299
- >
300
- {translate("${" + updrillButtonConfig.title + "}")}
301
- </Button>
302
- </>
303
- );
304
- });
305
- }
306
- };
307
-
308
- const renderJump = () => {
309
- if (doJump && jumps && jumps.length > 0) {
310
- return jumps.filter(Boolean).map((jump) => {
311
- let disabled = true;
312
- if (selectedRows && selectedRows.length == 1) {
313
- disabled = false;
314
- }
315
- return (
316
- <Button
317
- key={jump.id}
318
- onClick={() => doJump(jump)}
319
- disabled={disabled}
320
- >
321
- {jump.icon ? <Icon type={jump.icon} /> : null}
322
- {jump.title}
323
- </Button>
324
- );
325
- });
326
- }
327
- };
328
-
329
- const renderCQuery = () => {
330
- const { serverKey } = props;
331
- if (doCQuery && cQuerys && cQuerys.length > 0) {
332
- return cQuerys.map((cquery) => {
333
- let disabled = true;
334
- if (selectedRows && selectedRows.length == 1) {
335
- disabled = false;
336
- }
337
- return (
338
- <CquickButton
339
- serverKey={serverKey}
340
- key={cquery.id}
341
- disabled={disabled}
342
- cQueryConfig={cquery}
343
- mainCode={!disabled ? selectedRows[0].code : undefined}
344
- />
345
- );
346
- });
347
- }
348
- };
349
-
350
- const hasDimension = () => {
351
- columns.forEach((item) => {
352
- if (item.statColType == "dimension") {
353
- return true;
354
- }
355
- });
356
- return false;
357
- };
358
-
359
- const renderDrillDimension = () => {
360
- let drillingColIdsName = "drillingColIds";
361
- let dimensionColIds = [];
362
- const options = [];
363
- columns.forEach((item) => {
364
- if (item.statColType == "dimension") {
365
- options.push({ label: item.title, value: item.id });
366
- dimensionColIds.push(item.id);
367
- }
368
- });
369
- options.push({ label: translate("${无}"), value: "5" });
370
-
371
- initialValues[drillingColIdsName] = data
372
- ? data[drillingColIdsName]
373
- ? data[drillingColIdsName]
374
- : dimensionColIds
375
- : dimensionColIds;
376
-
377
- let fieldValue = data ? data[drillingColIdsName] : dimensionColIds;
378
- let antdControlProps = {
379
- placeholder: translate("${请选择}${维度}"),
380
- disabled: false,
381
- value: fieldValue,
382
- style: { minWidth: 220, width: "100%" },
383
- };
384
- return ltmplConfig.showDim ? (
385
- <FormItem
386
- label={translate("${维度}")}
387
- name={drillingColIdsName}
388
- key={drillingColIdsName}
389
- rules={[
390
- {
391
- required: true,
392
- message: translate("${请选择维度,上钻到顶层请只选[无]}"),
393
- },
394
- ]}
395
- >
396
- <Select
397
- mode="multiple"
398
- {...antdControlProps}
399
- notFoundContent={translate("${暂无选项}")}
400
- allowClear={true}
401
- showSearch
402
- showArrow={true}
403
- options={options}
404
- ></Select>
405
- </FormItem>
406
- ) : (
407
- <AntdForm.Item hidden={true} name={"drillingColIds"}></AntdForm.Item>
408
- );
409
- };
410
-
411
- const onValuesChange = (changedValues, clearCurrent = true) => {
412
- let appCtmplConfig = ProgramConfig.getAppCtmplConfig(
413
- ltmplConfig,
414
- data,
415
- props
416
- )
417
- if (appCtmplConfig.onCriteriaValuesChange) {
418
- //自定义值修改逻辑
419
- appCtmplConfig.onCriteriaValuesChange(
420
- changedValues,
421
- data,
422
- form,
423
- clearCurrent
424
- );
425
- }
426
- // if (onValuesChange) {
427
- // onValuesChange();
428
- // }
429
- };
430
-
431
- // lagicalOpt扩展条件组条件
432
- const renderCriteria = (criteria: CriteriaConfig[], lagicalOpt?: string) => {
433
- if (!criteria) {
434
- return;
435
- }
436
- const { hiddenCriteriaIds, serverKey } = props;
437
- criteria.forEach((item) => {
438
- let formItemName = "c_" + item.id;
439
- let fieldValue = data ? data[formItemName] : undefined;
440
- initialValues[formItemName] = fieldValue;
441
- });
442
-
443
- if (doSearch) {
444
- return criteria.map((item, index) => {
445
- let formItemName = "c_" + item.id;
446
- let fieldValue = data ? data[formItemName] : undefined;
447
- if (item?.extControlType == "ltree-entity-select" || item?.extControlType == "ltree-entity-select-value") {
448
- // return <FormItem>
449
- // <Input type={"hidden"} name={formItemName} value={fieldValue} />
450
- // </FormItem>
451
- // return null;
452
- } else if (!hiddenCriteriaIds.includes(item.id)) {
453
- const formItem = (
454
- <FormItem
455
- style={lagicalOpt ? { margin: 0 } : {}}
456
- label={translate("${" + item.title + "}")}
457
- name={formItemName}
458
- key={item.id}
459
- tooltip={item.tip}
460
- rules={
461
- item.required
462
- ? [
463
- {
464
- required: true,
465
- message: translate("${请选择}" + "${" + item.title + "}"),
466
- },
467
- ]
468
- : undefined
469
- }
470
- >
471
- <EntryControl
472
- serverKey={serverKey}
473
- mainCode={props.mainCode}
474
- value={fieldValue}
475
- fieldConfig={item}
476
- />
477
- </FormItem>
478
- );
479
- return lagicalOpt ? <>
480
- {formItem}
481
- {criteria.length !== index + 1 ? <FormItem style={{ margin: 0, color: colorWarning }}>{translate("${" + lagicalOpt + "}")}</FormItem> : ""}
482
- </> : formItem;
483
- }
484
- });
485
- }
486
- };
487
-
488
- //扩展条件组渲染
489
- const renderCriteriaGroup = (criteriaGroup: CriteriaGroup[]) => {
490
- if (!criteriaGroup) {
491
- return;
492
- }
493
- const isExpanded = criteriaGroupHeight > 32;
494
- return criteriaGroup.map(r =>
495
- r.criteria?.length > 1 ?
496
- < div style={{ borderRadius: "6px", border: `1px dashed ${colorBorder}`, padding: "2px 4px", marginRight: "16px", position: "relative", display: "flex", justifyContent: "space-between", alignItems: "flex-end" }}>
497
- <Space style={{ height: criteriaGExpanded ? "auto" : "32px", overflow: "hidden", }} ref={criteriaGroupRef} size={"small"} wrap>{renderCriteria(r.criteria, r.lagicalOpt === "OR" ? "或" : "且")}</Space>
498
- {isExpanded ?
499
- <Button icon={criteriaGExpanded ? <LeftOutlined /> : <RightOutlined />} type={"link"} onClick={() => setCriteriaGExpanded(!criteriaGExpanded)}>
500
- {translate(criteriaGExpanded ? "${收起}" : "${展开}")}
501
- </Button>
502
- : ""}
503
- </div > :
504
- <Space size={"small"} wrap>{renderCriteria(r.criteria)}</Space>
505
- );
506
- };
507
-
508
- return (
509
- <AntdForm
510
- form={form}
511
- name="control-hooks"
512
- initialValues={initialValues}
513
- layout="inline"
514
- onFinish={searchSubmit}
515
- onValuesChange={(val) => onValuesChange(val)}
516
- style={{ width: "100%" }}
517
- >
518
-
519
- {/*// <Collapse style={{ width: "100%" }} defaultActiveKey={["1"]}>*/}
520
- {/*// <Panel header={""} key="1">*/}
521
- <Card size={'small'} style={{ display: open ? "block" : "none", width: "100%" }}>
522
- <Row>
523
- <Col>
524
- <Space size={"small"} wrap>
525
- {showQueryButton ||
526
- (updrillButtonConfigs && updrillButtonConfigs.length > 0)
527
- ? renderCriteria(innerParams)
528
- : null}
529
- {buttons.includes("drilling") &&
530
- open &&
531
- (drillingParams.length > 0 || hasDimension() || ltmplConfig.showDim) ?
532
- <>{renderCriteria(drillingParams)}
533
- {renderDrillDimension()}</>
534
- : null}
535
- {showQueryButton || (updrillButtonConfigs && updrillButtonConfigs.length > 0)
536
- ? renderCriteria(expanded ? criteria : collapseCriteria)
537
- : null}
538
-
539
- {renderCriteriaGroup(criteriaGroups)}
540
- <Space className="btns">
541
- {collapsible ? (
542
- expanded ? <Button icon={<LeftOutlined />} type={"link"} onClick={() => setExpanded(false)}>
543
- {translate("${收起}")}
544
- </Button> :
545
- <Button icon={<RightOutlined />} type={"link"} onClick={() => setExpanded(true)}>
546
- {translate("${更多条件}")}
547
- </Button>
548
- ) : (
549
- ""
550
- )}
551
- {showQueryButton ? (
552
- <Button type="primary" htmlType="submit" loading={loading}>
553
- {translate("${查询}")}
554
- </Button>
555
- ) : (
556
- ""
557
- )}
558
- {showDeleteButton ? (
559
- <Popconfirm
560
- placement="rightBottom"
561
- title={translate("${确定要[删除]选中数据吗}?")}
562
- onConfirm={() => {
563
- doDelete();
564
- }}
565
- okText={translate("${确定}")}
566
- cancelText={translate("${取消}")}
567
- okType={"danger"}
568
- >
569
- <Button danger disabled={deleteButtonDisabled}>
570
- {translate("${删除选中}")}
571
- </Button>
572
- </Popconfirm>
573
- ) : (
574
- ""
575
- )}
576
- {/* 特别注意 目前 查询条件和 头部的 按钮 前置条件 均未支持,需要设置前置条件的情况请使用 行按钮*/}
577
- {renderCustomButton()}
578
- {renderAction()}
579
- {renderJump()}
580
- {renderCQuery()}
581
- {renderUpdrill()}
582
- {renderFileExport()}
583
- {buttons.includes("multiRowEdit") && doMultiRowEdit ?
584
- <Button disabled={multiRowEditDisabled} onClick={doMultiRowEdit}>{translate("${保存}")}</Button> : ""}
585
- </Space>
586
- </Space>
587
- </Col>
588
- </Row>
589
- </Card>
590
- {/*<Card size={'small'}*/}
591
- {/* className="hoverable"*/}
592
- {/* style={{ display: open ? "block" : "none", width: "100%" }}*/}
593
- {/* headStyle={{ background: "#f2f4f5" }}*/}
594
- {/*>*/}
595
- {/* */}
596
- {/*</Card>*/}
597
- </AntdForm>
598
- );
599
- };
600
- CriteriaForm["defaultProps"] = {
601
- hiddenCriteriaIds: [],
602
- open: true,
603
- };
604
- export default CriteriaForm;
1
+ import React, { useEffect, useRef, useState, useMemo } from "react";
2
+ import {
3
+ Button,
4
+ Card,
5
+ Col,
6
+ Form as AntdForm,
7
+ Popconfirm,
8
+ Row,
9
+ Select,
10
+ Space,
11
+ theme
12
+ } from "antd";
13
+ import {
14
+ CriteriaConfig, CustomButton,
15
+ DtmplData,
16
+ JumpConfig,
17
+ LtmplConfig,
18
+ SelectConfig,
19
+ SelectedRow,
20
+ CriteriaGroup
21
+ } from "../tmpl/interface";
22
+ import EntryControl from "../controls/entry-control";
23
+ import Action from "../controls/action";
24
+ import CquickButton from "../controls/cquery/cquick-button";
25
+ import { useLocale } from "../locale/useLocale";
26
+ import { LeftOutlined, RightOutlined, SearchOutlined } from "@ant-design/icons";
27
+ import { ProgramConfig } from "../index";
28
+ import SelectCodeExport from "../controls/file-export/select-code-export";
29
+ import Icon from "../icon/aliIcon";
30
+
31
+ const FormItem = AntdForm.Item;
32
+ const { useToken } = theme;
33
+
34
+ export interface CriteriaFormProps {
35
+ serverKey?: string;
36
+ ltmplConfig: LtmplConfig & SelectConfig;
37
+ data: object;
38
+ selectedRows: SelectedRow[];
39
+ selectedDatas?: DtmplData[];
40
+ doSearch?: (data: object) => void;
41
+ doDelete?: () => void;
42
+ doAction?: (string, selectedRows: SelectedRow[], object) => void;
43
+ doCustomButton?: (customButton: CustomButton, datas: DtmplData[]) => void;
44
+ doJump?: (jump: JumpConfig) => void;
45
+ doCQuery?: (cqueryId: string) => void;
46
+ doMultiRowEdit?: () => void;
47
+ hiddenCriteriaIds?: string[];
48
+ open?: boolean;
49
+ loading: boolean;
50
+ mainCode?: string;
51
+ multiRowEditDisabled?: boolean; // 批量行编辑是否禁用
52
+ tabCriteriaId?: string; // 列表页tab条件id
53
+ }
54
+
55
+ let serial_number = new Date().getTime();
56
+
57
+ const CriteriaForm: React.FC<CriteriaFormProps> = (props) => {
58
+ const { translate } = useLocale();
59
+ const {
60
+ ltmplConfig,
61
+ doSearch,
62
+ doAction,
63
+ doCustomButton,
64
+ doJump,
65
+ doDelete,
66
+ selectedRows,
67
+ data,
68
+ open,
69
+ loading,
70
+ selectedDatas,
71
+ doCQuery,
72
+ serverKey,
73
+ doMultiRowEdit,
74
+ multiRowEditDisabled,
75
+ tabCriteriaId
76
+ } = props;
77
+ let [form] = AntdForm.useForm();
78
+ const { token: { colorBorder, colorWarning } } = useToken();
79
+
80
+ let {
81
+ buttons,
82
+ actions,
83
+ customButtons,
84
+ fileExports,
85
+ jumps,
86
+ cQuerys,
87
+ drillingParams,
88
+ columns,
89
+ updrillButtonConfigs,
90
+ innerParams,
91
+ defShowCriteriaCount,
92
+ criteriaGroups,
93
+ commonCriteria,
94
+ split2TabCriteria
95
+ } = ltmplConfig;
96
+ const initialValues = {};
97
+ const searchSubmit = (data) => {
98
+ let new_serial_number = new Date().getTime();
99
+
100
+ if (doSearch && new_serial_number - serial_number > 3000) {
101
+ serial_number = new_serial_number;
102
+ doSearch({ ...data, serial_number });
103
+ }
104
+
105
+ doSearch && doSearch({ ...data, serial_number });
106
+ };
107
+ // let currentDrillButton=null;
108
+ const [currentDrillButton, setCurrentDrillButton] = useState(null);
109
+ const [drillLoadings, setDrillLoadings] = useState<string>(null);
110
+ const [collapsible, setCollapsible] = useState<boolean>(false);
111
+ const [expanded, setExpanded] = useState<boolean>(false);
112
+ const [criteriaGExpanded, setCriteriaGExpanded] = useState<boolean>(false); // 扩展条件组是否展开
113
+ const [criteriaGroupHeight, setCriteriaGroupHeight] = useState<number>(32); // 扩展条件组高度,用于展开/收起
114
+ const criteriaGroupRef = useRef(null);
115
+
116
+ const criteria = useMemo(() => {
117
+ const temCriteria = commonCriteria?.length ? commonCriteria : ltmplConfig.criteria;
118
+ if (tabCriteriaId) { // 处理标签页条件(存在标签页,多tab拆解条件时搜索栏加载其他tab条件)
119
+ const otherTabCriteria = split2TabCriteria.filter(item => `c_${item.id}` !== tabCriteriaId);
120
+ return [...temCriteria, ...otherTabCriteria];
121
+ }
122
+ return temCriteria;
123
+ }, [ltmplConfig, tabCriteriaId]);
124
+
125
+ let collapseCriteria: CriteriaConfig[] = defShowCriteriaCount <= 0 ? criteria : criteria.slice(0, defShowCriteriaCount);
126
+
127
+ // 扩展条件组,监听扩展条件组高度变化,用于展开/收起
128
+ const handleCriteriaGroupResize = () => {
129
+ if (!criteriaGroupRef.current) {
130
+ return;
131
+ }
132
+ let timeoutId;
133
+ const resizeObserver = new ResizeObserver((entries) => {
134
+ clearTimeout(timeoutId);
135
+ timeoutId = setTimeout(() => {
136
+ for (let entry of entries) {
137
+ const newHeight = entry.target.scrollHeight;
138
+ setCriteriaGroupHeight(newHeight);
139
+ }
140
+ }, 200);
141
+ });
142
+ resizeObserver.observe(criteriaGroupRef.current);
143
+ return resizeObserver;
144
+ }
145
+
146
+ useEffect(() => {
147
+ const resizeObserver = handleCriteriaGroupResize();
148
+ return () => {
149
+ resizeObserver && resizeObserver.disconnect();
150
+ }
151
+ }, []);
152
+
153
+ useEffect(() => {
154
+ form.resetFields();
155
+ if (collapseCriteria && criteria && collapseCriteria.length < criteria.length) {
156
+ setCollapsible(true);
157
+ }
158
+ });
159
+
160
+ useEffect(() => { // 表单初始化设置
161
+ if (Object.keys(initialValues)?.length) {
162
+ onValuesChange(initialValues, false);
163
+ }
164
+ }, [initialValues]);
165
+
166
+ let showQueryButton = buttons.includes("query") && doSearch;
167
+
168
+ let showDeleteButton = buttons.includes("batchDelete") && doDelete;
169
+ let deleteButtonDisabled = !(selectedRows && selectedRows.length > 0);
170
+
171
+ const renderAction = () => {
172
+ if (doAction && actions && actions.length > 0) {
173
+ return actions.map((action) => {
174
+ let disabled = true;
175
+ if (selectedRows) {
176
+ if (selectedRows.length > 0 && action.multible) {
177
+ disabled = false;
178
+ } else if (selectedRows.length == 1) {
179
+ disabled = false;
180
+ }
181
+ }
182
+
183
+ return (
184
+ <Action
185
+ serverKey={serverKey}
186
+ hiddenType={"disabled"}
187
+ key={action.id}
188
+ disabled={disabled}
189
+ data={selectedDatas}
190
+ actionConfig={action}
191
+ doAction={doAction}
192
+ serial={1}
193
+ buttonSize="middle"
194
+ />
195
+ );
196
+ });
197
+ }
198
+ };
199
+
200
+ const renderCustomButton = () => {
201
+ if (doCustomButton && customButtons?.length > 0) {
202
+ return customButtons.map((customButton) => {
203
+ // defDisabled设置默认是否禁用
204
+ let disabled = customButton.defDisabled !== false;
205
+ if (customButton.unDatarequired) { // 判断按钮是否需要关联数据
206
+ disabled = false;
207
+ } else {
208
+ if (selectedRows) {
209
+ if (selectedRows.length > 0 && customButton.multible) {
210
+ disabled = false;
211
+ } else if (selectedRows.length == 1) {
212
+ disabled = false;
213
+ }
214
+ }
215
+ }
216
+
217
+ return (
218
+ <Button disabled={disabled}
219
+ key={customButton.id}
220
+ type={customButton.buttonType ? customButton.buttonType : 'dashed'}
221
+ onClick={() => doCustomButton(customButton, selectedDatas)}
222
+ >
223
+ {customButton.icon ? <Icon type={customButton.icon} /> : null}
224
+ {translate("${" + customButton.title + "}")}
225
+ </Button>
226
+ );
227
+ });
228
+ }
229
+ };
230
+
231
+ const renderFileExport = () => {
232
+ if (doAction && fileExports && fileExports.length > 0) {
233
+ return fileExports.map((fileExport) => {
234
+ let disabled = true;
235
+ if (selectedRows) {
236
+ if (selectedRows.length > 0 && fileExport.multible) {
237
+ disabled = false;
238
+ } else if (selectedRows.length == 1) {
239
+ disabled = false;
240
+ }
241
+ }
242
+ let codes = [];
243
+ if (selectedDatas) {
244
+ selectedDatas.forEach(s => {
245
+ codes.push(s.code);
246
+ })
247
+ }
248
+
249
+ return (
250
+ <SelectCodeExport
251
+ serverKey={serverKey}
252
+ hiddenType={"disabled"}
253
+ codes={codes}
254
+ key={fileExport.id}
255
+ fileExport={fileExport}
256
+ disabled={disabled}
257
+ ></SelectCodeExport>
258
+ );
259
+ });
260
+ }
261
+ };
262
+
263
+ const renderUpdrill = () => {
264
+ if (updrillButtonConfigs && updrillButtonConfigs.length > 0) {
265
+ let i = 0;
266
+ return updrillButtonConfigs.map((updrillButtonConfig) => {
267
+ i++;
268
+ return (
269
+ <>
270
+ {i == 1 ? (
271
+ <AntdForm.Item
272
+ hidden={true}
273
+ name={"updrillButtonId"}
274
+ ></AntdForm.Item>
275
+ ) : null}
276
+ <Button
277
+ loading={drillLoadings == updrillButtonConfig.id ? true : false}
278
+ disabled={
279
+ drillLoadings && drillLoadings != updrillButtonConfig.id
280
+ ? true
281
+ : false
282
+ }
283
+ icon={
284
+ currentDrillButton == updrillButtonConfig.id ? (
285
+ <SearchOutlined />
286
+ ) : null
287
+ }
288
+ type={updrillButtonConfig.buttonType}
289
+ shape={updrillButtonConfig.buttonShape}
290
+ htmlType="submit"
291
+ onClick={() => {
292
+ form.setFieldValue("updrillButtonId", updrillButtonConfig.id);
293
+ form.setFieldValue(
294
+ "drillingColIds",
295
+ updrillButtonConfig.dimensions
296
+ );
297
+ form.submit();
298
+ }}
299
+ >
300
+ {translate("${" + updrillButtonConfig.title + "}")}
301
+ </Button>
302
+ </>
303
+ );
304
+ });
305
+ }
306
+ };
307
+
308
+ const renderJump = () => {
309
+ if (doJump && jumps && jumps.length > 0) {
310
+ return jumps.filter(Boolean).map((jump) => {
311
+ let disabled = true;
312
+ if (selectedRows && selectedRows.length == 1) {
313
+ disabled = false;
314
+ }
315
+ return (
316
+ <Button
317
+ key={jump.id}
318
+ onClick={() => doJump(jump)}
319
+ disabled={disabled}
320
+ >
321
+ {jump.icon ? <Icon type={jump.icon} /> : null}
322
+ {jump.title}
323
+ </Button>
324
+ );
325
+ });
326
+ }
327
+ };
328
+
329
+ const renderCQuery = () => {
330
+ const { serverKey } = props;
331
+ if (doCQuery && cQuerys && cQuerys.length > 0) {
332
+ return cQuerys.map((cquery) => {
333
+ let disabled = true;
334
+ if (selectedRows && selectedRows.length == 1) {
335
+ disabled = false;
336
+ }
337
+ return (
338
+ <CquickButton
339
+ serverKey={serverKey}
340
+ key={cquery.id}
341
+ disabled={disabled}
342
+ cQueryConfig={cquery}
343
+ mainCode={!disabled ? selectedRows[0].code : undefined}
344
+ />
345
+ );
346
+ });
347
+ }
348
+ };
349
+
350
+ const hasDimension = () => {
351
+ columns.forEach((item) => {
352
+ if (item.statColType == "dimension") {
353
+ return true;
354
+ }
355
+ });
356
+ return false;
357
+ };
358
+
359
+ const renderDrillDimension = () => {
360
+ let drillingColIdsName = "drillingColIds";
361
+ let dimensionColIds = [];
362
+ const options = [];
363
+ columns.forEach((item) => {
364
+ if (item.statColType == "dimension") {
365
+ options.push({ label: item.title, value: item.id });
366
+ dimensionColIds.push(item.id);
367
+ }
368
+ });
369
+ options.push({ label: translate("${无}"), value: "5" });
370
+
371
+ initialValues[drillingColIdsName] = data
372
+ ? data[drillingColIdsName]
373
+ ? data[drillingColIdsName]
374
+ : dimensionColIds
375
+ : dimensionColIds;
376
+
377
+ let fieldValue = data ? data[drillingColIdsName] : dimensionColIds;
378
+ let antdControlProps = {
379
+ placeholder: translate("${请选择}${维度}"),
380
+ disabled: false,
381
+ value: fieldValue,
382
+ style: { minWidth: 220, width: "100%" },
383
+ };
384
+ return ltmplConfig.showDim ? (
385
+ <FormItem
386
+ label={translate("${维度}")}
387
+ name={drillingColIdsName}
388
+ key={drillingColIdsName}
389
+ rules={[
390
+ {
391
+ required: true,
392
+ message: translate("${请选择维度,上钻到顶层请只选[无]}"),
393
+ },
394
+ ]}
395
+ >
396
+ <Select
397
+ mode="multiple"
398
+ {...antdControlProps}
399
+ notFoundContent={translate("${暂无选项}")}
400
+ allowClear={true}
401
+ showSearch
402
+ showArrow={true}
403
+ options={options}
404
+ ></Select>
405
+ </FormItem>
406
+ ) : (
407
+ <AntdForm.Item hidden={true} name={"drillingColIds"}></AntdForm.Item>
408
+ );
409
+ };
410
+
411
+ const onValuesChange = (changedValues, clearCurrent = true) => {
412
+ let appCtmplConfig = ProgramConfig.getAppCtmplConfig(
413
+ ltmplConfig,
414
+ data,
415
+ props
416
+ )
417
+ if (appCtmplConfig.onCriteriaValuesChange) {
418
+ //自定义值修改逻辑
419
+ appCtmplConfig.onCriteriaValuesChange(
420
+ changedValues,
421
+ data,
422
+ form,
423
+ clearCurrent
424
+ );
425
+ }
426
+ // if (onValuesChange) {
427
+ // onValuesChange();
428
+ // }
429
+ };
430
+
431
+ // lagicalOpt扩展条件组条件
432
+ const renderCriteria = (criteria: CriteriaConfig[], lagicalOpt?: string) => {
433
+ if (!criteria) {
434
+ return;
435
+ }
436
+ const { hiddenCriteriaIds, serverKey } = props;
437
+ criteria.forEach((item) => {
438
+ let formItemName = "c_" + item.id;
439
+ let fieldValue = data ? data[formItemName] : undefined;
440
+ initialValues[formItemName] = fieldValue;
441
+ });
442
+
443
+ if (doSearch) {
444
+ return criteria.map((item, index) => {
445
+ let formItemName = "c_" + item.id;
446
+ let fieldValue = data ? data[formItemName] : undefined;
447
+ if (item?.extControlType == "ltree-entity-select" || item?.extControlType == "ltree-entity-select-value") {
448
+ // return <FormItem>
449
+ // <Input type={"hidden"} name={formItemName} value={fieldValue} />
450
+ // </FormItem>
451
+ // return null;
452
+ } else if (!hiddenCriteriaIds.includes(item.id)) {
453
+ const formItem = (
454
+ <FormItem
455
+ style={lagicalOpt ? { margin: 0 } : {}}
456
+ label={translate("${" + item.title + "}")}
457
+ name={formItemName}
458
+ key={item.id}
459
+ tooltip={item.tip}
460
+ rules={
461
+ item.required
462
+ ? [
463
+ {
464
+ required: true,
465
+ message: translate("${请选择}" + "${" + item.title + "}"),
466
+ },
467
+ ]
468
+ : undefined
469
+ }
470
+ >
471
+ <EntryControl
472
+ serverKey={serverKey}
473
+ mainCode={props.mainCode}
474
+ value={fieldValue}
475
+ fieldConfig={item}
476
+ />
477
+ </FormItem>
478
+ );
479
+ return lagicalOpt ? <>
480
+ {formItem}
481
+ {criteria.length !== index + 1 ? <FormItem style={{ margin: 0, color: colorWarning }}>{translate("${" + lagicalOpt + "}")}</FormItem> : ""}
482
+ </> : formItem;
483
+ }
484
+ });
485
+ }
486
+ };
487
+
488
+ //扩展条件组渲染
489
+ const renderCriteriaGroup = (criteriaGroup: CriteriaGroup[]) => {
490
+ if (!criteriaGroup) {
491
+ return;
492
+ }
493
+ const isExpanded = criteriaGroupHeight > 32;
494
+ return criteriaGroup.map(r =>
495
+ r.criteria?.length > 1 ?
496
+ < div style={{ borderRadius: "6px", border: `1px dashed ${colorBorder}`, padding: "2px 4px", marginRight: "16px", position: "relative", display: "flex", justifyContent: "space-between", alignItems: "flex-end" }}>
497
+ <Space style={{ height: criteriaGExpanded ? "auto" : "32px", overflow: "hidden", }} ref={criteriaGroupRef} size={"small"} wrap>{renderCriteria(r.criteria, r.lagicalOpt === "OR" ? "或" : "且")}</Space>
498
+ {isExpanded ?
499
+ <Button icon={criteriaGExpanded ? <LeftOutlined /> : <RightOutlined />} type={"link"} onClick={() => setCriteriaGExpanded(!criteriaGExpanded)}>
500
+ {translate(criteriaGExpanded ? "${收起}" : "${展开}")}
501
+ </Button>
502
+ : ""}
503
+ </div > :
504
+ <Space size={"small"} wrap>{renderCriteria(r.criteria)}</Space>
505
+ );
506
+ };
507
+
508
+ return (
509
+ <AntdForm
510
+ form={form}
511
+ name="control-hooks"
512
+ initialValues={initialValues}
513
+ layout="inline"
514
+ onFinish={searchSubmit}
515
+ onValuesChange={(val) => onValuesChange(val)}
516
+ style={{ width: "100%" }}
517
+ >
518
+
519
+ {/*// <Collapse style={{ width: "100%" }} defaultActiveKey={["1"]}>*/}
520
+ {/*// <Panel header={""} key="1">*/}
521
+ <Card size={'small'} style={{ display: open ? "block" : "none", width: "100%" }}>
522
+ <Row>
523
+ <Col>
524
+ <Space size={"small"} wrap>
525
+ {showQueryButton ||
526
+ (updrillButtonConfigs && updrillButtonConfigs.length > 0)
527
+ ? renderCriteria(innerParams)
528
+ : null}
529
+ {buttons.includes("drilling") &&
530
+ open &&
531
+ (drillingParams.length > 0 || hasDimension() || ltmplConfig.showDim) ?
532
+ <>{renderCriteria(drillingParams)}
533
+ {renderDrillDimension()}</>
534
+ : null}
535
+ {showQueryButton || (updrillButtonConfigs && updrillButtonConfigs.length > 0)
536
+ ? renderCriteria(expanded ? criteria : collapseCriteria)
537
+ : null}
538
+
539
+ {renderCriteriaGroup(criteriaGroups)}
540
+ <Space className="btns">
541
+ {collapsible ? (
542
+ expanded ? <Button icon={<LeftOutlined />} type={"link"} onClick={() => setExpanded(false)}>
543
+ {translate("${收起}")}
544
+ </Button> :
545
+ <Button icon={<RightOutlined />} type={"link"} onClick={() => setExpanded(true)}>
546
+ {translate("${更多条件}")}
547
+ </Button>
548
+ ) : (
549
+ ""
550
+ )}
551
+ {showQueryButton ? (
552
+ <Button type="primary" htmlType="submit" loading={loading}>
553
+ {translate("${查询}")}
554
+ </Button>
555
+ ) : (
556
+ ""
557
+ )}
558
+ {showDeleteButton ? (
559
+ <Popconfirm
560
+ placement="rightBottom"
561
+ title={translate("${确定要[删除]选中数据吗}?")}
562
+ onConfirm={() => {
563
+ doDelete();
564
+ }}
565
+ okText={translate("${确定}")}
566
+ cancelText={translate("${取消}")}
567
+ okType={"danger"}
568
+ >
569
+ <Button danger disabled={deleteButtonDisabled}>
570
+ {translate("${删除选中}")}
571
+ </Button>
572
+ </Popconfirm>
573
+ ) : (
574
+ ""
575
+ )}
576
+ {/* 特别注意 目前 查询条件和 头部的 按钮 前置条件 均未支持,需要设置前置条件的情况请使用 行按钮*/}
577
+ {renderCustomButton()}
578
+ {renderAction()}
579
+ {renderJump()}
580
+ {renderCQuery()}
581
+ {renderUpdrill()}
582
+ {renderFileExport()}
583
+ {buttons.includes("multiRowEdit") && doMultiRowEdit ?
584
+ <Button disabled={multiRowEditDisabled} onClick={doMultiRowEdit}>{translate("${保存}")}</Button> : ""}
585
+ </Space>
586
+ </Space>
587
+ </Col>
588
+ </Row>
589
+ </Card>
590
+ {/*<Card size={'small'}*/}
591
+ {/* className="hoverable"*/}
592
+ {/* style={{ display: open ? "block" : "none", width: "100%" }}*/}
593
+ {/* headStyle={{ background: "#f2f4f5" }}*/}
594
+ {/*>*/}
595
+ {/* */}
596
+ {/*</Card>*/}
597
+ </AntdForm>
598
+ );
599
+ };
600
+ CriteriaForm["defaultProps"] = {
601
+ hiddenCriteriaIds: [],
602
+ open: true,
603
+ };
604
+ export default CriteriaForm;