develop #1
@ -12,7 +12,7 @@
|
|||||||
}, {
|
}, {
|
||||||
"path": "pages/index",
|
"path": "pages/index",
|
||||||
"style": {
|
"style": {
|
||||||
"navigationBarTitleText": "移动端框架",
|
"navigationBarTitleText": "工单列表",
|
||||||
"navigationStyle": "custom",
|
"navigationStyle": "custom",
|
||||||
"onReachBottomDistance": 100
|
"onReachBottomDistance": 100
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="container">
|
<view class="container">
|
||||||
|
<view class="status-bar"></view>
|
||||||
<view class="btn-list">
|
<view class="btn-list">
|
||||||
<uni-row>
|
<uni-row>
|
||||||
<uni-col :span="12">
|
<uni-col :span="12">
|
||||||
@ -128,11 +129,11 @@
|
|||||||
|
|
||||||
.btn-list {
|
.btn-list {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
top: 0;
|
top: var(--status-bar-height);
|
||||||
left: 0;
|
left: 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
padding: 30rpx 30rpx;
|
padding: 20rpx 30rpx;
|
||||||
background: #ffffff;
|
background: #ffffff;
|
||||||
|
|
||||||
.btns {
|
.btns {
|
||||||
@ -152,7 +153,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.content {
|
.content {
|
||||||
padding: 170rpx 40rpx 120rpx 40rpx;
|
padding: 80px 30rpx 120rpx 30rpx;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
<view class="logo-content align-center justify-center flex">
|
<view class="logo-content align-center justify-center flex">
|
||||||
<image style="width: 100rpx;height: 100rpx;" :src="globalConfig.appInfo.logo" mode="widthFix">
|
<image style="width: 100rpx;height: 100rpx;" :src="globalConfig.appInfo.logo" mode="widthFix">
|
||||||
</image>
|
</image>
|
||||||
<text class="title">EMS移动端登录</text>
|
<text class="title">上动EMS登录</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="login-form-content">
|
<view class="login-form-content">
|
||||||
<view class="input-item flex align-center">
|
<view class="input-item flex align-center">
|
||||||
@ -39,8 +39,12 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getCodeImg } from '@/api/login'
|
import {
|
||||||
import { getToken } from '@/utils/auth'
|
getCodeImg
|
||||||
|
} from '@/api/login'
|
||||||
|
import {
|
||||||
|
getToken
|
||||||
|
} from '@/utils/auth'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
@ -206,5 +210,4 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
@ -143,9 +143,9 @@
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
mounted() {
|
onLoad(options) {
|
||||||
uni.showLoading()
|
uni.showLoading()
|
||||||
getTicket(this.$route.query.id).then(response => {
|
getTicket(options.id).then(response => {
|
||||||
this.info = JSON.parse(JSON.stringify(response?.data || {}))
|
this.info = JSON.parse(JSON.stringify(response?.data || {}))
|
||||||
const {
|
const {
|
||||||
images = ''
|
images = ''
|
||||||
@ -164,6 +164,7 @@
|
|||||||
}).finally(() => {
|
}).finally(() => {
|
||||||
uni.hideLoading()
|
uni.hideLoading()
|
||||||
})
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@ -92,6 +92,7 @@
|
|||||||
padding-left: 0;
|
padding-left: 0;
|
||||||
padding-right: 0;
|
padding-right: 0;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
font-size: 26rpx;
|
||||||
|
|
||||||
&:not(:last-child) {
|
&:not(:last-child) {
|
||||||
margin-right: 20rpx;
|
margin-right: 20rpx;
|
||||||
@ -103,7 +104,12 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.large {
|
.large {
|
||||||
width: 180rpx;
|
width: 160rpx;
|
||||||
|
background-color: #547ef4;
|
||||||
|
|
||||||
|
&[disabled][type=primary] {
|
||||||
|
background-color: #89a8ffe6;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -20,29 +20,29 @@
|
|||||||
<view class='content'>
|
<view class='content'>
|
||||||
<!-- 设备状态栏 -->
|
<!-- 设备状态栏 -->
|
||||||
<uni-group mode="card" class="status-card-group">
|
<uni-group mode="card" class="status-card-group">
|
||||||
<uni-grid :column="3" :showBorder="false">
|
<view class="flex-container">
|
||||||
<uni-grid-item>
|
<view class="flex-lists">
|
||||||
<view class="grid-item-box">
|
<view class="grid-item-box">
|
||||||
<view class="title">工作状态</view>
|
<view class="title">工作状态</view>
|
||||||
<text
|
<text
|
||||||
class="text work-status-color">{{workStatusOptions[item.workStatus] || '-'}}</text>
|
class="text work-status-color">{{workStatusOptions[item.workStatus] || '-'}}</text>
|
||||||
</view>
|
</view>
|
||||||
</uni-grid-item>
|
</view>
|
||||||
<uni-grid-item>
|
<view class="flex-lists">
|
||||||
<view class="grid-item-box">
|
<view class="grid-item-box">
|
||||||
<view class="title">与PCS通信</view>
|
<view class="title">与PCS通信</view>
|
||||||
<text
|
<text
|
||||||
class="text">{{communicationStatusOptions[item.pcsCommunicationStatus] || '-'}}</text>
|
class="text">{{communicationStatusOptions[item.pcsCommunicationStatus] || '-'}}</text>
|
||||||
</view>
|
</view>
|
||||||
</uni-grid-item>
|
</view>
|
||||||
<uni-grid-item>
|
<view class="flex-lists">
|
||||||
<view class="grid-item-box">
|
<view class="grid-item-box">
|
||||||
<view class="title">与EMS通信</view>
|
<view class="title">与EMS通信</view>
|
||||||
<text
|
<text
|
||||||
class="text">{{communicationStatusOptions[item.emsCommunicationStatus] || '-'}}</text>
|
class="text">{{communicationStatusOptions[item.emsCommunicationStatus] || '-'}}</text>
|
||||||
</view>
|
</view>
|
||||||
</uni-grid-item>
|
</view>
|
||||||
</uni-grid>
|
</view>
|
||||||
</uni-group>
|
</uni-group>
|
||||||
<!-- 设备数据 -->
|
<!-- 设备数据 -->
|
||||||
<uni-group mode="card" class="data-card-group">
|
<uni-group mode="card" class="data-card-group">
|
||||||
@ -182,9 +182,9 @@
|
|||||||
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
onLoad(options) {
|
||||||
uni.showLoading()
|
uni.showLoading()
|
||||||
this.siteId = this.$route.query.siteId || ''
|
this.siteId = options.siteId || ''
|
||||||
getBMSBatteryCluster({
|
getBMSBatteryCluster({
|
||||||
siteId: this.siteId
|
siteId: this.siteId
|
||||||
}).then(response => {
|
}).then(response => {
|
||||||
@ -192,7 +192,7 @@
|
|||||||
if (this.list.length > 0) {
|
if (this.list.length > 0) {
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
this.$refs.collapse.resize()
|
// this.$refs.collapse.resize()
|
||||||
uni.hideLoading()
|
uni.hideLoading()
|
||||||
}, 100)
|
}, 100)
|
||||||
})
|
})
|
||||||
|
|||||||
@ -19,29 +19,29 @@
|
|||||||
<view class='content'>
|
<view class='content'>
|
||||||
<!-- 设备状态栏 -->
|
<!-- 设备状态栏 -->
|
||||||
<uni-group mode="card" class="status-card-group">
|
<uni-group mode="card" class="status-card-group">
|
||||||
<uni-grid :column="3" :showBorder="false">
|
<view class="flex-container">
|
||||||
<uni-grid-item>
|
<view class="flex-lists">
|
||||||
<view class="grid-item-box">
|
<view class="grid-item-box">
|
||||||
<view class="title">工作状态</view>
|
<view class="title">工作状态</view>
|
||||||
<text
|
<text
|
||||||
class="text work-status-color">{{workStatusOptions[item.workStatus] || '-'}}</text>
|
class="text work-status-color">{{workStatusOptions[item.workStatus] || '-'}}</text>
|
||||||
</view>
|
</view>
|
||||||
</uni-grid-item>
|
</view>
|
||||||
<uni-grid-item>
|
<view class="flex-lists">
|
||||||
<view class="grid-item-box">
|
<view class="grid-item-box">
|
||||||
<view class="title">与PCS通信</view>
|
<view class="title">与PCS通信</view>
|
||||||
<text
|
<text
|
||||||
class="text">{{communicationStatusOptions[item.pcsCommunicationStatus] || '-'}}</text>
|
class="text">{{communicationStatusOptions[item.pcsCommunicationStatus] || '-'}}</text>
|
||||||
</view>
|
</view>
|
||||||
</uni-grid-item>
|
</view>
|
||||||
<uni-grid-item>
|
<view class="flex-lists">
|
||||||
<view class="grid-item-box">
|
<view class="grid-item-box">
|
||||||
<view class="title">与EMS通信</view>
|
<view class="title">与EMS通信</view>
|
||||||
<text
|
<text
|
||||||
class="text">{{communicationStatusOptions[item.emsCommunicationStatus] || '-'}}</text>
|
class="text">{{communicationStatusOptions[item.emsCommunicationStatus] || '-'}}</text>
|
||||||
</view>
|
</view>
|
||||||
</uni-grid-item>
|
</view>
|
||||||
</uni-grid>
|
</view>
|
||||||
</uni-group>
|
</uni-group>
|
||||||
<!-- 设备数据 -->
|
<!-- 设备数据 -->
|
||||||
<uni-group mode="card" class="data-card-group">
|
<uni-group mode="card" class="data-card-group">
|
||||||
@ -187,9 +187,9 @@
|
|||||||
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
onLoad(options) {
|
||||||
uni.showLoading()
|
uni.showLoading()
|
||||||
this.siteId = this.$route.query.siteId || ''
|
this.siteId = options.siteId || ''
|
||||||
getBMSOverView({
|
getBMSOverView({
|
||||||
siteId: this.siteId
|
siteId: this.siteId
|
||||||
}).then(response => {
|
}).then(response => {
|
||||||
|
|||||||
@ -147,19 +147,24 @@
|
|||||||
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
onLoad(options) {
|
||||||
uni.showLoading()
|
uni.showLoading()
|
||||||
this.siteId = this.$route.query.siteId || ''
|
this.siteId = options.siteId || ''
|
||||||
getAmmeterDataList({
|
getAmmeterDataList({
|
||||||
siteId: this.siteId
|
siteId: this.siteId
|
||||||
}).then(response => {
|
}).then(response => {
|
||||||
this.list = response?.data || []
|
this.list = response?.data || []
|
||||||
|
if (this.list.length > 0) {
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
this.$refs.collapse.resize()
|
this.$refs.collapse.resize()
|
||||||
uni.hideLoading()
|
uni.hideLoading()
|
||||||
}, 100)
|
}, 1000)
|
||||||
})
|
})
|
||||||
|
} else {
|
||||||
|
uni.hideLoading()
|
||||||
|
}
|
||||||
|
|
||||||
}).catch(() => {
|
}).catch(() => {
|
||||||
uni.hideLoading()
|
uni.hideLoading()
|
||||||
})
|
})
|
||||||
|
|||||||
@ -387,9 +387,9 @@
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
mounted() {
|
onLoad(options) {
|
||||||
// uni.showLoading()
|
// uni.showLoading()
|
||||||
this.siteId = this.$route.query.siteId || ''
|
this.siteId = options.siteId || ''
|
||||||
this.getStackList()
|
this.getStackList()
|
||||||
this.getTableData(true)
|
this.getTableData(true)
|
||||||
}
|
}
|
||||||
@ -455,6 +455,7 @@
|
|||||||
border-bottom: 1px solid #eee;
|
border-bottom: 1px solid #eee;
|
||||||
padding: 20rpx 30rpx;
|
padding: 20rpx 30rpx;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
|
font-size: 28rpx;
|
||||||
position: relative;
|
position: relative;
|
||||||
color: #333;
|
color: #333;
|
||||||
|
|
||||||
@ -462,6 +463,7 @@
|
|||||||
position: absolute;
|
position: absolute;
|
||||||
top: 50%;
|
top: 50%;
|
||||||
right: 20rpx;
|
right: 20rpx;
|
||||||
|
font-size: 26rpx;
|
||||||
transform: translateY(-50%);
|
transform: translateY(-50%);
|
||||||
background-color: #4c7af3;
|
background-color: #4c7af3;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,35 +1,43 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="work-container">
|
<view class="work-container">
|
||||||
<!-- 站点选择列表 -->
|
<view class="site-sections-list">
|
||||||
<uni-section title="业态选择" type="line" class="sections-list">
|
<uni-data-picker placeholder="请选择" popup-title="业态选择" :step-searh="true" :value="siteId" :clear-icon="false"
|
||||||
<uni-row>
|
:localdata="siteTypeOptions" :ellipsis="false" @change="selectedSite">
|
||||||
<uni-col :span="10" :offset='1'>
|
</uni-data-picker>
|
||||||
<uni-section title="业态列表">
|
<view class="info">
|
||||||
<uni-data-select :clear="false" :value="siteType" wrap :localdata="siteTypeOptions"
|
<view class="list"> <uni-icons type="location" color="#fff" size="20"></uni-icons>
|
||||||
@change="selectedSiteType"></uni-data-select>
|
{{baseInfo.siteAddress || '-'}}
|
||||||
</uni-section>
|
|
||||||
</uni-col>
|
|
||||||
<uni-col :span="10" :offset='2'>
|
|
||||||
<uni-section title="可选清单">
|
|
||||||
<uni-data-select ref="siteListSelect" :clear="false" :value="siteId" wrap
|
|
||||||
:localdata="siteType ===1 ? siteList : []" @change="selectedSite"></uni-data-select>
|
|
||||||
</uni-section>
|
|
||||||
</uni-col>
|
|
||||||
</uni-row>
|
|
||||||
</uni-section>
|
|
||||||
<!-- 静态信息 -->
|
|
||||||
<uni-section title="静态信息" type="line" class="sections-list">
|
|
||||||
<view class="base-lists" v-for="(item,index) in singleZdInfo" :key="index+'zdBaseInfo'">
|
|
||||||
<text class="left">{{item.title}}:</text>
|
|
||||||
<text class="right">{{baseInfo[item.attr]}}</text>
|
|
||||||
</view>
|
</view>
|
||||||
</uni-section>
|
<view class="list">
|
||||||
|
<uni-icons type="calendar" color="#fff" size="20"></uni-icons>
|
||||||
|
{{baseInfo.runningTime || '-'}}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- 静态信息 -->
|
||||||
|
<view class="base-info">
|
||||||
|
<uni-group mode="card" class="install-data">
|
||||||
|
<uni-grid :column="2" :showBorder="false" :square="false" :highlight="false">
|
||||||
|
<uni-grid-item>
|
||||||
|
<view class="grid-item-box">
|
||||||
|
<view class="title">装机功率(MW)</view>
|
||||||
|
<view class="text">{{baseInfo.installPower}}</view>
|
||||||
|
</view>
|
||||||
|
</uni-grid-item>
|
||||||
|
<uni-grid-item>
|
||||||
|
<view class="grid-item-box">
|
||||||
|
<view class="title">装机容量(MW)</view>
|
||||||
|
<view class="text">{{baseInfo.installCapacity}}</view>
|
||||||
|
</view>
|
||||||
|
</uni-grid-item>
|
||||||
|
</uni-grid>
|
||||||
|
</uni-group>
|
||||||
<!-- 工作台 -->
|
<!-- 工作台 -->
|
||||||
<uni-section title="工作台" type="line" class="sections-list">
|
<uni-section title="工作台" type="line" class="sections-list">
|
||||||
<view class="grid-body">
|
<view class="grid-body">
|
||||||
<uni-grid :column="4" :showBorder="false" @change="toDetail">
|
<uni-grid :column="4" :showBorder="false" @change="toDetail">
|
||||||
<uni-grid-item v-for="(item,index) in siteGirdList" :index="index" :key="index+'work'">
|
<uni-grid-item v-for="(item,index) in siteGirdList" :index="index" :key="index+'work'">
|
||||||
<view class="grid-item-box">
|
<view class="grid-item-box work-box">
|
||||||
<view class="icon iconfont" :class="item.icon" size="30"></view>
|
<view class="icon iconfont" :class="item.icon" size="30"></view>
|
||||||
<text class="text">{{item.text}}</text>
|
<text class="text">{{item.text}}</text>
|
||||||
</view>
|
</view>
|
||||||
@ -54,6 +62,7 @@
|
|||||||
</view>
|
</view>
|
||||||
</uni-section>
|
</uni-section>
|
||||||
</view>
|
</view>
|
||||||
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@ -129,40 +138,27 @@
|
|||||||
},
|
},
|
||||||
// 图表数据结束
|
// 图表数据结束
|
||||||
deviceCategoryOptions: [], //当前站点包含的设备类别
|
deviceCategoryOptions: [], //当前站点包含的设备类别
|
||||||
siteType: 1,
|
|
||||||
siteTypeOptions: [{
|
siteTypeOptions: [{
|
||||||
text: '储能',
|
text: '储能',
|
||||||
value: 1,
|
value: 'cn',
|
||||||
|
children: []
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: '光能',
|
text: '光能',
|
||||||
value: 2,
|
value: 'gn',
|
||||||
|
disable: true,
|
||||||
|
children: []
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
text: '岸电',
|
text: '岸电',
|
||||||
value: 3,
|
value: 'ad',
|
||||||
|
disable: true,
|
||||||
|
children: []
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
siteList: [],
|
siteList: [],
|
||||||
siteId: '', //选择的站点ID
|
siteId: '', //选择的站点ID
|
||||||
baseInfo: {}, //站点基本信息
|
baseInfo: {}, //站点基本信息
|
||||||
singleZdInfo: [{
|
|
||||||
title: "电站位置",
|
|
||||||
attr: "siteAddress",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "投运时间",
|
|
||||||
attr: "runningTime",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "装机功率(MW)",
|
|
||||||
attr: "installPower",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
title: "装机容量(MW)",
|
|
||||||
attr: "installCapacity",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
gridList: [{
|
gridList: [{
|
||||||
page: 'bmszl',
|
page: 'bmszl',
|
||||||
icon: 'icon-BMS',
|
icon: 'icon-BMS',
|
||||||
@ -222,12 +218,15 @@
|
|||||||
} = e.detail
|
} = e.detail
|
||||||
this.$tab.navigateTo(`/pages/work/${this.gridList[index].page}/index?siteId=${this.siteId}`)
|
this.$tab.navigateTo(`/pages/work/${this.gridList[index].page}/index?siteId=${this.siteId}`)
|
||||||
},
|
},
|
||||||
selectedSite(id) {
|
selectedSite(data) {
|
||||||
if (id === this.siteId) return
|
const [typeObj, siteObj] = data.detail.value
|
||||||
this.siteId = id
|
const {
|
||||||
if (this.siteType === 1) {
|
text,
|
||||||
|
value
|
||||||
|
} = siteObj
|
||||||
|
if (value === this.siteId) return
|
||||||
|
this.siteId = value
|
||||||
this.updateSiteInfo()
|
this.updateSiteInfo()
|
||||||
}
|
|
||||||
},
|
},
|
||||||
updateSiteInfo() {
|
updateSiteInfo() {
|
||||||
if (!this.siteId) return
|
if (!this.siteId) return
|
||||||
@ -236,18 +235,10 @@
|
|||||||
this.getGVQXData()
|
this.getGVQXData()
|
||||||
this.getSiteDeviceCategory()
|
this.getSiteDeviceCategory()
|
||||||
},
|
},
|
||||||
selectedSiteType(id) {
|
|
||||||
if (id === this.siteType) return
|
|
||||||
this.siteType = id
|
|
||||||
this.siteId = ''
|
|
||||||
this.baseInfo = {}
|
|
||||||
this.weekChartData = {}
|
|
||||||
this.activeChartData = {}
|
|
||||||
},
|
|
||||||
getSiteList() {
|
getSiteList() {
|
||||||
getAllSites().then(response => {
|
getAllSites().then(response => {
|
||||||
const data = response?.data || []
|
const data = response?.data || []
|
||||||
this.siteList = data.map(item => {
|
this.siteTypeOptions.find(i => i.value === 'cn').children = data.map(item => {
|
||||||
return {
|
return {
|
||||||
text: item.siteName,
|
text: item.siteName,
|
||||||
value: item.siteId,
|
value: item.siteId,
|
||||||
@ -374,13 +365,11 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 页面切换不会重新调用,如果希望每次切换页面都重新调接口,使用onShow
|
// 页面切换不会重新调用,如果希望每次切换页面都重新调接口,使用onShow
|
||||||
mounted() {
|
onLoad() {
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
|
this.getSiteList()
|
||||||
this.$refs.weekChartDateRangeSelect.init()
|
this.$refs.weekChartDateRangeSelect.init()
|
||||||
this.$refs.activeChartDateRangeSelect.init(true)
|
this.$refs.activeChartDateRangeSelect.init(true)
|
||||||
if (this.siteType === 1) {
|
|
||||||
this.getSiteList()
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
// 页面滚动 设置pageScrollTop chart显示需要
|
// 页面滚动 设置pageScrollTop chart显示需要
|
||||||
@ -414,6 +403,98 @@
|
|||||||
margin-top: 10rpx;
|
margin-top: 10rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 站点选择
|
||||||
|
.site-sections-list {
|
||||||
|
background: linear-gradient(to right, #547ef4, #679ff5);
|
||||||
|
padding: 30rpx 30rpx;
|
||||||
|
padding-bottom: 100rpx;
|
||||||
|
|
||||||
|
.info {
|
||||||
|
color: #fff;
|
||||||
|
font-size: 26rpx;
|
||||||
|
line-height: 30rpx;
|
||||||
|
vertical-align: middle;
|
||||||
|
margin-top: 20rpx;
|
||||||
|
|
||||||
|
>.list {
|
||||||
|
display: flex;
|
||||||
|
justify-content: flex-start;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
&:not(:last-child) {
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
>.uni-icons {
|
||||||
|
margin-right: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.uni-data-tree {
|
||||||
|
|
||||||
|
::v-deep {
|
||||||
|
.input-value {
|
||||||
|
border: none;
|
||||||
|
padding-left: 0;
|
||||||
|
|
||||||
|
.selected-area {
|
||||||
|
width: 90%;
|
||||||
|
flex: none;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
|
||||||
|
.selected-list {
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 选择中的文字样式
|
||||||
|
.text-color {
|
||||||
|
color: #fff;
|
||||||
|
font-size: 34rpx;
|
||||||
|
font-weight: bolder;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 右侧箭头
|
||||||
|
.arrow-area {
|
||||||
|
transform: rotate(-135deg);
|
||||||
|
|
||||||
|
.input-arrow {
|
||||||
|
border-color: #fff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 基本信息
|
||||||
|
.base-info {
|
||||||
|
margin-top: -80rpx;
|
||||||
|
border-radius: 80rpx 80rpx 0 0;
|
||||||
|
padding: 30rpx;
|
||||||
|
background-color: #fff;
|
||||||
|
|
||||||
|
// 装机功率
|
||||||
|
.install-data {
|
||||||
|
.grid-item-box {
|
||||||
|
padding-top: 6rpx;
|
||||||
|
padding-bottom: 6rpx;
|
||||||
|
|
||||||
|
.text {
|
||||||
|
margin-top: 20rpx;
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
.sections-list {
|
.sections-list {
|
||||||
margin-bottom: 10rpx;
|
margin-bottom: 10rpx;
|
||||||
|
|
||||||
@ -449,26 +530,25 @@
|
|||||||
padding-bottom: 10rpx;
|
padding-bottom: 10rpx;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// .uni-date__x-input {
|
||||||
|
// height: 50rpx;
|
||||||
|
// line-height: 50rpx;
|
||||||
|
// font-size: 26rpx;
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
.grid-item-box {
|
.work-box {
|
||||||
flex: 1;
|
|
||||||
/* #ifndef APP-NVUE */
|
|
||||||
display: flex;
|
|
||||||
/* #endif */
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
padding: 30rpx 0;
|
|
||||||
|
|
||||||
.icon {
|
.icon {
|
||||||
font-size: 52rpx;
|
font-size: 52rpx;
|
||||||
color: #3a98ff;
|
color: #547ef4;
|
||||||
}
|
}
|
||||||
|
|
||||||
.text {
|
.text {
|
||||||
font-size: 24rpx;
|
font-size: 26rpx;
|
||||||
padding-top: 10rpx;
|
padding-top: 10rpx;
|
||||||
|
color: #000;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -490,6 +570,7 @@
|
|||||||
color: #333;
|
color: #333;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@media screen and (min-width: 500px) {}
|
@media screen and (min-width: 500px) {}
|
||||||
</style>
|
</style>
|
||||||
@ -4,7 +4,7 @@
|
|||||||
<uni-grid class="info-grid" :square="false" :column="2" :showBorder="false">
|
<uni-grid class="info-grid" :square="false" :column="2" :showBorder="false">
|
||||||
<uni-grid-item v-for="(item,index) in runningHeadData" :key="index+'head'">
|
<uni-grid-item v-for="(item,index) in runningHeadData" :key="index+'head'">
|
||||||
<view class="grid-item-box">
|
<view class="grid-item-box">
|
||||||
<img :src="require('@/static/images/ems/pcs/'+item.img+'.jpg')" class="icon" alt="">
|
<image :src="require('@/static/images/ems/pcs/'+item.img+'.jpg')" class="icon" alt="">
|
||||||
<view class="title">{{item.title}}</view>
|
<view class="title">{{item.title}}</view>
|
||||||
<view class="text">{{runningHeadInfo[item.attr] | formatNumber}}</view>
|
<view class="text">{{runningHeadInfo[item.attr] | formatNumber}}</view>
|
||||||
</view>
|
</view>
|
||||||
@ -30,33 +30,33 @@
|
|||||||
<view class='content'>
|
<view class='content'>
|
||||||
<!-- 设备状态栏 -->
|
<!-- 设备状态栏 -->
|
||||||
<uni-group mode="card" class="status-card-group no-wrapper-padding">
|
<uni-group mode="card" class="status-card-group no-wrapper-padding">
|
||||||
<uni-grid :column="4" :showBorder="false">
|
<view class="flex-container">
|
||||||
<uni-grid-item>
|
<view class="flex-lists">
|
||||||
<view class="grid-item-box">
|
<view class="grid-item-box">
|
||||||
<view class="title">工作状态</view>
|
<view class="title">工作状态</view>
|
||||||
<text
|
<text
|
||||||
class="text work-status-color">{{workStatusOptions[item.workStatus] || '-'}}</text>
|
class="text work-status-color">{{workStatusOptions[item.workStatus] || '-'}}</text>
|
||||||
</view>
|
</view>
|
||||||
</uni-grid-item>
|
</view>
|
||||||
<uni-grid-item>
|
<view class="flex-lists">
|
||||||
<view class="grid-item-box">
|
<view class="grid-item-box">
|
||||||
<view class="title">并网状态</view>
|
<view class="title">并网状态</view>
|
||||||
<text class="text">{{gridStatusOptions[item.gridStatus] || '-'}}</text>
|
<text class="text">{{gridStatusOptions[item.gridStatus] || '-'}}</text>
|
||||||
</view>
|
</view>
|
||||||
</uni-grid-item>
|
</view>
|
||||||
<uni-grid-item>
|
<view class="flex-lists">
|
||||||
<view class="grid-item-box">
|
<view class="grid-item-box">
|
||||||
<view class="title">设备状态</view>
|
<view class="title">设备状态</view>
|
||||||
<text class="text">{{deviceStatusOptions[item.deviceStatus] || '-'}}</text>
|
<text class="text">{{deviceStatusOptions[item.deviceStatus] || '-'}}</text>
|
||||||
</view>
|
</view>
|
||||||
</uni-grid-item>
|
</view>
|
||||||
<uni-grid-item>
|
<view class="flex-lists">
|
||||||
<view class="grid-item-box">
|
<view class="grid-item-box">
|
||||||
<view class="title">控制模式</view>
|
<view class="title">控制模式</view>
|
||||||
<text class="text">{{controlModeOptions[item.controlMode] || '-'}}</text>
|
<text class="text">{{controlModeOptions[item.controlMode] || '-'}}</text>
|
||||||
</view>
|
</view>
|
||||||
</uni-grid-item>
|
</view>
|
||||||
</uni-grid>
|
</view>
|
||||||
</uni-group>
|
</uni-group>
|
||||||
<!-- 设备数据 -->
|
<!-- 设备数据 -->
|
||||||
<uni-group mode="card" class="data-card-group"
|
<uni-group mode="card" class="data-card-group"
|
||||||
@ -77,26 +77,26 @@
|
|||||||
<uni-group class="branch-card-group" :title="`支路${pcsBranchIndex+1}`" mode="card"
|
<uni-group class="branch-card-group" :title="`支路${pcsBranchIndex+1}`" mode="card"
|
||||||
v-for="(pcsBranchItem,pcsBranchIndex) in item.pcsBranchInfoList"
|
v-for="(pcsBranchItem,pcsBranchIndex) in item.pcsBranchInfoList"
|
||||||
:key="pcsBranchIndex+'pcsBranchInfoList'">
|
:key="pcsBranchIndex+'pcsBranchInfoList'">
|
||||||
<uni-grid :column="3" :square="false" :showBorder="false">
|
<view class="flex-container">
|
||||||
<uni-grid-item>
|
<view class="flex-lists">
|
||||||
<view class="grid-item-box">
|
<view class="grid-item-box">
|
||||||
<view class="title">直流功率</view>
|
<view class="title">直流功率</view>
|
||||||
<text class="text">{{pcsBranchItem.dcPower}}kW</text>
|
<text class="text">{{pcsBranchItem.dcPower}}kW</text>
|
||||||
</view>
|
</view>
|
||||||
</uni-grid-item>
|
</view>
|
||||||
<uni-grid-item>
|
<view class="flex-lists">
|
||||||
<view class="grid-item-box">
|
<view class="grid-item-box">
|
||||||
<view class="title">直流电压</view>
|
<view class="title">直流电压</view>
|
||||||
<text class="text">{{pcsBranchItem.dcVoltage}}V</text>
|
<text class="text">{{pcsBranchItem.dcVoltage}}V</text>
|
||||||
</view>
|
</view>
|
||||||
</uni-grid-item>
|
</view>
|
||||||
<uni-grid-item>
|
<view class="flex-lists">
|
||||||
<view class="grid-item-box">
|
<view class="grid-item-box">
|
||||||
<view class="title">直流电流</view>
|
<view class="title">直流电流</view>
|
||||||
<text class="text">{{pcsBranchItem.dcCurrent}}A</text>
|
<text class="text">{{pcsBranchItem.dcCurrent}}A</text>
|
||||||
</view>
|
</view>
|
||||||
</uni-grid-item>
|
</view>
|
||||||
</uni-grid>
|
</view>
|
||||||
</uni-group>
|
</uni-group>
|
||||||
</view>
|
</view>
|
||||||
</uni-collapse-item>
|
</uni-collapse-item>
|
||||||
@ -262,9 +262,9 @@
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
onLoad(options) {
|
||||||
uni.showLoading()
|
uni.showLoading()
|
||||||
this.siteId = this.$route.query.siteId || ''
|
this.siteId = options.siteId || ''
|
||||||
getRunningHeadInfo({
|
getRunningHeadInfo({
|
||||||
siteId: this.siteId
|
siteId: this.siteId
|
||||||
}).then(response => {
|
}).then(response => {
|
||||||
|
|||||||
@ -88,7 +88,15 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.status-bar{
|
||||||
|
background: #fff;
|
||||||
|
width: 100%;
|
||||||
|
height: var(--status-bar-height);
|
||||||
|
position: fixed;
|
||||||
|
top:0;
|
||||||
|
left: 0;
|
||||||
|
z-index:99;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// 暂无数据通用样式
|
// 暂无数据通用样式
|
||||||
@ -97,7 +105,7 @@
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
line-height: 100px;
|
line-height: 100px;
|
||||||
height: 100px;
|
height: 100px;
|
||||||
font-size: 18px;
|
font-size: 30rpx;
|
||||||
}
|
}
|
||||||
// 九宫格
|
// 九宫格
|
||||||
.grid-item-box {
|
.grid-item-box {
|
||||||
@ -126,6 +134,12 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
.flex-container{
|
||||||
|
display: flex;
|
||||||
|
.flex-lists{
|
||||||
|
flex:1;
|
||||||
|
}
|
||||||
|
}
|
||||||
// 设备详情页面 状态公共样式
|
// 设备详情页面 状态公共样式
|
||||||
.common-collapse-item{
|
.common-collapse-item{
|
||||||
.content{
|
.content{
|
||||||
@ -145,9 +159,10 @@
|
|||||||
display: inline-block;
|
display: inline-block;
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
color:#fff;
|
color:#fff;
|
||||||
padding:4rpx 10rpx;
|
padding:0 10rpx;
|
||||||
margin-right: 10rpx;
|
margin-right: 10rpx;
|
||||||
font-size: 22rpx;
|
font-size: 22rpx;
|
||||||
|
line-height: 38rpx;
|
||||||
border-radius: 10rpx;
|
border-radius: 10rpx;
|
||||||
}
|
}
|
||||||
.name{
|
.name{
|
||||||
@ -158,11 +173,6 @@
|
|||||||
}
|
}
|
||||||
// 设备状态卡片
|
// 设备状态卡片
|
||||||
.status-card-group{
|
.status-card-group{
|
||||||
&.no-wrapper-padding{
|
|
||||||
.uni-group__content{
|
|
||||||
padding:0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.uni-group__content{
|
.uni-group__content{
|
||||||
padding-top:0;
|
padding-top:0;
|
||||||
padding-bottom:0;
|
padding-bottom:0;
|
||||||
@ -212,9 +222,11 @@
|
|||||||
.child-table{
|
.child-table{
|
||||||
.uni-table-th{
|
.uni-table-th{
|
||||||
color:#333;
|
color:#333;
|
||||||
|
font-size: 26rpx;
|
||||||
}
|
}
|
||||||
.uni-table-td{
|
.uni-table-td{
|
||||||
color:#000;
|
color:#000;
|
||||||
|
font-size: 26rpx;
|
||||||
}
|
}
|
||||||
.table--border{
|
.table--border{
|
||||||
border-color:#ebedf0;
|
border-color:#ebedf0;
|
||||||
@ -258,7 +270,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.content{
|
.content{
|
||||||
background: linear-gradient(to bottom, #22bb5873, #45db7a26);
|
background-color:rgba(69,219,122,0.15);
|
||||||
}
|
}
|
||||||
// 状态九宫格
|
// 状态九宫格
|
||||||
.status-card-group{
|
.status-card-group{
|
||||||
@ -290,7 +302,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.content{
|
.content{
|
||||||
background: linear-gradient(to bottom, #f5604e73, #f5604e26);
|
background: rgba(245,96,78,0.15);
|
||||||
}
|
}
|
||||||
// 状态九宫格
|
// 状态九宫格
|
||||||
.status-card-group{
|
.status-card-group{
|
||||||
@ -322,7 +334,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
.content{
|
.content{
|
||||||
background: linear-gradient(to bottom, #8c8c8c73, #8c8c8c26);
|
background: rgba(140,140,140,0.15);
|
||||||
}
|
}
|
||||||
// 状态九宫格
|
// 状态九宫格
|
||||||
.status-card-group{
|
.status-card-group{
|
||||||
|
|||||||
Reference in New Issue
Block a user