页面切图
This commit is contained in:
57
pages.json
57
pages.json
@@ -122,23 +122,47 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/device/record",
|
||||
"path": "pages/device/detailDVR",
|
||||
"style": {
|
||||
"navigationBarTitleText": "DVR设备详情"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/device/recordAPF",
|
||||
"style": {
|
||||
"navigationBarTitleText": "操作记录"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/device/report",
|
||||
"path": "pages/device/recordDVR",
|
||||
"style": {
|
||||
"navigationBarTitleText": "操作记录"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/device/reportAPF",
|
||||
"style": {
|
||||
"navigationBarTitleText": "告警情况"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/device/about",
|
||||
"path": "pages/device/reportDVR",
|
||||
"style": {
|
||||
"navigationBarTitleText": "告警情况"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/device/aboutAPF",
|
||||
"style": {
|
||||
"navigationBarTitleText": "关于"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/device/aboutDVR",
|
||||
"style": {
|
||||
"navigationBarTitleText": "关于"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/gateway/list",
|
||||
"style": {
|
||||
@@ -174,6 +198,30 @@
|
||||
"style": {
|
||||
"navigationBarTitleText": "事件"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/device/transfer",
|
||||
"style": {
|
||||
"navigationBarTitleText": "移交"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/device/feedback",
|
||||
"style": {
|
||||
"navigationBarTitleText": "提交反馈"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/message/feedback",
|
||||
"style": {
|
||||
"navigationBarTitleText": "反馈列表"
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/mine/feedback",
|
||||
"style": {
|
||||
"navigationBarTitleText": "提交反馈"
|
||||
}
|
||||
}
|
||||
],
|
||||
"tabBar": {
|
||||
@@ -208,9 +256,8 @@
|
||||
"navigationBarTextStyle": "black",
|
||||
"navigationBarTitleText": "灿能电力",
|
||||
"navigationBarBackgroundColor": "#fff",
|
||||
"backgroundColor": "#fff"
|
||||
"backgroundColor": "#fff",
|
||||
// #ifdef H5
|
||||
,
|
||||
"navigationStyle": "custom"
|
||||
// #endif
|
||||
},
|
||||
|
||||
124
pages/device/DVR/dianWang.vue
Normal file
124
pages/device/DVR/dianWang.vue
Normal file
@@ -0,0 +1,124 @@
|
||||
<template>
|
||||
<view class='basic'>
|
||||
<view style="font-size:24rpx;color:#111" class="ml4 mb20">电网电压频率:49.974Hz</view>
|
||||
<view class="grid-card">
|
||||
<view class="grid-card-content-5">
|
||||
<view class="item">相数</view>
|
||||
<view class="item">电流(A)</view>
|
||||
<view class="item">毘流峰值比</view>
|
||||
<view class="item">相电压(V)</view>
|
||||
<view class="item">线电压(V)</view>
|
||||
<view class="item">A</view>
|
||||
<view class="item">50.0</view>
|
||||
<view class="item">4.6</view>
|
||||
<view class="item">L2</view>
|
||||
<view class="item">226.8</view>
|
||||
<view class="item">50.0</view>
|
||||
<view class="item">4.6</view>
|
||||
<view class="item">L3</view>
|
||||
<view class="item">226.8</view>
|
||||
<view class="item">50.0</view>
|
||||
<view class="item">4.6</view>
|
||||
<view class="item">N</view>
|
||||
<view class="item">3.9</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="grid-card">
|
||||
<view class="grid-card-content-5">
|
||||
<view class="item">相数</view>
|
||||
<view class="item">视在功要(kVA)</view>
|
||||
<view class="item">有功功类(kW)</view>
|
||||
<view class="item">无功功率(kVar)</view>
|
||||
<view class="item">功率園益</view>
|
||||
<view class="item">226.8</view>
|
||||
<view class="item">50.0</view>
|
||||
<view class="item">4.6</view>
|
||||
<view class="item">L2</view>
|
||||
<view class="item">226.8</view>
|
||||
<view class="item">50.0</view>
|
||||
<view class="item">4.6</view>
|
||||
<view class="item">L3</view>
|
||||
<view class="item">226.8</view>
|
||||
<view class="item">50.0</view>
|
||||
<view class="item">4.6</view>
|
||||
<view class="item">N</view>
|
||||
<view class="item">3.9</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="grid-card">
|
||||
<view class="grid-card-content-4">
|
||||
<view class="item">名称</view>
|
||||
<view class="item">电压(V)</view>
|
||||
<view class="item">频率(Hz)</view>
|
||||
<view class="item">THDU(%)</view>
|
||||
<view class="item">L1</view>
|
||||
<view class="item">226.8</view>
|
||||
<view class="item">50.0</view>
|
||||
<view class="item">4.6</view>
|
||||
<view class="item">L2</view>
|
||||
<view class="item">226.8</view>
|
||||
<view class="item">50.0</view>
|
||||
<view class="item">4.6</view>
|
||||
<view class="item">L3</view>
|
||||
<view class="item">226.8</view>
|
||||
<view class="item">50.0</view>
|
||||
<view class="item">4.6</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="grid-card">
|
||||
<view class="grid-card-title">负载电流</view>
|
||||
<view class="grid-card-content-4">
|
||||
<view class="item">名称</view>
|
||||
<view class="item">有效值(A)</view>
|
||||
<view class="item">cosp</view>
|
||||
<view class="item">THDI(%)</view>
|
||||
<view class="item">L1</view>
|
||||
<view class="item">226.8</view>
|
||||
<view class="item">50.0</view>
|
||||
<view class="item">4.6</view>
|
||||
<view class="item">L2</view>
|
||||
<view class="item">226.8</view>
|
||||
<view class="item">50.0</view>
|
||||
<view class="item">4.6</view>
|
||||
<view class="item">L3</view>
|
||||
<view class="item">226.8</view>
|
||||
<view class="item">50.0</view>
|
||||
<view class="item">4.6</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="grid-card">
|
||||
<view class="grid-card-title">补偿电流</view>
|
||||
<view class="grid-card-content-4">
|
||||
<view class="item">名称</view>
|
||||
<view class="item">有效值(A)</view>
|
||||
<view class="item">负载率(%)</view>
|
||||
<view class="item"></view>
|
||||
<view class="item">L1</view>
|
||||
<view class="item">226.8</view>
|
||||
<view class="item">50.0</view>
|
||||
<view class="item"></view>
|
||||
<view class="item">L2</view>
|
||||
<view class="item">226.8</view>
|
||||
<view class="item">50.0</view>
|
||||
<view class="item"></view>
|
||||
<view class="item">L3</view>
|
||||
<view class="item">226.8</view>
|
||||
<view class="item">50.0</view>
|
||||
<view class="item"></view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang='scss'>
|
||||
.basic {}
|
||||
</style>
|
||||
0
pages/device/DVR/ganjiedian.vue
Normal file
0
pages/device/DVR/ganjiedian.vue
Normal file
0
pages/device/DVR/nibian.vue
Normal file
0
pages/device/DVR/nibian.vue
Normal file
0
pages/device/DVR/qita.vue
Normal file
0
pages/device/DVR/qita.vue
Normal file
0
pages/device/DVR/shuchu.vue
Normal file
0
pages/device/DVR/shuchu.vue
Normal file
0
pages/device/DVR/zhuantailiang.vue
Normal file
0
pages/device/DVR/zhuantailiang.vue
Normal file
44
pages/device/aboutDVR.vue
Normal file
44
pages/device/aboutDVR.vue
Normal file
@@ -0,0 +1,44 @@
|
||||
<template>
|
||||
<Cn-page :loading='loading'>
|
||||
<view slot='body'>
|
||||
<view class='about'>
|
||||
<view class='about-title'>盛弘DVR</view>
|
||||
<view class='about-text'>杋器码:0000000</view>
|
||||
<view class='about-text'>软件版本:1.0.0</view>
|
||||
<view class='about-text'>使用期限:永久使用</view>
|
||||
<view class='about-text'>软件版本:380-250/250-4-0-1</view>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</Cn-page>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
loading: false,
|
||||
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang='scss'>
|
||||
.about {
|
||||
padding: 34rpx;
|
||||
.about-title {
|
||||
font-size: 34rpx;
|
||||
font-weight: bold;
|
||||
color: #333333;
|
||||
margin-bottom: 34rpx;
|
||||
}
|
||||
.about-text {
|
||||
font-size: 28rpx;
|
||||
color: #666666;
|
||||
margin-bottom: 34rpx;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
@@ -72,20 +72,11 @@ export default {
|
||||
}, {
|
||||
text: 'I/O'
|
||||
}],
|
||||
content: [{
|
||||
iconPath: '/static/share.png',
|
||||
text: '分享',
|
||||
}, {
|
||||
iconPath: '/static/delate.png',
|
||||
text: '删除',
|
||||
}, {
|
||||
iconPath: '/static/download.png',
|
||||
text: '下载',
|
||||
}, {
|
||||
content: [ {
|
||||
iconPath: '/static/record.png',
|
||||
text: '记录',
|
||||
}, {
|
||||
iconPath: '/static/report2.png',
|
||||
iconPath: '/static/report.png',
|
||||
text: '告警',
|
||||
}, {
|
||||
iconPath: '/static/about.png',
|
||||
@@ -96,9 +87,10 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
trigger (e) {
|
||||
if (e.index === 0) {
|
||||
console.log(e);
|
||||
if (e.item.text === '分享') {
|
||||
this.$refs.share.open()
|
||||
} else if (e.index === 1) {
|
||||
} else if (e.item.text === '删除') {
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: '确定删除该设备吗?',
|
||||
@@ -110,20 +102,52 @@ export default {
|
||||
}
|
||||
}
|
||||
});
|
||||
} else if (e.index === 2) {
|
||||
} else if (e.item.text === '下载') {
|
||||
this.$util.toast('下载成功')
|
||||
} else if (e.index === 3) {
|
||||
uni.navigateTo({ url: '/pages/device/record' })
|
||||
} else if (e.index === 4) {
|
||||
uni.navigateTo({ url: '/pages/device/report' })
|
||||
} else if (e.index === 5) {
|
||||
uni.navigateTo({ url: '/pages/device/about' })
|
||||
} else if (e.item.text === '记录') {
|
||||
uni.navigateTo({ url: '/pages/device/recordAPF' })
|
||||
} else if (e.item.text === '告警') {
|
||||
uni.navigateTo({ url: '/pages/device/reportAPF' })
|
||||
} else if (e.item.text === '关于') {
|
||||
uni.navigateTo({ url: '/pages/device/aboutAPF' })
|
||||
} else if (e.item.text === '移交') {
|
||||
uni.navigateTo({ url: '/pages/device/transfer' })
|
||||
} else if (e.item.text === '反馈') {
|
||||
uni.navigateTo({ url: '/pages/device/feedback' })
|
||||
}
|
||||
this.$refs.fab.close()
|
||||
},
|
||||
navMenuClick (idx) {
|
||||
this.navMenuActive = idx
|
||||
},
|
||||
init () {
|
||||
let userInfo = uni.getStorageSync(this.$cacheKey.userInfo)
|
||||
console.log(userInfo.role);
|
||||
switch (userInfo.role) {
|
||||
case 3:
|
||||
this.content.splice(0, 0, {
|
||||
iconPath: '/static/transfer.png',
|
||||
text: '移交',
|
||||
})
|
||||
break;
|
||||
case 4:
|
||||
this.content.splice(0, 0, {
|
||||
iconPath: '/static/share.png',
|
||||
text: '分享',
|
||||
}, {
|
||||
iconPath: '/static/delate.png',
|
||||
text: '删除',
|
||||
})
|
||||
case 5:
|
||||
this.content.splice(0, 0, {
|
||||
iconPath: '/static/feedback.png',
|
||||
text: '反馈',
|
||||
})
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
}
|
||||
setTimeout(() => {
|
||||
// 获取nav高度
|
||||
uni.createSelectorQuery().select('.nav').boundingClientRect((rect) => {
|
||||
|
||||
201
pages/device/detailDVR.vue
Normal file
201
pages/device/detailDVR.vue
Normal file
@@ -0,0 +1,201 @@
|
||||
<template>
|
||||
<Cn-page :loading='loading' noPadding>
|
||||
<view slot='body'>
|
||||
<view class='detail'>
|
||||
<view class="header">
|
||||
<image src="/static/test.pic.jpg" mode="widthFix" style="width: 100%;" />
|
||||
</view>
|
||||
<view class="des">
|
||||
<text>设备基础信息</text>
|
||||
<text class="ml10">设备状态</text>
|
||||
</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>
|
||||
</view>
|
||||
<view class="content" :style="{ minHeight: 'calc(100vh - ' + navHeight + 'px)' }">
|
||||
<view v-if="navMenuActive == 0">
|
||||
<DianWang></DianWang>
|
||||
</view>
|
||||
<view v-else-if="navMenuActive == 1">
|
||||
</view>
|
||||
<view v-else-if="navMenuActive == 2">
|
||||
</view>
|
||||
<view v-else-if="navMenuActive == 3">
|
||||
</view>
|
||||
<view v-else-if="navMenuActive == 4">
|
||||
</view>
|
||||
<view style="height:20rpx"></view>
|
||||
</view>
|
||||
<uni-fab ref="fab" direction="vertical" horizontal="right" vertical="bottom" :content="content"
|
||||
@trigger="trigger" />
|
||||
<uni-popup ref="share" type="share" background-color="#fff">
|
||||
<uni-popup-share title="分享到"></uni-popup-share>
|
||||
</uni-popup>
|
||||
</view>
|
||||
</view>
|
||||
</Cn-page>
|
||||
</template>
|
||||
<script>
|
||||
import DianWang from "./DVR/dianWang.vue";
|
||||
export default {
|
||||
components: {
|
||||
DianWang
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
loading: false,
|
||||
navMenuActive: 0,
|
||||
navHeight: 0,
|
||||
navMenuList: [{
|
||||
text: '电网数据'
|
||||
}, {
|
||||
text: '逆变数据'
|
||||
}, {
|
||||
text: '输出数据'
|
||||
}, {
|
||||
text: '干接点'
|
||||
}, {
|
||||
text: '状态量'
|
||||
}, {
|
||||
text: '储能柜数据'
|
||||
}, {
|
||||
text: '其他'
|
||||
}],
|
||||
content: [{
|
||||
iconPath: '/static/record.png',
|
||||
text: '记录',
|
||||
}, {
|
||||
iconPath: '/static/report.png',
|
||||
text: '告警',
|
||||
}, {
|
||||
iconPath: '/static/about.png',
|
||||
text: '关于',
|
||||
},
|
||||
]
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
trigger (e) {
|
||||
console.log(e);
|
||||
if (e.item.text === '分享') {
|
||||
this.$refs.share.open()
|
||||
} else if (e.item.text === '删除') {
|
||||
uni.showModal({
|
||||
title: '提示',
|
||||
content: '确定删除该设备吗?',
|
||||
success: function (res) {
|
||||
if (res.confirm) {
|
||||
console.log('用户点击确定')
|
||||
} else if (res.cancel) {
|
||||
console.log('用户点击取消')
|
||||
}
|
||||
}
|
||||
});
|
||||
} else if (e.item.text === '下载') {
|
||||
this.$util.toast('下载成功')
|
||||
} else if (e.item.text === '记录') {
|
||||
uni.navigateTo({ url: '/pages/device/recordDVR' })
|
||||
} else if (e.item.text === '告警') {
|
||||
uni.navigateTo({ url: '/pages/device/reportDVR' })
|
||||
} else if (e.item.text === '关于') {
|
||||
uni.navigateTo({ url: '/pages/device/aboutDVR' })
|
||||
} else if (e.item.text === '移交') {
|
||||
uni.navigateTo({ url: '/pages/device/transfer' })
|
||||
} else if (e.item.text === '反馈') {
|
||||
uni.navigateTo({ url: '/pages/device/feedback' })
|
||||
}
|
||||
this.$refs.fab.close()
|
||||
},
|
||||
navMenuClick (idx) {
|
||||
this.navMenuActive = idx
|
||||
},
|
||||
init () {
|
||||
let userInfo = uni.getStorageSync(this.$cacheKey.userInfo)
|
||||
console.log(userInfo.role);
|
||||
switch (userInfo.role) {
|
||||
case 3:
|
||||
this.content.splice(0, 0, {
|
||||
iconPath: '/static/transfer.png',
|
||||
text: '移交',
|
||||
})
|
||||
break;
|
||||
case 4:
|
||||
this.content.splice(0, 0, {
|
||||
iconPath: '/static/share.png',
|
||||
text: '分享',
|
||||
}, {
|
||||
iconPath: '/static/delate.png',
|
||||
text: '删除',
|
||||
})
|
||||
case 5:
|
||||
this.content.splice(0, 0, {
|
||||
iconPath: '/static/feedback.png',
|
||||
text: '反馈',
|
||||
})
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
}
|
||||
setTimeout(() => {
|
||||
// 获取nav高度
|
||||
uni.createSelectorQuery().select('.nav').boundingClientRect((rect) => {
|
||||
this.navHeight = rect.height
|
||||
}).exec()
|
||||
}, 1000);
|
||||
}
|
||||
},
|
||||
onLoad (options) {
|
||||
this.init()
|
||||
},
|
||||
|
||||
}
|
||||
</script>
|
||||
<style lang='scss'>
|
||||
.detail {
|
||||
|
||||
// background: $uni-theme-white;
|
||||
.header {}
|
||||
|
||||
.des {
|
||||
padding: 20rpx 20rpx 0;
|
||||
font-size: 28rpx;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.nav {
|
||||
position: sticky;
|
||||
top: 0;
|
||||
left: 0;
|
||||
padding-top: 20rpx;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
background: rgb(243, 244, 245);
|
||||
|
||||
.nav-menu {
|
||||
padding: 10rpx 20rpx;
|
||||
margin-left: 20rpx;
|
||||
margin-bottom: 20rpx;
|
||||
font-size: 28rpx;
|
||||
border-radius: 8rpx;
|
||||
background: $uni-theme-white;
|
||||
|
||||
|
||||
&-active {
|
||||
background: $uni-color-primary;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.content {
|
||||
box-sizing: border-box;
|
||||
padding: 0 20rpx;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
</style>
|
||||
90
pages/device/feedback.vue
Normal file
90
pages/device/feedback.vue
Normal file
@@ -0,0 +1,90 @@
|
||||
<template>
|
||||
<Cn-page :loading='loading'>
|
||||
<view slot='body'>
|
||||
<view class='index'>
|
||||
<view class="content" v-for="(item, index) in formData" :key="index">
|
||||
<uni-forms>
|
||||
<!-- <uni-forms-item label="类型">
|
||||
<uni-data-select v-model="item.type" :localdata="range"></uni-data-select>
|
||||
</uni-forms-item> -->
|
||||
<uni-forms-item label="标题">
|
||||
<uni-easyinput type="text" v-model="item.title" placeholder="请输入问题简要" />
|
||||
</uni-forms-item>
|
||||
<uni-forms-item label="描述">
|
||||
<uni-easyinput type="textarea" v-model="item.des" placeholder="请输入详细描述" />
|
||||
</uni-forms-item>
|
||||
</uni-forms>
|
||||
</view>
|
||||
<view class="btn-wrap">
|
||||
<view class="btn-wrap-item " @click="submit"> 提交 </view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</Cn-page>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
loading: false,
|
||||
formData: [
|
||||
{
|
||||
title: '',
|
||||
des: '',
|
||||
}
|
||||
],
|
||||
range: [
|
||||
{ value: 0, text: "DVR" },
|
||||
{ value: 1, text: "APF" },
|
||||
],
|
||||
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
add () {
|
||||
this.formData.push({
|
||||
type: '',
|
||||
address: '',
|
||||
})
|
||||
},
|
||||
submit () {
|
||||
console.log(this.formData)
|
||||
uni.navigateBack({ delta: 1 })
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang='scss'>
|
||||
.index {
|
||||
padding: 34rpx;
|
||||
|
||||
.content {
|
||||
margin-bottom: 20rpx;
|
||||
padding: 34rpx;
|
||||
background: $uni-theme-white;
|
||||
border-radius: 12rpx;
|
||||
}
|
||||
|
||||
.btn-wrap {
|
||||
margin-top: 40rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
|
||||
.btn-wrap-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
flex: 1;
|
||||
background: $uni-theme-blue;
|
||||
color: #fff;
|
||||
height: 80rpx;
|
||||
border-radius: 12rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/deep/ .uni-forms-item:last-of-type {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
</style>
|
||||
59
pages/device/recordDVR.vue
Normal file
59
pages/device/recordDVR.vue
Normal file
@@ -0,0 +1,59 @@
|
||||
<template>
|
||||
<Cn-page :loading='loading'>
|
||||
<view slot='body'>
|
||||
<view class='device-list'>
|
||||
<div class="header">
|
||||
<uni-segmented-control :current="current" :values="items" :style-type="styleType"
|
||||
:active-color="activeColor" @clickItem="onClickItem" />
|
||||
</div>
|
||||
<uni-list :border="false">
|
||||
<uni-list-item title="记录" note="0.20->0.20" rightText="2023-02-01 15:10:29" v-for="item in 5" />
|
||||
</uni-list>
|
||||
<uni-load-more status="nomore"></uni-load-more>
|
||||
</view>
|
||||
</view>
|
||||
</Cn-page>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
loading: false,
|
||||
current: 0,
|
||||
items: ['状态', '事件', '曲线','操作'],
|
||||
styleType: 'text',
|
||||
activeColor: '#007aff',
|
||||
content: [{
|
||||
iconPath: '/static/add.png',
|
||||
text: '添加 ',
|
||||
},
|
||||
]
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
onClickItem (e) {
|
||||
this.current = e.currentIndex
|
||||
},
|
||||
trigger (e) {
|
||||
if (e.index === 0) {
|
||||
uni.navigateTo({
|
||||
url: '/pages/device/new'
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang='scss'>
|
||||
.device-list {
|
||||
.header {
|
||||
position: sticky;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 10;
|
||||
background: #fff;
|
||||
padding: 10rpx 20rpx 20rpx;
|
||||
box-shadow: 0 0 10rpx #ccc;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
51
pages/device/reportDVR.vue
Normal file
51
pages/device/reportDVR.vue
Normal file
@@ -0,0 +1,51 @@
|
||||
<template>
|
||||
<Cn-page :loading='loading'>
|
||||
<view slot='body'>
|
||||
<view class='record'>
|
||||
<div class="header">
|
||||
<uni-segmented-control :current="current" :values="items" :style-type="styleType"
|
||||
:active-color="activeColor" @clickItem="onClickItem" />
|
||||
</div>
|
||||
<uni-list :border="false">
|
||||
<uni-list-item title="输入电压异常" rightText="2023-02-01 15:10:29" v-for="item in 5" />
|
||||
</uni-list>
|
||||
<uni-load-more status="nomore"></uni-load-more>
|
||||
</view>
|
||||
</view>
|
||||
</Cn-page>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
loading: false,
|
||||
current: 0,
|
||||
items: ['当前告警', '历史告警'],
|
||||
styleType: 'text',
|
||||
activeColor: '#007aff',
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
onClickItem (e) {
|
||||
this.current = e.currentIndex
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang='scss'>
|
||||
.record {
|
||||
.header {
|
||||
position: sticky;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 10;
|
||||
background: $uni-theme-white;
|
||||
padding: 10rpx 20rpx 20rpx;
|
||||
box-shadow: 0 0 10rpx #eee;
|
||||
}
|
||||
}
|
||||
|
||||
/deep/ .uni-list-item {
|
||||
background-color: $uni-theme-white !important;
|
||||
}
|
||||
</style>
|
||||
75
pages/device/transfer.vue
Normal file
75
pages/device/transfer.vue
Normal 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-color-primary ;
|
||||
}
|
||||
|
||||
.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-color-primary;
|
||||
font-size: 28rpx;
|
||||
color: #fff;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -8,7 +8,7 @@
|
||||
<uni-data-select v-model="item.type" :localdata="range"></uni-data-select>
|
||||
</uni-forms-item>
|
||||
<uni-forms-item label="MAC地址">
|
||||
<uni-easyinput type="number" v-model="item.address" placeholder="请输入设备MAC地址" />
|
||||
<uni-easyinput type="text" v-model="item.address" placeholder="请输入设备MAC地址" />
|
||||
</uni-forms-item>
|
||||
</uni-forms>
|
||||
</view>
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
<div class="header-item-label">离线设备</div>
|
||||
</div>
|
||||
</div>
|
||||
<uni-card title="基础设备" sub-title="副标题" extra="APF" v-for="item in 3" :key="item" @click="jump"
|
||||
thumbnail="/static/device.png">
|
||||
<uni-card title="基础设备" sub-title="副标题" :extra="item % 2 ? 'APF' : 'DVR'" v-for="item in 3" :key="item"
|
||||
@click="jump(item)" thumbnail="/static/device.png">
|
||||
<text>设备基础信息 </text>
|
||||
</uni-card>
|
||||
<uni-load-more status="nomore"></uni-load-more>
|
||||
@@ -29,10 +29,16 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
jump () {
|
||||
uni.navigateTo({
|
||||
url: '/pages/device/detailAPF'
|
||||
})
|
||||
jump (item) {
|
||||
if (item % 2) {
|
||||
uni.navigateTo({
|
||||
url: '/pages/device/detailAPF'
|
||||
})
|
||||
} else {
|
||||
uni.navigateTo({
|
||||
url: '/pages/device/detailDVR'
|
||||
})
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
<div class="header-item-label">离线设备</div>
|
||||
</div>
|
||||
</div>
|
||||
<uni-card title="基础设备" sub-title="副标题" extra="APF" v-for="item in 3" :key="item" @click="jump"
|
||||
thumbnail="/static/device.png">
|
||||
<uni-card title="基础设备" sub-title="副标题" :extra="item % 2 ? 'APF' : 'DVR'" v-for="item in 3" :key="item"
|
||||
@click="jump(item)" thumbnail="/static/device.png">
|
||||
<text>设备基础信息 </text>
|
||||
</uni-card>
|
||||
<uni-load-more status="nomore"></uni-load-more>
|
||||
@@ -29,10 +29,16 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
jump () {
|
||||
uni.navigateTo({
|
||||
url: '/pages/device/detailAPF'
|
||||
})
|
||||
jump (item) {
|
||||
if (item % 2) {
|
||||
uni.navigateTo({
|
||||
url: '/pages/device/detailAPF'
|
||||
})
|
||||
} else {
|
||||
uni.navigateTo({
|
||||
url: '/pages/device/detailDVR'
|
||||
})
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
<div class="header-item-label">离线设备</div>
|
||||
</div>
|
||||
</div>
|
||||
<uni-card title="基础设备" sub-title="副标题" extra="APF" v-for="item in 3" :key="item" @click="jump"
|
||||
thumbnail="/static/device.png">
|
||||
<uni-card title="基础设备" sub-title="副标题" :extra="item % 2 ? 'APF' : 'DVR'" v-for="item in 3" :key="item"
|
||||
@click="jump(item)" thumbnail="/static/device.png">
|
||||
<text>设备基础信息 </text>
|
||||
</uni-card>
|
||||
<uni-load-more status="nomore"></uni-load-more>
|
||||
@@ -29,6 +29,17 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
jump (item) {
|
||||
if (item % 2) {
|
||||
uni.navigateTo({
|
||||
url: '/pages/device/detailAPF'
|
||||
})
|
||||
} else {
|
||||
uni.navigateTo({
|
||||
url: '/pages/device/detailDVR'
|
||||
})
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -40,6 +40,17 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
jump (item) {
|
||||
if (item % 2) {
|
||||
uni.navigateTo({
|
||||
url: '/pages/device/detailAPF'
|
||||
})
|
||||
} else {
|
||||
uni.navigateTo({
|
||||
url: '/pages/device/detailDVR'
|
||||
})
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
<div class="header-item-label">离线设备</div>
|
||||
</div>
|
||||
</div>
|
||||
<uni-card title="基础设备" sub-title="副标题" extra="APF" v-for="item in 3" :key="item" @click="jump"
|
||||
thumbnail="/static/device.png">
|
||||
<uni-card title="基础设备" sub-title="副标题" :extra="item % 2 ? 'APF' : 'DVR'" v-for="item in 3" :key="item"
|
||||
@click="jump(item)" thumbnail="/static/device.png">
|
||||
<text>设备基础信息 </text>
|
||||
</uni-card>
|
||||
<uni-load-more status="nomore"></uni-load-more>
|
||||
@@ -29,6 +29,17 @@ export default {
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
jump (item) {
|
||||
if (item % 2) {
|
||||
uni.navigateTo({
|
||||
url: '/pages/device/detailAPF'
|
||||
})
|
||||
} else {
|
||||
uni.navigateTo({
|
||||
url: '/pages/device/detailDVR'
|
||||
})
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -6,6 +6,11 @@
|
||||
<view class="message-nav-label">系统</view>
|
||||
<uni-icons type="forward" color="#aaa" size="20"></uni-icons>
|
||||
</view>
|
||||
<view class="message-nav" @click="jump('feedback')">
|
||||
<image mode="aspectFill" class="message-nav-icon" src="/static/feedback.png" />
|
||||
<view class="message-nav-label">反馈</view>
|
||||
<uni-icons type="forward" color="#aaa" size="20"></uni-icons>
|
||||
</view>
|
||||
<view class="message-nav" @click="jump('report')">
|
||||
<image mode="aspectFill" class="message-nav-icon" src="/static/report.png" />
|
||||
<view class="message-nav-label">告警</view>
|
||||
|
||||
36
pages/message/feedback.vue
Normal file
36
pages/message/feedback.vue
Normal file
@@ -0,0 +1,36 @@
|
||||
<template>
|
||||
<view class="content">
|
||||
<uni-list :border="false">
|
||||
<uni-list-item :show-badge="item<0" badgeType="error" isDot badge-text="未读" title="机器不稳定"
|
||||
note="2023-02-01 15:10:29" v-for="item in 5" />
|
||||
</uni-list>
|
||||
<uni-load-more status="nomore"></uni-load-more>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
title: '灿能'
|
||||
}
|
||||
},
|
||||
onLoad () {
|
||||
|
||||
},
|
||||
methods: {
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
.content {
|
||||
padding-top: 20rpx;
|
||||
}
|
||||
|
||||
|
||||
/deep/ .uni-list-item {
|
||||
background-color: $uni-theme-white !important;
|
||||
}
|
||||
</style>
|
||||
@@ -2,7 +2,7 @@
|
||||
<Cn-page :loading='loading'>
|
||||
<view slot='body'>
|
||||
<view class='about'>
|
||||
<view class="logo"></view>
|
||||
<image src="/static/logo.png" class="logo"></image>
|
||||
<view class="name">灿能云</view>
|
||||
<view class="version">Version 1.0.0</view>
|
||||
</view>
|
||||
@@ -33,7 +33,6 @@ export default {
|
||||
.logo {
|
||||
height: 120rpx;
|
||||
width: 120rpx;
|
||||
background: $uni-theme-blue;
|
||||
}
|
||||
|
||||
.name {
|
||||
|
||||
89
pages/mine/feedback.vue
Normal file
89
pages/mine/feedback.vue
Normal file
@@ -0,0 +1,89 @@
|
||||
<template>
|
||||
<Cn-page :loading='loading'>
|
||||
<view slot='body'>
|
||||
<view class='index'>
|
||||
<view class="content" v-for="(item, index) in formData" :key="index">
|
||||
<uni-forms>
|
||||
<uni-forms-item label="类型">
|
||||
<uni-data-select v-model="item.type" :localdata="range"></uni-data-select>
|
||||
</uni-forms-item>
|
||||
<uni-forms-item label="标题">
|
||||
<uni-easyinput type="text" v-model="item.title" placeholder="请输入问题简要" />
|
||||
</uni-forms-item>
|
||||
<uni-forms-item label="描述">
|
||||
<uni-easyinput type="textarea" v-model="item.des" placeholder="请输入详细描述" />
|
||||
</uni-forms-item>
|
||||
</uni-forms>
|
||||
</view>
|
||||
<view class="btn-wrap">
|
||||
<view class="btn-wrap-item " @click="submit"> 提交 </view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</Cn-page>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
data () {
|
||||
return {
|
||||
loading: false,
|
||||
formData: [
|
||||
{
|
||||
title: '',
|
||||
des: '',
|
||||
}
|
||||
],
|
||||
range: [
|
||||
{ value: 0, text: "需求" },
|
||||
{ value: 1, text: "缺陷" },
|
||||
],
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
add () {
|
||||
this.formData.push({
|
||||
type: '',
|
||||
address: '',
|
||||
})
|
||||
},
|
||||
submit () {
|
||||
console.log(this.formData)
|
||||
uni.navigateBack({ delta: 1 })
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang='scss'>
|
||||
.index {
|
||||
padding: 34rpx;
|
||||
|
||||
.content {
|
||||
margin-bottom: 20rpx;
|
||||
padding: 34rpx;
|
||||
background: $uni-theme-white;
|
||||
border-radius: 12rpx;
|
||||
}
|
||||
|
||||
.btn-wrap {
|
||||
margin-top: 40rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
|
||||
.btn-wrap-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
flex: 1;
|
||||
background: $uni-theme-blue;
|
||||
color: #fff;
|
||||
height: 80rpx;
|
||||
border-radius: 12rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/deep/ .uni-forms-item:last-of-type {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
</style>
|
||||
@@ -25,6 +25,10 @@
|
||||
<view class="mine-nav-label">公司介绍</view>
|
||||
<uni-icons type="forward" color="#aaa" size="20"></uni-icons>
|
||||
</view>
|
||||
<view class="mine-nav" @click="jump('feedback')" >
|
||||
<view class="mine-nav-label">意见反馈</view>
|
||||
<uni-icons type="forward" color="#aaa" size="20"></uni-icons>
|
||||
</view>
|
||||
<view class="mine-nav" @click="jump('about')" style="border-bottom: none; ">
|
||||
<view class="mine-nav-label">关于我们</view>
|
||||
<uni-icons type="forward" color="#aaa" size="20"></uni-icons>
|
||||
|
||||
BIN
static/feedback.png
Normal file
BIN
static/feedback.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 8.4 KiB |
BIN
static/transfer.png
Normal file
BIN
static/transfer.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 8.9 KiB |
Reference in New Issue
Block a user