|
|
@@ -2,31 +2,75 @@ |
|
|
|
<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> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
|
|
|
|
<view class="timepick"> |
|
|
|
<view class="timepicktime" @click="chiocStaff(0)"> |
|
|
|
<view>{{staff1.label}}</view> |
|
|
|
<view> |
|
|
|
<image class="Underimg" src="../../../static/images/Underimg.png" mode=""></image> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="timepickpick" v-if="staff1.value"> |
|
|
|
<view @click="checkboxChange()" style="width: 40rpx;height:40rpx;border: 1rpx solid #E0E0E0;"> |
|
|
|
<image v-if="timepickpickisshow" style="width: 40rpx;height: 40rpx;" src="../../../static/images/xuanzhong.png" mode=""></image> |
|
|
|
</view> |
|
|
|
<view style="font-size:26rpx;text-indent: 12rpx;">对比</view> |
|
|
|
</view> |
|
|
|
<view class="timepicktime" v-if="timepickpickisshow" @click="chiocStaff(1)"> |
|
|
|
<view>{{staff2.label}}</view> |
|
|
|
<view> |
|
|
|
<image class="Underimg" src="../../../static/images/Underimg.png" mode=""></image> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
|
|
|
|
<view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view> |
|
|
|
<view class="single"> |
|
|
|
<view class="title"> |
|
|
|
<view class="title1">接待量(TOP10)</view> |
|
|
|
<view class="title1" style="flex: 1;">接待量</view> |
|
|
|
<view class="title3" style="flex: 1;"> |
|
|
|
<view class="title3-box" @click="tabtimetap1(0)"> |
|
|
|
<view style="height: 42rpx;" :class="{ activecltab: eharTab.active1 == 0 }">排名</view> |
|
|
|
</view> |
|
|
|
<view class="title3-box" @click="tabtimetap1(1)"> |
|
|
|
<view style="height: 42rpx;" :class="{ activecltab: eharTab.active1 == 1 }">趋势</view> |
|
|
|
</view> |
|
|
|
<!-- <view class="title3-box"> |
|
|
|
<view style="height: 42rpx;" :class="{ activecltab: activeTotal2 == 2 }">表格</view> |
|
|
|
</view> --> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="hejibox"> |
|
|
|
<view class="heji">合计:50</view> |
|
|
|
<view class="heji">均值:25</view> |
|
|
|
<view class="heji">{{!staff1.value?'团队':staff1.label}}:{{newTeam1||0}}</view> |
|
|
|
<view class="heji">{{!staff2.value?'均值':staff2.label}}:{{newAvg1||0}}</view> |
|
|
|
</view> |
|
|
|
<view class="jindu"> |
|
|
|
<view class="jindu-box" v-for="(item,index) in newlisttabinfo" :key="index"> |
|
|
|
<view class="" v-if=" eharTab.active1 == 1 "> |
|
|
|
<view class="danwei">来访(人)</view> |
|
|
|
<view class="uchaserbox"> |
|
|
|
<qiun-data-charts |
|
|
|
type="line" |
|
|
|
:chartData="lineOptsect1" |
|
|
|
background="none" |
|
|
|
:ontouch="true" |
|
|
|
canvasId="wangxiaohuaerlingeryilingwuyibbb" |
|
|
|
:canvas2d="true" |
|
|
|
/> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="jindu" v-if=" eharTab.active1 == 0 "> |
|
|
|
<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;"> |
|
|
@@ -40,59 +84,98 @@ |
|
|
|
|
|
|
|
<view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view> |
|
|
|
<view class="single"> |
|
|
|
<view class="title"> |
|
|
|
<view class="title1">接待时长(TOP10)</view> |
|
|
|
</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"> |
|
|
|
<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 class="title"> |
|
|
|
<view class="title1" style="flex: 1;">接待时长</view> |
|
|
|
<view class="title3" style="flex: 1;"> |
|
|
|
<view class="title3-box" @click="tabtimetap2(0)"> |
|
|
|
<view style="height: 42rpx;" :class="{ activecltab: eharTab.active2 == 0 }">排名</view> |
|
|
|
</view> |
|
|
|
<view class="title3-box" @click="tabtimetap2(1)"> |
|
|
|
<view style="height: 42rpx;" :class="{ activecltab: eharTab.active2 == 1 }">趋势</view> |
|
|
|
</view> |
|
|
|
<!-- <view class="title3-box"> |
|
|
|
<view style="height: 42rpx;" :class="{ activecltab: activeTotal2 == 2 }">表格</view> |
|
|
|
</view> --> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="hejibox"> |
|
|
|
<view class="heji">{{!staff1.value?'团队':staff1.label}}:{{newTeam2||0}}</view> |
|
|
|
<view class="heji">{{!staff2.value?'均值':staff2.label}}:{{newAvg2||0}}</view> |
|
|
|
</view> |
|
|
|
<view class="" v-if=" eharTab.active2 == 1 "> |
|
|
|
<view class="danwei">来访(人)</view> |
|
|
|
<view class="uchaserbox"> |
|
|
|
<qiun-data-charts |
|
|
|
type="line" |
|
|
|
:chartData="lineOptsect2" |
|
|
|
background="none" |
|
|
|
:ontouch="true" |
|
|
|
canvasId="wangxiaohuaerlingeryilingwuyibb" |
|
|
|
:canvas2d="true" |
|
|
|
/> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="jindu" v-if=" eharTab.active2 == 0 "> |
|
|
|
<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="#FBA448" :percent="item.zxl"></u-line-progress> |
|
|
|
</view> |
|
|
|
<view class="jindu-zxl">{{item.zxl==null?0:item.zxl}}</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="jindu-zxl">{{item.zxl==null?0:item.zxl}}</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
|
|
|
|
<view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view> |
|
|
|
<view class="single"> |
|
|
|
<view class="title"> |
|
|
|
<view class="title1" style="flex: 1;">销讲排名(TOP10)</view> |
|
|
|
<view class="title3" style="flex: 1;"> |
|
|
|
<view class="title3-box"> |
|
|
|
<view style="height: 42rpx;" :class="{ activecltab: activeTotal2 == 0 }">执行率</view> |
|
|
|
<view class="title"> |
|
|
|
<view class="title1" style="flex: 1;">销奖执行率</view> |
|
|
|
<view class="title3" style="flex: 1;"> |
|
|
|
<view class="title3-box" @click="tabtimetap3(0)"> |
|
|
|
<view style="height: 42rpx;" :class="{ activecltab: eharTab.active3 == 0 }">排名</view> |
|
|
|
</view> |
|
|
|
<view class="title3-box" @click="tabtimetap3(1)"> |
|
|
|
<view style="height: 42rpx;" :class="{ activecltab: eharTab.active3 == 1 }">趋势</view> |
|
|
|
</view> |
|
|
|
<!-- <view class="title3-box"> |
|
|
|
<view style="height: 42rpx;" :class="{ activecltab: activeTotal2 == 2 }">表格</view> |
|
|
|
</view> --> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="title3-box"> |
|
|
|
<view style="height: 42rpx;" :class="{ activecltab: activeTotal2 == 1 }">得分</view> |
|
|
|
<view class="hejibox"> |
|
|
|
<view class="heji">{{!staff1.value?'团队':staff1.label}}:{{newTeam3||0}}</view> |
|
|
|
<view class="heji">{{!staff2.value?'均值':staff2.label}}:{{newAvg3||0}}</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</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"> |
|
|
|
<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 class="" v-if=" eharTab.active3 == 1 "> |
|
|
|
<view class="danwei">来访(人)</view> |
|
|
|
<view class="uchaserbox"> |
|
|
|
<qiun-data-charts |
|
|
|
type="line" |
|
|
|
:chartData="lineOptsect4" |
|
|
|
background="none" |
|
|
|
:ontouch="true" |
|
|
|
canvasId="wangxiaohuaerlingeryilingwuyib" |
|
|
|
:canvas2d="true" |
|
|
|
/> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="jindu" v-if=" eharTab.active3 == 0 "> |
|
|
|
<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="#FBA448" :percent="item.zxl"></u-line-progress> |
|
|
|
</view> |
|
|
|
<view class="jindu-zxl">{{item.zxl==null?0:item.zxl}}</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="jindu-zxl">{{item.zxl==null?0:item.zxl}}</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
|
|
|
|
<view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view> |
|
|
|
<view class="single"> |
|
|
|
<!-- <view class="single"> |
|
|
|
<view class="title"> |
|
|
|
<view class="title1" style="flex: 1;">顾问排名(TOP10)</view> |
|
|
|
<view class="title3" style="flex: 1;"> |
|
|
@@ -120,7 +203,7 @@ |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> --> |
|
|
|
|
|
|
|
<view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view> |
|
|
|
<view class="single"> |
|
|
@@ -152,25 +235,49 @@ |
|
|
|
|
|
|
|
<view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view> |
|
|
|
<view class="single"> |
|
|
|
<view class="title"> |
|
|
|
<view class="title1">禁忌执行率(TOP10)</view> |
|
|
|
</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"> |
|
|
|
<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="#E6625B" :percent="item.zxl"></u-line-progress> |
|
|
|
<view class="title"> |
|
|
|
<view class="title1" style="flex: 1;">禁忌执行率</view> |
|
|
|
<view class="title3" style="flex: 1;"> |
|
|
|
<view class="title3-box" @click="tabtimetap4(0)"> |
|
|
|
<view style="height: 42rpx;" :class="{ activecltab: eharTab.active4 == 0 }">排名</view> |
|
|
|
</view> |
|
|
|
<view class="title3-box" @click="tabtimetap4(1)"> |
|
|
|
<view style="height: 42rpx;" :class="{ activecltab: eharTab.active4 == 1 }">趋势</view> |
|
|
|
</view> |
|
|
|
<!-- <view class="title3-box"> |
|
|
|
<view style="height: 42rpx;" :class="{ activecltab: activeTotal2 == 2 }">表格</view> |
|
|
|
</view> --> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="hejibox"> |
|
|
|
<view class="heji">{{!staff1.value?'团队':staff1.label}}:{{newTeam4||0}}</view> |
|
|
|
<view class="heji">{{!staff2.value?'均值':staff2.label}}:{{newAvg4||0}}</view> |
|
|
|
</view> |
|
|
|
<view class="" v-if=" eharTab.active4 == 1 "> |
|
|
|
<view class="danwei">来访(人)</view> |
|
|
|
<view class="uchaserbox"> |
|
|
|
<qiun-data-charts |
|
|
|
type="line" |
|
|
|
:chartData="lineOptsect4" |
|
|
|
background="none" |
|
|
|
:ontouch="true" |
|
|
|
canvasId="wangxiaohuaerlingeryilingwuyi" |
|
|
|
:canvas2d="true" |
|
|
|
/> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="jindu" v-if=" eharTab.active4 == 0 "> |
|
|
|
<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="#FBA448" :percent="item.zxl"></u-line-progress> |
|
|
|
</view> |
|
|
|
<view class="jindu-zxl">{{item.zxl==null?0:item.zxl}}</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="jindu-zxl">{{item.zxl==null?0:item.zxl}}%</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
|
|
|
|
<view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view> |
|
|
|
<view class="single"> |
|
|
@@ -198,6 +305,10 @@ |
|
|
|
</view> |
|
|
|
|
|
|
|
<u-calendar v-model="totalTimeShow" mode="range" @change="totalTimeChange"></u-calendar> |
|
|
|
|
|
|
|
<!-- 选择部门的选择框 --> |
|
|
|
<u-select v-model="staffShow" :list="staffList" @confirm="staffSelectCallback" :default-value='selindex'></u-select> |
|
|
|
<u-select v-model="staffShow1" :list="staffList1" @confirm="staffSelectCallback" :default-value='selindex'></u-select> |
|
|
|
</view> |
|
|
|
</template> |
|
|
|
|
|
|
@@ -208,15 +319,114 @@ |
|
|
|
export default { |
|
|
|
data() { |
|
|
|
return { |
|
|
|
activeTotal: 2, |
|
|
|
activeTotal2: 0, |
|
|
|
activeTotal: 4, |
|
|
|
eharTab:{ |
|
|
|
active1: 0, |
|
|
|
active2:0, |
|
|
|
active3:0, |
|
|
|
active4:0, |
|
|
|
}, |
|
|
|
bocindex:0, |
|
|
|
timepickpickisshow:false, |
|
|
|
totalTimeShow: false, |
|
|
|
newlisttabinfo:[ |
|
|
|
// 楼盘id |
|
|
|
houseId:'', |
|
|
|
staffList:[], |
|
|
|
staffList1:[], |
|
|
|
staffShow:false, |
|
|
|
staffShow1:false, |
|
|
|
staff1:{ |
|
|
|
value:'', |
|
|
|
label:'' |
|
|
|
}, |
|
|
|
staff2:{ |
|
|
|
value:'', |
|
|
|
label:'平均' |
|
|
|
}, |
|
|
|
lastStartDate:'', |
|
|
|
lastEndDate :'', |
|
|
|
selindex:[0], |
|
|
|
choseStaffFlag:false, |
|
|
|
lineOptsect1:{ |
|
|
|
"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] |
|
|
|
} |
|
|
|
] |
|
|
|
}, |
|
|
|
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] |
|
|
|
} |
|
|
|
] |
|
|
|
}, |
|
|
|
lineOptsect3:{ |
|
|
|
"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] |
|
|
|
} |
|
|
|
] |
|
|
|
}, |
|
|
|
lineOptsect4:{ |
|
|
|
"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] |
|
|
|
} |
|
|
|
] |
|
|
|
}, |
|
|
|
newlisttabinfo1:[ |
|
|
|
{name:'接待量',zxl:'10'}, |
|
|
|
{name:'平均执行率',zxl:'50'}, |
|
|
|
{name:'接待客户',zxl:'80'}, |
|
|
|
], |
|
|
|
newlisttabinfo2:[ |
|
|
|
{name:'接待量',zxl:'10'}, |
|
|
|
{name:'平均执行率',zxl:'50'}, |
|
|
|
{name:'接待客户',zxl:'80'}, |
|
|
|
], |
|
|
|
newlisttabinfo3:[ |
|
|
|
{name:'接待量',zxl:'10'}, |
|
|
|
{name:'平均执行率',zxl:'50'}, |
|
|
|
{name:'接待客户',zxl:'80'}, |
|
|
|
], |
|
|
|
newlisttabinfo4:[ |
|
|
|
{name:'接待量',zxl:'10'}, |
|
|
|
{name:'平均执行率',zxl:'50'}, |
|
|
|
{name:'接待客户',zxl:'80'}, |
|
|
|
], |
|
|
|
newTeam1:'', |
|
|
|
newAvg1:'', |
|
|
|
newTeam2:'', |
|
|
|
newAvg2:'', |
|
|
|
newTeam3:'', |
|
|
|
newAvg3:'', |
|
|
|
newTeam4:'', |
|
|
|
newAvg4:'', |
|
|
|
chartData:{ |
|
|
|
"categories": ["维度1","维度2","维度3","维度4","维度5","维度6"], |
|
|
|
"series": [ |
|
|
@@ -225,26 +435,125 @@ |
|
|
|
"data": [90,110,165,195,187,172] |
|
|
|
} |
|
|
|
] |
|
|
|
}, |
|
|
|
chartData2:{ |
|
|
|
"categories": ["维度1","维度2","维度3","维度4","维度5","维度6"], |
|
|
|
"series": [ |
|
|
|
{ |
|
|
|
"name": "成交量", |
|
|
|
"data": [90,110,165,195,187,172] |
|
|
|
} |
|
|
|
] |
|
|
|
} |
|
|
|
|
|
|
|
}; |
|
|
|
}, |
|
|
|
onLoad() { |
|
|
|
|
|
|
|
// 获取楼盘id |
|
|
|
this.houseId = uni.getStorageSync('buildingID').id; |
|
|
|
// this.buildingname = uni.getStorageSync('buildingID').name; |
|
|
|
// 请求接口获取所有置业顾问员工的列表 |
|
|
|
this.getSectionList() |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
//是否对比 |
|
|
|
checkboxChange(){ |
|
|
|
this.timepickpickisshow=!this.timepickpickisshow; |
|
|
|
this.staff2.label='平均' |
|
|
|
this.staff2.value='' |
|
|
|
// this.getreception() |
|
|
|
// this.getRecordList() |
|
|
|
// this.getAwardList() |
|
|
|
}, |
|
|
|
// 获取部门列表 |
|
|
|
getSectionList(){ |
|
|
|
this.$u.post('/cusLvStatistics/findAllDeptIdByHouseId',{houseId:this.houseId}) |
|
|
|
.then(res=>{ |
|
|
|
// console.log(res,'123') |
|
|
|
this.staffList=[] |
|
|
|
this.staffList1=[] |
|
|
|
res.map(item=>{ |
|
|
|
let obj={} |
|
|
|
obj.value=item.deptId |
|
|
|
obj.label=item.deptName |
|
|
|
this.staffList.push(obj) |
|
|
|
}) |
|
|
|
this.staffList1=[...this.staffList] |
|
|
|
this.staffList.unshift({ |
|
|
|
value:'', |
|
|
|
label:'全部' |
|
|
|
}) |
|
|
|
this.staffList1.unshift({ |
|
|
|
value:'', |
|
|
|
label:'平均' |
|
|
|
}) |
|
|
|
this.staff1=this.staffList[0] |
|
|
|
// 团队对比接待量 |
|
|
|
this.receptionCountList(0,1) |
|
|
|
}) |
|
|
|
}, |
|
|
|
// 点击部门对比 |
|
|
|
chiocStaff(idx){ |
|
|
|
if(idx==0){ |
|
|
|
// 当选择了第一个的时候 |
|
|
|
this.choseStaffFlag=false |
|
|
|
this.staffShow=true |
|
|
|
}else{ |
|
|
|
this.choseStaffFlag=true |
|
|
|
this.staffShow1=true |
|
|
|
} |
|
|
|
|
|
|
|
}, |
|
|
|
//时间切换 |
|
|
|
tabtimetap(index) { |
|
|
|
if (index == 3) { |
|
|
|
this.totalTimeShow = true; |
|
|
|
} else { |
|
|
|
this.activeTotal = index; |
|
|
|
this.lastEndDate='' |
|
|
|
this.lastStartDate='' |
|
|
|
// 获取数据 |
|
|
|
// this.getreception() |
|
|
|
// this.getRecordList() |
|
|
|
// this.getAwardList() |
|
|
|
} |
|
|
|
}, |
|
|
|
// 接待量 |
|
|
|
tabtimetap1(idx){ |
|
|
|
this.eharTab.active1=idx |
|
|
|
// 调用方法 |
|
|
|
this.receptionCountList(idx,1) |
|
|
|
// this.getRecordList() |
|
|
|
}, |
|
|
|
// 接待时长 |
|
|
|
tabtimetap2(idx){ |
|
|
|
this.eharTab.active2=idx |
|
|
|
console.log(2,idx) |
|
|
|
// 调用方法 |
|
|
|
// this.getRecordList() |
|
|
|
}, |
|
|
|
tabtimetap3(idx){ |
|
|
|
this.eharTab.active3=idx |
|
|
|
console.log(3,idx) |
|
|
|
// 调用方法 |
|
|
|
// this.getRecordList() |
|
|
|
}, |
|
|
|
tabtimetap4(idx){ |
|
|
|
console.log(4,idx) |
|
|
|
this.eharTab.active4=idx |
|
|
|
// 调用方法 |
|
|
|
// this.getRecordList() |
|
|
|
}, |
|
|
|
//自定义时间 |
|
|
|
totalTimeChange(e) { |
|
|
|
console.log(e.startDate, e.endDate) |
|
|
|
this.activeTotal=3; |
|
|
|
this.lastEndDate=e.endDate |
|
|
|
this.lastStartDate=e.startDate |
|
|
|
// 获取数据 |
|
|
|
// this.getreception() |
|
|
|
// this.getRecordList() |
|
|
|
// this.getAwardList() |
|
|
|
}, |
|
|
|
//指标执行率分析tab |
|
|
|
tapspagek2(index) { |
|
|
@@ -261,7 +570,325 @@ |
|
|
|
uni.navigateTo({ |
|
|
|
url:'/pages/center/Piabodata/selectTeam' |
|
|
|
}) |
|
|
|
} |
|
|
|
}, |
|
|
|
staffSelectCallback(e){ |
|
|
|
if(this.choseStaffFlag){ |
|
|
|
// 第二个客户 |
|
|
|
// console.log(e,'第二个') |
|
|
|
this.staff2=e[0] |
|
|
|
}else{ |
|
|
|
// 第一个客户 |
|
|
|
// console.log(e,'第一个') |
|
|
|
// 当选择全部时 |
|
|
|
if(!e.value){ |
|
|
|
this.timepickpickisshow=false |
|
|
|
this.staff2.label='平均' |
|
|
|
this.staff2.value='' |
|
|
|
} |
|
|
|
this.staff1=e[0] |
|
|
|
} |
|
|
|
if(this.staff1.label==this.staff2.label){ |
|
|
|
uni.showToast({ |
|
|
|
title:'请勿选择重复', |
|
|
|
icon:'none' |
|
|
|
}) |
|
|
|
this.staff2.label='请选择' |
|
|
|
// this.staff2.label='平均' |
|
|
|
// this.staff2.value='' |
|
|
|
return |
|
|
|
}else{ |
|
|
|
// 获取数据 |
|
|
|
// this.getreception() |
|
|
|
// this.getRecordList() |
|
|
|
// this.getAwardList() |
|
|
|
} |
|
|
|
}, |
|
|
|
// 团队对比接待量 |
|
|
|
// receptionCountList(idx){ |
|
|
|
// this.$u.post('/cusLvStatistics/teamAnalysisReception',{ |
|
|
|
// // userA:this.staff1.value, |
|
|
|
// // userB:this.staff2.value, |
|
|
|
// deptIds:[this.staff1.value,this.staff2.value].filter(item=>item).join(','), |
|
|
|
// showRank:idx, |
|
|
|
// 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] |
|
|
|
// if(idx==0){ |
|
|
|
// // 当选择的是牌名时 |
|
|
|
// // 处理数据 |
|
|
|
// // 先处理牌名数据,需要进行判断全部还是单个 |
|
|
|
// // 当为全部时 |
|
|
|
// this.newlisttabinfo=[] |
|
|
|
// // 当选择全部时 |
|
|
|
// if(!this.staff1.value&&!this.staff2.value){ |
|
|
|
// // console.log(1) |
|
|
|
// result[0].map(item=>{ |
|
|
|
// let obj={} |
|
|
|
// obj.name=item.deptName |
|
|
|
// obj.zxl=item.receptionCount |
|
|
|
// this.newlisttabinfo.push(obj) |
|
|
|
// }) |
|
|
|
// } |
|
|
|
// // 当选择只有一个时 |
|
|
|
// else if(this.staff1.value&&!this.staff2.value){ |
|
|
|
// // console.log(2) |
|
|
|
// result[0].map(item=>{ |
|
|
|
// let obj={} |
|
|
|
// obj.name=item.deptName |
|
|
|
// obj.zxl=item.receptionCount |
|
|
|
// this.newlisttabinfo.push(obj) |
|
|
|
// }) |
|
|
|
// // 判断是否显示平均 |
|
|
|
// // 如果显示对比 |
|
|
|
// if(this.timepickpickisshow){ |
|
|
|
// result[1].map(item=>{ |
|
|
|
// let obj={} |
|
|
|
// obj.name='平均' |
|
|
|
// obj.zxl=item.receptionCount |
|
|
|
// this.newlisttabinfo.push(obj) |
|
|
|
// }) |
|
|
|
// } |
|
|
|
// }else{ |
|
|
|
// // console.log(3) |
|
|
|
// // 当两个都选择的时候 |
|
|
|
// result[0].map(item=>{ |
|
|
|
// let obj={} |
|
|
|
// obj.name=item.deptName |
|
|
|
// obj.zxl=item.receptionCount |
|
|
|
// this.newlisttabinfo.push(obj) |
|
|
|
// }) |
|
|
|
// result[1].map(item=>{ |
|
|
|
// let obj={} |
|
|
|
// obj.name=item.deptName |
|
|
|
// obj.zxl=item.receptionCount |
|
|
|
// this.newlisttabinfo.push(obj) |
|
|
|
// }) |
|
|
|
// } |
|
|
|
// }else{ |
|
|
|
// // 当选择趋势时 |
|
|
|
// // this.lineOptsect={ |
|
|
|
// // categories:[], |
|
|
|
// // series:[] |
|
|
|
// // } |
|
|
|
// let allobj={ |
|
|
|
// categories:[], |
|
|
|
// series:[] |
|
|
|
// } |
|
|
|
// // 先处理时间 |
|
|
|
// // 当选择全部时 |
|
|
|
// if(!this.staff1.value&&!this.staff2.value){ |
|
|
|
// // console.log(1) |
|
|
|
// result.map((item,idx)=>{ |
|
|
|
// let obj={} |
|
|
|
// obj.name=item[0].deptName |
|
|
|
// obj.data=[] |
|
|
|
// item.map(item1=>{ |
|
|
|
// // 时间的处理 |
|
|
|
// if(idx==0){ |
|
|
|
// allobj.categories.push(item1.statDate.slice(5,10)) |
|
|
|
// } |
|
|
|
// obj.data.push(item1.receptionCount) |
|
|
|
// }) |
|
|
|
// allobj.series.push(obj) |
|
|
|
// }) |
|
|
|
// } |
|
|
|
// // 当选择只有一个时 |
|
|
|
// else if(this.staff1.value&&!this.staff2.value){ |
|
|
|
// // console.log(2) |
|
|
|
// 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.receptionCount) |
|
|
|
// }) |
|
|
|
// allobj.series.push(obj) |
|
|
|
// // 判断是否显示平均 |
|
|
|
// // 如果显示对比 |
|
|
|
// if(this.timepickpickisshow){ |
|
|
|
// let obj={} |
|
|
|
// obj.data=[] |
|
|
|
// obj.name='平均' |
|
|
|
// result[1].map(item=>{ |
|
|
|
// obj.data.push(item.receptionCount) |
|
|
|
// }) |
|
|
|
// allobj.series.push(obj) |
|
|
|
// } |
|
|
|
// }else{ |
|
|
|
// // console.log(3) |
|
|
|
// // 当两个都选择的时候 |
|
|
|
// let obj={} |
|
|
|
// let obj1={} |
|
|
|
// obj.data=[] |
|
|
|
// obj1.data=[] |
|
|
|
// obj.name=result[0][0].deptName |
|
|
|
// obj1.name=result[1][0].deptName |
|
|
|
// result[0].map(item=>{ |
|
|
|
// allobj.categories.push(item.statDate.slice(5,10)) |
|
|
|
// obj.data.push(item.receptionCount) |
|
|
|
// }) |
|
|
|
// result[1].map(item=>{ |
|
|
|
// obj1.data.push(item.receptionCount) |
|
|
|
// }) |
|
|
|
// allobj.series.push(obj) |
|
|
|
// allobj.series.push(obj1) |
|
|
|
// } |
|
|
|
// this.lineOptsect=allobj |
|
|
|
// } |
|
|
|
// }) |
|
|
|
// }, |
|
|
|
// 接待时长 |
|
|
|
receptionCountList(idx,index){ |
|
|
|
this.$u.post('/cusLvStatistics/teamAnalysisReception',{ |
|
|
|
// userA:this.staff1.value, |
|
|
|
// userB:this.staff2.value, |
|
|
|
deptIds:[this.staff1.value,this.staff2.value].filter(item=>item).join(','), |
|
|
|
showRank:idx, |
|
|
|
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'+index]=res.avg[0] |
|
|
|
this['newAvg'+index]=res.avg[1] |
|
|
|
if(idx==0){ |
|
|
|
// 当选择的是牌名时 |
|
|
|
// 处理数据 |
|
|
|
// 先处理牌名数据,需要进行判断全部还是单个 |
|
|
|
// 当为全部时 |
|
|
|
this['newlisttabinfo'+index]=[] |
|
|
|
// 当选择全部时 |
|
|
|
if(!this.staff1.value&&!this.staff2.value){ |
|
|
|
// console.log(1) |
|
|
|
result[0].map(item=>{ |
|
|
|
let obj={} |
|
|
|
obj.name=item.deptName |
|
|
|
obj.zxl=item.receptionCount |
|
|
|
this['newlisttabinfo'+index].push(obj) |
|
|
|
}) |
|
|
|
} |
|
|
|
// 当选择只有一个时 |
|
|
|
else if(this.staff1.value&&!this.staff2.value){ |
|
|
|
// console.log(2) |
|
|
|
result[0].map(item=>{ |
|
|
|
let obj={} |
|
|
|
obj.name=item.deptName |
|
|
|
obj.zxl=item.receptionCount |
|
|
|
this['newlisttabinfo'+index].push(obj) |
|
|
|
}) |
|
|
|
// 判断是否显示平均 |
|
|
|
// 如果显示对比 |
|
|
|
if(this.timepickpickisshow){ |
|
|
|
result[1].map(item=>{ |
|
|
|
let obj={} |
|
|
|
obj.name='平均' |
|
|
|
obj.zxl=item.receptionCount |
|
|
|
this['newlisttabinfo'+index].push(obj) |
|
|
|
}) |
|
|
|
} |
|
|
|
}else{ |
|
|
|
// console.log(3) |
|
|
|
// 当两个都选择的时候 |
|
|
|
result[0].map(item=>{ |
|
|
|
let obj={} |
|
|
|
obj.name=item.deptName |
|
|
|
obj.zxl=item.receptionCount |
|
|
|
this['newlisttabinfo'+index].push(obj) |
|
|
|
}) |
|
|
|
result[1].map(item=>{ |
|
|
|
let obj={} |
|
|
|
obj.name=item.deptName |
|
|
|
obj.zxl=item.receptionCount |
|
|
|
this['newlisttabinfo'+index].push(obj) |
|
|
|
}) |
|
|
|
} |
|
|
|
}else{ |
|
|
|
// 当选择趋势时 |
|
|
|
this['lineOptsect'+index]={} |
|
|
|
// this.lineOptsect={ |
|
|
|
// categories:[], |
|
|
|
// series:[] |
|
|
|
// } |
|
|
|
let allobj={ |
|
|
|
categories:[], |
|
|
|
series:[] |
|
|
|
} |
|
|
|
// 先处理时间 |
|
|
|
// 当选择全部时 |
|
|
|
if(!this.staff1.value&&!this.staff2.value){ |
|
|
|
// console.log(1) |
|
|
|
result.map((item,idx)=>{ |
|
|
|
let obj={} |
|
|
|
obj.name=item[0].deptName |
|
|
|
obj.data=[] |
|
|
|
item.map(item1=>{ |
|
|
|
// 时间的处理 |
|
|
|
if(idx==0){ |
|
|
|
allobj.categories.push(item1.statDate.slice(5,10)) |
|
|
|
} |
|
|
|
obj.data.push(item1.receptionCount) |
|
|
|
}) |
|
|
|
allobj.series.push(obj) |
|
|
|
}) |
|
|
|
} |
|
|
|
// 当选择只有一个时 |
|
|
|
else if(this.staff1.value&&!this.staff2.value){ |
|
|
|
// console.log(2) |
|
|
|
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.receptionCount) |
|
|
|
}) |
|
|
|
allobj.series.push(obj) |
|
|
|
// 判断是否显示平均 |
|
|
|
// 如果显示对比 |
|
|
|
if(this.timepickpickisshow){ |
|
|
|
let obj={} |
|
|
|
obj.data=[] |
|
|
|
obj.name='平均' |
|
|
|
result[1].map(item=>{ |
|
|
|
obj.data.push(item.receptionCount) |
|
|
|
}) |
|
|
|
allobj.series.push(obj) |
|
|
|
} |
|
|
|
}else{ |
|
|
|
// console.log(3) |
|
|
|
// 当两个都选择的时候 |
|
|
|
let obj={} |
|
|
|
let obj1={} |
|
|
|
obj.data=[] |
|
|
|
obj1.data=[] |
|
|
|
obj.name=result[0][0].deptName |
|
|
|
obj1.name=result[1][0].deptName |
|
|
|
result[0].map(item=>{ |
|
|
|
allobj.categories.push(item.statDate.slice(5,10)) |
|
|
|
obj.data.push(item.receptionCount) |
|
|
|
}) |
|
|
|
result[1].map(item=>{ |
|
|
|
obj1.data.push(item.receptionCount) |
|
|
|
}) |
|
|
|
allobj.series.push(obj) |
|
|
|
allobj.series.push(obj1) |
|
|
|
} |
|
|
|
console.log(allobj) |
|
|
|
// return |
|
|
|
this['lineOptsect'+index].series=allobj.series |
|
|
|
this['lineOptsect'+index].categories=allobj.categories |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
|
} |
|
|
|
}; |
|
|
|
</script> |
|
|
@@ -272,4 +899,45 @@ |
|
|
|
background: #FAFAFA; |
|
|
|
padding-bottom: 60rpx; |
|
|
|
} |
|
|
|
// 对比时间切换 |
|
|
|
.timepick{ |
|
|
|
width: 100%; |
|
|
|
height: 90rpx; |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
background: #FAFAFA; |
|
|
|
} |
|
|
|
.timepicktime{ |
|
|
|
width: 260rpx; |
|
|
|
height: 50rpx; |
|
|
|
border: 1rpx solid #E0E0E0; |
|
|
|
margin-left: 30rpx; |
|
|
|
display: flex; |
|
|
|
background: #FFFFFF; |
|
|
|
} |
|
|
|
.timepicktime>view:nth-of-type(1){ |
|
|
|
width: 210rpx; |
|
|
|
height: 100%; |
|
|
|
line-height: 50rpx; |
|
|
|
font-size: 26rpx; |
|
|
|
font-weight: 400; |
|
|
|
text-align: center; |
|
|
|
} |
|
|
|
.timepicktime>view:nth-of-type(2){ |
|
|
|
width: 50rpx; |
|
|
|
height: 100%; |
|
|
|
border-left: 1px solid #E0E0E0; |
|
|
|
} |
|
|
|
.timepickpick{ |
|
|
|
width: 110rpx; |
|
|
|
height: 50rpx; |
|
|
|
margin-left: 30rpx; |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
} |
|
|
|
.Underimg{ |
|
|
|
width: 50rpx; |
|
|
|
height:50rpx; |
|
|
|
margin-top: -2rpx; |
|
|
|
} |
|
|
|
</style> |