|
@@ -15,7 +15,7 @@
|
|
|
</el-form-item>
|
|
|
|
|
|
<el-form-item label="所属档期" prop="scheduleId">
|
|
|
- <el-select multiple style="width:205.4px" v-model="scheduleIdArr" placeholder="请选择档期" clearable size="small" >
|
|
|
+ <el-select filterable multiple style="width:205.4px" v-model="scheduleIdArr" placeholder="请选择档期" clearable size="small" >
|
|
|
<el-option
|
|
|
v-for="item in scheduleList"
|
|
|
:key="item.id"
|
|
@@ -55,10 +55,29 @@
|
|
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
|
|
</el-row>
|
|
|
|
|
|
-
|
|
|
<el-table v-loading="loading" :data="tcmScheduleReportList" @selection-change="handleSelectionChange">
|
|
|
<el-table-column fixed label="档期" align="center" prop="scheduleName" />
|
|
|
+ <el-table-column fixed label="公司名称" width="100px" align="center" prop="companyName" />
|
|
|
+ <el-table-column fixed label="团队总人数" width="90px" align="center" prop="cuCount" >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{!scope.row.cuCount?0:scope.row.cuCount}}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column fixed label="接线人数" width="80px" align="center" prop="connectionNum" />
|
|
|
<el-table-column fixed label="总进线" width="60" align="center" prop="totalNum" />
|
|
|
+
|
|
|
+ <el-table-column fixed label="人均受线" width="90" align="center" prop="preMoney" >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{!scope.row.money?0:(scope.row.totalNum/scope.row.cuCount).toFixed(2)}}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column fixed label="总消费" width="90" align="center" prop="money" >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{!scope.row.money?0:(scope.row.money).toFixed(2)}}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+
|
|
|
+
|
|
|
<el-table-column fixed label="注册数" width="60" align="center" prop="registerNum" />
|
|
|
<el-table-column fixed label="上线数" width="60" align="center" prop="onlineNum" />
|
|
|
<el-table-column fixed label="完课数" width="60" align="center" prop="finishNum" />
|
|
@@ -67,21 +86,35 @@
|
|
|
{{ renderTotalVal(scope.row,0) }}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="上线率" width="80" align="center" prop="onlineRate" >
|
|
|
+ <el-table-column label="进线上线率" width="80" align="center" prop="onlineRate" >
|
|
|
<template slot-scope="scope">
|
|
|
{{ renderTotalVal(scope.row,1) }}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="完课率" width="80" align="center" prop="finishRate" >
|
|
|
+ <el-table-column label="进线完课率" width="80" align="center" prop="finishRate" >
|
|
|
<template slot-scope="scope">
|
|
|
{{ renderTotalVal(scope.row,2) }}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="消费金额" width="90" align="center" prop="money" >
|
|
|
+
|
|
|
+ <el-table-column label="创建时间" align="center" prop="createTime" width="100">
|
|
|
<template slot-scope="scope">
|
|
|
- {{!scope.row.money?0:(scope.row.money).toFixed(2)}}
|
|
|
+ <span>{{ parseTime(scope.row.createTime) }}</span>
|
|
|
</template>
|
|
|
- </el-table-column>
|
|
|
+ </el-table-column>
|
|
|
+
|
|
|
+ <el-table-column label="最后更新时间" align="center" prop="updateTime" width="100">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ parseTime(scope.row.updateTime) }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+
|
|
|
+ <el-table-column v-for='index in 36' :key='index' :label="renderLabel(index-1)" :width="(index-1)%4==2?'85':'72'" :prop="renderLabelProp(index)" align="center" >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ runderValue(scope.row,index-1) }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+
|
|
|
<el-table-column fixed="right" label="累计总业绩" width="90" align="center" prop="totalMoney" >
|
|
|
<template slot-scope="scope">
|
|
|
{{!scope.row.totalMoney?0:(scope.row.totalMoney).toFixed(2)}}
|
|
@@ -92,6 +125,13 @@
|
|
|
{{!scope.row.totalOrder?0:scope.row.totalOrder}}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
+
|
|
|
+ <el-table-column fixed="right" label="人均业绩" width="90" align="center" prop="targetRate" >
|
|
|
+ <template slot-scope="scope">
|
|
|
+ {{ renderTotalVal(scope.row,4) }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+
|
|
|
<el-table-column fixed="right" label="目标业绩" width="80" align="center" prop="targetMoney" >
|
|
|
<template slot-scope="scope">
|
|
|
{{!scope.row.targetMoney?0:(scope.row.targetMoney).toFixed(2)}}
|
|
@@ -102,21 +142,18 @@
|
|
|
{{ renderTotalVal(scope.row,3) }}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="更新时间" align="center" prop="updateTime" width="100">
|
|
|
+
|
|
|
+ <el-table-column fixed="right" label="ZROI" width="90" align="center" prop="zroi" >
|
|
|
<template slot-scope="scope">
|
|
|
- <span>{{ parseTime(scope.row.updateTime) }}</span>
|
|
|
+ {{ renderTotalVal(scope.row,6) }}
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <!-- <el-table-column label="创建时间" align="center" prop="createTime" width="100">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span>{{ parseTime(scope.row.createTime) }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column> -->
|
|
|
- <el-table-column v-for='index in 36' :key='index' :label="renderLabel(index-1)" :width="(index-1)%4==2?'85':'72'" :prop="renderLabelProp(index)" align="center" >
|
|
|
+
|
|
|
+ <el-table-column fixed="right" label="单线R值" width="90" align="center" prop="targetRate" >
|
|
|
<template slot-scope="scope">
|
|
|
- {{ runderValue(scope.row,index-1) }}
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
+ {{ renderTotalVal(scope.row,5) }}
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
|
|
|
</el-table>
|
|
|
|
|
@@ -170,6 +207,7 @@ export default {
|
|
|
pageSize: 10,
|
|
|
scheduleId: null,
|
|
|
deptId:null,
|
|
|
+ deptIdStr:null,
|
|
|
userId: null,
|
|
|
companyId: null,
|
|
|
totalNum: null,
|
|
@@ -240,14 +278,17 @@ export default {
|
|
|
var cell=parseInt(index%4);
|
|
|
var value=0;
|
|
|
if(cell==0){ //业绩
|
|
|
- value=!row["round"+colls+"Money"]?0:(row["round"+colls+"Money"]).toFixed(2);
|
|
|
+ value=!row["round"+colls+"Money"]?0:(row["round"+colls+"Money"]).toFixed(3);
|
|
|
}
|
|
|
else if(cell==1){ //订单数
|
|
|
value=row["round"+colls+"Order"];
|
|
|
}
|
|
|
else if(cell==2){ //转化率 =成单数/总进线
|
|
|
- value=(row["round"+colls+"Order"]/row["totalNum"]*100.0).toFixed(2)+"%";
|
|
|
- //value=(row["round"+colls+"Rate"]*100).toFixed(2)+"%";
|
|
|
+ if(row.totalNum>0){
|
|
|
+ value=(row["round"+colls+"Order"]/row.totalNum*100.0).toFixed(3)+"%";
|
|
|
+ }else{
|
|
|
+ value="0%";
|
|
|
+ }
|
|
|
}
|
|
|
else if(cell==3){ //客单=成交金额/成交单数
|
|
|
var roundMoney=row["round"+colls+"Money"];
|
|
@@ -261,13 +302,25 @@ export default {
|
|
|
renderTotalVal(row,index){
|
|
|
var value=0;
|
|
|
if(index==0){ //注册率=注册数/总进线
|
|
|
- value=(row["registerNum"]/row["totalNum"]*100.0).toFixed(3)+"%";
|
|
|
+ if(row.totalNum>0){
|
|
|
+ value=(row.registerNum/row.totalNum*100.0).toFixed(3)+"%";
|
|
|
+ }else{
|
|
|
+ value="0%";
|
|
|
+ }
|
|
|
}
|
|
|
- else if(index==1){ //上线率=上线数/注册数
|
|
|
- value=(row["onlineNum"]/row["registerNum"]*100.0).toFixed(3)+"%";
|
|
|
+ else if(index==1){ //上线率=上线数/进线数
|
|
|
+ if(row.totalNum>0){
|
|
|
+ value=(row.onlineNum/row.totalNum*100.0).toFixed(3)+"%";
|
|
|
+ }else{
|
|
|
+ value="0%";
|
|
|
+ }
|
|
|
}
|
|
|
- else if(index==2){ //完课率=完课数/注册数
|
|
|
- value=(row["finishNum"]/row["registerNum"]*100.0).toFixed(3)+"%";
|
|
|
+ else if(index==2){ //完课率=完课数/进线数
|
|
|
+ if(row.totalNum>0){
|
|
|
+ value=(row.finishNum/row.totalNum*100.0).toFixed(3)+"%";
|
|
|
+ }else{
|
|
|
+ value="0%";
|
|
|
+ }
|
|
|
}
|
|
|
else if(index==3){ //目标完成率=累计业绩/目标业绩
|
|
|
if(row.targetMoney>0){
|
|
@@ -276,12 +329,19 @@ export default {
|
|
|
value="0%";
|
|
|
}
|
|
|
}
|
|
|
- else if(index==4){ //人均业绩=总业绩/当期部门人数
|
|
|
- value=(row["totalMoney"]/row["cuCount"]*1.0).toFixed(3);
|
|
|
+ else if(index==4){ //人均业绩=总业绩/接线人数
|
|
|
+ value=(row["totalMoney"]/row["connectionNum"]*1.0).toFixed(3);
|
|
|
}
|
|
|
else if(index==5){ //单线R值=累计业绩/总进线
|
|
|
value=(row["targetMoney"]/row["totalNum"]*1.0).toFixed(3);
|
|
|
}
|
|
|
+ else if(index==6){ //zori=总业绩/总消耗
|
|
|
+ if(row.money>0){
|
|
|
+ value=(row.totalMoney/row.money*1.0).toFixed(3);
|
|
|
+ }else{
|
|
|
+ value="0%";
|
|
|
+ }
|
|
|
+ }
|
|
|
return value;
|
|
|
},
|
|
|
getTreeselect() {
|
|
@@ -430,6 +490,10 @@ export default {
|
|
|
},
|
|
|
/** 导出按钮操作 */
|
|
|
handleExport() {
|
|
|
+ if(this.scheduleIdArr.length>0){
|
|
|
+ this.queryParams.scheduleId=this.scheduleIdArr.toString();
|
|
|
+ }
|
|
|
+ this.queryParams=this.addDateRange(this.queryParams,this.dateRange);
|
|
|
const queryParams = this.queryParams;
|
|
|
this.$confirm('是否确认导出中医档期业绩报表数据项?', "警告", {
|
|
|
confirmButtonText: "确定",
|