aldehyde 0.2.98 → 0.2.100

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 (528) hide show
  1. package/LICENSE +1 -1
  2. package/dist/bundle.021f784b1c84781461d2.js +1 -0
  3. package/dist/bundle.03c542ca824e205fe307.js +2 -0
  4. package/dist/bundle.03c542ca824e205fe307.js.LICENSE.txt +27 -0
  5. package/dist/bundle.03c542ca824e205fe307.js.gz +0 -0
  6. package/dist/bundle.15cb660c34802f6cccf5.js +1 -0
  7. package/dist/bundle.15cb660c34802f6cccf5.js.gz +0 -0
  8. package/dist/bundle.2f9c2d692fe0277a37aa.js +2 -0
  9. package/dist/bundle.2f9c2d692fe0277a37aa.js.LICENSE.txt +1 -0
  10. package/dist/bundle.2f9c2d692fe0277a37aa.js.gz +0 -0
  11. package/dist/bundle.320c02187dd135005102.js +2 -0
  12. package/dist/bundle.320c02187dd135005102.js.LICENSE.txt +6 -0
  13. package/dist/bundle.320c02187dd135005102.js.gz +0 -0
  14. package/dist/bundle.35a4af7e2d0da1942d79.js +10 -0
  15. package/dist/bundle.35a4af7e2d0da1942d79.js.gz +0 -0
  16. package/dist/bundle.3f9072b1629cdb384b46.js +2 -0
  17. package/dist/bundle.3f9072b1629cdb384b46.js.LICENSE.txt +5 -0
  18. package/dist/bundle.3f9072b1629cdb384b46.js.gz +0 -0
  19. package/dist/bundle.46e2295b5360a725bcd5.js +1 -0
  20. package/dist/bundle.46e2295b5360a725bcd5.js.gz +0 -0
  21. package/dist/bundle.4c3c988531c3cf360b87.js +1 -0
  22. package/dist/bundle.4c3c988531c3cf360b87.js.gz +0 -0
  23. package/dist/bundle.4df89546fd2e9d665dfb.js +2 -0
  24. package/dist/bundle.4df89546fd2e9d665dfb.js.LICENSE.txt +5 -0
  25. package/dist/bundle.4df89546fd2e9d665dfb.js.gz +0 -0
  26. package/dist/bundle.5a9afb9ee6cceca506fa.js +5 -0
  27. package/dist/bundle.5a9afb9ee6cceca506fa.js.LICENSE.txt +10 -0
  28. package/dist/bundle.5a9afb9ee6cceca506fa.js.gz +0 -0
  29. package/dist/bundle.5e6cccd06b34a0e3a2ff.js +1 -0
  30. package/dist/bundle.5e6cccd06b34a0e3a2ff.js.gz +0 -0
  31. package/dist/bundle.62c62e6aaa7f3c20761e.js +2 -0
  32. package/dist/bundle.62c62e6aaa7f3c20761e.js.LICENSE.txt +17 -0
  33. package/dist/bundle.62c62e6aaa7f3c20761e.js.gz +0 -0
  34. package/dist/bundle.6fd2dadd29083268c5a6.js +2 -0
  35. package/dist/bundle.6fd2dadd29083268c5a6.js.LICENSE.txt +17 -0
  36. package/dist/bundle.6fd2dadd29083268c5a6.js.gz +0 -0
  37. package/dist/bundle.8241d8d05e35988dd480.js +1 -0
  38. package/dist/bundle.8241d8d05e35988dd480.js.gz +0 -0
  39. package/dist/bundle.829683dfa6a98c78c58e.js +2 -0
  40. package/dist/bundle.829683dfa6a98c78c58e.js.LICENSE.txt +14 -0
  41. package/dist/bundle.829683dfa6a98c78c58e.js.gz +0 -0
  42. package/dist/bundle.840e28984e710e12f467.js +75 -0
  43. package/dist/bundle.840e28984e710e12f467.js.LICENSE.txt +8 -0
  44. package/dist/bundle.840e28984e710e12f467.js.gz +0 -0
  45. package/dist/bundle.85ce5221fe6ab1d91f7d.js +2 -0
  46. package/dist/bundle.85ce5221fe6ab1d91f7d.js.LICENSE.txt +1 -0
  47. package/dist/bundle.85ce5221fe6ab1d91f7d.js.gz +0 -0
  48. package/dist/bundle.9cfd99a04bde7f781c30.js +1 -0
  49. package/dist/bundle.9cfd99a04bde7f781c30.js.gz +0 -0
  50. package/dist/bundle.a049dc8814bbbf59160f.js +1 -0
  51. package/dist/bundle.a049dc8814bbbf59160f.js.gz +0 -0
  52. package/dist/bundle.a94f7811fac19aa9d6a3.js +2 -0
  53. package/dist/bundle.a94f7811fac19aa9d6a3.js.LICENSE.txt +1 -0
  54. package/dist/bundle.a94f7811fac19aa9d6a3.js.gz +0 -0
  55. package/dist/bundle.abdde6e82ee9f60d1bf3.js +2 -0
  56. package/dist/bundle.abdde6e82ee9f60d1bf3.js.LICENSE.txt +30 -0
  57. package/dist/bundle.abdde6e82ee9f60d1bf3.js.gz +0 -0
  58. package/dist/bundle.b207a66d5902f39d0c5a.js +1 -0
  59. package/dist/bundle.b207a66d5902f39d0c5a.js.gz +0 -0
  60. package/dist/bundle.b7b86a025aa95dea0e19.js +2 -0
  61. package/dist/bundle.b7b86a025aa95dea0e19.js.LICENSE.txt +8 -0
  62. package/dist/bundle.b7b86a025aa95dea0e19.js.gz +0 -0
  63. package/dist/bundle.b7e3eb480b649b3de67b.js +2 -0
  64. package/dist/bundle.b7e3eb480b649b3de67b.js.LICENSE.txt +5 -0
  65. package/dist/bundle.b7e3eb480b649b3de67b.js.gz +0 -0
  66. package/dist/bundle.c1c6028fd703ebf78c2e.js +2 -0
  67. package/dist/bundle.c1c6028fd703ebf78c2e.js.LICENSE.txt +5 -0
  68. package/dist/bundle.c1c6028fd703ebf78c2e.js.gz +0 -0
  69. package/dist/bundle.cd10ae07e0e0c36d0dee.js +2 -0
  70. package/dist/bundle.cd10ae07e0e0c36d0dee.js.LICENSE.txt +22 -0
  71. package/dist/bundle.cd10ae07e0e0c36d0dee.js.gz +0 -0
  72. package/dist/bundle.cf6a1933769c2aee4e6e.js +1 -0
  73. package/dist/bundle.cf6a1933769c2aee4e6e.js.gz +0 -0
  74. package/dist/bundle.d158d417d1d7a8acb2a1.js +1 -0
  75. package/dist/bundle.d158d417d1d7a8acb2a1.js.gz +0 -0
  76. package/dist/bundle.db40aa107272f4303ece.js +1 -0
  77. package/dist/bundle.db40aa107272f4303ece.js.gz +0 -0
  78. package/dist/bundle.ddefe6d8f235ef95d470.js +1 -0
  79. package/dist/bundle.ddefe6d8f235ef95d470.js.gz +0 -0
  80. package/dist/bundle.e02a7a16b4a6b3bb412f.js +2 -0
  81. package/dist/bundle.e02a7a16b4a6b3bb412f.js.LICENSE.txt +16 -0
  82. package/dist/bundle.e02a7a16b4a6b3bb412f.js.gz +0 -0
  83. package/dist/bundle.e760a70171cf0ae4567b.js +1 -0
  84. package/dist/bundle.e760a70171cf0ae4567b.js.gz +0 -0
  85. package/dist/bundle.f3ce062a620fe456c152.js +1 -0
  86. package/dist/bundle.f6e1c4fda58154810fe2.js +2 -0
  87. package/dist/bundle.f6e1c4fda58154810fe2.js.LICENSE.txt +41 -0
  88. package/dist/bundle.f6e1c4fda58154810fe2.js.gz +0 -0
  89. package/dist/bundle.fe9c09b8ace9c3117b0a.js +1 -0
  90. package/dist/bundle.fe9c09b8ace9c3117b0a.js.gz +0 -0
  91. package/dist/bundle.feaa17bec2057a4ee54f.js +1 -0
  92. package/dist/bundle.feaa17bec2057a4ee54f.js.gz +0 -0
  93. package/dist/css/chemstruc-graph-6437e59640f8b99b774f.css +12 -0
  94. package/dist/css/chemstruc-graph-6437e59640f8b99b774f.css.gz +0 -0
  95. package/dist/css/common-901df6b21f13391f2a53.css +56 -0
  96. package/dist/css/html-editor-draft-5e8e152675ab7d201c00.css +886 -0
  97. package/dist/css/html-editor-draft-5e8e152675ab7d201c00.css.gz +0 -0
  98. package/dist/css/main-f3c8fdebab315e61e7be.css +865 -0
  99. package/dist/css/main-f3c8fdebab315e61e7be.css.gz +0 -0
  100. package/dist/images/development-30de07a0.png +0 -0
  101. package/dist/images/logo-54b328b7.png +0 -0
  102. package/dist/images/pain-point-8f02421e.png +0 -0
  103. package/dist/images/target-13a5b4b9.png +0 -0
  104. package/dist/images/time-cost-cb40d2c2.png +0 -0
  105. package/dist/images/time-prograss-44b86b36.png +0 -0
  106. package/dist/index.html +4 -0
  107. package/lib/controls/action/index.d.ts +16 -7
  108. package/lib/controls/action/index.d.ts.map +1 -1
  109. package/lib/controls/action/index.js +64 -48
  110. package/lib/controls/action/index.js.map +1 -1
  111. package/lib/controls/action/utils.d.ts +1 -1
  112. package/lib/controls/action/utils.d.ts.map +1 -1
  113. package/lib/controls/action/utils.js +6 -4
  114. package/lib/controls/action/utils.js.map +1 -1
  115. package/lib/controls/auto-complete/index.d.ts +1 -1
  116. package/lib/controls/auto-complete/index.d.ts.map +1 -1
  117. package/lib/controls/auto-complete/index.js +12 -6
  118. package/lib/controls/auto-complete/index.js.map +1 -1
  119. package/lib/controls/chemstruc/graph.d.ts +13 -4
  120. package/lib/controls/chemstruc/graph.d.ts.map +1 -1
  121. package/lib/controls/chemstruc/graph.js +40 -27
  122. package/lib/controls/chemstruc/graph.js.map +1 -1
  123. package/lib/controls/collapse-card/index.d.ts +11 -2
  124. package/lib/controls/collapse-card/index.d.ts.map +1 -1
  125. package/lib/controls/collapse-card/index.js +18 -16
  126. package/lib/controls/collapse-card/index.js.map +1 -1
  127. package/lib/controls/color-picker/index.d.ts +11 -2
  128. package/lib/controls/color-picker/index.d.ts.map +1 -1
  129. package/lib/controls/color-picker/index.js +23 -19
  130. package/lib/controls/color-picker/index.js.map +1 -1
  131. package/lib/controls/cquery/cquick-button.d.ts +11 -2
  132. package/lib/controls/cquery/cquick-button.d.ts.map +1 -1
  133. package/lib/controls/cquery/cquick-button.js +30 -28
  134. package/lib/controls/cquery/cquick-button.js.map +1 -1
  135. package/lib/controls/entity-select/entity-select.d.ts +12 -3
  136. package/lib/controls/entity-select/entity-select.d.ts.map +1 -1
  137. package/lib/controls/entity-select/entity-select.js +67 -66
  138. package/lib/controls/entity-select/entity-select.js.map +1 -1
  139. package/lib/controls/entity-select/lab-tree-select.d.ts +11 -2
  140. package/lib/controls/entity-select/lab-tree-select.d.ts.map +1 -1
  141. package/lib/controls/entity-select/lab-tree-select.js +26 -21
  142. package/lib/controls/entity-select/lab-tree-select.js.map +1 -1
  143. package/lib/controls/entity-select/popover-entity-select.d.ts +11 -2
  144. package/lib/controls/entity-select/popover-entity-select.d.ts.map +1 -1
  145. package/lib/controls/entity-select/popover-entity-select.js +30 -26
  146. package/lib/controls/entity-select/popover-entity-select.js.map +1 -1
  147. package/lib/controls/entry-control.d.ts +1 -1
  148. package/lib/controls/entry-control.d.ts.map +1 -1
  149. package/lib/controls/entry-control.js +153 -98
  150. package/lib/controls/entry-control.js.map +1 -1
  151. package/lib/controls/html-editor/tinymce.d.ts.map +1 -1
  152. package/lib/controls/input-number/index.d.ts +1 -1
  153. package/lib/controls/input-number/index.d.ts.map +1 -1
  154. package/lib/controls/input-number/index.js +31 -23
  155. package/lib/controls/input-number/index.js.map +1 -1
  156. package/lib/controls/input-range/index.d.ts +1 -1
  157. package/lib/controls/input-range/index.d.ts.map +1 -1
  158. package/lib/controls/input-range/index.js +9 -8
  159. package/lib/controls/input-range/index.js.map +1 -1
  160. package/lib/controls/password-setter/index.d.ts +9 -3
  161. package/lib/controls/password-setter/index.d.ts.map +1 -1
  162. package/lib/controls/password-setter/index.js +22 -14
  163. package/lib/controls/password-setter/index.js.map +1 -1
  164. package/lib/controls/progress/index.d.ts +1 -1
  165. package/lib/controls/progress/index.d.ts.map +1 -1
  166. package/lib/controls/progress/index.js +13 -6
  167. package/lib/controls/progress/index.js.map +1 -1
  168. package/lib/controls/relation-existion/index.d.ts +11 -2
  169. package/lib/controls/relation-existion/index.d.ts.map +1 -1
  170. package/lib/controls/relation-existion/index.js +30 -18
  171. package/lib/controls/relation-existion/index.js.map +1 -1
  172. package/lib/controls/rfield/index.d.ts +11 -2
  173. package/lib/controls/rfield/index.d.ts.map +1 -1
  174. package/lib/controls/rfield/index.js +33 -35
  175. package/lib/controls/rfield/index.js.map +1 -1
  176. package/lib/controls/signature/index.d.ts +10 -1
  177. package/lib/controls/signature/index.d.ts.map +1 -1
  178. package/lib/controls/signature/index.js +56 -31
  179. package/lib/controls/signature/index.js.map +1 -1
  180. package/lib/controls/steps/index.d.ts +1 -1
  181. package/lib/controls/steps/index.d.ts.map +1 -1
  182. package/lib/controls/steps/index.js +8 -6
  183. package/lib/controls/steps/index.js.map +1 -1
  184. package/lib/controls/text/ellipsis-text.d.ts +9 -0
  185. package/lib/controls/text/ellipsis-text.d.ts.map +1 -1
  186. package/lib/controls/text/ellipsis-text.js +13 -11
  187. package/lib/controls/text/ellipsis-text.js.map +1 -1
  188. package/lib/controls/upload/index.d.ts +10 -1
  189. package/lib/controls/upload/index.d.ts.map +1 -1
  190. package/lib/controls/upload/index.js +30 -21
  191. package/lib/controls/upload/index.js.map +1 -1
  192. package/lib/controls/view-control.d.ts +1 -1
  193. package/lib/controls/view-control.d.ts.map +1 -1
  194. package/lib/controls/view-control.js +118 -85
  195. package/lib/controls/view-control.js.map +1 -1
  196. package/lib/custom-page/def-custom-page.d.ts +5 -6
  197. package/lib/custom-page/def-custom-page.d.ts.map +1 -1
  198. package/lib/custom-page/def-custom-page.js +13 -12
  199. package/lib/custom-page/def-custom-page.js.map +1 -1
  200. package/lib/custom-page/dtmpl-custom-edit-modal-page.d.ts +10 -1
  201. package/lib/custom-page/dtmpl-custom-edit-modal-page.d.ts.map +1 -1
  202. package/lib/custom-page/dtmpl-custom-edit-modal-page.js +19 -7
  203. package/lib/custom-page/dtmpl-custom-edit-modal-page.js.map +1 -1
  204. package/lib/detail/button/bottom-submit-button-bar.d.ts +11 -2
  205. package/lib/detail/button/bottom-submit-button-bar.d.ts.map +1 -1
  206. package/lib/detail/button/bottom-submit-button-bar.js +20 -12
  207. package/lib/detail/button/bottom-submit-button-bar.js.map +1 -1
  208. package/lib/detail/button/cquery-button-bar.d.ts +12 -3
  209. package/lib/detail/button/cquery-button-bar.d.ts.map +1 -1
  210. package/lib/detail/button/cquery-button-bar.js +22 -18
  211. package/lib/detail/button/cquery-button-bar.js.map +1 -1
  212. package/lib/detail/button/fix-right-submit-button-bar.d.ts +11 -2
  213. package/lib/detail/button/fix-right-submit-button-bar.d.ts.map +1 -1
  214. package/lib/detail/button/fix-right-submit-button-bar.js +28 -23
  215. package/lib/detail/button/fix-right-submit-button-bar.js.map +1 -1
  216. package/lib/detail/edit/fields-edit-card.d.ts +11 -2
  217. package/lib/detail/edit/fields-edit-card.d.ts.map +1 -1
  218. package/lib/detail/edit/fields-edit-card.js +18 -19
  219. package/lib/detail/edit/fields-edit-card.js.map +1 -1
  220. package/lib/detail/edit/modal-row-edit.d.ts +11 -2
  221. package/lib/detail/edit/modal-row-edit.d.ts.map +1 -1
  222. package/lib/detail/edit/modal-row-edit.js +14 -11
  223. package/lib/detail/edit/modal-row-edit.js.map +1 -1
  224. package/lib/detail/edit/post-result/index.d.ts +1 -1
  225. package/lib/detail/edit/post-result/index.d.ts.map +1 -1
  226. package/lib/detail/edit/post-result/index.js +17 -12
  227. package/lib/detail/edit/post-result/index.js.map +1 -1
  228. package/lib/detail/edit/row-edit-card.d.ts +11 -2
  229. package/lib/detail/edit/row-edit-card.d.ts.map +1 -1
  230. package/lib/detail/edit/row-edit-card.js +23 -23
  231. package/lib/detail/edit/row-edit-card.js.map +1 -1
  232. package/lib/detail/rightbar/index.d.ts +12 -3
  233. package/lib/detail/rightbar/index.d.ts.map +1 -1
  234. package/lib/detail/rightbar/index.js +16 -9
  235. package/lib/detail/rightbar/index.js.map +1 -1
  236. package/lib/detail/view/act-dtmpl-view.d.ts +11 -2
  237. package/lib/detail/view/act-dtmpl-view.d.ts.map +1 -1
  238. package/lib/detail/view/act-dtmpl-view.js +26 -25
  239. package/lib/detail/view/act-dtmpl-view.js.map +1 -1
  240. package/lib/detail/view/dtmpl-view.d.ts +2 -2
  241. package/lib/detail/view/dtmpl-view.d.ts.map +1 -1
  242. package/lib/detail/view/dtmpl-view.js +40 -40
  243. package/lib/detail/view/dtmpl-view.js.map +1 -1
  244. package/lib/detail/view/field-view-group.d.ts +10 -1
  245. package/lib/detail/view/field-view-group.d.ts.map +1 -1
  246. package/lib/detail/view/field-view-group.js +17 -11
  247. package/lib/detail/view/field-view-group.js.map +1 -1
  248. package/lib/detail/view/modal-dtmpl-view.d.ts +10 -1
  249. package/lib/detail/view/modal-dtmpl-view.d.ts.map +1 -1
  250. package/lib/detail/view/modal-dtmpl-view.js +11 -8
  251. package/lib/detail/view/modal-dtmpl-view.js.map +1 -1
  252. package/lib/detail/view/snapshot-timeline.d.ts +11 -2
  253. package/lib/detail/view/snapshot-timeline.d.ts.map +1 -1
  254. package/lib/detail/view/snapshot-timeline.js +18 -16
  255. package/lib/detail/view/snapshot-timeline.js.map +1 -1
  256. package/lib/exportor/export-frame.d.ts +11 -2
  257. package/lib/exportor/export-frame.d.ts.map +1 -1
  258. package/lib/exportor/export-frame.js +41 -42
  259. package/lib/exportor/export-frame.js.map +1 -1
  260. package/lib/form/criteria-form.d.ts +2 -2
  261. package/lib/form/criteria-form.d.ts.map +1 -1
  262. package/lib/form/criteria-form.js +58 -45
  263. package/lib/form/criteria-form.js.map +1 -1
  264. package/lib/form/dtmpl-form.d.ts +11 -2
  265. package/lib/form/dtmpl-form.d.ts.map +1 -1
  266. package/lib/form/dtmpl-form.js +77 -65
  267. package/lib/form/dtmpl-form.js.map +1 -1
  268. package/lib/form/field-group-form.d.ts +12 -3
  269. package/lib/form/field-group-form.d.ts.map +1 -1
  270. package/lib/form/field-group-form.js +26 -18
  271. package/lib/form/field-group-form.js.map +1 -1
  272. package/lib/form/form-Item-group.d.ts +10 -1
  273. package/lib/form/form-Item-group.d.ts.map +1 -1
  274. package/lib/form/form-Item-group.js +43 -26
  275. package/lib/form/form-Item-group.js.map +1 -1
  276. package/lib/import/excel-import.d.ts +12 -3
  277. package/lib/import/excel-import.d.ts.map +1 -1
  278. package/lib/import/excel-import.js +69 -55
  279. package/lib/import/excel-import.js.map +1 -1
  280. package/lib/index.d.ts +42 -39
  281. package/lib/index.d.ts.map +1 -1
  282. package/lib/index.js +43 -39
  283. package/lib/index.js.map +1 -1
  284. package/lib/layout/MainPage.d.ts +1 -1
  285. package/lib/layout/MainPage.d.ts.map +1 -1
  286. package/lib/layout/MainPage.js +47 -37
  287. package/lib/layout/MainPage.js.map +1 -1
  288. package/lib/layout/footer/index.d.ts.map +1 -1
  289. package/lib/layout/header/index.d.ts +1 -1
  290. package/lib/layout/header/index.d.ts.map +1 -1
  291. package/lib/layout/header/index.js +15 -13
  292. package/lib/layout/header/index.js.map +1 -1
  293. package/lib/layout/menu/block.d.ts +13 -1
  294. package/lib/layout/menu/block.d.ts.map +1 -1
  295. package/lib/layout/menu/block.js +66 -8
  296. package/lib/layout/menu/block.js.map +1 -1
  297. package/lib/layout/menu/l2menu-quick-bar.d.ts +11 -2
  298. package/lib/layout/menu/l2menu-quick-bar.d.ts.map +1 -1
  299. package/lib/layout/menu/l2menu-quick-bar.js +24 -19
  300. package/lib/layout/menu/l2menu-quick-bar.js.map +1 -1
  301. package/lib/layout/menu/menu-2layers.d.ts +10 -0
  302. package/lib/layout/menu/menu-2layers.d.ts.map +1 -1
  303. package/lib/layout/menu/menu-2layers.js +32 -9
  304. package/lib/layout/menu/menu-2layers.js.map +1 -1
  305. package/lib/layout/menu/reset-password.d.ts +12 -3
  306. package/lib/layout/menu/reset-password.d.ts.map +1 -1
  307. package/lib/layout/menu/reset-password.js +52 -36
  308. package/lib/layout/menu/reset-password.js.map +1 -1
  309. package/lib/layout/menu/user-bar.d.ts +12 -3
  310. package/lib/layout/menu/user-bar.d.ts.map +1 -1
  311. package/lib/layout/menu/user-bar.js +72 -42
  312. package/lib/layout/menu/user-bar.js.map +1 -1
  313. package/lib/layout/menu/userinfo-bar.d.ts +10 -1
  314. package/lib/layout/menu/userinfo-bar.d.ts.map +1 -1
  315. package/lib/layout/menu/userinfo-bar.js +11 -10
  316. package/lib/layout/menu/userinfo-bar.js.map +1 -1
  317. package/lib/layout/sidebar/index.css +15 -4
  318. package/lib/layout/sidebar/index.d.ts +2 -2
  319. package/lib/layout/sidebar/index.d.ts.map +1 -1
  320. package/lib/layout/sidebar/index.js +21 -13
  321. package/lib/layout/sidebar/index.js.map +1 -1
  322. package/lib/locale/LocaleButton.d.ts +4 -0
  323. package/lib/locale/LocaleButton.d.ts.map +1 -0
  324. package/lib/locale/LocaleButton.js +24 -0
  325. package/lib/locale/LocaleButton.js.map +1 -0
  326. package/lib/locale/LocaleProvider.d.ts +13 -0
  327. package/lib/locale/LocaleProvider.d.ts.map +1 -0
  328. package/lib/locale/LocaleProvider.js +137 -0
  329. package/lib/locale/LocaleProvider.js.map +1 -0
  330. package/lib/locale/langMp.d.ts +16 -0
  331. package/lib/locale/langMp.d.ts.map +1 -0
  332. package/lib/locale/langMp.js +29 -0
  333. package/lib/locale/langMp.js.map +1 -0
  334. package/lib/locale/translate.d.ts +3 -0
  335. package/lib/locale/translate.d.ts.map +1 -0
  336. package/lib/locale/translate.js +76 -0
  337. package/lib/locale/translate.js.map +1 -0
  338. package/lib/locale/useLocale.d.ts +14 -0
  339. package/lib/locale/useLocale.d.ts.map +1 -0
  340. package/lib/locale/useLocale.js +34 -0
  341. package/lib/locale/useLocale.js.map +1 -0
  342. package/lib/login/login.d.ts +13 -3
  343. package/lib/login/login.d.ts.map +1 -1
  344. package/lib/login/login.js +38 -25
  345. package/lib/login/login.js.map +1 -1
  346. package/lib/login/router-login.d.ts +2 -2
  347. package/lib/login/router-login.d.ts.map +1 -1
  348. package/lib/login/router-login.js +33 -19
  349. package/lib/login/router-login.js.map +1 -1
  350. package/lib/module/dtmpl-edit-card.d.ts +11 -2
  351. package/lib/module/dtmpl-edit-card.d.ts.map +1 -1
  352. package/lib/module/dtmpl-edit-card.js +22 -14
  353. package/lib/module/dtmpl-edit-card.js.map +1 -1
  354. package/lib/module/dtmpl-edit-page.d.ts +12 -3
  355. package/lib/module/dtmpl-edit-page.d.ts.map +1 -1
  356. package/lib/module/dtmpl-edit-page.js +42 -31
  357. package/lib/module/dtmpl-edit-page.js.map +1 -1
  358. package/lib/module/ltmpl-modal.d.ts +10 -1
  359. package/lib/module/ltmpl-modal.d.ts.map +1 -1
  360. package/lib/module/ltmpl-modal.js +15 -8
  361. package/lib/module/ltmpl-modal.js.map +1 -1
  362. package/lib/module/ltmpl-table.d.ts +11 -2
  363. package/lib/module/ltmpl-table.d.ts.map +1 -1
  364. package/lib/module/ltmpl-table.js +39 -39
  365. package/lib/module/ltmpl-table.js.map +1 -1
  366. package/lib/routable/ltmpl-route.d.ts +2 -2
  367. package/lib/routable/ltmpl-route.d.ts.map +1 -1
  368. package/lib/routable/ltmpl-route.js +22 -21
  369. package/lib/routable/ltmpl-route.js.map +1 -1
  370. package/lib/table/act-table.d.ts +12 -3
  371. package/lib/table/act-table.d.ts.map +1 -1
  372. package/lib/table/act-table.js +269 -208
  373. package/lib/table/act-table.js.map +1 -1
  374. package/lib/table/column/column-selector.d.ts.map +1 -1
  375. package/lib/table/column/column-selector.js +20 -18
  376. package/lib/table/column/column-selector.js.map +1 -1
  377. package/lib/table/control-table-x-axis-wrapper.d.ts +5 -0
  378. package/lib/table/control-table-x-axis-wrapper.d.ts.map +1 -0
  379. package/lib/table/control-table-x-axis-wrapper.js +60 -0
  380. package/lib/table/control-table-x-axis-wrapper.js.map +1 -0
  381. package/lib/table/l2-act-table.d.ts +1 -1
  382. package/lib/table/pagination.d.ts +11 -2
  383. package/lib/table/pagination.d.ts.map +1 -1
  384. package/lib/table/pagination.js +13 -12
  385. package/lib/table/pagination.js.map +1 -1
  386. package/lib/table/query-table.d.ts +10 -1
  387. package/lib/table/query-table.d.ts.map +1 -1
  388. package/lib/table/query-table.js +47 -40
  389. package/lib/table/query-table.js.map +1 -1
  390. package/lib/table/relation-table.d.ts +13 -4
  391. package/lib/table/relation-table.d.ts.map +1 -1
  392. package/lib/table/relation-table.js +118 -109
  393. package/lib/table/relation-table.js.map +1 -1
  394. package/lib/table/selected-rows-card.d.ts +10 -1
  395. package/lib/table/selected-rows-card.d.ts.map +1 -1
  396. package/lib/table/selected-rows-card.js +10 -9
  397. package/lib/table/selected-rows-card.js.map +1 -1
  398. package/lib/table/stat/restat.d.ts +10 -1
  399. package/lib/table/stat/restat.d.ts.map +1 -1
  400. package/lib/table/stat/restat.js +10 -9
  401. package/lib/table/stat/restat.js.map +1 -1
  402. package/lib/tmpl/hc-data-source.d.ts.map +1 -1
  403. package/lib/tmpl/hc-data-source.js +21 -14
  404. package/lib/tmpl/hc-data-source.js.map +1 -1
  405. package/lib/tmpl/hcservice-v3.d.ts +2 -0
  406. package/lib/tmpl/hcservice-v3.d.ts.map +1 -1
  407. package/lib/tmpl/hcservice-v3.js +127 -100
  408. package/lib/tmpl/hcservice-v3.js.map +1 -1
  409. package/lib/tmpl/model-struc-v3.d.ts.map +1 -1
  410. package/lib/tmpl/model-struc-v3.js +19 -18
  411. package/lib/tmpl/model-struc-v3.js.map +1 -1
  412. package/lib/tmpl/superagent.d.ts +2 -2
  413. package/lib/tmpl/superagent.d.ts.map +1 -1
  414. package/lib/tmpl/superagent.js +28 -23
  415. package/lib/tmpl/superagent.js.map +1 -1
  416. package/lib/tree/act-tree.d.ts +10 -1
  417. package/lib/tree/act-tree.d.ts.map +1 -1
  418. package/lib/tree/act-tree.js +26 -20
  419. package/lib/tree/act-tree.js.map +1 -1
  420. package/lib/tree/tmpl-tree.d.ts +11 -2
  421. package/lib/tree/tmpl-tree.d.ts.map +1 -1
  422. package/lib/tree/tmpl-tree.js +85 -64
  423. package/lib/tree/tmpl-tree.js.map +1 -1
  424. package/lib/tree/tree-node.d.ts.map +1 -1
  425. package/lib/tree/tree-node.js.map +1 -1
  426. package/lib/units/index.d.ts.map +1 -1
  427. package/lib/welcome/HCWelcome.js +7 -23
  428. package/lib/welcome/HCWelcome.js.map +1 -1
  429. package/lib/welcome/HCWelcome1.d.ts +4 -0
  430. package/lib/welcome/HCWelcome1.d.ts.map +1 -0
  431. package/lib/welcome/HCWelcome1.js +192 -0
  432. package/lib/welcome/HCWelcome1.js.map +1 -0
  433. package/lib/welcome/quick-entrance.d.ts +12 -3
  434. package/lib/welcome/quick-entrance.d.ts.map +1 -1
  435. package/lib/welcome/quick-entrance.js +21 -17
  436. package/lib/welcome/quick-entrance.js.map +1 -1
  437. package/lib/welcome/workbench.d.ts +12 -3
  438. package/lib/welcome/workbench.d.ts.map +1 -1
  439. package/lib/welcome/workbench.js +23 -19
  440. package/lib/welcome/workbench.js.map +1 -1
  441. package/package.json +1 -1
  442. package/src/aldehyde/controls/action/index.tsx +329 -221
  443. package/src/aldehyde/controls/action/utils.tsx +6 -4
  444. package/src/aldehyde/controls/auto-complete/index.tsx +64 -60
  445. package/src/aldehyde/controls/chemstruc/graph.tsx +175 -139
  446. package/src/aldehyde/controls/collapse-card/index.tsx +96 -54
  447. package/src/aldehyde/controls/color-picker/index.tsx +107 -78
  448. package/src/aldehyde/controls/cquery/cquick-button.tsx +129 -89
  449. package/src/aldehyde/controls/entity-select/entity-select.tsx +643 -523
  450. package/src/aldehyde/controls/entity-select/lab-tree-select.tsx +140 -131
  451. package/src/aldehyde/controls/entity-select/popover-entity-select.tsx +178 -133
  452. package/src/aldehyde/controls/entry-control.tsx +374 -248
  453. package/src/aldehyde/controls/input-number/index.tsx +131 -86
  454. package/src/aldehyde/controls/input-range/index.tsx +51 -40
  455. package/src/aldehyde/controls/password-setter/index.js +81 -63
  456. package/src/aldehyde/controls/progress/index.tsx +59 -46
  457. package/src/aldehyde/controls/relation-existion/index.tsx +125 -87
  458. package/src/aldehyde/controls/rfield/index.tsx +178 -151
  459. package/src/aldehyde/controls/signature/index.tsx +215 -151
  460. package/src/aldehyde/controls/steps/index.tsx +44 -42
  461. package/src/aldehyde/controls/text/ellipsis-text.tsx +79 -53
  462. package/src/aldehyde/controls/upload/index.tsx +125 -109
  463. package/src/aldehyde/controls/view-control.tsx +250 -188
  464. package/src/aldehyde/custom-page/def-custom-page.tsx +17 -0
  465. package/src/aldehyde/custom-page/dtmpl-custom-edit-modal-page.tsx +75 -66
  466. package/src/aldehyde/detail/button/bottom-submit-button-bar.tsx +79 -43
  467. package/src/aldehyde/detail/button/cquery-button-bar.tsx +129 -98
  468. package/src/aldehyde/detail/button/fix-right-submit-button-bar.tsx +161 -113
  469. package/src/aldehyde/detail/edit/fields-edit-card.tsx +124 -87
  470. package/src/aldehyde/detail/edit/modal-row-edit.tsx +81 -60
  471. package/src/aldehyde/detail/edit/post-result/index.tsx +80 -47
  472. package/src/aldehyde/detail/edit/row-edit-card.tsx +158 -107
  473. package/src/aldehyde/detail/rightbar/index.tsx +79 -63
  474. package/src/aldehyde/detail/view/act-dtmpl-view.tsx +177 -124
  475. package/src/aldehyde/detail/view/dtmpl-view.tsx +284 -178
  476. package/src/aldehyde/detail/view/field-view-group.tsx +62 -47
  477. package/src/aldehyde/detail/view/modal-dtmpl-view.tsx +67 -54
  478. package/src/aldehyde/detail/view/snapshot-timeline.tsx +143 -110
  479. package/src/aldehyde/exportor/export-frame.tsx +258 -200
  480. package/src/aldehyde/form/criteria-form.tsx +309 -201
  481. package/src/aldehyde/form/dtmpl-form.tsx +460 -307
  482. package/src/aldehyde/form/field-group-form.tsx +87 -66
  483. package/src/aldehyde/form/form-Item-group.tsx +190 -132
  484. package/src/aldehyde/import/excel-import.tsx +414 -331
  485. package/src/aldehyde/index.tsx +90 -45
  486. package/src/aldehyde/layout/MainPage.tsx +280 -245
  487. package/src/aldehyde/layout/header/index.tsx +59 -53
  488. package/src/aldehyde/layout/menu/block.less +11 -0
  489. package/src/aldehyde/layout/menu/block.tsx +132 -72
  490. package/src/aldehyde/layout/menu/l2menu-quick-bar.tsx +137 -118
  491. package/src/aldehyde/layout/menu/menu-2layers.tsx +99 -64
  492. package/src/aldehyde/layout/menu/reset-password.tsx +213 -162
  493. package/src/aldehyde/layout/menu/user-bar.tsx +216 -147
  494. package/src/aldehyde/layout/menu/userinfo-bar.tsx +58 -41
  495. package/src/aldehyde/layout/sidebar/index.css +15 -4
  496. package/src/aldehyde/layout/sidebar/index.tsx +70 -38
  497. package/src/aldehyde/locale/LocaleButton.tsx +31 -0
  498. package/src/aldehyde/locale/LocaleProvider.tsx +166 -0
  499. package/src/aldehyde/locale/langMp.ts +33 -0
  500. package/src/aldehyde/locale/translate.ts +81 -0
  501. package/src/aldehyde/locale/useLocale.ts +50 -0
  502. package/src/aldehyde/login/login.tsx +192 -141
  503. package/src/aldehyde/login/router-login.tsx +54 -21
  504. package/src/aldehyde/module/dtmpl-edit-card.tsx +225 -160
  505. package/src/aldehyde/module/dtmpl-edit-page.tsx +334 -212
  506. package/src/aldehyde/module/ltmpl-modal.tsx +57 -53
  507. package/src/aldehyde/module/ltmpl-table.tsx +329 -240
  508. package/src/aldehyde/routable/ltmpl-route.tsx +220 -196
  509. package/src/aldehyde/table/act-table.tsx +1244 -795
  510. package/src/aldehyde/table/column/column-selector.tsx +111 -72
  511. package/src/aldehyde/table/control-table-x-axis-wrapper.tsx +52 -0
  512. package/src/aldehyde/table/pagination.tsx +66 -59
  513. package/src/aldehyde/table/query-table.tsx +354 -303
  514. package/src/aldehyde/table/relation-table.tsx +781 -571
  515. package/src/aldehyde/table/selected-rows-card.tsx +61 -48
  516. package/src/aldehyde/table/stat/restat.tsx +112 -69
  517. package/src/aldehyde/tmpl/hc-data-source.tsx +381 -296
  518. package/src/aldehyde/tmpl/hcservice-v3.tsx +991 -796
  519. package/src/aldehyde/tmpl/model-struc-v3.tsx +95 -91
  520. package/src/aldehyde/tmpl/superagent.js +148 -142
  521. package/src/aldehyde/tree/act-tree.tsx +206 -138
  522. package/src/aldehyde/tree/tmpl-tree.tsx +627 -353
  523. package/src/aldehyde/tree/tree-node.tsx +0 -3
  524. package/src/aldehyde/welcome/HCWelcome.js +78 -110
  525. package/src/aldehyde/welcome/HCWelcome1.js +260 -0
  526. package/src/aldehyde/welcome/quick-entrance.tsx +82 -71
  527. package/src/aldehyde/welcome/workbench.tsx +83 -68
  528. package/src/aldehyde/custom-page/def-custom-page.js +0 -18
@@ -1,865 +1,1314 @@
1
- import React, {ReactNode} from 'react'
2
- import {Button, Card, Checkbox, Col, Collapse, Divider, Popconfirm, Popover, Row, Space, Table, Tooltip} from 'antd';
1
+ import React, { ReactNode } from "react";
3
2
  import {
4
- AlignCenterOutlined,
5
- AlignLeftOutlined,
6
- CopyOutlined,
7
- DeleteOutlined,
8
- DownloadOutlined,
9
- EditOutlined,
10
- EyeInvisibleOutlined,
11
- EyeOutlined,
12
- FormOutlined,
13
- FundOutlined,
14
- LineChartOutlined,
15
- MenuOutlined,
16
- PlusCircleOutlined,
17
- PlusOutlined,
18
- ReloadOutlined,
19
- RetweetOutlined,
20
- SearchOutlined,
21
- TableOutlined,
22
- UploadOutlined
23
- } from '@ant-design/icons';
24
- import "./index.css"
3
+ Button,
4
+ Card,
5
+ Checkbox,
6
+ Col,
7
+ Collapse,
8
+ Divider,
9
+ Popconfirm,
10
+ Popover,
11
+ Row,
12
+ Space,
13
+ Tooltip,
14
+ } from "antd";
15
+ import { Table } from "./control-table-x-axis-wrapper";
25
16
  import {
26
- ActTableMode,
27
- ActTableViewModel,
28
- AddOrUpdate, ClassifiedAddConfig,
29
- ColumnConfig,
30
- DtmplData, JumpConfig,
31
- LtmplConfig,
32
- QueryKey,
33
- SelectedRow,
34
- TmplBaseProps,
17
+ AlignCenterOutlined,
18
+ AlignLeftOutlined,
19
+ CopyOutlined,
20
+ DeleteOutlined,
21
+ DownloadOutlined,
22
+ EditOutlined,
23
+ EyeInvisibleOutlined,
24
+ EyeOutlined,
25
+ FormOutlined,
26
+ FundOutlined,
27
+ LineChartOutlined,
28
+ MenuOutlined,
29
+ PlusCircleOutlined,
30
+ PlusOutlined,
31
+ ReloadOutlined,
32
+ RetweetOutlined,
33
+ SearchOutlined,
34
+ TableOutlined,
35
+ UploadOutlined,
36
+ } from "@ant-design/icons";
37
+ import "./index.css";
38
+ import {
39
+ ActTableMode,
40
+ ActTableViewModel,
41
+ AddOrUpdate,
42
+ ClassifiedAddConfig,
43
+ ColumnConfig,
44
+ DtmplData,
45
+ JumpConfig,
46
+ LtmplConfig,
47
+ QueryKey,
48
+ SelectedRow,
49
+ TmplBaseProps,
35
50
  } from "../tmpl/interface";
36
51
  import TableUnits from "./table-util";
37
- import SupportInputTypes from '../tmpl/control-type-supportor';
52
+ import SupportInputTypes from "../tmpl/control-type-supportor";
38
53
  import HcserviceV3 from "../tmpl/hcservice-v3";
39
- import QueryTable from './query-table';
54
+ import QueryTable from "./query-table";
40
55
  import CriteriaForm from "./../form/criteria-form";
41
56
  import ViewControl from "../controls/view-control";
42
57
  import Units from "../units";
43
- import ColumnSelector from './column/column-selector';
44
- import ExportFrame from '../exportor/export-frame';
45
- import {SortableHandle} from 'react-sortable-hoc';
58
+ import ColumnSelector from "./column/column-selector";
59
+ import ExportFrame from "../exportor/export-frame";
60
+ import { SortableHandle } from "react-sortable-hoc";
46
61
  import L2ActTable from "./l2-act-table";
47
62
 
48
- import Action from '../controls/action'
49
- import Restat from "./stat/restat"
50
- import ActionUtils from '../controls/action/utils'
63
+ import Action from "../controls/action";
64
+ import Restat from "./stat/restat";
65
+ import ActionUtils from "../controls/action/utils";
51
66
  import CquickButton from "../controls/cquery/cquick-button";
52
67
  import CollapseCard from "../controls/collapse-card";
53
68
  import ToolTipBar from "../detail/tooltipbar";
69
+ import { LocaleContext } from "../locale/LocaleProvider";
54
70
 
55
- const DragHandle = SortableHandle(() => <MenuOutlined style={{cursor: 'grab', color: '#999'}}/>);
56
- const {Panel} = Collapse;
57
-
58
- type Level = 'l1' | 'l2';
59
-
71
+ const DragHandle = SortableHandle(() => (
72
+ <MenuOutlined style={{ cursor: "grab", color: "#999" }} />
73
+ ));
74
+ const { Panel } = Collapse;
60
75
 
61
- const defaultDisabledColIds: string[] = ['20000', '10000']
76
+ type Level = "l1" | "l2";
62
77
 
78
+ const defaultDisabledColIds: string[] = ["20000", "10000"];
79
+ let refresh=true;
63
80
  interface ActTableProps extends TmplBaseProps {
64
- criteriaData: object,
65
- pageNo:number,
66
- pageSize:number,
67
- onChangePage:(pageNo:number,pageSize:number)=>void,
68
- ltmplConfig: LtmplConfig,
69
- menuId?: string,
70
- showView?: (code: string, toCustomPage?: boolean) => void,
71
- doCreate?: (addtmplId:string,toCustomPage: boolean) => void,
72
- customCreatable?:boolean,
73
- doEdit?: (code: string, mode: AddOrUpdate, toCustomPage?: boolean) => void,
74
- customEditable?:boolean,
75
- doDelete?: (code: string) => void,
76
- doSearch?: (params: object) => void,
77
- doRAction?: (ractionId: string, mainCode: string) => void,
78
- level?: Level,
79
- funcMode?: ActTableMode,
80
- title?: ReactNode,
81
- tip?:any,
82
- collapsible?: boolean,
83
- initCollapse?:boolean,
84
- readOnly?:boolean,
85
- };
81
+ criteriaData: object;
82
+ pageNo: number;
83
+ pageSize: number;
84
+ onChangePage: (pageNo: number, pageSize: number) => void;
85
+ ltmplConfig: LtmplConfig;
86
+ menuId?: string;
87
+ showView?: (code: string, toCustomPage?: boolean) => void;
88
+ doCreate?: (addtmplId: string, toCustomPage: boolean) => void;
89
+ customCreatable?: boolean;
90
+ doEdit?: (code: string, mode: AddOrUpdate, toCustomPage?: boolean) => void;
91
+ customEditable?: boolean;
92
+ doDelete?: (code: string) => void;
93
+ doSearch?: (params: object) => void;
94
+ doRAction?: (ractionId: string, mainCode: string) => void;
95
+ level?: Level;
96
+ funcMode?: ActTableMode;
97
+ title?: ReactNode;
98
+ tip?: any;
99
+ collapsible?: boolean;
100
+ initCollapse?: boolean;
101
+ readOnly?: boolean;
102
+ }
86
103
 
87
104
  interface ActTableStat {
88
- //tableColumns?: object[];
89
- sortedColConfigs?: ColumnConfig[];
90
- queryKey?: QueryKey;
91
- loading?: boolean;
92
- selectedRows?: SelectedRow[];
93
- selectedDatas?: DtmplData[];
94
- hiddenColIds?: string[];
95
- drillingColIds?: string[];
96
- disabledColIds?: string[];
97
- hiddenRowCodes?: string[];
98
- viewModels?: ActTableViewModel[];
99
- showL2ActTable?: boolean;
100
- showL2Chart?: boolean;
101
- };
105
+ //tableColumns?: object[];
106
+ sortedColConfigs?: ColumnConfig[];
107
+ queryKey?: QueryKey;
108
+ loading?: boolean;
109
+ selectedRows?: SelectedRow[];
110
+ selectedDatas?: DtmplData[];
111
+ hiddenColIds?: string[];
112
+ drillingColIds?: string[];
113
+ disabledColIds?: string[];
114
+ hiddenRowCodes?: string[];
115
+ viewModels?: ActTableViewModel[];
116
+ showL2ActTable?: boolean;
117
+ showL2Chart?: boolean;
118
+ }
102
119
 
103
120
  class ActTable extends React.PureComponent<ActTableProps, ActTableStat> {
104
- state = {
105
- //tableColumns: undefined,
106
- sortedColConfigs: undefined,
107
- queryKey: undefined,
108
- loading: true,
109
- disableCols: undefined,
110
- hiddenColIds: defaultDisabledColIds,
111
- selectedRows: [],
112
- selectedDatas: [],
113
- hiddenRowCodes: [],
114
- viewModels: [],
115
- drillingColIds: undefined,
116
- disabledColIds: undefined,
117
- showL2ActTable: false,
118
- showL2Chart: false,
119
- }
120
-
121
- static defaultProps = {
122
- criteriaData: {},
123
- funcMode: 'complete',
124
- collapsible: false,
125
- initCollapse:false,
126
- readOnly:false,
121
+ state = {
122
+ //tableColumns: undefined,
123
+ sortedColConfigs: undefined,
124
+ queryKey: undefined,
125
+ loading: true,
126
+ disableCols: undefined,
127
+ hiddenColIds: defaultDisabledColIds,
128
+ selectedRows: [],
129
+ selectedDatas: [],
130
+ hiddenRowCodes: [],
131
+ viewModels: [],
132
+ drillingColIds: undefined,
133
+ disabledColIds: undefined,
134
+ showL2ActTable: false,
135
+ showL2Chart: false,
136
+ };
137
+
138
+ static contextType = LocaleContext;
139
+ context: React.ContextType<typeof LocaleContext>;
140
+
141
+ static defaultProps = {
142
+ criteriaData: {},
143
+ funcMode: "complete",
144
+ collapsible: false,
145
+ initCollapse: false,
146
+ readOnly: false,
147
+ };
148
+
149
+ loadData = async (
150
+ hiddenColIds: string[],
151
+ hiddenRowCodes: string[],
152
+ sortedColConfigs: ColumnConfig[]
153
+ ) => {
154
+ const {
155
+ sourceId,
156
+ criteriaData,
157
+ ltmplConfig,
158
+ mainCode,
159
+ level,
160
+ pageNo,
161
+ pageSize,
162
+ serverKey,
163
+ } = this.props;
164
+ if (!ltmplConfig) {
165
+ return;
127
166
  }
128
167
 
129
- loadData = async (hiddenColIds: string[], hiddenRowCodes: string[], sortedColConfigs: ColumnConfig[]) => {
130
- const {sourceId, criteriaData, ltmplConfig, mainCode, level,pageNo,pageSize,serverKey} = this.props;
131
- if (!ltmplConfig) {
132
- return;
168
+ this.setState({
169
+ loading: true,
170
+ });
171
+ let disabledColIds: string[] = [];
172
+ let hiddenColIds_ = [...hiddenColIds];
173
+ if (criteriaData && criteriaData["drillingColIds"]) {
174
+ let dColIds = [...criteriaData["drillingColIds"]];
175
+ ltmplConfig.columns.forEach((item) => {
176
+ if (
177
+ item.statColType == "dimension" &&
178
+ !dColIds.includes(item.id) &&
179
+ !hiddenColIds_.includes(item.id)
180
+ ) {
181
+ hiddenColIds_.push(item.id);
182
+ disabledColIds.push(item.id);
133
183
  }
134
-
135
- this.setState({
136
- loading: true,
137
- })
138
- let disabledColIds: string[] = [];
139
- let hiddenColIds_ = [...hiddenColIds];
140
- if (criteriaData && criteriaData['drillingColIds']) {
141
- let dColIds = [...criteriaData['drillingColIds']];
142
- ltmplConfig.columns.forEach((item) => {
143
- if (item.statColType == 'dimension' && !dColIds.includes(item.id) && !hiddenColIds_.includes(item.id)) {
144
- hiddenColIds_.push(item.id);
145
- disabledColIds.push(item.id);
146
- }
147
- if (item.statColType == 'dimension' && !dColIds.includes(item.id) && !disabledColIds.includes(item.id)) {
148
- disabledColIds.push(item.id);
149
- }
150
- });
151
- hiddenColIds_ = hiddenColIds_.filter((id) => {
152
- return !dColIds.includes(id)
153
- });
154
- }
155
- ltmplConfig.columns.forEach((item) => {
156
- if (item.hidden) {
157
- hiddenColIds_.push(item.id);
158
- }
159
- })
160
- /** 构建column **/
161
- // let tableColumns = this.buildTableColumns(ltmplConfig, hiddenColIds_, hiddenRowCodes, sortedColConfigs);
162
-
163
- const {defaultPageSize} = ltmplConfig;
164
-
165
- let pageInfo = {
166
- pageNo:pageNo?pageNo:1,
167
- pageSize:pageSize?pageSize:defaultPageSize ? defaultPageSize : 10,
168
- virtualEndPageNo: undefined,
169
- }
170
-
171
- /** 构建 dataSource **/
172
- //构建过滤条件
173
- let queryKey: QueryKey
174
- if (level && level == 'l2') {
175
- queryKey = await HcserviceV3.requestL2LtmplQueryKey(serverKey,sourceId, {
176
- ...criteriaData, ...pageInfo,
177
- mainCode
178
- });
179
- } else {
180
- queryKey = await HcserviceV3.requestLtmplQueryKey(serverKey,sourceId, {
181
- ...criteriaData, ...pageInfo,
182
- mainCode
183
- });
184
+ if (
185
+ item.statColType == "dimension" &&
186
+ !dColIds.includes(item.id) &&
187
+ !disabledColIds.includes(item.id)
188
+ ) {
189
+ disabledColIds.push(item.id);
184
190
  }
185
-
186
-
187
- this.setState({
188
- disabledColIds,
189
- hiddenColIds: hiddenColIds_,
190
- hiddenRowCodes,
191
- sortedColConfigs,
192
- queryKey,
193
- loading: false,
194
- showL2Chart: false,
195
- selectedRows: [],
196
- selectedDatas: [],
197
- viewModels: (this.state.viewModels.length > 0 ? this.state.viewModels : ['table']),
198
- })
191
+ });
192
+ hiddenColIds_ = hiddenColIds_.filter((id) => {
193
+ return !dColIds.includes(id);
194
+ });
199
195
  }
200
-
201
- buildTableColumns = (ltmplConfig: LtmplConfig, hiddenColIds: string[], hiddenRowCodes: string[], sortedColConfigs: ColumnConfig[]) => {
202
- const { showView, doEdit, doRAction,customEditable,serverKey,readOnly,sourceId} = this.props
203
- const {buttons} = ltmplConfig;
204
- let tableColumns = [];
205
- let s = 0;
206
- let colConfigs = sortedColConfigs ? sortedColConfigs : ltmplConfig.columns;
207
-
208
- colConfigs.forEach((item) => {
209
- let column = {};
210
- if (!hiddenColIds || !hiddenColIds.includes(item.id)) {
211
- tableColumns.push(column);
212
- }
213
- column['title'] = item.title;
214
- column['dataIndex'] = item.id;
215
- // column['ellipsis']= true;
216
- s++;
217
- let itemType = SupportInputTypes.getSupportControlType(item);
218
- if (s < 10 && item.title != '操作' && item.title != '序号') {
219
- if (hiddenColIds.includes('10000')) {
220
- TableUnits.sort(column, itemType);
221
- }
222
- }
223
- //特殊列处理
224
- //序号
225
- if (item.title === "序号") {
226
- //item.fixed='left';
227
- column['render'] = (text, record, index) => (
228
- <label>{index + 1}</label>
229
- )
230
- item['sorter'] = undefined;
231
- } else if (item.id == '10000') {
232
- column['title'] = <Tooltip title={'拖拽排序'}>{item.title}</Tooltip>;
233
- column['width'] = 30;
234
- column['dataIndex'] = item.id;
235
- column['className'] = 'drag-visible';
236
- column['render'] = () => <DragHandle/>;
237
- } else if (item.id == '20000') {//隐藏
238
- column['align'] = 'center';
239
- column['width'] = 14;
240
- column['title'] = <>{hiddenRowCodes.length > 0 ?
241
- <Tooltip title={'取消隐藏'}><Button style={{marginRight: '0px'}}
242
- size="small" shape={'circle'}
243
- icon={<EyeOutlined/>} type={'text'}
244
- onClick={() => this.unHiden()}>
245
- </Button></Tooltip> : ''}</>;
246
- column['render'] = (text, record) => (<Tooltip title={'隐藏'}> <Button style={{marginRight: '0px'}}
247
- icon={<EyeInvisibleOutlined/>}
248
- type="dashed"
249
- size="small"
250
- onClick={() => this.onHide(record.code)}>
251
- </Button></Tooltip>);
252
- } else if (item.title === "操作") {
253
- column['fixed'] = 'right';
254
- column['align'] = 'center';
255
- column['className'] = 'opsColumn';
256
- column['title'] = <>操 作</>
257
- column['render'] = (text, record) => (
258
- <Space size={[0, 4]} wrap>
259
- {buttons.includes('detail') && showView ?
260
- <Button
261
- size="small"
262
- type="primary"
263
- icon={<AlignLeftOutlined/>}
264
- onClick={() => showView(record.code)}>
265
- </Button>
266
- : ""}
267
- {buttons.includes('customDetail') && showView ?
268
- <Button
269
- size="small"
270
- type="primary"
271
- icon={<AlignCenterOutlined/>}
272
- onClick={() => showView(record.code, true)}>
273
- </Button>
274
- : ""}
275
- {buttons.includes('dtmplEdit') && doEdit && !readOnly
276
- && (!ltmplConfig.editAction || ActionUtils.isShow(ltmplConfig.editAction, [record], undefined)) ?
277
- < Button
278
- size="small"
279
- type="dashed"
280
- icon={<EditOutlined/>}
281
- onClick={() => doEdit(record.code, 'update')}>
282
- </Button> : ""}
283
- {(buttons.includes('dtmplCustomEdit') || customEditable) && doEdit && !readOnly
284
- && (!ltmplConfig.editAction || ActionUtils.isShow(ltmplConfig.editAction, [record], undefined)) ?
285
- < Button
286
- size="small"
287
- type="dashed"
288
- icon={<FormOutlined/>}
289
- onClick={() => doEdit(record.code, 'update', true)}>
290
- </Button> : ""}
291
- {buttons.includes('copy') && doEdit && !readOnly
292
- ?
293
- <Tooltip title={'复制'}>< Button
294
- size="small"
295
- type="dashed"
296
- icon={<CopyOutlined/>}
297
- onClick={ async () => {
298
- //先复制
299
- let toCustomPage=false;
300
- if(buttons.includes('dtmplCustomEdit') || customEditable){
301
- toCustomPage=true;
302
- }
303
- let code = await HcserviceV3.doCopy(serverKey,sourceId,record.code);
304
- if(code){
305
- doEdit(code, 'update',toCustomPage);
306
- }
307
- }}>
308
- </Button></Tooltip> : ""}
309
- {ltmplConfig.ractions && !readOnly ? ltmplConfig.ractions.map((raction) => {
310
- return <Button
311
- key={raction.id}
312
- size="small"
313
- type="dashed"
314
- onClick={() => doRAction(raction.id, record.code)}
315
- >
316
- {raction.title}
317
- </Button>
318
- }) : ""}
319
- {ltmplConfig.rowActions && !readOnly && ltmplConfig.rowActions.length > 0 ?
320
- ltmplConfig.rowActions.map((action) => {
321
-
322
- return <Action serverKey={serverKey} iconType={'icon'} key={action.id} data={[record]} actionConfig={action}
323
- doAction={this.doRowAction} buttonSize={'small'} serial={1}></Action>
324
- }) : ""}
325
- {ltmplConfig.rowJumps && ltmplConfig.rowJumps.length > 0 && !readOnly ?
326
- ltmplConfig.rowJumps.map((jump) => {
327
- return <Button key={jump.id} size="small" type="dashed"
328
- onClick={() => this.doRowJump(jump, record)}
329
- >{jump.title}</Button>;
330
- }) : ""}
331
- {ltmplConfig.rowCQuerys && ltmplConfig.rowCQuerys.length > 0 && !readOnly?
332
- ltmplConfig.rowCQuerys.map((cquery) => {
333
- // console.log("record record", record);
334
- return <CquickButton serverKey={serverKey} key={cquery.id} size={"small"} pageType={'drawer'}
335
- // onClick={() => doCQuery(cquery.id)}
336
- cQueryConfig={cquery}
337
- mainCode={cquery.mainCodeColId ? record[cquery.mainCodeColId] : record.code}/>
338
- }) : ""}
339
- {buttons.includes('singleDelete') && !readOnly && (!ltmplConfig.deleteAction || ActionUtils.isShow(ltmplConfig.deleteAction, [record], undefined)) ?
340
- <Popconfirm
341
- placement="rightBottom"
342
- title={'确定要【删除】此数据吗?'}
343
- onConfirm={() => {
344
- this.doDeleteByCode(record.code)
345
- }}
346
- okText="确定"
347
- cancelText="取消"
348
- okType={"danger"}
349
- >
350
- <Button size="small" type="dashed" danger><DeleteOutlined/></Button>
351
- </Popconfirm>
352
- : ""}
353
- </Space>);
354
- } else {
355
- column['className'] = 'opsColumn';
356
- column['render'] = (text, record) => {
357
- return <ViewControl serverKey={serverKey} fieldConfig={item} value={record[item.id]} holderType={'table'}/>
358
-
359
- }
360
- }
361
- });
362
- return tableColumns
196
+ ltmplConfig.columns.forEach((item) => {
197
+ if (item.hidden) {
198
+ hiddenColIds_.push(item.id);
199
+ }
200
+ });
201
+ /** 构建column **/
202
+ // let tableColumns = this.buildTableColumns(ltmplConfig, hiddenColIds_, hiddenRowCodes, sortedColConfigs);
203
+
204
+ const { defaultPageSize } = ltmplConfig;
205
+
206
+ let pageInfo = {
207
+ pageNo: pageNo ? pageNo : 1,
208
+ pageSize: pageSize ? pageSize : defaultPageSize ? defaultPageSize : 10,
209
+ virtualEndPageNo: undefined,
210
+ };
211
+
212
+ /** 构建 dataSource **/
213
+ //构建过滤条件
214
+ let queryKey: QueryKey;
215
+ if (level && level == "l2") {
216
+ queryKey = await HcserviceV3.requestL2LtmplQueryKey(serverKey, sourceId, {
217
+ ...criteriaData,
218
+ ...pageInfo,
219
+ mainCode,
220
+ });
221
+ } else {
222
+ queryKey = await HcserviceV3.requestLtmplQueryKey(serverKey, sourceId, {
223
+ ...criteriaData,
224
+ ...pageInfo,
225
+ mainCode,
226
+ });
363
227
  }
364
228
 
365
-
366
- async componentDidMount() {
367
- const {ltmplConfig} = this.props;
368
- let sortedColConfigs = undefined;
369
- if (ltmplConfig) {
370
- sortedColConfigs = [{id: '10000', title: '排序'}, ...ltmplConfig.columns, {id: '20000', title: '隐藏'}]
229
+ this.setState({
230
+ disabledColIds,
231
+ hiddenColIds: hiddenColIds_,
232
+ hiddenRowCodes,
233
+ sortedColConfigs,
234
+ queryKey,
235
+ loading: false,
236
+ showL2Chart: false,
237
+ selectedRows: [],
238
+ selectedDatas: [],
239
+ viewModels:
240
+ this.state.viewModels.length > 0 ? this.state.viewModels : ["table"],
241
+ });
242
+ };
243
+
244
+ buildTableColumns = (
245
+ ltmplConfig: LtmplConfig,
246
+ hiddenColIds: string[],
247
+ hiddenRowCodes: string[],
248
+ sortedColConfigs: ColumnConfig[]
249
+ ) => {
250
+ const {
251
+ showView,
252
+ doEdit,
253
+ doRAction,
254
+ customEditable,
255
+ serverKey,
256
+ readOnly,
257
+ sourceId,
258
+ } = this.props;
259
+ const { translate } = this.context;
260
+ const { buttons } = ltmplConfig;
261
+ let tableColumns = [];
262
+ let s = 0;
263
+ let colConfigs = sortedColConfigs ? sortedColConfigs : ltmplConfig.columns;
264
+
265
+ colConfigs.forEach((item) => {
266
+ let column = {};
267
+ if (!hiddenColIds || !hiddenColIds.includes(item.id)) {
268
+ tableColumns.push(column);
269
+ }
270
+ column["title"] = item.title;
271
+ column["dataIndex"] = item.id;
272
+ // column['ellipsis']= true;
273
+ s++;
274
+ let itemType = SupportInputTypes.getSupportControlType(item);
275
+ if (s < 10 && item.title != "操作" && item.title != "序号") {
276
+ if (hiddenColIds.includes("10000")) {
277
+ TableUnits.sort(column, itemType);
371
278
  }
372
- this.loadData(defaultDisabledColIds, [], sortedColConfigs);
373
- }
374
-
375
- async componentDidUpdate(prevProps) {
376
- const {sourceId,criteriaData, ltmplConfig} = this.props;
377
- let {ltmplConfig: preLtmplConfig, criteriaData: preCriteriaData,sourceId:preSourceId} = prevProps;
378
-
379
- let {hiddenColIds, sortedColConfigs} = this.state;
380
- if ((sourceId && preSourceId != sourceId) ||
381
- (ltmplConfig && (!preLtmplConfig || ltmplConfig.id != preLtmplConfig.id)) ||
382
- (Units.transQueryParamsToStr(criteriaData,false,['pageSize','pageNo']) != Units.transQueryParamsToStr(preCriteriaData,false,['pageSize','pageNo']))) {
383
- if (ltmplConfig.id == preLtmplConfig.id) {
384
- this.loadData(hiddenColIds, [], sortedColConfigs);
385
- } else {
386
- let sColConfigs = undefined;
387
- if (ltmplConfig) {
388
- sColConfigs = [{id: '10000', title: '排序'}, ...ltmplConfig.columns, {id: '20000', title: '隐藏'}]
389
- }
390
- this.setState({
391
- viewModels: ['table'],
279
+ }
280
+ //特殊列处理
281
+ //序号
282
+ if (item.title === "序号") {
283
+ //item.fixed='left';
284
+ column["render"] = (text, record, index) => <label>{index + 1}</label>;
285
+ item["sorter"] = undefined;
286
+ } else if (item.id == "10000") {
287
+ column["title"] = (
288
+ <Tooltip title={translate("${拖拽排序}")}>
289
+ {translate("${" + item.title + "}")}
290
+ </Tooltip>
291
+ );
292
+ column["width"] = 30;
293
+ column["dataIndex"] = item.id;
294
+ column["className"] = "drag-visible";
295
+ column["render"] = () => <DragHandle />;
296
+ } else if (item.id == "20000") {
297
+ //隐藏
298
+ column["align"] = "center";
299
+ column["width"] = 14;
300
+ column["title"] = (
301
+ <>
302
+ {hiddenRowCodes.length > 0 ? (
303
+ <Tooltip title={translate("${取消隐藏}")}>
304
+ <Button
305
+ style={{ marginRight: "0px" }}
306
+ size="small"
307
+ shape={"circle"}
308
+ icon={<EyeOutlined />}
309
+ type={"text"}
310
+ onClick={() => this.unHiden()}
311
+ ></Button>
312
+ </Tooltip>
313
+ ) : (
314
+ ""
315
+ )}
316
+ </>
317
+ );
318
+ column["render"] = (text, record) => (
319
+ <Tooltip title={translate("${隐藏}")}>
320
+ {" "}
321
+ <Button
322
+ style={{ marginRight: "0px" }}
323
+ icon={<EyeInvisibleOutlined />}
324
+ type="dashed"
325
+ size="small"
326
+ onClick={() => this.onHide(record.code)}
327
+ ></Button>
328
+ </Tooltip>
329
+ );
330
+ } else if (item.title === "操作") {
331
+ column["fixed"] = "right";
332
+ column["align"] = "center";
333
+ column["className"] = "opsColumn";
334
+ column["title"] = <>{translate("${操作}")}</>;
335
+ column["render"] = (text, record) => (
336
+ <Space size={[0, 4]} wrap>
337
+ {buttons.includes("detail") && showView ? (
338
+ <Button
339
+ size="small"
340
+ type="primary"
341
+ icon={<AlignLeftOutlined />}
342
+ onClick={() => showView(record.code)}
343
+ ></Button>
344
+ ) : (
345
+ ""
346
+ )}
347
+ {buttons.includes("customDetail") && showView ? (
348
+ <Button
349
+ size="small"
350
+ type="primary"
351
+ icon={<AlignCenterOutlined />}
352
+ onClick={() => showView(record.code, true)}
353
+ ></Button>
354
+ ) : (
355
+ ""
356
+ )}
357
+ {buttons.includes("dtmplEdit") &&
358
+ doEdit &&
359
+ !readOnly &&
360
+ (!ltmplConfig.editAction ||
361
+ ActionUtils.isShow(
362
+ ltmplConfig.editAction,
363
+ [record],
364
+ undefined
365
+ )) ? (
366
+ <Button
367
+ size="small"
368
+ type="dashed"
369
+ icon={<EditOutlined />}
370
+ onClick={() => doEdit(record.code, "update")}
371
+ ></Button>
372
+ ) : (
373
+ ""
374
+ )}
375
+ {(buttons.includes("dtmplCustomEdit") || customEditable) &&
376
+ doEdit &&
377
+ !readOnly &&
378
+ (!ltmplConfig.editAction ||
379
+ ActionUtils.isShow(
380
+ ltmplConfig.editAction,
381
+ [record],
382
+ undefined
383
+ )) ? (
384
+ <Button
385
+ size="small"
386
+ type="dashed"
387
+ icon={<FormOutlined />}
388
+ onClick={() => doEdit(record.code, "update", true)}
389
+ ></Button>
390
+ ) : (
391
+ ""
392
+ )}
393
+ {buttons.includes("copy") && doEdit && !readOnly ? (
394
+ <Tooltip title={translate("${复制}")}>
395
+ <Button
396
+ size="small"
397
+ type="dashed"
398
+ icon={<CopyOutlined />}
399
+ onClick={async () => {
400
+ //先复制
401
+ let toCustomPage = false;
402
+ if (buttons.includes("dtmplCustomEdit") || customEditable) {
403
+ toCustomPage = true;
404
+ }
405
+ let code = await HcserviceV3.doCopy(
406
+ serverKey,
407
+ sourceId,
408
+ record.code
409
+ );
410
+ if (code) {
411
+ doEdit(code, "update", toCustomPage);
412
+ }
413
+ }}
414
+ ></Button>
415
+ </Tooltip>
416
+ ) : (
417
+ ""
418
+ )}
419
+ {ltmplConfig.ractions && !readOnly
420
+ ? ltmplConfig.ractions.map((raction) => {
421
+ return (
422
+ <Button
423
+ key={raction.id}
424
+ size="small"
425
+ type="dashed"
426
+ onClick={() => doRAction(raction.id, record.code)}
427
+ >
428
+ {raction.title}
429
+ </Button>
430
+ );
392
431
  })
393
- this.loadData(defaultDisabledColIds, [], sColConfigs);
394
- }
395
- }
396
- }
397
-
398
-
399
- handleShowChart = () => {
400
- this.setState({
401
- showL2Chart: !this.state.showL2Chart
402
- })
432
+ : ""}
433
+ {ltmplConfig.rowActions &&
434
+ !readOnly &&
435
+ ltmplConfig.rowActions.length > 0
436
+ ? ltmplConfig.rowActions.map((action) => {
437
+ return (
438
+ <Action
439
+ serverKey={serverKey}
440
+ iconType={"icon"}
441
+ key={action.id}
442
+ data={[record]}
443
+ actionConfig={action}
444
+ doAction={this.doRowAction}
445
+ buttonSize={"small"}
446
+ serial={1}
447
+ ></Action>
448
+ );
449
+ })
450
+ : ""}
451
+ {ltmplConfig.rowJumps &&
452
+ ltmplConfig.rowJumps.length > 0 &&
453
+ !readOnly
454
+ ? ltmplConfig.rowJumps.map((jump) => {
455
+ return (
456
+ <Button
457
+ key={jump.id}
458
+ size="small"
459
+ type="dashed"
460
+ onClick={() => this.doRowJump(jump, record)}
461
+ >
462
+ {jump.title}
463
+ </Button>
464
+ );
465
+ })
466
+ : ""}
467
+ {ltmplConfig.rowCQuerys &&
468
+ ltmplConfig.rowCQuerys.length > 0 &&
469
+ !readOnly
470
+ ? ltmplConfig.rowCQuerys.map((cquery) => {
471
+ // console.log("record record", record);
472
+ return (
473
+ <CquickButton
474
+ serverKey={serverKey}
475
+ key={cquery.id}
476
+ size={"small"}
477
+ pageType={"drawer"}
478
+ // onClick={() => doCQuery(cquery.id)}
479
+ cQueryConfig={cquery}
480
+ mainCode={
481
+ cquery.mainCodeColId
482
+ ? record[cquery.mainCodeColId]
483
+ : record.code
484
+ }
485
+ />
486
+ );
487
+ })
488
+ : ""}
489
+ {buttons.includes("singleDelete") &&
490
+ !readOnly &&
491
+ (!ltmplConfig.deleteAction ||
492
+ ActionUtils.isShow(
493
+ ltmplConfig.deleteAction,
494
+ [record],
495
+ undefined
496
+ )) ? (
497
+ <Popconfirm
498
+ placement="rightBottom"
499
+ title={translate("${确定要[删除]此数据吗}?")}
500
+ onConfirm={() => {
501
+ this.doDeleteByCode(record.code);
502
+ }}
503
+ okText={translate("${确定}")}
504
+ cancelText={translate("${取消}")}
505
+ okType={"danger"}
506
+ >
507
+ <Button size="small" type="dashed" danger>
508
+ <DeleteOutlined />
509
+ </Button>
510
+ </Popconfirm>
511
+ ) : (
512
+ ""
513
+ )}
514
+ </Space>
515
+ );
516
+ } else {
517
+ column["className"] = "opsColumn";
518
+ column["title"] = translate("${" + item.title + "}");
519
+ column["render"] = (text, record) => {
520
+ return (
521
+ <ViewControl
522
+ serverKey={serverKey}
523
+ fieldConfig={item}
524
+ value={record[item.id]}
525
+ holderType={"table"}
526
+ />
527
+ );
528
+ };
529
+ }
530
+ });
531
+
532
+ return tableColumns;
533
+ };
534
+
535
+ async componentDidMount() {
536
+ const { ltmplConfig } = this.props;
537
+ const { translate } = this.context;
538
+ let sortedColConfigs = undefined;
539
+ if (ltmplConfig) {
540
+ sortedColConfigs = [
541
+ { id: "10000", title: translate("${排序}") },
542
+ ...ltmplConfig.columns,
543
+ { id: "20000", title: translate("${隐藏}") },
544
+ ];
403
545
  }
404
-
405
- handleDataAnalysis = () => {
406
-
546
+ this.loadData(defaultDisabledColIds, [], sortedColConfigs);
547
+ }
548
+
549
+
550
+
551
+ async componentDidUpdate(prevProps) {
552
+ const { sourceId, criteriaData, ltmplConfig } = this.props;
553
+ const { translate } = this.context;
554
+ let {
555
+ ltmplConfig: preLtmplConfig,
556
+ criteriaData: preCriteriaData,
557
+ sourceId: preSourceId,
558
+ } = prevProps;
559
+
560
+ let { hiddenColIds, sortedColConfigs } = this.state;
561
+
562
+ if (refresh ||
563
+ (sourceId && preSourceId != sourceId) ||
564
+ (ltmplConfig &&
565
+ (!preLtmplConfig || ltmplConfig.id != preLtmplConfig.id)) ||
566
+ Units.transQueryParamsToStr(criteriaData, false, [
567
+ "pageSize",
568
+ "pageNo",
569
+ ]) !=
570
+ Units.transQueryParamsToStr(preCriteriaData, false, [
571
+ "pageSize",
572
+ "pageNo",
573
+ ])
574
+ ) {
575
+ //5秒后允许再次请求数据
576
+ refresh=false;
577
+
578
+ if (ltmplConfig.id == preLtmplConfig.id) {
579
+ await this.loadData(hiddenColIds, [], sortedColConfigs);
580
+ } else {
581
+ let sColConfigs = undefined;
582
+ if (ltmplConfig) {
583
+ sColConfigs = [
584
+ { id: "10000", title: translate("${排序}") },
585
+ ...ltmplConfig.columns,
586
+ { id: "20000", title: translate("${隐藏}") },
587
+ ];
588
+ }
407
589
  this.setState({
408
- showL2ActTable: !this.state.showL2ActTable,
409
- })
590
+ viewModels: ["table"],
591
+ });
592
+ await this.loadData(defaultDisabledColIds, [], sColConfigs);
593
+ }
594
+ setTimeout( function() {
595
+ refresh=true;
596
+ },2000);
410
597
  }
411
-
412
- unHiden = () => {
413
- const {ltmplConfig,} = this.props
414
- const {hiddenColIds, sortedColConfigs} = this.state;
415
- this.setState({
416
- hiddenRowCodes: [],
417
- // tableColumns: this.buildTableColumns(ltmplConfig, hiddenColIds, [], sortedColConfigs),
418
- })
598
+ }
599
+
600
+ handleShowChart = () => {
601
+ this.setState({
602
+ showL2Chart: !this.state.showL2Chart,
603
+ });
604
+ };
605
+
606
+ handleDataAnalysis = () => {
607
+ this.setState({
608
+ showL2ActTable: !this.state.showL2ActTable,
609
+ });
610
+ };
611
+
612
+ unHiden = () => {
613
+ const { ltmplConfig } = this.props;
614
+ const { hiddenColIds, sortedColConfigs } = this.state;
615
+ this.setState({
616
+ hiddenRowCodes: [],
617
+ // tableColumns: this.buildTableColumns(ltmplConfig, hiddenColIds, [], sortedColConfigs),
618
+ });
619
+ };
620
+
621
+ onHide = (code: string) => {
622
+ const { ltmplConfig } = this.props;
623
+ const { hiddenRowCodes, hiddenColIds, sortedColConfigs } = this.state;
624
+ let hiddenCodes = [...hiddenRowCodes, code];
625
+ this.setState({
626
+ hiddenRowCodes: hiddenCodes,
627
+ // tableColumns: this.buildTableColumns(ltmplConfig, hiddenColIds, hiddenCodes, sortedColConfigs),
628
+ });
629
+ };
630
+
631
+ changeViewModel = (viewModels) => {
632
+ this.setState({
633
+ viewModels,
634
+ });
635
+ };
636
+
637
+ changeHiddenColumns = (hiddenColIds: string[]) => {
638
+ const {} = this.props;
639
+ const {} = this.state;
640
+ this.setState({
641
+ showL2Chart: false,
642
+ hiddenColIds,
643
+ // tableColumns: this.buildTableColumns(ltmplConfig, hiddenColIds, hiddenRowCodes, sortedColConfigs),
644
+ });
645
+ };
646
+
647
+ doSelectedAction = async (actionId: string, codes, params: object) => {
648
+ const { selectedRows } = this.state;
649
+ this.doAction(actionId, selectedRows, params);
650
+ };
651
+
652
+ doAction = async (actionId: string, selectedRows: SelectedRow[], params) => {
653
+ const { serverKey } = this.props;
654
+ const { hiddenColIds, hiddenRowCodes, sortedColConfigs } = this.state;
655
+ this.setState({
656
+ loading: true,
657
+ });
658
+ let result: boolean = await HcserviceV3.postActions(
659
+ serverKey,
660
+ actionId,
661
+ selectedRows,
662
+ params
663
+ );
664
+ if (result) {
665
+ //重新加载数据
666
+ this.loadData(hiddenColIds, hiddenRowCodes, sortedColConfigs);
667
+ } else {
668
+ this.setState({
669
+ loading: false,
670
+ });
419
671
  }
420
-
421
- onHide = (code: string) => {
422
- const {ltmplConfig,} = this.props
423
- const {hiddenRowCodes, hiddenColIds, sortedColConfigs} = this.state;
424
- let hiddenCodes = [...hiddenRowCodes, code];
425
- this.setState({
426
- hiddenRowCodes: hiddenCodes,
427
- // tableColumns: this.buildTableColumns(ltmplConfig, hiddenColIds, hiddenCodes, sortedColConfigs),
428
- })
672
+ };
673
+
674
+ doRowAction = async (actionId: string, codes: string[], params: object) => {
675
+ this.doAction(actionId, [{ title: undefined, code: codes[0] }], params);
676
+ };
677
+
678
+ doDelete = async () => {
679
+ const { sourceId, serverKey } = this.props;
680
+ const {
681
+ selectedRows,
682
+ hiddenColIds,
683
+ hiddenRowCodes,
684
+ sortedColConfigs,
685
+ } = this.state;
686
+ this.setState({
687
+ loading: true,
688
+ });
689
+ let result: boolean = await HcserviceV3.deleteData(
690
+ serverKey,
691
+ sourceId,
692
+ selectedRows
693
+ );
694
+ if (result) {
695
+ //重新加载数据
696
+ this.loadData(hiddenColIds, hiddenRowCodes, sortedColConfigs);
697
+ } else {
698
+ this.setState({
699
+ loading: false,
700
+ });
429
701
  }
430
-
431
- changeViewModel = (viewModels) => {
432
- this.setState({
433
- viewModels
434
- })
702
+ };
703
+
704
+ doDeleteByCode = async (code: string) => {
705
+ const { sourceId, serverKey } = this.props;
706
+ const { hiddenColIds, hiddenRowCodes, sortedColConfigs } = this.state;
707
+ this.setState({
708
+ loading: true,
709
+ });
710
+ let result: boolean = await HcserviceV3.deleteByCode(serverKey, sourceId, [
711
+ code,
712
+ ]);
713
+ if (result) {
714
+ //重新加载数据
715
+ this.loadData(hiddenColIds, hiddenRowCodes, sortedColConfigs);
716
+ } else {
717
+ this.setState({
718
+ loading: false,
719
+ });
435
720
  }
721
+ };
436
722
 
437
- changeHiddenColumns = (hiddenColIds: string[]) => {
438
- const {} = this.props
439
- const {} = this.state;
440
- this.setState({
441
- showL2Chart: false,
442
- hiddenColIds,
443
- // tableColumns: this.buildTableColumns(ltmplConfig, hiddenColIds, hiddenRowCodes, sortedColConfigs),
444
- })
445
- }
723
+ doSelectedCQuery = async (cqueryId: string) => {};
446
724
 
447
- doSelectedAction = async (actionId: string, codes, params: object) => {
448
- const {selectedRows} = this.state;
449
- this.doAction(actionId, selectedRows, params);
450
- }
725
+ doJump = async (jump: JumpConfig, record_: DtmplData) => {
726
+ let record = record_.fieldMap ? record_.fieldMap : record_;
451
727
 
452
- doAction = async (actionId: string, selectedRows: SelectedRow[], params) => {
453
- const {serverKey} = this.props;
454
- const {hiddenColIds, hiddenRowCodes, sortedColConfigs} = this.state;
455
- this.setState({
456
- loading: true,
457
- })
458
- let result: boolean = await HcserviceV3.postActions(serverKey,actionId, selectedRows, params);
459
- if (result) {//重新加载数据
460
- this.loadData(hiddenColIds, hiddenRowCodes, sortedColConfigs);
461
- } else {
462
- this.setState({
463
- loading: false,
464
- })
465
- }
466
- }
728
+ let url = null;
467
729
 
468
- doRowAction = async (actionId: string, codes: string[], params: object) => {
469
- this.doAction(actionId, [{title: undefined, code: codes[0]}], params);
730
+ let path = jump.path;
731
+ if (!path) {
732
+ path = "/";
470
733
  }
471
-
472
- doDelete = async () => {
473
- const {sourceId,serverKey} = this.props;
474
- const {selectedRows, hiddenColIds, hiddenRowCodes, sortedColConfigs} = this.state;
475
- this.setState({
476
- loading: true,
477
- })
478
- let result: boolean = await HcserviceV3.deleteData(serverKey,sourceId, selectedRows);
479
- if (result) {//重新加载数据
480
- this.loadData(hiddenColIds, hiddenRowCodes, sortedColConfigs);
481
- } else {
482
- this.setState({
483
- loading: false,
484
- })
485
- }
734
+ //是否以http开头
735
+ if (path.indexOf("#") == 0 || url.indexOf("/#") == 0) {
736
+ url = "";
737
+ } else if (
738
+ path.indexOf("http://") == 0 ||
739
+ path.indexOf("HTTP://") == 0 ||
740
+ path.indexOf("https://") == 0 ||
741
+ path.indexOf("HTTPS://") == 0
742
+ ) {
743
+ url = path.split("//")[0] + "//";
744
+ path = path.split("//")[1];
745
+ } else {
746
+ url = new URL(window.location.href).pathname;
486
747
  }
487
-
488
- doDeleteByCode = async (code: string) => {
489
- const {sourceId,serverKey} = this.props;
490
- const {hiddenColIds, hiddenRowCodes, sortedColConfigs} = this.state;
491
- this.setState({
492
- loading: true,
493
- })
494
- let result: boolean = await HcserviceV3.deleteByCode(serverKey,sourceId, [code]);
495
- if (result) {//重新加载数据
496
- this.loadData(hiddenColIds, hiddenRowCodes, sortedColConfigs);
497
- } else {
498
- this.setState({
499
- loading: false,
500
- })
748
+ //处理路由参数
749
+ let paths = path.split("/");
750
+
751
+ let routeParamConfigs = jump.routeParams;
752
+ if (routeParamConfigs) {
753
+ for (let i = 0; i < paths.length; i++) {
754
+ if (paths[i].indexOf(":") == 0) {
755
+ let pa = paths[i].substring(1);
756
+ //根据参数名匹配参数
757
+ for (let p of routeParamConfigs) {
758
+ if (p && pa == p.title) {
759
+ //赋值替换
760
+ let v = record[p.id] ? record[p.id] : p.defaultValue;
761
+ paths[i] = v;
762
+ break;
763
+ }
764
+ }
501
765
  }
766
+ }
767
+ url = Units.joinPath(url, paths.join("/"));
768
+ } else {
769
+ url = Units.joinPath(url, path);
502
770
  }
503
771
 
504
- doSelectedCQuery = async (cqueryId: string) => {
772
+ //处理search 参数
773
+ let searchParamConfigs = jump.searchParams;
774
+ let searchs = [];
775
+ //放入token
776
+ if (jump.tokenName) {
777
+ searchs[0] = jump.tokenName + "=" + Units.hydrocarbonToken();
505
778
  }
506
779
 
507
- doJump = async (jump: JumpConfig, record_: DtmplData) => {
508
-
509
- let record=record_.fieldMap?record_.fieldMap:record_
510
-
511
- let url=null;
512
-
513
- let path=jump.path;
514
- if(!path){
515
- path="/"
516
- }
517
- //是否以http开头
518
- if(path.indexOf('#')==0 || url.indexOf('/#')==0){
519
- url= "";
520
- } else if( (path.indexOf('http://')==0 || path.indexOf('HTTP://')==0) || (path.indexOf('https://')==0 || path.indexOf('HTTPS://')==0)){
521
- url= path.split("//")[0]+"//";
522
- path=path.split("//")[1];
523
- }else{
524
- url=new URL(window.location.href).pathname;
525
- }
526
- //处理路由参数
527
- let paths=path.split("/");
528
-
529
- let routeParamConfigs=jump.routeParams;
530
- if(routeParamConfigs){
531
- for (let i=0;i<paths.length;i++) {
532
- if(paths[i].indexOf(":")==0){
533
- let pa=paths[i].substring(1);
534
- //根据参数名匹配参数
535
- for(let p of routeParamConfigs){
536
- if(p && pa == p.title){//赋值替换
537
- let v=record[p.id]?record[p.id]:p.defaultValue;
538
- paths[i]=v
539
- break;
540
- }
541
- }
542
- }
543
- }
544
- url=Units.joinPath(url,paths.join("/"));
545
- }else{
546
- url=Units.joinPath(url,path);
547
- }
548
-
549
- //处理search 参数
550
- let searchParamConfigs=jump.searchParams;
551
- let searchs=[];
552
- //放入token
553
- if(jump.tokenName){
554
- searchs[0]=jump.tokenName+"="+Units.hydrocarbonToken();
555
- }
556
-
557
- if(searchParamConfigs){
558
- let initSearchLength=searchs.length
559
- for(let i=0;i<searchParamConfigs.length;i++){
560
- let p= searchParamConfigs[i];
561
- let v=record[p.id]?record[p.id]:p.defaultValue;
562
- if(!v && p.title=='code'){
563
- v=record_.code;
564
- }
565
- searchs[initSearchLength+i]=p.title+"="+ v;
566
- }
567
- }
568
- if(searchs.length>0){
569
- if( url.indexOf("?")!=url.length-1){
570
- url=url+"?";
571
- }
572
- url=url+searchs.join("&");
573
- }
574
- if(url.indexOf('#')==0 || url.indexOf('/#')==0 || url.indexOf('//#')==0){
575
- window.location.hash = url.substring(url.indexOf('#')+1);
576
- }else{
577
- window.open(url);
780
+ if (searchParamConfigs) {
781
+ let initSearchLength = searchs.length;
782
+ for (let i = 0; i < searchParamConfigs.length; i++) {
783
+ let p = searchParamConfigs[i];
784
+ let v = record[p.id] ? record[p.id] : p.defaultValue;
785
+ if (!v && p.title == "code") {
786
+ v = record_.code;
578
787
  }
788
+ searchs[initSearchLength + i] = p.title + "=" + v;
789
+ }
579
790
  }
580
-
581
- doRowJump = async (jump: JumpConfig, record: DtmplData) => {
582
- this.doJump(jump, record);
791
+ if (searchs.length > 0) {
792
+ if (url.indexOf("?") != url.length - 1) {
793
+ url = url + "?";
794
+ }
795
+ url = url + searchs.join("&");
583
796
  }
584
-
585
- doSelectedJump = async (jump: JumpConfig) => {
586
- const {selectedDatas} = this.state;
587
- if (selectedDatas.length == 1) {
588
- this.doJump(jump, selectedDatas[0])
589
- }
797
+ if (
798
+ url.indexOf("#") == 0 ||
799
+ url.indexOf("/#") == 0 ||
800
+ url.indexOf("//#") == 0
801
+ ) {
802
+ window.location.hash = url.substring(url.indexOf("#") + 1);
803
+ } else {
804
+ window.open(url);
590
805
  }
806
+ };
591
807
 
592
- changeRowSelection = (selectedRows: SelectedRow[], selectedDatas: DtmplData[]) => {
593
- this.setState({
594
- selectedRows,
595
- selectedDatas,
596
- })
597
- }
808
+ doRowJump = async (jump: JumpConfig, record: DtmplData) => {
809
+ this.doJump(jump, record);
810
+ };
598
811
 
599
- onChangeColSort = (sortedColConfigs: ColumnConfig[]) => {
600
- const {ltmplConfig} = this.props
601
- const {hiddenRowCodes, hiddenColIds} = this.state;
602
- this.setState({
603
- sortedColConfigs,
604
- // tableColumns: this.buildTableColumns(ltmplConfig, hiddenColIds, hiddenRowCodes, sortedColConfigs),
605
- })
812
+ doSelectedJump = async (jump: JumpConfig) => {
813
+ const { selectedDatas } = this.state;
814
+ if (selectedDatas.length == 1) {
815
+ this.doJump(jump, selectedDatas[0]);
606
816
  }
607
-
608
- getAddTmplButton= (classifiedAddConfigs: ClassifiedAddConfig[]) => {
609
- if(classifiedAddConfigs && classifiedAddConfigs.length<1){
610
- return "没有分类添加按钮";
611
- }
612
- return classifiedAddConfigs.map((config)=>{
613
- return <p><Button size={'small'} type={'text'}
614
- onClick={() => this.props.doCreate(config.id,false)}>
615
- {config.title}
616
- </Button></p>
617
- })
817
+ };
818
+
819
+ changeRowSelection = (
820
+ selectedRows: SelectedRow[],
821
+ selectedDatas: DtmplData[]
822
+ ) => {
823
+ this.setState({
824
+ selectedRows,
825
+ selectedDatas,
826
+ });
827
+ };
828
+
829
+ onChangeColSort = (sortedColConfigs: ColumnConfig[]) => {
830
+ const { ltmplConfig } = this.props;
831
+ const { hiddenRowCodes, hiddenColIds } = this.state;
832
+ this.setState({
833
+ sortedColConfigs,
834
+ // tableColumns: this.buildTableColumns(ltmplConfig, hiddenColIds, hiddenRowCodes, sortedColConfigs),
835
+ });
836
+ };
837
+
838
+ getAddTmplButton = (classifiedAddConfigs: ClassifiedAddConfig[]) => {
839
+ const { translate } = this.context;
840
+ if (classifiedAddConfigs && classifiedAddConfigs.length < 1) {
841
+ return translate("${没有分类添加按钮}");
618
842
  }
619
-
620
-
621
- renderHeaderButtons = () => {
622
- let {hiddenColIds, queryKey, viewModels, sortedColConfigs, disabledColIds, showL2Chart, showL2ActTable} = this.state;
623
- const {ltmplConfig, sourceId, doCreate, doSearch, menuId, funcMode,customCreatable,serverKey,readOnly} = this.props;
624
- let {buttons} = ltmplConfig;
625
-
626
- return <><Space>
627
- {funcMode == "common" && this.criteriaFormUseful() ?
628
- <Popover trigger="click" content={this.renderCriteriaForm()}>
629
- <Button><SearchOutlined/></Button>
630
- </Popover>
631
- : null
632
- }
633
- {buttons.includes("dtmplAdd") && doCreate && !readOnly ?
634
- ltmplConfig.classifiedAddConfigs && ltmplConfig.classifiedAddConfigs.length>0 ?
635
- <Popover arrow={false} content={this.getAddTmplButton(ltmplConfig.classifiedAddConfigs)}
636
- placement="bottomRight"
637
- >
638
- <Tooltip >
639
- <Button><PlusOutlined/></Button>
640
- </Tooltip>
641
- </Popover>
642
- :<Tooltip title={'创建'}>
643
- <Button
644
- onClick={() => doCreate(null,false)}>
645
- <PlusOutlined/>
646
- </Button> </Tooltip> : ''}
647
- {(buttons.includes("dtmplCustomAdd") || customCreatable) && doCreate && !readOnly?
648
- <Tooltip title={'创建'}>
649
- <Button
650
- onClick={() => doCreate(null,true)}><PlusCircleOutlined/></Button></Tooltip> : ''}
651
- {buttons.includes("importLtmplExcel") && !readOnly ? <Tooltip title={'导入'}> <Button
652
- href={`#/${sourceId}/importer?menuId=${menuId}`} target={'_blank'}>
653
- <UploadOutlined/>
654
- </Button></Tooltip> : ''}
655
- {buttons.includes("exportLtmplExcel") && !readOnly?<Popover
656
- content={<ExportFrame //导出组件
657
- serverKey={serverKey}
658
- queryKey={queryKey}
659
- title={ltmplConfig.title}
660
- />}
661
- title={"导出"}
662
- placement="bottomRight"
663
- trigger="click">
664
- <Tooltip title={'导出'}><Button
665
- style={{
666
- display: buttons.includes("exportLtmplExcel") && !readOnly ? "inline" : "none",
667
- marginLeft: '5px'
668
- }} //为了点击到没有导出模块,使组件不致销毁,丢失导出数据
669
- >
670
- <DownloadOutlined/>
671
- </Button></Tooltip>
672
- </Popover>:""}
673
- {buttons.includes("showChart") ? <Tooltip title={showL2Chart ? '隐藏图表' : '展示图表'}><Button
674
- onClick={this.handleShowChart}>
675
- <LineChartOutlined/></Button></Tooltip> : ""
676
- }
677
- {buttons.includes("analysis") ? <Tooltip title={showL2ActTable ? '隐藏数据分析' : '展示数据分析'}><Button
678
- onClick={this.handleDataAnalysis}>
679
- <FundOutlined/>
680
- </Button></Tooltip> : ""}
681
- {buttons.includes("reStat") && !readOnly ? <Restat serverKey={serverKey} fields={ltmplConfig.reStatParams} sourceId={sourceId}
682
- onfinish={() => doSearch(null)}></Restat> : ""}
683
- <Popover content={<Checkbox.Group value={viewModels} onChange={this.changeViewModel}>
684
- <Row style={{width: '120px'}}>
685
- <Col span={24}><Checkbox value={'table'}>表格</Checkbox></Col>
686
- <Col span={24}><Checkbox value={'verticalList'}>纵向列表</Checkbox></Col>
687
- {/*<Col span={24}><Checkbox value={'horizontalList'}>横向列表</Checkbox></Col>*/}
688
- </Row>
689
- </Checkbox.Group>} title="视图" placement="bottomRight"
690
- trigger="click">
691
- <Tooltip title={'选择视图'}>
692
- <Button><RetweetOutlined/></Button>
693
- </Tooltip>
843
+ return classifiedAddConfigs.map((config) => {
844
+ return (
845
+ <p>
846
+ <Button
847
+ size={"small"}
848
+ type={"text"}
849
+ onClick={() => this.props.doCreate(config.id, false)}
850
+ >
851
+ {config.title}
852
+ </Button>
853
+ </p>
854
+ );
855
+ });
856
+ };
857
+
858
+ renderHeaderButtons = () => {
859
+ let {
860
+ hiddenColIds,
861
+ queryKey,
862
+ viewModels,
863
+ sortedColConfigs,
864
+ disabledColIds,
865
+ showL2Chart,
866
+ showL2ActTable,
867
+ } = this.state;
868
+ const {
869
+ ltmplConfig,
870
+ sourceId,
871
+ doCreate,
872
+ doSearch,
873
+ menuId,
874
+ funcMode,
875
+ customCreatable,
876
+ serverKey,
877
+ readOnly,
878
+ } = this.props;
879
+ const { translate } = this.context;
880
+ let { buttons } = ltmplConfig;
881
+
882
+ return (
883
+ <>
884
+ <Space>
885
+ {funcMode == "common" && this.criteriaFormUseful() ? (
886
+ <Popover trigger="click" content={this.renderCriteriaForm()}>
887
+ <Button>
888
+ <SearchOutlined />
889
+ </Button>
694
890
  </Popover>
695
- <Popover content={<ColumnSelector columns={sortedColConfigs}
696
- disabledColIds={disabledColIds}
697
- hiddenColIds={hiddenColIds}
698
- onChangeColSort={this.onChangeColSort}
699
- onChangeHiddenCols={this.changeHiddenColumns}/>}
700
- title={'排序和选择列'}
701
- placement="bottomRight"
702
- trigger="click">
703
- <Tooltip title={'点击排序和选择列'}>
704
- <Button><TableOutlined/></Button>
891
+ ) : null}
892
+ {buttons.includes("dtmplAdd") && doCreate && !readOnly ? (
893
+ ltmplConfig.classifiedAddConfigs &&
894
+ ltmplConfig.classifiedAddConfigs.length > 0 ? (
895
+ <Popover
896
+ arrow={false}
897
+ content={this.getAddTmplButton(
898
+ ltmplConfig.classifiedAddConfigs
899
+ )}
900
+ placement="bottomRight"
901
+ >
902
+ <Tooltip>
903
+ <Button>
904
+ <PlusOutlined />
905
+ </Button>
705
906
  </Tooltip>
706
- </Popover>
707
- {doSearch ?
907
+ </Popover>
908
+ ) : (
909
+ <Tooltip title={translate("${创建}")}>
910
+ <Button onClick={() => doCreate(null, false)}>
911
+ <PlusOutlined />
912
+ </Button>{" "}
913
+ </Tooltip>
914
+ )
915
+ ) : (
916
+ ""
917
+ )}
918
+ {(buttons.includes("dtmplCustomAdd") || customCreatable) &&
919
+ doCreate &&
920
+ !readOnly ? (
921
+ <Tooltip title={translate("${创建}")}>
922
+ <Button onClick={() => doCreate(null, true)}>
923
+ <PlusCircleOutlined />
924
+ </Button>
925
+ </Tooltip>
926
+ ) : (
927
+ ""
928
+ )}
929
+ {buttons.includes("importLtmplExcel") && !readOnly ? (
930
+ <Tooltip title={translate("${导入}")}>
931
+ {" "}
932
+ <Button
933
+ href={`#/${sourceId}/importer?menuId=${menuId}`}
934
+ target={"_blank"}
935
+ >
936
+ <UploadOutlined />
937
+ </Button>
938
+ </Tooltip>
939
+ ) : (
940
+ ""
941
+ )}
942
+ {buttons.includes("exportLtmplExcel") && !readOnly ? (
943
+ <Popover
944
+ content={
945
+ <ExportFrame //导出组件
946
+ serverKey={serverKey}
947
+ queryKey={queryKey}
948
+ title={translate("${" + ltmplConfig.title + "}")}
949
+ />
950
+ }
951
+ title={translate("${导出}")}
952
+ placement="bottomRight"
953
+ trigger="click"
954
+ >
955
+ <Tooltip title={translate("${导出}")}>
708
956
  <Button
709
- className="hoverbig"
710
- title="刷新"
711
- onClick={() => {
712
- doSearch(null)
713
- }}>
714
- <ReloadOutlined/>
715
- </Button> : ""
716
- }</Space>
717
- </>
957
+ style={{
958
+ display:
959
+ buttons.includes("exportLtmplExcel") && !readOnly
960
+ ? "inline"
961
+ : "none",
962
+ marginLeft: "5px",
963
+ }} //为了点击到没有导出模块,使组件不致销毁,丢失导出数据
964
+ >
965
+ <DownloadOutlined />
966
+ </Button>
967
+ </Tooltip>
968
+ </Popover>
969
+ ) : (
970
+ ""
971
+ )}
972
+ {buttons.includes("showChart") ? (
973
+ <Tooltip
974
+ title={
975
+ showL2Chart
976
+ ? translate("${隐藏}${图表}")
977
+ : translate("${展示}${图表}")
978
+ }
979
+ >
980
+ <Button onClick={this.handleShowChart}>
981
+ <LineChartOutlined />
982
+ </Button>
983
+ </Tooltip>
984
+ ) : (
985
+ ""
986
+ )}
987
+ {buttons.includes("analysis") ? (
988
+ <Tooltip
989
+ title={
990
+ showL2ActTable
991
+ ? translate("${隐藏}${数据分析}")
992
+ : translate("${展示}${数据分析}")
993
+ }
994
+ >
995
+ <Button onClick={this.handleDataAnalysis}>
996
+ <FundOutlined />
997
+ </Button>
998
+ </Tooltip>
999
+ ) : (
1000
+ ""
1001
+ )}
1002
+ {buttons.includes("reStat") && !readOnly ? (
1003
+ <Restat
1004
+ serverKey={serverKey}
1005
+ fields={ltmplConfig.reStatParams}
1006
+ sourceId={sourceId}
1007
+ onfinish={() => doSearch(null)}
1008
+ ></Restat>
1009
+ ) : (
1010
+ ""
1011
+ )}
1012
+ <Popover
1013
+ content={
1014
+ <Checkbox.Group
1015
+ value={viewModels}
1016
+ onChange={this.changeViewModel}
1017
+ >
1018
+ <Row style={{ width: "120px" }}>
1019
+ <Col span={24}>
1020
+ <Checkbox value={"table"}>{translate("${表格}")}</Checkbox>
1021
+ </Col>
1022
+ <Col span={24}>
1023
+ <Checkbox value={"verticalList"}>
1024
+ {translate("${纵向列表}")}
1025
+ </Checkbox>
1026
+ </Col>
1027
+ {/*<Col span={24}><Checkbox value={'horizontalList'}>横向列表</Checkbox></Col>*/}
1028
+ </Row>
1029
+ </Checkbox.Group>
1030
+ }
1031
+ title={translate("${视图}")}
1032
+ placement="bottomRight"
1033
+ trigger="click"
1034
+ >
1035
+ <Tooltip title={translate("${选择视图}")}>
1036
+ <Button>
1037
+ <RetweetOutlined />
1038
+ </Button>
1039
+ </Tooltip>
1040
+ </Popover>
1041
+ <Popover
1042
+ content={
1043
+ <ColumnSelector
1044
+ columns={sortedColConfigs}
1045
+ disabledColIds={disabledColIds}
1046
+ hiddenColIds={hiddenColIds}
1047
+ onChangeColSort={this.onChangeColSort}
1048
+ onChangeHiddenCols={this.changeHiddenColumns}
1049
+ />
1050
+ }
1051
+ title={translate("${排序和选择列}")}
1052
+ placement="bottomRight"
1053
+ trigger="click"
1054
+ >
1055
+ <Tooltip title={translate("${点击排序和选择列}")}>
1056
+ <Button>
1057
+ <TableOutlined />
1058
+ </Button>
1059
+ </Tooltip>
1060
+ </Popover>
1061
+ {doSearch ? (
1062
+ <Button
1063
+ className="hoverbig"
1064
+ title={translate("${刷新}")}
1065
+ onClick={() => {
1066
+ doSearch(null);
1067
+ }}
1068
+ >
1069
+ <ReloadOutlined />
1070
+ </Button>
1071
+ ) : (
1072
+ ""
1073
+ )}
1074
+ </Space>
1075
+ </>
1076
+ );
1077
+ };
1078
+
1079
+ criteriaFormUseful = () => {
1080
+ const { ltmplConfig } = this.props;
1081
+ let { buttons, criterias } = ltmplConfig;
1082
+ if (
1083
+ (buttons.includes("query") &&
1084
+ ((criterias && criterias.length > 0) ||
1085
+ buttons.includes("drilling"))) ||
1086
+ this.checkBoxUseful()
1087
+ ) {
1088
+ return true;
1089
+ } else {
1090
+ return false;
718
1091
  }
719
-
720
- criteriaFormUseful = () => {
721
- const {ltmplConfig} = this.props;
722
- let {buttons, criterias, } = ltmplConfig;
723
- if ((buttons.includes('query') && ((criterias && criterias.length > 0) || buttons.includes('drilling'))) ||
724
- this.checkBoxUseful()) {
725
- return true;
726
- } else {
727
- return false;
728
- }
1092
+ };
1093
+
1094
+ checkBoxUseful = () => {
1095
+ const { ltmplConfig } = this.props;
1096
+ let { buttons, jumps, actions } = ltmplConfig;
1097
+ if (
1098
+ buttons.includes("batchDelete") ||
1099
+ (actions && actions.length > 0) ||
1100
+ (jumps && jumps.length > 0)
1101
+ ) {
1102
+ return true;
1103
+ } else {
1104
+ return false;
729
1105
  }
730
-
731
- checkBoxUseful = () => {
732
- const {ltmplConfig} = this.props;
733
- let {buttons, jumps, actions} = ltmplConfig;
734
- if (buttons.includes('batchDelete') ||
735
- (actions && actions.length > 0) || (jumps && jumps.length > 0)) {
736
- return true;
737
- } else {
738
- return false;
739
- }
1106
+ };
1107
+
1108
+ renderCriteriaForm = () => {
1109
+ let { loading, selectedRows, selectedDatas } = this.state;
1110
+ let { ltmplConfig, doSearch, criteriaData, serverKey } = this.props;
1111
+ return (
1112
+ <CriteriaForm
1113
+ serverKey={serverKey}
1114
+ loading={loading}
1115
+ selectedDatas={selectedDatas}
1116
+ selectedRows={selectedRows}
1117
+ ltmplConfig={ltmplConfig}
1118
+ data={criteriaData}
1119
+ doCQuery={this.doSelectedCQuery}
1120
+ doAction={this.doSelectedAction}
1121
+ doDelete={this.doDelete}
1122
+ doJump={this.doSelectedJump}
1123
+ doSearch={doSearch}
1124
+ />
1125
+ );
1126
+ };
1127
+
1128
+ renderContent = () => {
1129
+ let {
1130
+ queryKey,
1131
+ loading,
1132
+ selectedRows,
1133
+ hiddenRowCodes,
1134
+ viewModels,
1135
+ sortedColConfigs,
1136
+ hiddenColIds,
1137
+ showL2ActTable,
1138
+ } = this.state;
1139
+ let {
1140
+ sourceId,
1141
+ ltmplConfig,
1142
+ funcMode,
1143
+ title,
1144
+ collapsible,
1145
+ pageSize,
1146
+ pageNo,
1147
+ onChangePage,
1148
+ serverKey,
1149
+ } = this.props;
1150
+ const { translate } = this.context;
1151
+
1152
+ if (!ltmplConfig || !sourceId) {
1153
+ return (
1154
+ <>
1155
+ <Card loading={loading}></Card>
1156
+ <Table loading={loading}></Table>
1157
+ </>
1158
+ );
740
1159
  }
741
1160
 
742
- renderCriteriaForm = () => {
743
- let { loading, selectedRows, selectedDatas} = this.state;
744
- let {ltmplConfig, doSearch,criteriaData,serverKey} = this.props;
745
- return <CriteriaForm serverKey={serverKey} loading={loading} selectedDatas={selectedDatas} selectedRows={selectedRows}
746
- ltmplConfig={ltmplConfig} data={criteriaData}
747
- doCQuery={this.doSelectedCQuery}
748
- doAction={this.doSelectedAction}
749
- doDelete={this.doDelete}
750
- doJump={this.doSelectedJump}
751
- doSearch={doSearch}/>
1161
+ let tableColumns = this.buildTableColumns(
1162
+ ltmplConfig,
1163
+ hiddenColIds,
1164
+ hiddenRowCodes,
1165
+ sortedColConfigs
1166
+ );
1167
+
1168
+ let { buttons } = ltmplConfig;
1169
+ let displayCriteriaCard: boolean = false;
1170
+ if (funcMode == "simple" || funcMode == "common") {
1171
+ displayCriteriaCard = false;
1172
+ } else if (this.criteriaFormUseful()) {
1173
+ displayCriteriaCard = true;
752
1174
  }
753
1175
 
754
- renderContent=()=> {
755
- let {queryKey, loading, selectedRows, hiddenRowCodes, viewModels, sortedColConfigs, hiddenColIds, showL2ActTable} = this.state;
756
- let {sourceId, ltmplConfig, funcMode, title, collapsible,pageSize,pageNo,onChangePage,serverKey} = this.props;
757
-
758
- if (!ltmplConfig || !sourceId) {
759
- return <>
760
- <Card loading={loading}>
761
- </Card>
762
- <Table loading={loading}>
763
- </Table>
764
- </>
1176
+ let columnConfigs = [];
1177
+ if (sortedColConfigs) {
1178
+ for (let colConfig of sortedColConfigs) {
1179
+ if (!hiddenColIds.includes(colConfig.id)) {
1180
+ columnConfigs.push(colConfig);
765
1181
  }
766
-
767
- let tableColumns = this.buildTableColumns(ltmplConfig,hiddenColIds, hiddenRowCodes, sortedColConfigs);
768
-
769
- let {buttons} = ltmplConfig
770
- let displayCriteriaCard: boolean = false;
771
- if (funcMode == 'simple' || funcMode == 'common') {
772
- displayCriteriaCard = false;
773
- } else if (this.criteriaFormUseful()) {
774
- displayCriteriaCard = true;
775
- }
776
-
777
- let columnConfigs = [];
778
- if (sortedColConfigs) {
779
- for (let colConfig of sortedColConfigs) {
780
- if (!hiddenColIds.includes(colConfig.id)) {
781
- columnConfigs.push(colConfig);
782
- }
783
- }
784
- }
785
- return (
786
- <>
787
- {/*暂时不支持L2chart 后续用echart*/}
788
- {/*{buttons.includes("showChart") && showL2Chart ? <div>*/}
789
- {/* <StatViewL2Chart queryKey={queryKey.key} ltmplConfig={ltmplConfig} hiddenColIds={hiddenColIds}*/}
790
- {/* hiddenRowCodes={hiddenRowCodes}/>*/}
791
- {/* /!*<Divider dashed style={{borderTopColor: "#40a9ff",}} plain></Divider>*!/*/}
792
- {/*</div> : ""*/}
793
- {/*}*/}
794
- {buttons.includes("analysis") && showL2ActTable ? <div>
795
- <L2ActTable serverKey={serverKey} innerQueryKey={queryKey.key} sourceId={sourceId}/>
796
- <Divider dashed style={{borderTopColor: "#40a9ff",}} plain></Divider>
797
- </div> : ""
798
- }
799
- <div className="actTable">
800
- {funcMode == 'complete' || funcMode == 'common' ?
801
- collapsible?null:
802
- <span>
803
- {ltmplConfig.header?<div style={{padding:'6px'}} dangerouslySetInnerHTML={{__html:ltmplConfig.header}} ></div>:null}
804
- <h3> {title ? title : ltmplConfig.title}
805
- <p className="fr">
806
- {this.renderHeaderButtons()}
807
- </p></h3>
808
- </span> : null
809
- }
810
- {displayCriteriaCard ?
811
- this.renderCriteriaForm() : null
812
- }
813
- {loading?"":<QueryTable serverKey={serverKey} onChangePage={onChangePage} viewModels={viewModels} primaryColumn={ltmplConfig.primaryColumn} columnConfigs={columnConfigs}
814
- maxSelectedRows={this.checkBoxUseful() ? 10000 : -1}
815
- selectedRows={selectedRows}
816
- columns={tableColumns}
817
- hiddenRowCodes={hiddenRowCodes}
818
- pageInfo={{pageNo:pageNo?pageNo:1,pageSize:pageSize?pageSize:ltmplConfig.defaultPageSize}}
819
- queryKey={queryKey}
820
- onChangeRowSelection={this.changeRowSelection}/>}
821
- {/*此处放页脚*/}
822
- {ltmplConfig.footer?<div style={{padding:'6px'}} dangerouslySetInnerHTML={{__html:ltmplConfig.footer}} ></div>:null}
823
- </div>
824
- </>
825
- );
1182
+ }
826
1183
  }
827
-
828
- render() {
829
- let {queryKey, loading} = this.state;
830
- let {sourceId, ltmplConfig, title, collapsible,initCollapse,tip} = this.props;
831
-
832
- if (!ltmplConfig || !sourceId) {
833
- return <>
834
- <Card loading={loading}>
835
- </Card>
836
- <Table loading={loading}>
837
- </Table>
838
- </>
839
- }
840
-
841
- return <> {
842
- collapsible ?
843
- <CollapseCard
844
- initCollapse={initCollapse}
845
- title={<>{title ? title : ltmplConfig.title}<ToolTipBar content={tip?tip:ltmplConfig?ltmplConfig.tip:null}/></>}
846
- id={queryKey + ltmplConfig.id}
847
- className={`hoverable`}
848
- headStyle={{background: "#f2f4f5"}}
849
- loading={loading}
850
- bodyStyle={{padding: '6px'}}
851
- //暂时注释掉,后续要支持配置。
852
- extra={this.renderHeaderButtons()}
853
- >
854
- {this.renderContent()}
855
- </CollapseCard> :
856
- <>
857
- {this.renderContent()}
858
- </>
859
- }
1184
+ return (
1185
+ <>
1186
+ {/*暂时不支持L2chart 后续用echart*/}
1187
+ {/*{buttons.includes("showChart") && showL2Chart ? <div>*/}
1188
+ {/* <StatViewL2Chart queryKey={queryKey.key} ltmplConfig={ltmplConfig} hiddenColIds={hiddenColIds}*/}
1189
+ {/* hiddenRowCodes={hiddenRowCodes}/>*/}
1190
+ {/* /!*<Divider dashed style={{borderTopColor: "#40a9ff",}} plain></Divider>*!/*/}
1191
+ {/*</div> : ""*/}
1192
+ {/*}*/}
1193
+ {buttons.includes("analysis") && showL2ActTable ? (
1194
+ <div>
1195
+ <L2ActTable
1196
+ serverKey={serverKey}
1197
+ innerQueryKey={queryKey.key}
1198
+ sourceId={sourceId}
1199
+ />
1200
+ <Divider
1201
+ dashed
1202
+ style={{ borderTopColor: "#40a9ff" }}
1203
+ plain
1204
+ ></Divider>
1205
+ </div>
1206
+ ) : (
1207
+ ""
1208
+ )}
1209
+ <div className="actTable">
1210
+ {funcMode == "complete" || funcMode == "common" ? (
1211
+ collapsible ? null : (
1212
+ <span>
1213
+ {ltmplConfig.header ? (
1214
+ <div
1215
+ style={{ padding: "6px" }}
1216
+ dangerouslySetInnerHTML={{ __html: ltmplConfig.header }}
1217
+ ></div>
1218
+ ) : null}
1219
+ <h3>
1220
+ {" "}
1221
+ {translate("${" + (title ? title : ltmplConfig.title) + "}")}
1222
+ <p className="fr">{this.renderHeaderButtons()}</p>
1223
+ </h3>
1224
+ </span>
1225
+ )
1226
+ ) : null}
1227
+ {displayCriteriaCard ? this.renderCriteriaForm() : null}
1228
+ {loading ? (
1229
+ ""
1230
+ ) : (
1231
+ <QueryTable
1232
+ serverKey={serverKey}
1233
+ onChangePage={onChangePage}
1234
+ viewModels={viewModels}
1235
+ primaryColumn={ltmplConfig.primaryColumn}
1236
+ columnConfigs={columnConfigs}
1237
+ maxSelectedRows={this.checkBoxUseful() ? 10000 : -1}
1238
+ selectedRows={selectedRows}
1239
+ columns={tableColumns}
1240
+ hiddenRowCodes={hiddenRowCodes}
1241
+ pageInfo={{
1242
+ pageNo: pageNo ? pageNo : 1,
1243
+ pageSize: pageSize ? pageSize : ltmplConfig.defaultPageSize,
1244
+ }}
1245
+ queryKey={queryKey}
1246
+ onChangeRowSelection={this.changeRowSelection}
1247
+ />
1248
+ )}
1249
+ {/*此处放页脚*/}
1250
+ {ltmplConfig.footer ? (
1251
+ <div
1252
+ style={{ padding: "6px" }}
1253
+ dangerouslySetInnerHTML={{ __html: ltmplConfig.footer }}
1254
+ ></div>
1255
+ ) : null}
1256
+ </div>
1257
+ </>
1258
+ );
1259
+ };
1260
+
1261
+ render() {
1262
+ let { queryKey, loading } = this.state;
1263
+ let {
1264
+ sourceId,
1265
+ ltmplConfig,
1266
+ title,
1267
+ collapsible,
1268
+ initCollapse,
1269
+ tip,
1270
+ } = this.props;
1271
+ const { translate } = this.context;
1272
+
1273
+ if (!ltmplConfig || !sourceId) {
1274
+ return (
1275
+ <>
1276
+ <Card loading={loading}></Card>
1277
+ <Table loading={loading}></Table>
860
1278
  </>
861
-
1279
+ );
862
1280
  }
1281
+
1282
+ return (
1283
+ <>
1284
+ {" "}
1285
+ {collapsible ? (
1286
+ <CollapseCard
1287
+ initCollapse={initCollapse}
1288
+ title={
1289
+ <>
1290
+ {translate("${" + (title ? title : ltmplConfig.title) + "}")}
1291
+ <ToolTipBar
1292
+ content={tip ? tip : ltmplConfig ? ltmplConfig.tip : null}
1293
+ />
1294
+ </>
1295
+ }
1296
+ id={queryKey + ltmplConfig.id}
1297
+ className={`hoverable`}
1298
+ headStyle={{ background: "#f2f4f5" }}
1299
+ loading={loading}
1300
+ bodyStyle={{ padding: "6px" }}
1301
+ //暂时注释掉,后续要支持配置。
1302
+ extra={this.renderHeaderButtons()}
1303
+ >
1304
+ {this.renderContent()}
1305
+ </CollapseCard>
1306
+ ) : (
1307
+ <>{this.renderContent()}</>
1308
+ )}
1309
+ </>
1310
+ );
1311
+ }
863
1312
  }
864
1313
 
865
- export default ActTable;
1314
+ export default ActTable;