aldehyde 0.2.196 → 0.2.198

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