Browse Source

init

newStyle
lancer 2 years ago
parent
commit
1adf2893d8
2 changed files with 449 additions and 6 deletions
  1. +8
    -0
      src/api/modules/api.js
  2. +441
    -6
      src/page/wel.vue

+ 8
- 0
src/api/modules/api.js View File

@@ -976,3 +976,11 @@ export function apiTree(query) {
params:query
})
}
// 后台首页获取第一个数据
export function waitingForOperation(data) {
return request({
url: 'autoSR/cusStageStatistics/waitingForOperation',
method:'post',
data
})
}

+ 441
- 6
src/page/wel.vue View File

@@ -336,14 +336,362 @@



<div v-if="role==1" style=" width: 100%; text-align: center;line-height: 400px;font-size: 30px;">
<!-- <div v-if="role==1" style=" width: 100%; text-align: center;line-height: 400px;font-size: 30px;">
代理商后台
</div>
<div v-if="role==2" style=" width: 100%; text-align: center;line-height: 400px;font-size: 30px;">
公司后台
</div>
<div v-if="role==0" style=" width: 100%; text-align: center;line-height: 400px;font-size: 30px;">
系统后台
</div> -->
<div v-if="role!=3">
<!-- 系统后台 -->
<div style="margin-bottom:10px;" v-if="role!=2">
<span style="font-weight:bold;font-size: 18px;">待处理</span>
<div class="page-container">
<div class="pagechen" v-if="role==0">
<div class="pageboxtitle1">30天到期的代理商</div>
<div class="pageboxtitle3">
{{sysTop.matuityOfAgent||0}}
</div>
</div>
<div class="pagechen">
<div class="pageboxtitle1">30天到期的楼盘</div>
<div class="pageboxtitle3">
{{sysTop.matuityOfHouse||0}}
</div>
</div>
<div class="pagechen">
<div class="pageboxtitle1">离线设备</div>
<div class="pageboxtitle3">
{{sysTop.offlineEquipmentQUantity||0}}
</div>
</div>
<div class="pagechen">
<div class="pageboxtitle1">低电量设备</div>
<div class="pageboxtitle3">
{{sysTop.lowElectricityEquipmentQuantity||0}}
</div>
</div>
<!-- <div class="pagechen">
<div class="pageboxtitle1">维修更换设备</div>
<div class="pageboxtitle3">
{{sysTop.lowElectricityEquipmentQuantity||0}}
</div>
</div> -->
<div class="pagechen" style="background: none;box-shadow: none;}" v-if="role!=0">
</div>
</div>
</div>
<div style="font-weight:bold;font-size: 18px; margin:10px 0 ;">数据简报</div>
<div class="app-titel">
<div class="titel-text">时间</div>
<div class="toptimeqhuan">
<div :class="{ tophove: TimetoAhoose == 0 }" @click="tabtimetap(0)">今天</div>
<div :class="{ tophove: TimetoAhoose == 1 }" @click="tabtimetap(1)"> 近7天 </div>
<div :class="{ tophove: TimetoAhoose == 2 }" @click="tabtimetap(2)"> 近30天 </div>
</div>
<div style="margin-left: 26px">
<el-date-picker
@change="confirmtime()"
v-model="customtime"
:clearable='false'
type="daterange"
range-separator="-"
:default-time="['00:00:00', '23:59:59']"
value-format="yyyy-MM-dd"
start-placeholder="开始日期"
end-placeholder="结束日期"
>
</el-date-picker>
</div>
</div>
<!-- 卡片部分 -->
<div class="page-container">
<div class="pagechen">
<div class="pageboxtitle1">新增楼盘数</div>
<div class="pageboxtitle2">
<div class="span1">{{sysSec.newAddHouseQuantity || 0}}</div>
<div class="span2">
<span class="span2-1"> 环比:{{sysCompare.newAddHouseQuantity || 0}}</span>
<span class="span2-2" v-if="orderBy.newAddHouseQuantity>0">
<i class="el-icon-top" style="color: red;"></i>
{{orderBy.newAddHouseQuantity || 0}}%
</span>
<span class="span2-3" v-if="orderBy.newAddHouseQuantity<0">
<i class="el-icon-bottom" style="color: #25CEBA;"></i>
{{orderBy.newAddHouseQuantity || 0}}%
</span>
</div>
</div>
</div>
<div class="pagechen">
<div class="pageboxtitle1">活跃楼盘数</div>
<div class="pageboxtitle2">
<div class="span1">{{sysSec.activeHouseQuantity || 0}}</div>
<div class="span2">
<span class="span2-1"> 环比:{{sysCompare.activeHouseQuantity || 0}}</span>
<!-- <span class="span2-2">{{cardlist.liftlist.activeCustomer || 0}}%</span> -->
<span class="span2-2" v-if="orderBy.activeHouseQuantity>0">
<i class="el-icon-top" style="color: red;"></i>
{{orderBy.activeHouseQuantity || 0}}%
</span>
<span class="span2-3" v-if="orderBy.activeHouseQuantity<0">
<i class="el-icon-bottom" style="color: #25CEBA;"></i>
{{orderBy.activeHouseQuantity || 0}}%
</span>
</div>
</div>
</div>
<div class="pagechen">
<div class="pageboxtitle1">销售设备数</div>
<div class="pageboxtitle2">
<div class="span1">{{sysSec.equipmentQuantityWithSold || 0}}</div>
<div class="span2">
<span class="span2-1"> 环比:{{sysCompare.equipmentQuantityWithSold || 0}}</span>
<!-- <span class="span2-2">{{cardlist.liftlist.avgDuration || 0}}%</span> -->
<span class="span2-2" v-if="orderBy.equipmentQuantityWithSold>0">
<i class="el-icon-top" style="color: red;"></i>
{{orderBy.equipmentQuantityWithSold || 0}}%
</span>
<span class="span2-3" v-if="orderBy.equipmentQuantityWithSold<0">
<i class="el-icon-bottom" style="color: #25CEBA;"></i>
{{orderBy.equipmentQuantityWithSold || 0}}%
</span>
</div>
</div>
</div>
<div class="pagechen">
<div class="pageboxtitle1">活跃设备数</div>
<div class="pageboxtitle2">
<div class="span1">{{sysSec.activeEquipmentQuantity || 0}}</div>
<div class="span2">
<span class="span2-1"> 环比:{{sysCompare.activeEquipmentQuantity || 0}}</span>
<!-- <span class="span2-2">{{cardlist.liftlist.fraction || 0}}%</span> -->
<span class="span2-2" v-if="orderBy.activeEquipmentQuantity>0">
<i class="el-icon-top" style="color: red;"></i>
{{orderBy.activeEquipmentQuantity || 0}}%
</span>
<span class="span2-3" v-if="orderBy.activeEquipmentQuantity<0">
<i class="el-icon-bottom" style="color: #25CEBA;"></i>
{{orderBy.activeEquipmentQuantity || 0}}%
</span>
</div>
</div>
</div>

<div class="pagechen">
<div class="pageboxtitle1">活跃用户数</div>
<div class="pageboxtitle2">
<div class="span1">{{sysSec.activeUserQuantity || 0}}</div>
<div class="span2">
<span class="span2-1"> 环比:{{sysCompare.activeUserQuantity || 0}}</span>
<!-- <span class="span2-2">{{cardlist.liftlist.prohibitedCustomer || 0}}%</span> -->
<span class="span2-2" v-if="orderBy.activeUserQuantity>0">
<i class="el-icon-top" style="color: red;"></i>
{{orderBy.activeUserQuantity || 0}}%
</span>
<span class="span2-3" v-if="orderBy.activeUserQuantity<0">
<i class="el-icon-bottom" style="color: #25CEBA;"></i>
{{orderBy.activeUserQuantity || 0}}%
</span>
</div>
</div>
</div>
</div>
<div style=" margin-top: 20px;" class="page-container">
<div class="pagechen">
<div class="pageboxtitle1">接待量</div>
<div class="pageboxtitle2">
<div class="span1">{{sysSec.receptionQuantity || 0}}</div>
<div class="span2">
<span class="span2-1"> 环比:{{sysCompare.receptionQuantity || 0}}</span>
<!-- <span class="span2-2">{{cardlist.liftlist.prohibitedZb || 0}}%</span> -->
<span class="span2-2" v-if="orderBy.receptionQuantity>0">
<i class="el-icon-top" style="color: red;"></i>
{{orderBy.receptionQuantity || 0}}%
</span>
<span class="span2-3" v-if="orderBy.receptionQuantity<0">
<i class="el-icon-bottom" style="color: #25CEBA;"></i>
{{orderBy.receptionQuantity || 0}}%
</span>
</div>
</div>
</div>
<div class="pagechen">
<div class="pageboxtitle1">有效接待</div>
<div class="pageboxtitle2">
<div class="span1">{{sysSec.customerQuantity || 0}}</div>
<div class="span2">
<span class="span2-1"> 环比:{{sysCompare.customerQuantity || 0}}</span>
<!-- <span class="span2-2">{{cardlist.liftlist.accountNum || 0}}%</span> -->
<span class="span2-2" v-if="orderBy.customerQuantity>0">
<i class="el-icon-top" style="color: red;"></i>
{{orderBy.customerQuantity || 0}}%
</span>
<span class="span2-3" v-if="orderBy.customerQuantity<0">
<i class="el-icon-bottom" style="color: #25CEBA;"></i>
{{orderBy.customerQuantity || 0}}%
</span>
</div>
</div>
</div>
<div class="pagechen">
<div class="pageboxtitle1">违禁次数</div>
<div class="pageboxtitle2">
<div class="span1">{{sysSec.prohibitedCount || 0}}</div>
<div class="span2">
<span class="span2-1"> 环比:{{sysCompare.prohibitedCount || 0}}</span>
<!-- <span class="span2-2">{{cardlist.liftlist.accountNum || 0}}%</span> -->
<span class="span2-2" v-if="orderBy.prohibitedCount>0">
<i class="el-icon-top" style="color: red;"></i>
{{orderBy.prohibitedCount || 0}}%
</span>
<span class="span2-3" v-if="orderBy.prohibitedCount<0">
<i class="el-icon-bottom" style="color: #25CEBA;"></i>
{{orderBy.prohibitedCount || 0}}%
</span>
</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">{{cardlist.liftlist.accountNum || 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">
<div class="span1">{{sysSec.receptionTimeCount || 0}}</div>
<div class="span2">
<span class="span2-1"> 环比:{{sysCompare.receptionTimeCount || 0}}</span>
<!-- <span class="span2-2">{{cardlist.liftlist.accountNum || 0}}%</span> -->
<span class="span2-2" v-if="orderBy.receptionTimeCount>0">
<i class="el-icon-top" style="color: red;"></i>
{{orderBy.receptionTimeCount || 0}}%
</span>
<span class="span2-3" v-if="orderBy.receptionTimeCount<0">
<i class="el-icon-bottom" style="color: #25CEBA;"></i>
{{orderBy.receptionTimeCount || 0}}%
</span>
</div>
</div>
</div>
<!-- <div class="pagechen1"></div>
<div class="pagechen1" ></div> -->
</div>

<div class="app-box-san">
<div class="zuo">
<div class="title1">
<div>{{role==2?'楼盘排名(top10)':'公司排名(top10)'}}</div>
<div style="display:flex;">
<div class="text1" style="margin-right:10px;" @click="classatec1=0" :class="{ colostyle: classatec1 == 0 }">接待量</div>
<div class="text1" @click="classatec1=1" :class="{ colostyle: classatec1 == 1 }">平均执行率</div>
</div>
</div>
<div class="tabbox">
<el-table
:header-cell-style="{background:'#F2F4F5'}"
:data="companyRank"
height="320"
style="width: 100%">
<el-table-column
prop="companyName"
label="公司名称"
align="center">
<template slot-scope="{row}">
{{role!=2?row.companyName:row.houseName}}
</template>
</el-table-column>

<el-table-column
v-if="classatec1==0"
prop="receptionCount"
label="接待量"
align="center">
</el-table-column>
<el-table-column
v-if="classatec1==0"
prop="receptionTime"
label="接待时长(小时)"
align="center">

</el-table-column>
<el-table-column
v-if="classatec1==1"
prop="avgFration"
label="平均执行率"
align="center">
<template slot-scope="{row}">
{{row.avgFration||0}}%
</template>
</el-table-column>
</el-table>
</div>

</div>
<div class="you">
<div class="title1">
<div>{{role==2?'顾问排名(top10)':'楼盘排名(top10)'}}</div>
<div style="display:flex;">
<div class="text1" style="margin-right:10px;" @click="classatec2=0" :class="{ colostyle: classatec2 == 0 }">接待量</div>
<div class="text1" @click="classatec2=1" :class="{ colostyle: classatec2 == 1 }">平均执行率</div>
</div>
</div>

<div class="tabbox">
<el-table
:header-cell-style="{background:'#F2F4F5'}"
:data="houseRank"
height="320"
style="width: 100%">
<el-table-column
prop="houseName"
label="楼盘名称"
align="center">
<template slot-scope="{row}">
{{role!=2?row.houseName:row.accountName}}
</template>
</el-table-column>

<el-table-column
prop="receptionCount"
v-if="classatec2==0"
label="接待量"
align="center">
</el-table-column>

<el-table-column
v-if="classatec2==0"
prop="receptionTime"
label="接待时长(小时)"
align="center">
</el-table-column>
<el-table-column
v-if="classatec2==1"
prop="avgFration"
label="平均执行率"
align="center">
<template slot-scope="{row}">
{{row.avgFration||0}}%
</template>
</el-table-column>
</el-table>
</div>
</div>
</div>
</div>

</div>
@@ -357,7 +705,11 @@ export default {
role:'',
houseId:"",
houseList:[],
houseRank:[],
companyRank:[],
classatec:0,
classatec1:0,
classatec2:0,
customtime:[],
statDateStart:'',
statDateEnd:'',
@@ -367,6 +719,11 @@ export default {
liftlist:{},
sequential:{},
},
sysData:{},
orderBy:{},
sysCompare:{},
sysTop:{},
sysSec:{},
tableData: [],
equipmentList:[],
prohibitedlist:[],
@@ -383,13 +740,29 @@ export default {
this.role=localStorage.getItem("orgType");
if(this.role==3){
this.houseId = localStorage.getItem("houseId");

this.getgicd();
// 获取维度占比
this.getindexZxllist()
// 员工执行率
this.getemployeeExecutionRatelist()
// 违禁提醒列表
this.findProhibitedRecord()
// 获取设备
this.findAllZkEquipment()
}else{
// this.zkhousePage()
}
// else if(this.role==0){
// // 系统
// // this.zkhousePage()
// this.waitingForOperation()
// }
// else if(this.role==1){
// // 代理商
// // this.zkhousePage()
// }
else{
// 公司
this.waitingForOperation()
}

},
@@ -402,6 +775,39 @@ export default {
this.getgicd()
this.findProhibitedRecord()
},
// 系统获取第一个数据
waitingForOperation(){
let obj={
dateType: this.TimetoAhoose==5?null:this.TimetoAhoose,
// dateType: 1,
orderBy:1,
startDate: this.statDateStart,
endDate:this.statDateEnd
}
if(this.role==1){
obj.agentId=localStorage.getItem('agentId')/1
}
if(this.role==2){
obj.orgCode=localStorage.getItem('orgCode')
}
this.$api.api.waitingForOperation(obj)
.then(res=>{
// console.log(res);
// this.sysData=res.data
this.sysTop=res.data.top
this.sysSec=res.data.midA
this.sysCompare=res.data.midB
this.orderBy=res.data.midC
if(this.role==2){
this.houseRank=res.data.accountRank
this.companyRank=res.data.houseRank
}else{
this.houseRank=res.data.houseRank
this.companyRank=res.data.companyRank
}

})
},
//获取楼盘
zkhousePage() {
this.$api.api
@@ -514,25 +920,40 @@ export default {
this.classatec=i;
this.findAllZkEquipment()
},
tabclick2(e){
console.log(e);
},
tabclick1(e){
console.log(e);
},
tabtimetap(i){
this.statDateStart='';
this.statDateEnd='';
this.customtime=[];
this.TimetoAhoose=i;
if(this.role==3){
this.getgicd()
this.getindexZxllist()
this.getemployeeExecutionRatelist()
this.findProhibitedRecord()
}else{
this.waitingForOperation()
}

},
//切换时间
confirmtime() {
this.statDateStart=this.customtime[0];
this.statDateEnd=this.customtime[1];
this.TimetoAhoose=5;
if(this.role==3){
this.getgicd()
this.getindexZxllist()
this.getemployeeExecutionRatelist()
this.findProhibitedRecord()
}else{
this.waitingForOperation()
}
},
}
}
@@ -605,6 +1026,11 @@ export default {
}
}
}
.pageboxtitle3{
text-align: center;
font-size: 30px;
line-height: 44px;
}
}
}
.colostyle{
@@ -769,4 +1195,13 @@ export default {
margin-top: 10px;
}
}
.title1{
width: 100%;
height: 55px;
display: flex;
align-content: center;
justify-content: space-between;
padding: 0 20px;
line-height: 55px;
}
</style>

Loading…
Cancel
Save