hs-admin-ui 1.0.0 → 1.0.2

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 (433) hide show
  1. package/dist/favicon.ico +0 -0
  2. package/dist/style.css +1 -0
  3. package/dist/style.css.gz +0 -0
  4. package/dist/umd/index.js +175 -0
  5. package/dist/umd/index.js.gz +0 -0
  6. package/package.json +5 -2
  7. package/.env +0 -11
  8. package/.env.development +0 -5
  9. package/.env.production +0 -5
  10. package/.eslintignore +0 -18
  11. package/.eslintrc.js +0 -104
  12. package/.prettierrc.js +0 -39
  13. package/.vite/deps_temp_3669a513/chunk-FVXAE7ZR.js +0 -11400
  14. package/.vite/deps_temp_3669a513/chunk-ZS7NZCD4.js +0 -36
  15. package/.vite/deps_temp_3669a513/default-passive-events.js +0 -25
  16. package/.vite/deps_temp_3669a513/element-plus.js +0 -65013
  17. package/.vite/deps_temp_3669a513/lodash.js +0 -5497
  18. package/.vite/deps_temp_3669a513/package.json +0 -3
  19. package/.vite/deps_temp_3669a513/vue.js +0 -324
  20. package/.vite/deps_temp_3669a513/vxe-table.js +0 -32336
  21. package/CHANGELOG.md +0 -1
  22. package/directoryList.md +0 -180
  23. package/postcss.config.js +0 -7
  24. package/src/App.vue +0 -88
  25. package/src/api/fieldConfigController/index.ts +0 -76
  26. package/src/api/fieldConfigController/type.ts +0 -44
  27. package/src/api/login/index.ts +0 -78
  28. package/src/api/loginController/index.ts +0 -74
  29. package/src/api/menu/index.ts +0 -34
  30. package/src/api/menu/index2.ts +0 -291
  31. package/src/api/menuController/index.ts +0 -189
  32. package/src/api/systemController/index.ts +0 -26
  33. package/src/api/systemController/type.ts +0 -16
  34. package/src/api/test/index.ts +0 -22
  35. package/src/api/user/index.ts +0 -30
  36. package/src/assets/404.png +0 -0
  37. package/src/assets/logo-main.svg +0 -12
  38. package/src/assets/logo-mini.svg +0 -12
  39. package/src/components/base/hsAffix/src/hsAffix.vue +0 -22
  40. package/src/components/base/hsAlert/src/hsAlert.vue +0 -15
  41. package/src/components/base/hsAutocomplete/src/hsAutocomplete.vue +0 -36
  42. package/src/components/base/hsButton/src/hsButton.vue +0 -26
  43. package/src/components/base/hsButton/src/hsButtonGroup.vue +0 -8
  44. package/src/components/base/hsButton/useButtonEvents.ts +0 -19
  45. package/src/components/base/hsCalendar/src/hsCalendar.vue +0 -36
  46. package/src/components/base/hsCarousel/src/hsCarousel.vue +0 -15
  47. package/src/components/base/hsCarousel/src/hsCarouselItem.vue +0 -15
  48. package/src/components/base/hsCascader/src/hsCascader.vue +0 -36
  49. package/src/components/base/hsCascader/src/hsCascaderPanel.vue +0 -29
  50. package/src/components/base/hsCheckbox/src/hsCheckbox.vue +0 -32
  51. package/src/components/base/hsCheckbox/src/hsCheckboxButton.vue +0 -18
  52. package/src/components/base/hsCheckbox/src/hsCheckboxGroup.vue +0 -32
  53. package/src/components/base/hsCol/src/hsCol.vue +0 -20
  54. package/src/components/base/hsCollapse/src/hsCollapse.vue +0 -36
  55. package/src/components/base/hsCollapse/src/hsCollapseItem.vue +0 -22
  56. package/src/components/base/hsColorPicker/src/hsColorPicker.vue +0 -32
  57. package/src/components/base/hsDatePicker/src/hsDatePicker.vue +0 -40
  58. package/src/components/base/hsDialog/src/hsDialog.vue +0 -36
  59. package/src/components/base/hsDrawer/src/hsDrawer.vue +0 -29
  60. package/src/components/base/hsDropdown/src/hsDropdown.vue +0 -15
  61. package/src/components/base/hsDropdown/src/hsDropdownItem.vue +0 -15
  62. package/src/components/base/hsDropdown/src/hsDropdownMenu.vue +0 -15
  63. package/src/components/base/hsForm/src/hsForm.vue +0 -23
  64. package/src/components/base/hsForm/src/hsFormItem.vue +0 -22
  65. package/src/components/base/hsGetApi/src/hsGetApis.vue +0 -231
  66. package/src/components/base/hsGetApi/useGetApis.ts +0 -158
  67. package/src/components/base/hsInput/src/hsInput.vue +0 -40
  68. package/src/components/base/hsInput/useInputEvents.ts +0 -52
  69. package/src/components/base/hsInputNumber/src/hsInputNumber.vue +0 -31
  70. package/src/components/base/hsPopconfirm/src/hsPopconfirm.vue +0 -15
  71. package/src/components/base/hsPopover/src/hsPopover.vue +0 -22
  72. package/src/components/base/hsProgress/src/hsProgress.vue +0 -15
  73. package/src/components/base/hsRadio/src/hsRadio.vue +0 -32
  74. package/src/components/base/hsRadio/src/hsRadioButton.vue +0 -18
  75. package/src/components/base/hsRadio/src/hsRadioGroup.vue +0 -32
  76. package/src/components/base/hsRate/src/hsRate.vue +0 -33
  77. package/src/components/base/hsResult/src/hsResult.vue +0 -15
  78. package/src/components/base/hsRow/src/hsRow.vue +0 -20
  79. package/src/components/base/hsScrollbar/src/hsScrollbar.vue +0 -22
  80. package/src/components/base/hsSelect/src/hsOption.vue +0 -8
  81. package/src/components/base/hsSelect/src/hsOptionGroup.vue +0 -8
  82. package/src/components/base/hsSelect/src/hsSelect.vue +0 -42
  83. package/src/components/base/hsSelect/useSelectEvents.ts +0 -60
  84. package/src/components/base/hsSlider/src/hsSlider.vue +0 -25
  85. package/src/components/base/hsSteps/src/hsStep.vue +0 -15
  86. package/src/components/base/hsSteps/src/hsSteps.vue +0 -15
  87. package/src/components/base/hsSwitch/src/hsSwitch.vue +0 -35
  88. package/src/components/base/hsTable/hsBCTable.vue +0 -116
  89. package/src/components/base/hsTable/hsTable copy.vue +0 -226
  90. package/src/components/base/hsTable/hsTable.vue +0 -213
  91. package/src/components/base/hsTable/useHsTableConfig.ts +0 -95
  92. package/src/components/base/hsTable/useTableEvents.ts +0 -118
  93. package/src/components/base/hsTabs/src/hsTabPane.vue +0 -15
  94. package/src/components/base/hsTabs/src/hsTabs.vue +0 -29
  95. package/src/components/base/hsTag/src/hsCheckTag.vue +0 -16
  96. package/src/components/base/hsTag/src/hsTag.vue +0 -15
  97. package/src/components/base/hsTest/HsTest.vue +0 -320
  98. package/src/components/base/hsTooltip/src/hsTooltip.vue +0 -22
  99. package/src/components/base/hsTour/src/hsTour.vue +0 -31
  100. package/src/components/base/hsTour/src/hsTourStep.vue +0 -15
  101. package/src/components/base/hsTransfer/src/hsTransfer.vue +0 -36
  102. package/src/components/base/hsTree/src/hsTree.vue +0 -24
  103. package/src/components/base/hsTreeSelect/src/hsTreeSelect.vue +0 -39
  104. package/src/components/base/hsUpload/src/hsUpload.vue +0 -32
  105. package/src/components/base/hsWatermark/src/hsWatermark.vue +0 -15
  106. package/src/components/business/bcAutoComplete/bcAutoComplete.vue +0 -38
  107. package/src/components/business/bcAutoComplete/defaultData.ts +0 -25
  108. package/src/components/business/bcAutoComplete/useAutoComplete.ts +0 -65
  109. package/src/components/business/bcBtn/bcBtn.vue +0 -40
  110. package/src/components/business/bcForm/bcForm.vue +0 -113
  111. package/src/components/business/bcForm/bcFormDrag.vue +0 -104
  112. package/src/components/business/bcForm/bcFormSearch.vue +0 -154
  113. package/src/components/business/bcForm/components/sortForm/index.ts +0 -18
  114. package/src/components/business/bcForm/components/sortForm/sortForm.vue +0 -92
  115. package/src/components/business/bcFormConfig/bcFormConfig.vue +0 -196
  116. package/src/components/business/bcFormTable/bcFormTable.vue +0 -91
  117. package/src/components/business/bcFormTable/components/bcTabs/bcTabs.vue +0 -53
  118. package/src/components/business/bcFormTable/components/contextBody/contextBody.vue +0 -67
  119. package/src/components/business/bcFormTable/components/contextBody/useContextMenu.ts +0 -53
  120. package/src/components/business/bcFormTable/components/formSearchBtn/formSearchBtn.vue +0 -21
  121. package/src/components/business/bcFormTable/methods/cellDetailMethod.ts +0 -5
  122. package/src/components/business/bcFormTable/methods/filterAgeMethod.ts +0 -5
  123. package/src/components/business/bcFormTable/methods/footerMethod.ts +0 -25
  124. package/src/components/business/bcFormTable/methods/index.ts +0 -10
  125. package/src/components/business/bcFormTable/utils/onFormKey.ts +0 -121
  126. package/src/components/business/bcFormTable/utils/onTableKey.ts +0 -119
  127. package/src/components/business/bcFormTable/utils/parseTable.ts +0 -201
  128. package/src/components/business/bcFormTable/utils/useButon.ts +0 -20
  129. package/src/components/business/bcFormTable/utils/useTableHeight.ts +0 -44
  130. package/src/components/business/bcPageConfig/bcPageConfig.vue +0 -79
  131. package/src/components/business/bcPageConfig/components/hsBtn/src/hsAttrBtn.vue +0 -39
  132. package/src/components/business/bcPageConfig/components/hsBtn/src/hsBtnConfigList.vue +0 -45
  133. package/src/components/business/bcPageConfig/components/hsBtn/src/hsBtnItemConfig.vue +0 -32
  134. package/src/components/business/bcPageConfig/components/hsBtn/src/hsBtnPanel.vue +0 -45
  135. package/src/components/business/bcPageConfig/components/hsBtn/useAttrBtn.ts +0 -58
  136. package/src/components/business/bcPageConfig/components/hsBtn/useBtnConfigList.ts +0 -71
  137. package/src/components/business/bcPageConfig/components/hsBtn/useBtnItemConfig.ts +0 -35
  138. package/src/components/business/bcPageConfig/components/hsExpand/src/hsExpand.vue +0 -33
  139. package/src/components/business/bcPageConfig/components/hsExpand/useExpand.ts +0 -9
  140. package/src/components/business/bcPageConfig/components/hsForm/src/hsAttrForm.vue +0 -54
  141. package/src/components/business/bcPageConfig/components/hsForm/src/hsFormConfig.vue +0 -180
  142. package/src/components/business/bcPageConfig/components/hsForm/src/hsFormConfigList.vue +0 -45
  143. package/src/components/business/bcPageConfig/components/hsForm/src/hsFormPanel.vue +0 -64
  144. package/src/components/business/bcPageConfig/components/hsForm/src/hsFormParse.vue +0 -24
  145. package/src/components/business/bcPageConfig/components/hsForm/useAttrForm.ts +0 -108
  146. package/src/components/business/bcPageConfig/components/hsForm/useFormListConfig.ts +0 -69
  147. package/src/components/business/bcPageConfig/components/hsForm/useFormParse.ts +0 -120
  148. package/src/components/business/bcPageConfig/components/hsSaveForm/saveFormConfig.ts +0 -66
  149. package/src/components/business/bcPageConfig/components/hsSaveForm/src/saveForm.vue +0 -48
  150. package/src/components/business/bcPageConfig/components/hsSaveForm/useSaveForm.ts +0 -148
  151. package/src/components/business/bcPageConfig/components/hsTables/src/hsAttrTable.vue +0 -122
  152. package/src/components/business/bcPageConfig/components/hsTables/src/hsRecursionConfig.vue +0 -36
  153. package/src/components/business/bcPageConfig/components/hsTables/src/hsTableConfig.vue +0 -51
  154. package/src/components/business/bcPageConfig/components/hsTables/src/hsTableConfigList.vue +0 -46
  155. package/src/components/business/bcPageConfig/components/hsTables/src/hsTablePanel.vue +0 -68
  156. package/src/components/business/bcPageConfig/components/hsTables/src/hsTableParse.vue +0 -24
  157. package/src/components/business/bcPageConfig/components/hsTables/useAttrTable.ts +0 -218
  158. package/src/components/business/bcPageConfig/components/hsTables/useTableConfigList.ts +0 -77
  159. package/src/components/business/bcPageConfig/components/hsTables/useTableParse.ts +0 -78
  160. package/src/components/business/bcPageConfig/default/apis.json +0 -24712
  161. package/src/components/business/bcPageConfig/default/baseBtnConfig.ts +0 -256
  162. package/src/components/business/bcPageConfig/default/baseFormConfig.ts +0 -380
  163. package/src/components/business/bcPageConfig/default/baseTableConfig.ts +0 -2399
  164. package/src/components/business/bcPageConfig/usePageConfig.ts +0 -469
  165. package/src/components/business/bcSelect/bcSelect.vue +0 -50
  166. package/src/components/business/bcSwitchSystems/bcSwitchSystems.vue +0 -36
  167. package/src/components/business/bcSwitchSystems/useSwitchSystems.ts +0 -74
  168. package/src/components/business/bcTable/bcTable.vue +0 -63
  169. package/src/components/business/bcTable/components/sortColumn/index.ts +0 -19
  170. package/src/components/business/bcTable/components/sortColumn/sortColumn.vue +0 -107
  171. package/src/components/business/bcTable/useTable.ts +0 -51
  172. package/src/components/business/bcTable/useTableHeight.ts +0 -24
  173. package/src/components/business/bcTreeSelect/bcTreeSelect.vue +0 -12
  174. package/src/components/business/cardID/cardID.vue +0 -24
  175. package/src/components/business/cardID/type.ts +0 -0
  176. package/src/components/business/cardID/useCardID.ts +0 -0
  177. package/src/components/component.ts +0 -188
  178. package/src/components/config/autocompleteAttrConfig/autocompleteAttrConfig.vue +0 -26
  179. package/src/components/config/autocompleteAttrConfig/config.ts +0 -170
  180. package/src/components/config/baseForm.vue +0 -175
  181. package/src/components/config/buttonAttrConfig/buttonAttrConfig.vue +0 -26
  182. package/src/components/config/buttonAttrConfig/config.ts +0 -261
  183. package/src/components/config/cascaderAttrConfig/cascaderAttrConfig.vue +0 -26
  184. package/src/components/config/cascaderAttrConfig/config.ts +0 -287
  185. package/src/components/config/cascaderPanelAttrConfig/cascaderPanelAttrConfig.vue +0 -26
  186. package/src/components/config/cascaderPanelAttrConfig/config.ts +0 -278
  187. package/src/components/config/checkboxAttrConfig/checkboxAttrConfig.vue +0 -26
  188. package/src/components/config/checkboxAttrConfig/config.ts +0 -301
  189. package/src/components/config/datePickerAttrConfig/config.ts +0 -256
  190. package/src/components/config/datePickerAttrConfig/datePickerAttrConfig.vue +0 -26
  191. package/src/components/config/inputAttrConfig/config.ts +0 -322
  192. package/src/components/config/inputAttrConfig/inputAttrConfig.vue +0 -33
  193. package/src/components/config/inputAttrConfig/inputEventConfig.vue +0 -35
  194. package/src/components/config/inputNumberAttrConfig/config.ts +0 -177
  195. package/src/components/config/inputNumberAttrConfig/inputNumberAttrConfig.vue +0 -26
  196. package/src/components/config/radioAttrConfig/config.ts +0 -212
  197. package/src/components/config/radioAttrConfig/radioAttrConfig.vue +0 -26
  198. package/src/components/config/selectAttrConfig/config.ts +0 -478
  199. package/src/components/config/selectAttrConfig/selectAttrConfig.vue +0 -26
  200. package/src/components/config/switchAttrConfig/config.ts +0 -195
  201. package/src/components/config/switchAttrConfig/switchAttrConfig.vue +0 -26
  202. package/src/components/config/treeSelectAttrConfig/config.ts +0 -625
  203. package/src/components/config/treeSelectAttrConfig/treeSelectAttrConfig.vue +0 -26
  204. package/src/components/config/type/formType.ts +0 -25
  205. package/src/components/config/uploadAttrConfig/config.ts +0 -250
  206. package/src/components/config/uploadAttrConfig/uploadAttrConfig.vue +0 -26
  207. package/src/components/iconSelector/index.vue +0 -247
  208. package/src/components/iconSelector/list.vue +0 -84
  209. package/src/components/svgIcon/index.vue +0 -61
  210. package/src/directive/authDirective.ts +0 -40
  211. package/src/directive/customDirective.ts +0 -178
  212. package/src/directive/index.ts +0 -18
  213. package/src/hooks/useCrypto.ts +0 -36
  214. package/src/hooks/useExpose.ts +0 -60
  215. package/src/layout/component/aside.vue +0 -160
  216. package/src/layout/component/columnsAside.vue +0 -299
  217. package/src/layout/component/header.vue +0 -18
  218. package/src/layout/component/main.vue +0 -65
  219. package/src/layout/footer/index.vue +0 -25
  220. package/src/layout/index.vue +0 -53
  221. package/src/layout/lockScreen/index.vue +0 -352
  222. package/src/layout/logo/index.vue +0 -75
  223. package/src/layout/main/classic.vue +0 -73
  224. package/src/layout/main/columns.vue +0 -73
  225. package/src/layout/main/defaults.vue +0 -73
  226. package/src/layout/main/transverse.vue +0 -60
  227. package/src/layout/navBars/index.vue +0 -35
  228. package/src/layout/navBars/tagsView/contextmenu.vue +0 -133
  229. package/src/layout/navBars/tagsView/tagsView.vue +0 -737
  230. package/src/layout/navBars/topBar/breadcrumb.vue +0 -146
  231. package/src/layout/navBars/topBar/closeFull.vue +0 -53
  232. package/src/layout/navBars/topBar/index.vue +0 -107
  233. package/src/layout/navBars/topBar/search.vue +0 -123
  234. package/src/layout/navBars/topBar/setings.vue +0 -789
  235. package/src/layout/navBars/topBar/user.vue +0 -222
  236. package/src/layout/navBars/topBar/userNews.vue +0 -107
  237. package/src/layout/navMenu/horizontal.vue +0 -138
  238. package/src/layout/navMenu/subItem.vue +0 -49
  239. package/src/layout/navMenu/vertical.vue +0 -100
  240. package/src/layout/routerView/iframes.vue +0 -101
  241. package/src/layout/routerView/link.vue +0 -93
  242. package/src/layout/routerView/parent.vue +0 -104
  243. package/src/layout/upgrade/index.vue +0 -147
  244. package/src/main.ts +0 -70
  245. package/src/router/backEnd.ts +0 -173
  246. package/src/router/frontEnd.ts +0 -155
  247. package/src/router/index.ts +0 -138
  248. package/src/router/route.ts +0 -94
  249. package/src/stores/index.ts +0 -8
  250. package/src/stores/keepAliveNames.ts +0 -38
  251. package/src/stores/requestOldRoutes.ts +0 -16
  252. package/src/stores/routesList.ts +0 -26
  253. package/src/stores/tagsViewRoutes.ts +0 -23
  254. package/src/stores/themeConfig.ts +0 -142
  255. package/src/stores/userInfo.ts +0 -65
  256. package/src/style/index.scss +0 -0
  257. package/src/style/tailwind.css +0 -29
  258. package/src/theme/app.scss +0 -333
  259. package/src/theme/common/transition.scss +0 -147
  260. package/src/theme/dark.scss +0 -255
  261. package/src/theme/element.scss +0 -321
  262. package/src/theme/iconSelector.scss +0 -31
  263. package/src/theme/index.scss +0 -8
  264. package/src/theme/loading.scss +0 -51
  265. package/src/theme/media/chart.scss +0 -94
  266. package/src/theme/media/cityLinkage.scss +0 -10
  267. package/src/theme/media/date.scss +0 -25
  268. package/src/theme/media/dialog.scss +0 -12
  269. package/src/theme/media/error.scss +0 -45
  270. package/src/theme/media/form.scss +0 -31
  271. package/src/theme/media/home.scss +0 -23
  272. package/src/theme/media/index.scss +0 -15
  273. package/src/theme/media/layout.scss +0 -63
  274. package/src/theme/media/login.scss +0 -74
  275. package/src/theme/media/media.scss +0 -13
  276. package/src/theme/media/pagination.scss +0 -15
  277. package/src/theme/media/personal.scss +0 -16
  278. package/src/theme/media/scrollbar.scss +0 -56
  279. package/src/theme/media/tagsView.scss +0 -11
  280. package/src/theme/mixins/index.scss +0 -56
  281. package/src/theme/other.scss +0 -36
  282. package/src/theme/tableTool.scss +0 -27
  283. package/src/theme/waves.scss +0 -101
  284. package/src/types/auth.d.ts +0 -44
  285. package/src/types/axios.d.ts +0 -13
  286. package/src/types/components.d.ts +0 -30
  287. package/src/types/customData.d.ts +0 -163
  288. package/src/types/form.ts +0 -68
  289. package/src/types/formItem/autocomplete.ts +0 -43
  290. package/src/types/formItem/button.ts +0 -39
  291. package/src/types/formItem/input.ts +0 -66
  292. package/src/types/formItem/inputNumber.ts +0 -42
  293. package/src/types/formItem/selelct.ts +0 -54
  294. package/src/types/formItem/treeSelect.ts +0 -37
  295. package/src/types/formTable.d.ts +0 -210
  296. package/src/types/global.d.ts +0 -118
  297. package/src/types/layout.d.ts +0 -59
  298. package/src/types/mitt.d.ts +0 -38
  299. package/src/types/pinia.d.ts +0 -92
  300. package/src/types/views.d.ts +0 -331
  301. package/src/utils/arrayOperation.ts +0 -65
  302. package/src/utils/authFunction.ts +0 -38
  303. package/src/utils/build.ts +0 -124
  304. package/src/utils/commonFunction.ts +0 -64
  305. package/src/utils/formatTime.ts +0 -137
  306. package/src/utils/getDataType.ts +0 -136
  307. package/src/utils/getStyleSheets.ts +0 -101
  308. package/src/utils/loading.ts +0 -44
  309. package/src/utils/mitt.ts +0 -8
  310. package/src/utils/other.ts +0 -214
  311. package/src/utils/request.ts +0 -82
  312. package/src/utils/setIconfont.ts +0 -48
  313. package/src/utils/showMessage.ts +0 -57
  314. package/src/utils/showMessageBox.ts +0 -39
  315. package/src/utils/showNotification.ts +0 -50
  316. package/src/utils/showPopup.ts +0 -81
  317. package/src/utils/storage.ts +0 -137
  318. package/src/utils/theme.ts +0 -65
  319. package/src/utils/toolsValidate.ts +0 -370
  320. package/src/utils/watermark.ts +0 -47
  321. package/src/views/error/401.vue +0 -88
  322. package/src/views/error/404.vue +0 -89
  323. package/src/views/home/index.vue +0 -62
  324. package/src/views/login/component/account.vue +0 -172
  325. package/src/views/login/component/mobile.vue +0 -72
  326. package/src/views/login/component/scan.vue +0 -63
  327. package/src/views/login/index.vue +0 -254
  328. package/src/views/system/auth/index.vue +0 -48
  329. package/src/views/system/auth/list.ts +0 -50
  330. package/src/views/system/auth/useAuth.ts +0 -34
  331. package/src/views/system/dept/dialog.vue +0 -167
  332. package/src/views/system/dept/index.vue +0 -135
  333. package/src/views/system/dic/dialog.vue +0 -150
  334. package/src/views/system/dic/index.vue +0 -132
  335. package/src/views/system/form/data.json +0 -360
  336. package/src/views/system/form/index.vue +0 -24
  337. package/src/views/system/formSetting/components/hsBtn/src/hsAttrBtn.vue +0 -58
  338. package/src/views/system/formSetting/components/hsBtn/src/hsBtnConfigList.vue +0 -45
  339. package/src/views/system/formSetting/components/hsBtn/src/hsBtnPanel.vue +0 -51
  340. package/src/views/system/formSetting/components/hsBtn/useAttrBtn.ts +0 -129
  341. package/src/views/system/formSetting/components/hsBtn/useBtnConfigList.ts +0 -73
  342. package/src/views/system/formSetting/components/hsExpand/src/hsExpand.vue +0 -27
  343. package/src/views/system/formSetting/components/hsExpand/useExpand.ts +0 -9
  344. package/src/views/system/formSetting/components/hsForm/src/hsAttrForm.vue +0 -124
  345. package/src/views/system/formSetting/components/hsForm/src/hsFormConfig.vue +0 -180
  346. package/src/views/system/formSetting/components/hsForm/src/hsFormConfigList.vue +0 -45
  347. package/src/views/system/formSetting/components/hsForm/src/hsFormPanel.vue +0 -152
  348. package/src/views/system/formSetting/components/hsForm/src/hsFormParse.vue +0 -33
  349. package/src/views/system/formSetting/components/hsForm/useAttrForm.ts +0 -109
  350. package/src/views/system/formSetting/components/hsForm/useFormListConfig.ts +0 -70
  351. package/src/views/system/formSetting/components/hsPageTree/configData.ts +0 -3700
  352. package/src/views/system/formSetting/components/hsPageTree/src/hsPageTree.vue +0 -30
  353. package/src/views/system/formSetting/components/hsPageTree/usePageTree.ts +0 -50
  354. package/src/views/system/formSetting/components/hsSaveForm/saveFormConfig.ts +0 -66
  355. package/src/views/system/formSetting/components/hsSaveForm/src/saveForm.vue +0 -47
  356. package/src/views/system/formSetting/components/hsSaveForm/useSaveForm.ts +0 -122
  357. package/src/views/system/formSetting/components/hsTables/src/hsAttrTable.vue +0 -91
  358. package/src/views/system/formSetting/components/hsTables/src/hsRecursionConfig.vue +0 -36
  359. package/src/views/system/formSetting/components/hsTables/src/hsTableConfig.vue +0 -39
  360. package/src/views/system/formSetting/components/hsTables/src/hsTableConfigList.vue +0 -45
  361. package/src/views/system/formSetting/components/hsTables/src/hsTablePanel.vue +0 -56
  362. package/src/views/system/formSetting/components/hsTables/src/hsTableParse.vue +0 -29
  363. package/src/views/system/formSetting/components/hsTables/useAttrTable.ts +0 -125
  364. package/src/views/system/formSetting/components/hsTables/useTableConfigList.ts +0 -77
  365. package/src/views/system/formSetting/components/selectConfig/config.ts +0 -476
  366. package/src/views/system/formSetting/components/selectConfig/selectConfig.vue +0 -30
  367. package/src/views/system/formSetting/data.json +0 -360
  368. package/src/views/system/formSetting/default/baseBtnConfig.ts +0 -216
  369. package/src/views/system/formSetting/default/baseFormConfig.ts +0 -567
  370. package/src/views/system/formSetting/default/baseTableConfig.ts +0 -2353
  371. package/src/views/system/formSetting/formConfig.vue +0 -108
  372. package/src/views/system/formSetting/index.vue +0 -35
  373. package/src/views/system/formSetting/menuType.d.ts +0 -12
  374. package/src/views/system/formSetting/panelConfig.json +0 -164
  375. package/src/views/system/formSetting/useForm.ts +0 -89
  376. package/src/views/system/formSetting/useFormConfig.ts +0 -192
  377. package/src/views/system/menu/dialog.vue +0 -285
  378. package/src/views/system/menu/index.vue +0 -180
  379. package/src/views/system/page/components/hsPageTree/configData.ts +0 -3700
  380. package/src/views/system/page/components/hsPageTree/src/hsPageTree.vue +0 -30
  381. package/src/views/system/page/components/hsPageTree/usePageTree.ts +0 -49
  382. package/src/views/system/page/index.vue +0 -32
  383. package/src/views/system/page/menuType.d.ts +0 -12
  384. package/src/views/system/page/usePage.ts +0 -125
  385. package/src/views/system/role/dialog.vue +0 -236
  386. package/src/views/system/role/index.vue +0 -146
  387. package/src/views/system/table/data.json +0 -747
  388. package/src/views/system/table/formate.js +0 -49
  389. package/src/views/system/table/index.vue +0 -53
  390. package/src/views/system/user/dialog.vue +0 -187
  391. package/src/views/system/user/index.vue +0 -161
  392. package/src/views/test/test/components/hsBtn/src/hsAttrBtn.vue +0 -58
  393. package/src/views/test/test/components/hsBtn/src/hsBtnConfigList.vue +0 -45
  394. package/src/views/test/test/components/hsBtn/src/hsBtnPanel.vue +0 -51
  395. package/src/views/test/test/components/hsBtn/useAttrBtn.ts +0 -129
  396. package/src/views/test/test/components/hsBtn/useBtnConfigList.ts +0 -73
  397. package/src/views/test/test/components/hsExpand/src/hsExpand.vue +0 -27
  398. package/src/views/test/test/components/hsExpand/useExpand.ts +0 -9
  399. package/src/views/test/test/components/hsForm/src/hsAttrForm.vue +0 -124
  400. package/src/views/test/test/components/hsForm/src/hsFormConfig.vue +0 -180
  401. package/src/views/test/test/components/hsForm/src/hsFormConfigList.vue +0 -45
  402. package/src/views/test/test/components/hsForm/src/hsFormPanel.vue +0 -152
  403. package/src/views/test/test/components/hsForm/src/hsFormParse.vue +0 -33
  404. package/src/views/test/test/components/hsForm/useAttrForm.ts +0 -109
  405. package/src/views/test/test/components/hsForm/useFormListConfig.ts +0 -70
  406. package/src/views/test/test/components/hsSaveForm/saveFormConfig.ts +0 -66
  407. package/src/views/test/test/components/hsSaveForm/src/saveForm.vue +0 -47
  408. package/src/views/test/test/components/hsSaveForm/useSaveForm.ts +0 -122
  409. package/src/views/test/test/components/hsTables/src/hsAttrTable.vue +0 -91
  410. package/src/views/test/test/components/hsTables/src/hsRecursionConfig.vue +0 -36
  411. package/src/views/test/test/components/hsTables/src/hsTableConfig.vue +0 -39
  412. package/src/views/test/test/components/hsTables/src/hsTableConfigList.vue +0 -45
  413. package/src/views/test/test/components/hsTables/src/hsTablePanel.vue +0 -56
  414. package/src/views/test/test/components/hsTables/src/hsTableParse.vue +0 -29
  415. package/src/views/test/test/components/hsTables/useAttrTable.ts +0 -125
  416. package/src/views/test/test/components/hsTables/useTableConfigList.ts +0 -77
  417. package/src/views/test/test/components/selectConfig/config.ts +0 -476
  418. package/src/views/test/test/components/selectConfig/selectConfig.vue +0 -30
  419. package/src/views/test/test/data.json +0 -360
  420. package/src/views/test/test/default/baseBtnConfig.ts +0 -216
  421. package/src/views/test/test/default/baseFormConfig.ts +0 -567
  422. package/src/views/test/test/default/baseTableConfig.ts +0 -2353
  423. package/src/views/test/test/formConfig.vue +0 -102
  424. package/src/views/test/test/test.vue +0 -28
  425. package/src/views/test/test/test3.vue +0 -24
  426. package/src/views/test/test/test4.vue +0 -107
  427. package/src/views/test/test/test/345/211/257/346/234/254.vue +0 -2424
  428. package/src/views/test/test/useFormConfig.ts +0 -192
  429. package/src/views/test/test2/test2.vue +0 -17
  430. package/src/views/test/test3/test.vue +0 -20
  431. package/tailwind.config.js +0 -12
  432. package/tsconfig.json +0 -75
  433. package/vite.config.ts +0 -123
@@ -1,40 +0,0 @@
1
- import type { App } from 'vue';
2
- import { useUserInfo } from '/@/stores/userInfo';
3
- import { judementSameArr } from '/@/utils/arrayOperation';
4
-
5
- /**
6
- * 用户权限指令
7
- * @directive 单个权限验证(v-auth="xxx")
8
- * @directive 多个权限验证,满足一个则显示(v-auths="[xxx,xxx]")
9
- * @directive 多个权限验证,全部满足则显示(v-auth-all="[xxx,xxx]")
10
- */
11
- export function authDirective(app: App) {
12
- // 单个权限验证(v-auth="xxx")
13
- app.directive('auth', {
14
- mounted(el, binding) {
15
- const stores = useUserInfo();
16
- if (!stores.userInfos.authBtnList.some((v: string) => v === binding.value)) el.parentNode.removeChild(el);
17
- },
18
- });
19
- // 多个权限验证,满足一个则显示(v-auths="[xxx,xxx]")
20
- app.directive('auths', {
21
- mounted(el, binding) {
22
- let flag = false;
23
- const stores = useUserInfo();
24
- stores.userInfos.authBtnList.map((val: string) => {
25
- binding.value.map((v: string) => {
26
- if (val === v) flag = true;
27
- });
28
- });
29
- if (!flag) el.parentNode.removeChild(el);
30
- },
31
- });
32
- // 多个权限验证,全部满足则显示(v-auth-all="[xxx,xxx]")
33
- app.directive('auth-all', {
34
- mounted(el, binding) {
35
- const stores = useUserInfo();
36
- const flag = judementSameArr(binding.value, stores.userInfos.authBtnList);
37
- if (!flag) el.parentNode.removeChild(el);
38
- },
39
- });
40
- }
@@ -1,178 +0,0 @@
1
- import type { App } from 'vue';
2
-
3
- /**
4
- * 按钮波浪指令
5
- * @directive 默认方式:v-waves,如 `<div v-waves></div>`
6
- * @directive 参数方式:v-waves=" |light|red|orange|purple|green|teal",如 `<div v-waves="'light'"></div>`
7
- */
8
- export function wavesDirective(app: App) {
9
- app.directive('waves', {
10
- mounted(el, binding) {
11
- el.classList.add('waves-effect');
12
- binding.value && el.classList.add(`waves-${binding.value}`);
13
- function setConvertStyle(obj: { [key: string]: unknown }) {
14
- let style: string = '';
15
- for (let i in obj) {
16
- if (obj.hasOwnProperty(i)) style += `${i}:${obj[i]};`;
17
- }
18
- return style;
19
- }
20
- function onCurrentClick(e: { [key: string]: unknown }) {
21
- let elDiv = document.createElement('div');
22
- elDiv.classList.add('waves-ripple');
23
- el.appendChild(elDiv);
24
- let styles = {
25
- left: `${e.layerX}px`,
26
- top: `${e.layerY}px`,
27
- opacity: 1,
28
- transform: `scale(${(el.clientWidth / 100) * 10})`,
29
- 'transition-duration': `750ms`,
30
- 'transition-timing-function': `cubic-bezier(0.250, 0.460, 0.450, 0.940)`,
31
- };
32
- elDiv.setAttribute('style', setConvertStyle(styles));
33
- setTimeout(() => {
34
- elDiv.setAttribute(
35
- 'style',
36
- setConvertStyle({
37
- opacity: 0,
38
- transform: styles.transform,
39
- left: styles.left,
40
- top: styles.top,
41
- })
42
- );
43
- setTimeout(() => {
44
- elDiv && el.removeChild(elDiv);
45
- }, 750);
46
- }, 450);
47
- }
48
- el.addEventListener('mousedown', onCurrentClick, false);
49
- },
50
- unmounted(el) {
51
- el.addEventListener('mousedown', () => {});
52
- },
53
- });
54
- }
55
-
56
- /**
57
- * 自定义拖动指令
58
- * @description 使用方式:v-drag="[dragDom,dragHeader]",如 `<div v-drag="['.drag-container .el-dialog', '.drag-container .el-dialog__header']"></div>`
59
- * @description dragDom 要拖动的元素,dragHeader 要拖动的 Header 位置
60
- * @link 注意:https://github.com/element-plus/element-plus/issues/522
61
- * @lick 参考:https://blog.csdn.net/weixin_46391323/article/details/105228020?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-10&spm=1001.2101.3001.4242
62
- */
63
- export function dragDirective(app: App) {
64
- app.directive('drag', {
65
- mounted(el, binding) {
66
- if (!binding.value) return false;
67
-
68
- const dragDom = document.querySelector(binding.value[0]) as HTMLElement;
69
- const dragHeader = document.querySelector(binding.value[1]) as HTMLElement;
70
-
71
- dragHeader.onmouseover = () => (dragHeader.style.cursor = `move`);
72
-
73
- function down(e: any, type: string) {
74
- // 鼠标按下,计算当前元素距离可视区的距离
75
- const disX = type === 'pc' ? e.clientX - dragHeader.offsetLeft : e.touches[0].clientX - dragHeader.offsetLeft;
76
- const disY = type === 'pc' ? e.clientY - dragHeader.offsetTop : e.touches[0].clientY - dragHeader.offsetTop;
77
-
78
- // body当前宽度
79
- const screenWidth = document.body.clientWidth;
80
- // 可见区域高度(应为body高度,可某些环境下无法获取)
81
- const screenHeight = document.documentElement.clientHeight;
82
-
83
- // 对话框宽度
84
- const dragDomWidth = dragDom.offsetWidth;
85
- // 对话框高度
86
- const dragDomheight = dragDom.offsetHeight;
87
-
88
- const minDragDomLeft = dragDom.offsetLeft;
89
- const maxDragDomLeft = screenWidth - dragDom.offsetLeft - dragDomWidth;
90
-
91
- const minDragDomTop = dragDom.offsetTop;
92
- const maxDragDomTop = screenHeight - dragDom.offsetTop - dragDomheight;
93
-
94
- // 获取到的值带px 正则匹配替换
95
- let styL: any = getComputedStyle(dragDom).left;
96
- let styT: any = getComputedStyle(dragDom).top;
97
-
98
- // 注意在ie中 第一次获取到的值为组件自带50% 移动之后赋值为px
99
- if (styL.includes('%')) {
100
- styL = +document.body.clientWidth * (+styL.replace(/\%/g, '') / 100);
101
- styT = +document.body.clientHeight * (+styT.replace(/\%/g, '') / 100);
102
- } else {
103
- styL = +styL.replace(/\px/g, '');
104
- styT = +styT.replace(/\px/g, '');
105
- }
106
-
107
- return {
108
- disX,
109
- disY,
110
- minDragDomLeft,
111
- maxDragDomLeft,
112
- minDragDomTop,
113
- maxDragDomTop,
114
- styL,
115
- styT,
116
- };
117
- }
118
-
119
- function move(e: any, type: string, obj: any) {
120
- let { disX, disY, minDragDomLeft, maxDragDomLeft, minDragDomTop, maxDragDomTop, styL, styT } = obj;
121
-
122
- // 通过事件委托,计算移动的距离
123
- let left = type === 'pc' ? e.clientX - disX : e.touches[0].clientX - disX;
124
- let top = type === 'pc' ? e.clientY - disY : e.touches[0].clientY - disY;
125
-
126
- // 边界处理
127
- if (-left > minDragDomLeft) {
128
- left = -minDragDomLeft;
129
- } else if (left > maxDragDomLeft) {
130
- left = maxDragDomLeft;
131
- }
132
-
133
- if (-top > minDragDomTop) {
134
- top = -minDragDomTop;
135
- } else if (top > maxDragDomTop) {
136
- top = maxDragDomTop;
137
- }
138
-
139
- // 移动当前元素
140
- dragDom.style.cssText += `;left:${left + styL}px;top:${top + styT}px;`;
141
- }
142
-
143
- /**
144
- * pc端
145
- * onmousedown 鼠标按下触发事件
146
- * onmousemove 鼠标按下时持续触发事件
147
- * onmouseup 鼠标抬起触发事件
148
- */
149
- dragHeader.onmousedown = (e) => {
150
- const obj = down(e, 'pc');
151
- document.onmousemove = (e) => {
152
- move(e, 'pc', obj);
153
- };
154
- document.onmouseup = () => {
155
- document.onmousemove = null;
156
- document.onmouseup = null;
157
- };
158
- };
159
-
160
- /**
161
- * 移动端
162
- * ontouchstart 当按下手指时,触发ontouchstart
163
- * ontouchmove 当移动手指时,触发ontouchmove
164
- * ontouchend 当移走手指时,触发ontouchend
165
- */
166
- dragHeader.ontouchstart = (e) => {
167
- const obj = down(e, 'app');
168
- document.ontouchmove = (e) => {
169
- move(e, 'app', obj);
170
- };
171
- document.ontouchend = () => {
172
- document.ontouchmove = null;
173
- document.ontouchend = null;
174
- };
175
- };
176
- },
177
- });
178
- }
@@ -1,18 +0,0 @@
1
- import type { App } from 'vue';
2
- import { authDirective } from '/@/directive/authDirective';
3
- import { wavesDirective, dragDirective } from '/@/directive/customDirective';
4
-
5
- /**
6
- * 导出指令方法:v-xxx
7
- * @methods authDirective 用户权限指令,用法:v-auth
8
- * @methods wavesDirective 按钮波浪指令,用法:v-waves
9
- * @methods dragDirective 自定义拖动指令,用法:v-drag
10
- */
11
- export function directive(app: App) {
12
- // 用户权限指令
13
- authDirective(app);
14
- // 按钮波浪指令
15
- wavesDirective(app);
16
- // 自定义拖动指令
17
- dragDirective(app);
18
- }
@@ -1,36 +0,0 @@
1
- import CryptoJS from 'crypto-js';
2
- /***
3
- * 加密
4
- */
5
- const encrypt = (word: string, keyStr?: string, ivStr?: string) =>{
6
- keyStr = keyStr ? keyStr : 'hskj20180614java';
7
- ivStr = ivStr ? ivStr : 'hskj20180614java';
8
- let key = CryptoJS.enc.Utf8.parse(keyStr);
9
- let iv = CryptoJS.enc.Utf8.parse(ivStr);
10
- let srcs = CryptoJS.enc.Utf8.parse(word);
11
-
12
- let encrypted = CryptoJS.AES.encrypt(srcs, key, {
13
- iv,
14
- mode: CryptoJS.mode.CBC,
15
- padding: CryptoJS.pad.ZeroPadding
16
- });
17
- return CryptoJS.enc.Base64.stringify(encrypted.ciphertext);
18
- // return encrypted.toString();
19
- };
20
- const decrypt = (word: string, keyStr?: string, ivStr?: string) => {
21
- keyStr = keyStr ? keyStr : 'hskj20180614java';
22
- ivStr = ivStr ? ivStr : 'hskj20180614java';
23
- var key = CryptoJS.enc.Utf8.parse(keyStr);
24
- let iv = CryptoJS.enc.Utf8.parse(ivStr);
25
-
26
- var decrypt = CryptoJS.AES.decrypt(word, key, {
27
- iv,
28
- mode: CryptoJS.mode.CBC,
29
- padding: CryptoJS.pad.ZeroPadding
30
- });
31
- return CryptoJS.enc.Base64.stringify(decrypt.ciphertext);
32
- };
33
- export {
34
- encrypt,
35
- decrypt
36
- }
@@ -1,60 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
-
3
- import { computed, ref } from 'vue';
4
-
5
- /***
6
- * 组件暴露属性
7
- * @param ref
8
- * @param instance
9
- * @returns
10
- */
11
- const useExposeProperties = (ref: any, instance: any) => {
12
- const entries = Object.entries(ref.value?.$?.exposed);
13
- for (const [key, value] of entries) {
14
- instance.exposed[key] = value;
15
- }
16
- };
17
- /***
18
- * 组件v-model
19
- * @param props
20
- * @param propName
21
- * @param emit
22
- * @returns
23
- */
24
- const useVModel = (props: any, propName: string, emit: any) => {
25
- return computed({
26
- get() {
27
- return new Proxy(props[propName], {
28
- set(obj: any, index: any, val: any) {
29
- if (Array.isArray(obj)) {
30
- obj[index] = val;
31
- emit('update:' + propName, [...obj]);
32
- } else if (typeof obj === 'object') {
33
- obj[index] = val;
34
- emit('update:' + propName, { ...obj });
35
- }
36
- return true;
37
- },
38
- });
39
- },
40
- set(val) {
41
- emit('update:' + propName, val);
42
- },
43
- });
44
- };
45
- /**
46
- * 获取聚焦元素
47
- */
48
- function useFocusElement() {
49
- const focusRef = ref<HTMLElement>();
50
-
51
- function activeElement() {
52
- return focusRef.value?.querySelector('input');
53
- }
54
-
55
- return {
56
- focusRef,
57
- activeElement,
58
- };
59
- }
60
- export { useExposeProperties, useVModel, useFocusElement };
@@ -1,160 +0,0 @@
1
- <template>
2
- <div class="h100" v-show="!isTagsViewCurrenFull">
3
- <el-aside class="layout-aside" :class="setCollapseStyle">
4
- <Logo v-if="setShowLogo" />
5
- <el-scrollbar class="flex-auto" ref="layoutAsideScrollbarRef" @mouseenter="onAsideEnterLeave(true)" @mouseleave="onAsideEnterLeave(false)">
6
- <Vertical :menuList="state.menuList" />
7
- </el-scrollbar>
8
- </el-aside>
9
- </div>
10
- </template>
11
-
12
- <script setup lang="ts" name="layoutAside">
13
- import { defineAsyncComponent, reactive, computed, watch, onBeforeMount, ref } from 'vue';
14
- import { storeToRefs } from 'pinia';
15
- import { useRoutesList } from '/@/stores/routesList';
16
- import { useThemeConfig } from '/@/stores/themeConfig';
17
- import { useTagsViewRoutes } from '/@/stores/tagsViewRoutes';
18
- import mittBus from '/@/utils/mitt';
19
-
20
- // 引入组件
21
- const Logo = defineAsyncComponent(() => import('/@/layout/logo/index.vue'));
22
- const Vertical = defineAsyncComponent(() => import('/@/layout/navMenu/vertical.vue'));
23
-
24
- // 定义变量内容
25
- const layoutAsideScrollbarRef = ref();
26
- const stores = useRoutesList();
27
- const storesThemeConfig = useThemeConfig();
28
- const storesTagsViewRoutes = useTagsViewRoutes();
29
- const { routesList } = storeToRefs(stores);
30
- const { themeConfig } = storeToRefs(storesThemeConfig);
31
- const { isTagsViewCurrenFull } = storeToRefs(storesTagsViewRoutes);
32
- const state = reactive<AsideState>({
33
- menuList: [],
34
- clientWidth: 0,
35
- });
36
- // 关闭移动端蒙版
37
- const closeLayoutAsideMobileMode = () => {
38
- const el = document.querySelector('.layout-aside-mobile-mode');
39
- el?.setAttribute('style', 'animation: error-img-two 0.3s');
40
- setTimeout(() => {
41
- el?.parentNode?.removeChild(el);
42
- }, 300);
43
- const clientWidth = document.body.clientWidth;
44
- if (clientWidth < 1000) themeConfig.value.isCollapse = false;
45
- document.body.setAttribute('class', '');
46
- };
47
- // 设置菜单展开/收起时的宽度
48
- const setCollapseStyle = computed(() => {
49
- const { layout, isCollapse, menuBar } = themeConfig.value;
50
- const asideBrTheme = ['#FFFFFF', '#FFF', '#fff', '#ffffff'];
51
- const asideBrColor = asideBrTheme.includes(menuBar) ? 'layout-el-aside-br-color' : '';
52
- if (state.clientWidth <= 1000) {
53
- if (isCollapse) {
54
- document.body.setAttribute('class', 'el-popup-parent--hidden');
55
- const asideEle = document.querySelector('.layout-container') as HTMLElement;
56
- const modeDivs = document.createElement('div');
57
- modeDivs.setAttribute('class', 'layout-aside-mobile-mode');
58
- asideEle.appendChild(modeDivs);
59
- modeDivs.addEventListener('click', closeLayoutAsideMobileMode);
60
- return [asideBrColor, 'layout-aside-mobile', 'layout-aside-mobile-open'];
61
- } else {
62
- // 关闭弹窗
63
- closeLayoutAsideMobileMode();
64
- return [asideBrColor, 'layout-aside-mobile', 'layout-aside-mobile-close'];
65
- }
66
- } else {
67
- if (layout === 'columns' || layout === 'classic') {
68
- // 分栏布局、经典布局,菜单收起时宽度给 1px,防止切换动画消失
69
- if (isCollapse) return [asideBrColor, 'layout-aside-pc-1'];
70
- else return [asideBrColor, 'layout-aside-pc-220'];
71
- } else {
72
- // 其它布局给 64px
73
- if (isCollapse) return [asideBrColor, 'layout-aside-pc-64'];
74
- else return [asideBrColor, 'layout-aside-pc-220'];
75
- }
76
- }
77
- });
78
- // 设置显示/隐藏 logo
79
- const setShowLogo = computed(() => {
80
- let { layout, isShowLogo } = themeConfig.value;
81
- return (isShowLogo && layout === 'defaults') || (isShowLogo && layout === 'columns');
82
- });
83
- // 路由过滤递归函数
84
- const filterRoutesFun = <T extends RouteItem>(arr: T[]): T[] => {
85
- return arr
86
- .filter((item: T) => !item.meta?.isHide)
87
- .map((item: T) => {
88
- item = Object.assign({}, item);
89
- if (item.children) item.children = filterRoutesFun(item.children);
90
- return item;
91
- });
92
- };
93
- // 设置/过滤路由(非静态路由/是否显示在菜单中)
94
- const setFilterRoutes = () => {
95
- if (themeConfig.value.layout === 'columns') return false;
96
- state.menuList = filterRoutesFun(routesList.value);
97
- };
98
- // 设置菜单导航是否固定(移动端)
99
- const initMenuFixed = (clientWidth: number) => {
100
- state.clientWidth = clientWidth;
101
- };
102
- // 鼠标移入、移出
103
- const onAsideEnterLeave = (bool: Boolean) => {
104
- const { layout, isColumnsMenuHoverPreload } = themeConfig.value;
105
- if (layout !== 'columns') return false;
106
- if (!bool) mittBus.emit('restoreDefault');
107
- // 开启 `分栏菜单鼠标悬停预加载` 才设置,防止 columnsAside.vue 监听 pinia.state
108
- if (isColumnsMenuHoverPreload) stores.setColumnsMenuHover(bool);
109
- };
110
- // 页面加载前
111
- onBeforeMount(() => {
112
- initMenuFixed(document.body.clientWidth);
113
- setFilterRoutes();
114
- // 此界面不需要取消监听(mittBus.off('setSendColumnsChildren))
115
- // 因为切换布局时有的监听需要使用,取消了监听,某些操作将不生效
116
- mittBus.on('setSendColumnsChildren', (res: MittMenu) => {
117
- state.menuList = res.children;
118
- });
119
- // 开启经典布局分割菜单时,设置菜单数据
120
- mittBus.on('setSendClassicChildren', (res: MittMenu) => {
121
- let { layout, isClassicSplitMenu } = themeConfig.value;
122
- if (layout === 'classic' && isClassicSplitMenu) {
123
- // 经典布局分割菜单只要一项子级时,收起左侧导航菜单
124
- res.children.length <= 1 ? (themeConfig.value.isCollapse = true) : (themeConfig.value.isCollapse = false);
125
- state.menuList = [];
126
- state.menuList = res.children;
127
- }
128
- });
129
- // 开启经典布局分割菜单时,重新处理菜单数据
130
- mittBus.on('getBreadcrumbIndexSetFilterRoutes', () => {
131
- setFilterRoutes();
132
- });
133
- // 监听窗口大小改变时(适配移动端)
134
- mittBus.on('layoutMobileResize', (res: LayoutMobileResize) => {
135
- initMenuFixed(res.clientWidth);
136
- closeLayoutAsideMobileMode();
137
- });
138
- });
139
- // 监听 pinia 值的变化,动态赋值给菜单中
140
- watch(
141
- () => [themeConfig.value.isShowLogoChange, themeConfig.value.isShowLogo, themeConfig.value.layout, themeConfig.value.isClassicSplitMenu],
142
- ([isShowLogoChange, isShowLogo, layout, isClassicSplitMenu]) => {
143
- if (isShowLogoChange !== isShowLogo) {
144
- if (layoutAsideScrollbarRef.value) layoutAsideScrollbarRef.value.update();
145
- }
146
- if (layout === 'classic' && isClassicSplitMenu) return false;
147
- setFilterRoutes();
148
- },
149
- {
150
- deep: true,
151
- }
152
- );
153
- // 监听用户权限切换,用于演示 `权限管理 -> 前端控制 -> 页面权限` 权限切换不生效
154
- watch(
155
- () => routesList.value,
156
- () => {
157
- setFilterRoutes();
158
- }
159
- );
160
- </script>