<template>
|
<!--
|
作者:luoyiming
|
时间:2019-10-25
|
描述:组件-选择用户
|
-->
|
<el-dialog title="选择分销商" :visible.sync="dialogVisible" @close="cancelFunc" :close-on-click-modal="false" :close-on-press-escape="false" width="800px">
|
<div class="common-seach-wrap">
|
<el-form size="small" :inline="true" :model="formInline" class="demo-form-inline">
|
<el-form-item label=""><el-input v-model="formInline.nick_name" placeholder="请输入昵称/姓名/手机号"></el-input></el-form-item>
|
<el-form-item><el-button type="primary" @click="search">查询</el-button></el-form-item>
|
</el-form>
|
</div>
|
|
<!--内容-->
|
<div class="product-content">
|
<div class="table-wrap">
|
<el-table :data="tableData" size="small" border style="width: 100%" v-loading="loading" @selection-change="handleSelectionChange">
|
<el-table-column prop="user_id" label="用户ID" width="70"></el-table-column>
|
<el-table-column prop="nickName" label="微信头像" width="70">
|
<template slot-scope="scope">
|
<img class="radius" v-img-url="scope.row.avatarUrl" width="30" height="30" />
|
</template>
|
</el-table-column>
|
<el-table-column prop="nickName" label="微信昵称"></el-table-column>
|
<el-table-column label="分销等级">
|
<template slot-scope="scope">
|
<span v-if="scope.row.grade_id == 0">默认等级</span>
|
<span v-if="scope.row.grade_id > 0">{{scope.row.grade.name}}</span>
|
</template>
|
</el-table-column>
|
<el-table-column prop="real_name" label="姓名"></el-table-column>
|
<el-table-column prop="mobile" label="手机号"></el-table-column>
|
<el-table-column v-if="is_radio" label="操作" width="80">
|
<template slot-scope="scope">
|
<el-button type="primary" size="mini" @click="selectUser(scope.row)">选择</el-button>
|
<!-- <span class="green" v-if="multipleSelection.user_id==scope.row.user_id" size="mini">已选择</span>
|
<el-button v-else type="text" class="" size="mini" @click="selectUserRadio(scope.row)">选择</el-button> -->
|
</template>
|
</el-table-column>
|
<el-table-column v-else type="selection" width="45"></el-table-column>
|
</el-table>
|
</div>
|
|
<!--分页-->
|
<div class="pagination">
|
<el-pagination
|
@size-change="handleSizeChange"
|
@current-change="handleCurrentChange"
|
background
|
:current-page="curPage"
|
:page-sizes="[2, 10, 20, 50, 100]"
|
:page-size="pageSize"
|
layout="total, prev, pager, next, jumper"
|
:total="totalDataNumber"
|
></el-pagination>
|
</div>
|
</div>
|
|
<div slot="footer" class="dialog-footer" v-if="!is_radio">
|
<el-button size="small" @click="dialogVisible = false">取 消</el-button>
|
<el-button size="small" type="primary" @click="confirmFunc">确 定</el-button>
|
</div>
|
</el-dialog>
|
</template>
|
|
<script>
|
import PlusApi from '@/api/plus.js';
|
//import DataApi from '@/api/data.js';
|
export default {
|
data() {
|
return {
|
/*是否加载完成*/
|
loading: true,
|
/*当前是第几页*/
|
curPage: 1,
|
/*一页多少条*/
|
pageSize: 15,
|
/*一共多少条数据*/
|
totalDataNumber: 0,
|
/*搜索对象*/
|
formInline: {
|
nick_name: ''
|
},
|
/*会员等级列表*/
|
gradeList: [],
|
/*会员列表*/
|
tableData: [],
|
/*性别列表*/
|
sex: ['女', '男', '未知'],
|
/*选中的*/
|
multipleSelection: [],
|
/*是否显示*/
|
dialogVisible: false
|
};
|
},
|
props: {
|
is_open: Boolean,
|
is_radio: Boolean
|
},
|
watch: {
|
is_open: function(n, o) {
|
if (n != o) {
|
this.dialogVisible = n;
|
if (n) {
|
this.getTableList();
|
}
|
}
|
}
|
},
|
created() {},
|
methods: {
|
/*选择第几页*/
|
handleCurrentChange(val) {
|
this.curPage = val;
|
this.getTableList();
|
},
|
|
/*每页多少条*/
|
handleSizeChange(val) {
|
this.curPage = 1;
|
this.pageSize = val;
|
this.getTableList();
|
},
|
|
/*获取数据*/
|
getTableList() {
|
let self = this;
|
self.loading = true;
|
let params = self.formInline;
|
params.page = self.curPage;
|
params.list_rows = self.pageSize;
|
PlusApi.agentList(params,true).then(data => {
|
self.loading = false;
|
self.tableData = data.data.list.data;
|
self.totalDataNumber = data.data.list.total;
|
self.gradeList = data.data.grade;
|
})
|
.catch(error => {
|
self.loading = false;
|
});
|
},
|
|
/*查询*/
|
search() {
|
this.curPage = 1;
|
this.tableData = [];
|
this.getTableList();
|
},
|
|
/*点击确定*/
|
confirmFunc() {
|
let params = this.multipleSelection;
|
this.emitFunc(params);
|
},
|
|
/*关闭弹窗*/
|
cancelFunc(e) {
|
this.emitFunc();
|
},
|
|
/*发送事件*/
|
emitFunc(e) {
|
this.dialogVisible = false;
|
if (e && typeof e != 'undefined') {
|
this.$emit('close', {
|
type: 'success',
|
params: e
|
});
|
} else {
|
this.$emit('close', {
|
type: 'error'
|
});
|
}
|
},
|
selectUserRadio(val){
|
this.multipleSelection = val;
|
},
|
/*监听单选按钮选中事件*/
|
selectUser(val) {
|
this.multipleSelection = val;
|
this.confirmFunc();
|
},
|
|
/*选择用户*/
|
handleSelectionChange(e) {
|
this.multipleSelection = e;
|
}
|
}
|
};
|
</script>
|
|
<style></style>
|