Browse Source

项目新增字段

autoSR1012
douzhuo 2 years ago
parent
commit
e0c96f4486
8 changed files with 176 additions and 55 deletions
  1. +3
    -3
      pages/center/Piabodata/Employeesstatistics.vue
  2. +3
    -3
      pages/center/Piabodata/StaffAnalysis.vue
  3. +3
    -3
      pages/center/Piabodata/Theteamcompared.vue
  4. +40
    -16
      pages/center/Piabodata/TrendAnalysis.vue
  5. +3
    -3
      pages/center/Piabodata/Userinsightinto.vue
  6. +119
    -23
      pages/center/Piabodata/index.vue
  7. +2
    -4
      pages/center/consumer/consumerDetail.vue
  8. +3
    -0
      pages/mine/details2.vue

+ 3
- 3
pages/center/Piabodata/Employeesstatistics.vue View File

@@ -2,8 +2,8 @@
<view class="box"> <view class="box">


<view class="boxtittabs"> <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>


<!-- 接待量排名(TOP10) --> <!-- 接待量排名(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="screen">
<view class="boxtittab"> <view class="boxtittab">
<view class="tabbox"> <view class="tabbox">


+ 3
- 3
pages/center/Piabodata/StaffAnalysis.vue View File

@@ -2,8 +2,8 @@
<view> <view>


<view class="boxtittabs"> <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>


<view class="timepick"> <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="screen">
<view class="boxtittab"> <view class="boxtittab">
<view class="tabbox"> <view class="tabbox">


+ 3
- 3
pages/center/Piabodata/Theteamcompared.vue View File

@@ -1,8 +1,8 @@
<template> <template>
<view class="box"> <view class="box">
<view class="boxtittabs"> <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>


<view class="timepick"> <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="screen">
<view class="boxtittab"> <view class="boxtittab">
<view class="tabbox"> <view class="tabbox">


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

@@ -95,11 +95,24 @@




<view class="chart"> <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="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 style="display: flex;align-items: center;border-bottom: 1px solid #C9C9C9;height: 80rpx;">
<view>选择一级:</view> <view>选择一级:</view>
@@ -127,15 +140,6 @@
</view> </view>
</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="single">
<view class="uchaserbox" :class="{ uchaserboxs : newactiveTotal == 1 || newactiveTotal == 3 }" <view class="uchaserbox" :class="{ uchaserboxs : newactiveTotal == 1 || newactiveTotal == 3 }"
@@ -357,7 +361,6 @@
showMarketingBusiness: false, // 展示可选择的销讲业务 showMarketingBusiness: false, // 展示可选择的销讲业务
showMarketingList: [], // 销讲业务列表 showMarketingList: [], // 销讲业务列表
marketingBusiness: '', // 销讲业务 marketingBusiness: '', // 销讲业务
fncMap: ['', 'getAllGuWen', '', 'getAllYiJi', 'getAllErJi'], // 确认后事件合集
}; };


}, },
@@ -441,7 +444,7 @@
selectMarketingBusiness(e) { selectMarketingBusiness(e) {
this.marketingBusinessText = e[0].label this.marketingBusinessText = e[0].label
this.marketingBusiness = e[0].value this.marketingBusiness = e[0].value
this[this.fncMap[this.newactiveTotal]]()
this.init()
}, },


// 获取顾问 // 获取顾问
@@ -702,6 +705,10 @@
}, },
//tab切换 //tab切换
tabxuanxiangtap(index) { 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.newactiveTotal = index;
this.Selectlevel = false; this.Selectlevel = false;
this.Selecttuandui = false; this.Selecttuandui = false;
@@ -1542,10 +1549,27 @@
min-height: 50vh; min-height: 50vh;


.marketingBusiness { .marketingBusiness {
width: 100%;
display: flex; display: flex;
justify-content: center; justify-content: center;
align-items: 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> </style>

+ 3
- 3
pages/center/Piabodata/Userinsightinto.vue View File

@@ -1,8 +1,8 @@
<template> <template>
<view class="box"> <view class="box">
<view class="boxtittabs"> <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>


<view class="info"> <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="screen">
<view class="boxtittab"> <view class="boxtittab">
<view class="tabbox"> <view class="tabbox">


+ 119
- 23
pages/center/Piabodata/index.vue View File

@@ -1,18 +1,8 @@
<template> <template>
<view class="box"> <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>
<view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view> <view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view>
<view class="Piabodata-box"> <view class="Piabodata-box">
@@ -192,6 +182,32 @@
:default-value='selindex'></u-select> :default-value='selindex'></u-select>
<u-select v-model="staffShow1" :list="teamList" @confirm="staffSelectCallback($event,1)" <u-select v-model="staffShow1" :list="teamList" @confirm="staffSelectCallback($event,1)"
:default-value='selindex'></u-select> :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> <loading v-model="LOADING"></loading>
</view> </view>
@@ -334,6 +350,15 @@
}] }]
} }
}, },



screenShow: false, // 时间筛选弹窗
showTimeText: '近七天', // 展示文字
showBeText: '全部业务', //
templateList: [], // 销讲业务
showTemplate: false, // 展示选择销讲业务弹窗
marketingBusiness: '', // 选择的业务id
}; };
}, },
onShow() { onShow() {
@@ -341,7 +366,7 @@
// 获取项目id // 获取项目id
this.houseId = uni.getStorageSync('buildingID').id; this.houseId = uni.getStorageSync('buildingID').id;
// 获取数据看板 // 获取数据看板
this.getMarketingBusiness()
// 获取员工 // 获取员工
this.getStaffList() this.getStaffList()
// 获取团队 // 获取团队
@@ -357,6 +382,7 @@
this.getindexZxl() this.getindexZxl()
}, },
onPullDownRefresh() { onPullDownRefresh() {
this.getMarketingBusiness()
// 获取员工 // 获取员工
this.getStaffList() this.getStaffList()
// 获取团队 // 获取团队
@@ -374,7 +400,34 @@
}, 1000); }, 1000);
}, },
methods: { 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({ uni.navigateTo({
url: "/pages/center/Piabodata/requireminingAnalysis" url: "/pages/center/Piabodata/requireminingAnalysis"
}) })
@@ -426,7 +479,8 @@
houseId: this.houseId, houseId: this.houseId,
timeType: this.lastEndDate ? null : this.activeTotal, timeType: this.lastEndDate ? null : this.activeTotal,
lastEndDate: this.lastEndDate, lastEndDate: this.lastEndDate,
lastStartDate: this.lastStartDate
lastStartDate: this.lastStartDate,
marketingBusiness: this.marketingBusiness,
}) })
.then(res => { .then(res => {
// console.log(res) // console.log(res)
@@ -441,7 +495,8 @@
houseId: this.houseId, houseId: this.houseId,
timeType: this.lastEndDate ? null : this.activeTotal, timeType: this.lastEndDate ? null : this.activeTotal,
lastEndDate: this.lastEndDate, lastEndDate: this.lastEndDate,
lastStartDate: this.lastStartDate
lastStartDate: this.lastStartDate,
marketingBusiness: this.marketingBusiness,
}) })
.then(res => { .then(res => {
this.LOADING = false this.LOADING = false
@@ -473,11 +528,12 @@
houseId: this.houseId, houseId: this.houseId,
timeType: this.lastEndDate ? null : this.activeTotal, timeType: this.lastEndDate ? null : this.activeTotal,
lastEndDate: this.lastEndDate, lastEndDate: this.lastEndDate,
lastStartDate: this.lastStartDate
lastStartDate: this.lastStartDate,
marketingBusiness: this.marketingBusiness,
}) })
.then(res => { .then(res => {
res.sumDuration = Math.floor(res.sumDuration / 60) || 0 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 => { this.numlist.map(item => {
item.num = res[item.setName] item.num = res[item.setName]
}) })
@@ -513,7 +569,8 @@
houseId: this.houseId, houseId: this.houseId,
timeType: this.lastEndDate ? null : this.activeTotal + '', timeType: this.lastEndDate ? null : this.activeTotal + '',
lastEndDate: this.lastEndDate, lastEndDate: this.lastEndDate,
lastStartDate: this.lastStartDate
lastStartDate: this.lastStartDate,
marketingBusiness: this.marketingBusiness,
}) })
.then(res => { .then(res => {
this.allnum1 = res.avg[0] this.allnum1 = res.avg[0]
@@ -545,7 +602,8 @@
houseId: this.houseId, houseId: this.houseId,
timeType: this.lastEndDate ? null : this.activeTotal + '', timeType: this.lastEndDate ? null : this.activeTotal + '',
lastEndDate: this.lastEndDate, lastEndDate: this.lastEndDate,
lastStartDate: this.lastStartDate
lastStartDate: this.lastStartDate,
marketingBusiness: this.marketingBusiness,
}) })
.then(res => { .then(res => {
// console.log(res) // console.log(res)
@@ -574,10 +632,12 @@
}) })
}, },
//时间切换 //时间切换
tabtimetap(index) {
tabtimetap(index, text) {
if (index == 3) { if (index == 3) {
this.totalTimeShow = true; this.totalTimeShow = true;
} else { } else {
this.screenShow = false
this.showTimeText = text
this.activeTotal = index; this.activeTotal = index;
this.lastEndDate = '' this.lastEndDate = ''
this.lastStartDate = '' this.lastStartDate = ''
@@ -605,6 +665,8 @@
//自定义时间 //自定义时间
totalTimeChange(e) { totalTimeChange(e) {
console.log(e.startDate, e.endDate) console.log(e.startDate, e.endDate)
this.screenShow = false
this.showTimeText = `${e.startDate}-${e.endDate}`
this.activeTotal = 3; this.activeTotal = 3;
this.lastEndDate = e.endDate this.lastEndDate = e.endDate
this.lastStartDate = e.startDate this.lastStartDate = e.startDate
@@ -641,7 +703,7 @@
this.allList[index].children.map(item => { this.allList[index].children.map(item => {
arr.push({ arr.push({
name: item.name, name: item.name,
zxl: item.zxl>100?100:item.zxl
zxl: item.zxl > 100 ? 100 : item.zxl
}) })
}) })
this.newlisttabinfo1 = arr this.newlisttabinfo1 = arr
@@ -695,6 +757,40 @@
}; };
</script> </script>
<style lang="scss" scoped> <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 { .box {
width: 100%; width: 100%;
height: 100%; height: 100%;


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

@@ -136,7 +136,7 @@
<!-- 销讲执行率 --> <!-- 销讲执行率 -->
<view class="ratecenter" v-if="activeTotal==2"> <view class="ratecenter" v-if="activeTotal==2">
<view class="boxtittabs"> <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> <div class="items">销讲执行:{{ totalRate||0 }}%</div>
</view> </view>
<view <view
@@ -458,7 +458,6 @@
this.showTemplate = false; this.showTemplate = false;
this.customerId = e[0].value this.customerId = e[0].value
this.showBeText = e[0].label this.showBeText = e[0].label
this.getCustomerInfo()
this.tabtimetap(2) this.tabtimetap(2)
}, },


@@ -652,8 +651,6 @@
res.forEach(item => { res.forEach(item => {
item.agentName = this.customerInfo.agentName item.agentName = this.customerInfo.agentName
}) })


this.fllowList = res; this.fllowList = res;
}) })
}, },
@@ -703,6 +700,7 @@
}).then(res => { }).then(res => {
if (res.length) { if (res.length) {
let level1 = [] let level1 = []
let level2rate = 0
res.forEach(item => { res.forEach(item => {
if (item.pid == 0) { if (item.pid == 0) {
level1.push({ level1.push({


+ 3
- 0
pages/mine/details2.vue View File

@@ -890,6 +890,9 @@
icon: 'none', icon: 'none',
duration: 2000 duration: 2000
}) })
this.init(this.infos);
this.gituserlist()
this.getMarketingBusiness()
}).catch(e => { }).catch(e => {
uni.showToast({ uni.showToast({
title: e.data.message, title: e.data.message,


Loading…
Cancel
Save