feat(BD列表): 操作新增换绑BDLeader的功能
This commit is contained in:
parent
2c0d9350ac
commit
aeba174363
@ -1,116 +1,125 @@
|
||||
import request from '@/utils/request'
|
||||
import request from "@/utils/request";
|
||||
|
||||
// BD列表
|
||||
export function pageRoomBDInfo(params) {
|
||||
return request({
|
||||
url: '/team/bd/page',
|
||||
method: 'get',
|
||||
url: "/team/bd/page",
|
||||
method: "get",
|
||||
params
|
||||
})
|
||||
});
|
||||
}
|
||||
// BD代理列表
|
||||
export function pageRoomTeamBDInfo(params) {
|
||||
return request({
|
||||
url: '/team/bd/member/page',
|
||||
method: 'get',
|
||||
url: "/team/bd/member/page",
|
||||
method: "get",
|
||||
params
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 删除BD
|
||||
export function deleteBD(id) {
|
||||
return request({
|
||||
url: '/team/bd/del',
|
||||
method: 'get',
|
||||
url: "/team/bd/del",
|
||||
method: "get",
|
||||
params: { id }
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 删除BD中的代理成员
|
||||
export function deleteBDMember(id) {
|
||||
return request({
|
||||
url: '/team/bd/member/del',
|
||||
method: 'get',
|
||||
url: "/team/bd/member/del",
|
||||
method: "get",
|
||||
params: { id }
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 添加BD
|
||||
export function addBD(data) {
|
||||
return request({
|
||||
url: '/team/bd/add',
|
||||
method: 'post',
|
||||
url: "/team/bd/add",
|
||||
method: "post",
|
||||
data
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 修改BD
|
||||
export function updateBD(data) {
|
||||
return request({
|
||||
url: '/team/bd/update',
|
||||
method: 'post',
|
||||
url: "/team/bd/update",
|
||||
method: "post",
|
||||
data
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 根据bdID获得bd信息
|
||||
export function getBdById(id) {
|
||||
return request({
|
||||
url: '/bd/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
url: "/bd/" + id,
|
||||
method: "get"
|
||||
});
|
||||
}
|
||||
|
||||
// 换绑BD Leader
|
||||
export function bingdBDLeader(data) {
|
||||
return request({
|
||||
url: "/team/bd/change-bd-leader",
|
||||
method: "post",
|
||||
data
|
||||
});
|
||||
}
|
||||
|
||||
// BD Lead 列表
|
||||
export function pageBdLead(params) {
|
||||
return request({
|
||||
url: '/team/bd/leader/page',
|
||||
method: 'get',
|
||||
url: "/team/bd/leader/page",
|
||||
method: "get",
|
||||
params
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 删除BD Lead
|
||||
export function deleteBdLead(id) {
|
||||
return request({
|
||||
url: '/team/bd/leader/del',
|
||||
method: 'get',
|
||||
url: "/team/bd/leader/del",
|
||||
method: "get",
|
||||
params: { id }
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 添加BD Lead
|
||||
export function addBdLead(data) {
|
||||
return request({
|
||||
url: '/team/bd/leader/add',
|
||||
method: 'post',
|
||||
url: "/team/bd/leader/add",
|
||||
method: "post",
|
||||
data
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// 编辑BD Lead
|
||||
export function updateBDLead(data) {
|
||||
return request({
|
||||
url: '/team/bd/leader/update',
|
||||
method: 'post',
|
||||
url: "/team/bd/leader/update",
|
||||
method: "post",
|
||||
data
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// BD Lead添加子级BD
|
||||
export function leadBindBd(data) {
|
||||
return request({
|
||||
url: '/team/bd/leader/bind/bd',
|
||||
method: 'post',
|
||||
url: "/team/bd/leader/bind/bd",
|
||||
method: "post",
|
||||
data
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
// BD工作统计
|
||||
export function pageWorkStatistics(params) {
|
||||
return request({
|
||||
url: '/team/bd/work/statistics',
|
||||
method: 'get',
|
||||
url: "/team/bd/work/statistics",
|
||||
method: "get",
|
||||
params
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
122
src/views/team/business-development/bind-bd-leader.vue
Normal file
122
src/views/team/business-development/bind-bd-leader.vue
Normal file
@ -0,0 +1,122 @@
|
||||
<template>
|
||||
<div class="bind-team-drawer">
|
||||
<el-drawer
|
||||
title="绑定BDLeader"
|
||||
:visible="true"
|
||||
:before-close="handleClose"
|
||||
:close-on-press-escape="false"
|
||||
:wrapper-closable="false"
|
||||
:modal-append-to-body="true"
|
||||
:append-to-body="true"
|
||||
custom-class="drawer-auto-layout"
|
||||
>
|
||||
<div class="bind-team">
|
||||
<!-- 输入表单 -->
|
||||
<div class="drawer-form">
|
||||
<el-form
|
||||
ref="form"
|
||||
:model="form"
|
||||
:rules="formRules"
|
||||
label-width="100px"
|
||||
>
|
||||
<el-form-item prop="newAccount" label="BD Leader">
|
||||
<!-- 输入框 -->
|
||||
<el-input
|
||||
v-model="form.newAccount"
|
||||
:sys-origin="sysOrigin"
|
||||
placeholder="请输入账号或靓号"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
|
||||
<!-- 尾部 -->
|
||||
<div class="drawer-footer">
|
||||
<el-button @click="handleClose()">关闭</el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
:disabled="submitLoading"
|
||||
:loading="submitLoading"
|
||||
@click="submitForm"
|
||||
>保存</el-button
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</el-drawer>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { deepClone } from "@/utils";
|
||||
|
||||
import { bingdBDLeader } from "@/api/room-anchor";
|
||||
|
||||
export default {
|
||||
name: "BindTeam",
|
||||
props: {
|
||||
row: {
|
||||
type: Object,
|
||||
require: false,
|
||||
default: () => {}
|
||||
}
|
||||
},
|
||||
data() {
|
||||
const commonRules = [
|
||||
{ required: true, message: "必填字段不可为空", trigger: "blur" }
|
||||
];
|
||||
return {
|
||||
submitLoading: false,
|
||||
sysOrigin: "",
|
||||
form: {
|
||||
newAccount: "",
|
||||
bdId: ""
|
||||
},
|
||||
formRules: {
|
||||
newAccount: commonRules
|
||||
}
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
textOptTitle() {
|
||||
return "绑定代理";
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
row: {
|
||||
handler(newVal) {
|
||||
const _newData = deepClone(newVal);
|
||||
this.sysOrigin = _newData.userProfile.originSys;
|
||||
this.form.bdId = _newData.id;
|
||||
},
|
||||
immediate: true
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleClose() {
|
||||
if (this.submitLoading) {
|
||||
this.$opsMessage.warn("正在提交!");
|
||||
return;
|
||||
}
|
||||
this.$emit("close");
|
||||
},
|
||||
submitForm() {
|
||||
const that = this;
|
||||
that.$refs.form.validate(valid => {
|
||||
if (!valid) {
|
||||
console.error("error submit!!");
|
||||
return false;
|
||||
}
|
||||
that.submitLoading = true;
|
||||
bingdBDLeader(that.form)
|
||||
.then(res => {
|
||||
that.submitLoading = false;
|
||||
that.$opsMessage.success();
|
||||
this.$emit("success");
|
||||
})
|
||||
.catch(er => {
|
||||
that.submitLoading = false;
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
@ -1,8 +1,10 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
|
||||
<!-- 有操作权限 -->
|
||||
<div v-if="isQueryPermissions">
|
||||
<!-- 搜索栏 -->
|
||||
<div class="filter-container">
|
||||
<!-- 系统 -->
|
||||
<el-select
|
||||
v-model="listQuery.sysOrigin"
|
||||
placeholder="系统"
|
||||
@ -16,16 +18,32 @@
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
>
|
||||
<span style="float: left;"> <sys-origin-icon :icon="item.value" :desc="item.value" /></span>
|
||||
<span style="float: left;">
|
||||
<sys-origin-icon :icon="item.value" :desc="item.value"
|
||||
/></span>
|
||||
<span style="float: left;margin-left:10px">{{ item.label }}</span>
|
||||
</el-option>
|
||||
</el-select>
|
||||
|
||||
<!-- BD用户ID -->
|
||||
<div class="filter-item">
|
||||
<account-input v-model="listQuery.userId" :sys-origin="listQuery.sysOrigin" placeholder="BD用户ID" />
|
||||
<account-input
|
||||
v-model="listQuery.userId"
|
||||
:sys-origin="listQuery.sysOrigin"
|
||||
placeholder="BD用户ID"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<!-- BD Lead用户ID -->
|
||||
<div class="filter-item">
|
||||
<account-input v-model="listQuery.bdLeadUserId" :sys-origin="listQuery.sysOrigin" placeholder="BD Lead用户ID" />
|
||||
<account-input
|
||||
v-model="listQuery.bdLeadUserId"
|
||||
:sys-origin="listQuery.sysOrigin"
|
||||
placeholder="BD Lead用户ID"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<!-- 区域 -->
|
||||
<div class="filter-item" style="width: 120px;">
|
||||
<select-system-region
|
||||
ref="regionSelectPolicy"
|
||||
@ -36,9 +54,16 @@
|
||||
@change="handleSearch"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<!-- 成员数量 -->
|
||||
<div class="filter-item">
|
||||
<el-input v-model="listQuery.memberQuantityRange" placeholder="开始~结束成员数量" />
|
||||
<el-input
|
||||
v-model="listQuery.memberQuantityRange"
|
||||
placeholder="开始~结束成员数量"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<!-- 后台成员 -->
|
||||
<el-select
|
||||
v-if="backUserConditionVisible"
|
||||
v-model="listQuery.createUser"
|
||||
@ -57,6 +82,8 @@
|
||||
:value="item.id"
|
||||
/>
|
||||
</el-select>
|
||||
|
||||
<!-- 搜索按钮 -->
|
||||
<el-button
|
||||
:loading="searchLoading"
|
||||
:disabled="searchDisabled"
|
||||
@ -68,6 +95,7 @@
|
||||
搜索
|
||||
</el-button>
|
||||
|
||||
<!-- 新增BD 按钮 -->
|
||||
<el-button
|
||||
v-if="buttonPermissions.includes('bd:list:add')"
|
||||
class="filter-item"
|
||||
@ -78,6 +106,8 @@
|
||||
新增BD
|
||||
</el-button>
|
||||
</div>
|
||||
|
||||
<!-- 表单 -->
|
||||
<el-table
|
||||
v-loading="listLoading"
|
||||
:data="list"
|
||||
@ -86,57 +116,158 @@
|
||||
highlight-current-row
|
||||
@cell-mouse-enter="handleMouseEnter"
|
||||
>
|
||||
<!-- 排序 -->
|
||||
<el-table-column type="index" width="50" label="No" />
|
||||
|
||||
<!-- 系统 -->
|
||||
<!-- <el-table-column prop="sysOrigin" label="系统" align="center" min-width="60">
|
||||
<template slot-scope="scope">
|
||||
<sys-origin-icon :icon="scope.row.sysOrigin" :desc="scope.row.sysOrigin" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
-->
|
||||
|
||||
<!-- 用户信息 -->
|
||||
<el-table-column label="用户" align="center" min-width="190">
|
||||
<template slot-scope="scope">
|
||||
<user-table-exhibit :user-profile="scope.row.userProfile" :query-details="true" />
|
||||
<user-table-exhibit
|
||||
:user-profile="scope.row.userProfile"
|
||||
:query-details="true"
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="regionName" label="区域" align="center" min-width="60" />
|
||||
<el-table-column prop="agentCount" label="团队数量" align="center" min-width="100">
|
||||
|
||||
<!-- 区域 -->
|
||||
<el-table-column
|
||||
prop="regionName"
|
||||
label="区域"
|
||||
align="center"
|
||||
min-width="60"
|
||||
/>
|
||||
|
||||
<!-- 成员数量 -->
|
||||
<el-table-column
|
||||
prop="agentCount"
|
||||
label="团队数量"
|
||||
align="center"
|
||||
min-width="100"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<div>
|
||||
<el-button v-if="scope.row.agentCount > 0" type="text" @click.native="clickTeamMember(scope.row)">{{ scope.row.agentCount }}</el-button>
|
||||
<!-- 展示团队成员 -->
|
||||
<el-button
|
||||
v-if="scope.row.agentCount > 0"
|
||||
type="text"
|
||||
@click.native="clickTeamMember(scope.row)"
|
||||
>{{ scope.row.agentCount }}</el-button
|
||||
>
|
||||
<span v-else>0</span>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<!-- BD Leader -->
|
||||
<el-table-column label="BD Leader" align="center" min-width="190">
|
||||
<template slot-scope="scope">
|
||||
<user-table-exhibit :user-profile="scope.row.bdLeadUserProfile" :query-details="true" />
|
||||
<user-table-exhibit
|
||||
:user-profile="scope.row.bdLeadUserProfile"
|
||||
:query-details="true"
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column v-if="buttonPermissions.includes('bd:list:edit')" prop="contact" label="联系方式" align="center" min-width="100" />
|
||||
<el-table-column prop="createUserName" label="创建人" align="center" min-width="100" />
|
||||
<el-table-column prop="updateUserName" label="修改人" align="center" min-width="100" />
|
||||
<el-table-column prop="createTime" label="创建时间" align="center" width="160">
|
||||
|
||||
<!-- 联系方式 -->
|
||||
<el-table-column
|
||||
v-if="buttonPermissions.includes('bd:list:edit')"
|
||||
prop="contact"
|
||||
label="联系方式"
|
||||
align="center"
|
||||
min-width="100"
|
||||
/>
|
||||
|
||||
<!-- 创建人 -->
|
||||
<el-table-column
|
||||
prop="createUserName"
|
||||
label="创建人"
|
||||
align="center"
|
||||
min-width="100"
|
||||
/>
|
||||
|
||||
<!-- 修改人 -->
|
||||
<el-table-column
|
||||
prop="updateUserName"
|
||||
label="修改人"
|
||||
align="center"
|
||||
min-width="100"
|
||||
/>
|
||||
|
||||
<!-- 创建时间 -->
|
||||
<el-table-column
|
||||
prop="createTime"
|
||||
label="创建时间"
|
||||
align="center"
|
||||
width="160"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.createTime | dateFormat }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column v-if="showOperationCol" fixed="right" label="操作" align="center" width="80">
|
||||
|
||||
<!-- 操作列表 -->
|
||||
<el-table-column
|
||||
v-if="showOperationCol"
|
||||
fixed="right"
|
||||
label="操作"
|
||||
align="center"
|
||||
width="80"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-dropdown>
|
||||
<span class="el-dropdown-link">
|
||||
<i class="el-icon-more" />
|
||||
</span>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item v-if="buttonPermissions.includes('bd:list:add:member')" @click.native="clickTeam(scope.row, scope.$index)">新增代理</el-dropdown-item>
|
||||
<el-dropdown-item v-if="buttonPermissions.includes('bd:list:add:bind')" @click.native="clickBindTeam(scope.row, scope.$index)">绑定代理</el-dropdown-item>
|
||||
<el-dropdown-item v-if="buttonPermissions.includes('bd:list:edit')" @click.native="clickEdit(scope.row, scope.$index)">编辑</el-dropdown-item>
|
||||
<el-dropdown-item v-if="buttonPermissions.includes('bd:list:del')" @click.native="handlBDDel(scope.row.id, scope.$index)">删除</el-dropdown-item>
|
||||
<!-- 新增代理 -->
|
||||
<el-dropdown-item
|
||||
v-if="buttonPermissions.includes('bd:list:add:member')"
|
||||
@click.native="clickTeam(scope.row, scope.$index)"
|
||||
>新增代理</el-dropdown-item
|
||||
>
|
||||
|
||||
<!-- 绑定代理 -->
|
||||
<el-dropdown-item
|
||||
v-if="buttonPermissions.includes('bd:list:add:bind')"
|
||||
@click.native="clickBindTeam(scope.row, scope.$index)"
|
||||
>绑定代理</el-dropdown-item
|
||||
>
|
||||
|
||||
<!-- 编辑 -->
|
||||
<el-dropdown-item
|
||||
v-if="buttonPermissions.includes('bd:list:edit')"
|
||||
@click.native="clickEdit(scope.row, scope.$index)"
|
||||
>编辑</el-dropdown-item
|
||||
>
|
||||
|
||||
<!-- 删除 -->
|
||||
<el-dropdown-item
|
||||
v-if="buttonPermissions.includes('bd:list:del')"
|
||||
@click.native="handlBDDel(scope.row.id, scope.$index)"
|
||||
>删除</el-dropdown-item
|
||||
>
|
||||
|
||||
<!-- 换绑BD Leader -->
|
||||
<el-dropdown-item
|
||||
v-if="buttonPermissions.includes('bd:list:edit')"
|
||||
@click.native="changeBinding(scope.row, scope.$index)"
|
||||
>换绑BD Leader</el-dropdown-item
|
||||
>
|
||||
</el-dropdown-menu>
|
||||
</el-dropdown>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<!-- 分页 -->
|
||||
<pagination
|
||||
v-show="total > 0"
|
||||
:total="total"
|
||||
@ -145,65 +276,93 @@
|
||||
@pagination="renderData"
|
||||
/>
|
||||
|
||||
<!-- 团队成员组件 -->
|
||||
<team-member
|
||||
v-if="teamMemberVisible"
|
||||
:query="teamMemberQuery"
|
||||
@close="teamMemberVisible=false;teamMemberQuery={}"
|
||||
@close="
|
||||
teamMemberVisible = false;
|
||||
teamMemberQuery = {};
|
||||
"
|
||||
/>
|
||||
|
||||
<!-- 新增/编辑BD 组件 -->
|
||||
<add-bd
|
||||
v-if="addBdVisible"
|
||||
:row="thisRow"
|
||||
@success="addBdSuccess"
|
||||
@close="addBdVisible=false;"
|
||||
@close="addBdVisible = false"
|
||||
/>
|
||||
|
||||
<!-- 新增代理组件 -->
|
||||
<team-create
|
||||
v-if="teamCreateVisible"
|
||||
:sys-origin="listQuery.sysOrigin"
|
||||
:bd-ops="bdOps"
|
||||
@success="teamCreateSuccess"
|
||||
@close="teamCreateVisible=false"
|
||||
@close="teamCreateVisible = false"
|
||||
/>
|
||||
|
||||
<!-- 绑定代理组件 -->
|
||||
<bind-team
|
||||
v-if="teamBindDrawerVisible"
|
||||
:row="thatRow"
|
||||
@success="teamBindSuccess"
|
||||
@close="teamBindDrawerVisible=false"
|
||||
@close="teamBindDrawerVisible = false"
|
||||
/>
|
||||
|
||||
</div>
|
||||
<div v-else v-loading.lock="listLoading" element-loading-background="#FFFFFF" element-loading-text="权限验证中..." style="text-align: center;">
|
||||
抱歉您无权查看,请联系管理员开通查看权限 【运营管理/主播中心/bd:(list:query:all/bd:list:query:self)】
|
||||
<!-- 绑定BDLeader 组件 -->
|
||||
<bind-bd-leader
|
||||
v-if="BDLeaderBindDrawerVisible"
|
||||
:row="thatRow"
|
||||
@success="BDLeaderBindSuccess"
|
||||
@close="BDLeaderBindDrawerVisible = false"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<!-- 无权限 提示 -->
|
||||
<div
|
||||
v-else
|
||||
v-loading.lock="listLoading"
|
||||
element-loading-background="#FFFFFF"
|
||||
element-loading-text="权限验证中..."
|
||||
style="text-align: center;"
|
||||
>
|
||||
抱歉您无权查看,请联系管理员开通查看权限
|
||||
【运营管理/主播中心/bd:(list:query:all/bd:list:query:self)】
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Pagination from '@/components/Pagination'
|
||||
import { copyText } from '@/utils'
|
||||
import { pageRoomBDInfo, deleteBD } from '@/api/room-anchor'
|
||||
import { mapGetters } from 'vuex'
|
||||
import TeamMember from './team-member'
|
||||
import { listMembers } from '@/api/team'
|
||||
import AddBd from './add-bd'
|
||||
import TeamCreate from './../components/TeamCreate'
|
||||
import BindTeam from './bind-team'
|
||||
import { mapGetters } from "vuex";
|
||||
import { copyText } from "@/utils";
|
||||
|
||||
import { pageRoomBDInfo, deleteBD } from "@/api/room-anchor";
|
||||
import { listMembers } from "@/api/team";
|
||||
|
||||
import Pagination from "@/components/Pagination";
|
||||
import TeamMember from "./team-member";
|
||||
import AddBd from "./add-bd";
|
||||
import TeamCreate from "./../components/TeamCreate";
|
||||
import BindTeam from "./bind-team";
|
||||
import bindBdLeader from "./bind-bd-leader";
|
||||
|
||||
export default {
|
||||
name: 'BusinessDevelopment',
|
||||
name: "BusinessDevelopment",
|
||||
components: {
|
||||
Pagination,
|
||||
TeamMember,
|
||||
AddBd,
|
||||
TeamCreate,
|
||||
BindTeam
|
||||
BindTeam,
|
||||
bindBdLeader
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
teamBindDrawerVisible: false,
|
||||
BDLeaderBindDrawerVisible: false,
|
||||
thatRow: {},
|
||||
bdOps: {},
|
||||
teamCreateVisible: false,
|
||||
thisRow: {},
|
||||
@ -214,8 +373,8 @@ export default {
|
||||
teamMemberQuery: {},
|
||||
teamMemberVisible: false,
|
||||
addBdVisible: false,
|
||||
textOptTitle: '',
|
||||
thatSelectedUserId: '',
|
||||
textOptTitle: "",
|
||||
thatSelectedUserId: "",
|
||||
submitLoading: false,
|
||||
list: [],
|
||||
members: [],
|
||||
@ -223,231 +382,308 @@ export default {
|
||||
listQuery: {
|
||||
cursor: 1,
|
||||
limit: 20,
|
||||
userId: '',
|
||||
bdLeadUserId: '',
|
||||
sysOrigin: 'HALAR',
|
||||
createUser: '',
|
||||
region: '',
|
||||
memberQuantityRange: ''
|
||||
userId: "",
|
||||
bdLeadUserId: "",
|
||||
sysOrigin: "HALAR",
|
||||
createUser: "",
|
||||
region: "",
|
||||
memberQuantityRange: ""
|
||||
},
|
||||
listLoading: false,
|
||||
listMembersLoading: false,
|
||||
searchLoading: false,
|
||||
backUserConditionVisible: false
|
||||
}
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
...mapGetters(['uid', 'buttonPermissions', 'permissionsSysOriginPlatforms', 'permissionsFirstSysOrigin']),
|
||||
...mapGetters([
|
||||
"uid",
|
||||
"buttonPermissions",
|
||||
"permissionsSysOriginPlatforms",
|
||||
"permissionsFirstSysOrigin"
|
||||
]),
|
||||
|
||||
// 是否有操作权限
|
||||
showOperationCol() {
|
||||
return this.buttonPermissions.includes('bd:list:edit') ||
|
||||
this.buttonPermissions.includes('bd:list:add:bind') ||
|
||||
this.buttonPermissions.includes('bd:list:del') ||
|
||||
this.buttonPermissions.includes('bd:list:add:member')
|
||||
return (
|
||||
this.buttonPermissions.includes("bd:list:edit") ||
|
||||
this.buttonPermissions.includes("bd:list:add:bind") ||
|
||||
this.buttonPermissions.includes("bd:list:del") ||
|
||||
this.buttonPermissions.includes("bd:list:add:member")
|
||||
);
|
||||
},
|
||||
|
||||
// 是否有查看权限
|
||||
isQueryPermissions() {
|
||||
return this.buttonPermissions.includes('bd:list:query:all') || this.buttonPermissions.includes('bd:list:query:self')
|
||||
return (
|
||||
this.buttonPermissions.includes("bd:list:query:all") ||
|
||||
this.buttonPermissions.includes("bd:list:query:self")
|
||||
);
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
buttonPermissions: {
|
||||
handler(newVal) {
|
||||
this.backUserConditionVisible = newVal.includes('bd:list:query:all')
|
||||
if (newVal.includes('bd:list:query:self')) {
|
||||
if (newVal.includes('bd:list:query:all')) {
|
||||
return
|
||||
this.backUserConditionVisible = newVal.includes("bd:list:query:all");
|
||||
if (newVal.includes("bd:list:query:self")) {
|
||||
if (newVal.includes("bd:list:query:all")) {
|
||||
return;
|
||||
}
|
||||
this.listQuery.createUser = this.uid
|
||||
this.renderData(true)
|
||||
return
|
||||
this.listQuery.createUser = this.uid;
|
||||
this.renderData(true);
|
||||
return;
|
||||
}
|
||||
},
|
||||
immediate: true
|
||||
}
|
||||
},
|
||||
created() {
|
||||
const that = this
|
||||
const querySystem = this.permissionsSysOriginPlatforms[0]
|
||||
const that = this;
|
||||
const querySystem = this.permissionsSysOriginPlatforms[0];
|
||||
if (!querySystem) {
|
||||
return
|
||||
return;
|
||||
}
|
||||
that.loadMembers()
|
||||
that.listQuery.sysOrigin = querySystem.value
|
||||
that.renderData(true)
|
||||
that.loadMembers();
|
||||
that.listQuery.sysOrigin = querySystem.value;
|
||||
that.renderData(true);
|
||||
},
|
||||
methods: {
|
||||
// 调接口重置数据
|
||||
renderData(isReset) {
|
||||
const that = this
|
||||
const that = this;
|
||||
if (isReset === true) {
|
||||
that.listQuery.cursor = 1
|
||||
that.list = []
|
||||
that.listQuery.cursor = 1;
|
||||
that.list = [];
|
||||
}
|
||||
|
||||
if (that.listLoading === true && isReset === true) {
|
||||
return
|
||||
return;
|
||||
}
|
||||
|
||||
that.listLoading = true
|
||||
that.searchDisabled = true
|
||||
pageRoomBDInfo(that.listQuery).then(res => {
|
||||
const { body } = res
|
||||
that.total = body.total || 0
|
||||
that.list = body.records
|
||||
that.listLoading = false
|
||||
that.searchLoading = false
|
||||
that.searchDisabled = false
|
||||
}).catch(er => {
|
||||
that.listLoading = false
|
||||
that.searchLoading = false
|
||||
that.searchDisabled = false
|
||||
})
|
||||
that.listLoading = true;
|
||||
that.searchDisabled = true;
|
||||
pageRoomBDInfo(that.listQuery)
|
||||
.then(res => {
|
||||
const { body } = res;
|
||||
that.total = body.total || 0;
|
||||
that.list = body.records;
|
||||
that.listLoading = false;
|
||||
that.searchLoading = false;
|
||||
that.searchDisabled = false;
|
||||
})
|
||||
.catch(er => {
|
||||
that.listLoading = false;
|
||||
that.searchLoading = false;
|
||||
that.searchDisabled = false;
|
||||
});
|
||||
},
|
||||
|
||||
// 初始化数据
|
||||
loadMembers() {
|
||||
const that = this
|
||||
that.listMembersLoading = true
|
||||
listMembers().then(res => {
|
||||
const { body } = res
|
||||
that.members = body
|
||||
that.listMembersLoading = false
|
||||
that.searchLoading = false
|
||||
}).catch(er => {
|
||||
that.listMembersLoading = false
|
||||
that.searchLoading = false
|
||||
})
|
||||
const that = this;
|
||||
that.listMembersLoading = true;
|
||||
listMembers()
|
||||
.then(res => {
|
||||
const { body } = res;
|
||||
that.members = body;
|
||||
that.listMembersLoading = false;
|
||||
that.searchLoading = false;
|
||||
})
|
||||
.catch(er => {
|
||||
that.listMembersLoading = false;
|
||||
that.searchLoading = false;
|
||||
});
|
||||
},
|
||||
|
||||
// 搜索
|
||||
handleSearch() {
|
||||
const that = this
|
||||
that.searchLoading = true
|
||||
that.renderData(true)
|
||||
const that = this;
|
||||
that.searchLoading = true;
|
||||
that.renderData(true);
|
||||
},
|
||||
|
||||
// 新增BD
|
||||
handleCreate() {
|
||||
this.textOptTitle = '新增BD'
|
||||
this.thisRow = {}
|
||||
this.thisRow.sysOrigin = this.listQuery.sysOrigin
|
||||
this.addBdVisible = true
|
||||
this.textOptTitle = "新增BD";
|
||||
this.thisRow = {}; // 置空为新增BD
|
||||
this.thisRow.sysOrigin = this.listQuery.sysOrigin;
|
||||
this.addBdVisible = true;
|
||||
},
|
||||
|
||||
// 新增代理
|
||||
clickTeam(row, _index) {
|
||||
this.teamCreateVisible = true
|
||||
this.thisRowIndex = _index
|
||||
this.teamCreateVisible = true;
|
||||
this.thisRowIndex = _index;
|
||||
this.bdOps = {
|
||||
userId: row.userProfile.id,
|
||||
region: row.region,
|
||||
contact: row.contact
|
||||
}
|
||||
};
|
||||
},
|
||||
|
||||
// 绑定代理
|
||||
clickBindTeam(row, _index) {
|
||||
this.thatRow = row
|
||||
this.thisRowIndex = _index
|
||||
this.teamBindDrawerVisible = true
|
||||
this.thatRow = row;
|
||||
this.thisRowIndex = _index;
|
||||
this.teamBindDrawerVisible = true;
|
||||
},
|
||||
|
||||
// 换绑BDLeader
|
||||
changeBinding(row, _index) {
|
||||
this.thatRow = row;
|
||||
this.thisRowIndex = _index;
|
||||
this.BDLeaderBindDrawerVisible = true;
|
||||
},
|
||||
|
||||
// 展示团队成员
|
||||
clickTeamMember(row) {
|
||||
this.teamMemberVisible = true
|
||||
this.teamMemberVisible = true;
|
||||
this.teamMemberQuery = {
|
||||
userId: row.userId
|
||||
}
|
||||
};
|
||||
},
|
||||
|
||||
// 绑定代理成功
|
||||
teamBindSuccess() {
|
||||
this.list[this.thisRowIndex].agentCount = Number(this.list[this.thisRowIndex].agentCount) + 1
|
||||
this.teamBindDrawerVisible = false
|
||||
this.list[this.thisRowIndex].agentCount =
|
||||
Number(this.list[this.thisRowIndex].agentCount) + 1;
|
||||
this.teamBindDrawerVisible = false;
|
||||
},
|
||||
|
||||
// 换绑BDLeader成功
|
||||
BDLeaderBindSuccess() {
|
||||
this.$opsMessage.success();
|
||||
this.BDLeaderBindDrawerVisible = false;
|
||||
this.handleSearch();
|
||||
},
|
||||
|
||||
// 新增/修改BD成功
|
||||
addBdSuccess(form) {
|
||||
this.$opsMessage.success()
|
||||
this.addBdVisible = false
|
||||
this.renderData(!!(form.id))
|
||||
this.$opsMessage.success();
|
||||
this.addBdVisible = false;
|
||||
this.renderData(!!form.id);
|
||||
},
|
||||
|
||||
accountHandleSuccess(data) {
|
||||
this.$message({
|
||||
message: 'Successful',
|
||||
type: 'success'
|
||||
})
|
||||
message: "Successful",
|
||||
type: "success"
|
||||
});
|
||||
// this.renderData()
|
||||
},
|
||||
|
||||
handleLiveClick(row) {
|
||||
window.open(row.liveUrl)
|
||||
window.open(row.liveUrl);
|
||||
},
|
||||
|
||||
copyTextContent(text) {
|
||||
const that = this
|
||||
copyText(text).then(() => {
|
||||
that.$message({
|
||||
message: '复制成功',
|
||||
type: 'success'
|
||||
const that = this;
|
||||
copyText(text)
|
||||
.then(() => {
|
||||
that.$message({
|
||||
message: "复制成功",
|
||||
type: "success"
|
||||
});
|
||||
})
|
||||
}).catch(() => {
|
||||
that.$message({
|
||||
message: '复制失败',
|
||||
type: 'error'
|
||||
})
|
||||
})
|
||||
.catch(() => {
|
||||
that.$message({
|
||||
message: "复制失败",
|
||||
type: "error"
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
originText(row) {
|
||||
const texts = []
|
||||
const texts = [];
|
||||
if (row.originPlatform) {
|
||||
texts.push(row.originPlatform)
|
||||
texts.push(row.originPlatform);
|
||||
}
|
||||
if (row.originPhoneModel) {
|
||||
texts.push(row.originPhoneModel)
|
||||
texts.push(row.originPhoneModel);
|
||||
}
|
||||
return texts.join(',')
|
||||
return texts.join(",");
|
||||
},
|
||||
|
||||
// 关闭新增BD弹窗
|
||||
handleClose() {
|
||||
this.addBdVisible = false
|
||||
this.addBdVisible = false;
|
||||
},
|
||||
|
||||
// 成功新增代理
|
||||
teamCreateSuccess() {
|
||||
this.$opsMessage.success()
|
||||
this.teamCreateVisible = false
|
||||
this.list[this.thisRowIndex].agentCount = Number(this.list[this.thisRowIndex].agentCount) + 1
|
||||
this.$opsMessage.success();
|
||||
this.teamCreateVisible = false;
|
||||
this.list[this.thisRowIndex].agentCount =
|
||||
Number(this.list[this.thisRowIndex].agentCount) + 1;
|
||||
},
|
||||
|
||||
// 编辑BD
|
||||
clickEdit(row, _index) {
|
||||
const that = this
|
||||
that.thisRow = row
|
||||
that.thisRowIndex = _index
|
||||
that.textOptTitle = '编辑BD'
|
||||
that.addBdVisible = true
|
||||
const that = this;
|
||||
that.thisRow = row;
|
||||
that.thisRowIndex = _index;
|
||||
that.textOptTitle = "编辑BD";
|
||||
that.addBdVisible = true;
|
||||
},
|
||||
|
||||
// 删除BD
|
||||
handlBDDel(id, _index) {
|
||||
const that = this
|
||||
this.$confirm('您确定要删除吗(将无法恢复, 解散当前团队成员)?', '温馨提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消'
|
||||
}).then(() => {
|
||||
deleteBD(id).then(res => {
|
||||
that.$opsMessage.success()
|
||||
that.list.splice(_index, 1)
|
||||
}).catch(er => {
|
||||
that.$opsMessage.success()
|
||||
const that = this;
|
||||
this.$confirm(
|
||||
"您确定要删除吗(将无法恢复, 解散当前团队成员)?",
|
||||
"温馨提示",
|
||||
{
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消"
|
||||
}
|
||||
)
|
||||
.then(() => {
|
||||
deleteBD(id)
|
||||
.then(res => {
|
||||
that.$opsMessage.success();
|
||||
that.list.splice(_index, 1);
|
||||
})
|
||||
.catch(er => {
|
||||
that.$opsMessage.success();
|
||||
});
|
||||
})
|
||||
}).catch(() => {})
|
||||
.catch(() => {});
|
||||
},
|
||||
|
||||
toPlatformSvgIconKey(row) {
|
||||
if (row.cellphoneNumber) {
|
||||
return 'phone'
|
||||
return "phone";
|
||||
}
|
||||
if (row.facebookId) {
|
||||
return 'facebook'
|
||||
return "facebook";
|
||||
}
|
||||
if (row.googleId) {
|
||||
return 'google'
|
||||
return "google";
|
||||
}
|
||||
if (row.appleId) {
|
||||
return 'apple'
|
||||
return "apple";
|
||||
}
|
||||
if (row.snapchatId) {
|
||||
return 'snapchat'
|
||||
return "snapchat";
|
||||
}
|
||||
return ''
|
||||
return "";
|
||||
},
|
||||
|
||||
renderDataSuccess() {
|
||||
this.$message({
|
||||
message: 'Successful',
|
||||
type: 'success'
|
||||
})
|
||||
this.renderData()
|
||||
message: "Successful",
|
||||
type: "success"
|
||||
});
|
||||
this.renderData();
|
||||
},
|
||||
|
||||
// 保存搜索条件
|
||||
handleMouseEnter(row) {
|
||||
this.thisRow = row
|
||||
this.thatSelectedUserId = row.userId
|
||||
this.thisRow = row;
|
||||
this.thatSelectedUserId = row.userId;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style scoped lang="scss">
|
||||
.this-level {
|
||||
@ -457,5 +693,4 @@ export default {
|
||||
width: 150px;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user