index.vue 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <template>
  2. <el-container>
  3. <el-aside width="200px" class="custom-aside separate-twoside">
  4. <el-menu >
  5. <el-menu-item
  6. v-for="(item,index) in filemenuitems"
  7. :key="index"
  8. :index="item.index"
  9. >
  10. <img :src="item.img" style="width: 24px; margin-right: 5px;" />
  11. <span>{{ item.label }}</span>
  12. </el-menu-item>
  13. </el-menu>
  14. <div style="padding:20px;">
  15. <el-divider style="margin: 10px 0;"></el-divider>
  16. <el-button class="exitbutton" @click="exittop">
  17. <img :src="exit" style="width: 24px;">
  18. <span>Exit</span>
  19. </el-button>
  20. </div>
  21. </el-aside>
  22. <el-main>Main</el-main>
  23. </el-container>
  24. </template>
  25. <script setup>
  26. import { RouterView, RouterLink,useRouter } from "vue-router"
  27. import { useI18n } from 'vue-i18n'
  28. import { useProjectStore } from "@/store/project"
  29. import tempic from "@/assets/img/temp.png"
  30. import exit from "@/assets/img/exit.png"
  31. const { t, locale } = useI18n()
  32. const router = useRouter();
  33. const projectStore = useProjectStore()
  34. const filemenuitems = ref([
  35. { index: '1', img: tempic, label: 'Back' },
  36. { index: '2', img: tempic, label: 'Save' },
  37. { index: '3', img: tempic, label: 'Save As' },
  38. { index: '4', img: tempic, label: 'Export' },
  39. { index: '1', img: tempic, label: 'Open' },
  40. { index: '2', img: tempic, label: 'Recent' },
  41. { index: '3', img: tempic, label: 'Close' },
  42. ]);
  43. const exittop = () => {
  44. projectStore.clearproject();
  45. router.push({path:'/'})
  46. }
  47. </script>
  48. <style scoped>
  49. .separate-twoside {
  50. display: flex;
  51. justify-content: space-between;
  52. }
  53. .exitbutton {
  54. width: 100%;
  55. border: none;
  56. display: flex;
  57. justify-content: flex-start;
  58. align-items: center;
  59. gap: 10px;
  60. }
  61. </style>