guhongwei 4 lat temu
rodzic
commit
4710931cc6

+ 9 - 0
src/store/user/user.js

@@ -4,6 +4,7 @@ import _ from 'lodash';
 Vue.use(Vuex);
 const api = {
   interface: `/api/market/user`,
+  userinterface: `/api/market/user/hwsxg`,
 };
 const state = () => ({});
 const mutations = {};
@@ -13,6 +14,14 @@ const actions = {
     const res = await this.$axios.$get(api.interface, { skip, limit, ...info });
     return res;
   },
+  async userquery({ commit }, { skip = 0, limit = undefined, ...info } = {}) {
+    const res = await this.$axios.$get(api.userinterface, {
+      skip,
+      limit,
+      ...info,
+    });
+    return res;
+  },
   async create({ commit }, payload) {
     const res = await this.$axios.$post(`${api.interface}`, payload);
     return res;

+ 3 - 1
src/views/superAdminCenter/index.vue

@@ -34,6 +34,7 @@ import role from './role/index.vue';
 import permission from './permission/index.vue';
 import adminUser from './adminUser/index.vue';
 import vip from './vip/index.vue';
+import user from './user/index.vue';
 import business from './business/index.vue';
 import manager from './manager/index.vue';
 import heads from '@/layout/userCenter/heads.vue';
@@ -49,6 +50,7 @@ export default {
     permission,
     adminUser,
     vip,
+    user,
     business,
     manager,
     menus,
@@ -56,7 +58,7 @@ export default {
   },
   data: function() {
     return {
-      cpt: 'permission',
+      cpt: 'user',
       topTitle: '',
     };
   },

+ 95 - 0
src/views/superAdminCenter/user/index.vue

@@ -0,0 +1,95 @@
+<template>
+  <div id="index">
+    <el-row>
+      <el-col :span="24">
+        <el-col :span="24" class="add" style="text-align:right;padding: 10px 20px;">
+          <el-button size="mini" type="primary" @click="toAdd" icon="el-icon-plus">添加{{ theme }}</el-button>
+        </el-col>
+        <el-col :span="24" class="main">
+          <data-table :fields="fields" :opera="opera" @edit="toEdit" :data="list" :total="total" @delete="toDelete" @query="search"></data-table>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import dataTable from '@/components/data-table.vue';
+import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: users } = createNamespacedHelpers('users');
+const { mapActions: authUser } = createNamespacedHelpers('authUser');
+export default {
+  name: 'index',
+  props: {},
+  components: {
+    dataTable,
+  },
+  data: function() {
+    return {
+      theme: '用戶',
+      opera: [
+        {
+          label: '审核',
+          icon: 'el-icon-edit',
+          method: 'edit',
+        },
+        {
+          label: '删除',
+          icon: 'el-icon-delete',
+          method: 'delete',
+          confirm: true,
+        },
+      ],
+      fields: [
+        { label: '姓名', prop: 'name', filter: 'input' },
+        { label: '电话', prop: 'phone', filter: 'input' },
+        { label: '用戶类型', prop: 'role', format: i => (i == '4' ? '个人用户' : i == '5' ? '企业用户' : i == '6' ? '专家' : '临时用户') },
+        { label: '状态', prop: 'status', format: i => (i == '0' ? '待审核' : i == '1' ? '审核成功' : i == '2' ? '审核拒绝' : '待认证') },
+      ],
+      list: [],
+      total: 0,
+    };
+  },
+  created() {
+    this.search();
+  },
+  methods: {
+    ...users(['query', 'delete', 'update', 'userquery']),
+    ...authUser({ authUserDelete: 'delete' }),
+    async search({ skip = 0, limit = 10, pid = '', ...info } = {}) {
+      if (this.user.code.length == 3) {
+        const res = await this.userquery({ skip, limit, ...info });
+        if (this.$checkRes(res)) {
+          this.$set(this, `list`, res.data);
+          this.$set(this, `total`, res.total);
+        }
+      } else {
+        const res = await this.userquery({ skip, limit, pid, code: this.user.code, ...info });
+        if (this.$checkRes(res)) {
+          this.$set(this, `list`, res.data);
+          this.$set(this, `total`, res.total);
+        }
+      }
+    },
+    // 添加
+    toAdd() {
+      console.log('添加');
+    },
+    // 修改
+    toEdit() {},
+    // 删除
+    toDelete() {},
+  },
+  computed: {
+    ...mapState(['user']),
+    pageTitle() {
+      return `${this.$route.meta.title}`;
+    },
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+};
+</script>
+
+<style lang="less" scoped></style>