|
@@ -127,138 +127,127 @@
|
|
</view>
|
|
</view>
|
|
|
|
|
|
</view>
|
|
</view>
|
|
|
|
+
|
|
|
|
+ <!-- 电表统计 -->
|
|
|
|
+ <Tree-Body :meterList="meterList" ref="mytree"
|
|
|
|
+ @query="getHomePageManageChildMeter"
|
|
|
|
+ ></Tree-Body>
|
|
<!-- 电表统计 -->
|
|
<!-- 电表统计 -->
|
|
- <view class="meter-statistic">
|
|
|
|
|
|
+ <view class="meter-statistic" v-if="false">
|
|
<!-- 总计 -->
|
|
<!-- 总计 -->
|
|
- <view class="sum">
|
|
|
|
- <view class="icon">
|
|
|
|
- <u-icon name="arrow-up" color="#d4d4d4" size="24"></u-icon>
|
|
|
|
- </view>
|
|
|
|
- <view class="meter-name">
|
|
|
|
- 荆鹏软件园总表
|
|
|
|
- </view>
|
|
|
|
- <view class="meter-state">
|
|
|
|
- 在线
|
|
|
|
- </view>
|
|
|
|
- <view class="meter-number">
|
|
|
|
- 5610.39度<u-icon name="arrow-right" color="#d4d4d4" size="24"></u-icon>
|
|
|
|
- </view>
|
|
|
|
- </view>
|
|
|
|
- <view class="sum2">
|
|
|
|
- <view class="title">
|
|
|
|
- 一级表合计用电(未扣除)
|
|
|
|
- </view>
|
|
|
|
- <view class="value">
|
|
|
|
- 5608.39度
|
|
|
|
-
|
|
|
|
- </view>
|
|
|
|
- </view>
|
|
|
|
- <!-- 一级表 -->
|
|
|
|
- <view class="sum first-level">
|
|
|
|
- <view class="icon">
|
|
|
|
- <u-icon name="arrow-up" color="#d4d4d4" size="24"></u-icon>
|
|
|
|
- </view>
|
|
|
|
- <view class="icon">
|
|
|
|
- <img src="@/assets/img/switchIcon.png" alt="" />
|
|
|
|
- </view>
|
|
|
|
- <view class="meter-name">
|
|
|
|
- 一级表a
|
|
|
|
- </view>
|
|
|
|
- <view class="meter-state">
|
|
|
|
- 在线
|
|
|
|
- </view>
|
|
|
|
- <view class="meter-number">
|
|
|
|
- 2805.39度<u-icon name="arrow-right" color="#d4d4d4" size="24"></u-icon>
|
|
|
|
- </view>
|
|
|
|
- </view>
|
|
|
|
- <!-- 二级表 -->
|
|
|
|
- <view class="sum second-level">
|
|
|
|
- <view class="icon">
|
|
|
|
- <u-icon name="arrow-up" color="#d4d4d4" size="24"></u-icon>
|
|
|
|
- </view>
|
|
|
|
- <view class="icon">
|
|
|
|
- <img src="@/assets/img/switchIcon.png" alt="" />
|
|
|
|
- </view>
|
|
|
|
- <view class="meter-name">
|
|
|
|
- 二级表a
|
|
|
|
- </view>
|
|
|
|
- <view class="meter-state">
|
|
|
|
- 在线
|
|
|
|
- </view>
|
|
|
|
- <view class="meter-number">
|
|
|
|
- 2805.39度<u-icon name="arrow-right" color="#d4d4d4" size="24"></u-icon>
|
|
|
|
- </view>
|
|
|
|
- </view>
|
|
|
|
- <!-- 开关 -->
|
|
|
|
- <view class="else-switch">
|
|
|
|
- <view class="sum item">
|
|
|
|
-
|
|
|
|
- <view class="icon">
|
|
|
|
- <img src="@/assets/img/switchIcon.png" alt="" />
|
|
|
|
|
|
+ <view v-for="(item,i) in meterList" :key="i">
|
|
|
|
+ <view class="sum meter-statistic-main">
|
|
|
|
+ <view class="icon" @click="showBtn(item)" v-if="item.childMeterList&&item.childMeterList.length" >
|
|
|
|
+ <u-icon name="arrow-up" color="#d4d4d4" v-show="ifBtnShow(item)" size="24"></u-icon>
|
|
|
|
+ <u-icon name="arrow-down" color="#d4d4d4" v-show="!ifBtnShow(item)" size="24"></u-icon>
|
|
|
|
+
|
|
</view>
|
|
</view>
|
|
- <view class="meter-name">
|
|
|
|
- 空调开关
|
|
|
|
|
|
+
|
|
|
|
+ <view class="meter-name" >
|
|
|
|
+ {{item.name}}
|
|
</view>
|
|
</view>
|
|
- <view class="meter-state">
|
|
|
|
|
|
+ <view class="meter-state" v-if="item.online">
|
|
在线
|
|
在线
|
|
</view>
|
|
</view>
|
|
- <view class="meter-number">
|
|
|
|
- 2805.39度<u-icon name="arrow-right" color="#d4d4d4" size="24"></u-icon>
|
|
|
|
|
|
+ <view class="meter-state meter-state2" v-else>
|
|
|
|
+ 离线
|
|
|
|
+ </view>
|
|
|
|
+ <view class="meter-number" @click="toElectronicMonitoring(item)">
|
|
|
|
+ {{item.kwh}}度<u-icon name="arrow-right" color="#d4d4d4" size="24"></u-icon>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
-
|
|
|
|
- <view class="sum item">
|
|
|
|
-
|
|
|
|
- <view class="icon">
|
|
|
|
- <img src="@/assets/img/switchIcon.png" alt="" />
|
|
|
|
|
|
+ <view class="sum2">
|
|
|
|
+ <view class="title">
|
|
|
|
+ {{item.name}}用电(未扣除)
|
|
</view>
|
|
</view>
|
|
- <view class="meter-name">
|
|
|
|
- 灯控开关
|
|
|
|
|
|
+ <view class="value">
|
|
|
|
+ {{item.childKwh}}度
|
|
|
|
+
|
|
</view>
|
|
</view>
|
|
- <view class="meter-state">
|
|
|
|
- 在线
|
|
|
|
|
|
+ </view>
|
|
|
|
+
|
|
|
|
+ <!-- 一级表 -->
|
|
|
|
+ <view class="sum first-level" v-if="item.childMeterList&&item.childMeterList.length"
|
|
|
|
+ v-show="ifBtnShow(item)" v-for="(item2,j) in item.childMeterList" :key="j" >
|
|
|
|
+ <view class="first-level-list">
|
|
|
|
+ <view class="icon" @click="showBtn(item2)" v-if="item2.childMeterList&&item2.childMeterList.length" >
|
|
|
|
+ <u-icon name="arrow-up" color="#d4d4d4" v-show="ifBtnShow(item2)" size="24"></u-icon>
|
|
|
|
+ <u-icon name="arrow-down" color="#d4d4d4" v-show="!ifBtnShow(item2)" size="24"></u-icon>
|
|
|
|
+
|
|
|
|
+ </view>
|
|
|
|
+ <view class="icon">
|
|
|
|
+ <img src="@/assets/img/switchIcon.png" alt="" />
|
|
|
|
+ </view>
|
|
|
|
+ <view class="meter-name" >
|
|
|
|
+ {{item2.name}}
|
|
|
|
+ </view>
|
|
|
|
+ <view class="meter-state" v-if="item2.online">
|
|
|
|
+ 在线
|
|
|
|
+ </view>
|
|
|
|
+ <view class="meter-state meter-state2" v-else>
|
|
|
|
+ 离线
|
|
|
|
+ </view>
|
|
|
|
+ <view class="meter-number" @click="toElectronicMonitoring(item2)" >
|
|
|
|
+ {{item2.kwh}}度<u-icon name="arrow-right" color="#d4d4d4" size="24"></u-icon>
|
|
|
|
+ </view>
|
|
</view>
|
|
</view>
|
|
- <view class="meter-number">
|
|
|
|
- 2805.39度<u-icon name="arrow-right" color="#d4d4d4" size="24"></u-icon>
|
|
|
|
|
|
+ <!-- 二级表 -->
|
|
|
|
+ <view class="sum second-level" v-if="item2.childMeterList&&item2.childMeterList.length"
|
|
|
|
+ v-show="ifBtnShow(item2)" v-for="(item3,k) in item2.childMeterList" :key="k"
|
|
|
|
+ >
|
|
|
|
+ <view class="first-level-list">
|
|
|
|
+ <view class="icon" @click="showBtn(item3)" v-if="item3.childMeterList&&item3.childMeterList.length" >
|
|
|
|
+ <u-icon name="arrow-up" color="#d4d4d4" v-show="ifBtnShow(item3)" size="24"></u-icon>
|
|
|
|
+ <u-icon name="arrow-down" color="#d4d4d4" v-show="!ifBtnShow(item3)" size="24"></u-icon>
|
|
|
|
+
|
|
|
|
+ </view>
|
|
|
|
+ <view class="icon">
|
|
|
|
+ <img src="@/assets/img/switchIcon.png" alt="" />
|
|
|
|
+ </view>
|
|
|
|
+ <view class="meter-name">
|
|
|
|
+ {{item3.name}}
|
|
|
|
+ </view>
|
|
|
|
+ <view class="meter-state" v-if="item3.online">
|
|
|
|
+ 在线
|
|
|
|
+ </view>
|
|
|
|
+ <view class=" meter-state meter-state2" v-else>
|
|
|
|
+ 离线
|
|
|
|
+ </view>
|
|
|
|
+ <view class="meter-number" @click="toElectronicMonitoring(item3)">
|
|
|
|
+ {{item3.kwh}}度<u-icon name="arrow-right" color="#d4d4d4" size="24"></u-icon>
|
|
|
|
+ </view>
|
|
|
|
+ </view>
|
|
|
|
+ <!-- 开关 -->
|
|
|
|
+ <view class="else-switch " v-if="item3.childMeterList&&item3.childMeterList.length"
|
|
|
|
+ v-show="ifBtnShow(item3)" v-for="(item4,h) in item3.childMeterList" :key="h" >
|
|
|
|
+ <view class="sum item first-level-list">
|
|
|
|
+
|
|
|
|
+ <view class="icon">
|
|
|
|
+ <img src="@/assets/img/switchIcon.png" alt="" />
|
|
|
|
+ <!-- switchClose -->
|
|
|
|
+ </view>
|
|
|
|
+ <view class="meter-name">
|
|
|
|
+ {{item4.name}}
|
|
|
|
+ </view>
|
|
|
|
+ <view class="meter-state" v-if="item4.online">
|
|
|
|
+ 在线
|
|
|
|
+ </view>
|
|
|
|
+ <view class=" meter-state meter-state2" v-else>
|
|
|
|
+ 离线
|
|
|
|
+ </view>
|
|
|
|
+ <view class="meter-number" @click="toElectronicMonitoring(item4)" >
|
|
|
|
+ {{item4.kwh}}度<u-icon name="arrow-right" color="#d4d4d4" size="24"></u-icon>
|
|
|
|
+ </view>
|
|
|
|
+ </view>
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ </view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
|
|
+
|
|
</view>
|
|
</view>
|
|
-
|
|
|
|
- <view class="sum second-level">
|
|
|
|
- <view class="icon">
|
|
|
|
- <u-icon name="arrow-right" color="#d4d4d4" size="24"></u-icon>
|
|
|
|
- </view>
|
|
|
|
- <view class="icon">
|
|
|
|
- <img src="@/assets/img/switchIcon.png" alt="" />
|
|
|
|
- </view>
|
|
|
|
- <view class="meter-name">
|
|
|
|
- 二级表a
|
|
|
|
- </view>
|
|
|
|
- <view class="meter-state meter-state2">
|
|
|
|
- 离线
|
|
|
|
- </view>
|
|
|
|
- <view class="meter-number">
|
|
|
|
- 2805.39度<u-icon name="arrow-right" color="#d4d4d4" size="24"></u-icon>
|
|
|
|
- </view>
|
|
|
|
- </view>
|
|
|
|
-
|
|
|
|
- <view class="sum first-level">
|
|
|
|
- <view class="icon">
|
|
|
|
- <u-icon name="arrow-right" color="#d4d4d4" size="24"></u-icon>
|
|
|
|
- </view>
|
|
|
|
- <view class="icon">
|
|
|
|
- <img src="@/assets/img/switchIcon.png" alt="" />
|
|
|
|
- </view>
|
|
|
|
- <view class="meter-name">
|
|
|
|
- 一级表a
|
|
|
|
- </view>
|
|
|
|
- <view class="meter-state">
|
|
|
|
- 在线
|
|
|
|
- </view>
|
|
|
|
- <view class="meter-number">
|
|
|
|
- 2805.39度<u-icon name="arrow-right" color="#d4d4d4" size="24"></u-icon>
|
|
|
|
- </view>
|
|
|
|
- </view>
|
|
|
|
|
|
+
|
|
|
|
+
|
|
</view>
|
|
</view>
|
|
|
|
|
|
</view>
|
|
</view>
|
|
@@ -275,9 +264,13 @@
|
|
beforeTimeStamp,
|
|
beforeTimeStamp,
|
|
getWeek
|
|
getWeek
|
|
} from '@/apis/utils'
|
|
} from '@/apis/utils'
|
|
|
|
+ import TreeBody from '@/components/tree/tree-body.vue';
|
|
|
|
|
|
|
|
|
|
export default {
|
|
export default {
|
|
|
|
+ components: {
|
|
|
|
+ TreeBody
|
|
|
|
+ },
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
companyList: [], // 商户
|
|
companyList: [], // 商户
|
|
@@ -353,12 +346,7 @@
|
|
}
|
|
}
|
|
},
|
|
},
|
|
onReady() {
|
|
onReady() {
|
|
- uni.getSystemInfo({
|
|
|
|
- success: function(res) {
|
|
|
|
- this.windowHeight = res.windowHeight
|
|
|
|
- // console.log(this.windowHeight)
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
|
|
+
|
|
this.endYear = new Date().getFullYear();
|
|
this.endYear = new Date().getFullYear();
|
|
this.queryDate = parseUnixTime(new Date(), '{y}-{m}-{d}');
|
|
this.queryDate = parseUnixTime(new Date(), '{y}-{m}-{d}');
|
|
|
|
|
|
@@ -466,6 +454,49 @@
|
|
|
|
|
|
},
|
|
},
|
|
// 设备数据监测
|
|
// 设备数据监测
|
|
|
|
+ getHomePageManageChildMeter(item,bl) {
|
|
|
|
+ if(!bl){
|
|
|
|
+ uni.showLoading({
|
|
|
|
+ title: "加载中",
|
|
|
|
+ mask: true,
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ API2.homePageManageChildMeter({
|
|
|
|
+ parentMeterId:item.id,
|
|
|
|
+ queryDate:this.queryDate,
|
|
|
|
+ companyId: this.companyId,
|
|
|
|
+ type: this.list[this.homePageManageType].value
|
|
|
|
+ }).then((response) => {
|
|
|
|
+ if(!bl){
|
|
|
|
+ uni.hideLoading();
|
|
|
|
+ }
|
|
|
|
+ // this.meterList = response.data.meterList;
|
|
|
|
+ // if(!this.meterListShow.id){
|
|
|
|
+ // this.meterListShow.id=1
|
|
|
|
+ // this.recursionList(this.meterList)
|
|
|
|
+ // }
|
|
|
|
+
|
|
|
|
+ var childMeterList=response.data.childMeterList
|
|
|
|
+ item.childMeterList=childMeterList
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ if(!bl){
|
|
|
|
+ for(var i in childMeterList){
|
|
|
|
+ var obj=childMeterList[i]
|
|
|
|
+ this.getHomePageManageChildMeter(obj,true)
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ }).catch(error => {
|
|
|
|
+ uni.showToast({
|
|
|
|
+ title: error,
|
|
|
|
+ icon: "none"
|
|
|
|
+ })
|
|
|
|
+ })
|
|
|
|
+ },
|
|
|
|
+ // 设备数据监测
|
|
getHomePageManage() {
|
|
getHomePageManage() {
|
|
|
|
|
|
uni.showLoading({
|
|
uni.showLoading({
|
|
@@ -479,10 +510,9 @@
|
|
}).then((response) => {
|
|
}).then((response) => {
|
|
uni.hideLoading();
|
|
uni.hideLoading();
|
|
this.meterList = response.data.meterList;
|
|
this.meterList = response.data.meterList;
|
|
- if(!this.meterListShow.id){
|
|
|
|
- this.meterListShow.id=1
|
|
|
|
- this.recursionList(this.meterList)
|
|
|
|
- }
|
|
|
|
|
|
+ // this.$nextTick(()=>{
|
|
|
|
+ // this.$refs.mytree.toggle()
|
|
|
|
+ // })
|
|
|
|
|
|
this.homePageManageObj = response.data;
|
|
this.homePageManageObj = response.data;
|
|
this.getBarCharts()
|
|
this.getBarCharts()
|
|
@@ -525,7 +555,7 @@
|
|
|
|
|
|
this.$set(this.meterListShow,item.id,!key)
|
|
this.$set(this.meterListShow,item.id,!key)
|
|
console.log("showBtn,",key)
|
|
console.log("showBtn,",key)
|
|
-
|
|
|
|
|
|
+ this.getHomePageManageChildMeter(item);
|
|
this.$forceUpdate()
|
|
this.$forceUpdate()
|
|
},
|
|
},
|
|
selector2reset(e) {
|
|
selector2reset(e) {
|
|
@@ -1027,11 +1057,12 @@
|
|
|
|
|
|
.meter-statistic {
|
|
.meter-statistic {
|
|
margin-top: 32rpx;
|
|
margin-top: 32rpx;
|
|
-
|
|
|
|
- .sum {
|
|
|
|
|
|
+ .meter-statistic-main{
|
|
display: flex;
|
|
display: flex;
|
|
align-items: center;
|
|
align-items: center;
|
|
-
|
|
|
|
|
|
+ }
|
|
|
|
+ .sum {
|
|
|
|
+
|
|
.meter-name {
|
|
.meter-name {
|
|
color: rgba(51, 51, 51, 1);
|
|
color: rgba(51, 51, 51, 1);
|
|
font-size: 32rpx;
|
|
font-size: 32rpx;
|
|
@@ -1094,6 +1125,11 @@
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ .first-level-list{
|
|
|
|
+ width: 100%;
|
|
|
|
+ display: flex;
|
|
|
|
+ align-items: center;
|
|
|
|
+ }
|
|
// 一级表
|
|
// 一级表
|
|
.first-level {
|
|
.first-level {
|
|
padding-left: 32rpx;
|
|
padding-left: 32rpx;
|