aldehyde 0.2.97 → 0.2.99

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 (389) hide show
  1. package/LICENSE +1 -1
  2. package/lib/controls/action/index.d.ts +16 -7
  3. package/lib/controls/action/index.d.ts.map +1 -1
  4. package/lib/controls/action/index.js +64 -48
  5. package/lib/controls/action/index.js.map +1 -1
  6. package/lib/controls/action/utils.d.ts +1 -1
  7. package/lib/controls/action/utils.d.ts.map +1 -1
  8. package/lib/controls/action/utils.js +6 -4
  9. package/lib/controls/action/utils.js.map +1 -1
  10. package/lib/controls/auto-complete/index.d.ts +1 -1
  11. package/lib/controls/auto-complete/index.d.ts.map +1 -1
  12. package/lib/controls/auto-complete/index.js +12 -6
  13. package/lib/controls/auto-complete/index.js.map +1 -1
  14. package/lib/controls/chemstruc/graph.d.ts +13 -4
  15. package/lib/controls/chemstruc/graph.d.ts.map +1 -1
  16. package/lib/controls/chemstruc/graph.js +40 -27
  17. package/lib/controls/chemstruc/graph.js.map +1 -1
  18. package/lib/controls/color-picker/index.d.ts +11 -2
  19. package/lib/controls/color-picker/index.d.ts.map +1 -1
  20. package/lib/controls/color-picker/index.js +23 -19
  21. package/lib/controls/color-picker/index.js.map +1 -1
  22. package/lib/controls/cquery/cquick-button.d.ts +11 -2
  23. package/lib/controls/cquery/cquick-button.d.ts.map +1 -1
  24. package/lib/controls/cquery/cquick-button.js +30 -28
  25. package/lib/controls/cquery/cquick-button.js.map +1 -1
  26. package/lib/controls/entity-select/entity-select.d.ts +12 -3
  27. package/lib/controls/entity-select/entity-select.d.ts.map +1 -1
  28. package/lib/controls/entity-select/entity-select.js +66 -64
  29. package/lib/controls/entity-select/entity-select.js.map +1 -1
  30. package/lib/controls/entity-select/lab-tree-select.d.ts +11 -2
  31. package/lib/controls/entity-select/lab-tree-select.d.ts.map +1 -1
  32. package/lib/controls/entity-select/lab-tree-select.js +26 -21
  33. package/lib/controls/entity-select/lab-tree-select.js.map +1 -1
  34. package/lib/controls/entity-select/popover-entity-select.d.ts +11 -2
  35. package/lib/controls/entity-select/popover-entity-select.d.ts.map +1 -1
  36. package/lib/controls/entity-select/popover-entity-select.js +30 -26
  37. package/lib/controls/entity-select/popover-entity-select.js.map +1 -1
  38. package/lib/controls/entry-control.d.ts +1 -1
  39. package/lib/controls/entry-control.d.ts.map +1 -1
  40. package/lib/controls/entry-control.js +152 -98
  41. package/lib/controls/entry-control.js.map +1 -1
  42. package/lib/controls/html-editor/tinymce.d.ts.map +1 -1
  43. package/lib/controls/input-number/index.d.ts +1 -1
  44. package/lib/controls/input-number/index.d.ts.map +1 -1
  45. package/lib/controls/input-number/index.js +31 -23
  46. package/lib/controls/input-number/index.js.map +1 -1
  47. package/lib/controls/input-range/index.d.ts +1 -1
  48. package/lib/controls/input-range/index.d.ts.map +1 -1
  49. package/lib/controls/input-range/index.js +9 -8
  50. package/lib/controls/input-range/index.js.map +1 -1
  51. package/lib/controls/password-setter/index.d.ts +9 -3
  52. package/lib/controls/password-setter/index.d.ts.map +1 -1
  53. package/lib/controls/password-setter/index.js +22 -14
  54. package/lib/controls/password-setter/index.js.map +1 -1
  55. package/lib/controls/progress/index.d.ts +1 -1
  56. package/lib/controls/progress/index.d.ts.map +1 -1
  57. package/lib/controls/progress/index.js +13 -6
  58. package/lib/controls/progress/index.js.map +1 -1
  59. package/lib/controls/relation-existion/index.d.ts +11 -2
  60. package/lib/controls/relation-existion/index.d.ts.map +1 -1
  61. package/lib/controls/relation-existion/index.js +30 -18
  62. package/lib/controls/relation-existion/index.js.map +1 -1
  63. package/lib/controls/rfield/index.d.ts +11 -2
  64. package/lib/controls/rfield/index.d.ts.map +1 -1
  65. package/lib/controls/rfield/index.js +33 -35
  66. package/lib/controls/rfield/index.js.map +1 -1
  67. package/lib/controls/signature/index.d.ts +10 -1
  68. package/lib/controls/signature/index.d.ts.map +1 -1
  69. package/lib/controls/signature/index.js +56 -31
  70. package/lib/controls/signature/index.js.map +1 -1
  71. package/lib/controls/steps/index.d.ts +1 -1
  72. package/lib/controls/steps/index.d.ts.map +1 -1
  73. package/lib/controls/steps/index.js +8 -6
  74. package/lib/controls/steps/index.js.map +1 -1
  75. package/lib/controls/text/ellipsis-text.d.ts +9 -0
  76. package/lib/controls/text/ellipsis-text.d.ts.map +1 -1
  77. package/lib/controls/text/ellipsis-text.js +13 -11
  78. package/lib/controls/text/ellipsis-text.js.map +1 -1
  79. package/lib/controls/upload/index.d.ts +10 -1
  80. package/lib/controls/upload/index.d.ts.map +1 -1
  81. package/lib/controls/upload/index.js +30 -21
  82. package/lib/controls/upload/index.js.map +1 -1
  83. package/lib/controls/view-control.d.ts +1 -1
  84. package/lib/controls/view-control.d.ts.map +1 -1
  85. package/lib/controls/view-control.js +118 -85
  86. package/lib/controls/view-control.js.map +1 -1
  87. package/lib/custom-page/def-custom-page.d.ts +5 -6
  88. package/lib/custom-page/def-custom-page.d.ts.map +1 -1
  89. package/lib/custom-page/def-custom-page.js +13 -12
  90. package/lib/custom-page/def-custom-page.js.map +1 -1
  91. package/lib/custom-page/dtmpl-custom-edit-modal-page.d.ts +10 -1
  92. package/lib/custom-page/dtmpl-custom-edit-modal-page.d.ts.map +1 -1
  93. package/lib/custom-page/dtmpl-custom-edit-modal-page.js +19 -7
  94. package/lib/custom-page/dtmpl-custom-edit-modal-page.js.map +1 -1
  95. package/lib/detail/button/bottom-submit-button-bar.d.ts +11 -2
  96. package/lib/detail/button/bottom-submit-button-bar.d.ts.map +1 -1
  97. package/lib/detail/button/bottom-submit-button-bar.js +20 -12
  98. package/lib/detail/button/bottom-submit-button-bar.js.map +1 -1
  99. package/lib/detail/button/cquery-button-bar.d.ts +12 -3
  100. package/lib/detail/button/cquery-button-bar.d.ts.map +1 -1
  101. package/lib/detail/button/cquery-button-bar.js +22 -18
  102. package/lib/detail/button/cquery-button-bar.js.map +1 -1
  103. package/lib/detail/button/fix-right-submit-button-bar.d.ts +11 -2
  104. package/lib/detail/button/fix-right-submit-button-bar.d.ts.map +1 -1
  105. package/lib/detail/button/fix-right-submit-button-bar.js +28 -23
  106. package/lib/detail/button/fix-right-submit-button-bar.js.map +1 -1
  107. package/lib/detail/edit/fields-edit-card.d.ts +11 -2
  108. package/lib/detail/edit/fields-edit-card.d.ts.map +1 -1
  109. package/lib/detail/edit/fields-edit-card.js +18 -19
  110. package/lib/detail/edit/fields-edit-card.js.map +1 -1
  111. package/lib/detail/edit/modal-row-edit.d.ts +11 -2
  112. package/lib/detail/edit/modal-row-edit.d.ts.map +1 -1
  113. package/lib/detail/edit/modal-row-edit.js +14 -11
  114. package/lib/detail/edit/modal-row-edit.js.map +1 -1
  115. package/lib/detail/edit/post-result/index.d.ts +1 -1
  116. package/lib/detail/edit/post-result/index.d.ts.map +1 -1
  117. package/lib/detail/edit/post-result/index.js +17 -12
  118. package/lib/detail/edit/post-result/index.js.map +1 -1
  119. package/lib/detail/edit/row-edit-card.d.ts +11 -2
  120. package/lib/detail/edit/row-edit-card.d.ts.map +1 -1
  121. package/lib/detail/edit/row-edit-card.js +23 -23
  122. package/lib/detail/edit/row-edit-card.js.map +1 -1
  123. package/lib/detail/rightbar/index.d.ts +12 -3
  124. package/lib/detail/rightbar/index.d.ts.map +1 -1
  125. package/lib/detail/rightbar/index.js +16 -9
  126. package/lib/detail/rightbar/index.js.map +1 -1
  127. package/lib/detail/view/act-dtmpl-view.d.ts +11 -2
  128. package/lib/detail/view/act-dtmpl-view.d.ts.map +1 -1
  129. package/lib/detail/view/act-dtmpl-view.js +26 -25
  130. package/lib/detail/view/act-dtmpl-view.js.map +1 -1
  131. package/lib/detail/view/dtmpl-view.d.ts +2 -2
  132. package/lib/detail/view/dtmpl-view.d.ts.map +1 -1
  133. package/lib/detail/view/dtmpl-view.js +40 -40
  134. package/lib/detail/view/dtmpl-view.js.map +1 -1
  135. package/lib/detail/view/modal-dtmpl-view.d.ts +10 -1
  136. package/lib/detail/view/modal-dtmpl-view.d.ts.map +1 -1
  137. package/lib/detail/view/modal-dtmpl-view.js +11 -8
  138. package/lib/detail/view/modal-dtmpl-view.js.map +1 -1
  139. package/lib/detail/view/snapshot-timeline.d.ts +11 -2
  140. package/lib/detail/view/snapshot-timeline.d.ts.map +1 -1
  141. package/lib/detail/view/snapshot-timeline.js +18 -16
  142. package/lib/detail/view/snapshot-timeline.js.map +1 -1
  143. package/lib/exportor/export-frame.d.ts +11 -2
  144. package/lib/exportor/export-frame.d.ts.map +1 -1
  145. package/lib/exportor/export-frame.js +41 -42
  146. package/lib/exportor/export-frame.js.map +1 -1
  147. package/lib/form/criteria-form.d.ts +2 -2
  148. package/lib/form/criteria-form.d.ts.map +1 -1
  149. package/lib/form/criteria-form.js +58 -45
  150. package/lib/form/criteria-form.js.map +1 -1
  151. package/lib/form/dtmpl-form.d.ts +11 -2
  152. package/lib/form/dtmpl-form.d.ts.map +1 -1
  153. package/lib/form/dtmpl-form.js +76 -61
  154. package/lib/form/dtmpl-form.js.map +1 -1
  155. package/lib/form/field-group-form.d.ts +12 -3
  156. package/lib/form/field-group-form.d.ts.map +1 -1
  157. package/lib/form/field-group-form.js +26 -18
  158. package/lib/form/field-group-form.js.map +1 -1
  159. package/lib/form/form-Item-group.d.ts +10 -1
  160. package/lib/form/form-Item-group.d.ts.map +1 -1
  161. package/lib/form/form-Item-group.js +43 -26
  162. package/lib/form/form-Item-group.js.map +1 -1
  163. package/lib/import/excel-import.d.ts +12 -3
  164. package/lib/import/excel-import.d.ts.map +1 -1
  165. package/lib/import/excel-import.js +69 -55
  166. package/lib/import/excel-import.js.map +1 -1
  167. package/lib/index.d.ts +42 -39
  168. package/lib/index.d.ts.map +1 -1
  169. package/lib/index.js +43 -39
  170. package/lib/index.js.map +1 -1
  171. package/lib/layout/MainPage.d.ts +1 -1
  172. package/lib/layout/MainPage.d.ts.map +1 -1
  173. package/lib/layout/MainPage.js +46 -36
  174. package/lib/layout/MainPage.js.map +1 -1
  175. package/lib/layout/footer/index.d.ts.map +1 -1
  176. package/lib/layout/header/index.d.ts +1 -1
  177. package/lib/layout/header/index.d.ts.map +1 -1
  178. package/lib/layout/header/index.js +16 -14
  179. package/lib/layout/header/index.js.map +1 -1
  180. package/lib/layout/menu/l2menu-quick-bar.d.ts +11 -2
  181. package/lib/layout/menu/l2menu-quick-bar.d.ts.map +1 -1
  182. package/lib/layout/menu/l2menu-quick-bar.js +24 -19
  183. package/lib/layout/menu/l2menu-quick-bar.js.map +1 -1
  184. package/lib/layout/menu/reset-password.d.ts +12 -3
  185. package/lib/layout/menu/reset-password.d.ts.map +1 -1
  186. package/lib/layout/menu/reset-password.js +52 -36
  187. package/lib/layout/menu/reset-password.js.map +1 -1
  188. package/lib/layout/menu/user-bar.d.ts +12 -3
  189. package/lib/layout/menu/user-bar.d.ts.map +1 -1
  190. package/lib/layout/menu/user-bar.js +72 -42
  191. package/lib/layout/menu/user-bar.js.map +1 -1
  192. package/lib/layout/menu/userinfo-bar.d.ts +10 -1
  193. package/lib/layout/menu/userinfo-bar.d.ts.map +1 -1
  194. package/lib/layout/menu/userinfo-bar.js +11 -10
  195. package/lib/layout/menu/userinfo-bar.js.map +1 -1
  196. package/lib/layout/sidebar/index.css +15 -4
  197. package/lib/layout/sidebar/index.d.ts +2 -2
  198. package/lib/layout/sidebar/index.d.ts.map +1 -1
  199. package/lib/layout/sidebar/index.js +19 -13
  200. package/lib/layout/sidebar/index.js.map +1 -1
  201. package/lib/locale/LocaleButton.d.ts +4 -0
  202. package/lib/locale/LocaleButton.d.ts.map +1 -0
  203. package/lib/locale/LocaleButton.js +24 -0
  204. package/lib/locale/LocaleButton.js.map +1 -0
  205. package/lib/locale/LocaleProvider.d.ts +13 -0
  206. package/lib/locale/LocaleProvider.d.ts.map +1 -0
  207. package/lib/locale/LocaleProvider.js +135 -0
  208. package/lib/locale/LocaleProvider.js.map +1 -0
  209. package/lib/locale/langMp.d.ts +16 -0
  210. package/lib/locale/langMp.d.ts.map +1 -0
  211. package/lib/locale/langMp.js +29 -0
  212. package/lib/locale/langMp.js.map +1 -0
  213. package/lib/locale/translate.d.ts +3 -0
  214. package/lib/locale/translate.d.ts.map +1 -0
  215. package/lib/locale/translate.js +74 -0
  216. package/lib/locale/translate.js.map +1 -0
  217. package/lib/locale/useLocale.d.ts +14 -0
  218. package/lib/locale/useLocale.d.ts.map +1 -0
  219. package/lib/locale/useLocale.js +34 -0
  220. package/lib/locale/useLocale.js.map +1 -0
  221. package/lib/login/login.d.ts +13 -3
  222. package/lib/login/login.d.ts.map +1 -1
  223. package/lib/login/login.js +38 -25
  224. package/lib/login/login.js.map +1 -1
  225. package/lib/login/router-login.d.ts +2 -2
  226. package/lib/login/router-login.d.ts.map +1 -1
  227. package/lib/login/router-login.js +33 -19
  228. package/lib/login/router-login.js.map +1 -1
  229. package/lib/module/dtmpl-edit-card.d.ts +11 -2
  230. package/lib/module/dtmpl-edit-card.d.ts.map +1 -1
  231. package/lib/module/dtmpl-edit-card.js +21 -13
  232. package/lib/module/dtmpl-edit-card.js.map +1 -1
  233. package/lib/module/dtmpl-edit-page.d.ts +12 -3
  234. package/lib/module/dtmpl-edit-page.d.ts.map +1 -1
  235. package/lib/module/dtmpl-edit-page.js +42 -31
  236. package/lib/module/dtmpl-edit-page.js.map +1 -1
  237. package/lib/module/ltmpl-modal.d.ts +10 -1
  238. package/lib/module/ltmpl-modal.d.ts.map +1 -1
  239. package/lib/module/ltmpl-modal.js +15 -8
  240. package/lib/module/ltmpl-modal.js.map +1 -1
  241. package/lib/module/ltmpl-table.d.ts +11 -2
  242. package/lib/module/ltmpl-table.d.ts.map +1 -1
  243. package/lib/module/ltmpl-table.js +39 -39
  244. package/lib/module/ltmpl-table.js.map +1 -1
  245. package/lib/table/act-table.d.ts +12 -3
  246. package/lib/table/act-table.d.ts.map +1 -1
  247. package/lib/table/act-table.js +256 -205
  248. package/lib/table/act-table.js.map +1 -1
  249. package/lib/table/control-table-x-axis-wrapper.d.ts +5 -0
  250. package/lib/table/control-table-x-axis-wrapper.d.ts.map +1 -0
  251. package/lib/table/control-table-x-axis-wrapper.js +60 -0
  252. package/lib/table/control-table-x-axis-wrapper.js.map +1 -0
  253. package/lib/table/l2-act-table.d.ts +1 -1
  254. package/lib/table/pagination.d.ts +11 -2
  255. package/lib/table/pagination.d.ts.map +1 -1
  256. package/lib/table/pagination.js +13 -12
  257. package/lib/table/pagination.js.map +1 -1
  258. package/lib/table/query-table.d.ts.map +1 -1
  259. package/lib/table/query-table.js +2 -1
  260. package/lib/table/query-table.js.map +1 -1
  261. package/lib/table/relation-table.d.ts +13 -4
  262. package/lib/table/relation-table.d.ts.map +1 -1
  263. package/lib/table/relation-table.js +117 -108
  264. package/lib/table/relation-table.js.map +1 -1
  265. package/lib/table/selected-rows-card.d.ts +10 -1
  266. package/lib/table/selected-rows-card.d.ts.map +1 -1
  267. package/lib/table/selected-rows-card.js +10 -9
  268. package/lib/table/selected-rows-card.js.map +1 -1
  269. package/lib/table/stat/restat.d.ts +10 -1
  270. package/lib/table/stat/restat.d.ts.map +1 -1
  271. package/lib/table/stat/restat.js +10 -9
  272. package/lib/table/stat/restat.js.map +1 -1
  273. package/lib/tmpl/hc-data-source.d.ts.map +1 -1
  274. package/lib/tmpl/hc-data-source.js +21 -14
  275. package/lib/tmpl/hc-data-source.js.map +1 -1
  276. package/lib/tmpl/hcservice-v3.d.ts +2 -0
  277. package/lib/tmpl/hcservice-v3.d.ts.map +1 -1
  278. package/lib/tmpl/hcservice-v3.js +127 -100
  279. package/lib/tmpl/hcservice-v3.js.map +1 -1
  280. package/lib/tmpl/model-struc-v3.d.ts.map +1 -1
  281. package/lib/tmpl/model-struc-v3.js +19 -18
  282. package/lib/tmpl/model-struc-v3.js.map +1 -1
  283. package/lib/tmpl/superagent.d.ts +2 -2
  284. package/lib/tmpl/superagent.d.ts.map +1 -1
  285. package/lib/tmpl/superagent.js +28 -23
  286. package/lib/tmpl/superagent.js.map +1 -1
  287. package/lib/tree/act-tree.d.ts +10 -1
  288. package/lib/tree/act-tree.d.ts.map +1 -1
  289. package/lib/tree/act-tree.js +26 -20
  290. package/lib/tree/act-tree.js.map +1 -1
  291. package/lib/tree/tmpl-tree.d.ts +11 -2
  292. package/lib/tree/tmpl-tree.d.ts.map +1 -1
  293. package/lib/tree/tmpl-tree.js +76 -58
  294. package/lib/tree/tmpl-tree.js.map +1 -1
  295. package/lib/units/index.d.ts.map +1 -1
  296. package/lib/welcome/HCWelcome.js +7 -23
  297. package/lib/welcome/HCWelcome.js.map +1 -1
  298. package/lib/welcome/HCWelcome1.d.ts +4 -0
  299. package/lib/welcome/HCWelcome1.d.ts.map +1 -0
  300. package/lib/welcome/HCWelcome1.js +192 -0
  301. package/lib/welcome/HCWelcome1.js.map +1 -0
  302. package/lib/welcome/quick-entrance.d.ts +12 -3
  303. package/lib/welcome/quick-entrance.d.ts.map +1 -1
  304. package/lib/welcome/quick-entrance.js +21 -17
  305. package/lib/welcome/quick-entrance.js.map +1 -1
  306. package/lib/welcome/workbench.d.ts +12 -3
  307. package/lib/welcome/workbench.d.ts.map +1 -1
  308. package/lib/welcome/workbench.js +23 -19
  309. package/lib/welcome/workbench.js.map +1 -1
  310. package/package.json +1 -1
  311. package/src/aldehyde/controls/action/index.tsx +328 -221
  312. package/src/aldehyde/controls/action/utils.tsx +6 -4
  313. package/src/aldehyde/controls/auto-complete/index.tsx +64 -60
  314. package/src/aldehyde/controls/chemstruc/graph.tsx +175 -139
  315. package/src/aldehyde/controls/color-picker/index.tsx +107 -78
  316. package/src/aldehyde/controls/cquery/cquick-button.tsx +129 -89
  317. package/src/aldehyde/controls/entity-select/entity-select.tsx +643 -521
  318. package/src/aldehyde/controls/entity-select/lab-tree-select.tsx +140 -131
  319. package/src/aldehyde/controls/entity-select/popover-entity-select.tsx +178 -133
  320. package/src/aldehyde/controls/entry-control.tsx +373 -248
  321. package/src/aldehyde/controls/input-number/index.tsx +131 -86
  322. package/src/aldehyde/controls/input-range/index.tsx +51 -40
  323. package/src/aldehyde/controls/password-setter/index.js +81 -63
  324. package/src/aldehyde/controls/progress/index.tsx +59 -46
  325. package/src/aldehyde/controls/relation-existion/index.tsx +125 -87
  326. package/src/aldehyde/controls/rfield/index.tsx +178 -151
  327. package/src/aldehyde/controls/signature/index.tsx +215 -151
  328. package/src/aldehyde/controls/steps/index.tsx +44 -42
  329. package/src/aldehyde/controls/text/ellipsis-text.tsx +79 -53
  330. package/src/aldehyde/controls/upload/index.tsx +125 -109
  331. package/src/aldehyde/controls/view-control.tsx +250 -188
  332. package/src/aldehyde/custom-page/def-custom-page.tsx +17 -0
  333. package/src/aldehyde/custom-page/dtmpl-custom-edit-modal-page.tsx +75 -66
  334. package/src/aldehyde/detail/button/bottom-submit-button-bar.tsx +79 -43
  335. package/src/aldehyde/detail/button/cquery-button-bar.tsx +129 -98
  336. package/src/aldehyde/detail/button/fix-right-submit-button-bar.tsx +161 -113
  337. package/src/aldehyde/detail/edit/fields-edit-card.tsx +124 -87
  338. package/src/aldehyde/detail/edit/modal-row-edit.tsx +81 -60
  339. package/src/aldehyde/detail/edit/post-result/index.tsx +80 -47
  340. package/src/aldehyde/detail/edit/row-edit-card.tsx +158 -107
  341. package/src/aldehyde/detail/rightbar/index.tsx +79 -63
  342. package/src/aldehyde/detail/view/act-dtmpl-view.tsx +177 -124
  343. package/src/aldehyde/detail/view/dtmpl-view.tsx +284 -178
  344. package/src/aldehyde/detail/view/modal-dtmpl-view.tsx +67 -54
  345. package/src/aldehyde/detail/view/snapshot-timeline.tsx +143 -110
  346. package/src/aldehyde/exportor/export-frame.tsx +258 -200
  347. package/src/aldehyde/form/criteria-form.tsx +309 -201
  348. package/src/aldehyde/form/dtmpl-form.tsx +460 -305
  349. package/src/aldehyde/form/field-group-form.tsx +87 -66
  350. package/src/aldehyde/form/form-Item-group.tsx +190 -132
  351. package/src/aldehyde/import/excel-import.tsx +414 -331
  352. package/src/aldehyde/index.tsx +90 -45
  353. package/src/aldehyde/layout/MainPage.tsx +280 -245
  354. package/src/aldehyde/layout/header/index.tsx +59 -53
  355. package/src/aldehyde/layout/menu/l2menu-quick-bar.tsx +137 -118
  356. package/src/aldehyde/layout/menu/reset-password.tsx +213 -162
  357. package/src/aldehyde/layout/menu/user-bar.tsx +216 -147
  358. package/src/aldehyde/layout/menu/userinfo-bar.tsx +58 -41
  359. package/src/aldehyde/layout/sidebar/index.css +15 -4
  360. package/src/aldehyde/layout/sidebar/index.tsx +66 -38
  361. package/src/aldehyde/locale/LocaleButton.tsx +31 -0
  362. package/src/aldehyde/locale/LocaleProvider.tsx +165 -0
  363. package/src/aldehyde/locale/langMp.ts +33 -0
  364. package/src/aldehyde/locale/translate.ts +78 -0
  365. package/src/aldehyde/locale/useLocale.ts +50 -0
  366. package/src/aldehyde/login/login.tsx +192 -141
  367. package/src/aldehyde/login/router-login.tsx +54 -21
  368. package/src/aldehyde/module/dtmpl-edit-card.tsx +225 -160
  369. package/src/aldehyde/module/dtmpl-edit-page.tsx +334 -212
  370. package/src/aldehyde/module/ltmpl-modal.tsx +57 -53
  371. package/src/aldehyde/module/ltmpl-table.tsx +329 -240
  372. package/src/aldehyde/table/act-table.tsx +1226 -794
  373. package/src/aldehyde/table/control-table-x-axis-wrapper.tsx +52 -0
  374. package/src/aldehyde/table/pagination.tsx +66 -59
  375. package/src/aldehyde/table/query-table.tsx +2 -1
  376. package/src/aldehyde/table/relation-table.tsx +781 -571
  377. package/src/aldehyde/table/selected-rows-card.tsx +61 -48
  378. package/src/aldehyde/table/stat/restat.tsx +112 -69
  379. package/src/aldehyde/tmpl/hc-data-source.tsx +381 -296
  380. package/src/aldehyde/tmpl/hcservice-v3.tsx +991 -796
  381. package/src/aldehyde/tmpl/model-struc-v3.tsx +95 -91
  382. package/src/aldehyde/tmpl/superagent.js +148 -142
  383. package/src/aldehyde/tree/act-tree.tsx +206 -138
  384. package/src/aldehyde/tree/tmpl-tree.tsx +611 -353
  385. package/src/aldehyde/welcome/HCWelcome.js +78 -110
  386. package/src/aldehyde/welcome/HCWelcome1.js +260 -0
  387. package/src/aldehyde/welcome/quick-entrance.tsx +82 -71
  388. package/src/aldehyde/welcome/workbench.tsx +83 -68
  389. package/src/aldehyde/custom-page/def-custom-page.js +0 -18
@@ -1,620 +1,830 @@
1
- import React from 'react'
2
- import {Button, Col, Form, message, Popover, Row, Space, Table, Tooltip, Typography} from 'antd';
1
+ import React from "react";
3
2
  import {
4
- AlignLeftOutlined,
5
- DeleteOutlined,
6
- EditOutlined,
7
- FormOutlined,
8
- PlusSquareOutlined,
9
- SnippetsOutlined
10
- } from '@ant-design/icons';
3
+ Button,
4
+ Col,
5
+ Form,
6
+ message,
7
+ Popover,
8
+ Row,
9
+ Space,
10
+ Tooltip,
11
+ Typography,
12
+ } from "antd";
13
+ import { Table } from "./control-table-x-axis-wrapper";
14
+ import {
15
+ AlignLeftOutlined,
16
+ DeleteOutlined,
17
+ EditOutlined,
18
+ FormOutlined,
19
+ PlusSquareOutlined,
20
+ SnippetsOutlined,
21
+ } from "@ant-design/icons";
11
22
  import "./index.css";
12
- import {ClassifiedAddConfig, DtmplData, FieldGroupConfig, SelectedRow, ViewOrEdit} from "../tmpl/interface";
13
- import SupportInputTypes from '../tmpl/control-type-supportor';
23
+ import {
24
+ ClassifiedAddConfig,
25
+ DtmplData,
26
+ FieldGroupConfig,
27
+ SelectedRow,
28
+ ViewOrEdit,
29
+ } from "../tmpl/interface";
30
+ import SupportInputTypes from "../tmpl/control-type-supportor";
14
31
  import TableUnits from "./table-util";
15
32
  import ViewControl from "../controls/view-control";
16
- import ModalDtmplView from '../detail/view/modal-dtmpl-view';
17
- import DtmplEditPage from '../module/dtmpl-edit-page'
18
- import ModelSelectTable from './modal-select-table';
33
+ import ModalDtmplView from "../detail/view/modal-dtmpl-view";
34
+ import DtmplEditPage from "../module/dtmpl-edit-page";
35
+ import ModelSelectTable from "./modal-select-table";
19
36
  import HcserviceV3 from "../tmpl/hcservice-v3";
20
- import CollapseCard from '../controls/collapse-card'
21
- import RowEditor from '../detail/edit/row-editor'
37
+ import CollapseCard from "../controls/collapse-card";
38
+ import RowEditor from "../detail/edit/row-editor";
22
39
  import Action from "../controls/action";
23
40
  import CountingTag from "../controls/counting-tag";
41
+ import { LocaleContext } from "../locale/LocaleProvider";
24
42
 
25
- const FormItem = Form.Item
26
- const {Text} = Typography;
43
+ const FormItem = Form.Item;
44
+ const { Text } = Typography;
27
45
 
28
46
  interface RelationTableProps {
29
- showRightNav?:boolean,
30
- mainCode?: string,
31
- serverKey?:string,
32
- parentId: string,
33
- loading: boolean,
34
- viewOrEdit: ViewOrEdit,
35
- refreshId?: string;
36
- fieldGroupConfig: FieldGroupConfig;
37
- value: DtmplData[];
38
- onChange?: (fieldGroupConfig: FieldGroupConfig, value: DtmplData[]) => void;
39
- initCollapse?: boolean,
40
- };
47
+ showRightNav?: boolean;
48
+ mainCode?: string;
49
+ serverKey?: string;
50
+ parentId: string;
51
+ loading: boolean;
52
+ viewOrEdit: ViewOrEdit;
53
+ refreshId?: string;
54
+ fieldGroupConfig: FieldGroupConfig;
55
+ value: DtmplData[];
56
+ onChange?: (fieldGroupConfig: FieldGroupConfig, value: DtmplData[]) => void;
57
+ initCollapse?: boolean;
58
+ }
41
59
 
42
60
  interface RelationTableStat {
43
- selectedCode?: string,
44
- showDtmplView?: boolean,
45
- showDtmplEdit?: boolean,
46
- showSelectTable?: boolean,
47
- tableLoading?: boolean,
48
- showRowEdit?: boolean,
49
- selectedDtmplData?: DtmplData,
50
- filterStr?: string,
51
- pageSize?: number,
52
- addTmplId?:string,
53
- };
54
-
55
-
56
- class RelationTable extends React.PureComponent<RelationTableProps, RelationTableStat> {
57
-
58
- state = {
59
- showDtmplView: false,
60
- selectedCode: undefined,
61
- showSelectTable: false,
62
- showDtmplEdit: false,
63
- tableLoading: false,
64
- showRowEdit: false,
65
- selectedDtmplData: undefined,
66
- filterStr: undefined,
67
- pageSize: 10,
68
- addTmplId:undefined,
69
- // columns:[],
70
- // dataSource:[],
71
- // current:1,
72
- // title:undefined,
73
- }
74
- static defaultProps = {}
75
-
76
- async componentDidMount() {
77
- // const {fieldGroupConfig} = this.props;
78
- // if (fieldGroupConfig.displayConfig.includes('folded')) {
79
- // this.setState({
80
- // collapse: true,
81
- // })
82
- // }
83
- }
84
-
85
- async componentDidUpdate(prevProps) {
86
- const {fieldGroupConfig} = this.props;
87
- const {fieldGroupConfig: preFieldGroupConfig} = prevProps;
88
- if (fieldGroupConfig.disabled != preFieldGroupConfig.disabled || fieldGroupConfig.mainCode != preFieldGroupConfig.mainCode) {
89
- this.setState({filterStr: ""})
90
- }
91
- }
92
-
93
- buildDataSource = () => {
94
-
95
- const {filterStr} = this.state;
96
- const {value} = this.props;
97
-
98
-
99
- let dataSource = undefined;
100
-
101
- /** 构建 dataSource **/
102
- if (value) {
103
- dataSource = [];
104
- value.forEach((item, index) => {
105
- let flag = true;
106
- if (filterStr) {
107
- flag = false;
108
- for (let value of Object.values(item.fieldMap)) {
109
- if (value && value.toString().indexOf(filterStr) >= 0) {
110
- flag = true;
111
- }
112
- }
113
- }
114
- if (flag) {
115
- let row = {
116
- key: index,
117
- relationLabel: item.relationLabel,
118
- code: item.code,//增加code,为了删除操作
119
- ...item.fieldMap
120
- };
121
- dataSource.push(row);
122
- }
123
- })
124
- }
125
-
126
- return dataSource;
61
+ selectedCode?: string;
62
+ showDtmplView?: boolean;
63
+ showDtmplEdit?: boolean;
64
+ showSelectTable?: boolean;
65
+ tableLoading?: boolean;
66
+ showRowEdit?: boolean;
67
+ selectedDtmplData?: DtmplData;
68
+ filterStr?: string;
69
+ pageSize?: number;
70
+ addTmplId?: string;
71
+ }
127
72
 
73
+ class RelationTable extends React.PureComponent<
74
+ RelationTableProps,
75
+ RelationTableStat
76
+ > {
77
+ state = {
78
+ showDtmplView: false,
79
+ selectedCode: undefined,
80
+ showSelectTable: false,
81
+ showDtmplEdit: false,
82
+ tableLoading: false,
83
+ showRowEdit: false,
84
+ selectedDtmplData: undefined,
85
+ filterStr: undefined,
86
+ pageSize: 10,
87
+ addTmplId: undefined,
88
+ // columns:[],
89
+ // dataSource:[],
90
+ // current:1,
91
+ // title:undefined,
92
+ };
93
+ static contextType = LocaleContext;
94
+ context: React.ContextType<typeof LocaleContext>;
95
+ static defaultProps = {};
96
+
97
+ async componentDidMount() {
98
+ // const {fieldGroupConfig} = this.props;
99
+ // if (fieldGroupConfig.displayConfig.includes('folded')) {
100
+ // this.setState({
101
+ // collapse: true,
102
+ // })
103
+ // }
104
+ }
105
+
106
+ async componentDidUpdate(prevProps) {
107
+ const { fieldGroupConfig } = this.props;
108
+ const { fieldGroupConfig: preFieldGroupConfig } = prevProps;
109
+ if (
110
+ fieldGroupConfig.disabled != preFieldGroupConfig.disabled ||
111
+ fieldGroupConfig.mainCode != preFieldGroupConfig.mainCode
112
+ ) {
113
+ this.setState({ filterStr: "" });
128
114
  }
129
-
130
- buildColumns = () => {
131
-
132
- const {viewOrEdit, value, fieldGroupConfig,serverKey} = this.props;
133
- const {title, buttons, fields, showRelationName, relationNames, showRowNum, disabled} = fieldGroupConfig;
134
- let columns = [];
135
- /** 构建column **/
136
- let s = 0;
137
- fields.forEach((item) => {
138
- let column = {};
139
- columns.push(column);
140
- column['title'] = item.title;
141
- column['dataIndex'] = item.id;
142
- s++;
143
- let itemType = SupportInputTypes.getControlType(item, null);
144
- // if (s == 1) {
145
- // TableUnits.sort(column, itemType, 'ascend');
146
- // } else
147
- if (s < 10) {
148
- TableUnits.sort(column, itemType);
149
- }
150
- column['render'] = (text, record) => {
151
- return <ViewControl serverKey={serverKey} holderType={'table'} fieldConfig={item} value={record[item.id]}/>
152
- }
153
- });
154
- if (showRelationName) {//判断是否有关系属性
155
- let rela = {
156
- dataIndex: "relationLabel",
157
- name: "relation",
158
- title: "关系",
159
- type: "relation",
160
- editable: true,
161
- fieldAvailable: true,
162
- id: '10000',//关系默认id是'10000'
163
- options: relationNames,
115
+ }
116
+
117
+ buildDataSource = () => {
118
+ const { filterStr } = this.state;
119
+ const { value } = this.props;
120
+
121
+ let dataSource = undefined;
122
+
123
+ /** 构建 dataSource **/
124
+ if (value) {
125
+ dataSource = [];
126
+ value.forEach((item, index) => {
127
+ let flag = true;
128
+ if (filterStr) {
129
+ flag = false;
130
+ for (let value of Object.values(item.fieldMap)) {
131
+ if (value && value.toString().indexOf(filterStr) >= 0) {
132
+ flag = true;
164
133
  }
165
- columns.unshift(rela)
134
+ }
166
135
  }
167
-
168
- //添加操作列
169
-
170
- const viewable = buttons.includes('detail');
171
- const rowEdit = buttons.includes('rowEdit');
172
- const dtmplEdit = buttons.includes('dtmplEdit');
173
- const deletable = buttons.includes('singleDelete');
174
-
175
-
176
- if (viewOrEdit == 'edit' && (viewable || rowEdit || dtmplEdit || deletable)) {
177
- const actionColumn = {};
178
- columns.push(actionColumn);
179
- actionColumn['title'] = '操作';
180
- actionColumn['fixed'] = "right";
181
- actionColumn['key'] = "action";
182
- actionColumn['render'] = (record) => {
183
- return <div className="actionbtn">
184
- {/*详情*/}
185
- {viewable ?
186
- <Button disabled={disabled}
187
- title="当前实体"
188
- type='primary'
189
- icon={<AlignLeftOutlined/>}
190
- size="small"
191
- onClick={() => this.showEntityView(record)}
192
- ></Button> : ""}
193
- {/*模板编辑*/}
194
- {dtmplEdit ?
195
- <Button disabled={disabled}
196
- title="编辑当实体"
197
- icon={<FormOutlined/>}
198
- size="small"
199
- onClick={() => this.showEditDtmplModel(record)}
200
- ></Button> : ""}
201
- {fieldGroupConfig.rowActions && fieldGroupConfig.rowActions.length > 0 ?
202
- fieldGroupConfig.rowActions.map((action) => {
203
- return <Action serverKey={serverKey} disabled={disabled} key={action.id} data={[record]} actionConfig={action}
204
- doAction={this.doRowAction} buttonSize={'small'}></Action>
205
- }) : ""}
206
- {/*行编辑*/}
207
- {rowEdit ?
208
- <RowEditor serverKey={serverKey} disabled={disabled} buttonIcon={<EditOutlined/>}
209
- dtmplData={this.getRowEditData(record.code)}
210
- fieldGroupConfig={fieldGroupConfig}
211
- onOk={this.handleRowEdit}
212
- tooltipTitle={"编辑当前行"}></RowEditor> : ""}
213
- {/*删除*/}
214
- {deletable ?
215
- <Tooltip placement="right" title="删除当前行">
216
- <Button disabled={disabled}
217
- danger
218
- type='primary'
219
- icon={<DeleteOutlined/>}
220
- size="small"
221
- onClick={() => this.delete(record)}
222
- ></Button></Tooltip> : ""}
223
- </div>
224
- }
225
-
226
- } else if (viewOrEdit == 'view' && (viewable)) {
227
- const actionColumn = {};
228
- columns.push(actionColumn);
229
- actionColumn['title'] = '操作';
230
- actionColumn['fixed'] = "right";
231
- actionColumn['key'] = "action";
232
- actionColumn['render'] = (record) => {
233
- return <div className="actionbtn">
234
- {/*详情*/}
235
- {viewable ?
236
- <Button disabled={disabled}
237
- title="当前实体"
238
- type='primary'
239
- icon={<AlignLeftOutlined/>}
240
- size="small"
241
- onClick={() => this.showEntityView(record)}
242
- ></Button> : ""}
243
- </div>
244
- }
245
- }
246
-
247
- return columns;
248
-
249
- }
250
-
251
- doRowAction = async (actionId: string, codes: string[], params: object) => {
252
- await this.doAction(actionId, [{title: undefined, code: codes[0]}], params);
253
- this.handleDtmplEdit(codes[0]);
254
- }
255
-
256
- doAction = async (actionId: string, selectedRows: SelectedRow[], params) => {
257
- this.setState({
258
- tableLoading: true,
259
- })
260
- let {serverKey}=this.props;
261
- let result: boolean = await HcserviceV3.postActions(serverKey,actionId, selectedRows, params);
262
- {
263
- this.setState({
264
- tableLoading: false,
265
- })
136
+ if (flag) {
137
+ let row = {
138
+ key: index,
139
+ relationLabel: item.relationLabel,
140
+ code: item.code, //增加code,为了删除操作
141
+ ...item.fieldMap,
142
+ };
143
+ dataSource.push(row);
266
144
  }
145
+ });
267
146
  }
268
147
 
269
- showEntityView = (record) => {
270
- //console.log('tabel record:', record);
271
- this.setState({
272
- selectedCode: record.code,
273
- showDtmplView: true,
274
- });
148
+ return dataSource;
149
+ };
150
+
151
+ buildColumns = () => {
152
+ const { viewOrEdit, value, fieldGroupConfig, serverKey } = this.props;
153
+ const {
154
+ title,
155
+ buttons,
156
+ fields,
157
+ showRelationName,
158
+ relationNames,
159
+ showRowNum,
160
+ disabled,
161
+ } = fieldGroupConfig;
162
+ const { translate } = this.context;
163
+ let columns = [];
164
+ /** 构建column **/
165
+ let s = 0;
166
+ fields.forEach((item) => {
167
+ let column = {};
168
+ columns.push(column);
169
+ column["title"] = item.title;
170
+ column["dataIndex"] = item.id;
171
+ s++;
172
+ let itemType = SupportInputTypes.getControlType(item, null);
173
+ // if (s == 1) {
174
+ // TableUnits.sort(column, itemType, 'ascend');
175
+ // } else
176
+ if (s < 10) {
177
+ TableUnits.sort(column, itemType);
178
+ }
179
+ column["render"] = (text, record) => {
180
+ return (
181
+ <ViewControl
182
+ serverKey={serverKey}
183
+ holderType={"table"}
184
+ fieldConfig={item}
185
+ value={record[item.id]}
186
+ />
187
+ );
188
+ };
189
+ });
190
+ if (showRelationName) {
191
+ //判断是否有关系属性
192
+ let rela = {
193
+ dataIndex: "relationLabel",
194
+ name: "relation",
195
+ title: "关系",
196
+ type: "relation",
197
+ editable: true,
198
+ fieldAvailable: true,
199
+ id: "10000", //关系默认id是'10000'
200
+ options: relationNames,
201
+ };
202
+ columns.unshift(rela);
275
203
  }
276
204
 
277
- hiddenEntityView = () => {
278
- this.setState({
279
- showDtmplView: false,
280
- });
281
- }
282
- hiddenEntityEdit = () => {
283
- this.setState({
284
- showDtmplEdit: false,
285
- });
205
+ //添加操作列
206
+
207
+ const viewable = buttons.includes("detail");
208
+ const rowEdit = buttons.includes("rowEdit");
209
+ const dtmplEdit = buttons.includes("dtmplEdit");
210
+ const deletable = buttons.includes("singleDelete");
211
+
212
+ if (
213
+ viewOrEdit == "edit" &&
214
+ (viewable || rowEdit || dtmplEdit || deletable)
215
+ ) {
216
+ const actionColumn = {};
217
+ columns.push(actionColumn);
218
+ actionColumn["title"] = "操作";
219
+ actionColumn["fixed"] = "right";
220
+ actionColumn["key"] = "action";
221
+ actionColumn["render"] = (record) => {
222
+ return (
223
+ <div className="actionbtn">
224
+ {/*详情*/}
225
+ {viewable ? (
226
+ <Button
227
+ disabled={disabled}
228
+ title={translate("${当前实体}")}
229
+ type="primary"
230
+ icon={<AlignLeftOutlined />}
231
+ size="small"
232
+ onClick={() => this.showEntityView(record)}
233
+ ></Button>
234
+ ) : (
235
+ ""
236
+ )}
237
+ {/*模板编辑*/}
238
+ {dtmplEdit ? (
239
+ <Button
240
+ disabled={disabled}
241
+ title={translate("${编辑}${当前实体}")}
242
+ icon={<FormOutlined />}
243
+ size="small"
244
+ onClick={() => this.showEditDtmplModel(record)}
245
+ ></Button>
246
+ ) : (
247
+ ""
248
+ )}
249
+ {fieldGroupConfig.rowActions &&
250
+ fieldGroupConfig.rowActions.length > 0
251
+ ? fieldGroupConfig.rowActions.map((action) => {
252
+ return (
253
+ <Action
254
+ serverKey={serverKey}
255
+ disabled={disabled}
256
+ key={action.id}
257
+ data={[record]}
258
+ actionConfig={action}
259
+ doAction={this.doRowAction}
260
+ buttonSize={"small"}
261
+ ></Action>
262
+ );
263
+ })
264
+ : ""}
265
+ {/*行编辑*/}
266
+ {rowEdit ? (
267
+ <RowEditor
268
+ serverKey={serverKey}
269
+ disabled={disabled}
270
+ buttonIcon={<EditOutlined />}
271
+ dtmplData={this.getRowEditData(record.code)}
272
+ fieldGroupConfig={fieldGroupConfig}
273
+ onOk={this.handleRowEdit}
274
+ tooltipTitle={translate("${编辑}${当前行}")}
275
+ ></RowEditor>
276
+ ) : (
277
+ ""
278
+ )}
279
+ {/*删除*/}
280
+ {deletable ? (
281
+ <Tooltip placement="right" title={translate("${删除}${当前行}")}>
282
+ <Button
283
+ disabled={disabled}
284
+ danger
285
+ type="primary"
286
+ icon={<DeleteOutlined />}
287
+ size="small"
288
+ onClick={() => this.delete(record)}
289
+ ></Button>
290
+ </Tooltip>
291
+ ) : (
292
+ ""
293
+ )}
294
+ </div>
295
+ );
296
+ };
297
+ } else if (viewOrEdit == "view" && viewable) {
298
+ const actionColumn = {};
299
+ columns.push(actionColumn);
300
+ actionColumn["title"] = "操作";
301
+ actionColumn["fixed"] = "right";
302
+ actionColumn["key"] = "action";
303
+ actionColumn["render"] = (record) => {
304
+ return (
305
+ <div className="actionbtn">
306
+ {/*详情*/}
307
+ {viewable ? (
308
+ <Button
309
+ disabled={disabled}
310
+ title={translate("${当前实体}")}
311
+ type="primary"
312
+ icon={<AlignLeftOutlined />}
313
+ size="small"
314
+ onClick={() => this.showEntityView(record)}
315
+ ></Button>
316
+ ) : (
317
+ ""
318
+ )}
319
+ </div>
320
+ );
321
+ };
286
322
  }
287
323
 
288
- editRow = (record) => {
289
-
324
+ return columns;
325
+ };
326
+
327
+ doRowAction = async (actionId: string, codes: string[], params: object) => {
328
+ await this.doAction(
329
+ actionId,
330
+ [{ title: undefined, code: codes[0] }],
331
+ params
332
+ );
333
+ this.handleDtmplEdit(codes[0]);
334
+ };
335
+
336
+ doAction = async (actionId: string, selectedRows: SelectedRow[], params) => {
337
+ this.setState({
338
+ tableLoading: true,
339
+ });
340
+ let { serverKey } = this.props;
341
+ let result: boolean = await HcserviceV3.postActions(
342
+ serverKey,
343
+ actionId,
344
+ selectedRows,
345
+ params
346
+ );
347
+ {
348
+ this.setState({
349
+ tableLoading: false,
350
+ });
290
351
  }
291
- delete = (record) => {
292
- const {value, fieldGroupConfig, onChange} = this.props;
293
- //追加
294
- const selectdDatas = [];
295
- if (value) {
296
- for (let v of value) {
297
- if (v.code != record.code) {
298
- selectdDatas.push(v);
299
- }
300
- }
352
+ };
353
+
354
+ showEntityView = (record) => {
355
+ //console.log('tabel record:', record);
356
+ this.setState({
357
+ selectedCode: record.code,
358
+ showDtmplView: true,
359
+ });
360
+ };
361
+
362
+ hiddenEntityView = () => {
363
+ this.setState({
364
+ showDtmplView: false,
365
+ });
366
+ };
367
+ hiddenEntityEdit = () => {
368
+ this.setState({
369
+ showDtmplEdit: false,
370
+ });
371
+ };
372
+
373
+ editRow = (record) => {};
374
+ delete = (record) => {
375
+ const { value, fieldGroupConfig, onChange } = this.props;
376
+ //追加
377
+ const selectdDatas = [];
378
+ if (value) {
379
+ for (let v of value) {
380
+ if (v.code != record.code) {
381
+ selectdDatas.push(v);
301
382
  }
302
- onChange(fieldGroupConfig, selectdDatas);
383
+ }
303
384
  }
304
-
305
-
306
- searchValue = (filterStr: string) => {
307
- this.setState({
308
- filterStr
309
- })
385
+ onChange(fieldGroupConfig, selectdDatas);
386
+ };
387
+
388
+ searchValue = (filterStr: string) => {
389
+ this.setState({
390
+ filterStr,
391
+ });
392
+ };
393
+
394
+ tabChange = (pagination) => {
395
+ //console.log('pagination',pagination);
396
+ this.setState({
397
+ pageSize: pagination.pageSize,
398
+ });
399
+ };
400
+
401
+ showSelect = () => {
402
+ //console.log('showSelectTable click');
403
+ this.setState({
404
+ showSelectTable: true,
405
+ });
406
+ };
407
+
408
+ select = async (selectedRows: SelectedRow[]) => {
409
+ this.setState({
410
+ showSelectTable: false,
411
+ });
412
+ if (!selectedRows || selectedRows.length <= 0) {
413
+ return;
310
414
  }
311
415
 
312
- tabChange = (pagination) => {
313
- //console.log('pagination',pagination);
314
- this.setState({
315
- pageSize: pagination.pageSize,
316
- })
317
-
416
+ //查询
417
+ const codes: string[] = [];
418
+ for (let row of selectedRows) {
419
+ codes.push(row.code);
318
420
  }
319
-
320
- showSelect = () => {
321
- //console.log('showSelectTable click');
322
- this.setState({
323
- showSelectTable: true,
324
- })
421
+ await this.add(codes);
422
+ };
423
+
424
+ add = async (codes: string[]) => {
425
+ const { value, fieldGroupConfig, onChange, serverKey } = this.props;
426
+ const { relationNames } = fieldGroupConfig;
427
+ this.setState({
428
+ tableLoading: true,
429
+ });
430
+ let selectdDatas: DtmplData[] = await HcserviceV3.requestSelectedData(
431
+ serverKey,
432
+ fieldGroupConfig.id,
433
+ codes
434
+ );
435
+
436
+ //添加默认关系
437
+ if (selectdDatas) {
438
+ for (let d of selectdDatas) {
439
+ d["relationLabel"] = relationNames[0];
440
+ }
325
441
  }
326
442
 
327
- select = async (selectedRows: SelectedRow[]) => {
328
- this.setState({
329
- showSelectTable: false
330
- })
331
- if (!selectedRows || selectedRows.length <= 0) {
332
- return;
333
- }
334
-
335
- //查询
336
- const codes: string[] = [];
337
- for (let row of selectedRows) {
338
- codes.push(row.code);
339
- }
340
- await this.add(codes);
443
+ //追加
444
+ if (value) {
445
+ selectdDatas.unshift(...value);
341
446
  }
342
447
 
343
- add = async (codes: string[]) => {
344
- const {value, fieldGroupConfig, onChange,serverKey} = this.props;
345
- const {relationNames, } = fieldGroupConfig;
346
- this.setState({
347
- tableLoading: true,
348
- })
349
- let selectdDatas: DtmplData[] = await HcserviceV3.requestSelectedData(serverKey,fieldGroupConfig.id, codes);
350
-
351
- //添加默认关系
352
- if (selectdDatas) {
353
- for (let d of selectdDatas) {
354
- d['relationLabel'] = relationNames[0];
355
- }
356
- }
357
-
358
- //追加
359
- if (value) {
360
- selectdDatas.unshift(...value);
448
+ onChange(fieldGroupConfig, selectdDatas);
449
+ this.setState({
450
+ tableLoading: false,
451
+ });
452
+ };
453
+
454
+ getRowEditData = (code?: string) => {
455
+ const { value } = this.props;
456
+ let data = undefined;
457
+ if (code) {
458
+ for (let dtmplData of value) {
459
+ if (code == dtmplData.code) {
460
+ data = dtmplData;
461
+ break;
361
462
  }
362
-
363
- onChange(fieldGroupConfig, selectdDatas);
364
- this.setState({
365
- tableLoading: false,
366
- })
463
+ }
367
464
  }
368
-
369
- getRowEditData = (code?: string) => {
370
- const {value} = this.props;
371
- let data = undefined;
372
- if (code) {
373
- for (let dtmplData of value) {
374
- if (code == dtmplData.code) {
375
- data = dtmplData;
376
- break;
377
- }
378
- }
465
+ return data;
466
+ };
467
+ handleDtmplAdd = async (code: string) => {
468
+ this.setState({
469
+ showDtmplEdit: false,
470
+ });
471
+ await this.add([code]);
472
+ };
473
+
474
+ handleDtmplEdit = async (code: string) => {
475
+ const { value, fieldGroupConfig, onChange } = this.props;
476
+ const {
477
+ title,
478
+ fields,
479
+ showRelationName,
480
+ relationNames,
481
+ showRowNum,
482
+ serverKey,
483
+ } = fieldGroupConfig;
484
+ this.setState({
485
+ tableLoading: true,
486
+ showDtmplEdit: false,
487
+ });
488
+ let data: DtmplData = (
489
+ await HcserviceV3.requestSelectedData(serverKey, fieldGroupConfig.id, [
490
+ code,
491
+ ])
492
+ )[0];
493
+ let datas: DtmplData[] = [...value];
494
+
495
+ if (datas && data) {
496
+ for (let v of datas) {
497
+ if (v.code == data.code) {
498
+ v.fieldMap = data.fieldMap;
379
499
  }
380
- return data;
500
+ }
381
501
  }
382
- handleDtmplAdd = async (code: string) => {
383
- this.setState({
384
- showDtmplEdit: false,
385
- })
386
- await this.add([code]);
502
+ onChange(fieldGroupConfig, datas);
503
+ this.setState({
504
+ tableLoading: false,
505
+ });
506
+ };
507
+
508
+ handleRowEdit = (dtmplData: DtmplData) => {
509
+ const { value, fieldGroupConfig, onChange } = this.props;
510
+ const { translate } = this.context;
511
+ let datas: DtmplData[] = [];
512
+ if (value) {
513
+ datas = [...value];
387
514
  }
388
515
 
389
- handleDtmplEdit = async (code: string) => {
390
- const {value, fieldGroupConfig, onChange} = this.props;
391
- const {title, fields, showRelationName, relationNames, showRowNum,serverKey} = fieldGroupConfig;
392
- this.setState({
393
- tableLoading: true,
394
- showDtmplEdit: false,
395
- })
396
- let data: DtmplData = (await HcserviceV3.requestSelectedData(serverKey,fieldGroupConfig.id, [code]))[0];
397
- let datas: DtmplData[] = [...value];
398
-
399
- if (datas && data) {
400
- for (let v of datas) {
401
- if (v.code == data.code) {
402
- v.fieldMap = data.fieldMap;
403
- }
404
- }
405
- }
406
- onChange(fieldGroupConfig, datas);
407
- this.setState({
408
- tableLoading: false,
409
- })
516
+ let isAdd = true;
517
+ for (let v of datas) {
518
+ if (v.code == dtmplData.code) {
519
+ isAdd = false;
520
+ v.editStatus = dtmplData.editStatus;
521
+ v.fieldMap = dtmplData.fieldMap;
522
+ v.relationLabel = dtmplData.relationLabel;
523
+ break;
524
+ }
410
525
  }
411
-
412
- handleRowEdit = (dtmplData: DtmplData) => {
413
- const {value, fieldGroupConfig, onChange} = this.props;
414
- let datas: DtmplData[] = [];
415
- if (value) {
416
- datas = [...value];
417
- }
418
-
419
- let isAdd = true;
420
- for (let v of datas) {
421
- if (v.code == dtmplData.code) {
422
- isAdd = false;
423
- v.editStatus = dtmplData.editStatus;
424
- v.fieldMap = dtmplData.fieldMap;
425
- v.relationLabel = dtmplData.relationLabel;
426
- break;
427
- }
428
- }
429
- if (isAdd) {
430
- datas.unshift(dtmplData);
431
- }
432
- onChange(fieldGroupConfig, datas);
433
-
434
- //console.log("handleRowEdit data:",datas);
435
-
436
- if (isAdd) {
437
- message.success('已添加');
438
- } else {
439
- message.success('已修改');
440
- }
441
- //this.hiddenRowEdit();
526
+ if (isAdd) {
527
+ datas.unshift(dtmplData);
442
528
  }
529
+ onChange(fieldGroupConfig, datas);
530
+
531
+ //console.log("handleRowEdit data:",datas);
443
532
 
444
- showAddDtmplModel = (addTmplId?:string) => {
445
- this.setState({
446
- showDtmplEdit: true,
447
- addTmplId,
448
- selectedCode: undefined,
449
- })
533
+ if (isAdd) {
534
+ message.success(translate("${已添加}"));
535
+ } else {
536
+ message.success(translate("${已修改}"));
450
537
  }
451
- showEditDtmplModel = (record) => {
452
- this.setState({
453
- showDtmplEdit: true,
454
- addTmplId:undefined,
455
- selectedCode: record.code,
456
- })
538
+ //this.hiddenRowEdit();
539
+ };
540
+
541
+ showAddDtmplModel = (addTmplId?: string) => {
542
+ this.setState({
543
+ showDtmplEdit: true,
544
+ addTmplId,
545
+ selectedCode: undefined,
546
+ });
547
+ };
548
+ showEditDtmplModel = (record) => {
549
+ this.setState({
550
+ showDtmplEdit: true,
551
+ addTmplId: undefined,
552
+ selectedCode: record.code,
553
+ });
554
+ };
555
+
556
+ getAddTmplButton = (classifiedAddConfigs: ClassifiedAddConfig[]) => {
557
+ const { translate } = this.context;
558
+
559
+ if (classifiedAddConfigs && classifiedAddConfigs.length < 1) {
560
+ return translate("${没有分类添加按钮}");
457
561
  }
458
-
459
- getAddTmplButton= (classifiedAddConfigs: ClassifiedAddConfig[]) => {
460
- if(classifiedAddConfigs && classifiedAddConfigs.length<1){
461
- return "没有分类添加按钮";
462
- }
463
- return classifiedAddConfigs.map((config)=>{
464
- return <p><Button size={'small'} type={'text'}
465
- onClick={() => this.showAddDtmplModel(config.id)}>
466
- {config.title}
467
- </Button></p>
468
- })
562
+ return classifiedAddConfigs.map((config) => {
563
+ return (
564
+ <p>
565
+ <Button
566
+ size={"small"}
567
+ type={"text"}
568
+ onClick={() => this.showAddDtmplModel(config.id)}
569
+ >
570
+ {config.title}
571
+ </Button>
572
+ </p>
573
+ );
574
+ });
575
+ };
576
+
577
+ buildButtons = () => {
578
+ const { fieldGroupConfig, viewOrEdit, value, serverKey } = this.props;
579
+ const { translate } = this.context;
580
+ const { buttons, disabled } = fieldGroupConfig;
581
+ const { showRowEdit } = this.state;
582
+ const buttonDisabled: boolean = disabled
583
+ ? disabled
584
+ : fieldGroupConfig.max
585
+ ? fieldGroupConfig.max <= (value ? value.length : 0)
586
+ : false;
587
+
588
+ if (viewOrEdit == "edit") {
589
+ return (
590
+ <Row>
591
+ <Col span={20}>
592
+ <Space>
593
+ {buttons.includes("rowAdd") ? (
594
+ <RowEditor
595
+ serverKey={serverKey}
596
+ disabled={buttonDisabled}
597
+ buttonStyle={{ marginBottom: 10 }}
598
+ buttonTitle={translate("${新建一行}")}
599
+ fieldGroupConfig={fieldGroupConfig}
600
+ onOk={this.handleRowEdit}
601
+ ></RowEditor>
602
+ ) : (
603
+ ""
604
+ )}
605
+ {buttons.includes("dtmplAdd") ? (
606
+ fieldGroupConfig.classifiedAddConfigs &&
607
+ fieldGroupConfig.classifiedAddConfigs.length > 0 ? (
608
+ <Popover
609
+ arrow={false}
610
+ content={this.getAddTmplButton(
611
+ fieldGroupConfig.classifiedAddConfigs
612
+ )}
613
+ placement="bottomRight"
614
+ >
615
+ <Tooltip>
616
+ <Button icon={<PlusSquareOutlined />}>
617
+ {translate("${新增}")}
618
+ </Button>
619
+ </Tooltip>
620
+ </Popover>
621
+ ) : (
622
+ <Button
623
+ disabled={buttonDisabled}
624
+ icon={<PlusSquareOutlined />}
625
+ size="small"
626
+ onClick={() => this.showAddDtmplModel()}
627
+ style={{ marginBottom: 10 }}
628
+ >
629
+ {translate("${新增}")}
630
+ </Button>
631
+ )
632
+ ) : (
633
+ ""
634
+ )}
635
+ {buttons.includes("selectAdd") ? (
636
+ <Button
637
+ disabled={buttonDisabled}
638
+ type="primary"
639
+ icon={<SnippetsOutlined />}
640
+ size="small"
641
+ onClick={this.showSelect}
642
+ style={{ marginBottom: 10 }}
643
+ >
644
+ {translate("${选择}")}
645
+ </Button>
646
+ ) : (
647
+ ""
648
+ )}
649
+ {fieldGroupConfig.min && (!value || value.length <= 0) ? (
650
+ <Text style={{ color: "red" }}>
651
+ {translate("${请选择或添加}")}
652
+ {fieldGroupConfig.title}
653
+ </Text>
654
+ ) : null}
655
+ <FormItem
656
+ name={"$virtual" + fieldGroupConfig.id}
657
+ style={{ margin: 0, maxHeight: "32px" }}
658
+ rules={
659
+ fieldGroupConfig.min
660
+ ? [
661
+ {
662
+ required: true,
663
+ message: ``,
664
+ },
665
+ ]
666
+ : null
667
+ }
668
+ >
669
+ <CountingTag
670
+ min={fieldGroupConfig.min + ""}
671
+ style={{ marginBottom: 10 }}
672
+ count={value ? value.length : 0}
673
+ ></CountingTag>
674
+ </FormItem>
675
+ </Space>
676
+ </Col>
677
+ </Row>
678
+ );
679
+ } else {
680
+ return "";
469
681
  }
470
-
471
- buildButtons = () => {
472
- const {fieldGroupConfig, viewOrEdit, value,serverKey} = this.props;
473
- const {buttons, disabled} = fieldGroupConfig;
474
- const {showRowEdit} = this.state;
475
- const buttonDisabled: boolean = disabled ? disabled : fieldGroupConfig.max ? fieldGroupConfig.max <= (value ? value.length : 0) : false;
476
-
477
- if (viewOrEdit == 'edit') {
478
- return <Row>
479
- <Col span={20}>
480
- <Space>
481
- {buttons.includes('rowAdd') ?
482
- <RowEditor serverKey={serverKey} disabled={buttonDisabled} buttonStyle={{marginBottom: 10}} buttonTitle={"新建一行"}
483
- fieldGroupConfig={fieldGroupConfig}
484
- onOk={this.handleRowEdit}
485
- ></RowEditor>
486
- : ''}
487
- {buttons.includes('dtmplAdd') ?
488
- fieldGroupConfig.classifiedAddConfigs && fieldGroupConfig.classifiedAddConfigs.length>0 ?
489
- <Popover arrow={false} content={this.getAddTmplButton(fieldGroupConfig.classifiedAddConfigs)}
490
- placement="bottomRight"
491
- >
492
- <Tooltip >
493
- <Button icon={<PlusSquareOutlined/>}>新增</Button>
494
- </Tooltip>
495
- </Popover>
496
- :
497
- <Button
498
- disabled={buttonDisabled}
499
- icon={<PlusSquareOutlined/>}
500
- size="small"
501
- onClick={()=>this.showAddDtmplModel()}
502
- style={{marginBottom: 10}}
503
- >新增</Button> : ""}
504
- {buttons.includes('selectAdd') ?
505
- <Button
506
- disabled={buttonDisabled}
507
- type='primary'
508
- icon={<SnippetsOutlined/>}
509
- size="small"
510
- onClick={this.showSelect}
511
- style={{marginBottom: 10}}
512
- >选择</Button> : ""}
513
- {fieldGroupConfig.min && (!value || value.length <= 0) ?
514
- <Text style={{color: 'red'}}>请选择或添加{fieldGroupConfig.title}</Text> : null
515
- }
516
- <FormItem name={'$virtual' + fieldGroupConfig.id}
517
- style={{margin: 0, maxHeight: "32px"}}
518
- rules={fieldGroupConfig.min ? [{
519
- required: true, message: ``,
520
- }] : null}>
521
- <CountingTag min={fieldGroupConfig.min + ""} style={{marginBottom: 10}}
522
- count={value ? value.length : 0}></CountingTag>
523
- </FormItem>
524
- </Space>
525
- </Col>
526
- </Row>
527
- } else {
528
- return "";
529
- }
682
+ };
683
+
684
+ // hiddenRowEdit = () => {
685
+ // this.setState({
686
+ // showRowEdit: false,
687
+ // })
688
+ // }
689
+
690
+ render() {
691
+ const {
692
+ fieldGroupConfig,
693
+ value,
694
+ parentId,
695
+ loading,
696
+ initCollapse,
697
+ mainCode,
698
+ serverKey,
699
+ showRightNav,
700
+ } = this.props;
701
+ const {
702
+ pageSize,
703
+ selectedCode,
704
+ showDtmplView,
705
+ showSelectTable,
706
+ showDtmplEdit,
707
+ addTmplId,
708
+ tableLoading,
709
+ showRowEdit,
710
+ selectedDtmplData,
711
+ } = this.state;
712
+ const { translate } = this.context;
713
+
714
+ const { buttons } = fieldGroupConfig;
715
+ let mainCode1 = fieldGroupConfig.mainCode
716
+ ? fieldGroupConfig.mainCode
717
+ : mainCode
718
+ ? mainCode
719
+ : parentId;
720
+ let page = {
721
+ pageSize: pageSize,
722
+ hideOnSinglePage: true,
723
+ defaultCurrent: 1,
724
+ total: value ? value.length : undefined,
725
+ showTotal: (total) => {
726
+ return translate("${总共}" + total + "${}");
727
+ },
728
+ };
729
+ let exceptCodes = [];
730
+ if (value) {
731
+ for (let v of value) {
732
+ exceptCodes.push(v.code);
733
+ }
530
734
  }
531
735
 
532
- // hiddenRowEdit = () => {
533
- // this.setState({
534
- // showRowEdit: false,
535
- // })
536
- // }
537
-
538
- render() {
539
-
540
- const {fieldGroupConfig, value, parentId, loading, initCollapse, mainCode,serverKey,showRightNav} = this.props;
541
- const {pageSize, selectedCode, showDtmplView, showSelectTable, showDtmplEdit,addTmplId, tableLoading, showRowEdit, selectedDtmplData} = this.state;
542
-
543
- const {buttons} = fieldGroupConfig;
544
- let mainCode1 = fieldGroupConfig.mainCode ? fieldGroupConfig.mainCode : mainCode ? mainCode : parentId;
545
- let page = {
546
- pageSize: pageSize,
547
- hideOnSinglePage: true,
548
- defaultCurrent: 1,
549
- total: value ? value.length : undefined,
550
- showTotal: (total) => {
551
- return `共${total}条`;
552
- }
553
- }
554
- let exceptCodes = [];
555
- if (value) {
556
- for (let v of value) {
557
- exceptCodes.push(v.code);
558
- }
559
- }
560
-
561
-
562
- return (
563
- fieldGroupConfig.displayConfig.includes('nonDataNonDisplayed') && (!value || value.length <= 0) ? "" :
564
- <>
565
- <CollapseCard showRightNav={showRightNav}
566
- initCollapse={initCollapse || fieldGroupConfig.displayConfig.includes('folded')}
567
- title={fieldGroupConfig.title}
568
- tip={fieldGroupConfig.tip}
569
- id={parentId + fieldGroupConfig.id}
570
- className={`hoverable`}
571
- headStyle={{background: "#f2f4f5"}}
572
- loading={loading}
573
- bodyStyle={{padding: '6px'}}
574
- //暂时注释掉,后续要支持配置。
575
- //extra={<Input.Search onSearch={this.searchValue} allowClear placeholder=""/>}
576
- >
577
- <div className="editTableList">
578
- {this.buildButtons()}
579
- <Table size={'small'}
580
- locale={{
581
- emptyText: <div style={{textAlign: 'center', width: '100%'}}><Text
582
- disabled>暂无数据...</Text></div>
583
- }}
584
- bordered
585
- loading={tableLoading}
586
- dataSource={this.buildDataSource()}
587
- columns={this.buildColumns()}
588
- pagination={page}
589
- onChange={this.tabChange}
590
- />
591
- </div>
592
- </CollapseCard>
593
- {buttons.includes('detail') ?
594
- <ModalDtmplView serverKey={serverKey} mainCode={mainCode1} open={showDtmplView} onCancel={this.hiddenEntityView}
595
- sourceId={fieldGroupConfig.id}
596
- code={selectedCode}> </ModalDtmplView> : ""}
597
- {buttons.includes('dtmplEdit') || buttons.includes('dtmplAdd') ?
598
- <DtmplEditPage addTmplId={addTmplId} serverKey={serverKey} mainCode={mainCode1} open={showDtmplEdit} onCancel={this.hiddenEntityEdit}
599
- sourceId={fieldGroupConfig.id}
600
- code={selectedCode}
601
- onOk={selectedCode ? this.handleDtmplEdit : this.handleDtmplAdd}/>
602
- : ""}
603
- {/*{buttons.includes('rowEdit') || buttons.includes('rowAdd') ?*/}
604
- {/* <ModalRowEdit open={showRowEdit} onCancel={this.hiddenRowEdit}*/}
605
- {/* onOk={this.handleRowEdit} dtmplData={selectedDtmplData}*/}
606
- {/* fieldGroupConfig={fieldGroupConfig}> </ModalRowEdit>*/}
607
- {/* : ""}*/}
608
- {buttons.includes('selectAdd') ?
609
- <ModelSelectTable serverKey={serverKey} maxSelectedRows={fieldGroupConfig.max} open={showSelectTable}
610
- onOK={this.select} onCancel={() => {
611
- this.setState({showSelectTable: false})
612
- }} exceptCodes={exceptCodes} mainCode={mainCode1}
613
- sourceId={fieldGroupConfig.id}></ModelSelectTable> : ""}
614
-
615
- </>
616
- );
617
- }
736
+ return fieldGroupConfig.displayConfig.includes("nonDataNonDisplayed") &&
737
+ (!value || value.length <= 0) ? (
738
+ ""
739
+ ) : (
740
+ <>
741
+ <CollapseCard
742
+ showRightNav={showRightNav}
743
+ initCollapse={
744
+ initCollapse || fieldGroupConfig.displayConfig.includes("folded")
745
+ }
746
+ title={fieldGroupConfig.title}
747
+ tip={fieldGroupConfig.tip}
748
+ id={parentId + fieldGroupConfig.id}
749
+ className={`hoverable`}
750
+ headStyle={{ background: "#f2f4f5" }}
751
+ loading={loading}
752
+ bodyStyle={{ padding: "6px" }}
753
+ //暂时注释掉,后续要支持配置。
754
+ //extra={<Input.Search onSearch={this.searchValue} allowClear placeholder=""/>}
755
+ >
756
+ <div className="editTableList">
757
+ {this.buildButtons()}
758
+ <Table
759
+ size={"small"}
760
+ locale={{
761
+ emptyText: (
762
+ <div style={{ textAlign: "center", width: "100%" }}>
763
+ <Text disabled>{translate("${暂无数据}...")}</Text>
764
+ </div>
765
+ ),
766
+ }}
767
+ bordered
768
+ loading={tableLoading}
769
+ dataSource={this.buildDataSource()}
770
+ columns={this.buildColumns()}
771
+ pagination={page}
772
+ onChange={this.tabChange}
773
+ />
774
+ </div>
775
+ </CollapseCard>
776
+ {buttons.includes("detail") ? (
777
+ <ModalDtmplView
778
+ serverKey={serverKey}
779
+ mainCode={mainCode1}
780
+ open={showDtmplView}
781
+ onCancel={this.hiddenEntityView}
782
+ sourceId={fieldGroupConfig.id}
783
+ code={selectedCode}
784
+ >
785
+ {" "}
786
+ </ModalDtmplView>
787
+ ) : (
788
+ ""
789
+ )}
790
+ {buttons.includes("dtmplEdit") || buttons.includes("dtmplAdd") ? (
791
+ <DtmplEditPage
792
+ addTmplId={addTmplId}
793
+ serverKey={serverKey}
794
+ mainCode={mainCode1}
795
+ open={showDtmplEdit}
796
+ onCancel={this.hiddenEntityEdit}
797
+ sourceId={fieldGroupConfig.id}
798
+ code={selectedCode}
799
+ onOk={selectedCode ? this.handleDtmplEdit : this.handleDtmplAdd}
800
+ />
801
+ ) : (
802
+ ""
803
+ )}
804
+ {/*{buttons.includes('rowEdit') || buttons.includes('rowAdd') ?*/}
805
+ {/* <ModalRowEdit open={showRowEdit} onCancel={this.hiddenRowEdit}*/}
806
+ {/* onOk={this.handleRowEdit} dtmplData={selectedDtmplData}*/}
807
+ {/* fieldGroupConfig={fieldGroupConfig}> </ModalRowEdit>*/}
808
+ {/* : ""}*/}
809
+ {buttons.includes("selectAdd") ? (
810
+ <ModelSelectTable
811
+ serverKey={serverKey}
812
+ maxSelectedRows={fieldGroupConfig.max}
813
+ open={showSelectTable}
814
+ onOK={this.select}
815
+ onCancel={() => {
816
+ this.setState({ showSelectTable: false });
817
+ }}
818
+ exceptCodes={exceptCodes}
819
+ mainCode={mainCode1}
820
+ sourceId={fieldGroupConfig.id}
821
+ ></ModelSelectTable>
822
+ ) : (
823
+ ""
824
+ )}
825
+ </>
826
+ );
827
+ }
618
828
  }
619
829
 
620
- export default RelationTable;
830
+ export default RelationTable;