vue2-client 1.14.56 → 1.14.58

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 (368) hide show
  1. package/.cursorrules +19 -19
  2. package/.env.gaslink +19 -19
  3. package/.env.his +19 -19
  4. package/.env.liuli +19 -19
  5. package/.env.scada +19 -19
  6. package/.eslintrc.js +90 -90
  7. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527173925.vue +509 -0
  8. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174316.vue +524 -0
  9. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174419.vue +524 -0
  10. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174422.vue +524 -0
  11. package/.history/src/base-client/components/common/XForm/XFormItem_20250508134122.vue +1320 -0
  12. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171604.vue +1332 -0
  13. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171613.vue +1331 -0
  14. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171703.vue +1331 -0
  15. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171720.vue +1331 -0
  16. package/.history/src/base-client/components/common/XForm/XFormItem_20250527174327.vue +1339 -0
  17. package/CHANGELOG.md +824 -824
  18. package/Components.md +60 -60
  19. package/Users/objecrt/af-vue2-client/src/base-client/components/his/XShiftSchedule/XShiftSchedule.vue +36 -0
  20. package/docs/Logic/345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +46 -45
  21. package/docs/LowCode/lowcode.md +155 -155
  22. package/docs/LowCode/lowcodeForDeveloper.md +230 -230
  23. package/docs/index.md +30 -30
  24. package/docs//345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +2 -1
  25. package/index.js +31 -31
  26. package/jest-transform-stub.js +8 -8
  27. package/jest.setup.js +7 -7
  28. package/jsconfig.json +19 -19
  29. package/package.json +1 -1
  30. package/public/his/editor/editor.html +51 -51
  31. package/public/his/editor/mock/bind_data.html +779 -779
  32. package/public/his/editor/mock/data_table.html +40 -40
  33. package/public/his/editor/mock/sign.html +75 -75
  34. package/public/his/editor/vender/JsBarcode.all.js +3669 -3669
  35. package/public/his/editor/vender/date97/My97DatePicker.htm +65 -65
  36. package/public/his/editor/vender/date97/WdatePicker.js +677 -677
  37. package/public/his/editor/vender/date97/calendar.js +4 -4
  38. package/public/his/editor/vender/date97/lang/en.js +13 -13
  39. package/public/his/editor/vender/date97/lang/zh-cn.js +13 -13
  40. package/public/his/editor/vender/date97/lang/zh-tw.js +13 -13
  41. package/public/his/editor/vender/date97/skin/WdatePicker.css +10 -10
  42. package/public/his/editor/vender/date97/skin/default/datepicker.css +328 -328
  43. package/public/his/editor/vender/date97/skin/ext/datepicker.css +308 -308
  44. package/public/his/editor/vender/date97/skin/whyGreen/datepicker.css +255 -255
  45. package/public/his/editor/vender/diff.js +1627 -1627
  46. package/public/his/editor/vender/editor.js +1 -1
  47. package/public/his/editor/vender/fabric.js +31187 -31187
  48. package/public/his/editor/vender/jquery/jquery.base64.js +190 -190
  49. package/public/his/editor/vender/jquery/jquery.js +10872 -10872
  50. package/public/his/editor/vender/jquery/jquery.print.js +255 -255
  51. package/public/his/editor/vender/jquery/zTreeStyle/zTreeStyle.css +96 -96
  52. package/public/his/editor/vender/mui/mui.min.css +4 -4
  53. package/public/his/editor/vender/mui/mui.min.js +5 -5
  54. package/public/his/editor/vender/mui/mui.picker.min.css +6 -6
  55. package/public/his/editor/vender/mui/mui.picker.min.js +6 -6
  56. package/public/his/editor/vender/qrcode.js +7 -7
  57. package/public/his/editor/vender/requirejs/require.js +2145 -2145
  58. package/public/his/editor/vender/signature/jSignature.CompressorSVG.js +518 -518
  59. package/public/his/editor/vender/signature/jSignature.UndoButton.js +164 -164
  60. package/public/his/editor/vender/signature/jSignature.js +1486 -1486
  61. package/public/his/editor/vender/validator.js +5094 -5094
  62. package/public/his/editor/vender/weui/weui.css +5659 -5659
  63. package/public/his/editor/vender/weui/weui.min.css +4 -4
  64. package/public/his/editor/vender/weui/weui.min.js +11 -11
  65. package/public/index.html +27 -27
  66. package/src/ReportView.js +19 -19
  67. package/src/assets/img/querySlotDemo.svg +15 -15
  68. package/src/assets/svg/badtwo.svg +1 -1
  69. package/src/assets/svg/goodtwo.svg +1 -1
  70. package/src/base-client/components/AI/AskAiBtn.vue +136 -136
  71. package/src/base-client/components/AI/demo.vue +31 -31
  72. package/src/base-client/components/TreeList/TreeList.vue +91 -0
  73. package/src/base-client/components/TreeList/TreeNode.vue +81 -0
  74. package/src/base-client/components/common/AMisRender/index.js +3 -3
  75. package/src/base-client/components/common/AMisRender/index.vue +263 -263
  76. package/src/base-client/components/common/AddressSearchCombobox/IcMapIcon.vue +16 -16
  77. package/src/base-client/components/common/AddressSearchCombobox/demo.vue +36 -36
  78. package/src/base-client/components/common/AddressSearchCombobox/ic_map.svg +6 -6
  79. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  80. package/src/base-client/components/common/CitySelect/index.js +3 -3
  81. package/src/base-client/components/common/CitySelect/index.md +109 -109
  82. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
  83. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1014 -1014
  84. package/src/base-client/components/common/CreateQuery/index.js +3 -3
  85. package/src/base-client/components/common/CreateQuery/index.md +42 -42
  86. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +452 -452
  87. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +511 -511
  88. package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
  89. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
  90. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  91. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  92. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
  93. package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
  94. package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
  95. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  96. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorModal.vue +108 -108
  97. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorPanel.vue +413 -413
  98. package/src/base-client/components/common/LowCodeComponent/LowCodePageOrganization.vue +502 -502
  99. package/src/base-client/components/common/LowCodeComponent/LowCodeRender.vue +728 -728
  100. package/src/base-client/components/common/LowCodeComponent/LowCodeRenderEnter.vue +29 -29
  101. package/src/base-client/components/common/LowCodeComponent/LowCodeUIStore.vue +219 -219
  102. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeAddPageModal.vue +117 -117
  103. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeCustomJSModal.vue +80 -80
  104. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeEventEditorModal.vue +398 -398
  105. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLifeCycleModal.vue +65 -65
  106. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicCallbackModal.vue +64 -64
  107. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicParamModal.vue +73 -73
  108. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeRunFunctionParamModal.vue +76 -76
  109. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
  110. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  111. package/src/base-client/components/common/Recording/Recording.vue +243 -243
  112. package/src/base-client/components/common/Recording/index.js +3 -3
  113. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  114. package/src/base-client/components/common/Tree/index.js +2 -2
  115. package/src/base-client/components/common/Upload/index.js +3 -3
  116. package/src/base-client/components/common/XAddForm/XAddForm.vue +113 -113
  117. package/src/base-client/components/common/XAddNativeForm/demo.vue +5 -2
  118. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  119. package/src/base-client/components/common/XAddNativeFormOA/XAddNativeFormOA.vue +303 -303
  120. package/src/base-client/components/common/XAddNativeFormOA/index.js +3 -3
  121. package/src/base-client/components/common/XAddNativeFormOA/index.md +146 -146
  122. package/src/base-client/components/common/XAddReport/index.js +3 -3
  123. package/src/base-client/components/common/XAddReport/index.md +56 -56
  124. package/src/base-client/components/common/XBadge/XBadge.vue +94 -94
  125. package/src/base-client/components/common/XButtons/XButtonDemo.vue +28 -28
  126. package/src/base-client/components/common/XButtons/XButtons.vue +71 -71
  127. package/src/base-client/components/common/XButtons/index.js +3 -3
  128. package/src/base-client/components/common/XButtons/index.md +61 -61
  129. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  130. package/src/base-client/components/common/XCardSet/XTiltle.vue +191 -0
  131. package/src/base-client/components/common/XCheckList/XCheckList.vue +106 -106
  132. package/src/base-client/components/common/XCheckList/XCheckListDemo.vue +41 -41
  133. package/src/base-client/components/common/XDataCard/index.js +3 -3
  134. package/src/base-client/components/common/XDataCard/index.md +1 -1
  135. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  136. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  137. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  138. package/src/base-client/components/common/XDatePicker/demo.vue +153 -153
  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/XStatusButton.vue +54 -54
  144. package/src/base-client/components/common/XForm/index.md +178 -178
  145. package/src/base-client/components/common/XForm/itemComponent/XClickChangeBtn/index.vue +49 -49
  146. package/src/base-client/components/common/XFormGroup/index.js +3 -3
  147. package/src/base-client/components/common/XFormGroup/index.md +38 -38
  148. package/src/base-client/components/common/XFormGroupDetails/XFormGroupDetails.vue +72 -72
  149. package/src/base-client/components/common/XFormGroupDetails/index.js +3 -3
  150. package/src/base-client/components/common/XFormTable/index.md +92 -92
  151. package/src/base-client/components/common/XImportExcel/XImportExcel.vue +167 -167
  152. package/src/base-client/components/common/XLabelSelect/XLabelSelect.vue +110 -110
  153. package/src/base-client/components/common/XLabelSelect/XLabelSelectDemo.vue +35 -35
  154. package/src/base-client/components/common/XLicensePlate/XLicensePlate.vue +193 -193
  155. package/src/base-client/components/common/XLicensePlate/XLicensePlateDemo.vue +48 -48
  156. package/src/base-client/components/common/XPrint/OpenInvoice.vue +21 -21
  157. package/src/base-client/components/common/XPrint/PrintBill.vue +302 -302
  158. package/src/base-client/components/common/XPrint/PrintHtml.js +98 -98
  159. package/src/base-client/components/common/XPrint/css/hiPrintCss.js +359 -359
  160. package/src/base-client/components/common/XPrint/css/lodopCss.js +26 -26
  161. package/src/base-client/components/common/XPrint/css/print-lock.css +351 -351
  162. package/src/base-client/components/common/XPrint/index.vue +97 -97
  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/XTab.vue +3 -3
  181. package/src/base-client/components/common/XTab/XTabDemo.vue +22 -22
  182. package/src/base-client/components/common/XTab/index.js +3 -3
  183. package/src/base-client/components/common/XTable/CustomFuncCel.vue +51 -51
  184. package/src/base-client/components/common/XTable/TableCellRenderer.vue +161 -161
  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/his/XTextCard/XTextCard.vue +207 -207
  196. package/src/base-client/components/his/XTreeRows/TreeNode.vue +100 -100
  197. package/src/base-client/components/his/XTreeRows/XTreeRows.vue +197 -197
  198. package/src/base-client/components/his/threeTestOrders/editor.vue +111 -111
  199. package/src/base-client/components/his/threeTestOrders/textBox.vue +463 -463
  200. package/src/base-client/components/index.js +51 -51
  201. package/src/base-client/components/layout/XPageView/XErrorView.vue +11 -11
  202. package/src/base-client/components/layout/XPageView/XPageView.vue +155 -155
  203. package/src/base-client/components/layout/XPageView/index.js +3 -3
  204. package/src/base-client/components/layout/XPageView/index.md +38 -38
  205. package/src/base-client/components/layout/XTreeView/XTreeView.vue +130 -130
  206. package/src/base-client/components/layout/XTreeView/index.js +3 -3
  207. package/src/base-client/components/layout/XTreeView/index.md +46 -46
  208. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  209. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  210. package/src/base-client/plugins/Config.js +19 -19
  211. package/src/base-client/plugins/GetLoginInfoService.js +183 -183
  212. package/src/base-client/plugins/Recording.js +258 -258
  213. package/src/base-client/plugins/index.js +23 -23
  214. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  215. package/src/components/Charts/Bar.vue +62 -62
  216. package/src/components/Charts/ChartCard.vue +134 -134
  217. package/src/components/Charts/Liquid.vue +67 -67
  218. package/src/components/Charts/MiniArea.vue +39 -39
  219. package/src/components/Charts/MiniBar.vue +39 -39
  220. package/src/components/Charts/MiniProgress.vue +75 -75
  221. package/src/components/Charts/MiniSmoothArea.vue +40 -40
  222. package/src/components/Charts/Radar.vue +68 -68
  223. package/src/components/Charts/RankList.vue +77 -77
  224. package/src/components/Charts/TagCloud.vue +113 -113
  225. package/src/components/Charts/TransferBar.vue +64 -64
  226. package/src/components/Charts/Trend.vue +82 -82
  227. package/src/components/Charts/chart.less +12 -12
  228. package/src/components/Charts/smooth.area.less +13 -13
  229. package/src/components/CodeMirror/inedx.vue +118 -118
  230. package/src/components/CodeMirror/setting.js +40 -40
  231. package/src/components/HeightScanner/index.vue +571 -571
  232. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  233. package/src/components/NumberInfo/index.js +3 -3
  234. package/src/components/NumberInfo/index.less +54 -54
  235. package/src/components/NumberInfo/index.md +43 -43
  236. package/src/components/card/ChartCard.vue +79 -79
  237. package/src/components/chart/Bar.vue +60 -60
  238. package/src/components/chart/MiniArea.vue +67 -67
  239. package/src/components/chart/MiniBar.vue +59 -59
  240. package/src/components/chart/MiniProgress.vue +57 -57
  241. package/src/components/chart/Radar.vue +80 -80
  242. package/src/components/chart/RankingList.vue +60 -60
  243. package/src/components/chart/Trend.vue +79 -79
  244. package/src/components/chart/index.less +9 -9
  245. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  246. package/src/components/checkbox/ImgCheckbox.vue +117 -117
  247. package/src/components/checkbox/ImgCheckboxGroup.vue +76 -76
  248. package/src/components/checkbox/index.js +9 -9
  249. package/src/components/exception/ExceptionPage.vue +70 -70
  250. package/src/components/g2Charts/constants.js +202 -202
  251. package/src/components/g2Charts/demo.vue +808 -808
  252. package/src/components/g2Charts/designer.vue +228 -228
  253. package/src/components/g2Charts/designerBaseConfig.vue +61 -61
  254. package/src/components/g2Charts/designerDataConfig.vue +259 -259
  255. package/src/components/g2Charts/designerStyleConfig.vue +16 -16
  256. package/src/components/g2Charts/index.vue +397 -397
  257. package/src/components/index.js +36 -36
  258. package/src/components/input/IInput.vue +66 -66
  259. package/src/components/menu/SideMenu.vue +75 -75
  260. package/src/components/menu/menu.js +273 -273
  261. package/src/components/setting/Setting.vue +234 -234
  262. package/src/components/tool/AStepItem.vue +60 -60
  263. package/src/config/CreateQueryConfig.js +325 -325
  264. package/src/config/default/antd.config.js +89 -89
  265. package/src/config/default/setting.config.js +55 -55
  266. package/src/font-style/font.css +4 -4
  267. package/src/layouts/CommonLayout.vue +56 -56
  268. package/src/layouts/PageLayout.vue +151 -151
  269. package/src/layouts/SinglePageView.vue +136 -136
  270. package/src/layouts/header/AdminHeader.vue +132 -132
  271. package/src/layouts/header/HeaderNotice.vue +177 -177
  272. package/src/layouts/header/InstitutionDetail.vue +181 -181
  273. package/src/layouts/tabs/TabsHead.vue +189 -189
  274. package/src/layouts/tabs/TabsView.vue +389 -389
  275. package/src/lib.js +1 -1
  276. package/src/main.js +34 -34
  277. package/src/mock/extend/index.js +84 -84
  278. package/src/mock/goods/index.js +108 -108
  279. package/src/pages/AMisDemo/AMisDemo.vue +325 -325
  280. package/src/pages/AMisDemo/AMisDemo2.vue +74 -74
  281. package/src/pages/DefaultExample/index.vue +77 -77
  282. package/src/pages/DynamicStatistics/ChartSelector.vue +331 -331
  283. package/src/pages/DynamicStatistics/DataTabs.vue +83 -83
  284. package/src/pages/DynamicStatistics/DynamicTable.vue +128 -128
  285. package/src/pages/DynamicStatistics/EvaluationArea.vue +69 -69
  286. package/src/pages/DynamicStatistics/FavoriteList.vue +50 -50
  287. package/src/pages/DynamicStatistics/QuestionHistoryAndFavorites.vue +591 -591
  288. package/src/pages/DynamicStatistics/SearchBar.vue +192 -192
  289. package/src/pages/DynamicStatistics/index.vue +282 -282
  290. package/src/pages/Example/childIndex.vue +15 -15
  291. package/src/pages/Example/index.vue +30 -30
  292. package/src/pages/NewDynamicStatistics/ChartSelector.vue +331 -331
  293. package/src/pages/NewDynamicStatistics/DataTabs.vue +122 -122
  294. package/src/pages/NewDynamicStatistics/DynamicTable.vue +128 -128
  295. package/src/pages/NewDynamicStatistics/EvaluationArea.vue +69 -69
  296. package/src/pages/NewDynamicStatistics/FavoriteList.vue +50 -50
  297. package/src/pages/NewDynamicStatistics/QuestionHistoryAndFavorites.vue +289 -289
  298. package/src/pages/NewDynamicStatistics/SearchBar.vue +193 -193
  299. package/src/pages/NewDynamicStatistics/index.vue +258 -258
  300. package/src/pages/Recording/index.vue +77 -77
  301. package/src/pages/ServiceReview/index.vue +284 -284
  302. package/src/pages/SubExample/index.vue +26 -26
  303. package/src/pages/WorkflowDetail/WorkflowPageDetail/TrimTextTail.vue +23 -23
  304. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformationDetails.vue +276 -276
  305. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandleReso.vue +975 -975
  306. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkOrderParentDetails.vue +233 -233
  307. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowDetailResso.vue +261 -261
  308. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowListResolution.vue +248 -248
  309. package/src/pages/XPageViewExample/index.vue +38 -38
  310. package/src/pages/XReportView/index.vue +64 -64
  311. package/src/pages/XTreeOneProExample/index.vue +67 -67
  312. package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
  313. package/src/pages/login/Login.vue +378 -378
  314. package/src/pages/login/LoginV3.vue +389 -389
  315. package/src/pages/lowCode/lowCodeEditor.vue +1219 -1219
  316. package/src/pages/lowCode/lowCodeRenderPage.vue +43 -43
  317. package/src/pages/report/ReportTable.js +124 -124
  318. package/src/pages/resourceManage/orgListManage.vue +98 -98
  319. package/src/pages/system/dictionary/index.vue +44 -44
  320. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  321. package/src/pages/system/monitor/operLog/index.vue +37 -37
  322. package/src/pages/system/settings/modifyPassword.vue +117 -117
  323. package/src/pages/system/ticket/index.vue +480 -480
  324. package/src/pages/system/ticket/submitTicketSuccess.vue +484 -484
  325. package/src/pages/userInfoDetailManage/ChangeMeterRecordQuery/index.vue +64 -64
  326. package/src/pages/userInfoDetailManage/InfoChangeRecordQuery/index.vue +64 -64
  327. package/src/pages/userInfoDetailManage/InstructRecordQuery/index.vue +64 -64
  328. package/src/pages/userInfoDetailManage/MeterParamRecordQuery/index.vue +64 -64
  329. package/src/pages/userInfoDetailManage/TransferRecordQuery/index.vue +66 -66
  330. package/src/pages/userInfoDetailManage/WatchCollectionRecordQuery/index.vue +64 -64
  331. package/src/plugins/EventLogPlugin.js +33 -33
  332. package/src/plugins/FindParentsData.js +17 -17
  333. package/src/router/async/config.async.js +35 -35
  334. package/src/router/async/router.map.js +2 -2
  335. package/src/router/index.js +27 -27
  336. package/src/router.js +19 -19
  337. package/src/services/DataModel.js +30 -30
  338. package/src/services/LodopFuncs.js +137 -137
  339. package/src/services/api/TicketDetailsViewApi.js +46 -46
  340. package/src/services/api/cas.js +79 -79
  341. package/src/services/api/common.js +346 -346
  342. package/src/services/api/entity.js +18 -18
  343. package/src/services/api/index.js +17 -17
  344. package/src/services/api/workFlow.js +61 -61
  345. package/src/store/modules/account.js +115 -115
  346. package/src/store/modules/index.js +5 -5
  347. package/src/store/modules/lowCode.js +33 -33
  348. package/src/store/modules/setting.js +119 -119
  349. package/src/theme/default/style.less +58 -58
  350. package/src/theme/global.less +159 -159
  351. package/src/utils/authority-utils.js +85 -85
  352. package/src/utils/errorCode.js +6 -6
  353. package/src/utils/formatter.js +74 -74
  354. package/src/utils/htmlToPDF.js +108 -108
  355. package/src/utils/htmlToPDFApi.js +5 -5
  356. package/src/utils/login.js +188 -188
  357. package/src/utils/lowcode/lowcodeComponentMixin.js +120 -120
  358. package/src/utils/lowcode/lowcodeLog.js +29 -29
  359. package/src/utils/lowcode/lowcodeUtils.js +373 -373
  360. package/src/utils/lowcode/registerComponentForEditor.js +1 -1
  361. package/src/utils/lowcode/registerComponentForRender.js +11 -11
  362. package/src/utils/map-utils.js +47 -47
  363. package/src/utils/reg.js +95 -95
  364. package/src/utils/runEvalFunction.js +14 -14
  365. package/src/utils/theme-color-replacer-extend.js +92 -92
  366. package/src/utils/util.js +329 -329
  367. package/src/utils/waterMark.js +31 -31
  368. package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
@@ -1,258 +1,258 @@
1
- // recordingPlugin.js
2
- export default {
3
- install (Vue) {
4
- Vue.prototype.$recording = {
5
- isRecording: false, // 标识是否正在录音
6
- mediaRecorder: null, // MediaRecorder 实例
7
- audioChunks: [], // 存储录音数据块
8
- audioUrl: null, // 录音生成的 URL
9
- inputData: '',
10
- audioContext: null,
11
- audioStream: null,
12
- ws: null,
13
- resolvePromise: null, // 用于保存 Promise 的 resolve 函数
14
-
15
- async startRecording () {
16
- this.inputData = ''
17
- this.audioChunks = []
18
-
19
- const url = 'ws://192.168.50.67:30288/websocket/bash' // WebSocket地址
20
- this.setupWebSocket(url)
21
-
22
- // 等待 WebSocket 连接成功
23
- const result = await this.waitForWebSocketConnection()
24
-
25
- if (result) {
26
- return {
27
- code: 500,
28
- msg: result
29
- }
30
- }
31
-
32
- this.isRecording = true
33
-
34
- // 初始化 AudioContext
35
- this.audioContext = new (window.AudioContext || window.webkitAudioContext)()
36
-
37
- if (!navigator.mediaDevices || !navigator.mediaDevices.getUserMedia) {
38
- this.ws.close()
39
- return {
40
- code: 500,
41
- msg: '录音软件不支持您的浏览器!请使用现代浏览器或确保您正在使用 HTTPS。'
42
- }
43
- }
44
- // 获取麦克风输入流
45
- this.audioStream = await navigator.mediaDevices.getUserMedia({ audio: true })
46
-
47
- // 设置音频处理流程
48
- this.setupAudioProcessing()
49
-
50
- return {
51
- code: 200,
52
- msg: '开始录音'
53
- }
54
- },
55
-
56
- setupWebSocket (url) {
57
- this.ws = new WebSocket(url)
58
-
59
- this.ws.onmessage = (event) => {
60
- const data = JSON.parse(event.data)
61
- console.log('Result:', data.result)
62
- if (data.result !== undefined) {
63
- this.inputData += data.result
64
- }
65
- if (!this.isRecording) {
66
- this.ws.close()
67
- }
68
- }
69
-
70
- this.ws.onclose = () => {
71
- console.log('WebSocket closed.')
72
- this.resRecordingData()
73
- this.resolvePromise(this.inputData)
74
- }
75
- this.ws.onerror = (error) => console.error('WebSocket error:', error)
76
- },
77
-
78
- waitForWebSocketConnection () {
79
- return new Promise((resolve) => {
80
- this.ws.onopen = () => {
81
- console.log('WebSocket 连接成功')
82
- resolve()
83
- }
84
-
85
- this.ws.onerror = (error) => {
86
- resolve('WebSocket 连接失败: ' + error.message)
87
- }
88
- })
89
- },
90
-
91
- setupAudioProcessing () {
92
- try {
93
- const source = this.audioContext.createMediaStreamSource(this.audioStream)
94
- const processor = this.audioContext.createScriptProcessor(4096, 1, 1)
95
-
96
- processor.onaudioprocess = (e) => {
97
- // if (!this.isRecording) return
98
-
99
- const inputData = e.inputBuffer.getChannelData(0)
100
-
101
- // Resample to 16000 Hz if needed
102
- const resampledData = this.resample(inputData, this.audioContext.sampleRate, 16000)
103
-
104
- this.audioChunks.push(new Float32Array(resampledData))
105
-
106
- // Convert to 16-bit PCM and send via WebSocket
107
- const byteArray = this.convertTo16BitPCM(resampledData)
108
-
109
- const finalData = new Uint8Array(1 + byteArray.length) // 创建最终数据数组
110
- finalData[0] = 1 // 第一个字节为类型,值为1
111
- finalData.set(byteArray, 1) // 设置实际数据
112
-
113
- this.ws.send(finalData) // 发送最终数据
114
- }
115
-
116
- source.connect(processor)
117
- processor.connect(this.audioContext.destination)
118
- return {
119
- code: 200,
120
- msg: '录音初始化成功'
121
- }
122
- } catch (error) {
123
- console.error('Error setting up audio processing:', error)
124
- return {
125
- code: 500,
126
- msg: '录音初始化出错:' + error.message
127
- }
128
- }
129
- },
130
-
131
- stopRecording () {
132
- console.log('停止录音')
133
-
134
- // 停止麦克风流
135
- if (this.audioStream) {
136
- this.audioStream.getTracks().forEach((track) => track.stop())
137
- }
138
-
139
- if (this.audioContext) {
140
- this.audioContext.close()
141
- }
142
-
143
- // 发送结束信号
144
- const endSignal = new Uint8Array(1) // 创建一个长度为1的Uint8Array
145
- endSignal[0] = 2 // 直接发送类型,值为2
146
- this.ws.send(endSignal) // 发送结束信号
147
-
148
- this.isRecording = false
149
-
150
- return {
151
- code: 200,
152
- msg: '录音已停止'
153
- }
154
- },
155
-
156
- saveAudioFile () {
157
- const audioBuffer = this.mergeAudioChunks(this.audioChunks)
158
-
159
- // 转换为 WAV 格式
160
- const wavBlob = this.encodeWAV(audioBuffer, 16000)
161
-
162
- // 创建下载链接并触发下载
163
- const url = URL.createObjectURL(wavBlob)
164
- const a = document.createElement('a')
165
- a.style.display = 'none'
166
- a.href = url
167
- a.download = 'recording.wav'
168
- document.body.appendChild(a)
169
- a.click()
170
- window.URL.revokeObjectURL(url)
171
- },
172
-
173
- mergeAudioChunks (chunks) {
174
- const length = chunks.reduce((sum, chunk) => sum + chunk.length, 0)
175
- const result = new Float32Array(length)
176
- let offset = 0
177
- for (const chunk of chunks) {
178
- result.set(chunk, offset)
179
- offset += chunk.length
180
- }
181
- return result
182
- },
183
-
184
- encodeWAV (samples, sampleRate) {
185
- const buffer = new ArrayBuffer(44 + samples.length * 2)
186
- const view = new DataView(buffer)
187
-
188
- const writeString = (view, offset, string) => {
189
- for (let i = 0; i < string.length; i++) {
190
- view.setUint8(offset + i, string.charCodeAt(i))
191
- }
192
- }
193
-
194
- writeString(view, 0, 'RIFF')
195
- view.setUint32(4, 36 + samples.length * 2, true)
196
- writeString(view, 8, 'WAVE')
197
-
198
- writeString(view, 12, 'fmt ')
199
- view.setUint32(16, 16, true)
200
- view.setUint16(20, 1, true)
201
- view.setUint16(22, 1, true)
202
- view.setUint32(24, sampleRate, true)
203
- view.setUint32(28, sampleRate * 2, true)
204
- view.setUint16(32, 2, true)
205
- view.setUint16(34, 16, true)
206
-
207
- writeString(view, 36, 'data')
208
- view.setUint32(40, samples.length * 2, true)
209
-
210
- let offset = 44
211
- for (let i = 0; i < samples.length; i++) {
212
- const s = Math.max(-1, Math.min(1, samples[i]))
213
- view.setInt16(offset, s < 0 ? s * 0x8000 : s * 0x7fff, true)
214
- offset += 2
215
- }
216
-
217
- return new Blob([buffer], { type: 'audio/wav' })
218
- },
219
-
220
- resample (data, inputSampleRate, outputSampleRate) {
221
- if (inputSampleRate === outputSampleRate) {
222
- return data
223
- }
224
- const sampleRateRatio = inputSampleRate / outputSampleRate
225
- const newLength = Math.round(data.length / sampleRateRatio)
226
- const resampledData = new Float32Array(newLength)
227
- for (let i = 0; i < newLength; i++) {
228
- const index = Math.round(i * sampleRateRatio)
229
- resampledData[i] = data[index]
230
- }
231
- return resampledData
232
- },
233
-
234
- convertTo16BitPCM (data) {
235
- const output = new Int16Array(data.length)
236
- for (let i = 0; i < data.length; i++) {
237
- output[i] = Math.max(-1, Math.min(1, data[i])) * 0x7fff
238
- }
239
- return new Uint8Array(output.buffer)
240
- },
241
-
242
- async getRecordingData () {
243
- return new Promise((resolve) => {
244
- this.resolvePromise = resolve
245
-
246
- if (!this.ws) {
247
- // 如果 WebSocket 未初始化,直接拒绝
248
- console.log('错误结束')
249
- resolve(this.inputData)
250
- }
251
- })
252
- },
253
-
254
- resRecordingData () {
255
- }
256
- }
257
- }
258
- }
1
+ // recordingPlugin.js
2
+ export default {
3
+ install (Vue) {
4
+ Vue.prototype.$recording = {
5
+ isRecording: false, // 标识是否正在录音
6
+ mediaRecorder: null, // MediaRecorder 实例
7
+ audioChunks: [], // 存储录音数据块
8
+ audioUrl: null, // 录音生成的 URL
9
+ inputData: '',
10
+ audioContext: null,
11
+ audioStream: null,
12
+ ws: null,
13
+ resolvePromise: null, // 用于保存 Promise 的 resolve 函数
14
+
15
+ async startRecording () {
16
+ this.inputData = ''
17
+ this.audioChunks = []
18
+
19
+ const url = 'ws://192.168.50.67:30288/websocket/bash' // WebSocket地址
20
+ this.setupWebSocket(url)
21
+
22
+ // 等待 WebSocket 连接成功
23
+ const result = await this.waitForWebSocketConnection()
24
+
25
+ if (result) {
26
+ return {
27
+ code: 500,
28
+ msg: result
29
+ }
30
+ }
31
+
32
+ this.isRecording = true
33
+
34
+ // 初始化 AudioContext
35
+ this.audioContext = new (window.AudioContext || window.webkitAudioContext)()
36
+
37
+ if (!navigator.mediaDevices || !navigator.mediaDevices.getUserMedia) {
38
+ this.ws.close()
39
+ return {
40
+ code: 500,
41
+ msg: '录音软件不支持您的浏览器!请使用现代浏览器或确保您正在使用 HTTPS。'
42
+ }
43
+ }
44
+ // 获取麦克风输入流
45
+ this.audioStream = await navigator.mediaDevices.getUserMedia({ audio: true })
46
+
47
+ // 设置音频处理流程
48
+ this.setupAudioProcessing()
49
+
50
+ return {
51
+ code: 200,
52
+ msg: '开始录音'
53
+ }
54
+ },
55
+
56
+ setupWebSocket (url) {
57
+ this.ws = new WebSocket(url)
58
+
59
+ this.ws.onmessage = (event) => {
60
+ const data = JSON.parse(event.data)
61
+ console.log('Result:', data.result)
62
+ if (data.result !== undefined) {
63
+ this.inputData += data.result
64
+ }
65
+ if (!this.isRecording) {
66
+ this.ws.close()
67
+ }
68
+ }
69
+
70
+ this.ws.onclose = () => {
71
+ console.log('WebSocket closed.')
72
+ this.resRecordingData()
73
+ this.resolvePromise(this.inputData)
74
+ }
75
+ this.ws.onerror = (error) => console.error('WebSocket error:', error)
76
+ },
77
+
78
+ waitForWebSocketConnection () {
79
+ return new Promise((resolve) => {
80
+ this.ws.onopen = () => {
81
+ console.log('WebSocket 连接成功')
82
+ resolve()
83
+ }
84
+
85
+ this.ws.onerror = (error) => {
86
+ resolve('WebSocket 连接失败: ' + error.message)
87
+ }
88
+ })
89
+ },
90
+
91
+ setupAudioProcessing () {
92
+ try {
93
+ const source = this.audioContext.createMediaStreamSource(this.audioStream)
94
+ const processor = this.audioContext.createScriptProcessor(4096, 1, 1)
95
+
96
+ processor.onaudioprocess = (e) => {
97
+ // if (!this.isRecording) return
98
+
99
+ const inputData = e.inputBuffer.getChannelData(0)
100
+
101
+ // Resample to 16000 Hz if needed
102
+ const resampledData = this.resample(inputData, this.audioContext.sampleRate, 16000)
103
+
104
+ this.audioChunks.push(new Float32Array(resampledData))
105
+
106
+ // Convert to 16-bit PCM and send via WebSocket
107
+ const byteArray = this.convertTo16BitPCM(resampledData)
108
+
109
+ const finalData = new Uint8Array(1 + byteArray.length) // 创建最终数据数组
110
+ finalData[0] = 1 // 第一个字节为类型,值为1
111
+ finalData.set(byteArray, 1) // 设置实际数据
112
+
113
+ this.ws.send(finalData) // 发送最终数据
114
+ }
115
+
116
+ source.connect(processor)
117
+ processor.connect(this.audioContext.destination)
118
+ return {
119
+ code: 200,
120
+ msg: '录音初始化成功'
121
+ }
122
+ } catch (error) {
123
+ console.error('Error setting up audio processing:', error)
124
+ return {
125
+ code: 500,
126
+ msg: '录音初始化出错:' + error.message
127
+ }
128
+ }
129
+ },
130
+
131
+ stopRecording () {
132
+ console.log('停止录音')
133
+
134
+ // 停止麦克风流
135
+ if (this.audioStream) {
136
+ this.audioStream.getTracks().forEach((track) => track.stop())
137
+ }
138
+
139
+ if (this.audioContext) {
140
+ this.audioContext.close()
141
+ }
142
+
143
+ // 发送结束信号
144
+ const endSignal = new Uint8Array(1) // 创建一个长度为1的Uint8Array
145
+ endSignal[0] = 2 // 直接发送类型,值为2
146
+ this.ws.send(endSignal) // 发送结束信号
147
+
148
+ this.isRecording = false
149
+
150
+ return {
151
+ code: 200,
152
+ msg: '录音已停止'
153
+ }
154
+ },
155
+
156
+ saveAudioFile () {
157
+ const audioBuffer = this.mergeAudioChunks(this.audioChunks)
158
+
159
+ // 转换为 WAV 格式
160
+ const wavBlob = this.encodeWAV(audioBuffer, 16000)
161
+
162
+ // 创建下载链接并触发下载
163
+ const url = URL.createObjectURL(wavBlob)
164
+ const a = document.createElement('a')
165
+ a.style.display = 'none'
166
+ a.href = url
167
+ a.download = 'recording.wav'
168
+ document.body.appendChild(a)
169
+ a.click()
170
+ window.URL.revokeObjectURL(url)
171
+ },
172
+
173
+ mergeAudioChunks (chunks) {
174
+ const length = chunks.reduce((sum, chunk) => sum + chunk.length, 0)
175
+ const result = new Float32Array(length)
176
+ let offset = 0
177
+ for (const chunk of chunks) {
178
+ result.set(chunk, offset)
179
+ offset += chunk.length
180
+ }
181
+ return result
182
+ },
183
+
184
+ encodeWAV (samples, sampleRate) {
185
+ const buffer = new ArrayBuffer(44 + samples.length * 2)
186
+ const view = new DataView(buffer)
187
+
188
+ const writeString = (view, offset, string) => {
189
+ for (let i = 0; i < string.length; i++) {
190
+ view.setUint8(offset + i, string.charCodeAt(i))
191
+ }
192
+ }
193
+
194
+ writeString(view, 0, 'RIFF')
195
+ view.setUint32(4, 36 + samples.length * 2, true)
196
+ writeString(view, 8, 'WAVE')
197
+
198
+ writeString(view, 12, 'fmt ')
199
+ view.setUint32(16, 16, true)
200
+ view.setUint16(20, 1, true)
201
+ view.setUint16(22, 1, true)
202
+ view.setUint32(24, sampleRate, true)
203
+ view.setUint32(28, sampleRate * 2, true)
204
+ view.setUint16(32, 2, true)
205
+ view.setUint16(34, 16, true)
206
+
207
+ writeString(view, 36, 'data')
208
+ view.setUint32(40, samples.length * 2, true)
209
+
210
+ let offset = 44
211
+ for (let i = 0; i < samples.length; i++) {
212
+ const s = Math.max(-1, Math.min(1, samples[i]))
213
+ view.setInt16(offset, s < 0 ? s * 0x8000 : s * 0x7fff, true)
214
+ offset += 2
215
+ }
216
+
217
+ return new Blob([buffer], { type: 'audio/wav' })
218
+ },
219
+
220
+ resample (data, inputSampleRate, outputSampleRate) {
221
+ if (inputSampleRate === outputSampleRate) {
222
+ return data
223
+ }
224
+ const sampleRateRatio = inputSampleRate / outputSampleRate
225
+ const newLength = Math.round(data.length / sampleRateRatio)
226
+ const resampledData = new Float32Array(newLength)
227
+ for (let i = 0; i < newLength; i++) {
228
+ const index = Math.round(i * sampleRateRatio)
229
+ resampledData[i] = data[index]
230
+ }
231
+ return resampledData
232
+ },
233
+
234
+ convertTo16BitPCM (data) {
235
+ const output = new Int16Array(data.length)
236
+ for (let i = 0; i < data.length; i++) {
237
+ output[i] = Math.max(-1, Math.min(1, data[i])) * 0x7fff
238
+ }
239
+ return new Uint8Array(output.buffer)
240
+ },
241
+
242
+ async getRecordingData () {
243
+ return new Promise((resolve) => {
244
+ this.resolvePromise = resolve
245
+
246
+ if (!this.ws) {
247
+ // 如果 WebSocket 未初始化,直接拒绝
248
+ console.log('错误结束')
249
+ resolve(this.inputData)
250
+ }
251
+ })
252
+ },
253
+
254
+ resRecordingData () {
255
+ }
256
+ }
257
+ }
258
+ }
@@ -1,23 +1,23 @@
1
- import GetLoginInfoService from '@vue2-client/base-client/plugins/GetLoginInfoService'
2
- import GetAppDataService from '@vue2-client/base-client/plugins/AppData'
3
- import getConfig from '@vue2-client/base-client/plugins/Config'
4
- import moment from '@vue2-client/base-client/plugins/moment'
5
- import recording from '@vue2-client/base-client/plugins/Recording'
6
-
7
- import VueI18nPlugin from './i18n-extend'
8
- import AuthorityPlugin from './authority-plugin'
9
- import TabsPagePlugin from './tabs-page-plugin'
10
-
11
- const Plugins = {
12
- install: function (Vue) {
13
- Vue.use(GetLoginInfoService)
14
- Vue.use(GetAppDataService)
15
- Vue.use(getConfig)
16
- Vue.use(moment)
17
- Vue.use(VueI18nPlugin)
18
- Vue.use(AuthorityPlugin)
19
- Vue.use(TabsPagePlugin)
20
- Vue.use(recording)
21
- }
22
- }
23
- export default Plugins
1
+ import GetLoginInfoService from '@vue2-client/base-client/plugins/GetLoginInfoService'
2
+ import GetAppDataService from '@vue2-client/base-client/plugins/AppData'
3
+ import getConfig from '@vue2-client/base-client/plugins/Config'
4
+ import moment from '@vue2-client/base-client/plugins/moment'
5
+ import recording from '@vue2-client/base-client/plugins/Recording'
6
+
7
+ import VueI18nPlugin from './i18n-extend'
8
+ import AuthorityPlugin from './authority-plugin'
9
+ import TabsPagePlugin from './tabs-page-plugin'
10
+
11
+ const Plugins = {
12
+ install: function (Vue) {
13
+ Vue.use(GetLoginInfoService)
14
+ Vue.use(GetAppDataService)
15
+ Vue.use(getConfig)
16
+ Vue.use(moment)
17
+ Vue.use(VueI18nPlugin)
18
+ Vue.use(AuthorityPlugin)
19
+ Vue.use(TabsPagePlugin)
20
+ Vue.use(recording)
21
+ }
22
+ }
23
+ export default Plugins
@@ -1,39 +1,39 @@
1
- const TabsPagePlugin = {
2
- install (Vue) {
3
- Vue.mixin({
4
- methods: {
5
- $closePage (closeRoute, nextRoute) {
6
- const event = new CustomEvent('page:close', { detail: { closeRoute, nextRoute } })
7
- window.dispatchEvent(event)
8
- },
9
- $refreshPage (route) {
10
- const path = typeof route === 'object' ? route.path : route
11
- const event = new CustomEvent('page:refresh', { detail: { pageKey: path } })
12
- window.dispatchEvent(event)
13
- },
14
- $openPage (route, title) {
15
- this.$setPageTitle(route, title)
16
- this.$router.push(route)
17
- },
18
- $setPageTitle (route, title) {
19
- if (title) {
20
- // let path = typeof route === 'object' ? route.path : route
21
- // path = path && path.split('?')[0]
22
- const path = typeof route === 'object' ? this.$router.resolve(route).route.fullPath : route
23
- this.$store.commit('setting/setCustomTitle', { path, title })
24
- }
25
- }
26
- },
27
- computed: {
28
- customTitle () {
29
- const customTitles = this.$store.state.setting.customTitles
30
- // const path = this.$route.path.split('?')[0]
31
- const custom = customTitles.find(item => item.path === this.$route.fullPath)
32
- return custom && custom.title
33
- }
34
- }
35
- })
36
- }
37
- }
38
-
39
- export default TabsPagePlugin
1
+ const TabsPagePlugin = {
2
+ install (Vue) {
3
+ Vue.mixin({
4
+ methods: {
5
+ $closePage (closeRoute, nextRoute) {
6
+ const event = new CustomEvent('page:close', { detail: { closeRoute, nextRoute } })
7
+ window.dispatchEvent(event)
8
+ },
9
+ $refreshPage (route) {
10
+ const path = typeof route === 'object' ? route.path : route
11
+ const event = new CustomEvent('page:refresh', { detail: { pageKey: path } })
12
+ window.dispatchEvent(event)
13
+ },
14
+ $openPage (route, title) {
15
+ this.$setPageTitle(route, title)
16
+ this.$router.push(route)
17
+ },
18
+ $setPageTitle (route, title) {
19
+ if (title) {
20
+ // let path = typeof route === 'object' ? route.path : route
21
+ // path = path && path.split('?')[0]
22
+ const path = typeof route === 'object' ? this.$router.resolve(route).route.fullPath : route
23
+ this.$store.commit('setting/setCustomTitle', { path, title })
24
+ }
25
+ }
26
+ },
27
+ computed: {
28
+ customTitle () {
29
+ const customTitles = this.$store.state.setting.customTitles
30
+ // const path = this.$route.path.split('?')[0]
31
+ const custom = customTitles.find(item => item.path === this.$route.fullPath)
32
+ return custom && custom.title
33
+ }
34
+ }
35
+ })
36
+ }
37
+ }
38
+
39
+ export default TabsPagePlugin