Browse Source

Merge branch 'master' of http://git.2weisou.com/wangxiao/zkPCproject into master

newStyle
lancer 2 years ago
parent
commit
503c74ca66
3 changed files with 555 additions and 72 deletions
  1. +80
    -2
      src/api/modules/http.js
  2. +474
    -69
      src/views/Receive/index.vue
  3. +1
    -1
      vue.config.js

+ 80
- 2
src/api/modules/http.js View File

@@ -677,7 +677,7 @@ export function personalReceptionRecord(query) {
// 获取系统分析
export function findCARKeywords(query) {
return request({
url: 'autoSR/matchKeywords/findCARKeywords',
url: 'autoSR/matchKeywords/findSystemAnalysis',
method:'get',
params:query
})
@@ -687,7 +687,7 @@ export function findCARKeywords(query) {
// 获取人工校准
export function findSystemAnalysis(query) {
return request({
url: 'autoSR/matchKeywords/findSystemAnalysis',
url: 'autoSR/matchKeywords/findManualCalibration',
method:'get',
params:query
})
@@ -703,8 +703,40 @@ export function findBannedWordsByCusId(query) {
})
}

// 标记顾问
export function markConsultant(query) {
return request({
url: 'autoSR/zk/file/markConsultant',
method:'get',
params:query
})
}
// 标记顾问
export function toMatchKeywords(query) {
return request({
url: 'autoSR/matchKeywords/toMatchKeywords',
method:'get',
params:query
})
}

//加入常错词
export function addCorrectWord(obj) {
return request({
url: 'autoSR/zk/correct/addCorrectWord',
method: 'post',
data: obj
})
}

//保存校准
export function updateManualCalibration(obj) {
return request({
url: 'autoSR/customer/updateManualCalibration',
method: 'post',
data: obj
})
}

// 录音文件列表
export function filefindByPage(obj) {
@@ -715,5 +747,51 @@ export function filefindByPage(obj) {
})
}

// 接待标记
export function updateValidInvalid(obj) {
return request({
url: 'autoSR/customer/updateValidInvalid',
method: 'post',
data: obj
})
}


// 加精
export function addATD(obj) {
return request({
url: 'autoSR/customer/addATD',
method: 'post',
data: obj
})
}

//取消加精
export function delATD(query) {
return request({
url: 'autoSR/customer/delATD',
method: 'get',
params:query
})
}


//音频下载
export function filedownload(query) {
return request({
url: 'autoSR/zk/file/filedownload',
method: 'get',
params:query
})
}


//获取文本优化
export function findText(query) {
return request({
url: 'autoSR/zk/text/findText',
method: 'get',
params:query
})
}


+ 474
- 69
src/views/Receive/index.vue View File

@@ -4,17 +4,17 @@
<div class="topzuo">
<div class="title" style="display: flex;">
<div style="flex:1;">
<span class="span1">首次到访</span>
<span class="span2">无效录音|未标注|反面案例</span>
<span class="span1">{{userinformationlist.visitRecord==1?'':userinformationlist.visitRecord || ''}}次到访</span>
<span class="span2"></span>
</div>
<div style="width: 120px;display: flex;color:#2671E2;">
<div>加精</div>
<div style="margin-left: 20px;" @click="dialogFormVisible13=true">接待标记</div>
<div @click="Addtodigest()">加精</div>
<div style="margin-left: 20px;" @click="alllogo()">{{userinformationlist.validInvalidName}}</div>
</div>
</div>
<div class="title" style="margin-top: 6px;">
<span class="span3">宋先生</span>
<span class="span2">2021-10-01 10:00:00</span>
<span class="span3">{{userinformationlist.name || ''}}</span>
<span class="span2">{{userinformationlist.createTime|| ''}}</span>
</div>
<div style="display: flex;width: 100%;">
<div class="aplayer" id="aplayer"></div>
@@ -37,7 +37,7 @@
</div>
<div class="topyou" >
<div style="font-size:16px;">
客户:<span style="color: #2671E2;">李先生</span>
客户:<span style="color: #2671E2;">{{userinformationlist.name || ''}}</span>
</div>
<div style="display: flex;font-size:15px;margin-top: 8px;">
<div style="width:40%;">
@@ -71,7 +71,7 @@
</div>
</div>
<div style="width:100px;display: flex; justify-content: center;align-items: center;">
<div class="searchbutt">文本优化</div>
<div class="searchbutt" @click="texttap()">文本优化</div>
</div>
</div>
<div class="headboxbott">
@@ -343,7 +343,7 @@
<div class="topzuo-you" style="overflow-y: auto;">
<div style="width: 100%;height: 44px;border-bottom: 1rpx solid #E0E0E0;display: flex;align-items: center;border-bottom: 1px solid #E0E0E0;">
<div style="flex: 1;font-size: 16px;color: #333333;text-indent:5%;">客户意向</div>
<div style="flex: 1;font-size: 16px;color: #2671E2;text-indent:70%;" @click="dialogFormVisible12=true">校准</div>
<div style="flex: 1;font-size: 16px;color: #2671E2;text-indent:70%;" @click="Acqtap()">校准</div>
</div>
<div class="pingfenbox" >
<div :class="{ activecllasscet: kehuyixiangcenterindex == 0 }" @click="customerofintention(0)">系统分析</div>
@@ -355,8 +355,13 @@
<div v-else>
<div class="intentionBox" v-for="(item,index) in Getintentionlist" :key="index">
<div class="intentionName">{{item.name}}</div>
<div class="intentionChe">
<div v-for="(funche,i) in item.newchildren" :key="i">{{funche.name}}</div>
<div class="intentionChe" v-if="kehuyixiangcenterindex==0">
<div v-for="(funche,i) in item.newchildren" :key="i" v-if="funche.showType==0">{{funche.name}}</div>
<div class="intentionview" v-for="(funche,i) in item.newchildren" :key="i" v-if="funche.showType==1">{{funche.name}}</div>
</div>
<div class="intentionChe" v-if="kehuyixiangcenterindex==1">
<div v-for="(funche,i) in item.newchildren" :key="i" v-if="funche.showType==0">{{funche.name}}</div>
<div v-for="(funche,i) in item.newchildren" :key="i">{{funche.name}}</div>
</div>
</div>
</div>
@@ -364,44 +369,49 @@
</div>
<div class="topyou">
<div class="pingfenbox" >
<div :class="{ activecllasscet: zhixingcenterindex == 0 }" @click="recordclick(0)">销讲总执行率10%</div>
<div :class="{ activecllasscet: zhixingcenterindex == 0 }" @click="recordclick(0)">销讲总执行率{{userinformationlist.fraction|| 0}}%</div>
<div :class="{ activecllasscet: zhixingcenterindex == 1 }" @click="recordclick(1)">禁忌执行</div>
</div>
<div>
<div v-if="zhixingcenterindex==0">
<div style="width: 100%;height: 44px;border-bottom: 1rpx solid #E0E0E0;display: flex;align-items: center;">
<div style="width:60%;font-size: 16px;color: #333333;text-indent:20px;">指标</div>
<div style="width:40%;flex: 1;font-size: 16px;color: #333333;">
<div style="width:60px; text-align: center;">执行率</div>

<div style="width:60px; text-align: center;">执行</div>
</div>
</div>
</div>

<div>
<div class="zxlBox">
<div class="zxlLev1">
<div style="width:60%;" class="zxlLev1box">超市 29%</div>
<div v-if="zhixingcenterindex==0">
<div class="zxlBox" v-for="(item,index) in ratelist" :key="index">
<div class="zxlLev1" @click="changeshow(index)">
<div style="width:60%;" class="zxlLev1box">{{item.name}} {{((item.ratepercent/item.rate).toFixed(2)*100).toFixed()}}%</div>
<div style="width:40%;">
<div style="width:60px; text-align: center;"> <i style=" font-size: 18px;" class="el-icon-arrow-down"></i> </div>
<div style="width:60px; text-align: center;">
<i v-if="item.show==true" style="font-size: 18px;" class="el-icon-arrow-up"></i>
<i v-if="item.show==false" style="font-size: 18px;" class="el-icon-arrow-right"></i>
</div>
</div>
</div>
<div class="zxlLev2">
<div style="width:60%;" class="zxlLev2tit">蔬菜</div>
<div class="zxlLev2" v-if="item.show" v-for="(subitem,i) in item.children" :key="i">
<div style="width:60%;" class="zxlLev2tit">{{subitem.name}}</div>
<div style="width:40%;display: flex;align-items: center;">
<div class="zxlzx">执行</div>
<div class="zxlzx" v-if="!subitem.selected">执行</div>
<div v-else class="zxlzx2">未执行</div>
</div>
</div>
</div>
</div>

<div v-if="zhixingcenterindex==1" style="padding: 0px 10px 10px 10px;">
<div style="margin-top:10px;" v-for="(item,index) in prohibitedlist" :key="index">{{index+1}}、{{item}}</div>
</div>
</div>
</div>

<el-dialog title="加入常错词" :visible.sync="dialogFormVisible" width="500px" center :close-on-click-modal="false" @close="$refs.form.resetFields();">
<el-form :model="form" ref="form" label-width="80px" :rules="rules" >
<div style="text-indent: 20px;">
<span>常错词:</span>
<span v-html="form.wrongWord"></span>
</div>
<el-form-item label="常错词" prop="wrongWord">
<el-input v-model="form.wrongWord" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="正确词" prop="correctWord">
<el-input v-model="form.correctWord" autocomplete="off"></el-input>
</el-form-item>
@@ -411,6 +421,9 @@
<el-button type="primary" @click="subMsg">确 定</el-button>
</div>
</el-dialog>



<el-dialog title="标记顾问" :visible.sync="dialogFormVisible11" center width="500px" :close-on-click-modal="false">
<div style="width: 95%;display: flex;flex-wrap: wrap;margin: 0 auto;padding-top: 30px;padding-bottom: 30px;">
<div class="viewclace" :class="roleindexbiaoji == index ? 'bosdttom' : ''"
@@ -419,50 +432,143 @@
</div>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible11=false">取 消</el-button>
<el-button @click="unmarktap()">取 消</el-button>
<el-button type="primary" @click="subMsg11">确 定</el-button>
</div>
</el-dialog>
<el-dialog title="校准" :visible.sync="dialogFormVisible12" center width="500px" :close-on-click-modal="false">
<div>
<div class="intentionBox">
<div class="intentionName">置业需求</div>
<div class="intentionChe">
<div>投资</div>
<div>管家</div>
<div>婚房</div>
<div>山水相逢</div>
<div>青山不改</div>
</div>
</div>


<el-dialog title="校准" :visible.sync="dialogFormVisible12" center width="500px" :close-on-click-modal="false">
<div style="height:400px;width:100%;overflow: auto;">
<div class="intentionBox" v-for="(item,index) in Acquirecustomerintentlist2" :key="index">
<div class="intentionName">{{item.name}}</div>
<div class="intentionChe2">
<div v-for='(item1,i) in item.children' :key='i' @click="Edittag(item,item1,index,i)"
:style="{border:item1.selected==0?'1px solid #0A6EE9':'1px solid #E0E0E0'}">
{{item1.label}}
</div>
</div>
</div>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible12=false">取 消</el-button>
<el-button type="primary">确 定</el-button>
<el-button type="primary" @click="intentlist2click()">确 定</el-button>
</div>
</el-dialog>

<el-dialog title="接待标记" :visible.sync="dialogFormVisible13" center width="500px" :close-on-click-modal="false">
<div style="width:80%;margin:0 auto;font-size: 30px;">
<div>
<el-radio v-model="radio" label="1">没电指派无录音</el-radio>
<el-radio v-model="radio" label="2">离线指派无录音</el-radio>
<el-radio v-model="effectiveindex" label="1">没电指派无录音</el-radio>
<el-radio v-model="effectiveindex" label="2">离线指派无录音</el-radio>
</div>
<div>
<el-radio v-model="radio" label="3">系统测试误操作</el-radio>
<el-radio v-model="radio" label="4">非接访场景录音</el-radio>
<el-radio v-model="effectiveindex" label="3">系统测试误操作</el-radio>
<el-radio v-model="effectiveindex" label="4">非接访场景录音</el-radio>
</div>
<div >
<el-radio v-model="radio" label="5">其他</el-radio>
<el-radio v-model="effectiveindex" label="5">其他</el-radio>
</div>
<div v-if="radio==5">
<textarea style="width:100%;margin-top: 6px;border: 1px solid #e0e0e0;height: 100px;padding: 10px;font-size: 16px;" name="" placeholder="备注" cols="30" rows="10"></textarea>
<div v-if="effectiveindex==5">
<textarea v-model="effectiveitext" style="width:100%;margin-top: 6px;border: 1px solid #e0e0e0;height: 100px;padding: 10px;font-size: 16px;" name="" placeholder="备注" cols="30" rows="10"></textarea>
</div>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible13=false">取 消</el-button>
<el-button type="primary">确 定</el-button>
<el-button type="primary" @click="effectiveAdd()">确 定</el-button>
</div>
</el-dialog>

<div v-if="dialogFormtext" @click="dialogFormtext=false" id="zhezhao"></div>
<div v-if="dialogFormtext" class="auDivhhh">
<div style="width: 100%;height: 50px;line-height: 50px;text-align: center;font-size: 20px;font-weight: 400;">文本优化</div>
<div class="center2" style="width: 95%;margin: 0 auto;border:1px solid #e3e3e3;height: 430px;overflow-y: scroll;">
<div class="text" :data-bg="item.bg" :data-ed="item.ed"
v-for="(item,index) in optimizetext" :key="index" :data-speaker="item.speaker">
<div class="buttonzu">
<span style="cursor:pointer" @click="texteditor(item,index)">纠正</span>
&nbsp; &nbsp;
<span style="cursor:pointer" @click="optimdel(index)">删除</span>
</div>
<div class="avatar">
<div v-if="item.speaker == 1">
<img style="margin: 0 auto;" v-if="item.isShow == 1" src="http://121.42.63.138:9091/autoSR/static/plugins/audio/images/A.png" alt="">
<div v-else>A</div>
</div>
<div v-if="item.speaker == 2">
<img style="margin: 0 auto;" v-if="item.isShow == 1" src="http://121.42.63.138:9091/autoSR/static/plugins/audio/images/A.png" alt="">
<div v-else>B</div>
</div>
<div v-if="item.speaker == 3">
<img style="margin: 0 auto;" v-if="item.isShow == 1" src="http://121.42.63.138:9091/autoSR/static/plugins/audio/images/A.png" alt="">
<div v-else>C</div>
</div>
<div v-if="item.speaker == 4">
<img style="margin: 0 auto;" v-if="item.isShow == 1" src="http://121.42.63.138:9091/autoSR/static/plugins/audio/images/A.png" alt="">
<div v-else>D</div>
</div>
<div v-if="item.speaker == 5">
<img style="margin: 0 auto;" v-if="item.isShow == 1" src="http://121.42.63.138:9091/autoSR/static/plugins/audio/images/A.png" alt="">
<div v-else>E</div>
</div>
<div v-if="item.speaker == 6">
<img style="margin: 0 auto;" v-if="item.isShow == 1" src="http://121.42.63.138:9091/autoSR/static/plugins/audio/images/A.png" alt="">
<div v-else>F</div>
</div>
<div v-if="item.speaker == 7">
<img style="margin: 0 auto;" v-if="item.isShow == 1" src="http://121.42.63.138:9091/autoSR/static/plugins/audio/images/A.png" alt="">
<div v-else>G</div>
</div>
<div v-if="item.speaker == 8">
<img style="margin: 0 auto;" v-if="item.isShow == 1" src="http://121.42.63.138:9091/autoSR/static/plugins/audio/images/A.png" alt="">
<div v-else>H</div>
</div>
<div v-if="item.speaker == 9">
<img style="margin: 0 auto;" v-if="item.isShow == 1" src="http://121.42.63.138:9091/autoSR/static/plugins/audio/images/A.png" alt="">
<div v-else>I</div>
</div>
<div v-if="item.speaker == 10">
<img style="margin: 0 auto;" v-if="item.isShow == 1" src="http://121.42.63.138:9091/autoSR/static/plugins/audio/images/A.png" alt="">
<div v-else>J</div>
</div>
<div v-if="item.speaker == 11">
<img style="margin: 0 auto;" v-if="item.isShow == 1" src="http://121.42.63.138:9091/autoSR/static/plugins/audio/images/A.png" alt="">
<div v-else>K</div>
</div>
<div v-if="item.speaker == 12">
<img style="margin: 0 auto;" v-if="item.isShow == 1" src="http://121.42.63.138:9091/autoSR/static/plugins/audio/images/A.png" alt="">
<div v-else>L</div>
</div>
<div v-if="item.speaker == 13">
<img style="margin: 0 auto;" v-if="item.isShow == 1" src="http://121.42.63.138:9091/autoSR/static/plugins/audio/images/A.png" alt="">
<div v-else>M</div>
</div>
<div v-if="item.speaker == 14">
<img style="margin: 0 auto;" v-if="item.isShow == 1" src="http://121.42.63.138:9091/autoSR/static/plugins/audio/images/A.png" alt="">
<div v-else>N</div>
</div>
<div v-if="item.speaker == 15">
<img style="margin: 0 auto;" v-if="item.isShow == 1" src="http://121.42.63.138:9091/autoSR/static/plugins/audio/images/A.png" alt="">
<div v-else>O</div>
</div>
<div v-if="item.speaker == 16">
<img style="margin: 0 auto;" v-if="item.isShow == 1" src="http://121.42.63.138:9091/autoSR/static/plugins/audio/images/A.png" alt="">
<div v-else>P</div>
</div>
</div>
<div class="content123" style="cursor:pointer;">
<div v-html="item.onebest"></div>
</div>
</div>
</div>
<div style="display: flex;margin-top: 12px;height: 35px;align-items: center;justify-content: center;">
<el-button size="small" @click="savedraft(1)">保存并更新文本</el-button>
<el-button size="small" type="primary" @click="savedraft(0)">保存草稿</el-button>
<el-button size="small" type="primary" @click="textrestore()">恢复当前文本</el-button>
<el-button size="small" @click="dialogFormtext=false">取消</el-button>
</div>
</div>

</div>
</template>

@@ -476,11 +582,11 @@ export default {
dialogFormVisible11:false,
dialogFormVisible12:false,
dialogFormVisible13:false,
radio:1,
effectiveindex:1,
effectiveitext:'',
form:{
correctWord: '',//正确词
cupid: '',
translateHtmlContent: '',
wrongWord: '', // 错词
customerId:'',
},
@@ -514,8 +620,13 @@ export default {
roleindexbiaoji:0,
aplayerSpeedNum:'1',//倍速字体更换
Getintentionlist:[],//客户意向
argtextindex:'',

argtextindex:'',//常错词下标
ratelist:[],//评分集合
prohibitedlist:[],//违禁集合
textItself:'',//原词内容
Acquirecustomerintentlist2:[],//校准列表
dialogFormtext:false,
optimizetext:[]
};
},
mounted() {
@@ -524,13 +635,196 @@ export default {
this.init()
},
methods: {
texttap(){
this.$api.http.findText({corpusId:this.arr[this.aplayerId].id}).then((res) => {
console.log(res)
this.dialogFormtext=true;
})
},
// 接待标记
alllogo(){
if(this.userinformationlist.validInvalid!=0){
this.$confirm('是否标记为"有效录音"?', "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then(() => {
this.$api.http.updateValidInvalid({
id:this.fileId,
validInvalid:'',
invalidReason:0
}).then((res) => {
this.$message({
type: "success",
message: "操作成功!",
});
this.init()
})
}).catch(() => {
this.$message({
type: "info",
message: "已取消操作",
});
});
}else{
this.dialogFormVisible13=true;
}
},
//无效标记
effectiveAdd(){
if(this.effectiveindex==5){
if(this.effectiveitext.length==0){
this.$message({
type: "error",
message: "备注不能为空!",
});
return
}
}
this.$api.http.updateValidInvalid({
id:this.fileId,
validInvalid:'',
validInvalid:1,
invalidReason:Number(this.effectiveindex),
invalidNote:this.effectiveitext
}).then((res) => {
this.dialogFormVisible13=false;
this.$message({
type: "success",
message: "操作成功!",
});
this.init()
})
},

//加精華
Addtodigest(){
var that = this;
if(that.arr[that.aplayerId].status==0){
that.$confirm("取消加精,是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then(() => {
that.$api.http.delATD({"carId": that.fileId,}).then((res) => {
that.$message({
type: "success",
message: "操作成功!",
});
this.init()
})
}).catch(() => {
that.$message({
type: "info",
message: "已取消操作",
});
});
}else{
that.$confirm("加精,是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}).then(() => {
that.$api.http.addATD({"carId": that.fileId,"status": 0,}).then((res) => {
that.$message({
type: "success",
message: "加精成功!",
});
this.init()
})
}).catch(() => {
that.$message({
type: "info",
message: "已取消加精",
});
});
}
},
//确认校准
intentlist2click(){
let param = {
keywordIds:'',
id: this.fileId,
};
let str = [];
this.Acquirecustomerintentlist2.map(item => {
item.children.map(item1 => {
if (item1.selected == 0) {
str.push(item1.keywordsId)
}
})
});
str = str.join(',');
param.keywordIds = str;
this.$api.http.updateManualCalibration(param).then((res) => {
this.dialogFormVisible12=false;
this.findCARKeywords()
})
},
// 选择校准
Edittag(item,item1,index,i){
if(this.Acquirecustomerintentlist2[index].children[i].selected==0){
this.Acquirecustomerintentlist2[index].children[i].selected=1;
}else{
this.Acquirecustomerintentlist2[index].children[i].selected=0;
}
this.$forceUpdate()
},
//获取校准列表
Acqtap(){
this.dialogFormVisible12=true;
this.$api.http.findSystemAnalysis({customerId:this.fileId,type:2}).then((res) => {
let newlist=res.data || [];
if(newlist.length==0){
this.$message.success('暂无数据')
}else{
newlist.forEach(item1 => {
item1.children.map(item => {
if (item.isInterval == 0) {
item.label = item.name + item.unit + '-' + item.endName + item
.unit;
} else {
item.label = item.name
}
item.value = item.id;
})
})
this.Acquirecustomerintentlist2 = newlist
}
})
},

//标记
biaoji(){
this.dialogFormVisible11=true
},
//取消标记
unmarktap(){
this.dialogFormVisible11=false;
this.roleindexbiaoji=this.dshfkjsdkksodofydwfkhwdfkjh;
},
// 标记选择
biaojixuanze(index){
this.roleindexbiaoji=index;
},
//确认标记
subMsg11(){

var num=this.roleindexbiaoji+1;
this.$api.http.markConsultant({
speaker:num,
id:this.isd,
customerId:this.fileId
}).then((res) => {
this.dialogFormVisible11=false;
this.init()
this.biaojiall()
this.$message.success('保存成功')
})
},
biaojiall(){
this.$api.http.toMatchKeywords({
carId:this.fileId,
}).then((res) => {})
},
// 获取用户信息
init(){
@@ -547,25 +841,87 @@ export default {
this.Getsthetransliteratecontent()
})
},




//常错词确认
subMsg(){

this.$refs.form.validate((valid)=>{
if(valid){
this.dialogFormVisible = false;
let sas=this.textItself.replace(this.form.wrongWord,this.form.correctWord)
this.transcriptionlist[this.argtextindex].onebest=sas;
this.subWrongMsg()
}
})
},
//常错词提交
subWrongMsg(){
this.$api.http.addCorrectWord({
correctWord:this.form.correctWord,
cupid:this.form.cupid,
wrongWord: this.form.wrongWord,
customerId:this.fileId,
}).then((res) => {
this.$message.success('保存成功')
})
},
//常错词点击
checkMsg(row,index){
this.aplayer.pause()
this.form.cupid=this.arr[this.aplayerId].id,
this.form.translateHtmlContent=this.arr[this.aplayerId].audioContent;

this.form.cupid=this.arr[this.aplayerId].id;
this.textItself=row.onebest;
let onebest=row.onebest;
this.form.wrongWord =onebest.replace(/<.*?>/ig,"");
this.dialogFormVisible=true;
this.argtextindex=index;
},
},
// 销讲词禁忌tab
recordclick(i){
this.zhixingcenterindex=i;
},
// 销讲词折叠
changeshow(index) {
this.ratelist[index].show=!this.ratelist[index].show
},
//获取销讲词违禁词
findBannedWordsByCusId(){
this.$api.http.findBannedWordsByCusId({cusId:this.fileId}).then((res) => {
console.log(res)
let list1=res.data.SalesTalk || [];
let list2=res.data.ProhibitedWords || [];
let level1 = [] // 一级
list1.forEach(item =>{
if(item.pid==0){
level1.push({
id: item.marketingId,
rate: item.fraction,
name: item.name,
percent: 0,
ratepercent: 0,
show: false,
children: []
})
}
})
list1.forEach(item =>{
level1.forEach(el=>{
if(item.pid==el.id){
if (item.selected == 0) {
el.ratepercent += item.fraction;
}
el.children.push({
id: item.id,
rate: item.fraction,
selected: item.selected,
name: item.name
})
}
})
})
level1[0].show = true;
this.ratelist=level1;
this.prohibitedlist=list2;
})
},

@@ -606,7 +962,7 @@ export default {
}
})
}else {
this.$api.http.findSystemAnalysis({customerId:this.fileId}).then((res) => {
this.$api.http.findSystemAnalysis({customerId:this.fileId,type:1}).then((res) => {
if(res.data==null){
this.Getintentionlist=[];
return
@@ -723,17 +1079,12 @@ export default {
}
}
this.corpusId=audopbj[this.AudioIdx].id;
this.aplayerId=this.audioIdx;
this.aplayerId=this.AudioIdx;
this.aplayerLength=audopbj.length;
this.arr=res.data;
this.bofangchushihua()
})
},


recordclick(i){
this.zhixingcenterindex=i;
},
tapspagek(i){
this.roleindex=i;
},
@@ -782,7 +1133,9 @@ export default {
},
//下载
download(){
// window.location.href = "${jypath}/zk/file/filedownload?videoSrc="+this.recordPath
// this.$api.http.filedownload({videoSrc:this.recordPath}).then((res) => {
// })
// window.location.href =this.recordPath
},
},
};
@@ -900,6 +1253,15 @@ export default {
color: #FFFFFF;
border-radius:4px ;
}
.zxlzx2{
width: 60px;
height: 24px;
line-height: 24px;
background: #F2F2F2;
text-align: center;
color: #999999;
border-radius:4px ;
}
}
.zxlLev2tit{
line-height: 40px;
@@ -918,6 +1280,15 @@ export default {
width: 100%;
display: flex;
flex-wrap: wrap;
.intentionview{
padding: 4px 10px;
border: 1px solid #E0E0E0;
background: #E0E0E0;
margin-left: 6px;
border-radius:6px ;
font-size: 14px;
margin-top: 10px;
}
}
.intentionName{
font-size: 16px;;
@@ -933,6 +1304,19 @@ export default {
margin-top: 10px;
}

.intentionChe2{
width: 100%;
display: flex;
flex-wrap: wrap;
}
.intentionChe2 div{
padding: 4px 10px;
border: 1px solid #E0E0E0;
margin-left: 6px;
border-radius:6px ;
font-size: 14px;
margin-top: 10px;
}

.topbox{
width: 100%;
@@ -1181,4 +1565,25 @@ export default {
color: #FFFFFF;
background-color: #2671E2;
}
#zhezhao{
width: 100%;
height: 100vh;
position: fixed;
top: 0;
left: 0;
z-index: 1000;
opacity: 0.5;
background-color: #666666;
}
.auDivhhh{
width: 600px;
height: 540px;
border-radius: 4px;
z-index: 1003;
position: fixed;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
background: #ffffff;
}
</style>

+ 1
- 1
vue.config.js View File

@@ -3,7 +3,7 @@
* https://cli.vuejs.org/zh/config/
*/
// const url = 'http://pigx-gateway'
const url = 'http://39.97.167.65:9999' //测试
// const url = 'http://39.97.167.65:9999' //测试
// const url = 'http://192.168.31.169:9999' //长龙
// const url = 'http://192.168.31.134:9999' //嘉豪
// const url = 'http://192.168.31.100:9999' //王笑


Loading…
Cancel
Save