Parcourir la source

项目新增字段

autoSR1012
douzhuo il y a 2 ans
Parent
révision
e0c96f4486
8 fichiers modifiés avec 176 ajouts et 55 suppressions
  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 Voir le fichier

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


+ 3
- 3
pages/center/Piabodata/StaffAnalysis.vue Voir le fichier

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


+ 3
- 3
pages/center/Piabodata/Theteamcompared.vue Voir le fichier

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


+ 40
- 16
pages/center/Piabodata/TrendAnalysis.vue Voir le fichier

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

+ 3
- 3
pages/center/Piabodata/Userinsightinto.vue Voir le fichier

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


+ 119
- 23
pages/center/Piabodata/index.vue Voir le fichier

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


+ 2
- 4
pages/center/consumer/consumerDetail.vue Voir le fichier

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


+ 3
- 0
pages/mine/details2.vue Voir le fichier

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


Chargement…
Annuler
Enregistrer