@@ -1,5 +1,5 @@ | |||||
{ | { | ||||
"name" : "去房智控管家", | |||||
"name" : "数智工牌", | |||||
"appid" : "__UNI__7A1611D", | "appid" : "__UNI__7A1611D", | ||||
"description" : "去房智控管家", | "description" : "去房智控管家", | ||||
"versionName" : "1.1.0", | "versionName" : "1.1.0", | ||||
@@ -91,7 +91,7 @@ | |||||
}, | }, | ||||
"quickapp" : {}, | "quickapp" : {}, | ||||
"mp-weixin" : { | "mp-weixin" : { | ||||
"appid" : "wx8f883dca5ecc5510", | |||||
"appid" : "wxe044603515ff2cb5", | |||||
"setting" : { | "setting" : { | ||||
"urlCheck" : false, | "urlCheck" : false, | ||||
"es6" : true, | "es6" : true, | ||||
@@ -76,11 +76,14 @@ | |||||
<text style="margin-right: 10rpx;">对比:{{index==1?item.num1+'%':item.num1}} </text> | <text style="margin-right: 10rpx;">对比:{{index==1?item.num1+'%':item.num1}} </text> | ||||
<template v-if="item.num2*1 != 0"> | <template v-if="item.num2*1 != 0"> | ||||
<text | <text | ||||
:style="{color:item.num2*1>0?'red':'green'}">{{item.num2+'%'}}{{item.num2*1 > 0 ? '↑':'↓'}}</text> | |||||
:style="{color:item.num2*1>0?'red':'green'}"> | |||||
<!-- +'%' --> | |||||
{{item.num2}}{{ item.name == '平均执行率' ? "%" : "" }}{{item.num2*1 > 0 ? '↑':'↓'}}</text> | |||||
</template> | </template> | ||||
<template v-else> | <template v-else> | ||||
<!-- +'%' --> | |||||
<text | <text | ||||
:style="{color:item.num2*1>0?'red':'green'}">{{item.num2+'%'}}</text> | |||||
:style="{color:item.num2*1>0?'red':'green'}">{{item.num2}}{{ item.name == '平均执行率' ? "%" : "" }}</text> | |||||
</template> | </template> | ||||
</view> | </view> | ||||
</view> | </view> | ||||
@@ -1405,12 +1405,12 @@ | |||||
} | } | ||||
.pon-foot { | .pon-foot { | ||||
position: fixed; | |||||
position: sticky; | |||||
bottom: 0; | |||||
width: 750rpx; | width: 750rpx; | ||||
height: 100rpx; | height: 100rpx; | ||||
background: #FFFFFF; | background: #FFFFFF; | ||||
box-shadow: 0px -2rpx 8rpx 0rpx rgba(224, 224, 224, 0.5); | box-shadow: 0px -2rpx 8rpx 0rpx rgba(224, 224, 224, 0.5); | ||||
bottom: 0; | |||||
display: flex; | display: flex; | ||||
justify-content: space-around; | justify-content: space-around; | ||||
align-items: center; | align-items: center; | ||||
@@ -17,18 +17,17 @@ | |||||
</view> | </view> | ||||
<zaudio :duration="duration" theme="theme4"></zaudio> | <zaudio :duration="duration" theme="theme4"></zaudio> | ||||
</view> | </view> | ||||
<scroll-view lower-threshold='20px' @scrolltolower="ltolower()" scroll-y="true" | |||||
class="text scroll-Y" :scroll-top="scrollTop" :scroll-into-view="scrollId"> | |||||
<scroll-view lower-threshold='20px' @scrolltolower="ltolower()" scroll-y="true" class="text scroll-Y" | |||||
:scroll-top="scrollTop" :scroll-into-view="scrollId"> | |||||
<!-- 音频识别模块 --> | <!-- 音频识别模块 --> | ||||
<view> | <view> | ||||
<!-- 聊天记录--> | <!-- 聊天记录--> | ||||
<view class="dialog-block" v-for="(dialog,i) in dialogList" :key="i"> | <view class="dialog-block" v-for="(dialog,i) in dialogList" :key="i"> | ||||
<view :id="'dialog'+i" class="fileName">录音文件</view> | <view :id="'dialog'+i" class="fileName">录音文件</view> | ||||
<view class="text dingweishiy" | |||||
v-for="(item,index) in dialog.message" :key="index" :id="'dialog'+csdFileindex+'text'+item.bg" | |||||
:class="{active: Math.floor(item.bg/1000) <= playNow && Math.floor(item.ed/1000) > playNow && i==0}" | |||||
:data-speaker="item.speaker" | |||||
> | |||||
<view class="text dingweishiy" v-for="(item,index) in dialog.message" :key="index" | |||||
:id="'dialog'+csdFileindex+'text'+item.bg" | |||||
:class="{active: Math.floor(item.bg/1000) <= playNow && Math.floor(item.ed/1000) > playNow && i==0}" | |||||
:data-speaker="item.speaker"> | |||||
<view class="avatar"> | <view class="avatar"> | ||||
<text :style="[SPEAKERSTYLE(item.speaker)]">{{ item.speaker | toCapital }}</text> | <text :style="[SPEAKERSTYLE(item.speaker)]">{{ item.speaker | toCapital }}</text> | ||||
</view> | </view> | ||||
@@ -208,23 +207,23 @@ | |||||
startFile: '', | startFile: '', | ||||
num: 0, //上拉 转写文件下标 | num: 0, //上拉 转写文件下标 | ||||
Bnum: 0, //下拉 转写文件下标 | Bnum: 0, //下拉 转写文件下标 | ||||
ACTION: Symbol('zaudio'), // 唯一值区分每个页面的方法 | ACTION: Symbol('zaudio'), // 唯一值区分每个页面的方法 | ||||
isPageHide: false, // 是否息屏 | isPageHide: false, // 是否息屏 | ||||
duration: '', | duration: '', | ||||
}; | }; | ||||
}, | }, | ||||
onLoad(options) { | onLoad(options) { | ||||
this.startTime=options.startTime | |||||
this.customerId=options.customerId, | |||||
this.biaoqian=options.biaoqian; | |||||
this.startFile=options.startFile; | |||||
this.startTime = options.startTime | |||||
this.customerId = options.customerId; | |||||
this.biaoqian = options.biaoqian; | |||||
this.startFile = options.startFile; | |||||
this.getdianzan() | this.getdianzan() | ||||
this.getCommentList(); | this.getCommentList(); | ||||
//注意: 不同的回调方法, 相同的业务函数方法名, 不会相互影响; | //注意: 不同的回调方法, 相同的业务函数方法名, 不会相互影响; | ||||
this.$zaudio.on('stop', this.ACTION, () => { | this.$zaudio.on('stop', this.ACTION, () => { | ||||
console.log('我是强制暂停或关闭小程序音频浮窗触发的') | console.log('我是强制暂停或关闭小程序音频浮窗触发的') | ||||
@@ -241,14 +240,16 @@ | |||||
}) | }) | ||||
}, | }, | ||||
onShow() { | onShow() { | ||||
//实时渲染当前的播放状态 | |||||
this.$zaudio.syncRender() | |||||
this.initRecord(); | this.initRecord(); | ||||
!this.isPageHide && this.getluyinList(); | !this.isPageHide && this.getluyinList(); | ||||
}, | }, | ||||
onHide() { | onHide() { | ||||
this.isPageHide = true | this.isPageHide = true | ||||
}, | }, | ||||
onUnload(){ | |||||
onUnload() { | |||||
//卸载不需要的业务和获取播放状态的业务,提高页面性能 | //卸载不需要的业务和获取播放状态的业务,提高页面性能 | ||||
this.$zaudio.off('seek', this.ACTION); | this.$zaudio.off('seek', this.ACTION); | ||||
this.$zaudio.off('stop', this.ACTION); | this.$zaudio.off('stop', this.ACTION); | ||||
@@ -264,11 +265,13 @@ | |||||
const message = this.dialogList[0].message; | const message = this.dialogList[0].message; | ||||
if (!message) return | if (!message) return | ||||
for (let i = 0; i < message.length; i++) { | for (let i = 0; i < message.length; i++) { | ||||
if ((Math.floor(message[i].bg / 1000) <= this.playNow && this.playNow < Math.floor(message[i].ed / 1000))) { | |||||
if ((Math.floor(message[i].bg / 1000) <= this.playNow && this.playNow < Math.floor(message[i].ed / | |||||
1000))) { | |||||
this.scrollId = "dialog" + this.csdFileindex + "text" + message[i].bg; | this.scrollId = "dialog" + this.csdFileindex + "text" + message[i].bg; | ||||
break; | break; | ||||
} | } | ||||
if (i < message.length - 1 && Math.floor(message[i].ed / 1000) < this.playNow && this.playNow < Math.floor(message[i + 1].bg / 1000)) { | |||||
if (i < message.length - 1 && Math.floor(message[i].ed / 1000) < this.playNow && this.playNow < | |||||
Math.floor(message[i + 1].bg / 1000)) { | |||||
this.scrollId = "dialog" + this.csdFileindex + "text" + message[i].bg; | this.scrollId = "dialog" + this.csdFileindex + "text" + message[i].bg; | ||||
break; | break; | ||||
} | } | ||||
@@ -286,8 +289,8 @@ | |||||
duration: 2000 | duration: 2000 | ||||
}); | }); | ||||
return | return | ||||
}else { | |||||
this.num=this.num+1; | |||||
} else { | |||||
this.num = this.num + 1; | |||||
uni.request({ | uni.request({ | ||||
url: config.service.getCorpusAnalysis + '?corpusId=' + this.luyinList[this.num].id + | url: config.service.getCorpusAnalysis + '?corpusId=' + this.luyinList[this.num].id + | ||||
"&customerId=" + this.customerId, //仅为示例,并非真实接口地址。 | "&customerId=" + this.customerId, //仅为示例,并非真实接口地址。 | ||||
@@ -298,8 +301,7 @@ | |||||
}, | }, | ||||
success: (data) => { | success: (data) => { | ||||
if (data.data.code == 10000) { | if (data.data.code == 10000) { | ||||
if (data.data.data.audioContent.length == 0) { | |||||
} else { | |||||
if (data.data.data.audioContent.length == 0) {} else { | |||||
const jsonInfo = JSON.parse(data.data.data.audioContent); | const jsonInfo = JSON.parse(data.data.data.audioContent); | ||||
this.dialogList.push({ | this.dialogList.push({ | ||||
message: jsonInfo | message: jsonInfo | ||||
@@ -386,9 +388,9 @@ | |||||
if (cet.id == this.startFile) { | if (cet.id == this.startFile) { | ||||
this.csdFileindex = index; | this.csdFileindex = index; | ||||
this.recordPath = res[index].recordPath | this.recordPath = res[index].recordPath | ||||
this.date=res[index].receptionTime | |||||
this.num=index;//下拉起始位置 | |||||
this.Bnum=index; | |||||
this.date = res[index].receptionTime | |||||
this.num = index; //下拉起始位置 | |||||
this.Bnum = index; | |||||
this.luyinList = res; | this.luyinList = res; | ||||
this.zyAudio(); | this.zyAudio(); | ||||
this.getCorpusAnalysis() | this.getCorpusAnalysis() | ||||
@@ -455,7 +457,7 @@ | |||||
uni.hideLoading(); | uni.hideLoading(); | ||||
} | } | ||||
}, | }, | ||||
//音频前进回退 | //音频前进回退 | ||||
sliderChangeComplate(currentTime) {}, | sliderChangeComplate(currentTime) {}, | ||||
// 获取转义后的对话结果 | // 获取转义后的对话结果 | ||||
@@ -477,11 +479,11 @@ | |||||
}); | }); | ||||
setTimeout(function() { | setTimeout(function() { | ||||
uni.hideLoading(); | uni.hideLoading(); | ||||
}, 2000); | |||||
}else{} | |||||
}, | |||||
}, 2000); | |||||
} else {} | |||||
}, | |||||
fail(error) { | fail(error) { | ||||
return false; | |||||
return false; | |||||
} | } | ||||
}); | }); | ||||
}, | }, | ||||
@@ -490,12 +492,12 @@ | |||||
}, | }, | ||||
// 文件切换播放 | // 文件切换播放 | ||||
filechange(item, i) { | filechange(item, i) { | ||||
this.num=i;//下拉起始位置 | |||||
this.Bnum=i; | |||||
this.csdFileindex=i; | |||||
this.num = i; //下拉起始位置 | |||||
this.Bnum = i; | |||||
this.csdFileindex = i; | |||||
this.recordPath = item.recordPath; | this.recordPath = item.recordPath; | ||||
this.date=item.receptionTime; | |||||
this.isshowFile=false; | |||||
this.date = item.receptionTime; | |||||
this.isshowFile = false; | |||||
setTimeout(() => { | setTimeout(() => { | ||||
this.$zaudio.operate(i) | this.$zaudio.operate(i) | ||||
}, 50) | }, 50) | ||||
@@ -663,7 +665,7 @@ | |||||
}) | }) | ||||
}) | }) | ||||
}, | }, | ||||
//录音实例 | //录音实例 | ||||
zyAudio() { | zyAudio() { | ||||
let data = this.luyinList.map((item, index) => { | let data = this.luyinList.map((item, index) => { | ||||
@@ -677,10 +679,17 @@ | |||||
this.$zaudio.setAudio(data) | this.$zaudio.setAudio(data) | ||||
//渲染第一首音频 | //渲染第一首音频 | ||||
this.$zaudio.setRender(0) | this.$zaudio.setRender(0) | ||||
if (this.startTime) { | |||||
setTimeout(() => { | |||||
this.stepPlay(parseInt(this.startTime / 1000)) | |||||
}) | |||||
} | |||||
}, | }, | ||||
// 跳转指定位置播放 | // 跳转指定位置播放 | ||||
stepPlay(t) { | stepPlay(t) { | ||||
console.log(t) | |||||
this.$zaudio.seek(t) | this.$zaudio.seek(t) | ||||
if (this.$zaudio.paused) { | if (this.$zaudio.paused) { | ||||
this.$zaudio.operate() | this.$zaudio.operate() | ||||
@@ -8,15 +8,15 @@ | |||||
<view class="cwjs-item center"> | <view class="cwjs-item center"> | ||||
<image src="https://qufang.oss-cn-beijing.aliyuncs.com/channelHelper/user.png" class="logo_input"> | <image src="https://qufang.oss-cn-beijing.aliyuncs.com/channelHelper/user.png" class="logo_input"> | ||||
</image> | </image> | ||||
<input class="cwjs-item cwjs-input" v-model="username" placeholder="请输入账号名" type="number" maxlength="11" placeholder-style="color:#AAAAAA"/> | |||||
<input class="cwjs-item cwjs-input" style="font-size: 36rpx;" v-model="username" placeholder="请输入账号名" type="number" maxlength="11" placeholder-style="color:#AAAAAA"/> | |||||
</view> | </view> | ||||
</view> | </view> | ||||
<view class="cwjs-cells item-flex" style="margin-top:13rpx;"> | <view class="cwjs-cells item-flex" style="margin-top:13rpx;"> | ||||
<view class="cwjs-item center"> | <view class="cwjs-item center"> | ||||
<image src="https://qufang.oss-cn-beijing.aliyuncs.com/channelHelper/lock.png" class="logo_input"> | <image src="https://qufang.oss-cn-beijing.aliyuncs.com/channelHelper/lock.png" class="logo_input"> | ||||
</image> | </image> | ||||
<input class="cwjs-item cwjs-input" placeholder="请输入密码" placeholder-style="color:#AAAAAA" type="password" v-model="password" maxlength="16" v-if="passwordType"/> | |||||
<input class="cwjs-item cwjs-input" placeholder="请输入密码" placeholder-style="color:#AAAAAA" maxlength="16" v-model="password" v-else/> | |||||
<input class="cwjs-item cwjs-input" style="font-size: 36rpx;" placeholder="请输入密码" placeholder-style="color:#AAAAAA" type="password" v-model="password" maxlength="16" v-if="passwordType"/> | |||||
<input class="cwjs-item cwjs-input" style="font-size: 36rpx;" placeholder="请输入密码" placeholder-style="color:#AAAAAA" maxlength="16" v-model="password" v-else/> | |||||
</view> | </view> | ||||
<view class="imagesBox" @tap="changeBindPassword"> | <view class="imagesBox" @tap="changeBindPassword"> | ||||
<image v-if="passwordType==false" src="../../static/images/zhengkai.png" class="images" mode="scaleToFill"></image> | <image v-if="passwordType==false" src="../../static/images/zhengkai.png" class="images" mode="scaleToFill"></image> | ||||
@@ -9,12 +9,6 @@ | |||||
<image v-if="status==0" @click="notappick()" src="../../static/images/nopike.png" mode=""></image> | <image v-if="status==0" @click="notappick()" src="../../static/images/nopike.png" mode=""></image> | ||||
</view> | </view> | ||||
</view> | </view> | ||||
<!-- <view class="inputbox" v-if="guanjianciishow"> | |||||
<view class="thisinput" @click="toKeywordsearch()"> | |||||
请输入或选择 | |||||
</view> | |||||
</view> --> | |||||
<!-- 标记顾问 --> | |||||
<view class="headboxbott"> | <view class="headboxbott"> | ||||
<view class="headovfu"> | <view class="headovfu"> | ||||
<u-tabs-swiper ref="tabs" font-size="30" :bold="true" swiper-width="600" :current="roleindex" | <u-tabs-swiper ref="tabs" font-size="30" :bold="true" swiper-width="600" :current="roleindex" | ||||
@@ -34,7 +28,14 @@ | |||||
<view :id="'dialog'+i" class="fileName">录音文件</view> | <view :id="'dialog'+i" class="fileName">录音文件</view> | ||||
<view class="text" :id="'dialog'+csdFileindex+'text'+item.bg" | <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}" | :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"> | |||||
v-for="(item,index) in dialog.message" :key="index" :data-speaker="item.speaker" @click.stop> | |||||
<template v-if="refined"> | |||||
<view class="checkbox" :class="{select: item.checked}" @click="cbChange(item)"> | |||||
<template v-if="item.checked"> | |||||
<u-icon name="checkbox-mark" color="#fff" /> | |||||
</template> | |||||
</view> | |||||
</template> | |||||
<view class="avatar"> | <view class="avatar"> | ||||
<view :style="[SPEAKERSTYLE(item.speaker)]"> | <view :style="[SPEAKERSTYLE(item.speaker)]"> | ||||
<text>{{ item.speaker | toCapital }}</text> | <text>{{ item.speaker | toCapital }}</text> | ||||
@@ -73,14 +74,14 @@ | |||||
</view> | </view> | ||||
</view> | </view> | ||||
</view> | </view> | ||||
<image @click="clickbofang(dialog.backindex,item)" class="play" | |||||
<image v-if="!refined" @click="clickbofang(dialog.backindex,item)" class="play" | |||||
src="../../static/images/recordingManagement/play.png"></image> | src="../../static/images/recordingManagement/play.png"></image> | ||||
</view> | </view> | ||||
</view> | </view> | ||||
</view> | </view> | ||||
</view> | </view> | ||||
</scroll-view> | </scroll-view> | ||||
<view class="bottombox"> | |||||
<view class="bottombox" v-if="!refined"> | |||||
<!-- 播放块 :src="recordPath" --> | <!-- 播放块 :src="recordPath" --> | ||||
<zaudio :duration="duration" theme="theme4"></zaudio> | <zaudio :duration="duration" theme="theme4"></zaudio> | ||||
<!-- 底部弹框 --> | <!-- 底部弹框 --> | ||||
@@ -106,13 +107,27 @@ | |||||
mode=""></image> | mode=""></image> | ||||
<view @click="Receivedetailsabouttab('Receivedetailsabout')">更多</view> | <view @click="Receivedetailsabouttab('Receivedetailsabout')">更多</view> | ||||
<view class="allimg" v-if="Thetapeidisshow"> | <view class="allimg" v-if="Thetapeidisshow"> | ||||
<view v-if="eqLog!=-1" @click="eqLogClick()" style="line-height: 70rpx;margin-top: 10rpx;">设备日志</view> | |||||
<view v-if="eqLog!=-1" @click="eqLogClick()" style="line-height: 70rpx;margin-top: 10rpx;">设备日志 | |||||
</view> | |||||
<view @click="Receivetap()" style="line-height: 70rpx;margin-top: 10rpx;">接待信息</view> | <view @click="Receivetap()" style="line-height: 70rpx;margin-top: 10rpx;">接待信息</view> | ||||
<view v-if="Menulistisshow==true" @click="alllogo()" style="line-height:70rpx;">{{userlistobj.validInvalidName}}</view> | |||||
<view v-if="Menulistisshow==true" @click="alllogo()" style="line-height:70rpx;"> | |||||
{{userlistobj.validInvalidName}} | |||||
</view> | |||||
</view> | </view> | ||||
</view> | </view> | ||||
<view class="tmmchen" @click="Receivetap()" v-if="Menulistisshow==false"> | |||||
<image @click="Receivedetailsabouttab('Receivedetailsabout')" | |||||
src="../../static/images/audioinfo2.png" mode=""></image> | |||||
<view @click="Receivedetailsabouttab('Receivedetailsabout')">接待信息</view> | |||||
</view> | |||||
</view> | </view> | ||||
</view> | </view> | ||||
<template v-else> | |||||
<view class="bottomboxs"> | |||||
<view class="bottomboxs-item" @click="sureRefinement">确定</view> | |||||
<view class="bottomboxs-item" @click="cancelAllAdd">取消</view> | |||||
</view> | |||||
</template> | |||||
<!-- 标记 --> | <!-- 标记 --> | ||||
<view class="zhezhao" v-if="biojiisshow" @tap="unmarktap()"></view> | <view class="zhezhao" v-if="biojiisshow" @tap="unmarktap()"></view> | ||||
<view class="bounced" v-if="biojiisshow"> | <view class="bounced" v-if="biojiisshow"> | ||||
@@ -230,9 +245,12 @@ | |||||
</view> | </view> | ||||
</view> | </view> | ||||
<view class="pingfenbox"> | <view class="pingfenbox"> | ||||
<view :class="{ activecllasscet: zhixingcenterindex == 0 }" @click="recordclick(0)">销讲总执行率{{totalRate||0}}%</view> | |||||
<view v-if="methodsisshow==true" :class="{ activecllasscet: zhixingcenterindex == 1 }" @click="recordclick(1)">禁忌执行</view> | |||||
<view :class="{ activecllasscet: zhixingcenterindex == 2 }" @click="recordclick(2)">需求挖掘率{{KeyWordsfraction||0}}%</view> | |||||
<view :class="{ activecllasscet: zhixingcenterindex == 0 }" @click="recordclick(0)"> | |||||
销讲总执行率{{totalRate||0}}%</view> | |||||
<view v-if="methodsisshow==true" :class="{ activecllasscet: zhixingcenterindex == 1 }" | |||||
@click="recordclick(1)">禁忌执行</view> | |||||
<view :class="{ activecllasscet: zhixingcenterindex == 2 }" @click="recordclick(2)"> | |||||
需求挖掘率{{KeyWordsfraction||0}}%</view> | |||||
</view> | </view> | ||||
<view v-if="zhixingcenterindex == 0" class="cenisbox"> | <view v-if="zhixingcenterindex == 0" class="cenisbox"> | ||||
<view | <view | ||||
@@ -269,14 +287,13 @@ | |||||
</view> | </view> | ||||
</view> | </view> | ||||
<view class="hsnrtest" v-if="subitem.show">话术内容</view> | <view class="hsnrtest" v-if="subitem.show">话术内容</view> | ||||
<view class="Level3che" @tap="clickaudeopal(che)" v-if="subitem.show" | |||||
<view class="Level3che" @tap="clickaudeopal(che)" v-if="subitem.show" | |||||
v-for="(che,inc) in subitem.children" :key='inc'> | v-for="(che,inc) in subitem.children" :key='inc'> | ||||
<view class="title1" :class="{gray: che.viewFlag == 1}">{{inc+1}}.{{che.name}}</view> | <view class="title1" :class="{gray: che.viewFlag == 1}">{{inc+1}}.{{che.name}}</view> | ||||
<view class="jiantobox"> | <view class="jiantobox"> | ||||
<image v-if="che.selected==0" class="arrow" src="/static/images/rate-checked.png" | <image v-if="che.selected==0" class="arrow" src="/static/images/rate-checked.png" | ||||
mode="" /> | mode="" /> | ||||
<image v-else class="arrow" src="/static/images/rate-nocheck.png" | |||||
mode="" /> | |||||
<image v-else class="arrow" src="/static/images/rate-nocheck.png" mode="" /> | |||||
</view> | </view> | ||||
</view> | </view> | ||||
<view v-if="subitem.show" style="width: 100%;height: 30rpx;"></view> | <view v-if="subitem.show" style="width: 100%;height: 30rpx;"></view> | ||||
@@ -303,7 +320,8 @@ | |||||
<view class="title1">{{item.name}}</view> | <view class="title1">{{item.name}}</view> | ||||
<view class="leve1-jindu"> | <view class="leve1-jindu"> | ||||
<view class="jindutiao"> | <view class="jindutiao"> | ||||
<view class="huanxing" v-if="item.selected==0" :style="{width: item.fraction+'%'}"></view> | |||||
<view class="huanxing" v-if="item.selected==0" :style="{width: item.fraction+'%'}"> | |||||
</view> | |||||
<view class="huanxing" v-else style="width: 0"></view> | <view class="huanxing" v-else style="width: 0"></view> | ||||
<view class="text">{{item.selected==0?item.fraction:0}}%</view> | <view class="text">{{item.selected==0?item.fraction:0}}%</view> | ||||
</view> | </view> | ||||
@@ -313,18 +331,16 @@ | |||||
<image v-else class="arrow" src="/static/images/up.png" mode="" /> | <image v-else class="arrow" src="/static/images/up.png" mode="" /> | ||||
</view> | </view> | ||||
</view> | </view> | ||||
<!-- 话术在一级下 --> | |||||
<!-- 话术在一级下 --> | |||||
<view v-if="item.showLevel==1"> | <view v-if="item.showLevel==1"> | ||||
<view class="hhhbox" v-if="item.show" style="padding: 30rpx;"> | <view class="hhhbox" v-if="item.show" style="padding: 30rpx;"> | ||||
<view class="hsnrtest">话术内容</view> | <view class="hsnrtest">话术内容</view> | ||||
<view class="Level3che" | |||||
v-for="(che,inc) in item.questionList" :key='inc'> | |||||
<view class="Level3che" v-for="(che,inc) in item.questionList" :key='inc'> | |||||
<view class="title1">{{inc+1}}.{{che.question}}</view> | <view class="title1">{{inc+1}}.{{che.question}}</view> | ||||
<view class="jiantobox"> | |||||
<view class="jiantobox"> | |||||
<image v-if="che.selected==0" class="arrow" src="/static/images/rate-checked.png" | <image v-if="che.selected==0" class="arrow" src="/static/images/rate-checked.png" | ||||
mode="" /> | mode="" /> | ||||
<image v-else class="arrow" src="/static/images/rate-nocheck.png" | |||||
mode="" /> | |||||
<image v-else class="arrow" src="/static/images/rate-nocheck.png" mode="" /> | |||||
</view> | </view> | ||||
</view> | </view> | ||||
</view> | </view> | ||||
@@ -346,14 +362,12 @@ | |||||
</view> | </view> | ||||
<view v-if="subitem.show" style="padding: 30rpx 0;"> | <view v-if="subitem.show" style="padding: 30rpx 0;"> | ||||
<view class="hsnrtest">话术内容</view> | <view class="hsnrtest">话术内容</view> | ||||
<view class="Level3che" | |||||
v-for="(che,inc) in subitem.questionList" :key='inc'> | |||||
<view class="Level3che" v-for="(che,inc) in subitem.questionList" :key='inc'> | |||||
<view class="title1">{{inc+1}}.{{che.question}}</view> | <view class="title1">{{inc+1}}.{{che.question}}</view> | ||||
<view class="jiantobox"> | <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="" /> | |||||
<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> | </view> | ||||
</view> | </view> | ||||
@@ -486,9 +500,9 @@ | |||||
<u-select v-model="treeshow" mode="mutil-column-auto" @confirm="confirmTree" :list="treelist"></u-select> | <u-select v-model="treeshow" mode="mutil-column-auto" @confirm="confirmTree" :list="treelist"></u-select> | ||||
<!-- 加载组件 --> | <!-- 加载组件 --> | ||||
<loading v-model="LOADING"></loading> | <loading v-model="LOADING"></loading> | ||||
</view> | </view> | ||||
</template> | </template> | ||||
<script> | <script> | ||||
@@ -615,7 +629,8 @@ | |||||
isPageHide: false, // 是否息屏 | isPageHide: false, // 是否息屏 | ||||
duration: '', // 总时长 | duration: '', // 总时长 | ||||
isBand: false, // 阻止二次提交 | isBand: false, // 阻止二次提交 | ||||
eqLog:0, | |||||
refined: false, | |||||
eqLog: 0, | |||||
}; | }; | ||||
}, | }, | ||||
computed: { | computed: { | ||||
@@ -628,10 +643,11 @@ | |||||
onLoad(options) { | onLoad(options) { | ||||
this.LOADING = true | this.LOADING = true | ||||
let menu = uni.getStorageSync('weapp_session_Menu_data'); | let menu = uni.getStorageSync('weapp_session_Menu_data'); | ||||
this.eqLog = menu.findIndex(item=>item.name=='设备日志'); | |||||
this.eqLog = menu.findIndex(item => item.name == '设备日志'); | |||||
this.status = options.status; | this.status = options.status; | ||||
this.customerId = options.customerId; | this.customerId = options.customerId; | ||||
this.KeyWordsfraction = options.wordFraction=='undefined'?0:options.wordFraction; | |||||
this.KeyWordsfraction = options.wordFraction == 'undefined' ? 0 : options.wordFraction; | |||||
this.itemobj = uni.getStorageSync('searchobj'); | this.itemobj = uni.getStorageSync('searchobj'); | ||||
// console.log(this.itemobj) | // console.log(this.itemobj) | ||||
this.stateisshow = options.stateisshow; | this.stateisshow = options.stateisshow; | ||||
@@ -768,6 +784,11 @@ | |||||
this.wajueshow = false | this.wajueshow = false | ||||
this.wajueItem.isshow= false | this.wajueItem.isshow= false | ||||
}, | }, | ||||
// 选中取反 | |||||
cbChange(item) { | |||||
item.checked = !item.checked | |||||
this.$forceUpdate() | |||||
}, | |||||
// 隐藏长按提示框 | // 隐藏长按提示框 | ||||
cancelBeast() { | cancelBeast() { | ||||
this.dialogList.forEach(res => { | this.dialogList.forEach(res => { | ||||
@@ -776,12 +797,27 @@ | |||||
}) | }) | ||||
}) | }) | ||||
}, | }, | ||||
hangeshow2(item,type){ | |||||
// 重置选择加精的内容 | |||||
cancelAllAdd() { | |||||
console.log('chufa') | |||||
this.dialogList.forEach(item => { | |||||
if (item.message && item.message.length > 0) { | |||||
item.message.forEach(items => { | |||||
items.checked = false | |||||
}) | |||||
} | |||||
}) | |||||
this.refined = false | |||||
// this.$forceUpdate() | |||||
}, | |||||
hangeshow2(item, type) { | |||||
item.show = !item.show; | item.show = !item.show; | ||||
}, | }, | ||||
eqLogClick(){ | |||||
eqLogClick() { | |||||
uni.navigateTo({ | uni.navigateTo({ | ||||
url:`./equipmentLog?id=${this.customerId}` | |||||
url: `./equipmentLog?id=${this.customerId}` | |||||
}) | }) | ||||
}, | }, | ||||
rolexuanze(index) { | rolexuanze(index) { | ||||
@@ -837,9 +873,9 @@ | |||||
this.zhixingcenterindex = i; | this.zhixingcenterindex = i; | ||||
if (i == 0) { | if (i == 0) { | ||||
this.getRatelist() | this.getRatelist() | ||||
} else if(i==1) { | |||||
} else if (i == 1) { | |||||
this.huoqujinji() | this.huoqujinji() | ||||
}else{ | |||||
} else { | |||||
this.getfindKeyWordsBycusId() | this.getfindKeyWordsBycusId() | ||||
} | } | ||||
}, | }, | ||||
@@ -866,7 +902,7 @@ | |||||
this.Pinspeak = false | this.Pinspeak = false | ||||
uni.navigateTo({ | uni.navigateTo({ | ||||
url: '/pages/mine/ScoringPlaylist?customerId=' + this.customerId + "&id=" + item | url: '/pages/mine/ScoringPlaylist?customerId=' + this.customerId + "&id=" + item | ||||
.marketingId + "&type=" + 0 + '&UpDateEvent=DETAILS2INIT' | |||||
.marketingId + "&type=" + 0 + '&UpDateEvent=DETAILS2INIT' | |||||
}) | }) | ||||
} | } | ||||
}, | }, | ||||
@@ -1006,34 +1042,34 @@ | |||||
success: function(res) { | success: function(res) { | ||||
that.isBand = true | that.isBand = true | ||||
if (that.noClick) { | if (that.noClick) { | ||||
that.noClick= false; | |||||
if (res.confirm) { | |||||
let parames = { | |||||
id: that.customerId, | |||||
validInvalid: '', | |||||
invalidReason: 0 | |||||
} | |||||
if (that.userlistobj.validInvalid == 0) { | |||||
parames.validInvalid = 1; | |||||
} else { | |||||
parames.validInvalid = 0; | |||||
} | |||||
that.$u.post("/customer/updateValidInvalid", parames).then(res => { | |||||
console.log(res) | |||||
that.noClick = false; | |||||
if (res.confirm) { | |||||
let parames = { | |||||
id: that.customerId, | |||||
validInvalid: '', | |||||
invalidReason: 0 | |||||
} | |||||
if (that.userlistobj.validInvalid == 0) { | |||||
parames.validInvalid = 1; | |||||
} else { | |||||
parames.validInvalid = 0; | |||||
} | |||||
that.$u.post("/customer/updateValidInvalid", parames).then(res => { | |||||
console.log(res) | |||||
that.isBand = false | that.isBand = false | ||||
that.Thetapeidisshow = false; | |||||
}).catch(e => { | |||||
that.Thetapeidisshow = false; | |||||
}).catch(e => { | |||||
that.isBand = false | that.isBand = false | ||||
}) | }) | ||||
} | |||||
setTimeout(()=> { | |||||
that.noClick= true; | |||||
}, 2000) | |||||
} | |||||
setTimeout(() => { | |||||
that.noClick = true; | |||||
}, 2000) | |||||
} else { | } else { | ||||
// 这里是重复点击的判断 | |||||
// 这里是重复点击的判断 | |||||
} | } | ||||
} | } | ||||
}); | }); | ||||
} else { | } else { | ||||
@@ -1064,7 +1100,7 @@ | |||||
this.$u.post("/customer/updateValidInvalid", parames).then(res => { | this.$u.post("/customer/updateValidInvalid", parames).then(res => { | ||||
console.log(res) | console.log(res) | ||||
this.Thetapeidisshow = false; | this.Thetapeidisshow = false; | ||||
}).catch(e=>{ | |||||
}).catch(e => { | |||||
this.isBand = false | this.isBand = false | ||||
}) | }) | ||||
}, | }, | ||||
@@ -1166,7 +1202,8 @@ | |||||
this.newluyinList = []; | this.newluyinList = []; | ||||
this.fenjiaoseunfo() | this.fenjiaoseunfo() | ||||
this.$forceUpdate() | this.$forceUpdate() | ||||
}, //------------------------------------分角色标记刷新 | |||||
}, | |||||
//------------------------------------分角色标记刷新 | |||||
fenjiaoseunfo() { | fenjiaoseunfo() { | ||||
var bgcd = this.playNow * 1000; | var bgcd = this.playNow * 1000; | ||||
this.newluyinList = []; | this.newluyinList = []; | ||||
@@ -1247,10 +1284,13 @@ | |||||
//下拉标记点 | //下拉标记点 | ||||
this.toptextindex = data.data.data.index; | this.toptextindex = data.data.data.index; | ||||
this.isShowMark = data.data.data.viewNameFlag; | this.isShowMark = data.data.data.viewNameFlag; | ||||
console.log(this.isShowMark) | |||||
jsonInfo.forEach(item => { | jsonInfo.forEach(item => { | ||||
item.message = JSON.parse(item.onebest) | item.message = JSON.parse(item.onebest) | ||||
item.backindex = this.csdFileindex | item.backindex = this.csdFileindex | ||||
console.log(item.message, '123u8123u89i123io') | |||||
item.message.forEach(info => { | |||||
info.checked = false | |||||
}) | |||||
}) | }) | ||||
this.newluyinList = jsonInfo; | this.newluyinList = jsonInfo; | ||||
@@ -1521,7 +1561,7 @@ | |||||
title: '正确值不能为空', | title: '正确值不能为空', | ||||
type: 'warning', | type: 'warning', | ||||
}) | }) | ||||
this.isshow2 = true; | |||||
this.isshow2 = true; | |||||
return | return | ||||
} | } | ||||
} else { | } else { | ||||
@@ -1529,7 +1569,7 @@ | |||||
title: '错误词不能为空', | title: '错误词不能为空', | ||||
type: 'warning', | type: 'warning', | ||||
}) | }) | ||||
this.isshow2 = true; | |||||
this.isshow2 = true; | |||||
return | return | ||||
} | } | ||||
} | } | ||||
@@ -1553,6 +1593,12 @@ | |||||
}, | }, | ||||
//加精华 | //加精华 | ||||
Addtheessence() { | Addtheessence() { | ||||
this.refined = true | |||||
this.cancelBeast() | |||||
}, | |||||
// 确认批量加精 | |||||
sureRefinement() { | |||||
this.isshow3 = true; | this.isshow3 = true; | ||||
this.biaoqianlist = [] | this.biaoqianlist = [] | ||||
let parames = { | let parames = { | ||||
@@ -1566,6 +1612,7 @@ | |||||
}) | }) | ||||
}) | }) | ||||
}, | }, | ||||
// 取消加精 | // 取消加精 | ||||
Cancelout2() { | Cancelout2() { | ||||
this.isshow3 = false; | this.isshow3 = false; | ||||
@@ -1650,30 +1697,30 @@ | |||||
getfindKeyWordsBycusId() { | getfindKeyWordsBycusId() { | ||||
this.$u.get("/cusLvStatistics/findKeyWordsBycusId?cusId=" + this.customerId).then(res => { | this.$u.get("/cusLvStatistics/findKeyWordsBycusId?cusId=" + this.customerId).then(res => { | ||||
// console.log(res) | // console.log(res) | ||||
if(res.length){ | |||||
if (res.length) { | |||||
// this.KeyWordsfraction = 0 | // this.KeyWordsfraction = 0 | ||||
res.forEach(item=>{ | |||||
res.forEach(item => { | |||||
// if(item.selected==0){ | // if(item.selected==0){ | ||||
// this.KeyWordsfraction += +item.fraction // 总执行率 | // this.KeyWordsfraction += +item.fraction // 总执行率 | ||||
// } | // } | ||||
item.show = false | item.show = false | ||||
item.children.forEach(obj=>{ | |||||
item.children.forEach(obj => { | |||||
obj.show = false | obj.show = false | ||||
if(obj.questionList.length){ | |||||
obj.questionList.forEach(subobj=>{ | |||||
subobj.show =false | |||||
if (obj.questionList.length) { | |||||
obj.questionList.forEach(subobj => { | |||||
subobj.show = false | |||||
}) | }) | ||||
} | } | ||||
}) | }) | ||||
if(item.questionList.length){ | |||||
item.questionList.forEach(obj=>{ | |||||
obj.show =false | |||||
if (item.questionList.length) { | |||||
item.questionList.forEach(obj => { | |||||
obj.show = false | |||||
}) | }) | ||||
} | } | ||||
}) | }) | ||||
this.KeyWordsfractionList = res | this.KeyWordsfractionList = res | ||||
}else{ | |||||
this.KeyWordsfractionList = [] | |||||
} else { | |||||
this.KeyWordsfractionList = [] | |||||
} | } | ||||
}) | }) | ||||
}, | }, | ||||
@@ -1813,14 +1860,13 @@ | |||||
jsonInfo.forEach(item => { | jsonInfo.forEach(item => { | ||||
item.message = JSON.parse(item.onebest) | item.message = JSON.parse(item.onebest) | ||||
item.backindex = this.csdFileindex; | item.backindex = this.csdFileindex; | ||||
if (info.onebest) { | |||||
item.message.forEach(che => { | |||||
if (che.onebest == info.onebest) { | |||||
che.onebest = | |||||
`<font style='color: red'>${che.onebest}</font>`; | |||||
} | |||||
}) | |||||
} | |||||
item.message.forEach(che => { | |||||
che.checked = false | |||||
if (che.onebest == info.onebest) { | |||||
che.onebest = | |||||
`<font style='color: red'>${che.onebest}</font>`; | |||||
} | |||||
}) | |||||
}) | }) | ||||
this.newluyinList = jsonInfo; | this.newluyinList = jsonInfo; | ||||
@@ -1829,7 +1875,7 @@ | |||||
var itc = parseInt(info.bg / 1000) | var itc = parseInt(info.bg / 1000) | ||||
this.adasdasdasd(itc) | this.adasdasdasd(itc) | ||||
}, | }, | ||||
fail: () => { | fail: () => { | ||||
this.LOADING = false | this.LOADING = false | ||||
} | } | ||||
@@ -2038,6 +2084,25 @@ | |||||
align-items: center; | align-items: center; | ||||
} | } | ||||
} | } | ||||
.bottomboxs { | |||||
width: 100%; | |||||
height: 90rpx; | |||||
display: flex; | |||||
justify-content: space-around; | |||||
.bottomboxs-item { | |||||
width: 45%; | |||||
height: 100%; | |||||
display: flex; | |||||
justify-content: center; | |||||
align-items: center; | |||||
color: #fff; | |||||
background: #008EF2; | |||||
font-size: 36rpx; | |||||
font-weight: bold; | |||||
} | |||||
} | |||||
} | } | ||||
.headboxhead { | .headboxhead { | ||||
@@ -2522,6 +2587,23 @@ | |||||
} | } | ||||
} | } | ||||
.checkbox { | |||||
margin: 80rpx 20rpx 0; | |||||
width: 48rpx; | |||||
height: 48rpx; | |||||
display: flex; | |||||
justify-content: center; | |||||
align-items: center; | |||||
border-radius: 50%; | |||||
border: 1rpx solid #70798D; | |||||
&.select { | |||||
border-color: #008EF2; | |||||
background: #008EF2; | |||||
color: #fff; | |||||
} | |||||
} | |||||
.scroll-Y .text .contentInfo .info { | .scroll-Y .text .contentInfo .info { | ||||
color: #ccc; | color: #ccc; | ||||
font-size: 18rpx; | font-size: 18rpx; | ||||
@@ -2699,7 +2781,7 @@ | |||||
color: #2671E2; | color: #2671E2; | ||||
font-weight: 400; | font-weight: 400; | ||||
} | } | ||||
.gray { | .gray { | ||||
color: #979797 !important; | color: #979797 !important; | ||||
} | } | ||||
@@ -2844,7 +2926,8 @@ | |||||
padding: 20rpx; | padding: 20rpx; | ||||
border: 1rpx solid #E4F0FF; | border: 1rpx solid #E4F0FF; | ||||
} | } | ||||
/deep/ .u-model-title{ | |||||
/deep/ .u-model-title { | |||||
padding: 34rpx 0 16rpx !important; | padding: 34rpx 0 16rpx !important; | ||||
} | } | ||||
@@ -380,7 +380,7 @@ | |||||
}, | }, | ||||
//获取顾问列表 | //获取顾问列表 | ||||
getFreeList() { | getFreeList() { | ||||
this.$u.get("/zkAgentPool/freeList?itemId=" + this.parames.projectId).then(res => { | |||||
this.$u.get("/zkAgentPool/freeList?itemId=" + this.parames.projectId+"&deptId="+''+'&name='+'').then(res => { | |||||
this.freeList = res; | this.freeList = res; | ||||
this.freeList.forEach(item => { | this.freeList.forEach(item => { | ||||
if (item.onLine == 0) { | if (item.onLine == 0) { | ||||
@@ -4,7 +4,16 @@ | |||||
<view class="nextcon"> | <view class="nextcon"> | ||||
下一位接待顾问:{{textcdhSKJ}} | 下一位接待顾问:{{textcdhSKJ}} | ||||
</view> | </view> | ||||
<view class="content" style="padding-bottom: 200rpx;"> | |||||
<!-- 搜索筛选顾问 --> | |||||
<view class="search-tag"> | |||||
<u-search v-model="keywords" @search="searchFunc" bgColor="#F8F8F8" shape="round" placeholder="顾问名称" | |||||
:showAction="false" :clearabled="true"></u-search> | |||||
<view class="tabs-box" v-if="list.length > 0"> | |||||
<u-tabs :list="list" :current="listCurrent" name="deptName" @change="change"></u-tabs> | |||||
</view> | |||||
</view> | |||||
<view class="content"> | |||||
<radio-group @change="radioChange"> | <radio-group @change="radioChange"> | ||||
<view v-for="(item,index) in freeList" :key="index" class="content-tips"> | <view v-for="(item,index) in freeList" :key="index" class="content-tips"> | ||||
<view class="left"> | <view class="left"> | ||||
@@ -13,7 +22,8 @@ | |||||
</view> | </view> | ||||
<view class="text"> | <view class="text"> | ||||
<view class="name"> | <view class="name"> | ||||
{{item.name}} | |||||
<text class="names">{{item.name}}</text> | |||||
<text :class="item.class">{{ item.label }}</text> | |||||
</view> | </view> | ||||
<view class="num"> | <view class="num"> | ||||
今日接待: {{item.todayNum}} | 今日接待: {{item.todayNum}} | ||||
@@ -26,17 +36,17 @@ | |||||
</view> | </view> | ||||
</view> | </view> | ||||
</radio-group> | </radio-group> | ||||
</view> | |||||
<view class="empty" v-if="freeList.length == 0"> | |||||
<image class="image" src="@/static/images/customerEmpty.png" mode=""></image> | |||||
<view class="tips"> | |||||
暂无空闲顾问 | |||||
<view class="empty" v-if="freeList.length == 0"> | |||||
<image class="image" src="@/static/images/customerEmpty.png" mode=""></image> | |||||
<view class="tips"> | |||||
暂无空闲顾问 | |||||
</view> | |||||
</view> | </view> | ||||
</view> | </view> | ||||
<view class="save" @click="save" :class="{active:chosedAgentId}"> | |||||
<view v-if="freeList.length > 0" class="save" @click="save" :class="{active:chosedAgentId}"> | |||||
保存 | 保存 | ||||
</view> | </view> | ||||
<u-modal v-model="show" :mask-close-able="true" :title="'代接待提醒'" :confirm-text="confirmtext" | <u-modal v-model="show" :mask-close-able="true" :title="'代接待提醒'" :confirm-text="confirmtext" | ||||
:cancel-text='canceltext' @cancel="confirmA" @confirm="confirmB" :show-cancel-button='true' | :cancel-text='canceltext' @cancel="confirmA" @confirm="confirmB" :show-cancel-button='true' | ||||
:content="content"></u-modal> | :content="content"></u-modal> | ||||
@@ -68,6 +78,10 @@ | |||||
canceltext: '2', //取消文字 | canceltext: '2', //取消文字 | ||||
daitiReceptionobj: {}, | daitiReceptionobj: {}, | ||||
replaceReception: 0, | replaceReception: 0, | ||||
keywords: '', // 关键词 | |||||
list: [], // 部门列表 | |||||
listCurrent: 0, //选中分类下标 | |||||
from: '', // 来源页面需要通知的事件 | from: '', // 来源页面需要通知的事件 | ||||
} | } | ||||
}, | }, | ||||
@@ -88,8 +102,13 @@ | |||||
this.getFreeList(); | this.getFreeList(); | ||||
}, | }, | ||||
// | |||||
searchFunc() { | |||||
this.getFreeList(); | |||||
}, | |||||
async iniPage() { | async iniPage() { | ||||
// await this.getAllDeptName() | |||||
await this.getAllDeptName() | |||||
await this.getFreeList(); | await this.getFreeList(); | ||||
}, | }, | ||||
// 获取顾问列表 | // 获取顾问列表 | ||||
@@ -112,9 +131,10 @@ | |||||
// 获取空闲顾问 | // 获取空闲顾问 | ||||
async getFreeList() { | async getFreeList() { | ||||
try { | try { | ||||
let deptId = this.list.length > 0 ? this.list[this.listCurrent].id : '' | |||||
// deptId 部门id | // deptId 部门id | ||||
// name 顾问名称 | // name 顾问名称 | ||||
let res = await this.$u.get(`/zkAgentPool/freeList?itemId=${this.buildingID}`) | |||||
let res = await this.$u.get(`/zkAgentPool/freeList?itemId=${this.buildingID}&name=${this.keywords||''}&deptId=${deptId}`) | |||||
if (res.length == 0) { | if (res.length == 0) { | ||||
this.freeList = [] | this.freeList = [] | ||||
} else { | } else { | ||||
@@ -123,6 +143,19 @@ | |||||
this.current = res.findIndex(item => item.agentId == this.customerId) | this.current = res.findIndex(item => item.agentId == this.customerId) | ||||
} | } | ||||
this.freeList = res; | this.freeList = res; | ||||
this.freeList.forEach(item => { | |||||
if (item.onLine == 0) { | |||||
item.label = "(离线)"; | |||||
item.class = 'red' | |||||
} else if (item.onLine == 1) { | |||||
item.label = "(在线)"; | |||||
item.class = 'gren' | |||||
} else { | |||||
item.label = "(无设备)"; | |||||
item.class = 'none' | |||||
} | |||||
}) | |||||
this.textcdhSKJ = res[0].name | this.textcdhSKJ = res[0].name | ||||
} | } | ||||
this.LOADING = false | this.LOADING = false | ||||
@@ -148,6 +181,7 @@ | |||||
this.replaceReception = 1; | this.replaceReception = 1; | ||||
this.baochunfun() | this.baochunfun() | ||||
}, | }, | ||||
save() { | save() { | ||||
console.log(this.chosedAgentId) | console.log(this.chosedAgentId) | ||||
if (!this.chosedAgentId) { | if (!this.chosedAgentId) { | ||||
@@ -227,50 +261,17 @@ | |||||
</script> | </script> | ||||
<style lang="scss" scoped> | <style lang="scss" scoped> | ||||
.empty { | |||||
flex: 1; | |||||
display: flex; | |||||
flex-direction: column; | |||||
justify-content: center; | |||||
align-items: center; | |||||
.image { | |||||
width: 478upx; | |||||
height: 478upx; | |||||
} | |||||
.tips { | |||||
font-size: 36upx; | |||||
color: #242424; | |||||
line-height: 1; | |||||
margin-top: 50upx; | |||||
} | |||||
} | |||||
.save { | |||||
position: fixed; | |||||
width: calc(100vw - 60upx); | |||||
bottom: 50upx; | |||||
left: 30rpx; | |||||
color: #FFFFFF; | |||||
font-size: 30upx; | |||||
height: 98upx; | |||||
border-radius: 8upx; | |||||
display: flex; | |||||
justify-content: center; | |||||
align-items: center; | |||||
background: rgba(42, 111, 255, 1); | |||||
} | |||||
.box { | .box { | ||||
background: #F8F8F8; | background: #F8F8F8; | ||||
width: 100%; | width: 100%; | ||||
height: 100%; | |||||
min-height: calc(100vh - var(--window-top)); | |||||
display: flex; | |||||
flex-direction: column; | |||||
font-size: 30rpx; | font-size: 30rpx; | ||||
font-weight: 400; | font-weight: 400; | ||||
// line-height: 30px; | |||||
.nextcon { | .nextcon { | ||||
flex-shrink: 0; | |||||
height: 78rpx; | height: 78rpx; | ||||
background: #F4F8FD; | background: #F4F8FD; | ||||
color: #2671E2; | color: #2671E2; | ||||
@@ -278,44 +279,122 @@ | |||||
line-height: 78rpx; | line-height: 78rpx; | ||||
} | } | ||||
.content-tips { | |||||
display: flex; | |||||
justify-content: space-between; | |||||
.search-tag { | |||||
margin: 0 0 20rpx 0; | |||||
padding: 30rpx 30rpx 0; | |||||
background: #fff; | background: #fff; | ||||
padding: 0 30rpx; | |||||
height: 148rpx; | |||||
margin-bottom: 20rpx; | |||||
.left { | |||||
.tabs-box { | |||||
background: #fff; | |||||
} | |||||
} | |||||
.content { | |||||
flex-grow: 1; | |||||
display: flex; | |||||
flex-direction: column; | |||||
.content-tips { | |||||
display: flex; | display: flex; | ||||
margin-top: 30rpx; | |||||
justify-content: space-between; | |||||
background: #fff; | |||||
padding: 0 30rpx; | |||||
height: 148rpx; | |||||
margin-bottom: 20rpx; | |||||
.img { | |||||
width: 72rpx; | |||||
height: 72rpx; | |||||
background: #FFFFFF; | |||||
border: 1px solid #C9C9C9; | |||||
line-height: 64rpx; | |||||
text-align: center; | |||||
border-radius: 50%; | |||||
margin-right: 20rpx; | |||||
} | |||||
.left { | |||||
display: flex; | |||||
margin-top: 30rpx; | |||||
.img { | |||||
width: 72rpx; | |||||
height: 72rpx; | |||||
background: #FFFFFF; | |||||
border: 1px solid #C9C9C9; | |||||
line-height: 64rpx; | |||||
text-align: center; | |||||
border-radius: 50%; | |||||
margin-right: 20rpx; | |||||
} | |||||
.text { | |||||
.name { | |||||
margin-top: 4rpx; | |||||
margin-bottom: 24rpx; | |||||
line-height: 30rpx; | |||||
.names { | |||||
font-weight: 600; | |||||
color: #333333; | |||||
} | |||||
.red { | |||||
margin-left: 10rpx; | |||||
color: #E7483C; | |||||
font-size: 28rpx; | |||||
} | |||||
.gren { | |||||
margin-left: 10rpx; | |||||
color: #43CD80; | |||||
font-size: 28rpx; | |||||
} | |||||
.none { | |||||
margin-left: 10rpx; | |||||
color: #999; | |||||
font-size: 28rpx; | |||||
} | |||||
} | |||||
.text { | |||||
.name { | |||||
margin-top: 4rpx; | |||||
font-weight: 600; | |||||
color: #333333; | |||||
line-height: 30rpx; | |||||
margin-bottom: 24rpx; | |||||
} | } | ||||
} | |||||
.right { | |||||
margin: 54rpx 0; | |||||
} | } | ||||
} | } | ||||
.right { | |||||
margin: 54rpx 0; | |||||
.empty { | |||||
flex: 1; | |||||
display: flex; | |||||
flex-direction: column; | |||||
justify-content: center; | |||||
align-items: center; | |||||
.image { | |||||
width: 300rpx; | |||||
height: 300rpx; | |||||
} | |||||
.tips { | |||||
font-size: 36rpx; | |||||
color: #242424; | |||||
line-height: 1; | |||||
margin-top: 50rpx; | |||||
} | |||||
} | } | ||||
} | } | ||||
.save { | |||||
position: sticky; | |||||
bottom: 50rpx; | |||||
z-index: 10; | |||||
flex-shrink: 0; | |||||
margin: 50rpx auto; | |||||
width: calc(100vw - 60rpx); | |||||
color: #FFFFFF; | |||||
font-size: 30rpx; | |||||
height: 98rpx; | |||||
border-radius: 8rpx; | |||||
display: flex; | |||||
justify-content: center; | |||||
align-items: center; | |||||
background: rgba(42, 111, 255, 1); | |||||
} | |||||
} | } | ||||
</style> | </style> |
@@ -454,7 +454,9 @@ | |||||
} | } | ||||
if (this.weekObj.ZXLTopList && this.weekObj.ZXLTopList.length > 0) { | if (this.weekObj.ZXLTopList && this.weekObj.ZXLTopList.length > 0) { | ||||
this.consultant = this.weekObj.ZXLTopList.reverse().slice(0, 3) | this.consultant = this.weekObj.ZXLTopList.reverse().slice(0, 3) | ||||
this.lowest.push(this.weekObj.ZXLTopList[this.weekObj.ZXLTopList.length - 1]) | |||||
if (this.weekObj.ZXLTopList[this.weekObj.ZXLTopList.length - 1].value != 100) { | |||||
this.lowest.push(this.weekObj.ZXLTopList[this.weekObj.ZXLTopList.length - 1]) | |||||
} | |||||
} | } | ||||
if (this.weekObj.avgJdsList && this.weekObj.avgJdsList.length > 0) { | if (this.weekObj.avgJdsList && this.weekObj.avgJdsList.length > 0) { | ||||
this.recording = this.weekObj.avgJdsList.reverse().slice(0, 3) | this.recording = this.weekObj.avgJdsList.reverse().slice(0, 3) | ||||
@@ -1,10 +1,10 @@ | |||||
// http.js使用域名 | // http.js使用域名 | ||||
// const baseUrl = 'http://81.70.55.170:9090/autoSR/api';// 最新测试 | // const baseUrl = 'http://81.70.55.170:9090/autoSR/api';// 最新测试 | ||||
// const baseUrl = 'http://127.0.0.1:8080/autoSR/api'; // 本地 | // 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.169:8080/autoSR/api'; // 长龙 | |||||
// const baseUrl = 'http://192.168.31.149:9090/api'; // 盛浩 | // const baseUrl = 'http://192.168.31.149:9090/api'; // 盛浩 | ||||
// const baseUrl = 'https://zkgj.quhouse.com/api'; // 质控正式 | // const baseUrl = 'https://zkgj.quhouse.com/api'; // 质控正式 | ||||
// const baseUrl = 'https://hfju.com/api'; // 数智正式 | |||||
const baseUrl = 'https://hfju.com/api'; // 数智正式 | |||||
// const baseUrl = 'https://xitong.pachira.cn/api'; // AI营销辅助 普强使用 | // const baseUrl = 'https://xitong.pachira.cn/api'; // AI营销辅助 普强使用 | ||||