|
|
@@ -6,16 +6,16 @@ |
|
|
|
<view class="h-b-top"> |
|
|
|
<text class="name">{{ userlistobj.agentName || '' }}</text> |
|
|
|
<view class="status"> |
|
|
|
<text class="item">有效</text> |
|
|
|
<text class="item">{{ userlistobj.validInvalidName }}</text> |
|
|
|
<text class="item" style="margin: 0 .5em;">|</text> |
|
|
|
<text class="item">待处理</text> |
|
|
|
<text class="item">{{ userlistobj.violatedStatus | ViolatedStatus }}</text> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<!-- 详细信息 --> |
|
|
|
<view class="h-b-btm"> |
|
|
|
<view class="item"> |
|
|
|
<image class="item-imgs" src="@/static/images/img/time.png" mode=""></image> |
|
|
|
{{ userlistobj.endTime1 || '' }} |
|
|
|
{{ userlistobj.createTime || '' }} |
|
|
|
</view> |
|
|
|
<view class="item"> |
|
|
|
<image class="item-imgs" src="@/static/images/img/voice.png" mode=""></image> |
|
|
@@ -23,7 +23,7 @@ |
|
|
|
</view> |
|
|
|
<view class="item hit"> |
|
|
|
<image class="item-imgs" src="@/static/images/img/hit.png" mode=""></image> |
|
|
|
2 |
|
|
|
{{ userlistobj.violatedFrequency || '0' }} |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
@@ -95,15 +95,25 @@ |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
|
|
|
|
<view class="bottomtips"> |
|
|
|
无效原因:附近人说的 |
|
|
|
</view> |
|
|
|
<template v-if="userlistobj.invalidViolatedCause"> |
|
|
|
<view class="bottomtips"> |
|
|
|
无效原因:{{ userlistobj.invalidViolatedCause }} |
|
|
|
</view> |
|
|
|
</template> |
|
|
|
|
|
|
|
<view class="botbotmm"> |
|
|
|
<view class="item">上一条</view> |
|
|
|
<view class="item">确认有效</view> |
|
|
|
<view class="item" @tap="showTagValid">确认无效</view> |
|
|
|
<view class="item">下一条</view> |
|
|
|
<view class="item" @click="preValid">上一条</view> |
|
|
|
<template v-if="userlistobj.violatedStatus == 0"> |
|
|
|
<view class="item" @click="setViolated(1)">确认有效</view> |
|
|
|
<view class="item" @tap="showTagValid">确认无效</view> |
|
|
|
</template> |
|
|
|
<template v-if="userlistobj.violatedStatus == 1"> |
|
|
|
<view class="item" @tap="showTagValid">无效</view> |
|
|
|
</template> |
|
|
|
<template v-if="userlistobj.violatedStatus == 2"> |
|
|
|
<view class="item" @click="setViolated(1)">确认有效</view> |
|
|
|
</template> |
|
|
|
<view class="item" @click="nextValid">下一条</view> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
|
|
|
@@ -133,7 +143,10 @@ |
|
|
|
<view class="resaon-textbox"> |
|
|
|
<textarea v-model="reasonSrc" placeholder="请输入无效原因" maxlength="60" /> |
|
|
|
<text class="lastlength">{{ reasonSrc.length }}/60</text> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
<view class="button"> |
|
|
|
<text @click="inputDone">完成</text> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
</u-popup> |
|
|
|
</view> |
|
|
@@ -187,6 +200,8 @@ |
|
|
|
scrollId: "", // 当前播放滚动到的位置 |
|
|
|
tagValidShow: false, // 标记弹窗 |
|
|
|
reasonSrc: '', // 标记无效的原因 |
|
|
|
|
|
|
|
nextPageObj: JSON.parse(uni.getStorageSync('nextPageObj')), // 当前页面筛选内容 |
|
|
|
} |
|
|
|
}, |
|
|
|
onLoad(option) { |
|
|
@@ -199,7 +214,6 @@ |
|
|
|
onShow() { |
|
|
|
this.permissions = uni.getStorageSync('weapp_session_Menu_data') // 权限 |
|
|
|
|
|
|
|
console.log(this.itemobj, 'askdjalkjdsalkjdkasljdklasjdklasjdlk') |
|
|
|
this.roleindex = 0; |
|
|
|
if (this.stateisshow == 2) { |
|
|
|
this.infos = this.itemobj; |
|
|
@@ -213,11 +227,121 @@ |
|
|
|
}, |
|
|
|
|
|
|
|
methods: { |
|
|
|
// 确认无效标记 setViolatedStatus = 2 |
|
|
|
inputDone() { |
|
|
|
this.setViolated(2) |
|
|
|
}, |
|
|
|
|
|
|
|
// 下一条 |
|
|
|
nextValid() { |
|
|
|
this.nextPageObj.pageSize++ |
|
|
|
this.keyWordsMatching(this.nextPageObj) |
|
|
|
}, |
|
|
|
|
|
|
|
// 上一条 |
|
|
|
preValid() { |
|
|
|
if (this.nextPageObj.pageSize == 0) { |
|
|
|
uni.showToast({ |
|
|
|
title: '没有更早的了~' |
|
|
|
}) |
|
|
|
} else { |
|
|
|
this.nextPageObj.pageSize-- |
|
|
|
this.keyWordsMatching(this.nextPageObj) |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
// 获取违禁话术详情 |
|
|
|
keyWordsMatching(params) { |
|
|
|
this.$u.post('/customer/findbynum', params).then(res => { |
|
|
|
this.customerId = res.customerId; |
|
|
|
uni.setStorageSync('nextPageObj', JSON.stringify(this.nextPageObj)) |
|
|
|
this.prohibitedMatch() |
|
|
|
}).catch(e => { |
|
|
|
this.nextPageObj = JSON.parse(uni.getStorageSync('nextPageObj')), // 当前页面筛选内容 |
|
|
|
uni.showToast({ |
|
|
|
title: e.message, |
|
|
|
icon: 'none', |
|
|
|
duration: 2000 |
|
|
|
}) |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
// 违禁词播放位置 |
|
|
|
prohibitedMatch() { |
|
|
|
this.$u.post('/customer/prohibitedMatch', { |
|
|
|
customerId: this.customerId |
|
|
|
}).then(res => { |
|
|
|
let newweijin = res[0]; |
|
|
|
newweijin.transferContent = JSON.parse(newweijin.transferContent) |
|
|
|
var item = { |
|
|
|
bg: newweijin.transferContent.bg, |
|
|
|
customerId: newweijin.corpusId, |
|
|
|
} |
|
|
|
// 获取是否有转写的音频 |
|
|
|
this.$u.post("/corpus/findByPage", { |
|
|
|
pageNum: 1, |
|
|
|
pageSize: 100, |
|
|
|
query: { |
|
|
|
customerId: this.customerId, |
|
|
|
} |
|
|
|
}).then(res => { |
|
|
|
if (res == null) { |
|
|
|
uni.showToast({ |
|
|
|
icon: "none", |
|
|
|
title: "暂无音频" |
|
|
|
}) |
|
|
|
return |
|
|
|
} else { |
|
|
|
let newobj = res[0]; |
|
|
|
if (res[0].merge == 0) { |
|
|
|
this.infos = item |
|
|
|
this.itemobj = item |
|
|
|
uni.setStorageSync("searchobj", item); //写入缓存 |
|
|
|
this.roleindex = 0; |
|
|
|
this.initAudioFnc() |
|
|
|
this.gituserlist() |
|
|
|
} else { |
|
|
|
uni.showToast({ |
|
|
|
icon: "none", |
|
|
|
title: "暂无音频" |
|
|
|
}) |
|
|
|
} |
|
|
|
} |
|
|
|
}) |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
// 检查是否有录音 |
|
|
|
|
|
|
|
// 设置违禁状态 |
|
|
|
setViolated(status) { |
|
|
|
let params = { |
|
|
|
customerId: this.customerId, |
|
|
|
violatedStatus: status, |
|
|
|
invalidViolatedCause: this.reasonSrc, |
|
|
|
} |
|
|
|
this.$u.post('/customer/setViolatedStatus', params).then(res => { |
|
|
|
uni.showToast({ |
|
|
|
title: '标记成功', |
|
|
|
duration: 2000 |
|
|
|
}); |
|
|
|
setTimeout(() => { |
|
|
|
this.tagValidShow = false |
|
|
|
this.reasonSrc = '' |
|
|
|
}, 2000) |
|
|
|
}).catch(e => { |
|
|
|
uni.showToast({ |
|
|
|
title: e.message, |
|
|
|
duration: 2000 |
|
|
|
}); |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
// 展示确认无效原因输入框 |
|
|
|
showTagValid() { |
|
|
|
this.tagValidShow = true |
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
//获取用户信息 |
|
|
|
gituserlist() { |
|
|
|
this.$u.get("/matchKeywords/personalReceptionRecord", { |
|
|
@@ -371,7 +495,6 @@ |
|
|
|
this.dialogList.push(jsonInfo[this.textindex]); |
|
|
|
var itc = parseInt(info.bg / 1000) |
|
|
|
this.adasdasdasd(itc) |
|
|
|
console.log(this.dialogList) |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
@@ -427,62 +550,65 @@ |
|
|
|
|
|
|
|
//分角色标记刷新 |
|
|
|
fenjiaoseunfo() { |
|
|
|
var bgcd = this.playNow * 1000; |
|
|
|
var bgcd = this.sliderValue * 1000; |
|
|
|
this.newluyinList = []; |
|
|
|
this.dialogList = []; |
|
|
|
console.log(this.playNow, '当前播放时长') |
|
|
|
let obj = { |
|
|
|
corpusId: this.luyinList[this.csdFileindex].id, |
|
|
|
bg: bgcd, |
|
|
|
speaker: this.roleindex |
|
|
|
} |
|
|
|
this.$u.get(config.service.getCorpusAnal, obj).then((data) => { |
|
|
|
this.tablist = []; |
|
|
|
let jsonInfo = JSON.parse(data.audioContent); |
|
|
|
for (var i = 0; i <= data.speakerNum; i++) { |
|
|
|
if (i === 0) { |
|
|
|
this.tablist.push({ |
|
|
|
name: '全部' |
|
|
|
}) |
|
|
|
} else { |
|
|
|
this.tablist.push({ |
|
|
|
name: String.fromCharCode(i + 64) |
|
|
|
}) |
|
|
|
uni.request({ |
|
|
|
url: config.service.getCorpusAnal + '?corpusId=' + this.luyinList[this.csdFileindex].id + |
|
|
|
"&bg=" + bgcd + "&speaker=" + this.roleindex, //仅为示例,并非真实接口地址。 |
|
|
|
method: "GET", |
|
|
|
header: { |
|
|
|
'content-type': 'application/json', |
|
|
|
'Access-Token': uni.getStorageSync('weapp_session_login_data').token |
|
|
|
}, |
|
|
|
success: (data) => { |
|
|
|
this.tablist = []; |
|
|
|
let jsonInfo = JSON.parse(data.data.data.audioContent); |
|
|
|
for (var i = 0; i <= data.data.data.speakerNum; i++) { |
|
|
|
if (i === 0) { |
|
|
|
this.tablist.push({ |
|
|
|
name: '全部' |
|
|
|
}) |
|
|
|
} else { |
|
|
|
this.tablist.push({ |
|
|
|
name: String.fromCharCode(i + 64) |
|
|
|
}) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if (data.speaker == null) { |
|
|
|
this.roleindexbiaoji = 0; |
|
|
|
this.dshfkjsdkksodofydwfkhwdfkjh = 0; |
|
|
|
} else { |
|
|
|
this.tablist[data.speaker].name = this.tablist[data.speaker] |
|
|
|
.name + "顾问"; |
|
|
|
this.roleindexbiaoji = data.speaker - 1; |
|
|
|
this.dshfkjsdkksodofydwfkhwdfkjh = data.speaker - 1; |
|
|
|
} |
|
|
|
|
|
|
|
if (this.roleindex > this.tablist.length - 1) { |
|
|
|
this.roleindex = this.tablist.length - 1 |
|
|
|
this.fenjiaoseunfo() |
|
|
|
} |
|
|
|
if (data.data.data.speaker == null) { |
|
|
|
this.roleindexbiaoji = 0; |
|
|
|
this.dshfkjsdkksodofydwfkhwdfkjh = 0; |
|
|
|
} else { |
|
|
|
this.tablist[data.data.data.speaker].name = this.tablist[data.data.data.speaker] |
|
|
|
.name + "顾问"; |
|
|
|
this.roleindexbiaoji = data.data.data.speaker - 1; |
|
|
|
this.dshfkjsdkksodofydwfkhwdfkjh = data.data.data.speaker - 1; |
|
|
|
} |
|
|
|
if (this.roleindex > this.tablist.length - 1) { |
|
|
|
this.roleindex = this.tablist.length - 1 |
|
|
|
this.fenjiaoseunfo() |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
this.speaker = data.speaker; |
|
|
|
//上拉标记点 |
|
|
|
this.textindex = data.index; |
|
|
|
//下拉标记点 |
|
|
|
this.toptextindex = data.index; |
|
|
|
this.speaker = data.data.data.speaker; |
|
|
|
//上拉标记点 |
|
|
|
this.textindex = data.data.data.index; |
|
|
|
//下拉标记点 |
|
|
|
this.toptextindex = data.data.data.index; |
|
|
|
|
|
|
|
jsonInfo.forEach(item => { |
|
|
|
item.message = JSON.parse(item.onebest) |
|
|
|
item.backindex = this.csdFileindex |
|
|
|
}) |
|
|
|
jsonInfo.forEach(item => { |
|
|
|
item.message = JSON.parse(item.onebest) |
|
|
|
item.backindex = this.csdFileindex |
|
|
|
}) |
|
|
|
console.log(jsonInfo) |
|
|
|
|
|
|
|
this.newluyinList = jsonInfo; |
|
|
|
if (this.textindex == null) { |
|
|
|
return |
|
|
|
} else { |
|
|
|
this.dialogList.push(jsonInfo[this.textindex]); |
|
|
|
this.newluyinList = jsonInfo; |
|
|
|
if (this.textindex == null) { |
|
|
|
return |
|
|
|
} else { |
|
|
|
this.dialogList.push(jsonInfo[this.textindex]); |
|
|
|
} |
|
|
|
} |
|
|
|
}) |
|
|
|
}, |
|
|
@@ -666,6 +792,24 @@ |
|
|
|
if (min < 10) min = '0' + min; |
|
|
|
return min + ":" + second; |
|
|
|
}, |
|
|
|
}, |
|
|
|
filters: { |
|
|
|
// violatedStatus |
|
|
|
ViolatedStatus(status) { |
|
|
|
let str = ''; |
|
|
|
switch (status) { |
|
|
|
case 0: |
|
|
|
str = '待处理' |
|
|
|
break; |
|
|
|
case 1: |
|
|
|
str = '有效违禁' |
|
|
|
break; |
|
|
|
case 2: |
|
|
|
str = '无效违禁' |
|
|
|
break; |
|
|
|
} |
|
|
|
return str |
|
|
|
}, |
|
|
|
} |
|
|
|
} |
|
|
|
</script> |
|
|
@@ -869,7 +1013,7 @@ |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.bottombox { |
|
|
|
width: 100%; |
|
|
|
min-height: 170rpx; |
|
|
@@ -1041,15 +1185,15 @@ |
|
|
|
display: flex; |
|
|
|
flex-direction: column; |
|
|
|
box-sizing: border-box; |
|
|
|
|
|
|
|
|
|
|
|
.resaon-title { |
|
|
|
padding: 12rpx 0; |
|
|
|
padding: 24rpx 0; |
|
|
|
flex-shrink: 0; |
|
|
|
line-height: 32rpx; |
|
|
|
font-size: 32rpx; |
|
|
|
box-sizing: border-box; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.resaon-textbox { |
|
|
|
padding: 12rpx 16rpx 36rpx; |
|
|
|
position: relative; |
|
|
@@ -1058,12 +1202,12 @@ |
|
|
|
border: 1rpx solid #979797; |
|
|
|
// border-radius: 16rpx; |
|
|
|
display: flex; |
|
|
|
|
|
|
|
|
|
|
|
textarea { |
|
|
|
flex-grow: 1; |
|
|
|
box-sizing: border-box; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.lastlength { |
|
|
|
position: absolute; |
|
|
|
right: 32rpx; |
|
|
@@ -1072,6 +1216,20 @@ |
|
|
|
box-sizing: border-box; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.button { |
|
|
|
margin-top: 24rpx; |
|
|
|
width: 100%; |
|
|
|
display: flex; |
|
|
|
justify-content: flex-end; |
|
|
|
|
|
|
|
text { |
|
|
|
padding: 10rpx 35rpx; |
|
|
|
color: #fff; |
|
|
|
background: #008EF2; |
|
|
|
border-radius: 16rpx; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|