lancer 3 år sedan
förälder
incheckning
55a76c3de6
10 ändrade filer med 581 tillägg och 135 borttagningar
  1. +122
    -52
      pages/center/Piabodata/Groupcontrast.vue
  2. +155
    -36
      pages/center/Piabodata/StaffAnalysis.vue
  3. +12
    -12
      pages/center/Piabodata/Theteamcompared.vue
  4. +229
    -25
      pages/center/Piabodata/index.vue
  5. +8
    -7
      pages/center/Piabodata/selectGroup.vue
  6. +30
    -1
      pages/index/learning.vue
  7. +23
    -0
      pages/learning/Thefulltext/index.vue
  8. Binär
      static/images/studyhot.png
  9. Binär
      static/images/viewstudy.png
  10. +2
    -2
      utils/http.js

+ 122
- 52
pages/center/Piabodata/Groupcontrast.vue Visa fil

@@ -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}`
});
}
}


+ 155
- 36
pages/center/Piabodata/StaffAnalysis.vue Visa fil

@@ -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()
}
},
},


+ 12
- 12
pages/center/Piabodata/Theteamcompared.vue Visa fil

@@ -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()
}


+ 229
- 25
pages/center/Piabodata/index.vue Visa fil

@@ -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;
},
//集团对比


+ 8
- 7
pages/center/Piabodata/selectGroup.vue Visa fil

@@ -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})


+ 30
- 1
pages/index/learning.vue Visa fil

@@ -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>




+ 23
- 0
pages/learning/Thefulltext/index.vue Visa fil

@@ -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(() => {
// 播放监听


Binär
static/images/studyhot.png Visa fil

Före Efter
Bredd: 36  |  Höjd: 36  |  Storlek: 1.3 KiB

Binär
static/images/viewstudy.png Visa fil

Före Efter
Bredd: 36  |  Höjd: 36  |  Storlek: 651 B

+ 2
- 2
utils/http.js Visa fil

@@ -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'; // 质控正式


Laddar…
Avbryt
Spara