@@ -510,41 +510,6 @@ | |||
<div v-if="role != 2"> | |||
<!-- 卡片部分 --> | |||
<div class="page-container grid4"> | |||
<div class="pagechen"> | |||
<div style="width:100%"> | |||
<div class="pageboxtitle1 projectCardItem"> | |||
<div class="sum">平均接待时长(分钟) | |||
<el-tooltip effect="light" content="筛选时间内,有效接待(不包含待接单)的平均录音时长,单位分钟;" placement="bottom-end"> | |||
<i class="el-icon-question" style="color:#74A3EA"></i> | |||
</el-tooltip> | |||
<div class="span1">{{ sysSec.receptionTimeWithAvg || 0 }}</div> | |||
</div> | |||
<div class="cardicon"> | |||
<img src="../../public/img/indexIcon/indexCardIcon8.png" alt="" srcset=""> | |||
</div> | |||
</div> | |||
<div class="pageboxtitle2 projectColumn"> | |||
<div class="span2"> | |||
<span class="span2-1"> | |||
环比:{{ sysCompare.receptionTimeWithAvg || 0 }}</span> | |||
<span class="span2-2" v-if="orderBy.receptionTimeWithAvg > 0"> | |||
+{{ orderBy.receptionTimeWithAvg || 0 }} | |||
<i class="up"></i> | |||
</span> | |||
<span class="span2-3" v-if="orderBy.receptionTimeWithAvg < 0"> | |||
{{ orderBy.receptionTimeWithAvg || 0 }} | |||
<i class="down"></i> | |||
</span> | |||
<span style="margin-left:15px;" v-if="orderBy.receptionTimeWithAvg > 0">数据有所增长</span> | |||
<span style="margin-left:15px;" v-if="orderBy.receptionTimeWithAvg < 0">数据有所下降</span> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="pagechen" @click="toDetail('/building/index', '', '楼盘管理')"> | |||
<div style="width:100%"> | |||
@@ -613,229 +578,270 @@ | |||
</div> | |||
</div> | |||
<div class="pagechen" @click="toDetail('/Equipment/index', '', '设备管理')"> | |||
<div class="pagechen" @click="toDetail('/building/Count', '', '楼盘统计')"> | |||
<div style="width:100%"> | |||
<div class="pageboxtitle1 projectCardItem"> | |||
<div class="sum">销售设备数 | |||
<el-tooltip effect="light" content="筛选时间内,绑定正式+测试的楼盘的设备数;" placement="bottom-end"> | |||
<div class="sum">接待量 | |||
<el-tooltip effect="light" content="筛选时间内,已经结束的接待条数,不包含待接单;" placement="bottom-end"> | |||
<i class="el-icon-question" style="color:#74A3EA"></i> | |||
</el-tooltip> | |||
<div class="span1">{{ sysSec.equipmentQuantityWithSold || 0 }}</div> | |||
<div class="span1">{{ sysSec.receptionCount || 0 }}</div> | |||
</div> | |||
<div class="cardicon"> | |||
<img src="../../public/img/indexIcon/indexCardIcon4.png" alt="" srcset=""> | |||
<img src="../../public/img/indexIcon/indexCardIcon1.png" alt="" srcset=""> | |||
</div> | |||
</div> | |||
<div class="pageboxtitle2 projectColumn"> | |||
<div class="span2"> | |||
<span class="span2-1"> | |||
环比:{{ sysCompare.equipmentQuantityWithSold || 0 }}</span> | |||
环比:{{ sysCompare.receptionCount || 0 }}</span> | |||
<span class="span2-2" v-if="orderBy.equipmentQuantityWithSold > 0"> | |||
+{{ orderBy.equipmentQuantityWithSold || 0 }} | |||
<span class="span2-2" v-if="orderBy.receptionCount > 0"> | |||
+{{ orderBy.receptionCount || 0 }} | |||
<i class="up"></i> | |||
</span> | |||
<span class="span2-3" v-if="orderBy.equipmentQuantityWithSold < 0"> | |||
{{ orderBy.equipmentQuantityWithSold || 0 }} | |||
<span class="span2-3" v-if="orderBy.receptionCount < 0"> | |||
{{ orderBy.receptionCount || 0 }} | |||
<i class="down"></i> | |||
</span> | |||
<span style="margin-left:15px;" v-if="orderBy.equipmentQuantityWithSold > 0">数据有所增长</span> | |||
<span style="margin-left:15px;" v-if="orderBy.equipmentQuantityWithSold < 0">数据有所下降</span> | |||
<span style="margin-left:15px;" v-if="orderBy.receptionCount > 0">数据有所增长</span> | |||
<span style="margin-left:15px;" v-if="orderBy.receptionCount < 0">数据有所下降</span> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="pagechen" @click="toDetail('/building/Count', '', '楼盘统计')"> | |||
<div class="pagechen"> | |||
<div style="width:100%"> | |||
<div class="pageboxtitle1 projectCardItem"> | |||
<div class="sum">活跃设备数 | |||
<el-tooltip effect="light" content="筛选时间内,有接待并上传录音的设备;" placement="bottom-end"> | |||
<div class="sum">有效接待 | |||
<el-tooltip effect="light" content="筛选时间内,标记为有效的接待数,不包含待接单;" placement="bottom-end"> | |||
<i class="el-icon-question" style="color:#74A3EA"></i> | |||
</el-tooltip> | |||
<div class="span1">{{ sysSec.activeEquipmentQuantity || 0 }}</div> | |||
<div class="span1">{{ sysSec.activeCustomer || 0 }}</div> | |||
</div> | |||
<div class="cardicon"> | |||
<img src="../../public/img/indexIcon/indexCardIcon4.png" alt="" srcset=""> | |||
<img src="../../public/img/indexIcon/indexCardIcon2.png" alt="" srcset=""> | |||
</div> | |||
</div> | |||
<div class="pageboxtitle2 projectColumn"> | |||
<div class="span2"> | |||
<span class="span2-1"> | |||
环比:{{ sysCompare.activeEquipmentQuantity || 0 }}</span> | |||
环比:{{ sysCompare.activeCustomer || 0 }}</span> | |||
<span class="span2-2" v-if="orderBy.activeEquipmentQuantity > 0"> | |||
+{{ orderBy.activeEquipmentQuantity || 0 }} | |||
<span class="span2-2" v-if="orderBy.activeCustomer > 0"> | |||
+{{ orderBy.activeCustomer || 0 }} | |||
<i class="up"></i> | |||
</span> | |||
<span class="span2-3" v-if="orderBy.activeEquipmentQuantity < 0"> | |||
{{ orderBy.activeEquipmentQuantity || 0 }} | |||
<span class="span2-3" v-if="orderBy.activeCustomer < 0"> | |||
{{ orderBy.activeCustomer || 0 }} | |||
<i class="down"></i> | |||
</span> | |||
<span style="margin-left:15px;" v-if="orderBy.activeEquipmentQuantity > 0">数据有所增长</span> | |||
<span style="margin-left:15px;" v-if="orderBy.activeEquipmentQuantity < 0">数据有所下降</span> | |||
<span style="margin-left:15px;" v-if="orderBy.activeCustomer > 0">数据有所增长</span> | |||
<span style="margin-left:15px;" v-if="orderBy.activeCustomer < 0">数据有所下降</span> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="pagechen"> | |||
<div style="width:100%"> | |||
<div class="pageboxtitle1 projectCardItem"> | |||
<div class="sum">活跃用户数 | |||
<el-tooltip effect="light" content="筛选时间内,登录过系统的用户数;" placement="bottom-end"> | |||
<div class="sum">违禁接待次数 | |||
<el-tooltip effect="light" content="筛选时间内,出现违禁的接待次数,不包含待接单/无效接待/无效违禁;" placement="bottom-end"> | |||
<i class="el-icon-question" style="color:#74A3EA"></i> | |||
</el-tooltip> | |||
<div class="span1">{{ sysSec.activeUserQuantity || 0 }}</div> | |||
<div class="span1">{{ sysSec.prohibitedCount || 0 }}</div> | |||
</div> | |||
<div class="cardicon"> | |||
<img src="../../public/img/indexIcon/indexCardIcon4.png" alt="" srcset=""> | |||
<img src="../../public/img/indexIcon/indexCardIcon5.png" alt="" srcset=""> | |||
</div> | |||
</div> | |||
<div class="pageboxtitle2 projectColumn"> | |||
<div class="span2"> | |||
<span class="span2-1"> | |||
环比:{{ sysCompare.activeUserQuantity || 0 }}</span> | |||
环比:{{ sysCompare.prohibitedCount || 0 }}</span> | |||
<span class="span2-2" v-if="orderBy.activeUserQuantity > 0"> | |||
+{{ orderBy.activeUserQuantity || 0 }} | |||
<span class="span2-2" v-if="orderBy.prohibitedCount > 0"> | |||
+{{ orderBy.prohibitedCount || 0 }} | |||
<i class="up"></i> | |||
</span> | |||
<span class="span2-3" v-if="orderBy.activeUserQuantity < 0"> | |||
{{ orderBy.activeUserQuantity || 0 }} | |||
<span class="span2-3" v-if="orderBy.prohibitedCount < 0"> | |||
{{ orderBy.prohibitedCount || 0 }} | |||
<i class="down"></i> | |||
</span> | |||
<span style="margin-left:15px;" v-if="orderBy.activeUserQuantity > 0">数据有所增长</span> | |||
<span style="margin-left:15px;" v-if="orderBy.activeUserQuantity < 0">数据有所下降</span> | |||
<span style="margin-left:15px;" v-if="orderBy.prohibitedCount > 0">数据有所增长</span> | |||
<span style="margin-left:15px;" v-if="orderBy.prohibitedCount < 0">数据有所下降</span> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
<!-- <div class="pagechen" @click="toDetail('/Equipment/index', '', '设备管理')"> | |||
<div style="width:100%"> | |||
<div class="pageboxtitle1 projectCardItem"> | |||
<div class="sum">销售设备数 | |||
<el-tooltip effect="light" content="筛选时间内,绑定正式+测试的楼盘的设备数;" placement="bottom-end"> | |||
<i class="el-icon-question" style="color:#74A3EA"></i> | |||
</el-tooltip> | |||
<div class="span1">{{ sysSec.equipmentQuantityWithSold || 0 }}</div> | |||
</div> | |||
<div class="cardicon"> | |||
<img src="../../public/img/indexIcon/indexCardIcon4.png" alt="" srcset=""> | |||
</div> | |||
</div> | |||
<div class="pageboxtitle2 projectColumn"> | |||
<div class="span2"> | |||
<span class="span2-1"> | |||
环比:{{ sysCompare.equipmentQuantityWithSold || 0 }}</span> | |||
<span class="span2-2" v-if="orderBy.equipmentQuantityWithSold > 0"> | |||
+{{ orderBy.equipmentQuantityWithSold || 0 }} | |||
<i class="up"></i> | |||
</span> | |||
<span class="span2-3" v-if="orderBy.equipmentQuantityWithSold < 0"> | |||
{{ orderBy.equipmentQuantityWithSold || 0 }} | |||
<i class="down"></i> | |||
</span> | |||
<span style="margin-left:15px;" v-if="orderBy.equipmentQuantityWithSold > 0">数据有所增长</span> | |||
<span style="margin-left:15px;" v-if="orderBy.equipmentQuantityWithSold < 0">数据有所下降</span> | |||
</div> | |||
</div> | |||
</div> | |||
</div> --> | |||
<div class="pagechen" @click="toDetail('/building/Count', '', '楼盘统计')"> | |||
<div style="width:100%"> | |||
<div class="pageboxtitle1 projectCardItem"> | |||
<div class="sum">接待量 | |||
<el-tooltip effect="light" content="筛选时间内,已经结束的接待条数,不包含待接单;" placement="bottom-end"> | |||
<div class="sum">活跃设备数 | |||
<el-tooltip effect="light" content="筛选时间内,有接待并上传录音的设备;" placement="bottom-end"> | |||
<i class="el-icon-question" style="color:#74A3EA"></i> | |||
</el-tooltip> | |||
<div class="span1">{{ sysSec.receptionCount || 0 }}</div> | |||
<div class="span1">{{ sysSec.activeEquipmentQuantity || 0 }}</div> | |||
</div> | |||
<div class="cardicon"> | |||
<img src="../../public/img/indexIcon/indexCardIcon1.png" alt="" srcset=""> | |||
<img src="../../public/img/indexIcon/indexCardIcon4.png" alt="" srcset=""> | |||
</div> | |||
</div> | |||
<div class="pageboxtitle2 projectColumn"> | |||
<div class="span2"> | |||
<span class="span2-1"> | |||
环比:{{ sysCompare.receptionCount || 0 }}</span> | |||
环比:{{ sysCompare.activeEquipmentQuantity || 0 }}</span> | |||
<span class="span2-2" v-if="orderBy.receptionCount > 0"> | |||
+{{ orderBy.receptionCount || 0 }} | |||
<span class="span2-2" v-if="orderBy.activeEquipmentQuantity > 0"> | |||
+{{ orderBy.activeEquipmentQuantity || 0 }} | |||
<i class="up"></i> | |||
</span> | |||
<span class="span2-3" v-if="orderBy.receptionCount < 0"> | |||
{{ orderBy.receptionCount || 0 }} | |||
<span class="span2-3" v-if="orderBy.activeEquipmentQuantity < 0"> | |||
{{ orderBy.activeEquipmentQuantity || 0 }} | |||
<i class="down"></i> | |||
</span> | |||
<span style="margin-left:15px;" v-if="orderBy.receptionCount > 0">数据有所增长</span> | |||
<span style="margin-left:15px;" v-if="orderBy.receptionCount < 0">数据有所下降</span> | |||
<span style="margin-left:15px;" v-if="orderBy.activeEquipmentQuantity > 0">数据有所增长</span> | |||
<span style="margin-left:15px;" v-if="orderBy.activeEquipmentQuantity < 0">数据有所下降</span> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="pagechen"> | |||
<!-- <div class="pagechen"> | |||
<div style="width:100%"> | |||
<div class="pageboxtitle1 projectCardItem"> | |||
<div class="sum">有效接待 | |||
<el-tooltip effect="light" content="筛选时间内,标记为有效的接待数,不包含待接单;" placement="bottom-end"> | |||
<div class="sum">活跃用户数 | |||
<el-tooltip effect="light" content="筛选时间内,登录过系统的用户数;" placement="bottom-end"> | |||
<i class="el-icon-question" style="color:#74A3EA"></i> | |||
</el-tooltip> | |||
<div class="span1">{{ sysSec.activeCustomer || 0 }}</div> | |||
<div class="span1">{{ sysSec.activeUserQuantity || 0 }}</div> | |||
</div> | |||
<div class="cardicon"> | |||
<img src="../../public/img/indexIcon/indexCardIcon2.png" alt="" srcset=""> | |||
<img src="../../public/img/indexIcon/indexCardIcon4.png" alt="" srcset=""> | |||
</div> | |||
</div> | |||
<div class="pageboxtitle2 projectColumn"> | |||
<div class="span2"> | |||
<span class="span2-1"> | |||
环比:{{ sysCompare.activeCustomer || 0 }}</span> | |||
环比:{{ sysCompare.activeUserQuantity || 0 }}</span> | |||
<span class="span2-2" v-if="orderBy.activeCustomer > 0"> | |||
+{{ orderBy.activeCustomer || 0 }} | |||
<span class="span2-2" v-if="orderBy.activeUserQuantity > 0"> | |||
+{{ orderBy.activeUserQuantity || 0 }} | |||
<i class="up"></i> | |||
</span> | |||
<span class="span2-3" v-if="orderBy.activeCustomer < 0"> | |||
{{ orderBy.activeCustomer || 0 }} | |||
<span class="span2-3" v-if="orderBy.activeUserQuantity < 0"> | |||
{{ orderBy.activeUserQuantity || 0 }} | |||
<i class="down"></i> | |||
</span> | |||
<span style="margin-left:15px;" v-if="orderBy.activeCustomer > 0">数据有所增长</span> | |||
<span style="margin-left:15px;" v-if="orderBy.activeCustomer < 0">数据有所下降</span> | |||
<span style="margin-left:15px;" v-if="orderBy.activeUserQuantity > 0">数据有所增长</span> | |||
<span style="margin-left:15px;" v-if="orderBy.activeUserQuantity < 0">数据有所下降</span> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
</div> --> | |||
<div class="pagechen"> | |||
<div style="width:100%"> | |||
<div class="pageboxtitle1 projectCardItem"> | |||
<div class="sum">违禁接待次数 | |||
<el-tooltip effect="light" content="筛选时间内,出现违禁的接待次数,不包含待接单/无效接待/无效违禁;" placement="bottom-end"> | |||
<div class="sum">平均接待时长(分钟) | |||
<el-tooltip effect="light" content="筛选时间内,有效接待(不包含待接单)的平均录音时长,单位分钟;" placement="bottom-end"> | |||
<i class="el-icon-question" style="color:#74A3EA"></i> | |||
</el-tooltip> | |||
<div class="span1">{{ sysSec.prohibitedCount || 0 }}</div> | |||
<div class="span1">{{ sysSec.receptionTimeWithAvg || 0 }}</div> | |||
</div> | |||
<div class="cardicon"> | |||
<img src="../../public/img/indexIcon/indexCardIcon5.png" alt="" srcset=""> | |||
<img src="../../public/img/indexIcon/indexCardIcon8.png" alt="" srcset=""> | |||
</div> | |||
</div> | |||
<div class="pageboxtitle2 projectColumn"> | |||
<div class="span2"> | |||
<span class="span2-1"> | |||
环比:{{ sysCompare.prohibitedCount || 0 }}</span> | |||
环比:{{ sysCompare.receptionTimeWithAvg || 0 }}</span> | |||
<span class="span2-2" v-if="orderBy.prohibitedCount > 0"> | |||
+{{ orderBy.prohibitedCount || 0 }} | |||
<span class="span2-2" v-if="orderBy.receptionTimeWithAvg > 0"> | |||
+{{ orderBy.receptionTimeWithAvg || 0 }} | |||
<i class="up"></i> | |||
</span> | |||
<span class="span2-3" v-if="orderBy.prohibitedCount < 0"> | |||
{{ orderBy.prohibitedCount || 0 }} | |||
<span class="span2-3" v-if="orderBy.receptionTimeWithAvg < 0"> | |||
{{ orderBy.receptionTimeWithAvg || 0 }} | |||
<i class="down"></i> | |||
</span> | |||
<span style="margin-left:15px;" v-if="orderBy.prohibitedCount > 0">数据有所增长</span> | |||
<span style="margin-left:15px;" v-if="orderBy.prohibitedCount < 0">数据有所下降</span> | |||
<span style="margin-left:15px;" v-if="orderBy.receptionTimeWithAvg > 0">数据有所增长</span> | |||
<span style="margin-left:15px;" v-if="orderBy.receptionTimeWithAvg < 0">数据有所下降</span> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="pagechen" @click="toDetail('/building/Count', '', '楼盘统计')"> | |||
@@ -1124,7 +1130,7 @@ | |||
</div> | |||
<div class="pagechen" @click="toDetail('/Equipment/state', '', '设备监控')"> | |||
<!-- <div class="pagechen" @click="toDetail('/Equipment/state', '', '设备监控')"> | |||
<div style="width:100%"> | |||
<div class="pageboxtitle1 projectCardItem"> | |||
<div class="sum">活跃设备数 | |||
@@ -1159,7 +1165,7 @@ | |||
</div> | |||
</div> | |||
</div> | |||
</div> --> | |||
<div class="pagechen" @click="toDetail('/Equipment/state', '', '设备监控')"> | |||
<div style="width:100%"> | |||
@@ -71,6 +71,11 @@ | |||
</el-table-column> | |||
<el-table-column :show-overflow-tooltip="true" width="140px" prop="operationalName" label="系统运营" align="center"> | |||
<template slot-scope="{ row }"> | |||
<el-tooltip class="item" effect="dark" :content="row.operationalName" placement="top-start"> | |||
<span style="display: block;width: 100%;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;"> {{row.operationalName || "-"}}</span> | |||
</el-tooltip> | |||
</template> | |||
</el-table-column> | |||
<el-table-column prop="managerPhone" label="管理员账号" :width="120" align="center"> | |||
</el-table-column> | |||
@@ -233,12 +233,27 @@ | |||
<el-table-column type="index" label="序号" align="center"> | |||
</el-table-column> | |||
<el-table-column prop="imei" label="设备编号" align="center"> | |||
<template slot-scope="{ row }"> | |||
<el-tooltip class="item" effect="dark" :content="row.imei" placement="top-start"> | |||
<span style="display: block;width: 100%;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;"> {{row.imei || "-"}}</span> | |||
</el-tooltip> | |||
</template> | |||
</el-table-column> | |||
<el-table-column prop="batchId" label="批次号" align="center"> | |||
<template slot-scope="{ row }"> | |||
<el-tooltip class="item" effect="dark" :content="row.batchId" placement="top-start"> | |||
<span style="display: block;width: 100%;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;"> {{row.batchId || "-"}}</span> | |||
</el-tooltip> | |||
</template> | |||
</el-table-column> | |||
<el-table-column prop="agentName" label="代理商" align="center"> | |||
</el-table-column> | |||
<el-table-column prop="orgName" label="公司" align="center"> | |||
<template slot-scope="{ row }"> | |||
<el-tooltip class="item" effect="dark" :content="row.orgName" placement="top-start"> | |||
<span style="display: block;width: 100%;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;"> {{row.orgName || "-"}}</span> | |||
</el-tooltip> | |||
</template> | |||
</el-table-column> | |||
<el-table-column prop="houseName" label="项目" align="center"> | |||
</el-table-column> | |||
@@ -353,6 +353,11 @@ | |||
<el-table-column type="index" label="序号" align="center"> | |||
</el-table-column> | |||
<el-table-column prop="imei" label="设备编号" align="center"> | |||
<template slot-scope="{ row }"> | |||
<el-tooltip class="item" effect="dark" :content="row.imei" placement="top-start"> | |||
<span style="display: block;width: 100%;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;"> {{row.imei || "-"}}</span> | |||
</el-tooltip> | |||
</template> | |||
</el-table-column> | |||
<el-table-column prop="houseName" label="项目" align="center"> | |||
</el-table-column> | |||
@@ -166,8 +166,8 @@ | |||
<div class="zuo"> | |||
<div class="title"> | |||
<div class="text1">团队执行率趋势</div> | |||
<div class="text2"> | |||
<el-select style="width: 90%; margin: 0 auto" @change="Pinspeaktap(1)" v-model="departmentsri" | |||
<div class="text2" style="justify-content: end;"> | |||
<el-select style="width: 60%; margin-right: 20px;" @change="Pinspeaktap(1)" v-model="departmentsri" | |||
placeholder="请选择"> | |||
<el-option v-for="item in departmentlist" :key="item.deptId" :label="item.name" :value="item.deptId"> | |||
</el-option> | |||
@@ -189,8 +189,8 @@ | |||
<div class="you"> | |||
<div class="title"> | |||
<div class="text1">顾问执行率趋势</div> | |||
<div class="text2"> | |||
<el-select style="width: 90%; margin: 0 auto" @change="Pinspeaktap(2)" v-model="consultantsri" | |||
<div class="text2" style="justify-content: end;"> | |||
<el-select style="width: 60%; margin-right: 20px;" @change="Pinspeaktap(2)" v-model="consultantsri" | |||
placeholder="请选择"> | |||
<el-option v-for="item in consultantlist" :key="item.accountId" :label="item.name" | |||
:value="item.accountId"> | |||
@@ -406,8 +406,8 @@ | |||
</el-tooltip> | |||
</div> | |||
<div class="text2"></div> | |||
<div class="text2"> | |||
<el-select style="width: 90%; margin: 0 auto" @change="zxltapchang()" v-model="marketingId" | |||
<div class="text2" style="justify-content: end;"> | |||
<el-select style="width: 70%; margin-right: 20px;" @change="zxltapchang()" v-model="marketingId" | |||
placeholder="请选择"> | |||
<el-option v-for="item in Zxllist" :key="item.marketingId" :label="item.name" :value="item.marketingId"> | |||
</el-option> | |||
@@ -767,7 +767,7 @@ export default { | |||
tooltip: { | |||
trigger: 'axis', | |||
axisPointer: { | |||
type: 'shadow' | |||
type: 'line' | |||
} | |||
}, | |||
grid: { | |||
@@ -797,16 +797,17 @@ export default { | |||
type: 'bar', | |||
barCategoryGap: '70%', | |||
itemStyle: { | |||
normal: { | |||
color: new echarts.graphic.LinearGradient( | |||
0, 0, 0, 1, | |||
[ | |||
{ offset: 0, color: '#9837dd' }, //柱图渐变色 | |||
{ offset: 1, color: '#e23af5' }, //柱图渐变色 | |||
] | |||
) | |||
}, | |||
}, | |||
normal: { | |||
color: new echarts.graphic.LinearGradient( | |||
0, 0, 0, 1, | |||
[ | |||
{ offset: 0, color: '#9837dd' }, //柱图渐变色 | |||
{ offset: 1, color: '#e23af5' }, //柱图渐变色 | |||
] | |||
), | |||
barBorderRadius: [5, 5, 0, 0] | |||
}, | |||
}, | |||
} | |||
] | |||
}; | |||
@@ -1440,7 +1440,7 @@ export default { | |||
justify-content: center; | |||
.youimg { | |||
width: 45%; | |||
width: 33%; | |||
// height: 60px; | |||
} | |||
} | |||
@@ -140,7 +140,7 @@ | |||
</div> --> | |||
</div> | |||
</el-card> | |||
<el-card shadow="hover" :class="{ tophovese: secindex == 2 }"> | |||
<!-- <el-card shadow="hover" :class="{ tophovese: secindex == 2 }"> | |||
<div @click="secondChange('2')"> | |||
<div class="text1"> | |||
活跃用户数 | |||
@@ -150,7 +150,7 @@ | |||
</div> | |||
<div class="text2"> | |||
{{ secondTab.activeUserQuantity || 0 }} | |||
</div> | |||
</div> --> | |||
<!-- <div class="text3"> | |||
<span>环比 {{ cardobjs.activeCustomer || 0 }}</span> | |||
<span class="textUp" v-if="cardobjCycle.activeCustomer > 0"> | |||
@@ -162,8 +162,8 @@ | |||
<i class="down"></i> | |||
</span> | |||
</div> --> | |||
</div> | |||
</el-card> | |||
<!-- </div> | |||
</el-card> --> | |||
<el-card shadow="hover" :class="{ tophovese: secindex == 3 }"> | |||
<div @click="secondChange('3')"> | |||
<div class="text1"> | |||
@@ -275,7 +275,7 @@ | |||
</div> | |||
</div> | |||
</el-card> | |||
<el-card shadow="hover" :class="{ tophovese: cardindex == 4 }"> | |||
<!-- <el-card shadow="hover" :class="{ tophovese: cardindex == 4 }"> | |||
<div @click="Overviewxlick('4')"> | |||
<div class="text1"> | |||
活跃用户数 | |||
@@ -298,7 +298,7 @@ | |||
</span> | |||
</div> | |||
</div> | |||
</el-card> | |||
</el-card> --> | |||
<el-card shadow="hover" :class="{ tophovese: cardindex == 5 }"> | |||
<div @click="Overviewxlick('5')"> | |||
<div class="text1"> | |||
@@ -392,7 +392,7 @@ | |||
</div> | |||
</div> | |||
</el-card> | |||
<el-card shadow="hover" :class="{ tophovese: cardindex == 9 }"> | |||
<!-- <el-card shadow="hover" :class="{ tophovese: cardindex == 9 }"> | |||
<div @click="Overviewxlick('9')"> | |||
<div class="text1"> | |||
销售设备数 | |||
@@ -415,7 +415,7 @@ | |||
</span> | |||
</div> | |||
</div> | |||
</el-card> | |||
</el-card> --> | |||
<!-- <div class="grid-content" style="cursor: pointer;" @click="Overviewxlick('2')"> | |||
<div class="text1" :class="{ tophovese: cardindex == 2 }"> | |||
@@ -645,7 +645,7 @@ export default { | |||
}, | |||
methods: { | |||
changeTab(i) { | |||
this.tabName = i; | |||
// this.tabName = i; | |||
}, | |||
echarValue1Change(e) { | |||
if (e == 0) { | |||
@@ -705,7 +705,7 @@ export default { | |||
}, | |||
methods: { | |||
changeTab(i) { | |||
this.tabName = i; | |||
// this.tabName = i; | |||
}, | |||
echarValue1Change(e) { | |||
if (e == 0) { | |||
@@ -250,7 +250,7 @@ | |||
</div> --> | |||
</div> | |||
</el-card> | |||
<el-card shadow="hover" :class="{ tophovese: secindex == 2 }"> | |||
<!-- <el-card shadow="hover" :class="{ tophovese: secindex == 2 }"> | |||
<div @click="secondChange('2')"> | |||
<div class="text1"> | |||
活跃用户数 | |||
@@ -260,7 +260,7 @@ | |||
</div> | |||
<div class="text2"> | |||
{{ secondTab.activeUserQuantity || 0 }} | |||
</div> | |||
</div> --> | |||
<!-- <div class="text3"> | |||
<span>环比 {{ cardobjs.activeCustomer || 0 }}</span> | |||
<span class="textUp" v-if="cardobjCycle.activeCustomer > 0"> | |||
@@ -272,8 +272,8 @@ | |||
<i class="down"></i> | |||
</span> | |||
</div> --> | |||
</div> | |||
</el-card> | |||
<!-- </div> | |||
</el-card> --> | |||
<el-card shadow="hover" :class="{ tophovese: secindex == 3 }"> | |||
<div @click="secondChange('3')"> | |||
<div class="text1"> | |||
@@ -394,7 +394,7 @@ | |||
</div> | |||
</div> | |||
</el-card> | |||
<el-card shadow="hover" :class="{ tophovese: cardindex == 4 }"> | |||
<!-- <el-card shadow="hover" :class="{ tophovese: cardindex == 4 }"> | |||
<div @click="Overviewxlick('4')"> | |||
<div class="text1"> | |||
活跃用户数<el-tooltip effect="light" content="筛选时间内,登录过系统的用户数;" placement="bottom-end"> | |||
@@ -416,7 +416,7 @@ | |||
</span> | |||
</div> | |||
</div> | |||
</el-card> | |||
</el-card> --> | |||
<el-card shadow="hover" :class="{ tophovese: cardindex == 5 }"> | |||
<div @click="Overviewxlick('5')"> | |||
<div class="text1"> | |||
@@ -510,7 +510,7 @@ | |||
</div> | |||
</div> | |||
</el-card> | |||
<el-card shadow="hover" :class="{ tophovese: cardindex == 9 }"> | |||
<!-- <el-card shadow="hover" :class="{ tophovese: cardindex == 9 }"> | |||
<div @click="Overviewxlick('9')"> | |||
<div class="text1"> | |||
销售设备数<el-tooltip effect="light" content="筛选时间内,绑定正式+测试的楼盘的设备数;" placement="bottom-end"> | |||
@@ -532,7 +532,7 @@ | |||
</span> | |||
</div> | |||
</div> | |||
</el-card> | |||
</el-card> --> | |||
<!-- <div class="grid-content" style="cursor: pointer;" @click="Overviewxlick('2')"> | |||
<div class="text1" :class="{ tophovese: cardindex == 2 }"> | |||
@@ -815,7 +815,7 @@ export default { | |||
}, | |||
methods: { | |||
changeTab(i) { | |||
this.tabName = i; | |||
// this.tabName = i; | |||
}, | |||
echarValue1Change(e) { | |||
if (e == 0) { | |||
@@ -67,8 +67,18 @@ | |||
<el-table-column type="index" label="序号" width="50"> | |||
</el-table-column> | |||
<el-table-column prop="correctWord" label="正确词" align="center"> | |||
<template slot-scope="{ row }"> | |||
<el-tooltip class="item" effect="dark" :content="row.correctWord" placement="top-start"> | |||
<span style="display: block;width: 100%;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;"> {{row.correctWord || "-"}}</span> | |||
</el-tooltip> | |||
</template> | |||
</el-table-column> | |||
<el-table-column prop="wrongWord" label="错误词" align="center"> | |||
<template slot-scope="{ row }"> | |||
<el-tooltip class="item" effect="dark" :content="row.wrongWord" placement="top-start"> | |||
<span style="display: block;width: 100%;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;"> {{row.wrongWord || "-"}}</span> | |||
</el-tooltip> | |||
</template> | |||
</el-table-column> | |||
<el-table-column prop="createTime" label="创建时间" align="center"> | |||
@@ -1,27 +1,16 @@ | |||
<template> | |||
<div class="box-center"> | |||
<div class="toptab" style="cursor: pointer" v-if="orgType != 2"> | |||
<div | |||
@click="tapclickyab(0)" | |||
:class="{ activecllasscet: activeTotal == 0 }" | |||
:style="{ background: activeTotal == 0 ? '#2671E2' : '#ffffff' }" | |||
> | |||
<div @click="tapclickyab(0)" :class="{ activecllasscet: activeTotal == 0 }" | |||
:style="{ background: activeTotal == 0 ? '#2671E2' : '#ffffff' }"> | |||
项目 | |||
</div> | |||
<div | |||
v-if="orgType == 0" | |||
@click="tapclickyab(1)" | |||
:class="{ activecllasscet: activeTotal == 1 }" | |||
:style="{ background: activeTotal == 1 ? '#2671E2' : '#ffffff' }" | |||
> | |||
<div v-if="orgType == 0" @click="tapclickyab(1)" :class="{ activecllasscet: activeTotal == 1 }" | |||
:style="{ background: activeTotal == 1 ? '#2671E2' : '#ffffff' }"> | |||
代理商 | |||
</div> | |||
<div | |||
v-if="orgType == 0 || orgType == 1" | |||
@click="tapclickyab(2)" | |||
:class="{ activecllasscet: activeTotal == 2 }" | |||
:style="{ background: activeTotal == 2 ? '#2671E2' : '#ffffff' }" | |||
> | |||
<div v-if="orgType == 0 || orgType == 1" @click="tapclickyab(2)" :class="{ activecllasscet: activeTotal == 2 }" | |||
:style="{ background: activeTotal == 2 ? '#2671E2' : '#ffffff' }"> | |||
公司 | |||
</div> | |||
</div> | |||
@@ -31,40 +20,20 @@ | |||
<div class="div-lab"> | |||
<div class="label" style="margin-left: 15px">时间:</div> | |||
<div class="toptimeqhuan"> | |||
<div | |||
:class="{ tophove: searchForm.dateType == 4 }" | |||
@click="tabtimetap(4)" | |||
style="cursor: pointer" | |||
> | |||
<div :class="{ tophove: searchForm.dateType == 4 }" @click="tabtimetap(4)" style="cursor: pointer"> | |||
近7天 | |||
</div> | |||
<div | |||
:class="{ tophove: searchForm.dateType == 5 }" | |||
@click="tabtimetap(5)" | |||
style="cursor: pointer" | |||
> | |||
<div :class="{ tophove: searchForm.dateType == 5 }" @click="tabtimetap(5)" style="cursor: pointer"> | |||
近15天 | |||
</div> | |||
<div | |||
:class="{ tophove: searchForm.dateType == 6 }" | |||
@click="tabtimetap(6)" | |||
style="cursor: pointer" | |||
> | |||
<div :class="{ tophove: searchForm.dateType == 6 }" @click="tabtimetap(6)" style="cursor: pointer"> | |||
近30天 | |||
</div> | |||
</div> | |||
<div> | |||
<el-date-picker | |||
v-model="time" | |||
type="daterange" | |||
class="div-inp" | |||
range-separator="-" | |||
start-placeholder="开始日期" | |||
:default-time="['00:00:00', '23:59:59']" | |||
value-format="yyyy-MM-dd" | |||
end-placeholder="结束日期" | |||
@change="timeChange" | |||
> | |||
<el-date-picker v-model="time" type="daterange" class="div-inp" range-separator="-" start-placeholder="开始日期" | |||
:default-time="['00:00:00', '23:59:59']" value-format="yyyy-MM-dd" end-placeholder="结束日期" | |||
@change="timeChange"> | |||
</el-date-picker> | |||
</div> | |||
</div> | |||
@@ -95,68 +64,24 @@ | |||
</div> --> | |||
<div class="div-lab" v-if="orgType == 0"> | |||
<el-input | |||
v-model="changeValue" | |||
clearable | |||
placeholder="请输入" | |||
maxlength="10" | |||
@change="selectChange" | |||
style="width: 363px" | |||
> | |||
<el-select | |||
v-model="selflag" | |||
slot="prepend" | |||
class="input-with-select" | |||
style="width: 115px" | |||
placeholder="请选择" | |||
@change="selChange" | |||
> | |||
<el-option | |||
v-if="activeTotal != 1" | |||
label="公司名称" | |||
value="1" | |||
></el-option> | |||
<el-option | |||
v-if="activeTotal != 2" | |||
label="代理商名称" | |||
value="2" | |||
></el-option> | |||
<el-option | |||
v-if="activeTotal == 0" | |||
label="项目名称" | |||
value="3" | |||
></el-option> | |||
<el-input v-model="changeValue" clearable placeholder="请输入" maxlength="10" @change="selectChange" | |||
style="width: 363px"> | |||
<el-select v-model="selflag" slot="prepend" class="input-with-select" style="width: 115px" placeholder="请选择" | |||
@change="selChange"> | |||
<el-option v-if="activeTotal != 1" label="公司名称" value="1"></el-option> | |||
<el-option v-if="activeTotal != 2" label="代理商名称" value="2"></el-option> | |||
<el-option v-if="activeTotal == 0" label="项目名称" value="3"></el-option> | |||
</el-select> | |||
</el-input> | |||
</div> | |||
<div class="div-lab" v-if="orgType == 1"> | |||
<el-input | |||
v-model="changeValue" | |||
clearable | |||
placeholder="请输入" | |||
maxlength="10" | |||
@change="selectChange" | |||
style="width: 363px" | |||
> | |||
<el-select | |||
v-model="selflag" | |||
slot="prepend" | |||
class="input-with-select" | |||
style="width: 115px" | |||
placeholder="请选择" | |||
@change="selChange" | |||
> | |||
<el-option | |||
v-if="activeTotal != 1" | |||
label="公司名称" | |||
value="1" | |||
></el-option> | |||
<el-option | |||
v-if="activeTotal == 0" | |||
label="项目名称" | |||
value="3" | |||
></el-option> | |||
<el-input v-model="changeValue" clearable placeholder="请输入" maxlength="10" @change="selectChange" | |||
style="width: 363px"> | |||
<el-select v-model="selflag" slot="prepend" class="input-with-select" style="width: 115px" placeholder="请选择" | |||
@change="selChange"> | |||
<el-option v-if="activeTotal != 1" label="公司名称" value="1"></el-option> | |||
<el-option v-if="activeTotal == 0" label="项目名称" value="3"></el-option> | |||
</el-select> | |||
</el-input> | |||
</div> | |||
@@ -164,15 +89,8 @@ | |||
<div class="app-titel" style="margin-top: 5px"> | |||
<div class="div-lab"> | |||
<div class="label">地区:</div> | |||
<el-cascader | |||
:props="props" | |||
@change="locationsChange" | |||
placeholder="省/市" | |||
size="small" | |||
separator="/" | |||
v-model="provice" | |||
clearable | |||
></el-cascader> | |||
<el-cascader :props="props" @change="locationsChange" placeholder="省/市" size="small" separator="/" | |||
v-model="provice" clearable></el-cascader> | |||
</div> | |||
<!-- <div class="div-lab" v-if="orgType == 0"> | |||
<div class="label" style="min-width:70px;">系统运营:</div> | |||
@@ -184,19 +102,8 @@ | |||
</div> --> | |||
<div v-if="orgType == 0 || orgType == 1" class="div-lab"> | |||
<div class="label">运营人员:</div> | |||
<el-select | |||
v-model="searchForm.operationStaffId" | |||
placeholder="请选择" | |||
class="div-inp" | |||
filterable | |||
clearable | |||
> | |||
<el-option | |||
v-for="item in operaList" | |||
:key="item.accountId" | |||
:label="item.name" | |||
:value="item.accountId" | |||
> | |||
<el-select v-model="searchForm.operationStaffId" placeholder="请选择" class="div-inp" filterable clearable> | |||
<el-option v-for="item in operaList" :key="item.accountId" :label="item.name" :value="item.accountId"> | |||
</el-option> | |||
</el-select> | |||
</div> | |||
@@ -208,10 +115,7 @@ | |||
<div style="margin-left: 20px"> | |||
<el-button @click="clascreen">清空筛选条件</el-button> | |||
</div> | |||
<div | |||
style="margin-left: auto; margin-right: 10px" | |||
v-if="cus_build_count_download" | |||
> | |||
<div style="margin-left: auto; margin-right: 10px" v-if="cus_build_count_download"> | |||
<el-button @click="downLoad">导出</el-button> | |||
</div> | |||
</div> | |||
@@ -219,25 +123,19 @@ | |||
<!-- 表格 --> | |||
<div class="cen-tab"> | |||
<el-table | |||
v-if="activeTotal == 0" | |||
:data="tableData" | |||
stripe | |||
style="width: 100%" | |||
> | |||
<el-table v-if="activeTotal == 0" :data="tableData" stripe style="width: 100%"> | |||
<el-table-column prop="propertyName" label="项目名称" align="center"> | |||
</el-table-column> | |||
<el-table-column prop="orgName" label="公司名称" align="center"> | |||
<template slot-scope="{ row }"> | |||
<el-tooltip class="item" effect="dark" :content="row.orgName" placement="top-start"> | |||
<span style="display: block;width: 100%;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;">{{row.orgName}}</span> | |||
</el-tooltip> | |||
</template> | |||
</el-table-column> | |||
<el-table-column prop="agentName" label="代理商" align="center"> | |||
</el-table-column> | |||
<el-table-column | |||
prop="avgExacutiveRate" | |||
label="平均执行率" | |||
width="110" | |||
align="center" | |||
sortable | |||
> | |||
<el-table-column prop="avgExacutiveRate" label="平均执行率" width="110" align="center" sortable> | |||
<template slot-scope="{ row }"> | |||
{{ row.avgExacutiveRate || 0 }}% | |||
</template> | |||
@@ -246,28 +144,27 @@ | |||
</el-table-column> | |||
<el-table-column prop="noMarkAdviserCount" label="未标顾问" align="center" sortable width="110"> | |||
</el-table-column> | |||
<el-table-column prop="equipmentNum" label="设备总数" align="center" sortable width="100"> | |||
<el-table-column prop="equipmentNum" label="设备总数" align="center" sortable width="100"> | |||
</el-table-column> | |||
<el-table-column prop="area" label="地区" align="center"> | |||
<template slot-scope="{ row }"> | |||
<el-tooltip class="item" effect="dark" :content="row.area" placement="top-start"> | |||
<span style="display: block;width: 100%;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;">{{row.area}}</span> | |||
</el-tooltip> | |||
</template> | |||
</el-table-column> | |||
<el-table-column | |||
v-if="orgType != 2" | |||
prop="operationStaffName" | |||
label="运营人员" | |||
align="center" | |||
> | |||
</el-table-column> | |||
<el-table-column prop="onlineQuantity" label="在线设备" align="center" sortable width="100"> | |||
</el-table-column> | |||
<el-table-column | |||
prop="noOnlineQuantity" | |||
label="离线设备" | |||
width="100" | |||
align="center" | |||
sortable | |||
> | |||
<el-table-column v-if="orgType != 2" prop="operationStaffName" label="运营人员" align="center"> | |||
<template slot-scope="{ row }"> | |||
<el-tooltip class="item" effect="dark" :content="row.operationStaffName" placement="top-start"> | |||
<span style="display: block;width: 100%;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;">{{row.operationStaffName}}</span> | |||
</el-tooltip> | |||
</template> | |||
</el-table-column> | |||
<el-table-column prop="onlineQuantity" label="在线设备" align="center" sortable width="100"> | |||
</el-table-column> | |||
<el-table-column prop="noOnlineQuantity" label="离线设备" width="100" align="center" sortable> | |||
</el-table-column> | |||
<el-table-column prop="activeQuantity" label="活跃设备" align="center" sortable width="100"> | |||
</el-table-column> | |||
@@ -279,51 +176,24 @@ | |||
</el-table-column> | |||
<el-table-column prop="noActiveCustomer" label="无效接待" align="center" sortable width="110"> | |||
</el-table-column> | |||
<el-table-column prop="sumRecordTime" label="接待时长" align="center" sortable width="100"> | |||
<el-table-column prop="sumRecordTime" label="接待时长" align="center" sortable width="100"> | |||
</el-table-column> | |||
<el-table-column | |||
prop="sumProhibitedQuantity" | |||
label="违禁次数" | |||
width="100" | |||
align="center" | |||
sortable | |||
> | |||
<el-table-column prop="sumProhibitedQuantity" label="违禁次数" width="100" align="center" sortable> | |||
</el-table-column> | |||
<el-table-column label="操作" align="center" fixed="right" width="200"> | |||
<template slot-scope="{ row }"> | |||
<el-button | |||
type="text" | |||
v-if="cus_build_area_record" | |||
@click="goEquiment(row)" | |||
>设备使用统计</el-button | |||
> | |||
<el-button type="text" v-if="cus_build_area_record" @click="goEquiment(row)">设备使用统计</el-button> | |||
</template> | |||
</el-table-column> | |||
</el-table> | |||
<el-table | |||
v-if="activeTotal == 2" | |||
:data="tableData" | |||
stripe | |||
style="width: 100%" | |||
> | |||
<el-table v-if="activeTotal == 2" :data="tableData" stripe style="width: 100%"> | |||
<el-table-column prop="orgName" label="公司名称" align="center"> | |||
</el-table-column> | |||
<el-table-column | |||
prop="houseQuantityOfEnough" | |||
label="服务期内项目" | |||
align="center" | |||
width="140" | |||
> | |||
</el-table-column> | |||
<el-table-column | |||
prop="avgExacutiveRate" | |||
label="平均执行率" | |||
align="center" | |||
width="110" | |||
sortable | |||
> | |||
<el-table-column prop="houseQuantityOfEnough" label="服务期内项目" align="center" width="140"> | |||
</el-table-column> | |||
<el-table-column prop="avgExacutiveRate" label="平均执行率" align="center" width="110" sortable> | |||
<template slot-scope="{ row }"> | |||
{{ row.avgExacutiveRate || 0 }}% | |||
</template> | |||
@@ -336,21 +206,11 @@ | |||
</el-table-column> | |||
<el-table-column prop="area" label="地区" align="center"> | |||
</el-table-column> | |||
<el-table-column | |||
prop="operationStaffName" | |||
label="运营人员" | |||
align="center" | |||
> | |||
<el-table-column prop="operationStaffName" label="运营人员" align="center"> | |||
</el-table-column> | |||
<el-table-column prop="equipmentNum" label="设备总数" align="center" sortable width="110"> | |||
</el-table-column> | |||
<el-table-column | |||
prop="noOnlineQuantity" | |||
label="离线设备" | |||
width="100" | |||
align="center" | |||
sortable | |||
> | |||
<el-table-column prop="noOnlineQuantity" label="离线设备" width="100" align="center" sortable> | |||
</el-table-column> | |||
<el-table-column prop="activeQuantity" label="活跃设备" align="center" sortable width="110"> | |||
</el-table-column> | |||
@@ -364,41 +224,22 @@ | |||
</el-table-column> | |||
<el-table-column prop="sumRecordTime" label="接待时长" align="center" sortable width="110"> | |||
</el-table-column> | |||
<el-table-column | |||
prop="sumProhibitedQuantity" | |||
label="违禁次数" | |||
align="center" | |||
sortable | |||
width="110" | |||
> | |||
<el-table-column prop="sumProhibitedQuantity" label="违禁次数" align="center" sortable width="110"> | |||
</el-table-column> | |||
<el-table-column label="操作" align="center" fixed="right" width="200"> | |||
<template slot-scope="{ row }"> | |||
<el-button type="text" @click="goDetail(row, 2)" | |||
>查看详情</el-button | |||
> | |||
<el-button type="text" @click="goDetail(row, 2)">查看详情</el-button> | |||
</template> | |||
</el-table-column> | |||
</el-table> | |||
<el-table | |||
v-if="activeTotal == 1" | |||
:data="tableData" | |||
stripe | |||
style="width: 100%" | |||
> | |||
<el-table v-if="activeTotal == 1" :data="tableData" stripe style="width: 100%"> | |||
<el-table-column prop="agentName" label="代理商名称" align="center"> | |||
</el-table-column> | |||
<el-table-column prop="area" label="地区" align="center"> | |||
</el-table-column> | |||
<el-table-column | |||
prop="avgExacutiveRate" | |||
label="平均执行率" | |||
align="center" | |||
width="140" | |||
sortable | |||
> | |||
<el-table-column prop="avgExacutiveRate" label="平均执行率" align="center" width="140" sortable> | |||
<template slot-scope="{ row }"> | |||
{{ row.avgExacutiveRate || 0 }}% | |||
</template> | |||
@@ -407,19 +248,9 @@ | |||
</el-table-column> | |||
<el-table-column prop="noMarkAdviserCount" label="未标顾问" align="center" sortable width="110"> | |||
</el-table-column> | |||
<el-table-column | |||
prop="operationStaffName" | |||
label="运营人员" | |||
align="center" | |||
> | |||
<el-table-column prop="operationStaffName" label="运营人员" align="center"> | |||
</el-table-column> | |||
<el-table-column | |||
prop="houseQuantityOfEnough" | |||
label="服务期内项目" | |||
align="center" | |||
width="150" | |||
sortable | |||
> | |||
<el-table-column prop="houseQuantityOfEnough" label="服务期内项目" align="center" width="150" sortable> | |||
</el-table-column> | |||
<el-table-column prop="sumReception" label="接待量" align="center" sortable width="110"> | |||
</el-table-column> | |||
@@ -431,33 +262,18 @@ | |||
</el-table-column> | |||
<el-table-column prop="sumRecordTime" label="接待时长" align="center" sortable width="110"> | |||
</el-table-column> | |||
<el-table-column | |||
prop="sumProhibitedQuantity" | |||
label="违禁次数" | |||
align="center" | |||
width="110" | |||
sortable | |||
> | |||
<el-table-column prop="sumProhibitedQuantity" label="违禁次数" align="center" width="110" sortable> | |||
</el-table-column> | |||
<el-table-column label="操作" align="center" fixed="right" width="200"> | |||
<template slot-scope="{ row }"> | |||
<el-button type="text" @click="goDetail(row, 1)" | |||
>查看详情</el-button | |||
> | |||
<el-button type="text" @click="goDetail(row, 1)">查看详情</el-button> | |||
</template> | |||
</el-table-column> | |||
</el-table> | |||
<div style="display: flex; justify-content: flex-end; margin-top: 10px"> | |||
<el-pagination | |||
@size-change="handleSizeChange" | |||
@current-change="handleCurrentChange" | |||
:current-page="currentPage" | |||
:page-sizes="[10, 30, 50]" | |||
:page-size="size" | |||
layout="total, sizes, prev, pager, next, jumper" | |||
:total="total" | |||
> | |||
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage" | |||
:page-sizes="[10, 30, 50]" :page-size="size" layout="total, sizes, prev, pager, next, jumper" :total="total"> | |||
</el-pagination> | |||
</div> | |||
</div> | |||
@@ -824,11 +640,13 @@ export default { | |||
min-width: 1000px; | |||
padding-bottom: 100px; | |||
} | |||
.toptab { | |||
width: 100%; | |||
display: flex; | |||
margin-bottom: 20px; | |||
} | |||
.toptab div { | |||
padding-left: 30px; | |||
padding-right: 30px; | |||
@@ -836,19 +654,23 @@ export default { | |||
padding-bottom: 10px; | |||
font-size: 14px; | |||
} | |||
.activecllasscet { | |||
color: #ffffff; | |||
} | |||
.cen-tab { | |||
width: 100%; | |||
padding: 15px; | |||
background: #ffffff; | |||
margin-top: 15px; | |||
} | |||
.tophove { | |||
color: #ffffff; | |||
background: #2671e2; | |||
} | |||
.app-top { | |||
width: 100%; | |||
background: #ffffff; | |||
@@ -856,11 +678,13 @@ export default { | |||
border-radius: 4px; | |||
padding-top: 15px; | |||
padding-bottom: 15px; | |||
.app-titel { | |||
width: 100%; | |||
display: flex; | |||
align-items: center; | |||
flex-wrap: wrap; | |||
.label { | |||
font-size: 14px; | |||
font-weight: 400; | |||
@@ -869,12 +693,14 @@ export default { | |||
margin-left: 15px; | |||
// min-width: 100px; | |||
} | |||
.toptimeqhuan { | |||
height: 30px; | |||
background: #ffffff; | |||
display: flex; | |||
align-items: center; | |||
} | |||
.toptimeqhuan div { | |||
padding-left: 20px; | |||
padding-right: 20px; | |||
@@ -887,10 +713,12 @@ export default { | |||
} | |||
} | |||
} | |||
.div-lab { | |||
display: flex; | |||
margin: 5px; | |||
} | |||
.div-inp { | |||
width: 250px; | |||
} | |||
@@ -5,97 +5,42 @@ | |||
<div style="display: flex"> | |||
<div class="titel-text" style="line-height: 32px">月份:</div> | |||
<div style="margin-left: 10px"> | |||
<el-date-picker | |||
v-model="time" | |||
type="month" | |||
:clearable="false" | |||
value-format="yyyy-MM" | |||
@change="confirmtime" | |||
placeholder="选择月" | |||
> | |||
<el-date-picker v-model="time" type="month" :clearable="false" value-format="yyyy-MM" @change="confirmtime" | |||
placeholder="选择月"> | |||
</el-date-picker> | |||
</div> | |||
</div> | |||
<el-select | |||
v-model="selValue" | |||
@change="selChange" | |||
style="width: 100px; margin-left: 20px" | |||
placeholder="请选择" | |||
> | |||
<el-select v-model="selValue" @change="selChange" style="width: 100px; margin-left: 20px" placeholder="请选择"> | |||
<el-option label="代理商" v-if="orgType == 0" value="0"></el-option> | |||
<el-option label="公司" v-if="orgType != 2" value="1"></el-option> | |||
<el-option label="项目" value="2"></el-option> | |||
</el-select> | |||
<div style="margin-left: 10px" v-if="selValue == 1"> | |||
<el-select | |||
v-model="choicValue" | |||
@change="valuechange" | |||
placeholder="默认为全部" | |||
clearable | |||
filterable | |||
> | |||
<el-option | |||
v-for="item in houseList" | |||
:key="item.orgCode" | |||
:label="item.name" | |||
:value="item.orgCode" | |||
> | |||
<el-select v-model="choicValue" @change="valuechange" placeholder="默认为全部" clearable filterable> | |||
<el-option v-for="item in houseList" :key="item.orgCode" :label="item.name" :value="item.orgCode"> | |||
</el-option> | |||
</el-select> | |||
</div> | |||
<!-- 项目 --> | |||
<div style="margin-left: 20px" v-else-if="selValue == 2"> | |||
<el-select | |||
v-model="choicValue" | |||
@change="valuechange" | |||
placeholder="默认为全部" | |||
clearable | |||
filterable | |||
> | |||
<el-option | |||
v-for="item in houseList" | |||
:key="item.id" | |||
:label="item.propertyName" | |||
:value="item.id" | |||
> | |||
<el-select v-model="choicValue" @change="valuechange" placeholder="默认为全部" clearable filterable> | |||
<el-option v-for="item in houseList" :key="item.id" :label="item.propertyName" :value="item.id"> | |||
</el-option> | |||
</el-select> | |||
</div> | |||
<div style="margin-left: 20px" v-else> | |||
<el-select | |||
v-model="choicValue" | |||
@change="valuechange" | |||
clearable | |||
filterable | |||
placeholder="默认为全部" | |||
> | |||
<el-option | |||
v-for="item in houseList" | |||
:key="item.id" | |||
:label="item.agentName" | |||
:value="item.id" | |||
> | |||
<el-select v-model="choicValue" @change="valuechange" clearable filterable placeholder="默认为全部"> | |||
<el-option v-for="item in houseList" :key="item.id" :label="item.agentName" :value="item.id"> | |||
</el-option> | |||
</el-select> | |||
</div> | |||
<div v-if="orgType == 0 || orgType == 1" class="div-lab"> | |||
<div class="label">运营人员:</div> | |||
<el-select | |||
v-model="operationStaffId" | |||
placeholder="请选择" | |||
class="div-inp" | |||
filterable | |||
clearable | |||
> | |||
<el-option | |||
v-for="item in operaList" | |||
:key="item.accountId" | |||
:label="item.name" | |||
:value="item.accountId" | |||
> | |||
<el-select v-model="operationStaffId" placeholder="请选择" class="div-inp" filterable clearable> | |||
<el-option v-for="item in operaList" :key="item.accountId" :label="item.name" :value="item.accountId"> | |||
</el-option> | |||
</el-select> | |||
</div> | |||
@@ -122,20 +67,14 @@ | |||
<div class="zuo"> | |||
<div class="title"> | |||
<div class="text1">运营目标完成排名</div> | |||
<div | |||
style=" | |||
<div style=" | |||
display: flex; | |||
margin-left: auto; | |||
line-height: 54px; | |||
margin-right: 20px; | |||
cursor: pointer; | |||
" | |||
> | |||
<div | |||
:class="{ colostyle: tabFlag == 1 }" | |||
style="margin-right: 10px" | |||
@click="tabClick1(1)" | |||
> | |||
"> | |||
<div :class="{ colostyle: tabFlag == 1 }" style="margin-right: 10px" @click="tabClick1(1)"> | |||
达标 | |||
<el-tooltip effect="light" content="选择的月份,项目的平均执行率≥项目的目标执行率;" placement="bottom-end"> | |||
<i class="el-icon-question" style="color:#74A3EA"></i> | |||
@@ -149,9 +88,7 @@ | |||
</div> | |||
</div> | |||
</div> | |||
<div | |||
style="min-height: 350px;padding: 0 0 20px 0; width: 94%; margin: 0 auto;" | |||
> | |||
<div style="min-height: 350px;padding: 0 0 20px 0; width: 94%; margin: 0 auto;"> | |||
<div class="jinbox" v-for="(item, i) in objList" :key="i"> | |||
<!-- <div class="jinboxtit">{{ item.name }}</div> --> | |||
<span class="sequenceNum" :style="{ | |||
@@ -187,30 +124,20 @@ | |||
<div class="zuo"> | |||
<div class="title"> | |||
<div class="text1">运营目标排名</div> | |||
<div | |||
style=" | |||
<div style=" | |||
display: flex; | |||
margin-left: auto; | |||
line-height: 54px; | |||
margin-right: 20px; | |||
cursor: pointer; | |||
" | |||
> | |||
<div | |||
:class="{ colostyle: tabFlag2 == 0 }" | |||
style="margin-right: 10px" | |||
@click="tabClick2(0)" | |||
> | |||
"> | |||
<div :class="{ colostyle: tabFlag2 == 0 }" style="margin-right: 10px" @click="tabClick2(0)"> | |||
不变 | |||
<el-tooltip effect="light" content="项目选择月份平均执行率=项目的上月的平均执行率;" placement="bottom-end"> | |||
<i class="el-icon-question" style="color:#74A3EA"></i> | |||
</el-tooltip> | |||
</div> | |||
<div | |||
:class="{ colostyle: tabFlag2 == 1 }" | |||
style="margin-right: 10px" | |||
@click="tabClick2(1)" | |||
> | |||
<div :class="{ colostyle: tabFlag2 == 1 }" style="margin-right: 10px" @click="tabClick2(1)"> | |||
上升 | |||
<el-tooltip effect="light" content="项目选择月份平均执行率>项目的上月的平均执行率;" placement="bottom-end"> | |||
<i class="el-icon-question" style="color:#74A3EA"></i> | |||
@@ -224,9 +151,7 @@ | |||
</div> | |||
</div> | |||
</div> | |||
<div | |||
style="min-height: 350px;padding: 0 0 20px 0;width: 94%; margin: 0 auto" | |||
> | |||
<div style="min-height: 350px;padding: 0 0 20px 0;width: 94%; margin: 0 auto"> | |||
<div class="jinbox" v-for="(item, i) in objList1" :key="i"> | |||
<!-- <div class="jinboxtit">{{ item.name }}</div> --> | |||
<span class="sequenceNum" :style="{ | |||
@@ -254,71 +179,49 @@ | |||
<!-- 表格 --> | |||
<div class="cen-tab"> | |||
<div class="app-titel" style="margin-bottom: 10px"> | |||
<el-button type="primary" :disabled='choiceList.length==0' @click="setTits">批量设置目标</el-button> | |||
<el-button type="primary" :disabled='choiceList.length == 0' @click="setTits">批量设置目标</el-button> | |||
<!-- <el-button | |||
>导出</el-button | |||
> --> | |||
</div> | |||
<el-table | |||
:data="tableData" | |||
@selection-change="handleSelectionChange" | |||
stripe | |||
style="width: 100%" | |||
> | |||
<el-table :data="tableData" @selection-change="handleSelectionChange" stripe style="width: 100%"> | |||
<el-table-column type="selection" width="55"> </el-table-column> | |||
<el-table-column prop="houseName" label="项目名称" align="center"> | |||
</el-table-column> | |||
<el-table-column label="地区" align="center"> | |||
<template slot-scope="{ row }"> | |||
{{ row.provinceName || "-" }}-{{ row.cityName || "-" }} | |||
<el-tooltip class="item" effect="dark" :content="row.provinceName + '-' + row.cityName" placement="top-start"> | |||
<span style="display: block;width: 100%;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;"> {{ | |||
row.provinceName || "-" | |||
}}-{{ row.cityName || "-" }}</span> | |||
</el-tooltip> | |||
</template> | |||
</el-table-column> | |||
<el-table-column prop="operationStaffName" :show-overflow-tooltip="true" width="200" label="运营" align="center"> | |||
<template slot-scope="{ row }"> | |||
<el-tooltip class="item" effect="dark" :content="row.operationStaffName" placement="top-start"> | |||
<span style="display: block;width: 100%;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;"> {{row.operationStaffName || "-"}}</span> | |||
</el-tooltip> | |||
</template> | |||
</el-table-column> | |||
<el-table-column | |||
:label="item.month" | |||
align="center" | |||
v-for="(item, idx) in childList" | |||
:key="idx" | |||
type="index" | |||
> | |||
<el-table-column | |||
width="100" | |||
prop="fraction" | |||
label="平均执行率" | |||
align="center" | |||
> | |||
<el-table-column :label="item.month" align="center" v-for="(item, idx) in childList" :key="idx" type="index"> | |||
<el-table-column width="100" prop="fraction" label="平均执行率" align="center"> | |||
<template slot-scope="scope"> | |||
{{ scope.row.childList[idx].fraction }} | |||
</template> | |||
</el-table-column> | |||
<el-table-column | |||
width="100" | |||
prop="comparedFraction" | |||
label="对比上月" | |||
align="center" | |||
> | |||
<el-table-column width="100" prop="comparedFraction" label="对比上月" align="center"> | |||
<template slot-scope="scope"> | |||
{{ scope.row.childList[idx].comparedFraction }} | |||
</template> | |||
</el-table-column> | |||
<el-table-column | |||
width="100" | |||
prop="target" | |||
label="目标执行率" | |||
align="center" | |||
> | |||
<el-table-column width="100" prop="target" label="目标执行率" align="center"> | |||
<template slot-scope="scope"> | |||
{{ scope.row.childList[idx].target }} | |||
</template> | |||
</el-table-column> | |||
<el-table-column | |||
width="100" | |||
prop="targetProportion" | |||
label="目标完成率" | |||
align="center" | |||
> | |||
<el-table-column width="100" prop="targetProportion" label="目标完成率" align="center"> | |||
<template slot-scope="scope"> | |||
{{ scope.row.childList[idx].targetProportion }} | |||
</template> | |||
@@ -332,21 +235,15 @@ | |||
</el-table-column> | |||
</el-table> | |||
<div style="display: flex; justify-content: flex-end; margin-top: 10px"> | |||
<el-pagination | |||
@size-change="handleSizeChange" | |||
@current-change="handleCurrentChange" | |||
:current-page="page" | |||
:page-sizes="[10, 30, 50]" | |||
:page-size="pagesize" | |||
layout="total, sizes, prev, pager, next, jumper" | |||
:total="total" | |||
> | |||
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="page" | |||
:page-sizes="[10, 30, 50]" :page-size="pagesize" layout="total, sizes, prev, pager, next, jumper" | |||
:total="total"> | |||
</el-pagination> | |||
</div> | |||
</div> | |||
<el-dialog title="趋势图" :visible.sync="dialogVisible"> | |||
<div class="houseSize">项目: {{houseName||''}} 运营:{{operationStaffName||'暂无'}}</div> | |||
<div class="houseSize">项目: {{ houseName || '' }} 运营:{{ operationStaffName || '暂无' }}</div> | |||
<div style="min-height: 350px;padding: 0 0 20px 0;width: 94%; margin: 0 auto"> | |||
<div id="line" style="min-height: 350px"></div> | |||
</div> | |||
@@ -356,52 +253,21 @@ | |||
</div> --> | |||
</el-dialog> | |||
<el-dialog | |||
title="目标" | |||
:visible.sync="targetVisible" | |||
width="650px" | |||
@close="reset" | |||
> | |||
<el-form | |||
:model="receiveForm" | |||
ref="receiveForm" | |||
:rules="receiveRules" | |||
label-width="200px" | |||
> | |||
<el-form-item :label="receiveForm.name0+'月目标执行率'" prop="num0"> | |||
<el-input | |||
v-model="receiveForm.num0" | |||
style="width: 80%; margin-left: 20px" | |||
maxlength="2" | |||
clearable | |||
> | |||
<i slot="suffix" style="font-style: normal; margin-right: 10px" | |||
>%</i | |||
> | |||
<el-dialog title="目标" :visible.sync="targetVisible" width="650px" @close="reset"> | |||
<el-form :model="receiveForm" ref="receiveForm" :rules="receiveRules" label-width="200px"> | |||
<el-form-item :label="receiveForm.name0 + '月目标执行率'" prop="num0"> | |||
<el-input v-model="receiveForm.num0" style="width: 80%; margin-left: 20px" maxlength="2" clearable> | |||
<i slot="suffix" style="font-style: normal; margin-right: 10px">%</i> | |||
</el-input> | |||
</el-form-item> | |||
<el-form-item :label="receiveForm.name1+'月目标执行率'" prop="num1"> | |||
<el-input | |||
v-model="receiveForm.num1" | |||
style="width: 80%; margin-left: 20px" | |||
maxlength="2" | |||
clearable | |||
> | |||
<i slot="suffix" style="font-style: normal; margin-right: 10px" | |||
>%</i | |||
> | |||
<el-form-item :label="receiveForm.name1 + '月目标执行率'" prop="num1"> | |||
<el-input v-model="receiveForm.num1" style="width: 80%; margin-left: 20px" maxlength="2" clearable> | |||
<i slot="suffix" style="font-style: normal; margin-right: 10px">%</i> | |||
</el-input> | |||
</el-form-item> | |||
<el-form-item :label="receiveForm.name2+'月目标执行率'" prop="num2"> | |||
<el-input | |||
v-model="receiveForm.num2" | |||
style="width: 80%; margin-left: 20px" | |||
maxlength="2" | |||
clearable | |||
> | |||
<i slot="suffix" style="font-style: normal; margin-right: 10px" | |||
>%</i | |||
> | |||
<el-form-item :label="receiveForm.name2 + '月目标执行率'" prop="num2"> | |||
<el-input v-model="receiveForm.num2" style="width: 80%; margin-left: 20px" maxlength="2" clearable> | |||
<i slot="suffix" style="font-style: normal; margin-right: 10px">%</i> | |||
</el-input> | |||
</el-form-item> | |||
</el-form> | |||
@@ -423,14 +289,14 @@ export default { | |||
localStorage.getItem("orgType") == 0 | |||
? "0" | |||
: localStorage.getItem("orgType") == 1 | |||
? "1" | |||
: "2", | |||
? "1" | |||
: "2", | |||
choicValue: "", | |||
operationStaffId: "", | |||
houseList: [], | |||
operaList: [], | |||
tableData: [], | |||
choiceList:[], | |||
choiceList: [], | |||
orgType: localStorage.getItem("orgType"), | |||
time: "", | |||
page: 1, | |||
@@ -442,9 +308,9 @@ export default { | |||
num0: "", | |||
num1: "", | |||
num2: "", | |||
name0:'', | |||
name1:'', | |||
name2:'', | |||
name0: '', | |||
name1: '', | |||
name2: '', | |||
}, | |||
receiveRules: {}, | |||
tabFlag: 1, | |||
@@ -454,10 +320,10 @@ export default { | |||
orgData: [], | |||
orgArr: [], | |||
childList: [], | |||
echarIdx:'', | |||
houseName:'', | |||
operationStaffName:'', | |||
choiceFlag:true, | |||
echarIdx: '', | |||
houseName: '', | |||
operationStaffName: '', | |||
choiceFlag: true, | |||
}; | |||
}, | |||
mounted() { | |||
@@ -470,10 +336,10 @@ export default { | |||
: new Date().getMonth() + 1); | |||
console.log( | |||
new Date().getFullYear() + | |||
"-" + | |||
(new Date().getMonth() + 1 < 10 | |||
? "0" + (new Date().getMonth() + 1) | |||
: new Date().getMonth() + 1), | |||
"-" + | |||
(new Date().getMonth() + 1 < 10 | |||
? "0" + (new Date().getMonth() + 1) | |||
: new Date().getMonth() + 1), | |||
"时间" | |||
); | |||
this.getList(); | |||
@@ -497,7 +363,7 @@ export default { | |||
if (this.orgType == 1) { | |||
obj.agentId = localStorage.getItem("agentId"); | |||
} | |||
if (this.orgType == 2) { | |||
if (this.orgType == 2) { | |||
obj.orgCode = localStorage.getItem("orgCode"); | |||
} | |||
this.$api.api.houseSalesAnalysis(obj).then((res) => { | |||
@@ -519,10 +385,10 @@ export default { | |||
houseTypes: "0,1", | |||
operationStaffId: this.operationStaffId, | |||
}; | |||
if (this.orgType == 1) { | |||
if (this.orgType == 1) { | |||
obj.agentId = localStorage.getItem("agentId"); | |||
} | |||
if (this.orgType == 2) { | |||
if (this.orgType == 2) { | |||
obj.orgCode = localStorage.getItem("orgCode"); | |||
} | |||
this.$api.api.targetAnalysis(obj).then((res) => { | |||
@@ -551,10 +417,10 @@ export default { | |||
houseTypes: "0,1", | |||
operationStaffId: this.operationStaffId, | |||
}; | |||
if (this.orgType == 1) { | |||
if (this.orgType == 1) { | |||
obj.agentId = localStorage.getItem("agentId"); | |||
} | |||
if (this.orgType == 2) { | |||
if (this.orgType == 2) { | |||
obj.orgCode = localStorage.getItem("orgCode"); | |||
} | |||
this.$api.api.operationalGoals(obj).then((res) => { | |||
@@ -614,10 +480,10 @@ export default { | |||
houseTypes: "0,1", | |||
operationStaffId: this.operationStaffId, | |||
}; | |||
if (this.orgType == 1) { | |||
if (this.orgType == 1) { | |||
obj.agentId = localStorage.getItem("agentId"); | |||
} | |||
if (this.orgType == 2) { | |||
if (this.orgType == 2) { | |||
obj.orgCode = localStorage.getItem("orgCode"); | |||
} | |||
this.$api.api.targetAnalysisCompared(obj).then((res) => { | |||
@@ -650,10 +516,10 @@ export default { | |||
houseTypes: "0,1", | |||
operationStaffId: this.operationStaffId, | |||
}; | |||
if (this.orgType == 1) { | |||
if (this.orgType == 1) { | |||
obj.agentId = localStorage.getItem("agentId"); | |||
} | |||
if (this.orgType == 2) { | |||
if (this.orgType == 2) { | |||
obj.orgCode = localStorage.getItem("orgCode"); | |||
} | |||
this.$api.api.operationalGoalsCompared(obj).then((res) => { | |||
@@ -729,9 +595,9 @@ export default { | |||
num0: "", | |||
num1: "", | |||
num2: "", | |||
name0:'', | |||
name1:'', | |||
name2:'', | |||
name0: '', | |||
name1: '', | |||
name2: '', | |||
}; | |||
this.$refs.receiveForm.resetFields(); | |||
}, | |||
@@ -756,29 +622,29 @@ export default { | |||
this.screen(); | |||
}, | |||
sava() { | |||
let obj={} | |||
let flag=true | |||
this.choiceFlag?obj.houseIds=this.receiveForm.houseId:obj.houseIds=this.choiceList.join(',') | |||
let obj = {} | |||
let flag = true | |||
this.choiceFlag ? obj.houseIds = this.receiveForm.houseId : obj.houseIds = this.choiceList.join(',') | |||
// obj.houseId=this.receiveForm.houseId | |||
let arr=[this.receiveForm.name0+'-01',this.receiveForm.name1+'-01',this.receiveForm.name2+'-01'] | |||
let arr1=[this.receiveForm.num0,this.receiveForm.num1,this.receiveForm.num2] | |||
arr1.map(item=>{ | |||
if(!item){ | |||
flag=false | |||
let arr = [this.receiveForm.name0 + '-01', this.receiveForm.name1 + '-01', this.receiveForm.name2 + '-01'] | |||
let arr1 = [this.receiveForm.num0, this.receiveForm.num1, this.receiveForm.num2] | |||
arr1.map(item => { | |||
if (!item) { | |||
flag = false | |||
} | |||
}) | |||
if(!flag){ | |||
if (!flag) { | |||
this.$message.warning('请填写目标') | |||
return | |||
} | |||
obj.targets=arr1.join(',') | |||
obj.months=arr.join(',') | |||
obj.targets = arr1.join(',') | |||
obj.months = arr.join(',') | |||
this.$api.api.setTargetExecutionRate(obj) | |||
.then(res=>{ | |||
console.log(res); | |||
this.houseSalesAnalysis(); | |||
this.targetVisible=false | |||
}) | |||
.then(res => { | |||
console.log(res); | |||
this.houseSalesAnalysis(); | |||
this.targetVisible = false | |||
}) | |||
}, | |||
getAnalyse(scope) { | |||
console.log("趋势图"); | |||
@@ -788,8 +654,8 @@ export default { | |||
}, | |||
dealEaharData(row) { | |||
// 数据处理 | |||
this.houseName=row.houseName | |||
this.operationStaffName=row.operationStaffName | |||
this.houseName = row.houseName | |||
this.operationStaffName = row.operationStaffName | |||
let timeDate = []; | |||
let Strname = ["平均执行率", "对比上月", "目标执行率", "目标完成率"]; | |||
let arr0 = []; | |||
@@ -822,36 +688,36 @@ export default { | |||
this.SwitchCARDS(arr, "line", timeDate, Strname); | |||
}, 100); | |||
}, | |||
setTits(){ | |||
this.choiceFlag=false | |||
let obj={ | |||
houseId:'', | |||
setTits() { | |||
this.choiceFlag = false | |||
let obj = { | |||
houseId: '', | |||
month: this.time + "-01", | |||
} | |||
this.findTargetExecutionRate(obj) | |||
}, | |||
setTit(scope) { | |||
// console.log("设置目标"); | |||
this.choiceFlag=true | |||
let obj={ | |||
houseId:scope.row.id, | |||
this.choiceFlag = true | |||
let obj = { | |||
houseId: scope.row.id, | |||
month: this.time + "-01", | |||
} | |||
this.receiveForm.houseId=scope.row.id | |||
this.receiveForm.houseId = scope.row.id | |||
this.findTargetExecutionRate(obj) | |||
}, | |||
findTargetExecutionRate(obj){ | |||
this.$api.api.findTargetExecutionRate(obj) | |||
.then(res=>{ | |||
// console.log(res); | |||
res.data.map((item,idx)=>{ | |||
this.receiveForm['name'+idx]=item.month.substring(0,7) | |||
this.receiveForm['num'+idx]=item.target||'' | |||
}) | |||
console.log(this.receiveForm); | |||
this.targetVisible = true; | |||
}) | |||
findTargetExecutionRate(obj) { | |||
this.$api.api.findTargetExecutionRate(obj) | |||
.then(res => { | |||
// console.log(res); | |||
res.data.map((item, idx) => { | |||
this.receiveForm['name' + idx] = item.month.substring(0, 7) | |||
this.receiveForm['num' + idx] = item.target || '' | |||
}) | |||
console.log(this.receiveForm); | |||
this.targetVisible = true; | |||
}) | |||
}, | |||
// 折线图 | |||
SwitchCARDS(arr, str, timeDate, Strname) { | |||
@@ -986,11 +852,11 @@ export default { | |||
this.choicValue = ""; | |||
this.getList(); | |||
}, | |||
valuechange() {}, | |||
valuechange() { }, | |||
handleSelectionChange(e) { | |||
// console.log(e); | |||
this.choiceList=[] | |||
e.map(item=>{ | |||
this.choiceList = [] | |||
e.map(item => { | |||
this.choiceList.push(item.id) | |||
}) | |||
console.log(this.choiceList); | |||
@@ -1068,22 +934,26 @@ export default { | |||
border-radius: 15px; | |||
color: #333333; | |||
} | |||
.box-center { | |||
width: 100%; | |||
padding: 15px; | |||
min-width: 1000px; | |||
padding-bottom: 100px; | |||
} | |||
.cen-tab { | |||
width: 100%; | |||
padding: 15px; | |||
background: #ffffff; | |||
margin-top: 15px; | |||
} | |||
.tophove { | |||
color: #ffffff; | |||
background: #2671e2; | |||
} | |||
.app-titel1 { | |||
width: 100%; | |||
height: 70px; | |||
@@ -1092,6 +962,7 @@ export default { | |||
border-radius: 4px; | |||
display: flex; | |||
align-items: center; | |||
.titel-text { | |||
height: 100%; | |||
font-size: 18px; | |||
@@ -1100,6 +971,7 @@ export default { | |||
line-height: 70px; | |||
margin-left: 30px; | |||
} | |||
.toptimeqhuan { | |||
width: 190px; | |||
height: 32px; | |||
@@ -1112,6 +984,7 @@ export default { | |||
margin-left: 20px; | |||
cursor: pointer; | |||
} | |||
.toptimeqhuan div { | |||
flex: 1; | |||
text-align: center; | |||
@@ -1128,10 +1001,12 @@ export default { | |||
padding-top: 15px; | |||
// padding-bottom: 15px; | |||
padding-bottom: 6px; | |||
.app-titel { | |||
width: 100%; | |||
display: flex; | |||
align-items: center; | |||
.titel-text { | |||
height: 100%; | |||
font-size: 16px; | |||
@@ -1139,6 +1014,7 @@ export default { | |||
color: #32363d; | |||
text-indent: 30px; | |||
} | |||
.toptimeqhuan { | |||
width: 190px; | |||
height: 32px; | |||
@@ -1151,6 +1027,7 @@ export default { | |||
margin-left: 20px; | |||
cursor: pointer; | |||
} | |||
.toptimeqhuan div { | |||
flex: 1; | |||
text-align: center; | |||
@@ -1165,18 +1042,21 @@ export default { | |||
// height: 400px; | |||
display: flex; | |||
margin-top: 15px; | |||
.zuo { | |||
flex: 1; | |||
height: 100%; | |||
margin-right: 15px; | |||
background: #ffffff; | |||
border-radius: 4px; | |||
.title { | |||
width: 100%; | |||
height: 55px; | |||
border-bottom: 1px solid #e0e0e0; | |||
display: flex; | |||
align-content: center; | |||
.text1 { | |||
flex: 2; | |||
line-height: 55px; | |||
@@ -1185,6 +1065,7 @@ export default { | |||
font-size: 16px; | |||
color: #333333; | |||
} | |||
.text2 { | |||
flex: 1; | |||
height: 55px; | |||
@@ -1193,17 +1074,20 @@ export default { | |||
} | |||
} | |||
} | |||
.you { | |||
height: 100%; | |||
flex: 1; | |||
background: #ffffff; | |||
border-radius: 4px; | |||
.title { | |||
width: 100%; | |||
height: 55px; | |||
border-bottom: 1px solid #e0e0e0; | |||
display: flex; | |||
align-content: center; | |||
.text1 { | |||
flex: 2; | |||
line-height: 55px; | |||
@@ -1212,6 +1096,7 @@ export default { | |||
font-size: 16px; | |||
color: #333333; | |||
} | |||
.text2 { | |||
flex: 1; | |||
height: 55px; | |||
@@ -1228,9 +1113,11 @@ export default { | |||
display: flex; | |||
padding-top: 10px; | |||
padding-bottom: 10px; | |||
.text1-1 { | |||
color: #666666; | |||
} | |||
.text1-2 { | |||
color: #333333; | |||
margin-top: 10px; | |||
@@ -1246,6 +1133,7 @@ export default { | |||
font-size: 16px; | |||
color: #2c3542; | |||
margin-top: 10px; | |||
.jinboxtit { | |||
width: 14%; | |||
height: 18px; | |||
@@ -1253,6 +1141,7 @@ export default { | |||
white-space: nowrap; | |||
text-overflow: ellipsis; | |||
overflow: hidden; | |||
.name { | |||
white-space: nowrap; | |||
text-overflow: ellipsis; | |||
@@ -1260,33 +1149,40 @@ export default { | |||
margin-left: 10px; | |||
} | |||
} | |||
.jinbox-box { | |||
width: 75%; | |||
height: 100%; | |||
border-radius: 8px; | |||
background: #f2f2f2; | |||
} | |||
.boxbaifenbi { | |||
height: 100%; | |||
background: #60d7a0; | |||
border-radius: 8px; | |||
} | |||
.boxbaifenbi2 { | |||
height: 100%; | |||
background: #5b8ff9; | |||
} | |||
.jinboxbott { | |||
width: 16%; | |||
text-indent: 50px; | |||
} | |||
} | |||
.div-lab { | |||
display: flex; | |||
margin: 5px; | |||
} | |||
.div-inp { | |||
width: 200px; | |||
} | |||
.label { | |||
font-size: 14px; | |||
font-weight: 400; | |||
@@ -1295,6 +1191,7 @@ export default { | |||
margin-left: 15px; | |||
min-width: 40px; | |||
} | |||
.noData { | |||
width: 100%; | |||
// height: 60vh; | |||
@@ -1304,10 +1201,12 @@ export default { | |||
margin-top: 20px; | |||
overflow: hidden; | |||
} | |||
.imgboxc { | |||
margin-top: 100px; | |||
color: #999999; | |||
} | |||
// 进度条 | |||
.jinbox { | |||
width: 100%; | |||
@@ -1317,6 +1216,7 @@ export default { | |||
font-size: 16px; | |||
color: #2c3542; | |||
margin-top: 10px; | |||
.jinboxtit { | |||
width: 14%; | |||
height: 18px; | |||
@@ -1325,34 +1225,41 @@ export default { | |||
text-overflow: ellipsis; | |||
overflow: hidden; | |||
} | |||
.jinbox-box { | |||
width: 75%; | |||
height: 100%; | |||
border-radius: 8px; | |||
background: #f2f2f2; | |||
} | |||
.boxbaifenbi { | |||
height: 100%; | |||
background: #60d7a0; | |||
border-radius: 8px; | |||
} | |||
.boxbaifenbi2 { | |||
height: 100%; | |||
background: #5b8ff9; | |||
} | |||
.jinboxbott { | |||
width: 16%; | |||
text-indent: 16px; | |||
} | |||
} | |||
.colostyle { | |||
color: #1e90ff; | |||
} | |||
.houseSize { | |||
text-align: center; | |||
font-weight: bold; | |||
font-size: 20px; | |||
text-align: center; | |||
font-weight: bold; | |||
font-size: 20px; | |||
} | |||
// /deep/ .el-tooltip{ | |||
// width: 140px; | |||
// } | |||