vue2-client 1.12.1 → 1.12.3-9.alpha

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 (419) 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 -0
  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/babel.config.js +4 -1
  13. package/docs/Logic/345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +45 -45
  14. package/docs/LowCode/lowcode.md +155 -155
  15. package/docs/LowCode/lowcodeForDeveloper.md +230 -230
  16. package/docs/index.md +30 -30
  17. package/docs//345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +175 -174
  18. package/index.js +31 -31
  19. package/jest-transform-stub.js +8 -8
  20. package/jest.config.js +22 -22
  21. package/jest.setup.js +7 -7
  22. package/jsconfig.json +19 -19
  23. package/package.json +108 -108
  24. package/public/his/editor/editor.html +51 -51
  25. package/public/his/editor/mock/bind_data.html +779 -779
  26. package/public/his/editor/mock/data_table.html +40 -40
  27. package/public/his/editor/mock/sign.html +75 -75
  28. package/public/his/editor/vender/JsBarcode.all.js +3669 -3669
  29. package/public/his/editor/vender/date97/My97DatePicker.htm +65 -65
  30. package/public/his/editor/vender/date97/WdatePicker.js +677 -677
  31. package/public/his/editor/vender/date97/calendar.js +4 -4
  32. package/public/his/editor/vender/date97/lang/en.js +13 -13
  33. package/public/his/editor/vender/date97/lang/zh-cn.js +13 -13
  34. package/public/his/editor/vender/date97/lang/zh-tw.js +13 -13
  35. package/public/his/editor/vender/date97/skin/WdatePicker.css +10 -10
  36. package/public/his/editor/vender/date97/skin/default/datepicker.css +328 -328
  37. package/public/his/editor/vender/date97/skin/ext/datepicker.css +308 -308
  38. package/public/his/editor/vender/date97/skin/whyGreen/datepicker.css +255 -255
  39. package/public/his/editor/vender/diff.js +1627 -1627
  40. package/public/his/editor/vender/editor.js +1 -1
  41. package/public/his/editor/vender/fabric.js +31187 -31187
  42. package/public/his/editor/vender/jquery/jquery.base64.js +190 -190
  43. package/public/his/editor/vender/jquery/jquery.js +10872 -10872
  44. package/public/his/editor/vender/jquery/jquery.print.js +255 -255
  45. package/public/his/editor/vender/jquery/zTreeStyle/zTreeStyle.css +96 -96
  46. package/public/his/editor/vender/mui/mui.min.css +4 -4
  47. package/public/his/editor/vender/mui/mui.min.js +5 -5
  48. package/public/his/editor/vender/mui/mui.picker.min.css +6 -6
  49. package/public/his/editor/vender/mui/mui.picker.min.js +6 -6
  50. package/public/his/editor/vender/qrcode.js +7 -7
  51. package/public/his/editor/vender/requirejs/require.js +2145 -2145
  52. package/public/his/editor/vender/signature/jSignature.CompressorSVG.js +518 -518
  53. package/public/his/editor/vender/signature/jSignature.UndoButton.js +164 -164
  54. package/public/his/editor/vender/signature/jSignature.js +1486 -1486
  55. package/public/his/editor/vender/validator.js +5094 -5094
  56. package/public/his/editor/vender/weui/weui.css +5659 -5659
  57. package/public/his/editor/vender/weui/weui.min.css +4 -4
  58. package/public/his/editor/vender/weui/weui.min.js +11 -11
  59. package/public/index.html +27 -27
  60. package/src/ReportView.js +19 -19
  61. package/src/assets/img/querySlotDemo.svg +15 -15
  62. package/src/assets/svg/badtwo.svg +1 -1
  63. package/src/assets/svg/goodtwo.svg +1 -1
  64. package/src/base-client/components/AI/AskAiBtn.vue +136 -136
  65. package/src/base-client/components/AI/demo.vue +31 -31
  66. package/src/base-client/components/common/AMisRender/index.js +3 -3
  67. package/src/base-client/components/common/AMisRender/index.vue +263 -263
  68. package/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox.vue +470 -470
  69. package/src/base-client/components/common/AddressSearchCombobox/IcMapIcon.vue +16 -16
  70. package/src/base-client/components/common/AddressSearchCombobox/demo.vue +36 -36
  71. package/src/base-client/components/common/AddressSearchCombobox/ic_map.svg +6 -6
  72. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  73. package/src/base-client/components/common/CitySelect/index.js +3 -3
  74. package/src/base-client/components/common/CitySelect/index.md +109 -109
  75. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
  76. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1014 -1014
  77. package/src/base-client/components/common/CreateQuery/index.js +3 -3
  78. package/src/base-client/components/common/CreateQuery/index.md +42 -42
  79. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +452 -452
  80. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +511 -511
  81. package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
  82. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
  83. package/src/base-client/components/common/FormGroupEdit/FormGroupEdit.vue +149 -149
  84. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  85. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  86. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
  87. package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
  88. package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
  89. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  90. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorModal.vue +108 -108
  91. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorPanel.vue +413 -413
  92. package/src/base-client/components/common/LowCodeComponent/LowCodePageOrganization.vue +502 -502
  93. package/src/base-client/components/common/LowCodeComponent/LowCodeRender.vue +728 -728
  94. package/src/base-client/components/common/LowCodeComponent/LowCodeRenderEnter.vue +29 -29
  95. package/src/base-client/components/common/LowCodeComponent/LowCodeUIStore.vue +219 -219
  96. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeAddPageModal.vue +117 -117
  97. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeCustomJSModal.vue +80 -80
  98. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeEventEditorModal.vue +398 -398
  99. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLifeCycleModal.vue +65 -65
  100. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicCallbackModal.vue +64 -64
  101. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicParamModal.vue +73 -73
  102. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeRunFunctionParamModal.vue +76 -76
  103. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
  104. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  105. package/src/base-client/components/common/Recording/Recording.vue +243 -243
  106. package/src/base-client/components/common/Recording/index.js +3 -3
  107. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  108. package/src/base-client/components/common/Tree/index.js +2 -2
  109. package/src/base-client/components/common/Upload/index.js +3 -3
  110. package/src/base-client/components/common/XAddForm/XAddForm.vue +113 -113
  111. package/src/base-client/components/common/XAddNativeForm/XAddNativeForm.vue +1146 -1146
  112. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  113. package/src/base-client/components/common/XAddNativeFormOA/XAddNativeFormOA.vue +303 -303
  114. package/src/base-client/components/common/XAddNativeFormOA/index.js +3 -3
  115. package/src/base-client/components/common/XAddNativeFormOA/index.md +146 -146
  116. package/src/base-client/components/common/XAddReport/index.js +3 -3
  117. package/src/base-client/components/common/XAddReport/index.md +56 -56
  118. package/src/base-client/components/common/XBadge/XBadge.vue +94 -94
  119. package/src/base-client/components/common/XButtons/XButtonDemo.vue +28 -28
  120. package/src/base-client/components/common/XButtons/XButtons.vue +71 -71
  121. package/src/base-client/components/common/XButtons/index.js +3 -3
  122. package/src/base-client/components/common/XButtons/index.md +61 -61
  123. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  124. package/src/base-client/components/common/XCardSet/XCardSet.vue +300 -0
  125. package/src/base-client/components/common/XCheckList/XCheckList.vue +106 -106
  126. package/src/base-client/components/common/XCheckList/XCheckListDemo.vue +41 -41
  127. package/src/base-client/components/common/XCollapse/XCollapse.vue +154 -0
  128. package/src/base-client/components/common/XConversation/XConversation.vue +87 -2
  129. package/src/base-client/components/common/XConversation/XConversationDemo.vue +28 -28
  130. package/src/base-client/components/common/XDataCard/XDataCard.vue +47 -21
  131. package/src/base-client/components/common/XDataCard/index.js +3 -3
  132. package/src/base-client/components/common/XDataCard/index.md +1 -1
  133. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  134. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  135. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  136. package/src/base-client/components/common/XDatePicker/demo.vue +153 -153
  137. package/src/base-client/components/common/XDatePicker/index.vue +269 -259
  138. package/src/base-client/components/common/XDescriptions/XDescriptions.vue +169 -169
  139. package/src/base-client/components/common/XDescriptions/index.js +3 -3
  140. package/src/base-client/components/common/XDescriptions/index.md +83 -83
  141. package/src/base-client/components/common/XDetailsView/XDetailsView.vue +238 -238
  142. package/src/base-client/components/common/XDetailsView/index.js +3 -3
  143. package/src/base-client/components/common/XForm/XForm.vue +1 -1
  144. package/src/base-client/components/common/XForm/XFormItem.vue +1264 -1254
  145. package/src/base-client/components/common/XForm/XStatusButton.vue +54 -54
  146. package/src/base-client/components/common/XForm/XTreeSelect.vue +1 -2
  147. package/src/base-client/components/common/XForm/demo.vue +105 -0
  148. package/src/base-client/components/common/XForm/index.md +178 -178
  149. package/src/base-client/components/common/XForm/itemComponent/XClickChangeBtn/index.vue +49 -49
  150. package/src/base-client/components/common/XFormGroup/index.js +3 -3
  151. package/src/base-client/components/common/XFormGroup/index.md +38 -38
  152. package/src/base-client/components/common/XFormGroupDetails/XFormGroupDetails.vue +72 -72
  153. package/src/base-client/components/common/XFormGroupDetails/index.js +3 -3
  154. package/src/base-client/components/common/XFormTable/demo.vue +11 -3
  155. package/src/base-client/components/common/XFormTable/index.md +92 -92
  156. package/src/base-client/components/common/XImportExcel/XImportExcel.vue +167 -167
  157. package/src/base-client/components/common/XLabelSelect/XLabelSelect.vue +110 -110
  158. package/src/base-client/components/common/XLabelSelect/XLabelSelectDemo.vue +35 -35
  159. package/src/base-client/components/common/XLicensePlate/XLicensePlate.vue +193 -193
  160. package/src/base-client/components/common/XLicensePlate/XLicensePlateDemo.vue +48 -48
  161. package/src/base-client/components/common/XPrint/Demo.vue +41 -41
  162. package/src/base-client/components/common/XPrint/OpenInvoice.vue +21 -21
  163. package/src/base-client/components/common/XPrint/PrintBill.vue +302 -302
  164. package/src/base-client/components/common/XPrint/PrintHtml.js +98 -98
  165. package/src/base-client/components/common/XPrint/css/hiPrintCss.js +359 -359
  166. package/src/base-client/components/common/XPrint/css/lodopCss.js +26 -26
  167. package/src/base-client/components/common/XPrint/css/print-lock.css +351 -351
  168. package/src/base-client/components/common/XPrint/index.vue +97 -97
  169. package/src/base-client/components/common/XRate/demo.vue +102 -0
  170. package/src/base-client/components/common/XRate/index.vue +136 -0
  171. package/src/base-client/components/common/XReport/XReport.vue +892 -892
  172. package/src/base-client/components/common/XReport/XReportDesign.vue +463 -463
  173. package/src/base-client/components/common/XReport/XReportJsonRender.vue +381 -381
  174. package/src/base-client/components/common/XReport/index.js +3 -3
  175. package/src/base-client/components/common/XReport/index.md +44 -44
  176. package/src/base-client/components/common/XReport/print.js +186 -186
  177. package/src/base-client/components/common/XReportDrawer/index.js +3 -3
  178. package/src/base-client/components/common/XReportGrid/XReport.vue +240 -305
  179. package/src/base-client/components/common/XReportGrid/XReportDemo.vue +0 -2
  180. package/src/base-client/components/common/XReportGrid/XReportDesign.vue +115 -345
  181. package/src/base-client/components/common/XReportGrid/XReportTrGroup.vue +100 -723
  182. package/src/base-client/components/common/XReportGrid/index.js +3 -3
  183. package/src/base-client/components/common/XReportGrid/index.md +44 -44
  184. package/src/base-client/components/common/XReportSlot/XReportSlot.vue +110 -110
  185. package/src/base-client/components/common/XReportSlot/index.js +3 -3
  186. package/src/base-client/components/common/XReportSlot/index.md +48 -48
  187. package/src/base-client/components/common/XSimpleDescriptions/XSimpleDescriptions.vue +166 -166
  188. package/src/base-client/components/common/XSimpleDescriptions/index.js +3 -3
  189. package/src/base-client/components/common/XSimpleDescriptions/index.md +7 -7
  190. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  191. package/src/base-client/components/common/XStepView/index.js +3 -3
  192. package/src/base-client/components/common/XStepView/index.md +31 -31
  193. package/src/base-client/components/common/XTab/XTabDemo.vue +22 -22
  194. package/src/base-client/components/common/XTab/index.js +3 -3
  195. package/src/base-client/components/common/XTable/CustomFuncCel.vue +51 -51
  196. package/src/base-client/components/common/XTable/TableCellRenderer.vue +161 -161
  197. package/src/base-client/components/common/XTable/XTable.vue +3 -0
  198. package/src/base-client/components/common/XTable/XTableWrapper.vue +244 -240
  199. package/src/base-client/components/common/XTable/index.md +255 -255
  200. package/src/base-client/components/common/XTagGroup/index.vue +52 -52
  201. package/src/base-client/components/common/XTree/XTree.vue +424 -424
  202. package/src/base-client/components/common/XTree/index.js +3 -3
  203. package/src/base-client/components/common/XTree/index.md +36 -36
  204. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +113 -113
  205. package/src/base-client/components/common/XTreeOne/XTreeOnePro.vue +128 -128
  206. package/src/base-client/components/common/richTextModal/index.vue +56 -56
  207. package/src/base-client/components/common/richTextModal/richDemo.vue +48 -48
  208. package/src/base-client/components/his/XHDescriptions/XHDescriptions.vue +172 -0
  209. package/src/base-client/components/his/XHisEditor/XHisEditor.vue +360 -359
  210. package/src/base-client/components/his/XHisEditor/index.js +3 -3
  211. package/src/base-client/components/index.js +51 -51
  212. package/src/base-client/components/layout/XPageView/XErrorView.vue +11 -11
  213. package/src/base-client/components/layout/XPageView/XPageView.vue +155 -155
  214. package/src/base-client/components/layout/XPageView/index.js +3 -3
  215. package/src/base-client/components/layout/XPageView/index.md +38 -38
  216. package/src/base-client/components/layout/XTreeView/XTreeView.vue +130 -130
  217. package/src/base-client/components/layout/XTreeView/index.js +3 -3
  218. package/src/base-client/components/layout/XTreeView/index.md +46 -46
  219. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  220. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  221. package/src/base-client/plugins/AppData.js +121 -121
  222. package/src/base-client/plugins/Config.js +19 -19
  223. package/src/base-client/plugins/GetLoginInfoService.js +183 -183
  224. package/src/base-client/plugins/Recording.js +258 -258
  225. package/src/base-client/plugins/index.js +23 -23
  226. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  227. package/src/bootstrap.js +42 -42
  228. package/src/components/Charts/Bar.vue +62 -62
  229. package/src/components/Charts/ChartCard.vue +134 -134
  230. package/src/components/Charts/Liquid.vue +67 -67
  231. package/src/components/Charts/MiniArea.vue +39 -39
  232. package/src/components/Charts/MiniBar.vue +39 -39
  233. package/src/components/Charts/MiniProgress.vue +75 -75
  234. package/src/components/Charts/MiniSmoothArea.vue +40 -40
  235. package/src/components/Charts/Radar.vue +68 -68
  236. package/src/components/Charts/RankList.vue +77 -77
  237. package/src/components/Charts/TagCloud.vue +113 -113
  238. package/src/components/Charts/TransferBar.vue +64 -64
  239. package/src/components/Charts/Trend.vue +82 -82
  240. package/src/components/Charts/chart.less +12 -12
  241. package/src/components/Charts/smooth.area.less +13 -13
  242. package/src/components/CodeMirror/inedx.vue +118 -118
  243. package/src/components/CodeMirror/setting.js +40 -40
  244. package/src/components/FilePreview/FilePreview.vue +166 -166
  245. package/src/components/HeightScanner/index.vue +571 -571
  246. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  247. package/src/components/NumberInfo/index.js +3 -3
  248. package/src/components/NumberInfo/index.less +54 -54
  249. package/src/components/NumberInfo/index.md +43 -43
  250. package/src/components/card/ChartCard.vue +79 -79
  251. package/src/components/chart/Bar.vue +60 -60
  252. package/src/components/chart/MiniArea.vue +67 -67
  253. package/src/components/chart/MiniBar.vue +59 -59
  254. package/src/components/chart/MiniProgress.vue +57 -57
  255. package/src/components/chart/Radar.vue +80 -80
  256. package/src/components/chart/RankingList.vue +60 -60
  257. package/src/components/chart/Trend.vue +79 -79
  258. package/src/components/chart/index.less +9 -9
  259. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  260. package/src/components/checkbox/ImgCheckbox.vue +117 -117
  261. package/src/components/checkbox/ImgCheckboxGroup.vue +76 -76
  262. package/src/components/checkbox/index.js +9 -9
  263. package/src/components/exception/ExceptionPage.vue +70 -70
  264. package/src/components/g2Charts/constants.js +202 -202
  265. package/src/components/g2Charts/demo.vue +808 -808
  266. package/src/components/g2Charts/designer.vue +228 -228
  267. package/src/components/g2Charts/designerBaseConfig.vue +61 -61
  268. package/src/components/g2Charts/designerDataConfig.vue +259 -259
  269. package/src/components/g2Charts/designerStyleConfig.vue +16 -16
  270. package/src/components/g2Charts/index.vue +397 -397
  271. package/src/components/index.js +36 -36
  272. package/src/components/input/IInput.vue +66 -66
  273. package/src/components/menu/SideMenu.vue +75 -75
  274. package/src/components/menu/menu.js +273 -273
  275. package/src/components/setting/Setting.vue +234 -234
  276. package/src/components/tool/AStepItem.vue +60 -60
  277. package/src/config/CreateQueryConfig.js +325 -325
  278. package/src/config/default/antd.config.js +89 -89
  279. package/src/config/default/setting.config.js +55 -55
  280. package/src/font-style/font.css +4 -4
  281. package/src/layouts/BlankView.vue +4 -2
  282. package/src/layouts/CommonLayout.vue +56 -56
  283. package/src/layouts/GridView.vue +43 -45
  284. package/src/layouts/PageLayout.vue +151 -151
  285. package/src/layouts/SinglePageView.vue +136 -136
  286. package/src/layouts/header/AdminHeader.vue +132 -132
  287. package/src/layouts/header/HeaderNotice.vue +177 -177
  288. package/src/layouts/header/InstitutionDetail.vue +181 -181
  289. package/src/layouts/tabs/TabsHead.vue +189 -189
  290. package/src/layouts/tabs/TabsView.vue +389 -389
  291. package/src/lib.js +1 -1
  292. package/src/logic/plugins/common/DateTools.js +3 -0
  293. package/src/logic/plugins/common/VueTools.js +30 -0
  294. package/src/logic/plugins/index.js +3 -1
  295. package/src/main.js +34 -34
  296. package/src/mock/extend/index.js +84 -84
  297. package/src/mock/goods/index.js +108 -108
  298. package/src/pages/AMisDemo/AMisDemo.vue +325 -325
  299. package/src/pages/AMisDemo/AMisDemo2.vue +74 -74
  300. package/src/pages/DefaultExample/index.vue +77 -77
  301. package/src/pages/DynamicStatistics/ChartSelector.vue +331 -331
  302. package/src/pages/DynamicStatistics/DataTabs.vue +83 -83
  303. package/src/pages/DynamicStatistics/DynamicTable.vue +128 -128
  304. package/src/pages/DynamicStatistics/EvaluationArea.vue +69 -69
  305. package/src/pages/DynamicStatistics/FavoriteList.vue +50 -50
  306. package/src/pages/DynamicStatistics/QuestionHistoryAndFavorites.vue +591 -591
  307. package/src/pages/DynamicStatistics/SearchBar.vue +192 -192
  308. package/src/pages/DynamicStatistics/index.vue +282 -282
  309. package/src/pages/Example/childIndex.vue +15 -15
  310. package/src/pages/Example/index.vue +30 -30
  311. package/src/pages/LogicCallExample/index.vue +10 -0
  312. package/src/pages/NewDynamicStatistics/ChartSelector.vue +331 -331
  313. package/src/pages/NewDynamicStatistics/DataTabs.vue +122 -122
  314. package/src/pages/NewDynamicStatistics/DynamicTable.vue +128 -128
  315. package/src/pages/NewDynamicStatistics/EvaluationArea.vue +69 -69
  316. package/src/pages/NewDynamicStatistics/FavoriteList.vue +50 -50
  317. package/src/pages/NewDynamicStatistics/QuestionHistoryAndFavorites.vue +289 -289
  318. package/src/pages/NewDynamicStatistics/SearchBar.vue +193 -193
  319. package/src/pages/NewDynamicStatistics/index.vue +258 -258
  320. package/src/pages/Recording/index.vue +77 -77
  321. package/src/pages/ServiceReview/index.vue +284 -284
  322. package/src/pages/SubExample/index.vue +26 -26
  323. package/src/pages/WorkflowDetail/WorkFlowDemo.vue +47 -32
  324. package/src/pages/WorkflowDetail/WorkflowDetail.vue +235 -230
  325. package/src/pages/WorkflowDetail/WorkflowPageDetail/LeaveMessage.vue +131 -131
  326. package/src/pages/WorkflowDetail/WorkflowPageDetail/TrimTextTail.vue +23 -23
  327. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformation.vue +302 -302
  328. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformationDetails.vue +276 -276
  329. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandle.vue +876 -864
  330. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandleReso.vue +997 -997
  331. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowTimeline.vue +222 -222
  332. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkOrderParentDetails.vue +233 -233
  333. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowDetailResso.vue +261 -261
  334. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowListResolution.vue +248 -248
  335. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowLog.vue +73 -73
  336. package/src/pages/XPageViewExample/index.vue +38 -38
  337. package/src/pages/XReportView/index.vue +64 -64
  338. package/src/pages/XTreeOneProExample/index.vue +67 -67
  339. package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
  340. package/src/pages/login/Login.vue +378 -378
  341. package/src/pages/login/LoginV3.vue +389 -389
  342. package/src/pages/lowCode/lowCodeEditor.vue +1219 -1219
  343. package/src/pages/lowCode/lowCodeRenderPage.vue +43 -43
  344. package/src/pages/report/ReportTable.js +124 -124
  345. package/src/pages/resourceManage/orgListManage.vue +98 -98
  346. package/src/pages/system/dictionary/index.vue +44 -44
  347. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  348. package/src/pages/system/monitor/operLog/index.vue +37 -37
  349. package/src/pages/system/settings/modifyPassword.vue +117 -117
  350. package/src/pages/system/ticket/index.vue +480 -480
  351. package/src/pages/system/ticket/submitTicketSuccess.vue +484 -484
  352. package/src/pages/userInfoDetailManage/ChangeMeterRecordQuery/index.vue +64 -64
  353. package/src/pages/userInfoDetailManage/FillCardRecordQuery/index.vue +76 -76
  354. package/src/pages/userInfoDetailManage/FillGasRecordQuery/index.vue +74 -74
  355. package/src/pages/userInfoDetailManage/InfoChangeRecordQuery/index.vue +64 -64
  356. package/src/pages/userInfoDetailManage/InstructRecordQuery/index.vue +64 -64
  357. package/src/pages/userInfoDetailManage/MachineRecordQuery/index.vue +74 -74
  358. package/src/pages/userInfoDetailManage/MeterParamRecordQuery/index.vue +64 -64
  359. package/src/pages/userInfoDetailManage/OtherChargeRecordQuery/index.vue +74 -74
  360. package/src/pages/userInfoDetailManage/TransferRecordQuery/index.vue +66 -66
  361. package/src/pages/userInfoDetailManage/UserChargeRecordQuery/index.vue +92 -92
  362. package/src/pages/userInfoDetailManage/UserHandRecordQuery/index.vue +86 -86
  363. package/src/pages/userInfoDetailManage/UserRecordQuery/index.vue +73 -73
  364. package/src/pages/userInfoDetailManage/WatchCollectionRecordQuery/index.vue +64 -64
  365. package/src/pages/userInfoDetailManage/index.vue +82 -82
  366. package/src/pages/userInfoDetailManage/userInfoDetailQueryTabs.vue +132 -132
  367. package/src/plugins/EventLogPlugin.js +33 -33
  368. package/src/plugins/FindParentsData.js +17 -17
  369. package/src/plugins/HiPrintPlugin.js +164 -124
  370. package/src/router/async/config.async.js +35 -35
  371. package/src/router/async/router.map.js +117 -116
  372. package/src/router.js +19 -19
  373. package/src/services/DataModel.js +30 -30
  374. package/src/services/LodopFuncs.js +137 -137
  375. package/src/services/api/TicketDetailsViewApi.js +46 -46
  376. package/src/services/api/cas.js +79 -79
  377. package/src/services/api/common.js +346 -346
  378. package/src/services/api/entity.js +18 -18
  379. package/src/services/api/index.js +17 -17
  380. package/src/services/api/restTools.js +145 -145
  381. package/src/services/api/workFlow.js +63 -63
  382. package/src/services/apiService.js +16 -16
  383. package/src/services/v3Api.js +116 -116
  384. package/src/store/modules/account.js +115 -115
  385. package/src/store/modules/index.js +5 -5
  386. package/src/store/modules/lowCode.js +33 -33
  387. package/src/store/modules/setting.js +119 -119
  388. package/src/theme/default/style.less +58 -58
  389. package/src/theme/global.less +159 -159
  390. package/src/utils/EncryptUtil.js +6 -7
  391. package/src/utils/authority-utils.js +85 -85
  392. package/src/utils/errorCode.js +6 -6
  393. package/src/utils/formatter.js +74 -74
  394. package/src/utils/htmlToPDF.js +108 -108
  395. package/src/utils/htmlToPDFApi.js +5 -5
  396. package/src/utils/indexedDB.js +3 -1
  397. package/src/utils/login.js +188 -188
  398. package/src/utils/lowcode/lowcodeComponentMixin.js +120 -120
  399. package/src/utils/lowcode/lowcodeLog.js +29 -29
  400. package/src/utils/lowcode/lowcodeUtils.js +373 -373
  401. package/src/utils/lowcode/registerComponentForEditor.js +1 -1
  402. package/src/utils/lowcode/registerComponentForRender.js +11 -11
  403. package/src/utils/map-utils.js +47 -47
  404. package/src/utils/reg.js +95 -95
  405. package/src/utils/request.js +4 -8
  406. package/src/utils/routerUtil.js +17 -0
  407. package/src/utils/runEvalFunction.js +14 -14
  408. package/src/utils/theme-color-replacer-extend.js +92 -92
  409. package/src/utils/util.js +329 -329
  410. package/src/utils/waterMark.js +31 -31
  411. package/test/Amis.spec.js +164 -164
  412. package/test/Tree.spec.js +168 -168
  413. package/test/myDialog.spec.js +47 -47
  414. package/test/request.test.js +17 -17
  415. package/test/util.test.js +53 -53
  416. package/test/v3Api.test.js +1984 -1984
  417. package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
  418. package/.babelrc +0 -3
  419. package/src/base-client/components/common/XReportGrid/XReportJsonRender.vue +0 -380
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
+ };