@@ -515,6 +515,25 @@ | |||||
<div v-if="role != 2"> | <div v-if="role != 2"> | ||||
<!-- 卡片部分 --> | <!-- 卡片部分 --> | ||||
<div class="page-container"> | <div class="page-container"> | ||||
<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="pagechen"> | ||||
<div class="pageboxtitle1">新增项目数</div> | <div class="pageboxtitle1">新增项目数</div> | ||||
<div class="pageboxtitle2"> | <div class="pageboxtitle2"> | ||||
@@ -606,7 +625,10 @@ | |||||
</div> | </div> | ||||
</div> | </div> | ||||
<div class="pagechen"> | |||||
</div> | |||||
<div style="margin-top: 20px" class="page-container"> | |||||
<div class="pagechen"> | |||||
<div class="pageboxtitle1">活跃用户数</div> | <div class="pageboxtitle1">活跃用户数</div> | ||||
<div class="pageboxtitle2"> | <div class="pageboxtitle2"> | ||||
<div class="span1">{{ sysSec.activeUserQuantity || 0 }}</div> | <div class="span1">{{ sysSec.activeUserQuantity || 0 }}</div> | ||||
@@ -625,8 +647,6 @@ | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | |||||
<div style="margin-top: 20px" class="page-container"> | |||||
<div class="pagechen"> | <div class="pagechen"> | ||||
<div class="pageboxtitle1">接待量</div> | <div class="pageboxtitle1">接待量</div> | ||||
<div class="pageboxtitle2"> | <div class="pageboxtitle2"> | ||||
@@ -684,25 +704,6 @@ | |||||
</div> | </div> | ||||
</div> | </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="pagechen"> | ||||
<div class="pageboxtitle1">录音总时长(小时)</div> | <div class="pageboxtitle1">录音总时长(小时)</div> | ||||
<div class="pageboxtitle2"> | <div class="pageboxtitle2"> | ||||
@@ -767,6 +767,7 @@ import { saveAs } from "file-saver"; | |||||
export default { | export default { | ||||
data() { | data() { | ||||
return { | return { | ||||
recordsText:[], | |||||
roleVisible: false, | roleVisible: false, | ||||
roleFlag: "0", | roleFlag: "0", | ||||
roleidx: "", | roleidx: "", | ||||
@@ -1453,25 +1454,28 @@ export default { | |||||
//常错词确认 | //常错词确认 | ||||
subMsg() { | subMsg() { | ||||
this.$refs.form.validate((valid) => { | |||||
if (valid) { | |||||
this.form.correctWord = this.ruleForm.correctWord.replace( | |||||
/[^\w\u4e00-\u9fa5]/g, | |||||
"" | |||||
); | |||||
this.form.wrongWord = this.ruleForm.wrongWord.replace( | |||||
/[^\w\u4e00-\u9fa5]/g, | |||||
"" | |||||
); | |||||
this.dialogFormVisible = false; | |||||
let sas = this.textItself.replace( | |||||
this.form.wrongWord, | |||||
this.form.correctWord | |||||
); | |||||
this.transcriptionlist[this.argtextindex].onebest = sas; | |||||
this.subWrongMsg(); | |||||
if(this.form.wrongWord.length>8){ | |||||
this.$message.warning("常错词不能超过8个字!"); | |||||
}else{ | |||||
let reg = /^[0-9]+$/ | |||||
if(reg.test(this.form.wrongWord)){ | |||||
this.$message.warning("常错词不能为纯数字!"); | |||||
}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.dialogFormVisible = false; | |||||
let sas = this.textItself.replace( | |||||
this.form.wrongWord, | |||||
this.form.correctWord | |||||
); | |||||
this.transcriptionlist[this.argtextindex].onebest = sas; | |||||
this.subWrongMsg(); | |||||
} | |||||
}); | |||||
} | |||||
} | } | ||||
}); | |||||
}, | }, | ||||
//常错词提交 | //常错词提交 | ||||
subWrongMsg() { | subWrongMsg() { | ||||
@@ -1481,7 +1485,8 @@ export default { | |||||
cupid: this.form.cupid, | cupid: this.form.cupid, | ||||
wrongWord: this.form.wrongWord, | wrongWord: this.form.wrongWord, | ||||
customerId: this.fileId, | customerId: this.fileId, | ||||
houseId: localStorage.getItem("houseId"), | |||||
houseId: this.userinformationlist.projectId, | |||||
translateHtmlContent:this.arr[this.aplayerId].audioContent | |||||
}) | }) | ||||
.then((res) => { | .then((res) => { | ||||
this.$message.success("保存成功"); | this.$message.success("保存成功"); | ||||
@@ -52,15 +52,28 @@ | |||||
<!-- 表格 --> | <!-- 表格 --> | ||||
<div class="cen-tab"> | <div class="cen-tab"> | ||||
<el-table :data="tableData" stripe style="width: 100%"> | |||||
<el-table :data="tableData" stripe style="width: 100%" show-summary :summary-method="getSummaries"> | |||||
<el-table-column prop="batchId" label="序号" align="center"> | <el-table-column prop="batchId" label="序号" align="center"> | ||||
<template slot-scope="scope"> | <template slot-scope="scope"> | ||||
<span v-if="scope.$index + 1 == tableData.length"> 合计/平均</span> | |||||
<span v-else> {{ scope.$index + 1 }}</span> | |||||
<span> {{ scope.$index + 1 }}</span> | |||||
</template> | </template> | ||||
</el-table-column> | </el-table-column> | ||||
<el-table-column prop="houseName" label="项目" align="center"> | <el-table-column prop="houseName" label="项目" align="center"> | ||||
</el-table-column> | </el-table-column> | ||||
<el-table-column prop="fraction" label="平均执行率" align="center" width="110" sortable> | |||||
<template slot-scope="{ row }"> {{ row.fraction }}% </template> | |||||
</el-table-column> | |||||
<el-table-column | |||||
prop="sumDuration" | |||||
label="接待时长(分钟)" | |||||
align="center" | |||||
sortable | |||||
width="140" | |||||
> | |||||
<template slot-scope="scope"> | |||||
{{ Math.floor(scope.row.sumDuration / 60) || 0 }} | |||||
</template> | |||||
</el-table-column> | |||||
<el-table-column prop="accountNum" label="顾问数" align="center" sortable> | <el-table-column prop="accountNum" label="顾问数" align="center" sortable> | ||||
</el-table-column> | </el-table-column> | ||||
<el-table-column prop="receptionCount" label="接待量" align="center" sortable> | <el-table-column prop="receptionCount" label="接待量" align="center" sortable> | ||||
@@ -75,20 +88,8 @@ | |||||
width="140" | width="140" | ||||
> | > | ||||
</el-table-column> | </el-table-column> | ||||
<el-table-column | |||||
prop="sumDuration" | |||||
label="接待时长(分钟)" | |||||
align="center" | |||||
sortable | |||||
width="140" | |||||
> | |||||
<template slot-scope="scope"> | |||||
{{ Math.floor(scope.row.sumDuration / 60) || 0 }} | |||||
</template> | |||||
</el-table-column> | |||||
<el-table-column prop="fraction" label="平均执行率" align="center" width="110" sortable> | |||||
<template slot-scope="{ row }"> {{ row.fraction }}% </template> | |||||
</el-table-column> | |||||
<el-table-column | <el-table-column | ||||
prop="prohibitedZb" | prop="prohibitedZb" | ||||
label="违禁接待占比" | label="违禁接待占比" | ||||
@@ -329,6 +330,39 @@ export default { | |||||
this.gethouseData(); | this.gethouseData(); | ||||
}, | }, | ||||
methods: { | methods: { | ||||
getSummaries(param) { | |||||
const { columns, data } = param; | |||||
const sums = []; | |||||
columns.forEach((column, index) => { | |||||
if (index === 0) { | |||||
sums[index] = '合计'; | |||||
return; | |||||
} | |||||
const values = data.map(item => Number(item[column.property])); | |||||
if (!values.every(value => isNaN(value))) { | |||||
sums[index] = values.reduce((prev, curr) => { | |||||
const value = Number(curr); | |||||
if (!isNaN(value)) { | |||||
return prev + curr; | |||||
} else { | |||||
return prev; | |||||
} | |||||
}, 0); | |||||
// sums[index] += ' 元'; | |||||
if (index === 7) { | |||||
sums[index] += '%'; | |||||
return; | |||||
} | |||||
if (index === 8) { | |||||
sums[index] += '%'; | |||||
return; | |||||
} | |||||
} | |||||
}); | |||||
sums[1] = 'N/A'; | |||||
return sums; | |||||
}, | |||||
downLoad() { | downLoad() { | ||||
let pamaet = { | let pamaet = { | ||||
orgType: this.role, | orgType: this.role, | ||||
@@ -172,34 +172,26 @@ | |||||
<div class="container"> | <div class="container"> | ||||
<div | <div | ||||
class="grid-content" | class="grid-content" | ||||
@click="secondChange('receptionCount', '接待客户/个')" | |||||
@click="secondChange('fraction', '平均执行率/%')" | |||||
style="height: auto; padding-bottom: 10px" | style="height: auto; padding-bottom: 10px" | ||||
> | > | ||||
<div | |||||
class="text1" | |||||
:class="{ tophovese: secindex == 'receptionCount' }" | |||||
> | |||||
接待量 | |||||
<div class="text1" :class="{ tophovese: secindex == 'fraction' }"> | |||||
平均执行率/% | |||||
</div> | </div> | ||||
<div | |||||
class="text2" | |||||
:class="{ tophovese: secindex == 'receptionCount' }" | |||||
> | |||||
{{ compare.receptionCount || 0 }} | |||||
<div class="text2" :class="{ tophovese: secindex == 'fraction' }"> | |||||
{{ compare.fraction || 0 }} | |||||
</div> | </div> | ||||
<div class="text33" v-if="selectTime1"> | <div class="text33" v-if="selectTime1"> | ||||
<div> | <div> | ||||
对比时段: | 对比时段: | ||||
<span style="text-indent: 20px">{{ | <span style="text-indent: 20px">{{ | ||||
compare1.receptionCount || 0 | |||||
compare1.fraction || 0 | |||||
}}</span> | }}</span> | ||||
</div> | </div> | ||||
<div | <div | ||||
:style=" | |||||
compare2.receptionCount >= 0 ? 'color:green;' : 'color:red;' | |||||
" | |||||
:style="compare2.fraction >= 0 ? 'color:green;' : 'color:red;'" | |||||
> | > | ||||
{{ compare2.receptionCount || 0 }} | |||||
{{ compare2.fraction || 0 }}% | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
@@ -228,6 +220,39 @@ | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<div | |||||
class="grid-content" | |||||
@click="secondChange('receptionCount', '接待客户/个')" | |||||
style="height: auto; padding-bottom: 10px" | |||||
> | |||||
<div | |||||
class="text1" | |||||
:class="{ tophovese: secindex == 'receptionCount' }" | |||||
> | |||||
接待量 | |||||
</div> | |||||
<div | |||||
class="text2" | |||||
:class="{ tophovese: secindex == 'receptionCount' }" | |||||
> | |||||
{{ compare.receptionCount || 0 }} | |||||
</div> | |||||
<div class="text33" v-if="selectTime1"> | |||||
<div> | |||||
对比时段: | |||||
<span style="text-indent: 20px">{{ | |||||
compare1.receptionCount || 0 | |||||
}}</span> | |||||
</div> | |||||
<div | |||||
:style=" | |||||
compare2.receptionCount >= 0 ? 'color:green;' : 'color:red;' | |||||
" | |||||
> | |||||
{{ compare2.receptionCount || 0 }} | |||||
</div> | |||||
</div> | |||||
</div> | |||||
<div | <div | ||||
class="grid-content" | class="grid-content" | ||||
@click="secondChange('prohibitedCustomer', '违禁接待次数/次')" | @click="secondChange('prohibitedCustomer', '违禁接待次数/次')" | ||||
@@ -327,31 +352,7 @@ | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<div | |||||
class="grid-content" | |||||
@click="secondChange('fraction', '平均执行率/%')" | |||||
style="height: auto; padding-bottom: 10px" | |||||
> | |||||
<div class="text1" :class="{ tophovese: secindex == 'fraction' }"> | |||||
平均执行率/% | |||||
</div> | |||||
<div class="text2" :class="{ tophovese: secindex == 'fraction' }"> | |||||
{{ compare.fraction || 0 }} | |||||
</div> | |||||
<div class="text33" v-if="selectTime1"> | |||||
<div> | |||||
对比时段: | |||||
<span style="text-indent: 20px">{{ | |||||
compare1.fraction || 0 | |||||
}}</span> | |||||
</div> | |||||
<div | |||||
:style="compare2.fraction >= 0 ? 'color:green;' : 'color:red;'" | |||||
> | |||||
{{ compare2.fraction || 0 }}% | |||||
</div> | |||||
</div> | |||||
</div> | |||||
</div> | </div> | ||||
<div id="main"></div> | <div id="main"></div> | ||||
</div> | </div> | ||||