wangxiaohua 3 years ago
parent
commit
9c347481de
7 changed files with 82 additions and 43 deletions
  1. +18
    -16
      pages/center/Piabodata/TrendAnalysis.vue
  2. +17
    -7
      pages/center/Piabodata/index.vue
  3. +2
    -2
      pages/center/consumer/consumerDetail.vue
  4. +10
    -0
      pages/center/consumer/edit.vue
  5. +6
    -5
      pages/center/consumer/index.vue
  6. +25
    -9
      pages/center/records/index.vue
  7. +4
    -4
      pages/index/customer.vue

+ 18
- 16
pages/center/Piabodata/TrendAnalysis.vue View File

@@ -54,7 +54,7 @@
</view> </view>
<view class="comparesize" v-if="compareFlag&&timepickpickisshow"> <view class="comparesize" v-if="compareFlag&&timepickpickisshow">
<text style="margin-right: 10rpx;">对比:{{item.num1}} </text> <text style="margin-right: 10rpx;">对比:{{item.num1}} </text>
<text :style="{color:item.num2*1>0?'red':'green'}">{{index==1?item.num2+'%':item.num2}}</text>
<text :style="{color:item.num2*1>0?'red':'green'}">{{index==1?item.num2+'%':item.num2}} {{item.num2*1>0?'↑':'↓'}}</text>
</view> </view>
</view> </view>
</view> </view>
@@ -166,7 +166,7 @@
style="border-right:1px solid #E0E0E0;">{{item1}}</view> style="border-right:1px solid #E0E0E0;">{{item1}}</view>
<view v-if="index>0 && index1==item.length-1" class="td" <view v-if="index>0 && index1==item.length-1" class="td"
style="border-right:1px solid #E0E0E0;" :style="{color:item1*1>0?'red':'green'}"> style="border-right:1px solid #E0E0E0;" :style="{color:item1*1>0?'red':'green'}">
{{item1==0?'--':item1+'%'}}</view>
{{item1==0?'--':item1+'%'}}{{item1*1>0?'↑':item1*1<0?'↓':''}}</view>
</view> </view>
</view> </view>
</view> </view>
@@ -177,7 +177,7 @@
<view class="tr" style="display: inline-block;"> <view class="tr" style="display: inline-block;">
<view v-for="(item1,index1) in item" :key="index1" class="trd" style="display: inline-block;"> <view v-for="(item1,index1) in item" :key="index1" class="trd" style="display: inline-block;">
<view v-if="index==1&&index1>0" class="td" :style="{color:item1*1>0?'red':'green'}" <view v-if="index==1&&index1>0" class="td" :style="{color:item1*1>0?'red':'green'}"
style="border-right:1px solid #E0E0E0;">{{item1==0?'--':item1+'%'}}</view>
style="border-right:1px solid #E0E0E0;">{{item1==0?'--':item1+'%'}}{{item1*1>0?'↑':item1*1<0?'↓':''}}</view>
<view v-else-if="index>1&&index1>0" class="td" style="border-right:1px solid #E0E0E0;"> <view v-else-if="index>1&&index1>0" class="td" style="border-right:1px solid #E0E0E0;">
{{item1+'%'}}</view> {{item1+'%'}}</view>
<view v-else class="td" style="border-right:1px solid #E0E0E0;">{{item1}}</view> <view v-else class="td" style="border-right:1px solid #E0E0E0;">{{item1}}</view>
@@ -603,8 +603,9 @@
data.firstValue.forEach((item, sdf) => { data.firstValue.forEach((item, sdf) => {
data.lastValue.forEach((child, zxc) => { data.lastValue.forEach((child, zxc) => {
if (sdf == zxc) { if (sdf == zxc) {
that.lineOptsect.categories.push(item.statDate.substring(5,
10) + 'vs' + child.statDate.substring(5, 10))
that.lineOptsect.categories.push(
child.statDate.substring(5,10) + 'vs' + item.statDate.substring(5, 10)
)
} }
}) })
}) })
@@ -622,8 +623,7 @@
// }, // },
] ]
that.lineOptsect.categories.map((item, index) => { that.lineOptsect.categories.map((item, index) => {
let newarr = [item, data.firstValue[index].fraction, data.lastValue[index]
.fraction, data.contrast[index].data
let newarr = [item, data.lastValue[index].fraction, data.firstValue[index].fraction,data.contrast[index].data
] ]
// obj.time=item // obj.time=item
// obj.time1=data.firstValue[index].fraction // obj.time1=data.firstValue[index].fraction
@@ -808,8 +808,9 @@
data.firstList.forEach((item, sdf) => { data.firstList.forEach((item, sdf) => {
data.lastList.forEach((child, zxc) => { data.lastList.forEach((child, zxc) => {
if (sdf == zxc) { if (sdf == zxc) {
this.lineOptsect.categories.push(item.statDate.substring(5,
10) + 'vs' + child.statDate.substring(5, 10))
this.lineOptsect.categories.push(
child.statDate.substring(5,10) + 'vs' + item.statDate.substring(5, 10)
)
} }
}) })
}) })
@@ -822,8 +823,8 @@
['时间', '时段一', '时段二', '变化'] ['时间', '时段一', '时段二', '变化']
] ]
that.lineOptsect.categories.map((item, index) => { that.lineOptsect.categories.map((item, index) => {
let newarr = [item, data.firstList[index].avgExecutionRate, data.lastList[
index].avgExecutionRate, data.contrast[index].data]
let newarr = [item, data.lastList[
index].avgExecutionRate, data.firstList[index].avgExecutionRate, data.contrast[index].data]
arr.push(newarr) arr.push(newarr)
}) })
// console.log(arr) // console.log(arr)
@@ -1035,8 +1036,9 @@
data.firstValue.receptionStatList.forEach((item, sdf) => { data.firstValue.receptionStatList.forEach((item, sdf) => {
data.lastValue.receptionStatList.forEach((child, zxc) => { data.lastValue.receptionStatList.forEach((child, zxc) => {
if (sdf == zxc) { if (sdf == zxc) {
that.lineOptsect.categories.push(item.statDate.substring(5,
10) + 'vs' + child.statDate.substring(5, 10))
that.lineOptsect.categories.push(
child.statDate.substring(5,10) + 'vs' + item.statDate.substring(5, 10)
)
} }
}) })
}) })
@@ -1048,7 +1050,7 @@
// 团队处理数据 // 团队处理数据
// // 处理表格数据 // // 处理表格数据
let arr = [ let arr = [
['时间', data.firstValue.deptName, data.lastValue.deptName, '变化']
['时间', '时段一', '时段二', '变化']
// { // {
// time:'时间', // time:'时间',
// time1:'时段一', // time1:'时段一',
@@ -1057,8 +1059,8 @@
// }, // },
] ]
that.lineOptsect.categories.map((item, index) => { that.lineOptsect.categories.map((item, index) => {
let newarr = [item, data.firstValue.receptionStatList[index].fraction, data
.lastValue.receptionStatList[index].fraction, data.contrast
let newarr = [item, data
.lastValue.receptionStatList[index].fraction, data.firstValue.receptionStatList[index].fraction,data.contrast
.receptionStatList[index].data .receptionStatList[index].data
] ]
// obj.time=item // obj.time=item


+ 17
- 7
pages/center/Piabodata/index.vue View File

@@ -75,7 +75,7 @@
<view class="heji">合计:50</view> <view class="heji">合计:50</view>
<view class="heji">均值:25</view> <view class="heji">均值:25</view>
</view> --> </view> -->
<!-- <view class="danwei">来访(人)</view> -->
<view class="danwei">{{danwei}} </view>
<view class="uchaserbox"> <view class="uchaserbox">
<qiun-data-charts <qiun-data-charts
type="line" type="line"
@@ -107,7 +107,7 @@
<view class="heji">合计:{{allnum||0}}</view> <view class="heji">合计:{{allnum||0}}</view>
<view class="heji">均值:{{allavg||0}}</view> <view class="heji">均值:{{allavg||0}}</view>
</view> --> </view> -->
<!-- <view class="danwei">来访(人)</view> -->
<view class="danwei">单位(%)</view>
<view class="uchaserbox"> <view class="uchaserbox">
<qiun-data-charts <qiun-data-charts
type="line" type="line"
@@ -139,7 +139,7 @@
<view class="heji">合计:{{allnum1||0}}</view> <view class="heji">合计:{{allnum1||0}}</view>
<view class="heji">均值:{{allavg1||0}}</view> <view class="heji">均值:{{allavg1||0}}</view>
</view> --> </view> -->
<!-- <view class="danwei">来访(人)</view> -->
<view class="danwei">单位(%)</view>
<view class="uchaserbox"> <view class="uchaserbox">
<qiun-data-charts <qiun-data-charts
type="line" type="line"
@@ -171,7 +171,7 @@
<view class="heji">均值:25</view> <view class="heji">均值:25</view>
</view> --> </view> -->


<view class="jindu">
<view class="jindu" style="margin-top: 20rpx;">
<scroll-view style="height: 300rpx;" scroll-y="true" > <scroll-view style="height: 300rpx;" scroll-y="true" >
<view class="jindu-box" v-for="(item,index) in newlisttabinfo" :key="index"> <view class="jindu-box" v-for="(item,index) in newlisttabinfo" :key="index">
<view class="jindu-boxche"> <view class="jindu-boxche">
@@ -221,7 +221,7 @@


<script> <script>
var app = getApp(); var app = getApp();
var util = require("../../../utils/util.js");
// var util = require("../../../utils/util.js");
var config = require("../../../config"); var config = require("../../../config");
export default { export default {
data() { data() {
@@ -256,13 +256,14 @@
allavg:'', allavg:'',
allnum1:'', allnum1:'',
allavg1:'', allavg1:'',
danwei:'单位(次)',
totalTimeShow: false, totalTimeShow: false,
activeTab: 0, activeTab: 0,
numlist:[ numlist:[
{name:'接待量',num:'10'}, {name:'接待量',num:'10'},
{name:'接待客户',num:'10'}, {name:'接待客户',num:'10'},
{name:'平均执行率',num:'10'}, {name:'平均执行率',num:'10'},
{name:'录音时长',num:'10'},
{name:'接待时长',num:'10'},
], ],
lineOptsect:{ lineOptsect:{
"categories": ["2016","2017","2018","2019","2020","2021"], "categories": ["2016","2017","2018","2019","2020","2021"],
@@ -429,7 +430,8 @@
// 执行率 // 执行率
this.numlist[2].num=(res.fraction||0)+'%' this.numlist[2].num=(res.fraction||0)+'%'
// 录音时长 // 录音时长
this.numlist[3].num=util.formatSecond(res.sumDuration)||0
this.numlist[3].num=Math.floor(res.sumDuration/60) ||0
// util.formatSecond()||0
}) })
}, },
@@ -575,24 +577,32 @@
} }
if(index==0){ if(index==0){
// 接待量 // 接待量
this.danwei='单位(次)'
allobj.series[0].name='接待量'
this.allechar.map(item=>{ this.allechar.map(item=>{
allobj.categories.push(item.statDate.slice(5,10)) allobj.categories.push(item.statDate.slice(5,10))
allobj.series[0].data.push(item.receptionCount) allobj.series[0].data.push(item.receptionCount)
}) })
}else if(index==1){ }else if(index==1){
// 平均执行率 // 平均执行率
this.danwei='单位(%)'
allobj.series[0].name='平均执行率'
this.allechar.map(item=>{ this.allechar.map(item=>{
allobj.categories.push(item.statDate.slice(5,10)) allobj.categories.push(item.statDate.slice(5,10))
allobj.series[0].data.push(item.fraction) allobj.series[0].data.push(item.fraction)
}) })
}else if(index==2){ }else if(index==2){
// 接待客户 // 接待客户
this.danwei='单位(个)'
allobj.series[0].name='接待客户'
this.allechar.map(item=>{ this.allechar.map(item=>{
allobj.categories.push(item.statDate.slice(5,10)) allobj.categories.push(item.statDate.slice(5,10))
allobj.series[0].data.push(item.sumCustomer) allobj.series[0].data.push(item.sumCustomer)
}) })
}else{ }else{
// 录音时长 // 录音时长
this.danwei='单位(min)'
allobj.series[0].name='录音时长'
this.allechar.map(item=>{ this.allechar.map(item=>{
allobj.categories.push(item.statDate.slice(5,10)) allobj.categories.push(item.statDate.slice(5,10))
allobj.series[0].data.push(item.sumDuration) allobj.series[0].data.push(item.sumDuration)


+ 2
- 2
pages/center/consumer/consumerDetail.vue View File

@@ -39,7 +39,7 @@
</view> </view>
<view class="content-sec-num"> <view class="content-sec-num">
<view class="">{{customerInfo.visitRecord || '--'}}次到访</view> <view class="">{{customerInfo.visitRecord || '--'}}次到访</view>
<view class="">{{customerInfo.fraction || '0'}}% | {{customerInfo.mm || '0'}}</view>
<view class="">{{customerInfo.fraction || '0'}}% | {{customerInfo.mm || '0'}}<text style="font-size: 24rpx;">min</text></view>
</view> </view>
</view> </view>
<view class="content-last"> <view class="content-last">
@@ -681,7 +681,7 @@
} }
.content-sec-num{ .content-sec-num{
position: absolute; position: absolute;
width: 190rpx;
width: 200rpx;
height: 90rpx; height: 90rpx;
background: #F4F8FD; background: #F4F8FD;
border-radius: 12rpx; border-radius: 12rpx;


+ 10
- 0
pages/center/consumer/edit.vue View File

@@ -28,6 +28,16 @@
<u-radio name="2" shape='circle'>女</u-radio> <u-radio name="2" shape='circle'>女</u-radio>
</view> </view>
</u-radio-group> </u-radio-group>
<!-- <view class="con-msg-con">
<view class="con-msg-con">
<view class="chebox" >
</view>
<view class="chebox" >
</view>
</view>
</view> -->
</view> </view>
</view> </view>
<view class="conmsg-msg-lab"> <view class="conmsg-msg-lab">


+ 6
- 5
pages/center/consumer/index.vue View File

@@ -58,7 +58,7 @@
</view> </view>
<view class="content-sec-num"> <view class="content-sec-num">
<view class="">{{item.visitRecord || '--'}}次到访</view> <view class="">{{item.visitRecord || '--'}}次到访</view>
<view class="">{{item.fraction || '0'}}% | {{item.mm || '0'}}</view>
<view class="">{{item.fraction || '0'}}% | {{item.mm || '0'}}<text style="font-size: 24rpx;">min</text></view>
</view> </view>
</view> </view>
<view class="content-last" v-if="item.isshow==true"> <view class="content-last" v-if="item.isshow==true">
@@ -476,7 +476,7 @@
} }
.content-sec-num{ .content-sec-num{
position: absolute; position: absolute;
width: 190rpx;
width: 200rpx;
height: 90rpx; height: 90rpx;
background: #F4F8FD; background: #F4F8FD;
border-radius: 12rpx; border-radius: 12rpx;
@@ -516,7 +516,7 @@
// padding: 40rpx 30rpx 36rpx 30rpx; // padding: 40rpx 30rpx 36rpx 30rpx;
padding: 0 30rpx; padding: 0 30rpx;
box-sizing: border-box; box-sizing: border-box;
border-bottom: 1px solid #CCCCCC;
border-bottom: 1px solid #E0E0E0;
.screen-text{ .screen-text{
margin: 40rpx 0 36rpx 0; margin: 40rpx 0 36rpx 0;
font-size: 30rpx; font-size: 30rpx;
@@ -545,7 +545,7 @@
overflow: hidden; overflow: hidden;
padding: 0 30rpx; padding: 0 30rpx;
box-sizing: border-box; box-sizing: border-box;
border-bottom: 1px solid #CCCCCC;
border-bottom: 1px solid #E0E0E0;
.screen-record-text{ .screen-record-text{
margin-top: 36rpx; margin-top: 36rpx;
font-size: 30rpx; font-size: 30rpx;
@@ -560,12 +560,13 @@
.screen-record-chose{ .screen-record-chose{
width: 156rpx; width: 156rpx;
height: 60rpx; height: 60rpx;
background: #FFFFFF;
background: #2671E2;
border-radius: 4rpx; border-radius: 4rpx;
border: 1px solid #2671E2; border: 1px solid #2671E2;
text-align: center; text-align: center;
line-height: 60rpx; line-height: 60rpx;
margin-right: 22rpx; margin-right: 22rpx;
color: #FFFFFF;
} }
.screen-record-nochose{ .screen-record-nochose{
width: 156rpx; width: 156rpx;


+ 25
- 9
pages/center/records/index.vue View File

@@ -56,11 +56,12 @@
<view class="arriveNum">{{item.visitRecord || "--"}}次到访</view> <view class="arriveNum">{{item.visitRecord || "--"}}次到访</view>
</view> </view>
<view class="right"> <view class="right">
{{item.fraction || '0'}}% | {{item.fraction || '0'}}分
<!-- {{item.fraction || '0'}}% | {{item.fraction || '0'}}分 -->
{{item.fraction || '0'}}%
</view> </view>
</view> </view>
<view class="content-last"> <view class="content-last">
{{item.createTime}} | {{item.mm || '0'}}分钟
{{item.createTime}} | {{item.mm || '0'}} min
</view> </view>
</view> </view>
@@ -100,10 +101,10 @@
标记顾问 标记顾问
</view> </view>
<view class="screen-record-tab"> <view class="screen-record-tab">
<view :class="[screen.markAdvisor==1?'screen-record-chose':'screen-record-nochose']" @click="screen.markAdvisor=1">
<view :class="[screen.markAdvisor==1?'screen-record-chose':'screen-record-nochose']" @click="screenvisitRecord(1)">
标记 标记
</view> </view>
<view :class="[screen.markAdvisor==0?'screen-record-chose':'screen-record-nochose']" @click="screen.markAdvisor=0">
<view :class="[screen.markAdvisor==0?'screen-record-chose':'screen-record-nochose']" @click="screenvisitRecord(0)">
未标记 未标记
</view> </view>
</view> </view>
@@ -113,16 +114,16 @@
到访次数 到访次数
</view> </view>
<view class="screen-record-tab"> <view class="screen-record-tab">
<view :class="[screen.visitRecord==1?'screen-record-chose':'screen-record-nochose']" @click="screen.visitRecord=1">
<view :class="[screen.visitRecord==1?'screen-record-chose':'screen-record-nochose']" @click="recordclick(1)">
首次到访 首次到访
</view> </view>
<view :class="[screen.visitRecord==2?'screen-record-chose':'screen-record-nochose']" @click="screen.visitRecord=2">
<view :class="[screen.visitRecord==2?'screen-record-chose':'screen-record-nochose']" @click="recordclick(2)">
第二次 第二次
</view> </view>
<view :class="[screen.visitRecord==3?'screen-record-chose':'screen-record-nochose']" @click="screen.visitRecord=3">
<view :class="[screen.visitRecord==3?'screen-record-chose':'screen-record-nochose']" @click="recordclick(3)">
第三次 第三次
</view> </view>
<view :class="[screen.visitRecord==4?'screen-record-chose':'screen-record-nochose']" @click="screen.visitRecord=4">
<view :class="[screen.visitRecord==4?'screen-record-chose':'screen-record-nochose']" @click="recordclick(4)">
三次以上 三次以上
</view> </view>
</view> </view>
@@ -318,6 +319,20 @@
this.recordList=[]; this.recordList=[];
this.getMyCustom(); this.getMyCustom();
}, },
recordclick(i){
if(this.screen.visitRecord==i){
this.screen.visitRecord=null
}else{
this.screen.visitRecord=i
}
},
screenvisitRecord(i){
if(this.screen.markAdvisor==i){
this.screen.markAdvisor=null
}else{
this.screen.markAdvisor=i
}
},
screensure(){ screensure(){
this.screenShow=false; this.screenShow=false;
this.recordList=[]; this.recordList=[];
@@ -533,12 +548,13 @@
.screen-record-chose{ .screen-record-chose{
width: 156rpx; width: 156rpx;
height: 60rpx; height: 60rpx;
background: #FFFFFF;
background: #2671E2;
border-radius: 4rpx; border-radius: 4rpx;
border: 1px solid #2671E2; border: 1px solid #2671E2;
text-align: center; text-align: center;
line-height: 60rpx; line-height: 60rpx;
margin-right: 22rpx; margin-right: 22rpx;
color: #FFFFFF;
} }
.screen-record-nochose{ .screen-record-nochose{
width: 156rpx; width: 156rpx;


+ 4
- 4
pages/index/customer.vue View File

@@ -23,12 +23,12 @@
<view class="centerbox" v-if="item.status!=0"> <view class="centerbox" v-if="item.status!=0">
<view class="centerbox-che">手机号码:<text class="shizai">{{item.phone || "--"}}</text></view> <view class="centerbox-che">手机号码:<text class="shizai">{{item.phone || "--"}}</text></view>
<view class="centerbox-che">开始时间:<text class="shizai">{{item.createTime}}</text></view> <view class="centerbox-che">开始时间:<text class="shizai">{{item.createTime}}</text></view>
<view class="centerbox-che">顾问姓名:<text class="shizai">{{item.agentName}}</text></view>
<view class="centerbox-che">顾问姓名:<text class="shizai" style="color: #333333;">{{item.agentName}}</text></view>
<view class="centerbox-che2" v-if="item.zkEquipmentState.audioStatus!='' && item.zkEquipmentState!=null"> <view class="centerbox-che2" v-if="item.zkEquipmentState.audioStatus!='' && item.zkEquipmentState!=null">
<view class="Workcard">工牌电量:<text class="shizai">{{item.zkEquipmentState.electricity}}%</text></view>
<view class="Workcard">工牌电量:<text class="shizai" style="color: #333333;">{{item.zkEquipmentState.electricity}}%</text></view>
<view class="Workcard">录音状态: <view class="Workcard">录音状态:
<text v-if="item.zkEquipmentState.audioStatus=='true'" class="shizai">使用中</text>
<text v-if="item.zkEquipmentState.audioStatus=='false'" class="shizai">未使用</text>
<text v-if="item.zkEquipmentState.audioStatus=='true'" class="shizai" style="color: #333333;">使用中</text>
<text v-if="item.zkEquipmentState.audioStatus=='false'" class="shizai" style="color: #333333;">未使用</text>
</view> </view>
</view> </view>
</view> </view>


Loading…
Cancel
Save