wangxiaohua 2 years ago
parent
commit
f95224cd86
7 changed files with 784 additions and 445 deletions
  1. +2
    -2
      config.js
  2. +209
    -128
      pages/center/Piabodata/Customerportrait/Receivedetailabout.vue
  3. +319
    -138
      pages/center/consumer/consumerDetail.vue
  4. +3
    -10
      pages/learning/Thefulltext/index.vue
  5. +41
    -40
      pages/mine/details.vue
  6. +208
    -125
      pages/mine/details2.vue
  7. +2
    -2
      utils/http.js

+ 2
- 2
config.js View File

@@ -2,9 +2,9 @@
* 小程序配置文件
*/
// 此处主机域名修改成腾讯云解决方案分配的域名
// var host = 'http://121.42.63.138:9091/autoSR/api'; // 测试站
var host = 'http://121.42.63.138:9091/autoSR/api'; // 测试站
// var host = 'http://192.168.31.163:8080/autoSR/api'; // 长龙
var host = 'http://192.168.31.128:8080/autoSR/api'; // 佳豪
// var host = 'http://192.168.31.128:8080/autoSR/api'; // 佳豪
// var host = 'http://10.2.1.104:8081/autoSR/api'; // 刘敏
// var host = 'https://zkgj.quhouse.com/api'; // 质控正式
// var host = 'https://hfju.com/api'; // 数智正式


+ 209
- 128
pages/center/Piabodata/Customerportrait/Receivedetailabout.vue View File

@@ -247,33 +247,46 @@
</view>
</view>
<view class="cenisbox">
<!-- 评分模块 -->
<view class="rate-box">
<view class="title">总执行率 {{totalRate}}%</view>
<view v-for="(item,index) in ratelist" :key="index" class="u-m-b-14" style="margin-top: 30rpx;">
<view class="level1">
<view class="level-name u-line-1">
{{item.name}}
</view>
<view class="level-progress">
<view class="color" :style="{width: item.ratepercent/item.rate*100+'%'}"></view>
</view>
<view class="level-rate">{{((item.ratepercent/item.rate).toFixed(2)*100).toFixed()}}%</view>
<image v-if="!item.show" class="arrow rotatearrow" @click="changeshow(item,1)"
src="/static/images/down.png" mode="" />
<image v-else class="arrow" @click="changeshow(item,0)" src="/static/images/up.png"
mode="" />
<view 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>
<view style="flex: 1;font-size: 28rpx;color: #333333;font-weight: 600;text-indent: 170rpx;">执行率</view>
</view>
<view class="Level-box" v-for="(item,index) in ratelist" :key="index">
<view class="Level1che">
<view class="title1">{{item.name}}</view>
<view class="leve1-jindu">
<view class="jindutiao">
<view class="huanxing" :style="{width: item.ratepercent/item.rate*100+'%'}"></view>
<view class="text">{{((item.ratepercent/item.rate).toFixed(2)*100).toFixed()}}%</view>
</view>
<view class="level1-subbox" v-if="item.show">
<view class="sub-name" v-for="(subitem,i) in item.children" :key="i">
<view class="subitem-name u-line-1" @tap="clickaudeopal(subitem)">{{subitem.name}}</view>
<image class="checkimg" v-if="!subitem.selected"
src="/static/images/rate-checked.png" mode="" />
<image class="checkimg" v-else src="/static/images/rate-nocheck.png" mode="" />
</view>
</view>
<view class="jiantobox">
<image @click="changeshow(item,1)" v-if="!item.show" class="arrow rotatearrow" src="/static/images/down.png" mode="" />
<image @click="changeshow(item,0)" v-else class="arrow" src="/static/images/up.png" mode="" />
</view>
</view>
<view class="hhhbox" v-if="item.show" v-for="(subitem,i) in item.children" :key="i">
<view class="Level2che" >
<view class="title1" @tap="clickaudeopal(subitem)">{{subitem.name}}</view>
<view class="leve1-jindu" @tap="clickaudeopal(subitem)">
<view class="zhixing" v-if="!subitem.selected">已执行</view>
<view class="zhixing2" v-else>未执行</view>
</view>
<view class="jiantobox">
<image @click="changeshow2(subitem,1)" v-if="!subitem.show" class="arrow rotatearrow" src="/static/images/down.png" mode="" />
<image @click="changeshow2(subitem,0)" v-else class="arrow" src="/static/images/up.png" mode="" />
</view>
</view>
<view class="hsnrtest" v-if="subitem.show">话术内容</view>
<view class="Level3che" @tap="clickaudeopal(che)" v-if="subitem.show" v-for="(che,inc) in subitem.children" :key='inc'>
<view class="title1" >{{inc+1}}.{{che.name}}</view>
<view class="jiantobox">
<image v-if="che.selected==0" class="arrow" src="/static/images/rate-checked.png" mode="" />
</view>
</view>
<view v-if="subitem.show" style="width: 100%;height: 30rpx;"></view>
</view>
</view>
</view>
</view>
@@ -1213,6 +1226,13 @@
item.show = false
}
},
changeshow2(item, type){
if (type == 1) {
item.show = true
} else {
item.show = false
}
},
// 获取评分
getRatelist() {
if (this.ratelist.length == 0) {
@@ -1224,7 +1244,6 @@
}).then(res => {
if (res.length) {
let level1 = []
let level2rate = 0
res.forEach(item => {
if (item.pid == 0) {
level1.push({
@@ -1236,13 +1255,9 @@
ratepercent: 0,
children: []
})
} else {
if (item.selected == 0) {
level2rate += item.fraction
}
}
}
})
this.totalRate = level2rate
// this.totalRate = level2rate;
res.forEach(subitem => {
let subitempid = subitem.pid
level1.forEach(item => {
@@ -1255,12 +1270,31 @@
rate: subitem.fraction,
selected: subitem.selected,
name: subitem.name,
marketingId:subitem.marketingId
show: false,
marketingId:subitem.marketingId,
children: []
})
}
})
})
res.forEach(subitem => {
let subitempid = subitem.pid
level1.forEach(chen=>{
chen.children.forEach(zxc=>{
if(subitempid == zxc.marketingId){
zxc.children.push({
id: subitem.id,
rate: subitem.fraction,
selected: subitem.selected,
name: subitem.name,
marketingId:subitem.marketingId,
})
}
})
})
})
level1[0].show = true;
level1[0].children[0].show = true;
this.ratelist = level1
}
setTimeout(function() {
@@ -1866,103 +1900,6 @@
height: 34upx;
}
}
// 评分
.rate-box {
padding: 10rpx 20rpx;
.date {
width: 300rpx;
height: 33rpx;
font-size: 24rpx;
font-weight: 400;
color: #333333;
line-height: 33rpx;
letter-spacing: 1rpx;
margin-bottom: 8rpx;
}
.title {
width: 100%;
height: 42rpx;
font-size: 30rpx;
font-weight: 500;
color: #333333;
line-height: 42rpx;
letter-spacing: 2rpx;
margin-bottom: 20rpx;
}
.level1 {
display: flex;
align-items: center;
.level-name {
width: 104rpx;
height: 33rpx;
font-size: 24rpx;
font-weight: 500;
color: #333333;
line-height: 33rpx;
letter-spacing: 1rpx;
margin-right: 10rpx;
}
.level-progress {
flex: 1;
border-radius: 11rpx;
height: 21rpx;
background-color: #F2F2F2;
position: relative;
.color {
width: 0;
position: absolute;
top: 0;
left: 0;
height: 21rpx;
border-radius: 11rpx 0 0 11rpx;
background-color: #60D7A0;
}
}
.level-rate {
width: 65rpx;
height: 33rpx;
font-size: 24rpx;
font-weight: 500;
color: #333333;
line-height: 33rpx;
letter-spacing: 1rpx;
margin: 0 20rpx 0 15rpx;
}
.arrow {
width: 34rpx;
height:26rpx;
padding: 5rpx 20rpx;
}
.rotatearrow {
transform: rotate(270deg);
}
}
.level1-subbox {
display: flex;
margin-top: 20rpx;
flex-wrap: wrap;

.sub-name {
width: 50%;
display: flex;
margin-bottom: 18rpx;
.subitem-name {
width: 104rpx;
height: 33rpx;
font-size: 24rpx;
font-weight: 400;
color: #999999;
line-height: 33rpx;
letter-spacing: 1rpx;
margin-right: 12rpx;
}
.checkimg {
width: 27rpx;
height: 27rpx;
}
}
}
}
.jiangshang{
color: #2671E2;
background: #F4F8FD;
@@ -2025,4 +1962,148 @@
color: #FFFFFF;
border: none;
}
.Level-box{
padding-bottom: 2rpx;
.hhhbox{
width:100%;
padding-left: 30rpx;
padding-right: 30rpx;
border-bottom: 1rpx solid #E0E0E0;
background: #FFFFFF;
// padding-bottom: 32rpx;
.hsnrtest{
height: 24rpx;
font-size: 24rpx;
font-weight: 400;
color: #666666;
line-height: 24rpx;
}
.Level3che{
width:100%;
height:28rpx;
display: flex;
line-height: 28rpx;
align-items: center;
margin-top: 30rpx;
.title1{
flex: 1;
font-size: 28rpx;
color:#2671E2;
font-weight: 400;
}
.jiantobox{
width: 30rpx;
height: 30rpx;
display: flex;
align-items: center;
.arrow{
width: 28rpx;
height:28rpx;
}
}
}
}
.Level2che{
width:100%;
height: 88rpx;
display: flex;
line-height: 88rpx;
align-items: center;
.title1{
flex: 2;
font-size: 28rpx;
color: #333333;
font-weight: 400;
}
.leve1-jindu{
flex: 3;
display: flex;
justify-content: center;
align-items: center;
.zhixing{
width: 108rpx;
height: 44rpx;
background: #2671E2;
border-radius: 4rpx;
font-size: 28rpx;
text-align: center;
line-height: 44rpx;
color: #FFFFFF;
}
.zhixing2{
width: 108rpx;
height: 44rpx;
background: #F8F8F8;
border-radius: 4rpx;
font-size: 28rpx;
text-align: center;
line-height: 44rpx;
color: #999999;
}
}
.jiantobox{
width: 30rpx;
height: 30rpx;
display: flex;
align-items: center;
.arrow{
width: 30rpx;
height:18rpx;
}
}
}
.Level1che{
width:100%;
height: 94rpx;
background: #E0E0E0;
display: flex;
line-height: 94rpx;
align-items: center;
padding-left: 30rpx;
padding-right: 30rpx;
.title1{
flex: 2;
font-size: 30rpx;
color: #333333;
font-weight: 400;
}
.leve1-jindu{
flex: 3;
.jindutiao{
width: 96%;
height: 28rpx;
background: #D5EEE2;
line-height: 28rpx;
border-radius: 14rpx;
position: relative;
.huanxing{
height: 100%;
background: #4FC78F;
border-radius: 14rpx;
}
.text{
position: absolute;
top: 0rpx;
right: 0rpx;
font-size: 28rpx;
font-weight: 400;
color: #333333;
}
}
}
.jiantobox{
width: 30rpx;
height: 30rpx;
display: flex;
align-items: center;
.arrow{
width: 30rpx;
height:18rpx;
}
}
}
}
.rotatearrow {
transform: rotate(270deg);
}
</style>

+ 319
- 138
pages/center/consumer/consumerDetail.vue View File

@@ -157,6 +157,7 @@
<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="ratelist.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;">
@@ -165,33 +166,45 @@
<view style="text-align: center;width: 100%;margin-top: 20rpx;color: #999999;">暂无数据</view>
</view>
</view>
<view v-if="ratelist.length!=0" class="rate-box" style="margin-top: 10rpx;">
<!-- <view class="title">总执行率 {{totalRate}}%</view> -->
<view v-for="(item,index) in ratelist" :key="index" class="u-m-b-14">
<view class="level1">
<view class="level-name u-line-1">
{{item.name}}
<view class="Level-box" v-if="ratelist.length!=0" v-for="(item,index) in ratelist" :key="index">
<view class="Level1che">
<view class="title1">{{item.name}}</view>
<view class="leve1-jindu">
<view class="jindutiao">
<view class="huanxing" :style="{width: item.ratepercent/item.rate*100+'%'}"></view>
<view class="text">{{((item.ratepercent/item.rate).toFixed(2)*100).toFixed()}}%</view>
</view>
<view class="level-progress">
<view class="color" :style="{width: item.ratepercent/item.rate*100+'%'}"></view>
</view>
<view class="jiantobox">
<image @click="changeshow(item,1)" v-if="!item.show" class="arrow rotatearrow" src="/static/images/down.png" mode="" />
<image @click="changeshow(item,0)" v-else class="arrow" src="/static/images/up.png" mode="" />
</view>
</view>
<view class="hhhbox" v-if="item.show" v-for="(subitem,i) in item.children" :key="i">
<view class="Level2che" >
<view class="title1" @tap="clickaudeopal(subitem)">{{subitem.name}}</view>
<view class="leve1-jindu" @tap="clickaudeopal(subitem)">
<view class="zhixing" v-if="!subitem.selected">已执行</view>
<view class="zhixing2" v-else>未执行</view>
</view>
<view class="jiantobox">
<image @click="changeshow2(subitem,1)" v-if="!subitem.show" class="arrow rotatearrow" src="/static/images/down.png" mode="" />
<image @click="changeshow2(subitem,0)" v-else class="arrow" src="/static/images/up.png" mode="" />
</view>
<view class="level-rate">{{((item.ratepercent/item.rate).toFixed(2)*100).toFixed()}}%</view>
<image v-if="!item.show" class="arrow rotatearrow" @click="changeshow(item,1)" src="/static/images/down.png"
mode="" />
<image v-else class="arrow" @click="changeshow(item,0)" src="/static/images/up.png" mode="" />
</view>
<view class="level1-subbox" v-if="item.show">
<view class="sub-name" v-for="(subitem,i) in item.children" :key="i">
<view class="subitem-name u-line-1" @tap="clickaudeopal(subitem)">{{subitem.name}}</view>
<image class="checkimg" v-if="!subitem.selected" src="/static/images/rate-checked.png" mode="" />
<image class="checkimg" v-else src="/static/images/rate-nocheck.png" mode="" />
<view class="hsnrtest" v-if="subitem.show">话术内容</view>
<view class="Level3che" @tap="clickaudeopal(che)" v-if="subitem.show" v-for="(che,inc) in subitem.children" :key='inc'>
<view class="title1" >{{inc+1}}.{{che.name}}</view>
<view class="jiantobox">
<image v-if="che.selected==0" class="arrow" src="/static/images/rate-checked.png" mode="" />
</view>
</view>
<view v-if="subitem.show" style="width: 100%;height: 30rpx;"></view>
</view>
</view>
</view>
</view>
</view>
<view class="pon-foot" v-if="buttonisshow">
@@ -382,6 +395,13 @@
item.show = false
}
},
changeshow2(item, type){
if (type == 1) {
item.show = true
} else {
item.show = false
}
},
// 获取评分
getRatelist() {
this.$u.get("/customer/findzkMByCusId", {
@@ -389,7 +409,6 @@
}).then(res => {
if (res.length) {
let level1 = []
let level2rate = 0
res.forEach(item => {
if (item.pid == 0) {
level1.push({
@@ -401,13 +420,9 @@
ratepercent: 0,
children: []
})
} else {
if (item.selected == 0) {
level2rate += item.fraction
}
}
}
})
this.totalRate = level2rate
// this.totalRate = level2rate;
res.forEach(subitem => {
let subitempid = subitem.pid
level1.forEach(item => {
@@ -420,12 +435,31 @@
rate: subitem.fraction,
selected: subitem.selected,
name: subitem.name,
marketingId:subitem.marketingId
show: false,
marketingId:subitem.marketingId,
children: []
})
}
})
})
res.forEach(subitem => {
let subitempid = subitem.pid
level1.forEach(chen=>{
chen.children.forEach(zxc=>{
if(subitempid == zxc.marketingId){
zxc.children.push({
id: subitem.id,
rate: subitem.fraction,
selected: subitem.selected,
name: subitem.name,
marketingId:subitem.marketingId,
})
}
})
})
})
level1[0].show = true;
level1[0].children[0].show = true;
this.ratelist = level1
}
})
@@ -435,6 +469,263 @@
</script>

<style lang="scss" scoped>
.rotatearrow {
transform: rotate(270deg);
}
// 评分
.rate-box {
padding: 10rpx 20rpx;
background-color: #FFFFFF;
.date {
width: 300rpx;
height: 33rpx;
font-size: 24rpx;
font-weight: 400;
color: #333333;
line-height: 33rpx;
letter-spacing: 1rpx;
margin-bottom: 8rpx;
}
.title {
width: 100%;
height: 42rpx;
font-size: 30rpx;
font-weight: 500;
color: #333333;
line-height: 42rpx;
letter-spacing: 2rpx;
margin-bottom: 20rpx;
}
.level1 {
display: flex;
align-items: center;
.level-name {
width: 104rpx;
height: 33rpx;
font-size: 24rpx;
font-weight: 500;
color: #333333;
line-height: 33rpx;
letter-spacing: 1rpx;
margin-right: 10rpx;
}
.level-progress {
flex: 1;
border-radius: 11rpx;
height: 21rpx;
background-color: #BEE4FF;
position: relative;
.color {
width: 0;
position: absolute;
top: 0;
left: 0;
height: 21rpx;
border-radius: 11rpx 0 0 11rpx;
background-color: #008EF2;
}
}
.level-rate {
width: 65rpx;
height: 33rpx;
font-size: 24rpx;
font-weight: 500;
color: #333333;
line-height: 33rpx;
letter-spacing: 1rpx;
margin: 0 20rpx 0 15rpx;
}
.arrow {
width: 37rpx;
height: 21rpx;
padding: 5rpx 20rpx;
}
.rotatearrow {
transform: rotate(270deg);
}
}
.level1-subbox {
display: flex;
margin-top: 20rpx;
flex-wrap: wrap;
.sub-name {
width: 50%;
display: flex;
margin-bottom: 18rpx;
.subitem-name {
width: 104rpx;
height: 33rpx;
font-size: 24rpx;
font-weight: 400;
color: #999999;
line-height: 33rpx;
letter-spacing: 1rpx;
margin-right: 12rpx;
}
.checkimg {
width: 27rpx;
height: 27rpx;
}
}
}
}
.Level-box{
padding-bottom: 2rpx;
.hhhbox{
width:100%;
padding-left: 30rpx;
padding-right: 30rpx;
border-bottom: 1rpx solid #E0E0E0;
background: #FFFFFF;
// padding-bottom: 32rpx;
.hsnrtest{
height: 24rpx;
font-size: 24rpx;
font-weight: 400;
color: #666666;
line-height: 24rpx;
}
.Level3che{
width:100%;
height:28rpx;
display: flex;
line-height: 28rpx;
align-items: center;
margin-top: 30rpx;
.title1{
flex: 1;
font-size: 28rpx;
color:#2671E2;
font-weight: 400;
}
.jiantobox{
width: 30rpx;
height: 30rpx;
display: flex;
align-items: center;
.arrow{
width: 28rpx;
height:28rpx;
}
}
}
}
.Level2che{
width:100%;
height: 88rpx;
display: flex;
line-height: 88rpx;
align-items: center;
.title1{
flex: 2;
font-size: 28rpx;
color: #333333;
font-weight: 400;
}
.leve1-jindu{
flex: 3;
display: flex;
justify-content: center;
align-items: center;
.zhixing{
width: 108rpx;
height: 44rpx;
background: #2671E2;
border-radius: 4rpx;
font-size: 28rpx;
text-align: center;
line-height: 44rpx;
color: #FFFFFF;
}
.zhixing2{
width: 108rpx;
height: 44rpx;
background: #F8F8F8;
border-radius: 4rpx;
font-size: 28rpx;
text-align: center;
line-height: 44rpx;
color: #999999;
}
}
.jiantobox{
width: 30rpx;
height: 30rpx;
display: flex;
align-items: center;
.arrow{
width: 30rpx;
height:18rpx;
}
}
}
.Level1che{
width:100%;
height: 94rpx;
background: #E0E0E0;
display: flex;
line-height: 94rpx;
align-items: center;
padding-left: 30rpx;
padding-right: 30rpx;
.title1{
flex: 2;
font-size: 30rpx;
color: #333333;
font-weight: 400;
}
.leve1-jindu{
flex: 3;
.jindutiao{
width: 96%;
height: 28rpx;
background: #D5EEE2;
line-height: 28rpx;
border-radius: 14rpx;
position: relative;
.huanxing{
height: 100%;
background: #4FC78F;
border-radius: 14rpx;
}
.text{
position: absolute;
top: 0rpx;
right: 0rpx;
font-size: 28rpx;
font-weight: 400;
color: #333333;
}
}
}
.jiantobox{
width: 30rpx;
height: 30rpx;
display: flex;
align-items: center;
.arrow{
width: 30rpx;
height:18rpx;
}
}
}
}
.cccccc{
text-align: center;
height: 140rpx;
@@ -479,116 +770,6 @@
height: 100%;
background: #F8F8F8;
}
// 评分
.rate-box {
padding: 10rpx 20rpx;
background-color: #FFFFFF;
.date {
width: 300rpx;
height: 33rpx;
font-size: 24rpx;
font-weight: 400;
color: #333333;
line-height: 33rpx;
letter-spacing: 1rpx;
margin-bottom: 8rpx;
}
.title {
width: 100%;
height: 42rpx;
font-size: 30rpx;
font-weight: 500;
color: #333333;
line-height: 42rpx;
letter-spacing: 2rpx;
margin-bottom: 20rpx;
}
.level1 {
display: flex;
align-items: center;
.level-name {
width: 104rpx;
height: 33rpx;
font-size: 24rpx;
font-weight: 500;
color: #333333;
line-height: 33rpx;
letter-spacing: 1rpx;
margin-right: 10rpx;
}
.level-progress {
flex: 1;
border-radius: 11rpx;
height: 21rpx;
background-color: #BEE4FF;
position: relative;
.color {
width: 0;
position: absolute;
top: 0;
left: 0;
height: 21rpx;
border-radius: 11rpx 0 0 11rpx;
background-color: #008EF2;
}
}
.level-rate {
width: 65rpx;
height: 33rpx;
font-size: 24rpx;
font-weight: 500;
color: #333333;
line-height: 33rpx;
letter-spacing: 1rpx;
margin: 0 20rpx 0 15rpx;
}
.arrow {
width: 37rpx;
height: 21rpx;
padding: 5rpx 20rpx;
}
.rotatearrow {
transform: rotate(270deg);
}
}
.level1-subbox {
display: flex;
margin-top: 20rpx;
flex-wrap: wrap;
.sub-name {
width: 50%;
display: flex;
margin-bottom: 18rpx;
.subitem-name {
width: 104rpx;
height: 33rpx;
font-size: 24rpx;
font-weight: 400;
color: #999999;
line-height: 33rpx;
letter-spacing: 1rpx;
margin-right: 12rpx;
}
.checkimg {
width: 27rpx;
height: 27rpx;
}
}
}
}
.tab{
height: 88rpx;
border-bottom: 1px solid #E0E0E0;


+ 3
- 10
pages/learning/Thefulltext/index.vue View File

@@ -1,10 +1,10 @@
<template>
<view class="translation" @click="changeEditing(false)">
<!-- <view style="width: 690rpx;height: 64rpx;margin: 0 auto;margin-top: 30rpx;background: #F2F2F2;border-radius: 32rpx;
<view style="width: 690rpx;height: 64rpx;margin: 0 auto;margin-top: 30rpx;background: #F2F2F2;border-radius: 32rpx;
display: flex;align-items: center;" @tap="toKeywordsearch()">
<image style="width: 28rpx;height: 28rpx;margin-left: 30rpx;" src="/static/images/search.png" mode=""></image>
<text style="margin-left: 10rpx;color: #999999;font-size: 24rpx;">请输入关键字</text>
</view> -->
</view>
<view class="top" style="margin-top: 30rpx;">
<view class="title">
<view class="call_record_time">{{date}}</view>
@@ -245,7 +245,7 @@
toKeywordsearch(){
this.innerAudioContext.destroy();
uni.navigateTo({
url: '/pages/main/Keywordsearch?customerId='+this.customerId +"&status="+this.status
url: '/pages/learning/Keywordsearch?customerId='+this.customerId +"&status="+this.status
})
},
getView(){
@@ -543,13 +543,6 @@
}, 2000);
}else{
const jsonInfo = JSON.parse(data.data.data.audioContent);
// if(info.onebest){
// jsonInfo.forEach(che=>{
// if(che.onebest==info.onebest){
// che.onebest=`<font style='color: red'>${che.onebest}</font>`;
// }
// })
// }
this.dialogList.push({
message: jsonInfo
});


+ 41
- 40
pages/mine/details.vue View File

@@ -1,10 +1,10 @@
<template>
<view class="translation">
<!-- <view style="width: 690rpx;height: 64rpx;margin: 0 auto;margin-top: 30rpx;background: #F2F2F2;border-radius: 32rpx;
<view style="width: 690rpx;height: 64rpx;margin: 0 auto;margin-top: 30rpx;background: #F2F2F2;border-radius: 32rpx;
display: flex;align-items: center;" @tap="toKeywordsearch()">
<image style="width: 28rpx;height: 28rpx;margin-left: 30rpx;" src="/static/images/search.png" mode=""></image>
<text style="margin-left: 10rpx;color: #999999;font-size: 24rpx;">请输入关键字</text>
</view> -->
</view>
<view class="top" style="margin-top: 30rpx;">
<view class="title">
<view class="call_record_time">{{date}}</view>
@@ -222,6 +222,7 @@
},
onShow() {
this.buildingID = uni.getStorageSync('buildingID').id;
this.userInfo = uni.getStorageSync('weapp_session_userInfo_data');
if (this.userInfo.dataCode == 6) {
this.jiaoseshow = false
@@ -229,7 +230,7 @@
if(this.stateisshow==1){
if(this.stateisshow==2){
var info =this.itemobj;
}else{
var pages = getCurrentPages();
@@ -240,7 +241,7 @@
this.innerAudioContext = uni.createInnerAudioContext();
this.innerAudioContext.autoplay = false;
this.innerAudioContext.title = '音频';
console.log(this.itemobj)
this.onPlay()
this.onPause()
this.onCanplay()
@@ -249,7 +250,6 @@
this.onSeeked()
this.TimeUpdate()
this.init(info)
},
// 在组件实例被从页面节点树移除时执行
destroyed: function() {
@@ -369,15 +369,6 @@
this.creatAudio()
var itc=parseInt(info.bg/1000)
this.adasdasdasd(itc)
}else{
this.recordPath = res[0].recordPath
this.sliderMax = this.getTime(res[0].recordDuration)
this.timeStr = this.getTime(res[0].recordDuration)
this.date = res[0].receptionTime
this.innerAudioContext.src = this.recordPath;
this.changePlayState()
this.luyinList = res;
this.getCorpusAnalysis(info)
}
})
}else{
@@ -388,7 +379,7 @@
this.innerAudioContext.src = this.recordPath;
this.changePlayState()
this.luyinList = res;
this.getCorpusAnalysis(info)
this.getCorpusAnalysis()
}
}
})
@@ -508,7 +499,7 @@
if (res.confirm) {
console.log('用户点击确定');
uni.request({
url: config.service.delATD + "?carId=" + that.customerId+'&itemId='+that.buildingID,
url: config.service.delATD + "?carId=" + that.customerId,
method: "GET",
header: {
'content-type': 'application/json',
@@ -656,23 +647,13 @@
Addtheessence() {
this.isshow3 = true;
this.biaoqianlist = []
let parames={
"itemId":this.buildingID
}
this.$u.post("/addtodigest/findAllYi", parames).then(data => {
util.getRequestPromise(config.service.findAllYi, {}, false).then(data => {
this.biaoqianlist = data
this.biaoqianlist.unshift({
name: "逼单话术",
id: 0
})
})
// util.getRequestPromise(config.service.findAllYi, {"itemId":this.buildingID}, false).then(data => {
// this.biaoqianlist = data
// this.biaoqianlist.unshift({
// name: "逼单话术",
// id: 0
// })
// });
});
},
// 取消加精
Cancelout2() {
@@ -697,7 +678,6 @@
})
})
let objdata = {
"itemId":this.buildingID,
"carId": this.customerId, //客户id
"startTime": this.changanitem.bg, //开始时间
"startFile": this.duihuawenjianid, //对话所在录音文件id
@@ -856,17 +836,38 @@
}, 2000);
} else {
const jsonInfo = JSON.parse(data.data.data.audioContent);
// if(info.onebest){
// jsonInfo.forEach(che=>{
// if(che.onebest==info.onebest){
// che.onebest=`<font style='color: red'>${che.onebest}</font>`;
// }
// })
// }
this.dialogList.push({
message: jsonInfo,
backindex:this.csdFileindex
});
console.log(jsonInfo)
if(this.luyinList[this.csdFileindex].recordDuration>360){
//拿到总条数
var stusnum=jsonInfo.length;
this.dialogList.push({
message: jsonInfo.splice(0,80),
backindex:this.csdFileindex
});
var auth_timetimer = setInterval(() => {
stusnum-=100;
console.log("还剩下"+stusnum)
if (stusnum <= 0) {
console.log("停止")
clearInterval(auth_timetimer);
}else{
console.log("添加")
var newlistwang=[];
newlistwang=jsonInfo.splice(0,100);
console.log("新数组",newlistwang)
newlistwang.forEach(item=>{
this.dialogList[0].message.push(item)
})
}
}, 1000);
}else{
this.dialogList.push({
message: jsonInfo,
backindex:this.csdFileindex
});
}
this.dialogList.forEach((asd, idx) => {
asd.message.forEach((qwe, inde) => {
qwe.isshow = false;


+ 208
- 125
pages/mine/details2.vue View File

@@ -272,33 +272,48 @@
</view>
</view>
<view class="cenisbox">
<!-- 评分模块 -->
<view class="rate-box">
<view class="title">总执行率 {{totalRate}}%</view>
<view v-for="(item,index) in ratelist" :key="index" class="u-m-b-14" style="margin-top: 30rpx;">
<view class="level1">
<view class="level-name u-line-1">
{{item.name}}
<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>
<view style="flex: 1;font-size: 28rpx;color: #333333;font-weight: 600;text-indent: 170rpx;">执行率</view>
</view>
<view class="Level-box" v-for="(item,index) in ratelist" :key="index">
<view class="Level1che">
<view class="title1">{{item.name}}</view>
<view class="leve1-jindu">
<view class="jindutiao">
<view class="huanxing" :style="{width: item.ratepercent/item.rate*100+'%'}"></view>
<view class="text">{{((item.ratepercent/item.rate).toFixed(2)*100).toFixed()}}%</view>
</view>
<view class="level-progress">
<view class="color" :style="{width: item.ratepercent/item.rate*100+'%'}"></view>
</view>
<view class="jiantobox">
<image @click="changeshow(item,1)" v-if="!item.show" class="arrow rotatearrow" src="/static/images/down.png" mode="" />
<image @click="changeshow(item,0)" v-else class="arrow" src="/static/images/up.png" mode="" />
</view>
</view>
<view class="hhhbox" v-if="item.show" v-for="(subitem,i) in item.children" :key="i">
<view class="Level2che" >
<view class="title1" @tap="clickaudeopal(subitem)">{{subitem.name}}</view>
<view class="leve1-jindu" @tap="clickaudeopal(subitem)">
<view class="zhixing" v-if="!subitem.selected">已执行</view>
<view class="zhixing2" v-else>未执行</view>
</view>
<view class="jiantobox">
<image @click="changeshow2(subitem,1)" v-if="!subitem.show" class="arrow rotatearrow" src="/static/images/down.png" mode="" />
<image @click="changeshow2(subitem,0)" v-else class="arrow" src="/static/images/up.png" mode="" />
</view>
<view class="level-rate">{{((item.ratepercent/item.rate).toFixed(2)*100).toFixed()}}%</view>
<image v-if="!item.show" class="arrow rotatearrow" @click="changeshow(item,1)"
src="/static/images/down.png" mode="" />
<image v-else class="arrow" @click="changeshow(item,0)" src="/static/images/up.png"
mode="" />
</view>
<view class="level1-subbox" v-if="item.show">
<view class="sub-name" v-for="(subitem,i) in item.children" :key="i">
<view class="subitem-name u-line-1" @tap="clickaudeopal(subitem)">{{subitem.name}}</view>
<image class="checkimg" v-if="!subitem.selected"
src="/static/images/rate-checked.png" mode="" />
<image class="checkimg" v-else src="/static/images/rate-nocheck.png" mode="" />
<view class="hsnrtest" v-if="subitem.show">话术内容</view>
<view class="Level3che" @tap="clickaudeopal(che)" v-if="subitem.show" v-for="(che,inc) in subitem.children" :key='inc'>
<view class="title1" >{{inc+1}}.{{che.name}}</view>
<view class="jiantobox">
<image v-if="che.selected==0" class="arrow" src="/static/images/rate-checked.png" mode="" />
</view>
</view>
<view v-if="subitem.show" style="width: 100%;height: 30rpx;"></view>
</view>
</view>
</view>
</view>
@@ -1157,6 +1172,13 @@
item.show = false
}
},
changeshow2(item, type){
if (type == 1) {
item.show = true
} else {
item.show = false
}
},
// 获取评分
getRatelist() {
if (this.ratelist.length == 0) {
@@ -1168,7 +1190,6 @@
}).then(res => {
if (res.length) {
let level1 = []
let level2rate = 0
res.forEach(item => {
if (item.pid == 0) {
level1.push({
@@ -1180,13 +1201,9 @@
ratepercent: 0,
children: []
})
} else {
if (item.selected == 0) {
level2rate += item.fraction
}
}
}
})
this.totalRate = level2rate
// this.totalRate = level2rate;
res.forEach(subitem => {
let subitempid = subitem.pid
level1.forEach(item => {
@@ -1199,12 +1216,31 @@
rate: subitem.fraction,
selected: subitem.selected,
name: subitem.name,
marketingId:subitem.marketingId
show: false,
marketingId:subitem.marketingId,
children: []
})
}
})
})
res.forEach(subitem => {
let subitempid = subitem.pid
level1.forEach(chen=>{
chen.children.forEach(zxc=>{
if(subitempid == zxc.marketingId){
zxc.children.push({
id: subitem.id,
rate: subitem.fraction,
selected: subitem.selected,
name: subitem.name,
marketingId:subitem.marketingId,
})
}
})
})
})
level1[0].show = true;
level1[0].children[0].show = true;
this.ratelist = level1
}
setTimeout(function() {
@@ -1906,103 +1942,6 @@
height: 34upx;
}
}
// 评分
.rate-box {
padding: 10rpx 20rpx;
.date {
width: 300rpx;
height: 33rpx;
font-size: 24rpx;
font-weight: 400;
color: #333333;
line-height: 33rpx;
letter-spacing: 1rpx;
margin-bottom: 8rpx;
}
.title {
width: 100%;
height: 42rpx;
font-size: 30rpx;
font-weight: 500;
color: #333333;
line-height: 42rpx;
letter-spacing: 2rpx;
margin-bottom: 20rpx;
}
.level1 {
display: flex;
align-items: center;
.level-name {
width: 104rpx;
height: 33rpx;
font-size: 24rpx;
font-weight: 500;
color: #333333;
line-height: 33rpx;
letter-spacing: 1rpx;
margin-right: 10rpx;
}
.level-progress {
flex: 1;
border-radius: 11rpx;
height: 21rpx;
background-color: #F2F2F2;
position: relative;
.color {
width: 0;
position: absolute;
top: 0;
left: 0;
height: 21rpx;
border-radius: 11rpx 0 0 11rpx;
background-color: #60D7A0;
}
}
.level-rate {
width: 65rpx;
height: 33rpx;
font-size: 24rpx;
font-weight: 500;
color: #333333;
line-height: 33rpx;
letter-spacing: 1rpx;
margin: 0 20rpx 0 15rpx;
}
.arrow {
width: 34rpx;
height:26rpx;
padding: 5rpx 20rpx;
}
.rotatearrow {
transform: rotate(270deg);
}
}
.level1-subbox {
display: flex;
margin-top: 20rpx;
flex-wrap: wrap;

.sub-name {
width: 50%;
display: flex;
margin-bottom: 18rpx;
.subitem-name {
width: 104rpx;
height: 33rpx;
font-size: 24rpx;
font-weight: 400;
color: #999999;
line-height: 33rpx;
letter-spacing: 1rpx;
margin-right: 12rpx;
}
.checkimg {
width: 27rpx;
height: 27rpx;
}
}
}
}
.jiangshang{
color: #2671E2;
background: #F4F8FD;
@@ -2065,4 +2004,148 @@
color: #FFFFFF;
border: none;
}
.Level-box{
padding-bottom: 2rpx;
.hhhbox{
width:100%;
padding-left: 30rpx;
padding-right: 30rpx;
border-bottom: 1rpx solid #E0E0E0;
background: #FFFFFF;
// padding-bottom: 32rpx;
.hsnrtest{
height: 24rpx;
font-size: 24rpx;
font-weight: 400;
color: #666666;
line-height: 24rpx;
}
.Level3che{
width:100%;
height:28rpx;
display: flex;
line-height: 28rpx;
align-items: center;
margin-top: 30rpx;
.title1{
flex: 1;
font-size: 28rpx;
color:#2671E2;
font-weight: 400;
}
.jiantobox{
width: 30rpx;
height: 30rpx;
display: flex;
align-items: center;
.arrow{
width: 28rpx;
height:28rpx;
}
}
}
}
.Level2che{
width:100%;
height: 88rpx;
display: flex;
line-height: 88rpx;
align-items: center;
.title1{
flex: 2;
font-size: 28rpx;
color: #333333;
font-weight: 400;
}
.leve1-jindu{
flex: 3;
display: flex;
justify-content: center;
align-items: center;
.zhixing{
width: 108rpx;
height: 44rpx;
background: #2671E2;
border-radius: 4rpx;
font-size: 28rpx;
text-align: center;
line-height: 44rpx;
color: #FFFFFF;
}
.zhixing2{
width: 108rpx;
height: 44rpx;
background: #F8F8F8;
border-radius: 4rpx;
font-size: 28rpx;
text-align: center;
line-height: 44rpx;
color: #999999;
}
}
.jiantobox{
width: 30rpx;
height: 30rpx;
display: flex;
align-items: center;
.arrow{
width: 30rpx;
height:18rpx;
}
}
}
.Level1che{
width:100%;
height: 94rpx;
background: #E0E0E0;
display: flex;
line-height: 94rpx;
align-items: center;
padding-left: 30rpx;
padding-right: 30rpx;
.title1{
flex: 2;
font-size: 30rpx;
color: #333333;
font-weight: 400;
}
.leve1-jindu{
flex: 3;
.jindutiao{
width: 96%;
height: 28rpx;
background: #D5EEE2;
line-height: 28rpx;
border-radius: 14rpx;
position: relative;
.huanxing{
height: 100%;
background: #4FC78F;
border-radius: 14rpx;
}
.text{
position: absolute;
top: 0rpx;
right: 0rpx;
font-size: 28rpx;
font-weight: 400;
color: #333333;
}
}
}
.jiantobox{
width: 30rpx;
height: 30rpx;
display: flex;
align-items: center;
.arrow{
width: 30rpx;
height:18rpx;
}
}
}
}
.rotatearrow {
transform: rotate(270deg);
}
</style>

+ 2
- 2
utils/http.js View File

@@ -1,7 +1,7 @@

// const baseUrl = 'http://121.42.63.138:9091/autoSR/api';// 测试站
const baseUrl = 'http://121.42.63.138:9091/autoSR/api';// 测试站
// const baseUrl = 'http://192.168.31.161:8080/autoSR/api'; // 长龙
const baseUrl = 'http://192.168.31.128:8080/autoSR/api'; // 佳豪
// const baseUrl = 'http://192.168.31.128:8080/autoSR/api'; // 佳豪
// const baseUrl = 'http://10.2.1.104:8081/autoSR/api'; // 刘敏
// const baseUrl = 'https://zkgj.quhouse.com/api'; // 质控正式
// const baseUrl = 'https://hfju.com/api'; // 数智正式


Loading…
Cancel
Save