vue2-client 1.15.34 → 1.15.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (691) hide show
  1. package/.cursorrules +19 -19
  2. package/.editorconfig +9 -9
  3. package/.env +20 -20
  4. package/.env.apply +19 -19
  5. package/.env.development +1 -1
  6. package/.env.gaslink +19 -19
  7. package/.env.his +19 -19
  8. package/.env.iot +19 -19
  9. package/.env.liuli +20 -20
  10. package/.env.message +19 -19
  11. package/.env.revenue +19 -19
  12. package/.env.runtime +19 -19
  13. package/.env.scada +19 -19
  14. package/.eslintrc.js +90 -90
  15. package/.eslintrc.json +5 -5
  16. package/CHANGELOG.md +824 -824
  17. package/CLAUDE.md +89 -89
  18. package/Components.md +60 -60
  19. package/README.md +65 -65
  20. package/babel.config.js +21 -21
  21. package/docs/Logic/345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +45 -45
  22. package/docs/LowCode/lowcode.md +155 -155
  23. package/docs/LowCode/lowcodeForDeveloper.md +230 -230
  24. package/docs/index.md +30 -30
  25. package/docs/notice.md +22 -22
  26. package/docs//345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +177 -177
  27. package/index.js +31 -31
  28. package/jest-transform-stub.js +8 -8
  29. package/jest.config.js +22 -22
  30. package/jest.setup.js +7 -7
  31. package/jsconfig.json +19 -19
  32. package/package.json +110 -110
  33. package/public/his/editor/editor.html +51 -51
  34. package/public/his/editor/mock/bind_data.html +779 -779
  35. package/public/his/editor/mock/data_table.html +40 -40
  36. package/public/his/editor/mock/sign.html +75 -75
  37. package/public/his/editor/vender/JsBarcode.all.js +3669 -3669
  38. package/public/his/editor/vender/date97/My97DatePicker.htm +65 -65
  39. package/public/his/editor/vender/date97/WdatePicker.js +677 -677
  40. package/public/his/editor/vender/date97/calendar.js +4 -4
  41. package/public/his/editor/vender/date97/lang/en.js +13 -13
  42. package/public/his/editor/vender/date97/lang/zh-cn.js +13 -13
  43. package/public/his/editor/vender/date97/lang/zh-tw.js +13 -13
  44. package/public/his/editor/vender/date97/skin/WdatePicker.css +10 -10
  45. package/public/his/editor/vender/date97/skin/default/datepicker.css +328 -328
  46. package/public/his/editor/vender/date97/skin/ext/datepicker.css +308 -308
  47. package/public/his/editor/vender/date97/skin/whyGreen/datepicker.css +255 -255
  48. package/public/his/editor/vender/diff.js +1627 -1627
  49. package/public/his/editor/vender/editor.js +1 -1
  50. package/public/his/editor/vender/fabric.js +31187 -31187
  51. package/public/his/editor/vender/jquery/jquery.base64.js +190 -190
  52. package/public/his/editor/vender/jquery/jquery.js +10872 -10872
  53. package/public/his/editor/vender/jquery/jquery.print.js +255 -255
  54. package/public/his/editor/vender/jquery/zTreeStyle/zTreeStyle.css +96 -96
  55. package/public/his/editor/vender/mui/mui.min.css +4 -4
  56. package/public/his/editor/vender/mui/mui.min.js +5 -5
  57. package/public/his/editor/vender/mui/mui.picker.min.css +6 -6
  58. package/public/his/editor/vender/mui/mui.picker.min.js +6 -6
  59. package/public/his/editor/vender/qrcode.js +7 -7
  60. package/public/his/editor/vender/requirejs/require.js +2145 -2145
  61. package/public/his/editor/vender/signature/jSignature.CompressorSVG.js +518 -518
  62. package/public/his/editor/vender/signature/jSignature.UndoButton.js +164 -164
  63. package/public/his/editor/vender/signature/jSignature.js +1486 -1486
  64. package/public/his/editor/vender/validator.js +5094 -5094
  65. package/public/his/editor/vender/weui/weui.css +5659 -5659
  66. package/public/his/editor/vender/weui/weui.min.css +4 -4
  67. package/public/his/editor/vender/weui/weui.min.js +11 -11
  68. package/public/index.html +27 -27
  69. package/src/App.vue +196 -196
  70. package/src/ReportView.js +13 -13
  71. package/src/assets/img/querySlotDemo.svg +15 -15
  72. package/src/assets/svg/badtwo.svg +1 -1
  73. package/src/assets/svg/goodtwo.svg +1 -1
  74. package/src/base-client/components/AI/AskAiBtn.vue +136 -136
  75. package/src/base-client/components/AI/demo.vue +31 -31
  76. package/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox.vue +532 -532
  77. package/src/base-client/components/common/AddressSearchCombobox/IcMapIcon.vue +16 -16
  78. package/src/base-client/components/common/AddressSearchCombobox/demo.vue +36 -36
  79. package/src/base-client/components/common/AddressSearchCombobox/ic_map.svg +6 -6
  80. package/src/base-client/components/common/AddressSearchCombobox/index.js +3 -3
  81. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  82. package/src/base-client/components/common/AmapMarker/index.js +3 -3
  83. package/src/base-client/components/common/CitySelect/CitySelect.vue +365 -365
  84. package/src/base-client/components/common/CitySelect/index.js +3 -3
  85. package/src/base-client/components/common/CitySelect/index.md +109 -109
  86. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
  87. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1014 -1014
  88. package/src/base-client/components/common/CreateQuery/index.js +3 -3
  89. package/src/base-client/components/common/CreateQuery/index.md +42 -42
  90. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +452 -452
  91. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +511 -511
  92. package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
  93. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
  94. package/src/base-client/components/common/FormGroupEdit/FormGroupEdit.vue +146 -146
  95. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  96. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  97. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
  98. package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
  99. package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
  100. package/src/base-client/components/common/JSONToTree/index.js +3 -3
  101. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  102. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorModal.vue +108 -108
  103. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorPanel.vue +413 -413
  104. package/src/base-client/components/common/LowCodeComponent/LowCodePageOrganization.vue +502 -502
  105. package/src/base-client/components/common/LowCodeComponent/LowCodeRender.vue +728 -728
  106. package/src/base-client/components/common/LowCodeComponent/LowCodeRenderEnter.vue +29 -29
  107. package/src/base-client/components/common/LowCodeComponent/LowCodeUIStore.vue +219 -219
  108. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeAddPageModal.vue +117 -117
  109. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeCustomJSModal.vue +80 -80
  110. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeEventEditorModal.vue +398 -398
  111. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLifeCycleModal.vue +65 -65
  112. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicCallbackModal.vue +64 -64
  113. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicParamModal.vue +73 -73
  114. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeRunFunctionParamModal.vue +76 -76
  115. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
  116. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  117. package/src/base-client/components/common/Recording/Recording.vue +243 -243
  118. package/src/base-client/components/common/Recording/index.js +3 -3
  119. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  120. package/src/base-client/components/common/Tree/index.js +2 -2
  121. package/src/base-client/components/common/Upload/Upload.vue +323 -323
  122. package/src/base-client/components/common/Upload/index.js +3 -3
  123. package/src/base-client/components/common/XAddForm/XAddForm.vue +113 -113
  124. package/src/base-client/components/common/XAddForm/index.js +3 -3
  125. package/src/base-client/components/common/XAddForm/index.md +61 -61
  126. package/src/base-client/components/common/XAddNativeForm/XAddNativeForm.vue +1169 -1169
  127. package/src/base-client/components/common/XAddNativeForm/demo.vue +40 -40
  128. package/src/base-client/components/common/XAddNativeForm/index.js +3 -3
  129. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  130. package/src/base-client/components/common/XAddNativeFormOA/XAddNativeFormOA.vue +303 -303
  131. package/src/base-client/components/common/XAddNativeFormOA/index.js +3 -3
  132. package/src/base-client/components/common/XAddNativeFormOA/index.md +146 -146
  133. package/src/base-client/components/common/XAddReport/XAddReport.vue +212 -212
  134. package/src/base-client/components/common/XAddReport/index.js +3 -3
  135. package/src/base-client/components/common/XAddReport/index.md +56 -56
  136. package/src/base-client/components/common/XBadge/XBadge.vue +94 -94
  137. package/src/base-client/components/common/XBadge/index.js +3 -3
  138. package/src/base-client/components/common/XBadge/index.md +39 -39
  139. package/src/base-client/components/common/XButtons/XButtonDemo.vue +28 -28
  140. package/src/base-client/components/common/XButtons/XButtons.vue +71 -71
  141. package/src/base-client/components/common/XButtons/index.js +3 -3
  142. package/src/base-client/components/common/XButtons/index.md +61 -61
  143. package/src/base-client/components/common/XCalendar/XCalendar.vue +369 -369
  144. package/src/base-client/components/common/XCalendar/index.md +284 -284
  145. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  146. package/src/base-client/components/common/XCard/index.js +3 -3
  147. package/src/base-client/components/common/XCard/index.md +43 -43
  148. package/src/base-client/components/common/XCardSet/XCardSet.vue +300 -300
  149. package/src/base-client/components/common/XCheckList/XCheckList.vue +106 -106
  150. package/src/base-client/components/common/XCheckList/XCheckListDemo.vue +41 -41
  151. package/src/base-client/components/common/XCollapse/XCollapse.vue +253 -253
  152. package/src/base-client/components/common/XConversation/XConversation.vue +576 -576
  153. package/src/base-client/components/common/XConversation/XConversationDemo.vue +28 -28
  154. package/src/base-client/components/common/XDataCard/XDataCard.vue +629 -629
  155. package/src/base-client/components/common/XDataCard/index.js +3 -3
  156. package/src/base-client/components/common/XDataCard/index.md +1 -1
  157. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  158. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  159. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  160. package/src/base-client/components/common/XDatePicker/demo.vue +153 -153
  161. package/src/base-client/components/common/XDatePicker/index.vue +276 -276
  162. package/src/base-client/components/common/XDescriptions/XDescriptions.vue +174 -174
  163. package/src/base-client/components/common/XDescriptions/XDescriptionsGroup.vue +314 -314
  164. package/src/base-client/components/common/XDescriptions/demo.vue +51 -51
  165. package/src/base-client/components/common/XDescriptions/index.js +3 -3
  166. package/src/base-client/components/common/XDescriptions/index.md +83 -83
  167. package/src/base-client/components/common/XDetailsView/XDetailsView.vue +238 -238
  168. package/src/base-client/components/common/XDetailsView/index.js +3 -3
  169. package/src/base-client/components/common/XForm/XForm.vue +420 -420
  170. package/src/base-client/components/common/XForm/XFormItem.vue +1342 -1342
  171. package/src/base-client/components/common/XForm/XStatusButton.vue +54 -54
  172. package/src/base-client/components/common/XForm/XTreeSelect.vue +276 -276
  173. package/src/base-client/components/common/XForm/demo.vue +105 -105
  174. package/src/base-client/components/common/XForm/index.js +3 -3
  175. package/src/base-client/components/common/XForm/index.md +178 -178
  176. package/src/base-client/components/common/XForm/itemComponent/XClickChangeBtn/index.vue +49 -49
  177. package/src/base-client/components/common/XFormCol/XFormCol.vue +157 -157
  178. package/src/base-client/components/common/XFormCol/index.js +3 -3
  179. package/src/base-client/components/common/XFormCol/index.md +35 -35
  180. package/src/base-client/components/common/XFormGroup/XFormGroup.vue +301 -301
  181. package/src/base-client/components/common/XFormGroup/demo.vue +41 -41
  182. package/src/base-client/components/common/XFormGroup/index.js +3 -3
  183. package/src/base-client/components/common/XFormGroup/index.md +38 -38
  184. package/src/base-client/components/common/XFormGroupDetails/XFormGroupDetails.vue +72 -72
  185. package/src/base-client/components/common/XFormGroupDetails/index.js +3 -3
  186. package/src/base-client/components/common/XFormTable/XFormTable.vue +938 -938
  187. package/src/base-client/components/common/XFormTable/demo.vue +87 -87
  188. package/src/base-client/components/common/XFormTable/index.js +3 -3
  189. package/src/base-client/components/common/XFormTable/index.md +92 -92
  190. package/src/base-client/components/common/XImportExcel/XImportExcel.vue +174 -174
  191. package/src/base-client/components/common/XImportExcel/index.js +3 -3
  192. package/src/base-client/components/common/XImportExcel/index.md +38 -38
  193. package/src/base-client/components/common/XInput/XInput.vue +128 -128
  194. package/src/base-client/components/common/XInput/index.js +3 -3
  195. package/src/base-client/components/common/XInput/index.md +97 -97
  196. package/src/base-client/components/common/XIntervalPicker/XIntervalPicker.vue +121 -121
  197. package/src/base-client/components/common/XLabelSelect/XLabelSelect.vue +110 -110
  198. package/src/base-client/components/common/XLabelSelect/XLabelSelectDemo.vue +35 -35
  199. package/src/base-client/components/common/XLicensePlate/XLicensePlate.vue +193 -193
  200. package/src/base-client/components/common/XLicensePlate/XLicensePlateDemo.vue +48 -48
  201. package/src/base-client/components/common/XLicensePlate/index.js +3 -3
  202. package/src/base-client/components/common/XLicensePlate/index.md +38 -38
  203. package/src/base-client/components/common/XPrint/Demo.vue +41 -41
  204. package/src/base-client/components/common/XPrint/OpenInvoice.vue +21 -21
  205. package/src/base-client/components/common/XPrint/PrintBill.vue +304 -304
  206. package/src/base-client/components/common/XPrint/PrintHtml.js +98 -98
  207. package/src/base-client/components/common/XPrint/css/hiPrintCss.js +359 -359
  208. package/src/base-client/components/common/XPrint/css/lodopCss.js +26 -26
  209. package/src/base-client/components/common/XPrint/css/print-lock.css +351 -351
  210. package/src/base-client/components/common/XPrint/index.vue +97 -97
  211. package/src/base-client/components/common/XRate/demo.vue +102 -102
  212. package/src/base-client/components/common/XRate/index.vue +149 -149
  213. package/src/base-client/components/common/XReport/XReport.vue +963 -963
  214. package/src/base-client/components/common/XReport/XReportDemo.vue +70 -70
  215. package/src/base-client/components/common/XReport/XReportDesign.vue +463 -463
  216. package/src/base-client/components/common/XReport/XReportJsonRender.vue +381 -381
  217. package/src/base-client/components/common/XReport/XReportTrGroup.vue +1005 -1005
  218. package/src/base-client/components/common/XReport/index.js +3 -3
  219. package/src/base-client/components/common/XReport/index.md +103 -103
  220. package/src/base-client/components/common/XReport/print.js +186 -186
  221. package/src/base-client/components/common/XReportDrawer/XReportDrawer.vue +201 -201
  222. package/src/base-client/components/common/XReportDrawer/index.js +3 -3
  223. package/src/base-client/components/common/XReportGrid/XReport.vue +1075 -1075
  224. package/src/base-client/components/common/XReportGrid/XReportDemo.vue +44 -44
  225. package/src/base-client/components/common/XReportGrid/XReportDesign.vue +620 -620
  226. package/src/base-client/components/common/XReportGrid/XReportTrGroup.vue +731 -731
  227. package/src/base-client/components/common/XReportGrid/index.js +3 -3
  228. package/src/base-client/components/common/XReportGrid/index.md +44 -44
  229. package/src/base-client/components/common/XReportGrid/print.js +184 -184
  230. package/src/base-client/components/common/XReportSlot/XReportSlot.vue +110 -110
  231. package/src/base-client/components/common/XReportSlot/index.js +3 -3
  232. package/src/base-client/components/common/XReportSlot/index.md +48 -48
  233. package/src/base-client/components/common/XSimpleDescriptions/XSimpleDescriptions.vue +166 -166
  234. package/src/base-client/components/common/XSimpleDescriptions/index.js +3 -3
  235. package/src/base-client/components/common/XSimpleDescriptions/index.md +7 -7
  236. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  237. package/src/base-client/components/common/XStepView/index.js +3 -3
  238. package/src/base-client/components/common/XStepView/index.md +31 -31
  239. package/src/base-client/components/common/XTab/XTab.vue +299 -299
  240. package/src/base-client/components/common/XTab/XTabDemo.vue +22 -22
  241. package/src/base-client/components/common/XTab/index.js +3 -3
  242. package/src/base-client/components/common/XTable/CustomFuncCel.vue +51 -51
  243. package/src/base-client/components/common/XTable/ExportExcel.vue +282 -282
  244. package/src/base-client/components/common/XTable/TableCellRenderer.vue +161 -161
  245. package/src/base-client/components/common/XTable/XTable.vue +1600 -1600
  246. package/src/base-client/components/common/XTable/XTableWrapper.vue +584 -584
  247. package/src/base-client/components/common/XTable/index.js +3 -3
  248. package/src/base-client/components/common/XTable/index.md +255 -255
  249. package/src/base-client/components/common/XTagGroup/index.vue +52 -52
  250. package/src/base-client/components/common/XTimeline/XTimeline.vue +358 -358
  251. package/src/base-client/components/common/XTimeline/index.md +191 -191
  252. package/src/base-client/components/common/XTree/XTree.vue +424 -424
  253. package/src/base-client/components/common/XTree/XTreePro.vue +452 -452
  254. package/src/base-client/components/common/XTree/index.js +3 -3
  255. package/src/base-client/components/common/XTree/index.md +36 -36
  256. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +113 -113
  257. package/src/base-client/components/common/XTreeOne/XTreeOnePro.vue +128 -128
  258. package/src/base-client/components/common/XTreeOne/index.js +3 -3
  259. package/src/base-client/components/common/XUploadFilesView/index.vue +485 -485
  260. package/src/base-client/components/common/richTextModal/index.vue +56 -56
  261. package/src/base-client/components/common/richTextModal/richDemo.vue +48 -48
  262. package/src/base-client/components/his/XCharge/XCharge.vue +238 -238
  263. package/src/base-client/components/his/XCheckbox/XCheckbox.vue +105 -105
  264. package/src/base-client/components/his/XCheckbox/index.md +253 -253
  265. package/src/base-client/components/his/XHDescriptions/XHDescriptions.vue +430 -430
  266. package/src/base-client/components/his/XHDescriptions/index.md +217 -217
  267. package/src/base-client/components/his/XHisEditor/XHisEditor.vue +457 -457
  268. package/src/base-client/components/his/XHisEditor/diagnosisAutocomplete.js +263 -263
  269. package/src/base-client/components/his/XHisEditor/index.js +3 -3
  270. package/src/base-client/components/his/XList/XList.vue +306 -306
  271. package/src/base-client/components/his/XQuestionnaire/XQuestionnaire.json +3 -3
  272. package/src/base-client/components/his/XQuestionnaire/XQuestionnaire.vue +89 -89
  273. package/src/base-client/components/his/XQuestionnaire/XQuestionnaireDemo.vue +51 -51
  274. package/src/base-client/components/his/XQuestionnaire/XQuestionnaireItem.vue +252 -252
  275. package/src/base-client/components/his/XRadio/XRadio.vue +125 -125
  276. package/src/base-client/components/his/XRadio/index.md +234 -234
  277. package/src/base-client/components/his/XSelect/XSelect.vue +72 -72
  278. package/src/base-client/components/his/XShiftSchedule/XShiftSchedule.vue +234 -234
  279. package/src/base-client/components/his/XShiftSchedule/dome.vue +29 -29
  280. package/src/base-client/components/his/XSidebar/XSidebar.vue +240 -240
  281. package/src/base-client/components/his/XTextCard/XTextCard.vue +207 -207
  282. package/src/base-client/components/his/XTimeSelect/XTimeSelect.vue +162 -162
  283. package/src/base-client/components/his/XTimeSelect/XTimeSelectDemo.vue +23 -23
  284. package/src/base-client/components/his/XTitle/README.md +113 -113
  285. package/src/base-client/components/his/XTitle/XTitle.vue +123 -123
  286. package/src/base-client/components/his/XTreeRows/TreeNode.vue +100 -100
  287. package/src/base-client/components/his/XTreeRows/XTreeRows.vue +197 -197
  288. package/src/base-client/components/his/threeTestOrders/dome.vue +68 -68
  289. package/src/base-client/components/his/threeTestOrders/editor.vue +111 -111
  290. package/src/base-client/components/his/threeTestOrders/textBox.vue +457 -457
  291. package/src/base-client/components/his/threeTestOrders/threeTestOrders.vue +475 -475
  292. package/src/base-client/components/index.js +51 -51
  293. package/src/base-client/components/layout/XPageView/RenderRow.vue +88 -88
  294. package/src/base-client/components/layout/XPageView/XErrorView.vue +22 -22
  295. package/src/base-client/components/layout/XPageView/XPageRowTemplate.vue +37 -37
  296. package/src/base-client/components/layout/XPageView/XPageView.vue +223 -223
  297. package/src/base-client/components/layout/XPageView/XTab/XTab.vue +96 -96
  298. package/src/base-client/components/layout/XPageView/XTab/index.js +3 -3
  299. package/src/base-client/components/layout/XPageView/componentTypes.js +22 -22
  300. package/src/base-client/components/layout/XPageView/index.js +2 -2
  301. package/src/base-client/components/layout/XPageView/index.md +96 -96
  302. package/src/base-client/components/layout/XTreeView/XTreeView.vue +130 -130
  303. package/src/base-client/components/layout/XTreeView/index.js +3 -3
  304. package/src/base-client/components/layout/XTreeView/index.md +46 -46
  305. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  306. package/src/base-client/components/system/DictionaryDetailsView/index.js +3 -3
  307. package/src/base-client/components/system/DictionaryDetailsView/index.md +41 -41
  308. package/src/base-client/components/system/LogDetailsView/LogDetailsView.vue +376 -376
  309. package/src/base-client/components/system/LogDetailsView/index.js +3 -3
  310. package/src/base-client/components/system/LogDetailsView/index.md +41 -41
  311. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  312. package/src/base-client/components/system/QueryParamsDetailsView/index.js +3 -3
  313. package/src/base-client/components/ticket/TicketDetailsView/TicketDetailsView.vue +807 -807
  314. package/src/base-client/components/ticket/TicketDetailsView/index.js +3 -3
  315. package/src/base-client/components/ticket/TicketDetailsView/index.md +29 -29
  316. package/src/base-client/components/ticket/TicketDetailsView/part/TicketDetailsFlow.vue +260 -260
  317. package/src/base-client/components/ticket/TicketDetailsView/part/index.js +3 -3
  318. package/src/base-client/components/ticket/TicketSubmitSuccessView/TicketSubmitSuccessView.vue +532 -532
  319. package/src/base-client/components/ticket/TicketSubmitSuccessView/index.js +3 -3
  320. package/src/base-client/components/ticket/TicketSubmitSuccessView/index.md +29 -29
  321. package/src/base-client/plugins/AppData.js +126 -126
  322. package/src/base-client/plugins/Config.js +19 -19
  323. package/src/base-client/plugins/GetLoginInfoService.js +183 -183
  324. package/src/base-client/plugins/PagedList.js +177 -177
  325. package/src/base-client/plugins/Recording.js +258 -258
  326. package/src/base-client/plugins/authority-plugin.js +167 -167
  327. package/src/base-client/plugins/compatible/LoginServiceOA.js +20 -20
  328. package/src/base-client/plugins/i18n-extend.js +32 -32
  329. package/src/base-client/plugins/index.js +23 -23
  330. package/src/base-client/plugins/moment.js +8 -8
  331. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  332. package/src/bootstrap.js +51 -51
  333. package/src/components/Charts/Bar.vue +62 -62
  334. package/src/components/Charts/ChartCard.vue +134 -134
  335. package/src/components/Charts/Liquid.vue +67 -67
  336. package/src/components/Charts/MiniArea.vue +39 -39
  337. package/src/components/Charts/MiniBar.vue +39 -39
  338. package/src/components/Charts/MiniProgress.vue +75 -75
  339. package/src/components/Charts/MiniSmoothArea.vue +40 -40
  340. package/src/components/Charts/Radar.vue +68 -68
  341. package/src/components/Charts/RankList.vue +77 -77
  342. package/src/components/Charts/TagCloud.vue +113 -113
  343. package/src/components/Charts/TransferBar.vue +64 -64
  344. package/src/components/Charts/Trend.vue +82 -82
  345. package/src/components/Charts/chart.less +12 -12
  346. package/src/components/Charts/smooth.area.less +13 -13
  347. package/src/components/CodeMirror/inedx.vue +118 -118
  348. package/src/components/CodeMirror/setting.js +40 -40
  349. package/src/components/Ellipsis/Ellipsis.vue +65 -65
  350. package/src/components/Ellipsis/index.js +3 -3
  351. package/src/components/Ellipsis/index.md +38 -38
  352. package/src/components/FileImageItem/FileItem.vue +305 -305
  353. package/src/components/FileImageItem/FileItemGroup.vue +197 -197
  354. package/src/components/FileImageItem/ImageItem.vue +107 -107
  355. package/src/components/FileImageItem/index.js +4 -4
  356. package/src/components/FilePreview/FilePreview.vue +181 -181
  357. package/src/components/FilePreview/FilePreviewDemo.vue +30 -30
  358. package/src/components/FilePreview/index.js +3 -3
  359. package/src/components/HeightScanner/index.vue +615 -615
  360. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  361. package/src/components/NumberInfo/index.js +3 -3
  362. package/src/components/NumberInfo/index.less +54 -54
  363. package/src/components/NumberInfo/index.md +43 -43
  364. package/src/components/STable/README.md +341 -341
  365. package/src/components/STable/index.js +558 -558
  366. package/src/components/TableSetting/TableSetting.vue +143 -143
  367. package/src/components/TableSetting/index.js +3 -3
  368. package/src/components/Trend/Trend.vue +41 -41
  369. package/src/components/Trend/index.js +3 -3
  370. package/src/components/Trend/index.less +41 -41
  371. package/src/components/Trend/index.md +45 -45
  372. package/src/components/_util/util.js +46 -46
  373. package/src/components/cache/AKeepAlive.js +179 -179
  374. package/src/components/card/ChartCard.vue +79 -79
  375. package/src/components/chart/Bar.vue +60 -60
  376. package/src/components/chart/MiniArea.vue +67 -67
  377. package/src/components/chart/MiniBar.vue +59 -59
  378. package/src/components/chart/MiniProgress.vue +57 -57
  379. package/src/components/chart/Radar.vue +80 -80
  380. package/src/components/chart/RankingList.vue +60 -60
  381. package/src/components/chart/Trend.vue +79 -79
  382. package/src/components/chart/index.less +9 -9
  383. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  384. package/src/components/checkbox/ImgCheckbox.vue +117 -117
  385. package/src/components/checkbox/ImgCheckboxGroup.vue +76 -76
  386. package/src/components/checkbox/index.js +9 -9
  387. package/src/components/exception/ExceptionPage.vue +70 -70
  388. package/src/components/exception/typeConfig.js +19 -19
  389. package/src/components/form/FormRow.vue +52 -52
  390. package/src/components/g2Charts/constants.js +202 -202
  391. package/src/components/g2Charts/demo.vue +808 -808
  392. package/src/components/g2Charts/designer.vue +228 -228
  393. package/src/components/g2Charts/designerBaseConfig.vue +61 -61
  394. package/src/components/g2Charts/designerDataConfig.vue +259 -259
  395. package/src/components/g2Charts/designerStyleConfig.vue +16 -16
  396. package/src/components/g2Charts/index.vue +397 -397
  397. package/src/components/index.js +36 -36
  398. package/src/components/index.less +5 -5
  399. package/src/components/input/IInput.vue +66 -66
  400. package/src/components/menu/Contextmenu.vue +84 -84
  401. package/src/components/menu/SideMenu.vue +75 -75
  402. package/src/components/menu/index.less +38 -38
  403. package/src/components/menu/menu.js +273 -273
  404. package/src/components/page/header/PageHeader.vue +64 -64
  405. package/src/components/page/header/index.less +40 -40
  406. package/src/components/result/Result.vue +77 -77
  407. package/src/components/setting/Setting.vue +234 -234
  408. package/src/components/setting/SettingItem.vue +26 -26
  409. package/src/components/setting/i18n.js +117 -117
  410. package/src/components/table/StandardTable.vue +141 -141
  411. package/src/components/table/advance/ActionColumns.vue +158 -158
  412. package/src/components/table/advance/ActionSize.vue +45 -45
  413. package/src/components/table/advance/AdvanceTable.vue +275 -275
  414. package/src/components/table/advance/SearchArea.vue +355 -355
  415. package/src/components/table/advance/index.js +2 -2
  416. package/src/components/table/api/ApiTable.vue +50 -50
  417. package/src/components/task/TaskGroup.vue +80 -80
  418. package/src/components/task/TaskItem.vue +26 -26
  419. package/src/components/tool/AStepItem.vue +60 -60
  420. package/src/components/tool/AvatarList.vue +68 -68
  421. package/src/components/tool/DetailList.vue +157 -157
  422. package/src/components/tool/Drawer.vue +142 -142
  423. package/src/components/tool/FooterToolBar.vue +30 -30
  424. package/src/components/tool/HeadInfo.vue +35 -35
  425. package/src/components/tool/TagSelect.vue +83 -83
  426. package/src/components/tool/TagSelectOption.vue +33 -33
  427. package/src/components/transition/PageToggleTransition.vue +97 -97
  428. package/src/config/CreateQueryConfig.js +325 -325
  429. package/src/config/default/admin.config.js +18 -18
  430. package/src/config/default/animate.config.js +21 -21
  431. package/src/config/default/antd.config.js +89 -89
  432. package/src/config/default/index.js +6 -6
  433. package/src/config/default/setting.config.js +55 -55
  434. package/src/config/index.js +3 -3
  435. package/src/config/replacer/index.js +10 -10
  436. package/src/config/replacer/resolve.config.js +67 -67
  437. package/src/expression/ExpressionRunner.js +26 -26
  438. package/src/expression/TestExpression.js +509 -509
  439. package/src/expression/core/Delegate.js +115 -115
  440. package/src/expression/core/Expression.js +1358 -1358
  441. package/src/expression/core/Program.js +932 -932
  442. package/src/expression/core/Token.js +27 -27
  443. package/src/expression/enums/ExpressionType.js +81 -81
  444. package/src/expression/enums/TokenType.js +11 -11
  445. package/src/expression/exception/BreakWayException.js +2 -2
  446. package/src/expression/exception/ContinueWayException.js +2 -2
  447. package/src/expression/exception/ExpressionException.js +28 -28
  448. package/src/expression/exception/ReturnWayException.js +14 -14
  449. package/src/expression/exception/ServiceException.js +22 -22
  450. package/src/expression/instances/LogicConsole.js +44 -44
  451. package/src/expression/ts/ExpressionRunner.ts +28 -28
  452. package/src/expression/ts/TestExpression.ts +509 -509
  453. package/src/expression/ts/core/Delegate.ts +114 -114
  454. package/src/expression/ts/core/Expression.ts +1309 -1309
  455. package/src/expression/ts/core/Program.ts +950 -950
  456. package/src/expression/ts/core/Token.ts +29 -29
  457. package/src/expression/ts/enums/ExpressionType.ts +81 -81
  458. package/src/expression/ts/enums/TokenType.ts +13 -13
  459. package/src/expression/ts/exception/BreakWayException.ts +2 -2
  460. package/src/expression/ts/exception/ContinueWayException.ts +2 -2
  461. package/src/expression/ts/exception/ExpressionException.ts +28 -28
  462. package/src/expression/ts/exception/ReturnWayException.ts +14 -14
  463. package/src/expression/ts/exception/ServiceException.ts +22 -22
  464. package/src/expression/ts/instances/JSONArray.ts +48 -48
  465. package/src/expression/ts/instances/JSONObject.ts +109 -109
  466. package/src/expression/ts/instances/LogicConsole.ts +32 -32
  467. package/src/font-style/font.css +4 -4
  468. package/src/layouts/AdminLayout.vue +174 -174
  469. package/src/layouts/BlankView.vue +79 -79
  470. package/src/layouts/CommonLayout.vue +56 -56
  471. package/src/layouts/ComponentLayoutOne.vue +47 -47
  472. package/src/layouts/GridView.vue +43 -43
  473. package/src/layouts/PageLayout.vue +151 -151
  474. package/src/layouts/PageView.vue +55 -55
  475. package/src/layouts/SinglePageView.vue +136 -136
  476. package/src/layouts/footer/PageFooter.vue +49 -49
  477. package/src/layouts/header/AdminHeader.vue +132 -132
  478. package/src/layouts/header/HeaderAvatar.vue +64 -64
  479. package/src/layouts/header/HeaderNotice.vue +177 -177
  480. package/src/layouts/header/HeaderSearch.vue +67 -67
  481. package/src/layouts/header/InstitutionDetail.vue +181 -181
  482. package/src/layouts/header/index.less +92 -92
  483. package/src/layouts/tabs/TabsHead.vue +189 -189
  484. package/src/layouts/tabs/TabsView.vue +389 -389
  485. package/src/layouts/tabs/i18n.js +25 -25
  486. package/src/layouts/tabs/index.js +2 -2
  487. package/src/lib.js +1 -1
  488. package/src/logic/LogicRunner.js +62 -62
  489. package/src/logic/TestLogic.js +13 -13
  490. package/src/logic/plugins/common/DateTools.js +35 -35
  491. package/src/logic/plugins/common/VueTools.js +30 -30
  492. package/src/logic/plugins/index.js +7 -7
  493. package/src/logic/ts/LogicRunner.ts +67 -67
  494. package/src/logic/ts/TestLogic.ts +13 -13
  495. package/src/main.js +33 -33
  496. package/src/mixins/formValidationMixin.js +46 -46
  497. package/src/mock/common/activityData.js +32 -32
  498. package/src/mock/common/index.js +89 -89
  499. package/src/mock/common/reportData.js +20 -20
  500. package/src/mock/common/tableData.js +118 -118
  501. package/src/mock/extend/index.js +84 -84
  502. package/src/mock/goods/index.js +108 -108
  503. package/src/mock/index.js +12 -12
  504. package/src/mock/project/index.js +17 -17
  505. package/src/mock/user/current.js +13 -13
  506. package/src/mock/user/login.js +39 -39
  507. package/src/mock/user/routes.js +61 -61
  508. package/src/mock/workplace/index.js +15 -15
  509. package/src/pages/DefaultExample/index.vue +77 -77
  510. package/src/pages/DynamicStatistics/ChartSelector.vue +331 -331
  511. package/src/pages/DynamicStatistics/DataTabs.vue +83 -83
  512. package/src/pages/DynamicStatistics/DynamicTable.vue +128 -128
  513. package/src/pages/DynamicStatistics/EvaluationArea.vue +69 -69
  514. package/src/pages/DynamicStatistics/FavoriteList.vue +50 -50
  515. package/src/pages/DynamicStatistics/QuestionHistoryAndFavorites.vue +591 -591
  516. package/src/pages/DynamicStatistics/SearchBar.vue +192 -192
  517. package/src/pages/DynamicStatistics/index.vue +282 -282
  518. package/src/pages/Example/childIndex.vue +15 -15
  519. package/src/pages/Example/index.vue +30 -30
  520. package/src/pages/LogicCallExample/index.vue +46 -46
  521. package/src/pages/NewDynamicStatistics/ChartSelector.vue +331 -331
  522. package/src/pages/NewDynamicStatistics/DataTabs.vue +122 -122
  523. package/src/pages/NewDynamicStatistics/DynamicTable.vue +128 -128
  524. package/src/pages/NewDynamicStatistics/EvaluationArea.vue +69 -69
  525. package/src/pages/NewDynamicStatistics/FavoriteList.vue +50 -50
  526. package/src/pages/NewDynamicStatistics/QuestionHistoryAndFavorites.vue +289 -289
  527. package/src/pages/NewDynamicStatistics/SearchBar.vue +193 -193
  528. package/src/pages/NewDynamicStatistics/index.vue +258 -258
  529. package/src/pages/Recording/index.vue +77 -77
  530. package/src/pages/ReportGrid/index.vue +76 -76
  531. package/src/pages/ReportView.vue +50 -50
  532. package/src/pages/ServiceReview/index.vue +284 -284
  533. package/src/pages/SubExample/index.vue +26 -26
  534. package/src/pages/WorkflowDetail/WorkFlowDemo.vue +47 -47
  535. package/src/pages/WorkflowDetail/WorkFlowDemo2.vue +204 -204
  536. package/src/pages/WorkflowDetail/WorkFlowDemo3.vue +203 -204
  537. package/src/pages/WorkflowDetail/WorkflowDetail.vue +379 -399
  538. package/src/pages/WorkflowDetail/WorkflowPageDetail/LeaveMessage.vue +388 -388
  539. package/src/pages/WorkflowDetail/WorkflowPageDetail/TrimTextTail.vue +23 -23
  540. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformation.vue +415 -415
  541. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformationDetails.vue +276 -276
  542. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandle.vue +1757 -1757
  543. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandleReso.vue +975 -975
  544. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowPreview.vue +109 -109
  545. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowTimeline.vue +987 -987
  546. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkOrderParentDetails.vue +222 -222
  547. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowDetailResso.vue +243 -243
  548. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowListResolution.vue +248 -248
  549. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowLog.vue +188 -188
  550. package/src/pages/WorkflowDetail/WorkflowPageDetail/components/WorkflowPersonSelector.vue +109 -109
  551. package/src/pages/XPageViewExample/index.vue +149 -149
  552. package/src/pages/XReportView/index.vue +64 -64
  553. package/src/pages/XTreeOneProExample/index.vue +67 -67
  554. package/src/pages/addressSelect/addressDemo.vue +24 -24
  555. package/src/pages/addressSelect/index.vue +270 -270
  556. package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
  557. package/src/pages/dashboard/workplace/i18n.js +40 -40
  558. package/src/pages/dashboard/workplace/index.js +2 -2
  559. package/src/pages/dashboard/workplace/index.less +59 -59
  560. package/src/pages/exception/403.vue +21 -21
  561. package/src/pages/exception/404.vue +24 -24
  562. package/src/pages/exception/500.vue +21 -21
  563. package/src/pages/login/Login.vue +378 -378
  564. package/src/pages/login/LoginV3.vue +389 -389
  565. package/src/pages/login/index.js +2 -2
  566. package/src/pages/lowCode/lowCodeEditor.vue +1219 -1219
  567. package/src/pages/lowCode/lowCodeRenderPage.vue +43 -43
  568. package/src/pages/report/ReportTable.js +124 -124
  569. package/src/pages/report/ReportTableHome.vue +28 -28
  570. package/src/pages/resourceManage/depListManage.vue +23 -23
  571. package/src/pages/resourceManage/funListManage.vue +23 -23
  572. package/src/pages/resourceManage/index.js +15 -15
  573. package/src/pages/resourceManage/orgListManage.vue +98 -98
  574. package/src/pages/resourceManage/resourceManageMain.vue +57 -57
  575. package/src/pages/resourceManage/roleListManage.vue +23 -23
  576. package/src/pages/resourceManage/staffListManage.vue +23 -23
  577. package/src/pages/system/dictionary/index.vue +44 -44
  578. package/src/pages/system/file/Info.vue +56 -56
  579. package/src/pages/system/file/index.vue +317 -317
  580. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  581. package/src/pages/system/monitor/operLog/index.vue +37 -37
  582. package/src/pages/system/settings/index.vue +126 -126
  583. package/src/pages/system/settings/modifyPassword.vue +117 -117
  584. package/src/pages/system/ticket/index.vue +480 -480
  585. package/src/pages/system/ticket/submitTicketSuccess.vue +484 -484
  586. package/src/pages/userInfoDetailManage/ChangeMeterRecordQuery/index.vue +64 -64
  587. package/src/pages/userInfoDetailManage/FillCardRecordQuery/index.vue +77 -77
  588. package/src/pages/userInfoDetailManage/FillGasRecordQuery/index.vue +75 -75
  589. package/src/pages/userInfoDetailManage/InfoChangeRecordQuery/index.vue +64 -64
  590. package/src/pages/userInfoDetailManage/InstructRecordQuery/index.vue +64 -64
  591. package/src/pages/userInfoDetailManage/InsuranceDetailQuery/index.vue +64 -64
  592. package/src/pages/userInfoDetailManage/MachineRecordQuery/index.vue +75 -75
  593. package/src/pages/userInfoDetailManage/MeterParamRecordQuery/index.vue +64 -64
  594. package/src/pages/userInfoDetailManage/OtherChargeRecordQuery/index.vue +75 -75
  595. package/src/pages/userInfoDetailManage/PriceAdjustments/index.vue +64 -64
  596. package/src/pages/userInfoDetailManage/TransferRecordQuery/index.vue +66 -66
  597. package/src/pages/userInfoDetailManage/UserChargeRecordQuery/index.vue +94 -94
  598. package/src/pages/userInfoDetailManage/UserException/index.vue +64 -64
  599. package/src/pages/userInfoDetailManage/UserHandRecordQuery/index.vue +87 -87
  600. package/src/pages/userInfoDetailManage/UserRecordQuery/index.vue +74 -74
  601. package/src/pages/userInfoDetailManage/WatchCollectionRecordQuery/index.vue +64 -64
  602. package/src/pages/userInfoDetailManage/index.vue +290 -290
  603. package/src/pages/userInfoDetailManage/uploadFilesHistory/index.vue +120 -120
  604. package/src/pages/userInfoDetailManage/userInfoDetailQueryTabs.vue +144 -144
  605. package/src/plugins/EventLogPlugin.js +33 -33
  606. package/src/plugins/FindParentsData.js +17 -17
  607. package/src/plugins/HiPrintPlugin.js +164 -164
  608. package/src/router/async/config.async.js +35 -35
  609. package/src/router/async/router.map.js +127 -126
  610. package/src/router/guards.js +260 -260
  611. package/src/router/i18n.js +57 -57
  612. package/src/router/index.js +27 -27
  613. package/src/router.js +17 -17
  614. package/src/services/DataModel.js +30 -30
  615. package/src/services/LodopFuncs.js +137 -137
  616. package/src/services/api/DictionaryDetailsViewApi.js +6 -6
  617. package/src/services/api/LogDetailsViewApi.js +10 -10
  618. package/src/services/api/QueryParamsDetailsViewApi.js +6 -6
  619. package/src/services/api/TicketDetailsViewApi.js +46 -46
  620. package/src/services/api/cas.js +79 -79
  621. package/src/services/api/common.js +346 -346
  622. package/src/services/api/entity.js +18 -18
  623. package/src/services/api/index.js +17 -17
  624. package/src/services/api/logininfor/index.js +6 -6
  625. package/src/services/api/manage.js +8 -8
  626. package/src/services/api/restTools.js +215 -215
  627. package/src/services/api/workFlow.js +57 -57
  628. package/src/services/apiService.js +16 -16
  629. package/src/services/dataSource.js +12 -12
  630. package/src/services/index.js +7 -7
  631. package/src/services/user.js +92 -92
  632. package/src/services/v3Api.js +116 -116
  633. package/src/store/index.js +5 -5
  634. package/src/store/modules/account.js +115 -115
  635. package/src/store/modules/index.js +5 -5
  636. package/src/store/modules/lowCode.js +33 -33
  637. package/src/store/modules/setting.js +119 -119
  638. package/src/store/mutation-types.js +4 -4
  639. package/src/theme/antd/ant-menu.less +2 -2
  640. package/src/theme/antd/ant-message.less +3 -3
  641. package/src/theme/antd/ant-table.less +22 -22
  642. package/src/theme/antd/ant-time-picker.less +3 -3
  643. package/src/theme/antd/index.less +3 -3
  644. package/src/theme/default/color.less +43 -43
  645. package/src/theme/default/index.less +3 -3
  646. package/src/theme/default/nprogress.less +76 -76
  647. package/src/theme/default/style.less +58 -58
  648. package/src/theme/global.less +271 -271
  649. package/src/theme/index.less +5 -5
  650. package/src/theme/reportTable.less +58 -58
  651. package/src/theme/theme.less +1 -1
  652. package/src/utils/EncryptUtil.js +75 -75
  653. package/src/utils/Objects.js +25 -25
  654. package/src/utils/authority-utils.js +85 -85
  655. package/src/utils/axios-interceptors.js +100 -100
  656. package/src/utils/colors.js +107 -107
  657. package/src/utils/common.js +10 -10
  658. package/src/utils/errorCode.js +6 -6
  659. package/src/utils/excel/Blob.js +180 -180
  660. package/src/utils/excel/Export2Excel.js +141 -141
  661. package/src/utils/filter.js +21 -21
  662. package/src/utils/formatter.js +74 -74
  663. package/src/utils/htmlToPDF.js +108 -108
  664. package/src/utils/htmlToPDFApi.js +5 -5
  665. package/src/utils/i18n.js +80 -80
  666. package/src/utils/indexedDB.js +549 -549
  667. package/src/utils/login.js +188 -188
  668. package/src/utils/lowcode/lowcodeComponentMixin.js +120 -120
  669. package/src/utils/lowcode/lowcodeLog.js +29 -29
  670. package/src/utils/lowcode/lowcodeUtils.js +373 -373
  671. package/src/utils/lowcode/registerComponentForEditor.js +1 -1
  672. package/src/utils/lowcode/registerComponentForRender.js +11 -11
  673. package/src/utils/map-utils.js +47 -47
  674. package/src/utils/microAppUtils.js +49 -49
  675. package/src/utils/reg.js +95 -95
  676. package/src/utils/request.js +383 -383
  677. package/src/utils/routerUtil.js +553 -553
  678. package/src/utils/runEvalFunction.js +14 -14
  679. package/src/utils/theme-color-replacer-extend.js +92 -92
  680. package/src/utils/themeUtil.js +100 -100
  681. package/src/utils/util.js +329 -329
  682. package/src/utils/waterMark.js +31 -31
  683. package/test/Tree.spec.js +168 -168
  684. package/test/myDialog.spec.js +47 -47
  685. package/test/request.test.js +17 -17
  686. package/test/util.test.js +53 -53
  687. package/test/v3Api.test.js +1984 -1984
  688. package/tests/unit/ReportTable.spec.js +16 -16
  689. package/vue.config.js +222 -222
  690. package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
  691. package/.claude/settings.local.json +0 -9
@@ -1,584 +1,584 @@
1
- <template>
2
- <!-- 当expandedGrid存在时渲染带有expandedRowRender的表格 -->
3
- <s-table
4
- v-if="tableContext.expandedGrid"
5
- ref="expandableTable"
6
- :id="tableContext.uniqueId"
7
- :alert="true"
8
- :columns="realTableColumns"
9
- :data="loadData()"
10
- :rowKey="tableContext.rowKey"
11
- :showSummary="tableContext.showSummary"
12
- :rowSelection="tableContext.rowSelection"
13
- :scroll="{ x: tableContext.scrollXWidth, y: tableContext.scrollYHeight }"
14
- :showPagination="tableContext.showPagination"
15
- :hidePagination="tableContext.simpleMode"
16
- :showSelected="!tableContext.simpleMode"
17
- :pageSize="tableContext.simpleMode ? 1000 : undefined"
18
- :pageMaxSize="tableContext.pageMaxSize"
19
- :setScrollYHeight="tableContext.setScrollYHeight"
20
- :selectRowMode="tableContext.selectRowMode"
21
- :size="tableContext.tableSize"
22
- :components="components"
23
- :rowStyleFunction="tableContext.rowStyleFunction"
24
- @beforeDataChange="beforeDataChange"
25
- @expand="onExpand"
26
- @rowClick="handleRowClick"
27
- >
28
- <template
29
- v-for="(item, c_index) in realTableColumns"
30
- :slot="item.dataIndex"
31
- slot-scope="text, record, index">
32
- <template v-if="tableContext.isEditMode && getFromItem(item.dataIndex,text, record, index)">
33
- <x-form-item
34
- class="innerTable"
35
- :style="{ paddingTop: 0, paddingBottom: 0, paddingLeft: 0, paddingRight: 0 }"
36
- :form="record"
37
- :attr="getFromItem(item.dataIndex,text, record, index)"
38
- :service-name="tableContext.serviceName"
39
- mode="新增/修改"
40
- :env="tableContext.env"
41
- :setForm="(obj)=>tableContext.setForm(record,obj)"
42
- @rowChoose="(row, attr, callback) => tableContext.rowChoose(row, attr, callback, record)"
43
- :showLabel="false"
44
- :key="'editRow-' + c_index"
45
- />
46
- </template>
47
- <span v-else-if="item.slotType === 'rate'" :key="'rate-' + c_index">
48
- <x-rate
49
- :value="text"
50
- :disabled="true"
51
- :allow-half="item.allowHalf"
52
- :icon="item.rateIcon"
53
- :max-count="item.maxCount"
54
- style="zoom:0.9"/>
55
- </span>
56
- <span v-else-if="item.slotType === 'index'" :key="'index-' + c_index">
57
- {{ index + 1 }}
58
- </span>
59
- <CustomFuncCel
60
- :text="text"
61
- :record="text"
62
- :index="index"
63
- :item="item"
64
- :localDataSource="activeTable?.localDataSource"
65
- v-else-if="item.slotCustomFunction"
66
- :key="'customJs-' + c_index"></CustomFuncCel>
67
- <span v-else-if="item.slotType === 'link'" :key="'link-' + c_index">
68
- <a @click="tableContext.columnClick(item.dataIndex,text,record)">{{ text }}</a>
69
- </span>
70
- <span v-else-if="item.slotType === 'gotoUserDetail'" :key="'gotoUserDetail-' + c_index">
71
- <a @click="tableContext.gotoUserDetail(item.dataIndex,text,record)">{{ text }}</a>
72
- </span>
73
- <span v-else-if="item.slotType === 'ellipsis'" :key="'ellipsis-' + c_index">
74
- <ellipsis :length="item.slotValue" tooltip>{{ text === '' ? '--' : text }}</ellipsis>
75
- </span>
76
- <span v-else-if="item.slotType === 'badge'" :key="'badge-' + c_index">
77
- <x-badge
78
- :service-name="tableContext.serviceName"
79
- :env="tableContext.env"
80
- v-if="text !== null && text !== undefined"
81
- :badge-key="item.slotKeyMap"
82
- :value="text"/>
83
- </span>
84
- <span v-else-if="item.slotType === 'date'" :key="'date-' + c_index">
85
- {{ format(text, 'yyyy-MM-dd') }}
86
- </span>
87
- <span v-else-if="item.slotType === 'dateTime'" :key="'dateTime-' + c_index">
88
- {{ format(text, 'yyyy-MM-dd hh:mm:ss') }}
89
- </span>
90
- <span v-else-if="item.slotType === 'towDecimal'" :key="'towDecimal-' + c_index">
91
- {{ numberFormat(text, 2) }}
92
- </span>
93
- <span v-else-if="item.slotType === 'fourDecimal'" :key="'fourDecimal-' + c_index">
94
- {{ numberFormat(text, 4) }}
95
- </span>
96
- <span v-else-if="item.slotType === 'int'" :key="'int-' + c_index">
97
- {{ numberFormat(text, 0) }}
98
- </span>
99
- <span v-else-if="item.slotType === 'action'" :key="'action-' + c_index">
100
- <template v-if="item.actionArr && item.actionArr.length > 0">
101
- <a-dropdown :getPopupContainer=" triggerNode => { return triggerNode.parentNode } ">
102
- <a class="ant-dropdown-link" @click="e => e.preventDefault()">
103
- {{ item.scopedSlots?.customRender || item.slotValue }} <a-icon type="down"/>
104
- </a>
105
- <a-menu slot="overlay" style="min-width: 60px">
106
- <a-menu-item
107
- v-for="(action_item, actionIndex) in item.actionArr"
108
- :key="actionIndex"
109
- v-show="!action_item.customFunction || tableContext.customFunctionShow(action_item.customFunction,record,c_index)">
110
- <a
111
- style="text-align: center"
112
- @click="tableContext.action(record, item.dataIndex, action_item.func)"
113
- >{{ action_item.text }}</a>
114
- </a-menu-item>
115
- </a-menu>
116
- </a-dropdown>
117
- </template>
118
- <template v-if="!item.actionArr || item.actionArr.length === 0">
119
- <a @click="tableContext.action(record, item.dataIndex,'action', index)">{{ item.slotValue }}</a>
120
- </template>
121
- </span>
122
- </template>
123
- <template slot="expandedRowRender" slot-scope="record">
124
- <slot
125
- name="expandedRowRender"
126
- :selectedRowKeys="tableContext.selectedRowKeys"
127
- :selectedRows="tableContext.selectedRows"
128
- :record="record"
129
- ></slot>
130
- </template>
131
- <template slot="footer">
132
- <slot
133
- name="footer"
134
- :selectedRowKeys="tableContext.selectedRowKeys"
135
- :selectedRows="tableContext.selectedRows"></slot>
136
- </template>
137
- </s-table>
138
-
139
- <!-- 当expandedGrid不存在时渲染不带expandedRowRender的表格 -->
140
- <s-table
141
- v-else
142
- ref="simpleTable"
143
- :id="tableContext.uniqueId"
144
- :alert="true"
145
- :columns="realTableColumns"
146
- :data="loadData()"
147
- :rowKey="tableContext.rowKey"
148
- :showSummary="tableContext.showSummary"
149
- :rowSelection="tableContext.rowSelection"
150
- :scroll="{ x: tableContext.scrollXWidth, y: tableContext.scrollYHeight }"
151
- :showPagination="tableContext.showPagination"
152
- :hidePagination="tableContext.simpleMode"
153
- :showSelected="!tableContext.simpleMode"
154
- :pageSize="tableContext.simpleMode ? 1000 : undefined"
155
- :pageMaxSize="tableContext.pageMaxSize"
156
- :setScrollYHeight="tableContext.setScrollYHeight"
157
- :selectRowMode="tableContext.selectRowMode"
158
- :size="tableContext.tableSize"
159
- :components="components"
160
- :rowStyleFunction="tableContext.rowStyleFunction"
161
- @rowClick="handleRowClick"
162
- @beforeDataChange="beforeDataChange"
163
- >
164
- <template
165
- v-for="(item, c_index) in realTableColumns"
166
- :slot="item.dataIndex"
167
- slot-scope="text, record, index">
168
- <template v-if="tableContext.isEditMode && getFromItem(item.dataIndex,text, record, index)">
169
- <x-form-item
170
- class="innerTable"
171
- :style="{ paddingTop: 0, paddingBottom: 0, paddingLeft: 0, paddingRight: 0 }"
172
- :form="record"
173
- :attr="getFromItem(item.dataIndex,text, record, index)"
174
- :service-name="tableContext.serviceName"
175
- mode="新增/修改"
176
- :env="tableContext.env"
177
- :setForm="(obj)=>tableContext.setForm(record,obj)"
178
- @rowChoose="(row, attr, callback) => tableContext.rowChoose(row, attr, callback, record)"
179
- :showLabel="false"
180
- :key="'editRow-' + c_index"
181
- />
182
- </template>
183
- <span v-else-if="item.slotType === 'rate'" :key="'rate-' + c_index">
184
- <x-rate
185
- :value="text"
186
- :disabled="true"
187
- :allow-half="item.allowHalf"
188
- :icon="item.rateIcon"
189
- :max-count="item.maxCount"
190
- style="zoom:0.9"/>
191
- </span>
192
- <span v-else-if="item.slotType === 'index'" :key="'index-' + c_index">
193
- {{ index + 1 }}
194
- </span>
195
- <CustomFuncCel
196
- :text="text"
197
- :record="text"
198
- :index="index"
199
- :item="item"
200
- :localDataSource="activeTable?.localDataSource"
201
- v-else-if="item.slotCustomFunction"
202
- :key="'customJs-' + c_index"></CustomFuncCel>
203
- <span v-else-if="item.slotType === 'link'" :key="'link-' + c_index">
204
- <a @click="tableContext.columnClick(item.dataIndex,text,record)">{{ text }}</a>
205
- </span>
206
- <span v-else-if="item.slotType === 'gotoUserDetail'" :key="'gotoUserDetail-' + c_index">
207
- <a @click="tableContext.gotoUserDetail(item.dataIndex,text,record)">{{ text }}</a>
208
- </span>
209
- <span v-else-if="item.slotType === 'ellipsis'" :key="'ellipsis-' + c_index">
210
- <ellipsis :length="item.slotValue" tooltip>{{ text === '' ? '--' : text }}</ellipsis>
211
- </span>
212
- <span v-else-if="item.slotType === 'badge'" :key="'badge-' + c_index">
213
- <x-badge
214
- :service-name="tableContext.serviceName"
215
- :env="tableContext.env"
216
- v-if="text !== null && text !== undefined"
217
- :badge-key="item.slotKeyMap"
218
- :value="text"/>
219
- </span>
220
- <span v-else-if="item.slotType === 'date'" :key="'date-' + c_index">
221
- {{ format(text, 'yyyy-MM-dd') }}
222
- </span>
223
- <span v-else-if="item.slotType === 'dateTime'" :key="'dateTime-' + c_index">
224
- {{ format(text, 'yyyy-MM-dd hh:mm:ss') }}
225
- </span>
226
- <span v-else-if="item.slotType === 'towDecimal'" :key="'towDecimal-' + c_index">
227
- {{ numberFormat(text, 2) }}
228
- </span>
229
- <span v-else-if="item.slotType === 'fourDecimal'" :key="'fourDecimal-' + c_index">
230
- {{ numberFormat(text, 4) }}
231
- </span>
232
- <span v-else-if="item.slotType === 'int'" :key="'int-' + c_index">
233
- {{ numberFormat(text, 0) }}
234
- </span>
235
- <span v-else-if="item.slotType === 'action'" :key="'action-' + c_index">
236
- <template v-if="item.actionArr && item.actionArr.length > 0">
237
- <a-dropdown :getPopupContainer=" triggerNode => { return triggerNode.parentNode } ">
238
- <a class="ant-dropdown-link" @click="e => e.preventDefault()">
239
- {{ item.scopedSlots?.customRender || item.slotValue }} <a-icon type="down"/>
240
- </a>
241
- <a-menu slot="overlay" style="min-width: 60px">
242
- <a-menu-item
243
- v-for="(action_item, actionIndex) in item.actionArr"
244
- :key="actionIndex"
245
- v-show="!action_item.customFunction || tableContext.customFunctionShow(action_item.customFunction,record,c_index)">
246
- <a
247
- style="text-align: center"
248
- @click="tableContext.action(record, item.dataIndex, action_item.func)"
249
- >{{ action_item.text }}</a>
250
- </a-menu-item>
251
- </a-menu>
252
- </a-dropdown>
253
- </template>
254
- <template v-if="!item.actionArr || item.actionArr.length === 0">
255
- <a @click="tableContext.action(record, item.dataIndex,'action', index)">{{ item.slotValue }}</a>
256
- </template>
257
- </span>
258
- </template>
259
- <template slot="footer">
260
- <slot
261
- name="footer"
262
- :selectedRowKeys="tableContext.selectedRowKeys"
263
- :selectedRows="tableContext.selectedRows"></slot>
264
- </template>
265
- </s-table>
266
- </template>
267
-
268
- <script>
269
- import { Ellipsis, STable } from '@vue2-client/components'
270
- import { formatDate } from '@vue2-client/utils/util'
271
- import XBadge from '@vue2-client/base-client/components/common/XBadge'
272
- import XFormItem from '@vue2-client/base-client/components/common/XForm/XFormItem'
273
- import CustomFuncCel from '@vue2-client/base-client/components/common/XTable/CustomFuncCel.vue'
274
- import { executeStrFunctionByContext } from '@vue2-client/utils/runEvalFunction'
275
- import XRate from '@vue2-client/base-client/components/common/XRate/index.vue'
276
- import VueDraggableResizable from 'vue-draggable-resizable'
277
-
278
- export default {
279
- name: 'XTableWrapper',
280
- components: {
281
- Ellipsis,
282
- STable,
283
- XBadge,
284
- XFormItem,
285
- XRate,
286
- CustomFuncCel,
287
- VueDraggableResizable
288
- },
289
- data () {
290
- return {
291
- isDragging: false, // 添加拖拽状态标记
292
- // eslint-disable-next-line vue/no-reserved-keys
293
- _rafId: null // 添加requestAnimationFrame ID标记
294
- }
295
- },
296
- computed: {
297
- localDataSource () {
298
- return this.activeTable?.localDataSource
299
- },
300
- // 获取当前活动的表格实例
301
- activeTable () {
302
- return this.tableContext.expandedGrid ? this.$refs.expandableTable : this.$refs.simpleTable
303
- },
304
- realTableColumns () {
305
- return this.tableContext.tableColumns.filter(item => item.slotType !== 'action' || !this.disableAction)
306
- },
307
- components () {
308
- return {
309
- header: {
310
- cell: (h, props, children) => {
311
- const { key, ...restProps } = props
312
- // 此处的this.realTableColumns 是定义的table的表头属性变量
313
- const col = this.realTableColumns.find((col) => {
314
- const k = col.dataIndex || col.key
315
- return k === key
316
- })
317
- if (!col || !col.width || col.slotType === 'action') {
318
- return h('th', { ...restProps }, [...children])
319
- }
320
-
321
- // 创建一个防止点击排序的容器
322
- const preventSortProps = {
323
- style: {
324
- position: 'absolute',
325
- right: 0,
326
- top: 0,
327
- width: '20px',
328
- height: '100%',
329
- zIndex: 10
330
- },
331
- on: {
332
- mousedown: (e) => {
333
- e.stopPropagation()
334
- e.preventDefault()
335
- this.isDragging = true
336
- }
337
- }
338
- }
339
-
340
- const dragProps = {
341
- key: col.dataIndex || col.key,
342
- class: 'table-draggable-handle',
343
- attrs: {
344
- w: 10,
345
- x: col.width,
346
- z: 1,
347
- axis: 'x',
348
- draggable: true,
349
- resizable: false,
350
- },
351
- on: {
352
- dragging: (x, y) => {
353
- // 使用requestAnimationFrame优化性能,减少卡顿
354
- if (!this._rafId) {
355
- this._rafId = requestAnimationFrame(() => {
356
- col.width = Math.max(x, 50) // 设置最小列宽为50px
357
- this.isDragging = true // 设置拖拽状态
358
- this._rafId = null
359
- })
360
- }
361
- },
362
- mousedown: (e) => {
363
- // 阻止事件冒泡,防止触发排序
364
- e.stopPropagation()
365
- e.preventDefault()
366
- this.isDragging = true // 设置拖拽状态
367
- },
368
- dragstop: () => {
369
- // 清除可能存在的动画帧请求
370
- if (this._rafId) {
371
- cancelAnimationFrame(this._rafId)
372
- this._rafId = null
373
- }
374
-
375
- // 拖拽结束时,延迟重置拖拽状态,以防止排序被触发
376
- setTimeout(() => {
377
- this.isDragging = false
378
- }, 100)
379
- }
380
- },
381
- nativeOn: {
382
- mousedown: (e) => {
383
- e.stopPropagation()
384
- e.preventDefault()
385
- this.isDragging = true // 设置拖拽状态
386
- }
387
- }
388
- }
389
-
390
- const preventSort = h('div', preventSortProps)
391
- const drag = h('vue-draggable-resizable', { ...dragProps })
392
-
393
- // 修改th的点击事件,在拖拽状态下阻止排序
394
- const newRestProps = { ...restProps }
395
- const originalClick = newRestProps.on && newRestProps.on.click
396
- if (originalClick) {
397
- newRestProps.on = {
398
- ...newRestProps.on,
399
- click: (e) => {
400
- if (this.isDragging) {
401
- e.stopPropagation()
402
- e.preventDefault()
403
- return
404
- }
405
- originalClick(e)
406
- }
407
- }
408
- }
409
-
410
- return h('th', { ...newRestProps, class: 'resize-table-th' }, [...children, preventSort, drag])
411
- },
412
- }
413
- }
414
- }
415
- },
416
- props: {
417
- loadSelectedData: {
418
- type: Boolean,
419
- required: false,
420
- default: false
421
- },
422
- disableAction: {
423
- type: Boolean,
424
- default: false
425
- }
426
- },
427
- inject: ['tableContext'],
428
- methods: {
429
- handleRowClick (record) {
430
- this.$emit('rowClick', record)
431
- },
432
- beforeDataChange (record) {
433
- this.$emit('beforeDataChange', record)
434
- },
435
- onExpand (expanded, record) {
436
- this.$emit('expand', expanded, record)
437
- },
438
- setLocalDataSource (data) {
439
- this.activeTable?.setLocalDataSource(data)
440
- },
441
- loadData () {
442
- if (this.loadSelectedData) {
443
- return this.loadSelectedDataGen
444
- } else {
445
- return this.tableContext.loadData
446
- }
447
- },
448
- loadSelectedDataGen (requestParameters) {
449
- console.log('loadSelectedDataGen', {
450
- pageNo: requestParameters?.pageNo,
451
- pageSize: requestParameters?.pageSize
452
- })
453
-
454
- const { pageNo = 1, pageSize = 10 } = requestParameters || {}
455
- const startIndex = (pageNo - 1) * pageSize
456
- const endIndex = startIndex + pageSize
457
- const paginatedData = this.tableContext.selectedRows.slice(startIndex, endIndex)
458
-
459
- return new Promise((resolve) => {
460
- resolve({
461
- data: paginatedData,
462
- pageNo,
463
- pageSize,
464
- totalPage: Math.ceil(this.tableContext.selectedRows.length / pageSize),
465
- totalCount: this.tableContext.selectedRows.length
466
- })
467
- })
468
- },
469
- updateSelect (selectedRowKeys, selectedRows) {
470
- this.activeTable?.updateSelect(selectedRowKeys, selectedRows)
471
- },
472
- clearSelected () {
473
- this.activeTable?.clearSelected()
474
- },
475
- refresh (bool) {
476
- this.activeTable?.refresh(bool)
477
- },
478
-
479
- /**
480
- * 格式化日期
481
- * @param date 日期字符串
482
- * @param format 格式化方式
483
- */
484
- format (date, format) {
485
- return formatDate(date, format)
486
- },
487
- /**
488
- * 格式化数字
489
- * @param number string 或者 number
490
- * @param decimalPlaces 小数位数
491
- */
492
- numberFormat (number, decimalPlaces = 2) {
493
- const value = parseFloat(number)
494
- if (!isNaN(value)) {
495
- return value.toFixed(decimalPlaces)
496
- } else {
497
- return ''
498
- }
499
- },
500
- getFromItem (model, text, record, index) {
501
- const aa = this.tableContext.formItems.reduce((acc, item) => {
502
- if (item.type === 'group') {
503
- const foundItem = item.groupItems.find(_item => _item.model === model && _item.editRow)
504
- if (foundItem) {
505
- acc = foundItem
506
- }
507
- } else if (item.model === model && item.editRow) {
508
- acc = item
509
- }
510
- return acc
511
- }, null)
512
- if (aa) {
513
- const tempConfig = JSON.parse(JSON.stringify(aa))
514
- // 如果找到了字段
515
- const ColumnIndex = this.realTableColumns.findIndex(item => item.dataIndex === model)
516
- // 并且表单项是日期框
517
- if (ColumnIndex !== -1 && ['yearPicker', 'monthPicker', 'datePicker', 'rangePicker'].includes(tempConfig.type)) {
518
- // 修改他的列宽
519
- this.realTableColumns[ColumnIndex].width = 220
520
- }
521
- // 如果有检验规则检验是数字
522
- if (ColumnIndex !== -1 && ['number', 'integer', 'float'].includes(tempConfig?.rule?.type)) {
523
- // 修改他的列宽
524
- tempConfig.numberInput = true
525
- }
526
- if (tempConfig.editRowShowFunc) {
527
- if (executeStrFunctionByContext(this.tableContext, tempConfig.editRowShowFunc, [text, record, index, tempConfig])) {
528
- return tempConfig
529
- }
530
- } else {
531
- return tempConfig
532
- }
533
- }
534
- return false
535
- },
536
- handleResizeColumn (w, col) {
537
- col.width = w
538
- }
539
- }
540
- }
541
- </script>
542
-
543
- <style>
544
- .table-draggable-handle {
545
- height: 100% !important;
546
- left: auto !important;
547
- right: -10px;
548
- cursor: col-resize;
549
- touch-action: none;
550
- border: none;
551
- position: absolute;
552
- transform: none !important;
553
- bottom: 0;
554
- width: 20px !important;
555
- }
556
-
557
- .table-draggable-handle::after {
558
- content: "";
559
- position: absolute;
560
- top: 50%;
561
- height: 20px;
562
- width: 1px;
563
- background-color: #ebebeb;
564
- transition: background-color 0.2s;
565
- transform: translateY(-50%);
566
- right: 9px;
567
- }
568
-
569
- .table-draggable-handle:hover::after {
570
- background-color: #1890ff;
571
- }
572
-
573
- .table-draggable-handle:active::after {
574
- background-color: #096dd9;
575
- }
576
-
577
- .resize-table-th {
578
- position: relative;
579
- }
580
-
581
- .resize-table-th:hover .table-draggable-handle::after {
582
- background-color: rgba(24, 144, 255, 0.5);
583
- }
584
- </style>
1
+ <template>
2
+ <!-- 当expandedGrid存在时渲染带有expandedRowRender的表格 -->
3
+ <s-table
4
+ v-if="tableContext.expandedGrid"
5
+ ref="expandableTable"
6
+ :id="tableContext.uniqueId"
7
+ :alert="true"
8
+ :columns="realTableColumns"
9
+ :data="loadData()"
10
+ :rowKey="tableContext.rowKey"
11
+ :showSummary="tableContext.showSummary"
12
+ :rowSelection="tableContext.rowSelection"
13
+ :scroll="{ x: tableContext.scrollXWidth, y: tableContext.scrollYHeight }"
14
+ :showPagination="tableContext.showPagination"
15
+ :hidePagination="tableContext.simpleMode"
16
+ :showSelected="!tableContext.simpleMode"
17
+ :pageSize="tableContext.simpleMode ? 1000 : undefined"
18
+ :pageMaxSize="tableContext.pageMaxSize"
19
+ :setScrollYHeight="tableContext.setScrollYHeight"
20
+ :selectRowMode="tableContext.selectRowMode"
21
+ :size="tableContext.tableSize"
22
+ :components="components"
23
+ :rowStyleFunction="tableContext.rowStyleFunction"
24
+ @beforeDataChange="beforeDataChange"
25
+ @expand="onExpand"
26
+ @rowClick="handleRowClick"
27
+ >
28
+ <template
29
+ v-for="(item, c_index) in realTableColumns"
30
+ :slot="item.dataIndex"
31
+ slot-scope="text, record, index">
32
+ <template v-if="tableContext.isEditMode && getFromItem(item.dataIndex,text, record, index)">
33
+ <x-form-item
34
+ class="innerTable"
35
+ :style="{ paddingTop: 0, paddingBottom: 0, paddingLeft: 0, paddingRight: 0 }"
36
+ :form="record"
37
+ :attr="getFromItem(item.dataIndex,text, record, index)"
38
+ :service-name="tableContext.serviceName"
39
+ mode="新增/修改"
40
+ :env="tableContext.env"
41
+ :setForm="(obj)=>tableContext.setForm(record,obj)"
42
+ @rowChoose="(row, attr, callback) => tableContext.rowChoose(row, attr, callback, record)"
43
+ :showLabel="false"
44
+ :key="'editRow-' + c_index"
45
+ />
46
+ </template>
47
+ <span v-else-if="item.slotType === 'rate'" :key="'rate-' + c_index">
48
+ <x-rate
49
+ :value="text"
50
+ :disabled="true"
51
+ :allow-half="item.allowHalf"
52
+ :icon="item.rateIcon"
53
+ :max-count="item.maxCount"
54
+ style="zoom:0.9"/>
55
+ </span>
56
+ <span v-else-if="item.slotType === 'index'" :key="'index-' + c_index">
57
+ {{ index + 1 }}
58
+ </span>
59
+ <CustomFuncCel
60
+ :text="text"
61
+ :record="text"
62
+ :index="index"
63
+ :item="item"
64
+ :localDataSource="activeTable?.localDataSource"
65
+ v-else-if="item.slotCustomFunction"
66
+ :key="'customJs-' + c_index"></CustomFuncCel>
67
+ <span v-else-if="item.slotType === 'link'" :key="'link-' + c_index">
68
+ <a @click="tableContext.columnClick(item.dataIndex,text,record)">{{ text }}</a>
69
+ </span>
70
+ <span v-else-if="item.slotType === 'gotoUserDetail'" :key="'gotoUserDetail-' + c_index">
71
+ <a @click="tableContext.gotoUserDetail(item.dataIndex,text,record)">{{ text }}</a>
72
+ </span>
73
+ <span v-else-if="item.slotType === 'ellipsis'" :key="'ellipsis-' + c_index">
74
+ <ellipsis :length="item.slotValue" tooltip>{{ text === '' ? '--' : text }}</ellipsis>
75
+ </span>
76
+ <span v-else-if="item.slotType === 'badge'" :key="'badge-' + c_index">
77
+ <x-badge
78
+ :service-name="tableContext.serviceName"
79
+ :env="tableContext.env"
80
+ v-if="text !== null && text !== undefined"
81
+ :badge-key="item.slotKeyMap"
82
+ :value="text"/>
83
+ </span>
84
+ <span v-else-if="item.slotType === 'date'" :key="'date-' + c_index">
85
+ {{ format(text, 'yyyy-MM-dd') }}
86
+ </span>
87
+ <span v-else-if="item.slotType === 'dateTime'" :key="'dateTime-' + c_index">
88
+ {{ format(text, 'yyyy-MM-dd hh:mm:ss') }}
89
+ </span>
90
+ <span v-else-if="item.slotType === 'towDecimal'" :key="'towDecimal-' + c_index">
91
+ {{ numberFormat(text, 2) }}
92
+ </span>
93
+ <span v-else-if="item.slotType === 'fourDecimal'" :key="'fourDecimal-' + c_index">
94
+ {{ numberFormat(text, 4) }}
95
+ </span>
96
+ <span v-else-if="item.slotType === 'int'" :key="'int-' + c_index">
97
+ {{ numberFormat(text, 0) }}
98
+ </span>
99
+ <span v-else-if="item.slotType === 'action'" :key="'action-' + c_index">
100
+ <template v-if="item.actionArr && item.actionArr.length > 0">
101
+ <a-dropdown :getPopupContainer=" triggerNode => { return triggerNode.parentNode } ">
102
+ <a class="ant-dropdown-link" @click="e => e.preventDefault()">
103
+ {{ item.scopedSlots?.customRender || item.slotValue }} <a-icon type="down"/>
104
+ </a>
105
+ <a-menu slot="overlay" style="min-width: 60px">
106
+ <a-menu-item
107
+ v-for="(action_item, actionIndex) in item.actionArr"
108
+ :key="actionIndex"
109
+ v-show="!action_item.customFunction || tableContext.customFunctionShow(action_item.customFunction,record,c_index)">
110
+ <a
111
+ style="text-align: center"
112
+ @click="tableContext.action(record, item.dataIndex, action_item.func)"
113
+ >{{ action_item.text }}</a>
114
+ </a-menu-item>
115
+ </a-menu>
116
+ </a-dropdown>
117
+ </template>
118
+ <template v-if="!item.actionArr || item.actionArr.length === 0">
119
+ <a @click="tableContext.action(record, item.dataIndex,'action', index)">{{ item.slotValue }}</a>
120
+ </template>
121
+ </span>
122
+ </template>
123
+ <template slot="expandedRowRender" slot-scope="record">
124
+ <slot
125
+ name="expandedRowRender"
126
+ :selectedRowKeys="tableContext.selectedRowKeys"
127
+ :selectedRows="tableContext.selectedRows"
128
+ :record="record"
129
+ ></slot>
130
+ </template>
131
+ <template slot="footer">
132
+ <slot
133
+ name="footer"
134
+ :selectedRowKeys="tableContext.selectedRowKeys"
135
+ :selectedRows="tableContext.selectedRows"></slot>
136
+ </template>
137
+ </s-table>
138
+
139
+ <!-- 当expandedGrid不存在时渲染不带expandedRowRender的表格 -->
140
+ <s-table
141
+ v-else
142
+ ref="simpleTable"
143
+ :id="tableContext.uniqueId"
144
+ :alert="true"
145
+ :columns="realTableColumns"
146
+ :data="loadData()"
147
+ :rowKey="tableContext.rowKey"
148
+ :showSummary="tableContext.showSummary"
149
+ :rowSelection="tableContext.rowSelection"
150
+ :scroll="{ x: tableContext.scrollXWidth, y: tableContext.scrollYHeight }"
151
+ :showPagination="tableContext.showPagination"
152
+ :hidePagination="tableContext.simpleMode"
153
+ :showSelected="!tableContext.simpleMode"
154
+ :pageSize="tableContext.simpleMode ? 1000 : undefined"
155
+ :pageMaxSize="tableContext.pageMaxSize"
156
+ :setScrollYHeight="tableContext.setScrollYHeight"
157
+ :selectRowMode="tableContext.selectRowMode"
158
+ :size="tableContext.tableSize"
159
+ :components="components"
160
+ :rowStyleFunction="tableContext.rowStyleFunction"
161
+ @rowClick="handleRowClick"
162
+ @beforeDataChange="beforeDataChange"
163
+ >
164
+ <template
165
+ v-for="(item, c_index) in realTableColumns"
166
+ :slot="item.dataIndex"
167
+ slot-scope="text, record, index">
168
+ <template v-if="tableContext.isEditMode && getFromItem(item.dataIndex,text, record, index)">
169
+ <x-form-item
170
+ class="innerTable"
171
+ :style="{ paddingTop: 0, paddingBottom: 0, paddingLeft: 0, paddingRight: 0 }"
172
+ :form="record"
173
+ :attr="getFromItem(item.dataIndex,text, record, index)"
174
+ :service-name="tableContext.serviceName"
175
+ mode="新增/修改"
176
+ :env="tableContext.env"
177
+ :setForm="(obj)=>tableContext.setForm(record,obj)"
178
+ @rowChoose="(row, attr, callback) => tableContext.rowChoose(row, attr, callback, record)"
179
+ :showLabel="false"
180
+ :key="'editRow-' + c_index"
181
+ />
182
+ </template>
183
+ <span v-else-if="item.slotType === 'rate'" :key="'rate-' + c_index">
184
+ <x-rate
185
+ :value="text"
186
+ :disabled="true"
187
+ :allow-half="item.allowHalf"
188
+ :icon="item.rateIcon"
189
+ :max-count="item.maxCount"
190
+ style="zoom:0.9"/>
191
+ </span>
192
+ <span v-else-if="item.slotType === 'index'" :key="'index-' + c_index">
193
+ {{ index + 1 }}
194
+ </span>
195
+ <CustomFuncCel
196
+ :text="text"
197
+ :record="text"
198
+ :index="index"
199
+ :item="item"
200
+ :localDataSource="activeTable?.localDataSource"
201
+ v-else-if="item.slotCustomFunction"
202
+ :key="'customJs-' + c_index"></CustomFuncCel>
203
+ <span v-else-if="item.slotType === 'link'" :key="'link-' + c_index">
204
+ <a @click="tableContext.columnClick(item.dataIndex,text,record)">{{ text }}</a>
205
+ </span>
206
+ <span v-else-if="item.slotType === 'gotoUserDetail'" :key="'gotoUserDetail-' + c_index">
207
+ <a @click="tableContext.gotoUserDetail(item.dataIndex,text,record)">{{ text }}</a>
208
+ </span>
209
+ <span v-else-if="item.slotType === 'ellipsis'" :key="'ellipsis-' + c_index">
210
+ <ellipsis :length="item.slotValue" tooltip>{{ text === '' ? '--' : text }}</ellipsis>
211
+ </span>
212
+ <span v-else-if="item.slotType === 'badge'" :key="'badge-' + c_index">
213
+ <x-badge
214
+ :service-name="tableContext.serviceName"
215
+ :env="tableContext.env"
216
+ v-if="text !== null && text !== undefined"
217
+ :badge-key="item.slotKeyMap"
218
+ :value="text"/>
219
+ </span>
220
+ <span v-else-if="item.slotType === 'date'" :key="'date-' + c_index">
221
+ {{ format(text, 'yyyy-MM-dd') }}
222
+ </span>
223
+ <span v-else-if="item.slotType === 'dateTime'" :key="'dateTime-' + c_index">
224
+ {{ format(text, 'yyyy-MM-dd hh:mm:ss') }}
225
+ </span>
226
+ <span v-else-if="item.slotType === 'towDecimal'" :key="'towDecimal-' + c_index">
227
+ {{ numberFormat(text, 2) }}
228
+ </span>
229
+ <span v-else-if="item.slotType === 'fourDecimal'" :key="'fourDecimal-' + c_index">
230
+ {{ numberFormat(text, 4) }}
231
+ </span>
232
+ <span v-else-if="item.slotType === 'int'" :key="'int-' + c_index">
233
+ {{ numberFormat(text, 0) }}
234
+ </span>
235
+ <span v-else-if="item.slotType === 'action'" :key="'action-' + c_index">
236
+ <template v-if="item.actionArr && item.actionArr.length > 0">
237
+ <a-dropdown :getPopupContainer=" triggerNode => { return triggerNode.parentNode } ">
238
+ <a class="ant-dropdown-link" @click="e => e.preventDefault()">
239
+ {{ item.scopedSlots?.customRender || item.slotValue }} <a-icon type="down"/>
240
+ </a>
241
+ <a-menu slot="overlay" style="min-width: 60px">
242
+ <a-menu-item
243
+ v-for="(action_item, actionIndex) in item.actionArr"
244
+ :key="actionIndex"
245
+ v-show="!action_item.customFunction || tableContext.customFunctionShow(action_item.customFunction,record,c_index)">
246
+ <a
247
+ style="text-align: center"
248
+ @click="tableContext.action(record, item.dataIndex, action_item.func)"
249
+ >{{ action_item.text }}</a>
250
+ </a-menu-item>
251
+ </a-menu>
252
+ </a-dropdown>
253
+ </template>
254
+ <template v-if="!item.actionArr || item.actionArr.length === 0">
255
+ <a @click="tableContext.action(record, item.dataIndex,'action', index)">{{ item.slotValue }}</a>
256
+ </template>
257
+ </span>
258
+ </template>
259
+ <template slot="footer">
260
+ <slot
261
+ name="footer"
262
+ :selectedRowKeys="tableContext.selectedRowKeys"
263
+ :selectedRows="tableContext.selectedRows"></slot>
264
+ </template>
265
+ </s-table>
266
+ </template>
267
+
268
+ <script>
269
+ import { Ellipsis, STable } from '@vue2-client/components'
270
+ import { formatDate } from '@vue2-client/utils/util'
271
+ import XBadge from '@vue2-client/base-client/components/common/XBadge'
272
+ import XFormItem from '@vue2-client/base-client/components/common/XForm/XFormItem'
273
+ import CustomFuncCel from '@vue2-client/base-client/components/common/XTable/CustomFuncCel.vue'
274
+ import { executeStrFunctionByContext } from '@vue2-client/utils/runEvalFunction'
275
+ import XRate from '@vue2-client/base-client/components/common/XRate/index.vue'
276
+ import VueDraggableResizable from 'vue-draggable-resizable'
277
+
278
+ export default {
279
+ name: 'XTableWrapper',
280
+ components: {
281
+ Ellipsis,
282
+ STable,
283
+ XBadge,
284
+ XFormItem,
285
+ XRate,
286
+ CustomFuncCel,
287
+ VueDraggableResizable
288
+ },
289
+ data () {
290
+ return {
291
+ isDragging: false, // 添加拖拽状态标记
292
+ // eslint-disable-next-line vue/no-reserved-keys
293
+ _rafId: null // 添加requestAnimationFrame ID标记
294
+ }
295
+ },
296
+ computed: {
297
+ localDataSource () {
298
+ return this.activeTable?.localDataSource
299
+ },
300
+ // 获取当前活动的表格实例
301
+ activeTable () {
302
+ return this.tableContext.expandedGrid ? this.$refs.expandableTable : this.$refs.simpleTable
303
+ },
304
+ realTableColumns () {
305
+ return this.tableContext.tableColumns.filter(item => item.slotType !== 'action' || !this.disableAction)
306
+ },
307
+ components () {
308
+ return {
309
+ header: {
310
+ cell: (h, props, children) => {
311
+ const { key, ...restProps } = props
312
+ // 此处的this.realTableColumns 是定义的table的表头属性变量
313
+ const col = this.realTableColumns.find((col) => {
314
+ const k = col.dataIndex || col.key
315
+ return k === key
316
+ })
317
+ if (!col || !col.width || col.slotType === 'action') {
318
+ return h('th', { ...restProps }, [...children])
319
+ }
320
+
321
+ // 创建一个防止点击排序的容器
322
+ const preventSortProps = {
323
+ style: {
324
+ position: 'absolute',
325
+ right: 0,
326
+ top: 0,
327
+ width: '20px',
328
+ height: '100%',
329
+ zIndex: 10
330
+ },
331
+ on: {
332
+ mousedown: (e) => {
333
+ e.stopPropagation()
334
+ e.preventDefault()
335
+ this.isDragging = true
336
+ }
337
+ }
338
+ }
339
+
340
+ const dragProps = {
341
+ key: col.dataIndex || col.key,
342
+ class: 'table-draggable-handle',
343
+ attrs: {
344
+ w: 10,
345
+ x: col.width,
346
+ z: 1,
347
+ axis: 'x',
348
+ draggable: true,
349
+ resizable: false,
350
+ },
351
+ on: {
352
+ dragging: (x, y) => {
353
+ // 使用requestAnimationFrame优化性能,减少卡顿
354
+ if (!this._rafId) {
355
+ this._rafId = requestAnimationFrame(() => {
356
+ col.width = Math.max(x, 50) // 设置最小列宽为50px
357
+ this.isDragging = true // 设置拖拽状态
358
+ this._rafId = null
359
+ })
360
+ }
361
+ },
362
+ mousedown: (e) => {
363
+ // 阻止事件冒泡,防止触发排序
364
+ e.stopPropagation()
365
+ e.preventDefault()
366
+ this.isDragging = true // 设置拖拽状态
367
+ },
368
+ dragstop: () => {
369
+ // 清除可能存在的动画帧请求
370
+ if (this._rafId) {
371
+ cancelAnimationFrame(this._rafId)
372
+ this._rafId = null
373
+ }
374
+
375
+ // 拖拽结束时,延迟重置拖拽状态,以防止排序被触发
376
+ setTimeout(() => {
377
+ this.isDragging = false
378
+ }, 100)
379
+ }
380
+ },
381
+ nativeOn: {
382
+ mousedown: (e) => {
383
+ e.stopPropagation()
384
+ e.preventDefault()
385
+ this.isDragging = true // 设置拖拽状态
386
+ }
387
+ }
388
+ }
389
+
390
+ const preventSort = h('div', preventSortProps)
391
+ const drag = h('vue-draggable-resizable', { ...dragProps })
392
+
393
+ // 修改th的点击事件,在拖拽状态下阻止排序
394
+ const newRestProps = { ...restProps }
395
+ const originalClick = newRestProps.on && newRestProps.on.click
396
+ if (originalClick) {
397
+ newRestProps.on = {
398
+ ...newRestProps.on,
399
+ click: (e) => {
400
+ if (this.isDragging) {
401
+ e.stopPropagation()
402
+ e.preventDefault()
403
+ return
404
+ }
405
+ originalClick(e)
406
+ }
407
+ }
408
+ }
409
+
410
+ return h('th', { ...newRestProps, class: 'resize-table-th' }, [...children, preventSort, drag])
411
+ },
412
+ }
413
+ }
414
+ }
415
+ },
416
+ props: {
417
+ loadSelectedData: {
418
+ type: Boolean,
419
+ required: false,
420
+ default: false
421
+ },
422
+ disableAction: {
423
+ type: Boolean,
424
+ default: false
425
+ }
426
+ },
427
+ inject: ['tableContext'],
428
+ methods: {
429
+ handleRowClick (record) {
430
+ this.$emit('rowClick', record)
431
+ },
432
+ beforeDataChange (record) {
433
+ this.$emit('beforeDataChange', record)
434
+ },
435
+ onExpand (expanded, record) {
436
+ this.$emit('expand', expanded, record)
437
+ },
438
+ setLocalDataSource (data) {
439
+ this.activeTable?.setLocalDataSource(data)
440
+ },
441
+ loadData () {
442
+ if (this.loadSelectedData) {
443
+ return this.loadSelectedDataGen
444
+ } else {
445
+ return this.tableContext.loadData
446
+ }
447
+ },
448
+ loadSelectedDataGen (requestParameters) {
449
+ console.log('loadSelectedDataGen', {
450
+ pageNo: requestParameters?.pageNo,
451
+ pageSize: requestParameters?.pageSize
452
+ })
453
+
454
+ const { pageNo = 1, pageSize = 10 } = requestParameters || {}
455
+ const startIndex = (pageNo - 1) * pageSize
456
+ const endIndex = startIndex + pageSize
457
+ const paginatedData = this.tableContext.selectedRows.slice(startIndex, endIndex)
458
+
459
+ return new Promise((resolve) => {
460
+ resolve({
461
+ data: paginatedData,
462
+ pageNo,
463
+ pageSize,
464
+ totalPage: Math.ceil(this.tableContext.selectedRows.length / pageSize),
465
+ totalCount: this.tableContext.selectedRows.length
466
+ })
467
+ })
468
+ },
469
+ updateSelect (selectedRowKeys, selectedRows) {
470
+ this.activeTable?.updateSelect(selectedRowKeys, selectedRows)
471
+ },
472
+ clearSelected () {
473
+ this.activeTable?.clearSelected()
474
+ },
475
+ refresh (bool) {
476
+ this.activeTable?.refresh(bool)
477
+ },
478
+
479
+ /**
480
+ * 格式化日期
481
+ * @param date 日期字符串
482
+ * @param format 格式化方式
483
+ */
484
+ format (date, format) {
485
+ return formatDate(date, format)
486
+ },
487
+ /**
488
+ * 格式化数字
489
+ * @param number string 或者 number
490
+ * @param decimalPlaces 小数位数
491
+ */
492
+ numberFormat (number, decimalPlaces = 2) {
493
+ const value = parseFloat(number)
494
+ if (!isNaN(value)) {
495
+ return value.toFixed(decimalPlaces)
496
+ } else {
497
+ return ''
498
+ }
499
+ },
500
+ getFromItem (model, text, record, index) {
501
+ const aa = this.tableContext.formItems.reduce((acc, item) => {
502
+ if (item.type === 'group') {
503
+ const foundItem = item.groupItems.find(_item => _item.model === model && _item.editRow)
504
+ if (foundItem) {
505
+ acc = foundItem
506
+ }
507
+ } else if (item.model === model && item.editRow) {
508
+ acc = item
509
+ }
510
+ return acc
511
+ }, null)
512
+ if (aa) {
513
+ const tempConfig = JSON.parse(JSON.stringify(aa))
514
+ // 如果找到了字段
515
+ const ColumnIndex = this.realTableColumns.findIndex(item => item.dataIndex === model)
516
+ // 并且表单项是日期框
517
+ if (ColumnIndex !== -1 && ['yearPicker', 'monthPicker', 'datePicker', 'rangePicker'].includes(tempConfig.type)) {
518
+ // 修改他的列宽
519
+ this.realTableColumns[ColumnIndex].width = 220
520
+ }
521
+ // 如果有检验规则检验是数字
522
+ if (ColumnIndex !== -1 && ['number', 'integer', 'float'].includes(tempConfig?.rule?.type)) {
523
+ // 修改他的列宽
524
+ tempConfig.numberInput = true
525
+ }
526
+ if (tempConfig.editRowShowFunc) {
527
+ if (executeStrFunctionByContext(this.tableContext, tempConfig.editRowShowFunc, [text, record, index, tempConfig])) {
528
+ return tempConfig
529
+ }
530
+ } else {
531
+ return tempConfig
532
+ }
533
+ }
534
+ return false
535
+ },
536
+ handleResizeColumn (w, col) {
537
+ col.width = w
538
+ }
539
+ }
540
+ }
541
+ </script>
542
+
543
+ <style>
544
+ .table-draggable-handle {
545
+ height: 100% !important;
546
+ left: auto !important;
547
+ right: -10px;
548
+ cursor: col-resize;
549
+ touch-action: none;
550
+ border: none;
551
+ position: absolute;
552
+ transform: none !important;
553
+ bottom: 0;
554
+ width: 20px !important;
555
+ }
556
+
557
+ .table-draggable-handle::after {
558
+ content: "";
559
+ position: absolute;
560
+ top: 50%;
561
+ height: 20px;
562
+ width: 1px;
563
+ background-color: #ebebeb;
564
+ transition: background-color 0.2s;
565
+ transform: translateY(-50%);
566
+ right: 9px;
567
+ }
568
+
569
+ .table-draggable-handle:hover::after {
570
+ background-color: #1890ff;
571
+ }
572
+
573
+ .table-draggable-handle:active::after {
574
+ background-color: #096dd9;
575
+ }
576
+
577
+ .resize-table-th {
578
+ position: relative;
579
+ }
580
+
581
+ .resize-table-th:hover .table-draggable-handle::after {
582
+ background-color: rgba(24, 144, 255, 0.5);
583
+ }
584
+ </style>