一期修改,添加客服查询
parent
8f08f232b8
commit
d96ead79df
|
@ -116,6 +116,7 @@
|
||||||
if(!this.jieDuan){
|
if(!this.jieDuan){
|
||||||
let isAuth = this.$toolAll.tools.returnAuth()
|
let isAuth = this.$toolAll.tools.returnAuth()
|
||||||
if(!isAuth){
|
if(!isAuth){
|
||||||
|
this.$requst.post('user/rand-bind-service').then(res=>{})
|
||||||
this.$toolAll.tools.closeTimer()//清空埋点倒计时
|
this.$toolAll.tools.closeTimer()//清空埋点倒计时
|
||||||
// uni.navigateTo({url:'/pages/tabbar/pagehome/pagehome'})
|
// uni.navigateTo({url:'/pages/tabbar/pagehome/pagehome'})
|
||||||
this.$requst.post('user/record',{type:'other',action:'ask',id:0}).then(res=>{},error=>{})
|
this.$requst.post('user/record',{type:'other',action:'ask',id:0}).then(res=>{},error=>{})
|
||||||
|
|
|
@ -36,6 +36,7 @@
|
||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
lianK(){
|
lianK(){
|
||||||
|
this.$requst.post('user/rand-bind-service').then(res=>{})
|
||||||
this.$toolAll.tools.closeTimer()//清空埋点倒计时
|
this.$toolAll.tools.closeTimer()//清空埋点倒计时
|
||||||
this.$requst.post('user/record',{type:'other',action:'ask',id:this.nid}).then(res=>{},error=>{})
|
this.$requst.post('user/record',{type:'other',action:'ask',id:this.nid}).then(res=>{},error=>{})
|
||||||
let maiOjb = {
|
let maiOjb = {
|
||||||
|
|
|
@ -154,6 +154,15 @@
|
||||||
"enablePullDownRefresh": false
|
"enablePullDownRefresh": false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
,{
|
||||||
|
"path" : "customerCheck/customerCheck",
|
||||||
|
"style" :
|
||||||
|
{
|
||||||
|
"navigationBarTitleText": "",
|
||||||
|
"enablePullDownRefresh": false
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
<view class="bacf radius20 width100 tank-box">
|
<view class="bacf radius20 width100 tank-box">
|
||||||
<view class="tc tank-box-itemone">请授权绑定手机号</view>
|
<view class="tc tank-box-itemone">请授权绑定手机号</view>
|
||||||
<view class="fon28 colf pad-x30 pad-zy30 tc disjb">
|
<view class="fon28 colf pad-x30 pad-zy30 tc disjb">
|
||||||
<view @tap="refuse" class="pad-sx10 radius10 tank-btn" style="background-color: rgba(230, 230, 230,1);color: #000000;">暂不绑定</view>
|
<view class="pad-sx10 radius10 tank-btn" style="background-color: rgba(230, 230, 230,1);color: #000000;">暂不绑定</view>
|
||||||
<view :style="{background:publicColor}" class="pad-sx10 radius10 tank-btn posir">
|
<view :style="{background:publicColor}" class="pad-sx10 radius10 tank-btn posir">
|
||||||
立即绑定
|
立即绑定
|
||||||
<button open-type="getPhoneNumber" @getphonenumber="getphonenumber" class="posia syxzo">立即绑定</button>
|
<button open-type="getPhoneNumber" @getphonenumber="getphonenumber" class="posia syxzo">立即绑定</button>
|
||||||
|
|
|
@ -41,7 +41,7 @@
|
||||||
<view v-if="userInfo.is_staff==1" class="bacf radius20 mar-s20 pad20">
|
<view v-if="userInfo.is_staff==1" class="bacf radius20 mar-s20 pad20">
|
||||||
<view class="mar-x30 fon28 bold col3">员工功能</view>
|
<view class="mar-x30 fon28 bold col3">员工功能</view>
|
||||||
<view class="disac yuan-box">
|
<view class="disac yuan-box">
|
||||||
<view @tap="chooseYitem(indexy)" style="width: 33%;display: flex;justify-content: center;align-items: center;position: relative;" v-for="(itemy,indexy) in yuanList" :key="indexy">
|
<view @tap="chooseYitem(indexy)" style="width: 25%;display: flex;justify-content: center;align-items: center;position: relative;" v-for="(itemy,indexy) in yuanList" :key="indexy">
|
||||||
<view class="disac fc">
|
<view class="disac fc">
|
||||||
<image :src="itemy.src" style="width: 54rpx;height: 54rpx;" mode="aspectFill"></image>
|
<image :src="itemy.src" style="width: 54rpx;height: 54rpx;" mode="aspectFill"></image>
|
||||||
<view class="fon28 mar-s20 mar-x10">{{itemy.title}}</view>
|
<view class="fon28 mar-s20 mar-x10">{{itemy.title}}</view>
|
||||||
|
@ -110,6 +110,7 @@
|
||||||
{src:'/static/public/keh.png',title:'客户列表',rule:'customer-list'},
|
{src:'/static/public/keh.png',title:'客户列表',rule:'customer-list'},
|
||||||
{src:'/static/public/zu.png',title:'用户足迹',rule:'footmarks'},
|
{src:'/static/public/zu.png',title:'用户足迹',rule:'footmarks'},
|
||||||
{src:'/static/public/scan.png',title:'扫码签到',rule:'scan'},
|
{src:'/static/public/scan.png',title:'扫码签到',rule:'scan'},
|
||||||
|
{src:'/static/public/customer-check.png',title:'客服查询',rule:'customer-list'},
|
||||||
],
|
],
|
||||||
toolsList:[
|
toolsList:[
|
||||||
{src:'/static/public/zyuy.png',title:'自助预约',num:''},
|
{src:'/static/public/zyuy.png',title:'自助预约',num:''},
|
||||||
|
@ -285,18 +286,17 @@
|
||||||
},
|
},
|
||||||
chooseYitem(index){//员工功能事件
|
chooseYitem(index){//员工功能事件
|
||||||
// console.log('当前选项:',this.yuanList[index].title);
|
// console.log('当前选项:',this.yuanList[index].title);
|
||||||
switch (index){
|
if(this.yuanList[index].title=='客户列表') {
|
||||||
case 0:
|
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url:'/pagesB/customerList/customerList'
|
url:'/pagesB/customerList/customerList'
|
||||||
})
|
})
|
||||||
break;
|
}
|
||||||
case 1:
|
if(this.yuanList[index].title=='用户足迹') {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url:'/pagesB/userFootprint/userFootprint'
|
url:'/pagesB/userFootprint/userFootprint'
|
||||||
})
|
})
|
||||||
break;
|
}
|
||||||
case 2:
|
if(this.yuanList[index].title=='扫码签到') {
|
||||||
wx.scanCode({ // 微信扫码 调起客户端扫码界面进行扫码
|
wx.scanCode({ // 微信扫码 调起客户端扫码界面进行扫码
|
||||||
complete: (res) => {}, //接口调用结束的回调函数(调用成功、失败都会执行)
|
complete: (res) => {}, //接口调用结束的回调函数(调用成功、失败都会执行)
|
||||||
fail: (res) => {}, //接口调用失败的回调函数
|
fail: (res) => {}, //接口调用失败的回调函数
|
||||||
|
@ -315,7 +315,11 @@
|
||||||
},error=>{})
|
},error=>{})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
break;
|
}
|
||||||
|
if( this.yuanList[index].title=='客服查询') {
|
||||||
|
uni.navigateTo({
|
||||||
|
url:'/pagesB/customerCheck/customerCheck'
|
||||||
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
choosesjf(index){//文章收藏事件、积分、我的分享
|
choosesjf(index){//文章收藏事件、积分、我的分享
|
||||||
|
|
|
@ -0,0 +1,124 @@
|
||||||
|
<template>
|
||||||
|
<view>
|
||||||
|
<!-- 状态栏 -->
|
||||||
|
<status-nav :titleVal="'客服查询'" :statusTitle="true"></status-nav>
|
||||||
|
<!-- 自定义二级分类 -->
|
||||||
|
<!-- 列表 -->
|
||||||
|
<view :style="{paddingTop: statusHNH+'px'}" class="pad-zy30">
|
||||||
|
<view class="radius20 fon28 col3 mar-sx20">
|
||||||
|
<view class="disac">
|
||||||
|
<view class="disjbac width100 radius10 pad-zy20 xialak bacf">
|
||||||
|
<input class="fon28 width100" type="text" @confirm="searchEv" v-model="keyword" placeholder="客户的手机号/微信昵称查找" placeholder-style="color: #B3B3B3;" />
|
||||||
|
</view>
|
||||||
|
<view @tap="searchEv" class="flexs tc mar-z30 colf radius10 customer-btn" :style="{background:publicColor}">搜索</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- 列表 -->
|
||||||
|
<view class="bacf radius10 pad20 mar-x20 fon28" v-for="(item,index) in dataList" :key="index">
|
||||||
|
<view class="col3 bold">客户信息</view>
|
||||||
|
<view class="mar-sx20 fon24 disjbac col6">
|
||||||
|
<text>昵称:{{item.customer_name}}</text>
|
||||||
|
<text><text v-if="item.customer_phone!=''">手机号:{{item.customer_phone}}</text><text v-else>暂未绑定手机号</text></text>
|
||||||
|
</view>
|
||||||
|
<view class="col3 bold">绑定的客服</view>
|
||||||
|
<view v-if="item.staff!=null" class="mar-s20 fon24 disjbac col6">
|
||||||
|
<text>昵称:{{item.staff.name}}</text>
|
||||||
|
<text v-if="item.staff.phone!=''">手机号:{{item.staff.phone}}</text>
|
||||||
|
</view>
|
||||||
|
<view v-else class="mar-s20 fon24 disjbac col6">
|
||||||
|
<text>昵称:{{item.account.nickname}}</text>
|
||||||
|
<text><text v-if="item.account.mobile!=''">手机号:{{item.account.mobile}}</text><text v-else>暂未绑定手机号</text></text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view v-if="dataList.length==0" class="disjcac fc" style="margin-top: 50%;">
|
||||||
|
<image class="zanw-img" src="/static/public/nothing.png" mode="aspectFill"></image>
|
||||||
|
<view class="fon24 col3">您搜索的内容暂无结果,换个关键词试试吧</view>
|
||||||
|
</view>
|
||||||
|
<!-- 返回顶部 -->
|
||||||
|
<back-top :showTop="showTop" @backTop="backTop"></back-top>
|
||||||
|
</view>
|
||||||
|
<!-- 底部客服 -->
|
||||||
|
<public-customer :nbottom="100"></public-customer>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
statusHNH:uni.getStorageSync('statusHNH'),
|
||||||
|
publicColor:uni.getStorageSync('publicColor'),//主题颜色
|
||||||
|
dataList:[],//数据列表
|
||||||
|
showTop:false,//是否显示返回顶部的箭头
|
||||||
|
keyword:'',//关键词
|
||||||
|
page:1,
|
||||||
|
size:10,
|
||||||
|
total:'',//总数
|
||||||
|
isZanw:true,
|
||||||
|
ntype:''//类型 mine=自己绑定的客户 否则是全部
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onPageScroll(e) {
|
||||||
|
e.scrollTop > 360 ? this.showTop = true : this.showTop = false
|
||||||
|
},
|
||||||
|
onReachBottom() {//触底事件
|
||||||
|
if(this.total!=this.dataList.length){
|
||||||
|
this.page++
|
||||||
|
this.checkList()
|
||||||
|
} else {
|
||||||
|
if(this.isZanw) this.$toolAll.tools.showToast('暂无更多客服数据')
|
||||||
|
this.isZanw = false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onShow() {
|
||||||
|
this.$toolAll.tools.isLogin()
|
||||||
|
},
|
||||||
|
onLoad() {
|
||||||
|
this.checkList()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
searchEv(){//搜索事件
|
||||||
|
if(this.keyword!='') this.ntype = ''
|
||||||
|
this.page = 1
|
||||||
|
this.isZanw = true
|
||||||
|
this.checkList()
|
||||||
|
},
|
||||||
|
checkList(){//查询列表事件
|
||||||
|
let params = {
|
||||||
|
page:this.page,
|
||||||
|
size:this.size,
|
||||||
|
type:this.ntype,//客户ID
|
||||||
|
keyword:this.keyword
|
||||||
|
}
|
||||||
|
this.$requst.post('user/get-bind-service-list',params).then(res=>{
|
||||||
|
// console.log('足迹列表查询:',res);
|
||||||
|
if(res.code==0){
|
||||||
|
if(this.page==1) this.dataList = []
|
||||||
|
this.total = res.data.total;
|
||||||
|
if(res.data.list.length!=0){
|
||||||
|
res.data.list.forEach(item=>{
|
||||||
|
let obj = {
|
||||||
|
id:item.account_id,
|
||||||
|
customer_name:item.customer.nickname,
|
||||||
|
customer_phone:item.customer.mobile,
|
||||||
|
staff:item.staff,//绑定的客服
|
||||||
|
account:item.account//备用:当staff不存在时调用,
|
||||||
|
}
|
||||||
|
this.dataList.push(obj)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},error=>{})
|
||||||
|
},
|
||||||
|
backTop(){//回到顶部事件
|
||||||
|
uni.pageScrollTo({
|
||||||
|
scrollTop: 0,
|
||||||
|
duration: 300
|
||||||
|
});
|
||||||
|
},
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
</style>
|
|
@ -23,7 +23,7 @@
|
||||||
<!-- 列表 -->
|
<!-- 列表 -->
|
||||||
<view v-if="dataList.length!=0" class="dis bacf radius10 pad20 mar-x20 posir" v-for="(item,index) in dataList" :key="index">
|
<view v-if="dataList.length!=0" class="dis bacf radius10 pad20 mar-x20 posir" v-for="(item,index) in dataList" :key="index">
|
||||||
<image class="mar-y20 flexs" :src="item.imgSrc" style="width: 98rpx;height: 98rpx;" mode="aspectFill"></image>
|
<image class="mar-y20 flexs" :src="item.imgSrc" style="width: 98rpx;height: 98rpx;" mode="aspectFill"></image>
|
||||||
<view class="fon24 col3 width100">
|
<view class="fon24 col3 width100 mar-x40">
|
||||||
<view class="bold disjbac">
|
<view class="bold disjbac">
|
||||||
<view class="fon28 clips1">{{item.name}}</view>
|
<view class="fon28 clips1">{{item.name}}</view>
|
||||||
<view class="flexs">来源:{{item.come}}</view>
|
<view class="flexs">来源:{{item.come}}</view>
|
||||||
|
@ -35,8 +35,8 @@
|
||||||
<view class="col3">{{item.qudao}}</view>
|
<view class="col3">{{item.qudao}}</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view @tap="fenCustomer(index)" class="posia colf fon24 radius10 tc customer-btn"
|
<view @tap="fenCustomer(index)" class="posia colf fon24 radius10 tc customer-btn" style="right: 20rpx;top: 80rpx;" v-if="item.customer=='' || item.customer==null" :style="{background:publicColor}">分配客服</view>
|
||||||
style="right: 20rpx;bottom: 70rpx;" v-if="item.customer=='' || item.customer==null" :style="{background:publicColor}">分配客服</view>
|
<view class="fon24 col3 posia clips1 bold" style="bottom: 20rpx;left: 20rpx;right: 20rpx;">详细来源:{{item.source_detail}}</view>
|
||||||
</view>
|
</view>
|
||||||
<view v-if="dataList.length==0" class="disjcac fc" style="margin-top: 50%;">
|
<view v-if="dataList.length==0" class="disjcac fc" style="margin-top: 50%;">
|
||||||
<image class="zanw-img" src="/static/public/nothing.png" mode="aspectFill"></image>
|
<image class="zanw-img" src="/static/public/nothing.png" mode="aspectFill"></image>
|
||||||
|
@ -86,7 +86,7 @@
|
||||||
// }
|
// }
|
||||||
if(this.total!=this.dataList.length){
|
if(this.total!=this.dataList.length){
|
||||||
this.page++
|
this.page++
|
||||||
this.checkCL()
|
this.checkCL(this.ntype)
|
||||||
} else {
|
} else {
|
||||||
if(this.isZanw) this.$toolAll.tools.showToast('暂无更多列表数据')
|
if(this.isZanw) this.$toolAll.tools.showToast('暂无更多列表数据')
|
||||||
this.isZanw = false
|
this.isZanw = false
|
||||||
|
@ -119,8 +119,8 @@
|
||||||
},error=>{})
|
},error=>{})
|
||||||
},
|
},
|
||||||
searchEv(){//搜索事件
|
searchEv(){//搜索事件
|
||||||
this.page = 1
|
this.page = 1;
|
||||||
this.isZanw = true
|
this.isZanw = true;
|
||||||
this.checkCL(this.ntype)
|
this.checkCL(this.ntype)
|
||||||
},
|
},
|
||||||
checkLY(){//查询来源渠道事件
|
checkLY(){//查询来源渠道事件
|
||||||
|
@ -156,7 +156,8 @@
|
||||||
customer:item.service[0],
|
customer:item.service[0],
|
||||||
time:item.created_at,
|
time:item.created_at,
|
||||||
qudao:item.tag[0],
|
qudao:item.tag[0],
|
||||||
service:item.service
|
service:item.service,
|
||||||
|
source_detail:item.source_detail
|
||||||
}
|
}
|
||||||
this.dataList.push(cuObj)
|
this.dataList.push(cuObj)
|
||||||
})
|
})
|
||||||
|
@ -197,9 +198,10 @@
|
||||||
// console.log('开启下拉');
|
// console.log('开启下拉');
|
||||||
},
|
},
|
||||||
chooseXia(index){
|
chooseXia(index){
|
||||||
this.xialCurrent = index
|
this.xialCurrent = index;
|
||||||
this.ntype = this.xialone[index].name
|
this.ntype = this.xialone[index].name;
|
||||||
this.category = this.xialone[index].title
|
console.log(this.ntype);
|
||||||
|
this.category = this.xialone[index].title;
|
||||||
},
|
},
|
||||||
chooseXiaT(e){
|
chooseXiaT(e){
|
||||||
this.staff_id = e.id
|
this.staff_id = e.id
|
||||||
|
|
|
@ -382,6 +382,7 @@
|
||||||
if(this.haveImg == false) {
|
if(this.haveImg == false) {
|
||||||
this.vision = true
|
this.vision = true
|
||||||
} else {
|
} else {
|
||||||
|
this.$requst.post('user/rand-bind-service').then(res=>{})
|
||||||
this.$toolAll.tools.closeTimer()//清空埋点倒计时
|
this.$toolAll.tools.closeTimer()//清空埋点倒计时
|
||||||
this.$requst.post('user/record',{type:'other',action:'ask',id:0}).then(res=>{},error=>{})
|
this.$requst.post('user/record',{type:'other',action:'ask',id:0}).then(res=>{},error=>{})
|
||||||
let maiOjb = {
|
let maiOjb = {
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
<view class="radius20 fon28 col3 mar-sx20">
|
<view class="radius20 fon28 col3 mar-sx20">
|
||||||
<view class="disac">
|
<view class="disac">
|
||||||
<view class="disjbac width100 radius10 pad-zy20 xialak bacf">
|
<view class="disjbac width100 radius10 pad-zy20 xialak bacf">
|
||||||
<input class="fon28 width100" type="text" v-model="keyword" placeholder="请输入姓名/电话查找" placeholder-style="color: #B3B3B3;" />
|
<input class="fon28 width100" type="text" @confirm="searchEv" v-model="keyword" placeholder="请输入姓名/电话查找" placeholder-style="color: #B3B3B3;" />
|
||||||
</view>
|
</view>
|
||||||
<view @tap="searchEv" class="flexs tc mar-z30 colf radius10 customer-btn" :style="{background:publicColor}">搜索</view>
|
<view @tap="searchEv" class="flexs tc mar-z30 colf radius10 customer-btn" :style="{background:publicColor}">搜索</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 1.2 KiB |
Loading…
Reference in New Issue