Browse Source

消息

master
J_yt 2 years ago
parent
commit
4f1a15495e
9 changed files with 702 additions and 663 deletions
  1. +1
    -1
      pages/center/Piabodata/Customerportrait/Receivedetailabout.vue
  2. +14
    -3
      pages/center/Piabodata/StaffAnalysis.vue
  3. +569
    -558
      pages/center/Piabodata/Theteamcompared.vue
  4. +79
    -77
      pages/center/Piabodata/index.vue
  5. +13
    -2
      pages/center/consumer/consumerDetail.vue
  6. +4
    -4
      pages/center/consumer/index.vue
  7. +7
    -1
      pages/index/customer.vue
  8. +13
    -3
      pages/index/index.vue
  9. +2
    -14
      utils/domain.js

+ 1
- 1
pages/center/Piabodata/Customerportrait/Receivedetailabout.vue View File

@@ -1475,7 +1475,7 @@
clickaudeopal(item){
if(item.selected==0){
uni.navigateTo({
url: '/pages/mine/ScoringPlaylist?customerId='+this.customerId +"&id="+item.marketingId
url: '/pages/mine/ScoringPlaylist?customerId='+this.customerId +"&id="+item.marketingId + '&type=0'
})
}
},


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

@@ -114,6 +114,7 @@
:ontouch="true"
canvasId="wangxiaohuaerlingryilingwuyibhh"
:canvas2d="true"
:opts="lineOpts"
/>
</view>
</view>
@@ -151,7 +152,7 @@
totalTimeShow: false,
activeTotal:4,
activeTotal2:1,
// 客户id
// 项目id
houseId:'',
staffList:[],
staffList1:[],
@@ -171,6 +172,16 @@
value:'',
label:'平均'
},
lineOpts: {
yAxis: {
data: [
{
max: 100,
min: 0,
}
]
}
},
opts: {
fontSize: 10,
extra: {
@@ -236,13 +247,13 @@
},
onLoad: function(options) {
// 获取客户id
// 获取项目id
this.houseId = uni.getStorageSync('buildingID').id;
// this.buildingname = uni.getStorageSync('buildingID').name;
// 请求接口获取所有置业顾问员工的列表
this.getStaffList()
},
onPullDownRefresh(){
onPullDownRefresh() {
this.getStaffList()
setTimeout(function () {
uni.stopPullDownRefresh();


+ 569
- 558
pages/center/Piabodata/Theteamcompared.vue
File diff suppressed because it is too large
View File


+ 79
- 77
pages/center/Piabodata/index.vue View File

@@ -77,9 +77,15 @@
<view class="heji">均值:25</view>
</view> -->
<view class="danwei">{{danwei}} </view>
<view class="uchaserbox" >
<qiun-data-charts type="line" :chartData="lineOptsect" :opts="optionsobj" background="none" :ontouch="true"
canvasId="wangxiaohuaerlingilingwuyiba1" :canvas2d="true" />
<view class="uchaserbox">
<template v-if="danwei == '单位(%)'">
<qiun-data-charts type="line" :chartData="lineOptsect" :opts="lineOpts" background="none"
:ontouch="true" canvasId="wangxiaohuaerlingilingwuyiba1" :canvas2d="true" />
</template>
<template v-else>
<qiun-data-charts type="line" :chartData="lineOptsect" background="none" :ontouch="true"
canvasId="wangxiaohuaerlingilingwuyiba1" :canvas2d="true" />
</template>
</view>
</view>

@@ -93,13 +99,13 @@
<view class="title2-che" style="width: 220rpx;">{{team.label}}
<image class="righttochoose" src="../../../static/images/righttochoose.png" mode=""></image>
</view>
</view>
</view>
<view class="danwei">单位(%)</view>
<view class="uchaserbox">
<qiun-data-charts type="line" :chartData="lineOptsect1" background="none" :ontouch="true"
canvasId="wangxiaohuaerlineryiliwuyibao" :canvas2d="true" />
canvasId="wangxiaohuaerlineryiliwuyibao" :canvas2d="true" :opts="lineOpts" />
</view>
</view>
</view>
@@ -124,8 +130,8 @@
</view> -->
<view class="danwei">单位(%)</view>
<view class="uchaserbox">
<qiun-data-charts type="line" :chartData="lineOptsect2" background="none" :ontouch="true"
canvasId="wangxiaohuaerlingeryilingwuyibao" :canvas2d="true" />
<qiun-data-charts type="line" :chartData="lineOptsect2" background="none" :ontouch="true"
canvasId="wangxiaohuaerlingeryilingwuyibao" :canvas2d="true" :opts="lineOpts" />
</view>
</view>
</view>
@@ -147,7 +153,8 @@
<view class="heji">合计:50</view>
<view class="heji">均值:25</view>
</view> -->
<view style="width: 100%;height: 300rpx;text-align: center;line-height: 300rpx;" v-if="newlisttabinfo.length==0">暂无数据</view>
<view style="width: 100%;height: 300rpx;text-align: center;line-height: 300rpx;"
v-if="newlisttabinfo.length==0">暂无数据</view>
<view v-else class="jindu" style="margin-top: 20rpx;">
<scroll-view style="height: 300rpx;" scroll-y="true">
<view class="jindu-box" v-for="(item,index) in newlisttabinfo" :key="index">
@@ -175,7 +182,8 @@
:is-scroll="true">
</u-tabs-swiper>
</view>
<view style="width: 100%;height: 300rpx;text-align: center;line-height: 300rpx;" v-if="newlisttabinfo1.length==0">暂无数据</view>
<view style="width: 100%;height: 300rpx;text-align: center;line-height: 300rpx;"
v-if="newlisttabinfo1.length==0">暂无数据</view>
<view class="jindu" v-else>
<scroll-view style="height: 300rpx;" scroll-y="true">
<view class="jindu-box" v-for="(item,index) in newlisttabinfo1" :key="index">
@@ -242,23 +250,29 @@
danwei: '单位(次)',
totalTimeShow: false,
activeTab: 0,
numlist: [{
name: '接待客户',
num: ''
},

numlist: [
{
name: '接待量',
num: ''
num: '',
setName: 'sumCustomer'
},{
name: '有效接待',
num: '',
setName: 'receptionCount'
},
{
name: '平均执行率',
num: ''
num: '',
setName: 'fraction'
},
{
name: '录音时长',
num: ''
name: '平均接待时长',
num: '',
setName: 'sumDuration'
},
],

lineOptsect: {
"categories": ["2016", "2017", "2018", "2019", "2020", "2021"],
"series": [{
@@ -278,21 +292,31 @@
}]
},
newlistoj: [],
newlistoj1: [{

newlistoj1: [
{
name: "接待量",
id: 1
id: 3,
title: '单位(个)',
setName: 'sumCustomer'
},
{
name: "平均执行率",
id: 2
name: "有效接待",
id: 1,
title: '单位(次)',
setName: 'receptionCount'
},
{
name: "接待客户",
id: 3
name: "平均执行率",
id: 2,
title: '单位(%)',
setName: 'fraction'
},
{
name: "录音时长",
id: 5
name: "平均接待时长",
id: 5,
title: '单位(min)',
setName: 'sumDuration'
},
],
bocindex: 0,
@@ -314,11 +338,19 @@
Groupcontrastisshow: false,
allechar: [],
allList: [],
optionsobj:{}

lineOpts: {
yAxis: {
data: [{
max: 100,
min: 0,
}]
}
},
};
},
onShow() {
// 获取客户id
// 获取项目id
this.houseId = uni.getStorageSync('buildingID').id;
// 获取数据看板

@@ -336,22 +368,21 @@
// 获取维度
this.getindexZxl()
},
onPullDownRefresh(){
onPullDownRefresh() {
// 获取员工
this.getStaffList()
// 获取团队
this.getSectionList()
// 获取团队是否显示权限
this.queryHaveDept()

// 获取简报
this.getReport()
// 获取接待趋势
this.getRtrent()
// 获取维度
this.getindexZxl()
setTimeout(function () {
uni.stopPullDownRefresh();
setTimeout(function() {
uni.stopPullDownRefresh();
}, 1000);
},
methods: {
@@ -449,16 +480,11 @@
lastStartDate: this.lastStartDate
})
.then(res => {
// 接待量
this.numlist[0].num = res.receptionCount || 0
// 接待客户
this.numlist[1].num = res.sumCustomer || 0
// 执行率
this.numlist[2].num = (res.fraction || 0) + '%'
// 录音时长
this.numlist[3].num = Math.floor(res.sumDuration / 60) || 0
// util.formatSecond()||0

res.sumDuration = Math.floor(res.sumDuration / 60) || 0
res.fraction = (res.fraction || 0) + '%'
this.numlist.map(item => {
item.num = res[item.setName]
})
})
},
// 获取团队列表
@@ -590,7 +616,7 @@
},
//指标执行率分析tab
tapspagek2(index) {
// console.log(index)
console.log(index)
// 对数据进行分析和处理
// 先处理日期
let allobj = {
@@ -600,41 +626,17 @@
data: []
}]
}
if (index == 0) {
// 接待量
this.danwei = '单位(次)'
allobj.series[0].name = '接待量'
this.allechar.map(item => {
allobj.categories.push(item.statDate.slice(5, 10))
allobj.series[0].data.push(item.receptionCount)
})
} else if (index == 1) {
// 平均执行率
this.danwei = '单位(%)'
allobj.series[0].name = '平均执行率'
this.allechar.map(item => {
allobj.categories.push(item.statDate.slice(5, 10))
allobj.series[0].data.push(item.fraction)
})
} else if (index == 2) {
// 接待客户
this.danwei = '单位(个)'
allobj.series[0].name = '接待客户'
this.allechar.map(item => {
allobj.categories.push(item.statDate.slice(5, 10))
allobj.series[0].data.push(item.sumCustomer)
})
} else {
// 录音时长
this.danwei = '单位(min)'
allobj.series[0].name = '录音时长'
this.allechar.map(item => {
allobj.categories.push(item.statDate.slice(5, 10))
allobj.series[0].data.push(item.sumDuration)
})
}

this.danwei = this.newlistoj1[index].title
allobj.series[0].name = this.newlistoj1[index].name
this.allechar.map(item => {
allobj.categories.push(item.statDate.slice(5, 10))
allobj.series[0].data.push(item[this.newlistoj1[index].setName])
})

this.bocindex = index;
this.lineOptsect = allobj
this.$forceUpdate()
},
tapspagek3(index) {
let arr = []
@@ -747,4 +749,4 @@
.grid:nth-child(3) {
border-right: none;
}
</style>
</style>

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

@@ -12,7 +12,7 @@
<view class="test">{{customerInfo.name || '--'}}</view>
<view class="edit">
<view class="edit" v-if="isEdit">
<image class="screen-sel-img" src="../../../static/images/edit.png" mode=""></image>
</view>
</view>
@@ -248,6 +248,15 @@
buttonisshow:false
}
},
computed: {
isEdit() {
let arr = uni.getStorageSync('weapp_session_Menu_data')
return arr.findIndex(item => {
return item.name == '客户编辑'
}) == -1 ? false : true
}
},
onLoad(options) {
this.customerId = options.id;
},
@@ -378,6 +387,8 @@
},
// 去编辑
goedit(){
// console.log('去编辑')
if (!this.isEdit) return
// console.log('去编辑')
uni.navigateTo({
url:`/pages/center/consumer/edit?id=${this.customerId}&projectId=${this.customerInfo.projectId}`
@@ -393,7 +404,7 @@
clickaudeopal(item){
if(item.selected==0){
uni.navigateTo({
url: '/pages/mine/ScoringPlaylist?customerId='+this.customerId +"&id="+item.marketingId
url: '/pages/mine/ScoringPlaylist?customerId='+this.customerId +"&id="+item.marketingId + '&type=0'
})
}
},


+ 4
- 4
pages/center/consumer/index.vue View File

@@ -269,19 +269,19 @@
}, ],
levelList: [{
label: 'A',
value: 0,
value: 1,
isShow: false,
}, {
label: 'B',
value: 1,
value: 2,
isShow: false,
}, {
label: 'C',
value: 2,
value: 3,
isShow: false,
}, {
label: 'D',
value: 3,
value: 4,
isShow: false,
}, ],
isRefresh:false


+ 7
- 1
pages/index/customer.vue View File

@@ -39,7 +39,9 @@
<view class="footer-button" v-if="item.status!=0">
<view class="footer1" @click.stop="addTime(item)">接待延时</view>
<view class="footer1" @click.stop="assign(item)">重新指派</view>
<view class="footer3" @click.stop="changeEnd(item.id)">结束接待</view>
<template v-if="endReception">
<view class="footer3" @click.stop="changeEnd(item.id)">结束接待</view>
</template>
</view>
<view class="centerbox" v-if="item.status==0">
@@ -70,6 +72,7 @@
isAdd:'',
dataCode:'',
addAccount:'',
endReception: true,
};
},
components: {},
@@ -80,6 +83,9 @@
addAccount,
dataCode
} = uni.getStorageSync("weapp_session_userInfo_data");
let menulist = uni.getStorageSync('weapp_session_Menu_data')
this.endReception = menulist.findIndex(item => { return item.name == '结束接待' }) != -1
this.addAccount=addAccount;
this.dataCode=dataCode;
this.init()


+ 13
- 3
pages/index/index.vue View File

@@ -187,7 +187,7 @@
<view class="title">常用功能</view>
<view class="commonly-box">
<view class="commonly" @click="Piabodata(item.name)" v-for="(item,index) in Menulist" :key='index'>
<view class="commonly" @click="Piabodata(item.name)" v-for="(item,index) in Menulist" :key='index' v-if="showMenu(item.name)">
<view class="commonly-img">
<image v-if="item.name=='客户管理'" class="commonly-img1" src="../../static/images/function1.png"
mode=""></image>
@@ -204,8 +204,7 @@
<image v-if="item.name=='违禁记录'" class="commonly-img1" src="../../static/images/prohibited.png"
mode=""></image>
</view>
<view v-if="item.name=='标记有效无效接待'" class="commonly-text"></view>
<view v-else class="commonly-text">{{item.name}}</view>
<view class="commonly-text">{{item.name}}</view>
</view>
</view>

@@ -300,6 +299,17 @@
components: {
uParse
},
computed: {
showMenu() {
return name => {
if (name == '标记有效无效接待' || name == '结束接待' || name == '客户编辑') {
return false
} else {
return true
}
}
}
},
onShow() {
this.getMenu()


+ 2
- 14
utils/domain.js View File

@@ -1,23 +1,11 @@
// http.js使用域名
const baseUrl = 'http://81.70.55.170:9090/autoSR/api';// 测试站
// const baseUrl = 'http://192.168.31.57:8080/autoSR/api';// 本地
// const baseUrl = 'http://121.42.63.138:9091/autoSR/api';// 测试站
// const baseUrl = 'http://192.168.31.167:8080/autoSR/api'; // 长龙
// const baseUrl = 'http://192.168.31.134:8080/autoSR/api'; // 佳豪
// const baseUrl = 'http://10.2.1.104:8081/autoSR/api'; // 刘敏
const baseUrl = 'https://xitong.pachira.cn/api'; // AI营销辅助 普强使用


// config使用域名
/**
* 小程序配置文件
*/
// 此处主机域名修改成腾讯云解决方案分配的域名
// const host = 'http://192.168.31.57:8080/autoSR/api';// 本地
const host = 'http://121.42.63.138:9091/autoSR/api'; // 测试站
// const host = 'http://192.168.31.167:8080/autoSR/api'; // 长龙
// const host = 'http://192.168.31.134:8080/autoSR/api'; // 佳豪
// const host = 'http://10.2.1.104:8081/autoSR/api'; // 刘敏
// const host = 'https://xitong.pachira.cn/api'; // AI营销辅助 普强使用
// const baseUrl = 'https://xitong.pachira.cn/api'; // AI营销辅助 普强使用


const iMServiceHost = 'https://im.quhouse.com/'; //IM的后端地址正式 暂未使用留着防止报错


Loading…
Cancel
Save