狸车宝客户跟进进度调整
This commit is contained in:
@@ -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;}
|
||||
@@ -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;}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
})
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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({
|
||||
|
||||
@@ -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
@@ -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,
|
||||
|
||||
@@ -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
@@ -49,25 +49,17 @@ Page({
|
||||
remindMsg:[],//调拨盘点弹框
|
||||
isShowVersionInfo:false,//是否显示版本更新
|
||||
versionInfo:{
|
||||
number:'V3.0.20',
|
||||
number:'V3.0.28',
|
||||
list:[
|
||||
// '新增 库存盘点',
|
||||
// '优化 客户建卡',
|
||||
//'修复订单详情中销售顾问显示错误的问题',
|
||||
// '新增订单需在当天完成下定,隔天作废;',
|
||||
// '登记订单时,新增【上牌城市】选项;',
|
||||
// '按揭信息新增【分期期数】字段;',
|
||||
// '门店录入的线索手机号码开放展示;',
|
||||
// '调整了客户列表及客户详情的信息展示;',
|
||||
// '',
|
||||
// '',
|
||||
// '',
|
||||
// '',
|
||||
// '',
|
||||
// '调整【订单生成】流程:在客户详情页生成订单',
|
||||
// '调整【订单客户】状态逻辑,只有完成下定的客户才变为订单客户',
|
||||
// '优化【客户跟进】的操作界面',
|
||||
// '企微【客户画像】完善手机号码后,客户信息将自动同步至狸车宝',
|
||||
// '',
|
||||
'调整【客户等级】H级(3天内购车)、A级(7天内购车)、B级(15天内购车);',
|
||||
'调整【客户跟进】逻辑,新增"跟进渠道"选项,可自行根据客户等级调整下次跟进时间;',
|
||||
'优化了部分页面样式;',
|
||||
],
|
||||
},
|
||||
},
|
||||
|
||||
@@ -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>
|
||||
Reference in New Issue
Block a user