018A添加报警日志
This commit is contained in:
330
pages/018A/018AMsg.vue
Normal file
330
pages/018A/018AMsg.vue
Normal file
@ -0,0 +1,330 @@
|
||||
<template>
|
||||
<view class="maincontent1 contentBg">
|
||||
<!-- <view class="tab">
|
||||
<view class="tabItem" :class="{active:Status.tabIndex===0}" @click.stop="tabChange(0)">报警</view>
|
||||
<view class="tabItem" :class="{active:Status.tabIndex===1}" @click.stop="tabChange(1)">通话</view>
|
||||
<view class="tabItem" :class="{active:Status.tabIndex===2}" @click.stop="tabChange(2)">开机</view>
|
||||
<view class="tabItem" :class="{active:Status.tabIndex===3}" @click.stop="tabChange(3)">故障</view>
|
||||
</view> -->
|
||||
|
||||
|
||||
<view class="list">
|
||||
<mescroll-uni class="device-list" @init="mescrollInit" @down="downCallback" @up="upCallback" :up="upOption"
|
||||
:down="downOption" :fixed="false">
|
||||
<view v-for="item,index in list" class="listItem">
|
||||
|
||||
<view v-if="Status.tabIndex==0">
|
||||
<view class="row">
|
||||
<view class="label">报警事项:</view>
|
||||
<view class="red value">{{item.content}}</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="label">报警地点:</view>
|
||||
<view class="value">{{item.location}}</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="label">报警时间:</view>
|
||||
<view class="value">{{item.startTime}}</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="label">解除时间:</view>
|
||||
<view class="value">{{item.finishTime}}</view>
|
||||
</view>
|
||||
<view class="row">
|
||||
<view class="label">报警时长:</view>
|
||||
<view class="value">{{item.durationTime}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view v-if="Status.tabIndex==1">
|
||||
|
||||
</view>
|
||||
<view v-if="Status.tabIndex==2">
|
||||
|
||||
</view>
|
||||
<view v-if="Status.tabIndex==3">
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</mescroll-uni>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
var timeout = null;
|
||||
import request from '@/utils/request.js';
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
Status: {
|
||||
tabIndex: 0
|
||||
},
|
||||
list: [],
|
||||
mescroll: null,
|
||||
downOption: {
|
||||
auto: true,
|
||||
autoShowLoading: false,
|
||||
},
|
||||
upOption: {
|
||||
auto: false,
|
||||
noMoreSize: 0,
|
||||
offset: 10,
|
||||
isLock: false,
|
||||
empty: {
|
||||
tip: '暂无数据',
|
||||
hideScroll: false,
|
||||
icon: '/static/images/common/empty.png'
|
||||
},
|
||||
textNoMore: '没有更多数据了'
|
||||
},
|
||||
device: {
|
||||
|
||||
}
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
let eventChannel = this.getOpenerEventChannel();
|
||||
eventChannel.on('detailData', (data) => {
|
||||
debugger;
|
||||
if (data) {
|
||||
this.device = data;
|
||||
}
|
||||
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
mescrollInit(mescroll) {
|
||||
this.mescroll = mescroll;
|
||||
},
|
||||
// 下拉刷新
|
||||
downCallback() {
|
||||
|
||||
|
||||
if (this.mescroll) {
|
||||
this.mescroll.resetUpScroll(false);
|
||||
this.mescroll.scrollTo(0, 0);
|
||||
}
|
||||
this.getData();
|
||||
|
||||
|
||||
},
|
||||
// 上拉加载
|
||||
upCallback() {
|
||||
|
||||
|
||||
|
||||
this.getData();
|
||||
},
|
||||
getWarList(data) {
|
||||
return request({
|
||||
url: '/app/device/AlarmList',
|
||||
method: 'get',
|
||||
data: data
|
||||
});
|
||||
},
|
||||
getNotifyList() {
|
||||
return new Promise((resolve, reject) => {
|
||||
resolve({
|
||||
code: 200,
|
||||
total: 0,
|
||||
rows: []
|
||||
})
|
||||
});
|
||||
},
|
||||
getTrun() {
|
||||
return new Promise((resolve, reject) => {
|
||||
resolve({
|
||||
total: 0,
|
||||
rows: []
|
||||
})
|
||||
});
|
||||
},
|
||||
getGuzhang() {
|
||||
return new Promise((resolve, reject) => {
|
||||
resolve({
|
||||
total: 0,
|
||||
rows: []
|
||||
})
|
||||
});
|
||||
},
|
||||
getData() {
|
||||
let task = () => {
|
||||
debugger;
|
||||
let data = {
|
||||
deviceId:(this.device&& this.device.id)?this.device.id:"00000000",
|
||||
pageNum: this.mescroll.num,
|
||||
pageSize: 10,
|
||||
}
|
||||
console.log("device=", JSON.stringify(this.device));
|
||||
console.log("data", JSON.stringify(data));
|
||||
if (!data.pageNum) {
|
||||
this.mescroll.endSuccess(0, false);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
let arr = {
|
||||
"0": this.getWarList.bind(this),
|
||||
"1": this.getNotifyList.bind(this),
|
||||
"2": this.getTrun.bind(this),
|
||||
"3": this.getGuzhang.bind(this),
|
||||
}
|
||||
|
||||
let apiCall = arr[this.Status.tabIndex + ''];
|
||||
apiCall(data).then((res) => {
|
||||
if (res.code == 200) {
|
||||
|
||||
|
||||
if (data.pageNum === 1) {
|
||||
this.list = res.rows;
|
||||
} else {
|
||||
this.list = this.list.concat(res.rows);
|
||||
}
|
||||
this.total = res.total;
|
||||
let hasNext = true;
|
||||
// 判断是否已加载全部数据
|
||||
if (res.rows.length < this.size || this.list.length >= this.total) {
|
||||
|
||||
hasNext = false;
|
||||
} else {
|
||||
this.page++;
|
||||
hasNext = true;
|
||||
}
|
||||
this.mescroll.endSuccess(res.rows.length, hasNext);
|
||||
} else {
|
||||
this.mescroll.endSuccess(0, false);
|
||||
}
|
||||
}).finally(() => {
|
||||
this.loading = false;
|
||||
});
|
||||
}
|
||||
|
||||
clearTimeout(timeout);
|
||||
timeout = setTimeout(task, 50);
|
||||
},
|
||||
tabChange(index) {
|
||||
if (this.Status.tabIndex === index) {
|
||||
return;
|
||||
}
|
||||
this.Status.tabIndex = index
|
||||
this.downCallback();
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
/* #ifdef WEB|H5 */
|
||||
.maincontent1 {
|
||||
height: calc(100vh - 45px);
|
||||
}
|
||||
|
||||
/* #endif */
|
||||
.maincontent1 {
|
||||
height: 100vh;
|
||||
|
||||
width: 100%;
|
||||
padding: 30rpx;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.listItem {
|
||||
border-radius: 8px;
|
||||
background: rgba(26, 26, 26, 1);
|
||||
width: 100%;
|
||||
height: auto;
|
||||
margin-bottom: 20rpx;
|
||||
padding: 15rpx 20rpx;
|
||||
}
|
||||
|
||||
.listItem .label {
|
||||
color: rgba(255, 255, 255, 0.6);
|
||||
font-family: "PingFang SC";
|
||||
font-style: Regular;
|
||||
font-size: 26rpx;
|
||||
font-weight: 400;
|
||||
line-height: 30rpx;
|
||||
letter-spacing: 0.14rpx;
|
||||
width: 120rpx;
|
||||
text-align: left;
|
||||
white-space: nowrap;
|
||||
|
||||
}
|
||||
|
||||
.listItem .value {
|
||||
color: rgba(255, 255, 255, 0.87);
|
||||
|
||||
font-family: "PingFang SC";
|
||||
font-style: Regular;
|
||||
font-size: 26rpx;
|
||||
font-weight: 400;
|
||||
line-height: 30rpx;
|
||||
letter-spacing: 0.14rpx;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.listItem .row {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: nowrap;
|
||||
align-content: flex-start;
|
||||
justify-content: flex-start;
|
||||
align-items: flex-start;
|
||||
height: auto;
|
||||
padding: 5rpx 0rpx;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
.list {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
}
|
||||
|
||||
.tab {
|
||||
width: 100%;
|
||||
height: 40rpx;
|
||||
line-height: 40rpx;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex-wrap: nowrap;
|
||||
align-content: center;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
color: rgba(255, 255, 255, 0.87);
|
||||
font-family: "PingFang SC";
|
||||
font-style: Regular;
|
||||
font-size: 28rpx;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
.tab .tabItem {
|
||||
position: relative;
|
||||
padding: 0rpx 30rpx;
|
||||
}
|
||||
|
||||
.tab .tabItem::after {
|
||||
position: absolute;
|
||||
content: "";
|
||||
width: 50%;
|
||||
height: 8rpx;
|
||||
border-radius: 30px;
|
||||
top: 100%;
|
||||
left: 25%;
|
||||
margin-top: 5rpx;
|
||||
background: #00000000;
|
||||
}
|
||||
|
||||
.tab .tabItem.active::after {
|
||||
background: rgba(187, 230, 0, 1);
|
||||
}
|
||||
|
||||
.tab .tabItem.active {
|
||||
color: rgba(174, 214, 0, 1);
|
||||
font-style: Bold;
|
||||
font-size: 32rpx;
|
||||
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user