소스 검색

列表文本溢出

newStyle
jyt 2 년 전
부모
커밋
3237ef9b45
12개의 변경된 파일438개의 추가작업 그리고 661개의 파일을 삭제
  1. +116
    -110
      src/page/wel.vue
  2. +5
    -0
      src/views/Customer/AgentManagement.vue
  3. +15
    -0
      src/views/Equipment/index.vue
  4. +5
    -0
      src/views/Equipment/state.vue
  5. +18
    -17
      src/views/Statistics/ReceptionOverview.vue
  6. +1
    -1
      src/views/Statistics/TrendAnalysis.vue
  7. +9
    -9
      src/views/Statistics/dataScreeAge.vue
  8. +1
    -1
      src/views/Statistics/dataScreeOrg.vue
  9. +9
    -9
      src/views/Statistics/dataScreeSys.vue
  10. +10
    -0
      src/views/Template/wrongword.vue
  11. +87
    -259
      src/views/building/Count.vue
  12. +162
    -255
      src/views/houseData/analyse.vue

+ 116
- 110
src/page/wel.vue 파일 보기

@@ -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%">


+ 5
- 0
src/views/Customer/AgentManagement.vue 파일 보기

@@ -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>


+ 15
- 0
src/views/Equipment/index.vue 파일 보기

@@ -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>


+ 5
- 0
src/views/Equipment/state.vue 파일 보기

@@ -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>


+ 18
- 17
src/views/Statistics/ReceptionOverview.vue 파일 보기

@@ -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]
},
},
}
]
};


+ 1
- 1
src/views/Statistics/TrendAnalysis.vue 파일 보기

@@ -1440,7 +1440,7 @@ export default {
justify-content: center;

.youimg {
width: 45%;
width: 33%;
// height: 60px;
}
}


+ 9
- 9
src/views/Statistics/dataScreeAge.vue 파일 보기

@@ -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) {


+ 1
- 1
src/views/Statistics/dataScreeOrg.vue 파일 보기

@@ -705,7 +705,7 @@ export default {
},
methods: {
changeTab(i) {
this.tabName = i;
// this.tabName = i;
},
echarValue1Change(e) {
if (e == 0) {


+ 9
- 9
src/views/Statistics/dataScreeSys.vue 파일 보기

@@ -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) {


+ 10
- 0
src/views/Template/wrongword.vue 파일 보기

@@ -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">


+ 87
- 259
src/views/building/Count.vue 파일 보기

@@ -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;
}


+ 162
- 255
src/views/houseData/analyse.vue 파일 보기

@@ -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;
// }


불러오는 중...
취소
저장