@@ -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"> | |||
@@ -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"> | |||
@@ -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> |
@@ -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> | |||
@@ -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; | |||
} | |||
}); | |||
}, | |||
@@ -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) { | |||
// 设备编号 | |||
@@ -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%; | |||
@@ -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> | |||
@@ -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 | |||
}, | |||
@@ -177,7 +177,7 @@ | |||
? 'color:green;' | |||
: 'color:red;' | |||
" | |||
>{{ scope.row.data3 }}</span> | |||
>{{ scope.row.data3 }}%</span> | |||
</template> | |||
</el-table-column> | |||
</el-table> | |||
@@ -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, | |||
}, | |||
} | |||
} | |||
@@ -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" | |||