Browse Source

init

newStyle
wangxiaohua 2 years ago
parent
commit
24b9b803da
12 changed files with 271 additions and 423 deletions
  1. +2
    -2
      src/views/Customer/AgentManagement.vue
  2. +2
    -2
      src/views/Customer/CompanyRecord.vue
  3. +154
    -304
      src/views/Customer/index.vue
  4. +4
    -5
      src/views/Customer/label.vue
  5. +22
    -70
      src/views/Equipment/equipmentDetailList.vue
  6. +9
    -1
      src/views/Equipment/state.vue
  7. +2
    -5
      src/views/File/index.vue
  8. +3
    -8
      src/views/Statistics/ReceptionStatistical.vue
  9. +7
    -4
      src/views/Statistics/TheTeamCompared.vue
  10. +1
    -1
      src/views/Statistics/houseDataSys.vue
  11. +62
    -20
      src/views/Statistics/trend.vue
  12. +3
    -1
      src/views/building/index.vue

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

@@ -239,10 +239,10 @@

</el-form-item> -->
<el-form-item label="管理员账号:" prop="managerPhone">
<el-input v-model="addagentobj.managerPhone" maxlength="11" onkeypress="return (/[\d]/.test(String.fromCharCode(event.keyCode)));"></el-input>
<el-input auto-complete="new-password" v-model="addagentobj.managerPhone" maxlength="11" onkeypress="return (/[\d]/.test(String.fromCharCode(event.keyCode)));"></el-input>
</el-form-item>
<el-form-item label="密码:" prop="managerPassword">
<el-input :disabled='passFlag' show-password v-model="addagentobj.managerPassword"></el-input>
<el-input auto-complete="new-password" :disabled='passFlag' show-password v-model="addagentobj.managerPassword"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">


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

@@ -182,10 +182,10 @@

</el-form-item> -->
<el-form-item label="管理员账号:" prop="managerPhone">
<el-input maxlength="11" v-model="addagentobj.managerPhone"></el-input>
<el-input auto-complete="new-password" maxlength="11" v-model="addagentobj.managerPhone"></el-input>
</el-form-item>
<el-form-item label="密码:" prop="managerPassword">
<el-input show-password :disabled='passFlag' v-model="addagentobj.managerPassword"></el-input>
<el-input auto-complete="new-password" show-password :disabled='passFlag' v-model="addagentobj.managerPassword"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">


+ 154
- 304
src/views/Customer/index.vue View File

@@ -1,11 +1,12 @@
<template>
<div class="box-center">
<div class="add-button">
<!-- <div class="add-button">
<el-button type="primary">筛选</el-button>
</div>
</div> -->
<div class="booxtop">
<div class="app-topbox">
<div class="div-labox">

<div class="div-labox" v-if="orgType!=3">
<div class="labeltext">楼盘选择:</div>
<el-select
class="div-inpbox"
@@ -23,285 +24,171 @@
</el-option>
</el-select>
</div>

<div class="div-labox">
<div class="labeltext">楼盘选择:</div>
<div class="labeltext">
<!-- 时间: -->
<el-select
v-model="searchForm.timeType"
@change="houseChange"
placeholder="请选择"
style="width: 125px"
>
<el-option
v-for="item in timeTypeList"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</div>
<div class="toptimeqhuan">
<div
style="cursor: pointer;"
:class="{ tophove: searchForm.dateType == 0 }"
@click="tabtimetap(0)"
>
今日
</div>
<div
style="cursor: pointer;"
:class="{ tophove: searchForm.dateType == 2 }"
@click="tabtimetap(2)"
>
近7天
</div>
<div
style="cursor: pointer;"
:class="{ tophove: searchForm.dateType == 6 }"
@click="tabtimetap(6)"
>
近30天
</div>
</div>
<el-date-picker
v-model="time"
type="daterange"
class="div-inpbox"
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>
<div class="app-topbox">
<div class="div-labox" >
<div class="labeltext">客户名称:</div>
<el-input class="div-inpbox" maxlength="10" clearable v-model="searchForm.name"></el-input>
</div>
<div class="div-labox" >
<div class="labeltext">置业顾问:</div>
<el-select
class="div-inpbox"
v-model="searchForm.projectId"
@change="houseChange"
placeholder="请选择"
v-model="searchForm.accountId"
clearable
filterable
placeholder="请选择"
class="div-inpbox"
>
<el-option
v-for="item in houseList"
:key="item.id"
:label="item.propertyName"
:value="item.id"
v-for="item in accountList"
:key="item.accountId"
:label="item.name"
:value="item.accountId"
>
</el-option>
</el-select>
</div>
<div class="div-labox">
<div class="labeltext">楼盘选择:</div>
<div class="div-labox" >
<div class="labeltext">画像标签:</div>
<el-select
class="div-inpbox"
v-model="searchForm.projectId"
@change="houseChange"
placeholder="请选择"
class="div-inpbox"
multiple
clearable
filterable
collapse-tags
v-model="searchForm.keywordsId"
placeholder="请选择"
>
<el-option
v-for="item in houseList"
:key="item.id"
:label="item.propertyName"
:value="item.id"
v-for="item in keywordsList"
:key="item.keywordsId"
:label="item.isInterval==0?item.name+'-'+item.endName+item.unit:item.name"
:value="item.keywordsId"
>
</el-option>
</el-select>
</div>
<div class="div-labox">
<div class="labeltext">楼盘选择:</div>

<div class="div-labox" >
<div class="labeltext">客户等级:</div>
<el-select
class="div-inpbox"
v-model="searchForm.projectId"
@change="houseChange"
placeholder="请选择"
v-model="searchForm.level"
clearable
filterable
placeholder="请选择"
class="div-inpbox"
>
<el-option
v-for="item in houseList"
:key="item.id"
:label="item.propertyName"
:value="item.id"
v-for="item in levelList"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</div>
<div class="div-labox">
<div class="labeltext">楼盘选择:</div>
<div class="div-labox" >
<div class="labeltext">接待时长:</div>
<el-select
class="div-inpbox"
v-model="searchForm.projectId"
@change="houseChange"
placeholder="请选择"
clearable
filterable
v-model="searchForm.recDurationInterval"
placeholder="请选择"
class="div-inpbox"
>
<el-option
v-for="item in houseList"
:key="item.id"
:label="item.propertyName"
:value="item.id"
v-for="item in options3"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</div>
<div class="div-labox" >
<div class="labeltext">到访次数:</div>
<el-select
v-model="searchForm.visitRecord"
clearable
filterable
placeholder="请选择"
class="div-inpbox"
>
<el-option
v-for="item in options4"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</div>
</div>
<div class="app-topbox">
<div class="div-labox" >
<div class="labeltext"></div>
<el-button type="primary" @click="screen">筛选</el-button>
<el-button @click="clearScreen">清空筛选条件</el-button>
</div>
</div>
</div>


<!-- 头 -->
<div class="app-top">
<div class="app-titel" v-if="orgType!=3">
<div
class="label"
style="color: #32363d; font-weight: 400; font-size: 16px"
>
楼盘选择:
</div>
<div>
<el-select
v-model="searchForm.projectId"
@change="houseChange"
placeholder="请选择"
filterable
>
<el-option
v-for="item in houseList"
:key="item.id"
:label="item.propertyName"
:value="item.id"
>
</el-option>
</el-select>
</div>
</div>
<div class="app-titel" style="margin-top: 15px;padding-left:30px;">
<div class="label" style="margin-left: 20px; margin-right: 20px">
<!-- 时间: -->
<el-select
v-model="searchForm.timeType"
@change="houseChange"
placeholder="请选择"
style="width: 125px"
>
<el-option
v-for="item in timeTypeList"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</div>
<div class="toptimeqhuan">
<div
style="cursor: pointer;"
:class="{ tophove: searchForm.dateType == 0 }"
@click="tabtimetap(0)"
>
今日
</div>
<div
style="cursor: pointer;"
:class="{ tophove: searchForm.dateType == 2 }"
@click="tabtimetap(2)"
>
近7天
</div>
<div
style="cursor: pointer;"
:class="{ tophove: searchForm.dateType == 6 }"
@click="tabtimetap(6)"
>
近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>
</div>
</div>

<div class="app-titel" style="margin-top: 15px">
<div class="div-lab">
<div class="label">客户名称:</div>
<el-input class="div-inp" maxlength="10" clearable v-model="searchForm.name"></el-input>
</div>

<div class="div-lab">
<div class="label">置业顾问:</div>
<el-select
v-model="searchForm.accountId"
clearable
filterable
placeholder="请选择"
class="div-inp"
>
<el-option
v-for="item in accountList"
:key="item.accountId"
:label="item.name"
:value="item.accountId"
>
</el-option>
</el-select>
</div>
<div class="div-lab">
<div class="label">画像标签:</div>
<el-select
class="div-inp"
multiple
clearable
filterable
collapse-tags
v-model="searchForm.keywordsId"
placeholder="请选择"
>
<el-option
v-for="item in keywordsList"
:key="item.keywordsId"
:label="item.isInterval==0?item.name+'-'+item.endName+item.unit:item.name"
:value="item.keywordsId"
>
</el-option>
</el-select>
</div>

<div class="div-lab">
<div class="label">客户等级:</div>
<el-select
v-model="searchForm.level"
clearable
filterable
placeholder="请选择"
class="div-inp"
>
<el-option
v-for="item in levelList"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</div>



<div class="div-lab">
<div class="label">接待时长:</div>
<el-select
clearable
filterable
v-model="searchForm.recDurationInterval"
placeholder="请选择"
class="div-inp"
>
<el-option
v-for="item in options3"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</div>

<div class="div-lab">
<div class="label">到访次数:</div>
<el-select
v-model="searchForm.visitRecord"
clearable
filterable
placeholder="请选择"
class="div-inp"
>
<el-option
v-for="item in options4"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</div>
</div>

<div class="app-titel" style="margin-top: 15px"></div>

<div class="app-titel" style="margin-top: 15px">
<div class="label" style="color: #ffffff">筛选相关:</div>
<div>
<el-button type="primary" @click="screen"
>筛选</el-button
>
</div>
<div style="margin-left: 20px">
<el-button @click="clearScreen">清空筛选条件</el-button>
</div>
</div>
</div>

<!-- 表格 -->
<div class="cen-tab">
<el-table :data="tableData" stripe style="width: 100%">
@@ -688,15 +575,12 @@ export default {
border-radius:4px;
font-size: 14px;
}

.booxtop{
width: 100%;
min-height: 80px;
padding-bottom: 20px;
background: #F7F8FA;
border-radius: 2px;
margin-top: 16px;
padding-left: 20px;
margin-top: 0px;
padding-right: 20px;
.app-topbox {
width: 100%;
@@ -710,75 +594,41 @@ export default {
display: flex;
align-items: center;
.labeltext{
min-width: 85px;
text-align: right;
line-height: 32px;
}
.div-inpbox{
width: 240px;
width: 220px;
}
.toptimeqhuan {
height: 30px;
display: flex;
align-items: center;
margin-left: 20px;
}
.toptimeqhuan div {
padding-left: 20px;
padding-right: 20px;
text-align: center;
line-height: 30px;
font-size: 14px;
margin-right: 15px;
border-radius: 4px;
border: 1px solid #e0e0e0;
}
}
}
}







.cen-tab {
width: 100%;
padding: 15px;
// background: #ffffff;
margin-top: 15px;
}
.tophove {
color: #ffffff;
background: #2671e2;
}
.app-top {
width: 100%;
// background: #ffffff;
// box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.04);
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;
color: #32363d;
line-height: 32px;
margin-left: 15px;
min-width: 100px;
text-align: right;
}
.toptimeqhuan {
height: 30px;
background: #ffffff;
display: flex;
align-items: center;
}
.toptimeqhuan div {
padding-left: 20px;
padding-right: 20px;
text-align: center;
line-height: 30px;
font-size: 14px;
margin-right: 15px;
border-radius: 4px;
border: 1px solid #e0e0e0;
}
}
}
.div-lab {
display: flex;
margin: 5px;
}
.div-inp {
width: 250px;
}


</style>

+ 4
- 5
src/views/Customer/label.vue View File

@@ -130,21 +130,21 @@
v-if="level == 0"
:label-width="formLabelWidth"
>
<el-input v-model="addForm.name" maxlength="20" autocomplete="off"></el-input>
<el-input v-model="addForm.name" maxlength="16" autocomplete="off"></el-input>
</el-form-item>
<el-form-item
label="二级名称:"
v-if="level == 2"
:label-width="formLabelWidth"
>
<el-input v-model="addForm.name" maxlength="20" autocomplete="off"></el-input>
<el-input v-model="addForm.name" maxlength="16" autocomplete="off"></el-input>
</el-form-item>
<el-form-item
label="三级名称:"
v-if="level == 3"
:label-width="formLabelWidth"
>
<el-input v-model="addForm.name" maxlength="20" autocomplete="off"></el-input>
<el-input v-model="addForm.name" maxlength="16" autocomplete="off"></el-input>
</el-form-item>
</el-col>
</el-row>
@@ -249,10 +249,9 @@
<el-col :span="12">
<el-form-item
label="名称:"
v-if="level == 0"
:label-width="formLabelWidth"
>
<el-input style="width:300px;" v-model="addForm2.name" maxlength="20" autocomplete="off"></el-input>
<el-input style="width:300px;" v-model="addForm2.name" maxlength="16" autocomplete="off"></el-input>
</el-form-item>
</el-col>
</el-row>


+ 22
- 70
src/views/Equipment/equipmentDetailList.vue View File

@@ -108,7 +108,7 @@
? 'color:red;'
: 'color:green;'
"
>{{ compare.equipmentQuantity + "%" }}</span
>{{ compare.equipmentQuantity }}</span
>
</div>
</div>
@@ -131,7 +131,7 @@
:style="
compare.onlineQuantity > 0 ? 'color:red;' : 'color:green;'
"
>{{ compare.onlineQuantity + "%" }}</span
>{{ compare.onlineQuantity }}</span
>
<!-- {{details.onlineQuantity}}-->
</div>
@@ -158,7 +158,7 @@
:style="
compare.onlineRate > 0 ? 'color:red;' : 'color:green;'
"
>{{ compare.onlineRate + "%" }}</span
>{{ compare.onlineRate }}</span
>
</div>
</div>
@@ -182,7 +182,7 @@
:style="
compare.activeQuantity > 0 ? 'color:red;' : 'color:green;'
"
>{{ compare.activeQuantity + "%" }}</span
>{{ compare.activeQuantity }}</span
>
</div>
</div>
@@ -208,7 +208,7 @@
:style="
compare.activeRate > 0 ? 'color:red;' : 'color:green;'
"
>{{ compare.activeRate + "%" }}</span
>{{ compare.activeRate}}</span
>
</div>
</div>
@@ -232,7 +232,7 @@
:style="
compare.assignQuantity > 0 ? 'color:red;' : 'color:green;'
"
>{{ compare.assignQuantity + "%" }}</span
>{{ compare.assignQuantity }}</span
>
</div>
</div>
@@ -258,7 +258,7 @@
? 'color:red;'
: 'color:green;'
"
>{{ compare.normalRecordQuantity + "%" }}</span
>{{ compare.normalRecordQuantity }}</span
>
</div>
</div>
@@ -284,7 +284,7 @@
:style="
compare.fullRecordRate > 0 ? 'color:red;' : 'color:green;'
"
>{{ compare.fullRecordRate + "%" }}</span
>{{ compare.fullRecordRate }}</span
>
</div>
</div>
@@ -312,7 +312,7 @@
? 'color:red;'
: 'color:green;'
"
>{{ compare.snippetRecordQuantity + "%" }}</span
>{{ compare.snippetRecordQuantity }}</span
>
</div>
</div>
@@ -336,7 +336,7 @@
:style="
compare.noRecordQuantity > 0 ? 'color:red;' : 'color:green;'
"
>{{ compare.noRecordQuantity + "%" }}</span
>{{ compare.noRecordQuantity }}</span
>
</div>
</div>
@@ -364,7 +364,7 @@
? 'color:red;'
: 'color:green;'
"
>{{ compare.normalShutdownQuantity + "%" }}</span
>{{ compare.normalShutdownQuantity}}</span
>
</div>
</div>
@@ -392,7 +392,7 @@
? 'color:red;'
: 'color:green;'
"
>{{ compare.lowElectricityQuantity + "%" }}</span
>{{ compare.lowElectricityQuantity}}</span
>
</div>
</div>
@@ -420,7 +420,7 @@
? 'color:red;'
: 'color:green;'
"
>{{ compare.abnormalShutdownQuantity + "%" }}</span
>{{ compare.abnormalShutdownQuantity }}</span
>
</div>
</div>
@@ -595,8 +595,16 @@
<el-table-column prop="name" label="时间" align="center">
</el-table-column>
<el-table-column prop="time" label="时段一" align="center">
<template slot-scope="{row}">
<span v-if="compareFlag==4 || compareFlag==7 || compareFlag==2"> {{row.time}}%</span>
<span v-else> {{row.time}}</span>
</template>
</el-table-column>
<el-table-column prop="time1" label="时段二" align="center">
<template slot-scope="{row}">
<span v-if="compareFlag==4 || compareFlag==7 || compareFlag==2"> {{row.time1}}%</span>
<span v-else> {{row.time1}}</span>
</template>
</el-table-column>
<el-table-column prop="time2" label="变化" align="center">
<template slot-scope="scope">
@@ -773,15 +781,6 @@ export default {
},
goinfo(row, idx) {
console.log(row, "信息");
// location.href =
// "${jypath}/equipment/onlinerecord/index?houseId=" +
// this.houseId +
// "&startDate=" +
// row.createTime +
// "&endDate=" +
// row.createTime +
// "&flag=" +
// idx;
this.$router.push({
path: "/Equipment/equipmentOnlineRecordList",
query: {
@@ -798,10 +797,6 @@ export default {
this.tabChange(idx);
},
timeChange(e) {
// console.log(e)
// this.selectTime=e
// 对数据进行处理
// 当当前选择的为自定义时间时
this.selectTime = "";
this.selectTime1 = "";
this.timeSelect(e);
@@ -811,10 +806,6 @@ export default {
timeSelect(e) {
console.log(this.$refs.time);
if (this.timeType == -1) {
// 将两者的时间戳相减,然后在在选择的自定义时间的时间戳想加
// console.log(e,this.page.openTime,this.page.closeTime)
// console.log(new Date(e).getTime(),new Date(this.page.openTime).getTime(),new Date(this.page.closeTime).getTime(),'时间戳')
// console.log(this.timestampToTime(new Date(e).getTime()+new Date(this.page.closeTime).getTime()-new Date(this.page.openTime).getTime()))
this.selectTime = e;
this.selectTime1 = this.timestampToTime(
new Date(e).getTime() +
@@ -835,16 +826,12 @@ export default {
if (this.timeType == 6) {
num = 24 * 3600 * 1000 * 29;
}
// console.log(-this.timeType*num)
// this.selectTime=this.timestampToTime(new Date().getTime()-this.timeType*num)
this.selectTime = e;
this.selectTime1 = this.timestampToTime(new Date(e).getTime() + num);
}
},
timestampToTime(timestamp) {
var date = new Date(timestamp); //时间戳为10位需*1000,时间戳为13位的话不需乘1000
// var date = new Date(timestamp * 1000);//时间戳为10位需*1000,时间戳为13位的话不需乘1000

var yyyy = date.getFullYear() + "-";

var MM =
@@ -852,20 +839,9 @@ export default {
? "0" + (date.getMonth() + 1)
: date.getMonth() + 1) + "-";

// var dd = date.getDate() + ' ';
var dd =
(date.getDate() < 10 ? "0" + date.getDate() : date.getDate()) + " ";

// var HH = date.getHours() + ':';
// var HH = (date.getHours() < 10 ? '0'+(date.getHours()) : date.getHours()) + ':';
//
// // var mm = date.getMinutes() + ':';
// var mm = (date.getMinutes() < 10 ? '0'+(date.getMinutes()) : date.getMinutes()) + ':';
//
// // var ss = date.getSeconds();
// var ss = (date.getSeconds() < 10 ? '0'+(date.getSeconds()) : date.getSeconds());

// return yyyy+MM+dd+HH+mm+ss;
return yyyy + MM + dd;
},
change() {
@@ -910,7 +886,6 @@ export default {
}

this.$set(this, "time", null);
// console.log(this.customtime);
this.getTableList();
this.getdetail();
},
@@ -936,12 +911,6 @@ export default {
//时间选择
confirmtime(e) {
this.timeType = "-1";
// if(this.customtime==''){ }else{
// const d = new Date(this.customtime[0])
// this.page.openTime = d.getFullYear() + '-' + this.Zeropadding((d.getMonth() + 1)) + '-' + this.Zeropadding(d.getDate())
// const c = new Date(this.customtime[1])
// this.page.closeTime = c.getFullYear() + '-' + this.Zeropadding((c.getMonth() + 1)) + '-' + this.Zeropadding(c.getDate())
// }
this.checked = false;
this.selectTime = "";
this.selectTime1 = "";
@@ -960,8 +929,6 @@ export default {
orgType: localStorage.getItem("orgType"),
})
.then((res) => {
// console.log(res.data.obj)

this.houseList = res.data;
if (!this.flag) {
// console.log(this.flag, "12");
@@ -970,18 +937,11 @@ export default {
} else {
this.houseId = res.data[0].id;
}
// this.houseId = res.data[0].id;
}
// console.log(this.flag,'12')
this.tabtimetap(this.timeType);
// return
this.getTableList();
// this.getdetail()
// res.data.obj.results.forEach((item,index)=>{
// item.index=index+1
// })
// this.tableData=res.data.obj.results;
// this.page.total = res.data.obj.totalRecord;
});
},
handleSizeChange(val) {
@@ -1124,12 +1084,8 @@ export default {
arr2.push(item.second[str])
}
});
// console.log(arr1,arr2,timeDate);
// console.log(this.compareList)
this.compareList = Object.assign([], this.compareList);
this.$forceUpdate();
// console.log(str)
// 处理数据同时将echar进行渲染
var chartDom = document.getElementById("compare");
var myChart = echarts.init(chartDom);
var option;
@@ -1256,8 +1212,6 @@ export default {
itemobj.objopts = arr;
}
let itemobj1 = {
// total:'50',
// total:this.detail.normalRecordQuantity,
objopts: [
{
value: this.details.normalShutdownQuantity || 0,
@@ -1276,7 +1230,6 @@ export default {
let arr1 = itemobj1.objopts.filter((item) => {
return item.value;
});
// console.log(arr1,'123')
if (arr1.length > 0) {
itemobj1.objopts = arr1;
}
@@ -1342,13 +1295,12 @@ export default {
method: "get",
params: obj,
}).then((res) => {
// console.log(res)
if (res.code == 0) {
res.data.records.forEach((item, index) => {
item.index = index + 1;
});
this.tableData = res.data.records;
this.page.total = res.data.totalRecord;
this.page.total = res.data.current;
}
});
},


+ 9
- 1
src/views/Equipment/state.vue View File

@@ -165,6 +165,10 @@
</el-option>
</el-select>
</div>
<div class="div-lab">
<div class="label">领用人:</div>
<el-input type="text" v-model="searchForm.userName"></el-input>
</div>
</div>

<!-- <div class="app-titel" style="margin-top: 15px">
@@ -355,7 +359,7 @@
<el-dropdown-item command="toinifoThereturn" v-if="row.receiveType==2 &&equ_state_take"
>归还</el-dropdown-item
>
<el-dropdown-item command="receive" v-if="row.houseName&&equ_state_take"
<el-dropdown-item command="receive" v-if="row.houseName&&equ_state_take&&row.receiveType!=2"
>领用</el-dropdown-item
>
<el-dropdown-item command="lightStatusChange"
@@ -632,6 +636,7 @@ export default {
simAudioUploadStatus: "", //上传状态
offStatus: "", //关机状态
onLine: "",
userName:''
},
bindRules: {
houseId: [{ required: true, message: "请选择楼盘", trigger: "blur" }],
@@ -941,6 +946,7 @@ export default {
simAudioUploadStatus: "", //上传状态
offStatus: "", //关机状态
onLine: "",
userName:''
};
this.time=[]
this.currentPage = 1;
@@ -1140,6 +1146,7 @@ export default {
this.searchForm.agentName = "";
this.searchForm.orgName = "";
this.searchForm.houseName = "";
this.searchForm.userName=''
},
selectChange(e) {
this.searchForm.imei = "";
@@ -1147,6 +1154,7 @@ export default {
this.searchForm.agentName = "";
this.searchForm.orgName = "";
this.searchForm.houseName = "";
this.searchForm.userName=''
if (!e) retun;
if (this.selflag == 1) {
// 设备编号


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

@@ -40,7 +40,6 @@
<el-table
:data="tableData"
stripe
:height="tableHeight"
style="width: 100%">
<el-table-column
type="selection"
@@ -109,7 +108,6 @@ import { mapGetters } from "vuex";
export default {
data() {
return {
tableHeight: window.innerHeight -348,
currentPage4:1,
tableData: [],
options: [
@@ -152,7 +150,6 @@ export default {
this.$api.http.filefindByPage({
username:this.username,
imei:this.imei,
// sourceCode:Number(this.sourceCode),
sourceCode:this.sourceCode/1||null,
size:this.size,
current:this.current
@@ -184,10 +181,10 @@ export default {
}
.box-center {
width: 100%;
height: 100%;
min-height: 100%;
padding: 15px;
min-width: 1000px;
padding-bottom: 20px;
padding-bottom: 100px;
}
.cen-tab{
width: 100%;


+ 3
- 8
src/views/Statistics/ReceptionStatistical.vue View File

@@ -99,7 +99,7 @@
}}
</template>
</el-table-column>
<el-table-column prop="accountName" label="日期" align="center">
<el-table-column width='90px' prop="accountName" label="日期" align="center">
<template slot-scope="scope">
{{
scope.$index == tableData.length - 1
@@ -187,7 +187,7 @@
title="详情"
:visible.sync="dialogVisible"
width="80%"
:before-close="handleClose"
>
<div class="cen-tab">
<el-table
@@ -262,12 +262,7 @@
</el-pagination>
</div>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">取 消</el-button>
<el-button type="primary" @click="dialogVisible = false"
>确 定</el-button
>
</span>

</el-dialog>
</div>
</template>


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

@@ -382,7 +382,7 @@ export default {
res.data.list.map(item=>{
let obj={}
obj.name=item.deptName
obj.zxl=item.activeCustomer
obj.zxl=item.activeCustomer;
arr.push(obj)
})
arr=this.dealData(arr)
@@ -572,7 +572,8 @@ export default {
},
legend: {
data: namelist,
bottom: "10",
right: "10",
top:'10'
},
color:[
'#2671E2',
@@ -608,7 +609,8 @@ export default {
},
legend: {
data: namelist,
bottom: "10",
right: "10",
top:'10'
},
color:[
'#2671E2',
@@ -693,9 +695,10 @@ export default {
this.allhttp()
},
dealData(arr){
console.log(arr)
let num=Math.max.apply(Math, arr.map(function (o) { return o.zxl })) //结果:3
arr.map(item=>{
item.zxl1=Math.floor(item.zxl/num*100)
item.zxl1=Math.floor(item.zxl/num*100) || 0;
})
return arr
},


+ 1
- 1
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>


+ 62
- 20
src/views/Statistics/trend.vue View File

@@ -330,12 +330,14 @@
</el-table-column>
<el-table-column prop="data1" label="时段一" align="center">
<template slot-scope="{row}">
{{row.data1}}%
<span v-if="secindex=='fraction'|| secindex=='activeCustomerRate'"> {{row.data1}}%</span>
<span v-else> {{row.data1}}</span>
</template>
</el-table-column>
<el-table-column prop="data2" label="时段二" align="center">
<template slot-scope="{row}">
{{row.data2}}%
<span v-if="secindex=='fraction'|| secindex=='activeCustomerRate'"> {{row.data2}}%</span>
<span v-else> {{row.data2}}</span>
</template>
</el-table-column>
<el-table-column prop="data3" label="变化" align="center">
@@ -459,7 +461,7 @@ export default {
// console.log(timeDate);
res.data.firstValue.map((item) => {
timeDate.push(item.statDate.substring(5, 10));
arr1.push(item[str]);
arr1.push(item[str]||0);
});

let arr = [
@@ -658,29 +660,17 @@ export default {
var dd =
(date.getDate() < 10 ? "0" + date.getDate() : date.getDate()) + " ";

// var HH = date.getHours() + ':';
// var HH = (date.getHours() < 10 ? '0'+(date.getHours()) : date.getHours()) + ':';
//
// // var mm = date.getMinutes() + ':';
// var mm = (date.getMinutes() < 10 ? '0'+(date.getMinutes()) : date.getMinutes()) + ':';
//
// // var ss = date.getSeconds();
// var ss = (date.getSeconds() < 10 ? '0'+(date.getSeconds()) : date.getSeconds());

// return yyyy+MM+dd+HH+mm+ss;
return yyyy + MM + dd;
},
//卡片下折线图
SwitchCARDS(arr, str, timeDate, Strname) {
echarts.init(document.getElementById(str)).dispose(); // 销毁实例
console.log(arr, str, timeDate, Strname)
var chartDom = document.getElementById(str);
var myChart = echarts.init(chartDom);
var option;

option = {
// tooltip: {
// trigger: "axis",
// },
legend: {
data: Strname,
bottom: "10",
@@ -711,7 +701,7 @@ export default {

series: arr,
};
if(this.secindex=='fraction'){
if(this.secindex=='fraction' || this.secindex=='activeCustomerRate'){
if(this.selectTime1){
option.tooltip={
trigger: 'axis',
@@ -726,7 +716,6 @@ export default {
formatter: '{b0}:{c0}'+'%'
}
}

option.yAxis={
type: 'value',
splitNumber:5,
@@ -754,10 +743,22 @@ export default {
},
}

}else{
}else if(this.secindex=='avgDuration'){

if(this.selectTime1){
option.tooltip={
trigger: 'axis',
formatter: function (params) {
let src= '<p>'+params[0].seriesName+':'+params[0].data+'分钟'+'</p>'+'<p>'+params[1].seriesName+':'+ params[1].data+'分钟'+'</p>';
return src
}
};
}else{
option.tooltip={
trigger: "axis",
trigger: 'axis',
formatter: '{b0}:{c0}'+'分钟'
}
}
option.yAxis={
type: "value",
splitNumber: 4,
@@ -784,6 +785,47 @@ export default {
show: false,
},
}
}else{
if(this.selectTime1){
option.tooltip={
trigger: 'axis',
formatter: function (params) {
let src= '<p>'+params[0].seriesName+':'+params[0].data+'次'+'</p>'+'<p>'+params[1].seriesName+':'+ params[1].data+'次'+'</p>';
return src
}
};
}else{
option.tooltip={
trigger: 'axis',
formatter: '{b0}:{c0}'+'次'
}
}
option.yAxis={
type: "value",
splitNumber: 4,
axisLabel: {
//重点在这一块,其余可以忽略
textStyle: {
color: "#212121", //更改坐标轴文字颜色
},
},
axisLine: {
lineStyle: {
ype: "solid",
color: "#DDE1EE", //x线的颜色
width: "1", //坐标线的宽度
},
},
splitLine: {
lineStyle: {
type: "dashed", // y轴分割线类型
},
},
axisTick: {
//y轴刻度线
show: false,
},
}
}




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

@@ -289,6 +289,7 @@
label-width="150px"
style="width: 60%"
:rules="rules"

>
<el-form-item label="公司" prop="orgCode" v-if="orgType != 2">
<el-select v-model="ruleForm.orgCode" filterable placeholder="请选择公司">
@@ -356,7 +357,7 @@
<el-input v-model="ruleForm.address" type="textarea" maxlength="60" show-word-limit></el-input>
</el-form-item>
<el-form-item label="管理员账号" prop="managerPhone" v-if="!editFlag">
<el-input maxlength="11" onkeypress="return (/[\d]/.test(String.fromCharCode(event.keyCode)));" v-model="ruleForm.managerPhone"></el-input>
<el-input auto-complete="new-password" maxlength="11" onkeypress="return (/[\d]/.test(String.fromCharCode(event.keyCode)));" v-model="ruleForm.managerPhone"></el-input>
</el-form-item>
<el-form-item
label="管理员密码"
@@ -364,6 +365,7 @@
v-if="!editFlag"
>
<el-input
auto-complete="new-password"
v-model="ruleForm.managerPassword"
maxlength="18"
type="passsword"


Loading…
Cancel
Save