Browse Source

整合登录 首次登陆白页问题修复

pixel 5 years ago
parent
commit
77391adb46

+ 2 - 2
QMPlusVuePage/src/store/module/user.js

@@ -30,7 +30,7 @@ export const user = {
             state.userInfo = {}
             state.token = ""
             state.expiresAt = ""
-            router.push({ name: 'login' })
+            router.push({ name: 'login', replace: true })
         }
 
     },
@@ -46,7 +46,7 @@ export const user = {
                     if (redirect) {
                         router.push({ path: redirect, replace: true })
                     } else {
-                        router.push({ name: 'dashboard', replace: true })
+                        router.push({ path: '/layout/dashbord', replace: true })
                     }
                 }
             } catch (err) {

+ 1 - 1
QMPlusVuePage/src/view/dashbord/index.vue

@@ -10,7 +10,7 @@
       <div class="fl-left left-mg-lg">
         <div>用户ID:{{userInfo.uuid}}</div>
         <div>用户昵称:{{userInfo.nickName}}</div>
-        <div>用户组:{{userInfo.authority.authorityName}}</div>
+        <div>用户组:{{userInfo.authority&&userInfo.authority.authorityName}}</div>
       </div>
     </el-row>
   </el-card>

+ 37 - 9
QMPlusVuePage/src/view/layout/index.vue

@@ -1,9 +1,20 @@
 <template>
   <el-container class="layout-cont">
     <el-header class="header-cont">
-      <h1>
-        QMPlus gin-vue-admin
-      </h1>
+      <h1 class="fl-left">QMPlus gin-vue-admin</h1>
+      <div class="fl-right right-box">
+        <el-dropdown>
+          <span class="el-dropdown-link">
+            <img :src="userInfo.headerImg" height="30" width="30" />
+            {{userInfo.nickName}}
+            <i class="el-icon-arrow-down"></i>
+          </span>
+          <el-dropdown-menu class="dropdown-group" slot="dropdown">
+            <el-dropdown-item>更多信息</el-dropdown-item>
+            <el-dropdown-item icon="el-icon-table-lamp" @click.native="LoginOut"> 登出</el-dropdown-item>
+          </el-dropdown-menu>
+        </el-dropdown>
+      </div>
     </el-header>
     <el-container>
       <el-aside class="main-cont main-left">
@@ -29,17 +40,20 @@
 
 <script>
 import Aside from '@/view/layout/aside'
+import { mapGetters,mapMutations } from 'vuex'
 export default {
   name: 'Layout',
   components: {
     Aside
   },
   methods: {
+    ...mapMutations("user",['LoginOut']),
     totalCollapse() {
       this.$bus.emit('totalCollapse')
     }
   },
   computed: {
+    ...mapGetters('user', ['userInfo']),
     title() {
       return this.$route.meta.title || '当前页面'
     },
@@ -51,13 +65,27 @@ export default {
 </script>
 
 <style lang="scss">
-
 $headerHigh: 52px;
 $mainHight: calc(100vh - 52px);
-.el-scrollbar__wrap{
+.el-dropdown-link {
+    cursor: pointer;
+  }
+ .dropdown-group{
+   min-width: 100px;
+ }
+.el-scrollbar__wrap {
   padding-bottom: 17px;
 }
 .layout-cont {
+  .right-box {
+    text-align: center;
+    vertical-align: middle;
+    img {
+      vertical-align: middle;
+      border:1px solid #ccc;
+      border-radius: 6px;
+    }
+  }
   .menu-contorl {
     line-height: 52px;
     font-size: 20px;
@@ -68,7 +96,7 @@ $mainHight: calc(100vh - 52px);
   .header-cont {
     height: $headerHigh !important;
     background: #fff;
-    border-bottom:1px solid #ccc; 
+    border-bottom: 1px solid #ccc;
     line-height: $headerHigh;
   }
   .main-cont {
@@ -103,10 +131,10 @@ $mainHight: calc(100vh - 52px);
       overflow: auto;
       background: #fff;
       &::-webkit-scrollbar {
-      display: none;
-    }
+        display: none;
+      }
     }
-    
+
     .el-menu-vertical {
       height: calc(100vh - 67px) !important;
       visibility: auto;