页面切图

This commit is contained in:
仲么了
2023-02-28 14:03:38 +08:00
parent 66c615eb80
commit 841cf9ae2d
20 changed files with 776 additions and 261 deletions

View File

@@ -123,7 +123,7 @@ page {
}
.grid-card-content-2 {
grid-template-columns: 1fr 3fr;
grid-template-columns: 1fr 2fr;
}
.grid-card-content-3 {

View File

@@ -312,6 +312,24 @@
"style": {
"navigationBarTitleText": "网关详情"
}
},
{
"path": "pages/message/reportList",
"style": {
"navigationBarTitleText": "越限监测点列表"
}
},
{
"path": "pages/message/reportDetail",
"style": {
"navigationBarTitleText": "越限监测点详情"
}
},
{
"path": "pages/project/transfer",
"style": {
"navigationBarTitleText": "项目移交"
}
}
],
"tabBar": {

View File

@@ -1,6 +1,6 @@
<template>
<view class='basic'>
<view class="grid-card">
<!-- <view class="grid-card">
<view class="grid-card-title">模块</view>
<view class="grid-card-content-4">
<view class="item item-title">名称</view>
@@ -25,7 +25,7 @@
<view class="item">110</view>
</view>
</view>
</view> -->
<view class="grid-card">
<view class="grid-card-title">电网电流</view>
<view class="grid-card-content-4">

View File

@@ -10,35 +10,21 @@
<view class="module">
<view class="grid-card">
<view class="grid-card-content-2">
<view class="item">模块一</view>
<view class="item">模块一(300A)</view>
<view class="item">
实际输出电流300A,
总谐波电流200A,
总谐波电压110v
THDI4.6% THDU4.6%
</view>
<view class="item">模块二</view>
<view class="item">模块二(300A)</view>
<view class="item">
<view>
实际输出电流300A,
总谐波电流200A,
总谐波电压110v
</view>
THDI4.6% THDU4.6%
</view>
<view class="item">模块三</view>
<view class="item">模块三(300A)</view>
<view class="item">
<view>
实际输出电流300A,
总谐波电流200A,
总谐波电压110v
</view>
THDI4.6% THDU4.6%
</view>
<view class="item">模块四</view>
<view class="item">模块四(300A)</view>
<view class="item">
<view>
实际输出电流300A,
总谐波电流200A,
总谐波电压110v
</view>
THDI4.6% THDU4.6%
</view>
</view>
</view>
@@ -155,9 +141,9 @@ export default {
uni.navigateTo({ url: '/pages/device/user' })
} else if (e.item.text === '报表') {
this.$util.toast('效果是直接打开报表')
}else if (e.item.text === '版本') {
} else if (e.item.text === '版本') {
this.$util.toast('功能暂未开放')
}else if (e.item.text === '模版') {
} else if (e.item.text === '模版') {
this.$util.toast('效果是功能暂未开放直接打开报表')
}
this.$refs.fab.close()

View File

@@ -8,7 +8,7 @@
<view class="title">基本信息</view>
<view class="des">
<text>名称监测网关</text>
<text class="ml20">项目监测</text>
<text class="ml20">项目XXX项目1</text>
</view>
<view class="des">
<text>设备型号PQS-882</text>
@@ -17,10 +17,9 @@
<view class="title mb20 m340">设备列表
<view class="footer-btn" @click="newDevice">注册设备</view>
</view>
<uni-card :title="item.name" :sub-title="item.project" :extra="item.type"
v-for="(item, index) in deviceList" :key="index" style="margin-top:4rpx" @click="goDevice(item)"
thumbnail="/static/device.png" padding="0">
</uni-card>
<uni-card :title="'设备' + item" :sub-title="'XXX项目1'" extra="用能" v-for="item in 2" :key="item"
@click="goDevice" padding="0" thumbnail="/static/device.png">
</uni-card>
<uni-load-more status="nomore"></uni-load-more>
<view style="height:20rpx"></view>
</view>

View File

@@ -23,9 +23,14 @@
</Cn-grid>
</view>
<view class="nav">
<view class="nav-menu" :class="{ 'nav-menu-active': navMenuActive == index }"
v-for="(item, index) in navMenuList" :key="index" @click="navMenuClick(index)">{{ item.text }}
</view>
<picker @change="projectNameChange" :value="select.projectNameIndex" :range="projectList" range-key="text">
<view class="nav-menu" :class="{ 'nav-menu-active': select.projectName }">{{
select.projectName || '项目' }} </view>
</picker>
<picker @change="projectTypeChange" :value="select.projectTypeIndex" :range="projectType" range-key="text">
<view class="nav-menu" :class="{ 'nav-menu-active': select.projectType }">{{
select.projectType || '类型' }} </view>
</picker>
</view>
<view class="content device" :style="{ minHeight: minHeight }">
<uni-card :title="item.name" :sub-title="item.project" :extra="item.type" padding="0"
@@ -41,66 +46,128 @@ export default {
data () {
return {
loading: false,
navMenuList: [{
text: '全部'
}, {
text: '监测'
}, {
text: '治理'
}],
navMenuActive: 0,
select: {
projectName: '',
projectNameIndex: 0,
projectType: '',
projectTypeIndex: 0
},
projectType: [
{
text: '全部类型',
value: 0
},
{
text: '监测',
value: 1
},
{
text: '用能',
value: 2
},
{
text: '环境',
value: 3
},
{
text: '安防',
value: 4
},
{
text: '其他',
value: 5
}
],
projectList: [
{
text: '全部项目',
value: 1
},
{
text: 'XXX项目1',
value: 1
},
{
text: 'XXX项目2',
value: 1
},
{
text: 'XXX项目3',
value: 1
},
],
navHeight: 0,
minHeight: '',
deviceList: [
{
name: '设备1',
name: '设备APF-1',
des: '设备描述1',
type: 'APF',
project: '监测',
type: '监测',
project: 'XXX项目1',
},
{
name: '设备2',
name: '设备APF-2',
des: '设备描述1',
type: '监测',
project: 'XXX项目1',
},
{
name: '设备APF-3',
des: '设备描述2',
type: 'DVR',
project: '治理'
type: '用能',
project: 'XXX项目2'
},
{
name: '设备3',
name: '设备DVR-1',
des: '设备描述3',
type: 'DVR',
project: '治理'
},
{
name: '设备4',
des: '设备描述4',
type: 'DVR',
project: '治理'
},
{
name: '设备5',
des: '设备描述5',
type: 'APF',
project: '治理'
},
{
name: '设备6',
des: '设备描述6',
type: 'APF',
project: '治理'
type: '监测',
project: 'XXX项目3'
}
]
}
},
computed: {
deviceListFilter () {
if (this.navMenuActive == 0) {
return this.deviceList
} else {
return this.deviceList.filter(item => item.project == this.navMenuList[this.navMenuActive].text)
}
return this.deviceList.filter(item => {
if (this.select.projectName) {
return item.project === this.select.projectName
} else if (this.select.projectType) {
return item.type === this.select.projectType
} else {
return true
}
})
}
},
methods: {
projectTypeChange (e) {
// 重置name
this.select.projectName = ''
this.select.projectNameIndex = 0
this.select.projectTypeIndex = e.detail.value
if (e.detail.value === 0) {
this.select.projectType = ''
return
}
this.select.projectType = this.projectType[e.detail.value].text
},
projectNameChange (e) {
console.log(e);
// 重置type
this.select.projectType = ''
this.select.projectTypeIndex = 0
this.select.projectNameIndex = e.detail.value
if (e.detail.value === 0) {
this.select.projectName = ''
return
}
this.select.projectName = this.projectList[e.detail.value].text
},
registerDevice () {
uni.showModal({
title: '提示',
@@ -130,11 +197,11 @@ export default {
this.navMenuActive = index
},
jump (item) {
if (item.type == 'APF') {
if (item.name.indexOf('APF') > -1) {
uni.navigateTo({
url: '/pages/device/APF/detail'
})
} else {
} else if (item.name.indexOf('DVR') > -1) {
uni.navigateTo({
url: '/pages/device/DVR/detail'
})
@@ -157,6 +224,4 @@ export default {
}
}
</script>
<style lang='scss'>
</style>
<style lang='scss'></style>

View File

@@ -23,9 +23,14 @@
</Cn-grid>
</view>
<view class="nav">
<view class="nav-menu" :class="{ 'nav-menu-active': navMenuActive == index }"
v-for="(item, index) in navMenuList" :key="index" @click="navMenuClick(index)">{{ item.text }}
</view>
<picker @change="projectNameChange" :value="select.projectNameIndex" :range="projectList" range-key="text">
<view class="nav-menu" :class="{ 'nav-menu-active': select.projectName }">{{
select.projectName || '项目' }} </view>
</picker>
<picker @change="projectTypeChange" :value="select.projectTypeIndex" :range="projectType" range-key="text">
<view class="nav-menu" :class="{ 'nav-menu-active': select.projectType }">{{
select.projectType || '类型' }} </view>
</picker>
</view>
<view class="content device" :style="{ minHeight: minHeight }">
<uni-card :title="item.name" :sub-title="item.project" :extra="item.type" padding="0"
@@ -41,66 +46,128 @@ export default {
data () {
return {
loading: false,
navMenuList: [{
text: '全部'
}, {
text: '监测'
}, {
text: '治理'
}],
navMenuActive: 0,
select: {
projectName: '',
projectNameIndex: 0,
projectType: '',
projectTypeIndex: 0
},
projectType: [
{
text: '全部类型',
value: 0
},
{
text: '监测',
value: 1
},
{
text: '用能',
value: 2
},
{
text: '环境',
value: 3
},
{
text: '安防',
value: 4
},
{
text: '其他',
value: 5
}
],
projectList: [
{
text: '全部项目',
value: 1
},
{
text: 'XXX项目1',
value: 1
},
{
text: 'XXX项目2',
value: 1
},
{
text: 'XXX项目3',
value: 1
},
],
navHeight: 0,
minHeight: '',
deviceList: [
{
name: '设备1',
name: '设备APF-1',
des: '设备描述1',
type: 'APF',
project: '监测',
type: '监测',
project: 'XXX项目1',
},
{
name: '设备2',
name: '设备APF-2',
des: '设备描述1',
type: '监测',
project: 'XXX项目1',
},
{
name: '设备APF-3',
des: '设备描述2',
type: 'DVR',
project: '治理'
type: '用能',
project: 'XXX项目2'
},
{
name: '设备3',
name: '设备DVR-1',
des: '设备描述3',
type: 'DVR',
project: '治理'
},
{
name: '设备4',
des: '设备描述4',
type: 'DVR',
project: '治理'
},
{
name: '设备5',
des: '设备描述5',
type: 'APF',
project: '治理'
},
{
name: '设备6',
des: '设备描述6',
type: 'APF',
project: '治理'
type: '监测',
project: 'XXX项目3'
}
]
}
},
computed: {
deviceListFilter () {
if (this.navMenuActive == 0) {
return this.deviceList
} else {
return this.deviceList.filter(item => item.project == this.navMenuList[this.navMenuActive].text)
}
return this.deviceList.filter(item => {
if (this.select.projectName) {
return item.project === this.select.projectName
} else if (this.select.projectType) {
return item.type === this.select.projectType
} else {
return true
}
})
}
},
methods: {
projectTypeChange (e) {
// 重置name
this.select.projectName = ''
this.select.projectNameIndex = 0
this.select.projectTypeIndex = e.detail.value
if (e.detail.value === 0) {
this.select.projectType = ''
return
}
this.select.projectType = this.projectType[e.detail.value].text
},
projectNameChange (e) {
console.log(e);
// 重置type
this.select.projectType = ''
this.select.projectTypeIndex = 0
this.select.projectNameIndex = e.detail.value
if (e.detail.value === 0) {
this.select.projectName = ''
return
}
this.select.projectName = this.projectList[e.detail.value].text
},
registerDevice () {
uni.showModal({
title: '提示',
@@ -130,11 +197,11 @@ export default {
this.navMenuActive = index
},
jump (item) {
if (item.type == 'APF') {
if (item.name.indexOf('APF') > -1) {
uni.navigateTo({
url: '/pages/device/APF/detail'
})
} else {
} else if (item.name.indexOf('DVR') > -1) {
uni.navigateTo({
url: '/pages/device/DVR/detail'
})
@@ -157,6 +224,4 @@ export default {
}
}
</script>
<style lang='scss'>
</style>
<style lang='scss'></style>

View File

@@ -23,9 +23,14 @@
</Cn-grid>
</view>
<view class="nav">
<view class="nav-menu" :class="{ 'nav-menu-active': navMenuActive == index }"
v-for="(item, index) in navMenuList" :key="index" @click="navMenuClick(index)">{{ item.text }}
</view>
<picker @change="projectNameChange" :value="select.projectNameIndex" :range="projectList" range-key="text">
<view class="nav-menu" :class="{ 'nav-menu-active': select.projectName }">{{
select.projectName || '项目' }} </view>
</picker>
<picker @change="projectTypeChange" :value="select.projectTypeIndex" :range="projectType" range-key="text">
<view class="nav-menu" :class="{ 'nav-menu-active': select.projectType }">{{
select.projectType || '类型' }} </view>
</picker>
</view>
<view class="content device" :style="{ minHeight: minHeight }">
<uni-card :title="item.name" :sub-title="item.project" :extra="item.type" padding="0"
@@ -41,66 +46,128 @@ export default {
data () {
return {
loading: false,
navMenuList: [{
text: '全部'
}, {
text: '监测'
}, {
text: '治理'
}],
navMenuActive: 0,
select: {
projectName: '',
projectNameIndex: 0,
projectType: '',
projectTypeIndex: 0
},
projectType: [
{
text: '全部类型',
value: 0
},
{
text: '监测',
value: 1
},
{
text: '用能',
value: 2
},
{
text: '环境',
value: 3
},
{
text: '安防',
value: 4
},
{
text: '其他',
value: 5
}
],
projectList: [
{
text: '全部项目',
value: 1
},
{
text: 'XXX项目1',
value: 1
},
{
text: 'XXX项目2',
value: 1
},
{
text: 'XXX项目3',
value: 1
},
],
navHeight: 0,
minHeight: '',
deviceList: [
{
name: '设备1',
name: '设备APF-1',
des: '设备描述1',
type: 'APF',
project: '监测',
type: '监测',
project: 'XXX项目1',
},
{
name: '设备2',
name: '设备APF-2',
des: '设备描述1',
type: '监测',
project: 'XXX项目1',
},
{
name: '设备APF-3',
des: '设备描述2',
type: 'DVR',
project: '治理'
type: '用能',
project: 'XXX项目2'
},
{
name: '设备3',
name: '设备DVR-1',
des: '设备描述3',
type: 'DVR',
project: '治理'
},
{
name: '设备4',
des: '设备描述4',
type: 'DVR',
project: '治理'
},
{
name: '设备5',
des: '设备描述5',
type: 'APF',
project: '治理'
},
{
name: '设备6',
des: '设备描述6',
type: 'APF',
project: '治理'
type: '监测',
project: 'XXX项目3'
}
]
}
},
computed: {
deviceListFilter () {
if (this.navMenuActive == 0) {
return this.deviceList
} else {
return this.deviceList.filter(item => item.project == this.navMenuList[this.navMenuActive].text)
}
return this.deviceList.filter(item => {
if (this.select.projectName) {
return item.project === this.select.projectName
} else if (this.select.projectType) {
return item.type === this.select.projectType
} else {
return true
}
})
}
},
methods: {
projectTypeChange (e) {
// 重置name
this.select.projectName = ''
this.select.projectNameIndex = 0
this.select.projectTypeIndex = e.detail.value
if (e.detail.value === 0) {
this.select.projectType = ''
return
}
this.select.projectType = this.projectType[e.detail.value].text
},
projectNameChange (e) {
console.log(e);
// 重置type
this.select.projectType = ''
this.select.projectTypeIndex = 0
this.select.projectNameIndex = e.detail.value
if (e.detail.value === 0) {
this.select.projectName = ''
return
}
this.select.projectName = this.projectList[e.detail.value].text
},
registerDevice () {
uni.showModal({
title: '提示',
@@ -130,11 +197,11 @@ export default {
this.navMenuActive = index
},
jump (item) {
if (item.type == 'APF') {
if (item.name.indexOf('APF') > -1) {
uni.navigateTo({
url: '/pages/device/APF/detail'
})
} else {
} else if (item.name.indexOf('DVR') > -1) {
uni.navigateTo({
url: '/pages/device/DVR/detail'
})
@@ -157,6 +224,4 @@ export default {
}
}
</script>
<style lang='scss'>
</style>
<style lang='scss'></style>

View File

@@ -41,11 +41,11 @@ export default {
},
methods: {
jump (item) {
if (item % 2) {
uni.navigateTo({
if (item.name.indexOf('APF') > -1) {
uni.navigateTo({
url: '/pages/device/APF/detail'
})
} else {
} else if (item.name.indexOf('DVR') > -1) {
uni.navigateTo({
url: '/pages/device/DVR/detail'
})

View File

@@ -23,9 +23,14 @@
</Cn-grid>
</view> -->
<view class="nav">
<view class="nav-menu" :class="{ 'nav-menu-active': navMenuActive == index }"
v-for="(item, index) in navMenuList" :key="index" @click="navMenuClick(index)">{{ item.text }}
</view>
<picker @change="projectNameChange" :value="select.projectNameIndex" :range="projectList" range-key="text">
<view class="nav-menu" :class="{ 'nav-menu-active': select.projectName }">{{
select.projectName || '项目' }} </view>
</picker>
<picker @change="projectTypeChange" :value="select.projectTypeIndex" :range="projectType" range-key="text">
<view class="nav-menu" :class="{ 'nav-menu-active': select.projectType }">{{
select.projectType || '类型' }} </view>
</picker>
</view>
<view class="content device" :style="{ minHeight: minHeight }">
<uni-card :title="item.name" :sub-title="item.project" :extra="item.type" padding="0"
@@ -41,66 +46,129 @@ export default {
data () {
return {
loading: false,
navMenuList: [{
text: '全部'
}, {
text: '监测'
}, {
text: '治理'
}],
navMenuActive: 0,
select: {
projectName: '',
projectNameIndex: 0,
projectType: '',
projectTypeIndex: 0
},
projectType: [
{
text: '全部类型',
value: 0
},
{
text: '监测',
value: 1
},
{
text: '用能',
value: 2
},
{
text: '环境',
value: 3
},
{
text: '安防',
value: 4
},
{
text: '其他',
value: 5
}
],
projectList: [
{
text: '全部项目',
value: 1
},
{
text: 'XXX项目1',
value: 1
},
{
text: 'XXX项目2',
value: 1
},
{
text: 'XXX项目3',
value: 1
},
],
navHeight: 0,
minHeight: '',
deviceList: [
{
name: '设备1',
name: '设备APF-1',
des: '设备描述1',
type: 'APF',
project: '监测',
type: '监测',
project: 'XXX项目1',
},
{
name: '设备2',
name: '设备APF-2',
des: '设备描述1',
type: '监测',
project: 'XXX项目1',
},
{
name: '设备APF-3',
des: '设备描述2',
type: 'DVR',
project: '治理'
type: '用能',
project: 'XXX项目2'
},
{
name: '设备3',
name: '设备DVR-1',
des: '设备描述3',
type: 'DVR',
project: '治理'
},
{
name: '设备4',
des: '设备描述4',
type: 'DVR',
project: '治理'
},
{
name: '设备5',
des: '设备描述5',
type: 'APF',
project: '治理'
},
{
name: '设备6',
des: '设备描述6',
type: 'APF',
project: '治理'
type: '监测',
project: 'XXX项目3'
}
]
}
},
computed: {
deviceListFilter () {
if (this.navMenuActive == 0) {
return this.deviceList
} else {
return this.deviceList.filter(item => item.project == this.navMenuList[this.navMenuActive].text)
}
return this.deviceList.filter(item => {
if (this.select.projectName) {
return item.project === this.select.projectName
} else if (this.select.projectType) {
return item.type === this.select.projectType
} else {
return true
}
})
}
},
methods: {
projectTypeChange (e) {
// 重置name
this.select.projectName = ''
this.select.projectNameIndex = 0
this.select.projectTypeIndex = e.detail.value
if (e.detail.value === 0) {
this.select.projectType = ''
return
}
this.select.projectType = this.projectType[e.detail.value].text
},
projectNameChange (e) {
console.log(e);
// 重置type
this.select.projectType = ''
this.select.projectTypeIndex = 0
this.select.projectNameIndex = e.detail.value
if (e.detail.value === 0) {
this.select.projectName = ''
return
}
this.select.projectName = this.projectList[e.detail.value].text
},
registerDevice () {
uni.showModal({
title: '提示',
@@ -130,11 +198,11 @@ export default {
this.navMenuActive = index
},
jump (item) {
if (item.type == 'APF') {
if (item.name.indexOf('APF') > -1) {
uni.navigateTo({
url: '/pages/device/APF/detail'
})
} else {
} else if (item.name.indexOf('DVR') > -1) {
uni.navigateTo({
url: '/pages/device/DVR/detail'
})
@@ -157,6 +225,4 @@ export default {
}
}
</script>
<style lang='scss'>
</style>
<style lang='scss'></style>

View File

@@ -2,7 +2,7 @@
<Cn-page :loading='loading'>
<view slot='body'>
<view class='detail'>
<view class="detail-content ">
<view class="detail-content " style="font-size:32rpx">
<!-- <view class="detail-content-title mb20">发生时间</view> -->
<view>2023-02-14</view>
</view>

View File

@@ -1,8 +1,11 @@
<template>
<view class="content">
<uni-list :border="false">
<uni-list-item :show-badge="item<4" badgeType="error" isDot badge-text="未读" title="输入电压异常1"
note="2023-02-01 15:10:29" v-for="item in 5" />
<uni-list-item show-badge badgeType="error" isDot badge-text="未读" title="发生稳态越限监测点10个" note="2023-02-03" clickable @click="jump" />
<uni-list-item show-badge badgeType="error" isDot badge-text="未读" title="发生稳态越限监测点10个" note="2023-02-02" clickable @click="jump" />
<uni-list-item show-badge badgeType="error" isDot badge-text="未读" title="发生稳态越限监测点10个" note="2023-02-01" clickable @click="jump" />
<uni-list-item badgeType="error" isDot badge-text="未读" title="发生稳态越限监测点10个" note="2023-01-31" clickable @click="jump" />
<uni-list-item badgeType="error" isDot badge-text="未读" title="发生稳态越限监测点10个" note="2023-01-30" clickable @click="jump" />
</uni-list>
<uni-load-more status="nomore"></uni-load-more>
</view>
@@ -19,7 +22,9 @@ export default {
},
methods: {
jump(){
uni.navigateTo({ url: '/pages/message/reportList' })
}
}
}
</script>
@@ -33,6 +38,7 @@ export default {
/deep/ .uni-list-item {
background-color: $uni-theme-white !important;
}
/deep/ .uni-badge {
background-color: unset !important;
color: #dd524d !important;

View File

@@ -0,0 +1,49 @@
<template>
<Cn-page :loading='loading'>
<view slot='body'>
<view class='detail'>
<view class="detail-content " style="font-size:32rpx">
<!-- <view class="detail-content-title mb20">发生时间</view> -->
<view>2023-02-14</view>
</view>
<view class="detail-content ">
<view class="detail-content-title mb20">电压谐波畸变率越限4</view>
<image style="width:100%" src="/static/boxing3.jpeg" mode="widthFix" />
</view>
<view class="detail-content ">
<view class="detail-content-title mb20">5次电压谐波含有率越限</view>
<image style="width:100%" src="/static/boxing3.jpeg" mode="widthFix" />
</view>
</view>
</view>
</Cn-page>
</template>
<script>
export default {
data () {
return {
loading: false
}
},
methods: {
}
}
</script>
<style lang='scss'>
.detail {
padding: 20rpx 0;
.detail-content {
padding: 20rpx;
background: #fff;
margin-bottom: 20rpx;
font-size: 26rpx;
.detail-content-title {
font-size: 32rpx;
color: #111;
font-weight: 700;
}
}
}
</style>

View File

@@ -0,0 +1,54 @@
<template>
<view class="content">
<view class="detail-content " style="font-size:32rpx">
<!-- <view class="detail-content-title mb20">发生时间</view> -->
<view>2023-02-14</view>
</view>
<uni-list :border="false">
<uni-list-item title="灿能园区CN_NPQS682发生稳态越线" note="电压谐波畸变率越限45分钟,5次电压谐波含有率越限5分钟" clickable @click="jump" />
<uni-list-item title="灿能园区CN_NPQS682发生稳态越线" note="电压谐波畸变率越限27分钟,5次电压谐波含有率越限3分钟" clickable @click="jump" />
<uni-list-item title="灿能园区CN_NPQS682发生稳态越线" note="电压谐波畸变率越限45分钟,5次电压谐波含有率越限5分钟" clickable @click="jump" />
<uni-list-item title="灿能园区CN_NPQS682发生稳态越线" note="电压谐波畸变率越限45分钟,5次电压谐波含有率越限5分钟" clickable @click="jump" />
<uni-list-item title="灿能园区CN_NPQS682发生稳态越线" note="电压谐波畸变率越限45分钟,5次电压谐波含有率越限5分钟" clickable @click="jump" />
</uni-list>
<uni-load-more status="nomore"></uni-load-more>
</view>
</template>
<script>
export default {
data () {
return {
title: '灿能'
}
},
onLoad () {
},
methods: {
jump () {
uni.navigateTo({ url: '/pages/message/reportDetail' })
}
}
}
</script>
<style lang="scss">
.content {
.detail-content{
padding: 20rpx 30rpx;
background: #fff;
margin-bottom: 20rpx;
}
}
/deep/ .uni-list-item {
background-color: $uni-theme-white !important;
}
/deep/ .uni-badge {
background-color: unset !important;
color: #dd524d !important;
font-size: 28rpx !important;
}
</style>

View File

@@ -2,7 +2,7 @@
<Cn-page :loading='loading'>
<view slot='body'>
<view class='detail'>
<view class="detail-content ">
<view class="detail-content " style="font-size:32rpx">
<!-- <view class="detail-content-title mb20">发生时间</view> -->
<view>2023-02-14</view>
</view>

View File

@@ -3,7 +3,9 @@
<view slot='body'>
<view class='detail'>
<view class="header">
<view class="header-title">{{ project }}</view>
<view class="header-title">{{ project }}
<view class="header-title-extra">用能</view>
</view>
<view class="header-des">项目详情</view>
</view>
<view class="nav">
@@ -13,8 +15,8 @@
</view>
<view class="content device" :style="{ minHeight: 'calc(100vh - ' + navHeight + 'px)' }">
<view v-show="navMenuActive == 0">
<uni-card title="用能设备" sub-title="设备" extra="APF" v-for="item in 2" :key="item" @click="goDevice"
padding="0" thumbnail="/static/real_time_data.png">
<uni-card :title="'设备' + item" :sub-title="project" extra="用能" v-for="item in 2" :key="item"
@click="goDevice" padding="0" thumbnail="/static/device.png">
</uni-card>
</view>
<view style="padding: 0 20rpx" v-show="navMenuActive == 1">
@@ -36,7 +38,7 @@
<uni-load-more status="nomore"></uni-load-more>
</view>
<uni-fab ref="fab" direction="vertical" horizontal="right" vertical="bottom" :content="content"
@trigger="trigger" />
@trigger="trigger" v-if="content.length" />
<uni-popup ref="share" type="share" background-color="#fff">
<uni-popup-share title="分享到"></uni-popup-share>
</uni-popup>
@@ -55,18 +57,21 @@ export default {
}, {
text: '子用户列表'
}],
content: [{
iconPath: '/static/share.png',
text: '分享',
}],
content: [],
navHeight: 0,
navMenuActive: 0
}
},
methods: {
trigger () {
trigger (e) {
console.log(this.$refs);
this.$refs.share.open()
if (e.item.text == '移交') {
uni.navigateTo({
url: '/pages/project/transfer'
})
} else if (e.item.text == '分享') {
this.$refs.share.open()
}
},
navMenuClick (index) {
this.navMenuActive = index
@@ -99,6 +104,18 @@ export default {
},
onLoad (option) {
this.project = option.project
let userInfo = uni.getStorageSync('userInfo')
if (userInfo.role == '3') {
this.content.push({
iconPath: '/static/transfer.png',
text: '移交',
})
} else if (userInfo.role == '4') {
this.content.push({
iconPath: '/static/share.png',
text: '分享',
})
}
setTimeout(() => {
// 获取nav高度
uni.createSelectorQuery().select('.nav').boundingClientRect((rect) => {
@@ -120,8 +137,17 @@ export default {
padding: 20rpx 20rpx 0;
.header-title {
display: flex;
justify-content: space-between;
align-items: center;
font-size: 40rpx;
margin-bottom: 10rpx;
.header-title-extra {
font-size: 24rpx;
color: #666;
padding-right: 10rpx;
}
}
.header-des {

View File

@@ -4,20 +4,31 @@
<uni-nav-bar dark :fixed="true" status-bar left-icon="left" rightIcon="plusempty" background-color="#fff"
color="#111" title="项目管理" @clickLeft="back" @clickRight="add" />
<view class="message">
<view class="message-nav" @click="jump('监测')">
<view class="message-nav-label">监测</view>
<uni-icons type="forward" color="#aaa" size="20"></uni-icons>
</view>
<view class="message-nav" @click="jump('治理')">
<view class="message-nav-label">治理</view>
<uni-icons type="forward" color="#aaa" size="20"></uni-icons>
</view>
<view class="message-nav" @click="jump('用能')">
<view class="message-nav-label">用能</view>
<!-- <uni-badge text="3"></uni-badge> -->
<uni-icons type="forward" color="#aaa" size="20"></uni-icons>
</view>
<uni-card title="XXX项目1" extra="用能" @click="jump('XXX项目1')">
<view class="term-list-bottom">
<view class="term-list-bottom-item">
<view>设备个数</view>
<view>3</view>
</view>
<view class="term-list-bottom-item">
<view>用户个数</view>
<view>1</view>
</view>
</view>
</uni-card>
<uni-card title="XXX项目2" extra="监测" @click="jump('XXX项目2')">
<view class="term-list-bottom">
<view class="term-list-bottom-item">
<view>设备个数</view>
<view>3</view>
</view>
<view class="term-list-bottom-item">
<view>用户个数</view>
<view>1</view>
</view>
</view>
</uni-card>
<uni-load-more status="nomore"></uni-load-more>
</view>
</view>
</template>
@@ -117,4 +128,20 @@ export default {
}
}
}
.term-list-bottom {
.term-list-bottom-item {
font-size: 28rpx;
margin-bottom: 20rpx;
display: flex;
justify-content: space-between;
// view:first-of-type{
// color: #111;
// }
}
.term-list-bottom-item:last-of-type {
margin-bottom: 0;
}
}
</style>

View File

@@ -7,6 +7,9 @@
<uni-forms-item label="项目名称">
<uni-easyinput type="number" v-model="formData.name" placeholder="请输入项目名称" />
</uni-forms-item>
<uni-forms-item label="项目类别">
<uni-data-select v-model="formData.type" :localdata="TypeRange"></uni-data-select>
</uni-forms-item>
<uni-forms-item label="区域">
<view style="display:flex;">
<uni-easyinput :clearable="false" type="textarea" autoHeight v-model="formData.address"
@@ -16,7 +19,7 @@
</view>
</uni-forms-item>
<uni-forms-item label="描述">
<uni-easyinput type="textarea" v-model="formData.name" placeholder="请输入项目描述" />
<uni-easyinput type="textarea" autoHeight v-model="formData.name" placeholder="请输入项目描述" />
</uni-forms-item>
<uni-file-picker title="请上传拓扑图" :sourceType="['album']"></uni-file-picker>
</uni-forms>
@@ -35,8 +38,19 @@ export default {
loading: false,
formData: {
name: '',
gplot: ''
gplot: '',
type:''
},
TypeRange: [
{
text: '监测',
value: '1'
},
{
text: '用能',
value: '2'
}
]
}
},
methods: {
@@ -54,7 +68,7 @@ export default {
submit () {
this.$util.toast('项目创建成功')
setTimeout(() => {
uni.navigateBack({ delta: 1 })
uni.navigateBack({ delta: 1 })
}, 1500);
}
}
@@ -62,7 +76,7 @@ export default {
</script>
<style lang='scss'>
.new {
padding: 34rpx;
padding: 34rpx;
.content {
.content-des {
@@ -72,7 +86,7 @@ export default {
}
margin-bottom: 20rpx;
padding: 34rpx;
padding: 34rpx;
background: $uni-theme-white;
border-radius: 12rpx;
}

View File

@@ -0,0 +1,75 @@
<template>
<Cn-page :loading='loading'>
<view slot='body'>
<view class='transfer'>
<image class="transfer-img" src="/static/transfer.png" mode="scaleToFill" />
<view class="transfer-text">请让接收人员扫码接收</view>
<view class="transfer-btn">
<button class="transfer-btn-item" style="background-color:#fff;color:#111" @click="back">返回</button>
<button class="transfer-btn-item ml20" @click="home">转移成功</button>
</view>
</view>
</view>
</Cn-page>
</template>
<script>
export default {
data () {
return {
loading: false
}
},
methods: {
back () {
uni.navigateBack({
delta: 1
})
},
home () {
uni.switchTab({
url: '/pages/index/index'
})
}
}
}
</script>
<style lang='scss'>
.transfer {
padding: 200rpx 34rpx 0;
display: flex;
flex-direction: column;
align-items: center;
.transfer-img {
width: 500rpx;
height: 500rpx;
background: $uni-theme-blue ;
}
.transfer-text {
font-size: 28rpx;
color: #999999;
margin-top: 30rpx;
}
.transfer-btn {
display: flex;
flex-direction: row;
justify-content: space-between;
margin-top: 100rpx;
width: 100%;
.transfer-btn-item {
flex: 1;
height: 80rpx;
border-radius: 12rpx;
background-color: $uni-theme-blue;
font-size: 28rpx;
color: #fff;
display: flex;
justify-content: center;
align-items: center;
}
}
}
</style>

BIN
static/boxing3.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB