vue2-client 1.12.38 → 1.12.40

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 (387) hide show
  1. package/.cursorrules +19 -19
  2. package/.env +19 -19
  3. package/.env.gaslink +19 -19
  4. package/.env.his +19 -19
  5. package/.env.iot +19 -19
  6. package/.env.liuli +19 -19
  7. package/.env.revenue +19 -19
  8. package/.env.scada +19 -19
  9. package/.eslintrc.js +90 -90
  10. package/CHANGELOG.md +824 -824
  11. package/Components.md +60 -60
  12. package/docs/Logic/345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +45 -45
  13. package/docs/LowCode/lowcode.md +155 -155
  14. package/docs/LowCode/lowcodeForDeveloper.md +230 -230
  15. package/docs/index.md +30 -30
  16. package/index.js +31 -31
  17. package/jest-transform-stub.js +8 -8
  18. package/jest.setup.js +7 -7
  19. package/jsconfig.json +19 -19
  20. package/package.json +1 -1
  21. package/public/his/editor/editor.html +51 -51
  22. package/public/his/editor/mock/bind_data.html +779 -779
  23. package/public/his/editor/mock/data_table.html +40 -40
  24. package/public/his/editor/mock/sign.html +75 -75
  25. package/public/his/editor/vender/JsBarcode.all.js +3669 -3669
  26. package/public/his/editor/vender/date97/My97DatePicker.htm +65 -65
  27. package/public/his/editor/vender/date97/WdatePicker.js +677 -677
  28. package/public/his/editor/vender/date97/calendar.js +4 -4
  29. package/public/his/editor/vender/date97/lang/en.js +13 -13
  30. package/public/his/editor/vender/date97/lang/zh-cn.js +13 -13
  31. package/public/his/editor/vender/date97/lang/zh-tw.js +13 -13
  32. package/public/his/editor/vender/date97/skin/WdatePicker.css +10 -10
  33. package/public/his/editor/vender/date97/skin/default/datepicker.css +328 -328
  34. package/public/his/editor/vender/date97/skin/ext/datepicker.css +308 -308
  35. package/public/his/editor/vender/date97/skin/whyGreen/datepicker.css +255 -255
  36. package/public/his/editor/vender/diff.js +1627 -1627
  37. package/public/his/editor/vender/editor.js +1 -1
  38. package/public/his/editor/vender/fabric.js +31187 -31187
  39. package/public/his/editor/vender/jquery/jquery.base64.js +190 -190
  40. package/public/his/editor/vender/jquery/jquery.js +10872 -10872
  41. package/public/his/editor/vender/jquery/jquery.print.js +255 -255
  42. package/public/his/editor/vender/jquery/zTreeStyle/zTreeStyle.css +96 -96
  43. package/public/his/editor/vender/mui/mui.min.css +4 -4
  44. package/public/his/editor/vender/mui/mui.min.js +5 -5
  45. package/public/his/editor/vender/mui/mui.picker.min.css +6 -6
  46. package/public/his/editor/vender/mui/mui.picker.min.js +6 -6
  47. package/public/his/editor/vender/qrcode.js +7 -7
  48. package/public/his/editor/vender/requirejs/require.js +2145 -2145
  49. package/public/his/editor/vender/signature/jSignature.CompressorSVG.js +518 -518
  50. package/public/his/editor/vender/signature/jSignature.UndoButton.js +164 -164
  51. package/public/his/editor/vender/signature/jSignature.js +1486 -1486
  52. package/public/his/editor/vender/validator.js +5094 -5094
  53. package/public/his/editor/vender/weui/weui.css +5659 -5659
  54. package/public/his/editor/vender/weui/weui.min.css +4 -4
  55. package/public/his/editor/vender/weui/weui.min.js +11 -11
  56. package/public/index.html +27 -27
  57. package/src/ReportView.js +19 -19
  58. package/src/assets/img/querySlotDemo.svg +15 -15
  59. package/src/assets/svg/badtwo.svg +1 -1
  60. package/src/assets/svg/goodtwo.svg +1 -1
  61. package/src/base-client/components/AI/AskAiBtn.vue +136 -136
  62. package/src/base-client/components/AI/demo.vue +31 -31
  63. package/src/base-client/components/common/AMisRender/index.js +3 -3
  64. package/src/base-client/components/common/AMisRender/index.vue +263 -263
  65. package/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox.vue +470 -470
  66. package/src/base-client/components/common/AddressSearchCombobox/IcMapIcon.vue +16 -16
  67. package/src/base-client/components/common/AddressSearchCombobox/demo.vue +36 -36
  68. package/src/base-client/components/common/AddressSearchCombobox/ic_map.svg +6 -6
  69. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  70. package/src/base-client/components/common/CitySelect/index.js +3 -3
  71. package/src/base-client/components/common/CitySelect/index.md +109 -109
  72. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
  73. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1014 -1014
  74. package/src/base-client/components/common/CreateQuery/index.js +3 -3
  75. package/src/base-client/components/common/CreateQuery/index.md +42 -42
  76. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +452 -452
  77. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +511 -511
  78. package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
  79. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
  80. package/src/base-client/components/common/FormGroupEdit/FormGroupEdit.vue +149 -149
  81. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  82. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  83. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
  84. package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
  85. package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
  86. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  87. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorModal.vue +108 -108
  88. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorPanel.vue +413 -413
  89. package/src/base-client/components/common/LowCodeComponent/LowCodePageOrganization.vue +502 -502
  90. package/src/base-client/components/common/LowCodeComponent/LowCodeRender.vue +728 -728
  91. package/src/base-client/components/common/LowCodeComponent/LowCodeRenderEnter.vue +29 -29
  92. package/src/base-client/components/common/LowCodeComponent/LowCodeUIStore.vue +219 -219
  93. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeAddPageModal.vue +117 -117
  94. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeCustomJSModal.vue +80 -80
  95. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeEventEditorModal.vue +398 -398
  96. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLifeCycleModal.vue +65 -65
  97. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicCallbackModal.vue +64 -64
  98. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicParamModal.vue +73 -73
  99. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeRunFunctionParamModal.vue +76 -76
  100. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
  101. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  102. package/src/base-client/components/common/Recording/Recording.vue +243 -243
  103. package/src/base-client/components/common/Recording/index.js +3 -3
  104. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  105. package/src/base-client/components/common/Tree/index.js +2 -2
  106. package/src/base-client/components/common/Upload/index.js +3 -3
  107. package/src/base-client/components/common/XAddForm/XAddForm.vue +113 -113
  108. package/src/base-client/components/common/XAddNativeForm/XAddNativeForm.vue +1146 -1146
  109. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  110. package/src/base-client/components/common/XAddNativeFormOA/XAddNativeFormOA.vue +303 -303
  111. package/src/base-client/components/common/XAddNativeFormOA/index.js +3 -3
  112. package/src/base-client/components/common/XAddNativeFormOA/index.md +146 -146
  113. package/src/base-client/components/common/XAddReport/index.js +3 -3
  114. package/src/base-client/components/common/XAddReport/index.md +56 -56
  115. package/src/base-client/components/common/XBadge/XBadge.vue +94 -94
  116. package/src/base-client/components/common/XButtons/XButtonDemo.vue +28 -28
  117. package/src/base-client/components/common/XButtons/XButtons.vue +71 -71
  118. package/src/base-client/components/common/XButtons/index.js +3 -3
  119. package/src/base-client/components/common/XButtons/index.md +61 -61
  120. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  121. package/src/base-client/components/common/XCheckList/XCheckList.vue +106 -106
  122. package/src/base-client/components/common/XCheckList/XCheckListDemo.vue +41 -41
  123. package/src/base-client/components/common/XCollapse/XCollapse.vue +154 -154
  124. package/src/base-client/components/common/XDataCard/XDataCard.vue +5 -5
  125. package/src/base-client/components/common/XDataCard/index.js +3 -3
  126. package/src/base-client/components/common/XDataCard/index.md +1 -1
  127. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  128. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  129. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  130. package/src/base-client/components/common/XDatePicker/demo.vue +153 -153
  131. package/src/base-client/components/common/XDatePicker/index.vue +269 -269
  132. package/src/base-client/components/common/XDescriptions/XDescriptions.vue +169 -169
  133. package/src/base-client/components/common/XDescriptions/index.js +3 -3
  134. package/src/base-client/components/common/XDescriptions/index.md +83 -83
  135. package/src/base-client/components/common/XDetailsView/XDetailsView.vue +238 -238
  136. package/src/base-client/components/common/XDetailsView/index.js +3 -3
  137. package/src/base-client/components/common/XForm/XFormItem.vue +13 -4
  138. package/src/base-client/components/common/XForm/XStatusButton.vue +54 -54
  139. package/src/base-client/components/common/XForm/XTreeSelect.vue +0 -1
  140. package/src/base-client/components/common/XForm/demo.vue +105 -0
  141. package/src/base-client/components/common/XForm/index.md +178 -178
  142. package/src/base-client/components/common/XForm/itemComponent/XClickChangeBtn/index.vue +49 -49
  143. package/src/base-client/components/common/XFormGroup/index.js +3 -3
  144. package/src/base-client/components/common/XFormGroup/index.md +38 -38
  145. package/src/base-client/components/common/XFormGroupDetails/XFormGroupDetails.vue +72 -72
  146. package/src/base-client/components/common/XFormGroupDetails/index.js +3 -3
  147. package/src/base-client/components/common/XFormTable/index.md +92 -92
  148. package/src/base-client/components/common/XImportExcel/XImportExcel.vue +167 -167
  149. package/src/base-client/components/common/XLabelSelect/XLabelSelect.vue +110 -110
  150. package/src/base-client/components/common/XLabelSelect/XLabelSelectDemo.vue +35 -35
  151. package/src/base-client/components/common/XLicensePlate/XLicensePlate.vue +193 -193
  152. package/src/base-client/components/common/XLicensePlate/XLicensePlateDemo.vue +48 -48
  153. package/src/base-client/components/common/XPrint/OpenInvoice.vue +21 -21
  154. package/src/base-client/components/common/XPrint/PrintBill.vue +302 -302
  155. package/src/base-client/components/common/XPrint/PrintHtml.js +98 -98
  156. package/src/base-client/components/common/XPrint/css/hiPrintCss.js +359 -359
  157. package/src/base-client/components/common/XPrint/css/lodopCss.js +26 -26
  158. package/src/base-client/components/common/XPrint/css/print-lock.css +351 -351
  159. package/src/base-client/components/common/XPrint/index.vue +97 -97
  160. package/src/base-client/components/common/XRate/demo.vue +102 -0
  161. package/src/base-client/components/common/XRate/index.vue +144 -0
  162. package/src/base-client/components/common/XReport/XReport.vue +892 -892
  163. package/src/base-client/components/common/XReport/XReportDesign.vue +463 -463
  164. package/src/base-client/components/common/XReport/XReportJsonRender.vue +381 -381
  165. package/src/base-client/components/common/XReport/index.js +3 -3
  166. package/src/base-client/components/common/XReport/index.md +44 -44
  167. package/src/base-client/components/common/XReport/print.js +186 -186
  168. package/src/base-client/components/common/XReportDrawer/index.js +3 -3
  169. package/src/base-client/components/common/XReportGrid/index.js +3 -3
  170. package/src/base-client/components/common/XReportGrid/index.md +44 -44
  171. package/src/base-client/components/common/XReportSlot/XReportSlot.vue +110 -110
  172. package/src/base-client/components/common/XReportSlot/index.js +3 -3
  173. package/src/base-client/components/common/XReportSlot/index.md +48 -48
  174. package/src/base-client/components/common/XSimpleDescriptions/XSimpleDescriptions.vue +166 -166
  175. package/src/base-client/components/common/XSimpleDescriptions/index.js +3 -3
  176. package/src/base-client/components/common/XSimpleDescriptions/index.md +7 -7
  177. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  178. package/src/base-client/components/common/XStepView/index.js +3 -3
  179. package/src/base-client/components/common/XStepView/index.md +31 -31
  180. package/src/base-client/components/common/XTab/XTabDemo.vue +22 -22
  181. package/src/base-client/components/common/XTab/index.js +3 -3
  182. package/src/base-client/components/common/XTable/CustomFuncCel.vue +51 -51
  183. package/src/base-client/components/common/XTable/TableCellRenderer.vue +161 -161
  184. package/src/base-client/components/common/XTable/XTableWrapper.vue +5 -1
  185. package/src/base-client/components/common/XTable/index.md +255 -255
  186. package/src/base-client/components/common/XTagGroup/index.vue +52 -52
  187. package/src/base-client/components/common/XTree/XTree.vue +424 -424
  188. package/src/base-client/components/common/XTree/index.js +3 -3
  189. package/src/base-client/components/common/XTree/index.md +36 -36
  190. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +113 -113
  191. package/src/base-client/components/common/XTreeOne/XTreeOnePro.vue +128 -128
  192. package/src/base-client/components/common/richTextModal/index.vue +56 -56
  193. package/src/base-client/components/common/richTextModal/richDemo.vue +48 -48
  194. package/src/base-client/components/his/XHisEditor/index.js +3 -3
  195. package/src/base-client/components/index.js +51 -51
  196. package/src/base-client/components/layout/XPageView/XErrorView.vue +11 -11
  197. package/src/base-client/components/layout/XPageView/XPageView.vue +155 -155
  198. package/src/base-client/components/layout/XPageView/index.js +3 -3
  199. package/src/base-client/components/layout/XPageView/index.md +38 -38
  200. package/src/base-client/components/layout/XTreeView/XTreeView.vue +130 -130
  201. package/src/base-client/components/layout/XTreeView/index.js +3 -3
  202. package/src/base-client/components/layout/XTreeView/index.md +46 -46
  203. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  204. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  205. package/src/base-client/plugins/AppData.js +121 -121
  206. package/src/base-client/plugins/Config.js +19 -19
  207. package/src/base-client/plugins/GetLoginInfoService.js +183 -183
  208. package/src/base-client/plugins/Recording.js +258 -258
  209. package/src/base-client/plugins/index.js +23 -23
  210. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  211. package/src/bootstrap.js +42 -42
  212. package/src/components/Charts/Bar.vue +62 -62
  213. package/src/components/Charts/ChartCard.vue +134 -134
  214. package/src/components/Charts/Liquid.vue +67 -67
  215. package/src/components/Charts/MiniArea.vue +39 -39
  216. package/src/components/Charts/MiniBar.vue +39 -39
  217. package/src/components/Charts/MiniProgress.vue +75 -75
  218. package/src/components/Charts/MiniSmoothArea.vue +40 -40
  219. package/src/components/Charts/Radar.vue +68 -68
  220. package/src/components/Charts/RankList.vue +77 -77
  221. package/src/components/Charts/TagCloud.vue +113 -113
  222. package/src/components/Charts/TransferBar.vue +64 -64
  223. package/src/components/Charts/Trend.vue +82 -82
  224. package/src/components/Charts/chart.less +12 -12
  225. package/src/components/Charts/smooth.area.less +13 -13
  226. package/src/components/CodeMirror/inedx.vue +118 -118
  227. package/src/components/CodeMirror/setting.js +40 -40
  228. package/src/components/FilePreview/FilePreview.vue +166 -166
  229. package/src/components/HeightScanner/index.vue +571 -571
  230. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  231. package/src/components/NumberInfo/index.js +3 -3
  232. package/src/components/NumberInfo/index.less +54 -54
  233. package/src/components/NumberInfo/index.md +43 -43
  234. package/src/components/card/ChartCard.vue +79 -79
  235. package/src/components/chart/Bar.vue +60 -60
  236. package/src/components/chart/MiniArea.vue +67 -67
  237. package/src/components/chart/MiniBar.vue +59 -59
  238. package/src/components/chart/MiniProgress.vue +57 -57
  239. package/src/components/chart/Radar.vue +80 -80
  240. package/src/components/chart/RankingList.vue +60 -60
  241. package/src/components/chart/Trend.vue +79 -79
  242. package/src/components/chart/index.less +9 -9
  243. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  244. package/src/components/checkbox/ImgCheckbox.vue +117 -117
  245. package/src/components/checkbox/ImgCheckboxGroup.vue +76 -76
  246. package/src/components/checkbox/index.js +9 -9
  247. package/src/components/exception/ExceptionPage.vue +70 -70
  248. package/src/components/g2Charts/constants.js +202 -202
  249. package/src/components/g2Charts/demo.vue +808 -808
  250. package/src/components/g2Charts/designer.vue +228 -228
  251. package/src/components/g2Charts/designerBaseConfig.vue +61 -61
  252. package/src/components/g2Charts/designerDataConfig.vue +259 -259
  253. package/src/components/g2Charts/designerStyleConfig.vue +16 -16
  254. package/src/components/g2Charts/index.vue +397 -397
  255. package/src/components/index.js +36 -36
  256. package/src/components/input/IInput.vue +66 -66
  257. package/src/components/menu/SideMenu.vue +75 -75
  258. package/src/components/menu/menu.js +273 -273
  259. package/src/components/setting/Setting.vue +234 -234
  260. package/src/components/tool/AStepItem.vue +60 -60
  261. package/src/config/CreateQueryConfig.js +325 -325
  262. package/src/config/default/antd.config.js +89 -89
  263. package/src/config/default/setting.config.js +55 -55
  264. package/src/font-style/font.css +4 -4
  265. package/src/layouts/CommonLayout.vue +56 -56
  266. package/src/layouts/PageLayout.vue +151 -151
  267. package/src/layouts/SinglePageView.vue +136 -136
  268. package/src/layouts/header/AdminHeader.vue +132 -132
  269. package/src/layouts/header/HeaderNotice.vue +177 -177
  270. package/src/layouts/header/InstitutionDetail.vue +181 -181
  271. package/src/layouts/tabs/TabsHead.vue +189 -189
  272. package/src/layouts/tabs/TabsView.vue +389 -389
  273. package/src/lib.js +1 -1
  274. package/src/main.js +34 -34
  275. package/src/mock/extend/index.js +84 -84
  276. package/src/mock/goods/index.js +108 -108
  277. package/src/pages/AMisDemo/AMisDemo.vue +325 -325
  278. package/src/pages/AMisDemo/AMisDemo2.vue +74 -74
  279. package/src/pages/DefaultExample/index.vue +77 -77
  280. package/src/pages/DynamicStatistics/ChartSelector.vue +331 -331
  281. package/src/pages/DynamicStatistics/DataTabs.vue +83 -83
  282. package/src/pages/DynamicStatistics/DynamicTable.vue +128 -128
  283. package/src/pages/DynamicStatistics/EvaluationArea.vue +69 -69
  284. package/src/pages/DynamicStatistics/FavoriteList.vue +50 -50
  285. package/src/pages/DynamicStatistics/QuestionHistoryAndFavorites.vue +591 -591
  286. package/src/pages/DynamicStatistics/SearchBar.vue +192 -192
  287. package/src/pages/DynamicStatistics/index.vue +282 -282
  288. package/src/pages/Example/childIndex.vue +15 -15
  289. package/src/pages/Example/index.vue +30 -30
  290. package/src/pages/NewDynamicStatistics/ChartSelector.vue +331 -331
  291. package/src/pages/NewDynamicStatistics/DataTabs.vue +122 -122
  292. package/src/pages/NewDynamicStatistics/DynamicTable.vue +128 -128
  293. package/src/pages/NewDynamicStatistics/EvaluationArea.vue +69 -69
  294. package/src/pages/NewDynamicStatistics/FavoriteList.vue +50 -50
  295. package/src/pages/NewDynamicStatistics/QuestionHistoryAndFavorites.vue +289 -289
  296. package/src/pages/NewDynamicStatistics/SearchBar.vue +193 -193
  297. package/src/pages/NewDynamicStatistics/index.vue +258 -258
  298. package/src/pages/Recording/index.vue +77 -77
  299. package/src/pages/ServiceReview/index.vue +284 -284
  300. package/src/pages/SubExample/index.vue +26 -26
  301. package/src/pages/WorkflowDetail/WorkflowDetail.vue +235 -235
  302. package/src/pages/WorkflowDetail/WorkflowPageDetail/LeaveMessage.vue +131 -131
  303. package/src/pages/WorkflowDetail/WorkflowPageDetail/TrimTextTail.vue +23 -23
  304. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformation.vue +302 -302
  305. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformationDetails.vue +276 -276
  306. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandleReso.vue +997 -997
  307. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowTimeline.vue +222 -222
  308. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkOrderParentDetails.vue +233 -233
  309. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowDetailResso.vue +261 -261
  310. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowListResolution.vue +248 -248
  311. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowLog.vue +73 -73
  312. package/src/pages/XPageViewExample/index.vue +38 -38
  313. package/src/pages/XReportView/index.vue +64 -64
  314. package/src/pages/XTreeOneProExample/index.vue +67 -67
  315. package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
  316. package/src/pages/login/Login.vue +378 -378
  317. package/src/pages/login/LoginV3.vue +389 -389
  318. package/src/pages/lowCode/lowCodeEditor.vue +1219 -1219
  319. package/src/pages/lowCode/lowCodeRenderPage.vue +43 -43
  320. package/src/pages/report/ReportTable.js +124 -124
  321. package/src/pages/resourceManage/orgListManage.vue +98 -98
  322. package/src/pages/system/dictionary/index.vue +44 -44
  323. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  324. package/src/pages/system/monitor/operLog/index.vue +37 -37
  325. package/src/pages/system/settings/modifyPassword.vue +117 -117
  326. package/src/pages/system/ticket/index.vue +480 -480
  327. package/src/pages/system/ticket/submitTicketSuccess.vue +484 -484
  328. package/src/pages/userInfoDetailManage/ChangeMeterRecordQuery/index.vue +64 -64
  329. package/src/pages/userInfoDetailManage/FillCardRecordQuery/index.vue +76 -76
  330. package/src/pages/userInfoDetailManage/FillGasRecordQuery/index.vue +74 -74
  331. package/src/pages/userInfoDetailManage/InfoChangeRecordQuery/index.vue +64 -64
  332. package/src/pages/userInfoDetailManage/InstructRecordQuery/index.vue +64 -64
  333. package/src/pages/userInfoDetailManage/MachineRecordQuery/index.vue +74 -74
  334. package/src/pages/userInfoDetailManage/MeterParamRecordQuery/index.vue +64 -64
  335. package/src/pages/userInfoDetailManage/OtherChargeRecordQuery/index.vue +74 -74
  336. package/src/pages/userInfoDetailManage/TransferRecordQuery/index.vue +66 -66
  337. package/src/pages/userInfoDetailManage/UserChargeRecordQuery/index.vue +92 -92
  338. package/src/pages/userInfoDetailManage/UserHandRecordQuery/index.vue +86 -86
  339. package/src/pages/userInfoDetailManage/UserRecordQuery/index.vue +73 -73
  340. package/src/pages/userInfoDetailManage/WatchCollectionRecordQuery/index.vue +64 -64
  341. package/src/pages/userInfoDetailManage/userInfoDetailQueryTabs.vue +132 -132
  342. package/src/plugins/EventLogPlugin.js +33 -33
  343. package/src/plugins/FindParentsData.js +17 -17
  344. package/src/router/async/config.async.js +35 -35
  345. package/src/router/async/router.map.js +117 -118
  346. package/src/router/index.js +27 -27
  347. package/src/router.js +19 -19
  348. package/src/services/DataModel.js +30 -30
  349. package/src/services/LodopFuncs.js +137 -137
  350. package/src/services/api/TicketDetailsViewApi.js +46 -46
  351. package/src/services/api/cas.js +79 -79
  352. package/src/services/api/common.js +346 -346
  353. package/src/services/api/entity.js +18 -18
  354. package/src/services/api/index.js +17 -17
  355. package/src/services/api/restTools.js +145 -145
  356. package/src/services/api/workFlow.js +63 -63
  357. package/src/services/apiService.js +16 -16
  358. package/src/store/modules/account.js +115 -115
  359. package/src/store/modules/index.js +5 -5
  360. package/src/store/modules/lowCode.js +33 -33
  361. package/src/store/modules/setting.js +119 -119
  362. package/src/theme/default/style.less +58 -58
  363. package/src/theme/global.less +159 -159
  364. package/src/utils/authority-utils.js +85 -85
  365. package/src/utils/errorCode.js +6 -6
  366. package/src/utils/formatter.js +74 -74
  367. package/src/utils/htmlToPDF.js +108 -108
  368. package/src/utils/htmlToPDFApi.js +5 -5
  369. package/src/utils/login.js +188 -188
  370. package/src/utils/lowcode/lowcodeComponentMixin.js +120 -120
  371. package/src/utils/lowcode/lowcodeLog.js +29 -29
  372. package/src/utils/lowcode/lowcodeUtils.js +373 -373
  373. package/src/utils/lowcode/registerComponentForEditor.js +1 -1
  374. package/src/utils/lowcode/registerComponentForRender.js +11 -11
  375. package/src/utils/map-utils.js +47 -47
  376. package/src/utils/reg.js +95 -95
  377. package/src/utils/runEvalFunction.js +14 -14
  378. package/src/utils/theme-color-replacer-extend.js +92 -92
  379. package/src/utils/util.js +329 -329
  380. package/src/utils/waterMark.js +31 -31
  381. package/test/Amis.spec.js +164 -164
  382. package/test/Tree.spec.js +168 -168
  383. package/test/myDialog.spec.js +47 -47
  384. package/test/util.test.js +53 -53
  385. package/test/v3Api.test.js +1984 -1984
  386. package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
  387. package/src/base-client/components/common/XCollapse/XCollapseDemo.vue +0 -15
package/src/utils/util.js CHANGED
@@ -1,329 +1,329 @@
1
- import enquireJs from 'enquire.js'
2
- import moment from 'moment/moment'
3
-
4
- const timeList = [
5
- {
6
- CN: '早上好',
7
- HK: '早晨啊',
8
- US: 'Good morning'
9
- }, {
10
- CN: '上午好',
11
- HK: '上午好',
12
- US: 'Good morning'
13
- }, {
14
- CN: '中午好',
15
- HK: '中午好',
16
- US: 'Good afternoon'
17
- }, {
18
- CN: '下午好',
19
- HK: '下午好',
20
- US: 'Good afternoon'
21
- }, {
22
- CN: '晚上好',
23
- HK: '晚上好',
24
- US: 'Good evening'
25
- }
26
- ]
27
- /**
28
- * 数组去空值
29
- */
30
- export function arrRemoveEmpty (arr) {
31
- for (let i = 0; i < arr.length; i++) {
32
- if (arr[i] === '' || typeof (arr[i]) == 'undefined') {
33
- arr.splice(i, 1)
34
- i--
35
- }
36
- }
37
- return arr
38
- }
39
-
40
- export function isDef (v) {
41
- return v !== undefined && v !== null
42
- }
43
-
44
- export function formatDate (dateStr, fmt) {
45
- if (dateStr == null) {
46
- return '--'
47
- }
48
- let date
49
- if (dateStr === 'now') {
50
- date = new Date()
51
- } else {
52
- date = new Date(dateStr)
53
- }
54
- const o = {
55
- 'M+': date.getMonth() + 1,
56
- 'd+': date.getDate(),
57
- 'h+': date.getHours(),
58
- 'm+': date.getMinutes(),
59
- 's+': date.getSeconds(),
60
- 'q+': Math.floor((date.getMonth() + 3) / 3),
61
- S: date.getMilliseconds()
62
- }
63
- if (!fmt) {
64
- fmt = 'yyyy-MM-dd hh:mm:ss'
65
- }
66
- if (/(y+)/.test(fmt)) {
67
- fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length))
68
- }
69
- for (const k in o) {
70
- if (new RegExp('(' + k + ')').test(fmt)) {
71
- fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)))
72
- }
73
- }
74
- return fmt
75
- }
76
-
77
- export function uuid () {
78
- return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
79
- const r = Math.random() * 16 | 0
80
- const v = c === 'x' ? r : (r & 0x3 | 0x8)
81
- return v.toString(16)
82
- })
83
- }
84
-
85
- export function timeCompare (date1, date2) {
86
- const date11 = new Date(date1)
87
- const date22 = new Date(date2)
88
- return date11.time > date22.time ? 1 : -1
89
- }
90
-
91
- export function timeFix () {
92
- const time = new Date()
93
- const hour = time.getHours()
94
- return hour < 9
95
- ? timeList[0]
96
- : (hour <= 11 ? timeList[1] : (hour <= 13 ? timeList[2] : (hour <= 20 ? timeList[3] : timeList[4])))
97
- }
98
-
99
- /**
100
- * Remove an item from an array.
101
- */
102
- export function remove (arr, item) {
103
- if (arr.length) {
104
- const index = arr.indexOf(item)
105
- if (index > -1) {
106
- return arr.splice(index, 1)
107
- }
108
- }
109
- }
110
-
111
- export function isRegExp (v) {
112
- return _toString.call(v) === '[object RegExp]'
113
- }
114
-
115
- export function enquireScreen (call) {
116
- const handler = {
117
- match: function () {
118
- call && call(true)
119
- },
120
- unmatch: function () {
121
- call && call(false)
122
- }
123
- }
124
- enquireJs.register('only screen and (max-width: 767.99px)', handler)
125
- }
126
-
127
- export function showXml (str) {
128
- let text = str
129
-
130
- // 去掉多余的空格
131
- text = '\n' + text.replace(/(<\w+)(\s.*?>)/g, function ($0, name, props) {
132
- return name + props.replace(/\s+(\w+=)/g, ' $1')
133
- }).replace(/>\s*?</g, '>\n<')
134
-
135
- // 把注释编码
136
- text = text.replace(/\n/g, '\r').replace(/<!--(.+?)-->/g, function ($0, text) {
137
- return '<!--' + escape(text) + '-->'
138
- }).replace(/\r/g, '\n')
139
-
140
- // 调整格式
141
- const rgx = /\n(<(([^?]).+?)(?:\s|\s*?>|\s*?(\/)>)(?:.*?(?:(\/)>|<(\/)\2>))?)/mg
142
- const nodeStack = []
143
- const output = text.replace(rgx, function ($0, all, name, isBegin, isCloseFull1, isCloseFull2, isFull1, isFull2) {
144
- const isClosed = (isCloseFull1 === '/') || (isCloseFull2 === '/') || (isFull1 === '/') || (isFull2 === '/')
145
- let prefix
146
- if (isBegin === '!') {
147
- prefix = getPrefix(nodeStack.length)
148
- } else {
149
- if (isBegin !== '/') {
150
- prefix = getPrefix(nodeStack.length)
151
- if (!isClosed) {
152
- nodeStack.push(name)
153
- }
154
- } else {
155
- nodeStack.pop()
156
- prefix = getPrefix(nodeStack.length)
157
- }
158
- }
159
- return '\n' + prefix + all
160
- })
161
- let outputText = output.substring(1)
162
-
163
- // 把注释还原并解码,调格式
164
- outputText = outputText.replace(/\n/g, '\r').replace(/(\s*)<!--(.+?)-->/g, function ($0, prefix, text) {
165
- if (prefix.charAt(0) === '\r') { prefix = prefix.substring(1) }
166
- text = unescape(text).replace(/\r/g, '\n')
167
- return '\n' + prefix + '<!--' + text.replace(/^\s*/mg, prefix) + '-->'
168
- })
169
- // alert(outputText);
170
-
171
- outputText = outputText.replace(/\s+$/g, '').replace(/\r/g, '\r\n')
172
-
173
- return outputText
174
- }
175
-
176
- function getPrefix (prefixIndex) {
177
- const span = ' '
178
- const output = []
179
- for (let i = 0; i < prefixIndex; ++i) {
180
- output.push(span)
181
- }
182
-
183
- return output.join('')
184
- }
185
-
186
- /**
187
- * 构造树型结构数据
188
- * [label,value,children]
189
- */
190
- export function handleTree (data, id, parentId, children) {
191
- const config = {
192
- id: id || 'id',
193
- parentId: parentId || 'parent_id',
194
- childrenList: children || 'children'
195
- }
196
- const childrenListMap = {}
197
- const nodeIds = {}
198
- const tree = []
199
- for (const d of data) {
200
- const parentId = d[config.parentId]
201
- if (childrenListMap[parentId] == null) {
202
- childrenListMap[parentId] = []
203
- }
204
- nodeIds[d[config.id]] = d
205
- childrenListMap[parentId].push(d)
206
- }
207
- for (const d of data) {
208
- const parentId = d[config.parentId]
209
- if (nodeIds[parentId] == null) {
210
- tree.push(d)
211
- }
212
- }
213
- for (const t of tree) {
214
- adaptToChildrenList(t)
215
- }
216
-
217
- function adaptToChildrenList (o) {
218
- o.label = o.name
219
- o.value = o.name
220
- if (childrenListMap[o[config.id]] !== null) {
221
- o[config.childrenList] = childrenListMap[o[config.id]]
222
- }
223
- if (o[config.childrenList]) {
224
- for (const c of o[config.childrenList]) {
225
- adaptToChildrenList(c)
226
- }
227
- }
228
- }
229
- return tree
230
- }
231
-
232
- /**
233
- * Function to get the changed data between two sets of rows *
234
- * @param beforeData 之前的数据
235
- * @param afterData 之后的数据
236
- * @returns {*[]} 差异得数据
237
- */
238
- export function getChangedData (beforeData, afterData) {
239
- const changeData = []
240
-
241
- beforeData.forEach((item, index) => {
242
- const afterItem = afterData[index]
243
- const changeItem = compareRows(item, afterItem)
244
-
245
- if (Object.keys(changeItem).length > 0) {
246
- changeData.push(afterItem)
247
- }
248
- })
249
-
250
- return changeData
251
- }
252
-
253
- /**
254
- * Function to compare two rows and return the changed fields
255
- * @param beforeRow 之前的数据
256
- * @param afterRow 之后的数据
257
- * @returns {*[]} 差异得数据
258
- */
259
- export function compareRows (beforeRow, afterRow) {
260
- const keys = Object.keys(beforeRow)
261
- const changeItem = {}
262
-
263
- keys.forEach(key => {
264
- if (beforeRow[key] !== afterRow[key]) {
265
- changeItem[key] = afterRow[key]
266
- }
267
- })
268
-
269
- return changeItem
270
- }
271
-
272
- export function getRealKeyData (data) {
273
- return Object.keys(data).reduce((obj, key) => {
274
- // 找到第一个下划线后面的部分
275
- const realKey = key.includes('_') && key !== 'selected_id' ? key.substring(key.indexOf('_') + 1) : key
276
- obj[realKey] = data[key] // 赋值
277
- return obj
278
- }, {})
279
- }
280
-
281
- export function setDataByRealKey (form, data) {
282
- // 创建一个映射 realKey -> formKey
283
- const realFormMap = {}
284
-
285
- // 遍历 form,建立真实键名和 form 键的映射
286
- Object.keys(form).forEach(key => {
287
- // 提取第一个下划线后面的部分
288
- const realKey = key.includes('_') && key !== 'selected_id' ? key.substring(key.indexOf('_') + 1) : key
289
- realFormMap[realKey] = key // 存储映射关系
290
- })
291
-
292
- // 遍历 data,更新 form 中的值
293
- Object.keys(data).forEach(key => {
294
- // 提取第一个下划线后面的部分
295
- const realKey = key.includes('_') && key !== 'selected_id' ? key.substring(key.indexOf('_') + 1) : key
296
- if (realFormMap[realKey]) {
297
- form[realFormMap[realKey]] = data[key] // 根据映射关系赋值
298
- } else {
299
- form[key] = data[key]
300
- }
301
- })
302
-
303
- return form
304
- }
305
-
306
- const _toString = Object.prototype.toString
307
-
308
- export function _moment (...args) {
309
- return moment(...args)
310
- }
311
-
312
- export function base64ToFile (base64Data, filename = 'image.png') {
313
- // 将 base64 转换为 blob
314
- const arr = base64Data.split(',')
315
- const mime = arr[0].match(/:(.*?);/)?.[1] || 'image/png'
316
- const bstr = atob(arr[1])
317
- let n = bstr.length
318
- const u8arr = new Uint8Array(n)
319
-
320
- while (n--) {
321
- u8arr[n] = bstr.charCodeAt(n)
322
- }
323
-
324
- // 创建 Blob 对象
325
- const blob = new Blob([u8arr], { type: mime })
326
-
327
- // 创建 File 对象
328
- return new File([blob], filename, { type: mime })
329
- };
1
+ import enquireJs from 'enquire.js'
2
+ import moment from 'moment/moment'
3
+
4
+ const timeList = [
5
+ {
6
+ CN: '早上好',
7
+ HK: '早晨啊',
8
+ US: 'Good morning'
9
+ }, {
10
+ CN: '上午好',
11
+ HK: '上午好',
12
+ US: 'Good morning'
13
+ }, {
14
+ CN: '中午好',
15
+ HK: '中午好',
16
+ US: 'Good afternoon'
17
+ }, {
18
+ CN: '下午好',
19
+ HK: '下午好',
20
+ US: 'Good afternoon'
21
+ }, {
22
+ CN: '晚上好',
23
+ HK: '晚上好',
24
+ US: 'Good evening'
25
+ }
26
+ ]
27
+ /**
28
+ * 数组去空值
29
+ */
30
+ export function arrRemoveEmpty (arr) {
31
+ for (let i = 0; i < arr.length; i++) {
32
+ if (arr[i] === '' || typeof (arr[i]) == 'undefined') {
33
+ arr.splice(i, 1)
34
+ i--
35
+ }
36
+ }
37
+ return arr
38
+ }
39
+
40
+ export function isDef (v) {
41
+ return v !== undefined && v !== null
42
+ }
43
+
44
+ export function formatDate (dateStr, fmt) {
45
+ if (dateStr == null) {
46
+ return '--'
47
+ }
48
+ let date
49
+ if (dateStr === 'now') {
50
+ date = new Date()
51
+ } else {
52
+ date = new Date(dateStr)
53
+ }
54
+ const o = {
55
+ 'M+': date.getMonth() + 1,
56
+ 'd+': date.getDate(),
57
+ 'h+': date.getHours(),
58
+ 'm+': date.getMinutes(),
59
+ 's+': date.getSeconds(),
60
+ 'q+': Math.floor((date.getMonth() + 3) / 3),
61
+ S: date.getMilliseconds()
62
+ }
63
+ if (!fmt) {
64
+ fmt = 'yyyy-MM-dd hh:mm:ss'
65
+ }
66
+ if (/(y+)/.test(fmt)) {
67
+ fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length))
68
+ }
69
+ for (const k in o) {
70
+ if (new RegExp('(' + k + ')').test(fmt)) {
71
+ fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length)))
72
+ }
73
+ }
74
+ return fmt
75
+ }
76
+
77
+ export function uuid () {
78
+ return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
79
+ const r = Math.random() * 16 | 0
80
+ const v = c === 'x' ? r : (r & 0x3 | 0x8)
81
+ return v.toString(16)
82
+ })
83
+ }
84
+
85
+ export function timeCompare (date1, date2) {
86
+ const date11 = new Date(date1)
87
+ const date22 = new Date(date2)
88
+ return date11.time > date22.time ? 1 : -1
89
+ }
90
+
91
+ export function timeFix () {
92
+ const time = new Date()
93
+ const hour = time.getHours()
94
+ return hour < 9
95
+ ? timeList[0]
96
+ : (hour <= 11 ? timeList[1] : (hour <= 13 ? timeList[2] : (hour <= 20 ? timeList[3] : timeList[4])))
97
+ }
98
+
99
+ /**
100
+ * Remove an item from an array.
101
+ */
102
+ export function remove (arr, item) {
103
+ if (arr.length) {
104
+ const index = arr.indexOf(item)
105
+ if (index > -1) {
106
+ return arr.splice(index, 1)
107
+ }
108
+ }
109
+ }
110
+
111
+ export function isRegExp (v) {
112
+ return _toString.call(v) === '[object RegExp]'
113
+ }
114
+
115
+ export function enquireScreen (call) {
116
+ const handler = {
117
+ match: function () {
118
+ call && call(true)
119
+ },
120
+ unmatch: function () {
121
+ call && call(false)
122
+ }
123
+ }
124
+ enquireJs.register('only screen and (max-width: 767.99px)', handler)
125
+ }
126
+
127
+ export function showXml (str) {
128
+ let text = str
129
+
130
+ // 去掉多余的空格
131
+ text = '\n' + text.replace(/(<\w+)(\s.*?>)/g, function ($0, name, props) {
132
+ return name + props.replace(/\s+(\w+=)/g, ' $1')
133
+ }).replace(/>\s*?</g, '>\n<')
134
+
135
+ // 把注释编码
136
+ text = text.replace(/\n/g, '\r').replace(/<!--(.+?)-->/g, function ($0, text) {
137
+ return '<!--' + escape(text) + '-->'
138
+ }).replace(/\r/g, '\n')
139
+
140
+ // 调整格式
141
+ const rgx = /\n(<(([^?]).+?)(?:\s|\s*?>|\s*?(\/)>)(?:.*?(?:(\/)>|<(\/)\2>))?)/mg
142
+ const nodeStack = []
143
+ const output = text.replace(rgx, function ($0, all, name, isBegin, isCloseFull1, isCloseFull2, isFull1, isFull2) {
144
+ const isClosed = (isCloseFull1 === '/') || (isCloseFull2 === '/') || (isFull1 === '/') || (isFull2 === '/')
145
+ let prefix
146
+ if (isBegin === '!') {
147
+ prefix = getPrefix(nodeStack.length)
148
+ } else {
149
+ if (isBegin !== '/') {
150
+ prefix = getPrefix(nodeStack.length)
151
+ if (!isClosed) {
152
+ nodeStack.push(name)
153
+ }
154
+ } else {
155
+ nodeStack.pop()
156
+ prefix = getPrefix(nodeStack.length)
157
+ }
158
+ }
159
+ return '\n' + prefix + all
160
+ })
161
+ let outputText = output.substring(1)
162
+
163
+ // 把注释还原并解码,调格式
164
+ outputText = outputText.replace(/\n/g, '\r').replace(/(\s*)<!--(.+?)-->/g, function ($0, prefix, text) {
165
+ if (prefix.charAt(0) === '\r') { prefix = prefix.substring(1) }
166
+ text = unescape(text).replace(/\r/g, '\n')
167
+ return '\n' + prefix + '<!--' + text.replace(/^\s*/mg, prefix) + '-->'
168
+ })
169
+ // alert(outputText);
170
+
171
+ outputText = outputText.replace(/\s+$/g, '').replace(/\r/g, '\r\n')
172
+
173
+ return outputText
174
+ }
175
+
176
+ function getPrefix (prefixIndex) {
177
+ const span = ' '
178
+ const output = []
179
+ for (let i = 0; i < prefixIndex; ++i) {
180
+ output.push(span)
181
+ }
182
+
183
+ return output.join('')
184
+ }
185
+
186
+ /**
187
+ * 构造树型结构数据
188
+ * [label,value,children]
189
+ */
190
+ export function handleTree (data, id, parentId, children) {
191
+ const config = {
192
+ id: id || 'id',
193
+ parentId: parentId || 'parent_id',
194
+ childrenList: children || 'children'
195
+ }
196
+ const childrenListMap = {}
197
+ const nodeIds = {}
198
+ const tree = []
199
+ for (const d of data) {
200
+ const parentId = d[config.parentId]
201
+ if (childrenListMap[parentId] == null) {
202
+ childrenListMap[parentId] = []
203
+ }
204
+ nodeIds[d[config.id]] = d
205
+ childrenListMap[parentId].push(d)
206
+ }
207
+ for (const d of data) {
208
+ const parentId = d[config.parentId]
209
+ if (nodeIds[parentId] == null) {
210
+ tree.push(d)
211
+ }
212
+ }
213
+ for (const t of tree) {
214
+ adaptToChildrenList(t)
215
+ }
216
+
217
+ function adaptToChildrenList (o) {
218
+ o.label = o.name
219
+ o.value = o.name
220
+ if (childrenListMap[o[config.id]] !== null) {
221
+ o[config.childrenList] = childrenListMap[o[config.id]]
222
+ }
223
+ if (o[config.childrenList]) {
224
+ for (const c of o[config.childrenList]) {
225
+ adaptToChildrenList(c)
226
+ }
227
+ }
228
+ }
229
+ return tree
230
+ }
231
+
232
+ /**
233
+ * Function to get the changed data between two sets of rows *
234
+ * @param beforeData 之前的数据
235
+ * @param afterData 之后的数据
236
+ * @returns {*[]} 差异得数据
237
+ */
238
+ export function getChangedData (beforeData, afterData) {
239
+ const changeData = []
240
+
241
+ beforeData.forEach((item, index) => {
242
+ const afterItem = afterData[index]
243
+ const changeItem = compareRows(item, afterItem)
244
+
245
+ if (Object.keys(changeItem).length > 0) {
246
+ changeData.push(afterItem)
247
+ }
248
+ })
249
+
250
+ return changeData
251
+ }
252
+
253
+ /**
254
+ * Function to compare two rows and return the changed fields
255
+ * @param beforeRow 之前的数据
256
+ * @param afterRow 之后的数据
257
+ * @returns {*[]} 差异得数据
258
+ */
259
+ export function compareRows (beforeRow, afterRow) {
260
+ const keys = Object.keys(beforeRow)
261
+ const changeItem = {}
262
+
263
+ keys.forEach(key => {
264
+ if (beforeRow[key] !== afterRow[key]) {
265
+ changeItem[key] = afterRow[key]
266
+ }
267
+ })
268
+
269
+ return changeItem
270
+ }
271
+
272
+ export function getRealKeyData (data) {
273
+ return Object.keys(data).reduce((obj, key) => {
274
+ // 找到第一个下划线后面的部分
275
+ const realKey = key.includes('_') && key !== 'selected_id' ? key.substring(key.indexOf('_') + 1) : key
276
+ obj[realKey] = data[key] // 赋值
277
+ return obj
278
+ }, {})
279
+ }
280
+
281
+ export function setDataByRealKey (form, data) {
282
+ // 创建一个映射 realKey -> formKey
283
+ const realFormMap = {}
284
+
285
+ // 遍历 form,建立真实键名和 form 键的映射
286
+ Object.keys(form).forEach(key => {
287
+ // 提取第一个下划线后面的部分
288
+ const realKey = key.includes('_') && key !== 'selected_id' ? key.substring(key.indexOf('_') + 1) : key
289
+ realFormMap[realKey] = key // 存储映射关系
290
+ })
291
+
292
+ // 遍历 data,更新 form 中的值
293
+ Object.keys(data).forEach(key => {
294
+ // 提取第一个下划线后面的部分
295
+ const realKey = key.includes('_') && key !== 'selected_id' ? key.substring(key.indexOf('_') + 1) : key
296
+ if (realFormMap[realKey]) {
297
+ form[realFormMap[realKey]] = data[key] // 根据映射关系赋值
298
+ } else {
299
+ form[key] = data[key]
300
+ }
301
+ })
302
+
303
+ return form
304
+ }
305
+
306
+ const _toString = Object.prototype.toString
307
+
308
+ export function _moment (...args) {
309
+ return moment(...args)
310
+ }
311
+
312
+ export function base64ToFile (base64Data, filename = 'image.png') {
313
+ // 将 base64 转换为 blob
314
+ const arr = base64Data.split(',')
315
+ const mime = arr[0].match(/:(.*?);/)?.[1] || 'image/png'
316
+ const bstr = atob(arr[1])
317
+ let n = bstr.length
318
+ const u8arr = new Uint8Array(n)
319
+
320
+ while (n--) {
321
+ u8arr[n] = bstr.charCodeAt(n)
322
+ }
323
+
324
+ // 创建 Blob 对象
325
+ const blob = new Blob([u8arr], { type: mime })
326
+
327
+ // 创建 File 对象
328
+ return new File([blob], filename, { type: mime })
329
+ };