@@ -2,8 +2,8 @@ | |||
<view class="box"> | |||
<view class="boxtittabs"> | |||
<div class="items" @tap="screenShow = true">{{ showTimeText }}</div> | |||
<div class="items" @tap="showTemplate = true">{{ showBeText }}</div> | |||
<div class="items" @tap="screenShow = true">{{ showTimeText }}<u-icon name="arrow-down" size="24" style="padding-left: 12rpx"></u-icon></div> | |||
<div class="items" @tap="showTemplate = true">{{ showBeText }}<u-icon name="arrow-down" size="24" style="padding-left: 12rpx"></u-icon></div> | |||
</view> | |||
<!-- 接待量排名(TOP10) --> | |||
@@ -231,7 +231,7 @@ | |||
<!-- 更多筛选 --> | |||
<u-popup v-model="screenShow" mode="top"> | |||
<u-popup v-model="screenShow" mode="bottom" height="368"> | |||
<view class="screen"> | |||
<view class="boxtittab"> | |||
<view class="tabbox"> | |||
@@ -2,8 +2,8 @@ | |||
<view> | |||
<view class="boxtittabs"> | |||
<div class="items" @tap="screenShow = true">{{ showTimeText }}</div> | |||
<div class="items" @tap="showTemplate = true">{{ showBeText }}</div> | |||
<div class="items" @tap="screenShow = true">{{ showTimeText }}<u-icon name="arrow-down" size="24" style="padding-left: 12rpx"></u-icon></div> | |||
<div class="items" @tap="showTemplate = true">{{ showBeText }}<u-icon name="arrow-down" size="24" style="padding-left: 12rpx"></u-icon></div> | |||
</view> | |||
<view class="timepick"> | |||
@@ -132,7 +132,7 @@ | |||
<!-- 更多筛选 --> | |||
<u-popup v-model="screenShow" mode="top"> | |||
<u-popup v-model="screenShow" mode="bottom" height="368"> | |||
<view class="screen"> | |||
<view class="boxtittab"> | |||
<view class="tabbox"> | |||
@@ -1,8 +1,8 @@ | |||
<template> | |||
<view class="box"> | |||
<view class="boxtittabs"> | |||
<div class="items" @tap="screenShow = true">{{ showTimeText }}</div> | |||
<div class="items" @tap="showTemplate = true">{{ showBeText }}</div> | |||
<div class="items" @tap="screenShow = true">{{ showTimeText }}<u-icon name="arrow-down" size="24" style="padding-left: 12rpx"></u-icon></div> | |||
<div class="items" @tap="showTemplate = true">{{ showBeText }}<u-icon name="arrow-down" size="24" style="padding-left: 12rpx"></u-icon></div> | |||
</view> | |||
<view class="timepick"> | |||
@@ -181,7 +181,7 @@ | |||
<!-- 更多筛选 --> | |||
<u-popup v-model="screenShow" mode="top"> | |||
<u-popup v-model="screenShow" mode="bottom" height="368"> | |||
<view class="screen"> | |||
<view class="boxtittab"> | |||
<view class="tabbox"> | |||
@@ -95,11 +95,24 @@ | |||
<view class="chart"> | |||
<view class="marketingBusiness"> | |||
<text class="marketingBusinesstext" | |||
@click="showMarketingBusiness = true">{{ marketingBusinessText }}</text> | |||
</view> | |||
<view style="display: flex;padding: 0 0 40rpx 0;justify-content: center;"> | |||
<view class="marketingBusiness"> | |||
<view class="marketingBusinesstext" style="min-width: 50rpx;" | |||
@click="showMarketingBusiness = true">{{ marketingBusinessText }} | |||
<image class="righttochoose" src="../../../static/images/righttochoose.png" mode=""></image> | |||
</view> | |||
</view> | |||
<view | |||
style="margin: 0 20rpx 0 0;flex-shrink: 0;display: flex;align-items: center;justify-content: center;position: relative;z-index: 999999;" | |||
v-if="Selecttuandui&&Selecttuanduiobj.name" @click="oninputtap4()"> | |||
<view class="title2-che" style="width: 220rpx;"> | |||
{{Selecttuanduiobj.name}} | |||
<image class="righttochoose" src="../../../static/images/righttochoose.png" mode=""></image> | |||
</view> | |||
</view> | |||
</view> | |||
<view style="padding: 30rpx;padding-bottom: 20rpx;align-items: center;" v-if="Selectlevel"> | |||
<view style="display: flex;align-items: center;border-bottom: 1px solid #C9C9C9;height: 80rpx;"> | |||
<view>选择一级:</view> | |||
@@ -127,15 +140,6 @@ | |||
</view> | |||
</view> | |||
<view | |||
style="padding: 0 0 40rpx 0;display: flex;align-items: center;justify-content: center;position: relative;z-index: 999999;" | |||
v-if="Selecttuandui&&Selecttuanduiobj.name" @click="oninputtap4()"> | |||
<view class="title2-che" style="width: 220rpx;"> | |||
{{Selecttuanduiobj.name}} | |||
<image class="righttochoose" src="../../../static/images/righttochoose.png" mode=""></image> | |||
</view> | |||
</view> | |||
<view class="single"> | |||
<view class="uchaserbox" :class="{ uchaserboxs : newactiveTotal == 1 || newactiveTotal == 3 }" | |||
@@ -357,7 +361,6 @@ | |||
showMarketingBusiness: false, // 展示可选择的销讲业务 | |||
showMarketingList: [], // 销讲业务列表 | |||
marketingBusiness: '', // 销讲业务 | |||
fncMap: ['', 'getAllGuWen', '', 'getAllYiJi', 'getAllErJi'], // 确认后事件合集 | |||
}; | |||
}, | |||
@@ -441,7 +444,7 @@ | |||
selectMarketingBusiness(e) { | |||
this.marketingBusinessText = e[0].label | |||
this.marketingBusiness = e[0].value | |||
this[this.fncMap[this.newactiveTotal]]() | |||
this.init() | |||
}, | |||
// 获取顾问 | |||
@@ -702,6 +705,10 @@ | |||
}, | |||
//tab切换 | |||
tabxuanxiangtap(index) { | |||
if (index == 1 || index == 3 || index == 4) { | |||
this.marketingBusinessText = this.showMarketingList[0].templateName | |||
this.marketingBusiness = this.showMarketingList[0].id | |||
} | |||
this.newactiveTotal = index; | |||
this.Selectlevel = false; | |||
this.Selecttuandui = false; | |||
@@ -1542,10 +1549,27 @@ | |||
min-height: 50vh; | |||
.marketingBusiness { | |||
width: 100%; | |||
display: flex; | |||
justify-content: center; | |||
align-items: center; | |||
.marketingBusinesstext { | |||
padding: 0 20rpx; | |||
display: flex; | |||
align-items: center; | |||
border-radius: 8rpx; | |||
border: 1rpx solid #666666; | |||
overflow: hidden; | |||
white-space: nowrap; | |||
text-overflow: ellipsis; | |||
.righttochoose { | |||
margin-left: 12rpx; | |||
width: 18rpx; | |||
height: 24rpx; | |||
} | |||
} | |||
} | |||
} | |||
</style> |
@@ -1,8 +1,8 @@ | |||
<template> | |||
<view class="box"> | |||
<view class="boxtittabs"> | |||
<div class="items" @tap="screenShow = true">{{ showTimeText }}</div> | |||
<div class="items" @tap="showTemplate = true">{{ showBeText }}</div> | |||
<div class="items" @tap="screenShow = true">{{ showTimeText }}<u-icon name="arrow-down" size="24" style="padding-left: 12rpx"></u-icon></div> | |||
<div class="items" @tap="showTemplate = true">{{ showBeText }}<u-icon name="arrow-down" size="24" style="padding-left: 12rpx"></u-icon></div> | |||
</view> | |||
<view class="info"> | |||
@@ -86,7 +86,7 @@ | |||
<!-- 更多筛选 --> | |||
<u-popup v-model="screenShow" mode="top"> | |||
<u-popup v-model="screenShow" mode="bottom" height="368"> | |||
<view class="screen"> | |||
<view class="boxtittab"> | |||
<view class="tabbox"> | |||
@@ -1,18 +1,8 @@ | |||
<template> | |||
<view class="box"> | |||
<view class="boxtittab"> | |||
<view class="tabbox"> | |||
<view :class="{ activecllasscet: activeTotal == 4 }" @click="tabtimetap(4)">近七天</view> | |||
</view> | |||
<view class="tabbox"> | |||
<view :class="{ activecllasscet: activeTotal == 5 }" @click="tabtimetap(5)">近15天</view> | |||
</view> | |||
<view class="tabbox"> | |||
<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 class="boxtittabs"> | |||
<div class="items" @tap="screenShow = true">{{ showTimeText }}<u-icon name="arrow-down" size="24" style="padding-left: 12rpx"></u-icon></div> | |||
<div class="items" @tap="showTemplate = true">{{ showBeText }}<u-icon name="arrow-down" size="24" style="padding-left: 12rpx"></u-icon></div> | |||
</view> | |||
<view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view> | |||
<view class="Piabodata-box"> | |||
@@ -192,6 +182,32 @@ | |||
:default-value='selindex'></u-select> | |||
<u-select v-model="staffShow1" :list="teamList" @confirm="staffSelectCallback($event,1)" | |||
:default-value='selindex'></u-select> | |||
<!-- 更多筛选 --> | |||
<u-popup v-model="screenShow" mode="bottom" height="368"> | |||
<view class="screen"> | |||
<view class="boxtittab"> | |||
<view class="tabbox"> | |||
<view :class="{ activecllasscet: activeTotal == 4 }" @click="tabtimetap(4, '近七天')">近七天</view> | |||
</view> | |||
<view class="tabbox"> | |||
<view :class="{ activecllasscet: activeTotal == 5 }" @click="tabtimetap(5, '近15天')">近15天</view> | |||
</view> | |||
<view class="tabbox"> | |||
<view :class="{ activecllasscet: activeTotal == 6 }" @click="tabtimetap(6, '近30天')">近30天</view> | |||
</view> | |||
<view class="tabbox"> | |||
<view :class="{ activecllasscet: activeTotal == 3 }" @click="tabtimetap(3, '自定义')">自定义</view> | |||
</view> | |||
</view> | |||
</view> | |||
</u-popup> | |||
<!-- 销讲业务 --> | |||
<u-select :mask-close-able="false" label-name="templateName" value-name="id" v-model="showTemplate" | |||
mode="single-column" :list="templateList" @cancel="templateCancel" @confirm="templateConfirm"></u-select> | |||
<!-- 加载组件 --> | |||
<loading v-model="LOADING"></loading> | |||
</view> | |||
@@ -334,6 +350,15 @@ | |||
}] | |||
} | |||
}, | |||
screenShow: false, // 时间筛选弹窗 | |||
showTimeText: '近七天', // 展示文字 | |||
showBeText: '全部业务', // | |||
templateList: [], // 销讲业务 | |||
showTemplate: false, // 展示选择销讲业务弹窗 | |||
marketingBusiness: '', // 选择的业务id | |||
}; | |||
}, | |||
onShow() { | |||
@@ -341,7 +366,7 @@ | |||
// 获取项目id | |||
this.houseId = uni.getStorageSync('buildingID').id; | |||
// 获取数据看板 | |||
this.getMarketingBusiness() | |||
// 获取员工 | |||
this.getStaffList() | |||
// 获取团队 | |||
@@ -357,6 +382,7 @@ | |||
this.getindexZxl() | |||
}, | |||
onPullDownRefresh() { | |||
this.getMarketingBusiness() | |||
// 获取员工 | |||
this.getStaffList() | |||
// 获取团队 | |||
@@ -374,7 +400,34 @@ | |||
}, 1000); | |||
}, | |||
methods: { | |||
towajue(){ | |||
// 销讲业务方法 | |||
templateCancel() { | |||
this.showTemplate = false; | |||
}, | |||
// 确认选择销讲业务 | |||
templateConfirm(e) { | |||
this.showTemplate = false; | |||
this.marketingBusiness = e[0].value | |||
this.showBeText = e[0].label | |||
this.getdata() | |||
}, | |||
// 获取销讲业务 | |||
getMarketingBusiness() { | |||
this.$u.get('/customer/marketingBusiness', { | |||
houseId: uni.getStorageSync('buildingID').id, | |||
}).then(res => { | |||
this.templateList = res | |||
this.templateList.unshift({ | |||
templateName: '全部业务', | |||
id: '' | |||
}) | |||
}) | |||
}, | |||
towajue() { | |||
uni.navigateTo({ | |||
url: "/pages/center/Piabodata/requireminingAnalysis" | |||
}) | |||
@@ -426,7 +479,8 @@ | |||
houseId: this.houseId, | |||
timeType: this.lastEndDate ? null : this.activeTotal, | |||
lastEndDate: this.lastEndDate, | |||
lastStartDate: this.lastStartDate | |||
lastStartDate: this.lastStartDate, | |||
marketingBusiness: this.marketingBusiness, | |||
}) | |||
.then(res => { | |||
// console.log(res) | |||
@@ -441,7 +495,8 @@ | |||
houseId: this.houseId, | |||
timeType: this.lastEndDate ? null : this.activeTotal, | |||
lastEndDate: this.lastEndDate, | |||
lastStartDate: this.lastStartDate | |||
lastStartDate: this.lastStartDate, | |||
marketingBusiness: this.marketingBusiness, | |||
}) | |||
.then(res => { | |||
this.LOADING = false | |||
@@ -473,11 +528,12 @@ | |||
houseId: this.houseId, | |||
timeType: this.lastEndDate ? null : this.activeTotal, | |||
lastEndDate: this.lastEndDate, | |||
lastStartDate: this.lastStartDate | |||
lastStartDate: this.lastStartDate, | |||
marketingBusiness: this.marketingBusiness, | |||
}) | |||
.then(res => { | |||
res.sumDuration = Math.floor(res.sumDuration / 60) || 0 | |||
res.fraction = (res.fraction>100?100:(res.fraction||0)) + '%' | |||
res.fraction = (res.fraction > 100 ? 100 : (res.fraction || 0)) + '%' | |||
this.numlist.map(item => { | |||
item.num = res[item.setName] | |||
}) | |||
@@ -513,7 +569,8 @@ | |||
houseId: this.houseId, | |||
timeType: this.lastEndDate ? null : this.activeTotal + '', | |||
lastEndDate: this.lastEndDate, | |||
lastStartDate: this.lastStartDate | |||
lastStartDate: this.lastStartDate, | |||
marketingBusiness: this.marketingBusiness, | |||
}) | |||
.then(res => { | |||
this.allnum1 = res.avg[0] | |||
@@ -545,7 +602,8 @@ | |||
houseId: this.houseId, | |||
timeType: this.lastEndDate ? null : this.activeTotal + '', | |||
lastEndDate: this.lastEndDate, | |||
lastStartDate: this.lastStartDate | |||
lastStartDate: this.lastStartDate, | |||
marketingBusiness: this.marketingBusiness, | |||
}) | |||
.then(res => { | |||
// console.log(res) | |||
@@ -574,10 +632,12 @@ | |||
}) | |||
}, | |||
//时间切换 | |||
tabtimetap(index) { | |||
tabtimetap(index, text) { | |||
if (index == 3) { | |||
this.totalTimeShow = true; | |||
} else { | |||
this.screenShow = false | |||
this.showTimeText = text | |||
this.activeTotal = index; | |||
this.lastEndDate = '' | |||
this.lastStartDate = '' | |||
@@ -605,6 +665,8 @@ | |||
//自定义时间 | |||
totalTimeChange(e) { | |||
console.log(e.startDate, e.endDate) | |||
this.screenShow = false | |||
this.showTimeText = `${e.startDate}-${e.endDate}` | |||
this.activeTotal = 3; | |||
this.lastEndDate = e.endDate | |||
this.lastStartDate = e.startDate | |||
@@ -641,7 +703,7 @@ | |||
this.allList[index].children.map(item => { | |||
arr.push({ | |||
name: item.name, | |||
zxl: item.zxl>100?100:item.zxl | |||
zxl: item.zxl > 100 ? 100 : item.zxl | |||
}) | |||
}) | |||
this.newlisttabinfo1 = arr | |||
@@ -695,6 +757,40 @@ | |||
}; | |||
</script> | |||
<style lang="scss" scoped> | |||
.boxtittabs { | |||
width: 100%; | |||
height: 92rpx; | |||
background: #FFFFFF; | |||
display: flex; | |||
align-items: center; | |||
.items { | |||
padding: 0 24rpx; | |||
width: 50%; | |||
height: 100%; | |||
display: flex; | |||
align-items: center; | |||
justify-content: center; | |||
overflow: hidden; | |||
white-space: nowrap; | |||
text-overflow: ellipsis; | |||
} | |||
} | |||
.screen { | |||
width: 100%; | |||
.boxtittab { | |||
width: 100%; | |||
flex-direction: column; | |||
.tabbox { | |||
width: 100%; | |||
} | |||
} | |||
} | |||
.box { | |||
width: 100%; | |||
height: 100%; | |||
@@ -136,7 +136,7 @@ | |||
<!-- 销讲执行率 --> | |||
<view class="ratecenter" v-if="activeTotal==2"> | |||
<view class="boxtittabs"> | |||
<div class="items" @tap="showTemplate = true">销讲业务:{{ showBeText }}</div> | |||
<div class="items" @tap="showTemplate = true">销讲业务:{{ showBeText }}<u-icon name="arrow-down" size="24" style="padding-left: 12rpx"></u-icon></div> | |||
<div class="items">销讲执行:{{ totalRate||0 }}%</div> | |||
</view> | |||
<view | |||
@@ -458,7 +458,6 @@ | |||
this.showTemplate = false; | |||
this.customerId = e[0].value | |||
this.showBeText = e[0].label | |||
this.getCustomerInfo() | |||
this.tabtimetap(2) | |||
}, | |||
@@ -652,8 +651,6 @@ | |||
res.forEach(item => { | |||
item.agentName = this.customerInfo.agentName | |||
}) | |||
this.fllowList = res; | |||
}) | |||
}, | |||
@@ -703,6 +700,7 @@ | |||
}).then(res => { | |||
if (res.length) { | |||
let level1 = [] | |||
let level2rate = 0 | |||
res.forEach(item => { | |||
if (item.pid == 0) { | |||
level1.push({ | |||
@@ -890,6 +890,9 @@ | |||
icon: 'none', | |||
duration: 2000 | |||
}) | |||
this.init(this.infos); | |||
this.gituserlist() | |||
this.getMarketingBusiness() | |||
}).catch(e => { | |||
uni.showToast({ | |||
title: e.data.message, | |||