Browse Source

init

newStyle
lancer 2 years ago
parent
commit
9af0bfa649
31 changed files with 411 additions and 266 deletions
  1. BIN
      public/img/qh1.png
  2. BIN
      public/img/qh2.png
  3. +3
    -0
      src/App.vue
  4. +1
    -0
      src/page/index/tags.vue
  5. +30
    -33
      src/page/index/top/index.vue
  6. +2
    -2
      src/page/login/userlogin.vue
  7. +78
    -58
      src/page/wel.vue
  8. +2
    -2
      src/views/Customer/AgentManagement.vue
  9. +2
    -2
      src/views/Customer/CompanyRecord.vue
  10. +1
    -1
      src/views/Customer/index.vue
  11. +1
    -0
      src/views/Equipment/equipmentDetailList.vue
  12. +1
    -0
      src/views/Equipment/equipmentOnlineRecordList.vue
  13. +1
    -1
      src/views/Equipment/index.vue
  14. +21
    -3
      src/views/Equipment/state.vue
  15. +9
    -19
      src/views/Receive/index.vue
  16. +16
    -10
      src/views/Statistics/BuildingContrast.vue
  17. +13
    -13
      src/views/Statistics/ConsultantBrand.vue
  18. +15
    -7
      src/views/Statistics/MentoringAbility.vue
  19. +4
    -3
      src/views/Statistics/ReceptionOverview.vue
  20. +6
    -6
      src/views/Statistics/TheTeamCompared.vue
  21. +18
    -3
      src/views/Statistics/TrendAnalysis.vue
  22. +7
    -4
      src/views/Statistics/dataScreeAge.vue
  23. +35
    -10
      src/views/Statistics/dataScreeSys.vue
  24. +35
    -25
      src/views/Statistics/houseDataSys.vue
  25. +2
    -2
      src/views/Statistics/index.vue
  26. +23
    -8
      src/views/Statistics/trend.vue
  27. +4
    -4
      src/views/Template/Pinspeakwords.vue
  28. +55
    -16
      src/views/Template/wrongword.vue
  29. +20
    -32
      src/views/admin/user/index.vue
  30. +3
    -0
      src/views/building/Count.vue
  31. +3
    -2
      src/views/building/index.vue

BIN
public/img/qh1.png View File

Before After
Width: 28  |  Height: 28  |  Size: 725 B

BIN
public/img/qh2.png View File

Before After
Width: 28  |  Height: 28  |  Size: 421 B

+ 3
- 0
src/App.vue View File

@@ -23,4 +23,7 @@ export default {
height: 100%;
overflow: hidden;
}
.el-tooltip__popper {
max-width: 300px;
}
</style>

+ 1
- 0
src/page/index/tags.vue View File

@@ -120,6 +120,7 @@
this.active = this.tag.value
},
menuTag(value, action) {
if(value=='/wel/index'){return}
if (action === 'remove') {
let { tag, key } = this.findTag(value)
this.$store.commit('DEL_TAG', tag)


+ 30
- 33
src/page/index/top/index.vue View File

@@ -9,18 +9,13 @@
<i class="icon-navicon" @click="setCollapse" />
</div>
</div>
<div class="top-bar__title">
<div v-if="showMenu" class="top-bar__item top-bar__item--show">
<top-menu />
<div
style="
margin-top: 15px;
display: flex;
line-height: 30px;
cursor: pointer;
"
>
<div class="daili " @click="goChange">
<div class="top-bar__title" style="display: flex;align-items: center;">
<top-menu />
<div @click="goChange" style="line-height: 64px;cursor: pointer; display: flex;align-items: center;height:64px;">
<div class="daili2">
<img class="daili2img" src="/img/qh2.png" alt="" />
</div>
<div class="daili ">
{{
orgType == 0
? "系统后台"
@@ -31,21 +26,18 @@
: "楼盘后台"
}}
</div>
<span style="font-size: 16px; margin-left: 20px">{{
companyName
}}</span>
<span class="change" @click="goBack">切换</span>
<!-- <span style="color:#fff; margin-right:10px;">楼盘选择:</span>
<el-select v-model="value" placeholder="请选择" @change="selectChange">
<el-option
v-for="item in options"
:key="item.id"
:label="item.propertyName"
:value="item.id">
</el-option>
</el-select> -->
</div>
<div v-if="companyName" @click="goBack" style="line-height: 64px;cursor: pointer; display: flex;align-items: center;height:64px;margin-left: 20px;">
<div class="daili2">
<img class="daili2img" src="/img/qh1.png" alt="" />
</div>
<div class="daili ">
{{
companyName
}}
</div>
</div>

</div>
<div class="top-bar__right">
<el-tooltip
@@ -109,6 +101,7 @@
>
<!-- <img id="thumbnail" class="top-bar__img" /> -->
</el-tooltip>

<el-dropdown style="cursor: pointer;">
<span class="el-dropdown-link">
{{ userInfo.username }}
@@ -131,6 +124,7 @@
</el-dropdown>
<top-setting ref="seting" />
</div>

</div>
</template>
<script>
@@ -422,16 +416,19 @@ export default {

<style lang="scss" scoped>
.daili {
// width: 100px;
height: 30px;
// background: #2671e2;
border-radius: 4px;
line-height: 30px;
text-align: center;
color: #ffffff;
font-size: 14px;
padding: 0 10px;
font-size: 15px;
margin-left: 4px;
}
.daili2{
height: 100%;
line-height: 58px;
.daili2img{
width: 15px;
height: 14px;
}
}

.change {
font-size: 16px;
// color: #2671e2;


+ 2
- 2
src/page/login/userlogin.vue View File

@@ -11,7 +11,7 @@
<el-input
v-model="loginForm.username"
size="small"
auto-complete="off"
auto-complete="new-password"
placeholder="请输入用户名"
maxlength="11"
@keyup.enter.native="handleLogin"
@@ -24,7 +24,7 @@
:type="passwordType"
v-model="loginForm.password"
size="small"
auto-complete="off"
auto-complete="new-password"
placeholder="请输入密码"
@keyup.enter.native="handleLogin"
>


+ 78
- 58
src/page/wel.vue View File

@@ -33,11 +33,11 @@
<span class="span2-1"> 环比:{{cardlist.sequential.receptionCount || 0}}</span>
<span class="span2-2" v-if="cardlist.liftlist.receptionCount>0">
<i class="el-icon-top" style="color: red;"></i>
{{cardlist.liftlist.receptionCount || 0}}%
{{cardlist.liftlist.receptionCount || 0}}
</span>
<span class="span2-3" v-if="cardlist.liftlist.receptionCount<0">
<i class="el-icon-bottom" style="color: #25CEBA;"></i>
{{cardlist.liftlist.receptionCount || 0}}%
{{cardlist.liftlist.receptionCount || 0}}
</span>
</div>
</div>
@@ -51,11 +51,11 @@
<!-- <span class="span2-2">{{cardlist.liftlist.activeCustomer || 0}}%</span> -->
<span class="span2-2" v-if="cardlist.liftlist.activeCustomer>0">
<i class="el-icon-top" style="color: red;"></i>
{{cardlist.liftlist.activeCustomer || 0}}%
{{cardlist.liftlist.activeCustomer || 0}}
</span>
<span class="span2-3" v-if="cardlist.liftlist.activeCustomer<0">
<i class="el-icon-bottom" style="color: #25CEBA;"></i>
{{cardlist.liftlist.activeCustomer || 0}}%
{{cardlist.liftlist.activeCustomer || 0}}
</span>
</div>
</div>
@@ -75,11 +75,11 @@
<!-- <span class="span2-2">{{cardlist.liftlist.avgDuration || 0}}%</span> -->
<span class="span2-2" v-if="cardlist.liftlist.avgDuration>0">
<i class="el-icon-top" style="color: red;"></i>
{{cardlist.liftlist.avgDuration || 0}}%
{{cardlist.liftlist.avgDuration || 0}}
</span>
<span class="span2-3" v-if="cardlist.liftlist.avgDuration<0">
<i class="el-icon-bottom" style="color: #25CEBA;"></i>
{{cardlist.liftlist.avgDuration || 0}}%
{{cardlist.liftlist.avgDuration || 0}}
</span>
</div>
</div>
@@ -113,11 +113,11 @@
<!-- <span class="span2-2">{{cardlist.liftlist.prohibitedCustomer || 0}}%</span> -->
<span class="span2-2" v-if="cardlist.liftlist.prohibitedCustomer>0">
<i class="el-icon-top" style="color: red;"></i>
{{cardlist.liftlist.prohibitedCustomer || 0}}%
{{cardlist.liftlist.prohibitedCustomer || 0}}
</span>
<span class="span2-3" v-if="cardlist.liftlist.prohibitedCustomer<0">
<i class="el-icon-bottom" style="color: #25CEBA;"></i>
{{cardlist.liftlist.prohibitedCustomer || 0}}%
{{cardlist.liftlist.prohibitedCustomer || 0}}
</span>
</div>
</div>
@@ -149,11 +149,11 @@
<!-- <span class="span2-2">{{cardlist.liftlist.accountNum || 0}}%</span> -->
<span class="span2-2" v-if="cardlist.liftlist.accountNum>0">
<i class="el-icon-top" style="color: red;"></i>
{{cardlist.liftlist.accountNum || 0}}%
{{cardlist.liftlist.accountNum || 0}}
</span>
<span class="span2-3" v-if="cardlist.liftlist.accountNum<0">
<i class="el-icon-bottom" style="color: #25CEBA;"></i>
{{cardlist.liftlist.accountNum || 0}}%
{{cardlist.liftlist.accountNum || 0}}
</span>
</div>
</div>
@@ -173,9 +173,12 @@
<div v-else class="tabbox" style="display:flex;flex-wrap: wrap;height: 290px;overflow-y: auto;width: 90%;margin:0 auto;">
<div v-for="(item,index) in indexZxllist" :key="index" style="width:33.3%;margin-top: 10px;cursor: pointer;">
<div style="width:130px;height:100px;margin:0 auto;"><el-progress :stroke-width="12" :width='130' type="dashboard" :percentage="item.zxl" ></el-progress></div>
<div style="width:100%;text-align: center;">
{{item.name.substring(0,3)}}
<div style="width:100%;text-align: center;margin-top:20px;">
<el-tooltip :content="item.name" placement="top">
<div style="width:80%;text-align: center;margin:0 auto;">{{item.name.substring(0,6)}}</div>
</el-tooltip>
</div>

</div>
</div>
</div>
@@ -211,18 +214,18 @@
</div>
</div>

<div class="app-box-san">
<div class="app-box-san" >
<div class="zuo">
<div class="title">
<div class="text1">违禁提醒</div>
</div>

<div class="tabbox">
<div class="tabbox" >
<el-table
:header-cell-style="{background:'#F2F4F5'}"
:data="prohibitedlist"
height="320"
style="width: 100%">
style="width: 100%;font-size: 14px;">
<el-table-column
prop="agentName"
label="顾问"
@@ -245,8 +248,8 @@
prop="date"
label="操作"
align="center">
<template slot-scope="">
<div style="color: #2671E2;">查看</div>
<template slot-scope="{row}">
<div @click="goinfo(row)" style="color: #2671E2;cursor:pointer;">查看</div>
</template>
</el-table-column>
</el-table>
@@ -263,7 +266,7 @@
:header-cell-style="{background:'#F2F4F5'}"
:data="equipmentList"
height="320"
style="width: 100%">
style="width: 100%;font-size: 14px;">>
<el-table-column
prop="accName"
label="顾问"
@@ -302,7 +305,7 @@
:header-cell-style="{background:'#F2F4F5'}"
:data="equipmentList"
height="320"
style="width: 100%">
style="width: 100%;font-size: 14px;">>
<el-table-column
prop="accName"
label="顾问"
@@ -398,11 +401,11 @@
<span class="span2-1"> 环比:{{sysCompare.newAddHouseQuantity || 0}}</span>
<span class="span2-2" v-if="orderBy.newAddHouseQuantity>0">
<i class="el-icon-top" style="color: red;"></i>
{{orderBy.newAddHouseQuantity || 0}}%
{{orderBy.newAddHouseQuantity || 0}}
</span>
<span class="span2-3" v-if="orderBy.newAddHouseQuantity<0">
<i class="el-icon-bottom" style="color: #25CEBA;"></i>
{{orderBy.newAddHouseQuantity || 0}}%
{{orderBy.newAddHouseQuantity || 0}}
</span>
</div>
</div>
@@ -415,11 +418,11 @@
<span class="span2-1"> 环比:{{sysCompare.activeHouseQuantity || 0}}</span>
<span class="span2-2" v-if="orderBy.activeHouseQuantity>0">
<i class="el-icon-top" style="color: red;"></i>
{{orderBy.activeHouseQuantity || 0}}%
{{orderBy.activeHouseQuantity || 0}}
</span>
<span class="span2-3" v-if="orderBy.activeHouseQuantity<0">
<i class="el-icon-bottom" style="color: #25CEBA;"></i>
{{orderBy.activeHouseQuantity || 0}}%
{{orderBy.activeHouseQuantity || 0}}
</span>
</div>
</div>
@@ -433,11 +436,11 @@
<!-- <span class="span2-2">{{cardlist.liftlist.avgDuration || 0}}%</span> -->
<span class="span2-2" v-if="orderBy.equipmentQuantityWithSold>0">
<i class="el-icon-top" style="color: red;"></i>
{{orderBy.equipmentQuantityWithSold || 0}}%
{{orderBy.equipmentQuantityWithSold || 0}}
</span>
<span class="span2-3" v-if="orderBy.equipmentQuantityWithSold<0">
<i class="el-icon-bottom" style="color: #25CEBA;"></i>
{{orderBy.equipmentQuantityWithSold || 0}}%
{{orderBy.equipmentQuantityWithSold || 0}}
</span>
</div>
</div>
@@ -451,11 +454,11 @@
<!-- <span class="span2-2">{{cardlist.liftlist.fraction || 0}}%</span> -->
<span class="span2-2" v-if="orderBy.activeEquipmentQuantity>0">
<i class="el-icon-top" style="color: red;"></i>
{{orderBy.activeEquipmentQuantity || 0}}%
{{orderBy.activeEquipmentQuantity || 0}}
</span>
<span class="span2-3" v-if="orderBy.activeEquipmentQuantity<0">
<i class="el-icon-bottom" style="color: #25CEBA;"></i>
{{orderBy.activeEquipmentQuantity || 0}}%
{{orderBy.activeEquipmentQuantity || 0}}
</span>
</div>
</div>
@@ -470,11 +473,11 @@
<!-- <span class="span2-2">{{cardlist.liftlist.prohibitedCustomer || 0}}%</span> -->
<span class="span2-2" v-if="orderBy.activeUserQuantity>0">
<i class="el-icon-top" style="color: red;"></i>
{{orderBy.activeUserQuantity || 0}}%
{{orderBy.activeUserQuantity || 0}}
</span>
<span class="span2-3" v-if="orderBy.activeUserQuantity<0">
<i class="el-icon-bottom" style="color: #25CEBA;"></i>
{{orderBy.activeUserQuantity || 0}}%
{{orderBy.activeUserQuantity || 0}}
</span>
</div>
</div>
@@ -490,11 +493,11 @@
<!-- <span class="span2-2">{{cardlist.liftlist.prohibitedZb || 0}}%</span> -->
<span class="span2-2" v-if="orderBy.receptionCount>0">
<i class="el-icon-top" style="color: red;"></i>
{{orderBy.receptionCount || 0}}%
{{orderBy.receptionCount || 0}}
</span>
<span class="span2-3" v-if="orderBy.receptionCount<0">
<i class="el-icon-bottom" style="color: #25CEBA;"></i>
{{orderBy.receptionCount || 0}}%
{{orderBy.receptionCount || 0}}
</span>
</div>
</div>
@@ -508,11 +511,11 @@
<!-- <span class="span2-2">{{cardlist.liftlist.accountNum || 0}}%</span> -->
<span class="span2-2" v-if="orderBy.activeCustomer>0">
<i class="el-icon-top" style="color: red;"></i>
{{orderBy.activeCustomer || 0}}%
{{orderBy.activeCustomer || 0}}
</span>
<span class="span2-3" v-if="orderBy.activeCustomer<0">
<i class="el-icon-bottom" style="color: #25CEBA;"></i>
{{orderBy.activeCustomer || 0}}%
{{orderBy.activeCustomer || 0}}
</span>
</div>
</div>
@@ -526,11 +529,11 @@
<!-- <span class="span2-2">{{cardlist.liftlist.accountNum || 0}}%</span> -->
<span class="span2-2" v-if="orderBy.prohibitedCount>0">
<i class="el-icon-top" style="color: red;"></i>
{{orderBy.prohibitedCount || 0}}%
{{orderBy.prohibitedCount || 0}}
</span>
<span class="span2-3" v-if="orderBy.prohibitedCount<0">
<i class="el-icon-bottom" style="color: #25CEBA;"></i>
{{orderBy.prohibitedCount || 0}}%
{{orderBy.prohibitedCount || 0}}
</span>
</div>
</div>
@@ -544,11 +547,11 @@
<!-- <span class="span2-2">{{cardlist.liftlist.accountNum || 0}}%</span> -->
<span class="span2-2" v-if="orderBy.receptionTimeWithAvg>0">
<i class="el-icon-top" style="color: red;"></i>
{{orderBy.receptionTimeWithAvg || 0}}%
{{orderBy.receptionTimeWithAvg || 0}}
</span>
<span class="span2-3" v-if="orderBy.receptionTimeWithAvg<0">
<i class="el-icon-bottom" style="color: #25CEBA;"></i>
{{orderBy.receptionTimeWithAvg || 0}}%
{{orderBy.receptionTimeWithAvg || 0}}
</span>
</div>
</div>
@@ -586,11 +589,11 @@
<!-- <span class="span2-2">{{cardlist.liftlist.prohibitedZb || 0}}%</span> -->
<span class="span2-2" v-if="orderBy.receptionCount>0">
<i class="el-icon-top" style="color: red;"></i>
{{orderBy.receptionCount || 0}}%
{{orderBy.receptionCount || 0}}
</span>
<span class="span2-3" v-if="orderBy.receptionCount<0">
<i class="el-icon-bottom" style="color: #25CEBA;"></i>
{{orderBy.receptionCount || 0}}%
{{orderBy.receptionCount || 0}}
</span>
</div>
</div>
@@ -605,11 +608,11 @@
<!-- <span class="span2-2">{{cardlist.liftlist.accountNum || 0}}%</span> -->
<span class="span2-2" v-if="orderBy.activeCustomer>0">
<i class="el-icon-top" style="color: red;"></i>
{{orderBy.activeCustomer || 0}}%
{{orderBy.activeCustomer || 0}}
</span>
<span class="span2-3" v-if="orderBy.activeCustomer<0">
<i class="el-icon-bottom" style="color: #25CEBA;"></i>
{{orderBy.activeCustomer || 0}}%
{{orderBy.activeCustomer || 0}}
</span>
</div>
</div>
@@ -622,11 +625,11 @@
<span class="span2-1"> 环比:{{sysCompare.invalidCustomer || 0}}</span>
<span class="span2-2" v-if="orderBy.invalidCustomer>0">
<i class="el-icon-top" style="color: red;"></i>
{{orderBy.invalidCustomer || 0}}%
{{orderBy.invalidCustomer || 0}}
</span>
<span class="span2-3" v-if="orderBy.invalidCustomer<0">
<i class="el-icon-bottom" style="color: #25CEBA;"></i>
{{orderBy.invalidCustomer || 0}}%
{{orderBy.invalidCustomer || 0}}
</span>
</div>
</div>
@@ -641,11 +644,11 @@
<!-- <span class="span2-2">{{cardlist.liftlist.accountNum || 0}}%</span> -->
<span class="span2-2" v-if="orderBy.receptionTime>0">
<i class="el-icon-top" style="color: red;"></i>
{{orderBy.receptionTime || 0}}%
{{orderBy.receptionTime || 0}}
</span>
<span class="span2-3" v-if="orderBy.receptionTime<0">
<i class="el-icon-bottom" style="color: #25CEBA;"></i>
{{orderBy.receptionTime || 0}}%
{{orderBy.receptionTime || 0}}
</span>
</div>
</div>
@@ -660,11 +663,11 @@
<!-- <span class="span2-2">{{cardlist.liftlist.accountNum || 0}}%</span> -->
<span class="span2-2" v-if="orderBy.receptionTimeWithAvg>0">
<i class="el-icon-top" style="color: red;"></i>
{{orderBy.receptionTimeWithAvg || 0}}%
{{orderBy.receptionTimeWithAvg || 0}}
</span>
<span class="span2-3" v-if="orderBy.receptionTimeWithAvg<0">
<i class="el-icon-bottom" style="color: #25CEBA;"></i>
{{orderBy.receptionTimeWithAvg || 0}}%
{{orderBy.receptionTimeWithAvg || 0}}
</span>
</div>
</div>
@@ -705,11 +708,11 @@
<!-- <span class="span2-2">{{cardlist.liftlist.accountNum || 0}}%</span> -->
<span class="span2-2" v-if="orderBy.prohibitedCount>0">
<i class="el-icon-top" style="color: red;"></i>
{{orderBy.prohibitedCount || 0}}%
{{orderBy.prohibitedCount || 0}}
</span>
<span class="span2-3" v-if="orderBy.prohibitedCount<0">
<i class="el-icon-bottom" style="color: #25CEBA;"></i>
{{orderBy.prohibitedCount || 0}}%
{{orderBy.prohibitedCount || 0}}
</span>
</div>
</div>
@@ -724,11 +727,11 @@
<!-- <span class="span2-2">{{cardlist.liftlist.fraction || 0}}%</span> -->
<span class="span2-2" v-if="orderBy.activeEquipmentQuantity>0">
<i class="el-icon-top" style="color: red;"></i>
{{orderBy.activeEquipmentQuantity || 0}}%
{{orderBy.activeEquipmentQuantity || 0}}
</span>
<span class="span2-3" v-if="orderBy.activeEquipmentQuantity<0">
<i class="el-icon-bottom" style="color: #25CEBA;"></i>
{{orderBy.activeEquipmentQuantity || 0}}%
{{orderBy.activeEquipmentQuantity || 0}}
</span>
</div>
</div>
@@ -764,11 +767,11 @@
<!-- <span class="span2-2">{{cardlist.liftlist.activeCustomer || 0}}%</span> -->
<span class="span2-2" v-if="orderBy.activeHouseQuantity>0">
<i class="el-icon-top" style="color: red;"></i>
{{orderBy.activeHouseQuantity || 0}}%
{{orderBy.activeHouseQuantity || 0}}
</span>
<span class="span2-3" v-if="orderBy.activeHouseQuantity<0">
<i class="el-icon-bottom" style="color: #25CEBA;"></i>
{{orderBy.activeHouseQuantity || 0}}%
{{orderBy.activeHouseQuantity || 0}}
</span>
</div>
</div>
@@ -791,7 +794,7 @@
:header-cell-style="{background:'#F2F4F5'}"
:data="companyRank"
height="320"
style="width: 100%">
style="width: 100%;font-size: 14px;">>
<el-table-column
prop="companyName"
label="公司名称"
@@ -841,7 +844,7 @@
:header-cell-style="{background:'#F2F4F5'}"
:data="houseRank"
height="320"
style="width: 100%">
style="width: 100%;font-size: 14px;">>
<el-table-column
prop="houseName"
label="楼盘名称"
@@ -953,6 +956,21 @@ export default {

},
methods: {
goinfo(row){
this.$api.http.findByCusIdcusId({cusId:row.id}).then((res) => {
if(res.data.length==0){
this.$message({
message: '无录音',
type: 'warning'
});
}else{
this.$router.push({
path: "/Receive/index",
query: { flag: row.id ,AudioIdx:0},
});
}
})
},
jumpto(ind){
let num = 24 * 3600 * 1000 * 29;
let dang=this.getCurrentTime()
@@ -1019,7 +1037,8 @@ export default {
// dateType: 1,
orderBy:1,
startDate: this.statDateStart,
endDate:this.statDateEnd
endDate:this.statDateEnd,
orgType: localStorage.getItem("orgType"),
}
if(this.role==1){
obj.agentId=localStorage.getItem('agentId')/1
@@ -1198,7 +1217,6 @@ export default {

<style scoped="scoped" lang="scss">
.box-center{

width: 100%;
padding: 15px;
min-width:1000px;
@@ -1271,7 +1289,9 @@ export default {
}
}
.colostyle{
color: red;
color: #1E90FF;
// font-size: 18px;
font-weight: 600;
}
.table-box{
width:98.8%;


+ 2
- 2
src/views/Customer/AgentManagement.vue View File

@@ -218,7 +218,7 @@
</el-form-item> -->


<el-form-item label="楼盘地区" prop="provinceId">
<el-form-item label="地区" prop="provinceId">
<el-cascader
:props="props"
@change="locationsChange"
@@ -284,7 +284,7 @@
<el-input v-model="editoragentobj.linkmanPhone" type="tel" maxlength="11" onkeypress="return (/[\d]/.test(String.fromCharCode(event.keyCode)));"></el-input>
</el-form-item>

<el-form-item label="楼盘地区" prop="provinceId">
<el-form-item label="地区" prop="provinceId">
<el-cascader
:props="props"
@change="locationsChange"


+ 2
- 2
src/views/Customer/CompanyRecord.vue View File

@@ -141,7 +141,7 @@
<el-input v-model="addagentobj.contactNumber" onkeypress="return (/[\d]/.test(String.fromCharCode(event.keyCode)));" maxlength="11"></el-input>
</el-form-item>

<el-form-item label="楼盘地区" prop="provinceId">
<el-form-item label="地区" prop="provinceId">
<el-cascader
:props="props"
@change="locationsChange"
@@ -216,7 +216,7 @@
<el-input v-model="editoragentobj.contactNumber" onkeypress="return (/[\d]/.test(String.fromCharCode(event.keyCode)));" maxlength="11"></el-input>
</el-form-item>

<el-form-item label="楼盘地区" prop="provinceId">
<el-form-item label="地区" prop="provinceId">
<el-cascader
:props="props"
@change="locationsChange"


+ 1
- 1
src/views/Customer/index.vue View File

@@ -377,7 +377,7 @@ export default {
},
{
value: "1",
label: "最近接待时间",
label: "最近到访时间",
},
],
options5: [


+ 1
- 0
src/views/Equipment/equipmentDetailList.vue View File

@@ -925,6 +925,7 @@ export default {
this.$api.api
.findHouseByUser({
orgType: localStorage.getItem("orgType"),
agentId:localStorage.getItem("agentId")
})
.then((res) => {
this.houseList = res.data;


+ 1
- 0
src/views/Equipment/equipmentOnlineRecordList.vue View File

@@ -423,6 +423,7 @@ export default {
method: "get",
params:{
orgType:this.orgType,
agentId:localStorage.getItem("agentId")
}
}).then((res) => {
// console.log(res.data.obj)


+ 1
- 1
src/views/Equipment/index.vue View File

@@ -1055,7 +1055,7 @@ export default {
.then((res) => {
this.$message({
type: "success",
message: "操作成功!",
message: res.msg,
});
this.equipmentManagement();
});


+ 21
- 3
src/views/Equipment/state.vue View File

@@ -749,8 +749,6 @@ export default {
id,
})
.then((res) => {
// console.log(res);
// this.wifiForm=res.data
this.wifiForm = {
imei: res.data.imei,
masterWifiName: res.data.masterWifiName,
@@ -814,13 +812,33 @@ export default {
})
.then((res) => {
// console.log(res);
this.tableData = res.data.list.records;
let newlist=res.data.list.records;
newlist.map(item=>{
let num=this.ascformatDate(item.updateTime)
if(num>12){
item.electricity=0;
item.signalDevice=0;
}
})
this.tableData = newlist;
this.onLineCount = res.data.onLineCount;
this.offLineCount = res.data.offLineCount;
this.workingCount = res.data.workingCount;
this.total = res.data.list.total;
});
},
ascformatDate(dateTimeStamp){
let newDate = new Date(dateTimeStamp.replace(/-/g, '/')).getTime();
let minute = 1000 * 60;
let hour = minute * 60;
let day = hour * 24;
let halfamonth = day * 15;
let month = day * 30;
let now = new Date().getTime();
let diffValue = now - newDate;
let result =diffValue/hour;
return result;
},
//批量
Batchreturn() {
this.$confirm("确认批量归还吗?", "提示", {


+ 9
- 19
src/views/Receive/index.vue View File

@@ -6,7 +6,9 @@
<div class="title" style="display: flex;">
<div style="flex:1;">
<span class="span1">{{userinformationlist.visitRecord==1?'首':userinformationlist.visitRecord || ''}}次到访</span>
<span class="span2"></span>
<span class="span2">
{{yibiaoji||''}}&nbsp;&nbsp;{{userinformationlist.validInvalidName||''}}
</span>
</div>
<div style="width: 120px;display: flex;color:#2671E2;">
<div @click="Addtodigest()">加精</div>
@@ -322,21 +324,6 @@
</div>
</div>

<!-- <div class="text" :data-bg="item.bg" :data-ed="item.ed"
v-for="(item,index) in transcriptionlist" :key="index" :data-speaker="item.speaker">
<div class="avatar">
<div v-if="item.speaker == 1">
<img style="margin: 0 auto;" v-if="item.isShow == 1" src="http://121.42.63.138:9091/autoSR/static/plugins/audio/images/A.png" alt="">
<div v-else>A</div>
</div>
</div>
<div class="content123" style="cursor:pointer;">
<div v-html="item.onebest"></div>
</div>
</div> -->



</div>
</div>

@@ -405,9 +392,6 @@
</div>
</div>




<div id="zxldiv" v-if="zhixingcenterindex==1" style="padding: 0px 10px 10px 10px;">
<div style="margin-top:10px;" v-for="(item,index) in prohibitedlist" :key="index">{{index+1}}、{{item}}</div>
</div>
@@ -701,6 +685,7 @@ export default {
Searchcontent:[],
inputtest:'',
info:{},
yibiaoji:''
};
},
mounted() {
@@ -709,6 +694,9 @@ export default {
this.info = getStore({ name: "userInfo" });
this.init()
},
destroyed(){
this.aplayer.destroy()
},
methods: {
//上一首
aplayerChange(str){
@@ -1295,9 +1283,11 @@ export default {
}
}
if(audopbj[this.AudioIdx].speaker==null){
this.yibiaoji='未标记'
this.roleindexbiaoji=0;
this.dshfkjsdkksodofydwfkhwdfkjh=0;
}else{
this.yibiaoji='已标记'
this.tablist[audopbj[this.AudioIdx].speaker].name=this.tablist[audopbj[this.AudioIdx].speaker].name+"顾问";
this.roleindexbiaoji=audopbj[this.AudioIdx].speaker-1;
this.dshfkjsdkksodofydwfkhwdfkjh=audopbj[this.AudioIdx].speaker-1;


+ 16
- 10
src/views/Statistics/BuildingContrast.vue View File

@@ -88,12 +88,18 @@
label="平均执行率"
align="center"
>
<template slot-scope="{row}">
{{row.fraction}}%
</template>
</el-table-column>
<el-table-column
prop="prohibitedZb"
label="违禁接待占比"
align="center"
>
<template slot-scope="{row}">
{{row.prohibitedZb}}%
</template>
</el-table-column>
</el-table>
<div style="display: flex;justify-content:flex-end;margin-top: 10px;">
@@ -117,15 +123,15 @@
<div class="hejisan">
<div class="sanbox1" style="width: 35%;">
<div class="text1-1">接待合计</div>
<div class="text1-2">{{objList1.sum}}/次</div>
<div class="text1-2">{{objList1.sum}}次</div>
</div>
<div class="sanbox1" style="width: 40%;">
<div class="text1-1">楼盘总数</div>
<div class="text1-2">{{objList1.num}}/个</div>
<div class="text1-2">{{objList1.num}}个</div>
</div>
<div class="sanbox1" style="width: 25%;">
<div class="text1-1">平均接待</div>
<div class="text1-2">{{objList1.avg}}/次</div>
<div class="text1-2">{{objList1.avg}}次</div>
</div>
</div>
<div style="overflow-y:auto;height: 350px;width: 94%;margin: 0 auto;">
@@ -145,7 +151,7 @@
<div class="hejisan">
<div class="sanbox1" style="width: 50%;">
<div class="text1-1">楼盘总数</div>
<div class="text1-2">{{objList2.num}}/个</div>
<div class="text1-2">{{objList2.num}}个</div>
</div>
<div class="sanbox1" style="width: 50%;">
<div class="text1-1">平均执行率</div>
@@ -172,15 +178,15 @@
<div class="hejisan">
<div class="sanbox1" style="width: 35%;">
<div class="text1-1">合计</div>
<div class="text1-2">{{objList3.sum}}/次</div>
<div class="text1-2">{{objList3.sum}}次</div>
</div>
<div class="sanbox1" style="width: 40%;">
<div class="text1-1">顾问</div>
<div class="text1-2">{{objList3.num}}/个</div>
<div class="text1-2">{{objList3.num}}个</div>
</div>
<div class="sanbox1" style="width: 25%;">
<div class="text1-1">人均接待量</div>
<div class="text1-2">{{objList3.avg}}/次</div>
<div class="text1-2">{{objList3.avg}}次</div>
</div>
</div>
<div style="overflow-y:auto;height: 350px;width: 94%;margin: 0 auto;">
@@ -200,15 +206,15 @@
<div class="hejisan">
<div class="sanbox1" style="width: 35%;">
<div class="text1-1">时长合计</div>
<div class="text1-2">{{objList4.sum}}/分钟</div>
<div class="text1-2">{{objList4.sum}}分钟</div>
</div>
<div class="sanbox1" style="width: 40%;">
<div class="text1-1">楼盘总数</div>
<div class="text1-2">{{objList4.num}}/个</div>
<div class="text1-2">{{objList4.num}}个</div>
</div>
<div class="sanbox1" style="width: 25%;">
<div class="text1-1">平均时长</div>
<div class="text1-2">{{objList4.avg}}/分钟</div>
<div class="text1-2">{{objList4.avg}}分钟</div>
</div>
</div>
<div style="overflow-y:auto;height: 350px;width: 94%;margin: 0 auto;">


+ 13
- 13
src/views/Statistics/ConsultantBrand.vue View File

@@ -166,15 +166,15 @@
<div class="hejisan">
<div class="sanbox1" style="width: 35%">
<div class="text1-1">接待合计</div>
<div class="text1-2">{{sum1}}/次</div>
<div class="text1-2">{{sum1}}次</div>
</div>
<div class="sanbox1" style="width: 40%">
<div class="text1-1">顾问人数</div>
<div class="text1-2">{{num1}}/个</div>
<div class="text1-2">{{num1}}个</div>
</div>
<div class="sanbox1" style="width: 25%">
<div class="text1-1">人均接待</div>
<div class="text1-2">{{avg1}}/次</div>
<div class="text1-2">{{avg1}}次</div>
</div>
</div>
<div
@@ -200,15 +200,15 @@
<div class="hejisan">
<div class="sanbox1" style="width: 35%">
<div class="text1-1">接待时长合计</div>
<div class="text1-2">{{Math.floor(sum2/60)}}/分钟</div>
<div class="text1-2">{{Math.floor(sum2/60)}}分钟</div>
</div>
<div class="sanbox1" style="width: 40%">
<div class="text1-1">顾问人数</div>
<div class="text1-2">{{num2}}/个</div>
<div class="text1-2">{{num2}}个</div>
</div>
<div class="sanbox1" style="width: 25%">
<div class="text1-1">均值</div>
<div class="text1-2">{{Math.floor(avg2/60)}}/分钟</div>
<div class="text1-2">{{Math.floor(avg2/60)}}分钟</div>
</div>
</div>
<div
@@ -253,7 +253,7 @@
<div class="hejisan">
<div class="sanbox1" style="width: 50%">
<div class="text1-1">顾问人数</div>
<div class="text1-2">{{num3}}/个</div>
<div class="text1-2">{{num3}}个</div>
</div>
<div class="sanbox1" style="width: 50%">
<div class="text1-1">平均执行</div>
@@ -298,15 +298,15 @@
<div class="hejisan">
<div class="sanbox1" style="width: 35%">
<div class="text1-1">违禁合计</div>
<div class="text1-2">{{sum4}}/次</div>
<div class="text1-2">{{sum4}}次</div>
</div>
<div class="sanbox1" style="width: 40%">
<div class="text1-1">顾问人数</div>
<div class="text1-2">{{num4}}/个</div>
<div class="text1-2">{{num4}}个</div>
</div>
<div class="sanbox1" style="width: 25%">
<div class="text1-1">均值</div>
<div class="text1-2">{{avg4}}/次</div>
<div class="text1-2">{{avg4}}次</div>
</div>
</div>
<div
@@ -500,8 +500,7 @@ export default {
houseId: this.houseId,
statDateStart: this.statDateStart,
statDateEnd: this.statDateEnd,
current: this.current,
size: this.size,

deptId: this.deptId,
dateType: this.dateType == 7 ? null : this.dateType,
type,
@@ -512,7 +511,8 @@ export default {
this['num'+type]=res.data.num || 0;
this['avg'+type]=res.data.avg || 0;
let arr=[]
if(arr.length!=0){
let newarr=res.data.list||[]
if(newarr.length!=0){
res.data.list.map(item=>{
let obj={}
if(type==1){


+ 15
- 7
src/views/Statistics/MentoringAbility.vue View File

@@ -80,11 +80,11 @@
<div class="hejisan">
<div class="sanbox1" style="width: 50%">
<div class="text1-1">{{consultantname}}</div>
<div class="text1-2">{{datalistobj1.avgA}}/次</div>
<div class="text1-2">{{datalistobj1.avgA}}次</div>
</div>
<div class="sanbox1" style="width: 50%">
<div class="text1-1">{{Packname}}</div>
<div class="text1-2">{{datalistobj1.avgB}}/次</div>
<div class="text1-2">{{datalistobj1.avgB}}次</div>
</div>
</div>
<div
@@ -100,11 +100,11 @@
<div class="hejisan">
<div class="sanbox1" style="width: 50%">
<div class="text1-1">{{consultantname}}</div>
<div class="text1-2">{{datalistobj2.avgA}}/分钟</div>
<div class="text1-2">{{datalistobj2.avgA}}分钟</div>
</div>
<div class="sanbox1" style="width: 50%">
<div class="text1-1">{{Packname}}</div>
<div class="text1-2">{{datalistobj2.avgB}}/分钟</div>
<div class="text1-2">{{datalistobj2.avgB}}分钟</div>
</div>
</div>
<div
@@ -183,11 +183,11 @@
<div class="hejisan">
<div class="sanbox1" style="width: 50%">
<div class="text1-1">{{consultantname}}</div>
<div class="text1-2">{{datalistobj5.avgA}}/次</div>
<div class="text1-2">{{datalistobj5.avgA}}次</div>
</div>
<div class="sanbox1" style="width: 50%">
<div class="text1-1">{{Packname}}</div>
<div class="text1-2">{{datalistobj5.avgB}}/次</div>
<div class="text1-2">{{datalistobj5.avgB}}次</div>
</div>

</div>
@@ -245,6 +245,9 @@
label="违禁接待次数"
align="center"
>
<template slot-scope="{row}">
{{row.prohibitedCustomer}}次
</template>
</el-table-column>
<el-table-column
v-if="tabFlag == 1"
@@ -252,6 +255,9 @@
label="违禁接待占比"
align="center"
>
<template slot-scope="{row}">
{{row.prohibitedZb}}%
</template>
<!-- </el-table-column>
<el-table-column
v-if="tabFlag == 1"
@@ -298,7 +304,9 @@
</el-table-column>
<el-table-column v-for="(item,idx) in tablist" :key="idx" :prop="item.props" :label="item.label" align="center">
<template slot-scope="{row}">
{{row[item.props]}}%
<span v-if="tabFlag == 1"> {{row[item.props]}}次</span>
<span v-else> {{row[item.props]}}%</span>
<!-- {{row[item.props]}}% -->
</template>
</el-table-column>
</el-table>


+ 4
- 3
src/views/Statistics/ReceptionOverview.vue View File

@@ -581,9 +581,10 @@ export default {
this.$api.http.overviewfindList({
houseId:this.houseId,
}).then((res) => {
this.departmentlist=[{name:'全部',deptId:''}]
this.departmentlist=this.departmentlist.concat(res.data);
this.departmentsri='';
// this.departmentlist=[{name:'全部',deptId:''}]
// this.departmentlist=this.departmentlist.concat(res.data);
this.departmentlist=res.data;
this.departmentsri=this.departmentlist[0].deptId;
})
this.overviewteamOrAccountSellingTrends()
},


+ 6
- 6
src/views/Statistics/TheTeamCompared.vue View File

@@ -63,8 +63,8 @@
<td class="theadtd">{{item.activeCustomer||0}}</td>
<td class="theadtd">{{item.prohibitedCustomer||0}}</td>
<td class="theadtd">{{Math.floor(item.sumDuration/60) ||0}}</td>
<td class="theadtd">{{item.fraction ||0}}</td>
<td class="theadtd">{{item.prohibitedZb||0}}</td>
<td class="theadtd">{{item.fraction ||0}}%</td>
<td class="theadtd">{{item.prohibitedZb||0}}%</td>
<td class="theadtd" v-for="(che,ind) in item.resultsList" :key='ind'>{{che.zxl}}%</td>
</tr>

@@ -82,7 +82,7 @@
<div class="hejisan">
<div class="sanbox1" style="width: 50%;">
<div class="text1-1">团队总数</div>
<div class="text1-2">{{teamobj1.num}}/个</div>
<div class="text1-2">{{teamobj1.num}}个</div>
</div>
<div class="sanbox1" style="width: 50%;">
<div class="text1-1">均值</div>
@@ -106,7 +106,7 @@
<div class="hejisan">
<div class="sanbox1" style="width: 50%;">
<div class="text1-1">团队总数</div>
<div class="text1-2">{{teamobj2.num}}/个</div>
<div class="text1-2">{{teamobj2.num}}个</div>
</div>
<div class="sanbox1" style="width: 50%;">
<div class="text1-1">均值</div>
@@ -143,7 +143,7 @@
<div class="hejisan">
<div class="sanbox1" style="width: 50%;">
<div class="text1-1">团队总数</div>
<div class="text1-2">{{teamobj3.num}}/个</div>
<div class="text1-2">{{teamobj3.num}}个</div>
</div>
<div class="sanbox1" style="width: 50%;">
<div class="text1-1">均值</div>
@@ -186,7 +186,7 @@
<div class="hejisan">
<div class="sanbox1" style="width: 50%;">
<div class="text1-1">团队总数</div>
<div class="text1-2">{{teamobj5.num||0}}/个</div>
<div class="text1-2">{{teamobj5.num||0}}个</div>
</div>
<div class="sanbox1" style="width: 50%;">
<div class="text1-1">均值</div>


+ 18
- 3
src/views/Statistics/TrendAnalysis.vue View File

@@ -85,9 +85,13 @@
</div>
<div v-if="Confirmthecontrast" class="xia">
<span class="span1">对比:{{cardobj.endSumCustomer ||0}}次</span>
<span class="span2">{{cardobj.contrastSumCustomer ||0}}%</span>
<!-- <span class="span2">{{cardobj.contrastSumCustomer ||0}}%</span> -->
<span class="span2" v-if="cardobj.contrastSumCustomer==0">{{cardobj.contrastSumCustomer}}</span>
<span class="span2" v-else-if="cardobj.contrastSumCustomer>0" style="color: red;">{{cardobj.contrastSumCustomer}}</span>
<span class="span2" v-else-if="cardobj.contrastSumCustomer<0" style="color: #25CEBA;">{{cardobj.contrastSumCustomer}}</span>
</div>
</div>

<div class="kayi">
<div class="shang">
<div class="zuo">
@@ -100,9 +104,13 @@
</div>
<div v-if="Confirmthecontrast" class="xia">
<span class="span1">对比:{{cardobj.endFraction ||0}}%</span>
<span class="span2">{{cardobj.contrastFraction ||0}}%</span>
<!-- <span class="span2">{{cardobj.contrastFraction ||0}}%</span> -->
<span class="span2" v-if="cardobj.contrastFraction==0">{{cardobj.contrastFraction}}%</span>
<span class="span2" v-else-if="cardobj.contrastFraction>0" style="color: red;">{{cardobj.contrastFraction}}%</span>
<span class="span2" v-else-if="cardobj.contrastFraction<0" style="color: #25CEBA;">{{cardobj.contrastFraction}}%</span>
</div>
</div>

<div class="kayi" style="margin: 0px">
<div class="shang">
<div class="zuo">
@@ -115,7 +123,10 @@
</div>
<div v-if="Confirmthecontrast" class="xia">
<span class="span1">对比:{{cardobj.endSumDuration ||0}}</span>
<span class="span2">{{cardobj.contrastSumDuration ||0}}%</span>
<!-- <span class="span2">{{cardobj.contrastSumDuration ||0}}%</span> -->
<span class="span2" v-if="cardobj.contrastSumDuration==0">{{cardobj.contrastSumDuration}}</span>
<span class="span2" v-else-if="cardobj.contrastSumDuration>0" style="color: red;">{{cardobj.contrastSumDuration}}</span>
<span class="span2" v-else-if="cardobj.contrastSumDuration<0" style="color: #25CEBA;">{{cardobj.contrastSumDuration}}</span>
</div>
</div>
</div>
@@ -766,6 +777,10 @@ export default {
this.selectTime = "";
this.selectTime1 = "";
this.$set(this, "time", null);
if(!this.checked){
this.trendtrendAnalysis()
this.Confirmthecontrast=false
}
},
//选择自定义时间
confirmtime(e) {


+ 7
- 4
src/views/Statistics/dataScreeAge.vue View File

@@ -140,14 +140,14 @@
{{ thirdTab.houseQuantity || 0 }}
</div>
</div>
<div class="grid-content" style="cursor: pointer;" @click="Overviewxlick('2')">
<!-- <div class="grid-content" style="cursor: pointer;" @click="Overviewxlick('2')">
<div class="text1" :class="{ tophovese: cardindex == 2 }">
服务期内楼盘数
</div>
<div class="text2" :class="{ tophovese: cardindex == 2 }">
{{ thirdTab.houseQofEnough || 0 }}
</div>
</div>
</div> -->
<div class="grid-content" style="cursor: pointer;" @click="Overviewxlick('4')">
<div class="text1" :class="{ tophovese: cardindex == 4 }">
活跃用户数
@@ -279,6 +279,7 @@ export default {
// agentId: this.selValue == 0 ? this.choicValue : null,
agentId: localStorage.getItem('agentId'),
orgCode: this.selValue == 1 ? this.choicValue : null,
orgType: localStorage.getItem("orgType"),
})
.then((res) => {
console.log(res);
@@ -300,6 +301,7 @@ export default {
// agentId: this.selValue == 0 ? this.choicValue : null,
agentId: localStorage.getItem('agentId'),
orgCode: this.selValue == 1 ? this.choicValue : null,
orgType: localStorage.getItem("orgType"),
})
.then((res) => {
console.log(res);
@@ -319,11 +321,11 @@ export default {
// console.log(timeDate);
if (idx == 1 ) {
// 接待量
this.secondTab.yesterdayReceptionList.map((item) => {
this.secondTab.todayReceptionList.map((item) => {
timeDate.push(item.time.substring(11, 16));
arr2.push(item.data);
});
this.secondTab.todayReceptionList.map((item) => {
this.secondTab.yesterdayReceptionList.map((item) => {
arr1.push(item.data);
});
}
@@ -428,6 +430,7 @@ export default {
// agentId: this.selValue == 0 ? this.choicValue : null,
agentId: localStorage.getItem('agentId'),
orgCode: this.selValue == 1 ? this.choicValue : null,
orgType: localStorage.getItem("orgType"),
})
.then((res) => {
// console.log(res);


+ 35
- 10
src/views/Statistics/dataScreeSys.vue View File

@@ -57,20 +57,22 @@
<!-- 二 -->
<div class="app-box-er">
<div class="container">
<div class="grid-content">

<div v-if="agentissow" class="grid-content">
<div class="text1">代理商数</div>
<div class="text2">{{ firstTab.agentQuantity || 0 }}</div>
</div>
<div class="grid-content">
<div v-if="agentissow" class="grid-content">
<div class="text1">服务期内代理商数</div>
<div class="text2">{{ firstTab.agentQofEnough || 0 }}</div>
</div>
<div class="grid-content">
<div v-if="agentissow" class="grid-content">
<div class="text1">过期代理商数</div>
<div class="text2">
{{ firstTab.agentQofUnenough || 0 }}
</div>
</div>

<div class="grid-content">
<div class="text1">楼盘总数</div>
<div class="text2">{{ firstTab.houseQuantity || 0 }}</div>
@@ -217,14 +219,14 @@
{{ thirdTab.houseQuantity || 0 }}
</div>
</div>
<div class="grid-content" style="cursor: pointer;" @click="Overviewxlick('2')">
<!-- <div class="grid-content" style="cursor: pointer;" @click="Overviewxlick('2')">
<div class="text1" :class="{ tophovese: cardindex == 2 }">
服务期内楼盘数
</div>
<div class="text2" :class="{ tophovese: cardindex == 2 }">
{{ thirdTab.houseQofEnough || 0 }}
</div>
</div>
</div> -->
<!-- <div class="grid-content" @click="Overviewxlick('3')">
<div class="text1" :class="{ tophovese: cardindex == 3 }">
销售设备数
@@ -309,6 +311,7 @@ export default {
value: "1",
},
],
agentissow:true
};
},
mounted() {
@@ -318,9 +321,20 @@ export default {
methods: {
valuechange() {
this.dateType = 4;
this.cardindex=1
this.secindex=1
// console.log(this.choicValue);
this.cardindex=1;
this.secindex=1;
if(this.choicValue==''){

}
if(this.selValue==1){
this.agentissow=false;
}else{
if(this.choicValue==''){
this.agentissow=true;
}else{
this.agentissow=false;
}
}
this.dataOverViewWithSystem();
this.dataOverviewWithSystemWithDay();
this.dataOverviewWithSystemWithLook();
@@ -332,6 +346,15 @@ export default {
this.cardindex=1
this.secindex=1
this.getList();
if(this.selValue==1){
this.agentissow=false;
}else{
if(this.choicValue==''){
this.agentissow=true;
}else{
this.agentissow=false;
}
}
},
// 获取下拉框数据
getList() {
@@ -366,6 +389,7 @@ export default {
.dataOverviewWithSystemWithDay({
agentId: this.selValue == 0 ? this.choicValue : null,
orgCode: this.selValue == 1 ? this.choicValue : null,
orgType: localStorage.getItem("orgType"),
})
.then((res) => {
this.secondTab = res.data;
@@ -401,11 +425,11 @@ export default {
// console.log(timeDate);
if (idx == 1 ) {
// 接待量
this.secondTab.yesterdayReceptionList.map((item) => {
this.secondTab.todayReceptionList.map((item) => {
timeDate.push(item.time.substring(11, 16));
arr2.push(item.data);
});
this.secondTab.todayReceptionList.map((item) => {
this.secondTab.yesterdayReceptionList.map((item) => {
arr1.push(item.data);
});
}
@@ -512,6 +536,7 @@ export default {
.dataOverViewWithSystem({
agentId: this.selValue == 0 ? this.choicValue : null,
orgCode: this.selValue == 1 ? this.choicValue : null,
orgType: localStorage.getItem("orgType"),
})
.then((res) => {
this.firstTab = res.data;


+ 35
- 25
src/views/Statistics/houseDataSys.vue View File

@@ -177,7 +177,7 @@
? 'color:green;'
: 'color:red;'
"
>{{ scope.row.data3 }}%</span>
>{{ scope.row.data3 }}</span>
</template>
</el-table-column>
</el-table>
@@ -242,6 +242,7 @@ export default {
// agentId: this.selValue == 0 ? this.choicValue : null,
agentId: this.orgType==0?(this.selValue == 0 ? this.choicValue : null):localStorage.getItem('agentId'),
orgCode: this.selValue == 1 ? this.choicValue : null,
orgType: localStorage.getItem("orgType"),
})
.then((res) => {
this.firstTab = res.data;
@@ -260,18 +261,22 @@ export default {
// agentId: this.selValue == 0 ? this.choicValue : null,
agentId: this.orgType==0?(this.selValue == 0 ? this.choicValue : null):localStorage.getItem('agentId'),
orgCode: this.selValue == 1 ? this.choicValue : null,
orgType: localStorage.getItem("orgType"),
})
.then((res) => {
// console.log(res);
// 数据处理
// 判断是否选择了对比
this.compare = res.data.firstData;

if (this.selectTime1) {
console.log("4444")
// 有对比
this.compare1 = res.data.secondData;
// 将得到的三者的数据进行组装为一个数组
this.compare2 = res.data.thirdData;
}else{
this.compare1=[]
this.compare2=[]
}
this.getChars(1);
});
@@ -283,7 +288,6 @@ export default {
let arr1 = [];
// 判断是第几个然后对数据进行渲染
// 先处理时间
// console.log(timeDate);
if (idx == 1) {
Strname = ["活跃楼盘数"];
this.compare.activeHouseQuantityList.map((item) => {
@@ -307,7 +311,6 @@ export default {
];
this.SwitchCARDS(arr, "main", timeDate, Strname);
} else {
console.log(223);
let Strname = ["时段一", "时段二"];
let timeDate = [];
// 判断是第几个然后对数据进行渲染
@@ -372,7 +375,6 @@ export default {
tableData.push(obj)
});
this.tableData=tableData
// console.log(tableData);
}
},
//时间tab切换
@@ -412,29 +414,33 @@ export default {
this.timeSelect(e);
},
timeSelect(e) {
// 获取今天昨天近一周
// 获取一天的时间戳
let num = 24 * 3600 * 1000;
// 获取当前时间戳转换为日期格式
if (this.dateType == 4) {
num = 24 * 3600 * 1000 * 6;
}
if (this.dateType == 5) {
num = 24 * 3600 * 1000 * 14;
}
if (this.dateType == 6) {
num = 24 * 3600 * 1000 * 29;
if (this.dateType == null) {
this.selectTime = e;
this.selectTime1 = this.timestampToTime(
new Date(e).getTime() +
new Date(this.customtime[1]).getTime() -
new Date(this.customtime[0]).getTime()
);
}else{
let num = 24 * 3600 * 1000;
// 获取当前时间戳转换为日期格式
if (this.dateType == 4) {
num = 24 * 3600 * 1000 * 6;
}
if (this.dateType == 5) {
num = 24 * 3600 * 1000 * 14;
}
if (this.dateType == 6) {
num = 24 * 3600 * 1000 * 29;
}
this.selectTime = e;
this.selectTime1 = this.timestampToTime(new Date(e).getTime() + num);
}
this.selectTime = e;
this.selectTime1 = this.timestampToTime(new Date(e).getTime() + num);
console.log(this.selectTime, this.selectTime1);
this.Confirmthecontrast = true;
// this.page.openTime = this.customtime[0];
// this.page.closeTime = this.customtime[1];
this.houseTrends();

},
getList() {
console.log(this.selValue);
// 当为楼盘选择时
if (this.selValue == 1) {
this.$api.api
@@ -481,7 +487,6 @@ export default {
this.getList();
},
valuechange() {
// console.log(this.choicValue);
this.houseDataAll();
this.houseTrends();
},
@@ -489,6 +494,9 @@ export default {
this.selectTime = "";
this.selectTime1 = "";
this.$set(this, "time", null);
if(!this.checked){
this.houseTrends();
}
},
timestampToTime(timestamp) {
var date = new Date(timestamp); //时间戳为10位需*1000,时间戳为13位的话不需乘1000
@@ -508,9 +516,11 @@ export default {
},
//卡片下折线图
SwitchCARDS(arr, str, timeDate, Strname) {
// console.log(arr,str,timeDate,Strname);
console.log(arr);
var chartDom = document.getElementById(str);
echarts.init(chartDom).dispose()
var myChart = echarts.init(chartDom);

var option;

option = {


+ 2
- 2
src/views/Statistics/index.vue View File

@@ -2,8 +2,8 @@
<div class="box-center" ref="boxcenter" style="cursor:pointer;">
<!-- 头 -->
<div class="app-top">
<div class="app-titel2" style="margin-bottom: 10px">
<div class="titel-text" v-if="orgType!=3">
<div v-if="orgType!=3" class="app-titel2" style="margin-bottom: 10px">
<div class="titel-text" >
楼盘选择: </div>
<div style="margin-left: 26px">
<el-select v-model="houseId" filterable @change="houseChange" placeholder="请选择">


+ 23
- 8
src/views/Statistics/trend.vue View File

@@ -166,7 +166,7 @@
compare2.receptionCount >= 0 ? 'color:green;' : 'color:red;'
"
>
{{ compare2.receptionCount || 0 }}%
{{ compare2.receptionCount || 0 }}
</div>
</div>
</div>
@@ -191,7 +191,7 @@
<div
:style="compare2.avgDuration >= 0 ? 'color:green;' : 'color:red;'"
>
{{ compare2.avgDuration || 0 }}%
{{ compare2.avgDuration || 0 }}
</div>
</div>
</div>
@@ -224,7 +224,7 @@
compare2.prohibitedCustomer >= 0 ? 'color:green;' : 'color:red;'
"
>
{{ compare2.prohibitedCustomer || 0 }}%
{{ compare2.prohibitedCustomer || 0 }}
</div>
</div>
</div>
@@ -257,7 +257,7 @@
compare2.activeCustomer >= 0 ? 'color:green;' : 'color:red;'
"
>
{{ compare2.activeCustomer || 0 }}%
{{ compare2.activeCustomer || 0 }}
</div>
</div>
</div>
@@ -342,10 +342,8 @@
</el-table-column>
<el-table-column prop="data3" label="变化" align="center">
<template slot-scope="scope">
<span
:style="scope.row.data3 >= 0 ? 'color:green;' : 'color:red;'"
>{{ scope.row.data3 }}%</span
>
<span v-if="secindex=='fraction'|| secindex=='activeCustomerRate'" :style="scope.row.data3 >= 0 ? 'color:green;' : 'color:red;'" >{{ scope.row.data3 }}%</span>
<span v-else :style="scope.row.data3 >= 0 ? 'color:green;' : 'color:red;'" >{{ scope.row.data3 }}</span>
</template>
</el-table-column>
</el-table>
@@ -419,7 +417,14 @@ export default {
agentId: this.selValue == 0 ? this.choicValue : null,
orgCode: this.selValue == 1 ? this.choicValue : null,
houseId: this.selValue == 2 ? this.choicValue : null,
orgType: localStorage.getItem("orgType"),
};
if(obj.orgType == 1){
obj.agentId=localStorage.getItem("agentId")
}
if(obj.orgType==2){
obj.orgCode=localStorage.getItem("orgCode")
}
this.$api.api.receptionOverviewOfSystem(obj).then((res) => {
this.compare = res.data.firstData;
if (this.selectTime1) {
@@ -441,7 +446,14 @@ export default {
agentId: this.selValue == 0 ? this.choicValue : null,
orgCode: this.selValue == 1 ? this.choicValue : null,
houseId: this.selValue == 2 ? this.choicValue : null,
orgType: localStorage.getItem("orgType"),
};
if(obj.orgType == 1){
obj.agentId=localStorage.getItem("agentId")
}
if(obj.orgType==2){
obj.orgCode=localStorage.getItem("orgCode")
}
if (!this.selectTime1) {
let res = await this.$api.api.receptionDataOfSystem(obj);
// console.log(res, str);
@@ -639,6 +651,9 @@ export default {
this.selectTime = "";
this.selectTime1 = "";
this.$set(this, "time", null);
if(!this.checked){
this.receptionOverviewOfSystem();
}
},
timestampToTime(timestamp) {
var date = new Date(timestamp); //时间戳为10位需*1000,时间戳为13位的话不需乘1000


+ 4
- 4
src/views/Template/Pinspeakwords.vue View File

@@ -50,13 +50,13 @@
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="一级大类名称:" v-if="level==0" :label-width="formLabelWidth">
<el-input v-model="addForm.name" autocomplete="off"></el-input>
<el-input v-model="addForm.name" maxlength="8" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="二级小类名称:" v-if="level==1" :label-width="formLabelWidth">
<el-input v-model="addForm.name" autocomplete="off"></el-input>
<el-input v-model="addForm.name" maxlength="8" autocomplete="off"></el-input>
</el-form-item>
<el-form-item label="三级小类名称:" v-if="level==2" :label-width="formLabelWidth">
<el-input v-model="addForm.name" autocomplete="off"></el-input>
<el-input v-model="addForm.name" maxlength="8" autocomplete="off"></el-input>
</el-form-item>
</el-col>
</el-row>
@@ -145,7 +145,7 @@
<div style="display: flex;align-items: center;height: 40px;">
<div>类名:</div>
<div>
<el-input type="text" v-model="frosasd.name" autocomplete="off"></el-input>
<el-input type="text" maxlength="8" v-model="frosasd.name" autocomplete="off"></el-input>
</div>
</div>



+ 55
- 16
src/views/Template/wrongword.vue View File

@@ -114,6 +114,21 @@
<el-button type="primary" @click="addSure()">保存</el-button>
</div>
</el-dialog>

<el-dialog
title="删除"
:visible.sync="dialogVisible2"
>
<div class="delclass">
<div> <el-radio v-model="radiovalue" label="0">直接删除</el-radio></div>
<div style="margin-top:10px;"> <el-radio v-model="radiovalue" label="1">删除,同时恢复历史纠错内容</el-radio></div>
</div>

<div slot="footer" class="dialog-footer">
<el-button @click="dialogVisible2 = false">取 消</el-button>
<el-button type="primary" @click="delSure()">保存</el-button>
</div>
</el-dialog>
</div>
</template>

@@ -152,6 +167,10 @@ export default {
{ required: true, message: "请填写错误词", trigger: "change" },
],
},
dialogVisible2:false,
radiovalue:'0',
delid:''

};
},
computed: {
@@ -172,29 +191,44 @@ export default {
this.editFlag = true;
this.dialogVisible = true;
},
del(row) {
console.log(row, "删除");
this.$confirm(`是否删除该常错词?`, "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
distinguishCancelAndClose: true,
type: "warning",
}).then(() => {
delSure(){
axios({
url: `/autoSR/zk/correct/del`,
method: "post",
data: {
id: row.id,
},
url: `/autoSR/zk/correct/deleteCorrectWord?id=`+this.delid+'&deleteType='+this.radiovalue,
method: "GET",
}).then((res) => {
if (res.code == 0) {
this.$message.success("删除成功");
this.$message.success("操作成功");
this.dialogVisible2=false;
this.correctFindbypage();
} else {
this.$message.warning(res.resMsg);
}
});
});
})
},
del(row) {
this.delid=row.id;
this.dialogVisible2=true;
// this.$confirm(`是否删除该常错词?`, "提示", {
// confirmButtonText: "确定",
// cancelButtonText: "取消",
// distinguishCancelAndClose: true,
// type: "warning",
// }).then(() => {
// axios({
// url: `/autoSR/zk/correct/del`,
// method: "post",
// data: {
// id: row.id,
// },
// }).then((res) => {
// if (res.code == 0) {
// this.$message.success("删除成功");
// this.correctFindbypage();
// } else {
// this.$message.warning(res.resMsg);
// }
// });
// });
},
reset() {
this.$refs.ruleForm.resetFields();
@@ -318,6 +352,11 @@ export default {
min-width: 1000px;
padding-bottom: 100px;
}
.delclass{
width: 400px;
// border: 1px solid red;
margin: 0 auto;
}
.cen-tab {
width: 100%;
padding: 15px;


+ 20
- 32
src/views/admin/user/index.vue View File

@@ -182,9 +182,9 @@

<!-- 表格 -->
<div class="con" style="margin-left: 10px">
<el-table
<div v-if="choseFlag">
<el-table
:data="tableData"
v-if="choseFlag"
border
@selection-change="handleSelectionChange"
style="width: 100%"
@@ -199,7 +199,6 @@
{{ row.sex == 0 ? "男" : "女" }}
</template>
</el-table-column>
<!-- <el-table-column prop="orgName" label="所属组织"> </el-table-column> -->
<el-table-column prop="createTime" label="注册时间"> </el-table-column>
<el-table-column prop="address" label="操作">
<template slot-scope="scope">
@@ -280,45 +279,29 @@
</template>
</el-table-column>
</el-table>

<el-table
</div>
<div v-else>
<el-table
:data="tableData1"
v-else
border
@selection-change="handleSelectionChange"
style="width: 100%"
:header-cell-style="{ textAlign: 'center' }"
:cell-style="{ textAlign: 'center' }"
>
<el-table-column type="selection" width="55"> </el-table-column>
<el-table-column prop="name" label="用户名"> </el-table-column>
<el-table-column label="登录手机" prop="username"> </el-table-column>
<el-table-column :show-overflow-tooltip="true" width="120px" align="center" prop="orgName" label="所属组织"> </el-table-column>
<!-- <el-table-column prop="orgType" label="组织类型">
<template slot-scope="scope">
{{
scope.row.orgType == 0
? "系统用户"
: scope.row.orgType == 1
? "代理商用户"
: scope.row.orgType == 2
? "公司用户"
: scope.row.orgType == 3?'楼盘用户'
: ""
}}
</template>
</el-table-column> -->
<el-table-column prop="orgTypeName" label="组织类型"> </el-table-column>
<el-table-column prop="roleName" label="组织角色"> </el-table-column>
<el-table-column prop="userRoleTypeName" label="用户身份">
<el-table-column type="selection" width="55" align="center"> </el-table-column>
<el-table-column prop="name" label="用户名" align="center"> </el-table-column>
<el-table-column label="登录手机" prop="username" align="center"> </el-table-column>
<el-table-column :show-overflow-tooltip="true" prop="orgName" align="center" label="所属组织"> </el-table-column>
<el-table-column prop="orgTypeName" label="组织类型" align="center"> </el-table-column>
<el-table-column prop="roleName" align="center" label="组织角色"> </el-table-column>
<el-table-column prop="userRoleTypeName" align="center" label="用户身份">
</el-table-column>
<el-table-column label="状态">
<el-table-column align="center" label="状态">
<template slot-scope="{ row }">
{{ row.lockFlag == 0 ? "启用" : "禁用" }}
</template>
</el-table-column>
<el-table-column prop="createTime" label="添加时间"> </el-table-column>
<el-table-column prop="address" label="操作" fixed="right" width="150">
<el-table-column align="center" prop="createTime" label="添加时间"> </el-table-column>
<el-table-column align="center" prop="address" label="操作" fixed="right" width="150">
<template slot-scope="scope" v-if="scope.row.userRoleType!=11&&scope.row.userRoleType!=12&&scope.row.userRoleType!=13">
<el-button
@click="editTwo(scope.row)"
@@ -357,6 +340,7 @@
</template>
</el-table-column>
</el-table>
</div>
<div style="display: flex; justify-content: flex-end; margin-top: 10px">
<el-pagination
style="text-align: center; margin-top: 18px"
@@ -2577,5 +2561,9 @@ export default {
// display: flex;
}
}
/deep/ .el-tooltip{
width: 140px;
}

</style>


+ 3
- 0
src/views/building/Count.vue View File

@@ -207,6 +207,9 @@
label="平均执行率"
align="center"
>
<template slot-scope="{row}">
{{row.avgExacutiveRate||0}}%
</template>
</el-table-column>
<el-table-column
prop="sumProhibitedQuantity"


+ 3
- 2
src/views/building/index.vue View File

@@ -297,7 +297,7 @@

>
<el-form-item label="公司" prop="orgCode" v-if="orgType != 2">
<el-select v-model="ruleForm.orgCode" filterable placeholder="请选择公司">
<el-select :disabled="editFlag==true" v-model="ruleForm.orgCode" filterable placeholder="请选择公司">
<el-option
v-for="item in orgList"
:key="item.id"
@@ -751,6 +751,7 @@ export default {
this.searchForm.startWorking=this.starTime[0];
this.searchForm.endWorking=this.starTime[1];
this.searchForm.serviceStatus=this.$route.query.serviceStatus;
this.searchForm.houseType='0'
}
this.orgType = localStorage.getItem("orgType");
// 获取公司列表数据
@@ -906,7 +907,7 @@ export default {
});
},
toDisable(row){
this.$confirm(`确定${row.lockFlag==0?'禁用':'启用'}此楼盘么?`, '提示', {
this.$confirm(`确定${row.lockFlag==0?'禁用'+'-'+row.propertyName+'-':'启用'+'-'+row.propertyName+'-'}楼盘吗?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'


Loading…
Cancel
Save