vue2-client 1.12.58 → 1.12.60

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 (385) hide show
  1. package/.cursorrules +19 -19
  2. package/.env.gaslink +19 -19
  3. package/.env.his +19 -19
  4. package/.env.iot +19 -19
  5. package/.env.liuli +19 -19
  6. package/.env.revenue +19 -19
  7. package/.env.scada +19 -19
  8. package/.eslintrc.js +90 -90
  9. package/CHANGELOG.md +824 -824
  10. package/Components.md +60 -60
  11. package/docs/Logic/345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +45 -45
  12. package/docs/LowCode/lowcode.md +155 -155
  13. package/docs/LowCode/lowcodeForDeveloper.md +230 -230
  14. package/docs/index.md +30 -30
  15. package/index.js +31 -31
  16. package/jest-transform-stub.js +8 -8
  17. package/jest.setup.js +7 -7
  18. package/jsconfig.json +19 -19
  19. package/package.json +1 -1
  20. package/public/his/editor/editor.html +51 -51
  21. package/public/his/editor/mock/bind_data.html +779 -779
  22. package/public/his/editor/mock/data_table.html +40 -40
  23. package/public/his/editor/mock/sign.html +75 -75
  24. package/public/his/editor/vender/JsBarcode.all.js +3669 -3669
  25. package/public/his/editor/vender/date97/My97DatePicker.htm +65 -65
  26. package/public/his/editor/vender/date97/WdatePicker.js +677 -677
  27. package/public/his/editor/vender/date97/calendar.js +4 -4
  28. package/public/his/editor/vender/date97/lang/en.js +13 -13
  29. package/public/his/editor/vender/date97/lang/zh-cn.js +13 -13
  30. package/public/his/editor/vender/date97/lang/zh-tw.js +13 -13
  31. package/public/his/editor/vender/date97/skin/WdatePicker.css +10 -10
  32. package/public/his/editor/vender/date97/skin/default/datepicker.css +328 -328
  33. package/public/his/editor/vender/date97/skin/ext/datepicker.css +308 -308
  34. package/public/his/editor/vender/date97/skin/whyGreen/datepicker.css +255 -255
  35. package/public/his/editor/vender/diff.js +1627 -1627
  36. package/public/his/editor/vender/editor.js +1 -1
  37. package/public/his/editor/vender/fabric.js +31187 -31187
  38. package/public/his/editor/vender/jquery/jquery.base64.js +190 -190
  39. package/public/his/editor/vender/jquery/jquery.js +10872 -10872
  40. package/public/his/editor/vender/jquery/jquery.print.js +255 -255
  41. package/public/his/editor/vender/jquery/zTreeStyle/zTreeStyle.css +96 -96
  42. package/public/his/editor/vender/mui/mui.min.css +4 -4
  43. package/public/his/editor/vender/mui/mui.min.js +5 -5
  44. package/public/his/editor/vender/mui/mui.picker.min.css +6 -6
  45. package/public/his/editor/vender/mui/mui.picker.min.js +6 -6
  46. package/public/his/editor/vender/qrcode.js +7 -7
  47. package/public/his/editor/vender/requirejs/require.js +2145 -2145
  48. package/public/his/editor/vender/signature/jSignature.CompressorSVG.js +518 -518
  49. package/public/his/editor/vender/signature/jSignature.UndoButton.js +164 -164
  50. package/public/his/editor/vender/signature/jSignature.js +1486 -1486
  51. package/public/his/editor/vender/validator.js +5094 -5094
  52. package/public/his/editor/vender/weui/weui.css +5659 -5659
  53. package/public/his/editor/vender/weui/weui.min.css +4 -4
  54. package/public/his/editor/vender/weui/weui.min.js +11 -11
  55. package/public/index.html +27 -27
  56. package/src/ReportView.js +19 -19
  57. package/src/assets/img/querySlotDemo.svg +15 -15
  58. package/src/assets/svg/badtwo.svg +1 -1
  59. package/src/assets/svg/goodtwo.svg +1 -1
  60. package/src/base-client/components/AI/AskAiBtn.vue +136 -136
  61. package/src/base-client/components/AI/demo.vue +31 -31
  62. package/src/base-client/components/common/AMisRender/index.js +3 -3
  63. package/src/base-client/components/common/AMisRender/index.vue +263 -263
  64. package/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox.vue +470 -470
  65. package/src/base-client/components/common/AddressSearchCombobox/IcMapIcon.vue +16 -16
  66. package/src/base-client/components/common/AddressSearchCombobox/demo.vue +36 -36
  67. package/src/base-client/components/common/AddressSearchCombobox/ic_map.svg +6 -6
  68. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  69. package/src/base-client/components/common/CitySelect/index.js +3 -3
  70. package/src/base-client/components/common/CitySelect/index.md +109 -109
  71. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
  72. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1014 -1014
  73. package/src/base-client/components/common/CreateQuery/index.js +3 -3
  74. package/src/base-client/components/common/CreateQuery/index.md +42 -42
  75. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +452 -452
  76. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +511 -511
  77. package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
  78. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
  79. package/src/base-client/components/common/FormGroupEdit/FormGroupEdit.vue +149 -149
  80. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  81. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  82. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
  83. package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
  84. package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
  85. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  86. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorModal.vue +108 -108
  87. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorPanel.vue +413 -413
  88. package/src/base-client/components/common/LowCodeComponent/LowCodePageOrganization.vue +502 -502
  89. package/src/base-client/components/common/LowCodeComponent/LowCodeRender.vue +728 -728
  90. package/src/base-client/components/common/LowCodeComponent/LowCodeRenderEnter.vue +29 -29
  91. package/src/base-client/components/common/LowCodeComponent/LowCodeUIStore.vue +219 -219
  92. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeAddPageModal.vue +117 -117
  93. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeCustomJSModal.vue +80 -80
  94. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeEventEditorModal.vue +398 -398
  95. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLifeCycleModal.vue +65 -65
  96. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicCallbackModal.vue +64 -64
  97. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicParamModal.vue +73 -73
  98. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeRunFunctionParamModal.vue +76 -76
  99. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
  100. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  101. package/src/base-client/components/common/Recording/Recording.vue +243 -243
  102. package/src/base-client/components/common/Recording/index.js +3 -3
  103. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  104. package/src/base-client/components/common/Tree/index.js +2 -2
  105. package/src/base-client/components/common/Upload/index.js +3 -3
  106. package/src/base-client/components/common/XAddForm/XAddForm.vue +113 -113
  107. package/src/base-client/components/common/XAddNativeForm/XAddNativeForm.vue +1156 -1156
  108. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  109. package/src/base-client/components/common/XAddNativeFormOA/XAddNativeFormOA.vue +303 -303
  110. package/src/base-client/components/common/XAddNativeFormOA/index.js +3 -3
  111. package/src/base-client/components/common/XAddNativeFormOA/index.md +146 -146
  112. package/src/base-client/components/common/XAddReport/index.js +3 -3
  113. package/src/base-client/components/common/XAddReport/index.md +56 -56
  114. package/src/base-client/components/common/XBadge/XBadge.vue +94 -94
  115. package/src/base-client/components/common/XButtons/XButtonDemo.vue +28 -28
  116. package/src/base-client/components/common/XButtons/XButtons.vue +71 -71
  117. package/src/base-client/components/common/XButtons/index.js +3 -3
  118. package/src/base-client/components/common/XButtons/index.md +61 -61
  119. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  120. package/src/base-client/components/common/XCheckList/XCheckList.vue +106 -106
  121. package/src/base-client/components/common/XCheckList/XCheckListDemo.vue +41 -41
  122. package/src/base-client/components/common/XCollapse/XCollapse.vue +28 -7
  123. package/src/base-client/components/common/XDataCard/index.js +3 -3
  124. package/src/base-client/components/common/XDataCard/index.md +1 -1
  125. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  126. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  127. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  128. package/src/base-client/components/common/XDatePicker/demo.vue +153 -153
  129. package/src/base-client/components/common/XDatePicker/index.vue +269 -269
  130. package/src/base-client/components/common/XDescriptions/index.js +3 -3
  131. package/src/base-client/components/common/XDescriptions/index.md +83 -83
  132. package/src/base-client/components/common/XDetailsView/XDetailsView.vue +238 -238
  133. package/src/base-client/components/common/XDetailsView/index.js +3 -3
  134. package/src/base-client/components/common/XForm/XForm.vue +404 -404
  135. package/src/base-client/components/common/XForm/XFormItem.vue +1310 -1310
  136. package/src/base-client/components/common/XForm/XStatusButton.vue +54 -54
  137. package/src/base-client/components/common/XForm/XTreeSelect.vue +270 -270
  138. package/src/base-client/components/common/XForm/index.md +178 -178
  139. package/src/base-client/components/common/XForm/itemComponent/XClickChangeBtn/index.vue +49 -49
  140. package/src/base-client/components/common/XFormGroup/index.js +3 -3
  141. package/src/base-client/components/common/XFormGroup/index.md +38 -38
  142. package/src/base-client/components/common/XFormGroupDetails/XFormGroupDetails.vue +72 -72
  143. package/src/base-client/components/common/XFormGroupDetails/index.js +3 -3
  144. package/src/base-client/components/common/XFormTable/index.md +92 -92
  145. package/src/base-client/components/common/XImportExcel/XImportExcel.vue +167 -167
  146. package/src/base-client/components/common/XLabelSelect/XLabelSelect.vue +110 -110
  147. package/src/base-client/components/common/XLabelSelect/XLabelSelectDemo.vue +35 -35
  148. package/src/base-client/components/common/XLicensePlate/XLicensePlate.vue +193 -193
  149. package/src/base-client/components/common/XLicensePlate/XLicensePlateDemo.vue +48 -48
  150. package/src/base-client/components/common/XPrint/OpenInvoice.vue +21 -21
  151. package/src/base-client/components/common/XPrint/PrintBill.vue +302 -302
  152. package/src/base-client/components/common/XPrint/PrintHtml.js +98 -98
  153. package/src/base-client/components/common/XPrint/css/hiPrintCss.js +359 -359
  154. package/src/base-client/components/common/XPrint/css/lodopCss.js +26 -26
  155. package/src/base-client/components/common/XPrint/css/print-lock.css +351 -351
  156. package/src/base-client/components/common/XPrint/index.vue +97 -97
  157. package/src/base-client/components/common/XReport/XReport.vue +892 -892
  158. package/src/base-client/components/common/XReport/XReportDesign.vue +463 -463
  159. package/src/base-client/components/common/XReport/XReportJsonRender.vue +381 -381
  160. package/src/base-client/components/common/XReport/index.js +3 -3
  161. package/src/base-client/components/common/XReport/index.md +44 -44
  162. package/src/base-client/components/common/XReport/print.js +186 -186
  163. package/src/base-client/components/common/XReportDrawer/index.js +3 -3
  164. package/src/base-client/components/common/XReportGrid/XReportDesign.vue +219 -1
  165. package/src/base-client/components/common/XReportGrid/XReportTrGroup.vue +3 -2
  166. package/src/base-client/components/common/XReportGrid/index.js +3 -3
  167. package/src/base-client/components/common/XReportGrid/index.md +44 -44
  168. package/src/base-client/components/common/XReportSlot/XReportSlot.vue +110 -110
  169. package/src/base-client/components/common/XReportSlot/index.js +3 -3
  170. package/src/base-client/components/common/XReportSlot/index.md +48 -48
  171. package/src/base-client/components/common/XSimpleDescriptions/XSimpleDescriptions.vue +166 -166
  172. package/src/base-client/components/common/XSimpleDescriptions/index.js +3 -3
  173. package/src/base-client/components/common/XSimpleDescriptions/index.md +7 -7
  174. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  175. package/src/base-client/components/common/XStepView/index.js +3 -3
  176. package/src/base-client/components/common/XStepView/index.md +31 -31
  177. package/src/base-client/components/common/XTab/XTabDemo.vue +22 -22
  178. package/src/base-client/components/common/XTab/index.js +3 -3
  179. package/src/base-client/components/common/XTable/CustomFuncCel.vue +51 -51
  180. package/src/base-client/components/common/XTable/TableCellRenderer.vue +161 -161
  181. package/src/base-client/components/common/XTable/index.md +255 -255
  182. package/src/base-client/components/common/XTagGroup/index.vue +52 -52
  183. package/src/base-client/components/common/XTree/XTree.vue +424 -424
  184. package/src/base-client/components/common/XTree/index.js +3 -3
  185. package/src/base-client/components/common/XTree/index.md +36 -36
  186. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +113 -113
  187. package/src/base-client/components/common/XTreeOne/XTreeOnePro.vue +128 -128
  188. package/src/base-client/components/common/richTextModal/index.vue +56 -56
  189. package/src/base-client/components/common/richTextModal/richDemo.vue +48 -48
  190. package/src/base-client/components/his/XHisEditor/index.js +3 -3
  191. package/src/base-client/components/his/XList/XList.vue +80 -0
  192. package/src/base-client/components/his/XSidebar/XSidebar.vue +1 -2
  193. package/src/base-client/components/index.js +51 -51
  194. package/src/base-client/components/layout/XPageView/XErrorView.vue +11 -11
  195. package/src/base-client/components/layout/XPageView/XPageView.vue +155 -155
  196. package/src/base-client/components/layout/XPageView/index.js +3 -3
  197. package/src/base-client/components/layout/XPageView/index.md +38 -38
  198. package/src/base-client/components/layout/XTreeView/XTreeView.vue +130 -130
  199. package/src/base-client/components/layout/XTreeView/index.js +3 -3
  200. package/src/base-client/components/layout/XTreeView/index.md +46 -46
  201. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  202. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  203. package/src/base-client/plugins/AppData.js +1 -1
  204. package/src/base-client/plugins/Config.js +19 -19
  205. package/src/base-client/plugins/GetLoginInfoService.js +183 -183
  206. package/src/base-client/plugins/Recording.js +258 -258
  207. package/src/base-client/plugins/index.js +23 -23
  208. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  209. package/src/components/Charts/Bar.vue +62 -62
  210. package/src/components/Charts/ChartCard.vue +134 -134
  211. package/src/components/Charts/Liquid.vue +67 -67
  212. package/src/components/Charts/MiniArea.vue +39 -39
  213. package/src/components/Charts/MiniBar.vue +39 -39
  214. package/src/components/Charts/MiniProgress.vue +75 -75
  215. package/src/components/Charts/MiniSmoothArea.vue +40 -40
  216. package/src/components/Charts/Radar.vue +68 -68
  217. package/src/components/Charts/RankList.vue +77 -77
  218. package/src/components/Charts/TagCloud.vue +113 -113
  219. package/src/components/Charts/TransferBar.vue +64 -64
  220. package/src/components/Charts/Trend.vue +82 -82
  221. package/src/components/Charts/chart.less +12 -12
  222. package/src/components/Charts/smooth.area.less +13 -13
  223. package/src/components/CodeMirror/inedx.vue +118 -118
  224. package/src/components/CodeMirror/setting.js +40 -40
  225. package/src/components/FilePreview/FilePreview.vue +181 -186
  226. package/src/components/FilePreview/FilePreviewDemo.vue +30 -30
  227. package/src/components/HeightScanner/index.vue +571 -571
  228. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  229. package/src/components/NumberInfo/index.js +3 -3
  230. package/src/components/NumberInfo/index.less +54 -54
  231. package/src/components/NumberInfo/index.md +43 -43
  232. package/src/components/STable/index.js +434 -434
  233. package/src/components/card/ChartCard.vue +79 -79
  234. package/src/components/chart/Bar.vue +60 -60
  235. package/src/components/chart/MiniArea.vue +67 -67
  236. package/src/components/chart/MiniBar.vue +59 -59
  237. package/src/components/chart/MiniProgress.vue +57 -57
  238. package/src/components/chart/Radar.vue +80 -80
  239. package/src/components/chart/RankingList.vue +60 -60
  240. package/src/components/chart/Trend.vue +79 -79
  241. package/src/components/chart/index.less +9 -9
  242. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  243. package/src/components/checkbox/ImgCheckbox.vue +117 -117
  244. package/src/components/checkbox/ImgCheckboxGroup.vue +76 -76
  245. package/src/components/checkbox/index.js +9 -9
  246. package/src/components/exception/ExceptionPage.vue +70 -70
  247. package/src/components/g2Charts/constants.js +202 -202
  248. package/src/components/g2Charts/demo.vue +808 -808
  249. package/src/components/g2Charts/designer.vue +228 -228
  250. package/src/components/g2Charts/designerBaseConfig.vue +61 -61
  251. package/src/components/g2Charts/designerDataConfig.vue +259 -259
  252. package/src/components/g2Charts/designerStyleConfig.vue +16 -16
  253. package/src/components/g2Charts/index.vue +397 -397
  254. package/src/components/index.js +36 -36
  255. package/src/components/input/IInput.vue +66 -66
  256. package/src/components/menu/SideMenu.vue +75 -75
  257. package/src/components/menu/menu.js +273 -273
  258. package/src/components/setting/Setting.vue +234 -234
  259. package/src/components/tool/AStepItem.vue +60 -60
  260. package/src/config/CreateQueryConfig.js +325 -325
  261. package/src/config/default/antd.config.js +89 -89
  262. package/src/config/default/setting.config.js +55 -55
  263. package/src/font-style/font.css +4 -4
  264. package/src/layouts/CommonLayout.vue +56 -56
  265. package/src/layouts/PageLayout.vue +151 -151
  266. package/src/layouts/SinglePageView.vue +136 -136
  267. package/src/layouts/header/AdminHeader.vue +132 -132
  268. package/src/layouts/header/HeaderNotice.vue +177 -177
  269. package/src/layouts/header/InstitutionDetail.vue +181 -181
  270. package/src/layouts/tabs/TabsHead.vue +189 -189
  271. package/src/layouts/tabs/TabsView.vue +389 -389
  272. package/src/lib.js +1 -1
  273. package/src/main.js +34 -34
  274. package/src/mixins/formValidationMixin.js +46 -46
  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/index.js +27 -27
  346. package/src/router.js +19 -19
  347. package/src/services/DataModel.js +30 -30
  348. package/src/services/LodopFuncs.js +137 -137
  349. package/src/services/api/TicketDetailsViewApi.js +46 -46
  350. package/src/services/api/cas.js +79 -79
  351. package/src/services/api/common.js +346 -346
  352. package/src/services/api/entity.js +18 -18
  353. package/src/services/api/index.js +17 -17
  354. package/src/services/api/restTools.js +145 -145
  355. package/src/services/api/workFlow.js +63 -63
  356. package/src/services/apiService.js +16 -16
  357. package/src/store/modules/account.js +115 -115
  358. package/src/store/modules/index.js +5 -5
  359. package/src/store/modules/lowCode.js +33 -33
  360. package/src/store/modules/setting.js +119 -119
  361. package/src/theme/default/style.less +58 -58
  362. package/src/theme/global.less +159 -159
  363. package/src/utils/authority-utils.js +85 -85
  364. package/src/utils/errorCode.js +6 -6
  365. package/src/utils/formatter.js +74 -74
  366. package/src/utils/htmlToPDF.js +108 -108
  367. package/src/utils/htmlToPDFApi.js +5 -5
  368. package/src/utils/login.js +188 -188
  369. package/src/utils/lowcode/lowcodeComponentMixin.js +120 -120
  370. package/src/utils/lowcode/lowcodeLog.js +29 -29
  371. package/src/utils/lowcode/lowcodeUtils.js +373 -373
  372. package/src/utils/lowcode/registerComponentForEditor.js +1 -1
  373. package/src/utils/lowcode/registerComponentForRender.js +11 -11
  374. package/src/utils/map-utils.js +47 -47
  375. package/src/utils/reg.js +95 -95
  376. package/src/utils/runEvalFunction.js +14 -14
  377. package/src/utils/theme-color-replacer-extend.js +92 -92
  378. package/src/utils/util.js +329 -329
  379. package/src/utils/waterMark.js +31 -31
  380. package/test/Amis.spec.js +164 -164
  381. package/test/Tree.spec.js +168 -168
  382. package/test/myDialog.spec.js +47 -47
  383. package/test/util.test.js +53 -53
  384. package/test/v3Api.test.js +1984 -1984
  385. package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -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
+ };