|
|
<template>
|
|
|
<view>
|
|
|
<uni-nav-bar left-icon="left" fixed="true" title="电站列表" @clickLeft="handleClickLeft"></uni-nav-bar>
|
|
|
<scroll-view :scroll-y="modalName==null" class="page" :class="modalName!=null?'show':''">
|
|
|
<view class="station-box">
|
|
|
<view class="card-box">
|
|
|
<uni-section title="电站列表" type="line" padding="0 0 5px 0">
|
|
|
<view class="station-box-list">
|
|
|
<uni-card title=""
|
|
|
class="arrow animation-slide-right"
|
|
|
:style="[{animationDelay: '0.'+ index +'s'}]"
|
|
|
v-for="(item, index) in stationData" :key="item.id">
|
|
|
<template v-slot:title>
|
|
|
<uni-list>
|
|
|
<uni-list-item showArrow clickable :title="item.stationName" @click="goNext(item.id)" />
|
|
|
</uni-list>
|
|
|
</template>
|
|
|
<!-- <image style="width: 100%;" :src="cover"></image> -->
|
|
|
<view class="station-info">
|
|
|
<view class="flex station-info-item">
|
|
|
<text class="left">装机容量(MW):</text>
|
|
|
<text class="right">{{ item.capacity }}</text>
|
|
|
</view>
|
|
|
<view class="flex station-info-item">
|
|
|
<text class="left">当日发电(kWh):</text>
|
|
|
<text class="right">{{ item.dayElectricity }}</text>
|
|
|
</view>
|
|
|
<view class="flex station-info-item">
|
|
|
<text class="left">当日功率(kW):</text>
|
|
|
<text >{{ item.dayPower }}</text>
|
|
|
</view>
|
|
|
|
|
|
<view class="flex station-info-item">
|
|
|
<text class="left">累计发电(kWh):</text>
|
|
|
<text>{{ item.totalElectricity }}</text>
|
|
|
</view>
|
|
|
<!-- <view class="flex station-info-item">
|
|
|
<text class="left">光照强度(W/m^2):</text>
|
|
|
<text>{{ station.irradiationLevel }}</text>
|
|
|
</view> -->
|
|
|
</view>
|
|
|
</uni-card>
|
|
|
</view>
|
|
|
|
|
|
</uni-section>
|
|
|
</view>
|
|
|
</view>
|
|
|
</scroll-view>
|
|
|
</view>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
|
|
|
import { getStationList } from '@/api/modules/station.js'
|
|
|
import _mixin from './mixin.js'
|
|
|
import { STATION_LIST } from './config'
|
|
|
export default {
|
|
|
data() {
|
|
|
return {
|
|
|
modalName: null,
|
|
|
index: 0,
|
|
|
station: {}
|
|
|
|
|
|
}
|
|
|
},
|
|
|
mixins: [_mixin],
|
|
|
created() {
|
|
|
this.getStationList()
|
|
|
},
|
|
|
methods: {
|
|
|
getStationList() {
|
|
|
const userInfo = uni.getStorageSync('login_user_info')
|
|
|
const username = userInfo.username
|
|
|
const filterStation = [
|
|
|
{
|
|
|
username: 'hailun',
|
|
|
stationId: ['1052758024'],
|
|
|
stationName: '海伦'
|
|
|
},
|
|
|
{
|
|
|
username: 'hanzhong',
|
|
|
stationId: ['1052758028', '1052758029'],
|
|
|
stationName: '汉钟'
|
|
|
},
|
|
|
]
|
|
|
const filterStationItem = filterStation.some(v => v.username === username) && filterStation.filter(v => v.username === username)[0]
|
|
|
getStationList({
|
|
|
pageSize:20
|
|
|
}).then(res => {
|
|
|
this.stationData = res.data.result.records.filter(v => {
|
|
|
return !v.stationName.includes('户用光伏电站')
|
|
|
}).map(v => {
|
|
|
v.children = STATION_LIST[v.id]
|
|
|
return v
|
|
|
}).filter(v => {
|
|
|
if (filterStationItem) {
|
|
|
return v.stationName.includes(filterStationItem.stationName)
|
|
|
}
|
|
|
return v
|
|
|
})
|
|
|
this.station = this.stationData[this.index]
|
|
|
uni.setStorageSync('_pro_stations', this.stationData)
|
|
|
})
|
|
|
},
|
|
|
handleClickLeft() {
|
|
|
this.$router.replace('/')
|
|
|
},
|
|
|
handlerChangeStation(e) {
|
|
|
this.index = e.detail.value
|
|
|
this.station = this.stationData[this.index]
|
|
|
},
|
|
|
goNext(id) {
|
|
|
this.$router.push({
|
|
|
name: 'stationListItem1',
|
|
|
query: {
|
|
|
id
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss">
|
|
|
.station-box {
|
|
|
position: relative;
|
|
|
padding: 10px 0;
|
|
|
color: #333;
|
|
|
}
|
|
|
.station-box-list {
|
|
|
position: relative;
|
|
|
width: 100%;
|
|
|
max-height: 85vh;
|
|
|
overflow-x: hidden;
|
|
|
overflow-y: scroll;
|
|
|
}
|
|
|
.card-box {
|
|
|
// margin-top: 50px;
|
|
|
// max-height: 90vh;
|
|
|
// overflow-y: scroll;
|
|
|
}
|
|
|
/deep/ .uni-card {
|
|
|
padding: 0 !important;
|
|
|
}
|
|
|
.station-info {
|
|
|
// margin-top: 20px;
|
|
|
display: flex;
|
|
|
// flex-direction:column;
|
|
|
flex-wrap: wrap;
|
|
|
color: #888;
|
|
|
.station-info-item {
|
|
|
|
|
|
font-size: 12px;
|
|
|
width: 50%;
|
|
|
vertical-align: middle;
|
|
|
line-height: 2.5;
|
|
|
// &:not(:first-child) {
|
|
|
// // margin-top: 10px;
|
|
|
// border-top: 1px dashed #cedefb;
|
|
|
// vertical-align: middle;
|
|
|
// line-height: 2.5;
|
|
|
// }
|
|
|
&:nth-child(3), &:nth-child(4) {
|
|
|
width: 100%;
|
|
|
border-top: 1px dashed #cedefb;
|
|
|
}
|
|
|
.left {
|
|
|
// width: 130px;
|
|
|
text-align: justify;
|
|
|
}
|
|
|
.right {
|
|
|
color: #4aaf0b;
|
|
|
// letter-spacing: 2upx;
|
|
|
}
|
|
|
|
|
|
}
|
|
|
}
|
|
|
</style>
|