guhongwei 5 vuotta sitten
vanhempi
commit
3ca49206f3
4 muutettua tiedostoa jossa 110 lisäystä ja 57 poistoa
  1. 18 18
      src/router/index.js
  2. 3 0
      src/store/index.js
  3. 44 0
      src/store/user/auth-user.js
  4. 45 39
      src/views/home/parts/clickBtn.vue

+ 18 - 18
src/router/index.js

@@ -63,23 +63,23 @@ const router = new VueRouter({
   base: process.env.NODE_ENV === 'development' ? '' : process.env.VUE_APP_ROUTER,
   base: process.env.NODE_ENV === 'development' ? '' : process.env.VUE_APP_ROUTER,
   routes,
   routes,
 });
 });
-router.beforeEach((to, form, next) => {
-  if (to.name === 'pcenter_center') {
-    store.commit('setUser');
-    if (to.name === 'login') {
-      next();
-      return;
-    }
-    let user = store.state.user;
-    if (user) {
-      next();
-    }
-    //下面是没登录的情况,需要跳转页面到用户未登录页
-    else next({ name: 'login' });
-  } else {
-    store.commit('setUser');
-    next();
-  }
-});
+// router.beforeEach((to, form, next) => {
+//   if (to.name === 'pcenter_center') {
+//     store.commit('setUser');
+//     if (to.name === 'login') {
+//       next();
+//       return;
+//     }
+//     let user = store.state.user;
+//     if (user) {
+//       next();
+//     }
+//     //下面是没登录的情况,需要跳转页面到用户未登录页
+//     else next({ name: 'login' });
+//   } else {
+//     store.commit('setUser');
+//     next();
+//   }
+// });
 
 
 export default router;
 export default router;

+ 3 - 0
src/store/index.js

@@ -3,6 +3,8 @@ import Vuex from 'vuex';
 import marketproduct from '@common/store/market/marketproduct';
 import marketproduct from '@common/store/market/marketproduct';
 import expertsuser from '@common/store/market/exportuser';
 import expertsuser from '@common/store/market/exportuser';
 import maarkettype from '@common/store/market/markettype';
 import maarkettype from '@common/store/market/markettype';
+import authUser from './user/auth-user';
+
 Vue.use(Vuex);
 Vue.use(Vuex);
 
 
 export default new Vuex.Store({
 export default new Vuex.Store({
@@ -13,5 +15,6 @@ export default new Vuex.Store({
     marketproduct,
     marketproduct,
     expertsuser,
     expertsuser,
     maarkettype,
     maarkettype,
+    authUser,
   },
   },
 });
 });

+ 44 - 0
src/store/user/auth-user.js

@@ -0,0 +1,44 @@
+import Vue from 'vue';
+import Vuex from 'vuex';
+import _ from 'lodash';
+//用户的菜单选项增删改查
+Vue.use(Vuex);
+const api = {
+  interface: `/api/auth/user`,
+  getMenu: `/api/auth/user/menus`,
+};
+const state = () => ({});
+const mutations = {};
+
+const actions = {
+  async query({ commit }, { skip = 0, limit = undefined, ...info } = {}) {
+    const res = await this.$axios.$get(api.interface, { skip, limit, ...info });
+    return res;
+  },
+  async create({ commit }, payload) {
+    const res = await this.$axios.$post(`${api.interface}`, payload);
+    return res;
+  },
+  async fetch({ commit }, payload) {
+    //特殊变化,查用户菜单
+    const res = await this.$axios.$get(`${api.getMenu}`, payload);
+    return res;
+  },
+  async update({ commit }, { id, ...info } = {}) {
+    const res = await this.$axios.$post(`${api.interface}/update/${id}`, {
+      ...info,
+    });
+    return res;
+  },
+  async delete({ commit }, payload) {
+    const res = await this.$axios.$delete(`${api.interface}/${payload}`);
+    return res;
+  },
+};
+
+export default {
+  namespaced: true,
+  state,
+  mutations,
+  actions,
+};

+ 45 - 39
src/views/home/parts/clickBtn.vue

@@ -1,36 +1,33 @@
 <template>
 <template>
   <div id="clickBtn">
   <div id="clickBtn">
     <el-row>
     <el-row>
-      <el-col :span="24">
-        <el-col :span="12">
-          <p><i class="el-icon-edit"></i></p>
-          <el-button type="primary">直播大厅</el-button>
+      <el-col :span="24" class="info">
+        <el-col :span="11" class="btn">
+          <p><i class="el-icon-camera"></i></p>
+          <el-button type="primary" round>直播大厅</el-button>
         </el-col>
         </el-col>
-        <el-col :span="12">
-          <p><i class="el-icon-edit"></i></p>
-          <el-button type="primary">科技超市</el-button>
+        <el-col :span="11" class="btn">
+          <p><i class="el-icon-coin"></i></p>
+          <el-button type="primary" round>科技超市</el-button>
         </el-col>
         </el-col>
-        <el-col :span="12" v-if="this.user.role == '2' || this.user.role == '3' || this.user.role == '6' || this.user.role == '7'">
-          <p><i class="el-icon-edit"></i></p>
-          <el-button type="primary">我的发布</el-button>
+        <el-col :span="11" class="btn" v-if="this.user.role == '2' || this.user.role == '3' || this.user.role == '6' || this.user.role == '7'">
+          <p><i class="el-icon-pie-chart"></i></p>
+          <el-button type="primary" round>我的发布</el-button>
         </el-col>
         </el-col>
-        <el-col :span="12" v-if="this.user.role == '2' || this.user.role == '3' || this.user.role == '6' || this.user.role == '7'">
-          <p><i class="el-icon-edit"></i></p>
-          <el-button type="primary">事项管理</el-button>
+        <el-col :span="11" class="btn" v-if="this.user.role == '2' || this.user.role == '3' || this.user.role == '6' || this.user.role == '7'">
+          <p><i class="el-icon-notebook-1"></i></p>
+          <el-button type="primary" round>事项管理</el-button>
         </el-col>
         </el-col>
-        <el-col :span="12" v-if="this.user.role == '2' || this.user.role == '3' || this.user.role == '6' || this.user.role == '7'">
-          <p><i class="el-icon-edit"></i></p>
-          <el-button type="primary">展会管理</el-button>
+        <el-col :span="11" class="btn" v-if="this.user.role == '2' || this.user.role == '3' || this.user.role == '6' || this.user.role == '7'">
+          <p><i class="el-icon-video-camera"></i></p>
+          <el-button type="primary" round>展会管理</el-button>
         </el-col>
         </el-col>
-        <el-col :span="12" v-if="this.user.role == '2' || this.user.role == '3' || this.user.role == '6' || this.user.role == '7'">
-          <p><i class="el-icon-edit"></i></p>
-          <el-button type="primary">个人中心</el-button>
+        <el-col :span="11" class="btn" v-if="this.user.role == '2' || this.user.role == '3' || this.user.role == '6' || this.user.role == '7'">
+          <p><i class="el-icon-user"></i></p>
+          <el-button type="primary" round>个人中心</el-button>
         </el-col>
         </el-col>
         <span v-else-if="this.user.role == '1' || this.user.role == '4'">
         <span v-else-if="this.user.role == '1' || this.user.role == '4'">
-          <el-col :span="12" v-for="(item, index) in menuList" :key="index">
-            <p><i class="el-icon-edit"></i></p>
-            <el-button type="primary">{{ item.title }}</el-button>
-          </el-col>
+          超级管理员,合作机构管理员,业务管理员
         </span>
         </span>
       </el-col>
       </el-col>
     </el-row>
     </el-row>
@@ -39,8 +36,6 @@
 
 
 <script>
 <script>
 import { mapState, createNamespacedHelpers } from 'vuex';
 import { mapState, createNamespacedHelpers } from 'vuex';
-const { mapActions: authUser } = createNamespacedHelpers('authUser');
-
 export default {
 export default {
   name: 'clickBtn',
   name: 'clickBtn',
   props: {},
   props: {},
@@ -48,26 +43,37 @@ export default {
   data: function() {
   data: function() {
     return {
     return {
       user: {
       user: {
-        role: '1',
+        role: '2',
       },
       },
       menuList: [],
       menuList: [],
     };
     };
   },
   },
-  created() {
-    this.searchInfo();
-    console.log(this.user);
-  },
-  methods: {
-    ...authUser(['fetch']),
-    async searchInfo() {
-      let res = await this.fetch();
-      console.log(res);
-    },
-  },
+  created() {},
+  methods: {},
   computed: {
   computed: {
-    ...mapState(['user']),
+    // ...mapState(['user']),
   },
   },
 };
 };
 </script>
 </script>
 
 
-<style lang="less" scoped></style>
+<style lang="less" scoped>
+.info {
+  margin: 15px 0 0 0;
+  .btn {
+    box-shadow: 0 0 5px #ccc;
+    margin: 0 10px 10px 10px;
+    text-align: center;
+    border-radius: 10px;
+    padding: 15px;
+    p {
+      padding: 0 0 10px 0;
+      i {
+        font-size: 30px;
+      }
+    }
+  }
+  .btn:nth-child(2n) {
+    margin: 0;
+  }
+}
+</style>