维护客户 外分客户

This commit is contained in:
wanyongkang
2020-11-17 14:41:43 +08:00
parent c56fd97d28
commit 3d334596c4

View File

@@ -8,6 +8,7 @@
icon="el-icon-plus"
v-href="'/user/addmanager'"
>添加子管理员</el-button>
<el-button size="small" @click="autoSetUser()" type="primary">一键分配用户</el-button>
<div class="search-box">
<el-input v-model="manageData.KeyWord" placeholder="用户名/姓名/联系方式" clearable size="small">
<el-button slot="append" icon="el-icon-search" @click="getmanagerlist(1)"></el-button>
@@ -43,41 +44,136 @@
:total="manegeTotal"
></el-pagination>
</div>
<el-dialog title="选中用户" :visible.sync="showUserDialog" width="770px" v-loading="userLoading">
<div class="search-box">
<el-button size="small" type="primary" icon="el-icon-plus" @click="doSetUser()">分配用户</el-button>
<el-switch
active-value="1"
inactive-value="0"
v-model="searchUserModel.all"
active-text="全部用户">
</el-switch>
<el-dialog :close-on-click-modal="false" title="选中用户" :visible.sync="showUserDialog" width="770px" v-loading="userLoading">
<el-dialog
width="30%"
:title="fenpei_title"
:visible.sync="innerVisible"
:close-on-click-modal="false"
append-to-body>
<el-card class="box-card">
<el-table
:data="manager_user_list"
stripe
style="width: 100%">
<el-table-column
prop="ManagerName"
label="管理员"
width="180">
</el-table-column>
<el-table-column
prop="count_num"
label="总用户数"
width="180">
</el-table-column>
<el-table-column
prop="screen_num"
label="筛选结果">
</el-table-column>
</el-table>
</el-card>
<el-card class="box-card">
<el-row :gutter="10">
<el-col :span="6">
<el-input
size="medium"
placeholder="起始金额"
type="number"
v-model="waifen_screen.money1">
</el-input>
</el-col>
<el-col :span="6">
<el-input
size="medium"
placeholder="截至金额"
type="number"
v-model="waifen_screen.money2">
</el-input>
</el-col>
<el-col :span="8">
<el-select v-model="waifen_screen.follow_status" size="medium" placeholder="请选择跟进状态">
<el-option
v-for="item in follow_all_status"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-col>
<el-col :span="4">
<el-button size="medium" @click="screen" type="primary">筛选</el-button>
</el-col>
</el-row>
<el-row style="margin-top:5px">
<el-col :span="6">
<p style="line-height:250%">输入外分人数</p>
</el-col>
<el-col :span="12">
<el-input-number size="medium" v-model="distribute_num" :min="1" ></el-input-number>
</el-col>
</el-row>
<el-row style="margin-top:5px">
<el-col :span="6">
<p style="line-height:250%">选择接收管理员</p>
</el-col>
<el-col :span="12">
<el-select v-model="waifen_screen.jingli_id" size="medium" placeholder="请选择接收管理员">
<el-option
v-for="item in manager_jingli_list"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-col>
</el-row>
<el-button @click="waifen" size="medium" type="primary">外分</el-button>
</el-card>
</el-dialog>
<div class="search-box" style="padding-bottom:5px;">
<el-button size="small" type="primary" @click="doSetUser()">向外分配用户</el-button>
<el-input placeholder="输入关键字进行过滤" size="small" v-model="searchUserModel.keyWord">
<el-button slot="append" icon="el-icon-search" @click="getUser"></el-button>
</el-input>
</div>
<el-table :data="userRet.Data" row-key="Id" border size="medium" height="650px"
@selection-change="handleSelectionChange">
<el-table-column
type="selection"
width="55">
</el-table-column>
<el-table-column prop="LoginCode" label="账号" ></el-table-column>
<el-table-column prop="CreateTime" label="注册时间"> </el-table-column>
<el-table-column prop="Name" label="名称"></el-table-column>
<el-table-column prop="cost" label="近一月消费"></el-table-column>
<el-table-column prop="ManagerName" label="客户经理"></el-table-column>
</el-table>
<div class="block">
<el-pagination
v-if="userRet.Data.length>0"
@current-change="getUser"
:page-size="500"
:page-size="50"
:current-page.sync="searchUserModel.PageIndex"
layout="total,prev, pager, next"
:total="userRet.TotalCount"
></el-pagination>
</div>
</el-dialog>
<el-dialog
title="为用户分配客户经理"
:visible.sync="dialogSetManaget"
width="30%">
<div style="margin: 15px 0;"></div>
<el-checkbox-group v-model="select_manege_list" >
<el-checkbox v-for="manager in manager_list" :label="manager.id" :key="manager.id">{{manager.RealName}}</el-checkbox>
</el-checkbox-group>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogSetManaget = false"> </el-button>
<el-button type="primary" @click="autoSetUserRequest()"> </el-button>
</span>
</el-dialog>
</div>
</template>
@@ -137,7 +233,24 @@ export default {
Data: []
},
currentManager: null,
multipleSelection: null
multipleSelection: null,
dialogSetManaget: false,
manager_list: [],
checkAll: false,
isIndeterminate: true,
select_manege_list: [],
innerVisible: false,
manager_user_list: [],
distribute_num: 1,
follow_all_status: [],
manager_jingli_list: [],
waifen_screen: {
money1: null,
money2: null,
jingli_id: null,
follow_status: 1
},
fenpei_title: ''
}
},
watch: {
@@ -153,7 +266,6 @@ export default {
window.localStorage.getItem('etorcurrentuser')
).Manager
this.getmanagerlist()
this.getUser()
},
methods: {
handleSelectionChange (val) {
@@ -163,22 +275,31 @@ export default {
setUser (manage) {
this.showUserDialog = true
this.currentManager = manage
this.getUser()
},
getUser () {
this.$api.get('baseinfo/v1/user/Search', this.searchUserModel).then(res => {
this.userRet = res
this.$api.get(this.$api.phpURL + 'manager/SetUser/getManagerUser', {manager_id: this.currentManager.Id, page: this.searchUserModel.PageIndex, search_info: this.searchUserModel.keyWord}).then(res => {
this.userRet.Data = res.data.list
this.userRet.TotalCount = parseInt(res.data.count)
})
},
doSetUser () {
var data = {
ManagerId: this.currentManager.Id,
ManagerName: this.currentManager.RealName,
UserIds: this.multipleSelection.map(m => m.Id)
}
this.$api.post('baseinfo/v1/user/SetManager', data).then(res => {
this.getUser()
this.showUserDialog = false
this.fenpei_title = '向外分配用户-' + this.currentManager.RealName
this.innerVisible = true
this.$api.get(this.$api.phpURL + 'manager/SetUser/getAllManagerUserCount', {}).then(res => {
this.manager_user_list = res.data.list
this.follow_all_status = res.data.follow_status
this.manager_jingli_list = res.data.manager_jingli_list
})
// var data = {
// ManagerId: this.currentManager.Id,
// ManagerName: this.currentManager.RealName,
// UserIds: this.multipleSelection.map(m => m.Id)
// }
// this.$api.post('baseinfo/v1/user/SetManager', data).then(res => {
// this.getUser()
// this.showUserDialog = false
// })
},
geturl (data) {
var that = this
@@ -357,6 +478,35 @@ export default {
ID: item.Id
}
})
},
autoSetUser () {
this.dialogSetManaget = true
this.$api.post(this.$api.phpURL + 'manager/SetUser/getManagerList', {}).then(res => {
this.manager_list = res.data
})
},
autoSetUserRequest () {
this.dialogSetManaget = false
this.$api.post(this.$api.phpURL + 'manager/SetUser/autoSet', {manager_list: this.select_manege_list}).then(res => {
})
},
screen () {
this.$api.get(this.$api.phpURL + 'manager/SetUser/getAllManagerUserCount', {screen: this.waifen_screen}).then(res => {
this.manager_user_list = res.data.list
})
},
waifen () {
if (!this.waifen_screen.money1 || !this.waifen_screen.money2 || !this.waifen_screen.jingli_id) {
this.$message({
message: '消费范围与接收管理员必须不为空',
type: 'warning'
})
return
}
this.$api.get(this.$api.phpURL + 'manager/SetUser/waifen', {screen: this.waifen_screen, num: this.distribute_num, manager_id: this.currentManager.Id}).then(res => {
this.screen()
})
}
}
}