@@ -81,6 +81,8 @@ var config = { | |||
notReadNum: `${host}/zkMessage/findFlagCount`, | |||
//设备日志 | |||
eqLog: `${host}/equipment/equipmentLog`, | |||
//添加挖掘词 | |||
addWordMining: `${host}/corpus/addWordMining`, | |||
} | |||
}; | |||
module.exports = config; |
@@ -99,11 +99,7 @@ | |||
"minified" : true | |||
}, | |||
"usingComponents" : true, | |||
"permission" : { | |||
"scope.userLocation" : { | |||
"desc" : "获取地址信息" | |||
} | |||
}, | |||
"permission" : {}, | |||
"requiredBackgroundModes" : [ "audio" ], | |||
"plugins" : { | |||
"WechatSI" : { | |||
@@ -2,7 +2,6 @@ | |||
"easycom": { | |||
"^u-(.*)": "@/uview-ui/components/u-$1/u-$1.vue" | |||
}, | |||
//这个pages里只放这五个页面,新增页面时请对应的放到下面的分包里 | |||
"pages": [ | |||
{ | |||
"path": "pages/index/guide", | |||
@@ -45,7 +44,6 @@ | |||
} | |||
} | |||
], | |||
//这下面是分包 | |||
"subPackages": [{ | |||
"root": "pages/login", //登录相关 | |||
"name": "login", | |||
@@ -216,7 +214,6 @@ | |||
"navigationBarBackgroundColor": "#ffffff", | |||
"navigationBarTextStyle": "black" | |||
} | |||
}, { | |||
"path": "selectBuilding", | |||
"style": { | |||
@@ -224,7 +221,6 @@ | |||
"navigationBarBackgroundColor": "#FFFFFF", | |||
"navigationBarTextStyle": "black" | |||
} | |||
}, { | |||
"path": "registerCode", | |||
"style": { | |||
@@ -240,7 +236,6 @@ | |||
"navigationBarBackgroundColor": "#2671E2", | |||
"navigationBarTextStyle": "white" | |||
} | |||
}, | |||
{ | |||
"path": "registerResult", | |||
@@ -249,7 +244,6 @@ | |||
"navigationBarBackgroundColor": "#2671E2", | |||
"navigationBarTextStyle": "white" | |||
} | |||
}, { | |||
"path": "messageDetail", | |||
"style": { | |||
@@ -264,7 +258,6 @@ | |||
"navigationBarBackgroundColor": "#fff", | |||
"navigationBarTextStyle": "black" | |||
} | |||
}, { | |||
"path": "equipmentLog", | |||
"style": { | |||
@@ -273,7 +266,6 @@ | |||
"navigationBarTextStyle": "transparent", | |||
"navigationStyle": "custom" | |||
} | |||
} | |||
] | |||
}, | |||
@@ -342,7 +334,7 @@ | |||
] | |||
}, | |||
{ | |||
"root": "pages/reportExcel", //中心逻辑的模块都放到这里 | |||
"root": "pages/reportExcel", | |||
"name": "reportExcel", | |||
"pages": [{ | |||
"path": "weekReport", | |||
@@ -362,7 +354,7 @@ | |||
] | |||
}, | |||
{ | |||
"root": "pages/center", //中心逻辑的模块都放到这里 | |||
"root": "pages/center", | |||
"name": "center", | |||
"pages": [{ | |||
"path": "Piabodata/index", | |||
@@ -477,7 +469,6 @@ | |||
"enablePullDownRefresh": true | |||
} | |||
}, | |||
{ | |||
"path": "records/index", | |||
"style": { | |||
@@ -563,9 +554,7 @@ | |||
} | |||
} | |||
] | |||
} | |||
], | |||
}], | |||
"permission": { | |||
"scope.userLocation": { | |||
"desc": "你的位置信息将用于小程序位置接口的效果展示" | |||
@@ -203,8 +203,8 @@ | |||
</view> | |||
<!--平均需求挖掘率排名(TOP10) --> | |||
<view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view> | |||
<view class="single"> | |||
<view style="width: 100%;height: 20rpx;background: #FAFAFA;" v-if="wajue"></view> | |||
<view class="single" v-if="wajue"> | |||
<view class="title"> | |||
<view class="title1" style="flex: 1;">平均需求挖掘率排名(TOP10)</view> | |||
</view> | |||
@@ -247,6 +247,7 @@ | |||
export default { | |||
data() { | |||
return { | |||
wajue: false, | |||
activeTotal: 4, | |||
totalTimeShow: false, | |||
// 项目id | |||
@@ -76,17 +76,11 @@ | |||
canvasId="wangxiaouaerlingeryilingwuyibhh" :canvas2d="true" /> | |||
</view> | |||
</view> | |||
<view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view> | |||
<view class="single"> | |||
<view style="width: 100%;height: 20rpx;background: #FAFAFA;" v-if="wajue"></view> | |||
<view class="single" v-if="wajue"> | |||
<view class="title"> | |||
<view class="title1" style="flex: 1;">平均需求挖掘率趋势</view> | |||
<view class="title3" style="flex: 1;"> | |||
<!-- <view class="title3-box" style="width: 40%;" @click="tabtimetap1(0)"> | |||
<view style="height: 42rpx;" :class="{ activecltab: activeTotal2 == 0 }">有效录音</view> | |||
</view> | |||
<view class="title3-box" style="width: 40%;"@click="tabtimetap1(1)"> | |||
<view style="height: 42rpx;" :class="{ activecltab: activeTotal2 == 1 }">录音时长</view> | |||
</view> --> | |||
</view> | |||
</view> | |||
<view class="hejibox"> | |||
@@ -156,6 +150,7 @@ | |||
}, | |||
data() { | |||
return { | |||
wajue: false, | |||
timepickpickisshow: true, | |||
totalTimeShow: false, | |||
activeTotal: 4, | |||
@@ -1,7 +1,7 @@ | |||
<template> | |||
<view> | |||
<!-- 选择器 --> | |||
<view class="boxtittab"> | |||
<!-- <view class="boxtittab"> | |||
<view class="tabbox" @click="timeshow = true"> | |||
{{ time }} | |||
<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon> | |||
@@ -17,8 +17,8 @@ | |||
<view class="tabbox" @click="huashuShow = true"> | |||
{{huashu}}<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon> | |||
</view> | |||
</view> | |||
<!--<view class="timetabct"> | |||
</view> --> | |||
<view class="timetabct"> | |||
<view class="timetabctview"> | |||
<view :class="{ activecllasscet: activeTotal == 0 }" @click="tabtimetap(0)">7天</view> | |||
</view> | |||
@@ -28,7 +28,7 @@ | |||
<view class="timetabctview"> | |||
<view :class="{ activecllasscet: activeTotal == 2 }" @click="tabtimetap(2)">30天</view> | |||
</view> | |||
</view> --> | |||
</view> | |||
<view class="timepick"> | |||
<view class="timepicktime"> | |||
@@ -92,7 +92,7 @@ | |||
</view> | |||
<view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view> | |||
<view class="boxtittab" style="border: none;height: 82rpx;"> | |||
<!-- <view class="tabbox"> | |||
<view class="tabbox"> | |||
<view :class="{ activecllasscet2: newactiveTotal == 0 }" @click="tabxuanxiangtap(0)">项目</view> | |||
</view> | |||
<view class="tabbox"> | |||
@@ -100,8 +100,8 @@ | |||
</view> | |||
<view class="tabbox"> | |||
<view :class="{ activecllasscet2: newactiveTotal == 2 }" @click="tabxuanxiangtap(2)">团队</view> | |||
</view> --> | |||
<view class="tabbox"> | |||
</view> | |||
<!-- <view class="tabbox"> | |||
<view :class="{ activecllasscet2: newactiveTotal == 0 }" @click="tabxuanxiangtap(0)">平均执行率</view> | |||
</view> | |||
<view class="tabbox"> | |||
@@ -109,7 +109,7 @@ | |||
</view> | |||
<view class="tabbox"> | |||
<view :class="{ activecllasscet2: newactiveTotal == 2 }" @click="tabxuanxiangtap(2)">挖掘场景</view> | |||
</view> | |||
</view> --> | |||
<view class="tabbox"> | |||
<view :class="{ activecllasscet2: newactiveTotal == 3 }" @click="tabxuanxiangtap(3)">销讲一级</view> | |||
</view> | |||
@@ -321,12 +321,12 @@ | |||
num1: '0', | |||
num2: '0' | |||
}, | |||
{ | |||
name: '有效接待', | |||
num: '10', | |||
num1: '0', | |||
num2: '0' | |||
}, | |||
// { // 不需要用 | |||
// name: '有效接待', | |||
// num: '10', | |||
// num1: '0', | |||
// num2: '0' | |||
// }, | |||
], | |||
activeTotal: 0, //时间下标 | |||
newactiveTotal: 0, //tab下标 | |||
@@ -14,10 +14,6 @@ | |||
{{ guwen}} | |||
<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon> | |||
</view> | |||
<view class="tabbox" @click="huashushow=true"> | |||
{{ huashu}} | |||
<u-icon name="arrow-down" size="24" style="padding-left: 12rpx;"></u-icon> | |||
</view> | |||
</view> | |||
<view style="width: 100%;height: 20rpx;background: #FAFAFA;"></view> | |||
<view class="boxzonglan" style="min-height: 400rpx;"> | |||
@@ -44,7 +40,7 @@ | |||
<view><text class="bold">平均需求挖掘率:</text>筛选时间内,有效接待中已标记顾问的需求挖掘执行率的平均值;</view> | |||
<view><text class="bold">未标记:</text>筛选时间内,有效接待中未标记顾问的接待数;</view> | |||
<view><text class="bold">有效接待:</text>筛选时间内,标记为有效的接待数,不包含待接单;</view> | |||
<view><text class="bold">未挖掘需求数:</text>筛选时间内,需求挖掘平均执行率未0 的需求数;</view> | |||
<view><text class="bold">未挖掘需求数:</text>筛选时间内,需求挖掘平均执行率为0的需求数;</view> | |||
</view> | |||
</view> | |||
<view class="close" @click="showDesc=false">X</view> | |||
@@ -101,8 +97,8 @@ | |||
</view> | |||
</view> | |||
<u-popup v-model="timeshow" mode="bottom"> | |||
<view class="timeview" :style="{ color: activeTotal == 4 ? '#2B6EFF' : '#333333' }" | |||
@click="tabtimetap(4, '近7天')"> | |||
<view class="timeview" :style="{ color: activeTotal == 2 ? '#2B6EFF' : '#333333' }" | |||
@click="tabtimetap(2, '近7天')"> | |||
近7天</view> | |||
<view class="timeview" :style="{ color: activeTotal == 5 ? '#2B6EFF' : '#333333' }" | |||
@click="tabtimetap(5, '近15天')"> | |||
@@ -110,7 +106,8 @@ | |||
<view class="timeview" :style="{ color: activeTotal == 6 ? '#2B6EFF' : '#333333' }" | |||
@click="tabtimetap(6, '近30天')"> | |||
近30天</view> | |||
<view class="timeview" :style="{ color: activeTotal == 3 ? '#2B6EFF' : '#333333' }" @click="tabtimetap(3,'自定义')"> | |||
<view class="timeview" :style="{ color: activeTotal == 4 ? '#2B6EFF' : '#333333' }" | |||
@click="tabtimetap(4,'自定义')"> | |||
自定义</view> | |||
</u-popup> | |||
<u-calendar v-model="calendarShow" mode="range" @change="calendarTimeChange"></u-calendar> | |||
@@ -118,8 +115,6 @@ | |||
:default-value='selindex'></u-select> | |||
<u-select v-model="deptshow" :list="teamList" @confirm="deptCallback" | |||
:default-value='selindex'></u-select> | |||
<u-select v-model="hushushow" :list="hushuList" @confirm="huashuCallback" | |||
:default-value='selindex'></u-select> | |||
<!-- 加载组件 --> | |||
<loading v-model="LOADING"></loading> | |||
</view> | |||
@@ -136,7 +131,6 @@ | |||
data() { | |||
return { | |||
selindex: '', | |||
huashushow: false, | |||
guwenshow: false, | |||
timeshow: false, | |||
selectshow: false, | |||
@@ -145,7 +139,7 @@ | |||
huashuVal: '', | |||
guwenVal: '', | |||
// 筛选文字展示 | |||
time: '近7天', | |||
time: '接待时间', | |||
dept: '部门', | |||
guwen: '顾问', | |||
huashu: '业务话术', | |||
@@ -157,7 +151,7 @@ | |||
opts: { | |||
rotate: false, | |||
rotateLock: false, | |||
color: ["#1890FF","#91CB74","#FAC858","#EE6666"], | |||
color: ['#F8A12B','#07B79D','#E7483C','#2671E1'], | |||
padding: [5,5,5,5], | |||
dataLabel: true, | |||
legend: { | |||
@@ -188,9 +182,9 @@ | |||
} | |||
} | |||
}, | |||
activeTotal: 4, | |||
activeTotal: 2, | |||
houseId: '', | |||
hushuList: [],// 业务话术 | |||
// hushuList: [],// 业务话术 | |||
staffList: [],// 员工列表 | |||
teamList: [],// 团队列表 | |||
team: { | |||
@@ -279,13 +273,21 @@ | |||
}, | |||
// 需求挖掘排行 | |||
getwordMiningRank(){ | |||
let dateType = 0; | |||
if (this.activeTotal == 4) {// 选择全部和自定义 | |||
dateType = null; | |||
}else { | |||
dateType = this.activeTotal; | |||
this.startDate = '' | |||
this.endDate = '' | |||
} | |||
this.$u.post('/cusLvStatistics/wordMiningRank', { | |||
"houseId": this.houseId, | |||
"deptId": this.deptVal, | |||
"createUser": this.guwenVal, | |||
"dateType":this.activeTotal, | |||
"firstStartDate":!this.activeTotal?this.startDate:'', | |||
"firstEndDate":!this.activeTotal?this.endDate:'' | |||
"dateType":dateType, | |||
"firstStartDate":this.startDate, | |||
"firstEndDate":this.endDate | |||
}) | |||
.then(res => { | |||
// console.log(res) | |||
@@ -305,13 +307,21 @@ | |||
}, | |||
// 需求挖掘分布图 | |||
getRingData(){ | |||
let dateType = 0; | |||
if (this.activeTotal == 4) {// 选择自定义 | |||
dateType = null; | |||
}else { | |||
dateType = this.activeTotal; | |||
this.startDate = '' | |||
this.endDate = '' | |||
} | |||
this.$u.post('/cusLvStatistics/wordMiningAnalyzeFenbu', { | |||
"houseId": this.houseId, | |||
"deptId": this.deptVal, | |||
"createUser": this.guwenVal, | |||
"firstStartDate":!this.activeTotal?this.startDate:'', | |||
"firstEndDate":!this.activeTotal?this.endDate:'', | |||
"dateType":this.activeTotal | |||
"dateType":dateType, | |||
"firstStartDate":this.startDate, | |||
"firstEndDate":this.endDate | |||
}) | |||
.then(res => { | |||
// console.log(res) | |||
@@ -327,21 +337,29 @@ | |||
]} | |||
}) | |||
}, | |||
Toview(){ | |||
//跳转到接待记录 | |||
Toview(){ | |||
uni.navigateTo({ | |||
url: '/pages/center/records/index?refresh=refresh' | |||
url: '/pages/center/records/index?refresh=refresh&activeTotal='+this.activeTotal+'&staTime='+ this.startDate + '&endTime'+this.endDate+'&validInvalid=0' | |||
}); | |||
}, | |||
// 需求挖掘分析-简报 | |||
wordMiningAnalyze() { | |||
let dateType = 0; | |||
if (this.activeTotal == 4) {// 选择全部和自定义 | |||
dateType = null; | |||
}else { | |||
dateType = this.activeTotal; | |||
this.startDate = '' | |||
this.endDate = '' | |||
} | |||
let params = { | |||
"houseId":this.houseId, | |||
"deptId": this.deptVal, | |||
"userId": this.guwenVal, | |||
"dateType": this.activeTotal, | |||
"firstStartDate":!this.activeTotal?this.startDate:'', | |||
"firstEndDate":!this.activeTotal?this.endDate:'' | |||
"houseId": this.houseId, | |||
"deptId": this.deptVal, | |||
"createUser": this.guwenVal, | |||
"dateType":dateType, | |||
"firstStartDate":this.startDate, | |||
"firstEndDate":this.endDate | |||
} | |||
this.$u.post("/cusLvStatistics/wordMiningAnalyze",params).then(res => { | |||
// console.log(res.contrast) | |||
@@ -381,13 +399,21 @@ | |||
let categories1 = [] | |||
let categories2 = [] | |||
let categories3 = [] | |||
let dateType = 0; | |||
if (this.activeTotal == 4) {// 选择全部和自定义 | |||
dateType = null; | |||
}else { | |||
dateType = this.activeTotal; | |||
this.startDate = '' | |||
this.endDate = '' | |||
} | |||
this.$u.post('/cusLvStatistics/wordMiningAnalyzePercentage', { | |||
"houseId": this.houseId, | |||
"deptId": this.deptVal, | |||
"createUser": this.guwenVal, | |||
"dateType": this.activeTotal, | |||
"firstStartDate":!this.activeTotal?this.startDate:'', | |||
"firstEndDate":!this.activeTotal?this.endDate:'' | |||
"dateType":dateType, | |||
"firstStartDate":this.startDate, | |||
"firstEndDate":this.endDate | |||
}) | |||
.then(res => { | |||
if(res.first&&res.first.length){ | |||
@@ -435,16 +461,15 @@ | |||
}, | |||
//时间切换 | |||
tabtimetap(index, text) { | |||
if (index == 3) { | |||
if (index == 4) { | |||
this.calendarShow = true; | |||
this.activeTotal = null | |||
} else { | |||
this.activeTotal = index; | |||
this.endDate = '' | |||
this.startDate = '' | |||
this.time = text | |||
this.getdata() | |||
} | |||
this.activeTotal = index; | |||
this.timeshow = false | |||
}, | |||
// 顾问选择 | |||
@@ -470,8 +495,6 @@ | |||
}, | |||
//自定义时间 | |||
calendarTimeChange(e) { | |||
// console.log(e.startDate, e.endDate) | |||
this.activeTotal = null; | |||
this.endDate = e.endDate | |||
this.startDate = e.startDate | |||
this.time = '自定义' | |||
@@ -28,7 +28,7 @@ | |||
手机号码:{{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: '--'}} | |||
</view> | |||
<view class="content-sec-lab1" style="width: 44%" | |||
>到访次数:{{ customerInfo.visitRecord || "--" }}次/{{ | |||
>到访次数:{{ customerInfo.visitRecord || 0 }}次/{{ | |||
customerInfo.mm || 0 | |||
}}min</view | |||
> | |||
@@ -39,8 +39,7 @@ | |||
> | |||
<view class="content-sec-lab1" @click.stop="tipupon" style="width: 44%" | |||
>画像标签:<text class="look">{{ | |||
customerInfo.demand.cusSemanticWordsList.length || 0 | |||
}}</text><text class="look1" >查看</text></view | |||
customerInfo.demand.cusSemanticWordsList?customerInfo.demand.cusSemanticWordsList.length:0}}</text><text class="look1" >查看</text></view | |||
> | |||
</view> | |||
<view class="content-sec-lab"> | |||
@@ -48,7 +47,7 @@ | |||
>所属顾问:{{ customerInfo.agentName || "--" }}</view | |||
> | |||
<view class="content-sec-lab1" style="width: 44%" | |||
>客户阶段:{{ customerInfo.agentName || "--" }}</view | |||
>客户阶段:{{ customerInfo.stageName || "--" }}</view | |||
> | |||
</view> | |||
<view class="content-sec-lab"> | |||
@@ -56,15 +55,6 @@ | |||
>上次到访:{{ customerInfo.createTime || "--" }}</view | |||
> | |||
</view> | |||
<!-- <view class="content-sec-lab" @click.stop="tipupon"> | |||
客户标签: | |||
<text v-if="!customerInfo.demand.cusSemanticWordsList">暂无</text> | |||
<view v-else class="content-sec-tips" | |||
v-for="(che,ind) in customerInfo.demand.cusSemanticWordsList" :key='ind'>{{che.name}}</view> | |||
<view class="conmsg-msg-lab-img" v-if="customerInfo.demand.cusSemanticWordsList.length>0"> | |||
<image class="screen-sel-img" src="../../../static/images/right.png" mode=""></image> | |||
</view> | |||
</view> --> | |||
</view> | |||
<view class="content-last"> | |||
<view class="content-last-con"> | |||
@@ -83,7 +73,10 @@ | |||
<view :class="{ activecllasscet: activeTotal == 1 }" @click="tabtimetap(1)">跟进记录</view> | |||
</view> | |||
<view class="tabbox"> | |||
<view :class="{ activecllasscet: activeTotal == 2 }" @click="tabtimetap(2)">执行率</view> | |||
<view :class="{ activecllasscet: activeTotal == 2 }" @click="tabtimetap(2)">销讲执行率</view> | |||
</view> | |||
<view class="tabbox"> | |||
<view :class="{ activecllasscet: activeTotal == 3 }" @click="tabtimetap(3)">挖掘执行率</view> | |||
</view> | |||
</view> | |||
@@ -120,13 +113,13 @@ | |||
<view class="content-sec"> | |||
<view class="left"> | |||
<view class="cus" style="line-height: 46rpx;">客户:{{item.name || ''}} |</view> | |||
<view style="line-height: 46rpx;" class="arriveNum">{{item.visitRecord || '--'}}次到访</view> | |||
<view class="cus" style="line-height: 46rpx;">客户:{{item.name || '--'}} |</view> | |||
<view style="line-height: 46rpx;" class="arriveNum">{{item.visitRecord || '0'}}次到访</view> | |||
</view> | |||
<view class="right">{{item.fraction || '0'}}%</view> | |||
</view> | |||
<view class="content-last">{{item.createTime}} | {{item.mm || '--'}}min</view> | |||
<view class="content-last">{{item.createTime}} | {{item.mm || 0}}min</view> | |||
</view> | |||
</view> | |||
@@ -159,39 +152,13 @@ | |||
</view> | |||
</view> | |||
<!-- 评分 --> | |||
<!-- 销讲执行率 --> | |||
<view class="ratecenter" v-if="activeTotal==2"> | |||
<view class="my-tab"> | |||
<view class="tab-item" :class="tabactive==0?'tabactive':''" @click="tabactive=0">销讲执行率</view> | |||
<view class="tab-item" :class="tabactive==1?'tabactive':''" @click="tabactive=1">需求挖掘执行率</view> | |||
</view> | |||
<view class="xiaojiang" v-if="tabactive==0"> | |||
<view class="ratetetle">执行总览</view> | |||
<view class="rateyuanbox"> | |||
<view class="rateyuanboxzuo"> | |||
<view class="boxzuoview cccccc">{{customerInfo.visitRecord || '--'}}次</view> | |||
<view style="color: #333333;font-size: 28rpx;font-weight: 400;text-align: center;">接待次数</view> | |||
</view> | |||
<view class="rateyuanboxyou"> | |||
<view class="boxzuoview" style="width: 100%;display: flex;justify-content: center;"> | |||
<u-circle-progress active-color="#4FC78F" width='139' :percent="customerInfo.fraction"> | |||
<view style="text-align: center;color: #4FC78F;">{{customerInfo.fraction}}%</view> | |||
</u-circle-progress> | |||
</view> | |||
<view style="color: #333333;font-size: 28rpx;font-weight: 400;text-align: center;">销讲执行率</view> | |||
</view> | |||
<view class="rateyuanboxzuo"> | |||
<view class="boxzuoview cccccc">{{customerInfo.mm}}min</view> | |||
<view style="color: #333333;font-size: 28rpx;font-weight: 400;text-align: center;">接待时长</view> | |||
</view> | |||
</view> | |||
<view | |||
style="width: 100%;height: 80rpx;border-bottom: 1rpx solid #E0E0E0;display: flex;align-items: center;"> | |||
<view style="width: 100%;height: 80rpx;border-bottom: 1rpx solid #E0E0E0;display: flex;align-items: center;"> | |||
<view style="flex: 1;font-size: 28rpx;color: #333333;font-weight: 600;text-indent: 20rpx;">指标</view> | |||
<view style="flex: 1;font-size: 28rpx;color: #333333;font-weight: 600;text-indent: 170rpx;">执行率 | |||
</view> | |||
</view> | |||
</view> | |||
<view v-if="ratelist.length==0" style="width: 100%;height: 100%;display: flex;align-items: center;"> | |||
<view style="width: 100%;padding-top: 60rpx;"> | |||
<view style="width: 100%;text-align: center;"> | |||
@@ -243,29 +210,10 @@ | |||
<view v-if="subitem.show" style="width: 100%;height: 30rpx;"></view> | |||
</view> | |||
</view> | |||
</view> | |||
<view class="xuqiu" v-if="tabactive==1"> | |||
<view class="ratetetle">执行总览</view> | |||
<view class="rateyuanbox"> | |||
<view class="rateyuanboxzuo"> | |||
<view class="boxzuoview cccccc">{{customerInfo.visitRecord || '--'}}次</view> | |||
<view style="color: #333333;font-size: 28rpx;font-weight: 400;text-align: center;">到访次数</view> | |||
</view> | |||
<view class="rateyuanboxyou"> | |||
<view class="boxzuoview" style="width: 100%;display: flex;justify-content: center;"> | |||
<u-circle-progress active-color="#4FC78F" width='139' :percent="customerInfo.wordFraction||0"> | |||
<view style="text-align: center;color: #4FC78F;">{{customerInfo.wordFraction||0}}%</view> | |||
</u-circle-progress> | |||
</view> | |||
<view style="color: #333333;font-size: 28rpx;font-weight: 400;text-align: center;">需求挖掘执行率</view> | |||
</view> | |||
<view class="rateyuanboxzuo"> | |||
<view class="boxzuoview cccccc">{{customerInfo.mm}}min</view> | |||
<view style="color: #333333;font-size: 28rpx;font-weight: 400;text-align: center;">接待时长</view> | |||
</view> | |||
</view> | |||
<view | |||
style="width: 100%;height: 80rpx;border-bottom: 1rpx solid #E0E0E0;display: flex;align-items: center;"> | |||
</view> | |||
<!-- 需求挖掘执行率 --> | |||
<view class="xuqiu" v-if="activeTotal==3"> | |||
<view style="width: 100%;height: 80rpx;border-bottom: 1rpx solid #E0E0E0;display: flex;align-items: center;background: #fff;"> | |||
<view style="flex: 1;font-size: 28rpx;color: #333333;font-weight: 600;text-indent: 20rpx;">指标</view> | |||
<view style="flex: 1;font-size: 28rpx;color: #333333;font-weight: 600;text-indent: 170rpx;">执行率 | |||
</view> | |||
@@ -280,7 +228,7 @@ | |||
<view style="text-align: center;width: 100%;margin-top: 20rpx;color: #999999;">暂无数据</view> | |||
</view> | |||
</view> | |||
<!-- 挖掘执行话术展示 --> | |||
<!-- 挖掘执行话术展示 --> | |||
<view class="Level-box" v-else v-for="(item,index) in KeyWordsfractionList" :key="index"> | |||
<view class="Level1che" @click="changeshowlevel1(item,1)"> | |||
<view class="title1">{{item.name}}</view> | |||
@@ -343,7 +291,6 @@ | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
</view> | |||
@@ -356,7 +303,7 @@ | |||
<u-popup v-model="tipshow" mode="center" mask-close-able width="560rpx" border-radius="14"> | |||
<scroll-view scroll-y="true" style="height: 440rpx;"> | |||
<view style="display: flex; flex-wrap: wrap; padding:20rpx;"> | |||
<view class="upon-sec-tips" v-for="(item,index) in customerInfo.demand.cusSemanticWords" | |||
<view class="upon-sec-tips" v-for="(item,index) in customerInfo.demand.cusSemanticWordsList" | |||
:key="index"> | |||
{{item.name}} | |||
</view> | |||
@@ -471,7 +418,7 @@ | |||
che.name = che.name + che.unit + '-' + che.endName + che.unit; | |||
} | |||
}) | |||
res.demand.cusSemanticWordsList = res.demand.cusSemanticWordsList.slice(0, 3) | |||
// res.demand.cusSemanticWordsList = res.demand.cusSemanticWordsList.slice(0, 3) | |||
} | |||
// console.log(res.demand.cusSemanticWords,'关键字') | |||
@@ -1189,11 +1136,10 @@ | |||
.content-last { | |||
padding: 30rpx; | |||
height: 168rpx; | |||
.content-last-con { | |||
width: 690rpx; | |||
height: 108rpx; | |||
min-height: 108rpx; | |||
background: #F8F8F8; | |||
border-radius: 8rpx; | |||
padding: 14rpx 20rpx; | |||
@@ -1208,7 +1154,6 @@ | |||
} | |||
.tabchange { | |||
// background: #FFFFFF; | |||
overflow: hidden; | |||
.tabactive1 { | |||
@@ -111,7 +111,7 @@ | |||
>手机号码:{{ item.phone || "--" }}</view | |||
> | |||
<view class="content-sec-lab1" style="width: 44%" | |||
>到访次数:{{ item.visitRecord || "--" }}次/{{ | |||
>到访次数:{{ item.visitRecord || 0 }}次/{{ | |||
item.mm || 0 | |||
}}min</view | |||
> | |||
@@ -126,18 +126,12 @@ | |||
}}</text></view | |||
> | |||
</view> | |||
<!-- <view class="content-sec-lab" style="line-height: 46rpx;"> | |||
客户标签: | |||
<text v-if="item.demand.cusSemanticWordsList==null">暂无</text> | |||
<view v-else class="content-sec-tips" v-for="(che,ind) in item.demand.cusSemanticWordsList" | |||
:key='ind'>{{che.name}}</view> | |||
</view> --> | |||
<view class="content-sec-lab"> | |||
<view class="content-sec-lab1" | |||
>所属顾问:{{ item.agentName || "--" }}</view | |||
> | |||
<view class="content-sec-lab1" style="width: 44%" | |||
>客户阶段:{{ item.agentName || "--" }}</view | |||
>客户阶段:{{ item.stageName || "--" }}</view | |||
> | |||
</view> | |||
<view class="content-sec-lab"> | |||
@@ -310,7 +304,7 @@ | |||
/> | |||
</view> | |||
<view class="screen-record-tab" v-if="jieduanArrow"> | |||
<block v-for="(item, index) in stageList" :key="index"> | |||
<block v-for="(item, index) in phaseList" :key="index"> | |||
<view | |||
class="screen-record-item" | |||
:class="[ | |||
@@ -432,11 +426,11 @@ | |||
@confirm="actionSelectCallback" | |||
></u-select> | |||
<!-- 客户阶段 --> | |||
<u-select | |||
<!-- <u-select | |||
v-model="selectPhaseShow" | |||
:list="phaseList" | |||
@confirm="selectPhase" | |||
></u-select> | |||
></u-select> --> | |||
<u-calendar | |||
v-model="totalTimeShow" | |||
mode="range" | |||
@@ -549,15 +543,15 @@ export default { | |||
data() { | |||
return { | |||
huaxiangShow: false, | |||
wajueArrow: false, | |||
jieduanArrow: false, | |||
sourceArrow: false, | |||
levelArrow: false, | |||
wajueArrow: true, | |||
jieduanArrow: true, | |||
sourceArrow: true, | |||
levelArrow: true, | |||
zixunArrow: true, | |||
jiedaiArrow: false, | |||
luyinArrow: false, | |||
visitArrow: false, | |||
xiaojiangArrow: false, | |||
jiedaiArrow: true, | |||
luyinArrow: true, | |||
visitArrow: true, | |||
xiaojiangArrow: true, | |||
huaxiangList: [], | |||
orderBylist: [ | |||
{ | |||
@@ -713,33 +707,6 @@ export default { | |||
validInvalid: null,// 录音标识 | |||
clientStage: [],// 客户阶段 clientStage | |||
}, | |||
stageList: [ | |||
{ | |||
label: "未知", | |||
value: 1, | |||
isShow: false, | |||
}, | |||
{ | |||
label: "到访", | |||
value: 2, | |||
isShow: false, | |||
}, | |||
{ | |||
label: "意向", | |||
value: 3, | |||
isShow: false, | |||
}, | |||
{ | |||
label: "定金", | |||
value: 4, | |||
isShow: false, | |||
}, | |||
{ | |||
label: "成交", | |||
value: 5, | |||
isShow: false, | |||
}, | |||
],//客户阶段 | |||
recordList: [], | |||
nextPage: 1, | |||
totalRecord: "", | |||
@@ -809,6 +776,8 @@ export default { | |||
this.isnorefresh = options.refresh; | |||
}, | |||
onShow() { | |||
// dataCode: 身份标识 2:项目总、3:客服、4:策划、5:经理、6:置业顾问 | |||
this.userInfo = uni.getStorageSync('weapp_session_userInfo_data'); | |||
if (this.isnorefresh == "refresh") { | |||
this.buildingID = uni.getStorageSync("buildingID").id; | |||
this.nextPage = 1; | |||
@@ -855,13 +824,16 @@ export default { | |||
.then((res) => { | |||
console.log(res) | |||
if(res.length){ | |||
res.forEach((item) => { | |||
item.label = item.sourceName | |||
item.value = item.id | |||
item.isShow = false | |||
this.sourceList = res.map((item) => { | |||
return { | |||
label: item.sourceName, | |||
value: item.id, | |||
isShow: false | |||
} | |||
}) | |||
}else{ | |||
this.sourceList = [] | |||
} | |||
this.sourceList = res | |||
}) | |||
}, | |||
// 过滤 | |||
@@ -869,7 +841,7 @@ export default { | |||
this.sortFilter = "排序"; | |||
this.receptionDuration = "所属顾问"; | |||
this.arriveFilter = "到访时间"; | |||
this.screen.orderBy = null; | |||
this.screen.orderBy = ''; | |||
this.screen.staTime = ""; | |||
this.screen.endTime = ""; | |||
this.nextPage = 1; | |||
@@ -882,7 +854,7 @@ export default { | |||
//选择标签 | |||
selectCallback2(e) { | |||
this.sortFilter = e[0].label; | |||
this.orderBy = e[0].value; | |||
this.screen.orderBy = e[0].value; | |||
this.nextPage = 1; | |||
this.recordList = []; | |||
this.isRefresh = false; | |||
@@ -952,6 +924,14 @@ export default { | |||
}); | |||
}, | |||
getMyCustom() { | |||
this.screen.visitRecord = [] | |||
this.screen.jiedaiVal = [] | |||
this.screen.wajueVal = [] | |||
this.screen.xiaojiangVal = [] | |||
this.screen.level = [] | |||
this.screen.clientStage = [] | |||
this.screen.sourceIds = [] | |||
let keywordsIds = [] | |||
let dateType = 0; | |||
if (this.activeTotal == 5||this.activeTotal == 4) { | |||
dateType = null; | |||
@@ -979,14 +959,14 @@ export default { | |||
if(i.isShow) this.screen.level.push(i.value) | |||
}) | |||
//客户阶段 | |||
this.stageList.forEach(i => { | |||
this.phaseList.forEach(i => { | |||
if(i.isShow) this.screen.clientStage.push(i.value) | |||
}) | |||
// 客户来源 | |||
this.sourceList.forEach(i => { | |||
if(i.isShow) this.screen.sourceIds.push(i.value) | |||
}) | |||
let keywordsIds = [] | |||
this.huaxiangList.forEach(item => { | |||
if(item.children.length){ | |||
item.children.forEach(im=>{ | |||
@@ -999,28 +979,27 @@ export default { | |||
pageSize: 10, | |||
query: { | |||
projectId: this.buildingID, | |||
fractions: this.screen.xiaojiangVal.join(','),// 销讲执行率 | |||
wordFractions: this.screen.wajueVal.join(','),//需求挖掘 | |||
visitRecordNum: this.screen.visitRecord.join(','),//到访次数 | |||
clientStages: this.screen.clientStage.join(','), // 客户阶段 | |||
sourceIds: this.screen.sourceIds.join(','),// 客户来源 | |||
level: this.screen.level.join(','),// 客户等级 | |||
duractionNums: this.screen.jiedaiVal.join(','),// 接待时长 | |||
fractions: this.screen.xiaojiangVal.length?this.screen.xiaojiangVal.join(','):'',// 销讲执行率 | |||
wordFractions: this.screen.wajueVal.length?this.screen.wajueVal.join(','):'',//需求挖掘 | |||
visitRecordNum: this.screen.visitRecord.length?this.screen.visitRecord.join(','):'',//到访次数 | |||
clientStages: this.screen.clientStage.length?this.screen.clientStage.join(','):'', // 客户阶段 | |||
sourceIds: this.screen.sourceIds.length?this.screen.sourceIds.join(','):'',// 客户来源 | |||
level: this.screen.level.length?this.screen.level.join(','):'',// 客户等级 | |||
duractionNums: this.screen.jiedaiVal.length?this.screen.jiedaiVal.join(','):'',// 接待时长 | |||
keywordsIds: keywordsIds.length?keywordsIds.join(','):'',// 画像标签 | |||
dateType: dateType, // 接待时间 | |||
staTime: this.screen.staTime, | |||
endTime: this.screen.endTime, | |||
agentId: this.screen.agentId,// 顾问 | |||
orderBy: this.screen.orderBy==0?null: this.screen.orderBy,// 排序 | |||
orderBy: this.screen.orderBy==''?'': this.screen.orderBy,// 排序 | |||
}, | |||
}; | |||
this.userInfo = uni.getStorageSync("weapp_session_userInfo_data"); | |||
this.$u.post("/customer/customerManagement", parames) | |||
.then((data) => { | |||
this.LOADING = false; | |||
if (this.screen.staTime && this.screen.endTime) { | |||
this.arriveFilter = `${this.screen.staTime}-${this.screen.endTime}`; | |||
} | |||
// if (this.screen.staTime && this.screen.endTime) { | |||
// this.arriveFilter = `${this.screen.staTime}-${this.screen.endTime}`; | |||
// } | |||
var list = data.results || []; | |||
list.forEach((item) => { | |||
if (this.userInfo.dataCode == 6) { | |||
@@ -1037,6 +1016,8 @@ export default { | |||
che.name = che.name + che.unit + "-" + che.endName + che.unit; | |||
} | |||
}); | |||
}else{ | |||
item.demand.cusSemanticWordsList = [] | |||
} | |||
}); | |||
if (this.isRefresh) { | |||
@@ -1062,7 +1043,7 @@ export default { | |||
// console.log(res) | |||
if(res.length){ | |||
res.forEach(item=>{ | |||
item.isShow = false; | |||
item.isShow = true; | |||
if(item.children.length){ | |||
item.children.forEach(subitem=>{ | |||
subitem.isShow = false; | |||
@@ -1075,24 +1056,30 @@ export default { | |||
}, | |||
//获取顾问列表 | |||
getFreeList() { | |||
this.freeList = []; | |||
this.$u | |||
.post("/cusLvStatistics/selectAllAccountIdByHouseId", { | |||
houseId: this.buildingID, | |||
}) | |||
.then((res) => { | |||
this.freeList = res; | |||
this.freeList.forEach((item) => { | |||
item.label = item.name; | |||
item.value = item.accountId; | |||
}); | |||
this.freeList.unshift({ | |||
label: '全部', | |||
value: '', | |||
}) | |||
}); | |||
if(this.userInfo.dataCode==6){ | |||
this.freeList = [{ | |||
label: this.userInfo.name, | |||
value: this.userInfo.accountId | |||
}] | |||
}else{ | |||
this.freeList = []; | |||
this.$u.post("/cusLvStatistics/selectAllAccountIdByHouseId", { | |||
houseId: this.buildingID, | |||
}) | |||
.then((res) => { | |||
this.freeList = res; | |||
this.freeList.forEach((item) => { | |||
item.label = item.name; | |||
item.value = item.accountId; | |||
}); | |||
this.freeList.unshift({ | |||
label: '全部', | |||
value: '', | |||
}) | |||
}); | |||
} | |||
}, | |||
// 获取客户阶段数据 | |||
// 获取客户阶段数据 | |||
getCustomPhase() { | |||
this.phaseList = []; | |||
this.$u | |||
@@ -1100,14 +1087,17 @@ export default { | |||
houseId: this.buildingID, | |||
}) | |||
.then((res) => { | |||
let tempArr = []; | |||
res.forEach((item) => { | |||
let tempObj = {}; | |||
tempObj.label = item.stageName; | |||
tempObj.value = item.id; | |||
tempArr.push(tempObj); | |||
}); | |||
this.phaseList = tempArr; | |||
if(res.length){ | |||
this.phaseList = res.map(item=>{ | |||
return { | |||
label: item.stageName, | |||
value: item.id, | |||
isShow: false | |||
} | |||
}) | |||
}else{ | |||
this.phaseList =[] | |||
} | |||
}); | |||
}, | |||
//选择顾问 | |||
@@ -1141,7 +1131,7 @@ export default { | |||
this.wajueList.map((i) => { | |||
i.isShow = false; | |||
}); | |||
this.stageList.map((i) => { | |||
this.phaseList.map((i) => { | |||
i.isShow = false; | |||
}); | |||
this.jiedaiList.map((i) => { | |||
@@ -1165,7 +1155,7 @@ export default { | |||
resetHuaXiang(){ | |||
if(this.huaxiangList.length){ | |||
this.huaxiangList.forEach(item=>{ | |||
item.isShow = false; | |||
item.isShow = true; | |||
if(item.children.length){ | |||
item.children.forEach(subitem=>{ | |||
subitem.isShow = false; | |||
@@ -82,7 +82,7 @@ | |||
<view class="text">访问次数</view> | |||
</view> | |||
<view class="cont-item"> | |||
<view class="count">{{item.wordFraction||'--'}}</view> | |||
<view class="count">{{item.demand.cusSemanticWordsList?item.demand.cusSemanticWordsList.length:'--'}}</view> | |||
<view class="text">画像标签</view> | |||
</view> | |||
<view class="cont-item"> | |||
@@ -167,15 +167,15 @@ | |||
<image v-else class="arrow" src="https://static.quhouse.com/17d69984ec7c4830b43f712016f06807.png" mode="" /> | |||
</view> | |||
<view class="screen-record-tab" v-if="luyinArrow"> | |||
<view class="screen-record-item" :class="[screen.validInvalid==0?'screen-record-chose':'screen-record-nochose']" | |||
<view class="screen-record-item" :class="[screen.validInvalid===0?'screen-record-chose':'screen-record-nochose']" | |||
@click="screenvisivalidInvalid(0)"> | |||
有效接待 | |||
</view> | |||
<view class="screen-record-item" :class="[screen.validInvalid==1?'screen-record-chose':'screen-record-nochose']" | |||
<view class="screen-record-item" :class="[screen.validInvalid===1?'screen-record-chose':'screen-record-nochose']" | |||
@click="screenvisivalidInvalid(1)"> | |||
无效接待 | |||
</view> | |||
<view class="screen-record-item" :class="[screen.validInvalid==2?'screen-record-chose':'screen-record-nochose']" | |||
<view class="screen-record-item" :class="[screen.validInvalid===2?'screen-record-chose':'screen-record-nochose']" | |||
@click="screenvisivalidInvalid(2)"> | |||
无录音 | |||
</view> | |||
@@ -192,7 +192,7 @@ | |||
@click="screenvisitRecord(1)"> | |||
标记 | |||
</view> | |||
<view class="screen-record-item" :class="[screen.markAdvisor==0?'screen-record-chose':'screen-record-nochose']" | |||
<view class="screen-record-item" :class="[screen.markAdvisor===0?'screen-record-chose':'screen-record-nochose']" | |||
@click="screenvisitRecord(0)"> | |||
未标记 | |||
</view> | |||
@@ -232,8 +232,8 @@ | |||
<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 == 15 ? '#2B6EFF' : '#333333' }" | |||
@click="tabtimetap(15, '接待时间')"> | |||
全部</view> | |||
<view class="timeview" :style="{ color: activeTotal == 0 ? '#2B6EFF' : '#333333' }" | |||
@click="tabtimetap(0, '今天')"> | |||
@@ -244,6 +244,9 @@ | |||
<view class="timeview" :style="{ color: activeTotal == 2 ? '#2B6EFF' : '#333333' }" | |||
@click="tabtimetap(2, '近7天')"> | |||
近7天</view> | |||
<view class="timeview" :style="{ color: activeTotal == 5 ? '#2B6EFF' : '#333333' }" | |||
@click="tabtimetap(5, '近15天')"> | |||
近15天</view> | |||
<view class="timeview" :style="{ color: activeTotal == 6 ? '#2B6EFF' : '#333333' }" | |||
@click="tabtimetap(6, '近30天')"> | |||
近30天</view> | |||
@@ -265,13 +268,13 @@ | |||
}, | |||
data() { | |||
return { | |||
wajueArrow: false, | |||
wajueArrow: true, | |||
zixunArrow: true, | |||
jiedaiArrow: false, | |||
luyinArrow: false, | |||
visitArrow: false, | |||
jiedaiArrow: true, | |||
luyinArrow: true, | |||
visitArrow: true, | |||
xiaojiangArrow: true, | |||
markArrow: false, | |||
markArrow: true, | |||
orderBylist: [{ | |||
label: '全部', | |||
value: '' | |||
@@ -414,7 +417,7 @@ | |||
value: 4, | |||
isShow: false, | |||
}], | |||
activeTotal: 5, | |||
activeTotal:15, | |||
value: '', | |||
screenShow: false,//更多筛选 | |||
selectshow: false,//选择顾问的选择框 | |||
@@ -422,13 +425,13 @@ | |||
screen: { | |||
orderBy: '',//排序 | |||
agentId: '', //顾问id | |||
markAdvisor: null,//标记顾问 | |||
markAdvisor: '',//标记顾问 | |||
visitRecord: [],// 到访次数 | |||
zixunVal: [],// 咨询业务 | |||
// zixunVal: [],// 咨询业务 | |||
wajueVal: [],// 需求挖掘 | |||
xiaojiangVal:[],//销讲执行率 | |||
jiedaiVal: [],// 接待时长 | |||
validInvalid: null,// 录音标识 | |||
validInvalid: ''// 录音标识 | |||
}, | |||
freeList: [], //顾问 | |||
recordList: [], | |||
@@ -454,15 +457,19 @@ | |||
onLoad(options) { | |||
this.LOADING = true | |||
this.isnorefresh = options.refresh; | |||
if (options.activeTotal) { | |||
this.activeTotal = options.activeTotal | |||
this.activeTotal = Number(options.activeTotal) | |||
} | |||
if (options.markAdvisor) { | |||
this.screen.markAdvisor = options.markAdvisor | |||
this.screen.markAdvisor = Number(options.markAdvisor) | |||
} | |||
if (options.validInvalid) { | |||
this.screen.validInvalid = options.validInvalid | |||
this.screen.validInvalid = Number(options.validInvalid) | |||
} | |||
if (options.staTime) { | |||
this.staTime = options.staTime; | |||
this.endTime = options.endTime; | |||
@@ -608,10 +615,9 @@ | |||
this.screen.visitRecord = [] | |||
this.screen.jiedaiVal = [] | |||
this.screen.wajueVal = [] | |||
// this.screen.zixunVal = [] | |||
this.screen.xiaojiangVal = [] | |||
let dateType = 0; | |||
if ((this.activeTotal == 5)||(this.activeTotal == 4)) {// 选择全部和自定义 | |||
if ((this.activeTotal == 15)||(this.activeTotal == 4)) {// 选择全部和自定义 | |||
dateType = null; | |||
}else { | |||
dateType = this.activeTotal; | |||
@@ -630,10 +636,6 @@ | |||
this.wajueList.forEach(i => { | |||
if(i.isShow) this.screen.wajueVal.push(i.value) | |||
}) | |||
// // 咨询业务 | |||
// this.zixunList.forEach(i => { | |||
// if(i.isShow) this.screen.zixunVal.push(i.value) | |||
// }) | |||
// 销讲执行率 | |||
this.xiaojiangList.forEach(i => { | |||
if(i.isShow) this.screen.xiaojiangVal.push(i.value) | |||
@@ -646,13 +648,13 @@ | |||
staTime: this.staTime,// 接待时间 | |||
endTime: this.endTime,// 接待时间 | |||
agentId: this.screen.agentId, // 顾问ID | |||
visitRecordNum: this.screen.visitRecord.join(','),//到访次数 | |||
wordFractions: this.screen.wajueVal.join(','),//挖掘 | |||
duractionNums: this.screen.jiedaiVal.join(','),//接待时长 | |||
fractions: this.screen.xiaojiangVal.join(','),//销讲 | |||
visitRecordNum: this.screen.visitRecord.length?this.screen.visitRecord.join(','):'',//到访次数 | |||
wordFractions: this.screen.wajueVal.length?this.screen.wajueVal.join(','):'',//挖掘 | |||
duractionNums: this.screen.jiedaiVal.length?this.screen.jiedaiVal.join(','):'',//接待时长 | |||
fractions: this.screen.xiaojiangVal.length?this.screen.xiaojiangVal.join(','):'',//销讲 | |||
markAdvisor: this.screen.markAdvisor,//标记顾问 | |||
dateType: dateType,//时间类型 | |||
orderBy: this.orderBy==0?null:this.orderBy,//排序 | |||
orderBy: this.screen.orderBy==''?'':this.screen.orderBy,//排序 | |||
validInvalid: this.screen.validInvalid,//录音标识 | |||
clientStage: this.screen.clientStage,// 客户阶段 | |||
recording: this.screen.validInvalid == 2 ? 0 : null // 录音 | |||
@@ -680,19 +682,27 @@ | |||
}, | |||
//获取顾问列表 | |||
getFreeList() { | |||
this.$u.post("/cusLvStatistics/selectAllAccountIdByHouseId", { | |||
houseId: this.buildingID | |||
}).then(res => { | |||
this.freeList = res; | |||
this.freeList.forEach(item => { | |||
item.label = item.name; | |||
item.value = item.accountId | |||
}) | |||
this.freeList.unshift({ | |||
label:'全部', | |||
value: '' | |||
}) | |||
}) | |||
if(this.userInfo.dataCode==6){// 顾问角色登录时只显示自己 | |||
this.freeList = [{ | |||
label: this.userInfo.name, | |||
value: this.userInfo.accountId | |||
}] | |||
}else{ | |||
this.$u.post("/cusLvStatistics/selectAllAccountIdByHouseId", { | |||
houseId: this.buildingID | |||
}).then(res => { | |||
this.freeList = res; | |||
this.freeList.forEach(item => { | |||
item.label = item.name; | |||
item.value = item.accountId | |||
}) | |||
this.freeList.unshift({ | |||
label:'全部', | |||
value: '' | |||
}) | |||
}) | |||
} | |||
}, | |||
actionSelectCallback(e) { | |||
this.screen.agentId = e[0].value; | |||
@@ -705,13 +715,15 @@ | |||
reset() { | |||
this.screen.agentId ='' | |||
this.screen.jiedaiVal ='' | |||
this.screen.validInvalid = '' | |||
this.screen.markAdvisor = '' | |||
this.screen.orderBy = ''; | |||
this.sortFilter = '排序'; | |||
this.orderBy = null; | |||
this.arriveFilter = '到访时间'; | |||
this.staTime = ''; | |||
this.endTime = ''; | |||
this.nextPage = 1; | |||
this.activeTotal = 5; | |||
this.activeTotal = 15; | |||
this.recordList = []; | |||
this.counselorName = '接待顾问'; | |||
this.visitList.map(i => { | |||
@@ -720,7 +732,7 @@ | |||
this.jiedaiList.map(i => { | |||
i.isShow = false | |||
}) | |||
this.zixunList.map(i => { | |||
this.wajueList.map(i => { | |||
i.isShow = false | |||
}) | |||
this.xiaojiangList.map(i => { | |||
@@ -732,40 +744,22 @@ | |||
}, | |||
//标记顾问 | |||
screenvisitRecord(i) { | |||
console.log(i) | |||
if (this.screen.markAdvisor == i) { | |||
this.screen.markAdvisor = null | |||
// console.log(i) | |||
if (this.screen.markAdvisor === i) { | |||
this.screen.markAdvisor = '' | |||
} else { | |||
this.screen.markAdvisor = i | |||
} | |||
}, | |||
// 录音标识 | |||
screenvisivalidInvalid(i) { | |||
console.log(this.screen.validInvalid, i) | |||
if (this.screen.validInvalid == i) { | |||
this.screen.validInvalid = null | |||
// console.log(this.screen.validInvalid, i) | |||
if (this.screen.validInvalid === i) { | |||
this.screen.validInvalid = '' | |||
} else { | |||
this.screen.validInvalid = i | |||
} | |||
}, | |||
//咨询业务 | |||
screenzixunClick(i) { | |||
console.log(this.screen.zixunVal, i) | |||
if (this.screen.zixunVal == i) { | |||
this.screen.zixunVal = null | |||
} else { | |||
this.screen.zixunVal = i | |||
} | |||
}, | |||
// 需求挖掘选择 | |||
screenwajueValClick(i) { | |||
// console.log(this.screen.wajueVal, i) | |||
if (this.screen.wajueVal == i) { | |||
this.screen.wajueVal = null | |||
} else { | |||
this.screen.wajueVal = i | |||
} | |||
}, | |||
screensure() { | |||
this.screenShow = false; | |||
this.recordList = []; | |||
@@ -61,6 +61,9 @@ | |||
<template v-if="zhipai"> | |||
<view class="footer3" @click.stop="assign(item)">指派顾问</view> | |||
</template> | |||
<template v-if="checkAuthority('删除接待记录')"> | |||
<view @tap.stop="deleteReception(item)" class="footer3">删除接待</view> | |||
</template> | |||
</view> | |||
</view> | |||
@@ -95,7 +98,8 @@ | |||
dataCode: '', | |||
addAccount: '', | |||
endReception: true, | |||
fdFlag: null | |||
fdFlag: null, | |||
isAdd: 0, // 默认能指派 | |||
}; | |||
}, | |||
computed: { | |||
@@ -103,7 +107,8 @@ | |||
if (this.dataCode == 6) { | |||
return this.checkAuthority('顾问指派顾问') | |||
} else { | |||
return true | |||
if (this.isAdd == 0) return true | |||
else return false | |||
} | |||
} | |||
}, | |||
@@ -123,8 +128,24 @@ | |||
this.dataCode = dataCode; | |||
this.init() | |||
this.updateInit() | |||
this.queryHaveDept() | |||
}, | |||
methods: { | |||
// 删除接待 | |||
deleteReception(data) { | |||
this.$u.get(`/customer/delete?id=${data.id}`).then(res => { | |||
if (!res) { | |||
this.init() | |||
} | |||
}).catch(e => { | |||
console.log(e) | |||
uni.showToast({ | |||
title: '网络异常,请稍后重试~', | |||
icon: 'none' | |||
}); | |||
}) | |||
}, | |||
// 获取未读消息数量 | |||
updateInit() { | |||
uni.request({ | |||
url: config.service.notReadNum, | |||
@@ -233,7 +254,7 @@ | |||
success: res => { | |||
if (this.noClick) { | |||
this.noClick = false; | |||
if (res.confirm) { | |||
if (res.confirm) { | |||
if (res.confirm) { | |||
this.$u.post("/customer/endReception", { | |||
id: id, | |||
@@ -242,11 +263,11 @@ | |||
uni.showToast({ | |||
icon: "none", | |||
title: "操作成功" | |||
}) | |||
}) | |||
this.init(); | |||
}); | |||
} | |||
} | |||
} | |||
setTimeout(() => { | |||
this.noClick = true; | |||
}, 2000) | |||
@@ -256,6 +277,24 @@ | |||
} | |||
}) | |||
}, | |||
// 检测是否有添加顾问的权限 | |||
queryHaveDept() { | |||
uni.request({ | |||
url: config.service.getSelfAssignedByHouseId + "?houseId=" + uni.getStorageSync('buildingID').id, | |||
method: "GET", | |||
header: { | |||
'content-type': 'application/json', | |||
'Access-Token': uni.getStorageSync('weapp_session_login_data').token | |||
}, | |||
success: (data) => { | |||
if (data.data.code == 10000) { | |||
this.isAdd = data.data.data.selfAssigned | |||
} | |||
} | |||
}) | |||
}, | |||
//新增接待 | |||
addreception() { | |||
const { | |||
@@ -418,14 +457,14 @@ | |||
border-top: 1rpx solid #E0E0E0; | |||
.footer1 { | |||
flex: 1; | |||
flex-grow: 1; | |||
text-align: center; | |||
line-height: 90rpx; | |||
border-right: 1rpx solid #E0E0E0; | |||
} | |||
.footer3 { | |||
flex: 1; | |||
flex-grow: 1; | |||
text-align: center; | |||
line-height: 90rpx; | |||
} | |||
@@ -82,44 +82,35 @@ | |||
<view class="title">实时统计</view> | |||
<!-- <view class="real-timebox"> | |||
<view class="timebox"> | |||
</view> | |||
<view class="timebox"> | |||
</view> | |||
</view> --> | |||
<view class="real-timebox"> | |||
<view class="timebox"> | |||
<view class="real" @click="tapjumpreception('1')"> | |||
<view class="real" @click="tapjumpreception(checkParams('1'))"> | |||
<view class="realnum">{{realtimeobj.receptionCount || 0}}</view> | |||
<view class="realtext">接待量</view> | |||
</view> | |||
<view class="real" @click="tapjumpreception('6')"> | |||
<view class="real" @click="tapjumpreception(checkParams('6'))"> | |||
<view class="realnum">{{realtimeobj.activeCustomer|| 0}}</view> | |||
<view class="realtext">有效接待</view> | |||
</view> | |||
<view class="real" @click="tapjumpreception('2')"> | |||
<view class="real" @click="switchJump"> | |||
<view class="realnum">{{realtimeobj.receivingCustomer || 0}}</view> | |||
<view class="realtext">正在接待</view> | |||
</view> | |||
<view class="real" @click="tapjumpreception('4')"> | |||
<view class="real" @click="tapjumpreception(checkParams('4'))"> | |||
<view class="realnum">{{realtimeobj.tagCustomer || 0}}</view> | |||
<view class="realtext">未标顾问</view> | |||
</view> | |||
</view> | |||
<view class="timebox"> | |||
<view class="real" @click="tapjumpreception('auth')"> | |||
<view class="real" @click="tapjumpreception(checkParams('auth'))"> | |||
<view class="realnum">{{realtimeobj.avgDuration|| 0}}</view> | |||
<view class="realtext">平均接待时长</view> | |||
</view> | |||
<view class="real" @click="tapjumpreception('auth')"> | |||
<view class="real" @click="tapjumpreception(checkParams('auth'))"> | |||
<view class="realnum">{{realtimeobj.fraction || 0}}%</view> | |||
<view class="realtext">平均执行率</view> | |||
</view> | |||
<view class="real" @click="tapjumpreception('6')"> | |||
<view class="real" @click="tapjumpreception(checkParams('6'))"> | |||
<view class="realnum">{{realtimeobj.wordFraction || 0}}%</view> | |||
<view class="realtext">平均挖掘率</view> | |||
</view> | |||
@@ -135,32 +126,35 @@ | |||
<view class="title" style="display: flex;"> | |||
<view style="width: 55%;">概览</view> | |||
<view class="cet" style="display: flex;"> | |||
<view class="cetview" :class="{ activecllasscet: zhixingcenterindex == 2 }" @click="tabtimeclick(2)">近7天</view> | |||
<view class="cetview" :class="{ activecllasscet: zhixingcenterindex == 6 }" @click="tabtimeclick(6)">近30天</view> | |||
<view class="cetview" :class="{ activecllasscet: zhixingcenterindex == 7 }" @click="tabtimeclick(7)">自定义</view> | |||
<view class="cetview" :class="{ activecllasscet: zhixingcenterindex == 2 }" @click="tabtimeclick(2)">近7天 | |||
</view> | |||
<view class="cetview" :class="{ activecllasscet: zhixingcenterindex == 6 }" @click="tabtimeclick(6)"> | |||
近30天</view> | |||
<view class="cetview" :class="{ activecllasscet: zhixingcenterindex == 7 }" @click="tabtimeclick(7)">自定义 | |||
</view> | |||
</view> | |||
</view> | |||
<view class="real-timebox"> | |||
<view class="timebox"> | |||
<view class="real" @click="tapjumpreception('3')"> | |||
<view class="real" @click="tapjumpreception(checkParams('3'))"> | |||
<view class="realnum">{{Thisweekobj.receptionCount || 0}}</view> | |||
<view class="realtext">接待量</view> | |||
</view> | |||
<view class="real" @click="tapjumpreception('7')"> | |||
<view class="real" @click="tapjumpreception(checkParams('7'))"> | |||
<view class="realnum">{{Thisweekobj.activeCustomer|| 0}}</view> | |||
<view class="realtext">有效接待</view> | |||
</view> | |||
<view class="real" @click="tapjumpreception('333')"> | |||
<view class="real" @click="tapjumpreception(checkParams('333'))"> | |||
<view class="realnum">{{Thisweekobj.fraction || 0}}%</view> | |||
<view class="realtext">平均执行率</view> | |||
</view> | |||
</view> | |||
<view class="timebox"> | |||
<view class="real" @click="tapjumpreception('333')"> | |||
<view class="real" @click="tapjumpreception(checkParams('333'))"> | |||
<view class="realnum">{{Thisweekobj.avgDuration|| 0}}</view> | |||
<view class="realtext">平均接待时长</view> | |||
</view> | |||
<view class="real" @click="tapjumpreception('3')"> | |||
<view class="real" @click="tapjumpreception(checkParams('333'))"> | |||
<view class="realnum">{{Thisweekobj.wordFraction || 0}}%</view> | |||
<view class="realtext">平均挖掘率</view> | |||
</view> | |||
@@ -391,7 +385,7 @@ | |||
}, 3000) | |||
}, | |||
methods: { | |||
towajue(){ | |||
towajue() { | |||
uni.navigateTo({ | |||
url: "/pages/center/Piabodata/requireminingAnalysis" | |||
}) | |||
@@ -441,13 +435,13 @@ | |||
}, | |||
success: (res) => { | |||
let data = res.data.data | |||
if(data){ | |||
this.first(data.id) | |||
this.content = data.content | |||
this.tit = data.title | |||
this.aid = data.accountId | |||
this.id = data.id | |||
this.isShowUpdate = data.readFlag == 0 ? true : false; | |||
if (data) { | |||
this.first(data.id) | |||
this.content = data.content | |||
this.tit = data.title | |||
this.aid = data.accountId | |||
this.id = data.id | |||
this.isShowUpdate = data.readFlag == 0 ? true : false; | |||
} | |||
} | |||
}) | |||
@@ -646,6 +640,7 @@ | |||
} | |||
}) | |||
}, | |||
//选择项目弹框 | |||
piskbuilding() { | |||
// this.Showhiddenunits = true; | |||
@@ -653,6 +648,7 @@ | |||
url: "../mine/selectBuilding" | |||
}) | |||
}, | |||
// 项目选择确认 | |||
confirm(e) { | |||
this.buildingname = e[0].label; | |||
@@ -666,158 +662,102 @@ | |||
this.initrealTimeStatistics() | |||
this.initequipment() | |||
this.iniodianloang() | |||
}, | |||
// 项目选择取消 | |||
cancel() { | |||
this.Showhiddenunits = false; | |||
}, | |||
// 设备模块跳转 | |||
tapjumpequipment(i) { | |||
this.Menulist.forEach(item => { | |||
if (item.name == '设备管理') { | |||
uni.navigateTo({ | |||
url: '/pages/mine/equipment/index?active=' + i | |||
}); | |||
} | |||
}) | |||
if (this.checkAuthority('设备管理')) { | |||
uni.navigateTo({ | |||
url: '/pages/mine/equipment/index?active=' + i | |||
}); | |||
} | |||
}, | |||
// 违禁模块跳转 | |||
prohibitedtap(i) { | |||
let str = '' | |||
if (i == 1) { | |||
uni.navigateTo({ | |||
url: '/pages/center/prohibited/index?refresh=' + 'refresh' + '&activeTotal=' + '0' + | |||
'&violatedStatus=1' | |||
}); | |||
str = '&activeTotal=0' | |||
} else { | |||
if (this.zhixingcenterindex == 2) { | |||
uni.navigateTo({ | |||
url: '/pages/center/prohibited/index?refresh=' + 'refresh' + '&activeTotal=' + '2' + | |||
'&violatedStatus=1' | |||
}); | |||
str = '&activeTotal=2' | |||
} else if (this.zhixingcenterindex == 6) { | |||
uni.navigateTo({ | |||
url: '/pages/center/prohibited/index?refresh=' + 'refresh' + '&activeTotal=' + '3' + | |||
'&violatedStatus=1' | |||
}); | |||
str = '&activeTotal=3' | |||
} else { | |||
uni.navigateTo({ | |||
url: '/pages/center/prohibited/index?refresh=' + 'refresh' + '&activeTotal=' + '4' + | |||
'&staTime=' + this.statDateStart + '&endtime=' + this.statDateEnd + | |||
'&violatedStatus=1' | |||
}); | |||
str = `&activeTotal=4&staTime=${this.statDateStart}&endtime=${this.statDateEnd}` | |||
} | |||
} | |||
uni.navigateTo({ | |||
url: `/pages/center/prohibited/index?refresh=refresh&violatedStatus=1${str}` | |||
}) | |||
}, | |||
tapjumpreception(i) { | |||
this.Menulist.forEach(item => { | |||
if (item.name == '接待记录') { | |||
if (i == 1) { | |||
uni.navigateTo({ | |||
url: '/pages/center/records/index?refresh=' + 'refresh' + '&activeTotal=' + | |||
'0' | |||
}); | |||
} else if (i == 'auth') { | |||
uni.navigateTo({ | |||
url: '/pages/center/records/index?refresh=' + 'refresh' + '&activeTotal=' + | |||
'0' + '&validInvalid=0' | |||
}); | |||
} else if (i == 2) { | |||
uni.switchTab({ | |||
url: '/pages/index/customer' | |||
}); | |||
} else if (i == 3) { | |||
if (this.zhixingcenterindex == 2) { | |||
uni.navigateTo({ | |||
url: '/pages/center/records/index?refresh=' + 'refresh' + | |||
'&activeTotal=' + '2' | |||
}); | |||
} else if (this.zhixingcenterindex == 6) { | |||
uni.navigateTo({ | |||
url: '/pages/center/records/index?refresh=' + 'refresh' + | |||
'&activeTotal=' + '3' | |||
}); | |||
} else { | |||
uni.navigateTo({ | |||
url: '/pages/center/records/index?refresh=' + 'refresh' + | |||
'&activeTotal=' + '4' + '&staTime=' + this.statDateStart + | |||
'&endtime=' + this.statDateEnd | |||
}); | |||
} | |||
} else if (i == 333) { | |||
if (this.zhixingcenterindex == 2) { | |||
uni.navigateTo({ | |||
url: '/pages/center/records/index?refresh=' + 'refresh' + | |||
'&activeTotal=' + '2' + '&validInvalid=0' | |||
}); | |||
} else if (this.zhixingcenterindex == 6) { | |||
uni.navigateTo({ | |||
url: '/pages/center/records/index?refresh=' + 'refresh' + | |||
'&activeTotal=' + '3' + '&validInvalid=0' | |||
}); | |||
} else { | |||
uni.navigateTo({ | |||
url: '/pages/center/records/index?refresh=' + 'refresh' + | |||
'&activeTotal=' + '4' + '&staTime=' + this.statDateStart + | |||
'&endtime=' + this.statDateEnd + '&validInvalid=0' | |||
}); | |||
} | |||
} else if (i == 3) { | |||
if (this.zhixingcenterindex == 2) { | |||
uni.navigateTo({ | |||
url: '/pages/center/records/index?refresh=' + 'refresh' + | |||
'&activeTotal=' + '2' | |||
}); | |||
} else if (this.zhixingcenterindex == 6) { | |||
uni.navigateTo({ | |||
url: '/pages/center/records/index?refresh=' + 'refresh' + | |||
'&activeTotal=' + '3' | |||
}); | |||
} else { | |||
uni.navigateTo({ | |||
url: '/pages/center/records/index?refresh=' + 'refresh' + | |||
'&activeTotal=' + '4' + '&staTime=' + this.statDateStart + | |||
'&endtime=' + this.statDateEnd | |||
}); | |||
} | |||
// 跳转正在接待页面 | |||
switchJump() { | |||
uni.switchTab({ | |||
url: '/pages/index/customer' | |||
}); | |||
}, | |||
} else if (i == 6) { | |||
uni.navigateTo({ | |||
url: '/pages/center/records/index?refresh=' + 'refresh' + '&activeTotal=' + | |||
'0' + '&validInvalid=0' | |||
}); | |||
} else if (i == 7) { | |||
if (this.zhixingcenterindex == 2) { | |||
uni.navigateTo({ | |||
url: '/pages/center/records/index?refresh=' + 'refresh' + | |||
'&activeTotal=' + '2' + '&validInvalid=0' | |||
}); | |||
} else if (this.zhixingcenterindex == 6) { | |||
uni.navigateTo({ | |||
url: '/pages/center/records/index?refresh=' + 'refresh' + | |||
'&activeTotal=' + '3' + '&validInvalid=0' | |||
}); | |||
} else { | |||
uni.navigateTo({ | |||
url: '/pages/center/records/index?refresh=' + 'refresh' + | |||
'&activeTotal=' + '4' + '&staTime=' + this.statDateStart + | |||
'&endtime=' + this.statDateEnd + '&validInvalid=0' | |||
}); | |||
} | |||
} else if (i == 4) { | |||
uni.navigateTo({ | |||
url: '/pages/center/records/index?refresh=' + 'refresh' + | |||
'&activeTotal=0' + '&markAdvisor=0' + '&validInvalid=0' | |||
}); | |||
// 跳转参数 | |||
checkParams(i) { | |||
let str = '' | |||
switch (i) { | |||
case '1': | |||
str = '&activeTotal=0'; | |||
break; | |||
case 'auth': | |||
str = '&activeTotal=0&validInvalid=0' | |||
break; | |||
case '3': | |||
// 筛选时间类型后传的参数 | |||
if (this.zhixingcenterindex == 2) { | |||
str = '&activeTotal=2' | |||
} else if (this.zhixingcenterindex == 6) { | |||
str = '&activeTotal=3' | |||
} else { | |||
uni.navigateTo({ | |||
url: '/pages/center/records/index?refresh=' + 'refresh' + | |||
'&activeTotal=0' + '&markAdvisor=0' | |||
}); | |||
str = `&activeTotal=4&staTime=${this.statDateStart}&endtime=${this.statDateEnd}` | |||
} | |||
} | |||
}) | |||
break; | |||
case '333': | |||
case '7': | |||
if (this.zhixingcenterindex == 2) { | |||
str = '&activeTotal=2&validInvalid=0' | |||
} else if (this.zhixingcenterindex == 6) { | |||
str = '&activeTotal=3&validInvalid=0' | |||
} else { | |||
str = `&activeTotal=4&staTime=${this.statDateStart}&endtime=${this.statDateEnd}&validInvalid=0` | |||
} | |||
break; | |||
case '6': | |||
str = '&activeTotal=0&validInvalid=0' | |||
break; | |||
case '4': | |||
str = '&activeTotal=0&markAdvisor=0&validInvalid=0' | |||
break; | |||
default: | |||
str = '&activeTotal=0&markAdvisor=0' | |||
break; | |||
} | |||
return str | |||
}, | |||
// 接待记录跳转 | |||
tapjumpreception(params) { | |||
// 校验是否有权限 | |||
if (this.checkAuthority('接待记录')) { | |||
uni.navigateTo({ | |||
url: `/pages/center/records/index?refresh=refresh${params}` | |||
}); | |||
} | |||
}, | |||
// 权限菜单跳转 | |||
Piabodata(item) { | |||
if (item == '销讲数据') { | |||
uni.navigateTo({ | |||
@@ -825,7 +765,7 @@ | |||
}); | |||
} else if (item == '接待记录') { | |||
uni.navigateTo({ | |||
url: '/pages/center/records/index?refresh=' + 'refresh' | |||
url: '/pages/center/records/index?refresh=refresh' | |||
}); | |||
} else if (item == '值班顾问') { | |||
uni.navigateTo({ | |||
@@ -841,11 +781,11 @@ | |||
}); | |||
} else if (item == '违禁记录') { | |||
uni.navigateTo({ | |||
url: '/pages/center/prohibited/index?refresh=' + 'refresh' | |||
url: '/pages/center/prohibited/index?refresh=refresh' | |||
}); | |||
} else { | |||
uni.navigateTo({ | |||
url: '/pages/center/consumer/index?refresh=' + 'refresh' | |||
url: '/pages/center/consumer/index?refresh=refresh' | |||
}); | |||
} | |||
}, | |||
@@ -31,7 +31,7 @@ | |||
<view :id="'dialog'+i" class="fileName">录音文件</view> | |||
<view class="text" :id="'dialog'+csdFileindex+'text'+item.bg" | |||
:class="{active: Math.floor(item.bg/1000) <= playNow && Math.floor(item.ed/1000) > playNow, isGreen: item.isShow == 0}" | |||
v-for="(item,index) in dialog.message" :key="index" :data-speaker="item.speaker" @click.stop> | |||
v-for="(item,index) in dialog.message" :key="index" :data-speaker="item.speaker"> | |||
<template v-if="refined"> | |||
<view class="checkbox" :class="{select: item.checked}" @click="cbChange(item)"> | |||
<template v-if="item.checked"> | |||
@@ -150,29 +150,37 @@ | |||
<!-- 加入挖掘话术 --> | |||
<view class="zhezhao" v-if="wajueshow" @tap="CancelAdd"></view> | |||
<u-modal v-model="wajueshow" title="新增挖掘话术" :show-cancel-button="true" @cancel="CancelAdd" @confirm="wajueConfirm()"> | |||
<u-modal width="600rpx" v-model="wajueshow" title="新增挖掘话术" :show-cancel-button="true" @cancel="CancelAdd" @confirm="wajueConfirm()"> | |||
<view class="tian-view" style="margin-left: 20rpx;"> | |||
<viwe class="tian-view-t3"> | |||
话术分类:<input class="huashu-input" disabled @click="treeshow=true" v-model="wordBiao.wordBiaoqian" type="text" placeholder="请选择" /> | |||
</viwe> | |||
<view class="tian-view-t2"> | |||
话术分类:<view class="word" @click="treeshow=true">{{wordBiao.wordBiaoqian}}</view> | |||
</view> | |||
</view> | |||
<view class="tian-view" style="margin-left: 20rpx;"> | |||
<viwe class="tian-view-t2"> | |||
话术内容:<textarea :auto-height="true" type="text" v-model="thewrongword" class="tian-input" placeholder="请输入" /> | |||
</viwe> | |||
<view class="tian-view-t2"> | |||
话术内容:<view class="word1"> | |||
<u-input :auto-height="false" height="30" type="textarea" v-model="thewrongword" :border="false" :custom-style="customStyle" placeholder="请输入" /> | |||
</view> | |||
</view> | |||
</view> | |||
</u-modal> | |||
<!-- 加入常错词 --> | |||
<view class="zhezhao" v-if="isshow2" @tap="Cancelout"></view> | |||
<u-modal v-model="isshow2" title="添加常错词" :show-cancel-button="true" @cancel="Cancelout" @confirm="$noMultipleClicks(Confirmtheexit)"> | |||
<view class="tian-view"> | |||
<viwe class="tian-view-t2" style="margin-left: 20rpx;"> | |||
常错词:<textarea :auto-height="true" type="text" v-model="thewrongword" :disabled="isNum" class="tian-input" placeholder="请输入" /> | |||
</viwe> | |||
<view class="tian-view-t2" style="margin-left: 20rpx;"> | |||
常错词:<view class="word1"> | |||
<u-input :auto-height="false" height="30" type="textarea" v-model="thewrongword" :border="false" :custom-style="customStyle" placeholder="请输入" /> | |||
</view> | |||
<!-- <u-input :auto-height="false" height="40" type="textarea" v-model="reswrongword" :border="false" :custom-style="customStyle" placeholder="请输入" /> --> | |||
<!-- <view class="word">{{thewrongword}}</view> --> | |||
</view> | |||
</view> | |||
<view class="tian-view"> | |||
<viwe class="tian-view-t3" style="margin-left: 20rpx;">正确词:<input class="huashu-input" v-model="reswrongword" type="text" placeholder="请输入" /></viwe> | |||
<view class="tian-view-t2" style="margin-left: 20rpx;"> | |||
正确词:<view class="word1"> | |||
<u-input :auto-height="false" height="30" type="textarea" v-model="reswrongword" :border="false" :custom-style="customStyle" placeholder="请输入" /></view> | |||
</view> | |||
</view> | |||
</u-modal> | |||
@@ -338,10 +346,13 @@ | |||
<view class="hhhbox" v-if="item.show" style="padding: 30rpx;"> | |||
<view class="hsnrtest">话术内容</view> | |||
<view class="Level3che" v-for="(che,inc) in item.questionList" :key='inc'> | |||
<view class="title1">{{inc+1}}.{{che.question}}</view> | |||
<view class="title1" :style="che.selected==2?'color:#666':che.selected==1?'color: #666':''">{{inc+1}}.{{che.question}}</view> | |||
<view class="jiantobox"> | |||
<!-- 0本次选中 1未选中 2上次选中 --> | |||
<image v-if="che.selected==0" class="arrow" src="/static/images/rate-checked.png" | |||
mode="" /> | |||
<image v-else-if="che.selected==2" class="arrow" src="/static/images/rate-checked.png" | |||
mode="" /> | |||
<image v-else class="arrow" src="/static/images/rate-nocheck.png" mode="" /> | |||
</view> | |||
</view> | |||
@@ -365,11 +376,16 @@ | |||
<view v-if="subitem.show" style="padding: 30rpx 0;"> | |||
<view class="hsnrtest">话术内容</view> | |||
<view class="Level3che" v-for="(che,inc) in subitem.questionList" :key='inc'> | |||
<view class="title1">{{inc+1}}.{{che.question}}</view> | |||
<view class="title1" :style="che.selected==2?'color:#666':che.selected==1?'color: #666':''">{{inc+1}}.{{che.question}}</view> | |||
<!-- <view class="title1">{{inc+1}}.{{che.question}}</view> --> | |||
<view class="jiantobox"> | |||
<image v-if="che.selected==0" class="arrow" | |||
src="/static/images/rate-checked.png" mode="" /> | |||
<image v-else class="arrow" src="/static/images/rate-nocheck.png" mode="" /> | |||
<!-- 0本次选中 1未选中 2上次选中 --> | |||
<image v-if="che.selected==0" class="arrow" src="/static/images/rate-checked.png" | |||
mode="" /> | |||
<image v-else-if="che.selected==2" class="arrow" src="/static/images/rate-checked.png" | |||
mode="" /> | |||
<!-- <image v-if="che.selected==0" class="arrow" src="/static/images/rate-checked.png" mode="" /> --> | |||
<image v-else class="arrow" src="/static/images/rate-nocheck.png" mode="" /> | |||
</view> | |||
</view> | |||
</view> | |||
@@ -521,6 +537,11 @@ | |||
data() { | |||
return { | |||
customStyle: { | |||
'width': '320rpx', | |||
'font-size':'34rpx', | |||
'border-bottom': '1px solid #ccc' | |||
}, | |||
wordBiao: { | |||
level: 1, | |||
wordBiaoqian: '', | |||
@@ -757,21 +778,52 @@ | |||
}, | |||
// 添加挖掘词 | |||
wajueConfirm(){ | |||
this.$u.post("/corpus/addWordMining", { | |||
"houseId":this.buildingID,// 楼盘id | |||
"cusId":this.customerId, //客户id | |||
"question":this.thewrongword,// 问题 | |||
"keywordsId":this.wordBiao.wordBiaoqianId,// 标签id | |||
"level":this.wordBiao.level // 标签等级 | |||
}) | |||
.then((res) => { | |||
console.log(res) | |||
this.wajueItem.isshow = false | |||
if(this.thewrongword.length>20){ | |||
uni.showToast({ | |||
title: '该话术不能超过20个字', | |||
icon: 'none', | |||
duration: 2000 | |||
}); | |||
this.wajueshow = true | |||
return; | |||
} | |||
this.wajueshow = true | |||
uni.request({ | |||
url: config.service.addWordMining, | |||
method: "post", | |||
header: { | |||
'content-type': 'application/json', | |||
'Access-Token': uni.getStorageSync('weapp_session_login_data').token | |||
}, | |||
data: { | |||
"houseId":this.buildingID,// 楼盘id | |||
"cusId":this.customerId, //客户id | |||
"question":this.thewrongword,// 问题 | |||
"keywordsId":this.wordBiao.wordBiaoqianId,// 标签id | |||
"level":this.wordBiao.level // 标签等级 | |||
}, | |||
success: (res) => { | |||
// console.log(res) | |||
if(res.data.code==10000){ | |||
uni.showToast({ | |||
title: '添加成功', | |||
duration: 2000 | |||
}); | |||
this.wajueshow = false | |||
}else{ | |||
uni.showToast({ | |||
title: res.data.message, | |||
icon: 'none', | |||
duration: 2000 | |||
}); | |||
this.wajueshow = false | |||
} | |||
} | |||
}) | |||
}, | |||
// 挖掘话术分类树的选择 | |||
confirmTree(e){ | |||
console.log(e) | |||
// console.log(e) | |||
if(e[1].label=='--'){ | |||
this.wordBiao.wordBiaoqian = e[0].label | |||
this.wordBiao.wordBiaoqianId = e[0].value | |||
@@ -781,11 +833,12 @@ | |||
this.wordBiao.wordBiaoqianId= e[1].value | |||
this.wordBiao.level = 2 | |||
} | |||
console.log(this.wordBiao.wordBiaoqian) | |||
// console.log(this.wordBiao.wordBiaoqian) | |||
}, | |||
CancelAdd(){ | |||
this.wajueshow = false | |||
this.wajueItem.isshow= false | |||
this.wordBiao.wordBiaoqian = '' | |||
}, | |||
// 选中取反 | |||
cbChange(item) { | |||
@@ -1586,6 +1639,7 @@ | |||
openwajue(item) { | |||
this.wajueItem = item | |||
this.wajueshow = true; | |||
item.isshow = false | |||
}, | |||
//加精华 | |||
Addtheessence() { | |||
@@ -2690,32 +2744,21 @@ | |||
background-color: #FFFFFF; | |||
display: flex; | |||
margin-bottom:30rpx; | |||
.tian-view-t2 { | |||
width: 100%; | |||
font-size: 34rpx; | |||
display: flex; | |||
align-items: center; | |||
color: #333; | |||
.tian-input { | |||
width: 384rpx; | |||
font-size: 34rpx; | |||
padding: 0 10rpx; | |||
border: none; | |||
border-bottom: 1px solid #e0e0e0; | |||
.word{ | |||
flex: 1; | |||
border-bottom: 1px solid #ccc; | |||
} | |||
} | |||
.tian-view-t3 { | |||
width: 100%; | |||
display: flex; | |||
font-size: 34rpx; | |||
align-items: center; | |||
.huashu-input{ | |||
width: 384rpx; | |||
height: 60rpx; | |||
padding: 0 10rpx; | |||
font-size: 34rpx; | |||
border-bottom: 1px solid #E0E0E0; | |||
.word1{ | |||
height: 80rpx; | |||
flex: 1; | |||
/deep/ textarea{ | |||
max-height: 80rpx !important; | |||
} | |||
} | |||
} | |||
} | |||
@@ -1,8 +1,9 @@ | |||
// http.js使用域名 | |||
const baseUrl = 'http://81.70.55.170:9090/autoSR/api';// 最新测试 | |||
// const baseUrl = 'http://81.70.55.170:9090/autoSR/api';// 测试服务器1 | |||
const baseUrl = 'http://81.70.55.170:7070/api';// 测试服务器2 | |||
// const baseUrl = 'http://127.0.0.1:8080/autoSR/api'; // 本地 | |||
// const baseUrl = 'http://192.168.31.169:8080/autoSR/api'; // 长龙 | |||
// const baseUrl = 'http://192.168.31.149:9090/api'; // 盛浩 | |||
// const baseUrl = 'http://192.168.31.231:8080/autoSR/api'; // 长龙 | |||
// const baseUrl = 'http://192.168.31.149:8080/api'; // 盛浩 | |||
// const baseUrl = 'https://zkgj.quhouse.com/api'; // 质控正式 | |||
// const baseUrl = 'https://hfju.com/api'; // 数智正式 | |||
// const baseUrl = 'https://xitong.pachira.cn/api'; // AI营销辅助 普强使用 | |||