wangxiaohua 3 years ago
parent
commit
053ba58f39
16 changed files with 1579 additions and 1031 deletions
  1. +1
    -1
      App.vue
  2. +1
    -1
      config.js
  3. +10
    -7
      pages.json
  4. +0
    -4
      pages/center/Piabodata/Employeesstatistics.vue
  5. +4
    -5
      pages/center/Piabodata/Userinsightinto.vue
  6. +2
    -2
      pages/center/Piabodata/index.vue
  7. +19
    -63
      pages/center/consumer/edit.vue
  8. +20
    -20
      pages/center/consumer/index.vue
  9. +550
    -0
      pages/center/prohibited/index.vue
  10. +18
    -18
      pages/center/records/index.vue
  11. +32
    -12
      pages/index/guide.vue
  12. +46
    -21
      pages/index/index.vue
  13. +2
    -2
      pages/mine/equipment/index.vue
  14. BIN
      static/images/prohibited.png
  15. +873
    -874
      uni_modules/qiun-data-charts/js_sdk/u-charts/config-ucharts.js
  16. +1
    -1
      utils/http.js

+ 1
- 1
App.vue View File

@@ -214,7 +214,7 @@
text-indent: 30rpx;
}
.uchaserbox{
width: 100%;
width: 95%;
height: 470rpx;
}
.jindu{


+ 1
- 1
config.js View File

@@ -4,7 +4,7 @@
// 此处主机域名修改成腾讯云解决方案分配的域名
var host = 'http://121.42.63.138:9091/autoSR/api'; // 测试站
// var host = 'http://192.168.31.161:8080/autoSR/api'; // 长龙
// var host = 'http://192.168.31.128:8080/autoSR/api'; // 佳豪
// var host = 'http://192.168.31.127: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'; // 数智正式


+ 10
- 7
pages.json View File

@@ -49,12 +49,7 @@
"name": "login",
"pages": [
{
"path": "index",
"style": {
"navigationBarBackgroundColor": "#008EF2",
"navigationBarTextStyle": "white",
"navigationStyle": "custom"
}
"path": "index"
},
{
"path": "Verification",
@@ -357,7 +352,7 @@
{
"path": "Piabodata/Employeesstatistics",
"style": {
"navigationBarTitleText": "员工统计",
"navigationBarTitleText": "顾问排名",
"navigationBarBackgroundColor": "#FFFFFF",
"navigationBarTextStyle": "black"
}
@@ -379,6 +374,14 @@
"navigationBarTextStyle": "black"
}
},
{
"path": "prohibited/index",
"style": {
"navigationBarTitleText": "违禁记录",
"navigationBarBackgroundColor": "#FFFFFF",
"navigationBarTextStyle": "black"
}
},
{
"path": "consumer/index",
"style": {


+ 0
- 4
pages/center/Piabodata/Employeesstatistics.vue View File

@@ -91,10 +91,6 @@
<view class="title1" style="flex: 1;">销讲执行率排行(TOP10)</view>
</view>
<view class="hejisan">
<view class="sanbox1" style="width: 35%;">
<view class="text1-1">合计</view>
<view class="text1-2">{{newlisttabinfo3.total}}</view>
</view>
<view class="sanbox1" style="width: 40%;">
<view class="text1-1">顾问</view>
<view class="text1-2">{{newlisttabinfo3.count}}</view>


+ 4
- 5
pages/center/Piabodata/Userinsightinto.vue View File

@@ -175,11 +175,10 @@
})
data.list.forEach(item=>{
item.matchKeywords.forEach(chend=>{
if(item.name=="意向面积"){
chend.name=chend.name+'m²-'+chend.endName+'m²'
}
if(item.name=="购房预算"){
chend.name=chend.name+'万-'+chend.endName+'万'
if(chend.isInterval==0){
chend.name=chend.name+chend.unit+'-'+chend.endName+chend.unit
}else{
chend.name=chend.name
}
})
})


+ 2
- 2
pages/center/Piabodata/index.vue View File

@@ -77,7 +77,7 @@
<view class="heji">均值:25</view>
</view> -->
<view class="danwei">{{danwei}} </view>
<view class="uchaserbox">
<view class="uchaserbox" >
<qiun-data-charts type="line" :chartData="lineOptsect" background="none" :ontouch="true"
canvasId="wangxiaohuaerlingilingwuyiba1" :canvas2d="true" />
</view>
@@ -260,7 +260,7 @@
num: '10'
},
{
name: '接待时长',
name: '录音时长',
num: '10'
},
],


+ 19
- 63
pages/center/consumer/edit.vue View File

@@ -22,12 +22,6 @@
客户性别
</view>
<view class="conmsg-msg-lab-inp" style="margin-top: 20rpx;">
<!-- <u-radio-group v-model="form.sex" >
<view style="display: flex;">
<u-radio name="1" shape='circle'>男</u-radio>
<u-radio name="2" shape='circle'>女</u-radio>
</view>
</u-radio-group> -->
<view style="border: none; display: flex;">
<view class="sexchose" @click="form.sex=1" :style="{border:form.sex==1?'1px solid #0A6EE9':'1px solid #E0E0E0'}">
@@ -57,12 +51,12 @@
<input type="text" placeholder="请输入微信账号" placeholder-style="color:#B2B2B2;" v-model="form.chatNo"/>
</view>
</view>
<view class="conmsg-msg-lab">
<view class="conmsg-msg-lab" @click="levelshow = true">
<view class="conmsg-msg-lab-1">
客户等级
</view>
<view class="conmsg-msg-lab-inp">
<input type="text" placeholder="请选择客户等级" @click="levelshow = true" v-model="selectform.level" disabled/>
<input type="text" placeholder="请选择客户等级" v-model="selectform.level" disabled/>
</view>
<view class="conmsg-msg-lab-img">
<image class="screen-sel-img" src="../../../static/images/right.png" mode=""></image>
@@ -98,17 +92,17 @@
<view v-for="(item,index) in allList" :key="index">
<view class="">
<view class="conmsg-msg-lab" style="border: none;">
<view class="conmsg-msg-lab-1">
{{item.name}}
</view>
</view>
<view class="con-msg-con" :style="{borderBottom:index==allList.length-1?'none':'1px solid #E0E0E0'}">
<view v-for="(item1,i) in item.children" :key="index" @click="Edittag(item,item1,index,i)" :style="{border:item1.selected==0?'1px solid #0A6EE9':'1px solid #E0E0E0'}" class="chebox" >
{{item1.label}}
</view>
</view>
</view>
<view class="conmsg-msg-lab" style="border: none;">
<view class="conmsg-msg-lab-1">
{{item.name}}
</view>
</view>
<view class="con-msg-con" :style="{borderBottom:index==allList.length-1?'none':'1px solid #E0E0E0'}">
<view v-for="(item1,i) in item.children" :key="i" @click="Edittag(item,item1,index,i)" :style="{border:item1.selected==0?'1px solid #0A6EE9':'1px solid #E0E0E0'}" class="chebox" >
{{item1.label}}
</view>
</view>
</view>
</view>
</view>
@@ -125,18 +119,6 @@
<!-- 客户等级 -->
<u-select v-model="levelshow" :list="levellist" @confirm="levelshowCallback"></u-select>
<!-- 客户阶段 -->
<!-- <u-select v-model="stageshow" :list="stagelist" @confirm="stageshowCallback"></u-select> -->
<!-- 职业需求 -->
<!-- <u-select v-model="demandshow" :list="demandlist" @confirm="demandshowCallback"></u-select> -->
<!-- 意向面积 -->
<!-- <u-select v-model="areashow" :list="arealist" @confirm="areashowCallback"></u-select> -->
<!-- 预算 -->
<!-- <u-select v-model="budgetshow" :list="budgetlist" @confirm="budgetshowCallback"></u-select> -->
<!-- 关注点 -->
<!-- <u-select v-model="fouceshow" :list="foucelist" @confirm="fouceshowCallback"></u-select> -->
<!-- 客户来源 -->
<!-- <u-select v-model="soureshow" :list="sourelist" @confirm="soureshowCallback"></u-select> -->
</view>
</template>

@@ -149,12 +131,12 @@
sex:'1',
phone:'',
chatNo:'',
level:'',
level:'1',
remarks:'',
},
selectform:{
level:'',
level:'A',
stage:'',
demand:'',
area:'',
@@ -187,17 +169,6 @@
],
allList:[],
dataCode:''
// stagelist:[],
// // 置业需求
// demandlist:[],
// // 意向面积
// arealist:[],
// // 预算
// budgetlist:[],
// // 关注点
// foucelist:[],
// // 客户来源
// sourelist:[],
}
},
onLoad(e) {
@@ -212,9 +183,7 @@
},
methods:{
Edittag(item,item1,index,i){
// var selected='';
// console.log(item,item1,index,i)
// return
if(this.allList[index].children[i].selected==0){
this.allList[index].children[i].selected=1;
}else{
@@ -222,17 +191,6 @@
}
this.$forceUpdate()
// this.$u.post("/matchKeywords/updatePersonalMatchData", {
// carId: this.customerId,
// selected:selected,
// name:chend.name,
// pid:chend.pid,
// level:chend.level,
// endName:chend.endName,
// keywordsId:chend.keywordsId
// }).then(res => {
// })
},
sourecheck(index){
this.sourelist[index].checked=!this.sourelist[index].checked
@@ -254,19 +212,17 @@
getdetail(){
this.$u.get("customer/findById?",{id:this.customerId})
.then(res=>{
// console.log(res)
this.form=res
// 给客户等级赋值
let idx= this.levellist.findIndex(item=>item.value==res.level)
if(idx!=-1){
this.selectform.level=this.levellist[idx].label
}else{
this.selectform.level='A';
this.form.level=1;
}
// 获取置业需求
this.getListByType()
// // 获取意向面积
// this.getListByType()
// // 获取客户来源
// this.getListByType()
})
},
// 字典表接口


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

@@ -88,8 +88,8 @@
<view class="screen-text">
所属顾问
</view>
<view class="screen-sel">
<u-input v-model="screen.agentIdtext" type="text" placeholder='请选择' @click="selectshow = true" class="screen-inp" disabled />
<view class="screen-sel" @click="selectshow = true">
<u-input v-model="screen.agentIdtext" type="text" placeholder='请选择' class="screen-inp" disabled />
<image class="screen-sel-img" src="../../../static/images/right.png" mode=""></image>
</view>
</view>
@@ -97,8 +97,8 @@
<view class="screen-text">
客户标签
</view>
<view class="screen-sel">
<u-input v-model="screen.cunsumerTips" type="text" placeholder='请选择' @click="selectTipshow = true" class="screen-inp" disabled />
<view class="screen-sel" @click="selectTipshow = true">
<u-input v-model="screen.cunsumerTips" type="text" placeholder='请选择' class="screen-inp" disabled />
<image class="screen-sel-img" src="../../../static/images/right.png" mode=""></image>
</view>
</view>
@@ -143,13 +143,13 @@
首次到访
</view>
<view :class="[screen.visitRecord==2?'screen-record-chose':'screen-record-nochose']" @click="screenvisitRecord(2)">
第二次
2次到访
</view>
<view :class="[screen.visitRecord==3?'screen-record-chose':'screen-record-nochose']" @click="screenvisitRecord(3)">
第三次
3次到访
</view>
<view :class="[screen.visitRecord==4?'screen-record-chose':'screen-record-nochose']" @click="screenvisitRecord(4)">
次以上
3次以上
</view>
</view>
</view>
@@ -171,20 +171,20 @@
<u-calendar v-model="totalTimeShow" mode="range" @change="totalTimeChange"></u-calendar>
<u-popup v-model="timeshow" mode="bottom">
<view class="timeview" :style="{ color: activeTotal == 5 ? '#2B6EFF' : '#e0e0e0' }" @click="tabtimetap(5)">全部</view>
<view class="timeview" :style="{ color: activeTotal == 0 ? '#2B6EFF' : '#e0e0e0' }" @click="tabtimetap(0)">今天</view>
<view class="timeview" :style="{ color: activeTotal == 1 ? '#2B6EFF' : '#e0e0e0' }" @click="tabtimetap(1)">昨天</view>
<view class="timeview" :style="{ color: activeTotal == 2 ? '#2B6EFF' : '#e0e0e0' }" @click="tabtimetap(2)">近7天</view>
<view class="timeview" :style="{ color: activeTotal == 3 ? '#2B6EFF' : '#e0e0e0' }" @click="tabtimetap(3)">近30天</view>
<view class="timeview" :style="{ color: activeTotal == 4 ? '#2B6EFF' : '#e0e0e0' }" @click="tabtimetap(4)">自定义</view>
<view class="timeview" :style="{ color: activeTotal == 5 ? '#2B6EFF' : '#333333' }" @click="tabtimetap(5)">全部</view>
<view class="timeview" :style="{ color: activeTotal == 0 ? '#2B6EFF' : '#333333' }" @click="tabtimetap(0)">今天</view>
<view class="timeview" :style="{ color: activeTotal == 1 ? '#2B6EFF' : '#333333' }" @click="tabtimetap(1)">昨天</view>
<view class="timeview" :style="{ color: activeTotal == 2 ? '#2B6EFF' : '#333333' }" @click="tabtimetap(2)">近7天</view>
<view class="timeview" :style="{ color: activeTotal == 3 ? '#2B6EFF' : '#333333' }" @click="tabtimetap(3)">近30天</view>
<view class="timeview" :style="{ color: activeTotal == 4 ? '#2B6EFF' : '#333333' }" @click="tabtimetap(4)">自定义</view>
</u-popup>
<u-popup v-model="timetushow" mode="bottom">
<view class="timeview" :style="{ color: activeTotal2 == 0 ? '#2B6EFF' : '#e0e0e0' }" @click="timetap(0)">全部</view>
<view class="timeview" :style="{ color: activeTotal2 == 1 ? '#2B6EFF' : '#e0e0e0' }" @click="timetap(1)">0~15min</view>
<view class="timeview" :style="{ color: activeTotal2 == 2 ? '#2B6EFF' : '#e0e0e0' }" @click="timetap(2)">15~30min</view>
<view class="timeview" :style="{ color: activeTotal2 == 3 ? '#2B6EFF' : '#e0e0e0' }" @click="timetap(3)">30~60min</view>
<view class="timeview" :style="{ color: activeTotal2 == 4 ? '#2B6EFF' : '#e0e0e0' }" @click="timetap(4)">60~90min</view>
<view class="timeview" :style="{ color: activeTotal2 == 5 ? '#2B6EFF' : '#e0e0e0' }" @click="timetap(5)">90min以上</view>
<view class="timeview" :style="{ color: activeTotal2 == 0 ? '#2B6EFF' : '#333333' }" @click="timetap(0)">全部</view>
<view class="timeview" :style="{ color: activeTotal2 == 1 ? '#2B6EFF' : '#333333' }" @click="timetap(1)">0~15min</view>
<view class="timeview" :style="{ color: activeTotal2 == 2 ? '#2B6EFF' : '#333333' }" @click="timetap(2)">15~30min</view>
<view class="timeview" :style="{ color: activeTotal2 == 3 ? '#2B6EFF' : '#333333' }" @click="timetap(3)">30~60min</view>
<view class="timeview" :style="{ color: activeTotal2 == 4 ? '#2B6EFF' : '#333333' }" @click="timetap(4)">60~90min</view>
<view class="timeview" :style="{ color: activeTotal2 == 5 ? '#2B6EFF' : '#333333' }" @click="timetap(5)">90min以上</view>
</u-popup>
<u-select v-model="soltishow" :list="orderBylist" @confirm="selectCallback2"></u-select>
</view>
@@ -202,7 +202,7 @@
{label:'接待时间正序',value:'4'},
{label:'执行率正序',value:'5'},
{label:'执行率倒序',value:'6'},
{label:'接访次数正序',value:'7'},
{label:'接访次数正序',value:'7'},
{label:'接访次数倒序',value:'8'},
],
value:'',


+ 550
- 0
pages/center/prohibited/index.vue View File

@@ -0,0 +1,550 @@
<template>
<view class="box">
<!-- 选择器 -->
<view class="boxtittab">
<view class="tabbox" @click="taptimeisshow">
接待时间<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon>
</view>
<view class="tabbox" @click="tapsoltishow">
排序<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon>
</view>
<view class="tabbox" @click="selectshow = true">
顾问<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon>
</view>
</view>
<view class="content">
<view v-if="recordList.length==0" style="width: 100%;height: 100%;display: flex;align-items: center;background: #FFFFFF;">
<view style="width: 100%;padding-top: 200rpx;">
<view style="width: 100%;text-align: center;">
<image style="width: 220rpx;height: 200rpx;" src="https://static.quhouse.com/zhikong_xcx_img/nodatalist.png" mode=""></image>
</view>
<view style="text-align: center;width: 100%;margin-top: 20rpx;color: #999999;">暂无数据</view>
</view>
</view>
<view v-if="recordList.length!=0" class="content-tips" v-for="(item,index) in recordList" :key='index' @click="tapThevisiting(item)">
<view class="content-first">
<view class="left">
<!-- <view class="img">{{item.agentName.slice(0,1)}}</view> -->
<view class="name">{{item.agentName}}</view>
<view class="status" v-if="item.replaceReception==1">代接待</view>
</view>
<view class="right">
<view class=""></view>
</view>
</view>
<view class="content-sec">
<view class="left">
<view class="cus">客户:{{item.name || '--'}} |</view>
<view class="arriveNum">{{item.visitRecord || "--"}}次到访</view>
</view>
</view>
<view class="content-last">
{{item.createTime}} | {{item.mm || '0'}} min
</view>
</view>
</view>

<!-- 选择顾问的选择框 -->
<u-select v-model="selectshow" :list="freeList" @confirm="actionSelectCallback"></u-select>
<u-calendar v-model="totalTimeShow" mode="range" @change="totalTimeChange"></u-calendar>
<u-popup v-model="timeshow" mode="bottom">
<view class="timeview" :style="{ color: activeTotal == 5 ? '#2B6EFF' : '#333333' }" @click="tabtimetap(5)">全部</view>
<view class="timeview" :style="{ color: activeTotal == 0 ? '#2B6EFF' : '#333333' }" @click="tabtimetap(0)">今天</view>
<view class="timeview" :style="{ color: activeTotal == 1 ? '#2B6EFF' : '#333333' }" @click="tabtimetap(1)">昨天</view>
<view class="timeview" :style="{ color: activeTotal == 2 ? '#2B6EFF' : '#333333' }" @click="tabtimetap(2)">近7天</view>
<view class="timeview" :style="{ color: activeTotal == 3 ? '#2B6EFF' : '#333333' }" @click="tabtimetap(3)">近30天</view>
<view class="timeview" :style="{ color: activeTotal == 4 ? '#2B6EFF' : '#333333' }" @click="tabtimetap(4)">自定义</view>
</u-popup>
<u-select v-model="soltishow" :list="orderBylist" @confirm="selectCallback2"></u-select>
</view>
</template>

<script>
export default{
data(){
return{
orderBylist:[
{label:'全部',value:'0'},
{label:'创建时间倒序',value:'1'},
{label:'创建时间正序',value:'2'},
{label:'接待时间倒序',value:'3'},
{label:'接待时间正序',value:'4'},
],
activeTotal: 5,
selectshow:false,
totalTimeShow: false,
screen:{
agentId:'',//顾问id
record:'0',
},
freeList:[],//顾问
recordList:[],
buildingID:'',
nextPage:1,
totalRecord:"",
staTime:'',
endtime:'',
isnorefresh:'',
activeTotal2:0,
timeshow:false,
soltishow:false,
orderBy:'',
userInfo:{}
}
},
onLoad(options) {
this.isnorefresh=options.refresh;
if(options.activeTotal){
this.activeTotal=options.activeTotal
}
},
onShow() {
this.userInfo = uni.getStorageSync('weapp_session_userInfo_data');
if(this.isnorefresh=='refresh'){
this.buildingID = uni.getStorageSync('buildingID').id;
this.recordList=[];
this.nextPage=1;
this.getMyCustom()
this.getFreeList();
this.isnorefresh='';
}
},
onReachBottom() {
if(this.totalRecord==this.nextPage){
uni.showToast({
icon:'none',
title: '到底了',
duration: 2000
});
return
}else{
this.nextPage+=1;
this.getMyCustom();
}
},
methods:{
tapsoltishow(){
this.soltishow=true;
},
taptimeisshow(){
this.timeshow=true;
},
//选择标签
selectCallback2(e){
this.orderBy=e[0].value;
this.nextPage=1;
this.recordList=[];
this.getMyCustom();
},
//时间选择
tabtimetap(index){
this.timeshow=false;
if (index == 4) {
this.totalTimeShow = true;
} else {
this.activeTotal = index;
this.staTime='';
this.endtime='';
this.nextPage=1;
this.recordList=[];
this.getMyCustom();
}
},
//自定义时间
totalTimeChange(e) {
this.staTime=e.startDate;
this.endtime=e.endDate;
this.activeTotal=4;
this.nextPage=1;
this.recordList=[];
this.getMyCustom();
},
tapThevisiting(item) {
if(item.status==0){
uni.showToast({
icon: "none",
title: "排队中"
})
return
}else{
const parames = {
pageNum: 1,
pageSize: 100,
query: {
customerId: item.id,
}
}
var item={
bg:0,
customerId:item.id,
}
uni.setStorageSync("searchobj", item); //写入缓存
this.$u.post("/corpus/findByPage", parames).then(res => {
if(res==null){
uni.showToast({
icon: "none",
title: "暂无音频"
})
return
}else{
let newobj = res[0];
if(res[0].merge==0){
uni.navigateTo({
url: `/pages/mine/details2?customerId=${newobj.customerId}&status=${newobj.status}&stateisshow=${"2"}`
})
}else{
uni.navigateTo({
url: `/pages/mine/details?customerId=${newobj.customerId}&status=${newobj.status}&stateisshow=${"1"}`
})
}
}
})
}
},
getMyCustom(){
let dateType=0;
let orderBy=0;
if(this.activeTotal==5){
dateType=null;
}else if(this.activeTotal==4){
dateType=null;
}else{
dateType=this.activeTotal;
}
if(this.orderBy==0){
orderBy=null;
}else{
orderBy=this.orderBy;
}
var parames = {
pageNum: this.nextPage,
pageSize: 10,
query: {
projectId:this.buildingID,
time:1,
staTime:this.staTime,
endtime:this.endtime,
taboo:1,
dateType:dateType,
orderBy:orderBy
}
};
if(this.screen.agentId){
parames.query.agentId = this.screen.agentId
}
this.$u.post("/customer/findbypage", parames).then(data => {
var list = data.results || [];
this.recordList = [...this.recordList, ...list];
this.totalRecord=data.totalPage;
})
},
//获取顾问列表
getFreeList() {
this.$u.get("/zkAgentPool/freeList?itemId="+this.buildingID).then(res => {
this.freeList = res;
this.freeList.forEach(item=>{
item.label=item.name;
item.value=item.agentId
})
})
},
//顾问确认
actionSelectCallback(e){
this.screen.agentId=e[0].value;
this.recordList=[];
this.nextPage=1;
this.selectshow=false;
this.getMyCustom();
},
},
}
</script>

<style lang="scss" scoped>
.box {
width: 100%;
height: 100%;
background: #F8F8F8;
}
.timeview{
height: 80rpx;
line-height: 80rpx;
width: 100%;
text-align: center;
border-bottom: 1px solid #F8F8F8;
}
//时间切换的样式
.boxtittab {
width: 100;
height: 92rpx;
background: #FFFFFF;
border: 1px solid #E0E0E0;
display: flex;
align-items: center;
.tabbox {
flex: 1;
height: 100%;
text-align: center;
line-height: 92rpx;
color: #666666;
font-size: 28rpx;
}
}
.search-box{
width: 100%;
height: 102rpx;
background: #FFFFFF;
display: flex;
align-items: center;
justify-content: center;
.search{
width: 94%;
height: 70rpx;
display: flex;
align-items: center;
background: #F8F8F8;
border-radius: 33rpx;
.search-img{
width: 26rpx;
height: 30rpx;
margin-left: 20rpx;
.search-img1{
width: 100%;
height: 100%;
margin-top: 2rpx;
}
}
.search-text{
font-size: 28rpx;
font-weight: 400;
color: #999999;
margin-left:10rpx;
}
}
.search-screen{
width: 40rpx;
height: 40rpx;
margin-left: 30rpx;
.search-screen1{
width: 100%;
height: 100%;
}
}
}
.content{
.content-tips{
background: #fff;
padding: 0 20rpx;
box-sizing: border-box;
overflow: hidden;
margin-top: 20rpx;
.content-first{
margin-top: 19rpx;
display: flex;
justify-content: space-between;
.left{
display: flex;
.img{
width: 52rpx;
height: 52rpx;
background: #FFFFFF;
border: 1px solid #C9C9C9;
border-radius: 50%;
text-align: center;
line-height: 52rpx;
}
.name{
font-weight: 600;
color: #333333;
// margin-left: 20rpx;
margin-top: 11rpx;
}
.status{
width: 110rpx;
height: 42rpx;
background: #FFF9F5;
border-radius: 4rpx;
font-size: 26rpx;
font-weight: 400;
color: #EC8D49;
line-height: 42rpx;
text-align: center;
margin-left: 19rpx;
margin-top: 11rpx;
}
}
.right{
display: flex;
margin-top: 11rpx;
.point{
width: 12rpx;
height: 12rpx;
background: #2B6EFF;
border-radius: 50%;
margin-right: 9rpx;
margin-top: 16rpx;
}
}
}
.content-sec{
display: flex;
justify-content: space-between;
margin-top: 19rpx;
.left{
display: flex;
.cus{
font-size: 30rpx;
font-weight: 400;
color: #666666;
// line-height: 30rpx;
}
.arriveNum{
font-size: 30rpx;
font-weight: 400;
// line-height: 30rpx;
margin-left: 10rpx;
}
}
.right{
width: 120rpx;
height: 46rpx;
background: #F4F8FD;
border-radius: 6rpx;
text-align: center;
line-height: 46rpx;
font-weight: 400;
color: #2671E2;
}
}
.content-last{
// margin: 30rpx 0;
font-size: 30rpx;
font-weight: 400;
color: #666666;
line-height: 30rpx;
margin-top: 22rpx;
margin-bottom: 30rpx;
}
}
}
// 这是弹出层
.screen{
// box-sizing: border-box;
// padding: 0 30rpx;
position:absolute;
.screen-counselor{
display: flex;
height: 106rpx;
// padding: 40rpx 30rpx 36rpx 30rpx;
padding: 0 30rpx;
box-sizing: border-box;
border-bottom: 1px solid #EEEEEE;
.screen-text{
margin: 40rpx 0 36rpx 0;
font-size: 30rpx;
font-weight: 400;
color: #333333;
line-height: 30rpx;
}
.screen-sel{
display: flex;
justify-content: space-between;
width: 500rpx;
margin-left: 60rpx;
.screen-sel-img{
margin: 40rpx 0 36rpx 0;
width: 14rpx;
height: 30rpx;
}
.screen-inp{
margin-top: 20rpx;
}
}
}
.screen-record{
height: 192rpx;
// width: 100%;
overflow: hidden;
padding: 0 30rpx;
box-sizing: border-box;
border-bottom: 1px solid #EEEEEE;
.screen-record-text{
margin-top: 36rpx;
font-size: 30rpx;
font-weight: 400;
color: #333333;
line-height: 30rpx;
}
.screen-record-tab{
margin-top: 30rpx;
display: flex;
// justify-content: space-around;
.screen-record-chose{
width: 156rpx;
height: 60rpx;
background: #2671E2;
border-radius: 4rpx;
border: 1px solid #2671E2;
text-align: center;
line-height: 60rpx;
margin-right: 22rpx;
color: #FFFFFF;
}
.screen-record-nochose{
width: 156rpx;
height: 60rpx;
background: #FFFFFF;
border-radius: 4rpx;
border: 1px solid #C9C9C9;
text-align: center;
line-height: 60rpx;
margin-right: 22rpx;
}
}
}
.screen-foot{
width: 100%;
height: 100rpx;
display: flex;
.screen-foot-reset{
width: 50%;
text-align: center;
height: 100rpx;
line-height: 100rpx;
font-size: 30rpx;
font-weight: 400;
color: #666666;
}
.screen-foot-sure{
width: 50%;
text-align: center;
line-height: 100rpx;
height: 100rpx;
font-size: 30rpx;
font-weight: 400;
color: #FFFFFF;
background: #2671E2;
}
}
}
</style>

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

@@ -82,8 +82,8 @@
<view class="screen-text">
所属顾问
</view>
<view class="screen-sel">
<u-input v-model="screen.counselorName" type="text" placeholder='请选择' @click="selectshow = true" class="screen-inp" disabled />
<view class="screen-sel" @click="selectshow = true">
<u-input v-model="screen.counselorName" type="text" placeholder='请选择' class="screen-inp" disabled />
<image class="screen-sel-img" src="../../../static/images/right.png" mode=""></image>
</view>
</view>
@@ -121,13 +121,13 @@
首次到访
</view>
<view :class="[screen.visitRecord==2?'screen-record-chose':'screen-record-nochose']" @click="recordclick(2)">
第二次
2次到访
</view>
<view :class="[screen.visitRecord==3?'screen-record-chose':'screen-record-nochose']" @click="recordclick(3)">
第三次
3次到访
</view>
<view :class="[screen.visitRecord==4?'screen-record-chose':'screen-record-nochose']" @click="recordclick(4)">
次以上
3次以上
</view>
</view>
</view>
@@ -147,20 +147,20 @@
<u-calendar v-model="totalTimeShow" mode="range" @change="totalTimeChange"></u-calendar>
<u-popup v-model="timeshow" mode="bottom">
<view class="timeview" :style="{ color: activeTotal == 5 ? '#2B6EFF' : '#e0e0e0' }" @click="tabtimetap(5)">全部</view>
<view class="timeview" :style="{ color: activeTotal == 0 ? '#2B6EFF' : '#e0e0e0' }" @click="tabtimetap(0)">今天</view>
<view class="timeview" :style="{ color: activeTotal == 1 ? '#2B6EFF' : '#e0e0e0' }" @click="tabtimetap(1)">昨天</view>
<view class="timeview" :style="{ color: activeTotal == 2 ? '#2B6EFF' : '#e0e0e0' }" @click="tabtimetap(2)">近7天</view>
<view class="timeview" :style="{ color: activeTotal == 3 ? '#2B6EFF' : '#e0e0e0' }" @click="tabtimetap(3)">近30天</view>
<view class="timeview" :style="{ color: activeTotal == 4 ? '#2B6EFF' : '#e0e0e0' }" @click="tabtimetap(4)">自定义</view>
<view class="timeview" :style="{ color: activeTotal == 5 ? '#2B6EFF' : '#333333' }" @click="tabtimetap(5)">全部</view>
<view class="timeview" :style="{ color: activeTotal == 0 ? '#2B6EFF' : '#333333' }" @click="tabtimetap(0)">今天</view>
<view class="timeview" :style="{ color: activeTotal == 1 ? '#2B6EFF' : '#333333' }" @click="tabtimetap(1)">昨天</view>
<view class="timeview" :style="{ color: activeTotal == 2 ? '#2B6EFF' : '#333333' }" @click="tabtimetap(2)">近7天</view>
<view class="timeview" :style="{ color: activeTotal == 3 ? '#2B6EFF' : '#333333' }" @click="tabtimetap(3)">近30天</view>
<view class="timeview" :style="{ color: activeTotal == 4 ? '#2B6EFF' : '#333333' }" @click="tabtimetap(4)">自定义</view>
</u-popup>
<u-popup v-model="timetushow" mode="bottom">
<view class="timeview" :style="{ color: activeTotal2 == 0 ? '#2B6EFF' : '#e0e0e0' }" @click="timetap(0)">全部</view>
<view class="timeview" :style="{ color: activeTotal2 == 1 ? '#2B6EFF' : '#e0e0e0' }" @click="timetap(1)">0~15min</view>
<view class="timeview" :style="{ color: activeTotal2 == 2 ? '#2B6EFF' : '#e0e0e0' }" @click="timetap(2)">15~30min</view>
<view class="timeview" :style="{ color: activeTotal2 == 3 ? '#2B6EFF' : '#e0e0e0' }" @click="timetap(3)">30~60min</view>
<view class="timeview" :style="{ color: activeTotal2 == 4 ? '#2B6EFF' : '#e0e0e0' }" @click="timetap(4)">60~90min</view>
<view class="timeview" :style="{ color: activeTotal2 == 5 ? '#2B6EFF' : '#e0e0e0' }" @click="timetap(5)">90min以上</view>
<view class="timeview" :style="{ color: activeTotal2 == 0 ? '#2B6EFF' : '#333333' }" @click="timetap(0)">全部</view>
<view class="timeview" :style="{ color: activeTotal2 == 1 ? '#2B6EFF' : '#333333' }" @click="timetap(1)">0~15min</view>
<view class="timeview" :style="{ color: activeTotal2 == 2 ? '#2B6EFF' : '#333333' }" @click="timetap(2)">15~30min</view>
<view class="timeview" :style="{ color: activeTotal2 == 3 ? '#2B6EFF' : '#333333' }" @click="timetap(3)">30~60min</view>
<view class="timeview" :style="{ color: activeTotal2 == 4 ? '#2B6EFF' : '#333333' }" @click="timetap(4)">60~90min</view>
<view class="timeview" :style="{ color: activeTotal2 == 5 ? '#2B6EFF' : '#333333' }" @click="timetap(5)">90min以上</view>
</u-popup>
<u-select v-model="soltishow" :list="orderBylist" @confirm="selectCallback2"></u-select>
</view>
@@ -178,7 +178,7 @@
{label:'接待时间正序',value:'4'},
{label:'执行率正序',value:'5'},
{label:'执行率倒序',value:'6'},
{label:'接访次数正序',value:'7'},
{label:'接访次数正序',value:'7'},
{label:'接访次数倒序',value:'8'},
],
activeTotal: 5,


+ 32
- 12
pages/index/guide.vue View File

@@ -4,25 +4,39 @@
数智工牌
</view>
<view class="booximg">
<image class="img" src="https://qufang.oss-cn-beijing.aliyuncs.com/zkgj/xcx/guidepage.png" mode=""></image>
<!-- <image class="img" src="https://qufang.oss-cn-beijing.aliyuncs.com/zkgj/xcx/guidepage.png" mode=""></image> -->
<image class="img" src="https://qufang.oss-cn-beijing.aliyuncs.com/zkgj/xcx/images1.png" mode=""></image>
</view>
<view class="center-dingwei">
<view style="height: 44rpx;display: flex;margin-left: 213rpx;">
<image style="width: 44rpx;height: 44rpx;" src="https://qufang.oss-cn-beijing.aliyuncs.com/zkgj/xcx/images2.png" mode=""></image>
<view style="line-height: 44rpx;margin-left: 10rpx;font-size: 32rpx;color: #333333;">智能语音转写</view>
</view>
<view style="height: 44rpx;display: flex;margin-left: 213rpx;margin-top: 20rpx;">
<image style="width: 44rpx;height: 44rpx;" src="https://qufang.oss-cn-beijing.aliyuncs.com/zkgj/xcx/images2.png" mode=""></image>
<view style="line-height: 44rpx;margin-left: 10rpx;font-size: 32rpx;color: #333333;">高效的判客机制</view>
</view>
<view style="height: 44rpx;display: flex;margin-left: 213rpx;margin-top: 20rpx;">
<image style="width: 44rpx;height: 44rpx;" src="https://qufang.oss-cn-beijing.aliyuncs.com/zkgj/xcx/images2.png" mode=""></image>
<view style="line-height: 44rpx;margin-left: 10rpx;font-size: 32rpx;color: #333333;">全方位的客户跟进</view>
</view>
<view style="height: 44rpx;display: flex;margin-left: 213rpx;margin-top: 20rpx;">
<image style="width: 44rpx;height: 44rpx;" src="https://qufang.oss-cn-beijing.aliyuncs.com/zkgj/xcx/images2.png" mode=""></image>
<view style="line-height: 44rpx;margin-left: 10rpx;font-size: 32rpx;color: #333333;">专业的经济管家</view>
</view>
<view style="height: 44rpx;display: flex;margin-left: 213rpx;margin-top: 20rpx;">
<image style="width: 44rpx;height: 44rpx;" src="https://qufang.oss-cn-beijing.aliyuncs.com/zkgj/xcx/images2.png" mode=""></image>
<view style="line-height: 44rpx;margin-left: 10rpx;font-size: 32rpx;color: #333333;">在线实时沟通</view>
</view>
</view>
<view @click="bindWxBLogin" class="button">
<view class="view">
立即去登录
</view>
</view>
</view>
<!-- <view class="full">
<view class="logo"></view>
<view class="title">
数智工牌
</view>
<view @click="bindWxBLogin" class="button">
立即去登录
</view>
</view> -->

</template>

<script>
@@ -86,6 +100,12 @@
height: 100%;
}
}
.center-dingwei{
width: 100%;
position: absolute;
left: 0rpx;
bottom:230rpx;
}
.button {
width: 100%;
position: absolute;


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

@@ -97,19 +97,19 @@
<view class="realtext">未标顾问</view>
</view>
</view>
<view class="timebox" @click="tapjumpreception('1')">
<view class="real">
<view class="realnum" >{{realtimeobj.sumDuration || 0}}</view>
<view class="realtext">接待时长</view>
</view>
<view class="real">
<view class="timebox">
<view class="real" @click="tapjumpreception('1')">
<view class="realnum">{{realtimeobj.avgDuration|| 0}}</view>
<view class="realtext">平均接待时长</view>
</view>
<view class="real">
<view class="real" @click="tapjumpreception('1')">
<view class="realnum">{{realtimeobj.fraction || 0}}%</view>
<view class="realtext">平均执行率</view>
</view>
<view class="real" >
<view @click="prohibitedtap(1)" v-if="methodsisshow==true" class="realnum" style="color: red;" >{{realtimeobj.prohibitedCustomer || 0}}</view>
<view @click="prohibitedtap(1)" v-if="methodsisshow==true" class="realtext">违禁预警</view>
</view>

</view>
</view>
@@ -118,23 +118,23 @@

<view class="title">本周工作</view>
<view class="real-timebox">
<view class="timebox" @click="tapjumpreception('3')">
<view class="real">
<view class="timebox">
<view class="real" @click="tapjumpreception('3')">
<view class="realnum">{{Thisweekobj.receptionCount || 0}}</view>
<view class="realtext">接待量</view>
</view>
<view class="real">
<view class="real" @click="tapjumpreception('3')">
<view class="realnum">{{Thisweekobj.fraction || 0}}%</view>
<view class="realtext">平均执行率</view>
</view>
<view class="real">
<view class="realnum">{{Thisweekobj.sumDuration || 0}}</view>
<view class="realtext">录音时长</view>
</view>
<view class="real">
<view class="real" @click="tapjumpreception('3')">
<view class="realnum">{{Thisweekobj.avgDuration|| 0}}</view>
<view class="realtext">平均接待时长</view>
</view>
<view class="real" @click="prohibitedtap(2)" v-if="methodsisshow==true">
<view class="realnum" style="color: red;" >{{Thisweekobj.prohibitedCustomer || 0}}</view>
<view class="realtext">违禁预警</view>
</view>
</view>
</view>
@@ -155,6 +155,8 @@
mode=""></image>
<image v-if="item.name=='顾问排名'" class="commonly-img1" src="../../static/images/rankingguwen.png"
mode=""></image>
<image v-if="item.name=='违禁记录'" class="commonly-img1" src="../../static/images/prohibited.png"
mode=""></image>
</view>
<view class="commonly-text">{{item.name}}</view>
</view>
@@ -198,7 +200,7 @@
sumCustomer: '',
receivingCustomer: '',
activeCustomer: '',
sumDuration: '',
prohibitedCustomer: '',
tagCustomer: '',
fraction: '',
receptionCount:''
@@ -207,18 +209,23 @@
sumCustomer: '',
receivingCustomer: '',
activeCustomer: '',
sumDuration: '',
prohibitedCustomer: '',
tagCustomer: '',
fraction: '',
receptionCount:''
}
},
methodsisshow:false
};
},
components: {},
onShow() {
this.userInfo = uni.getStorageSync('weapp_session_userInfo_data');
this.Menulist = uni.getStorageSync('weapp_session_Menu_data');
console.log(this.Menulist)
if(this.userInfo.dataCode==6 || this.userInfo.dataCode==3){
this.methodsisshow=false;
}else{
this.methodsisshow=true;
}
if (this.userInfo.zkProperties.length == 1) {
this.buildingID = uni.getStorageSync('buildingID').id;
this.buildingname = uni.getStorageSync('buildingID').name;
@@ -265,7 +272,7 @@
sumCustomer: data.data.data.sumCustomer,
receivingCustomer: data.data.data.receivingCustomer,
activeCustomer: data.data.data.activeCustomer,
sumDuration: Math.floor(data.data.data.sumDuration/60) ||0,
prohibitedCustomer: data.data.data.prohibitedCustomer,
avgDuration: Math.floor(data.data.data.avgDuration/60) ||0,
tagCustomer: data.data.data.tagCustomer,
fraction: data.data.data.fraction,
@@ -295,7 +302,7 @@
sumCustomer: data.data.data.sumCustomer,
receivingCustomer: data.data.data.receivingCustomer,
activeCustomer: data.data.data.activeCustomer,
sumDuration:Math.floor(data.data.data.sumDuration/60) || 0,
prohibitedCustomer: data.data.data.prohibitedCustomer,
avgDuration: Math.floor(data.data.data.avgDuration/60) ||0,
tagCustomer: data.data.data.tagCustomer,
fraction: data.data.data.fraction,
@@ -388,6 +395,8 @@
uni.setStorageSync("buildingID", lopan); //楼盘id写入缓存
this.initworkThisWeek()
this.initrealTimeStatistics()
this.initequipment()
this.iniodianloang()
},
// 楼盘选择取消
@@ -403,6 +412,18 @@
}
})
},
prohibitedtap(i){
if(i==1){
uni.navigateTo({
url: '/pages/center/prohibited/index?refresh='+'refresh'+'&activeTotal='+'0'
});
}else{
uni.navigateTo({
url: '/pages/center/prohibited/index?refresh='+'refresh'+'&activeTotal='+'2'
});
}
},
tapjumpreception(i){
this.Menulist.forEach(item=>{
if(item.name=='接待记录'){
@@ -447,6 +468,10 @@
uni.navigateTo({
url: '/pages/center/Piabodata/Employeesstatistics'
});
}else if(item == '违禁记录'){
uni.navigateTo({
url: '/pages/center/prohibited/index?refresh='+'refresh'
});
}else{
uni.navigateTo({
url: '/pages/center/consumer/index?refresh='+'refresh'


+ 2
- 2
pages/mine/equipment/index.vue View File

@@ -7,7 +7,7 @@
</view>
</view> -->
<view style="width: 690rpx;margin: 0 auto;margin-top: 20rpx;">
<u-search @search='shecs()' placeholder="请输入设备编号或领用人进行搜索" v-model="imei"></u-search>
<u-search @search='shecs()' :show-action='false' placeholder="请输入设备编号或领用人进行搜索" v-model="imei"></u-search>
</view>
<view class="tab-box">
<view class="tab-item-wrap">
@@ -67,7 +67,7 @@
<view class="box2-you">{{item.updateTime}}</view>
</view>
<view class="infobox2" v-if="activeClass==1">
<view class="box2-zuo">最后使用时间</view>
<view class="box2-zuo">最后在线时间</view>
<view class="box2-you" style="font-size: 28rpx;color: red;">{{item.updateTime | formatDate}}</view>
</view>
</view>


BIN
static/images/prohibited.png View File

Before After
Width: 136  |  Height: 136  |  Size: 7.9 KiB

+ 873
- 874
uni_modules/qiun-data-charts/js_sdk/u-charts/config-ucharts.js
File diff suppressed because it is too large
View File


+ 1
- 1
utils/http.js View File

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

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.127: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