vue2-client 1.15.33 → 1.15.34

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