Blame view

src/views/layout/aside/aside.vue 5.27 KB
c1b532ad   梁保满   权限配置,路由基础设置
1
  <template>
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
2
    <div class="aside-box">
c1b532ad   梁保满   权限配置,路由基础设置
3
4
      <el-aside id="asideNav">
        <div class="logo-name">
a0d49348   梁保满   授课端管理添加设备编码,随堂问、即...
5
6
7
8
9
10
          <img
            v-if="$store.getters.logoShow"
            class="logo"
            :src="code ? csLogo : logo"
            alt=""
          />
d4283687   梁保满   首页布局完成,页面顶部返回组件
11
          <template v-else>
a0d49348   梁保满   授课端管理添加设备编码,随堂问、即...
12
            <img class="logo" :src="code ? csLogo : logo" alt="" />
6d7bd862   梁保满   飞书bug
13
14
15
            <p class="ellipsis">
              {{ code ? "331互动课堂云平台" : "中天易教云平台" }}
            </p>
d4283687   梁保满   首页布局完成,页面顶部返回组件
16
          </template>
c1b532ad   梁保满   权限配置,路由基础设置
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
        </div>
        <el-menu
          :default-active="$route.path"
          class="el-menu-vertical"
          @select="selectmenu"
          :collapse="$store.getters.isCollapse"
          background-color="#03152A"
          text-color="rgba(255,255,255,.7)"
          active-text-color="#ffffff"
          :router="$store.getters.uniquerouter"
          :unique-opened="$store.getters.uniquerouter"
          :collapse-transition="true"
        >
          <template v-for="(item, index) in $store.getters.routers">
            <template v-if="!item.hidden">
              <el-submenu
                v-if="!item.alone && item.children.length > 0"
                :index="index + ''"
                :key="index"
              >
                <template slot="title">
                  <i :class="item.iconCls ? item.iconCls : [fa, fa - server]"></i>
d4283687   梁保满   首页布局完成,页面顶部返回组件
39
                  <span slot="title">{{ item.name }}</span>
c1b532ad   梁保满   权限配置,路由基础设置
40
41
                </template>
  
82b9014a   梁保满   交互调整
42
                <menu-tree :menuData="item.children" :path="path"></menu-tree>
c1b532ad   梁保满   权限配置,路由基础设置
43
              </el-submenu>
6d7bd862   梁保满   飞书bug
44
45
46
47
48
              <el-menu-item
                :index="item.path"
                v-else
                :key="item.path"
                :class="path.includes(item.path) ? 'is-active' : ''"
bbc51d4b   梁保满   组卷添加修改分数,打开新开页面跳转...
49
                @click="isKeep(item.path)"
6d7bd862   梁保满   飞书bug
50
              >
c1b532ad   梁保满   权限配置,路由基础设置
51
52
53
54
55
56
57
58
59
60
61
62
                <i :class="item.iconCls ? item.iconCls : [fa, fa - file]" />
                <span slot="title">{{ item.name }}</span>
              </el-menu-item>
            </template>
          </template>
        </el-menu>
      </el-aside>
    </div>
  </template>
  
  <script>
  import menuTree from "./menuTree";
6d7bd862   梁保满   飞书bug
63
  import { getURLParams } from "@/utils";
a0d49348   梁保满   授课端管理添加设备编码,随堂问、即...
64
  import BusEvent from "@/utils/busEvent";
575eb544   梁保满   账号异常提示,放开长水学校管理员设...
65
  const logo = require("../../../assets/images/EasyQuiz.png");
a0d49348   梁保满   授课端管理添加设备编码,随堂问、即...
66
  const csLogo = require("../../../assets/images/331logo.png");
c1b532ad   梁保满   权限配置,路由基础设置
67
68
69
70
71
72
73
74
  export default {
    name: "asideNav",
    components: {
      menuTree,
    },
    watch: {
      // 监听浏览器直接输入路由,将此路由添加到tabnavBox
      "$route.path": function (val) {
4c4f7640   梁保满   路由表,路由前端文件
75
        // this.selectmenu(val);
6d7bd862   梁保满   飞书bug
76
        this.path = val;
a0d49348   梁保满   授课端管理添加设备编码,随堂问、即...
77
        BusEvent.$off("keepAlive");
c1b532ad   梁保满   权限配置,路由基础设置
78
79
      },
    },
6d7bd862   梁保满   飞书bug
80
    data() {
ca39cc52   阿宝   飞书问题处理
81
      return {
6d7bd862   梁保满   飞书bug
82
83
        path: "",
        code: "",
a0d49348   梁保满   授课端管理添加设备编码,随堂问、即...
84
85
        logo: logo,
        csLogo: csLogo,
6d7bd862   梁保满   飞书bug
86
      };
ca39cc52   阿宝   飞书问题处理
87
    },
6d7bd862   梁保满   飞书bug
88
    created() {
7812e986   梁保满   班主任查看报表添加额外信息
89
      this.code = getURLParams("code") || this.$store.getters.csCode;
6d7bd862   梁保满   飞书bug
90
      this.path = this.$route.path;
ca39cc52   阿宝   飞书问题处理
91
    },
c1b532ad   梁保满   权限配置,路由基础设置
92
    methods: {
a0d49348   梁保满   授课端管理添加设备编码,随堂问、即...
93
94
95
      isKeep() {
        BusEvent.$emit("keepAlive");
      },
c1b532ad   梁保满   权限配置,路由基础设置
96
97
98
99
100
101
102
      selectmenu(key, indexpath) {
        // 如果不使用 elemenUI 菜单的 vue-router 的模式将用以下方式进行页面跳转 el-menu的router设置为false
        // this.$router.push(indexpath.join("/"))
        let router = this.$store.getters.routers;
        let name = "";
        let navTitle = function (path, routerARR) {
          for (let i = 0; i < routerARR.length; i++) {
d4b9eb45   梁保满   设备异常信息
103
            if (routerARR[i].children?.length > 0 || routerARR[i].path === path) {
c1b532ad   梁保满   权限配置,路由基础设置
104
105
              if (
                routerARR[i].path === path &&
d4b9eb45   梁保满   设备异常信息
106
                routerARR[i].children?.length < 1
c1b532ad   梁保满   权限配置,路由基础设置
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
              ) {
                name = routerARR[i].name;
                break;
              }
              navTitle(path, routerARR[i].children);
            }
          }
          return name;
        };
        this.$store.dispatch("addTab", {
          title: navTitle(key, router),
          path: key,
        });
      },
    },
  };
  </script>
  
  <style lang="scss">
  $top: top;
  $bottom: bottom;
  $left: left;
  $right: right;
  %w100 {
    width: 100%;
  }
  
  %h100 {
    height: 100%;
  }
  
  %cursor {
    cursor: pointer;
  }
  
  @mixin set-value($side, $value) {
    @each $prop in $leftright {
      #{$side}-#{$prop}: $value;
    }
  }
6d7bd862   梁保满   飞书bug
147
148
  .aside-box {
    max-width: 200px;
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
149
  }
c1b532ad   梁保满   权限配置,路由基础设置
150
151
152
153
  #asideNav {
    width: auto !important;
    display: flex;
    flex-direction: column;
c1b532ad   梁保满   权限配置,路由基础设置
154
155
    .logo-name {
      background-color: #03152a !important;
4c4f7640   梁保满   路由表,路由前端文件
156
157
158
159
      display: flex;
      align-items: center;
      width: 100%;
      height: 50px;
d4283687   梁保满   首页布局完成,页面顶部返回组件
160
      padding: 0 16px;
4c4f7640   梁保满   路由表,路由前端文件
161
      box-sizing: border-box;
c1b532ad   梁保满   权限配置,路由基础设置
162
      @extend %w100;
d4283687   梁保满   首页布局完成,页面顶部返回组件
163
164
165
166
      .logo {
        width: 24px;
        height: 24px;
        margin-right: 10px;
4c4f7640   梁保满   路由表,路由前端文件
167
      }
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
168
169
      .ellipsis {
        overflow: hidden;
c1b532ad   梁保满   权限配置,路由基础设置
170
171
172
        line-height: 50px;
        text-align: center;
        font-size: 16px;
4c4f7640   梁保满   路由表,路由前端文件
173
        color: #fff;
c1b532ad   梁保满   权限配置,路由基础设置
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
      }
    }
    .el-menu-vertical:not(.el-menu--collapse) {
      width: 200px;
      @extend %h100;
      overflow-y: scroll;
      overflow-x: hidden;
    }
    .el-menu {
      flex: 1;
      overflow: inherit;
      border-right: none;
      &::-webkit-scrollbar {
        display: none;
      }
      .fa {
        vertical-align: middle;
        margin-right: 5px;
        width: 24px;
        text-align: center;
        font-size: 18px;
      }
      .el-menu-item {
        background-color: #020f1d !important;
        border-bottom: 1px solid #020f1d;
        &:hover {
          color: #ffffff !important;
          background-color: #375573 !important;
        }
      }
      .el-menu-item.is-active {
        background-color: #56a9ff !important;
      }
      .is-opened > .el-submenu__title > .el-icon-arrow-down {
        color: #ffffff;
        font-weight: 500;
        font-size: 18px;
      }
    }
  }
6d7bd862   梁保满   飞书bug
214
215
  :deep(.is-active) {
    color: #fff;
ca39cc52   阿宝   飞书问题处理
216
  }
c1b532ad   梁保满   权限配置,路由基础设置
217
  </style>