狸车宝客户跟进进度调整

This commit is contained in:
老叶
2022-05-23 13:53:11 +08:00
parent 95bfc1f075
commit dc4596bdc7
10 changed files with 170 additions and 73 deletions
+2 -1
View File
@@ -26,4 +26,5 @@
.font-75{font-size:75rpx;}
.font-80{font-size:80rpx;}
.font-90{font-size:90rpx;}
.font-120{font-size:120rpx;}
.font-120{font-size:120rpx;}
.font-180{font-size:180rpx;}
+1
View File
@@ -19,6 +19,7 @@
.mt90{margin-top:90rpx;}
.mt110{margin-top:110rpx;}
.mt120{margin-top:120rpx;}
.mt130{margin-top:130rpx;}
.mt150{margin-top:150rpx;}
.mt190{margin-top:190rpx;}
.ml-1{margin-left:-1rpx;}
+3 -3
View File
@@ -116,7 +116,7 @@ Page({
})
}
if((cn-cDay)>13){//相差14天以上不用特意补下个月
if((cn-cDay)>14){//相差15天以上不用特意补下个月
let lweek = new Date(cYear,cMonth-1,cn).getDay();//本月最后天星期几
let sbu = 6 - lweek //最后一周补齐
for(let i=1;i<=sbu;i++){
@@ -129,7 +129,7 @@ Page({
})
}
}else{
let zbu = 14 - (cn-cDay) //至少要补多少天
let zbu = 15 - (cn-cDay) //至少要补多少天
let bweek = ''//至少要补的最后一天星期几
if(cMonth==12){
bweek = new Date(cYear+1,1,zbu).getDay()
@@ -792,7 +792,7 @@ Page({
}
})
dateList.forEach((item,index) => {
if(cindex<=index&&index<cindex+kd){
if(cindex<index&&index<cindex+kd+1){
item.isopt = true
}
})
+3 -2
View File
@@ -169,8 +169,9 @@
<view class="fn-flex-item">{{item}}</view>
</block>
</view>
<view class="pb40">
<view class="fn-flex fn-flex-wrap pt30 pb30 text-center font-24">
<view class="pb40 relative">
<view class="absolute top-0 box-center mt130 font-180 color-f8">{{cMonth}}</view>
<view class="relative fn-flex fn-flex-wrap pt30 pb30 text-center font-24 z-index-2">
<block wx:for="{{dateList}}" wx:key="index">
<view bindtap="{{item.isopt?'optday':''}}" data-index="{{index}}" class="datecell ulib-r10 {{nextIndex == index?'active':''}} {{item.isopt?'color-1a':'color-ccc'}}">{{item.day}}</view>
</block>
+86
View File
@@ -31,6 +31,8 @@ Page({
})
}
this.getAppCustomersList()
//销售顾问
this.getAppUserAdmins()
wx.setNavigationBarTitle({
title: this.data.title||'客户'
@@ -194,6 +196,90 @@ Page({
}
},
//获取销售顾问
getAppUserAdmins(){
let params = {};
params['page'] = 1;
params['size'] = 1000;
_.apiQuery.getAppUserAdmins(params).then(res => {
let staffArray = []
res.data.list.forEach(item => {
staffArray.push(item.uname)
})
this.setData({
staffArray:staffArray,
staffobj: res.data.list,
})
});
},
//销售弹窗显示隐藏
optEmployees(e){
if(e.currentTarget.dataset.cid){
this.setData({
isShowEmployees:true,
employeeIndex:-1,
employee_id:'',
cid:[e.currentTarget.dataset.cid],
})
}else{
this.setData({
isShowEmployees:!this.data.isShowEmployees,
employeeIndex:-1,
employee_id:'',
cid:[],
})
}
},
//选择店员
changeEmployee(e) {
let employee_id = ''
if(e.detail.value >= 0){
employee_id = this.data.staffobj[e.detail.value].id
}
this.setData({
employee_id,
employeeIndex:e.detail.value,
})
},
//分配客户
putAppCustomersAdmins(){
let that = this
if (that.data.employeeIndex == -1 ) {
wx.showToast({
title: '请选择店员',
icon: 'none'
})
}else{
that.setData({
submitFlag: true,
})
let params = {};
params['ids'] = that.data.cid;
params['admin_id'] = that.data.employee_id;
_.apiQuery.putAppCustomersAdmins(params).then(res => {
wx.showToast({
title: '分配成功',
icon: 'success',
duration: 2000
})
that.setData({
isShowEmployees:false,
submitFlag:false,
})
that.onPullDownRefresh()
}).catch(res=>{
that.setData({
submitFlag: false,
})
});
}
},
//页面相关事件处理函数--监听用户下拉动作
onPullDownRefresh(){
this.setData({
+29 -2
View File
@@ -4,7 +4,10 @@
<block wx:for='{{list}}' wx:key='index'>
<view class="inner40 relative ulib-r10 box-shadow-000-10-10 mb30 overflowhidden" bindtap="pushLink" data-url="/pages/customer/detail/index?id={{item.id}}">
<view class="absolute top-0 left-0 ml40 bg-36afa2 pl10 pr10 font-22 color-fff" wx:if="{{item.defeat}}">{{item.defeat}}</view>
<view class="absolute top-0 left-0 ml40 bg-36afa2 font-22 color-fff" wx:if="{{item.defeat||item.orders_pay}}">
<text class="pl10 pr10" wx:if="{{item.defeat}}">{{item.defeat}}</text>
<text class="pl10 pr10 {{item.defeat&&item.orders_pay?'bls-1-eb':''}}" wx:if="{{item.orders_pay}}">{{item.orders_pay}}</text>
</view>
<view class="relative pr180">
<view class="font-32">
<text class="text-middle">{{item.name}}</text>
@@ -34,7 +37,14 @@
<block wx:for="{{item.other_data}}" wx:for-index='key' wx:for-item='value' wx:key='i'>
<view class="mt25 fn-clear font-28">
<view class="fn-fl color-333">{{key}}</view>
<view class="fn-fr wp60 text-nowrap text-right color-666">{{value}}</view>
<block wx:if="{{key=='销售顾问'}}">
<view class="fn-fr wp60 text-nowrap text-right">
<text class="text-middle color-666" wx:if="{{value}}">{{value}}</text>
<text class="text-middle color-f9394d" wx:else>待分配</text>
<text class="inline-block ml10 bg-36afa2 pt5 pb5 pl15 pr15 text-middle font-22 color-fff ulib-r10" catchtap="optEmployees" data-cid="{{item.id}}" wx:if="{{item.allot == 1}}">{{value?'重新分配':'分配'}}</text>
</view>
</block>
<view wx:else class="fn-fr wp60 text-nowrap text-right color-666">{{value}}</view>
</view>
</block>
@@ -57,4 +67,21 @@
<button disabled="{{submitFlag}}" bindtap="postAppSmsCustomer" class="fn-flex-item ml20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">确定</button>
</view>
</view>
</lcb-msg>
<lcb-msg isShow="{{isShowEmployees}}">
<view slot="content">
<view class="inner40">
<view class="pb30 text-center font-36">销售选择</view>
<picker class="relative bg-f6 pt20 pb20 pl30 pr30 font-32 ulib-r10" bindchange="changeEmployee" value="{{employeeIndex}}" range="{{staffArray}}">
<text class="color-ccc" wx:if="{{employeeIndex == -1}}">请选择</text>
<text wx:else>{{staffArray[employeeIndex]}}</text>
<i class="absolute right-0 box-middle iconfont mr30 color-999 icon-xiala"></i>
</picker>
</view>
<view class="fn-flex pl60 pr60 pb50 text-center font-32 color-666">
<button bindtap="optEmployees" class="fn-flex-item mr20 bds-2-36afa2 btn-no-bg wp100 font-28 color-36afa2 ulib-r750">取消</button>
<button disabled="{{submitFlag}}" bindtap="putAppCustomersAdmins" class="fn-flex-item ml20 btn-36afa2 wp100 font-28 color-fff ulib-r750" hover-class="btn-36afa2-hover">确定</button>
</view>
</view>
</lcb-msg>
+34 -45
View File
@@ -25,18 +25,20 @@ Page({
o_type:'',//排序类型
isShowfilter:false,//是否显示筛查
timeSlotIndex:-1,//常用时间索引
s_visit_time:'',//跟进时间段开始
e_visit_time:'',//跟进时间段结束
timeSlot:[//常用时间数组
{
title:'今天',
},
{
title:'天',
title:'天',
},
{
title:'近七天',
title:'未来三天',
},
{
title:'近三十天',
title:'未来七天',
},
],
testDriveIndex:-1,//是否试驾索引
@@ -249,6 +251,10 @@ Page({
if(this.data.staffIndex>-1){
params['admin_id'] = this.data.staffobj[this.data.staffIndex].id;
}
if(this.data.s_visit_time != ''&&this.data.e_visit_time != ''){
params['s_visit_time'] = this.data.s_visit_time;
params['e_visit_time'] = this.data.e_visit_time;
}
_.apiQuery.getAppCustomersList(params).then(res => {
this.setData({
flag: this.data.flag - 1
@@ -294,21 +300,31 @@ Page({
today:res,
})
})
popularData.getDateLater(1,0).then(res => {
popularData.getDateLater(-1,0).then(res => {
this.setData({
tomorrow:res,
})
})
popularData.getDateLater(0,6).then(res => {
popularData.getDateLater(-3,2).then(res => {
this.setData({
last7:res,
next3:res,
})
})
popularData.getDateLater(0,29).then(res => {
popularData.getDateLater(-7,6).then(res => {
this.setData({
last30:res,
next7:res,
})
})
// popularData.getDateLater(0,6).then(res => {
// this.setData({
// last7:res,
// })
// })
// popularData.getDateLater(0,29).then(res => {
// this.setData({
// last30:res,
// })
// })
},
//拨打客户电话xz
@@ -359,7 +375,6 @@ Page({
this.setData({
s_time: e.detail.value,
})
this.matchDate()
},
//建卡时间
@@ -367,34 +382,6 @@ Page({
this.setData({
e_time: e.detail.value,
})
this.matchDate()
},
//匹配选择时间是否等于常用时间
matchDate(){
this.setData({
timeSlotIndex:-1,
})
if(this.data.s_time == this.data.today[0] && this.data.e_time == this.data.today[1] ){
this.setData({
timeSlotIndex:0,
})
}
if(this.data.s_time == this.data.tomorrow[0] && this.data.e_time == this.data.tomorrow[1] ){
this.setData({
timeSlotIndex:1,
})
}
if(this.data.s_time == this.data.last7[0] && this.data.e_time == this.data.last7[1] ){
this.setData({
timeSlotIndex:2,
})
}
if(this.data.s_time == this.data.last30[0] && this.data.e_time == this.data.last30[1] ){
this.setData({
timeSlotIndex:3,
})
}
},
//单选
@@ -406,26 +393,26 @@ Page({
switch (e.currentTarget.dataset.index) {
case 0:
this.setData({
s_time:this.data.today[0],
e_time:this.data.today[1],
s_visit_time:this.data.today[0],
e_visit_time:this.data.today[1],
})
break;
case 1:
this.setData({
s_time:this.data.tomorrow[0],
e_time:this.data.tomorrow[1],
s_visit_time:this.data.tomorrow[0],
e_visit_time:this.data.tomorrow[1],
})
break;
case 2:
this.setData({
s_time:this.data.last7[0],
e_time:this.data.last7[1],
s_visit_time:this.data.next3[0],
e_visit_time:this.data.next3[1],
})
break;
case 3:
this.setData({
s_time:this.data.last30[0],
e_time:this.data.last30[1],
s_visit_time:this.data.next7[0],
e_visit_time:this.data.next7[1],
})
break;
}
@@ -528,6 +515,8 @@ Page({
of1Index:-1,
of2Index:-1,
timeSlotIndex:-1,
s_visit_time:'',//跟进时间段开始
e_visit_time:'',//跟进时间段结束
testDriveIndex:-1,
levelIndex:-1,
brandIndex:-1,
+4 -4
View File
@@ -146,16 +146,16 @@
</picker>
</view>
</view>
<!-- <view class="relative bbs-1-eb pt25 pb25 last-b-none">
<view class="font-22">常用时间</view>
<view class="relative bbs-1-eb pt25 pb25 last-b-none">
<view class="font-22">跟近时间</view>
<view class="fn-clear">
<block wx:for="{{timeSlot}}" wx:key='index'>
<view class="inline-block radio-btn mt20 mr20 pt15 pb15 pl25 pr25 ulib-r10 font-28 {{timeSlotIndex == index?'bg-333 color-fff':'bg-f8'}}" bindtap="radioPicker" data-type="timeSlot" data-index="{{index}}">
<view class="inline-block radio-btn mt20 mr15 pt15 pb15 pl20 pr20 ulib-r10 font-28 {{timeSlotIndex == index?'bg-333 color-fff':'bg-f8'}}" bindtap="radioPicker" data-type="timeSlot" data-index="{{index}}">
{{item.title}}
</view>
</block>
</view>
</view> -->
</view>
<!-- <view class="relative bbs-1-eb pt25 pb25 last-b-none">
<view class="font-22">是否试驾</view>
<view class="fn-clear">
+5 -13
View File
@@ -49,25 +49,17 @@ Page({
remindMsg:[],//调拨盘点弹框
isShowVersionInfo:false,//是否显示版本更新
versionInfo:{
number:'V3.0.20',
number:'V3.0.28',
list:[
// '新增 库存盘点',
// '优化 客户建卡',
//'修复订单详情中销售顾问显示错误的问题',
// '新增订单需在当天完成下定,隔天作废;',
// '登记订单时,新增【上牌城市】选项;',
// '按揭信息新增【分期期数】字段;',
// '门店录入的线索手机号码开放展示;',
// '调整了客户列表及客户详情的信息展示;',
// '',
// '',
// '',
// '',
// '',
// '调整【订单生成】流程:在客户详情页生成订单',
// '调整【订单客户】状态逻辑,只有完成下定的客户才变为订单客户',
// '优化【客户跟进】的操作界面',
// '企微【客户画像】完善手机号码后,客户信息将自动同步至狸车宝',
// '',
'调整【客户等级】H级(3天内购车)、A级(7天内购车)、B级(15天内购车);',
'调整【客户跟进】逻辑,新增"跟进渠道"选项,可自行根据客户等级调整下次跟进时间;',
'优化了部分页面样式;',
],
},
},
+3 -3
View File
@@ -68,11 +68,11 @@
<view class="font-36">客户代办事项</view>
<view class="fn-flex pt20 pb20 color-fff">
<view class="fn-flex-item relative mr15 pt25 pb25 pl110 bg-1c89fd-8058fe ulib-r10" bindtap="pushLink" data-url="/pages/customer/filterList/index?iscall=0&title=未联系潜客" >
<view class="fn-flex-item relative mr15 pt25 pb25 pl110 bg-1c89fd-8058fe ulib-r10" bindtap="pushLink" data-url="/pages/customer/filterList/index?iscall=0&title=待跟进客户" >
<i class="absolute left-0 box-middle ml35 iconfont icon-qianke font-60"></i>
<view>
<view class="font-40">{{userCal.wl_count}}</view>
<view class="font-22">未联系潜客(人)</view>
<view class="font-22">待跟进客户(人)</view>
</view>
</view>
<view class="fn-flex-item relative ml15 pt25 pb25 pl110 bg-fe606c-ff9026 ulib-r10" bindtap="pushLink" data-url="/pages/customer/filterList/index?istop=1&title=特别关注客户">
@@ -245,7 +245,7 @@
<view slot="content" class="inner40 text-center" style="width:550rpx;">
<view class="font-36">狸车宝 {{versionInfo.number}} 更新说明</view>
<view class="inline-block mt10 font-28 color-666">
<view class="mt15 text-left" wx:for-items="{{versionInfo.list}}" wx:key='index'>{{index+1}}、{{item}};</view>
<view class="mt15 text-left" wx:for-items="{{versionInfo.list}}" wx:key='index'>{{index+1}}、{{item}}</view>
</view>
</view>
</lcb-msg>