|
|
@@ -58,11 +58,11 @@ |
|
|
|
</view> |
|
|
|
|
|
|
|
<view class="tabactive1" v-if="activeTotal==0"> |
|
|
|
<view class="content-tips" v-for="(item,index) in Thevisitingrecords" :key="index"> |
|
|
|
<view class="content-tips" v-for="(item,index) in Thevisitingrecords" :key="index" @click="tapThevisiting(item)"> |
|
|
|
<view class="content-first"> |
|
|
|
<view class="left"> |
|
|
|
<view class="img">{{item.agentName.slice(0,1) || '--'}}</view> |
|
|
|
<view class="name">{{item.agentName || ''}}</view> |
|
|
|
<view class="name">{{item.agentName || '--'}}</view> |
|
|
|
<view class="status">代接待</view> |
|
|
|
</view> |
|
|
|
<!-- <view class="right"> |
|
|
@@ -83,45 +83,57 @@ |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="tabactive2" v-if="activeTotal==1"> |
|
|
|
<view class="tab2-tips"> |
|
|
|
<view class="tab2-tips" v-for="(item,index) in fllowList" :key="index"> |
|
|
|
<view class="tab2-first"> |
|
|
|
<view class="tab2-first-1"> |
|
|
|
<view class="tab2-first-left"> |
|
|
|
<view class="img">宋</view> |
|
|
|
<view class="name">宋幸运</view> |
|
|
|
<view class="img">{{item.agentName.slice(0,1) || '--'}}</view> |
|
|
|
<view class="name">{{item.agentName || '||'}}</view> |
|
|
|
</view> |
|
|
|
<view class="tab2-first-right">2021-07-20 16:00:30</view> |
|
|
|
<view class="tab2-first-right">{{item.createTime}}</view> |
|
|
|
</view> |
|
|
|
<view class="tab2-first-foot">有意向,想要更多优惠</view> |
|
|
|
<view class="tab2-first-foot">{{item.remarks || '--'}}</view> |
|
|
|
</view> |
|
|
|
<view class="tab2-sec"> |
|
|
|
<!-- <view class="tab2-sec"> |
|
|
|
<view class="tab-sec-edit">编辑记录</view> |
|
|
|
</view> |
|
|
|
</view> --> |
|
|
|
</view> |
|
|
|
<view class="tab2-tips"> |
|
|
|
<view class="tab2-first"> |
|
|
|
<view class="tab2-first-1"> |
|
|
|
<view class="tab2-first-left"> |
|
|
|
<view class="img">宋</view> |
|
|
|
<view class="name">宋幸运</view> |
|
|
|
</view> |
|
|
|
<view class="tab2-first-right">2021-07-20 16:00:30</view> |
|
|
|
</view> |
|
|
|
|
|
|
|
<!-- <view class="tabactive" v-if="activeTotal==2">执行率</view> --> |
|
|
|
<!-- 评分 --> |
|
|
|
<view v-if="activeTotal==2" class="tabactive rate-box" > |
|
|
|
<view class="title">总执行率 {{totalRate}}%</view> |
|
|
|
<view v-for="(item,index) in ratelist" :key="index" class="u-m-b-14"> |
|
|
|
<view class="level1"> |
|
|
|
<view class="level-name u-line-1"> |
|
|
|
{{item.name}} |
|
|
|
</view> |
|
|
|
<view class="level-progress"> |
|
|
|
<view class="color" :style="{width: item.ratepercent/item.rate*100+'%'}"></view> |
|
|
|
</view> |
|
|
|
<view class="tab2-first-foot">有意向,想要更多优惠</view> |
|
|
|
<view class="level-rate">{{((item.ratepercent/item.rate).toFixed(2)*100).toFixed()}}%</view> |
|
|
|
<image v-if="!item.show" class="arrow rotatearrow" @click="changeshow(item,1)" src="/static/images/down.png" |
|
|
|
mode="" /> |
|
|
|
<image v-else class="arrow" @click="changeshow(item,0)" src="/static/images/up.png" mode="" /> |
|
|
|
</view> |
|
|
|
<view class="tab2-sec"> |
|
|
|
<view class="tab-sec-edit">编辑记录</view> |
|
|
|
|
|
|
|
<view class="level1-subbox" v-if="item.show"> |
|
|
|
<view class="sub-name" v-for="(subitem,i) in item.children" :key="i"> |
|
|
|
<view class="subitem-name u-line-1" @tap="clickaudeopal(subitem)">{{subitem.name}}</view> |
|
|
|
<image class="checkimg" v-if="!subitem.selected" src="/static/images/rate-checked.png" mode="" /> |
|
|
|
<image class="checkimg" v-else src="/static/images/rate-nocheck.png" mode="" /> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
|
|
|
|
<view class="tabactive" v-if="activeTotal==2">执行率</view> |
|
|
|
</view> |
|
|
|
|
|
|
|
<view class="pon-foot"> |
|
|
|
<view class="foot-tab" @click="goRemind">添加提醒</view> |
|
|
|
<!-- <view class="foot-tab">拨打电话</view> --> |
|
|
|
<view class="foot-tab">写跟进</view> |
|
|
|
<view class="foot-tab" @click="followRecordAdd()">写跟进</view> |
|
|
|
</view> |
|
|
|
|
|
|
|
</view> |
|
|
@@ -138,7 +150,10 @@ |
|
|
|
createTime:'', |
|
|
|
agentName:'' |
|
|
|
}, |
|
|
|
Thevisitingrecords:[] |
|
|
|
Thevisitingrecords:[], |
|
|
|
totalRate:[], |
|
|
|
ratelist:[], |
|
|
|
fllowList:[], |
|
|
|
} |
|
|
|
}, |
|
|
|
onLoad(options) { |
|
|
@@ -171,8 +186,63 @@ |
|
|
|
this.activeTotal=idx |
|
|
|
if(idx==0){ |
|
|
|
this.getVisitList() |
|
|
|
}else if(idx==1){ |
|
|
|
this.getFollowList() |
|
|
|
}else{ |
|
|
|
this.getRatelist() |
|
|
|
} |
|
|
|
}, |
|
|
|
tapThevisiting(item) { |
|
|
|
if(item.yon!=0){ |
|
|
|
uni.showToast({ |
|
|
|
icon:'none', |
|
|
|
title: '暂无录音', |
|
|
|
duration: 2000 |
|
|
|
}); |
|
|
|
return |
|
|
|
}else{ |
|
|
|
const parames = { |
|
|
|
pageNum: 1, |
|
|
|
pageSize: 100, |
|
|
|
query: { |
|
|
|
customerId: item.id, |
|
|
|
} |
|
|
|
} |
|
|
|
var item={ |
|
|
|
bg:0, |
|
|
|
customerId:item.id, |
|
|
|
id:'' |
|
|
|
} |
|
|
|
this.$u.post("/corpus/findByPage", parames).then(res => { |
|
|
|
if(res[0].recordDuration>360){ |
|
|
|
let newobj = res[0]; |
|
|
|
uni.navigateTo({ |
|
|
|
url: `/pages/mine/details2?customerId=${newobj.customerId}&status=${newobj.status}&itemobj=${JSON.stringify(item)}&stateisshow=${"2"}` |
|
|
|
}) |
|
|
|
}else{ |
|
|
|
let newobj = res[0]; |
|
|
|
uni.navigateTo({ |
|
|
|
url: `/pages/mine/details?customerId=${newobj.customerId}&status=${newobj.status}&itemobj=${JSON.stringify(item)}&stateisshow=${"1"}` |
|
|
|
}) |
|
|
|
} |
|
|
|
}) |
|
|
|
} |
|
|
|
}, |
|
|
|
// 获取跟进记录 |
|
|
|
getFollowList() { |
|
|
|
this.fllowList=[]; |
|
|
|
this.$u.post("/customer/getCusStage", { |
|
|
|
customerId: this.customerId |
|
|
|
}).then(res => { |
|
|
|
this.fllowList = res; |
|
|
|
}) |
|
|
|
}, |
|
|
|
// 新增跟进 |
|
|
|
followRecordAdd() { |
|
|
|
uni.navigateTo({ |
|
|
|
url: `/pages/center/consumer/newFollowup/newFollowup?id=${this.customerId}` |
|
|
|
}) |
|
|
|
}, |
|
|
|
// 去编辑 |
|
|
|
goedit(){ |
|
|
|
// console.log('去编辑') |
|
|
@@ -186,6 +256,69 @@ |
|
|
|
url:'/pages/center/consumer/remind' |
|
|
|
}) |
|
|
|
}, |
|
|
|
//评分点击 |
|
|
|
clickaudeopal(item){ |
|
|
|
if(item.selected==0){ |
|
|
|
uni.navigateTo({ |
|
|
|
url: '/pages/mine/ScoringPlaylist?customerId='+this.customerId +"&id="+item.marketingId |
|
|
|
}) |
|
|
|
} |
|
|
|
}, |
|
|
|
changeshow(item, type) { |
|
|
|
if (type == 1) { |
|
|
|
item.show = true |
|
|
|
} else { |
|
|
|
item.show = false |
|
|
|
} |
|
|
|
}, |
|
|
|
// 获取评分 |
|
|
|
getRatelist() { |
|
|
|
this.$u.get("/customer/findzkMByCusId", { |
|
|
|
cusId: this.customerId |
|
|
|
}).then(res => { |
|
|
|
if (res.length) { |
|
|
|
let level1 = [] |
|
|
|
let level2rate = 0 |
|
|
|
res.forEach(item => { |
|
|
|
if (item.pid == 0) { |
|
|
|
level1.push({ |
|
|
|
id: item.marketingId, |
|
|
|
rate: item.fraction, |
|
|
|
name: item.name, |
|
|
|
sort: item.sort, |
|
|
|
show: false, |
|
|
|
ratepercent: 0, |
|
|
|
children: [] |
|
|
|
}) |
|
|
|
} else { |
|
|
|
if (item.selected == 0) { |
|
|
|
level2rate += item.fraction |
|
|
|
} |
|
|
|
} |
|
|
|
}) |
|
|
|
this.totalRate = level2rate |
|
|
|
res.forEach(subitem => { |
|
|
|
let subitempid = subitem.pid |
|
|
|
level1.forEach(item => { |
|
|
|
if (subitempid == item.id) { |
|
|
|
if (subitem.selected == 0) { |
|
|
|
item.ratepercent += subitem.fraction |
|
|
|
} |
|
|
|
item.children.push({ |
|
|
|
id: subitem.id, |
|
|
|
rate: subitem.fraction, |
|
|
|
selected: subitem.selected, |
|
|
|
name: subitem.name, |
|
|
|
marketingId:subitem.marketingId |
|
|
|
}) |
|
|
|
} |
|
|
|
}) |
|
|
|
}) |
|
|
|
level1[0].show = true; |
|
|
|
this.ratelist = level1 |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
} |
|
|
|
} |
|
|
|
</script> |
|
|
@@ -196,6 +329,116 @@ |
|
|
|
height: 100%; |
|
|
|
background: #F8F8F8; |
|
|
|
} |
|
|
|
// 评分 |
|
|
|
.rate-box { |
|
|
|
padding: 10rpx 20rpx; |
|
|
|
background-color: #FFFFFF; |
|
|
|
.date { |
|
|
|
width: 300rpx; |
|
|
|
height: 33rpx; |
|
|
|
font-size: 24rpx; |
|
|
|
font-weight: 400; |
|
|
|
color: #333333; |
|
|
|
line-height: 33rpx; |
|
|
|
letter-spacing: 1rpx; |
|
|
|
margin-bottom: 8rpx; |
|
|
|
} |
|
|
|
|
|
|
|
.title { |
|
|
|
width: 100%; |
|
|
|
height: 42rpx; |
|
|
|
font-size: 30rpx; |
|
|
|
font-weight: 500; |
|
|
|
color: #333333; |
|
|
|
line-height: 42rpx; |
|
|
|
letter-spacing: 2rpx; |
|
|
|
margin-bottom: 20rpx; |
|
|
|
} |
|
|
|
|
|
|
|
.level1 { |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
|
|
|
|
.level-name { |
|
|
|
width: 104rpx; |
|
|
|
height: 33rpx; |
|
|
|
font-size: 24rpx; |
|
|
|
font-weight: 500; |
|
|
|
color: #333333; |
|
|
|
line-height: 33rpx; |
|
|
|
letter-spacing: 1rpx; |
|
|
|
margin-right: 10rpx; |
|
|
|
} |
|
|
|
|
|
|
|
.level-progress { |
|
|
|
flex: 1; |
|
|
|
border-radius: 11rpx; |
|
|
|
height: 21rpx; |
|
|
|
background-color: #BEE4FF; |
|
|
|
position: relative; |
|
|
|
|
|
|
|
.color { |
|
|
|
width: 0; |
|
|
|
position: absolute; |
|
|
|
top: 0; |
|
|
|
left: 0; |
|
|
|
height: 21rpx; |
|
|
|
border-radius: 11rpx 0 0 11rpx; |
|
|
|
background-color: #008EF2; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.level-rate { |
|
|
|
width: 65rpx; |
|
|
|
height: 33rpx; |
|
|
|
font-size: 24rpx; |
|
|
|
font-weight: 500; |
|
|
|
color: #333333; |
|
|
|
line-height: 33rpx; |
|
|
|
letter-spacing: 1rpx; |
|
|
|
margin: 0 20rpx 0 15rpx; |
|
|
|
} |
|
|
|
|
|
|
|
.arrow { |
|
|
|
width: 37rpx; |
|
|
|
height: 21rpx; |
|
|
|
padding: 5rpx 20rpx; |
|
|
|
} |
|
|
|
|
|
|
|
.rotatearrow { |
|
|
|
transform: rotate(270deg); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.level1-subbox { |
|
|
|
display: flex; |
|
|
|
margin-top: 20rpx; |
|
|
|
flex-wrap: wrap; |
|
|
|
|
|
|
|
.sub-name { |
|
|
|
width: 50%; |
|
|
|
display: flex; |
|
|
|
margin-bottom: 18rpx; |
|
|
|
|
|
|
|
.subitem-name { |
|
|
|
width: 104rpx; |
|
|
|
height: 33rpx; |
|
|
|
font-size: 24rpx; |
|
|
|
font-weight: 400; |
|
|
|
color: #999999; |
|
|
|
line-height: 33rpx; |
|
|
|
letter-spacing: 1rpx; |
|
|
|
margin-right: 12rpx; |
|
|
|
} |
|
|
|
|
|
|
|
.checkimg { |
|
|
|
width: 27rpx; |
|
|
|
height: 27rpx; |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
.tab{ |
|
|
|
height: 88rpx; |
|
|
|
border-bottom: 1px solid #E0E0E0; |
|
|
|