|
|
@@ -42,7 +42,9 @@ |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="content-sec-lab"> |
|
|
|
<view class="content-sec-lab1">客户意向率:{{ `${customerInfo.levelFraction||'0'}%` }}</view> |
|
|
|
<view class="content-sec-lab1" @click.stop="showIntentionRate = true"> |
|
|
|
客户意向率:{{ `${customerInfo.levelFraction||'0'}%` }} <text style="margin-left: 20rpx;color: #0066CC;">查看</text> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="content-sec-lab"> |
|
|
|
<view class="content-sec-lab1">上次到访:{{ customerInfo.createTime || "--" }}</view> |
|
|
@@ -87,53 +89,53 @@ |
|
|
|
</view> |
|
|
|
<view v-if="Thevisitingrecords.length!=0" class="content-tips" |
|
|
|
v-for="(item,index) in Thevisitingrecords" :key="index" @click="tapThevisiting(item)"> |
|
|
|
|
|
|
|
<view class="content-first"> |
|
|
|
<view class="left"> |
|
|
|
<view class="name">{{item.agentName}}</view> |
|
|
|
<view class="status" v-if="item.replaceReception==1">代接待</view> |
|
|
|
<view class="normal-status">{{item.receptionStatusName || ''}} |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="right" v-if="item.recording!=0"> |
|
|
|
<view style="margin-right: 6rpx;">{{item.validInvalidName||''}}</view> |
|
|
|
<view v-if="methodsisshow"> |
|
|
|
<text style="color: red;" v-if="item.taboo==1">违禁接待</text> |
|
|
|
<text v-if="item.taboo==1"> |</text> |
|
|
|
</view> |
|
|
|
<view v-if="item.markAdvisor==0" class="">未标记</view> |
|
|
|
<view v-if="item.markAdvisor==1" class="">已标记</view> |
|
|
|
|
|
|
|
<view class="content-first"> |
|
|
|
<view class="left"> |
|
|
|
<view class="name">{{item.agentName}}</view> |
|
|
|
<view class="status" v-if="item.replaceReception==1">代接待</view> |
|
|
|
<view class="normal-status">{{item.receptionStatusName || ''}} |
|
|
|
</view> |
|
|
|
<view class="right" v-else> |
|
|
|
<view class="">无录音</view> |
|
|
|
</view> |
|
|
|
<view class="right" v-if="item.recording!=0"> |
|
|
|
<view style="margin-right: 6rpx;">{{item.validInvalidName||''}}</view> |
|
|
|
<view v-if="methodsisshow"> |
|
|
|
<text style="color: red;" v-if="item.taboo==1">违禁接待</text> |
|
|
|
<text v-if="item.taboo==1"> |</text> |
|
|
|
</view> |
|
|
|
<view v-if="item.markAdvisor==0" class="">未标记</view> |
|
|
|
<view v-if="item.markAdvisor==1" class="">已标记</view> |
|
|
|
</view> |
|
|
|
<view class="content-time"> |
|
|
|
{{item.createTime}} | {{item.mm || '0'}}min |
|
|
|
<view class="right" v-else> |
|
|
|
<view class="">无录音</view> |
|
|
|
</view> |
|
|
|
<view class="content-sec"> |
|
|
|
<view class="left">客户:{{item.name || '--'}}</view> |
|
|
|
<view class="right">销讲业务:{{ item.marketingBusinessName || '--' }}</view> |
|
|
|
</view> |
|
|
|
<view class="content-time"> |
|
|
|
{{item.createTime}} | {{item.mm || '0'}}min |
|
|
|
</view> |
|
|
|
<view class="content-sec"> |
|
|
|
<view class="left">客户:{{item.name || '--'}}</view> |
|
|
|
<view class="right">销讲业务:{{ item.marketingBusinessName || '--' }}</view> |
|
|
|
</view> |
|
|
|
<view class="content-last"> |
|
|
|
<view class="cont-item"> |
|
|
|
<view class="count">{{item.visitRecord|| 0}}</view> |
|
|
|
<view class="text">访问次数</view> |
|
|
|
</view> |
|
|
|
<view class="content-last"> |
|
|
|
<view class="cont-item"> |
|
|
|
<view class="count">{{item.visitRecord|| 0}}</view> |
|
|
|
<view class="text">访问次数</view> |
|
|
|
</view> |
|
|
|
<view class="cont-item"> |
|
|
|
<view class="count">{{item.wordFraction||0}}%</view> |
|
|
|
<view class="text">挖掘执行</view> |
|
|
|
</view> |
|
|
|
<view class="cont-item"> |
|
|
|
<view class="count">{{item.wordFinishFraction|| 0}}%</view> |
|
|
|
<view class="text">挖掘成功</view> |
|
|
|
</view> |
|
|
|
<view class="cont-item"> |
|
|
|
<view class="count" style="color: #2671E2;font-weight:600">{{item.fraction|| 0}}%</view> |
|
|
|
<view class="text">销讲执行率</view> |
|
|
|
</view> |
|
|
|
<view class="cont-item"> |
|
|
|
<view class="count">{{item.wordFraction||0}}%</view> |
|
|
|
<view class="text">挖掘执行</view> |
|
|
|
</view> |
|
|
|
<view class="cont-item"> |
|
|
|
<view class="count">{{item.wordFinishFraction|| 0}}%</view> |
|
|
|
<view class="text">挖掘成功</view> |
|
|
|
</view> |
|
|
|
|
|
|
|
<view class="cont-item"> |
|
|
|
<view class="count" style="color: #2671E2;font-weight:600">{{item.fraction|| 0}}%</view> |
|
|
|
<view class="text">销讲执行率</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
|
|
|
|
</view> |
|
|
|
</view> |
|
|
|
|
|
|
@@ -169,7 +171,9 @@ |
|
|
|
<!-- 销讲执行率 --> |
|
|
|
<view class="ratecenter" v-if="activeTotal==2"> |
|
|
|
<view class="boxtittabs"> |
|
|
|
<div class="items" @tap="showTemplate = true">销讲业务:{{ showBeText }}<u-icon name="arrow-down" size="24" style="padding-left: 12rpx"></u-icon></div> |
|
|
|
<div class="items" @tap="showTemplate = true">销讲业务:{{ showBeText }} |
|
|
|
<u-icon name="arrow-down" size="24" style="padding-left: 12rpx"></u-icon> |
|
|
|
</div> |
|
|
|
<div class="items">销讲执行:{{ totalRate||0 }}%</div> |
|
|
|
</view> |
|
|
|
<view |
|
|
@@ -417,7 +421,29 @@ |
|
|
|
<u-select :mask-close-able="false" label-name="templateName" value-name="cusId" v-model="showTemplate" |
|
|
|
mode="single-column" :list="templateList" @cancel="templateCancel" @confirm="templateConfirm"></u-select> |
|
|
|
|
|
|
|
|
|
|
|
<u-popup v-model="showIntentionRate" mode="center" mask-close-able width="560rpx" border-radius="14"> |
|
|
|
<!-- intentionRateList --> |
|
|
|
<view class="intentionRateList-title"> |
|
|
|
客户意向{{ `${customerInfo.levelFraction||'0'}%` }} |
|
|
|
<view class="close" @click="showIntentionRate = false">x</view> |
|
|
|
</view> |
|
|
|
<scroll-view scroll-y="true" style="height: 50vh;"> |
|
|
|
<view class="intentionRateList"> |
|
|
|
<block v-for="(item, index) in intentionRateList" :key="index"> |
|
|
|
<view class="first-title"> |
|
|
|
{{ item.name }} |
|
|
|
</view> |
|
|
|
<view class="second"> |
|
|
|
<block v-for="(second, secondIndex) in item.children" :key="secondIndex"> |
|
|
|
<view class="second-item"> |
|
|
|
{{ second.name }} |
|
|
|
</view> |
|
|
|
</block> |
|
|
|
</view> |
|
|
|
</block> |
|
|
|
</view> |
|
|
|
</scroll-view> |
|
|
|
</u-popup> |
|
|
|
|
|
|
|
<!-- 加载组件 --> |
|
|
|
<loading v-model="LOADING"></loading> |
|
|
@@ -453,6 +479,9 @@ |
|
|
|
showBeText: '全部业务', // |
|
|
|
templateList: [], // 销讲业务 |
|
|
|
showTemplate: false, // 展示选择销讲业务弹窗 |
|
|
|
|
|
|
|
showIntentionRate: false, // 客户意向率命中词弹窗 |
|
|
|
intentionRateList: [], // 客户意向率列表 |
|
|
|
} |
|
|
|
}, |
|
|
|
computed: { |
|
|
@@ -477,10 +506,57 @@ |
|
|
|
this.getCustomerInfo() |
|
|
|
this.tabtimetap(0) |
|
|
|
this.getMarketingBusiness() |
|
|
|
this.getListByType() |
|
|
|
}, |
|
|
|
|
|
|
|
methods: { |
|
|
|
|
|
|
|
// 字典表接口 |
|
|
|
getListByType() { |
|
|
|
this.$u.get("/matchKeywords/findPersonalMatchData", { |
|
|
|
customerId: this.customerId |
|
|
|
}) |
|
|
|
.then(res => { |
|
|
|
let arr = [] |
|
|
|
res.forEach(item1 => { |
|
|
|
item1.children.map(item => { |
|
|
|
if (item.isInterval == 0) { |
|
|
|
item.label = item.name + item.unit + '-' + item.endName + item |
|
|
|
.unit; |
|
|
|
} else { |
|
|
|
item.label = item.name |
|
|
|
} |
|
|
|
item.value = item.id; |
|
|
|
if (item.selected == 0) { |
|
|
|
arr.push({ |
|
|
|
name: item.label, |
|
|
|
fName: item1.name |
|
|
|
}) |
|
|
|
} |
|
|
|
}) |
|
|
|
}) |
|
|
|
|
|
|
|
let arr1 = [] |
|
|
|
arr.map(item => { |
|
|
|
let index = arr1.findIndex(items => items.name == item.fName) |
|
|
|
if (index != -1) { |
|
|
|
arr1[index].children.push({ |
|
|
|
name: item.name |
|
|
|
}) |
|
|
|
} else { |
|
|
|
arr1.push({ |
|
|
|
name: item.fName, |
|
|
|
children: [{ |
|
|
|
name: item.name |
|
|
|
}] |
|
|
|
}) |
|
|
|
} |
|
|
|
}) |
|
|
|
this.intentionRateList = arr1 |
|
|
|
console.log(arr, 'asdsaas', arr1) |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
// 销讲业务方法 |
|
|
|
templateCancel() { |
|
|
|
this.showTemplate = false; |
|
|
@@ -1397,145 +1473,145 @@ |
|
|
|
padding-bottom: 100rpx; |
|
|
|
|
|
|
|
|
|
|
|
.content-tips { |
|
|
|
background: #fff; |
|
|
|
box-sizing: border-box; |
|
|
|
overflow: hidden; |
|
|
|
margin: 0 0 20rpx 0; |
|
|
|
padding: 30rpx; |
|
|
|
|
|
|
|
.content-first { |
|
|
|
display: flex; |
|
|
|
justify-content: space-between; |
|
|
|
.content-tips { |
|
|
|
background: #fff; |
|
|
|
box-sizing: border-box; |
|
|
|
overflow: hidden; |
|
|
|
margin: 0 0 20rpx 0; |
|
|
|
padding: 30rpx; |
|
|
|
|
|
|
|
.left { |
|
|
|
.content-first { |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
justify-content: space-between; |
|
|
|
|
|
|
|
.img { |
|
|
|
width: 52rpx; |
|
|
|
height: 52rpx; |
|
|
|
background: #FFFFFF; |
|
|
|
border: 1px solid #C9C9C9; |
|
|
|
border-radius: 50%; |
|
|
|
text-align: center; |
|
|
|
line-height: 52rpx; |
|
|
|
} |
|
|
|
.left { |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
|
|
|
|
.img { |
|
|
|
width: 52rpx; |
|
|
|
height: 52rpx; |
|
|
|
background: #FFFFFF; |
|
|
|
border: 1px solid #C9C9C9; |
|
|
|
border-radius: 50%; |
|
|
|
text-align: center; |
|
|
|
line-height: 52rpx; |
|
|
|
} |
|
|
|
|
|
|
|
.name { |
|
|
|
font-weight: 600; |
|
|
|
color: #333333; |
|
|
|
margin-right: 10rpx; |
|
|
|
font-size: 30rpx; |
|
|
|
} |
|
|
|
.name { |
|
|
|
font-weight: 600; |
|
|
|
color: #333333; |
|
|
|
margin-right: 10rpx; |
|
|
|
font-size: 30rpx; |
|
|
|
} |
|
|
|
|
|
|
|
.status { |
|
|
|
width: 110rpx; |
|
|
|
height: 42rpx; |
|
|
|
background: #FFF9F5; |
|
|
|
border-radius: 4rpx; |
|
|
|
font-size: 26rpx; |
|
|
|
font-weight: 400; |
|
|
|
color: #EC8D49; |
|
|
|
line-height: 42rpx; |
|
|
|
text-align: center; |
|
|
|
margin: 0 10rpx; |
|
|
|
} |
|
|
|
.status { |
|
|
|
width: 110rpx; |
|
|
|
height: 42rpx; |
|
|
|
background: #FFF9F5; |
|
|
|
border-radius: 4rpx; |
|
|
|
font-size: 26rpx; |
|
|
|
font-weight: 400; |
|
|
|
color: #EC8D49; |
|
|
|
line-height: 42rpx; |
|
|
|
text-align: center; |
|
|
|
margin: 0 10rpx; |
|
|
|
} |
|
|
|
|
|
|
|
.normal-status { |
|
|
|
color: red; |
|
|
|
.normal-status { |
|
|
|
color: red; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.right { |
|
|
|
display: flex; |
|
|
|
margin-top: 11rpx; |
|
|
|
.right { |
|
|
|
display: flex; |
|
|
|
margin-top: 11rpx; |
|
|
|
|
|
|
|
.point { |
|
|
|
width: 12rpx; |
|
|
|
height: 12rpx; |
|
|
|
background: #2B6EFF; |
|
|
|
border-radius: 50%; |
|
|
|
margin-right: 9rpx; |
|
|
|
margin-top: 16rpx; |
|
|
|
.point { |
|
|
|
width: 12rpx; |
|
|
|
height: 12rpx; |
|
|
|
background: #2B6EFF; |
|
|
|
border-radius: 50%; |
|
|
|
margin-right: 9rpx; |
|
|
|
margin-top: 16rpx; |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.content-sec { |
|
|
|
display: flex; |
|
|
|
justify-content: space-between; |
|
|
|
margin: 24rpx 0; |
|
|
|
.content-sec { |
|
|
|
display: flex; |
|
|
|
justify-content: space-between; |
|
|
|
margin: 24rpx 0; |
|
|
|
|
|
|
|
.left { |
|
|
|
flex-grow: 1; |
|
|
|
height: 40rpx; |
|
|
|
font-size: 28rpx; |
|
|
|
font-family: PingFangSC-Medium, PingFang SC; |
|
|
|
font-weight: 500; |
|
|
|
color: #333333; |
|
|
|
line-height: 40rpx; |
|
|
|
.left { |
|
|
|
flex-grow: 1; |
|
|
|
height: 40rpx; |
|
|
|
font-size: 28rpx; |
|
|
|
font-family: PingFangSC-Medium, PingFang SC; |
|
|
|
font-weight: 500; |
|
|
|
color: #333333; |
|
|
|
line-height: 40rpx; |
|
|
|
} |
|
|
|
|
|
|
|
.right { |
|
|
|
flex-shrink: 0; |
|
|
|
width: 340rpx; |
|
|
|
height: 40rpx; |
|
|
|
font-size: 28rpx; |
|
|
|
font-family: PingFangSC-Regular, PingFang SC; |
|
|
|
font-weight: 400; |
|
|
|
color: #333333; |
|
|
|
line-height: 40rpx; |
|
|
|
text-align: right; |
|
|
|
overflow: hidden; |
|
|
|
white-space: nowrap; |
|
|
|
text-overflow: ellipsis; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.right { |
|
|
|
flex-shrink: 0; |
|
|
|
width: 340rpx; |
|
|
|
height: 40rpx; |
|
|
|
.content-time { |
|
|
|
font-size: 28rpx; |
|
|
|
font-family: PingFangSC-Regular, PingFang SC; |
|
|
|
font-weight: 400; |
|
|
|
color: #333333; |
|
|
|
line-height: 40rpx; |
|
|
|
text-align: right; |
|
|
|
overflow: hidden; |
|
|
|
white-space: nowrap; |
|
|
|
text-overflow: ellipsis; |
|
|
|
padding: 20rpx 0 24rpx; |
|
|
|
border-bottom: 1px solid #E0E0E0; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.content-time { |
|
|
|
font-size: 28rpx; |
|
|
|
font-family: PingFangSC-Regular, PingFang SC; |
|
|
|
font-weight: 400; |
|
|
|
color: #333333; |
|
|
|
line-height: 40rpx; |
|
|
|
padding: 20rpx 0 24rpx; |
|
|
|
border-bottom: 1px solid #E0E0E0; |
|
|
|
} |
|
|
|
|
|
|
|
.content-last { |
|
|
|
display: flex; |
|
|
|
justify-content: space-around; |
|
|
|
|
|
|
|
.cont-item { |
|
|
|
.content-last { |
|
|
|
display: flex; |
|
|
|
flex-direction: column; |
|
|
|
align-items: center; |
|
|
|
justify-content: center; |
|
|
|
justify-content: space-around; |
|
|
|
|
|
|
|
.count { |
|
|
|
height: 42rpx; |
|
|
|
font-size: 30rpx; |
|
|
|
font-family: PingFangSC-Regular, PingFang SC; |
|
|
|
font-weight: 400; |
|
|
|
color: #000000; |
|
|
|
line-height: 42rpx; |
|
|
|
margin-bottom: 16rpx; |
|
|
|
} |
|
|
|
.cont-item { |
|
|
|
display: flex; |
|
|
|
flex-direction: column; |
|
|
|
align-items: center; |
|
|
|
justify-content: center; |
|
|
|
|
|
|
|
.text { |
|
|
|
height: 32rpx; |
|
|
|
font-size: 24rpx; |
|
|
|
font-family: PingFangSC-Regular, PingFang SC; |
|
|
|
font-weight: 400; |
|
|
|
color: #666666; |
|
|
|
line-height: 32rpx; |
|
|
|
.count { |
|
|
|
height: 42rpx; |
|
|
|
font-size: 30rpx; |
|
|
|
font-family: PingFangSC-Regular, PingFang SC; |
|
|
|
font-weight: 400; |
|
|
|
color: #000000; |
|
|
|
line-height: 42rpx; |
|
|
|
margin-bottom: 16rpx; |
|
|
|
} |
|
|
|
|
|
|
|
.text { |
|
|
|
height: 32rpx; |
|
|
|
font-size: 24rpx; |
|
|
|
font-family: PingFangSC-Regular, PingFang SC; |
|
|
|
font-weight: 400; |
|
|
|
color: #666666; |
|
|
|
line-height: 32rpx; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
.tabactive2 { |
|
|
@@ -1674,4 +1750,61 @@ |
|
|
|
height: 100%; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.intentionRateList-title { |
|
|
|
position: relative; |
|
|
|
height: 90rpx; |
|
|
|
background: #fff; |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
justify-content: center; |
|
|
|
|
|
|
|
.close { |
|
|
|
position: absolute; |
|
|
|
right: 10rpx; |
|
|
|
top: 50%; |
|
|
|
transform: translateY(-50%); |
|
|
|
width: 45rpx; |
|
|
|
height: 45rpx; |
|
|
|
border: 1px solid #E0E0E0; |
|
|
|
border-radius: 50%; |
|
|
|
text-align: center; |
|
|
|
line-height: 45rpx; |
|
|
|
font-size: 26rpx; |
|
|
|
font-weight: bold; |
|
|
|
color: #E0E0E0; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.intentionRateList { |
|
|
|
padding: 0 20rpx; |
|
|
|
width: 100%; |
|
|
|
display: flex; |
|
|
|
flex-direction: column; |
|
|
|
|
|
|
|
.first-title { |
|
|
|
width: 100%; |
|
|
|
height: 90rpx; |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
} |
|
|
|
|
|
|
|
.second { |
|
|
|
width: 100%; |
|
|
|
display: flex; |
|
|
|
flex-wrap: wrap; |
|
|
|
|
|
|
|
.second-item { |
|
|
|
margin: 0 20rpx 25rpx 0; |
|
|
|
padding: 0 10rpx; |
|
|
|
height: 60rpx; |
|
|
|
border: 1px solid #E0E0E0; |
|
|
|
border-radius: 12rpx; |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
justify-content: center; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
</style> |