暂态事件处理

This commit is contained in:
仲么了
2023-09-06 18:13:08 +08:00
parent 1d2974aca7
commit f8d8229cc1
10 changed files with 130 additions and 108 deletions

19
common/api/message.js Normal file
View File

@@ -0,0 +1,19 @@
import request from '../js/request';
import config from '../js/config';
/**
* 已读暂态
* @returns {*}
*/
export function updateStatus(eventIds) {
return request({
url: 'cs-harmonic-boot/eventUser/updateStatus',
method: 'post',
header: {
'Content-Type': 'application/json',
},
data: {
eventIds
},
})
}

View File

@@ -30,7 +30,7 @@ export default {
pageNum: 1,
pageSize: 20,
},
timer:null,
timer: null,
callBack: null,
firstCallBack: null,
loadedCallback: null,
@@ -56,7 +56,7 @@ export default {
method: 'POST',
}).then((res) => {
console.warn(res)
let resultData = res.data?.list || res.data?.records || []
let resultData = res.data?.list || res.data?.records || res.data || []
if (this.params.pageNum == 1) {
this.data = resultData
if (resultData.length == 0 || resultData == 0) {

View File

@@ -267,6 +267,13 @@ const decodeToken = (token) => {
return obj
}
const getDictData = (key) => {
let dictData = uni.getStorageSync(cacheKey.dictData)
if (dictData) {
return dictData.filter((item) => item.code === key)[0]?.children || []
}
}
export default {
validatePhoneNumber,
toast,
@@ -278,4 +285,5 @@ export default {
prePage,
loginSuccess,
refreshPrePage,
getDictData
}

View File

@@ -133,7 +133,7 @@ export default {
// text: '波形',
// },
{
text: 'I/O',
text: '其他',
},
],
content: [

View File

@@ -72,7 +72,7 @@ export default {
this.formData.id = this.engineering.id
uni.setNavigationBarTitle({title: '工程编辑'})
}
if(options.from === 'index'){
if (options.from === 'index') {
this.$util.toast('请先创建一个工程')
}
// console.log(area);
@@ -129,7 +129,7 @@ export default {
if (this.options.from === 'index') {
uni.setStorageSync('engineering', res.data)
uni.redirectTo({
url: '/pages/device/new',
url: '/pages/device/new?type=' + this.options.type,
})
return
} else {

View File

@@ -39,7 +39,9 @@
<view class="canneng-index-title mt20">常用功能</view>
<view style="padding: 20rpx 20rpx 0">
<Cn-grid title="">
<Cn-grid-item src="/static/device2.png" text="设备注册" @click="registerDevice"></Cn-grid-item>
<Cn-grid-item src="/static/device2.png" text="设备注册" @click="registerDevice()"></Cn-grid-item>
<Cn-grid-item src="/static/device2.png" text="功能调试" @click="registerDevice(2)"></Cn-grid-item>
<Cn-grid-item src="/static/device2.png" text="出厂调试" @click="registerDevice(3)"></Cn-grid-item>
<!-- <Cn-grid-item src="/static/gateway2.png" text="网关注册" @click="registerGateway"></Cn-grid-item> -->
<!-- <Cn-grid-item src="/static/feedback2.png" text="问题反馈" @click="submitFeedBack"></Cn-grid-item>-->
</Cn-grid>
@@ -63,7 +65,7 @@ export default {
submitFeedBack() {
uni.navigateTo({url: '/pages/home/feedback'})
},
registerDevice() {
registerDevice(type) {
uni.showModal({
title: '提示',
content: '请选择设备类型',
@@ -74,11 +76,11 @@ export default {
if (confirm) {
if (this.devCount.engineeringListLength > 0) {
uni.navigateTo({
url: '/pages/device/new',
url: '/pages/device/new?type=' + type,
})
} else {
uni.navigateTo({
url: '/pages/engineering/new?from=index'
url: '/pages/engineering/new?from=index&type=' + type
})
}

View File

@@ -46,15 +46,7 @@
<view class="mine-nav-label">工程列表</view>
<uni-icons type="forward" color="#aaa" size="20"></uni-icons>
</view>
<view
class="mine-nav"
@click="jump('engineering/setting')"
v-if="userInfo.authorities === 'engineering_user'"
>
<image mode="aspectFill" class="mine-nav-icon" src="/static/like.png"/>
<view class="mine-nav-label">关注工程配置</view>
<uni-icons type="forward" color="#aaa" size="20"></uni-icons>
</view>
<view class="mine-nav" @click="jump('project')">
<image mode="aspectFill" class="mine-nav-icon" src="/static/project.png"/>
<view class="mine-nav-label">项目列表</view>
@@ -79,6 +71,20 @@
<view class="mine-nav-label">消息配置</view>
<uni-icons type="forward" color="#aaa" size="20"></uni-icons>
</view>
<view
class="mine-nav"
@click="jump('engineering/setting')"
v-if="userInfo.authorities === 'engineering_user'"
>
<image mode="aspectFill" class="mine-nav-icon" src="/static/like.png"/>
<view class="mine-nav-label">关注工程配置</view>
<uni-icons type="forward" color="#aaa" size="20"></uni-icons>
</view>
<view class="mine-nav" @click="jump('setupServer')">
<image mode="aspectFill" class="mine-nav-icon" src="/static/server2.png"/>
<view class="mine-nav-label">服务内容配置</view>
<uni-icons type="forward" color="#aaa" size="20"></uni-icons>
</view>
<view class="mine-nav" @click="jump('setup')" style="border-bottom: none">
<image mode="aspectFill" class="mine-nav-icon" src="/static/setup.png"/>
<view class="mine-nav-label">设置</view>

View File

@@ -1,71 +1,55 @@
<template>
<view class="content">
<uni-card title="NPQS_682发生暂降事件" extra="未读" sub-title="2023-02-27 15:13:29" @click="jump">
<view class="term-list-bottom">
<view class="term-list-bottom-item">
特征增幅88%持续时间0.047s
<Cn-page :loading="loading">
<view class="content" slot="body">
<uni-card :title="item.title" :extra="item.status === '1'?'':'未读'" :sub-title="item.startTime"
@click="jump(item)"
v-for="(item,index) in store.data" :key="index">
<view class="term-list-bottom">
<view class="term-list-bottom-item">
{{ item.engineeringName + '' + item.projectName }}
</view>
<view class="term-list-bottom-item" v-for="(item2,textIndex) in item.dataSet" :key="textIndex">
{{ item2.showName + ':' + item2.value + (item2.unit || '') }}
</view>
</view>
<view class="term-list-bottom-item">
南京市 灿能园区
</view>
<view class="term-list-bottom-item">
电压等级0.38kV
</view>
<view class="term-list-bottom-item">
网路参数00-B7-8D-A8-00-D3
</view>
</view>
</uni-card>
<uni-card title="NPQS_682发生暂降事件" extra="未读" sub-title="2023-02-27 15:13:29" @click="jump">
<view class="term-list-bottom">
<view class="term-list-bottom-item">
特征增幅88%持续时间0.047s
</view>
<view class="term-list-bottom-item">
南京市 灿能园区
</view>
<view class="term-list-bottom-item">
电压等级0.38kV
</view>
<view class="term-list-bottom-item">
网路参数00-B7-8D-A8-00-D3
</view>
</view>
</uni-card>
<uni-card title="NPQS_682发生暂降事件" sub-title="2023-02-27 15:13:29" @click="jump">
<view class="term-list-bottom">
<view class="term-list-bottom-item">
特征增幅88%持续时间0.047s
</view>
<view class="term-list-bottom-item">
南京市 灿能园区
</view>
<view class="term-list-bottom-item">
电压等级0.38kV
</view>
<view class="term-list-bottom-item">
网路参数00-B7-8D-A8-00-D3
</view>
</view>
</uni-card>
<uni-load-more status="nomore"></uni-load-more>
</view>
</uni-card>
<Cn-empty v-if="store.empty" style="padding-top: 400rpx"></Cn-empty>
<uni-load-more v-if="store.data && store.data.length > 0" :status="store.status"></uni-load-more>
</view>
</Cn-page>
</template>
<script>
import list from "@/common/js/list";
export default {
data () {
mixins: [list],
data() {
return {
title: '灿能'
loading: true,
}
},
onLoad () {
onShow() {
this.init()
},
methods: {
jump () {
console.log(123);
uni.navigateTo({ url: '/pages/message/incidentDetail' })
init() {
let dictData = this.$util.getDictData('app_event')
console.log(dictData)
this.store = this.DataSource('/cs-harmonic-boot/event/queryEventList')
this.store.firstCallBack = (res) => {
this.store.data.forEach(item => {
item.title = item.equipmentName + dictData.find(item2 => item2.code === item.tag).name
})
console.log(this.store.data)
this.loading = false
}
this.store.reload()
},
jump(item) {
let str = JSON.stringify(item).replace(/%/g,'百分比')
uni.navigateTo({url: '/pages/message/incidentDetail?detail=' + encodeURIComponent(str)})
}
}
}
@@ -95,6 +79,7 @@ export default {
/deep/ .uni-list-item {
background-color: $uni-theme-white !important;
}
/deep/ .uni-card__header-extra-text {
color: #dd524d !important;
font-size: 20rpx;

View File

@@ -1,49 +1,51 @@
<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 class='detail' slot='body'>
<view class="detail-content " style="font-size:32rpx">
<!-- <view class="detail-content-title mb20">发生时间</view> -->
<view>{{detail.startTime}}</view>
</view>
<view class="detail-content ">
<view class="detail-content-title mb20">基础信息</view>
<view class="mb10">{{detail.title}}</view>
<view>
{{ detail.engineeringName + '' + detail.projectName }}
</view>
<view class="detail-content ">
<view class="detail-content-title mb20">基础信息</view>
<view class="mb10">CN_NPQS682</view>
<view>发生暂降事件特征幅值88%持续时间0.047s</view>
<view>
南京市 灿能园区
</view>
<view>
电压等级0.38kV
</view>
<view>
网路参数00-B7-8D-A8-00-D3
</view>
<!-- <view class="space-between">请您评价本次事件是否对设备造成影响
<view v-for="(item,textIndex) in detail.dataSet" :key="textIndex">
{{ item.showName + ':' + item.value + (item.unit || '') }}
</view>
<!-- <view class="space-between">请您评价本次事件是否对设备造成影响
</view> -->
</view>
<view class="detail-content ">
<view class="detail-content-title mb20">瞬时波形图</view>
<image style="width:100%" src="/static/boxing1.jpeg" mode="widthFix" />
</view>
<view class="detail-content ">
<view class="detail-content-title mb20">RMS波形图</view>
<image style="width:100%" src="/static/boxing2.jpeg" mode="widthFix" />
</view>
</view> -->
</view>
<view class="detail-content ">
<view class="detail-content-title mb20">瞬时波形图</view>
<image style="width:100%" src="/static/boxing1.jpeg" mode="widthFix"/>
</view>
<view class="detail-content ">
<view class="detail-content-title mb20">RMS波形图</view>
<image style="width:100%" src="/static/boxing2.jpeg" mode="widthFix"/>
</view>
</view>
</Cn-page>
</template>
<script>
import {updateStatus} from "@/common/api/message";
export default {
data () {
data() {
return {
loading: false
loading: true,
detail: {}
}
},
methods: {
}
onLoad(options) {
console.log(options.detail)
this.detail = JSON.parse(decodeURIComponent(options.detail).replace(/百分比/g, '%'))
this.loading = false
updateStatus([this.detail.id])
},
methods: {}
}
</script>
<style lang='scss'>

BIN
static/server2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB