ソースを参照

修改接待记录详情页

newyun
corala 2年前
コミット
b2d83a4f0a
2個のファイルの変更224行の追加215行の削除
  1. +209
    -192
      pages/center/consumer/consumerDetail.vue
  2. +15
    -23
      pages/mine/details2.vue

+ 209
- 192
pages/center/consumer/consumerDetail.vue ファイルの表示

@@ -200,13 +200,6 @@
</view>
<!-- 需求挖掘执行率 -->
<view class="xuqiu" v-if="activeTotal==3">
<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: 20rpx;">指标
</view>
<view style="flex: 1;font-size: 28rpx;color: #333333;font-weight: 600;text-indent: 170rpx;">执行率
</view>
</view>
<!-- 暂无数据 -->
<view v-if="KeyWordsfractionList.length==0"
style="width: 100%;height: 100%;display: flex;align-items: center;">
@@ -219,207 +212,213 @@
</view>
</view>
<!-- 需求挖掘执行率 -->
<view class="xuqiu" v-if="activeTotal == 3">
<view
style="
width: 100%;
height: 80rpx;
border-bottom: 1rpx solid #e0e0e0;
display: flex;
align-items: center;
background: #fff;
"
<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">挖掘成功:{{percent||0}}%</view>
</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>
<!-- 暂无数据 -->
<view
v-if="KeyWordsfractionList.length == 0"
style="width: 100%; height: 100%; display: flex; align-items: center"
>
<view style="width: 100%; padding-top: 60rpx">
<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
style="
flex: 1;
font-size: 28rpx;
color: #333333;
font-weight: 600;
text-indent: 50rpx;
"
>指标</view
<view class="item" style="flex:1;text-align:center;" v-if="item.keywordsList&&item.keywordsList.length">已匹配({{
item.keywordsList&&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"
>客户标签:{{ getKeywordsList(item.keywordsList) }}</view
>
<view
style="
flex: 1;
font-size: 28rpx;
color: #333333;
font-weight: 600;
text-indent: 70rpx;
"
>执行率</view
<view class="hsnrtest">话术内容</view>
<view class="Level3che" v-for="(che,inc) in item.modelList" :key='inc'>
<view class="title1"
:style="che.selected==2?'color:#FF8C13':che.selected==1?'color: #666':''">
{{inc+1}}.{{che.showFormatExpression || che.keywordsName}}
</view>
<view class="jiantobox">
<!-- 0本次选中 1未选中 2上次选中 -->
<image v-if="che.selected==0" class="arrow"
src="/static/images/rate-checked.png" mode="" />
<image v-else-if="che.selected==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"
>客户标签:{{ getKeywordsList(subitem.keywordsList) }}</view
>
<view class="hsnrtest">话术内容</view>
<view
style="
flex: 1;
font-size: 28rpx;
color: #333333;
font-weight: 600;
text-indent: 70rpx;
"
>匹配</view
class="Level3che"
v-for="(che, inc) in subitem.modelList"
:key="inc"
>
</view>
<!-- 暂无数据 -->
<view
v-if="KeyWordsfractionList.length == 0"
style="width: 100%; height: 100%; display: flex; align-items: center"
>
<view style="width: 100%; padding-top: 60rpx">
<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;
class="title1"
:style="
che.selected == 2
? 'color:#FF8C13'
: che.selected == 1
? 'color: #666'
: ''
"
>暂无数据</view
>{{ inc + 1 }}.{{
che.showFormatExpression || che.keywordsName
}}</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">匹配({{
item.keywordsList&&item.keywordsList.length||0
}})</view>
</view>
<view class="jiantobox">
<image
v-if="!item.show"
class="arrow rotatearrow"
src="/static/images/down.png"
v-if="che.selected == 0"
class="arrow"
src="/static/images/rate-checked.png"
mode=""
/>
<image
v-else-if="che.selected == 2"
class="arrow"
src="/static/images/checked-yellow.png"
mode=""
/>
<image
v-else
class="arrow"
src="/static/images/rate-nocheck.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"
>客户标签:{{ getKeywordsList(item.keywordsList) }}</view
>
<view class="hsnrtest">话术内容</view>
<view class="Level3che" v-for="(che,inc) in item.modelList" :key='inc'>
<view class="title1"
:style="che.selected==2?'color:#FF8C13':che.selected==1?'color: #666':''">
{{inc+1}}.{{che.showFormatExpression || che.keywordsName}}
</view>
<view class="jiantobox">
<!-- 0本次选中 1未选中 2上次选中 -->
<image v-if="che.selected==0" class="arrow"
src="/static/images/rate-checked.png" mode="" />
<image v-else-if="che.selected==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"
>客户标签:{{ getKeywordsList(subitem.keywordsList) }}</view
>
<view class="hsnrtest">话术内容</view>
<view
class="Level3che"
v-for="(che, inc) in subitem.modelList"
:key="inc"
>
<view
class="title1"
:style="
che.selected == 2
? 'color:#FF8C13'
: che.selected == 1
? 'color: #666'
: ''
"
>{{ inc + 1 }}.{{
che.showFormatExpression || che.keywordsName
}}</view
>
<view class="jiantobox">
<image
v-if="che.selected == 0"
class="arrow"
src="/static/images/rate-checked.png"
mode=""
/>
<image
v-else-if="che.selected == 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>
</view>
</view>
</view>

@@ -451,6 +450,7 @@
},
data() {
return {
percent: 0,
tabactive: 0,
activeTotal: 0,
customerId: '',
@@ -492,6 +492,15 @@
this.tabtimetap(0)
},
methods: {
// 计算挖掘执行的完成率
getPercent(){
let countArr = this.KeyWordsfractionList.filter(item=> item.selected==0)
console.log(countArr)
this.percent = (countArr.length / this.KeyWordsfractionList.length)*100
console.log(this.percent.toFixed(0))
this.percent = this.percent.toFixed(0)

},
//挖掘率话术客户标签展示
getKeywordsList(list) {
let keywords = [];
@@ -537,6 +546,7 @@
}
});
this.KeyWordsfractionList = res;
this.getPercent()
} else {
this.KeyWordsfractionList = [];
}
@@ -766,6 +776,13 @@
.rotatearrow {
transform: rotate(270deg);
}
.top-box{
height: 80rpx;
line-height: 80rpx;
display: flex;
color: #2671E2;
border-bottom: 1rpx solid #ccc;
}

// 评分
.rate-box {


+ 15
- 23
pages/mine/details2.vue ファイルの表示

@@ -326,21 +326,23 @@
<view style="width:50%;text-align:center">挖掘成功:{{percent||0}}%</view>
</view>
<view style="width: 100%;height: 80rpx;border-bottom: 1rpx solid #E0E0E0;display: flex;align-items: center;">
<view style="flex: 1;font-size: 28rpx;color: #333333;font-weight: 600;text-indent: 20rpx;">指标
<view style="flex: 1;font-size: 28rpx;color: #333333;font-weight: 600;text-indent: 28rpx;">指标
</view>
<view style="flex: 1;font-size: 28rpx;color: #333333;font-weight: 600;text-align:center">执行率
</view>
<view style="flex: 1;font-size: 28rpx;color: #333333;font-weight: 600;text-align:center">完成
<view style="flex: 1;color: #333333;font-weight: 600;text-align:center;text-indent:28rpx">匹配标签
</view>
<view style="flex: 0 0 30rpx"></view>
</view>
<view class="Level-box" v-for="(item,index) in KeyWordsfractionList" :key="index">
<view class="Level1che" @click="hangeshow2(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;">匹配({{
item.keywordsList&&item.keywordsList.length||0
<view class="item" style="flex:1;text-align:center;" v-if="item.keywordsList&&item.keywordsList.length">匹配({{
item.keywordsList&&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"
@@ -381,8 +383,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"
@@ -453,18 +455,13 @@
</view>
<view style="width: 690rpx;margin: 0 auto;display: flex;flex-wrap: wrap;"
v-if="item.isshow">
<view class="sdfsaf" v-if="chend.showType==0" @click="argece(chend)"
<view class="sdfsaf" @click="argece(chend)"
v-for="(chend,i) in item.children" :key='i'>
<view class="jiangshang sdfsaf">{{chend.text}}</view>
</view>
<view class="sdfsaf" v-if="chend.showType==1" @click="argece(chend)"
v-for="(chend,i) in item.children" :key='i'>
<view class="jiangshang1 sdfsaf">{{chend.text}}</view>
</view>
</view>
</view>
</view>
<!-- @click="Edittag(item,chend,index,i)" -->
<view class="cenisbox" v-if="kehuyixiangcenterindex==1">
<view style="width: 100%;height: 100%;text-align: center;margin-top: 200rpx;"
v-if="Acquirecustomerintentlist2.length==0">
@@ -1529,7 +1526,6 @@
});
},


//标签选择
tapbiaoqianclisck(index) {
this.biaoqianindex = index;
@@ -1576,14 +1572,16 @@
translateHtmlContent: this.messagelisy,
id: uni.getStorageSync('buildingID').id
}
this.isshow2 = false;
let sas = this.textItself.replace(this.thewrongword, this.reswrongword)
console.log(sas)
this.dialogList[this.argtextindex1].message[this.argtextindex2].onebest = sas

this.cancelBeast()
this.$u.post("/corpus/addCorrectWord", parames).then(data => {
console.log(data)
this.thewrongword = "";
this.reswrongword = "";
this.isshow2 = false;
})
} else {
this.$refs.uToast.show({
@@ -1615,12 +1613,6 @@
this.reswrongword = "";
this.isshow2 = true;
},
// //加入挖掘话术
// openwajue(item) {
// this.wajueItem = item
// this.wajueshow = true;
// item.isshow = false
// },
//加精华
Addtheessence() {
this.refined = true
@@ -2566,7 +2558,6 @@
.contentMain {
display: flex;
flex-direction: row-reverse;
align-items: center;

.content {
margin-left: 0;
@@ -2608,7 +2599,7 @@
}

.scroll-Y .text .avatar {
margin-top: 80rpx;
margin-top: 60rpx;
width: 64upx;
height: 64upx;
line-height: 64upx;
@@ -2669,6 +2660,7 @@
min-height: 30rpx;
line-height: 30rpx;
max-width: 420rpx;
text-align: left;
}
}
}


読み込み中…
キャンセル
保存