index.vue 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <template>
  2. <el-container class="hc-layout-box">
  3. <el-header class="hc-layout-header">
  4. <div class="header-content-bar">
  5. <hc-upload-bar />
  6. <HcRefresh />
  7. <UserInfoBar @load="userInfoLoad" />
  8. </div>
  9. </el-header>
  10. <el-container class="hc-layout-container">
  11. <el-aside class="hc-layout-aside" width="200px">
  12. <MenuBar :cur="menuBarKey" :datas="menuBarData" @change="menuBarChange" />
  13. </el-aside>
  14. <el-main class="hc-layout-main">
  15. <div id="hc-main-box" class="hc-main-page">
  16. <hc-body>
  17. <router-view />
  18. </hc-body>
  19. </div>
  20. </el-main>
  21. </el-container>
  22. </el-container>
  23. </template>
  24. <script setup>
  25. import { onMounted, ref } from 'vue'
  26. import { useAppStore } from '~src/store'
  27. import { useRouter } from 'vue-router'
  28. import { initButtons } from '~store/app'
  29. //初始组合式
  30. const router = useRouter()
  31. const store = useAppStore()
  32. //子组件
  33. import MenuBar from './modules/MenuBar.vue'
  34. import HcRefresh from './modules/Refresh.vue'
  35. import UserInfoBar from './modules/UserInfoBar.vue'
  36. //菜单数据
  37. const menuBarKey = ref('')
  38. const menuBarData = ref(store.getMenus)
  39. //渲染完成
  40. onMounted(() => {
  41. initButtons()
  42. })
  43. //菜单被点击
  44. const menuBarChange = ({ code }) => {
  45. menuBarKey.value = code
  46. router.push({ name: code })
  47. }
  48. //用户信息
  49. const userInfoLoad = ({ user_id }) => {
  50. console.log('用户信息', user_id)
  51. }
  52. </script>
  53. <style lang="scss">
  54. @import "./index.scss";
  55. </style>