@@ -22,19 +22,22 @@ | |||
<view class="title1">接待量(TOP10)</view> | |||
</view> | |||
<view class="hejibox"> | |||
<view class="heji">合计:50</view> | |||
<view class="heji">均值:25</view> | |||
<view class="heji">楼盘:{{newTeam1||0}}</view> | |||
<view class="heji">均值:{{newAvg1||0}}</view> | |||
</view> | |||
<view class="jindu"> | |||
<view class="jindu-box" v-for="(item,index) in newlisttabinfo1" :key="index"> | |||
<view class="jindu-boxche"> | |||
<view class="jindu-name">{{item.name.substring(0, 4)}}</view> | |||
<view style="width: 440rpx;margin-left: 10rpx;"> | |||
<u-line-progress height="24" :show-percent="false" active-color="#FBA448" :percent="item.zxl"></u-line-progress> | |||
<scroll-view style="height: 300rpx;" scroll-y="true" > | |||
<view class="jindu-box" v-for="(item,index) in newlisttabinfo1" :key="index"> | |||
<view class="jindu-boxche"> | |||
<view class="jindu-name">{{item.name.substring(0, 4)}}</view> | |||
<view style="width: 440rpx;margin-left: 10rpx;"> | |||
<u-line-progress height="24" :show-percent="false" active-color="#FBA448" :percent="item.zxl"></u-line-progress> | |||
</view> | |||
<view class="jindu-zxl">{{item.zxl==null?0:item.zxl}}</view> | |||
</view> | |||
<view class="jindu-zxl">{{item.zxl==null?0:item.zxl}}</view> | |||
</view> | |||
</view> | |||
</scroll-view> | |||
</view> | |||
</view> | |||
@@ -44,19 +47,21 @@ | |||
<view class="title1">接待时长(TOP10)</view> | |||
</view> | |||
<view class="hejibox"> | |||
<view class="heji">合计:50</view> | |||
<view class="heji">均值:25</view> | |||
<view class="heji">楼盘:{{newTeam2||0}}</view> | |||
<view class="heji">均值:{{newAvg2||0}}</view> | |||
</view> | |||
<view class="jindu"> | |||
<view class="jindu-box" v-for="(item,index) in newlisttabinfo2" :key="index"> | |||
<view class="jindu-boxche"> | |||
<view class="jindu-name">{{item.name.substring(0, 4)}}</view> | |||
<view style="width: 440rpx;margin-left: 10rpx;"> | |||
<u-line-progress height="24" :show-percent="false" active-color="#4FC78F" :percent="item.zxl"></u-line-progress> | |||
<scroll-view style="height: 300rpx;" scroll-y="true" > | |||
<view class="jindu-box" v-for="(item,index) in newlisttabinfo2" :key="index"> | |||
<view class="jindu-boxche"> | |||
<view class="jindu-name">{{item.name.substring(0, 4)}}</view> | |||
<view style="width: 440rpx;margin-left: 10rpx;"> | |||
<u-line-progress height="24" :show-percent="false" active-color="#4FC78F" :percent="item.zxl"></u-line-progress> | |||
</view> | |||
<view class="jindu-zxl">{{item.zxl==null?0:item.zxl}}</view> | |||
</view> | |||
<view class="jindu-zxl">{{item.zxl==null?0:item.zxl}}</view> | |||
</view> | |||
</view> | |||
</scroll-view> | |||
</view> | |||
</view> | |||
@@ -64,30 +69,32 @@ | |||
<view class="single"> | |||
<view class="title"> | |||
<view class="title1" style="flex: 1;">销讲排名(TOP10)</view> | |||
<view class="title3" style="flex: 1;"> | |||
<!-- <view class="title3" style="flex: 1;"> | |||
<view class="title3-box"> | |||
<view style="height: 42rpx;" :class="{ activecltab: activeTotal2 == 0 }">执行率</view> | |||
</view> | |||
<view class="title3-box"> | |||
<view style="height: 42rpx;" :class="{ activecltab: activeTotal2 == 1 }">得分</view> | |||
</view> | |||
</view> | |||
</view> --> | |||
</view> | |||
<view class="hejibox"> | |||
<view class="heji">合计:50</view> | |||
<view class="heji">均值:25</view> | |||
<view class="heji">楼盘:{{newTeam3||0}}</view> | |||
<view class="heji">均值:{{newAvg3||0}}</view> | |||
</view> | |||
<view class="jindu"> | |||
<view class="jindu-box" v-for="(item,index) in newlisttabinfo3" :key="index"> | |||
<view class="jindu-boxche"> | |||
<view class="jindu-name">{{item.name.substring(0, 4)}}</view> | |||
<view style="width: 440rpx;margin-left: 10rpx;"> | |||
<u-line-progress height="24" :show-percent="false" active-color="#9B6BDF" :percent="item.zxl"></u-line-progress> | |||
<scroll-view style="height: 300rpx;" scroll-y="true" > | |||
<view class="jindu-box" v-for="(item,index) in newlisttabinfo3" :key="index"> | |||
<view class="jindu-boxche"> | |||
<view class="jindu-name">{{item.name.substring(0, 4)}}</view> | |||
<view style="width: 440rpx;margin-left: 10rpx;"> | |||
<u-line-progress height="24" :show-percent="false" active-color="#9B6BDF" :percent="item.zxl"></u-line-progress> | |||
</view> | |||
<view class="jindu-zxl">{{item.zxl==null?0:item.zxl}}</view> | |||
</view> | |||
<view class="jindu-zxl">{{item.zxl==null?0:item.zxl}}</view> | |||
</view> | |||
</view> | |||
</scroll-view> | |||
</view> | |||
</view> | |||
@@ -95,30 +102,33 @@ | |||
<view class="single"> | |||
<view class="title"> | |||
<view class="title1" style="flex: 1;">顾问排名(TOP10)</view> | |||
<view class="title3" style="flex: 1;"> | |||
<!-- <view class="title3" style="flex: 1;"> | |||
<view class="title3-box"> | |||
<view style="height: 42rpx;" :class="{ activecltab: activeTotal2 == 0 }">执行率</view> | |||
</view> | |||
<view class="title3-box"> | |||
<view style="height: 42rpx;" :class="{ activecltab: activeTotal2 == 1 }">得分</view> | |||
</view> | |||
</view> | |||
</view> --> | |||
</view> | |||
<view class="hejibox"> | |||
<view class="heji">合计:50</view> | |||
<view class="heji">均值:25</view> | |||
<view class="heji">楼盘:{{newTeam4||0}}</view> | |||
<view class="heji">均值:{{newAvg4||0}}</view> | |||
</view> | |||
<view class="jindu"> | |||
<view class="jindu-box" v-for="(item,index) in newlisttabinfo4" :key="index"> | |||
<view class="jindu-boxche"> | |||
<view class="jindu-name">{{item.name.substring(0, 4)}}</view> | |||
<view style="width: 440rpx;margin-left: 10rpx;"> | |||
<u-line-progress height="24" :show-percent="false" active-color="#9B6BDF" :percent="item.zxl"></u-line-progress> | |||
<scroll-view style="height: 300rpx;" scroll-y="true" > | |||
<view class="jindu-box" v-for="(item,index) in newlisttabinfo4" :key="index"> | |||
<view class="jindu-boxche"> | |||
<view class="jindu-name">{{item.name.substring(0, 4)}}</view> | |||
<view style="width: 440rpx;margin-left: 10rpx;"> | |||
<u-line-progress height="24" :show-percent="false" active-color="#9B6BDF" :percent="item.zxl"></u-line-progress> | |||
</view> | |||
<view class="jindu-zxl">{{item.zxl==null?0:item.zxl}}</view> | |||
</view> | |||
<view class="jindu-zxl">{{item.zxl==null?0:item.zxl}}</view> | |||
</view> | |||
</view> | |||
</scroll-view> | |||
</view> | |||
</view> | |||
@@ -126,16 +136,16 @@ | |||
<view class="single"> | |||
<view class="title" style="padding-right: 30rpx;"> | |||
<view class="title1" style="flex: 1;">销奖能力(TOP10)</view> | |||
<view class="title2" style="flex: 1;justify-content: flex-end;"> | |||
<view class="title2" style="flex: 1;justify-content: flex-end;" @click="Groupcontrast"> | |||
<view class="title2-che">楼盘 | |||
<image class="righttochoose" src="../../../static/images/righttochoose.png" mode=""></image> | |||
</view> | |||
</view> | |||
</view> | |||
<view class="hejibox"> | |||
<view class="heji">合计:50</view> | |||
<!-- <view class="hejibox"> | |||
<view class="heji">楼盘:50</view> | |||
<view class="heji">均值:25</view> | |||
</view> | |||
</view> --> | |||
<view class="uchaserbox"> | |||
<qiun-data-charts | |||
type="radar" | |||
@@ -216,6 +226,14 @@ | |||
houseId:'', | |||
lastStartDate:'', | |||
lastEndDate :'', | |||
newTeam1:'', | |||
newAvg1:'', | |||
newTeam2:'', | |||
newAvg2:'', | |||
newTeam3:'', | |||
newAvg3:'', | |||
newTeam4:'', | |||
newAvg4:'', | |||
newlisttabinfo1:[ | |||
{name:'接待量',zxl:'10'}, | |||
{name:'平均执行率',zxl:'50'}, | |||
@@ -251,21 +269,31 @@ | |||
onLoad() { | |||
let that=this | |||
uni.$on('updateGroup',function(data){ | |||
// console.log(data) | |||
that.deptids=data.arr.join(',') | |||
console.log(data) | |||
that.houseId=data.arr.join(',') | |||
// 获取销奖能力 | |||
that.getPowerList() | |||
}) | |||
// this.buildingname = uni.getStorageSync('buildingID').name; | |||
// 请求接口获取接待量 | |||
this.receptionCountList('1','/cusLvStatistics/groupComparisonReception') | |||
this.getdata() | |||
}, | |||
methods: { | |||
//指标执行率分析tab | |||
tapspagek2(index) { | |||
this.bocindex = index; | |||
}, | |||
//时间切换 | |||
getdata(){ | |||
// 请求接口获取接待量 | |||
this.receptionCountList('1','/cusLvStatistics/groupComparisonReception') | |||
// 接待时长 | |||
this.receptionCountList('2','/cusLvStatistics/groupComparisonReceptionTime') | |||
// 小将排名 | |||
this.receptionCountList('3','/cusLvStatistics/groupComparisonTalkRank') | |||
// 顾问牌名 | |||
this.receptionCountList('4','/cusLvStatistics/groupComparisonTalkRankByConsultant') | |||
// 销奖能力 | |||
this.getPowerList() | |||
}, | |||
//时间切换 | |||
tabtimetap(index) { | |||
if (index == 3) { | |||
@@ -274,6 +302,7 @@ | |||
this.activeTotal = index; | |||
this.lastEndDate='' | |||
this.lastStartDate='' | |||
this.getdata() | |||
// // 获取数据 | |||
// // 团队对比接待量 | |||
// this.receptionCountList(0,1,'/cusLvStatistics/teamAnalysisReception') | |||
@@ -293,7 +322,7 @@ | |||
lastStartDate:this.lastStartDate | |||
}) | |||
.then(res=>{ | |||
console.log(res) | |||
// console.log(res) | |||
let result=res.result | |||
this['newTeam'+index]=res.avg[0] | |||
this['newAvg'+index]=res.avg[1] | |||
@@ -313,15 +342,56 @@ | |||
}) | |||
}) | |||
}, | |||
// 获取销奖能力 | |||
getPowerList(){ | |||
this.$u.post('/cusLvStatistics/groupComparisonMarketingAbility',{ | |||
houseIds:this.houseId, | |||
timeType:this.lastEndDate?null:this.activeTotal+'', | |||
lastEndDate:this.lastEndDate, | |||
lastStartDate:this.lastStartDate | |||
}) | |||
.then(res=>{ | |||
// console.log(res,123) | |||
// 处理数据 | |||
// return | |||
this.chartData={ | |||
categories:[], | |||
series:[] | |||
} | |||
let allobj={ | |||
categories:[], | |||
series:[] | |||
} | |||
res.result.map((item,index)=>{ | |||
let obj={ | |||
name:item[0].houseName, | |||
data:[] | |||
} | |||
item.map(item1=>{ | |||
if(index==0){ | |||
allobj.categories.push(item1.name) | |||
} | |||
obj.data.push(item1.avgExecutionRate) | |||
}) | |||
allobj.series.push(obj) | |||
}) | |||
// console.log(allobj) | |||
this.chartData=allobj | |||
this.$forceUpdate() | |||
}) | |||
}, | |||
//自定义时间 | |||
totalTimeChange(e) { | |||
console.log(e.startDate, e.endDate) | |||
this.activeTotal=3; | |||
this.lastEndDate=e.endDate | |||
this.lastStartDate=e.startDate | |||
this.getdata() | |||
}, | |||
//集团对比 | |||
Groupcontrast(){ | |||
uni.navigateTo({ | |||
url: '/pages/center/Piabodata/Groupcontrast' | |||
url: `/pages/center/Piabodata/selectGroup?ids=${this.houseId}` | |||
}); | |||
} | |||
} | |||
@@ -42,8 +42,8 @@ | |||
<view class="title1" style="flex: 1;">接待量</view> | |||
</view> | |||
<view class="hejibox"> | |||
<view class="heji" v-if="timepickpickisshow">{{staff2.label}}:50</view> | |||
<view class="heji">{{staff1.label}}:25</view> | |||
<view class="heji" v-if="timepickpickisshow">{{staff2.label}}:{{ newAvg1||0}}</view> | |||
<view class="heji">{{staff1.label}}:{{newTeam1||0}}</view> | |||
</view> | |||
<view class="danwei">来访(人)</view> | |||
<view class="uchaserbox"> | |||
@@ -72,22 +72,52 @@ | |||
</view> | |||
</view> | |||
<view class="hejibox"> | |||
<view class="heji" v-if="timepickpickisshow">{{staff2.label}}:50</view> | |||
<view class="heji">{{staff1.label}}:25</view> | |||
<view class="heji" v-if="timepickpickisshow">{{staff2.label}}:{{newAvg2||0}}</view> | |||
<view class="heji">{{staff1.label}}:{{ newTeam2||0}}</view> | |||
</view> | |||
<view class="danwei">来访(人)</view> | |||
<view class="danwei">录音时长</view> | |||
<view class="uchaserbox"> | |||
<qiun-data-charts | |||
type="line" | |||
:chartData="lineOptsect1" | |||
background="none" | |||
:ontouch="true" | |||
canvasId="wangxiaohuaerlingeryilingwuyibhh" | |||
canvasId="wangxiaouaerlingeryilingwuyibhh" | |||
:canvas2d="true" | |||
/> | |||
</view> | |||
</view> | |||
<view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view> | |||
<view class="single"> | |||
<view class="title"> | |||
<view class="title1" style="flex: 1;">销奖趋势</view> | |||
<view class="title3" style="flex: 1;"> | |||
<!-- <view class="title3-box" style="width: 40%;" @click="tabtimetap1(0)"> | |||
<view style="height: 42rpx;" :class="{ activecltab: activeTotal2 == 0 }">有效录音</view> | |||
</view> | |||
<view class="title3-box" style="width: 40%;"@click="tabtimetap1(1)"> | |||
<view style="height: 42rpx;" :class="{ activecltab: activeTotal2 == 1 }">录音时长</view> | |||
</view> --> | |||
</view> | |||
</view> | |||
<view class="hejibox"> | |||
<view class="heji" v-if="timepickpickisshow">{{staff2.label}}:{{newAvg3||0}}</view> | |||
<view class="heji">{{staff1.label}}:{{newTeam3||0}}</view> | |||
</view> | |||
<view class="danwei">录音时长</view> | |||
<view class="uchaserbox"> | |||
<qiun-data-charts | |||
type="line" | |||
:chartData="lineOptsect2" | |||
background="none" | |||
:ontouch="true" | |||
canvasId="wangxiaohuaerlingryilingwuyibhh" | |||
:canvas2d="true" | |||
/> | |||
</view> | |||
</view> | |||
<view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view> | |||
<view class="single"> | |||
<view class="title" style="padding-right: 30rpx;"> | |||
@@ -98,7 +128,7 @@ | |||
type="radar" | |||
:chartData="chartData" | |||
:canvas2d="true" | |||
canvasId="wangxiaohuaerlingeryilingwuycsdx" | |||
canvasId="wangxiaohuaerlingeryilinwuycsdx" | |||
background="none" | |||
/> | |||
</view> | |||
@@ -126,6 +156,12 @@ | |||
staffList1:[], | |||
staffShow:false, | |||
staffShow1:false, | |||
newTeam1:'', | |||
newAvg1:'', | |||
newTeam2:'', | |||
newAvg2:'', | |||
newTeam3:'', | |||
newAvg3:'', | |||
staff1:{ | |||
value:'', | |||
label:'' | |||
@@ -164,6 +200,19 @@ | |||
} | |||
] | |||
}, | |||
lineOptsect2:{ | |||
"categories": ["2016","2017","2018","2019","2020","2021"], | |||
"series": [ | |||
{ | |||
"name": "成交量1", | |||
"data": [35,8,25,37,4,20] | |||
}, | |||
{ | |||
"name": "成交量2", | |||
"data": [40,18,45,44,10,60] | |||
} | |||
] | |||
}, | |||
chartData:{ | |||
"categories": ["维度1","维度2","维度3","维度4","维度5","维度6"], | |||
"series": [ | |||
@@ -190,9 +239,11 @@ | |||
this.timepickpickisshow=!this.timepickpickisshow; | |||
this.staff2.value='' | |||
this.staff2.label='平均' | |||
this.getreception() | |||
this.getRecordList() | |||
this.getAwardList() | |||
// this.getreception() | |||
// this.getRecordList() | |||
// this.getAwardList() | |||
// this.getAward() | |||
this.getdata() | |||
}, | |||
// 点击员工对比 | |||
chiocStaff(idx){ | |||
@@ -225,11 +276,20 @@ | |||
label:'平均' | |||
}) | |||
this.staff1=this.staffList[0] | |||
this.getreception() | |||
this.getRecordList() | |||
this.getAwardList() | |||
// this.getreception() | |||
// this.getRecordList() | |||
// this.getAwardList() | |||
// this.getAward() | |||
this.getdata() | |||
}) | |||
}, | |||
getdata(){ | |||
this.getreception() | |||
this.getRecordList() | |||
this.getAward() | |||
this.getAwardList() | |||
}, | |||
// 获取接待量数据 | |||
getreception(){ | |||
this.$u.post('/cusLvStatistics/employeeAnalysisReception',{ | |||
@@ -241,29 +301,31 @@ | |||
lastStartDate:this.lastStartDate | |||
}) | |||
.then(res=>{ | |||
console.log(res) | |||
this.newTeam1=res.avg[0] | |||
this.newAvg1=res.avg[1] | |||
// console.log(res) | |||
let first=res.first | |||
let second=res.second | |||
this.lineOptsect.categories=[] | |||
if(!this.timepickpickisshow){ | |||
this.lineOptsect.series=[ | |||
{ | |||
name:'成交量', | |||
name:first[0].accountName, | |||
data:[] | |||
} | |||
] | |||
first.map(item=>{ | |||
this.lineOptsect.categories.push(item.statDate.slice(5,10)) | |||
this.lineOptsect.series[0].data.push(item.sumCustomer) | |||
this.lineOptsect.series[0].data.push(item.sumCustomer||0) | |||
}) | |||
}else{ | |||
this.lineOptsect.series=[ | |||
{ | |||
name:'成交量1', | |||
name:first[0].accountName, | |||
data:[] | |||
}, | |||
{ | |||
"name": "成交量2", | |||
"name": second[0].accountName, | |||
"data": [] | |||
} | |||
] | |||
@@ -275,7 +337,58 @@ | |||
this.lineOptsect.series[1].data.push(item.sumCustomer) | |||
}) | |||
} | |||
// console.log(this.lineOptsect,'1') | |||
}) | |||
}, | |||
// 销奖趋势 | |||
getAward(){ | |||
this.$u.post('/cusLvStatistics/employeeAnalysisExacutiveRate',{ | |||
userA:this.staff1.value, | |||
userB:this.staff2.value, | |||
houseId:this.houseId, | |||
timeType:this.lastEndDate?null:this.activeTotal+'', | |||
lastEndDate:this.lastEndDate, | |||
lastStartDate:this.lastStartDate | |||
}) | |||
.then(res=>{ | |||
this.newTeam3=res.avg[0] | |||
this.newAvg3=res.avg[1] | |||
// console.log(res) | |||
let first=res.first | |||
let second=res.second | |||
this.lineOptsect2.categories=[] | |||
if(!this.timepickpickisshow){ | |||
this.lineOptsect2.series=[ | |||
{ | |||
name:first[0].accountName, | |||
data:[] | |||
} | |||
] | |||
first.map(item=>{ | |||
// console.log(item) | |||
this.lineOptsect2.categories.push(item.statDate.slice(5,10)) | |||
this.lineOptsect2.series[0].data.push(item.sumFraction) | |||
}) | |||
}else{ | |||
this.lineOptsect2.series=[ | |||
{ | |||
name:first[0].accountName, | |||
data:[] | |||
}, | |||
{ | |||
"name": second[0].accountName, | |||
"data": [] | |||
} | |||
] | |||
first.map(item=>{ | |||
this.lineOptsect2.categories.push(item.statDate.slice(5,10)) | |||
this.lineOptsect2.series[0].data.push(item.sumFraction) | |||
}) | |||
second.map(item=>{ | |||
this.lineOptsect2.series[1].data.push(item.sumFraction) | |||
}) | |||
} | |||
// console.log(this.lineOptsect2,'3') | |||
}) | |||
}, | |||
// 获取有效录音 | |||
@@ -302,13 +415,15 @@ | |||
}) | |||
} | |||
// console.log(res) | |||
this.newTeam2=res.avg[0] | |||
this.newAvg2=res.avg[1] | |||
let first=res.first | |||
let second=res.second | |||
this.lineOptsect1.categories=[] | |||
if(!this.timepickpickisshow){ | |||
this.lineOptsect1.series=[ | |||
{ | |||
name:'成交量', | |||
name:first[0].accountName, | |||
data:[] | |||
} | |||
] | |||
@@ -319,11 +434,11 @@ | |||
}else{ | |||
this.lineOptsect1.series=[ | |||
{ | |||
name:'成交量1', | |||
name:first[0].accountName, | |||
data:[] | |||
}, | |||
{ | |||
"name": "成交量2", | |||
"name": second[0].accountName, | |||
"data": [] | |||
} | |||
] | |||
@@ -335,6 +450,7 @@ | |||
this.lineOptsect1.series[1].data.push(item.sumDuration) | |||
}) | |||
} | |||
// console.log(this.lineOptsect1,'2') | |||
}, | |||
// 获取销奖能力 | |||
getAwardList(){ | |||
@@ -347,14 +463,14 @@ | |||
lastStartDate:this.lastStartDate | |||
}) | |||
.then(res=>{ | |||
console.log(res) | |||
// console.log(res) | |||
let first=res.first | |||
let second=res.second | |||
this.chartData.categories=[] | |||
if(!this.timepickpickisshow){ | |||
this.chartData.series=[ | |||
{ | |||
name:'分数', | |||
name:first[0].accountName, | |||
data:[] | |||
} | |||
] | |||
@@ -365,11 +481,11 @@ | |||
}else{ | |||
this.chartData.series=[ | |||
{ | |||
name:'分数1', | |||
name:first[0].accountName, | |||
data:[] | |||
}, | |||
{ | |||
"name": "分数2", | |||
"name": second[0].accountName, | |||
"data": [] | |||
} | |||
] | |||
@@ -392,9 +508,10 @@ | |||
this.lastEndDate='' | |||
this.lastStartDate='' | |||
// 获取数据 | |||
this.getreception() | |||
this.getRecordList() | |||
this.getAwardList() | |||
// this.getreception() | |||
// this.getRecordList() | |||
// this.getAwardList() | |||
this.getdata() | |||
} | |||
}, | |||
tabtimetap1(index){ | |||
@@ -409,9 +526,10 @@ | |||
this.lastEndDate=e.endDate | |||
this.lastStartDate=e.startDate | |||
// 获取数据 | |||
this.getreception() | |||
this.getRecordList() | |||
this.getAwardList() | |||
// this.getreception() | |||
// this.getRecordList() | |||
// this.getAwardList() | |||
this.getdata() | |||
}, | |||
staffSelectCallback(e){ | |||
if(this.choseStaffFlag){ | |||
@@ -434,11 +552,12 @@ | |||
return | |||
}else{ | |||
// 获取数据 | |||
this.getreception() | |||
this.getRecordList() | |||
this.getAwardList() | |||
// this.getreception() | |||
// this.getRecordList() | |||
// this.getAwardList() | |||
this.getdata() | |||
} | |||
}, | |||
}, | |||
@@ -468,11 +468,11 @@ | |||
this.staff2.label='平均' | |||
this.staff2.value='' | |||
// 团队对比接待量 | |||
this.receptionCountList(0,1,'/cusLvStatistics/teamAnalysisReception') | |||
this.receptionCountList(this.eharTab.active1,1,'/cusLvStatistics/teamAnalysisReception') | |||
// 团队对比接待时长 | |||
this.receptionCountList(0,2,'/cusLvStatistics/teamAnalysisReceptionTime') | |||
this.receptionCountList(this.eharTab.active2,2,'/cusLvStatistics/teamAnalysisReceptionTime') | |||
/* 销奖执行率 */ | |||
this.receptionCountList(0,3,'/cusLvStatistics/teamAnalysisExecutionRate') | |||
this.receptionCountList(this.eharTab.active3,3,'/cusLvStatistics/teamAnalysisExecutionRate') | |||
// 获取销奖能力 | |||
this.getPowerList() | |||
}, | |||
@@ -531,11 +531,11 @@ | |||
this.lastStartDate='' | |||
// 获取数据 | |||
// 团队对比接待量 | |||
this.receptionCountList(0,1,'/cusLvStatistics/teamAnalysisReception') | |||
this.receptionCountList(this.eharTab.active1,1,'/cusLvStatistics/teamAnalysisReception') | |||
// 团队对比接待时长 | |||
this.receptionCountList(0,2,'/cusLvStatistics/teamAnalysisReceptionTime') | |||
this.receptionCountList(this.eharTab.active2,2,'/cusLvStatistics/teamAnalysisReceptionTime') | |||
/* 销奖执行率 */ | |||
this.receptionCountList(0,3,'/cusLvStatistics/teamAnalysisExecutionRate') | |||
this.receptionCountList(this.eharTab.active3,3,'/cusLvStatistics/teamAnalysisExecutionRate') | |||
// 获取销奖能力 | |||
this.getPowerList() | |||
} | |||
@@ -570,11 +570,11 @@ | |||
this.lastStartDate=e.startDate | |||
// 获取数据 | |||
// 团队对比接待量 | |||
this.receptionCountList(0,1,'/cusLvStatistics/teamAnalysisReception') | |||
this.receptionCountList(this.eharTab.active1,1,'/cusLvStatistics/teamAnalysisReception') | |||
// 团队对比接待时长 | |||
this.receptionCountList(0,2,'/cusLvStatistics/teamAnalysisReceptionTime') | |||
this.receptionCountList(this.eharTab.active2,2,'/cusLvStatistics/teamAnalysisReceptionTime') | |||
/* 销奖执行率 */ | |||
this.receptionCountList(0,3,'/cusLvStatistics/teamAnalysisExecutionRate') | |||
this.receptionCountList(this.eharTab.active3,3,'/cusLvStatistics/teamAnalysisExecutionRate') | |||
// 获取销奖能力 | |||
this.getPowerList() | |||
}, | |||
@@ -622,11 +622,11 @@ | |||
}else{ | |||
// 获取数据 | |||
// 团队对比接待量 | |||
this.receptionCountList(0,1,'/cusLvStatistics/teamAnalysisReception') | |||
this.receptionCountList(this.eharTab.active1,1,'/cusLvStatistics/teamAnalysisReception') | |||
// 团队对比接待时长 | |||
this.receptionCountList(0,2,'/cusLvStatistics/teamAnalysisReceptionTime') | |||
this.receptionCountList(this.eharTab.active2,2,'/cusLvStatistics/teamAnalysisReceptionTime') | |||
/* 销奖执行率 */ | |||
this.receptionCountList(0,3,'/cusLvStatistics/teamAnalysisExecutionRate') | |||
this.receptionCountList(this.eharTab.active3,3,'/cusLvStatistics/teamAnalysisExecutionRate') | |||
// 获取销奖能力 | |||
this.getPowerList() | |||
} | |||
@@ -2,13 +2,13 @@ | |||
<view class="box"> | |||
<view class="boxtittab"> | |||
<view class="tabbox"> | |||
<view :class="{ activecllasscet: activeTotal == 0 }" @click="tabtimetap(0)">今日</view> | |||
<view :class="{ activecllasscet: activeTotal == 4 }" @click="tabtimetap(4)">近七天</view> | |||
</view> | |||
<view class="tabbox"> | |||
<view :class="{ activecllasscet: activeTotal == 1 }" @click="tabtimetap(1)">昨日</view> | |||
<view :class="{ activecllasscet: activeTotal == 5 }" @click="tabtimetap(5)">近15天</view> | |||
</view> | |||
<view class="tabbox"> | |||
<view :class="{ activecllasscet: activeTotal == 2 }" @click="tabtimetap(2)">近一周</view> | |||
<view :class="{ activecllasscet: activeTotal == 6 }" @click="tabtimetap(6)">近30天</view> | |||
</view> | |||
<view class="tabbox"> | |||
<view :class="{ activecllasscet: activeTotal == 3 }" @click="tabtimetap(3)">自定义</view> | |||
@@ -67,7 +67,7 @@ | |||
<view class="title1">接待趋势</view> | |||
</view> | |||
<view class="swiper-box"> | |||
<u-tabs-swiper ref="tabs" font-size="30" :bold="true" swiper-width="600" :current="bocindex" @change="tapspagek2" | |||
<u-tabs-swiper ref="tabs" font-size="30" :bold="true" swiper-width="600" :current="bocindex" @change="tapspagek2($event,2)" | |||
inactive-color="#b1b1b1" active-color="#008ef2" :list="newlistoj" :is-scroll="true"> | |||
</u-tabs-swiper> | |||
</view> | |||
@@ -82,7 +82,7 @@ | |||
:chartData="lineOptsect" | |||
background="none" | |||
:ontouch="true" | |||
canvasId="wangxiaohuaerlingeryilingwuyiba1" | |||
canvasId="wangxiaohuaerlingilingwuyiba1" | |||
:canvas2d="true" | |||
/> | |||
</view> | |||
@@ -91,15 +91,15 @@ | |||
<view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view> | |||
<view class="single"> | |||
<view class="title"> | |||
<view class="title" @click="staffShow1=true"> | |||
<view class="title1">团队接待趋势</view> | |||
<view class="title2"> | |||
<view class="title2-che">毛丫丫 | |||
<view class="title2-che" style="width: 220rpx;">{{team.label}} | |||
<image class="righttochoose" src="../../../static/images/righttochoose.png" mode=""></image> | |||
</view> | |||
<view class="title2-che">执行率 | |||
<!-- <view class="title2-che">执行率 | |||
<image class="righttochoose" src="../../../static/images/righttochoose.png" mode=""></image> | |||
</view> | |||
</view> --> | |||
</view> | |||
</view> | |||
<view class="hejibox"> | |||
@@ -110,32 +110,62 @@ | |||
<view class="uchaserbox"> | |||
<qiun-data-charts | |||
type="line" | |||
:chartData="lineOptsect" | |||
:chartData="lineOptsect1" | |||
background="none" | |||
:ontouch="true" | |||
canvasId="wangxiaohuaerlingeryilingwuyibao" | |||
canvasId="wangxiaohuaerlineryiliwuyibao" | |||
:canvas2d="true" | |||
/> | |||
</view> | |||
</view> | |||
<view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view> | |||
<view class="single"> | |||
<view class="title"> | |||
<view class="title1">员工接待趋势</view> | |||
<view class="title2" @click="staffShow=true"> | |||
<view class="title2-che" style="width: 220rpx;">{{staff.label}} | |||
<image class="righttochoose" src="../../../static/images/righttochoose.png" mode=""></image> | |||
</view> | |||
<!-- <view class="title2-che">执行率 | |||
<image class="righttochoose" src="../../../static/images/righttochoose.png" mode=""></image> | |||
</view> --> | |||
</view> | |||
</view> | |||
<view class="hejibox"> | |||
<view class="heji">合计:50</view> | |||
<view class="heji">均值:25</view> | |||
</view> | |||
<view class="danwei">来访(人)</view> | |||
<view class="uchaserbox"> | |||
<qiun-data-charts | |||
type="line" | |||
:chartData="lineOptsect2" | |||
background="none" | |||
:ontouch="true" | |||
canvasId="wangxiaohuaerlingeryilingwuyibao" | |||
:canvas2d="true" | |||
/> | |||
</view> | |||
</view> | |||
<view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view> | |||
<view class="single"> | |||
<view class="title"> | |||
<view class="title1">销讲维度执行率</view> | |||
<view class="title3"> | |||
<!-- <view class="title3"> | |||
<view class="title3-box"> | |||
<view style="height: 42rpx;" :class="{ activecltab: activeTotal2 == 0 }">执行率</view> | |||
</view> | |||
<view class="title3-box"> | |||
<view style="height: 42rpx;" :class="{ activecltab: activeTotal2 == 1 }">得分</view> | |||
</view> | |||
</view> | |||
</view> --> | |||
</view> | |||
<view class="hejibox"> | |||
<!-- <view class="hejibox"> | |||
<view class="heji">合计:50</view> | |||
<view class="heji">均值:25</view> | |||
</view> | |||
</view> --> | |||
<view class="jindu"> | |||
<view class="jindu-box" v-for="(item,index) in newlisttabinfo" :key="index"> | |||
<view class="jindu-boxche"> | |||
@@ -159,10 +189,6 @@ | |||
inactive-color="#b1b1b1" active-color="#008ef2" :list="newlistoj" :is-scroll="true"> | |||
</u-tabs-swiper> | |||
</view> | |||
<view class="hejibox"> | |||
<view class="heji">合计:50</view> | |||
<view class="heji">均值:25</view> | |||
</view> | |||
<view class="jindu"> | |||
<view class="jindu-box" v-for="(item,index) in newlisttabinfo" :key="index"> | |||
<view class="jindu-boxche"> | |||
@@ -178,6 +204,8 @@ | |||
</view> | |||
<u-calendar v-model="totalTimeShow" mode="range" @change="totalTimeChange"></u-calendar> | |||
<u-select v-model="staffShow" :list="staffList" @confirm="staffSelectCallback($event,0)" :default-value='selindex'></u-select> | |||
<u-select v-model="staffShow1" :list="teamList" @confirm="staffSelectCallback($event,1)" :default-value='selindex'></u-select> | |||
</view> | |||
</template> | |||
@@ -188,12 +216,31 @@ | |||
export default { | |||
data() { | |||
return { | |||
activeTotal: 2, | |||
activeTotal: 4, | |||
activeTotal2: 0, | |||
houseId:'', | |||
timeobj:{ | |||
statDateStart:'', | |||
statDateEnd:'' | |||
}, | |||
// 员工列表 | |||
staffList:[], | |||
// 团队列表 | |||
teamList:[], | |||
staffShow:false, | |||
staff:{ | |||
value:'', | |||
label:'' | |||
}, | |||
team:{ | |||
value:'', | |||
label:'' | |||
}, | |||
teamFlag:true, | |||
staffFlag:true, | |||
staffShow1:false, | |||
lastStartDate:'', | |||
lastEndDate :'', | |||
totalTimeShow: false, | |||
activeTab: 0, | |||
numlist:[ | |||
@@ -210,13 +257,31 @@ | |||
} | |||
] | |||
}, | |||
lineOptsect1:{ | |||
"categories": ["2016","2017","2018","2019","2020","2021"], | |||
"series": [ | |||
{ | |||
"name": "成交量", | |||
"data": [35,8,25,37,4,20] | |||
} | |||
] | |||
}, | |||
lineOptsect2:{ | |||
"categories": ["2016","2017","2018","2019","2020","2021"], | |||
"series": [ | |||
{ | |||
"name": "成交量", | |||
"data": [35,8,25,37,4,20] | |||
} | |||
] | |||
}, | |||
newlistoj:[ | |||
{name:"接待量",id:1}, | |||
{name:"平均执行率",id:2}, | |||
{name:"接待客户",id:3}, | |||
{name:"接待",id:4}, | |||
{name:"接待量",id:5}, | |||
{name:"接待",id:6}, | |||
{name:"平均得分",id:4}, | |||
{name:"录音时长",id:5}, | |||
{name:"违禁预警",id:6}, | |||
], | |||
bocindex:0, | |||
newlisttabinfo:[ | |||
@@ -227,25 +292,164 @@ | |||
}; | |||
}, | |||
onLoad() { | |||
async onLoad() { | |||
// 获取楼盘id | |||
this.houseId = uni.getStorageSync('buildingID').id; | |||
// 获取数据看板 | |||
// 获取员工 | |||
this.getStaffList() | |||
// 获取团队 | |||
this.getSectionList() | |||
// 获取团队是否显示权限 | |||
}, | |||
methods: { | |||
// 获取员工列表 | |||
getStaffList(){ | |||
this.$u.post('/cusLvStatistics/selectAllAccountIdByHouseId',{houseId:this.houseId}) | |||
.then(res=>{ | |||
// console.log(res,'123') | |||
res.map(item=>{ | |||
let obj={} | |||
obj.value=item.accountId | |||
obj.label=item.name | |||
this.staffList.push(obj) | |||
}) | |||
this.staff=this.staffList[0] | |||
this.getAward() | |||
}) | |||
}, | |||
// 获取团队列表 | |||
getSectionList(){ | |||
this.$u.post('/cusLvStatistics/findAllDeptIdByHouseId',{houseId:this.houseId}) | |||
.then(res=>{ | |||
this.staffList=[] | |||
this.staffList1=[] | |||
res.map(item=>{ | |||
let obj={} | |||
obj.value=item.deptId | |||
obj.label=item.deptName | |||
this.teamList.push(obj) | |||
}) | |||
this.team=this.teamList[0] | |||
this.receptionCountList() | |||
}) | |||
}, | |||
// 员工销奖趋势 | |||
getAward(){ | |||
this.$u.post('/cusLvStatistics/employeeAnalysisExacutiveRate',{ | |||
userA:this.staff.value, | |||
userB:'', | |||
houseId:this.houseId, | |||
timeType:this.lastEndDate?null:this.activeTotal+'', | |||
lastEndDate:this.lastEndDate, | |||
lastStartDate:this.lastStartDate | |||
}) | |||
.then(res=>{ | |||
this.newTeam3=res.avg[0] | |||
this.newAvg3=res.avg[1] | |||
// console.log(res) | |||
let first=res.first | |||
let second=res.second | |||
this.lineOptsect2.categories=[] | |||
this.lineOptsect2.series=[ | |||
{ | |||
name:first[0].accountName, | |||
data:[] | |||
} | |||
] | |||
first.map(item=>{ | |||
this.lineOptsect2.categories.push(item.statDate.slice(5,10)) | |||
this.lineOptsect2.series[0].data.push(item.sumFraction) | |||
}) | |||
}) | |||
}, | |||
// 团队接待趋势 | |||
receptionCountList(){ | |||
// if(!this.team.value){ | |||
// this.teamFlag=false | |||
// return | |||
// } | |||
this.$u.post('/cusLvStatistics/teamAnalysisExecutionRate',{ | |||
deptIds:this.team.value, | |||
showRank:1, | |||
houseId:this.houseId, | |||
timeType:this.lastEndDate?null:this.activeTotal+'', | |||
lastEndDate:this.lastEndDate, | |||
lastStartDate:this.lastStartDate | |||
}) | |||
.then(res=>{ | |||
// console.log(res) | |||
let result=res.result | |||
this.newTeam=res.avg[0] | |||
this.newAvg=res.avg[1] | |||
// 当选择趋势时 | |||
this.lineOptsect1={} | |||
let allobj={ | |||
categories:[], | |||
series:[] | |||
} | |||
// 先处理时间 | |||
// 当选择全部时 | |||
// 当选择只有一个时 | |||
let obj={} | |||
obj.data=[] | |||
obj.name=result[0][0].deptName | |||
result[0].map(item=>{ | |||
allobj.categories.push(item.statDate.slice(5,10)) | |||
obj.data.push(item.data) | |||
}) | |||
allobj.series.push(obj) | |||
// 判断是否显示平均 | |||
// 如果显示对比 | |||
// if(this.timepickpickisshow){ | |||
// let obj={} | |||
// obj.data=[] | |||
// obj.name='平均' | |||
// result[1].map(item=>{ | |||
// obj.data.push(item.data) | |||
// }) | |||
// allobj.series.push(obj) | |||
// } | |||
this.lineOptsect1=allobj | |||
}) | |||
}, | |||
//时间切换 | |||
tabtimetap(index) { | |||
if (index == 3) { | |||
this.totalTimeShow = true; | |||
} else { | |||
this.activeTotal = index; | |||
this.lastEndDate='' | |||
this.lastStartDate='' | |||
this.getdata() | |||
} | |||
}, | |||
// 获取数据 | |||
getdata(){ | |||
this.receptionCountList() | |||
}, | |||
staffSelectCallback(e,idx){ | |||
if(idx==0){ | |||
this.staff=e[0] | |||
this.getAward() | |||
}else{ | |||
this.team=e[0] | |||
this.receptionCountList() | |||
} | |||
// console.log(e,idx) | |||
}, | |||
//自定义时间 | |||
totalTimeChange(e) { | |||
console.log(e.startDate, e.endDate) | |||
this.activeTotal=3; | |||
this.lastEndDate=e.endDate | |||
this.lastStartDate=e.startDate | |||
}, | |||
//指标执行率分析tab | |||
tapspagek2(index) { | |||
tapspagek2(index,idx) { | |||
console.log(index,idx) | |||
this.bocindex = index; | |||
}, | |||
//集团对比 | |||
@@ -10,10 +10,10 @@ | |||
<view v-for="(item,index) in items" :key="index"> | |||
<view class="content-tips"> | |||
<view class="left"> | |||
{{item.deptName}} | |||
{{item.propertyName}} | |||
</view> | |||
<view class="right"> | |||
<radio :value="item.deptId" style="transform:scale(0.8)" color="#2671E2" :checked="item.checked" @click="addclick(index)"></radio> | |||
<radio :value="item.id" style="transform:scale(0.8)" color="#2671E2" :checked="item.checked" @click="addclick(index)"></radio> | |||
</view> | |||
</view> | |||
</view> | |||
@@ -41,7 +41,7 @@ | |||
// 获取楼盘id | |||
// console.log(e) | |||
this.ids=e.ids | |||
this.houseId = uni.getStorageSync('buildingID').id; | |||
// this.houseId = uni.getStorageSync('buildingID').id; | |||
this.getSectionList() | |||
}, | |||
methods:{ | |||
@@ -50,9 +50,9 @@ | |||
}, | |||
// 获取部门列表 | |||
getSectionList(){ | |||
this.$u.post('/cusLvStatistics/findAllDeptIdByHouseId',{houseId:this.houseId}) | |||
this.$u.post('/user/getHouseByToken',) | |||
.then(res=>{ | |||
console.log(res) | |||
// console.log(res) | |||
res.map((item,index)=>{ | |||
if(index<5){ | |||
item.checked=true | |||
@@ -61,10 +61,11 @@ | |||
} | |||
}) | |||
this.items=res | |||
// console.log(this.items) | |||
if(this.ids){ | |||
let arr=this.ids.split(',') | |||
this.items.map((item,index)=>{ | |||
let idx=arr.findIndex(item1=>item1==item.deptId) | |||
let idx=arr.findIndex(item1=>item1==item.id) | |||
if(idx!=-1){ | |||
item.checked=true | |||
}else{ | |||
@@ -83,7 +84,7 @@ | |||
let arr=[] | |||
this.items.map(item=>{ | |||
if(item.checked){ | |||
arr.push(item.deptId) | |||
arr.push(item.id) | |||
} | |||
}) | |||
uni.$emit('updateGroup',{arr}) | |||
@@ -24,6 +24,19 @@ | |||
<view class="footerinfozuo">{{item.assignedTime}}</view> | |||
<view class="footerinfoyou"></view> | |||
</view> | |||
<view class="footicon"> | |||
<view class="icon"> | |||
<image class="Piabodata-img1" src="../../static/images/studyhot.png" mode=""></image> | |||
<!-- 浏览量 --> | |||
{{item.pageviews}} | |||
</view> | |||
<view class="icon"> | |||
<image class="Piabodata-img1" src="../../static/images/viewstudy.png" mode=""></image> | |||
<!-- 热度 --> | |||
{{item.heat}} | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
<view class="biaoqianview" v-if="activeClass==1"> | |||
@@ -202,7 +215,7 @@ | |||
padding-top: 14rpx; | |||
.ceninfo{ | |||
width: 690rpx; | |||
height: 160rpx; | |||
// height: 160rpx; | |||
background: #FFFFFF; | |||
border-radius: 8rpx; | |||
margin: 0 auto; | |||
@@ -337,6 +350,22 @@ | |||
} | |||
} | |||
} | |||
.footicon{ | |||
display: flex; | |||
align-items: center; | |||
margin-top: 30rpx; | |||
padding:20rpx; | |||
flex-direction: row-reverse; | |||
.icon{ | |||
margin-left: 20rpx; | |||
} | |||
image{ | |||
width: 36rpx; | |||
height: 36rpx; | |||
margin-right: 20rpx; | |||
vertical-align: -7rpx; | |||
} | |||
} | |||
</style> | |||
@@ -203,6 +203,12 @@ | |||
this.customerId=options.customerId, | |||
this.getdianzan() | |||
this.getCommentList(); | |||
// 当进入页面时调一次接口添加浏览量 | |||
this.getView() | |||
let that=this | |||
setTimeout(function(){ | |||
that.addHot() | |||
},30000) | |||
}, | |||
onShow: function() { | |||
this.initRecord(); | |||
@@ -240,6 +246,23 @@ | |||
url: '/pages/main/Keywordsearch?customerId='+this.customerId +"&status="+this.status | |||
}) | |||
}, | |||
getView(){ | |||
this.$u.get('/addtodigest/addPageviews',{ | |||
id:this.customerId | |||
}) | |||
.then(res=>{ | |||
// console.log(res) | |||
}) | |||
}, | |||
addHot(){ | |||
// console.log('30') | |||
this.$u.get('/addtodigest/addHeat',{ | |||
id:this.customerId | |||
}) | |||
.then(res=>{ | |||
// console.log(res) | |||
}) | |||
}, | |||
onPlay(){ | |||
this.innerAudioContext.onPlay(() => { | |||
// 播放监听 | |||
@@ -1,5 +1,5 @@ | |||
const baseUrl = 'http://121.42.63.138:9091/autoSR/api';// 测试站 | |||
// const baseUrl = 'http://192.168.31.161:8080/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://10.2.1.104:8081/autoSR/api'; // 刘敏 | |||
// const baseUrl = 'https://zkgj.quhouse.com/api'; // 质控正式 | |||