浏览代码

文本优化 搜索关键词

newStyle
jyt 2 年前
父节点
当前提交
93a6341573
共有 4 个文件被更改,包括 110 次插入55 次删除
  1. +43
    -42
      src/page/wel.vue
  2. +57
    -8
      src/views/Receive/index.vue
  3. +8
    -3
      src/views/Statistics/ReceptionStatistical.vue
  4. +2
    -2
      vue.config.js

+ 43
- 42
src/page/wel.vue 查看文件

@@ -728,6 +728,44 @@
<div v-if="role == 2">
<!-- 卡片部分 -->
<div class="page-container">
<div class="pagechen">
<div class="pageboxtitle1">平均执行率</div>
<div class="pageboxtitle2">
<div class="span1">{{ sysSec.avgFration || 0 }}</div>
<div class="span2">
<span class="span2-1">
环比:{{ sysCompare.avgFration || 0 }}</span
>
<span class="span2-2" v-if="orderBy.avgFration > 0">
<i class="el-icon-top" style="color: red"></i>
{{ orderBy.avgFration || 0 }}%
</span>
<span class="span2-3" v-if="orderBy.avgFration < 0">
<i class="el-icon-bottom" style="color: #25ceba"></i>
{{ orderBy.avgFration || 0 }}%
</span>
</div>
</div>
</div>
<div class="pagechen">
<div class="pageboxtitle1">平均接待时长(分钟)</div>
<div class="pageboxtitle2">
<div class="span1">{{ sysSec.receptionTimeWithAvg || 0 }}</div>
<div class="span2">
<span class="span2-1">
环比:{{ sysCompare.receptionTimeWithAvg || 0 }}</span
>
<span class="span2-2" v-if="orderBy.receptionTimeWithAvg > 0">
<i class="el-icon-top" style="color: red"></i>
{{ orderBy.receptionTimeWithAvg || 0 }}
</span>
<span class="span2-3" v-if="orderBy.receptionTimeWithAvg < 0">
<i class="el-icon-bottom" style="color: #25ceba"></i>
{{ orderBy.receptionTimeWithAvg || 0 }}
</span>
</div>
</div>
</div>
<div class="pagechen">
<div class="pageboxtitle1">接待量</div>
<div class="pageboxtitle2">
@@ -747,7 +785,6 @@
</div>
</div>
</div>

<div class="pagechen">
<div class="pageboxtitle1">有效接待</div>
<div class="pageboxtitle2">
@@ -786,6 +823,11 @@
</div>
</div>
</div>
</div>
<div style="margin-top: 20px" class="page-container">

<div class="pagechen">
<div class="pageboxtitle1">接待时长(小时)</div>
@@ -807,47 +849,6 @@
</div>
</div>

<div class="pagechen">
<div class="pageboxtitle1">平均接待时长(分钟)</div>
<div class="pageboxtitle2">
<div class="span1">{{ sysSec.receptionTimeWithAvg || 0 }}</div>
<div class="span2">
<span class="span2-1">
环比:{{ sysCompare.receptionTimeWithAvg || 0 }}</span
>
<span class="span2-2" v-if="orderBy.receptionTimeWithAvg > 0">
<i class="el-icon-top" style="color: red"></i>
{{ orderBy.receptionTimeWithAvg || 0 }}
</span>
<span class="span2-3" v-if="orderBy.receptionTimeWithAvg < 0">
<i class="el-icon-bottom" style="color: #25ceba"></i>
{{ orderBy.receptionTimeWithAvg || 0 }}
</span>
</div>
</div>
</div>
</div>
<div style="margin-top: 20px" class="page-container">
<div class="pagechen">
<div class="pageboxtitle1">平均执行率</div>
<div class="pageboxtitle2">
<div class="span1">{{ sysSec.avgFration || 0 }}</div>
<div class="span2">
<span class="span2-1">
环比:{{ sysCompare.avgFration || 0 }}</span
>
<span class="span2-2" v-if="orderBy.avgFration > 0">
<i class="el-icon-top" style="color: red"></i>
{{ orderBy.avgFration || 0 }}%
</span>
<span class="span2-3" v-if="orderBy.avgFration < 0">
<i class="el-icon-bottom" style="color: #25ceba"></i>
{{ orderBy.avgFration || 0 }}%
</span>
</div>
</div>
</div>

<div class="pagechen">
<div class="pageboxtitle1">违禁接待次数</div>
<div class="pageboxtitle2">


+ 57
- 8
src/views/Receive/index.vue 查看文件

@@ -562,6 +562,22 @@
>
文本优化
</div>
<div style="width: 100%; display: flex; height: 32px;justify-content: space-between;padding: 0 15px; margin-bottom: 20px;">
<div style="width: 100%; height: 100%;display: flex;justify-content: center;">
<!-- <input
v-model="searchText"
class="inputclass"
type="text"
placeholder="请输入关键词搜索"
/> -->
<el-input placeholder="请输入关键词搜索" v-model="searchText" style="width:300px">
<el-button slot="append" icon="el-icon-search"></el-button>
</el-input>
</div>
<!-- <div style="height: 100%">
<div class="inputclass2" style="margin: 0 auto;width: 110px;">搜索</div>
</div> -->
</div>
<div
class="center3"
style="
@@ -576,7 +592,7 @@
class="text"
:data-bg="item.bg"
:data-ed="item.ed"
v-for="(item, index) in optimizetext"
v-for="(item, index) in optimizetext1"
:key="index"
:class="{ actRight: item.speaker % 2 == 0 }"
:data-speaker="item.speaker"
@@ -586,7 +602,7 @@
>纠正</span
>
&nbsp; &nbsp;
<span style="cursor: pointer" @click="optimdel(index)">删除</span>
<span style="cursor: pointer" @click="optimdel(item,index)">删除</span>
<span
style="cursor: pointer; margin-left: 10px"
@click="editRole(item, index)"
@@ -761,6 +777,7 @@ import JSZipUtils from "jszip-utils";
import { saveAs } from "file-saver";

export default {
name:"receiveIndex",
data() {
return {
recordsText:[],
@@ -825,6 +842,7 @@ export default {
textItself: "", //原词内容
Acquirecustomerintentlist2: [], //校准列表
dialogFormtext: false,
optimizetextTemp: [], //文本优化list
optimizetext: [], //文本优化list
optimizeobj: {}, //文本优化obj
textarea: "",
@@ -843,6 +861,7 @@ export default {
rec_index_textyh: false,
isNum:false,
outSpeechSkillList: [], // 导出话术列表
searchText:"",
};
},
created() {
@@ -863,6 +882,11 @@ export default {
},
computed: {
...mapGetters(["permissions"]),
optimizetext1(){
return this.optimizetext.filter(value => {
return value.onebest.match(this.searchText)
})
}
},
destroyed() {
this.aplayer.destroy();
@@ -898,6 +922,27 @@ export default {
},

methods: {
// searchTextFun(){
// let arr = this.optimizetext
// if(this.searchText==""){
// this.optimizetext = arr
// }else{
// this.optimizetext = this.optimizetext.filter(item=>{
// return item.onebest.match(this.searchText)
// })
// }
// let arr = this.optimizetext.filter((item,index)=>{
// var reg = new RegExp(this.searchText);
// return item.onebest.match(reg);
// })
// let tempArr = []
// for (let i = 0; i < arr.length; i++) {
// tempArr.push(arr[i]);
// console.log(tempArr)
// }
// this.optimizetext = tempArr
// },
// 格式化话术内容
formatAudioList() {
let list = this.arr[0].audioContent
@@ -1011,7 +1056,7 @@ export default {
customerId: this.fileId,
},
}).then((res) => {
this.optimizetext[this.roleidx].speaker = this.roleFlag / 1 + 1;
this.optimizetext1[this.roleidx].speaker = this.roleFlag / 1 + 1;
this.roleVisible = false;
});
},
@@ -1159,6 +1204,7 @@ export default {
.then((res) => {
this.dialogFormtext = false;
this.$message.success("优化完成");
if (i == 1) {
this.init();
}
@@ -1166,7 +1212,7 @@ export default {
},
//文本编辑确认
summunct() {
this.optimizetext[this.textareaindex].onebest = this.textarea;
this.optimizetext1[this.textareaindex].onebest = this.textarea;
this.texteditorishow = false;
},
//文本编辑
@@ -1177,7 +1223,7 @@ export default {
this.texteditorishow = true;
},
//文本优化删除
optimdel(i) {
optimdel(t,i) {
console.log(i);
var that = this;
this.$confirm("此操作将删除该条, 是否继续?", "提示", {
@@ -1186,7 +1232,8 @@ export default {
type: "warning",
})
.then(() => {
that.optimizetext.splice(i, 1);
this.optimizetext = this.optimizetext.filter(tt=>tt.onebest!=t.onebest)
this.$forceUpdate()
this.$message({
type: "success",
message: "删除成功!",
@@ -1203,12 +1250,14 @@ export default {
texttap() {
this.optimizeobj = {};
this.optimizetext = [];
this.optimizetextTemp = [];
this.$api.http
.findText({ corpusId: this.arr[this.aplayerId].id })
.then((res) => {
console.log(res, "获取文本");
this.optimizeobj = res.data;
this.optimizetext = JSON.parse(res.data.textContent);
this.optimizetextTemp = JSON.parse(res.data.textContent);
this.dialogFormtext = true;
});
},
@@ -1459,8 +1508,8 @@ export default {
}else{
this.$refs.form.validate((valid) => {
if (valid) {
this.form.correctWord = this.form.correctWord.replace(/[^\w\u4e00-\u9fa5]/g,"")
this.form.wrongWord = this.form.wrongWord.replace(/[^\w\u4e00-\u9fa5]/g,"")
// this.form.correctWord = this.form.correctWord.replace(/[^\w\u4e00-\u9fa5]/g,"")
// this.form.wrongWord = this.form.wrongWord.replace(/[^\w\u4e00-\u9fa5]/g,"")
this.dialogFormVisible = false;
let sas = this.textItself.replace(
this.form.wrongWord,


+ 8
- 3
src/views/Statistics/ReceptionStatistical.vue 查看文件

@@ -246,24 +246,29 @@
</el-table-column>
<el-table-column prop="deptName" label="归属团队" align="center">
</el-table-column>
<el-table-column prop="receptionCount" label="接待量" align="center">
<el-table-column prop="fraction" label="平均执行率" align="center" sortable>
</el-table-column>
<el-table-column prop="receptionCount" label="接待量" align="center" sortable>
</el-table-column>
<el-table-column
prop="activeCustomer"
label="有效接待"
align="center"
sortable
>
</el-table-column>
<el-table-column
prop="prohibitedCustomer"
label="违禁接待次数"
align="center"
sortable
>
</el-table-column>
<el-table-column
prop="sumDuration"
label="接待时长(分)"
align="center"
sortable
>
<template slot-scope="{ row }">
{{ Math.floor(row.sumDuration / 60) }}
@@ -273,10 +278,10 @@
prop="prohibitedZb"
label="违禁接待占比"
align="center"
sortable
>
</el-table-column>
<el-table-column prop="fraction" label="平均执行率" align="center">
</el-table-column>
<el-table-column
v-for="(item, idx) in tablist1"
:key="idx"


+ 2
- 2
vue.config.js 查看文件

@@ -10,8 +10,8 @@
// const url = 'http://62.234.122.43:9999' //正式
// const url = 'http://81.70.55.170:9999' // 新测试服务器IP
// const url = 'http://192.168.31.89:9999' //sh
const url = 'https://zanyong.hfju.com' // 正式域名
// const url = 'http://81.70.55.170:9999' // 新测试
// const url = 'https://zanyong.hfju.com' // 正式域名
const url = 'http://81.70.55.170:9999' // 新测试
// const url = 'http://82.156.35.22:9999' // 新正式ip
const CompressionWebpackPlugin = require('compression-webpack-plugin')
const productionGzipExtensions = ['js', 'css']


正在加载...
取消
保存