|
|
@@ -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> |
|
|
|
|
|
|
|
<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> |