aldehyde 0.2.489 → 0.2.491

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 (691) 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/date-picker/index.js +9 -9
  14. package/lib/controls/date-picker/index.js.map +1 -1
  15. package/lib/controls/entity-select/entity-select.d.ts.map +1 -1
  16. package/lib/controls/entity-select/index.css +7 -7
  17. package/lib/controls/entity-select/lab-tree-select.d.ts.map +1 -1
  18. package/lib/controls/entity-select/popover-entity-select.d.ts.map +1 -1
  19. package/lib/controls/file-view/index.less +9 -9
  20. package/lib/controls/html-editor/index.less +67 -67
  21. package/lib/controls/icon-selector/icon/aldehyde-menu-icon/iconfont.css +147 -147
  22. package/lib/controls/icon-selector/icon/phonenode-menu-icon/iconfont.css +63 -63
  23. package/lib/controls/password-setter/index.css +2 -2
  24. package/lib/controls/password-setter/index.d.ts.map +1 -1
  25. package/lib/controls/qr-code/index.less +28 -28
  26. package/lib/controls/relation-existion/index.css +3 -3
  27. package/lib/controls/relation-existion/index.d.ts.map +1 -1
  28. package/lib/controls/rfield/index.css +4 -4
  29. package/lib/controls/rfield/index.d.ts.map +1 -1
  30. package/lib/controls/select/index.d.ts.map +1 -1
  31. package/lib/controls/signature/index.d.ts.map +1 -1
  32. package/lib/controls/text/ellipsis-text.d.ts.map +1 -1
  33. package/lib/controls/text/index.less +7 -7
  34. package/lib/controls/upload/index.d.ts.map +1 -1
  35. package/lib/controls/upload/mult-file-upload.d.ts.map +1 -1
  36. package/lib/custom-page/dtmpl-custom-edit-modal-page.d.ts +4 -0
  37. package/lib/custom-page/dtmpl-custom-edit-modal-page.d.ts.map +1 -1
  38. package/lib/custom-page/dtmpl-custom-edit-modal-page.js +3 -1
  39. package/lib/custom-page/dtmpl-custom-edit-modal-page.js.map +1 -1
  40. package/lib/detail/button/bottom-submit-button-bar.d.ts.map +1 -1
  41. package/lib/detail/button/cquery-button-bar.d.ts.map +1 -1
  42. package/lib/detail/button/fix-right-submit-button-bar.d.ts.map +1 -1
  43. package/lib/detail/button/index.css +42 -42
  44. package/lib/detail/dtmpl.css +72 -72
  45. package/lib/detail/edit/fields-edit-card.d.ts.map +1 -1
  46. package/lib/detail/edit/modal-row-edit.d.ts.map +1 -1
  47. package/lib/detail/edit/popover-edit-card.d.ts.map +1 -1
  48. package/lib/detail/rightbar/index.css +34 -34
  49. package/lib/detail/rightbar/index.d.ts.map +1 -1
  50. package/lib/detail/view/act-dtmpl-view.d.ts.map +1 -1
  51. package/lib/detail/view/field-view-group.d.ts.map +1 -1
  52. package/lib/detail/view/modal-dtmpl-view.d.ts.map +1 -1
  53. package/lib/detail/view/snapshot-timeline.d.ts.map +1 -1
  54. package/lib/detail/view/tab-act-dtmpl-view.d.ts.map +1 -1
  55. package/lib/draw-canvas-edit/components/asset-bar/index.less +35 -35
  56. package/lib/draw-canvas-edit/components/main-header/index.less +23 -23
  57. package/lib/draw-canvas-edit/components/render/components/index.less +60 -60
  58. package/lib/draw-canvas-edit/components/render/components/workstation-component.js +6 -6
  59. package/lib/draw-canvas-edit/index.less +48 -48
  60. package/lib/draw-canvas-view/index.less +66 -66
  61. package/lib/export/export-frame.css +2 -2
  62. package/lib/export/export-frame.d.ts.map +1 -1
  63. package/lib/export/select-code-export-frame.d.ts.map +1 -1
  64. package/lib/form/dtmpl-form.css +3 -3
  65. package/lib/form/dtmpl-form.d.ts.map +1 -1
  66. package/lib/form/field-group-form.d.ts.map +1 -1
  67. package/lib/form/form-Item-group.d.ts.map +1 -1
  68. package/lib/form/index.css +12 -12
  69. package/lib/import/excel-import.d.ts.map +1 -1
  70. package/lib/import/index.css +53 -53
  71. package/lib/import/template.css +50 -50
  72. package/lib/layout/common.css +64 -64
  73. package/lib/layout/coverstyle.css +51 -51
  74. package/lib/layout/footer/index.css +5 -5
  75. package/lib/layout/header/index.css +122 -122
  76. package/lib/layout/menu/block.css +7 -7
  77. package/lib/layout/menu/block.d.ts.map +1 -1
  78. package/lib/layout/menu/l2menu-quick-bar.d.ts.map +1 -1
  79. package/lib/layout/menu/menu-2layers.d.ts.map +1 -1
  80. package/lib/layout/menu/message-bar.less +73 -73
  81. package/lib/layout/menu/reset-password.d.ts.map +1 -1
  82. package/lib/layout/menu/user-bar.d.ts.map +1 -1
  83. package/lib/layout/menu/userinfo-bar.d.ts.map +1 -1
  84. package/lib/layout/sidebar/index.css +57 -57
  85. package/lib/layout2/components/system-messages.js +1 -1
  86. package/lib/layout2/components/system-messages.js.map +1 -1
  87. package/lib/layout2/components/user-notification.js +1 -1
  88. package/lib/layout2/components/user-notification.js.map +1 -1
  89. package/lib/layout2/css/header.css +41 -41
  90. package/lib/layout2/css/sider.less +17 -17
  91. package/lib/layout2/css/tabs-layout.less +18 -18
  92. package/lib/layout3/css/header.less +195 -195
  93. package/lib/layout3/css/main.less +161 -161
  94. package/lib/layout3/css/sider.less +32 -32
  95. package/lib/layout3/css/tabs-layout.less +38 -38
  96. package/lib/layout4/css/header.less +196 -196
  97. package/lib/layout4/css/main.less +154 -154
  98. package/lib/layout4/css/sider.less +37 -37
  99. package/lib/layout4/css/tabs-layout.less +42 -42
  100. package/lib/layout5/css/header.less +35 -35
  101. package/lib/layout5/css/sider.less +18 -18
  102. package/lib/list/calendar/index.less +20 -20
  103. package/lib/list/card-list/index.less +154 -154
  104. package/lib/list/gantt/index.less +8 -8
  105. package/lib/list/vertical-list/index.less +208 -208
  106. package/lib/login/index.css +19 -19
  107. package/lib/login/login.d.ts.map +1 -1
  108. package/lib/login/vertify/index.css +143 -143
  109. package/lib/login3/index.less +136 -136
  110. package/lib/lowcode-components/act-table/index.less +26 -26
  111. package/lib/lowcode-components/base-button/index.less +7 -7
  112. package/lib/lowcode-components/base-map/index.js +6 -6
  113. package/lib/lowcode-components/base-radio/index.less +23 -23
  114. package/lib/lowcode-components/base-table/index.less +61 -61
  115. package/lib/lowcode-components/base-tabs/index.less +14 -14
  116. package/lib/lowcode-components/base-text/index.less +19 -19
  117. package/lib/lowcode-components/border/border10/index.less +26 -26
  118. package/lib/lowcode-components/border/border11/index.js +46 -46
  119. package/lib/lowcode-components/border/border11/index.less +17 -17
  120. package/lib/lowcode-components/border/border12/index.js +13 -13
  121. package/lib/lowcode-components/border/border12/index.less +13 -13
  122. package/lib/lowcode-components/border/border13/index.js +5 -5
  123. package/lib/lowcode-components/border/border13/index.less +13 -13
  124. package/lib/lowcode-components/border/border2/index.less +17 -17
  125. package/lib/lowcode-components/border/border3/index.less +25 -25
  126. package/lib/lowcode-components/border/border4/index.js +2 -2
  127. package/lib/lowcode-components/border/border4/index.less +72 -72
  128. package/lib/lowcode-components/border/border5/index.js +2 -2
  129. package/lib/lowcode-components/border/border5/index.less +35 -35
  130. package/lib/lowcode-components/border/border6/index.less +17 -17
  131. package/lib/lowcode-components/border/border7/index.less +26 -26
  132. package/lib/lowcode-components/border/border8/index.less +13 -13
  133. package/lib/lowcode-components/border/border9/index.js +14 -14
  134. package/lib/lowcode-components/border/border9/index.less +13 -13
  135. package/lib/lowcode-components/column-chart/index.d.ts +1 -0
  136. package/lib/lowcode-components/column-chart/index.d.ts.map +1 -1
  137. package/lib/lowcode-components/column-chart/index.js +49 -7
  138. package/lib/lowcode-components/column-chart/index.js.map +1 -1
  139. package/lib/lowcode-components/data-number/index.less +10 -10
  140. package/lib/lowcode-components/date-time/index.less +4 -4
  141. package/lib/lowcode-components/decoration/decoration1/index.less +7 -7
  142. package/lib/lowcode-components/decoration/decoration10/index.js +3 -3
  143. package/lib/lowcode-components/decoration/decoration10/index.less +5 -5
  144. package/lib/lowcode-components/decoration/decoration11/index.less +5 -5
  145. package/lib/lowcode-components/decoration/decoration2/index.less +6 -6
  146. package/lib/lowcode-components/decoration/decoration3/index.less +7 -7
  147. package/lib/lowcode-components/decoration/decoration4/index.less +29 -29
  148. package/lib/lowcode-components/decoration/decoration5/index.less +3 -3
  149. package/lib/lowcode-components/decoration/decoration6/index.less +7 -7
  150. package/lib/lowcode-components/decoration/decoration7/index.less +4 -4
  151. package/lib/lowcode-components/decoration/decoration8/index.less +14 -14
  152. package/lib/lowcode-components/decoration/decoration9/index.less +4 -4
  153. package/lib/lowcode-components/effectScatter-map/index.js +6 -6
  154. package/lib/lowcode-components/effectScatter-map-3d/index.js +6 -6
  155. package/lib/lowcode-components/four-angle-glow-border/index.less +49 -49
  156. package/lib/lowcode-components/line-bar-chart/index.d.ts +2 -1
  157. package/lib/lowcode-components/line-bar-chart/index.d.ts.map +1 -1
  158. package/lib/lowcode-components/line-bar-chart/index.js +53 -11
  159. package/lib/lowcode-components/line-bar-chart/index.js.map +1 -1
  160. package/lib/lowcode-components/line-chart/index.d.ts +1 -0
  161. package/lib/lowcode-components/line-chart/index.d.ts.map +1 -1
  162. package/lib/lowcode-components/line-chart/index.js +52 -10
  163. package/lib/lowcode-components/line-chart/index.js.map +1 -1
  164. package/lib/lowcode-components/lowcode-view/component/font/FontGlobal.css +26 -26
  165. package/lib/lowcode-components/lowcode-view/component/screen-fit/index.less +13 -13
  166. package/lib/lowcode-components/lowcode-view/index.d.ts.map +1 -1
  167. package/lib/lowcode-components/lowcode-view/index.js +3 -1
  168. package/lib/lowcode-components/lowcode-view/index.js.map +1 -1
  169. package/lib/lowcode-components/lowcode-view/index.less +19 -19
  170. package/lib/lowcode-components/search-form/index.less +25 -25
  171. package/lib/lowcode-components/text-scroller/index.less +28 -28
  172. package/lib/module/dtmpl-edit-card.d.ts +2 -0
  173. package/lib/module/dtmpl-edit-card.d.ts.map +1 -1
  174. package/lib/module/dtmpl-edit-card.js +15 -12
  175. package/lib/module/dtmpl-edit-card.js.map +1 -1
  176. package/lib/module/dtmpl-edit-drawer.d.ts +1 -0
  177. package/lib/module/dtmpl-edit-drawer.d.ts.map +1 -1
  178. package/lib/module/dtmpl-edit-drawer.js.map +1 -1
  179. package/lib/module/dtmpl-edit-modal.d.ts +1 -0
  180. package/lib/module/dtmpl-edit-modal.d.ts.map +1 -1
  181. package/lib/module/dtmpl-edit-modal.js.map +1 -1
  182. package/lib/module/dtmpl-edit-page.d.ts +2 -0
  183. package/lib/module/dtmpl-edit-page.d.ts.map +1 -1
  184. package/lib/module/dtmpl-edit-page.js +16 -12
  185. package/lib/module/dtmpl-edit-page.js.map +1 -1
  186. package/lib/module/index.less +4 -4
  187. package/lib/module/ltmpl-modal.d.ts.map +1 -1
  188. package/lib/module/ltmpl-table.d.ts +4 -0
  189. package/lib/module/ltmpl-table.d.ts.map +1 -1
  190. package/lib/module/ltmpl-table.js +10 -6
  191. package/lib/module/ltmpl-table.js.map +1 -1
  192. package/lib/routable/index.less +25 -25
  193. package/lib/routable/ltmpl-route.d.ts +1 -0
  194. package/lib/routable/ltmpl-route.d.ts.map +1 -1
  195. package/lib/routable/ltmpl-route.js +5 -3
  196. package/lib/routable/ltmpl-route.js.map +1 -1
  197. package/lib/routable/splitview-ltmpl-route.d.ts.map +1 -1
  198. package/lib/routable/splitview-ltmpl-route.js +4 -2
  199. package/lib/routable/splitview-ltmpl-route.js.map +1 -1
  200. package/lib/table/act-table.d.ts +3 -1
  201. package/lib/table/act-table.d.ts.map +1 -1
  202. package/lib/table/act-table.js +8 -7
  203. package/lib/table/act-table.js.map +1 -1
  204. package/lib/table/column/column-builder.d.ts.map +1 -1
  205. package/lib/table/column/column-builder.js +15 -6
  206. package/lib/table/column/column-builder.js.map +1 -1
  207. package/lib/table/column/index.less +85 -85
  208. package/lib/table/index.css +211 -211
  209. package/lib/table/modal-select-table.d.ts.map +1 -1
  210. package/lib/table/page-chart.js +1 -1
  211. package/lib/table/page-chart.js.map +1 -1
  212. package/lib/table/page-chart.less +9 -9
  213. package/lib/table/pagination.css +14 -14
  214. package/lib/table/pagination.d.ts.map +1 -1
  215. package/lib/table/relation-table.d.ts.map +1 -1
  216. package/lib/table/selected-rows-card.d.ts.map +1 -1
  217. package/lib/table/stat/restat.d.ts.map +1 -1
  218. package/lib/tmpl/interface.d.ts +4 -1
  219. package/lib/tmpl/interface.d.ts.map +1 -1
  220. package/lib/tmpl/interface.js.map +1 -1
  221. package/lib/tree/act-tree.d.ts.map +1 -1
  222. package/lib/tree/block-menu-auth-tree.d.ts.map +1 -1
  223. package/lib/tree/index.css +22 -22
  224. package/lib/tree/tmpl-tree.d.ts.map +1 -1
  225. package/lib/welcome/components/menu-card.less +96 -96
  226. package/lib/welcome/components/page-card.less +49 -49
  227. package/lib/welcome/components/quick-entrance.less +120 -120
  228. package/lib/welcome/components/user-menus.less +192 -192
  229. package/lib/welcome/components/workbench.less +118 -118
  230. package/lib/welcome/index.css +13 -13
  231. package/package.json +224 -224
  232. package/src/aldehyde/controls/2dEditor/2dEditor/index.less +5 -5
  233. package/src/aldehyde/controls/2dEditor/2dEditor/index.tsx +270 -270
  234. package/src/aldehyde/controls/2dEditor/2dView/index.less +8 -8
  235. package/src/aldehyde/controls/2dEditor/2dView/index.tsx +110 -110
  236. package/src/aldehyde/controls/2dEditor/components/card.tsx +256 -256
  237. package/src/aldehyde/controls/2dEditor/components/component.less +83 -83
  238. package/src/aldehyde/controls/2dEditor/components/data.d.ts +32 -32
  239. package/src/aldehyde/controls/2dEditor/components/hotspot.tsx +80 -80
  240. package/src/aldehyde/controls/2dEditor/components/html-box.tsx +101 -101
  241. package/src/aldehyde/controls/2dEditor/components/image.tsx +99 -99
  242. package/src/aldehyde/controls/2dEditor/components/line.tsx +73 -73
  243. package/src/aldehyde/controls/action/index.css +8 -8
  244. package/src/aldehyde/controls/action/index.tsx +406 -406
  245. package/src/aldehyde/controls/action/utils.tsx +306 -306
  246. package/src/aldehyde/controls/auto-complete/index.tsx +82 -82
  247. package/src/aldehyde/controls/cascader/index.tsx +112 -112
  248. package/src/aldehyde/controls/chemstruc/graph.tsx +185 -185
  249. package/src/aldehyde/controls/chemstruc/index.css +28 -28
  250. package/src/aldehyde/controls/code-editor/sql-code-editor.tsx +73 -73
  251. package/src/aldehyde/controls/collapse-card/index.css +8 -8
  252. package/src/aldehyde/controls/collapse-card/index.tsx +109 -109
  253. package/src/aldehyde/controls/color-picker/index.tsx +21 -21
  254. package/src/aldehyde/controls/counting-tag/index.tsx +53 -53
  255. package/src/aldehyde/controls/cquery/cquick-button.tsx +145 -145
  256. package/src/aldehyde/controls/date-picker/index.tsx +199 -199
  257. package/src/aldehyde/controls/direct-file-view/drawer-file-view.tsx +54 -54
  258. package/src/aldehyde/controls/direct-file-view/index.tsx +147 -147
  259. package/src/aldehyde/controls/direct-upload/index.tsx +140 -140
  260. package/src/aldehyde/controls/entity-select/entity-select.tsx +791 -791
  261. package/src/aldehyde/controls/entity-select/index.css +7 -7
  262. package/src/aldehyde/controls/entity-select/lab-tree-select.tsx +154 -154
  263. package/src/aldehyde/controls/entity-select/popover-entity-select.tsx +205 -205
  264. package/src/aldehyde/controls/entry-control.tsx +431 -431
  265. package/src/aldehyde/controls/enum-badge/index.tsx +42 -42
  266. package/src/aldehyde/controls/enum-tag/index.tsx +45 -45
  267. package/src/aldehyde/controls/field-history/index.tsx +81 -81
  268. package/src/aldehyde/controls/file-export/select-code-export.tsx +40 -40
  269. package/src/aldehyde/controls/file-view/drawer-file-view.tsx +117 -117
  270. package/src/aldehyde/controls/file-view/index.less +9 -9
  271. package/src/aldehyde/controls/file-view/index.tsx +148 -148
  272. package/src/aldehyde/controls/file-view/multi-file-view.tsx +39 -39
  273. package/src/aldehyde/controls/file-view/newin-file-view.tsx +40 -40
  274. package/src/aldehyde/controls/html-editor/draft.tsx +136 -136
  275. package/src/aldehyde/controls/html-editor/index.less +67 -67
  276. package/src/aldehyde/controls/icon-selector/app-icon-selector.tsx +68 -68
  277. package/src/aldehyde/controls/icon-selector/icon/aldehyde-menu-icon/iconfont.css +147 -147
  278. package/src/aldehyde/controls/icon-selector/icon/aldehyde-menu-icon/iconfont.json +240 -240
  279. package/src/aldehyde/controls/icon-selector/icon/phonenode-menu-icon/iconfont.css +63 -63
  280. package/src/aldehyde/controls/icon-selector/icon/phonenode-menu-icon/iconfont.json +93 -93
  281. package/src/aldehyde/controls/icon-selector/pc-icon-selector.tsx +68 -68
  282. package/src/aldehyde/controls/input-number/index.tsx +148 -148
  283. package/src/aldehyde/controls/input-range/index.tsx +59 -59
  284. package/src/aldehyde/controls/password-setter/index.css +2 -2
  285. package/src/aldehyde/controls/password-setter/index.js +88 -88
  286. package/src/aldehyde/controls/progress/index.tsx +74 -74
  287. package/src/aldehyde/controls/qr-code/index.less +28 -28
  288. package/src/aldehyde/controls/qr-code/index.tsx +40 -40
  289. package/src/aldehyde/controls/relation-existion/index.css +3 -3
  290. package/src/aldehyde/controls/relation-existion/index.tsx +144 -144
  291. package/src/aldehyde/controls/rfield/index.css +4 -4
  292. package/src/aldehyde/controls/rfield/index.tsx +225 -225
  293. package/src/aldehyde/controls/select/index.tsx +226 -226
  294. package/src/aldehyde/controls/signature/index.tsx +226 -226
  295. package/src/aldehyde/controls/single-checkbox/index.tsx +18 -18
  296. package/src/aldehyde/controls/steps/index.tsx +59 -59
  297. package/src/aldehyde/controls/text/ellipsis-text.tsx +98 -98
  298. package/src/aldehyde/controls/text/index.less +7 -7
  299. package/src/aldehyde/controls/tree-select/navigation-tree.tsx +122 -122
  300. package/src/aldehyde/controls/tree-select/tree-entity-select.tsx +121 -121
  301. package/src/aldehyde/controls/upload/index.tsx +128 -128
  302. package/src/aldehyde/controls/upload/mult-file-upload.tsx +240 -240
  303. package/src/aldehyde/controls/upload-read-excel/index.tsx +43 -43
  304. package/src/aldehyde/controls/view-control.tsx +289 -289
  305. package/src/aldehyde/custom-page/custom-detail-modal-page.tsx +69 -69
  306. package/src/aldehyde/custom-page/custom-page-router.tsx +64 -64
  307. package/src/aldehyde/custom-page/def-custom-page.tsx +17 -17
  308. package/src/aldehyde/custom-page/dtmpl-custom-edit-modal-page.tsx +91 -88
  309. package/src/aldehyde/detail/button/bottom-submit-button-bar.tsx +91 -91
  310. package/src/aldehyde/detail/button/cquery-button-bar.tsx +144 -144
  311. package/src/aldehyde/detail/button/edit-button.tsx +61 -61
  312. package/src/aldehyde/detail/button/fix-right-submit-button-bar.tsx +186 -186
  313. package/src/aldehyde/detail/button/index.css +42 -42
  314. package/src/aldehyde/detail/button/inline-edit-button.tsx +40 -40
  315. package/src/aldehyde/detail/button/submit-button-bar.tsx +57 -57
  316. package/src/aldehyde/detail/button/view-button.tsx +64 -64
  317. package/src/aldehyde/detail/dtmpl.css +72 -72
  318. package/src/aldehyde/detail/edit/dtmpl-edit.tsx +279 -279
  319. package/src/aldehyde/detail/edit/fields-edit-card.tsx +145 -145
  320. package/src/aldehyde/detail/edit/modal-row-edit.tsx +95 -95
  321. package/src/aldehyde/detail/edit/popover-edit-card.tsx +167 -167
  322. package/src/aldehyde/detail/edit/popover-editor.tsx +70 -70
  323. package/src/aldehyde/detail/edit/post-result/index.tsx +86 -86
  324. package/src/aldehyde/detail/rightbar/index.css +34 -34
  325. package/src/aldehyde/detail/rightbar/index.tsx +92 -92
  326. package/src/aldehyde/detail/tooltipbar/index.tsx +32 -32
  327. package/src/aldehyde/detail/view/act-dtmpl-view.tsx +288 -288
  328. package/src/aldehyde/detail/view/dtmpl-view.tsx +334 -334
  329. package/src/aldehyde/detail/view/field-view-group.tsx +88 -88
  330. package/src/aldehyde/detail/view/modal-dtmpl-view.tsx +73 -73
  331. package/src/aldehyde/detail/view/snapshot-timeline.tsx +231 -231
  332. package/src/aldehyde/detail/view/tab-act-dtmpl-view.tsx +304 -304
  333. package/src/aldehyde/detail/view/view-compare-panel.tsx +57 -57
  334. package/src/aldehyde/draw-canvas-edit/components/asset-bar/index.less +35 -35
  335. package/src/aldehyde/draw-canvas-edit/components/asset-bar/index.tsx +110 -110
  336. package/src/aldehyde/draw-canvas-edit/components/main-header/index.less +23 -23
  337. package/src/aldehyde/draw-canvas-edit/components/main-header/index.tsx +263 -263
  338. package/src/aldehyde/draw-canvas-edit/components/render/components/index.less +60 -60
  339. package/src/aldehyde/draw-canvas-edit/components/render/components/index.ts +3 -3
  340. package/src/aldehyde/draw-canvas-edit/components/render/components/workstation-component.tsx +220 -220
  341. package/src/aldehyde/draw-canvas-edit/components/render/draws/bg-draw.ts +177 -177
  342. package/src/aldehyde/draw-canvas-edit/components/render/draws/contextmenu-draw.ts +330 -330
  343. package/src/aldehyde/draw-canvas-edit/components/render/draws/graph-draw.ts +249 -249
  344. package/src/aldehyde/draw-canvas-edit/components/render/draws/index.ts +7 -7
  345. package/src/aldehyde/draw-canvas-edit/components/render/draws/link-draw.ts +1415 -1415
  346. package/src/aldehyde/draw-canvas-edit/components/render/draws/preview-draw.ts +274 -274
  347. package/src/aldehyde/draw-canvas-edit/components/render/draws/ref-line-draw.ts +71 -71
  348. package/src/aldehyde/draw-canvas-edit/components/render/draws/ruler-draw.ts +166 -166
  349. package/src/aldehyde/draw-canvas-edit/components/render/graphs/base-graph.ts +241 -241
  350. package/src/aldehyde/draw-canvas-edit/components/render/graphs/bezier.ts +542 -542
  351. package/src/aldehyde/draw-canvas-edit/components/render/graphs/circle.ts +699 -699
  352. package/src/aldehyde/draw-canvas-edit/components/render/graphs/curve.ts +500 -500
  353. package/src/aldehyde/draw-canvas-edit/components/render/graphs/index.ts +5 -5
  354. package/src/aldehyde/draw-canvas-edit/components/render/graphs/line.ts +493 -493
  355. package/src/aldehyde/draw-canvas-edit/components/render/graphs/rect.ts +680 -680
  356. package/src/aldehyde/draw-canvas-edit/components/render/handlers/drag-handlers.ts +68 -68
  357. package/src/aldehyde/draw-canvas-edit/components/render/handlers/drag-outside-handlers.ts +77 -77
  358. package/src/aldehyde/draw-canvas-edit/components/render/handlers/graph-handlers.ts +113 -113
  359. package/src/aldehyde/draw-canvas-edit/components/render/handlers/index.ts +9 -9
  360. package/src/aldehyde/draw-canvas-edit/components/render/handlers/key-move-handlers.ts +49 -49
  361. package/src/aldehyde/draw-canvas-edit/components/render/handlers/link-handlers.ts +45 -45
  362. package/src/aldehyde/draw-canvas-edit/components/render/handlers/selection-handlers.ts +410 -410
  363. package/src/aldehyde/draw-canvas-edit/components/render/handlers/shutcut-handlers.ts +45 -45
  364. package/src/aldehyde/draw-canvas-edit/components/render/handlers/text-handlers.ts +81 -81
  365. package/src/aldehyde/draw-canvas-edit/components/render/handlers/zoom-handlers.ts +59 -59
  366. package/src/aldehyde/draw-canvas-edit/components/render/index.ts +817 -817
  367. package/src/aldehyde/draw-canvas-edit/components/render/tools/align-tool.ts +89 -89
  368. package/src/aldehyde/draw-canvas-edit/components/render/tools/asset-tool.ts +154 -154
  369. package/src/aldehyde/draw-canvas-edit/components/render/tools/attract-tool.ts +457 -457
  370. package/src/aldehyde/draw-canvas-edit/components/render/tools/component-factory.ts +269 -269
  371. package/src/aldehyde/draw-canvas-edit/components/render/tools/copy-tool.ts +244 -244
  372. package/src/aldehyde/draw-canvas-edit/components/render/tools/import-export-tool.ts +588 -588
  373. package/src/aldehyde/draw-canvas-edit/components/render/tools/index.ts +10 -10
  374. package/src/aldehyde/draw-canvas-edit/components/render/tools/link-tool.ts +222 -222
  375. package/src/aldehyde/draw-canvas-edit/components/render/tools/position-tool.ts +191 -191
  376. package/src/aldehyde/draw-canvas-edit/components/render/tools/selection-tool.ts +140 -140
  377. package/src/aldehyde/draw-canvas-edit/components/render/tools/z-index-tool.ts +224 -224
  378. package/src/aldehyde/draw-canvas-edit/components/render/types.ts +298 -298
  379. package/src/aldehyde/draw-canvas-edit/components/render/utils/a-star.ts +116 -116
  380. package/src/aldehyde/draw-canvas-edit/components/render/utils/bezier-scene-func.ts +72 -72
  381. package/src/aldehyde/draw-canvas-edit/components/setting-form/imag-upload.tsx +119 -119
  382. package/src/aldehyde/draw-canvas-edit/components/setting-form/index.tsx +305 -305
  383. package/src/aldehyde/draw-canvas-edit/constant.ts +5 -5
  384. package/src/aldehyde/draw-canvas-edit/index.less +48 -48
  385. package/src/aldehyde/draw-canvas-edit/index.tsx +213 -213
  386. package/src/aldehyde/draw-canvas-view/index.less +66 -66
  387. package/src/aldehyde/draw-canvas-view/index.tsx +49 -49
  388. package/src/aldehyde/draw-canvas-view/view.tsx +237 -237
  389. package/src/aldehyde/export/export-frame.css +2 -2
  390. package/src/aldehyde/export/export-frame.tsx +301 -301
  391. package/src/aldehyde/export/select-code-export-frame.tsx +212 -212
  392. package/src/aldehyde/form/criteria-form.tsx +604 -604
  393. package/src/aldehyde/form/dtmpl-form.css +3 -3
  394. package/src/aldehyde/form/dtmpl-form.tsx +571 -571
  395. package/src/aldehyde/form/field-group-form.tsx +103 -103
  396. package/src/aldehyde/form/fields-form.tsx +45 -45
  397. package/src/aldehyde/form/form-Item-group.tsx +246 -246
  398. package/src/aldehyde/form/index.css +12 -12
  399. package/src/aldehyde/hooks/use-match-route/index.tsx +62 -62
  400. package/src/aldehyde/hooks/use-tabs/index.tsx +139 -139
  401. package/src/aldehyde/hooks/useVarCssColor.ts +6 -6
  402. package/src/aldehyde/icon/aliIcon.tsx +9 -9
  403. package/src/aldehyde/icon/index.tsx +28 -28
  404. package/src/aldehyde/import/excel-import.tsx +450 -450
  405. package/src/aldehyde/import/index.css +53 -53
  406. package/src/aldehyde/import/template.css +50 -50
  407. package/src/aldehyde/index.tsx +220 -220
  408. package/src/aldehyde/layout/MainPage.tsx +334 -334
  409. package/src/aldehyde/layout/common.css +64 -64
  410. package/src/aldehyde/layout/coverstyle.css +51 -51
  411. package/src/aldehyde/layout/footer/index.css +5 -5
  412. package/src/aldehyde/layout/footer/index.js +17 -17
  413. package/src/aldehyde/layout/header/index.css +122 -122
  414. package/src/aldehyde/layout/header/index.tsx +152 -152
  415. package/src/aldehyde/layout/menu/block.css +7 -7
  416. package/src/aldehyde/layout/menu/block.tsx +174 -174
  417. package/src/aldehyde/layout/menu/l2menu-message-bar.tsx +160 -160
  418. package/src/aldehyde/layout/menu/l2menu-quick-bar.tsx +175 -175
  419. package/src/aldehyde/layout/menu/menu-2layers.tsx +117 -117
  420. package/src/aldehyde/layout/menu/menu-render.tsx +168 -168
  421. package/src/aldehyde/layout/menu/message-bar.less +73 -73
  422. package/src/aldehyde/layout/menu/reset-password.tsx +255 -255
  423. package/src/aldehyde/layout/menu/user-bar.tsx +259 -259
  424. package/src/aldehyde/layout/menu/userinfo-bar.tsx +69 -69
  425. package/src/aldehyde/layout/sidebar/index.css +57 -57
  426. package/src/aldehyde/layout/sidebar/index.tsx +84 -84
  427. package/src/aldehyde/layout2/components/icon-font.tsx +7 -7
  428. package/src/aldehyde/layout2/components/screenfull-button.tsx +21 -21
  429. package/src/aldehyde/layout2/components/search-menu.tsx +85 -85
  430. package/src/aldehyde/layout2/components/system-messages.tsx +75 -75
  431. package/src/aldehyde/layout2/components/theme-button.tsx +65 -65
  432. package/src/aldehyde/layout2/components/user-button.tsx +258 -258
  433. package/src/aldehyde/layout2/components/user-notification.tsx +74 -74
  434. package/src/aldehyde/layout2/css/header.css +41 -41
  435. package/src/aldehyde/layout2/css/sider.less +17 -17
  436. package/src/aldehyde/layout2/css/tabs-layout.less +18 -18
  437. package/src/aldehyde/layout2/header.tsx +278 -278
  438. package/src/aldehyde/layout2/layout-context.tsx +95 -95
  439. package/src/aldehyde/layout2/main.tsx +30 -30
  440. package/src/aldehyde/layout2/page.tsx +315 -315
  441. package/src/aldehyde/layout2/sider.tsx +230 -230
  442. package/src/aldehyde/layout2/tabs/tabs-context.tsx +37 -37
  443. package/src/aldehyde/layout2/tabs/tabs-layout.tsx +146 -146
  444. package/src/aldehyde/layout2/type/layout-type.ts +15 -15
  445. package/src/aldehyde/layout2/util/menu-util.tsx +125 -125
  446. package/src/aldehyde/layout3/components/tabs-layout.tsx +110 -110
  447. package/src/aldehyde/layout3/components/time.tsx +25 -25
  448. package/src/aldehyde/layout3/css/header.less +195 -195
  449. package/src/aldehyde/layout3/css/main.less +161 -161
  450. package/src/aldehyde/layout3/css/sider.less +32 -32
  451. package/src/aldehyde/layout3/css/tabs-layout.less +38 -38
  452. package/src/aldehyde/layout3/header.tsx +187 -187
  453. package/src/aldehyde/layout3/main.tsx +29 -29
  454. package/src/aldehyde/layout3/page.tsx +110 -110
  455. package/src/aldehyde/layout3/sider.tsx +198 -198
  456. package/src/aldehyde/layout4/components/tabs-layout.tsx +110 -110
  457. package/src/aldehyde/layout4/css/header.less +196 -196
  458. package/src/aldehyde/layout4/css/main.less +154 -154
  459. package/src/aldehyde/layout4/css/sider.less +37 -37
  460. package/src/aldehyde/layout4/css/tabs-layout.less +42 -42
  461. package/src/aldehyde/layout4/header.tsx +190 -190
  462. package/src/aldehyde/layout4/imgs/user.svg +26 -26
  463. package/src/aldehyde/layout4/main.tsx +29 -29
  464. package/src/aldehyde/layout4/page.tsx +125 -125
  465. package/src/aldehyde/layout4/sider.tsx +201 -201
  466. package/src/aldehyde/layout5/css/header.less +35 -35
  467. package/src/aldehyde/layout5/css/sider.less +18 -18
  468. package/src/aldehyde/layout5/header.tsx +204 -204
  469. package/src/aldehyde/layout5/page.tsx +107 -107
  470. package/src/aldehyde/layout5/sider.tsx +235 -235
  471. package/src/aldehyde/list/calendar/index.less +20 -20
  472. package/src/aldehyde/list/calendar/index.tsx +157 -157
  473. package/src/aldehyde/list/card-list/card-list-item.tsx +112 -112
  474. package/src/aldehyde/list/card-list/index.less +154 -154
  475. package/src/aldehyde/list/card-list/index.tsx +83 -83
  476. package/src/aldehyde/list/gantt/index.less +8 -8
  477. package/src/aldehyde/list/gantt/index.tsx +508 -508
  478. package/src/aldehyde/list/vertical-list/index.less +208 -208
  479. package/src/aldehyde/list/vertical-list/index.tsx +55 -55
  480. package/src/aldehyde/list/vertical-list/item.tsx +136 -136
  481. package/src/aldehyde/locale/LocaleButton.tsx +48 -48
  482. package/src/aldehyde/locale/LocaleProvider.tsx +265 -265
  483. package/src/aldehyde/locale/langMp.ts +45 -45
  484. package/src/aldehyde/locale/translate.ts +80 -80
  485. package/src/aldehyde/locale/useLocale.ts +72 -72
  486. package/src/aldehyde/login/context-setter.tsx +130 -130
  487. package/src/aldehyde/login/index.css +19 -19
  488. package/src/aldehyde/login/login.tsx +255 -255
  489. package/src/aldehyde/login/router-login.tsx +107 -107
  490. package/src/aldehyde/login/vertify/index.css +143 -143
  491. package/src/aldehyde/login/vertify/index.tsx +360 -360
  492. package/src/aldehyde/login/vertify/tool.ts +13 -13
  493. package/src/aldehyde/login2/login-page.tsx +92 -92
  494. package/src/aldehyde/login2/login.tsx +227 -227
  495. package/src/aldehyde/login3/index.less +136 -136
  496. package/src/aldehyde/login3/login-page.tsx +71 -71
  497. package/src/aldehyde/lowcode-components/act-table/index.less +26 -26
  498. package/src/aldehyde/lowcode-components/act-table/index.tsx +139 -139
  499. package/src/aldehyde/lowcode-components/assets/lowcode-constant.tsx +12 -12
  500. package/src/aldehyde/lowcode-components/bar-chart/index.tsx +272 -272
  501. package/src/aldehyde/lowcode-components/base-button/index.less +7 -7
  502. package/src/aldehyde/lowcode-components/base-button/index.tsx +197 -197
  503. package/src/aldehyde/lowcode-components/base-color-block/index.tsx +31 -31
  504. package/src/aldehyde/lowcode-components/base-image/index.tsx +220 -220
  505. package/src/aldehyde/lowcode-components/base-map/index.tsx +292 -292
  506. package/src/aldehyde/lowcode-components/base-radio/index.less +23 -23
  507. package/src/aldehyde/lowcode-components/base-radio/index.tsx +157 -157
  508. package/src/aldehyde/lowcode-components/base-table/index.less +61 -61
  509. package/src/aldehyde/lowcode-components/base-table/index.tsx +268 -268
  510. package/src/aldehyde/lowcode-components/base-tabs/index.less +14 -14
  511. package/src/aldehyde/lowcode-components/base-tabs/index.tsx +183 -183
  512. package/src/aldehyde/lowcode-components/base-text/index.less +19 -19
  513. package/src/aldehyde/lowcode-components/base-text/index.tsx +58 -58
  514. package/src/aldehyde/lowcode-components/border/border1/index.tsx +70 -70
  515. package/src/aldehyde/lowcode-components/border/border10/index.less +26 -26
  516. package/src/aldehyde/lowcode-components/border/border10/index.tsx +45 -45
  517. package/src/aldehyde/lowcode-components/border/border11/index.less +17 -17
  518. package/src/aldehyde/lowcode-components/border/border11/index.tsx +232 -232
  519. package/src/aldehyde/lowcode-components/border/border12/index.less +13 -13
  520. package/src/aldehyde/lowcode-components/border/border12/index.tsx +115 -115
  521. package/src/aldehyde/lowcode-components/border/border13/index.less +13 -13
  522. package/src/aldehyde/lowcode-components/border/border13/index.tsx +69 -69
  523. package/src/aldehyde/lowcode-components/border/border2/index.less +17 -17
  524. package/src/aldehyde/lowcode-components/border/border2/index.tsx +51 -51
  525. package/src/aldehyde/lowcode-components/border/border3/index.less +25 -25
  526. package/src/aldehyde/lowcode-components/border/border3/index.tsx +61 -61
  527. package/src/aldehyde/lowcode-components/border/border4/index.less +72 -72
  528. package/src/aldehyde/lowcode-components/border/border4/index.tsx +79 -79
  529. package/src/aldehyde/lowcode-components/border/border5/index.less +35 -35
  530. package/src/aldehyde/lowcode-components/border/border5/index.tsx +75 -75
  531. package/src/aldehyde/lowcode-components/border/border6/index.less +17 -17
  532. package/src/aldehyde/lowcode-components/border/border6/index.tsx +60 -60
  533. package/src/aldehyde/lowcode-components/border/border7/index.less +26 -26
  534. package/src/aldehyde/lowcode-components/border/border7/index.tsx +75 -75
  535. package/src/aldehyde/lowcode-components/border/border8/index.less +13 -13
  536. package/src/aldehyde/lowcode-components/border/border8/index.tsx +84 -84
  537. package/src/aldehyde/lowcode-components/border/border9/index.less +13 -13
  538. package/src/aldehyde/lowcode-components/border/border9/index.tsx +154 -154
  539. package/src/aldehyde/lowcode-components/capsule-bar-chart/index.tsx +290 -290
  540. package/src/aldehyde/lowcode-components/carousel/index.tsx +218 -218
  541. package/src/aldehyde/lowcode-components/circular-progress-chart/index.tsx +263 -263
  542. package/src/aldehyde/lowcode-components/column-3d-chart/index.tsx +442 -442
  543. package/src/aldehyde/lowcode-components/column-chart/index.tsx +349 -297
  544. package/src/aldehyde/lowcode-components/data-number/index.less +10 -10
  545. package/src/aldehyde/lowcode-components/data-number/index.tsx +219 -219
  546. package/src/aldehyde/lowcode-components/data.d.ts +19 -19
  547. package/src/aldehyde/lowcode-components/date-time/index.less +4 -4
  548. package/src/aldehyde/lowcode-components/date-time/index.tsx +64 -64
  549. package/src/aldehyde/lowcode-components/decoration/decoration1/index.less +7 -7
  550. package/src/aldehyde/lowcode-components/decoration/decoration1/index.tsx +153 -153
  551. package/src/aldehyde/lowcode-components/decoration/decoration10/index.less +5 -5
  552. package/src/aldehyde/lowcode-components/decoration/decoration10/index.tsx +89 -89
  553. package/src/aldehyde/lowcode-components/decoration/decoration11/index.less +5 -5
  554. package/src/aldehyde/lowcode-components/decoration/decoration11/index.tsx +133 -133
  555. package/src/aldehyde/lowcode-components/decoration/decoration2/index.less +6 -6
  556. package/src/aldehyde/lowcode-components/decoration/decoration2/index.tsx +61 -61
  557. package/src/aldehyde/lowcode-components/decoration/decoration3/index.less +7 -7
  558. package/src/aldehyde/lowcode-components/decoration/decoration3/index.tsx +87 -87
  559. package/src/aldehyde/lowcode-components/decoration/decoration4/index.less +29 -29
  560. package/src/aldehyde/lowcode-components/decoration/decoration4/index.tsx +53 -53
  561. package/src/aldehyde/lowcode-components/decoration/decoration5/index.less +3 -3
  562. package/src/aldehyde/lowcode-components/decoration/decoration5/index.tsx +116 -116
  563. package/src/aldehyde/lowcode-components/decoration/decoration6/index.less +7 -7
  564. package/src/aldehyde/lowcode-components/decoration/decoration6/index.tsx +121 -121
  565. package/src/aldehyde/lowcode-components/decoration/decoration7/index.less +4 -4
  566. package/src/aldehyde/lowcode-components/decoration/decoration7/index.tsx +70 -70
  567. package/src/aldehyde/lowcode-components/decoration/decoration8/index.less +14 -14
  568. package/src/aldehyde/lowcode-components/decoration/decoration8/index.tsx +122 -122
  569. package/src/aldehyde/lowcode-components/decoration/decoration9/index.less +4 -4
  570. package/src/aldehyde/lowcode-components/decoration/decoration9/index.tsx +196 -196
  571. package/src/aldehyde/lowcode-components/effectScatter-map/index.tsx +315 -315
  572. package/src/aldehyde/lowcode-components/effectScatter-map-3d/index.tsx +419 -419
  573. package/src/aldehyde/lowcode-components/four-angle-glow-border/index.less +49 -49
  574. package/src/aldehyde/lowcode-components/four-angle-glow-border/index.tsx +53 -53
  575. package/src/aldehyde/lowcode-components/gauge-chart/index.tsx +254 -254
  576. package/src/aldehyde/lowcode-components/index.ts +130 -130
  577. package/src/aldehyde/lowcode-components/line-bar-chart/index.tsx +356 -304
  578. package/src/aldehyde/lowcode-components/line-chart/index.tsx +346 -294
  579. package/src/aldehyde/lowcode-components/liquid-chart/index.tsx +250 -250
  580. package/src/aldehyde/lowcode-components/lowcode-view/component/abstract-controller.ts +64 -64
  581. package/src/aldehyde/lowcode-components/lowcode-view/component/abstract-definition.ts +77 -77
  582. package/src/aldehyde/lowcode-components/lowcode-view/component/abstract-designer-loader.ts +36 -36
  583. package/src/aldehyde/lowcode-components/lowcode-view/component/assets.ts +478 -478
  584. package/src/aldehyde/lowcode-components/lowcode-view/component/component-container.tsx +91 -91
  585. package/src/aldehyde/lowcode-components/lowcode-view/component/component-controller.ts +153 -153
  586. package/src/aldehyde/lowcode-components/lowcode-view/component/component-definition.ts +23 -23
  587. package/src/aldehyde/lowcode-components/lowcode-view/component/font/FontGlobal.css +26 -26
  588. package/src/aldehyde/lowcode-components/lowcode-view/component/group-layer/controller.ts +36 -36
  589. package/src/aldehyde/lowcode-components/lowcode-view/component/group-layer/definition.ts +53 -53
  590. package/src/aldehyde/lowcode-components/lowcode-view/component/group-layer/index.tsx +15 -15
  591. package/src/aldehyde/lowcode-components/lowcode-view/component/layer-builder.tsx +98 -98
  592. package/src/aldehyde/lowcode-components/lowcode-view/component/loading.tsx +20 -20
  593. package/src/aldehyde/lowcode-components/lowcode-view/component/screen-fit/index.less +13 -13
  594. package/src/aldehyde/lowcode-components/lowcode-view/component/screen-fit/index.tsx +121 -121
  595. package/src/aldehyde/lowcode-components/lowcode-view/component/util.ts +27 -27
  596. package/src/aldehyde/lowcode-components/lowcode-view/index.less +19 -19
  597. package/src/aldehyde/lowcode-components/lowcode-view/index.tsx +279 -277
  598. package/src/aldehyde/lowcode-components/lowcode-view/interface.ts +189 -189
  599. package/src/aldehyde/lowcode-components/pie-chart/index.tsx +353 -353
  600. package/src/aldehyde/lowcode-components/placeholder-component/index.tsx +81 -81
  601. package/src/aldehyde/lowcode-components/progress-chart/index.tsx +295 -295
  602. package/src/aldehyde/lowcode-components/radar-chart/index.tsx +322 -322
  603. package/src/aldehyde/lowcode-components/search-form/index.less +25 -25
  604. package/src/aldehyde/lowcode-components/search-form/index.tsx +121 -121
  605. package/src/aldehyde/lowcode-components/stroke-animation/index.tsx +219 -219
  606. package/src/aldehyde/lowcode-components/text-scroller/index.less +28 -28
  607. package/src/aldehyde/lowcode-components/text-scroller/index.tsx +173 -173
  608. package/src/aldehyde/module/block-menu-tree-drawer.tsx +118 -118
  609. package/src/aldehyde/module/criteria-page.tsx1 +175 -175
  610. package/src/aldehyde/module/draggable-modal.tsx +66 -66
  611. package/src/aldehyde/module/dtmpl-edit-card.tsx +479 -477
  612. package/src/aldehyde/module/dtmpl-edit-drawer.tsx +24 -23
  613. package/src/aldehyde/module/dtmpl-edit-modal.tsx +26 -25
  614. package/src/aldehyde/module/dtmpl-edit-page.tsx +600 -597
  615. package/src/aldehyde/module/dtmpl-editor.tsx +165 -165
  616. package/src/aldehyde/module/dtmpl-view-card.tsx +64 -64
  617. package/src/aldehyde/module/dtmpl-view-drawer.tsx +71 -71
  618. package/src/aldehyde/module/dtmpl-view-modal.tsx +56 -56
  619. package/src/aldehyde/module/embed-dtmpl-edit-page.tsx +137 -137
  620. package/src/aldehyde/module/index.less +4 -4
  621. package/src/aldehyde/module/ltmpl-drawer.tsx +60 -60
  622. package/src/aldehyde/module/ltmpl-modal.tsx +63 -63
  623. package/src/aldehyde/module/ltmpl-table.tsx +388 -379
  624. package/src/aldehyde/module/ttmpl-tree.tsx +47 -47
  625. package/src/aldehyde/routable/dtmpl-route.tsx +173 -173
  626. package/src/aldehyde/routable/import-route.tsx +35 -35
  627. package/src/aldehyde/routable/index.less +25 -25
  628. package/src/aldehyde/routable/ltmpl-route.tsx +544 -539
  629. package/src/aldehyde/routable/splitview-ltmpl-route.tsx +382 -377
  630. package/src/aldehyde/routable/ttmpl-route.tsx +93 -93
  631. package/src/aldehyde/routable/withroute.tsx +36 -36
  632. package/src/aldehyde/sso-Login/index.tsx +73 -73
  633. package/src/aldehyde/sso-Login/service/index.js +16 -16
  634. package/src/aldehyde/sso-Login/service/login.js +75 -75
  635. package/src/aldehyde/table/act-table.tsx +1846 -1844
  636. package/src/aldehyde/table/column/column-builder.tsx +882 -876
  637. package/src/aldehyde/table/column/column-selector.tsx +130 -130
  638. package/src/aldehyde/table/column/index.less +85 -85
  639. package/src/aldehyde/table/column/summary-builder.tsx +712 -712
  640. package/src/aldehyde/table/column/theme-color-getter.tsx +25 -25
  641. package/src/aldehyde/table/control-table-x-axis-wrapper.tsx +80 -80
  642. package/src/aldehyde/table/index.css +211 -211
  643. package/src/aldehyde/table/l2-act-table.tsx +91 -91
  644. package/src/aldehyde/table/modal-select-table.tsx +308 -308
  645. package/src/aldehyde/table/page-chart.less +9 -9
  646. package/src/aldehyde/table/page-chart.tsx +196 -196
  647. package/src/aldehyde/table/page-config-button.tsx +203 -203
  648. package/src/aldehyde/table/pagination.css +14 -14
  649. package/src/aldehyde/table/pagination.tsx +81 -81
  650. package/src/aldehyde/table/query-table.tsx +668 -668
  651. package/src/aldehyde/table/relation-table.tsx +1078 -1078
  652. package/src/aldehyde/table/report-table.tsx +125 -125
  653. package/src/aldehyde/table/resizable-table.tsx +97 -97
  654. package/src/aldehyde/table/row-table.tsx +22 -22
  655. package/src/aldehyde/table/select-table.tsx +559 -559
  656. package/src/aldehyde/table/selected-rows-card.tsx +78 -78
  657. package/src/aldehyde/table/stat/restat.tsx +122 -122
  658. package/src/aldehyde/table/table-util.tsx +25 -25
  659. package/src/aldehyde/tmpl/control-type-supportor.tsx +154 -154
  660. package/src/aldehyde/tmpl/hc-data-source.tsx +574 -574
  661. package/src/aldehyde/tmpl/hcservice-v3.tsx +1590 -1590
  662. package/src/aldehyde/tmpl/interface.tsx +939 -936
  663. package/src/aldehyde/tmpl/model-struc-v3.tsx +111 -111
  664. package/src/aldehyde/tmpl/superagent.js +146 -146
  665. package/src/aldehyde/tmpl/tmpl-config-analysis.tsx +585 -585
  666. package/src/aldehyde/tmpl/web-socket.ts +366 -366
  667. package/src/aldehyde/tree/act-tree.tsx +217 -217
  668. package/src/aldehyde/tree/block-menu-auth-tree.tsx +189 -189
  669. package/src/aldehyde/tree/index.css +22 -22
  670. package/src/aldehyde/tree/navigation-tree.tsx +39 -39
  671. package/src/aldehyde/tree/tmpl-tree.tsx +751 -751
  672. package/src/aldehyde/tree/tree-node.tsx +73 -73
  673. package/src/aldehyde/tree/tree-utils.tsx +317 -317
  674. package/src/aldehyde/units/EncryptUtils.js +37 -37
  675. package/src/aldehyde/units/image.d.ts +7 -7
  676. package/src/aldehyde/units/index.tsx +1367 -1367
  677. package/src/aldehyde/units/storage.js +2 -2
  678. package/src/aldehyde/utils/dsu.ts +27 -27
  679. package/src/aldehyde/welcome/HCWelcome.js +404 -404
  680. package/src/aldehyde/welcome/HCWelcome1.js +259 -259
  681. package/src/aldehyde/welcome/components/menu-card.less +96 -96
  682. package/src/aldehyde/welcome/components/menu-card.tsx +70 -70
  683. package/src/aldehyde/welcome/components/page-card.less +49 -49
  684. package/src/aldehyde/welcome/components/page-card.tsx +97 -97
  685. package/src/aldehyde/welcome/components/quick-entrance.less +120 -120
  686. package/src/aldehyde/welcome/components/quick-entrance.tsx +80 -80
  687. package/src/aldehyde/welcome/components/user-menus.less +192 -192
  688. package/src/aldehyde/welcome/components/user-menus.tsx +279 -279
  689. package/src/aldehyde/welcome/components/workbench.less +118 -118
  690. package/src/aldehyde/welcome/components/workbench.tsx +146 -146
  691. package/src/aldehyde/welcome/index.css +13 -13
@@ -1,597 +1,600 @@
1
- import React, { ReactNode } from "react";
2
- import {
3
- Button,
4
- Drawer,
5
- FormInstance,
6
- Modal,
7
- Popconfirm,
8
- Space,
9
- Card,
10
- } from "antd";
11
- import {
12
- DtmplBaseProps,
13
- DtmplConfig,
14
- DtmplData,
15
- PageType,
16
- } from "../tmpl/interface";
17
- import DtmplForm from "../form/dtmpl-form";
18
- import HCDataSource from "../tmpl/hc-data-source";
19
- import Units from "../units";
20
- import HcserviceV3 from "../tmpl/hcservice-v3";
21
- import Action from "../controls/action";
22
- import Scrollbars from "react-custom-scrollbars";
23
- import Draggable from 'react-draggable';
24
- import DraggableModal from "./draggable-modal";
25
- import TmplConfigAnalysis from "../tmpl/tmpl-config-analysis";
26
- import { LocaleContext } from "../locale/LocaleProvider";
27
- import { relValueFieldExtControlType } from "../controls/entry-control";
28
-
29
- // 缓存 getSubDtmplData 的请求结果(防止多次请求)
30
- const subDtmplDataCache: Map<string, any> = new Map();
31
-
32
- interface ModalEditorProps extends DtmplBaseProps {
33
- height?: any;
34
- bodyWidth?: number | string;
35
- width?: number;
36
- open: boolean;
37
- onOk: (code: string, isContinueSave?: boolean) => void;
38
- onCancel: () => void;
39
- pageType: PageType;
40
- placement?: "top" | "right" | "bottom" | "left";
41
- title?: ReactNode;
42
- extendButtons?: ReactNode[];
43
- }
44
-
45
- interface ModalEditorState {
46
- id?: string;
47
- queryingCode?: string;
48
- dtmplConfig?: DtmplConfig;
49
- loading?: boolean;
50
- serial?: number;
51
- dtmplData?: DtmplData;
52
- valueFieldMap?: { [key: string]: any };
53
- isContinueSave?: boolean; // 是否连续保存
54
- btnLoading?: string; // 按钮loading控制
55
- drawerSize?: number | string; // 抽屉组件尺寸
56
- }
57
-
58
- export default class DtmplEditPage extends React.PureComponent<
59
- ModalEditorProps,
60
- ModalEditorState
61
- > {
62
- formRef = React.createRef<FormInstance>();
63
- autoSaveTimer = -1000000000000000;
64
- autoSaveInterval = undefined;
65
-
66
- static contextType = LocaleContext;
67
- context: React.ContextType<typeof LocaleContext>;
68
-
69
- onClickBody = (e) => {
70
- // console.log(e);
71
- //console.log("点击了我" + this.autoSaveTimer);
72
- this.autoSaveTimer = 0;
73
- };
74
- static defaultProps = {
75
- showConfirm: true,
76
- height: "76vh",
77
- width: "76vw",
78
- bodyWidth: "100%",
79
- //antd modal
80
- forceRender: true,
81
- style: { maxWidth: "calc(100vw - 60px)", maxHeight: "calc(100vh - 50px)" },
82
- okText: "确定",
83
- cancelText: "取消",
84
- pageType: "modal",
85
- placement: "left",
86
- };
87
- state = {
88
- id: "modelDtmplEdit" + Units.getRandomNum(6),
89
- dtmplConfig: undefined,
90
- queryingCode: undefined,
91
- loading: false,
92
- serial: 1,
93
- dtmplData: undefined,
94
- valueFieldMap: {},
95
- isContinueSave: false, // 是否连续保存
96
- btnLoading: "",
97
- drawerSize: 0
98
- };
99
-
100
- async componentDidMount() {
101
- const { height, width } = this.props;
102
- const placement = this.props.placement || 'left';
103
- this.setState({ drawerSize: ["top", "bottom"].includes(placement) ? height : width });
104
- if (this.props.open) {
105
- await this.loadConfigData();
106
- }
107
- }
108
-
109
- async componentDidUpdate(prevProps) {
110
- const { dtmplConfig } = this.state;
111
- //debugger
112
- if (prevProps && prevProps != this.props) {
113
- if (
114
- prevProps.sourceId != this.props.sourceId ||
115
- prevProps.code != this.props.code ||
116
- prevProps.addTmplId != this.props.addTmplId ||
117
- !dtmplConfig || dtmplConfig == 'null'
118
- ) {
119
- await this.loadConfigData();
120
- } else {
121
- await this.handleBuildInFuncFields(dtmplConfig);
122
- await this.loadData(dtmplConfig);
123
- }
124
- }
125
- }
126
-
127
- componentWillUnmount(): void {
128
- if (this.autoSaveInterval) {
129
- clearInterval(this.autoSaveInterval);
130
- }
131
- }
132
-
133
- loadConfigData = async () => {
134
- const { sourceId, open, code, serverKey, addTmplId } = this.props;
135
- this.setState({
136
- loading: true,
137
- });
138
- let dtmplConfig = undefined;
139
- if (code) {
140
- dtmplConfig = await HCDataSource.requestDtmplConfig(
141
- serverKey,
142
- sourceId,
143
- code
144
- );
145
- } else {
146
- dtmplConfig = await HCDataSource.requestAddDtmplConfig(
147
- serverKey,
148
- sourceId,
149
- addTmplId
150
- );
151
- }
152
- this.handleRelValueField(dtmplConfig);
153
- await this.handleBuildInFuncFields(dtmplConfig);
154
- // 直接复制
155
- if (dtmplConfig?.entity && dtmplConfig?.entity?.code == code) {
156
- let dtmplData = dtmplConfig.entity;
157
- dtmplConfig.entity = undefined;
158
- this.setState({
159
- dtmplData,
160
- id: code,
161
- loading: false,
162
- });
163
- } else {
164
- await this.loadData(dtmplConfig);
165
- }
166
- this.setState({
167
- dtmplConfig,
168
- loading: false,
169
- });
170
- };
171
-
172
- // 表单关联项secondCriterion处理start
173
- getSubDtmplData = async (valueField, code) => {
174
- const { serverKey } = this.props;
175
- let dtmplData = null;
176
- const cacheKey = `${valueField.extRefPageId || valueField.id}_${code.split("@R@")[0]}`; //缓存Key
177
- const cacheData = subDtmplDataCache.get(cacheKey);
178
- if (cacheData !== undefined) { // 存在缓存使用缓存,减少请求次数
179
- dtmplData = cacheData;
180
- } else {
181
- if (valueField.extRefPageId) { // 存在extRefPageId(扩展关联页面),则优先使用extRefPageId(例如:枚举值无指向页面,使用扩展关联页面)
182
- const { entities } = await HcserviceV3.requestLtmplQueryTop(null, valueField.extRefPageId, { top: 1, secondCriterion: code.split("@R@")[0] }) || {};
183
- dtmplData = entities?.[0];
184
- } else { // 查询字段指向页面的数据
185
- dtmplData = await HcserviceV3.requestDtmplData(serverKey, valueField.id, code.split("@R@")[0], null);
186
- }
187
- subDtmplDataCache.set(cacheKey, dtmplData || false);
188
- }
189
- if (!dtmplData) return null;
190
- const subField = valueField.subRelValueField;
191
- const subData = dtmplData.fieldMap[subField.id];
192
- if (subField.subRelValueField && subData) { // 存在下级关联项
193
- return this.getSubDtmplData(subField, subData);
194
- }
195
- return subData;
196
- }
197
-
198
- getSecondCriteria = async (field) => {
199
- const { parentFormInstance } = this.props;
200
- const { relValueField, relValueField3, baseCriteria = {}, relMinValueField, relMaxValueField } = field;
201
- const temForm = parentFormInstance || this.formRef.current;
202
- if (relValueField && temForm) { // 设置默认值或查询次条件
203
- let relValueData = temForm.getFieldValue(relValueField.id);
204
- if (relValueField.subRelValueField && relValueData) {
205
- relValueData = await this.getSubDtmplData(relValueField, relValueData);
206
- }
207
- if (!relValueFieldExtControlType.includes(field.extControlType)) {
208
- field.defaultValue = relValueData; // 非关系型字段填充默认值
209
- } else {
210
- field.baseCriteria = { ...(baseCriteria || {}), "secondCriterion": relValueData };
211
- }
212
- field.configChanged = true;
213
- }
214
- if (relValueField3 && temForm) { // 设置查询三条件
215
- let relValueData = temForm.getFieldValue(relValueField3.id);
216
- if (relValueField3.subRelValueField && relValueData) {
217
- relValueData = await this.getSubDtmplData(relValueField3, relValueData);
218
- }
219
- field.baseCriteria = { ...(field.baseCriteria || {}), "thirdCriterion": relValueData };
220
- field.configChanged = true;
221
- }
222
- if (relMinValueField && temForm) { // 设置最小值
223
- let relValueData = temForm.getFieldValue(relMinValueField.id);
224
- if (relMinValueField.subRelValueField && relValueData) {
225
- relValueData = await this.getSubDtmplData(relMinValueField, relValueData);
226
- }
227
- field.min = relValueData;
228
- field.configChanged = true;
229
- }
230
- if (relMaxValueField && temForm) { // 设置最大值
231
- let relValueData = temForm.getFieldValue(relMaxValueField.id);
232
- if (relMaxValueField.subRelValueField && relValueData) {
233
- relValueData = await this.getSubDtmplData(relMaxValueField, relValueData);
234
- }
235
- field.max = relValueData;
236
- field.configChanged = true;
237
- }
238
- return field;
239
- }
240
- // 表单关联项secondCriterion处理end
241
-
242
- loadData = async (dtmplConfig: DtmplConfig) => {
243
- const {
244
- sourceId,
245
- code: propsCode,
246
- defaultDtmplData,
247
- open,
248
- serverKey,
249
- codeSource
250
- } = this.props;
251
-
252
- if (!open) {
253
- return;
254
- }
255
-
256
- if (dtmplConfig?.autoSaveInterval && dtmplConfig?.autoSaveInterval > 0) {
257
- if (this.autoSaveInterval) {
258
- clearInterval(this.autoSaveInterval);
259
- }
260
- this.autoSaveInterval = setInterval(() => {
261
- if (this.autoSaveTimer >= dtmplConfig.autoSaveInterval) {
262
- //console.log('执行自动保存');
263
- this.autoSaveTimer = -1000000000000000;
264
- this.setState({ btnLoading: "saveLoading" });
265
- this.doSubmit(undefined);
266
- } else {
267
- this.autoSaveTimer = this.autoSaveTimer + 1;
268
- }
269
- }, 1000);
270
- }
271
-
272
- let code = propsCode;
273
- if (!code && codeSource) {
274
- code = await HcserviceV3.queryCode(sourceId, codeSource, serverKey);
275
- }
276
-
277
- if (code) {
278
- this.setState({
279
- loading: true,
280
- queryingCode: code,
281
- dtmplData: undefined,
282
- });
283
-
284
- const dtmplData_: DtmplData = await HcserviceV3.getDtmplData(
285
- dtmplConfig,
286
- serverKey,
287
- sourceId,
288
- code
289
- );
290
-
291
- if ((!this.state.queryingCode || this.state.queryingCode == dtmplData_.code) &&
292
- (!dtmplData_.sourceId || (this.props.sourceId == dtmplData_.sourceId))) {
293
- this.setState({
294
- dtmplData: dtmplData_,
295
- id: code,
296
- });
297
- }
298
- this.setState({
299
- loading: false,
300
- });
301
- } else if (defaultDtmplData) {
302
- this.setState({
303
- dtmplData: defaultDtmplData,
304
- loading: false,
305
- });
306
- } else {
307
- this.setState({
308
- dtmplData: {
309
- code: undefined,
310
- title: undefined,
311
- fieldMap: {},
312
- arrayMap: {},
313
- },
314
- loading: false,
315
- });
316
- }
317
- setTimeout(() => this.onValuesChange(), 300);
318
- };
319
-
320
- /**
321
- * 处理表单关联项
322
- * 匹配关联项的字段,实现值更新关联字段值变化
323
- */
324
- handleRelValueField = (dtmplConfig: DtmplConfig) => {
325
- if (!dtmplConfig) {
326
- return;
327
- }
328
- const { groups } = dtmplConfig;
329
- const valueFieldMap = groups.reduce((total, item) => {
330
- if (item.fields) {
331
- item.fields.forEach(field => {
332
- if (field.relValueField) { // 关联取值字段
333
- const temArr = total[field.relValueField.id] || [];
334
- const isSameGroup = item.fields.some(f => f.id === field.relValueField.id);
335
- const temField = isSameGroup ? field : item;
336
- const isItem = temArr.find(r => r.id === temField.id);
337
- if (!isItem) {
338
- total[field.relValueField.id] = [...temArr, temField];
339
- }
340
- }
341
- if (field.relValueField3) { // 关联取值字段扩1
342
- const temArr = total[field.relValueField3.id] || [];
343
- const isSameGroup = item.fields.some(f => f.id === field.relValueField3.id);
344
- const temField = isSameGroup ? field : item;
345
- const isItem = temArr.find(r => r.id === temField.id);
346
- if (!isItem) {
347
- total[field.relValueField3.id] = [...temArr, temField];
348
- }
349
- }
350
- })
351
- }
352
- return total;
353
- }, {});
354
- this.setState({ valueFieldMap });
355
- };
356
-
357
- //关联取值:根据 parentFormInstance / this.formRef 完善 dtmplConfig
358
- handleBuildInFuncFields = async (tDtmplConfig?: DtmplConfig) => {
359
- const dtmplConfig = tDtmplConfig || this.state.dtmplConfig;
360
- if (dtmplConfig) {
361
- if (!dtmplConfig.buildInFuncFields) {
362
- dtmplConfig.buildInFuncFields = TmplConfigAnalysis.buildInFuncFields(dtmplConfig);
363
- }
364
- dtmplConfig.buildInFuncFields = await Promise.all(dtmplConfig.buildInFuncFields.map(field => this.getSecondCriteria(field)));
365
- }
366
- }
367
-
368
- onValuesChange = (changedValues?: any, allValues?: any) => {
369
- const { dtmplData, valueFieldMap, dtmplConfig } = this.state;
370
- this.handleBuildInFuncFields();
371
- const { groups } = dtmplConfig;
372
- const changeValKey = Object.keys(changedValues || {})[0];
373
- const clearValues = {}; // 清空关联字段值
374
- if (changeValKey && valueFieldMap[changeValKey]) {
375
- // 处理关联字段值变化, 表单值变化,处理关联字段值为空
376
- const temArrayMap = valueFieldMap[changeValKey].reduce((total, item) => {
377
- if (groups.some(g => g.id === item.id)) {
378
- total[item.id] = []; // 清空关联字段组
379
- } else {
380
- clearValues[item.id] = undefined;
381
- }
382
- return total;
383
- }, {});
384
- this.setState({ dtmplData: { ...dtmplData, fieldMap: { ...allValues, ...clearValues }, arrayMap: { ...dtmplData.arrayMap, ...temArrayMap } } });
385
- }
386
- this.setState({ serial: this.state.serial + 1 });
387
- };
388
-
389
- doSubmit = (actionId?: number, codes?: string[], params?: object, isContinue?: boolean) => {
390
- const { mainCode } = this.props;
391
- //if (actionId) {
392
- this.formRef.current.setFieldsValue({ actionId: actionId });
393
- // }
394
- if (mainCode) {
395
- this.formRef.current.setFieldsValue({ mainCode: mainCode });
396
- }
397
- if (params) {
398
- this.formRef.current.setFieldsValue(params);
399
- }
400
- this.formRef.current.submit();
401
- this.setState({ isContinueSave: isContinue });
402
- };
403
-
404
- getFooter = () => {
405
- const { onCancel, serverKey } = this.props;
406
- const { dtmplData, serial, loading, btnLoading } = this.state;
407
- const footerButtons = [];
408
- const { dtmplConfig } = this.state;
409
- const { saveBtnTitle, continueSaveBtnTitle } = dtmplConfig || {};
410
- const { translate } = this.context;
411
- if (dtmplConfig?.buttons?.includes("dtmplSave")) {
412
- footerButtons.unshift(
413
- <Button type="primary" loading={loading || btnLoading === "saveLoading"} onClick={() => {
414
- this.setState({ btnLoading: "saveLoading" });
415
- this.doSubmit();
416
- }}>
417
- {translate("${" + (saveBtnTitle || "保存") + "}")}
418
- </Button>
419
- );
420
- if (continueSaveBtnTitle) {
421
- footerButtons.unshift(
422
- <Button type="primary" loading={loading || btnLoading === "continueSaveLoading"} onClick={() => {
423
- this.setState({ btnLoading: "continueSaveLoading" });
424
- this.doSubmit(null, null, null, true);
425
- }}>
426
- {translate("${" + continueSaveBtnTitle + "}")}
427
- </Button>
428
- );
429
- }
430
- }
431
- //处理action
432
- if (dtmplConfig) {
433
- dtmplConfig.actions.forEach((ac, index) => {
434
- footerButtons.unshift(
435
- <Action
436
- serverKey={serverKey}
437
- iconType={"icon-title"}
438
- hiddenType={"disabled"}
439
- serial={serial}
440
- key={ac.id}
441
- data={[dtmplData]}
442
- formRef={this.formRef}
443
- actionConfig={ac}
444
- doAction={(...val) => {
445
- this.setState({ btnLoading: `actionLoading${index}` });
446
- this.doSubmit(...val);
447
- }}
448
- loading={loading || btnLoading === `actionLoading${index}`}
449
- />
450
- );
451
- });
452
- }
453
- footerButtons.unshift(
454
- <Popconfirm
455
- key="back"
456
- placement="topLeft"
457
- title={translate("${确定要取消本次修改内容吗}?")}
458
- onConfirm={onCancel}
459
- okText={translate("${确定}")}
460
- cancelText={translate("${取消}")}
461
- >
462
- <Button>{translate("${取消}")}</Button>
463
- </Popconfirm>
464
- );
465
- return footerButtons;
466
- };
467
-
468
- onFinish = (code) => {
469
- const { code: propsCode } = this.props;
470
- const { isContinueSave } = this.state;
471
- this.setState({ loading: false, btnLoading: "" });
472
- if (code) {
473
- if (propsCode && isContinueSave) {
474
- this.loadConfigData();
475
- } else {
476
- this.props.onOk(code, isContinueSave);
477
- }
478
- }
479
- }
480
-
481
- render() {
482
- const {
483
- height,
484
- onCancel,
485
- sourceId,
486
- open,
487
- mainCode,
488
- width,
489
- pageType,
490
- maxColsOnRow,
491
- title,
492
- serverKey, parentFormInstance
493
- } = this.props;
494
- const { dtmplConfig, id, dtmplData, valueFieldMap, drawerSize } = this.state;
495
- const placement = this.props.placement || "left";
496
- const maxSize = ["top", "bottom"].includes(placement) ? document.documentElement.clientHeight : document.documentElement.clientWidth * 0.9;
497
-
498
- let title1 = title ? title : dtmplConfig ? dtmplConfig.title : "";
499
- const { translate } = this.context;
500
- //判断是不是 字符串
501
- if (typeof title1 === "string") {
502
- title1 = translate("${" + title1 + "}");
503
- }
504
-
505
- return (
506
- <>
507
- {pageType === "modal" ? (
508
- // <Draggable handle=".ant-modal-header">
509
- <DraggableModal
510
- open={open}
511
- width={width}
512
- title={title1}
513
- closable={false}
514
- styles={{ body: { height: height, overflow: "auto" } }}
515
- destroyOnHidden={true}
516
- centered
517
- onCancel={onCancel}
518
- footer={this.getFooter()}
519
- children={<Scrollbars autoHide autoHideTimeout={1000}>
520
- <div onClick={this.onClickBody}>
521
- <DtmplForm
522
- serverKey={serverKey}
523
- mainCode={mainCode}
524
- parentId={id}
525
- dtmplConfig={dtmplConfig}
526
- formRef={this.formRef}
527
- sourceId={sourceId}
528
- onFinish={this.onFinish}
529
- maxColsOnRow={maxColsOnRow}
530
- showConfirm={false}
531
- dtmplData={dtmplData}
532
- onValuesChange={this.onValuesChange}
533
- parentFormInstance={parentFormInstance}
534
- valueFieldMap={valueFieldMap}
535
- />
536
- </div>
537
- </Scrollbars>}
538
- >
539
- </DraggableModal>
540
- // </Draggable>
541
- ) : pageType === "drawer" ? (
542
- <Drawer
543
- onClick={this.onClickBody}
544
- title={title1}
545
- placement={placement}
546
- resizable={{ onResize: (newSize => this.setState({ drawerSize: newSize })) }}
547
- size={drawerSize}
548
- maxSize={maxSize}
549
- closable={true}
550
- mask={false}
551
- onClose={onCancel}
552
- open={open}
553
- style={{ border: "2px solid #d9d9d9" }}
554
- extra={<Space>{this.getFooter()}</Space>}
555
- styles={{ body: { minWidth: width ? width - 4 : 0 } }}
556
- >
557
- <div style={{ width: '100%' }}>
558
- <DtmplForm
559
- serverKey={serverKey}
560
- mainCode={mainCode}
561
- parentId={id}
562
- dtmplConfig={dtmplConfig}
563
- formRef={this.formRef}
564
- sourceId={sourceId}
565
- onFinish={this.onFinish}
566
- maxColsOnRow={maxColsOnRow}
567
- showConfirm={false}
568
- dtmplData={dtmplData}
569
- onValuesChange={this.onValuesChange}
570
- parentFormInstance={parentFormInstance}
571
- valueFieldMap={valueFieldMap}
572
- />
573
- </div>
574
- </Drawer>
575
- ) : (
576
- <Card title={title1}>
577
- <DtmplForm
578
- serverKey={serverKey}
579
- mainCode={mainCode}
580
- parentId={id}
581
- dtmplConfig={dtmplConfig}
582
- formRef={this.formRef}
583
- sourceId={sourceId}
584
- onFinish={this.onFinish}
585
- maxColsOnRow={maxColsOnRow}
586
- showConfirm={false}
587
- dtmplData={dtmplData}
588
- onValuesChange={this.onValuesChange}
589
- parentFormInstance={parentFormInstance}
590
- valueFieldMap={valueFieldMap}
591
- />
592
- </Card>
593
- )}
594
- </>
595
- );
596
- }
597
- }
1
+ import React, { ReactNode } from "react";
2
+ import {
3
+ Button,
4
+ Drawer,
5
+ FormInstance,
6
+ Modal,
7
+ Popconfirm,
8
+ Space,
9
+ Card,
10
+ } from "antd";
11
+ import {
12
+ DtmplBaseProps,
13
+ DtmplConfig,
14
+ DtmplData,
15
+ PageType,
16
+ } from "../tmpl/interface";
17
+ import DtmplForm from "../form/dtmpl-form";
18
+ import HCDataSource from "../tmpl/hc-data-source";
19
+ import Units from "../units";
20
+ import HcserviceV3 from "../tmpl/hcservice-v3";
21
+ import Action from "../controls/action";
22
+ import Scrollbars from "react-custom-scrollbars";
23
+ import Draggable from 'react-draggable';
24
+ import DraggableModal from "./draggable-modal";
25
+ import TmplConfigAnalysis from "../tmpl/tmpl-config-analysis";
26
+ import { LocaleContext } from "../locale/LocaleProvider";
27
+ import { relValueFieldExtControlType } from "../controls/entry-control";
28
+
29
+ // 缓存 getSubDtmplData 的请求结果(防止多次请求)
30
+ const subDtmplDataCache: Map<string, any> = new Map();
31
+
32
+ interface ModalEditorProps extends DtmplBaseProps {
33
+ height?: any;
34
+ bodyWidth?: number | string;
35
+ width?: number;
36
+ open: boolean;
37
+ onOk: (code: string, isContinueSave?: boolean) => void;
38
+ onCancel: () => void;
39
+ pageType: PageType;
40
+ placement?: "top" | "right" | "bottom" | "left";
41
+ title?: ReactNode;
42
+ extendButtons?: ReactNode[];
43
+ isCopy?: boolean;
44
+ }
45
+
46
+ interface ModalEditorState {
47
+ id?: string;
48
+ queryingCode?: string;
49
+ dtmplConfig?: DtmplConfig;
50
+ loading?: boolean;
51
+ serial?: number;
52
+ dtmplData?: DtmplData;
53
+ valueFieldMap?: { [key: string]: any };
54
+ isContinueSave?: boolean; // 是否连续保存
55
+ btnLoading?: string; // 按钮loading控制
56
+ drawerSize?: number | string; // 抽屉组件尺寸
57
+ }
58
+
59
+ export default class DtmplEditPage extends React.PureComponent<
60
+ ModalEditorProps,
61
+ ModalEditorState
62
+ > {
63
+ formRef = React.createRef<FormInstance>();
64
+ autoSaveTimer = -1000000000000000;
65
+ autoSaveInterval = undefined;
66
+
67
+ static contextType = LocaleContext;
68
+ context: React.ContextType<typeof LocaleContext>;
69
+
70
+ onClickBody = (e) => {
71
+ // console.log(e);
72
+ //console.log("点击了我" + this.autoSaveTimer);
73
+ this.autoSaveTimer = 0;
74
+ };
75
+ static defaultProps = {
76
+ showConfirm: true,
77
+ height: "76vh",
78
+ width: "76vw",
79
+ bodyWidth: "100%",
80
+ //antd modal
81
+ forceRender: true,
82
+ style: { maxWidth: "calc(100vw - 60px)", maxHeight: "calc(100vh - 50px)" },
83
+ okText: "确定",
84
+ cancelText: "取消",
85
+ pageType: "modal",
86
+ placement: "left",
87
+ };
88
+ state = {
89
+ id: "modelDtmplEdit" + Units.getRandomNum(6),
90
+ dtmplConfig: undefined,
91
+ queryingCode: undefined,
92
+ loading: false,
93
+ serial: 1,
94
+ dtmplData: undefined,
95
+ valueFieldMap: {},
96
+ isContinueSave: false, // 是否连续保存
97
+ btnLoading: "",
98
+ drawerSize: 0,
99
+ isCopy: false,
100
+ };
101
+
102
+ async componentDidMount() {
103
+ const { height, width } = this.props;
104
+ const placement = this.props.placement || 'left';
105
+ this.setState({ drawerSize: ["top", "bottom"].includes(placement) ? height : width });
106
+ if (this.props.open) {
107
+ await this.loadConfigData();
108
+ }
109
+ }
110
+
111
+ async componentDidUpdate(prevProps) {
112
+ const { dtmplConfig } = this.state;
113
+ //debugger
114
+ if (prevProps && prevProps != this.props) {
115
+ if (
116
+ prevProps.sourceId != this.props.sourceId ||
117
+ prevProps.code != this.props.code ||
118
+ prevProps.addTmplId != this.props.addTmplId ||
119
+ !dtmplConfig || dtmplConfig == 'null'
120
+ ) {
121
+ await this.loadConfigData();
122
+ } else {
123
+ await this.handleBuildInFuncFields(dtmplConfig);
124
+ await this.loadData(dtmplConfig);
125
+ }
126
+ }
127
+ }
128
+
129
+ componentWillUnmount(): void {
130
+ if (this.autoSaveInterval) {
131
+ clearInterval(this.autoSaveInterval);
132
+ }
133
+ }
134
+
135
+ loadConfigData = async () => {
136
+ const { sourceId, open, code, serverKey, addTmplId, isCopy } = this.props;
137
+ this.setState({
138
+ loading: true,
139
+ });
140
+ let dtmplConfig = undefined;
141
+ if (code) {
142
+ dtmplConfig = await HCDataSource.requestDtmplConfig(
143
+ serverKey,
144
+ sourceId,
145
+ code
146
+ );
147
+ } else {
148
+ dtmplConfig = await HCDataSource.requestAddDtmplConfig(
149
+ serverKey,
150
+ sourceId,
151
+ addTmplId
152
+ );
153
+ }
154
+ this.handleRelValueField(dtmplConfig);
155
+ await this.handleBuildInFuncFields(dtmplConfig);
156
+ // 直接复制
157
+ if (dtmplConfig?.entity && dtmplConfig?.entity?.code == code) {
158
+ let dtmplData = dtmplConfig.entity;
159
+ dtmplConfig.entity = undefined;
160
+ if (isCopy) { // 是否复制
161
+ this.setState({ dtmplData: { ...dtmplData, code: undefined }, loading: false });
162
+ } else {
163
+ this.setState({ dtmplData, id: code, loading: false });
164
+ }
165
+ } else {
166
+ await this.loadData(dtmplConfig);
167
+ }
168
+ this.setState({
169
+ dtmplConfig,
170
+ loading: false,
171
+ });
172
+ };
173
+
174
+ // 表单关联项secondCriterion处理start
175
+ getSubDtmplData = async (valueField, code) => {
176
+ const { serverKey } = this.props;
177
+ let dtmplData = null;
178
+ const cacheKey = `${valueField.extRefPageId || valueField.id}_${code.split("@R@")[0]}`; //缓存Key
179
+ const cacheData = subDtmplDataCache.get(cacheKey);
180
+ if (cacheData !== undefined) { // 存在缓存使用缓存,减少请求次数
181
+ dtmplData = cacheData;
182
+ } else {
183
+ if (valueField.extRefPageId) { // 存在extRefPageId(扩展关联页面),则优先使用extRefPageId(例如:枚举值无指向页面,使用扩展关联页面)
184
+ const { entities } = await HcserviceV3.requestLtmplQueryTop(null, valueField.extRefPageId, { top: 1, secondCriterion: code.split("@R@")[0] }) || {};
185
+ dtmplData = entities?.[0];
186
+ } else { // 查询字段指向页面的数据
187
+ dtmplData = await HcserviceV3.requestDtmplData(serverKey, valueField.id, code.split("@R@")[0], null);
188
+ }
189
+ subDtmplDataCache.set(cacheKey, dtmplData || false);
190
+ }
191
+ if (!dtmplData) return null;
192
+ const subField = valueField.subRelValueField;
193
+ const subData = dtmplData.fieldMap[subField.id];
194
+ if (subField.subRelValueField && subData) { // 存在下级关联项
195
+ return this.getSubDtmplData(subField, subData);
196
+ }
197
+ return subData;
198
+ }
199
+
200
+ getSecondCriteria = async (field) => {
201
+ const { parentFormInstance } = this.props;
202
+ const { relValueField, relValueField3, baseCriteria = {}, relMinValueField, relMaxValueField } = field;
203
+ const temForm = parentFormInstance || this.formRef.current;
204
+ if (relValueField && temForm) { // 设置默认值或查询次条件
205
+ let relValueData = temForm.getFieldValue(relValueField.id);
206
+ if (relValueField.subRelValueField && relValueData) {
207
+ relValueData = await this.getSubDtmplData(relValueField, relValueData);
208
+ }
209
+ if (!relValueFieldExtControlType.includes(field.extControlType)) {
210
+ field.defaultValue = relValueData; // 非关系型字段填充默认值
211
+ } else {
212
+ field.baseCriteria = { ...(baseCriteria || {}), "secondCriterion": relValueData };
213
+ }
214
+ field.configChanged = true;
215
+ }
216
+ if (relValueField3 && temForm) { // 设置查询三条件
217
+ let relValueData = temForm.getFieldValue(relValueField3.id);
218
+ if (relValueField3.subRelValueField && relValueData) {
219
+ relValueData = await this.getSubDtmplData(relValueField3, relValueData);
220
+ }
221
+ field.baseCriteria = { ...(field.baseCriteria || {}), "thirdCriterion": relValueData };
222
+ field.configChanged = true;
223
+ }
224
+ if (relMinValueField && temForm) { // 设置最小值
225
+ let relValueData = temForm.getFieldValue(relMinValueField.id);
226
+ if (relMinValueField.subRelValueField && relValueData) {
227
+ relValueData = await this.getSubDtmplData(relMinValueField, relValueData);
228
+ }
229
+ field.min = relValueData;
230
+ field.configChanged = true;
231
+ }
232
+ if (relMaxValueField && temForm) { // 设置最大值
233
+ let relValueData = temForm.getFieldValue(relMaxValueField.id);
234
+ if (relMaxValueField.subRelValueField && relValueData) {
235
+ relValueData = await this.getSubDtmplData(relMaxValueField, relValueData);
236
+ }
237
+ field.max = relValueData;
238
+ field.configChanged = true;
239
+ }
240
+ return field;
241
+ }
242
+ // 表单关联项secondCriterion处理end
243
+
244
+ loadData = async (dtmplConfig: DtmplConfig) => {
245
+ const {
246
+ sourceId,
247
+ code: propsCode,
248
+ defaultDtmplData,
249
+ open,
250
+ serverKey,
251
+ codeSource, isCopy
252
+ } = this.props;
253
+
254
+ if (!open) {
255
+ return;
256
+ }
257
+
258
+ if (dtmplConfig?.autoSaveInterval && dtmplConfig?.autoSaveInterval > 0) {
259
+ if (this.autoSaveInterval) {
260
+ clearInterval(this.autoSaveInterval);
261
+ }
262
+ this.autoSaveInterval = setInterval(() => {
263
+ if (this.autoSaveTimer >= dtmplConfig.autoSaveInterval) {
264
+ //console.log('执行自动保存');
265
+ this.autoSaveTimer = -1000000000000000;
266
+ this.setState({ btnLoading: "saveLoading" });
267
+ this.doSubmit(undefined);
268
+ } else {
269
+ this.autoSaveTimer = this.autoSaveTimer + 1;
270
+ }
271
+ }, 1000);
272
+ }
273
+
274
+ let code = propsCode;
275
+ if (!code && codeSource) {
276
+ code = await HcserviceV3.queryCode(sourceId, codeSource, serverKey);
277
+ }
278
+
279
+ if (code) {
280
+ this.setState({
281
+ loading: true,
282
+ queryingCode: code,
283
+ dtmplData: undefined,
284
+ });
285
+
286
+ const dtmplData_: DtmplData = await HcserviceV3.getDtmplData(
287
+ dtmplConfig,
288
+ serverKey,
289
+ sourceId,
290
+ code
291
+ );
292
+
293
+ if ((!this.state.queryingCode || this.state.queryingCode == dtmplData_.code) &&
294
+ (!dtmplData_.sourceId || (this.props.sourceId == dtmplData_.sourceId))) {
295
+ if (isCopy) {
296
+ this.setState({ dtmplData: { ...dtmplData_, code: undefined }, id: undefined });
297
+ } else {
298
+ this.setState({ dtmplData: dtmplData_, id: code });
299
+ }
300
+ }
301
+ this.setState({
302
+ loading: false,
303
+ });
304
+ } else if (defaultDtmplData) {
305
+ this.setState({
306
+ dtmplData: defaultDtmplData,
307
+ loading: false,
308
+ });
309
+ } else {
310
+ this.setState({
311
+ dtmplData: {
312
+ code: undefined,
313
+ title: undefined,
314
+ fieldMap: {},
315
+ arrayMap: {},
316
+ },
317
+ loading: false,
318
+ });
319
+ }
320
+ setTimeout(() => this.onValuesChange(), 300);
321
+ };
322
+
323
+ /**
324
+ * 处理表单关联项
325
+ * 匹配关联项的字段,实现值更新关联字段值变化
326
+ */
327
+ handleRelValueField = (dtmplConfig: DtmplConfig) => {
328
+ if (!dtmplConfig) {
329
+ return;
330
+ }
331
+ const { groups } = dtmplConfig;
332
+ const valueFieldMap = groups.reduce((total, item) => {
333
+ if (item.fields) {
334
+ item.fields.forEach(field => {
335
+ if (field.relValueField) { // 关联取值字段
336
+ const temArr = total[field.relValueField.id] || [];
337
+ const isSameGroup = item.fields.some(f => f.id === field.relValueField.id);
338
+ const temField = isSameGroup ? field : item;
339
+ const isItem = temArr.find(r => r.id === temField.id);
340
+ if (!isItem) {
341
+ total[field.relValueField.id] = [...temArr, temField];
342
+ }
343
+ }
344
+ if (field.relValueField3) { // 关联取值字段扩1
345
+ const temArr = total[field.relValueField3.id] || [];
346
+ const isSameGroup = item.fields.some(f => f.id === field.relValueField3.id);
347
+ const temField = isSameGroup ? field : item;
348
+ const isItem = temArr.find(r => r.id === temField.id);
349
+ if (!isItem) {
350
+ total[field.relValueField3.id] = [...temArr, temField];
351
+ }
352
+ }
353
+ })
354
+ }
355
+ return total;
356
+ }, {});
357
+ this.setState({ valueFieldMap });
358
+ };
359
+
360
+ //关联取值:根据 parentFormInstance / this.formRef 完善 dtmplConfig
361
+ handleBuildInFuncFields = async (tDtmplConfig?: DtmplConfig) => {
362
+ const dtmplConfig = tDtmplConfig || this.state.dtmplConfig;
363
+ if (dtmplConfig) {
364
+ if (!dtmplConfig.buildInFuncFields) {
365
+ dtmplConfig.buildInFuncFields = TmplConfigAnalysis.buildInFuncFields(dtmplConfig);
366
+ }
367
+ dtmplConfig.buildInFuncFields = await Promise.all(dtmplConfig.buildInFuncFields.map(field => this.getSecondCriteria(field)));
368
+ }
369
+ }
370
+
371
+ onValuesChange = (changedValues?: any, allValues?: any) => {
372
+ const { dtmplData, valueFieldMap, dtmplConfig } = this.state;
373
+ this.handleBuildInFuncFields();
374
+ const { groups } = dtmplConfig;
375
+ const changeValKey = Object.keys(changedValues || {})[0];
376
+ const clearValues = {}; // 清空关联字段值
377
+ if (changeValKey && valueFieldMap[changeValKey]) {
378
+ // 处理关联字段值变化, 表单值变化,处理关联字段值为空
379
+ const temArrayMap = valueFieldMap[changeValKey].reduce((total, item) => {
380
+ if (groups.some(g => g.id === item.id)) {
381
+ total[item.id] = []; // 清空关联字段组
382
+ } else {
383
+ clearValues[item.id] = undefined;
384
+ }
385
+ return total;
386
+ }, {});
387
+ this.setState({ dtmplData: { ...dtmplData, fieldMap: { ...allValues, ...clearValues }, arrayMap: { ...dtmplData.arrayMap, ...temArrayMap } } });
388
+ }
389
+ this.setState({ serial: this.state.serial + 1 });
390
+ };
391
+
392
+ doSubmit = (actionId?: number, codes?: string[], params?: object, isContinue?: boolean) => {
393
+ const { mainCode } = this.props;
394
+ //if (actionId) {
395
+ this.formRef.current.setFieldsValue({ actionId: actionId });
396
+ // }
397
+ if (mainCode) {
398
+ this.formRef.current.setFieldsValue({ mainCode: mainCode });
399
+ }
400
+ if (params) {
401
+ this.formRef.current.setFieldsValue(params);
402
+ }
403
+ this.formRef.current.submit();
404
+ this.setState({ isContinueSave: isContinue });
405
+ };
406
+
407
+ getFooter = () => {
408
+ const { onCancel, serverKey } = this.props;
409
+ const { dtmplData, serial, loading, btnLoading } = this.state;
410
+ const footerButtons = [];
411
+ const { dtmplConfig } = this.state;
412
+ const { saveBtnTitle, continueSaveBtnTitle } = dtmplConfig || {};
413
+ const { translate } = this.context;
414
+ if (dtmplConfig?.buttons?.includes("dtmplSave")) {
415
+ footerButtons.unshift(
416
+ <Button type="primary" loading={loading || btnLoading === "saveLoading"} onClick={() => {
417
+ this.setState({ btnLoading: "saveLoading" });
418
+ this.doSubmit();
419
+ }}>
420
+ {translate("${" + (saveBtnTitle || "保存") + "}")}
421
+ </Button>
422
+ );
423
+ if (continueSaveBtnTitle) {
424
+ footerButtons.unshift(
425
+ <Button type="primary" loading={loading || btnLoading === "continueSaveLoading"} onClick={() => {
426
+ this.setState({ btnLoading: "continueSaveLoading" });
427
+ this.doSubmit(null, null, null, true);
428
+ }}>
429
+ {translate("${" + continueSaveBtnTitle + "}")}
430
+ </Button>
431
+ );
432
+ }
433
+ }
434
+ //处理action
435
+ if (dtmplConfig) {
436
+ dtmplConfig.actions.forEach((ac, index) => {
437
+ footerButtons.unshift(
438
+ <Action
439
+ serverKey={serverKey}
440
+ iconType={"icon-title"}
441
+ hiddenType={"disabled"}
442
+ serial={serial}
443
+ key={ac.id}
444
+ data={[dtmplData]}
445
+ formRef={this.formRef}
446
+ actionConfig={ac}
447
+ doAction={(...val) => {
448
+ this.setState({ btnLoading: `actionLoading${index}` });
449
+ this.doSubmit(...val);
450
+ }}
451
+ loading={loading || btnLoading === `actionLoading${index}`}
452
+ />
453
+ );
454
+ });
455
+ }
456
+ footerButtons.unshift(
457
+ <Popconfirm
458
+ key="back"
459
+ placement="topLeft"
460
+ title={translate("${确定要取消本次修改内容吗}?")}
461
+ onConfirm={onCancel}
462
+ okText={translate("${确定}")}
463
+ cancelText={translate("${取消}")}
464
+ >
465
+ <Button>{translate("${取消}")}</Button>
466
+ </Popconfirm>
467
+ );
468
+ return footerButtons;
469
+ };
470
+
471
+ onFinish = (code) => {
472
+ const { code: propsCode } = this.props;
473
+ const { isContinueSave } = this.state;
474
+ this.setState({ loading: false, btnLoading: "" });
475
+ if (code) {
476
+ if (propsCode && isContinueSave) {
477
+ this.loadConfigData();
478
+ } else {
479
+ this.props.onOk(code, isContinueSave);
480
+ }
481
+ }
482
+ }
483
+
484
+ render() {
485
+ const {
486
+ height,
487
+ onCancel,
488
+ sourceId,
489
+ open,
490
+ mainCode,
491
+ width,
492
+ pageType,
493
+ maxColsOnRow,
494
+ title,
495
+ serverKey, parentFormInstance
496
+ } = this.props;
497
+ const { dtmplConfig, id, dtmplData, valueFieldMap, drawerSize } = this.state;
498
+ const placement = this.props.placement || "left";
499
+ const maxSize = ["top", "bottom"].includes(placement) ? document.documentElement.clientHeight : document.documentElement.clientWidth * 0.9;
500
+
501
+ let title1 = title ? title : dtmplConfig ? dtmplConfig.title : "";
502
+ const { translate } = this.context;
503
+ //判断是不是 字符串
504
+ if (typeof title1 === "string") {
505
+ title1 = translate("${" + title1 + "}");
506
+ }
507
+
508
+ return (
509
+ <>
510
+ {pageType === "modal" ? (
511
+ // <Draggable handle=".ant-modal-header">
512
+ <DraggableModal
513
+ open={open}
514
+ width={width}
515
+ title={title1}
516
+ closable={false}
517
+ styles={{ body: { height: height, overflow: "auto" } }}
518
+ destroyOnHidden={true}
519
+ centered
520
+ onCancel={onCancel}
521
+ footer={this.getFooter()}
522
+ children={<Scrollbars autoHide autoHideTimeout={1000}>
523
+ <div onClick={this.onClickBody}>
524
+ <DtmplForm
525
+ serverKey={serverKey}
526
+ mainCode={mainCode}
527
+ parentId={id}
528
+ dtmplConfig={dtmplConfig}
529
+ formRef={this.formRef}
530
+ sourceId={sourceId}
531
+ onFinish={this.onFinish}
532
+ maxColsOnRow={maxColsOnRow}
533
+ showConfirm={false}
534
+ dtmplData={dtmplData}
535
+ onValuesChange={this.onValuesChange}
536
+ parentFormInstance={parentFormInstance}
537
+ valueFieldMap={valueFieldMap}
538
+ />
539
+ </div>
540
+ </Scrollbars>}
541
+ >
542
+ </DraggableModal>
543
+ // </Draggable>
544
+ ) : pageType === "drawer" ? (
545
+ <Drawer
546
+ onClick={this.onClickBody}
547
+ title={title1}
548
+ placement={placement}
549
+ resizable={{ onResize: (newSize => this.setState({ drawerSize: newSize })) }}
550
+ size={drawerSize}
551
+ maxSize={maxSize}
552
+ closable={true}
553
+ mask={false}
554
+ onClose={onCancel}
555
+ open={open}
556
+ style={{ border: "2px solid #d9d9d9" }}
557
+ extra={<Space>{this.getFooter()}</Space>}
558
+ styles={{ body: { minWidth: width ? width - 4 : 0 } }}
559
+ >
560
+ <div style={{ width: '100%' }}>
561
+ <DtmplForm
562
+ serverKey={serverKey}
563
+ mainCode={mainCode}
564
+ parentId={id}
565
+ dtmplConfig={dtmplConfig}
566
+ formRef={this.formRef}
567
+ sourceId={sourceId}
568
+ onFinish={this.onFinish}
569
+ maxColsOnRow={maxColsOnRow}
570
+ showConfirm={false}
571
+ dtmplData={dtmplData}
572
+ onValuesChange={this.onValuesChange}
573
+ parentFormInstance={parentFormInstance}
574
+ valueFieldMap={valueFieldMap}
575
+ />
576
+ </div>
577
+ </Drawer>
578
+ ) : (
579
+ <Card title={title1}>
580
+ <DtmplForm
581
+ serverKey={serverKey}
582
+ mainCode={mainCode}
583
+ parentId={id}
584
+ dtmplConfig={dtmplConfig}
585
+ formRef={this.formRef}
586
+ sourceId={sourceId}
587
+ onFinish={this.onFinish}
588
+ maxColsOnRow={maxColsOnRow}
589
+ showConfirm={false}
590
+ dtmplData={dtmplData}
591
+ onValuesChange={this.onValuesChange}
592
+ parentFormInstance={parentFormInstance}
593
+ valueFieldMap={valueFieldMap}
594
+ />
595
+ </Card>
596
+ )}
597
+ </>
598
+ );
599
+ }
600
+ }