|
@@ -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);
|
|
|
},
|
|
|
},
|