wangxiaohua 2 years ago
parent
commit
37ed164169
15 changed files with 164 additions and 111 deletions
  1. +2
    -2
      config.js
  2. +3
    -3
      pages/center/consumer/consumerDetail.vue
  3. +2
    -3
      pages/center/consumer/consumerSearch.vue
  4. +27
    -10
      pages/center/consumer/index.vue
  5. +9
    -9
      pages/center/records/index.vue
  6. +1
    -1
      pages/center/records/recordSearch.vue
  7. +21
    -33
      pages/index/index.vue
  8. +1
    -1
      pages/index/personal.vue
  9. +1
    -1
      pages/mine/Myprofile.vue
  10. +1
    -1
      pages/mine/consultanonduty/index.vue
  11. +36
    -34
      pages/mine/equipment/index.vue
  12. +41
    -7
      pages/mine/reception/addreception.vue
  13. +16
    -3
      pages/mine/reception/consultant.vue
  14. +1
    -1
      uni_modules/qiun-data-charts/js_sdk/u-charts/config-ucharts.js
  15. +2
    -2
      utils/http.js

+ 2
- 2
config.js View File

@@ -2,9 +2,9 @@
* 小程序配置文件
*/
// 此处主机域名修改成腾讯云解决方案分配的域名
// var host = 'http://121.42.63.138:9091/autoSR/api'; // 测试站
var host = 'http://121.42.63.138:9091/autoSR/api'; // 测试站
// var host = 'http://192.168.31.163:8080/autoSR/api'; // 长龙
var host = 'http://192.168.31.128:8080/autoSR/api'; // 佳豪
// var host = 'http://192.168.31.128:8080/autoSR/api'; // 佳豪
// var host = 'http://10.2.1.104:8081/autoSR/api'; // 刘敏
// var host = 'https://zkgj.quhouse.com/api'; // 质控正式
// var host = 'https://hfju.com/api'; // 数智正式


+ 3
- 3
pages/center/consumer/consumerDetail.vue View File

@@ -93,8 +93,8 @@
<view class="content-sec">
<view class="left">
<view class="cus">客户:{{item.name || ''}} |</view>
<view class="arriveNum">{{item.visitRecord || '--'}}次到访</view>
<view class="cus" style="line-height: 46rpx;">客户:{{item.name || ''}} |</view>
<view style="line-height: 46rpx;" class="arriveNum">{{item.visitRecord || '--'}}次到访</view>
</view>
<view class="right">{{item.fraction || '0'}}%</view>
</view>
@@ -147,7 +147,7 @@
<view style="color: #333333;font-size: 28rpx;font-weight: 400;text-align: center;">销讲执行率</view>
</view>
<view class="rateyuanboxzuo">
<view class="boxzuoview cccccc">{{customerInfo.mm}}</view>
<view class="boxzuoview cccccc">{{customerInfo.mm}}min</view>
<view style="color: #333333;font-size: 28rpx;font-weight: 400;text-align: center;">接待时长</view>
</view>
</view>


+ 2
- 3
pages/center/consumer/consumerSearch.vue View File

@@ -104,12 +104,11 @@
.box {
width: 100%;
height: 100%;
background: #F8F8F8;
background: #FFFFFF;
}
.content{
// height: 1000rpx;/
overflow: hidden;
border-top: 1px solid #E0E0E0;
margin-top: 10rpxs;
.content-tips{
background: #fff;
// box-sizing: border-box;


+ 27
- 10
pages/center/consumer/index.vue View File

@@ -44,7 +44,7 @@
<view class="content-sec-lab">
手机号码:<view class="content-sec-lab1">{{item.phone || '--'}}</view>
</view>
<view class="content-sec-lab">
<view class="content-sec-lab" style="line-height: 46rpx;">
客户标签:
<text v-if="item.demand.cusSemanticWordsList.length==0">暂无</text>
<view v-else class="content-sec-tips" v-for="(che,ind) in item.demand.cusSemanticWordsList" :key='ind'>{{che.name}}</view>
@@ -94,17 +94,17 @@
<view class="screen-record-text">
客户等级
</view>
<view class="screen-record-tab">
<view :class="[screen.record==0?'screen-record-chose':'screen-record-nochose']" @click="screen.record=0">
<view class="screen-record-tab">
<view :class="[screen.record==0?'screen-record-chose':'screen-record-nochose']" @click="recordclick(0)">
A
</view>
<view :class="[screen.record==1?'screen-record-chose':'screen-record-nochose']" @click="screen.record=1">
<view :class="[screen.record==1?'screen-record-chose':'screen-record-nochose']" @click="recordclick(1)">
B
</view>
<view :class="[screen.record==2?'screen-record-chose':'screen-record-nochose']" @click="screen.record=2">
<view :class="[screen.record==2?'screen-record-chose':'screen-record-nochose']" @click="recordclick(2)">
C
</view>
<view :class="[screen.record==3?'screen-record-chose':'screen-record-nochose']" @click="screen.record=3">
<view :class="[screen.record==3?'screen-record-chose':'screen-record-nochose']" @click="recordclick(3)">
D
</view>
</view>
@@ -126,16 +126,16 @@
到访次数
</view>
<view class="screen-record-tab">
<view :class="[screen.visitRecord==1?'screen-record-chose':'screen-record-nochose']" @click="screen.visitRecord=1">
<view :class="[screen.visitRecord==1?'screen-record-chose':'screen-record-nochose']" @click="screenvisitRecord(1)">
首次到访
</view>
<view :class="[screen.visitRecord==2?'screen-record-chose':'screen-record-nochose']" @click="screen.visitRecord=2">
<view :class="[screen.visitRecord==2?'screen-record-chose':'screen-record-nochose']" @click="screenvisitRecord(2)">
第二次
</view>
<view :class="[screen.visitRecord==3?'screen-record-chose':'screen-record-nochose']" @click="screen.visitRecord=3">
<view :class="[screen.visitRecord==3?'screen-record-chose':'screen-record-nochose']" @click="screenvisitRecord(3)">
第三次
</view>
<view :class="[screen.visitRecord==4?'screen-record-chose':'screen-record-nochose']" @click="screen.visitRecord=4">
<view :class="[screen.visitRecord==4?'screen-record-chose':'screen-record-nochose']" @click="screenvisitRecord(4)">
三次以上
</view>
</view>
@@ -205,6 +205,20 @@
}
},
methods:{
recordclick(i){
if(this.screen.record==i){
this.screen.record=null
}else{
this.screen.record=i
}
},
screenvisitRecord(i){
if(this.screen.visitRecord==i){
this.screen.visitRecord=''
}else{
this.screen.visitRecord=i
}
},
// 客户详情
gotoDetail(id) {
uni.navigateTo({
@@ -567,11 +581,13 @@
}
}
.screen-foot{
width: 100%;
height: 88rpx;
display: flex;
.screen-foot-reset{
width: 50%;
text-align: center;
height: 88rpx;
line-height: 88rpx;
font-size: 30rpx;
font-weight: 400;
@@ -581,6 +597,7 @@
width: 50%;
text-align: center;
line-height: 88rpx;
height: 88rpx;
font-size: 30rpx;
font-weight: 400;
color: #FFFFFF;


+ 9
- 9
pages/center/records/index.vue View File

@@ -71,7 +71,7 @@
<u-popup v-model="screenShow" mode="top" height="600">
<u-popup v-model="screenShow" mode="top" height="590">
<view class="screen">
<!-- 顾问选择 -->
<view class="screen-counselor">
@@ -489,7 +489,7 @@
// padding: 40rpx 30rpx 36rpx 30rpx;
padding: 0 30rpx;
box-sizing: border-box;
border-bottom: 1px solid #CCCCCC;
border-bottom: 1px solid #EEEEEE;
.screen-text{
margin: 40rpx 0 36rpx 0;
font-size: 30rpx;
@@ -518,7 +518,7 @@
overflow: hidden;
padding: 0 30rpx;
box-sizing: border-box;
border-bottom: 1px solid #CCCCCC;
border-bottom: 1px solid #EEEEEE;
.screen-record-text{
margin-top: 36rpx;
font-size: 30rpx;
@@ -554,15 +554,14 @@
}
}
.screen-foot{
position: relative;
left: 0rpx;
bottom: 0rpx;
height: 88rpx;
width: 100%;
height: 100rpx;
display: flex;
.screen-foot-reset{
width: 50%;
text-align: center;
line-height: 88rpx;
height: 100rpx;
line-height: 100rpx;
font-size: 30rpx;
font-weight: 400;
color: #666666;
@@ -570,7 +569,8 @@
.screen-foot-sure{
width: 50%;
text-align: center;
line-height: 88rpx;
line-height: 100rpx;
height: 100rpx;
font-size: 30rpx;
font-weight: 400;
color: #FFFFFF;


+ 1
- 1
pages/center/records/recordSearch.vue View File

@@ -134,7 +134,7 @@
.box {
width: 100%;
height: 100vh;
background: #F8F8F8;
background: #FFFFFF;
}
.content{
.content-tips{


+ 21
- 33
pages/index/index.vue View File

@@ -84,43 +84,43 @@
<view class="title">实时统计</view>
<view class="real-timebox">
<view class="timebox">
<view class="real">
<view class="realnum">{{realtimeobj.receptionCount || 0}}</view>
<view class="realtext">接待量</view>
</view>
<view class="real">
<view class="realnum">{{realtimeobj.receivingCustomer || 0}}</view>
<view class="realtext">正在接待</view>
</view>
<view class="real">
<view class="realnum">{{realtimeobj.sumCustomer|| 0}}</view>
<view class="realtext">接待客户</view>
</view>
<view class="real">
<view class="realnum">{{realtimeobj.sumDuration || 0}}</view>
<view class="realtext">录音时长</view>
<!-- <view class="realnum">{{realtimeobj.receivingCustomer || 0}}</view>
<view class="realtext">正在接待</view> -->
<view class="realnum">{{realtimeobj.tagCustomer || 0}}</view>
<view class="realtext">未标顾问</view>
</view>
</view>
<view class="timebox">
<view class="real">
<view class="realnum">{{realtimeobj.tagCustomer || 0}}</view>
<view class="realtext">未标顾问</view>
<view class="realnum">{{realtimeobj.sumDuration || 0}}</view>
<view class="realtext">接待时长</view>
</view>
<view class="real">
<view class="realnum">{{realtimeobj.fraction || 0}}</view>
<view class="realnum">{{realtimeobj.fraction || 0}}%</view>
<view class="realtext">平均执行率</view>
</view>
<view class="real">
<!-- <view class="realnum">{{realtimeobj.fraction || 0}}</view>
<view class="realtext">平均得分</view> -->
</view>
<view class="real">
<!-- <view class="realnum" style="color: red;">44</view>
<view class="realtext">违禁提醒</view> -->
<view class="realnum"><!-- {{realtimeobj.tagCustomer || 0}} --></view>
<view class="realtext"><!-- 未标顾问 --></view>
</view>
</view>
</view>



<view class="title">本周工作</view>
<view class="real-timebox">
<view class="timebox">
@@ -129,31 +129,19 @@
<view class="realtext">接待量</view>
</view>
<view class="real">
<view class="realnum">{{Thisweekobj.sumCustomer || 0}}</view>
<view class="realtext">接待客户</view>
</view>
<view class="real">
<view class="realnum">{{Thisweekobj.sumDuration || 0}}</view>
<view class="realtext">录音时长</view>
<view class="realnum">{{realtimeobj.receivingCustomer || 0}}</view>
<view class="realtext">正在接待</view>
</view>
</view>
<view class="timebox">

<view class="real">
<view class="realnum">{{Thisweekobj.fraction || 0}}</view>
<view class="realnum">{{Thisweekobj.fraction || 0}}%</view>
<view class="realtext">平均执行率</view>
</view>
<view class="real">
<!-- <view class="realnum">{{Thisweekobj.fraction || 0}}</view>
<view class="realtext">平均得分</view> -->
</view>
<view class="real">
<!-- <view class="realnum">44</view>
<view class="realtext">违禁预警</view> -->
<view class="realnum">{{Thisweekobj.sumDuration || 0}}</view>
<view class="realtext">录音时长</view>
</view>
</view>
</view>

<view class="title">常用功能</view>
<view class="commonly-box">
<view class="commonly" @click="Piabodata(item.name)" v-for="(item,index) in Menulist" :key='index'>
@@ -277,7 +265,7 @@
sumCustomer: data.data.data.sumCustomer,
receivingCustomer: data.data.data.receivingCustomer,
activeCustomer: data.data.data.activeCustomer,
sumDuration: Math.floor(data.data.data.sumDuration),
sumDuration: Math.floor(data.data.data.sumDuration/60) ||0,
tagCustomer: data.data.data.tagCustomer,
fraction: data.data.data.fraction,
receptionCount:data.data.data.receptionCount


+ 1
- 1
pages/index/personal.vue View File

@@ -6,7 +6,7 @@
<view class="header box">
<view class="header-zuo">
<u-avatar
:src="photo?photo:'https://qufang.oss-cn-beijing.aliyuncs.com/upload/icon/xcx/jjycrm/my/headPicture.png'"
:src="photo?photo:'https://qufang.oss-cn-beijing.aliyuncs.com/upload/icon/xcx/zkgj/headPicture.png'"
size="148"></u-avatar>
</view>
<view class="header-you">


+ 1
- 1
pages/mine/Myprofile.vue View File

@@ -6,7 +6,7 @@
<image src="/static/images/arrow.png" class="more">
</image>
<image
:src="picUrl||'https://qufang.oss-cn-beijing.aliyuncs.com/upload/icon/xcx/jjycrm/my/headPicture.png'"
:src="picUrl||'https://qufang.oss-cn-beijing.aliyuncs.com/upload/icon/xcx/zkgj/headPicture.png'"
class="headPicture"></image>
</view>
<view>


+ 1
- 1
pages/mine/consultanonduty/index.vue View File

@@ -34,7 +34,7 @@
</view> -->
</view>
<view class="reception">
<view class="">
<view class="" style="line-height: 50rpx;">
今日接待:<test class="num">{{item.receiveNum||0}}</test>
</view>
<view class="btn" @click="changeAgentStatus(item.agentId)">


+ 36
- 34
pages/mine/equipment/index.vue View File

@@ -1,10 +1,13 @@
<template>
<view class="cented">
<view class="infoinputbox">
<!-- <view class="infoinputbox">
<input type="text" v-model="imei" placeholder="请输入设备编号或领用人进行搜索" class="infoinput" />
<view class="dingweiinfo" @click="shecs()">
<image class="sehoimg" src="../../../static/images/newimg/search.png" mode=""></image>
</view>
</view> -->
<view style="width: 690rpx;margin: 0 auto;margin-top: 20rpx;">
<u-search @search='shecs()' placeholder="请输入设备编号或领用人进行搜索" v-model="imei"></u-search>
</view>
<view class="tab-box">
<view class="tab-item-wrap">
@@ -250,43 +253,42 @@
.cented {
width: 100%;
height: 100vh;
background: #F7F7F7;
padding-top: 33rpx;
background: #FFFFFF;
}

.infoinputbox {
width: 100%;
height: 61rpx;
position: relative;
// .infoinputbox {
// width: 100%;
// height: 61rpx;
// position: relative;

.infoinput {
width: 690rpx;
height: 61rpx;
background: #DEDEDE;
border-radius: 31rpx;
margin: 0 auto;
color: #999999;
font-size: 26rpx;
padding-left: 20rpx;
}
// .infoinput {
// width: 690rpx;
// height: 61rpx;
// background: #DEDEDE;
// border-radius: 31rpx;
// margin: 0 auto;
// color: #999999;
// font-size: 26rpx;
// padding-left: 20rpx;
// }

.dingweiinfo {
width: 40rpx;
height: 61rpx;
background-color: #DEDEDE;
position: absolute;
top: 0rpx;
left: 660rpx;
display: flex;
align-items: center;
z-index: 1000;
.sehoimg {
display: block;
width: 40rpx;
height: 40rpx;
}
}
}
// .dingweiinfo {
// width: 40rpx;
// height: 61rpx;
// background-color: #DEDEDE;
// position: absolute;
// top: 0rpx;
// left: 660rpx;
// display: flex;
// align-items: center;
// z-index: 1000;
// .sehoimg {
// display: block;
// width: 40rpx;
// height: 40rpx;
// }
// }
// }

.tab-box {
width: 100%;


+ 41
- 7
pages/mine/reception/addreception.vue View File

@@ -69,6 +69,7 @@
<view v-if="Showhid">
<u-select :mask-close-able="false" v-model="Showhid" mode="single-column" :list="freeList" @cancel="cancel1" @confirm="confirm1"></u-select>
</view>
<u-modal v-model="show" :title="'代接待提醒'" :confirm-text="confirmtext" :cancel-text='canceltext' @cancel="confirmA" @confirm="confirmB" :show-cancel-button='true' :content="content"></u-modal>
</view>
</template>

@@ -99,7 +100,11 @@
shifoinfo:0,
freeList:[],
Showhid:false,
text:null
text:null,
show:false,
content: '东临碣石,以观沧海',
confirmtext:'1',//确认文字
canceltext:'2',//取消文字
};
},
onShow: function() {
@@ -108,11 +113,15 @@
this.getFreeList();
},
methods: {
//取消
confirmA(){
console.log("1")
},
// 确认
confirmB(){
console.log("2")
},
save() {
const {
dataCode
} = uni.getStorageSync("weapp_session_userInfo_data");
if (this.parames.name.length==0) {
uni.showToast({
icon: "none",
@@ -127,6 +136,33 @@
})
return;
}
const that = this;
this.$u.post("customer/daitiReception", {
phone: that.parames.phone,
projectId: that.parames.projectId,
agentId:that.parames.agentId
}).then(res => {
if(res.unchecked==0){
that.baochunfun()
}else{
if(res.zs==0){
that.parames.agentId=res.owner.accountId;
that.baochunfun()
}else{
if(res.owner==null&&res.replacement==null){
that.baochunfun()
}else{
}
// that.content=res
}
}
})
},
baochunfun(){
const {
dataCode
} = uni.getStorageSync("weapp_session_userInfo_data");
uni.showLoading({
title: "保存中",
mask: true
@@ -138,7 +174,6 @@
icon: "none",
title: "保存成功"
})
// uni.setStorageSync('addcustomer', true)
uni.navigateBack()
})
} else {
@@ -148,7 +183,6 @@
icon: "none",
title: "保存成功"
})
// uni.setStorageSync('addcustomer', true)
uni.navigateBack()
})
}


+ 16
- 3
pages/mine/reception/consultant.vue View File

@@ -21,7 +21,7 @@
</view>
</view>
<view class="right">
<radio :value="item.agentId" :checked="index == current" style="transform:scale(0.7)"
<radio :value="item.agentId" :checked="index == current" style="transform:scale(0.9)"
color="#2671E2"></radio>
</view>
</view>
@@ -36,6 +36,7 @@
<view class="save" @click="save" :class="{active:chosedAgentId}">
保存
</view>
<u-modal v-model="show" :confirm-text="confirmtext" :cancel-text='canceltext' @cancel="confirmA" @confirm="confirmB" :show-cancel-button='true' :content="content"></u-modal>
</view>
</template>

@@ -48,7 +49,11 @@
freeList: [],
current: null,
chosedAgentId: '',
textcdhSKJ: ''
textcdhSKJ: '',
show:false,
content: '东临碣石,以观沧海',
confirmtext:'1',//确认文字
canceltext:'2',//取消文字
}
},
onLoad(option) {
@@ -56,9 +61,17 @@
},
onShow() {
this.buildingID = uni.getStorageSync('buildingID').id;
this.getFreeList();
this.getFreeList();
},
methods: {
//取消
confirmA(){
console.log("1")
},
// 确认
confirmB(){
console.log("2")
},
getFreeList() {
this.$u.get("/zkAgentPool/freeList?itemId=" + this.buildingID).then(res => {
if (res.length == 0) {


+ 1
- 1
uni_modules/qiun-data-charts/js_sdk/u-charts/config-ucharts.js View File

@@ -298,7 +298,7 @@ module.exports = {
"enableScroll": true,
"touchMoveLimit": 60,
"enableMarkLine": false,
"dataLabel": true,
"dataLabel": false,
"dataPointShape": true,
"dataPointShapeType": "solid",
"tapLegend": true,


+ 2
- 2
utils/http.js View File

@@ -1,7 +1,7 @@

// const baseUrl = 'http://121.42.63.138:9091/autoSR/api';// 测试站
const baseUrl = 'http://121.42.63.138:9091/autoSR/api';// 测试站
// const baseUrl = 'http://192.168.31.161:8080/autoSR/api'; // 长龙
const baseUrl = 'http://192.168.31.128:8080/autoSR/api'; // 佳豪
// const baseUrl = 'http://192.168.31.128:8080/autoSR/api'; // 佳豪
// const baseUrl = 'http://10.2.1.104:8081/autoSR/api'; // 刘敏
// const baseUrl = 'https://zkgj.quhouse.com/api'; // 质控正式
// const baseUrl = 'https://hfju.com/api'; // 数智正式


Loading…
Cancel
Save