Bläddra i källkod

修改禅道问题

test
douzhuo 2 år sedan
förälder
incheckning
ecb03a07ee
13 ändrade filer med 646 tillägg och 391 borttagningar
  1. +17
    -8
      pages/center/Piabodata/Theteamcompared.vue
  2. +92
    -82
      pages/center/Piabodata/TrendAnalysis.vue
  3. +14
    -3
      pages/center/consumer/consumerDetail.vue
  4. +20
    -5
      pages/center/consumer/edit.vue
  5. +275
    -178
      pages/center/prohibited/index.vue
  6. +73
    -28
      pages/center/records/index.vue
  7. +74
    -20
      pages/index/consumer/index.vue
  8. +14
    -7
      pages/index/customer.vue
  9. +1
    -1
      pages/learning/Thefulltext/index2.vue
  10. +14
    -12
      pages/mine/details2.vue
  11. +1
    -1
      pages/mine/equipment/index.vue
  12. +1
    -1
      pages/mine/reception/addreception.vue
  13. +50
    -45
      pages/mine/reception/consultant.vue

+ 17
- 8
pages/center/Piabodata/Theteamcompared.vue Visa fil

@@ -57,8 +57,10 @@
<view class="" v-if=" eharTab.active1 == 1 ">
<view class="danwei">接待量</view>
<view class="uchaserbox">
<qiun-data-charts type="line" :chartData="lineOptsect1" background="none" :ontouch="true"
canvasId="wangxiaohuaerlingeryilingwuyibbb" :canvas2d="true" />
<template v-if="lineOptsect1">
<qiun-data-charts type="line" :chartData="lineOptsect1" background="none" :ontouch="true"
canvasId="wangxiaohuaerlingeryilingwuyibbb" :canvas2d="true" />
</template>
</view>
</view>
<view class="jindu" v-if=" eharTab.active1 == 0 ">
@@ -98,8 +100,10 @@
<view class="" v-if=" eharTab.active2 == 1 ">
<view class="danwei">录音时长</view>
<view class="uchaserbox">
<qiun-data-charts type="line" :chartData="lineOptsect2" background="none" :ontouch="true"
canvasId="wangxiaohuaerlingeryilingwuyibb" :canvas2d="true" />
<template v-if="lineOptsect2">
<qiun-data-charts type="line" :chartData="lineOptsect2" background="none" :ontouch="true"
canvasId="wangxiaohuaerlingeryilingwuyibb" :canvas2d="true" />
</template>
</view>
</view>
<view class="jindu" v-if=" eharTab.active2 == 0 ">
@@ -132,8 +136,10 @@
<view class="" v-if=" eharTab.active3 == 1 ">
<view class="danwei">执行率</view>
<view class="uchaserbox">
<qiun-data-charts type="line" :chartData="lineOptsect3" background="none" :ontouch="true"
canvasId="wangxiaohuaerlingeryilingwuyib" :canvas2d="true" />
<template v-if="lineOptsect3">
<qiun-data-charts type="line" :chartData="lineOptsect3" background="none" :ontouch="true"
canvasId="wangxiaohuaerlingeryilingwuyib" :canvas2d="true" />
</template>
</view>
</view>
<view class="jindu" v-if=" eharTab.active3 == 0 ">
@@ -370,6 +376,9 @@
this.timepickpickisshow = !this.timepickpickisshow;
this.staff2.label = '平均'
this.staff2.value = ''
this.lineOptsect1 = null
this.lineOptsect2 = null
this.lineOptsect3 = null
// 团队对比接待量
this.receptionCountList(this.eharTab.active1, 1, '/cusLvStatistics/teamAnalysisReception')
// 团队对比接待时长
@@ -685,7 +694,7 @@
// this['lineOptsect'+index].series=allobj.series
// this['lineOptsect'+index].categories=allobj.categories
}
this.$forceUpdate()
})
},
@@ -809,7 +818,7 @@
top: var(--window-top);
z-index: 999;
}
.box {
width: 100%;
height: 100%;


+ 92
- 82
pages/center/Piabodata/TrendAnalysis.vue Visa fil

@@ -51,12 +51,12 @@
<view class="audonum" v-else>{{item.name}}</view>
<view class="num">
<view class="" style="width: 35%;">
{{index==1?item.num+'%':item.num}}
{{index==0?item.num+'%':item.num}}
</view>
<view class="comparesize" v-if="compareFlag&&timepickpickisshow">
<text style="margin-right: 10rpx;">对比:{{index==1?item.num1+'%':item.num1}}</text>
<text
:style="{color:item.num2*1>0?'red':'green'}">{{item.num2+'%'}} {{(item.num2*1) > 0 ? '↑' : '↓'}}</text>
<text :style="{color:item.num2*1>0?'red':'green'}">{{item.num2+'%'}}
{{(item.num2*1) > 0 ? '↑' : '↓'}}</text>
</view>
</view>
</view>
@@ -225,19 +225,25 @@
selindexList: [0], // 默认选中第一项
compareFlag: false,
numlist: [{
name: '接待量',
name: '平均执行率',
num: '10',
num1: '0',
num2: '0'
},
{
name: '平均执行率',
name: '平均接待时长',
num: '10',
num1: '0',
num2: '0'
},
{
name: '平均接待时长',
name: '接待量',
num: '10',
num1: '0',
num2: '0'
},
{
name: '有效接待',
num: '10',
num1: '0',
num2: '0'
@@ -387,19 +393,26 @@
this.$u.post("/cusLvStatistics/lyAndcp", this.pamect).then(data => {
this.pamect.lastStartDate = data.lastStartDate;
this.pamect.lastEndDate = data.lastEndDate;
this.numlist[0].num = data.startSumCustomer
this.numlist[1].num = data.startFraction;

this.numlist[2].num = data.startSumDuration || 0;
this.numlist[3].num = data.startSumCustomer
this.numlist[0].num = data.startFraction;
this.numlist[1].num = data.startSumDuration || 0;
this.numlist[2].num = data.startReceptionCount || 0
// startReceptionCount开始接待量
// endReceptionCount结束接待量
// contrastReceptionCount接待量对比
if (data.endSumDuration != null) {
this.compareFlag = true
// return
this.numlist[0].num1 = data.endSumCustomer
this.numlist[1].num1 = data.endFraction;
this.numlist[2].num1 = data.endSumDuration || 0;
this.numlist[0].num2 = data.contrastSumCustomer
this.numlist[1].num2 = data.contrastFraction;
this.numlist[2].num2 = data.contrastSumDuration || 0;
this.numlist[3].num1 = data.endSumCustomer
this.numlist[0].num1 = data.endFraction;
this.numlist[1].num1 = data.endSumDuration || 0;
this.numlist[2].num = data.endReceptionCount || 0
this.numlist[3].num2 = data.contrastSumCustomer
this.numlist[0].num2 = data.contrastFraction;
this.numlist[1].num2 = data.contrastSumDuration || 0;
this.numlist[2].num = data.contrastReceptionCount || 0


} else {
this.compareFlag = false
}
@@ -587,75 +600,76 @@
};
this.linetype = "line";
this.$u.post("/cusLvStatistics/teamOrOneValueShow", this.pamect).then(data => {
if (data.data != null) {
if (this.pamect.showStatus == 0) {
that.lineOptsect = {
categories: [],
series: [{
if (this.pamect.showStatus == 0) {
that.lineOptsect = {
categories: [],
series: [{
name: '起始时间',
data: [],
color: '#7ED3F4'
}]
}
data.startList.forEach((child, zxc) => {
that.lineOptsect.categories.push(child.statDate.substring(5, 10))
})
that.lineOptsect.series[0].data = data.startList.map(item => item.fraction);
console.log(that.lineOptsect.series, 'asdasdsadsadass00000000000000')
} else {
that.lineOptsect = {
categories: [],
series: [{
name: '起始时间',
data: [],
color: '#7ED3F4'
}]
}
data.startList.forEach((child, zxc) => {
that.lineOptsect.categories.push(child.statDate.substring(5, 10))
})
that.lineOptsect.series[0].data = data.startList.map(item => item.fraction);
} else {
that.lineOptsect = {
categories: [],
series: [{
name: '起始时间',
data: [],
color: '#7ED3F4'
},
{
name: '对比时间',
data: [],
color: '#FF7070'
},
]
}
data.startList.forEach((item, sdf) => {
data.endList.forEach((child, zxc) => {
if (sdf == zxc) {
that.lineOptsect.categories.push(
child.statDate.substring(5, 10) + 'vs' + item
.statDate
.substring(5, 10)
)
}
})
})
that.lineOptsect.series[1].data = data.startList.map(item => item.fraction);
that.lineOptsect.series[0].data = data.endList.map(item => item.fraction)
that.guwenFlag = false
// // 处理表格数据
let arr = [
['时间', '时段一', '时段二', '变化']
// {
// time:'时间',
// time1:'时段一',
// time2:'时段二',
// compare:'变化'
// },
},
{
name: '对比时间',
data: [],
color: '#FF7070'
},
]
that.lineOptsect.categories.map((item, index) => {
let newarr = [item, data.endList[index].fraction, data.startList[index]
.fraction, data.comparedList[index].fraction
]
// obj.time=item
// obj.time1=data.firstValue[index].fraction
// obj.time2=data.lastValue[index].fraction
// obj.compare=data.contrast[index].data
// arr.push(obj)
arr.push(newarr)
})
// console.log(arr)
that.tableDate = arr
}
data.startList.forEach((item, sdf) => {
data.endList.forEach((child, zxc) => {
if (sdf == zxc) {
that.lineOptsect.categories.push(
child.statDate.substring(5, 10) + 'vs' + item
.statDate
.substring(5, 10)
)
}
})
})
that.lineOptsect.series[1].data = data.startList.map(item => item.fraction);
that.lineOptsect.series[0].data = data.endList.map(item => item.fraction)
that.guwenFlag = false
// // 处理表格数据
let arr = [
['时间', '时段一', '时段二', '变化']
// {
// time:'时间',
// time1:'时段一',
// time2:'时段二',
// compare:'变化'
// },
]
that.lineOptsect.categories.map((item, index) => {
let newarr = [item, data.endList[index].fraction, data.startList[index]
.fraction, data.comparedList[index].fraction
]
// obj.time=item
// obj.time1=data.firstValue[index].fraction
// obj.time2=data.lastValue[index].fraction
// obj.compare=data.contrast[index].data
// arr.push(obj)
arr.push(newarr)
})
// console.log(arr)
that.tableDate = arr
console.log(that.lineOptsect.series, 'asdasdsadsadass00000000000000else')
}
});

},
//顾问维度
ConsultantDimension() {
@@ -1392,8 +1406,4 @@
border-right: none;
border-bottom: none;
}

.grid:nth-child(3) {
width: 50.5%;
}
</style>

+ 14
- 3
pages/center/consumer/consumerDetail.vue Visa fil

@@ -9,8 +9,6 @@
<view class="img B" v-else-if="customerInfo.level==2">B</view>
<view class="img C" v-else-if="customerInfo.level==3">C</view>
<view class="img D" v-else-if="customerInfo.level==4">D</view>


<view class="test">{{customerInfo.name || '--'}}</view>
<view class="edit" @click="goedit()" v-if="isHavePermission">
<image class="screen-sel-img" src="../../../static/images/edit.png" mode=""></image>
@@ -24,7 +22,7 @@
<view class="content-sec">
<view class="content-sec-lab">
手机号码:<view class="content-sec-lab1">
{{customerInfo.phone&&customerInfo.isShow==1?customerInfo.phone.length==11?customerInfo.phone.substr(0, 3) + '****' + customerInfo.phone.substr(7):customerInfo.phone:customerInfo.phone&&customerInfo.isShow!=1?customerInfo.phone: '--'}}
{{customerInfo.phone | phoneText}}
</view>
</view>
<view class="content-sec-lab" @click.stop="tipupon">
@@ -238,6 +236,7 @@
</template>

<script>
let _this
export default {
data() {
return {
@@ -260,9 +259,11 @@
},
onLoad(options) {
this.customerId = options.id;
_this = this
},
onShow() {
this.userInfo = uni.getStorageSync('weapp_session_userInfo_data');
console.log(this.userInfo.showPhoneStatus)
if (this.userInfo.dataCode == 6) {
this.buttonisshow = true;
} else {
@@ -487,6 +488,16 @@
}
})
},
},
filters: {
// 加密手机
phoneText(mobile) {
if (!mobile) return '--'
if (_this.userInfo.showPhoneStatus == 1) return mobile.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2')
else return mobile
},
}
}
</script>


+ 20
- 5
pages/center/consumer/edit.vue Visa fil

@@ -14,7 +14,7 @@
</view>
</view>
<view class="conmsg-msg-lab-inp">
<input type="text" placeholder="请输入客户姓名" placeholder-style="color:#B2B2B2;"
<input maxlength="10" type="text" placeholder="请输入客户姓名" placeholder-style="color:#B2B2B2;"
v-model="form.name" />
</view>
</view>
@@ -43,7 +43,7 @@
</view>
</view>
<view class="conmsg-msg-lab-inp">
<input :disabled="dataCode!=6" type="number" placeholder="请输入联系电话"
<input :disabled="userInfo.showPhoneStatus != 0" type="number" placeholder="请输入联系电话"
placeholder-style="color:#B2B2B2;" maxlength="11" v-model="form.phone" />
</view>
</view>
@@ -135,6 +135,7 @@
export default {
data() {
return {
showPhone: '', // 展示用的手机号
form: {
name: '',
sex: '1',
@@ -142,7 +143,6 @@
chatNo: '',
level: '1',
remarks: '',

},
selectform: {
level: 'A',
@@ -176,15 +176,21 @@
},
],
allList: [],
dataCode: ''
dataCode: '',
userInfo: {}, // 用户信息
}
},
computed: {
},
onLoad(e) {
const {
dataCode
} = uni.getStorageSync("weapp_session_userInfo_data");
this.userInfo = uni.getStorageSync('weapp_session_userInfo_data');
this.dataCode = dataCode
console.log(e)
console.log(this.userInfo.showPhoneStatus)
// 先调用借口查询数据
this.customerId = e.id
this.getdetail()
@@ -223,6 +229,10 @@
})
.then(res => {
this.form = res
if (this.userInfo.showPhoneStatus == 1) {
this.showPhone = this.form.phone
this.form.phone = this.form.phone.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2')
}
// 给客户等级赋值
let idx = this.levellist.findIndex(item => item.value == res.level)
if (idx != -1) {
@@ -235,6 +245,7 @@
this.getListByType()
})
},
// 字典表接口
getListByType() {
this.$u.get("/matchKeywords/findPersonalMatchData", {
@@ -308,6 +319,10 @@
})
str = str.join(',')
param = this.form
// 如果是禁用状态就传入明文手机号,如果没禁用则不用更改
if (this.userInfo.showPhoneStatus == 1) {
param.phone = this.showPhone
}
param.keywordIds = str
console.log(param)
// return


+ 275
- 178
pages/center/prohibited/index.vue Visa fil

@@ -1,29 +1,37 @@
<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>
{{ timeText }}
<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>
{{ sortText }}<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>
{{ adviserText }}<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon>
</view>
</view>

<!-- 筛选后的数量 -->
<view class="count" v-if="recordList.length > 0">
筛选结果:<text>{{totalRecords}} </text>条
</view>

<view class="content">
<view v-if="recordList.length==0" style="width: 100%;height: 100%;display: flex;align-items: center;background: #FFFFFF;">
<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>
<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 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 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> -->
@@ -39,7 +47,7 @@
<view class="cus">客户:{{item.name || '--'}} |</view>
<view class="arriveNum">{{item.visitRecord || "--"}}次到访</view>
</view>
</view>
<view class="content-last">
{{item.createTime}} | {{item.mm || '0'}} min
@@ -47,162 +55,189 @@
</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>
<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天')">
近7天</view>
<view class="timeview" :style="{ color: activeTotal == 3 ? '#2B6EFF' : '#333333' }" @click="tabtimetap(3, '近30天')">
近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:[
export default {
data() {
return {
// 筛选文字描述
timeText: '接待时间',
sortText: '排序',
adviserText: '顾问',
//
orderBylist: [
// {label:'全部',value:'0'},
{label:'创建时间倒序',value:'1'},
{label:'创建时间正序',value:'2'},
{label:'接待时间倒序',value:'3'},
{label:'接待时间正序',value:'4'},
{
label: '创建时间倒序',
value: '1'
},
{
label: '创建时间正序',
value: '2'
},
{
label: '接待时间倒序',
value: '3'
},
{
label: '接待时间正序',
value: '4'
},
],
activeTotal: 5,
selectshow:false,
selectshow: false,
totalTimeShow: false,
screen:{
agentId:'',//顾问id
record:'0',
screen: {
agentId: '', //顾问id
record: '0',
},
freeList:[],//顾问
recordList:[],
buildingID:'',
nextPage:1,
totalRecord:"",
staTime:'',
endtime:'',
isnorefresh:'',
activeTotal2:0,
timeshow:false,
soltishow:false,
orderBy:'',
userInfo:{}
totalRecords: '',
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
this.isnorefresh = options.refresh;
if (options.activeTotal) {
this.activeTotal = options.activeTotal
}
if(options.staTime){
this.staTime=options.staTime;
this.endtime=options.endtime;
if (options.staTime) {
this.staTime = options.staTime;
this.endtime = options.endtime;
}
},
onShow() {
this.userInfo = uni.getStorageSync('weapp_session_userInfo_data');
if(this.isnorefresh=='refresh'){
if (this.isnorefresh == 'refresh') {
this.buildingID = uni.getStorageSync('buildingID').id;
this.recordList=[];
this.nextPage=1;
this.recordList = [];
this.nextPage = 1;
this.getMyCustom()
this.getFreeList();
this.isnorefresh='';
}
this.isnorefresh = '';
}
},
onReachBottom() {
if(this.totalRecord==this.nextPage){
if (this.totalRecord == this.nextPage) {
uni.showToast({
icon:'none',
title: '到底了',
duration: 2000
icon: 'none',
title: '到底了',
duration: 2000
});
return
}else{
this.nextPage+=1;
} else {
this.nextPage += 1;
this.getMyCustom();
}
},
methods:{
tapsoltishow(){
this.soltishow=true;
methods: {
tapsoltishow() {
this.soltishow = true;
},
taptimeisshow(){
this.timeshow=true;
taptimeisshow() {
this.timeshow = true;
},
//选择标签
selectCallback2(e){
this.orderBy=e[0].value;
this.nextPage=1;
this.recordList=[];
selectCallback2(e) {
this.orderBy = e[0].value;
this.sortText = e[0].label
this.nextPage = 1;
this.recordList = [];
this.getMyCustom();
},
//时间选择
tabtimetap(index){
this.timeshow=false;
tabtimetap(index, text) {
if (text) this.timeText = text
this.timeshow = false;
if (index == 4) {
this.totalTimeShow = true;
} else {
this.activeTotal = index;
this.staTime='';
this.endtime='';
this.nextPage=1;
this.recordList=[];
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.staTime = e.startDate;
this.endtime = e.endDate;
this.activeTotal = 4;
this.nextPage = 1;
this.recordList = [];
this.timeText = `${e.startDate}-${e.endDate}`
this.getMyCustom();
},
tapThevisiting(item) {
if(item.status==0){
if (item.status == 0) {
uni.showToast({
icon: "none",
title: "排队中"
})
return
}else{
} else {
const parames = {
pageNum: 1,
pageSize: 100,
query: {
customerId: item.id,
}
}
var item={
bg:0,
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){
if (res == null) {
uni.showToast({
icon: "none",
title: "暂无音频"
})
return
}else{
} else {
let newobj = res[0];
if(res[0].merge==0){
if (res[0].merge == 0) {
uni.navigateTo({
url: `/pages/mine/details2?customerId=${newobj.customerId}&status=${newobj.status}&stateisshow=${"2"}`
})
}else{
} else {
uni.navigateTo({
url: `/pages/mine/details?customerId=${newobj.customerId}&status=${newobj.status}&stateisshow=${"1"}`
})
@@ -210,70 +245,72 @@
}
})
}
},
getMyCustom(){
let dateType=0;
let orderBy=0;
if(this.activeTotal==5){
dateType=null;
}else if(this.activeTotal==4){
dateType=null;
}else{
dateType=this.activeTotal;
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;
if (this.orderBy == 0) {
orderBy = null;
} else {
orderBy = this.orderBy;
}
var parames = {
pageNum: this.nextPage,
pageSize: 10,
query: {
projectId:this.buildingID,
time:1,
staDate:this.staTime,
endDate:this.endtime,
taboo:1,
dateType:dateType,
orderBy:orderBy
projectId: this.buildingID,
time: 1,
staDate: this.staTime,
endDate: this.endtime,
taboo: 1,
dateType: dateType,
orderBy: orderBy
}
};
if(this.screen.agentId){
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;
this.totalRecord = data.totalPage;
this.totalRecords = data.totalRecord;
})
},
//获取顾问列表
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
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;
actionSelectCallback(e) {
this.screen.agentId = e[0].value;
this.adviserText = e[0].label
this.recordList = [];
this.nextPage = 1;
this.selectshow = false;
this.getMyCustom();
},
},
}
</script>
@@ -284,22 +321,26 @@
height: 100%;
background: #F8F8F8;
}
.timeview{

.timeview {
height: 80rpx;
line-height: 80rpx;
width: 100%;
text-align: center;
border-bottom: 1px solid #F8F8F8;
}

//时间切换的样式
.boxtittab {
position: sticky;
top: var(--window-top);
width: 100;
height: 92rpx;
background: #FFFFFF;
border: 1px solid #E0E0E0;
display: flex;
align-items: center;
.tabbox {
flex: 1;
height: 100%;
@@ -307,63 +348,96 @@
line-height: 92rpx;
color: #666666;
font-size: 28rpx;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
/* 将对象作为弹性伸缩盒子模型显示 */
-webkit-line-clamp: 1;
/* 控制最多显示几行 */
-webkit-box-orient: vertical;
/* 设置或检索伸缩盒对象的子元素的排列方式 */
}
}
.search-box{

.search-box {
width: 100%;
height: 102rpx;
background: #FFFFFF;
display: flex;
align-items: center;
justify-content: center;
.search{

.search {
width: 94%;
height: 70rpx;
display: flex;
align-items: center;
background: #F8F8F8;
border-radius: 33rpx;
.search-img{

.search-img {
width: 26rpx;
height: 30rpx;
margin-left: 20rpx;
.search-img1{

.search-img1 {
width: 100%;
height: 100%;
margin-top: 2rpx;
}
}
}
.search-text{

.search-text {
font-size: 28rpx;
font-weight: 400;
color: #999999;
margin-left:10rpx;
margin-left: 10rpx;
}
}
.search-screen{

.search-screen {
width: 40rpx;
height: 40rpx;
margin-left: 30rpx;
.search-screen1{

.search-screen1 {
width: 100%;
height: 100%;
}
}
}
.content{
.content-tips{


.count {
width: 100%;
height: 90rpx;
display: flex;
align-items: center;
justify-content: center;
background-color: #FBE4E4;

text {
color: #F71616;
}
}

.content {
.content-tips {
background: #fff;
padding: 0 20rpx;
box-sizing: border-box;
overflow: hidden;
margin-top: 20rpx;
.content-first{

.content-first {
margin-top: 19rpx;
display: flex;
justify-content: space-between;
.left{

.left {
display: flex;
.img{

.img {
width: 52rpx;
height: 52rpx;
background: #FFFFFF;
@@ -372,13 +446,15 @@
text-align: center;
line-height: 52rpx;
}
.name{

.name {
font-weight: 600;
color: #333333;
// margin-left: 20rpx;
margin-top: 11rpx;
}
.status{

.status {
width: 110rpx;
height: 42rpx;
background: #FFF9F5;
@@ -392,42 +468,48 @@
margin-top: 11rpx;
}
}
.right{

.right {
display: flex;
margin-top: 11rpx;
.point{

.point {
width: 12rpx;
height: 12rpx;
background: #2B6EFF;
border-radius: 50%;
margin-right: 9rpx;
margin-top: 16rpx;
}
}
}
.content-sec{
.content-sec {
display: flex;
justify-content: space-between;
margin-top: 19rpx;
.left{

.left {
display: flex;
.cus{

.cus {
font-size: 30rpx;
font-weight: 400;
color: #666666;
// line-height: 30rpx;
}
.arriveNum{

.arriveNum {
font-size: 30rpx;
font-weight: 400;
// line-height: 30rpx;
margin-left: 10rpx;
}
}
.right{

.right {
width: 120rpx;
height: 46rpx;
background: #F4F8FD;
@@ -438,7 +520,8 @@
color: #2671E2;
}
}
.content-last{

.content-last {
// margin: 30rpx 0;
font-size: 30rpx;
font-weight: 400;
@@ -447,62 +530,72 @@
margin-top: 22rpx;
margin-bottom: 30rpx;
}
}
}

// 这是弹出层
.screen{
.screen {
// box-sizing: border-box;
// padding: 0 30rpx;
position:absolute;
.screen-counselor{
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{

.screen-text {
margin: 40rpx 0 36rpx 0;
font-size: 30rpx;
font-weight: 400;
color: #333333;
line-height: 30rpx;
}
.screen-sel{

.screen-sel {
display: flex;
justify-content: space-between;
width: 500rpx;
margin-left: 60rpx;
.screen-sel-img{

.screen-sel-img {
margin: 40rpx 0 36rpx 0;
width: 14rpx;
height: 30rpx;
}
.screen-inp{

.screen-inp {
margin-top: 20rpx;
}
}
}
.screen-record{

.screen-record {
height: 192rpx;
// width: 100%;
overflow: hidden;
padding: 0 30rpx;
box-sizing: border-box;
border-bottom: 1px solid #EEEEEE;
.screen-record-text{

.screen-record-text {
margin-top: 36rpx;
font-size: 30rpx;
font-weight: 400;
color: #333333;
line-height: 30rpx;
}
.screen-record-tab{

.screen-record-tab {
margin-top: 30rpx;
display: flex;

// justify-content: space-around;
.screen-record-chose{
.screen-record-chose {
width: 156rpx;
height: 60rpx;
background: #2671E2;
@@ -513,7 +606,8 @@
margin-right: 22rpx;
color: #FFFFFF;
}
.screen-record-nochose{

.screen-record-nochose {
width: 156rpx;
height: 60rpx;
background: #FFFFFF;
@@ -523,14 +617,16 @@
line-height: 60rpx;
margin-right: 22rpx;
}
}
}
.screen-foot{

.screen-foot {
width: 100%;
height: 100rpx;
display: flex;
.screen-foot-reset{

.screen-foot-reset {
width: 50%;
text-align: center;
height: 100rpx;
@@ -539,7 +635,8 @@
font-weight: 400;
color: #666666;
}
.screen-foot-sure{

.screen-foot-sure {
width: 50%;
text-align: center;
line-height: 100rpx;


+ 73
- 28
pages/center/records/index.vue Visa fil

@@ -1,7 +1,7 @@
<template>
<view class="box">
<!-- 搜索框点击跳转 -->
<!-- <view>
<!-- <view>
<view class="search-box">
<view class="search" @click="goSearch">
<view class="search-img">
@@ -15,18 +15,25 @@
<!-- 选择器 -->
<view class="boxtittab">
<view class="tabbox" @click="taptimeisshow">
接待时间<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon>
{{ startFilterTime }}<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon>
</view>
<view class="tabbox" @click="taptimetuisshow">
接待时长<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon>
{{ receptionDuration }}<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>
{{ sortText }}<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon>
</view>
<view class="tabbox" @click="screenshow">
更多筛选<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon>
</view>
</view>
<!-- 筛选后的数量 -->
<view class="count" v-if="recordList.length > 0">
筛选结果:<text>{{totalRecords}} </text>条
</view>
<view class="content">
<view v-if="recordList.length == 0"
style="width: 100%;height: 100%;display: flex;align-items: center;background: #FFFFFF;">
@@ -48,13 +55,13 @@
</view>

<view class="right" v-if="item.recording!=0">
<view style="margin-right: 6rpx;color: red;">{{item.receptionStatusName || ''}}</view>
<view style="margin-right: 6rpx;color: red;">{{item.receptionStatusName.slice(0, 2) || ''}}</view>
<text style="margin-right: 6rpx;" v-if="item.receptionStatusName"> |</text>
<view v-if="methodsisshow">
<text style="margin-right: 6rpx;color: red;" v-if="item.taboo==1">违禁接待</text>
<text style="margin-right: 6rpx;color: red;" v-if="item.taboo==1">违禁</text>
<text style="margin-right: 6rpx;" v-if="item.taboo==1"> |</text>
</view>
<view style="margin-right: 6rpx;">{{item.validInvalidName||''}}</view>
<view style="margin-right: 6rpx;">{{item.validInvalidName.slice(0, 2)||''}}</view>
<text style="margin-right: 6rpx;" v-if="item.validInvalidName"> |</text>
<view v-if="item.markAdvisor==0" class="">未标记</view>
<view v-if="item.markAdvisor==1" class="">已标记</view>
@@ -101,8 +108,8 @@
所属顾问
</view>
<view class="screen-sel" @click="selectshow = true">
<u-input v-model="screen.counselorName" type="text" placeholder='请选择' class="screen-inp"
disabled />
<u-input v-model="screen.counselorName" input-align="right" type="text" placeholder='请选择'
class="screen-inp" disabled />
<image class="screen-sel-img" src="../../../static/images/right.png" mode=""></image>
</view>
</view>
@@ -176,31 +183,31 @@
<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 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 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 class="timeview" :style="{ color: activeTotal == 1 ? '#2B6EFF' : '#333333' }" @click="tabtimetap(1, '昨天')">
昨天</view>
<view class="timeview" :style="{ color: activeTotal == 2 ? '#2B6EFF' : '#333333' }" @click="tabtimetap(2)">
<view class="timeview" :style="{ color: activeTotal == 2 ? '#2B6EFF' : '#333333' }" @click="tabtimetap(2, '近7天')">
近7天</view>
<view class="timeview" :style="{ color: activeTotal == 3 ? '#2B6EFF' : '#333333' }" @click="tabtimetap(3)">
<view class="timeview" :style="{ color: activeTotal == 3 ? '#2B6EFF' : '#333333' }" @click="tabtimetap(3, '近30天')">
近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' : '#333333' }" @click="timetap(0)">全部
<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)">
<view class="timeview" :style="{ color: activeTotal2 == 1 ? '#2B6EFF' : '#333333' }" @click="timetap(1, '0~15min')">
0~15min</view>
<view class="timeview" :style="{ color: activeTotal2 == 2 ? '#2B6EFF' : '#333333' }" @click="timetap(2)">
<view class="timeview" :style="{ color: activeTotal2 == 2 ? '#2B6EFF' : '#333333' }" @click="timetap(2, '15~30min')">
15~30min</view>
<view class="timeview" :style="{ color: activeTotal2 == 3 ? '#2B6EFF' : '#333333' }" @click="timetap(3)">
<view class="timeview" :style="{ color: activeTotal2 == 3 ? '#2B6EFF' : '#333333' }" @click="timetap(3, '30~60min')">
30~60min</view>
<view class="timeview" :style="{ color: activeTotal2 == 4 ? '#2B6EFF' : '#333333' }" @click="timetap(4)">
<view class="timeview" :style="{ color: activeTotal2 == 4 ? '#2B6EFF' : '#333333' }" @click="timetap(4, '60~90min')">
60~90min</view>
<view class="timeview" :style="{ color: activeTotal2 == 5 ? '#2B6EFF' : '#333333' }" @click="timetap(5)">
<view class="timeview" :style="{ color: activeTotal2 == 5 ? '#2B6EFF' : '#333333' }" @click="timetap(5, '90min以上')">
90min以上</view>
</u-popup>
<u-select v-model="soltishow" :list="orderBylist" @confirm="selectCallback2"></u-select>
@@ -254,6 +261,7 @@
screenShow: false,
selectshow: false,
totalTimeShow: false,
totalRecords: '',
screen: {
agentId: '', //顾问id
record: '0',
@@ -276,6 +284,9 @@
orderBy: '',
methodsisshow: false,
userInfo: {},
startFilterTime: '接待时间', // s筛选状态展示
receptionDuration: '接待时长', // 筛选状态展示
sortText: '排序', //
}
},
onLoad(options) {
@@ -339,12 +350,14 @@
//选择标签
selectCallback2(e) {
this.orderBy = e[0].value;
this.sortText = e[0].label
this.nextPage = 1;
this.recordList = [];
this.getMyCustom();
},
//选择录音时长
timetap(index) {
timetap(index, text) {
if (text) this.receptionDuration = text
this.timetushow = false;
this.activeTotal2 = index;
this.nextPage = 1;
@@ -352,8 +365,11 @@
this.getMyCustom();
},
//时间选择
tabtimetap(index) {
tabtimetap(index, text) {
this.timeshow = false;
if(text) {
this.startFilterTime = text
}
if (index == 4) {
this.totalTimeShow = true;
} else {
@@ -483,6 +499,10 @@
var list = data.results || [];
this.recordList = [...this.recordList, ...list];
this.totalRecord = data.totalPage;
this.totalRecords = data.totalRecord;
if(this.staTime && this.endtime) {
this.startFilterTime = `${this.staTime}-${this.endtime}`
}
})
},
//获取顾问列表
@@ -592,12 +612,21 @@
align-items: center;

.tabbox {
flex: 1;
flex-shrink: 0;
flex-grow: 1;
height: 100%;
text-align: center;
line-height: 92rpx;
color: #666666;
font-size: 28rpx;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
/* 将对象作为弹性伸缩盒子模型显示 */
-webkit-line-clamp: 1;
/* 控制最多显示几行 */
-webkit-box-orient: vertical;
/* 设置或检索伸缩盒对象的子元素的排列方式 */
}
}

@@ -648,6 +677,19 @@
}
}
}
.count {
width: 100%;
height: 90rpx;
display: flex;
align-items: center;
justify-content: center;
background-color: #FBE4E4;
text {
color: #F71616;
}
}

.content {
.content-tips {
@@ -671,7 +713,7 @@
display: flex;
align-items: center;
overflow: hidden;

.adviser {
margin-right: 10rpx;
@@ -711,14 +753,14 @@

.right {
max-width: 50%;
overflow-x: scroll;
display: flex;
font-size: 30rpx;
view,text {

view,
text {
flex-shrink: 0;
}
.point {
flex-shrink: 0;
width: 12rpx;
@@ -843,6 +885,7 @@
margin-left: 60rpx;

.screen-sel-img {
flex-shrink: 0;
margin: 40rpx 0 36rpx 0;
width: 14rpx;
height: 30rpx;
@@ -850,6 +893,8 @@

.screen-inp {
margin-top: 20rpx;
padding: 0 20rpx;
flex-grow: 1;
}
}
}


+ 74
- 20
pages/index/consumer/index.vue Visa fil

@@ -14,18 +14,24 @@
<!-- 选择器 -->
<view class="boxtittab">
<view class="tabbox" @click="tapsoltishow">
排序<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon>
{{ sortFilter }}<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon>
</view>
<view class="tabbox" @click="taptimeisshow">
到访时间<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon>
{{ arriveFilter }}<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon>
</view>
<view class="tabbox" @click="taptimetuisshow">
接待时长<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon>
{{ receptionDuration }}<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon>
</view>
<view class="tabbox" @click="screenshow">
更多筛选<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon>
</view>
</view>
<!-- 筛选后的数量 -->
<view class="count" v-if="recordList.length > 0">
筛选结果:<text>{{totalRecords}} </text>条
</view>

<view class="content">
<view v-if="recordList.length==0" style="width: 100%;height: 100%;display: flex;align-items: center;">
@@ -59,7 +65,7 @@
</view>

<view class="content-sec-lab">
负责顾问:<view class="content-sec-lab1">{{item.agentName}}</view>
负责顾问:<view class="content-sec-lab1">{{item.agentName || ''}}</view>
</view>

<view class="content-sec-lab" style="line-height: 46rpx;">
@@ -99,7 +105,7 @@
所属顾问
</view>
<view class="screen-sel" @click="selectshow = true">
<u-input v-model="screen.agentIdtext" type="text" placeholder='请选择' class="screen-inp"
<u-input input-align="right" v-model="screen.agentIdtext" type="text" placeholder='请选择' class="screen-inp"
disabled />
<image class="screen-sel-img" src="../../../static/images/right.png" mode=""></image>
</view>
@@ -109,7 +115,7 @@
客户标签
</view>
<view class="screen-sel" @click="selectTipshow = true">
<u-input v-model="screen.cunsumerTips" type="text" placeholder='请选择' class="screen-inp"
<u-input v-model="screen.cunsumerTips" type="text" placeholder='请选择' input-align="right" class="screen-inp"
disabled />
<image class="screen-sel-img" src="../../../static/images/right.png" mode=""></image>
</view>
@@ -195,31 +201,31 @@
<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 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 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 class="timeview" :style="{ color: activeTotal == 1 ? '#2B6EFF' : '#333333' }" @click="tabtimetap(1, '昨天')">
昨天</view>
<view class="timeview" :style="{ color: activeTotal == 2 ? '#2B6EFF' : '#333333' }" @click="tabtimetap(2)">
<view class="timeview" :style="{ color: activeTotal == 2 ? '#2B6EFF' : '#333333' }" @click="tabtimetap(2, '近7天')">
近7天</view>
<view class="timeview" :style="{ color: activeTotal == 3 ? '#2B6EFF' : '#333333' }" @click="tabtimetap(3)">
<view class="timeview" :style="{ color: activeTotal == 3 ? '#2B6EFF' : '#333333' }" @click="tabtimetap(3, '近30天')">
近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' : '#333333' }" @click="timetap(0)">全部
<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)">
<view class="timeview" :style="{ color: activeTotal2 == 1 ? '#2B6EFF' : '#333333' }" @click="timetap(1, '0~15min')">
0~15min</view>
<view class="timeview" :style="{ color: activeTotal2 == 2 ? '#2B6EFF' : '#333333' }" @click="timetap(2)">
<view class="timeview" :style="{ color: activeTotal2 == 2 ? '#2B6EFF' : '#333333' }" @click="timetap(2, '15~30min')">
15~30min</view>
<view class="timeview" :style="{ color: activeTotal2 == 3 ? '#2B6EFF' : '#333333' }" @click="timetap(3)">
<view class="timeview" :style="{ color: activeTotal2 == 3 ? '#2B6EFF' : '#333333' }" @click="timetap(3, '30~60min')">
30~60min</view>
<view class="timeview" :style="{ color: activeTotal2 == 4 ? '#2B6EFF' : '#333333' }" @click="timetap(4)">
<view class="timeview" :style="{ color: activeTotal2 == 4 ? '#2B6EFF' : '#333333' }" @click="timetap(4, '60~90min')">
60~90min</view>
<view class="timeview" :style="{ color: activeTotal2 == 5 ? '#2B6EFF' : '#333333' }" @click="timetap(5)">
<view class="timeview" :style="{ color: activeTotal2 == 5 ? '#2B6EFF' : '#333333' }" @click="timetap(5, '90min以上')">
90min以上</view>
</u-popup>
@@ -242,6 +248,7 @@

<script>
import tabbarList from '@/utils/tabbar.js'
let _this
export default {
data() {
return {
@@ -300,6 +307,7 @@
recordList: [],
nextPage: 1,
totalRecord: '',
totalRecords:'', // 总条数
freeList: [],
userInfo: {},
findKeywordsList: [],
@@ -327,10 +335,19 @@
],
// 筛选文字展示
sortFilter: '排序',
arriveFilter: '到访时间',
receptionDuration: '接待时长',
}
},
onLoad(options) {
_this = this
this.isnorefresh = 'refresh';
this.userInfo = uni.getStorageSync("weapp_session_userInfo_data")
console.log(this.userInfo.showPhoneStatus)
},
onPullDownRefresh() {
@@ -398,6 +415,7 @@
},
//选择标签
selectCallback2(e) {
this.sortFilter = e.label;
this.orderBy = e.value;
this.nextPage = 1;
this.recordList = [];
@@ -405,7 +423,8 @@
this.getMyCustom();
},
//选择录音时长
timetap(index) {
timetap(index, text) {
if (text) this.receptionDuration = text
this.timetushow = false;
this.activeTotal2 = index;
this.nextPage = 1;
@@ -413,8 +432,9 @@
this.getMyCustom();
},
//时间选择
tabtimetap(index) {
tabtimetap(index, text) {
this.timeshow = false;
if (text) this.arriveFilter = text
if (index == 4) {
this.totalTimeShow = true;
} else {
@@ -433,6 +453,7 @@
this.activeTotal = 4;
this.nextPage = 1;
this.recordList = [];
this.getMyCustom();
},
recordclick(i) {
@@ -511,6 +532,10 @@
parames.query.levels = null
}
this.$u.post("/customer/customerManagement", parames).then(data => {
if(this.staTime && this.endtime) {
this.receptionDuration = `${this.staTime}-${this.endtime}`
}
var list = data.results || [];
console.log(list)
list.forEach(item => {
@@ -524,6 +549,7 @@
})
this.recordList = [...this.recordList, ...list];
this.totalRecord = data.totalPage;
this.totalRecords = data.totalRecord;
})
},
//获取顾问列表
@@ -631,7 +657,8 @@
// 加密手机
phoneText(mobile) {
if (!mobile) return '--'
return mobile.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2')
if (_this.userInfo.showPhoneStatus == 1) return mobile.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2')
else return mobile
},

// 格式化时间
@@ -684,6 +711,14 @@
line-height: 92rpx;
color: #666666;
font-size: 28rpx;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
/* 将对象作为弹性伸缩盒子模型显示 */
-webkit-line-clamp: 1;
/* 控制最多显示几行 */
-webkit-box-orient: vertical;
/* 设置或检索伸缩盒对象的子元素的排列方式 */
}
}
@@ -748,6 +783,22 @@
}
}
}
.count {
width: 100%;
height: 90rpx;
display: flex;
align-items: center;
justify-content: center;
background-color: #FBE4E4;
text {
color: #F71616;
}
}

.content {
.content-tips {
@@ -932,6 +983,7 @@
margin-left: 60rpx;

.screen-sel-img {
flex-shrink: 0;
margin: 40rpx 0 36rpx 0;
width: 14rpx;
height: 30rpx;
@@ -939,6 +991,8 @@

.screen-inp {
margin-top: 20rpx;
padding: 0 20rpx;
flex-grow: 1;
}
}
}


+ 14
- 7
pages/index/customer.vue Visa fil

@@ -80,7 +80,7 @@
<!-- 接待中 -->
<view class="">
<!-- 工牌标示 -->
<image class="you-img" src="../../static/images/cus1.png" mode=""></image>
<!-- <image class="you-img" src="../../static/images/cus1.png" mode=""></image> -->
</view>
<!-- 未离线 -->
<view class="" v-if="item.zkEquipmentState.onLine!=0" style="display: flex;">
@@ -117,14 +117,13 @@
<view class="left">
<view class="adviser">客</view>
<view class="cus">{{item.name || '--'}}</view>
<!-- <view class="arriveNum">第{{item.visitRecord || "--"}}次接待</view> -->
<view class="arriveNum">{{ item.phone ||'--' }}</view>
<view class="arriveNum">{{ item.phone || '--' }}</view>
</view>
</view>
<view class="content-last">
<view class="c-items">
<image src="../../static/images/people.png" class="c-items-img" mode=""></image>
{{ item.visitRecord || "--" }}次到访
{{ item.visitRecord || "0" }}次到访
</view>
<view class="c-items">
<image src="../../static/images/time.png" class="c-items-img" mode=""></image>
@@ -569,7 +568,7 @@
width: 90upx;
height: 90upx;
position: fixed;
bottom: 220upx;
bottom: 270upx;
right: 44upx;
}

@@ -577,20 +576,24 @@
width: 90upx;
height: 90upx;
position: fixed;
bottom: 100upx;
bottom: 150upx;
right: 44upx;
}

.content-sec {
padding: 28rpx 30rpx 32rpx;
width: 100%;
display: flex;
justify-content: space-between;

.left {
flex-shrink: 0;
width: 100%;
display: flex;
align-items: center;

.adviser {
flex-shrink: 0;
margin-right: 10rpx;
padding: 5rpx 11rpx;
border-radius: 50%;
@@ -604,10 +607,13 @@
font-size: 30rpx;
font-weight: 400;
color: #666666;
// line-height: 30rpx;
overflow: hidden;/*超出部分隐藏*/
text-overflow:ellipsis;/* 超出部分显示省略号 */
white-space: nowrap;/*规定段落中的文本不进行换行 */
}

.arriveNum {
flex-shrink: 0;
font-size: 30rpx;
font-weight: 400;
margin-left: 10rpx;
@@ -615,6 +621,7 @@
}

.right {
flex-shrink: 0;
font-size: 28rpx;
font-weight: 400;
color: #2671E2;


+ 1
- 1
pages/learning/Thefulltext/index2.vue Visa fil

@@ -762,7 +762,7 @@
uploadImage() {
const that = this;
var parames = {
targetId: that.id,
targetId: that.customerId,
commentType: 1
};
if (this.answerUserId) {


+ 14
- 12
pages/mine/details2.vue Visa fil

@@ -2482,18 +2482,6 @@
margin-left: 20rpx;
}

.scroll-Y .text.active .content {
color: #38FFF1;
position: relative;
}

.scroll-Y .text.active[data-speaker="2"] .content,
.scroll-Y .text.active[data-speaker="4"] .content,
.scroll-Y .text.active[data-speaker="6"] .content {
color: #FF7538;
position: relative;
}

.backTop {
width: 60upx;
height: 60upx;
@@ -2763,4 +2751,18 @@
padding: 20rpx;
border: 1rpx solid #E4F0FF;
}
.scroll-Y .text.active .content {
color: #38FFF1;
position: relative;
}
.scroll-Y .text.active[data-speaker="2"] .content,
.scroll-Y .text.active[data-speaker="4"] .content,
.scroll-Y .text.active[data-speaker="6"] .content {
color: #FF7538 !important;
position: relative;
}
</style>

+ 1
- 1
pages/mine/equipment/index.vue Visa fil

@@ -64,7 +64,7 @@
<text class="stayupload">{{ item.fileCount }}条</text>
</template>
<template v-else>
0
<text class="box2-you">0</text>
</template>
<!-- <view class="box2-you" v-if="item.audioUploadStatus=='false'">无上传</view>
<view class="box2-you" v-if="item.audioUploadStatus=='true'">上传中</view>


+ 1
- 1
pages/mine/reception/addreception.vue Visa fil

@@ -6,7 +6,7 @@
<view class="title">
<view class="titletext">客户姓名</view>
<view class="titletext2">
<input class="titletext-input" style="color: #333333;" v-model="parames.name"
<input maxlength="10" class="titletext-input" style="color: #333333;" v-model="parames.name"
placeholder-class="titletext-input" placeholder-style="color:#B2B2B2;" type="text"
placeholder="请输入客户姓名(必填)" />
</view>


+ 50
- 45
pages/mine/reception/consultant.vue Visa fil

@@ -36,8 +36,10 @@
<view class="save" @click="save" :class="{active:chosedAgentId}">
保存
</view>
<u-modal v-model="show" :mask-close-able="true" :title="'代接待提醒'" :confirm-text="confirmtext" :cancel-text='canceltext' @cancel="confirmA" @confirm="confirmB" :show-cancel-button='true' :content="content"></u-modal>

<u-modal v-model="show" :mask-close-able="true" :title="'代接待提醒'" :confirm-text="confirmtext"
:cancel-text='canceltext' @cancel="confirmA" @confirm="confirmB" :show-cancel-button='true'
:content="content"></u-modal>
</view>
</template>

@@ -51,39 +53,40 @@
current: null,
chosedAgentId: '',
textcdhSKJ: '',
show:false,
show: false,
content: '东临碣石,以观沧海',
confirmtext:'1',//确认文字
canceltext:'2',//取消文字
daitiReceptionobj:{},
replaceReception:0
confirmtext: '1', //确认文字
canceltext: '2', //取消文字
daitiReceptionobj: {},
replaceReception: 0
}
},
onLoad(option) {
this.customerId = option.id;
this.freeList = []
},
onShow() {
this.buildingID = uni.getStorageSync('buildingID').id;
this.getFreeList();
this.getFreeList();
},
methods: {
//取消
confirmA(){
if(this.daitiReceptionobj.assign!=null){
//取消
confirmA() {
if (this.daitiReceptionobj.assign != null) {
this.baochunfun()
} else {
uni.showToast({
icon: "none",
title: "【" + this.daitiReceptionobj.owner.name + "】正在接待中"
})
return;
}
},
// 确认
confirmB() {
this.replaceReception = 1;
this.baochunfun()
}else{
uni.showToast({
icon: "none",
title: "【"+this.daitiReceptionobj.owner.name+"】正在接待中"
})
return;
}
},
// 确认
confirmB(){
this.replaceReception=1;
this.baochunfun()
},
},
save() {
console.log(this.chosedAgentId)
if (!this.chosedAgentId) {
@@ -97,36 +100,38 @@
this.$u.post("customer/daitiReception", {
agentId: that.chosedAgentId,
id: that.customerId,
projectId:this.buildingID
projectId: this.buildingID
}).then(res => {
if(res.unchecked==0){
if (res.unchecked == 0) {
that.baochunfun()
}else{
if(res.zs==0){
} else {
if (res.zs == 0) {
that.baochunfun()
}else{
if(res.assign==null&&res.replacement==null){
} else {
if (res.assign == null && res.replacement == null) {
that.baochunfun()
}else{
if(res.assign==null){
that.daitiReceptionobj=res;
that.content="此客户的顾问为【"+ res.owner.name +"】,确认让【"+ res.replacement.name +"】代接待吗?"
that.confirmtext=res.replacement.name +"代接代",//确认文字
that.canceltext=res.owner.name +'接待',//取消文字
that.show=true;
}else{
that.daitiReceptionobj=res;
that.content="此客户的顾问为【"+ res.owner.name +"】,确认让【"+ res.replacement.name +"】代接待吗?"
that.confirmtext=res.replacement.name +"代接代",//确认文字
that.canceltext=res.assign.name +'接待',//取消文字
that.show=true;
} else {
if (res.assign == null) {
that.daitiReceptionobj = res;
that.content = "此客户的顾问为【" + res.owner.name + "】,确认让【" + res.replacement.name +
"】代接待吗?"
that.confirmtext = res.replacement.name + "代接代", //确认文字
that.canceltext = res.owner.name + '接待', //取消文字
that.show = true;
} else {
that.daitiReceptionobj = res;
that.content = "此客户的顾问为【" + res.owner.name + "】,确认让【" + res.replacement.name +
"】代接待吗?"
that.confirmtext = res.replacement.name + "代接代", //确认文字
that.canceltext = res.assign.name + '接待', //取消文字
that.show = true;
}
}
}
}
});
},
baochunfun(){
baochunfun() {
uni.showLoading({
title: "保存中",
mask: true
@@ -135,7 +140,7 @@
this.$u.post("customer/assign", {
agentId: that.chosedAgentId,
id: that.customerId,
replaceReception:this.replaceReception
replaceReception: this.replaceReception
}).then(res => {
uni.showToast({
icon: "none",


Laddar…
Avbryt
Spara