lrf402788946 5 년 전
부모
커밋
4d22b30430
3개의 변경된 파일70개의 추가작업 그리고 49개의 파일을 삭제
  1. 18 18
      src/config/menu-config.js
  2. 38 22
      src/layout/admin/admin-menu.vue
  3. 14 9
      src/layout/admin/navBar.vue

+ 18 - 18
src/config/menu-config.js

@@ -1,19 +1,19 @@
 export const devMenu = [
-  {
-    path: '/test',
-    name: '测试',
-    platform: 'admin',
-    children: [
-      {
-        path: '/list',
-        name: '测试列表',
-      },
-      {
-        path: '/detail',
-        name: '测试详情',
-      },
-    ],
-  },
+  // {
+  //   path: '/test',
+  //   name: '测试',
+  //   platform: 'admin',
+  //   children: [
+  //     {
+  //       path: '/list',
+  //       name: '测试列表',
+  //     },
+  //     {
+  //       path: '/detail',
+  //       name: '测试详情',
+  //     },
+  //   ],
+  // },
   {
     path: '/doctor',
     name: '医生管理',
@@ -39,10 +39,10 @@ export const devMenu = [
   {
     path: '/group',
     name: '群组',
-    platform: 'group',
+    platform: 'nurse',
     children: [
       {
-        path: '/phone',
+        path: '/list',
         name: '群组列表',
       },
     ],
@@ -50,7 +50,7 @@ export const devMenu = [
   {
     path: '/patient',
     name: '病人',
-    platform: 'patient',
+    platform: 'nurse',
     children: [
       {
         path: '/list',

+ 38 - 22
src/layout/admin/admin-menu.vue

@@ -16,26 +16,28 @@
         <span v-for="(item, index) in devMenu" :key="index">
           <!-- <span v-if="`${item.role}` === `${user.role}` || !item.role"> -->
           <!--  v-if="`${item.role}` === `${user.role}`" -->
-          <span v-if="!item.children" :to="item.path" :key="item.name">
-            <el-menu-item :index="item.path">
-              <i v-if="item.icon" :class="item.icon"></i>
-              <span v-if="item.name" slot="title">{{ item.name }}</span>
-            </el-menu-item>
-          </span>
+          <template v-if="display(item)">
+            <span v-if="!item.children" :to="item.path" :key="item.name">
+              <el-menu-item :index="item.path">
+                <i v-if="item.icon" :class="item.icon"></i>
+                <span v-if="item.name" slot="title">{{ item.name }}</span>
+              </el-menu-item>
+            </span>
 
-          <el-submenu v-else :index="item.name || item.path" :key="item.name">
-            <template slot="title">
-              <i v-if="item && item.icon" :class="item.icon"></i>
-              <span v-if="item && item.name" slot="title">{{ item.name }}</span>
-            </template>
-            <template v-for="(child, childIndex) in item.children">
-              <div :key="childIndex" v-if="!child.hidden">
-                <el-menu-item :index="item.path + child.path">
-                  <span v-if="child && child.name" slot="title">{{ child.name }}</span>
-                </el-menu-item>
-              </div>
-            </template>
-          </el-submenu>
+            <el-submenu v-else :index="item.name || item.path" :key="item.name">
+              <template slot="title">
+                <i v-if="item && item.icon" :class="item.icon"></i>
+                <span v-if="item && item.name" slot="title">{{ item.name }}</span>
+              </template>
+              <template v-for="(child, childIndex) in item.children">
+                <div :key="childIndex" v-if="!child.hidden">
+                  <el-menu-item :index="item.path + child.path">
+                    <span v-if="child && child.name" slot="title">{{ child.name }}</span>
+                  </el-menu-item>
+                </div>
+              </template>
+            </el-submenu>
+          </template>
         </span>
       </el-menu>
     </scroll-bar>
@@ -44,6 +46,7 @@
 
 <script>
 import { devMenu } from '../../config/menu-config';
+import { mapMutations, mapState, createNamespacedHelpers } from 'vuex';
 import scrollBar from './scrollBar.vue';
 export default {
   name: 'admin-menu',
@@ -54,13 +57,26 @@ export default {
   data: () => ({
     devMenu,
   }),
-  created() {},
-  computed: {},
+  created() {
+    this.getUser();
+  },
+  computed: {
+    ...mapState(['user']),
+    type() {
+      return this.user.type;
+    },
+  },
   methods: {
+    ...mapMutations(['getUser', 'logout']),
     selectMenu(index) {
-      console.log(index);
       this.$router.push({ path: index });
     },
+    display(item) {
+      if (this.type === 'admin') return true;
+      else if (item.platform === 'doctor') return this.type === 'doctor';
+      else if (!item.platform || item.platform === 'nurse') return true;
+      // else return true;
+    },
   },
 };
 </script>

+ 14 - 9
src/layout/admin/navBar.vue

@@ -15,8 +15,8 @@
           <el-dropdown>
             <div class="user-profile-body">
               <img class="user-avatar" src="https://img.alicdn.com/tfs/TB1ONhloamWBuNjy1XaXXXCbXXa-200-200.png" />
-              <span class="user-name" v-if="user && user.id">欢迎,{{ (user && user.user_name) || '' }}</span>
-              <span class="user-name" v-else @click="$router.push({ path: '/admin' })">请登录</span>
+              <span class="user-name" v-if="user && user.userid">欢迎,{{ (user && user.name) || '' }}</span>
+              <span class="user-name" v-else @click="$router.push({ path: '/login' })">请登录</span>
             </div>
             <el-dropdown-menu class="user-dropdown" slot="dropdown">
               <!-- <router-link to="/updatePw" v-if="user && user.id">
@@ -24,7 +24,7 @@
                 修改密码
               </el-dropdown-item>
             </router-link> -->
-              <el-dropdown-item v-if="user && user.id">
+              <el-dropdown-item v-if="user && user.userid">
                 <span @click="toLogout()" style="display:block;">退出</span>
               </el-dropdown-item>
             </el-dropdown-menu>
@@ -36,18 +36,23 @@
 </template>
 
 <script>
+import { mapMutations, mapState, createNamespacedHelpers } from 'vuex';
 export default {
   name: 'navBar',
   props: {},
   components: {},
-  data: () => ({
-    user: {},
-  }),
-  created() {},
-  computed: {},
+  data: () => ({}),
+  created() {
+    this.getUser();
+  },
+  computed: {
+    ...mapState(['user']),
+  },
   methods: {
+    ...mapMutations(['getUser', 'logout']),
     async toLogout() {
-      this.$router.push({ path: '/admin' });
+      this.logout();
+      this.$router.push({ path: '/login' });
     },
   },
 };