Blame view

src/views/layout/aside/aside.vue 6.94 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
        </div>
        <el-menu
          :default-active="$route.path"
          class="el-menu-vertical"
          @select="selectmenu"
          :collapse="$store.getters.isCollapse"
f45b3c05   LH_PC   云平台新UI界面
23
          background-color="#333752"
c1b532ad   梁保满   权限配置,路由基础设置
24
25
26
27
28
29
30
31
          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">
f45b3c05   LH_PC   云平台新UI界面
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
              <template v-if="!item.alone && item.children.length > 0">
                <el-menu-item-group :class="'el-menu-item'">
                  <template slot="title">
                    <i
                      v-if="item.iconCls"
                      :class="item.iconCls ? item.iconCls : [fa, fa - file]"
                    />
                    <template v-else-if="item.iconImage">
                      <el-image
                        v-show="$route.path == item.path"
                        :src="item.selectedIconImage"
                      ></el-image>
                      <el-image
                        v-show="$route.path != item.path"
                        :src="item.iconImage"
                      ></el-image>
                    </template>
                    <span slot="title">{{ item.name }}</span>
                  </template>
                </el-menu-item-group>
                <menu-tree
                  :class="'el-menu-item-group-item'"
                  :menuData="item.children"
                  :path="path"
                ></menu-tree>
              </template>
              <template v-else>
                <el-menu-item
                  :index="item.path"
                  :key="index"
                  :class="
                    path.includes(item.path)
                      ? 'is-active'
                      : ''
                  "
                  @click="isKeep(item.path)"
                >
                  <i
                    v-if="item.iconCls"
                    :class="item.iconCls ? item.iconCls : [fa, fa - file]"
                  />
                  <template v-else-if="item.iconImage">
                    <el-image
                      v-show="$route.path == item.path"
                      :src="item.selectedIconImage"
                    ></el-image>
                    <el-image
                      v-show="$route.path != item.path"
                      :src="item.iconImage"
                    ></el-image>
                  </template>
d4283687   梁保满   首页布局完成,页面顶部返回组件
83
                  <span slot="title">{{ item.name }}</span>
f45b3c05   LH_PC   云平台新UI界面
84
85
                </el-menu-item>
              </template>
c1b532ad   梁保满   权限配置,路由基础设置
86
87
88
89
90
91
92
93
94
            </template>
          </template>
        </el-menu>
      </el-aside>
    </div>
  </template>
  
  <script>
  import menuTree from "./menuTree";
6d7bd862   梁保满   飞书bug
95
  import { getURLParams } from "@/utils";
a0d49348   梁保满   授课端管理添加设备编码,随堂问、即...
96
  import BusEvent from "@/utils/busEvent";
575eb544   梁保满   账号异常提示,放开长水学校管理员设...
97
  const logo = require("../../../assets/images/EasyQuiz.png");
a0d49348   梁保满   授课端管理添加设备编码,随堂问、即...
98
  const csLogo = require("../../../assets/images/331logo.png");
c1b532ad   梁保满   权限配置,路由基础设置
99
100
101
102
103
104
105
106
  export default {
    name: "asideNav",
    components: {
      menuTree,
    },
    watch: {
      // 监听浏览器直接输入路由,将此路由添加到tabnavBox
      "$route.path": function (val) {
4c4f7640   梁保满   路由表,路由前端文件
107
        // this.selectmenu(val);
f45b3c05   LH_PC   云平台新UI界面
108
        this.path = val; 
a0d49348   梁保满   授课端管理添加设备编码,随堂问、即...
109
        BusEvent.$off("keepAlive");
c1b532ad   梁保满   权限配置,路由基础设置
110
111
      },
    },
6d7bd862   梁保满   飞书bug
112
    data() {
ca39cc52   阿宝   飞书问题处理
113
      return {
6d7bd862   梁保满   飞书bug
114
115
        path: "",
        code: "",
a0d49348   梁保满   授课端管理添加设备编码,随堂问、即...
116
117
        logo: logo,
        csLogo: csLogo,
6d7bd862   梁保满   飞书bug
118
      };
ca39cc52   阿宝   飞书问题处理
119
    },
6d7bd862   梁保满   飞书bug
120
    created() {
7812e986   梁保满   班主任查看报表添加额外信息
121
      this.code = getURLParams("code") || this.$store.getters.csCode;
6d7bd862   梁保满   飞书bug
122
      this.path = this.$route.path;
ca39cc52   阿宝   飞书问题处理
123
    },
c1b532ad   梁保满   权限配置,路由基础设置
124
    methods: {
a0d49348   梁保满   授课端管理添加设备编码,随堂问、即...
125
126
127
      isKeep() {
        BusEvent.$emit("keepAlive");
      },
c1b532ad   梁保满   权限配置,路由基础设置
128
129
130
131
132
133
134
      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   梁保满   设备异常信息
135
            if (routerARR[i].children?.length > 0 || routerARR[i].path === path) {
c1b532ad   梁保满   权限配置,路由基础设置
136
137
              if (
                routerARR[i].path === path &&
d4b9eb45   梁保满   设备异常信息
138
                routerARR[i].children?.length < 1
c1b532ad   梁保满   权限配置,路由基础设置
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
              ) {
                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;
f45b3c05   LH_PC   云平台新UI界面
162
  
c1b532ad   梁保满   权限配置,路由基础设置
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
  %w100 {
    width: 100%;
  }
  
  %h100 {
    height: 100%;
  }
  
  %cursor {
    cursor: pointer;
  }
  
  @mixin set-value($side, $value) {
    @each $prop in $leftright {
      #{$side}-#{$prop}: $value;
    }
  }
f45b3c05   LH_PC   云平台新UI界面
180
  
6d7bd862   梁保满   飞书bug
181
  .aside-box {
f45b3c05   LH_PC   云平台新UI界面
182
    max-width: 250px;
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
183
  }
f45b3c05   LH_PC   云平台新UI界面
184
  
c1b532ad   梁保满   权限配置,路由基础设置
185
186
187
188
  #asideNav {
    width: auto !important;
    display: flex;
    flex-direction: column;
f45b3c05   LH_PC   云平台新UI界面
189
  
c1b532ad   梁保满   权限配置,路由基础设置
190
191
    .logo-name {
      background-color: #03152a !important;
4c4f7640   梁保满   路由表,路由前端文件
192
193
194
      display: flex;
      align-items: center;
      width: 100%;
f45b3c05   LH_PC   云平台新UI界面
195
      height: 60px;
d4283687   梁保满   首页布局完成,页面顶部返回组件
196
      padding: 0 16px;
4c4f7640   梁保满   路由表,路由前端文件
197
      box-sizing: border-box;
c1b532ad   梁保满   权限配置,路由基础设置
198
      @extend %w100;
f45b3c05   LH_PC   云平台新UI界面
199
  
d4283687   梁保满   首页布局完成,页面顶部返回组件
200
201
202
203
      .logo {
        width: 24px;
        height: 24px;
        margin-right: 10px;
4c4f7640   梁保满   路由表,路由前端文件
204
      }
f45b3c05   LH_PC   云平台新UI界面
205
  
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
206
207
      .ellipsis {
        overflow: hidden;
c1b532ad   梁保满   权限配置,路由基础设置
208
209
210
        line-height: 50px;
        text-align: center;
        font-size: 16px;
4c4f7640   梁保满   路由表,路由前端文件
211
        color: #fff;
c1b532ad   梁保满   权限配置,路由基础设置
212
213
      }
    }
f45b3c05   LH_PC   云平台新UI界面
214
  
c1b532ad   梁保满   权限配置,路由基础设置
215
    .el-menu-vertical:not(.el-menu--collapse) {
f45b3c05   LH_PC   云平台新UI界面
216
217
      width: 250px;
      padding-top: 20px;
c1b532ad   梁保满   权限配置,路由基础设置
218
219
220
221
      @extend %h100;
      overflow-y: scroll;
      overflow-x: hidden;
    }
f45b3c05   LH_PC   云平台新UI界面
222
  
c1b532ad   梁保满   权限配置,路由基础设置
223
224
225
226
    .el-menu {
      flex: 1;
      overflow: inherit;
      border-right: none;
f45b3c05   LH_PC   云平台新UI界面
227
  
c1b532ad   梁保满   权限配置,路由基础设置
228
229
230
      &::-webkit-scrollbar {
        display: none;
      }
f45b3c05   LH_PC   云平台新UI界面
231
232
233
  
      .fa,
      .el-image {
c1b532ad   梁保满   权限配置,路由基础设置
234
        width: 24px;
f45b3c05   LH_PC   云平台新UI界面
235
        height: 24px;
c1b532ad   梁保满   权限配置,路由基础设置
236
        text-align: center;
f45b3c05   LH_PC   云平台新UI界面
237
238
        font-size: 20px;
        margin: 0px 16px !important;
c1b532ad   梁保满   权限配置,路由基础设置
239
      }
f45b3c05   LH_PC   云平台新UI界面
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
  
      .el-menu-item,
      .el-submenu__title,
      .el-menu-item-group,
      .el-menu-item-group__title {
        font-size: 14px;
        font-weight: 400;
        padding: 0px !important;
        vertical-align: middle;
        border-radius: 4px;
        width: 218px;
        line-height: 44px;
        height: 44px;
        margin: auto !important;
        background-color: #333752 !important;
  
        span {
          color: #eaecf5 !important;
        }
  
        &:not(.el-menu-item-group__title):hover {
c1b532ad   梁保满   权限配置,路由基础设置
261
          color: #ffffff !important;
f45b3c05   LH_PC   云平台新UI界面
262
          // background-color: #131523 !important;
c1b532ad   梁保满   权限配置,路由基础设置
263
264
        }
      }
f45b3c05   LH_PC   云平台新UI界面
265
  
c1b532ad   梁保满   权限配置,路由基础设置
266
      .el-menu-item.is-active {
f45b3c05   LH_PC   云平台新UI界面
267
268
269
270
271
272
273
274
275
        background-color: #f5f6fa !important;
  
        span {
          color: #131523 !important;
        }
  
        i {
          color: #131523 !important;
        }
c1b532ad   梁保满   权限配置,路由基础设置
276
      }
f45b3c05   LH_PC   云平台新UI界面
277
278
279
280
281
  
      .el-menu-item-group-item {
        .el-menu-item {
          padding: 0px 0px 0px 20px !important;
        }
c1b532ad   梁保满   权限配置,路由基础设置
282
283
284
      }
    }
  }
f45b3c05   LH_PC   云平台新UI界面
285
  
6d7bd862   梁保满   飞书bug
286
287
  :deep(.is-active) {
    color: #fff;
ca39cc52   阿宝   飞书问题处理
288
  }
c1b532ad   梁保满   权限配置,路由基础设置
289
  </style>