@@ -1,5 +1,5 @@ | |||
const ENV_PATH = { | |||
baseUrl: 'http://192.168.31.149:9999', // 胜浩 | |||
baseUrl: 'http://192.168.31.85:9999', // 胜浩 | |||
} | |||
module.exports = ENV_PATH |
@@ -11,7 +11,9 @@ | |||
<view class="img B" v-else-if="customerInfo.level==2">B</view> | |||
<view class="img C" v-else-if="customerInfo.level==3">C</view> | |||
<view class="img D" v-else-if="customerInfo.level==4">D</view> | |||
<view v-if="customerInfo.clientStageName" class="clientStageName">{{ customerInfo.clientStageName }}</view> | |||
<view v-if="customerInfo.clientStageName" class="clientStageName"> | |||
{{ customerInfo.clientStageName }} | |||
</view> | |||
</view> | |||
<view class="edit" @click="goedit()" v-if="isHavePermission"> | |||
<image class="screen-sel-img" src="../../../static/images/edit.png" mode=""></image> | |||
@@ -29,10 +31,10 @@ | |||
</view> | |||
<view class="content-sec-lab"> | |||
<view class="u-flex" style="flex:1"> | |||
挖掘执行:<view class="content-sec-lab1">{{customerInfo.wordFraction||0}}%</view> | |||
挖掘执行:<view class="content-sec-lab1">{{customerInfo.wordFraction||0}}%</view> | |||
</view> | |||
<view class="u-flex" style="flex:1"> | |||
挖掘成功:<view class="content-sec-lab1">{{customerInfo.wordFinishFraction||0}}%</view> | |||
<view class="u-flex" style="flex:1"> | |||
挖掘成功:<view class="content-sec-lab1">{{customerInfo.wordFinishFraction||0}}%</view> | |||
</view> | |||
</view> | |||
<view class="content-sec-lab"> | |||
@@ -41,7 +43,7 @@ | |||
<view class="content-sec-num"> | |||
<view>到访{{customerInfo.visitRecord || '--'}}次</view> | |||
<view> | |||
{{customerInfo.mm || '0'}}min/{{customerInfo.fraction || '0'}}% | |||
{{customerInfo.mm || '0'}}min/{{customerInfo.fraction || '0'}}% | |||
</view> | |||
</view> | |||
</view> | |||
@@ -119,7 +121,8 @@ | |||
<view class="tab2-first-left"> | |||
<view class="img">{{item.agentName.slice(0,1) || '--'}}</view> | |||
<view class="name">{{item.agentName || '||'}}</view> | |||
<view v-if="item.clientStageName" class="clientStageName">{{ item.clientStageName }}</view> | |||
<view v-if="item.clientStageName" class="clientStageName">{{ item.clientStageName }} | |||
</view> | |||
</view> | |||
<view class="tab2-first-right">{{item.createTime}}</view> | |||
</view> | |||
@@ -142,11 +145,11 @@ | |||
<view style="text-align: center;color: #07B79D;">{{customerInfo.fraction}}%</view> | |||
</u-circle-progress> | |||
</view> | |||
<view class="ratetetle-desc">销讲执行率</view> | |||
<view class="ratetetle-desc">销讲执行率</view> | |||
</view> | |||
<view class="rateyuanboxzuo"> | |||
<view class="boxzuoview">{{customerInfo.mm}}min</view> | |||
<view class="ratetetle-desc">接待时长</view> | |||
<view class="ratetetle-desc">接待时长</view> | |||
</view> | |||
</view> | |||
<view class="middle-title"> | |||
@@ -197,8 +200,7 @@ | |||
<view class="jiantobox"> | |||
<image v-if="che.selected==0" class="arrow" src="/static/images/rate-checked.png" | |||
mode="" /> | |||
<image v-else class="arrow" src="/static/images/no-checked.png" | |||
mode="" /> | |||
<image v-else class="arrow" src="/static/images/no-checked.png" mode="" /> | |||
</view> | |||
</view> | |||
<view v-if="subitem.show" style="width: 100%;height: 30rpx;"></view> | |||
@@ -206,162 +208,133 @@ | |||
</view> | |||
</view> | |||
<!-- 需求挖掘执行率 --> | |||
<view class="xuqiu" v-if="activeTotal==3"> | |||
<!-- 暂无数据 --> | |||
<view v-if="KeyWordsfractionList.length==0" | |||
style="width: 100%;height: 100%;display: flex;align-items: center;"> | |||
<view style="width: 100%;padding-top: 60rpx;background: #fff;"> | |||
<view style="width: 100%;text-align: center;"> | |||
<image style="width: 220rpx;height: 200rpx;" | |||
src="https://static.quhouse.com/zhikong_xcx_img/nodatalist.png" mode=""></image> | |||
</view> | |||
<view style="text-align: center;width: 100%;margin-top: 20rpx;color: #999999;">暂无数据</view> | |||
<view class="xuqiu" v-if="activeTotal==3"> | |||
<!-- 暂无数据 --> | |||
<view v-if="KeyWordsfractionList.length==0" | |||
style="width: 100%;height: 100%;display: flex;align-items: center;"> | |||
<view style="width: 100%;padding-top: 60rpx;background: #fff;"> | |||
<view style="width: 100%;text-align: center;"> | |||
<image style="width: 220rpx;height: 200rpx;" | |||
src="https://static.quhouse.com/zhikong_xcx_img/nodatalist.png" mode=""></image> | |||
</view> | |||
<view style="text-align: center;width: 100%;margin-top: 20rpx;color: #999999;">暂无数据</view> | |||
</view> | |||
</view> | |||
<!-- 需求挖掘执行率 --> | |||
<view v-if="KeyWordsfractionList.length"> | |||
<view class="top-box"> | |||
<view style="width:50%;text-align:center">挖掘执行率:{{customerInfo.wordFraction||0}}%</view> | |||
<view style="width:50%;text-align:center">挖掘成功率:{{customerInfo.wordFinishFraction||0}}%</view> | |||
</view> | |||
<!-- 需求挖掘执行率 --> | |||
<view v-if="KeyWordsfractionList.length"> | |||
<view class="top-box"> | |||
<view style="width:50%;text-align:center">挖掘执行:{{customerInfo.wordFraction||0}}%</view> | |||
<view style="width:50%;text-align:center">挖掘成功:{{customerInfo.wordFinishFraction||0}}%</view> | |||
<view | |||
style="width: 100%;height: 80rpx;border-bottom: 1rpx solid #e0e0e0;display: flex;align-items: center;background: #fff;"> | |||
<view style="flex: 1;font-size: 28rpx;color: #333333;font-weight: 600;text-indent: 50rpx;">指标 | |||
</view> | |||
<view style=" | |||
width: 100%; | |||
height: 80rpx; | |||
border-bottom: 1rpx solid #e0e0e0; | |||
display: flex; | |||
align-items: center; | |||
background: #fff; | |||
"> | |||
<view style=" | |||
flex: 1; | |||
font-size: 28rpx; | |||
color: #333333; | |||
font-weight: 600; | |||
text-indent: 50rpx; | |||
">指标</view> | |||
<view style=" | |||
flex: 1; | |||
font-size: 28rpx; | |||
color: #333333; | |||
font-weight: 600; | |||
text-indent: 70rpx; | |||
">执行率</view> | |||
<view style=" | |||
flex: 1; | |||
font-size: 28rpx; | |||
color: #333333; | |||
font-weight: 600; | |||
text-indent: 70rpx; | |||
">匹配标签</view> | |||
<view style="flex: 0 0 30rpx;"></view> | |||
<view style="flex: 1;font-size: 28rpx;color: #333333;font-weight: 600;text-indent: 70rpx;">执行率 | |||
</view> | |||
<!-- 暂无数据 --> | |||
<view v-if="KeyWordsfractionList.length == 0" | |||
style="width: 100%; height: 100%; display: flex; align-items: center"> | |||
<view style="width: 100%; padding-top: 60rpx;background:#fff;"> | |||
<view style="width: 100%; text-align: center"> | |||
<image style="width: 220rpx; height: 200rpx" | |||
src="https://static.quhouse.com/zhikong_xcx_img/nodatalist.png" mode=""></image> | |||
</view> | |||
<view style=" | |||
<view style="flex: 1;font-size: 28rpx;color: #333333;font-weight: 600;text-indent: 70rpx;">挖掘成功 | |||
</view> | |||
<view style="flex: 0 0 30rpx;"></view> | |||
</view> | |||
<!-- 暂无数据 --> | |||
<view v-if="KeyWordsfractionList.length == 0" | |||
style="width: 100%; height: 100%; display: flex; align-items: center"> | |||
<view style="width: 100%; padding-top: 60rpx;background:#fff;"> | |||
<view style="width: 100%; text-align: center"> | |||
<image style="width: 220rpx; height: 200rpx" | |||
src="https://static.quhouse.com/zhikong_xcx_img/nodatalist.png" mode=""></image> | |||
</view> | |||
<view style=" | |||
text-align: center; | |||
width: 100%; | |||
margin-top: 20rpx; | |||
color: #999999; | |||
">暂无数据</view> | |||
</view> | |||
</view> | |||
<!-- 挖掘执行话术展示 --> | |||
<view class="Level-box" v-else v-for="(item, index) in KeyWordsfractionList" :key="index"> | |||
<view class="Level1che" @click="changeshowlevel1(item, 1)"> | |||
<view class="title1" style="flex: 1">{{ item.name }}</view> | |||
<view class="Level1-middle" style="flex: 2; display: flex"> | |||
<view class="item" style="flex: 1; text-align: center">执行{{ item.fraction || 0 }}% | |||
</view> | |||
<view class="item" style="flex:1;text-align:center;color:#2671E2" | |||
v-if="item.keywordsList&&item.keywordsList.length"> | |||
已完成({{item.keywordsList.length}})</view> | |||
<view class="item" v-else style="flex:1;text-align:center;">未完成</view> | |||
</view> | |||
<view class="jiantobox"> | |||
<image v-if="!item.show" class="arrow rotatearrow" src="/static/images/down.png" | |||
mode="" /> | |||
<image v-else class="arrow" src="/static/images/up.png" mode="" /> | |||
</view> | |||
</view> | |||
<!-- 挖掘执行话术展示 --> | |||
<view class="Level-box" v-else v-for="(item, index) in KeyWordsfractionList" :key="index"> | |||
<view class="Level1che" @click="changeshowlevel1(item, 1)"> | |||
<view class="title1" style="flex: 1">{{ item.name }}</view> | |||
<view class="Level1-middle" style="flex: 2; display: flex"> | |||
<view class="item" style="flex: 1; text-align: center">执行{{ item.fraction || 0 }}% | |||
<!-- 话术在一级下 --> | |||
<view v-if="item.children&&item.children.length==0"> | |||
<view class="hhhbox" v-if="item.show" style="padding: 30rpx;"> | |||
<view class="hsnrtest" style="font-size:30rpx;color: #333;line-height: 42rpx;"> | |||
客户标签:{{ getKeywordsList(item.keywordsList) }}</view> | |||
<view class="hsnrtest">话术内容:</view> | |||
<view v-if="item.modelList.length==0">暂无话术</view> | |||
<view class="Level3che" v-for="(che,inc) in item.modelList" :key='inc'> | |||
<view class="title1" @click="clickWajue(che)" | |||
:style="che.isAskQuestions==2?'color:#FF8C13':che.isAskQuestions==0?'':'color: #666'"> | |||
{{inc+1}}.{{che.showFormatExpression}} | |||
</view> | |||
<view class="jiantobox"> | |||
<!-- 0本次选中 1未选中 2上次选中 --> | |||
<image v-if="che.isAskQuestions==0" class="arrow" | |||
src="/static/images/rate-checked.png" mode="" /> | |||
<image v-else-if="che.isAskQuestions==2" class="arrow" | |||
src="/static/images/checked-yellow.png" mode="" /> | |||
<image v-else class="arrow" src="/static/images/rate-nocheck.png" mode="" /> | |||
</view> | |||
<view class="item" style="flex:1;text-align:center;color:#2671E2" | |||
v-if="item.keywordsList&&item.keywordsList.length">已匹配({{ | |||
item.keywordsList.length | |||
}})</view> | |||
<view class="item" v-else style="flex:1;text-align:center;">未匹配</view> | |||
</view> | |||
<view class="jiantobox"> | |||
<image v-if="!item.show" class="arrow rotatearrow" src="/static/images/down.png" | |||
mode="" /> | |||
<image v-else class="arrow" src="/static/images/up.png" mode="" /> | |||
</view> | |||
</view> | |||
<!-- 话术在一级下 --> | |||
<view v-if="item.children&&item.children.length==0"> | |||
<view class="hhhbox" v-if="item.show" style="padding: 30rpx;"> | |||
<view class="hsnrtest" style="font-size:30rpx;color: #333;line-height: 42rpx;"> | |||
客户标签:{{ getKeywordsList(item.keywordsList) }}</view> | |||
</view> | |||
<!-- 话术在二级下 --> | |||
<view v-if="item.children&&item.children.length"> | |||
<view class="hhhbox" v-if="item.show" v-for="(subitem, i) in item.children" :key="i"> | |||
<view class="Level2che" @click="changeshow2(subitem, 1)"> | |||
<view class="title1 u-line-1">{{ subitem.name }}</view> | |||
<view class="leve1-jindu"> | |||
<view class="zhixing" v-if="subitem.isAskQuestions == 0">已执行</view> | |||
<view class="zhixing2" v-else>未执行</view> | |||
</view> | |||
<view class="leve1-jindu"> | |||
<view class="zhixing" v-if="subitem.selected == 0">已完成</view> | |||
<view class="zhixing2" v-else>未完成</view> | |||
</view> | |||
<view class="jiantobox"> | |||
<image v-if="!subitem.show" class="arrow rotatearrow" | |||
src="/static/images/down.png" mode="" /> | |||
<image v-else class="arrow" src="/static/images/up.png" mode="" /> | |||
</view> | |||
</view> | |||
<view v-if="subitem.show" style="padding: 30rpx 0"> | |||
<view class="hsnrtest" style="font-size: 30rpx;color: #333"> | |||
客户标签:{{ getKeywordsList(subitem.keywordsList) }}</view> | |||
<view class="hsnrtest">话术内容:</view> | |||
<view v-if="item.modelList.length==0">暂无话术</view> | |||
<view class="Level3che" v-for="(che,inc) in item.modelList" :key='inc'> | |||
<view class="title1" @click="clickWajue(che)" | |||
:style="che.isAskQuestions==2?'color:#FF8C13':che.isAskQuestions==0?'':'color: #666'"> | |||
{{inc+1}}.{{che.showFormatExpression}} | |||
<view v-if="subitem.modelList.length==0">暂无话术</view> | |||
<view class="Level3che" v-for="(che, inc) in subitem.modelList" :key="inc"> | |||
<view class="title1" @click="clickWajue(che)" :style="che.isAskQuestions == 2 ? 'color:#FF8C13' : che.isAskQuestions == 0 ? '' : 'color: #666'"> | |||
{{ inc + 1 }}.{{ che.showFormatExpression }} | |||
</view> | |||
<view class="jiantobox"> | |||
<!-- 0本次选中 1未选中 2上次选中 --> | |||
<image v-if="che.isAskQuestions==0" class="arrow" | |||
<image v-if="che.isAskQuestions == 0" class="arrow" | |||
src="/static/images/rate-checked.png" mode="" /> | |||
<image v-else-if="che.isAskQuestions==2" class="arrow" | |||
<image v-else-if="che.isAskQuestions == 2" class="arrow" | |||
src="/static/images/checked-yellow.png" mode="" /> | |||
<image v-else class="arrow" src="/static/images/rate-nocheck.png" mode="" /> | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
<!-- 话术在二级下 --> | |||
<view v-if="item.children&&item.children.length"> | |||
<view class="hhhbox" v-if="item.show" v-for="(subitem, i) in item.children" :key="i"> | |||
<view class="Level2che" @click="changeshow2(subitem, 1)"> | |||
<view class="title1 u-line-1">{{ subitem.name }}</view> | |||
<view class="leve1-jindu"> | |||
<view class="zhixing" v-if="subitem.isAskQuestions == 0">已执行</view> | |||
<view class="zhixing2" v-else>未执行</view> | |||
</view> | |||
<view class="leve1-jindu"> | |||
<view class="zhixing" v-if="subitem.selected == 0">已匹配</view> | |||
<view class="zhixing2" v-else>未匹配</view> | |||
</view> | |||
<view class="jiantobox"> | |||
<image v-if="!subitem.show" class="arrow rotatearrow" | |||
src="/static/images/down.png" mode="" /> | |||
<image v-else class="arrow" src="/static/images/up.png" mode="" /> | |||
</view> | |||
</view> | |||
<view v-if="subitem.show" style="padding: 30rpx 0"> | |||
<view class="hsnrtest" style="font-size: 30rpx;color: #333"> | |||
客户标签:{{ getKeywordsList(subitem.keywordsList) }}</view> | |||
<view class="hsnrtest">话术内容:</view> | |||
<view v-if="subitem.modelList.length==0">暂无话术</view> | |||
<view class="Level3che" v-for="(che, inc) in subitem.modelList" :key="inc"> | |||
<view class="title1" @click="clickWajue(che)" :style=" | |||
che.isAskQuestions == 2 | |||
? 'color:#FF8C13' | |||
: che.isAskQuestions == 0 | |||
? '' | |||
: 'color: #666' | |||
">{{ inc + 1 }}.{{ | |||
che.showFormatExpression | |||
}}</view> | |||
<view class="jiantobox"> | |||
<image v-if="che.isAskQuestions == 0" class="arrow" | |||
src="/static/images/rate-checked.png" mode="" /> | |||
<image v-else-if="che.isAskQuestions == 2" class="arrow" | |||
src="/static/images/checked-yellow.png" mode="" /> | |||
<image v-else class="arrow" src="/static/images/rate-nocheck.png" | |||
mode="" /> | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
<view class="pon-foot" v-if="buttonisshow"> | |||
@@ -381,7 +354,7 @@ | |||
</scroll-view> | |||
</u-popup> | |||
<!-- 加载组件 --> | |||
<u-loadings v-model="LOADING"></u-loadings> | |||
</view> | |||
@@ -510,9 +483,9 @@ | |||
this.getVisitList() | |||
} else if (idx == 1) { | |||
this.getFollowList() | |||
} else if(idx == 2){ | |||
} else if (idx == 2) { | |||
this.getRatelist() | |||
}else{ // 需求挖掘率 | |||
} else { // 需求挖掘率 | |||
this.getfindKeyWordsBycusId() | |||
} | |||
}, | |||
@@ -682,9 +655,9 @@ | |||
}) | |||
}, | |||
}, | |||
filters: { | |||
// 加密手机 | |||
phoneText(mobile) { | |||
if (!mobile) return '--' | |||
@@ -815,10 +788,12 @@ | |||
.Level-box { | |||
padding-bottom: 2rpx; | |||
border-bottom: 1rpx solid #E0E0E0; | |||
.hhhbox { | |||
width: 100%; | |||
padding: 0 30rpx; | |||
background: #f8f8f8; | |||
.hsnrtest { | |||
height: 36rpx; | |||
font-size: 26rpx; | |||
@@ -919,7 +894,7 @@ | |||
display: flex; | |||
line-height: 98rpx; | |||
align-items: center; | |||
padding:0 30rpx; | |||
padding: 0 30rpx; | |||
.title1 { | |||
flex: 2; | |||
@@ -937,7 +912,8 @@ | |||
line-height: 28rpx; | |||
border-radius: 14rpx; | |||
position: relative; | |||
background: rgba(7, 183, 157, 0.2); | |||
background: rgba(7, 183, 157, 0.2); | |||
.huanxing { | |||
height: 100%; | |||
background: #07B79D; | |||
@@ -968,10 +944,12 @@ | |||
} | |||
} | |||
} | |||
.ratecenter { | |||
background-color: #FFFFFF; | |||
padding-bottom: 30rpx; | |||
width: 100%; | |||
.ratetetle { | |||
height: 42rpx; | |||
font-size: 30rpx; | |||
@@ -981,6 +959,7 @@ | |||
line-height: 42rpx; | |||
padding: 24rpx 30rpx; | |||
} | |||
.rateyuanbox { | |||
width: 100%; | |||
height: 210rpx; | |||
@@ -988,28 +967,33 @@ | |||
display: flex; | |||
padding-left: 80rpx; | |||
padding-right: 80rpx; | |||
.rateyuanboxzuo { | |||
width: 30%; | |||
height: 100%; | |||
} | |||
.rateyuanboxyou { | |||
width: 40%; | |||
height: 100%; | |||
} | |||
.boxzuoview { | |||
width: 100%; | |||
height: 140rpx; | |||
line-height: 140rpx; | |||
text-align: center; | |||
} | |||
.ratetetle-desc{ | |||
.ratetetle-desc { | |||
color: #666; | |||
font-size:30rpx; | |||
font-size: 30rpx; | |||
font-weight: 400; | |||
text-align: center; | |||
} | |||
} | |||
.middle-title{ | |||
.middle-title { | |||
height: 78rpx; | |||
line-height: 78rpx; | |||
display: flex; | |||
@@ -1020,10 +1004,12 @@ | |||
font-family: PingFangSC-Medium, PingFang SC; | |||
font-weight: 500; | |||
color: #333333; | |||
.item-title1 { | |||
width: 450rpx; | |||
padding-left: 30rpx; | |||
} | |||
.item-title { | |||
flex: 1; | |||
} | |||
@@ -1052,6 +1038,7 @@ | |||
font-size: 30rpx; | |||
display: flex; | |||
justify-content: center; | |||
.activecllasscet { | |||
border-bottom: 6rpx solid #2671E2; | |||
color: #2671E2; | |||
@@ -1085,7 +1072,7 @@ | |||
display: flex; | |||
align-items: center; | |||
justify-content: space-between; | |||
.img { | |||
width: 48rpx; | |||
height: 48rpx; | |||
@@ -1109,6 +1096,7 @@ | |||
margin-right: 16rpx; | |||
display: flex; | |||
} | |||
.clientStageName { | |||
height: 48rpx; | |||
line-height: 48rpx; | |||
@@ -1128,12 +1116,13 @@ | |||
flex-shrink: 0; | |||
height: 40rpx; | |||
width: 40rpx; | |||
image { | |||
width: 100%; | |||
height: 100%; | |||
} | |||
} | |||
} | |||
.right { | |||
@@ -1208,6 +1197,7 @@ | |||
.content-last { | |||
padding: 30rpx; | |||
margin-top: 28rpx; | |||
.content-last-con { | |||
width: 690rpx; | |||
min-height: 112rpx; | |||
@@ -1380,7 +1370,7 @@ | |||
color: #333333; | |||
margin-left: 20rpx; | |||
} | |||
.clientStageName { | |||
height: 48rpx; | |||
line-height: 48rpx; | |||
@@ -1389,7 +1379,7 @@ | |||
border: 1rpx solid #ff981e; | |||
box-sizing: border-box; | |||
font-size: 28rpx; | |||
font-family: PingFangSC-Regular,PingFang SC; | |||
font-family: PingFangSC-Regular, PingFang SC; | |||
font-weight: 400; | |||
color: #ff981e; | |||
margin-left: 16rpx; | |||
@@ -1492,25 +1482,25 @@ | |||
height: 100%; | |||
} | |||
} | |||
.A { | |||
background: #E6625B; | |||
} | |||
background: #E6625B; | |||
} | |||
.B { | |||
background: #FF981E; | |||
} | |||
.B { | |||
background: #FF981E; | |||
} | |||
.C { | |||
background: #F6BD16; | |||
} | |||
.C { | |||
background: #F6BD16; | |||
} | |||
.D { | |||
background: #E6625B; | |||
} | |||
.D { | |||
background: #E6625B; | |||
} | |||
.top-box { | |||
.top-box { | |||
height: 80rpx; | |||
line-height: 80rpx; | |||
display: flex; | |||
@@ -35,49 +35,58 @@ | |||
bg-color="transparent" :show-bar="false" :current="current" @change="change"></u-tabs> | |||
</template> | |||
<template v-if="current == 0"> | |||
<scroll-view :scroll-top="scrollTop" lower-threshold='100px' @scrolltolower="ltolower()" | |||
upper-threshold='40px' @scrolltoupper="rolltoupper()" :scroll-into-view="scrollId" scroll-y="true" | |||
class="zhuti text scroll-Y"> | |||
<scroll-view scroll-y="true" class="zhuti text scroll-Y"> | |||
<!-- 聊天记录--> | |||
<view class="dialog-block" style="border-bottom: none;"> | |||
<block v-for="(item,index) in findTabooWordsList" :key="index"> | |||
<view class="text"> | |||
<view class="avatar"> | |||
<view :style="[SPEAKERSTYLE(item.speaker)]"> | |||
<text v-if="item.isShow == 0">顾</text> | |||
<text v-else>{{ item.speaker | toCapital }}</text> | |||
</view> | |||
<view class="dialog-block" v-for="(item,i) in findTabooWordsList" :key="i"> | |||
<view class="fileName">录音文件</view> | |||
<view class="text" :data-guwen="item.isShow" :data-speaker="item.speaker"> | |||
<view class="avatar"> | |||
<view> | |||
<image v-if="item.isShow == 0" | |||
src="https://static.quhouse.com/b11a7e1ccf914020b3ee23d3e4862637.png" | |||
mode="widthFix"> | |||
</image> | |||
<text v-else :style="[borderColor(item.speaker)]">{{ item.speaker | toCapital }}</text> | |||
</view> | |||
<view class="contentInfo"> | |||
<view class="info"> | |||
<!-- <text class="AudioUserName">{{ item.speaker | toCapital }}</text> --> | |||
<text class="AudioUserName" v-if="item.isShow == 0">{{item.username}}</text> | |||
<text class="AudioUserName" v-else>{{ item.speaker | toCapital }}</text> | |||
<text>{{conversionTiame(item.bg/1000)}}</text> | |||
</view> | |||
<view class="contentMain"> | |||
<view class="content"> | |||
<view v-html="item.onebest"></view> | |||
</view> | |||
<template v-if="isShowMerge"> | |||
<image @click="clickbofang(0,item, 'show')" class="play" | |||
src="@/static/images/recordingManagement/play.png"></image> | |||
</template> | |||
</view> | |||
<view class="contentInfo"> | |||
<view class="info"> | |||
{{ item.speaker | toCapital }} {{conversionTiame(item.bg/1000)}} | |||
</view> | |||
<view class="contentMain" @click.stop> | |||
<view class="content"> | |||
<view v-html="item.onebest"></view> | |||
</view> | |||
<image v-if="Math.floor(item.bg/1000) <= playNow && Math.floor(item.ed/1000) > playNow" | |||
class="play" src="https://static.quhouse.com/ce73a5225f7f44be9f313b0e4e4c2c0e.png"> | |||
</image> | |||
<image v-else @click="clickbofang(0,item, 'show')" class="play" | |||
src="https://static.quhouse.com/1b6ac53247e043a1bdc59ecfb2167eba.png"></image> | |||
</view> | |||
</view> | |||
<!-- 1 客户画像 2销讲词 3违禁 4 需求挖掘 --> | |||
<view class="newmark" v-if="item.types"> | |||
<view class="mark-item" v-for="(subitem,i) in dealTypes(item.types)" :key="i"> | |||
<image v-if="dealword(subitem)[0]==3" class="markicon" | |||
src="https://static.quhouse.com/8443a2ecb81d4639991ab29c422e9949.png"></image> | |||
<view class="marktext" v-if="dealword(subitem)[0]==3" :style="dealword(subitem)[0]==3?'color:#E7483C':'color:#3E50E8'"> | |||
{{dealword(subitem)[1]}} | |||
<!-- ----------对话下方新加话术标签标识------------ --> | |||
<!-- 1 客户画像 2销讲词 3违禁 4 需求挖掘 --> | |||
<view class="newmark" v-if="item.types"> | |||
<view class="mark-item" v-for="(subitem,i) in dealTypes(item.types)" :key="i"> | |||
<image v-if="dealword(subitem)[0]==1" class="markicon" | |||
src="https://static.quhouse.com/37e0de3f8d1c421dac8bf699d5e7992d.png"> | |||
</image> | |||
<image v-if="dealword(subitem)[0]==2" class="markicon" | |||
src="https://static.quhouse.com/b106e8e75db24a59a579a15a78830a76.png"> | |||
</image> | |||
<image v-if="dealword(subitem)[0]==3" class="markicon" | |||
src="https://static.quhouse.com/8443a2ecb81d4639991ab29c422e9949.png"> | |||
</image> | |||
<image v-if="dealword(subitem)[0]==4" class="markicon" | |||
src="https://static.quhouse.com/1cd794cb6c974d9dad948a6dd444518b.png"> | |||
</image> | |||
<view class="marktext" | |||
:style="dealword(subitem)[0]==3?'color:#E7483C':'color:#3E50E8'"> | |||
{{dealword(subitem)[1]}} | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
</block> | |||
</view> | |||
</view> | |||
</scroll-view> | |||
</template> | |||
@@ -92,7 +101,6 @@ | |||
:is-scroll="true"> | |||
</u-tabs-swiper> | |||
</view> | |||
</view> | |||
</view> | |||
<scroll-view :scroll-top="scrollTop" lower-threshold='100px' @scrolltolower="ltolower()" | |||
@@ -102,32 +110,87 @@ | |||
<view class="dialog-block" v-for="(dialog,i) in dialogList" :key="i"> | |||
<view :id="'dialog'+i" class="fileName">录音文件</view> | |||
<block v-for="(item,index) in dialog.message" :key="index"> | |||
<view class="text" :id="'dialog'+csdFileindex+'text'+item.bg" | |||
:class="{active: item.bg < playNow && item.ed > playNow, reverse: Number(item.speaker) % 2 == 0}" | |||
:data-speaker="item.speaker"> | |||
<view class="text" | |||
:class="{active: Math.floor(item.bg/1000) <= playNow && Math.floor(item.ed/1000) > playNow, isGreen: item.isShow == 0}" | |||
:data-guwen="item.isShow" :data-speaker="item.speaker" | |||
:id="'dialog'+csdFileindex+'text'+item.bg"> | |||
<view class="avatar"> | |||
<view :style="[SPEAKERSTYLE(item.speaker)]"> | |||
<text v-if="item.isShow == 0">顾</text> | |||
<text v-else>{{ item.speaker | toCapital }}</text> | |||
<view> | |||
<image v-if="item.isShow == 0" | |||
src="https://static.quhouse.com/b11a7e1ccf914020b3ee23d3e4862637.png" | |||
mode="widthFix"> | |||
</image> | |||
<text v-else | |||
:style="[borderColor(item.speaker)]">{{ item.speaker | toCapital }}</text> | |||
</view> | |||
</view> | |||
<view class="contentInfo"> | |||
<view class="info"> | |||
<text class="AudioUserName" v-if="item.isShow == 0">{{ item.username }}</text> | |||
<text class="AudioUserName" v-else>{{ item.speaker | toCapital }}</text> | |||
<text>{{conversionTiame(item.bg/1000)}}</text> | |||
{{ item.speaker | toCapital }} {{conversionTiame(item.bg/1000)}} | |||
</view> | |||
<view class="contentMain"> | |||
<view class="contentMain" @click.stop> | |||
<view class="content"> | |||
<view v-html="item.onebest"></view> | |||
<view v-html="item.onebest"> | |||
</view> | |||
<template v-if="item.isshow"> | |||
<view class="tankuangcss" :class="{bottoms:index == 0}"> | |||
<view class="tankuangcss-items" @click="clickcopy"> | |||
<image src="@/static/images/detail/icon1.png" mode=""></image> | |||
<text>复制</text> | |||
</view> | |||
<view v-if="permissions.commonly4" class="tankuangcss-items" | |||
@click="Oftenthewrongword"> | |||
<image src="@/static/images/detail/icon2.png" mode=""></image> | |||
<text>常错词</text> | |||
</view> | |||
<view v-if="permissions.commonly3" class="tankuangcss-items" | |||
@click="Addtheessence"> | |||
<image src="@/static/images/detail/icon3.png" mode=""></image> | |||
<text>加精华</text> | |||
</view> | |||
<view class="tankuangcss-items" @click="Modifyrole(index,item)"> | |||
<image src="@/static/images/detail/icon4.png" mode=""></image> | |||
<text>修改角色</text> | |||
</view> | |||
</view> | |||
</template> | |||
</view> | |||
<image | |||
v-if="Math.floor(item.bg/1000) <= playNow && Math.floor(item.ed/1000) > playNow" | |||
class="play" | |||
src="https://static.quhouse.com/ce73a5225f7f44be9f313b0e4e4c2c0e.png"> | |||
</image> | |||
<image v-else @click="clickbofang(dialog.backindex,item)" class="play" | |||
src="https://static.quhouse.com/1b6ac53247e043a1bdc59ecfb2167eba.png"></image> | |||
</view> | |||
<!-- ----------对话下方新加话术标签标识------------ --> | |||
<!-- 1 客户画像 2销讲词 3违禁 4 需求挖掘 --> | |||
<view class="newmark" v-if="item.types"> | |||
<view class="mark-item" v-for="(subitem,i) in dealTypes(item.types)" :key="i"> | |||
<image v-if="dealword(subitem)[0]==1" class="markicon" | |||
src="https://static.quhouse.com/37e0de3f8d1c421dac8bf699d5e7992d.png"> | |||
</image> | |||
<image v-if="dealword(subitem)[0]==2" class="markicon" | |||
src="https://static.quhouse.com/b106e8e75db24a59a579a15a78830a76.png"> | |||
</image> | |||
<image v-if="dealword(subitem)[0]==3" class="markicon" | |||
src="https://static.quhouse.com/8443a2ecb81d4639991ab29c422e9949.png"> | |||
</image> | |||
<image v-if="dealword(subitem)[0]==4" class="markicon" | |||
src="https://static.quhouse.com/1cd794cb6c974d9dad948a6dd444518b.png"> | |||
</image> | |||
<view class="marktext" | |||
:style="dealword(subitem)[0]==3?'color:#E7483C':'color:#3E50E8'"> | |||
{{dealword(subitem)[1]}} | |||
</view> | |||
</view> | |||
<image @click="clickbofang(dialog.backindex,item)" class="play" | |||
src="@/static/images/recordingManagement/play.png"></image> | |||
</view> | |||
</view> | |||
</view> | |||
</block> | |||
</view> | |||
</scroll-view> | |||
</template> | |||
@@ -227,7 +290,6 @@ | |||
textindex: 0, //下拉 转写文件下标 | |||
toptextindex: 0, //上拉 转写文件下标 | |||
dshfkjsdkksodofydwfkhwdfkjh: 0, // 顾问的id之类的 | |||
status: 0, // 状态(不明白是什么状态) | |||
speaker: '', // 角色身份 | |||
customerId: '', // 楼盘id吧(猜) | |||
@@ -314,10 +376,8 @@ | |||
var pages = getCurrentPages(); | |||
var currPage = pages[pages.length - 1]; //当前页面 | |||
this.infos = currPage.data.info; | |||
} | |||
!this.isPageHide && this.init(this.infos); | |||
}!this.isPageHide && this.init(this.infos); | |||
this.gituserlist() | |||
this.findTabooWords() | |||
}, | |||
onHide() { | |||
@@ -329,30 +389,10 @@ | |||
this.$zaudio.off('stop', this.ACTION); | |||
this.$zaudio.off('playing', this.ACTION); | |||
// this.$zaudio.setAudio([]) | |||
}, | |||
methods: { | |||
// 对话加命中标签 | |||
dealTypes(type) { | |||
if (type) { | |||
let tem = type.substring(1).split(',') | |||
return tem | |||
} else { | |||
return [] | |||
} | |||
}, | |||
// 对话加命中标签 | |||
dealword(type) { | |||
if (type) { | |||
let a = type.split('-') | |||
let rest = type.substring(2).split('-').join(',') | |||
let arr = [a[0], rest] | |||
return arr | |||
} else { | |||
return [] | |||
} | |||
}, | |||
// 获取违禁词 | |||
findTabooWords() { | |||
this.$u.get('/customer/findTabooWords', { | |||
@@ -365,10 +405,13 @@ | |||
arr.push(item.transferContents) | |||
} | |||
}) | |||
this.findTabooWordsList = arr | |||
this.findTabooWordsList = arr.map(item => { | |||
if (item.speaker == this.speaker) { | |||
item.isShow = 0 | |||
} | |||
return item | |||
}) | |||
this.isFirstWords = arr[0].bg | |||
console.log(this.findTabooWordsList, 'findTabooWordsList') | |||
}) | |||
}, | |||
@@ -530,7 +573,7 @@ | |||
//取消标记 | |||
unmarktap() { | |||
this.roleindexbiaoji = this.dshfkjsdkksodofydwfkhwdfkjh; | |||
this.roleindexbiaoji = this.speaker; | |||
}, | |||
//确认标记 | |||
@@ -582,7 +625,7 @@ | |||
} else { | |||
this.kehuyixiangcenterindex = 1; | |||
} | |||
if (info.bg != 0) { | |||
this.luyinList = res; | |||
this.recordPath = res[0].recordPath | |||
@@ -635,20 +678,16 @@ | |||
}) | |||
} | |||
} | |||
if (data.data.data.speaker == null) { | |||
this.dshfkjsdkksodofydwfkhwdfkjh = 0; | |||
} else { | |||
// 顾问下标 | |||
this.speaker = data.data.data.speaker || 0; | |||
if (data.data.data.speaker != null) { | |||
if (data.data.data.viewNameFlag == 1) { | |||
this.tablist[data.data.data.speaker].name = this.tablist[data.data.data | |||
.speaker] | |||
.name; | |||
this.tablist[data.data.data.speaker].name = this.tablist[data.data.data.speaker].name; | |||
} else { | |||
this.tablist[data.data.data.speaker].name = this.tablist[data.data.data | |||
.speaker] | |||
.name + "顾问"; | |||
this.tablist[data.data.data.speaker].name = this.tablist[data.data.data.speaker].name + "顾问"; | |||
} | |||
this.roleindexbiaoji = data.data.data.speaker - 1; | |||
this.dshfkjsdkksodofydwfkhwdfkjh = data.data.data.speaker - 1; | |||
} | |||
if (data.data.data.viewNameFlag == 1) { | |||
@@ -660,13 +699,12 @@ | |||
} else { | |||
this.isSw = false | |||
} | |||
this.speaker = data.data.data.speaker; | |||
//上拉标记点 | |||
this.textindex = data.data.data.index; | |||
//下拉标记点 | |||
this.toptextindex = data.data.data.index; | |||
// 获取违禁话列表 | |||
this.findTabooWords() | |||
jsonInfo.forEach(item => { | |||
item.message = JSON.parse(item.onebest) | |||
item.backindex = this.csdFileindex; | |||
@@ -682,6 +720,7 @@ | |||
this.newluyinList = jsonInfo; | |||
this.dialogList.push(jsonInfo[0]); | |||
console.log(this.dialogList, '12312321') | |||
if (type == 'show') { | |||
var itc = parseInt(info.bg / 1000) | |||
this.adasdasdasd(itc) | |||
@@ -691,7 +730,6 @@ | |||
}) | |||
}, | |||
//下一页 | |||
ltolower() { | |||
var lengthcz = this.newluyinList.length - 1; | |||
@@ -708,6 +746,7 @@ | |||
this.dialogList[0].message.push(item) | |||
}) | |||
} | |||
console.log("下一页", this.textindex) | |||
}, | |||
//上一页 | |||
@@ -783,7 +822,7 @@ | |||
if (data.data.data.speaker == null) { | |||
this.roleindexbiaoji = 0; | |||
this.dshfkjsdkksodofydwfkhwdfkjh = 0; | |||
this.speaker = 0; | |||
} else { | |||
if (data.data.data.viewNameFlag == 1) { | |||
this.tablist[data.data.data.speaker].name = this.tablist[data.data.data | |||
@@ -795,7 +834,7 @@ | |||
.name + "顾问"; | |||
} | |||
this.roleindexbiaoji = data.data.data.speaker - 1; | |||
this.dshfkjsdkksodofydwfkhwdfkjh = data.data.data.speaker - 1; | |||
this.speaker = data.data.data.speaker; | |||
} | |||
if (data.data.data.viewNameFlag == 1) { | |||
@@ -978,9 +1017,9 @@ | |||
//渲染第一首音频 | |||
this.$zaudio.setRender(0) | |||
console.log(this.$zaudio) | |||
if (this.isFirstWords != 0) { | |||
if (this.isFirstWords != 0) { | |||
setTimeout(() => { | |||
this.stepPlay(Math.floor(this.isFirstWords/1000)) | |||
this.stepPlay(Math.floor(this.isFirstWords / 1000)) | |||
this.isFirstWords = 0 | |||
}, 2000) | |||
} | |||
@@ -996,7 +1035,84 @@ | |||
if (this.$zaudio.paused) { | |||
this.$zaudio.operate() | |||
} | |||
} | |||
}, | |||
// 对话加命中标签 | |||
dealTypes(type) { | |||
if (type) { | |||
// let tem = type.split(',') | |||
let tem = type.substring(1).split(',') | |||
return tem | |||
} else { | |||
return [] | |||
} | |||
}, | |||
// 对话加命中标签 | |||
dealword(type) { | |||
if (type) { | |||
let a = type.split('-') | |||
let rest = type.substring(2).split('-').join(',') | |||
let arr = [a[0], rest] | |||
return arr | |||
} else { | |||
return [] | |||
} | |||
}, | |||
borderColor(index) { | |||
let obj = { | |||
color: '', | |||
borderRadius: '', | |||
border: '' | |||
} | |||
switch (index) { | |||
case 1: | |||
obj.color = '#E6625B'; | |||
obj.borderRadius = '8rpx'; | |||
obj.border = '2rpx solid #E6625B'; | |||
break; | |||
case 2: | |||
obj.color = '#FF981E'; | |||
obj.borderRadius = '8rpx'; | |||
obj.border = '2rpx solid #FF981E'; | |||
break; | |||
case 3: | |||
obj.color = '#F6BD16'; | |||
obj.borderRadius = '8rpx'; | |||
obj.border = '2rpx solid #F6BD16'; | |||
break; | |||
case 5: | |||
obj.color = '#4980C8'; | |||
obj.borderRadius = '8rpx'; | |||
obj.border = '2rpx solid #4980C8'; | |||
break; | |||
case 6: | |||
obj.color = '#60CBEC'; | |||
obj.borderRadius = '8rpx'; | |||
obj.border = '2rpx solid #60CBEC'; | |||
break; | |||
case 7: | |||
obj.color = '##FF981E'; | |||
obj.borderRadius = '8rpx'; | |||
obj.border = '2rpx solid #FF981E'; | |||
break; | |||
case 8: | |||
obj.color = '#4F861E'; | |||
obj.borderRadius = '8rpx'; | |||
obj.border = '2rpx solid #4F861E'; | |||
break; | |||
default: | |||
obj.color = '#9F61C8'; | |||
obj.borderRadius = '8rpx'; | |||
obj.border = '2rpx solid #9F61C8'; | |||
break; | |||
} | |||
return obj | |||
}, | |||
}, | |||
filters: { | |||
// violatedStatus | |||
@@ -1168,6 +1284,7 @@ | |||
color: #333333; | |||
} | |||
} | |||
// 违禁正则标签 | |||
.newmark { | |||
margin: 30rpx 0 10rpx 120rpx; | |||
@@ -1562,4 +1679,189 @@ | |||
/deep/.u-tab-item { | |||
border: 1rpx solid #dedede; | |||
} | |||
.dialog-block { | |||
margin: 20rpx 0; | |||
border-bottom: 1px solid #ccc; | |||
// .fileName { | |||
// max-width: 220rpx; | |||
// text-align: center; | |||
// margin: 10rpx auto; | |||
// font-size: 28rpx; | |||
// font-weight: 400; | |||
// color: #666; | |||
// height: 52rpx; | |||
// line-height: 52rpx; | |||
// background: #F8F8F8; | |||
// border-radius: 4rpx; | |||
// padding: 0 20rpx; | |||
// } | |||
} | |||
.scroll-Y { | |||
font-size: 36rpx; | |||
color: #999999; | |||
background: #FFFFFF; | |||
margin-top: 30rpx; | |||
flex: 1; | |||
overflow-y: scroll; | |||
width: 100%; | |||
} | |||
// 顾问默认在右边显示 | |||
.scroll-Y .text[data-guwen="0"] { | |||
flex-direction: row-reverse; | |||
text-align: right; | |||
.contentInfo { | |||
.info { | |||
color: #666; | |||
font-size: 22rpx; | |||
padding: 0 28rpx; | |||
height: 62rpx; | |||
} | |||
.contentMain { | |||
display: flex; | |||
flex-direction: row-reverse; | |||
align-items: center; | |||
.content { | |||
margin-left: 0; | |||
margin-right: 30rpx; | |||
} | |||
.play { | |||
width: 50rpx; | |||
height: 50rpx; | |||
margin-right: 20rpx; | |||
} | |||
} | |||
} | |||
} | |||
.scroll-Y .text[data-guwen="0"] { | |||
.contentInfo { | |||
.info { | |||
.AudioUserName { | |||
margin-left: 10rpx; | |||
} | |||
display: flex; | |||
flex-direction: row-reverse; | |||
} | |||
} | |||
} | |||
.scroll-Y .text { | |||
position: relative; | |||
margin: 30rpx; | |||
line-height: 80rpx; | |||
display: flex; | |||
.contentInfo { | |||
.info { | |||
.AudioUserName { | |||
margin-right: 10rpx; | |||
} | |||
} | |||
} | |||
} | |||
.scroll-Y .text .avatar { | |||
text { | |||
display: block; | |||
width: 72rpx; | |||
height: 72rpx; | |||
line-height: 72rpx; | |||
text-align: center; | |||
background: #FFFFFF; | |||
border-radius: 8rpx; | |||
font-size: 30rpx; | |||
font-family: PingFangSC-Medium, PingFang SC; | |||
font-weight: 500; | |||
box-sizing: border-box; | |||
} | |||
image { | |||
width: 72rpx; | |||
height: 72rpx; | |||
} | |||
} | |||
.scroll-Y .text .contentInfo .info { | |||
color: #666; | |||
font-size: 22rpx; | |||
padding: 0 28rpx; | |||
height: 50rpx; | |||
line-height: 50rpx; | |||
} | |||
.scroll-Y .text .contentInfo .contentMain { | |||
display: flex; | |||
align-items: center; | |||
} | |||
.scroll-Y .text .contentInfo .contentMain .content { | |||
margin-left: 30rpx; | |||
line-height: 42rpx; | |||
text-align: left; | |||
padding: 15rpx 20rpx; | |||
border-radius: 8rpx; | |||
max-width: 442rpx; | |||
background: #F8F8F8; | |||
font-size: 30rpx; | |||
font-family: PingFangSC-Regular, PingFang SC; | |||
font-weight: 400; | |||
color: #505050; | |||
.tankuangcss { | |||
position: absolute; | |||
top: -140rpx; | |||
left: 50%; | |||
transform: translateX(-50%); | |||
z-index: 1000; | |||
min-width: 150rpx; | |||
height: 140rpx; | |||
display: flex; | |||
background: rgba(48, 48, 48, 0.8); | |||
border-radius: 15rpx; | |||
.tankuangcss-items { | |||
width: 150rpx; | |||
display: flex; | |||
flex-direction: column; | |||
justify-content: center; | |||
align-items: center; | |||
image { | |||
width: 36rpx; | |||
height: 36rpx; | |||
} | |||
text { | |||
margin: 12rpx 0 0 0; | |||
font-size: 24rpx; | |||
color: #fff; | |||
} | |||
} | |||
} | |||
.bottoms { | |||
top: unset; | |||
bottom: -140rpx; | |||
} | |||
} | |||
.scroll-Y .text .contentInfo .contentMain .play { | |||
width: 50rpx; | |||
height: 50rpx; | |||
margin-left: 20rpx; | |||
} | |||
</style> |
@@ -2,20 +2,23 @@ | |||
<view class="box"> | |||
<!-- 选择器 --> | |||
<view class="boxtittab"> | |||
<view class="tabbox" :class="{activeColor: arriveFilter!=='接待时间'}" @click="timeshow = true"> | |||
{{ arriveFilter }}<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon> | |||
<view class="tabbox" :class="{activeColor: arriveFilter!=='接待时间'}" @click="timeshow = true"> | |||
{{ arriveFilter }} | |||
<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon> | |||
</view> | |||
<view class="tabbox" :class="{activeColor:counselorName!=='接待顾问'}" @click="selectshow=true"> | |||
{{ counselorName }}<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon> | |||
<view class="tabbox" :class="{activeColor:counselorName!=='接待顾问'}" @click="selectshow=true"> | |||
{{ counselorName }} | |||
<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon> | |||
</view> | |||
<view class="tabbox" :class="{activeColor: sortText!=='排序'}" @click="soltishow = true"> | |||
{{ sortText }}<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon> | |||
<view class="tabbox" :class="{activeColor: sortText!=='排序'}" @click="soltishow = true"> | |||
{{ sortText }} | |||
<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon> | |||
</view> | |||
<view class="tabbox" @click="screenShow = true"> | |||
<view class="tabbox" :class="{activeColor: chooseMore}" @click="screenShow = true"> | |||
更多筛选<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon> | |||
</view> | |||
</view> | |||
<!-- 筛选后的数量 --> | |||
<view class="count" v-if="recordList.length > 0"> | |||
筛选结果:<text>{{totalRecords}}</text>条 | |||
@@ -40,13 +43,17 @@ | |||
</view> | |||
<view class="right" v-if="item.recording!=0"> | |||
<view v-if="item.receptionStatusName" style="margin-right: 6rpx;color: red;">{{item.receptionStatusName.slice(0, 2) || ''}}</view> | |||
<view v-if="item.receptionStatusName" style="margin-right: 6rpx;color: red;"> | |||
{{item.receptionStatusName.slice(0, 2) || ''}} | |||
</view> | |||
<text style="margin-right: 6rpx;" v-if="item.receptionStatusName"> |</text> | |||
<view v-if="methodsisshow"> | |||
<text style="margin-right: 6rpx;color: red;" v-if="item.taboo==1">违禁接待</text> | |||
<text style="margin-right: 6rpx;" v-if="item.taboo==1"> |</text> | |||
</view> | |||
<view v-if="item.validInvalidName" style="margin-right: 6rpx;">{{item.validInvalidName.slice(0, 2)||''}}</view> | |||
<view v-if="item.validInvalidName" style="margin-right: 6rpx;"> | |||
{{item.validInvalidName.slice(0, 2)||''}} | |||
</view> | |||
<text style="margin-right: 6rpx;" v-if="item.validInvalidName"> |</text> | |||
<view v-if="item.markAdvisor==0" class="">未标记</view> | |||
<view v-if="item.markAdvisor==1" class="">已标记</view> | |||
@@ -63,7 +70,7 @@ | |||
<view class="arriveNum">{{ item.phone | encryption }}</view> | |||
</view> | |||
<view class="right"> | |||
销讲业务:{{item.marketingBusiness || 'xxx'}} | |||
<!-- 销讲业务:{{item.marketingBusiness || ''}} --> | |||
</view> | |||
</view> | |||
<view class="content-newadd"> | |||
@@ -138,7 +145,7 @@ | |||
<!-- 需求挖掘率 --> | |||
<view class="screen-record"> | |||
<view class="screen-record-text" @click="wajueArrow=!wajueArrow"> | |||
需求挖掘率 | |||
挖掘执行率 | |||
<image v-if="wajueArrow" class="arrow" | |||
src="https://static.quhouse.com/6cf38a2b82694392a7ab6eea24ce76b1.png" mode="" /> | |||
<image v-else class="arrow" | |||
@@ -154,6 +161,25 @@ | |||
</block> | |||
</view> | |||
</view> | |||
<!-- 需求挖掘率 --> | |||
<view class="screen-record"> | |||
<view class="screen-record-text" @click="wajueArrows=!wajueArrows"> | |||
挖掘成功率 | |||
<image v-if="wajueArrows" class="arrow" | |||
src="https://static.quhouse.com/6cf38a2b82694392a7ab6eea24ce76b1.png" mode="" /> | |||
<image v-else class="arrow" | |||
src="https://static.quhouse.com/17d69984ec7c4830b43f712016f06807.png" mode="" /> | |||
</view> | |||
<view class="screen-record-tab" v-if="wajueArrows"> | |||
<block v-for="(item,index) in wajueLists" :key="index"> | |||
<view class="screen-record-item" | |||
:class="[item.isShow?'screen-record-chose':'screen-record-nochose']" | |||
@click="choice(item)"> | |||
{{item.label}} | |||
</view> | |||
</block> | |||
</view> | |||
</view> | |||
<!-- 接待时长 --> | |||
<view class="screen-record"> | |||
<view class="screen-record-text" @click="jiedaiArrow=!jiedaiArrow"> | |||
@@ -263,21 +289,26 @@ | |||
<u-calendar v-model="totalTimeShow" mode="range" @change="totalTimeChange"></u-calendar> | |||
<u-popup v-model="timeshow" mode="bottom"> | |||
<view class="timeview" :style="{ color: activeTotal == 5 ? '#2B6EFF' : '#333333' }" @click="tabtimetap(5, '接待时间')"> | |||
<view class="timeview" :style="{ color: activeTotal == 5 ? '#2B6EFF' : '#333333' }" | |||
@click="tabtimetap(5, '接待时间')"> | |||
全部</view> | |||
<view class="timeview" :style="{ color: activeTotal == 0 ? '#2B6EFF' : '#333333' }" @click="tabtimetap(0, '今天')"> | |||
<view class="timeview" :style="{ color: activeTotal == 0 ? '#2B6EFF' : '#333333' }" | |||
@click="tabtimetap(0, '今天')"> | |||
今天</view> | |||
<view class="timeview" :style="{ color: activeTotal == 1 ? '#2B6EFF' : '#333333' }" @click="tabtimetap(1, '昨天')"> | |||
<view class="timeview" :style="{ color: activeTotal == 1 ? '#2B6EFF' : '#333333' }" | |||
@click="tabtimetap(1, '昨天')"> | |||
昨天</view> | |||
<view class="timeview" :style="{ color: activeTotal == 2 ? '#2B6EFF' : '#333333' }" @click="tabtimetap(2, '近7天')"> | |||
<view class="timeview" :style="{ color: activeTotal == 2 ? '#2B6EFF' : '#333333' }" | |||
@click="tabtimetap(2, '近7天')"> | |||
近7天</view> | |||
<view class="timeview" :style="{ color: activeTotal == 3 ? '#2B6EFF' : '#333333' }" @click="tabtimetap(3, '近30天')"> | |||
<view class="timeview" :style="{ color: activeTotal == 3 ? '#2B6EFF' : '#333333' }" | |||
@click="tabtimetap(3, '近30天')"> | |||
近30天</view> | |||
<view class="timeview" :style="{ color: activeTotal == 4 ? '#2B6EFF' : '#333333' }" @click="tabtimetap(4)"> | |||
自定义</view> | |||
</u-popup> | |||
<u-select v-model="soltishow" :list="orderBylist" @confirm="selectCallback2"></u-select> | |||
<!-- 加载组件 --> | |||
<u-loadings v-model="LOADING"></u-loadings> | |||
</view> | |||
@@ -365,6 +396,23 @@ | |||
value: 4, | |||
isShow: false, | |||
}], | |||
wajueLists: [{ | |||
label: '30%及以下', | |||
value: 1, | |||
isShow: false, | |||
}, { | |||
label: '31%~50%', | |||
value: 2, | |||
isShow: false, | |||
}, { | |||
label: '51%~70%', | |||
value: 3, | |||
isShow: false, | |||
}, { | |||
label: '71%及以上', | |||
value: 4, | |||
isShow: false, | |||
}], | |||
xiaojiangList: [{ | |||
label: '30%及以下', | |||
value: 1, | |||
@@ -386,6 +434,7 @@ | |||
value: '', | |||
screenShow: false, | |||
wajueArrow: true, | |||
wajueArrows: true, | |||
jiedaiArrow: true, | |||
markArrow: true, | |||
visitArrow: true, | |||
@@ -401,6 +450,7 @@ | |||
validInvalid: '', // 录音标识 | |||
visitRecord: [], // 到访次数 | |||
wajueVal: [], // 需求挖掘 | |||
wajueVals: [], // 需求挖掘 | |||
xiaojiangVal: [], //销讲执行率 | |||
jiedaiVal: [], // 接待时长 | |||
marketingBusiness: [], // 选中销讲业务id | |||
@@ -419,9 +469,9 @@ | |||
soltishow: false, | |||
methodsisshow: false, | |||
userInfo: {}, | |||
counselorName: '接待顾问',//接待顾问 | |||
counselorName: '接待顾问', //接待顾问 | |||
arriveFilter: '接待时间', // 接待时间 | |||
sortText: '排序', | |||
sortText: '排序', | |||
visitList: [{ | |||
label: '首次到访', | |||
value: 1, | |||
@@ -439,9 +489,11 @@ | |||
value: 4, | |||
isShow: false, | |||
}, ], | |||
isRefresh:false | |||
isRefresh: false, | |||
chooseMore: false, | |||
} | |||
}, | |||
onLoad(options) { | |||
this.LOADING = true | |||
this.isnorefresh = options.refresh; | |||
@@ -450,13 +502,13 @@ | |||
this.screen.validInvalid = options.validInvalid | |||
if (options.staTime) { | |||
this.staTime = options.staTime; | |||
this.endtime = options.endtime +' 23:59:59'; | |||
this.endtime = options.endtime + ' 23:59:59'; | |||
} | |||
}, | |||
onShow() { | |||
try { | |||
this.$store.commit('stopAduio') | |||
} catch(e) { | |||
} catch (e) { | |||
console.log(e) | |||
} | |||
this.userInfo = uni.getStorageSync('weapp_session_userInfo_data'); | |||
@@ -477,12 +529,12 @@ | |||
this.isnorefresh = ''; | |||
} | |||
}, | |||
onPullDownRefresh(){ | |||
onPullDownRefresh() { | |||
this.isRefresh = true; | |||
this.nextPage = 1; | |||
this.getMyCustom() | |||
setTimeout(function () { | |||
uni.stopPullDownRefresh(); | |||
setTimeout(function() { | |||
uni.stopPullDownRefresh(); | |||
}, 1000); | |||
}, | |||
onReachBottom() { | |||
@@ -513,11 +565,11 @@ | |||
}) | |||
}) | |||
}, | |||
taptimetuisshow() { | |||
this.timetushow = true; | |||
}, | |||
//选择标签 | |||
selectCallback2(e) { | |||
this.sortText = e[0].label | |||
@@ -527,11 +579,11 @@ | |||
this.isRefresh = false; | |||
this.getMyCustom(); | |||
}, | |||
//时间选择 | |||
tabtimetap(index, text) { | |||
this.timeshow = false; | |||
if(text) { | |||
if (text) { | |||
this.arriveFilter = text | |||
} | |||
if (index == 4) { | |||
@@ -561,8 +613,8 @@ | |||
if (newmenulist.jdjl_ck != true) { | |||
return | |||
} | |||
this.wordFinishFraction=item.wordFinishFraction | |||
this.wordFraction=item.wordFraction | |||
this.wordFinishFraction = item.wordFinishFraction | |||
this.wordFraction = item.wordFraction | |||
uni.showLoading({ | |||
title: '加载中', | |||
mask: true | |||
@@ -637,6 +689,7 @@ | |||
} | |||
this.screen.jiedaiVal = [] | |||
this.screen.wajueVal = [] | |||
this.screen.wajueVals = [] | |||
this.screen.xiaojiangVal = [] | |||
this.screen.visitRecord = [] | |||
this.screen.marketingBusiness = [] | |||
@@ -652,6 +705,10 @@ | |||
this.wajueList.forEach(i => { | |||
if (i.isShow) this.screen.wajueVal.push(i.value) | |||
}) | |||
// 需求挖掘成功 | |||
this.wajueLists.forEach(i => { | |||
if (i.isShow) this.screen.wajueVals.push(i.value) | |||
}) | |||
// 销讲执行率 | |||
this.xiaojiangList.forEach(i => { | |||
if (i.isShow) this.screen.xiaojiangVal.push(i.value) | |||
@@ -672,13 +729,15 @@ | |||
dateType: dateType, | |||
recDurationInterval: recDurationInterval, | |||
orderBy: this.screen.orderBy == '' ? '' : this.screen.orderBy, //排序, | |||
validInvalid:this.screen.validInvalid==2?null:this.screen.validInvalid,//录音标识 | |||
recording:this.screen.validInvalid==2?0:null, | |||
visitRecords:this.screen.visitRecord.length? this.screen.visitRecord.join(","): '',//到访次数 | |||
validInvalid: this.screen.validInvalid == 2 ? null : this.screen.validInvalid, //录音标识 | |||
recording: this.screen.validInvalid == 2 ? 0 : null, | |||
visitRecords: this.screen.visitRecord.length ? this.screen.visitRecord.join(",") : '', //到访次数 | |||
wordFractions: this.screen.wajueVal.length ? this.screen.wajueVal.join(',') : '', //需求挖掘 | |||
wordFinishFractions: this.screen.wajueVals.length ? this.screen.wajueVals.join(',') : '', //需求挖掘 | |||
duractionNums: this.screen.jiedaiVal.length ? this.screen.jiedaiVal.join(',') : '', //接待时长 | |||
fractions: this.screen.xiaojiangVal.length ? this.screen.xiaojiangVal.join(',') : '', //销讲执行 | |||
marketingBusiness: this.screen.marketingBusiness.length ? this.screen.marketingBusiness.join(',') : '', //销讲执行 | |||
marketingBusiness: this.screen.marketingBusiness.length ? this.screen.marketingBusiness.join( | |||
',') : '', //销讲执行 | |||
} | |||
}; | |||
if (this.screen.agentId) { | |||
@@ -688,14 +747,14 @@ | |||
this.LOADING = false | |||
// console.log(data) | |||
let list = data.records || []; | |||
if(this.isRefresh){ | |||
if (this.isRefresh) { | |||
this.recordList = list; | |||
}else{ | |||
this.recordList = [].concat(this.recordList,list) | |||
} else { | |||
this.recordList = [].concat(this.recordList, list) | |||
} | |||
this.totalRecord = data.pages; | |||
this.totalRecords = data.total; | |||
if(this.staTime && this.endtime) { | |||
if (this.staTime && this.endtime) { | |||
this.arriveFilter = `${this.staTime}-${this.endtime}` | |||
} | |||
}).catch(e => { | |||
@@ -704,7 +763,9 @@ | |||
}, | |||
//获取顾问列表 | |||
getFreeList() { | |||
this.$u.post("/cusLvStatistics/selectAllAccountIdByHouseId", {houseId: this.buildingID}).then(res => { | |||
this.$u.post("/cusLvStatistics/selectAllAccountIdByHouseId", { | |||
houseId: this.buildingID | |||
}).then(res => { | |||
this.freeList = res; | |||
this.freeList.forEach(item => { | |||
item.label = item.name; | |||
@@ -718,10 +779,10 @@ | |||
}, | |||
//select接待顾问 | |||
actionSelectCallback(e) { | |||
if(e[0].label=='全部'){ | |||
if (e[0].label == '全部') { | |||
this.counselorName = '接待顾问' | |||
this.screen.agentId = '' | |||
}else{ | |||
} else { | |||
this.screen.agentId = e[0].value; | |||
this.counselorName = e[0].label | |||
} | |||
@@ -737,6 +798,7 @@ | |||
this.screen.orderBy = ''; | |||
this.screen.jiedaiVal = [] | |||
this.screen.wajueVal = [] | |||
this.screen.wajueVals = [] | |||
this.screen.xiaojiangVal = [] | |||
this.screen.visitRecord = [] | |||
this.screen.marketingBusiness = [] | |||
@@ -766,6 +828,25 @@ | |||
this.isRefresh = false; | |||
this.getMyCustom(); | |||
}, | |||
chooseMores() { | |||
let change1 = this.templateList.some(item => item.isShow == true) | |||
let change2 = this.xiaojiangList.some(item => item.isShow == true) | |||
let change3 = this.wajueList.some(item => item.isShow == true) | |||
let change8 = this.wajueLists.some(item => item.isShow == true) | |||
let change4 = this.jiedaiList.some(item => item.isShow == true) | |||
let change5 = this.screen.validInvalid != null && this.screen.validInvalid != '' | |||
let change6 = this.screen.markAdvisor != null && this.screen.markAdvisor != '' | |||
let change7 = this.visitList.some(item => item.isShow == true) | |||
console.log(change1, change2, change3, change4, change5, change6, change7) | |||
if (change1 || change2 || change3 || change4 || change5 || change6 || change7 || change8) { | |||
return true | |||
} else { | |||
return false | |||
} | |||
}, | |||
choice(item) { | |||
item.isShow = !item.isShow; | |||
}, | |||
@@ -786,6 +867,7 @@ | |||
} | |||
}, | |||
screensure() { | |||
this.chooseMore = this.chooseMores() | |||
this.screenShow = false; | |||
this.recordList = []; | |||
this.nextPage = 1; | |||
@@ -852,7 +934,8 @@ | |||
-webkit-box-orient: vertical; | |||
/* 设置或检索伸缩盒对象的子元素的排列方式 */ | |||
} | |||
.activeColor{ | |||
.activeColor { | |||
font-weight: bold; | |||
color: #2671E2; | |||
} | |||
@@ -906,7 +989,7 @@ | |||
} | |||
} | |||
} | |||
.count { | |||
width: 100%; | |||
height: 82rpx; | |||
@@ -919,7 +1002,7 @@ | |||
font-family: PingFangSC-Regular, PingFang SC; | |||
font-weight: 400; | |||
color: #333333; | |||
text { | |||
color: #E7483C; | |||
} | |||
@@ -931,9 +1014,11 @@ | |||
box-sizing: border-box; | |||
overflow: hidden; | |||
margin-bottom: 20rpx; | |||
&:last-child{ | |||
&:last-child { | |||
margin-bottom: 0 | |||
} | |||
.content-first { | |||
padding: 0 30rpx; | |||
height: 92rpx; | |||
@@ -948,6 +1033,7 @@ | |||
display: flex; | |||
align-items: center; | |||
overflow: hidden; | |||
.adviser { | |||
margin-right: 10rpx; | |||
padding: 5rpx 11rpx; | |||
@@ -1055,7 +1141,8 @@ | |||
align-items: center; | |||
} | |||
} | |||
.content-newadd{ | |||
.content-newadd { | |||
padding: 0 30rpx 34rpx; | |||
display: flex; | |||
align-items: center; | |||
@@ -33,7 +33,7 @@ | |||
{{ agentIdtext }} | |||
<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon> | |||
</view> | |||
<view class="tabbox" @click="huaxiangShow = true"> | |||
<view class="tabbox" :class="{activeColor: tagSign}" @click="huaxiangShow = true"> | |||
画像标签<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon> | |||
</view> | |||
</view> | |||
@@ -212,7 +212,7 @@ | |||
<!-- 需求挖掘率 --> | |||
<view class="screen-record"> | |||
<view class="screen-record-text" @click="wajueArrow = !wajueArrow"> | |||
需求挖掘率 | |||
挖掘执行率 | |||
<image v-if="wajueArrow" class="arrow" | |||
src="https://static.quhouse.com/6cf38a2b82694392a7ab6eea24ce76b1.png" mode="" /> | |||
<image v-else class="arrow" | |||
@@ -228,6 +228,26 @@ | |||
</block> | |||
</view> | |||
</view> | |||
<!-- 需求挖掘率 --> | |||
<view class="screen-record"> | |||
<view class="screen-record-text" @click="wajueArrows=!wajueArrows"> | |||
挖掘成功率 | |||
<image v-if="wajueArrows" class="arrow" | |||
src="https://static.quhouse.com/6cf38a2b82694392a7ab6eea24ce76b1.png" mode="" /> | |||
<image v-else class="arrow" | |||
src="https://static.quhouse.com/17d69984ec7c4830b43f712016f06807.png" mode="" /> | |||
</view> | |||
<view class="screen-record-tab" v-if="wajueArrows"> | |||
<block v-for="(item,index) in wajueLists" :key="index"> | |||
<view class="screen-record-item" | |||
:class="[item.isShow?'screen-record-chose':'screen-record-nochose']" | |||
@click="choice(item)"> | |||
{{item.label}} | |||
</view> | |||
</block> | |||
</view> | |||
</view> | |||
<!-- 销讲执行率 --> | |||
<view class="screen-record"> | |||
<view class="screen-record-text" @click="xiaojiangArrow = !xiaojiangArrow"> | |||
@@ -358,6 +378,7 @@ | |||
phaseList: [], // 客户阶段 | |||
huaxiangShow: false, | |||
wajueArrow: true, | |||
wajueArrows: true, | |||
jieduanArrow: true, | |||
sourceArrow: true, | |||
levelArrow: true, | |||
@@ -447,6 +468,23 @@ | |||
isShow: false, | |||
}, | |||
], | |||
wajueLists: [{ | |||
label: '30%及以下', | |||
value: 1, | |||
isShow: false, | |||
}, { | |||
label: '31%~50%', | |||
value: 2, | |||
isShow: false, | |||
}, { | |||
label: '51%~70%', | |||
value: 3, | |||
isShow: false, | |||
}, { | |||
label: '71%及以上', | |||
value: 4, | |||
isShow: false, | |||
}], | |||
xiaojiangList: [{ | |||
label: "30%及以下", | |||
value: 1, | |||
@@ -547,15 +585,17 @@ | |||
value: 4, | |||
isShow: false, | |||
}, ], | |||
isRefresh: false | |||
isRefresh: false, | |||
showFilterOption: false, // 筛选 | |||
tagSign: false, // 画像标签active | |||
} | |||
}, | |||
computed: { | |||
showFilterOption() { | |||
return this.sortFilter !== '排序' || this.arriveFilter !== '接待时间' || this.agentIdtext !== '接待顾问' | |||
} | |||
}, | |||
// computed: { | |||
// showFilterOption() { | |||
// return this.sortFilter !== '排序' || this.arriveFilter !== '接待时间' || this.agentIdtext !== '接待顾问' | |||
// } | |||
// }, | |||
onLoad(options) { | |||
this.LOADING = true | |||
@@ -782,6 +822,10 @@ | |||
this.wajueList.forEach(i => { | |||
if (i.isShow) this.screen.wajueVal.push(i.value) | |||
}) | |||
// 需求挖掘成功 | |||
this.wajueLists.forEach(i => { | |||
if (i.isShow) this.screen.wajueVals.push(i.value) | |||
}) | |||
// 销讲执行率 | |||
this.xiaojiangList.forEach(i => { | |||
if (i.isShow) this.screen.xiaojiangVal.push(i.value) | |||
@@ -985,6 +1029,9 @@ | |||
this.wajueList.map((i) => { | |||
i.isShow = false; | |||
}); | |||
this.wajueLists.forEach(i => { | |||
i.isShow = false | |||
}) | |||
this.phaseList.map((i) => { | |||
i.isShow = false; | |||
}); | |||
@@ -1018,8 +1065,38 @@ | |||
}) | |||
} | |||
}, | |||
chooseMores() { | |||
let change1 = this.templateList.some(item => item.isShow == true) | |||
let change2 = this.jiedaiList.some(item => item.isShow == true) | |||
let change3 = this.levelList.some(item => item.isShow == true) | |||
let change4 = this.sourceList.some(item => item.isShow == true) | |||
let change5 = this.phaseList.some(item => item.isShow == true) | |||
let change6 = this.wajueList.some(item => item.isShow == true) | |||
let change9 = this.wajueLists.some(item => item.isShow == true) | |||
let change7 = this.xiaojiangList.some(item => item.isShow == true) | |||
let change8 = this.visitList.some(item => item.isShow == true) | |||
if (change1 || change2 || change3 || change4 || change5 || change6 || change7 || change8 || change9) { | |||
return true | |||
} else { | |||
return false | |||
} | |||
}, | |||
chooseMore() { | |||
let a = false | |||
this.huaxiangList.forEach(item => { | |||
if (item.children.some(so => so.isShow == true)) { | |||
a = true | |||
} | |||
}) | |||
return a | |||
}, | |||
//筛选确认 | |||
screensure() { | |||
this.showFilterOption = this.chooseMores() | |||
this.tagSign = this.chooseMore() | |||
this.nextPage = 1; | |||
this.recordList = []; | |||
this.keywordsIds = [] | |||
@@ -105,9 +105,9 @@ | |||
</view> | |||
<view class="realtext">平均执行率</view> | |||
</view> | |||
<view class="real"> | |||
<view class="realnum">{{realtimeobj.wordFraction|| 0}}</view> | |||
<view class="realtext">平均挖掘率</view> | |||
<view class="real" @click="tapjumpreception('6')"> | |||
<view class="realnum">{{realtimeobj.wordFraction|| 0}}%</view> | |||
<view class="realtext">平均挖掘执行率</view> | |||
</view> | |||
<view class="real" @click="tapjumpreception('11')"> | |||
<view class="realnum">{{realtimeobj.receptionCount || 0}}</view> | |||
@@ -161,9 +161,9 @@ | |||
</view> | |||
<view class="realtext">平均执行率</view> | |||
</view> | |||
<view class="real"> | |||
<view class="realnum">{{Thisweekobj.wordFraction || 0}}</view> | |||
<view class="realtext">平均挖掘率</view> | |||
<view class="real" @click="tapjumpreception('7')"> | |||
<view class="realnum">{{Thisweekobj.wordFraction || 0}}%</view> | |||
<view class="realtext">平均挖掘执行率</view> | |||
</view> | |||
<view class="real" @click="tapjumpreception('33')"> | |||
<view class="realnum">{{Thisweekobj.receptionCount || 0}}</view> | |||
@@ -254,7 +254,7 @@ | |||
</view> | |||
<view class="commonly-text">员工分析</view> | |||
</view> | |||
<view class="commonly" @click="toRequireAnalysis()"> | |||
<view class="commonly" @click="toRequireAnalysis()" v-if="permissions.xqwjfx"> | |||
<view class="commonly-img"> | |||
<image class="commonly-img1" | |||
src="https://static.quhouse.com/c2d3801540cf4880a68cce0e04eb59b0.png" mode=""></image> | |||
@@ -641,16 +641,7 @@ | |||
if (data.data.data == null) { | |||
return | |||
} else { | |||
this.Thisweekobj = { | |||
sumCustomer: data.data.data.sumCustomer, | |||
receivingCustomer: data.data.data.receivingCustomer, | |||
activeCustomer: data.data.data.activeCustomer, | |||
prohibitedCustomer: data.data.data.prohibitedCustomer, | |||
avgDuration: data.data.data.avgDuration || 0, | |||
tagCustomer: data.data.data.tagCustomer, | |||
fraction: data.data.data.fraction, | |||
receptionCount: data.data.data.receptionCount | |||
} | |||
this.Thisweekobj = data.data.data | |||
} | |||
} | |||
}) | |||
@@ -672,16 +663,7 @@ | |||
if (data.data.data == null) { | |||
return | |||
} else { | |||
this.realtimeobj = { | |||
sumCustomer: data.data.data.sumCustomer, | |||
receivingCustomer: data.data.data.receivingCustomer, | |||
activeCustomer: data.data.data.activeCustomer, | |||
prohibitedCustomer: data.data.data.prohibitedCustomer, | |||
avgDuration: data.data.data.avgDuration || 0, | |||
tagCustomer: data.data.data.tagCustomer, | |||
fraction: data.data.data.fraction, | |||
receptionCount: data.data.data.receptionCount | |||
} | |||
this.realtimeobj = data.data.data | |||
} | |||
}, | |||
fail: () => { | |||
@@ -1,84 +1,45 @@ | |||
<template> | |||
<view class="translation"> | |||
<view class="box"> | |||
<view | |||
style="width: 10%; height: 64rpx; display: flex; align-items: center" | |||
> | |||
<image | |||
style="width: 28rpx; height: 28rpx; margin-left: 30rpx" | |||
src="/static/images/search.png" | |||
mode="" | |||
></image> | |||
</view> | |||
<view | |||
style="width: 90%; height: 64rpx; display: flex; align-items: center" | |||
> | |||
<input | |||
type="text" | |||
@input="searchinfo" | |||
v-model="keyword" | |||
placeholder="请输入关键字" | |||
style="width: 100%; color: #999999; font-size: 24rpx" | |||
/> | |||
</view> | |||
</view> | |||
<view class="box-list"> | |||
<view | |||
style="width: 100%; padding-bottom: 10rpx;" | |||
v-for="(item, index) in listarr" | |||
:key="index" | |||
@click="toaidoinfo(item.Content, item.corpusId, item.index)" | |||
> | |||
<view class="item-list"> | |||
<view class="icon"> | |||
<image | |||
style="width: 26rpx; height: 28rpx" | |||
src="../../static/images/testimg.png" | |||
mode="" | |||
></image> | |||
</view> | |||
<view v-html="item.Content.text" class="text"></view> | |||
<view class="time">{{ item.Content.time }}</view> | |||
</view> | |||
<!-- 1 客户画像 2销讲词 3违禁 4 需求挖掘 --> | |||
<view class="newmark" v-if="item.Content.types"> | |||
<view | |||
class="mark-item" | |||
v-for="(subitem, i) in dealTypes(item.Content.types)" | |||
:key="i" | |||
> | |||
<image | |||
v-if="dealword(subitem)[0] == 1" | |||
class="markicon" | |||
src="https://static.quhouse.com/37e0de3f8d1c421dac8bf699d5e7992d.png" | |||
></image> | |||
<image | |||
v-if="dealword(subitem)[0] == 2" | |||
class="markicon" | |||
src="https://static.quhouse.com/b106e8e75db24a59a579a15a78830a76.png" | |||
></image> | |||
<image | |||
v-if="dealword(subitem)[0] == 3" | |||
class="markicon" | |||
src="https://static.quhouse.com/8443a2ecb81d4639991ab29c422e9949.png" | |||
></image> | |||
<image | |||
v-if="dealword(subitem)[0] == 4" | |||
class="markicon" | |||
src="https://static.quhouse.com/1cd794cb6c974d9dad948a6dd444518b.png" | |||
></image> | |||
<view | |||
class="marktext" | |||
:style=" | |||
<view class="box"> | |||
<view style="width: 10%; height: 64rpx; display: flex; align-items: center"> | |||
<image style="width: 28rpx; height: 28rpx; margin-left: 30rpx" src="/static/images/search.png" mode=""> | |||
</image> | |||
</view> | |||
<view style="width: 90%; height: 64rpx; display: flex; align-items: center"> | |||
<input type="text" @input="searchinfo" v-model="keyword" placeholder="请输入关键字" | |||
style="width: 100%; color: #999999; font-size: 24rpx" /> | |||
</view> | |||
</view> | |||
<view class="box-list"> | |||
<view style="width: 100%; padding-bottom: 10rpx;" v-for="(item, index) in listarr" :key="index" | |||
@click="toaidoinfo(item.Content, item.corpusId, item.index)"> | |||
<view class="item-list"> | |||
<view class="icon"> | |||
<image style="width: 26rpx; height: 28rpx" src="../../static/images/testimg.png" mode=""> | |||
</image> | |||
</view> | |||
<view v-html="item.Content.text" class="text"></view> | |||
<view class="time">{{ item.Content.time }}</view> | |||
</view> | |||
<!-- 1 客户画像 2销讲词 3违禁 4 需求挖掘 --> | |||
<view class="newmark" v-if="item.Content.types"> | |||
<view class="mark-item" v-for="(subitem, i) in dealTypes(item.Content.types)" :key="i"> | |||
<image v-if="dealword(subitem)[0] == 1" class="markicon" | |||
src="https://static.quhouse.com/37e0de3f8d1c421dac8bf699d5e7992d.png"></image> | |||
<image v-if="dealword(subitem)[0] == 2" class="markicon" | |||
src="https://static.quhouse.com/b106e8e75db24a59a579a15a78830a76.png"></image> | |||
<image v-if="dealword(subitem)[0] == 3" class="markicon" | |||
src="https://static.quhouse.com/8443a2ecb81d4639991ab29c422e9949.png"></image> | |||
<image v-if="dealword(subitem)[0] == 4" class="markicon" | |||
src="https://static.quhouse.com/1cd794cb6c974d9dad948a6dd444518b.png"></image> | |||
<view class="marktext" :style=" | |||
dealword(subitem)[0] == 3 ? 'color:#E7483C' : 'color:#3E50E8' | |||
" | |||
>{{ dealword(subitem)[1] }}</view | |||
> | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
">{{ dealword(subitem)[1] }}</view> | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
</template> | |||
<script> | |||
@@ -93,6 +54,7 @@ | |||
skpl: '', | |||
disabled: false, | |||
tipsFncName: '', // 通知其他页面的方法名称 | |||
types: 0, | |||
}; | |||
}, | |||
onLoad: function(options) { | |||
@@ -100,6 +62,7 @@ | |||
this.keyword = options.keyword; | |||
this.skpl = options.skpl; | |||
if (options.UpDateEvent) this.tipsFncName = options.UpDateEvent | |||
if (options.types) this.types = options.types | |||
if (this.skpl == 2) { | |||
this.searchinfo() | |||
this.disabled = true; | |||
@@ -109,25 +72,25 @@ | |||
}, | |||
methods: { | |||
// 对话加命中标签 | |||
dealTypes(type) { | |||
if (type) { | |||
let tem = type.substring(1).split(","); | |||
return tem; | |||
} else { | |||
return []; | |||
} | |||
}, | |||
// 对话加命中标签 | |||
dealword(type) { | |||
if (type) { | |||
let a = type.split("-"); | |||
let rest = type.substring(2).split("-").join(","); | |||
let arr = [a[0], rest]; | |||
return arr; | |||
} else { | |||
return []; | |||
} | |||
}, | |||
dealTypes(type) { | |||
if (type) { | |||
let tem = type.substring(1).split(","); | |||
return tem; | |||
} else { | |||
return []; | |||
} | |||
}, | |||
// 对话加命中标签 | |||
dealword(type) { | |||
if (type) { | |||
let a = type.split("-"); | |||
let rest = type.substring(2).split("-").join(","); | |||
let arr = [a[0], rest]; | |||
return arr; | |||
} else { | |||
return []; | |||
} | |||
}, | |||
formatTime(num) { | |||
//格式化时间格式 | |||
num = num.toFixed(0); | |||
@@ -143,7 +106,10 @@ | |||
} else { | |||
let parames = { | |||
keyword: this.keyword, | |||
customerId: this.customerId | |||
customerId: this.customerId, | |||
} | |||
if (this.types == 1) { | |||
parames.type = 1 | |||
} | |||
this.$u.post("/corpus/keyWordsMatching", parames).then(res => { | |||
res.forEach(item => { | |||
@@ -213,63 +179,72 @@ | |||
} | |||
</script> | |||
<style lang="scss" scoped> | |||
.box { | |||
width: 690rpx; | |||
height: 64rpx; | |||
margin: 0 auto; | |||
margin-top: 30rpx; | |||
background: #f2f2f2; | |||
border-radius: 32rpx; | |||
display: flex; | |||
align-items: center; | |||
} | |||
.box-list { | |||
width: 690rpx; | |||
margin: 30rpx auto 0; | |||
} | |||
.item-list { | |||
display: flex; | |||
border-bottom: 1px solid #e0e0e0; | |||
.icon { | |||
width: 26rpx; | |||
height: 36rpx; | |||
margin-top: 4rpx; | |||
} | |||
.text { | |||
color: #666666; | |||
font-size: 28rpx; | |||
line-height: 36rpx; | |||
margin-left: 10rpx; | |||
width: 80%; | |||
} | |||
.time { | |||
font-size: 28rpx; | |||
width: 10%; | |||
width: 14%; | |||
text-align: right; | |||
} | |||
} | |||
.newmark { | |||
margin-top: 20rpx; | |||
padding-left: 30rpx; | |||
.mark-item { | |||
display: flex; | |||
flex-wrap: wrap; | |||
margin-bottom: 12rpx; | |||
.markicon { | |||
width: 30rpx; | |||
height: 30rpx; | |||
margin-right: 12rpx; | |||
} | |||
.marktext { | |||
flex: 1; | |||
font-size: 24rpx; | |||
font-family: PingFangSC-Regular, PingFang SC; | |||
font-weight: 400; | |||
color: #3e50e8; | |||
min-height: 30rpx; | |||
line-height: 30rpx; | |||
} | |||
} | |||
} | |||
.box { | |||
width: 690rpx; | |||
height: 64rpx; | |||
margin: 0 auto; | |||
margin-top: 30rpx; | |||
background: #f2f2f2; | |||
border-radius: 32rpx; | |||
display: flex; | |||
align-items: center; | |||
} | |||
.box-list { | |||
width: 690rpx; | |||
margin: 30rpx auto 0; | |||
} | |||
.item-list { | |||
display: flex; | |||
border-bottom: 1px solid #e0e0e0; | |||
.icon { | |||
width: 26rpx; | |||
height: 36rpx; | |||
margin-top: 4rpx; | |||
} | |||
.text { | |||
color: #666666; | |||
font-size: 28rpx; | |||
line-height: 36rpx; | |||
margin-left: 10rpx; | |||
width: 80%; | |||
} | |||
.time { | |||
font-size: 28rpx; | |||
width: 10%; | |||
width: 14%; | |||
text-align: right; | |||
} | |||
} | |||
.newmark { | |||
margin-top: 20rpx; | |||
padding-left: 30rpx; | |||
.mark-item { | |||
display: flex; | |||
flex-wrap: wrap; | |||
margin-bottom: 12rpx; | |||
.markicon { | |||
width: 30rpx; | |||
height: 30rpx; | |||
margin-right: 12rpx; | |||
} | |||
.marktext { | |||
flex: 1; | |||
font-size: 24rpx; | |||
font-family: PingFangSC-Regular, PingFang SC; | |||
font-weight: 400; | |||
color: #3e50e8; | |||
min-height: 30rpx; | |||
line-height: 30rpx; | |||
} | |||
} | |||
} | |||
</style> |
@@ -1,16 +1,31 @@ | |||
<template> | |||
<view class="translation"> | |||
<view style="width: 690rpx;margin: 0 auto;margin-top: 10rpx;"> | |||
<view style="width: 100%;border-bottom: 1px solid #E0E0E0;display: flex;padding-bottom: 10rpx;margin-top: 40rpx;" | |||
v-for="(item,index) in listarr" :key='index' @click="toaidoinfo(item.Content,item.corpusId,item.index)"> | |||
<view style="width: 26rpx;height: 36rpx;margin-top: 4rpx;"> | |||
<image style="width: 26rpx;height: 28rpx;" src="../../static/images/testimg.png" mode=""></image> | |||
<view class="cont-box" v-for="(item, index) in listarr" :key="index" | |||
@click="toaidoinfo(item.Content, item.corpusId, item.index)"> | |||
<view class="top-cont"> | |||
<view style="width: 26rpx; height: 36rpx; margin-top: 4rpx"> | |||
<image style="width: 26rpx; height: 28rpx" src="../../static/images/testimg.png" mode=""></image> | |||
</view> | |||
<view v-html="item.Content.onebest" | |||
style="color: #666666;font-size: 28rpx;line-height: 36rpx;margin-left: 10rpx;width: 80%;"></view> | |||
<view style="font-size: 28rpx; width: 10%; width: 14%; text-align: right">{{ item.Content.time }}</view> | |||
</view> | |||
<!-- 1 客户画像 2销讲词 3违禁 4 需求挖掘 --> | |||
<view class="newmark" v-if="item.Content.types"> | |||
<view class="mark-item" v-for="(subitem,i) in dealTypes(item.Content.types)" :key="i"> | |||
<image v-if="dealword(subitem)[0]==1" class="markicon" | |||
src="https://static.quhouse.com/37e0de3f8d1c421dac8bf699d5e7992d.png"></image> | |||
<image v-if="dealword(subitem)[0]==2" class="markicon" | |||
src="https://static.quhouse.com/b106e8e75db24a59a579a15a78830a76.png"></image> | |||
<image v-if="dealword(subitem)[0]==3" class="markicon" | |||
src="https://static.quhouse.com/8443a2ecb81d4639991ab29c422e9949.png"></image> | |||
<image v-if="dealword(subitem)[0]==4" class="markicon" | |||
src="https://static.quhouse.com/1cd794cb6c974d9dad948a6dd444518b.png"></image> | |||
<view class="marktext" :style="dealword(subitem)[0]==3?'color:#E7483C':'color:#3E50E8'"> | |||
{{dealword(subitem)[1]}} | |||
</view> | |||
</view> | |||
<view v-html="item.Content.onebest" style="color: #666666;font-size: 28rpx;line-height: 36rpx;margin-left: 10rpx;width: 80%;"></view> | |||
<view style="font-size: 28rpx;width: 10%;width: 14%;text-align: right;">{{item.Content.time}}</view> | |||
</view> | |||
</view> | |||
</view> | |||
</template> | |||
@@ -21,23 +36,44 @@ | |||
export default { | |||
data() { | |||
return { | |||
customerId:'', | |||
listarr:[], | |||
id:'', | |||
type:'', | |||
customerId: '', | |||
listarr: [], | |||
id: '', | |||
type: '', | |||
tipsFncName: '', // 提醒页面变更的值 | |||
from: '', // 标记需要刷新的来源 | |||
}; | |||
}, | |||
onLoad(options) { | |||
this.customerId = options.customerId; | |||
this.id=options.id; | |||
this.type=options.type; | |||
this.id = options.id; | |||
this.type = options.type; | |||
if (options.UpDateEvent) this.tipsFncName = options.UpDateEvent | |||
if (options.from) this.from = options.from | |||
this.searchinfo() | |||
}, | |||
methods: { | |||
// 对话加命中标签 | |||
dealTypes(type) { | |||
if (type) { | |||
let tem = type.substring(1).split(',') | |||
return tem | |||
} else { | |||
return [] | |||
} | |||
}, | |||
// 对话加命中标签 | |||
dealword(type) { | |||
if (type) { | |||
let a = type.split('-') | |||
let rest = type.substring(2).split('-').join(',') | |||
let arr = [a[0], rest] | |||
return arr | |||
} else { | |||
return [] | |||
} | |||
}, | |||
formatTime(num) { | |||
//格式化时间格式 | |||
num = num.toFixed(0); | |||
@@ -48,35 +84,35 @@ | |||
return min + ":" + second; | |||
}, | |||
//搜索 | |||
searchinfo(){ | |||
let parames={ | |||
marketingId:this.id, | |||
customerId:this.customerId, | |||
type:this.type | |||
searchinfo() { | |||
let parames = { | |||
marketingId: this.id, | |||
customerId: this.customerId, | |||
type: this.type | |||
} | |||
this.$u.post("/corpus/pinWordMatching", parames).then(res => { | |||
res.forEach(item=>{ | |||
item.Content=JSON.parse(item.transferContent) | |||
res.forEach(item => { | |||
item.Content = JSON.parse(item.transferContent) | |||
}) | |||
res.forEach(cet=>{ | |||
cet.Content.time=this.formatTime(cet.Content.bg/1000) | |||
res.forEach(cet => { | |||
cet.Content.time = this.formatTime(cet.Content.bg / 1000) | |||
}) | |||
this.listarr=res; | |||
this.listarr = res; | |||
}) | |||
}, | |||
//跳转 | |||
toaidoinfo(item,id,index){ | |||
item.customerId=this.customerId; | |||
item.id=id; | |||
item.index=index; | |||
toaidoinfo(item, id, index) { | |||
item.customerId = this.customerId; | |||
item.id = id; | |||
item.index = index; | |||
this.infostust(item) | |||
}, | |||
//只有一条的时候 | |||
infostust(item){ | |||
infostust(item) { | |||
console.log("zobudao") | |||
let d = JSON.parse(JSON.stringify([item])) | |||
d[0].onebest=""; | |||
console.log(d) | |||
d[0].onebest = ""; | |||
console.log(d) | |||
const parames = { | |||
pageNum: 1, | |||
pageSize: 100, | |||
@@ -87,7 +123,7 @@ | |||
this.$u.post("/corpus/findByPage", parames).then(res => { | |||
uni.setStorageSync("entrance", 2); //写入缓存 | |||
uni.setStorageSync("searchobj", d[0]); //写入缓存 | |||
if(res[0].merge==0){ | |||
if (res[0].merge == 0) { | |||
let newobj = res[0]; | |||
if (this.tipsFncName) { | |||
uni.$emit(this.tipsFncName, d[0]) | |||
@@ -100,11 +136,11 @@ | |||
url: `/pages/mine/details2?customerId=${newobj.customerId}&status=${newobj.status}&itemobj=${JSON.stringify(d[0])}&stateisshow=${'2'}&refresh=true` | |||
}) | |||
} | |||
uni.navigateTo({ | |||
url: `/pages/mine/details2?customerId=${newobj.customerId}&status=${newobj.status}&itemobj=${JSON.stringify(d[0])}&stateisshow=${'2'}` | |||
}) | |||
}else{ | |||
} else { | |||
let newobj = res[0]; | |||
uni.navigateTo({ | |||
url: `/pages/mine/details?customerId=${newobj.customerId}&status=${newobj.status}&itemobj=${JSON.stringify(d[0])}&stateisshow=${'2'}` | |||
@@ -112,10 +148,50 @@ | |||
} | |||
}) | |||
}, | |||
}, | |||
} | |||
</script> | |||
<style lang="scss" scoped> | |||
.translation { | |||
width: 100%; | |||
padding: 0 30rpx; | |||
.cont-box { | |||
width: 100%; | |||
margin-bottom: 20rpx; | |||
.top-cont { | |||
display: flex; | |||
border-bottom: 1px solid #e0e0e0; | |||
} | |||
.newmark { | |||
margin-top: 20rpx; | |||
padding-left: 30rpx; | |||
.mark-item { | |||
display: flex; | |||
flex-wrap: wrap; | |||
margin-bottom: 12rpx; | |||
.markicon { | |||
width: 30rpx; | |||
height: 30rpx; | |||
margin-right: 12rpx; | |||
} | |||
.marktext { | |||
flex: 1; | |||
font-size: 24rpx; | |||
font-family: PingFangSC-Regular, PingFang SC; | |||
font-weight: 400; | |||
color: #3E50E8; | |||
min-height: 30rpx; | |||
line-height: 30rpx; | |||
} | |||
} | |||
} | |||
} | |||
} | |||
</style> |
@@ -79,6 +79,7 @@ | |||
let param = { | |||
keywordIds:'', | |||
id: this.customerId, | |||
projectId: uni.getStorageSync("buildingID").id | |||
} | |||
let str = [] | |||
this.allList.map(item => { | |||
@@ -295,7 +295,7 @@ | |||
</view> | |||
</view> | |||
<view class="pingfenbox"> | |||
<view :class="{ activecllasscet: zhixingcenterindex == 0 }" @click="recordclick(0)">销讲总执行率{{totalRate}}% | |||
<view style="overflow: hidden;" :class="{ activecllasscet: zhixingcenterindex == 0 }" @click="recordclick(0)">销讲总执行率{{totalRate}}% | |||
</view> | |||
<view v-if="permissions.commonly6" :class="{ activecllasscet: zhixingcenterindex == 1 }" | |||
@click="recordclick(1)">禁忌执行</view> | |||
@@ -367,7 +367,7 @@ | |||
</view> | |||
<view style="flex: 1;font-size: 28rpx;color: #333333;font-weight: 600;text-align:center">执行率 | |||
</view> | |||
<view style="flex: 1;color: #333333;font-weight: 600;text-align:center;text-indent:28rpx">匹配标签 | |||
<view style="flex: 1;color: #333333;font-weight: 600;text-align:center;text-indent:28rpx">挖掘成功 | |||
</view> | |||
<view style="flex: 0 0 30rpx"></view> | |||
</view> | |||
@@ -377,10 +377,10 @@ | |||
<view class="Level1-middle" style="flex:2;display:flex;"> | |||
<view class="item" style="flex:1;text-align:center;">执行{{item.fraction || 0}}%</view> | |||
<view class="item" style="flex:1;text-align:center;color:#2671E2" | |||
v-if="item.keywordsList&&item.keywordsList.length">已匹配({{ | |||
v-if="item.keywordsList&&item.keywordsList.length">已完成({{ | |||
item.keywordsList.length | |||
}})</view> | |||
<view class="item" v-else style="flex:1;text-align:center;">未匹配</view> | |||
<view class="item" v-else style="flex:1;text-align:center;">未完成</view> | |||
</view> | |||
<view class="jiantobox"> | |||
<image v-if="!item.show" class="arrow rotatearrow" src="/static/images/down.png" | |||
@@ -422,8 +422,8 @@ | |||
<view class="zhixing2" v-else>未执行</view> | |||
</view> | |||
<view class="leve1-jindu"> | |||
<view class="zhixing" v-if="subitem.selected==0">已匹配</view> | |||
<view class="zhixing2" v-else>未匹配</view> | |||
<view class="zhixing" v-if="subitem.selected==0">已完成</view> | |||
<view class="zhixing2" v-else>未完成</view> | |||
</view> | |||
<view class="jiantobox"> | |||
<image v-if="!subitem.show" class="arrow rotatearrow" | |||
@@ -1259,7 +1259,7 @@ | |||
this.stateisshow = 1; | |||
uni.navigateTo({ | |||
url: '/pages/learning/Keywordsearch?customerId=' + this.customerId + "&status=" + this.status + | |||
"&skpl=" + "1" + '&UpDateEvent=DETAILS2INIT' | |||
"&skpl=" + "1" + '&UpDateEvent=DETAILS2INIT&types=1' | |||
}) | |||
}, | |||
//标记选择角色 | |||
@@ -2175,6 +2175,8 @@ | |||
} | |||
.pingfenbox view { | |||
width: 100%; | |||
height: 100%; | |||
text-align: center; | |||
font-size: 28rpx; | |||
padding: 0 18rpx; | |||