vue2-client 1.14.64 → 1.14.65

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 (369) 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/public/his/editor/editor_20250606134713.html +51 -0
  8. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527173925.vue +509 -0
  9. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174316.vue +524 -0
  10. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174419.vue +524 -0
  11. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174422.vue +524 -0
  12. package/.history/src/base-client/components/common/XForm/XFormItem_20250508134122.vue +1320 -0
  13. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171604.vue +1332 -0
  14. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171613.vue +1331 -0
  15. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171703.vue +1331 -0
  16. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171720.vue +1331 -0
  17. package/.history/src/base-client/components/common/XForm/XFormItem_20250527174327.vue +1339 -0
  18. package/CHANGELOG.md +824 -824
  19. package/Components.md +60 -60
  20. package/Users/objecrt/af-vue2-client/src/base-client/components/his/XShiftSchedule/XShiftSchedule.vue +36 -0
  21. package/docs/Logic/345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +46 -45
  22. package/docs/LowCode/lowcode.md +155 -155
  23. package/docs/LowCode/lowcodeForDeveloper.md +230 -230
  24. package/docs/index.md +30 -30
  25. package/docs//345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +2 -1
  26. package/index.js +31 -31
  27. package/jest-transform-stub.js +8 -8
  28. package/jest.setup.js +7 -7
  29. package/jsconfig.json +19 -19
  30. package/package.json +1 -1
  31. package/public/his/editor/editor.html +51 -51
  32. package/public/his/editor/mock/bind_data.html +779 -779
  33. package/public/his/editor/mock/data_table.html +40 -40
  34. package/public/his/editor/mock/sign.html +75 -75
  35. package/public/his/editor/vender/JsBarcode.all.js +3669 -3669
  36. package/public/his/editor/vender/date97/My97DatePicker.htm +65 -65
  37. package/public/his/editor/vender/date97/WdatePicker.js +677 -677
  38. package/public/his/editor/vender/date97/calendar.js +4 -4
  39. package/public/his/editor/vender/date97/lang/en.js +13 -13
  40. package/public/his/editor/vender/date97/lang/zh-cn.js +13 -13
  41. package/public/his/editor/vender/date97/lang/zh-tw.js +13 -13
  42. package/public/his/editor/vender/date97/skin/WdatePicker.css +10 -10
  43. package/public/his/editor/vender/date97/skin/default/datepicker.css +328 -328
  44. package/public/his/editor/vender/date97/skin/ext/datepicker.css +308 -308
  45. package/public/his/editor/vender/date97/skin/whyGreen/datepicker.css +255 -255
  46. package/public/his/editor/vender/diff.js +1627 -1627
  47. package/public/his/editor/vender/editor.js +1 -1
  48. package/public/his/editor/vender/fabric.js +31187 -31187
  49. package/public/his/editor/vender/jquery/jquery.base64.js +190 -190
  50. package/public/his/editor/vender/jquery/jquery.js +10872 -10872
  51. package/public/his/editor/vender/jquery/jquery.print.js +255 -255
  52. package/public/his/editor/vender/jquery/zTreeStyle/zTreeStyle.css +96 -96
  53. package/public/his/editor/vender/mui/mui.min.css +4 -4
  54. package/public/his/editor/vender/mui/mui.min.js +5 -5
  55. package/public/his/editor/vender/mui/mui.picker.min.css +6 -6
  56. package/public/his/editor/vender/mui/mui.picker.min.js +6 -6
  57. package/public/his/editor/vender/qrcode.js +7 -7
  58. package/public/his/editor/vender/requirejs/require.js +2145 -2145
  59. package/public/his/editor/vender/signature/jSignature.CompressorSVG.js +518 -518
  60. package/public/his/editor/vender/signature/jSignature.UndoButton.js +164 -164
  61. package/public/his/editor/vender/signature/jSignature.js +1486 -1486
  62. package/public/his/editor/vender/validator.js +5094 -5094
  63. package/public/his/editor/vender/weui/weui.css +5659 -5659
  64. package/public/his/editor/vender/weui/weui.min.css +4 -4
  65. package/public/his/editor/vender/weui/weui.min.js +11 -11
  66. package/public/index.html +27 -27
  67. package/src/ReportView.js +19 -19
  68. package/src/assets/img/querySlotDemo.svg +15 -15
  69. package/src/assets/svg/badtwo.svg +1 -1
  70. package/src/assets/svg/goodtwo.svg +1 -1
  71. package/src/base-client/components/AI/AskAiBtn.vue +136 -136
  72. package/src/base-client/components/AI/demo.vue +31 -31
  73. package/src/base-client/components/TreeList/TreeList.vue +91 -0
  74. package/src/base-client/components/TreeList/TreeNode.vue +81 -0
  75. package/src/base-client/components/common/AMisRender/index.js +3 -3
  76. package/src/base-client/components/common/AMisRender/index.vue +263 -263
  77. package/src/base-client/components/common/AddressSearchCombobox/IcMapIcon.vue +16 -16
  78. package/src/base-client/components/common/AddressSearchCombobox/demo.vue +36 -36
  79. package/src/base-client/components/common/AddressSearchCombobox/ic_map.svg +6 -6
  80. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  81. package/src/base-client/components/common/CitySelect/index.js +3 -3
  82. package/src/base-client/components/common/CitySelect/index.md +109 -109
  83. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
  84. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1014 -1014
  85. package/src/base-client/components/common/CreateQuery/index.js +3 -3
  86. package/src/base-client/components/common/CreateQuery/index.md +42 -42
  87. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +452 -452
  88. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +511 -511
  89. package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
  90. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
  91. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  92. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  93. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
  94. package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
  95. package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
  96. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  97. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorModal.vue +108 -108
  98. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorPanel.vue +413 -413
  99. package/src/base-client/components/common/LowCodeComponent/LowCodePageOrganization.vue +502 -502
  100. package/src/base-client/components/common/LowCodeComponent/LowCodeRender.vue +728 -728
  101. package/src/base-client/components/common/LowCodeComponent/LowCodeRenderEnter.vue +29 -29
  102. package/src/base-client/components/common/LowCodeComponent/LowCodeUIStore.vue +219 -219
  103. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeAddPageModal.vue +117 -117
  104. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeCustomJSModal.vue +80 -80
  105. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeEventEditorModal.vue +398 -398
  106. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLifeCycleModal.vue +65 -65
  107. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicCallbackModal.vue +64 -64
  108. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicParamModal.vue +73 -73
  109. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeRunFunctionParamModal.vue +76 -76
  110. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
  111. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  112. package/src/base-client/components/common/Recording/Recording.vue +243 -243
  113. package/src/base-client/components/common/Recording/index.js +3 -3
  114. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  115. package/src/base-client/components/common/Tree/index.js +2 -2
  116. package/src/base-client/components/common/Upload/index.js +3 -3
  117. package/src/base-client/components/common/XAddForm/XAddForm.vue +113 -113
  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/XTabDemo.vue +22 -22
  181. package/src/base-client/components/common/XTab/index.js +3 -3
  182. package/src/base-client/components/common/XTable/CustomFuncCel.vue +51 -51
  183. package/src/base-client/components/common/XTable/TableCellRenderer.vue +161 -161
  184. package/src/base-client/components/common/XTable/index.md +255 -255
  185. package/src/base-client/components/common/XTagGroup/index.vue +52 -52
  186. package/src/base-client/components/common/XTree/XTree.vue +424 -424
  187. package/src/base-client/components/common/XTree/index.js +3 -3
  188. package/src/base-client/components/common/XTree/index.md +36 -36
  189. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +113 -113
  190. package/src/base-client/components/common/XTreeOne/XTreeOnePro.vue +128 -128
  191. package/src/base-client/components/common/richTextModal/index.vue +56 -56
  192. package/src/base-client/components/common/richTextModal/richDemo.vue +48 -48
  193. package/src/base-client/components/his/XHisEditor/index.js +3 -3
  194. package/src/base-client/components/his/XTextCard/XTextCard.vue +207 -207
  195. package/src/base-client/components/his/XTreeRows/TreeNode.vue +100 -100
  196. package/src/base-client/components/his/XTreeRows/XTreeRows.vue +197 -197
  197. package/src/base-client/components/his/threeTestOrders/dome.vue +53 -2
  198. package/src/base-client/components/his/threeTestOrders/editor.vue +111 -111
  199. package/src/base-client/components/his/threeTestOrders/index.md +0 -0
  200. package/src/base-client/components/his/threeTestOrders/textBox.vue +6 -12
  201. package/src/base-client/components/his/threeTestOrders/threeTestOrders.vue +55 -19
  202. package/src/base-client/components/index.js +51 -51
  203. package/src/base-client/components/layout/XPageView/XErrorView.vue +11 -11
  204. package/src/base-client/components/layout/XPageView/XPageView.vue +155 -155
  205. package/src/base-client/components/layout/XPageView/index.js +3 -3
  206. package/src/base-client/components/layout/XPageView/index.md +38 -38
  207. package/src/base-client/components/layout/XTreeView/XTreeView.vue +130 -130
  208. package/src/base-client/components/layout/XTreeView/index.js +3 -3
  209. package/src/base-client/components/layout/XTreeView/index.md +46 -46
  210. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  211. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  212. package/src/base-client/plugins/Config.js +19 -19
  213. package/src/base-client/plugins/GetLoginInfoService.js +183 -183
  214. package/src/base-client/plugins/Recording.js +258 -258
  215. package/src/base-client/plugins/index.js +23 -23
  216. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  217. package/src/components/Charts/Bar.vue +62 -62
  218. package/src/components/Charts/ChartCard.vue +134 -134
  219. package/src/components/Charts/Liquid.vue +67 -67
  220. package/src/components/Charts/MiniArea.vue +39 -39
  221. package/src/components/Charts/MiniBar.vue +39 -39
  222. package/src/components/Charts/MiniProgress.vue +75 -75
  223. package/src/components/Charts/MiniSmoothArea.vue +40 -40
  224. package/src/components/Charts/Radar.vue +68 -68
  225. package/src/components/Charts/RankList.vue +77 -77
  226. package/src/components/Charts/TagCloud.vue +113 -113
  227. package/src/components/Charts/TransferBar.vue +64 -64
  228. package/src/components/Charts/Trend.vue +82 -82
  229. package/src/components/Charts/chart.less +12 -12
  230. package/src/components/Charts/smooth.area.less +13 -13
  231. package/src/components/CodeMirror/inedx.vue +118 -118
  232. package/src/components/CodeMirror/setting.js +40 -40
  233. package/src/components/HeightScanner/index.vue +571 -571
  234. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  235. package/src/components/NumberInfo/index.js +3 -3
  236. package/src/components/NumberInfo/index.less +54 -54
  237. package/src/components/NumberInfo/index.md +43 -43
  238. package/src/components/card/ChartCard.vue +79 -79
  239. package/src/components/chart/Bar.vue +60 -60
  240. package/src/components/chart/MiniArea.vue +67 -67
  241. package/src/components/chart/MiniBar.vue +59 -59
  242. package/src/components/chart/MiniProgress.vue +57 -57
  243. package/src/components/chart/Radar.vue +80 -80
  244. package/src/components/chart/RankingList.vue +60 -60
  245. package/src/components/chart/Trend.vue +79 -79
  246. package/src/components/chart/index.less +9 -9
  247. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  248. package/src/components/checkbox/ImgCheckbox.vue +117 -117
  249. package/src/components/checkbox/ImgCheckboxGroup.vue +76 -76
  250. package/src/components/checkbox/index.js +9 -9
  251. package/src/components/exception/ExceptionPage.vue +70 -70
  252. package/src/components/g2Charts/constants.js +202 -202
  253. package/src/components/g2Charts/demo.vue +808 -808
  254. package/src/components/g2Charts/designer.vue +228 -228
  255. package/src/components/g2Charts/designerBaseConfig.vue +61 -61
  256. package/src/components/g2Charts/designerDataConfig.vue +259 -259
  257. package/src/components/g2Charts/designerStyleConfig.vue +16 -16
  258. package/src/components/g2Charts/index.vue +397 -397
  259. package/src/components/index.js +36 -36
  260. package/src/components/input/IInput.vue +66 -66
  261. package/src/components/menu/SideMenu.vue +75 -75
  262. package/src/components/menu/menu.js +273 -273
  263. package/src/components/setting/Setting.vue +234 -234
  264. package/src/components/tool/AStepItem.vue +60 -60
  265. package/src/config/CreateQueryConfig.js +325 -325
  266. package/src/config/default/antd.config.js +89 -89
  267. package/src/config/default/setting.config.js +55 -55
  268. package/src/font-style/font.css +4 -4
  269. package/src/layouts/CommonLayout.vue +56 -56
  270. package/src/layouts/PageLayout.vue +151 -151
  271. package/src/layouts/SinglePageView.vue +136 -136
  272. package/src/layouts/header/AdminHeader.vue +132 -132
  273. package/src/layouts/header/HeaderNotice.vue +177 -177
  274. package/src/layouts/header/InstitutionDetail.vue +181 -181
  275. package/src/layouts/tabs/TabsHead.vue +189 -189
  276. package/src/layouts/tabs/TabsView.vue +389 -389
  277. package/src/lib.js +1 -1
  278. package/src/main.js +34 -34
  279. package/src/mock/extend/index.js +84 -84
  280. package/src/mock/goods/index.js +108 -108
  281. package/src/pages/AMisDemo/AMisDemo.vue +325 -325
  282. package/src/pages/AMisDemo/AMisDemo2.vue +74 -74
  283. package/src/pages/DefaultExample/index.vue +77 -77
  284. package/src/pages/DynamicStatistics/ChartSelector.vue +331 -331
  285. package/src/pages/DynamicStatistics/DataTabs.vue +83 -83
  286. package/src/pages/DynamicStatistics/DynamicTable.vue +128 -128
  287. package/src/pages/DynamicStatistics/EvaluationArea.vue +69 -69
  288. package/src/pages/DynamicStatistics/FavoriteList.vue +50 -50
  289. package/src/pages/DynamicStatistics/QuestionHistoryAndFavorites.vue +591 -591
  290. package/src/pages/DynamicStatistics/SearchBar.vue +192 -192
  291. package/src/pages/DynamicStatistics/index.vue +282 -282
  292. package/src/pages/Example/childIndex.vue +15 -15
  293. package/src/pages/Example/index.vue +30 -30
  294. package/src/pages/NewDynamicStatistics/ChartSelector.vue +331 -331
  295. package/src/pages/NewDynamicStatistics/DataTabs.vue +122 -122
  296. package/src/pages/NewDynamicStatistics/DynamicTable.vue +128 -128
  297. package/src/pages/NewDynamicStatistics/EvaluationArea.vue +69 -69
  298. package/src/pages/NewDynamicStatistics/FavoriteList.vue +50 -50
  299. package/src/pages/NewDynamicStatistics/QuestionHistoryAndFavorites.vue +289 -289
  300. package/src/pages/NewDynamicStatistics/SearchBar.vue +193 -193
  301. package/src/pages/NewDynamicStatistics/index.vue +258 -258
  302. package/src/pages/Recording/index.vue +77 -77
  303. package/src/pages/ServiceReview/index.vue +284 -284
  304. package/src/pages/SubExample/index.vue +26 -26
  305. package/src/pages/WorkflowDetail/WorkflowPageDetail/TrimTextTail.vue +23 -23
  306. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformationDetails.vue +276 -276
  307. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandleReso.vue +975 -975
  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/XPageViewExample/index.vue +38 -38
  312. package/src/pages/XReportView/index.vue +64 -64
  313. package/src/pages/XTreeOneProExample/index.vue +67 -67
  314. package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
  315. package/src/pages/login/Login.vue +378 -378
  316. package/src/pages/login/LoginV3.vue +389 -389
  317. package/src/pages/lowCode/lowCodeEditor.vue +1219 -1219
  318. package/src/pages/lowCode/lowCodeRenderPage.vue +43 -43
  319. package/src/pages/report/ReportTable.js +124 -124
  320. package/src/pages/resourceManage/orgListManage.vue +98 -98
  321. package/src/pages/system/dictionary/index.vue +44 -44
  322. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  323. package/src/pages/system/monitor/operLog/index.vue +37 -37
  324. package/src/pages/system/settings/modifyPassword.vue +117 -117
  325. package/src/pages/system/ticket/index.vue +480 -480
  326. package/src/pages/system/ticket/submitTicketSuccess.vue +484 -484
  327. package/src/pages/userInfoDetailManage/ChangeMeterRecordQuery/index.vue +64 -64
  328. package/src/pages/userInfoDetailManage/InfoChangeRecordQuery/index.vue +64 -64
  329. package/src/pages/userInfoDetailManage/InstructRecordQuery/index.vue +64 -64
  330. package/src/pages/userInfoDetailManage/MeterParamRecordQuery/index.vue +64 -64
  331. package/src/pages/userInfoDetailManage/TransferRecordQuery/index.vue +66 -66
  332. package/src/pages/userInfoDetailManage/WatchCollectionRecordQuery/index.vue +64 -64
  333. package/src/plugins/EventLogPlugin.js +33 -33
  334. package/src/plugins/FindParentsData.js +17 -17
  335. package/src/router/async/config.async.js +35 -35
  336. package/src/router/index.js +27 -27
  337. package/src/router.js +19 -19
  338. package/src/services/DataModel.js +30 -30
  339. package/src/services/LodopFuncs.js +137 -137
  340. package/src/services/api/TicketDetailsViewApi.js +46 -46
  341. package/src/services/api/cas.js +79 -79
  342. package/src/services/api/common.js +346 -346
  343. package/src/services/api/entity.js +18 -18
  344. package/src/services/api/index.js +17 -17
  345. package/src/services/api/workFlow.js +61 -61
  346. package/src/store/modules/account.js +115 -115
  347. package/src/store/modules/index.js +5 -5
  348. package/src/store/modules/lowCode.js +33 -33
  349. package/src/store/modules/setting.js +119 -119
  350. package/src/theme/default/style.less +58 -58
  351. package/src/theme/global.less +159 -159
  352. package/src/utils/authority-utils.js +85 -85
  353. package/src/utils/errorCode.js +6 -6
  354. package/src/utils/formatter.js +74 -74
  355. package/src/utils/htmlToPDF.js +108 -108
  356. package/src/utils/htmlToPDFApi.js +5 -5
  357. package/src/utils/login.js +188 -188
  358. package/src/utils/lowcode/lowcodeComponentMixin.js +120 -120
  359. package/src/utils/lowcode/lowcodeLog.js +29 -29
  360. package/src/utils/lowcode/lowcodeUtils.js +373 -373
  361. package/src/utils/lowcode/registerComponentForEditor.js +1 -1
  362. package/src/utils/lowcode/registerComponentForRender.js +11 -11
  363. package/src/utils/map-utils.js +47 -47
  364. package/src/utils/reg.js +95 -95
  365. package/src/utils/runEvalFunction.js +14 -14
  366. package/src/utils/theme-color-replacer-extend.js +92 -92
  367. package/src/utils/util.js +329 -329
  368. package/src/utils/waterMark.js +31 -31
  369. 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