guhongwei 2 years ago
parent
commit
8327813b32
2 changed files with 55 additions and 5 deletions
  1. 1 1
      src/views/platmanag/leader/index.vue
  2. 54 4
      src/views/platmanag/user/index.vue

+ 1 - 1
src/views/platmanag/leader/index.vue

@@ -70,7 +70,7 @@ export default {
       ],
       opera: [
         { label: '查看', method: 'view' },
-        { label: '审核', method: 'exam', type: 'warning' },
+        { label: '审核', method: 'exam', type: 'warning', display: (i) => i.status == '0' },
       ],
       searchFields: [
         { label: '姓名', model: 'name' },

+ 54 - 4
src/views/platmanag/user/index.vue

@@ -10,16 +10,39 @@
       >
         <el-col :span="24" class="one"> <span>用户管理</span> </el-col>
         <el-col :span="24" class="two">
-          <data-search :fields="searchFields" v-model="searchInfo" @query="search"> </data-search>
+          <data-search :fields="searchFields" v-model="searchInfo" @query="search">
+            <template #gender>
+              <el-option v-for="i in genderList" :key="i.value" :label="i.label" :value="i.value"></el-option>
+            </template>
+            <template #is_leader>
+              <el-option v-for="i in is_useList" :key="i.value" :label="i.label" :value="i.value"></el-option>
+            </template>
+          </data-search>
         </el-col>
         <el-col :span="24" class="four">
-          <data-table :fields="fields" :opera="opera" @query="search" :data="list" :total="total" @del="toDel" @puton="toPuton" @cash="toCash"> </data-table>
+          <data-table
+            :fields="fields"
+            :opera="opera"
+            @query="search"
+            :data="list"
+            :total="total"
+            @del="toDel"
+            @puton="toPuton"
+            @cash="toCash"
+            @leader="toLeader"
+          >
+          </data-table>
         </el-col>
       </el-col>
     </el-row>
     <e-dialog :dialog="dialog" @toClose="toClose">
       <template v-slot:info>
-        <data-form :span="24" :fields="fieldsForm" :rules="fieldRules" v-model="fieldform" labelWidth="150px" @save="onSubmit"> </data-form>
+        <el-col :span="24" v-if="dialog.type == '1'">
+          <data-form :span="24" :fields="fieldsForm" :rules="fieldRules" v-model="fieldform" labelWidth="150px" @save="onSubmit"> </data-form>
+        </el-col>
+        <el-col :span="24" v-else-if="dialog.type == '2'">
+          <data-form :span="24" :fields="leaderFields" :rules="{}" v-model="leaderInfo" :isSave="false"> </data-form>
+        </el-col>
       </template>
     </e-dialog>
   </div>
@@ -29,6 +52,7 @@
 const _ = require('lodash');
 import { mapState, mapGetters, createNamespacedHelpers } from 'vuex';
 const { mapActions } = createNamespacedHelpers('users');
+const { mapActions: userleader } = createNamespacedHelpers('userleader');
 const { mapActions: admin } = createNamespacedHelpers('admins');
 const { mapActions: dictData } = createNamespacedHelpers('dictData');
 export default {
@@ -44,6 +68,8 @@ export default {
         { label: '流水', method: 'cash' },
         { label: '设为团长', method: 'puton', display: (i) => i.is_leader != '0', type: 'success' },
         { label: '取消团长', method: 'puton', display: (i) => i.is_leader == '0', type: 'warning' },
+        { label: '团长信息', method: 'leader', display: (i) => i.is_leader == '0' },
+
         { label: '删除', method: 'del', confirm: true, type: 'danger' },
       ],
       fields: [
@@ -84,7 +110,12 @@ export default {
       total: 0,
       // 查询
       searchInfo: {},
-      searchFields: [{ label: '用户姓名', model: 'name' }],
+      searchFields: [
+        { label: '用户姓名', model: 'name' },
+        { label: '手机号', model: 'phone' },
+        { label: '性别', model: 'gender', type: 'select' },
+        { label: '是否是团长', model: 'is_leader', type: 'select' },
+      ],
       // 性别
       genderList: [],
       // 用户状态
@@ -96,6 +127,13 @@ export default {
       fieldform: {},
       fieldsForm: [{ label: '密码', model: 'password', type: 'password' }],
       fieldRules: { password: [{ required: true, message: '请输入密码', trigger: 'blur' }] },
+      // 团长信息
+      leaderInfo: {},
+      leaderFields: [
+        { label: '真实姓名', model: 'name' },
+        { label: '身份证号', model: 'card' },
+        { label: '手机号', model: 'phone' },
+      ],
     };
   },
   async created() {
@@ -106,6 +144,7 @@ export default {
     ...dictData({ dictQuery: 'query' }),
     ...admin({ adminPass: 'pass' }),
     ...mapActions(['query', 'delete', 'fetch', 'update', 'create']),
+    ...userleader({ ulQuery: 'query' }),
     async search({ skip = 0, limit = this.$limit, ...info } = {}) {
       let condition = _.cloneDeep(this.searchInfo);
       let res = await this.query({ skip, limit, ...condition, ...info });
@@ -134,6 +173,16 @@ export default {
         this.search();
       });
     },
+    // 团长信息
+    async toLeader({ data }) {
+      let res = await this.ulQuery({ user_id: data._id });
+      if (this.$checkRes(res)) {
+        let info = {};
+        if (res.total > 0) info = res.data[0];
+        this.$set(this, `leaderInfo`, info);
+        this.dialog = { title: '团长信息', show: true, type: '2' };
+      }
+    },
     // 删除用户
     async toDel({ data }) {
       this.$confirm('是否确认删除,需确认密码', '提示', {
@@ -182,6 +231,7 @@ export default {
       if (this.$checkRes(res)) this.$set(this, `useList`, res.data);
       // 是否使用
       res = await this.dictQuery({ code: 'use' });
+      console.log(res.data);
       if (this.$checkRes(res)) this.$set(this, `is_useList`, res.data);
     },
   },