@@ -515,6 +515,25 @@ | |||
<div v-if="role != 2"> | |||
<!-- 卡片部分 --> | |||
<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="pageboxtitle1">新增项目数</div> | |||
<div class="pageboxtitle2"> | |||
@@ -606,7 +625,10 @@ | |||
</div> | |||
</div> | |||
<div class="pagechen"> | |||
</div> | |||
<div style="margin-top: 20px" class="page-container"> | |||
<div class="pagechen"> | |||
<div class="pageboxtitle1">活跃用户数</div> | |||
<div class="pageboxtitle2"> | |||
<div class="span1">{{ sysSec.activeUserQuantity || 0 }}</div> | |||
@@ -625,8 +647,6 @@ | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
<div style="margin-top: 20px" class="page-container"> | |||
<div class="pagechen"> | |||
<div class="pageboxtitle1">接待量</div> | |||
<div class="pageboxtitle2"> | |||
@@ -684,25 +704,6 @@ | |||
</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"> | |||
@@ -767,6 +767,7 @@ import { saveAs } from "file-saver"; | |||
export default { | |||
data() { | |||
return { | |||
recordsText:[], | |||
roleVisible: false, | |||
roleFlag: "0", | |||
roleidx: "", | |||
@@ -1453,25 +1454,28 @@ export default { | |||
//常错词确认 | |||
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() { | |||
@@ -1481,7 +1485,8 @@ export default { | |||
cupid: this.form.cupid, | |||
wrongWord: this.form.wrongWord, | |||
customerId: this.fileId, | |||
houseId: localStorage.getItem("houseId"), | |||
houseId: this.userinformationlist.projectId, | |||
translateHtmlContent:this.arr[this.aplayerId].audioContent | |||
}) | |||
.then((res) => { | |||
this.$message.success("保存成功"); | |||
@@ -52,15 +52,28 @@ | |||
<!-- 表格 --> | |||
<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"> | |||
<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> | |||
</el-table-column> | |||
<el-table-column prop="houseName" label="项目" align="center"> | |||
</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> | |||
<el-table-column prop="receptionCount" label="接待量" align="center" sortable> | |||
@@ -75,20 +88,8 @@ | |||
width="140" | |||
> | |||
</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 | |||
prop="prohibitedZb" | |||
label="违禁接待占比" | |||
@@ -329,6 +330,39 @@ export default { | |||
this.gethouseData(); | |||
}, | |||
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() { | |||
let pamaet = { | |||
orgType: this.role, | |||
@@ -172,34 +172,26 @@ | |||
<div class="container"> | |||
<div | |||
class="grid-content" | |||
@click="secondChange('receptionCount', '接待客户/个')" | |||
@click="secondChange('fraction', '平均执行率/%')" | |||
style="height: auto; padding-bottom: 10px" | |||
> | |||
<div | |||
class="text1" | |||
:class="{ tophovese: secindex == 'receptionCount' }" | |||
> | |||
接待量 | |||
<div class="text1" :class="{ tophovese: secindex == 'fraction' }"> | |||
平均执行率/% | |||
</div> | |||
<div | |||
class="text2" | |||
:class="{ tophovese: secindex == 'receptionCount' }" | |||
> | |||
{{ compare.receptionCount || 0 }} | |||
<div class="text2" :class="{ tophovese: secindex == 'fraction' }"> | |||
{{ compare.fraction || 0 }} | |||
</div> | |||
<div class="text33" v-if="selectTime1"> | |||
<div> | |||
对比时段: | |||
<span style="text-indent: 20px">{{ | |||
compare1.receptionCount || 0 | |||
compare1.fraction || 0 | |||
}}</span> | |||
</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> | |||
@@ -228,6 +220,39 @@ | |||
</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 | |||
class="grid-content" | |||
@click="secondChange('prohibitedCustomer', '违禁接待次数/次')" | |||
@@ -327,31 +352,7 @@ | |||
</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 id="main"></div> | |||
</div> | |||