openpage.vue 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. <template>
  2. <!-- 打开页-->
  3. <div class="openpage">
  4. <el-header>
  5. <myheader />
  6. </el-header>
  7. <!-- 主要内容 -->
  8. <div class="user lbg_color2">
  9. <div class="container border">
  10. <div class="user-slider lbg_color3 el-menu ">
  11. <el-menu class="lbg_color3 menuclass" :router='true' :default-active="activeIndex" @select="Select">
  12. <div class="ve_logo_img">
  13. <el-image
  14. style="height: 100%"
  15. :src="logo"
  16. fit="contain"
  17. ></el-image>
  18. </div>
  19. <el-menu-item index="/home/newfile">新建</el-menu-item>
  20. <el-menu-item index="/home/querylist" >打开</el-menu-item>
  21. <el-menu-item index="/home/savefile" >保存</el-menu-item>
  22. <el-menu-item >另存</el-menu-item>
  23. <el-menu-item >选择</el-menu-item>
  24. </el-menu>
  25. </div>
  26. <section class="user-main ">
  27. <router-view > </router-view>
  28. </section>
  29. </div>
  30. </div>
  31. </div>
  32. </template>
  33. <script setup>
  34. import { ref, onMounted, reactive,computed } from "vue";
  35. import { RouterView, RouterLink,useRouter } from "vue-router"
  36. import { request, uploadFile } from "@/utils/request";
  37. import { ElMessage, ElButton, ElDialog, ElSelect } from 'element-plus'
  38. import myheader from "@/components/header.vue"
  39. import logo from "@/assets/logo.png";
  40. const router = useRouter();
  41. let dateKeyref=ref(new Date().getTime())
  42. // defaultPage: '/project',
  43. let defaultPage=ref('/home/newfile');
  44. const activeIndex=computed(()=>{
  45. const path = router.currentRoute.value.fullPath
  46. console.log(path);
  47. if (path === '/') {
  48. router.replace({ path: defaultPage.value })
  49. }
  50. return path
  51. })
  52. function Select(key) {
  53. router.replace({ path: key })
  54. if(key=='/home/querylist'){
  55. console.log(11111)
  56. }
  57. }
  58. </script>
  59. <style lang="scss" scoped>
  60. .ve_logo_img{
  61. text-align: center;
  62. }
  63. .user{
  64. width: 100%;
  65. height: calc(100vh - 40px);
  66. }
  67. .user .container .user-slider{
  68. width: 190px;
  69. height: 100%;
  70. padding-top: 20px;
  71. }
  72. .user-slider {
  73. .el-menu {
  74. border: none;
  75. &-item {
  76. height: 36px;
  77. line-height: 36px;
  78. font-size: 14px;
  79. text-align: center;
  80. color: #b6b6b6;
  81. &.is-active {
  82. color:red;
  83. background: #2267B1;
  84. }
  85. }
  86. }
  87. .menuclass {
  88. background-color:rgba(0, 0, 0, 0)
  89. }
  90. }
  91. .lbg_color3{
  92. background: #2267B1;
  93. }
  94. .border .el-menu{
  95. border: none;
  96. .el-menu-item{
  97. color: #fff;
  98. }
  99. }
  100. .user .container .user-main{
  101. width: calc(100% - 190px);
  102. height: 100%;
  103. background: #Fff;
  104. padding: 30px;
  105. }
  106. .user .container{
  107. display: -webkit-box;
  108. display: -ms-flexbox;
  109. display: flex;
  110. -webkit-box-pack: justify;
  111. -ms-flex-pack: justify;
  112. justify-content: space-between;
  113. -webkit-box-align: center;
  114. -ms-flex-align: center;
  115. align-items: center;
  116. width: 100%;
  117. height: 100%;
  118. }
  119. .user-slider .el-menu-item.is-active{
  120. color: #000;
  121. background: #ecf5ff;
  122. }
  123. </style>