325 lines
6.5 KiB
Vue
325 lines
6.5 KiB
Vue
<template>
|
||
<view>
|
||
<view class="barBox">
|
||
<headers :themeType="'white'" :showBack="true">
|
||
<view class="title">
|
||
<view class="backBtn">
|
||
<view>
|
||
<!-- <span class="back" @click="goBack()">返回</span> -->
|
||
<span class="tip">告警提示</span>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</headers>
|
||
</view>
|
||
<view v-if="typeState.length>0" class="flex evenly typeState">
|
||
<view :class="status==item.val?'this_class':''" v-for="(item,index) in typeState" :key="index"
|
||
@click="typeStateEve(item.val)">
|
||
{{item.txt}}
|
||
</view>
|
||
|
||
</view>
|
||
<view class="">
|
||
<view class="alarm-item" v-for="(item,index) in listData" :key="item.id" @click="goHiidden(item)">
|
||
<view>报警类型: {{alarmType[item.alarmType]}}报警</view>
|
||
<view>报警设备: {{item.hardwareName}}</view>
|
||
<view>报警时间: {{item.createTime}}</view>
|
||
<view>报警地址: {{item.location}}</view>
|
||
|
||
<!-- <image @click="saveImage(url_config+'image/'+item.imageUrl,index)" class="accessoryImg"
|
||
:src="url_config+'image/'+item.imageUrl"></image> -->
|
||
<!-- <image class="accessoryImg"
|
||
:src="url_config+'image/'+item.imageUrl"></image> -->
|
||
</view>
|
||
</view>
|
||
<view class="noData" v-if="listData.length==0">
|
||
暂无数据~
|
||
</view>
|
||
<!-- <Select/> -->
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
import Select from "./components/Select.vue";
|
||
export default {
|
||
components: {
|
||
Select
|
||
},
|
||
data() {
|
||
return {
|
||
listData: [],
|
||
projectSn: '',
|
||
pageNo: 1,
|
||
pageSize: 7,
|
||
systemInfo: {
|
||
statusBarHeight: 0
|
||
},
|
||
alarmType: {
|
||
1: "烟感",
|
||
2: "明火",
|
||
3: "人员倒地",
|
||
4: "未戴安全帽",
|
||
5: "区域入侵",
|
||
6: "越界入侵",
|
||
7: "人员聚集衣",
|
||
8: "反光衣",
|
||
9: "裸土覆盖",
|
||
13: "口罩识别",
|
||
14: "徘徊预警",
|
||
15: "物体滞留监测",
|
||
16: "绊线监测"
|
||
},
|
||
userInfo: {},
|
||
typeState: [{
|
||
txt: '待发起',
|
||
val: 1
|
||
}, {
|
||
txt: '已整改',
|
||
val: 3
|
||
}], //status:整改状态 1:待发起 ,2:待整改 3:已整改
|
||
status: 1
|
||
}
|
||
},
|
||
onLoad() {
|
||
|
||
|
||
},
|
||
onShow() {
|
||
if (JSON.parse(uni.getStorageSync('projectDetail'))) {
|
||
this.projectSn = JSON.parse(uni.getStorageSync('projectDetail')).projectSn;
|
||
} else {
|
||
this.projectSn = JSON.parse(uni.getStorageSync('userInfo')).projectSn;
|
||
}
|
||
this.userInfo = JSON.parse(uni.getStorageSync('userInfo'));
|
||
if (this.userInfo.accountType == 6) { //整改人状态
|
||
this.typeState = [];
|
||
this.status = 2;
|
||
|
||
} else {
|
||
|
||
this.typeState = [{
|
||
txt: '待发起',
|
||
val: 1
|
||
}, {
|
||
txt: '已整改',
|
||
val: 3
|
||
}]
|
||
}
|
||
this.listData = [];
|
||
this.pageNo = 1;
|
||
this.getListData();
|
||
|
||
},
|
||
mounted() {
|
||
this.systemInfo = uni.getStorageSync('systemInfo')
|
||
},
|
||
onPullDownRefresh() {
|
||
this.getListData()
|
||
setTimeout(function() {
|
||
uni.stopPullDownRefresh()
|
||
}, 1000)
|
||
},
|
||
onReachBottom() {
|
||
// console.log("============================")
|
||
this.pageNo++;
|
||
uni.showLoading({
|
||
title: '加载中'
|
||
})
|
||
this.getListData()
|
||
},
|
||
methods: {
|
||
typeStateEve(v) {
|
||
this.status = v;
|
||
this.pageNo = 1;
|
||
this.listData = [];
|
||
this.getListData();
|
||
},
|
||
//获取列表数据
|
||
getListData() {
|
||
console.log(this.userInfo, "=======================================================")
|
||
let qData = {
|
||
projectSn: this.projectSn,
|
||
pageNo: this.pageNo,
|
||
pageSize: this.pageSize,
|
||
accountType: this.userInfo.accountType,
|
||
status: this.status,
|
||
isPushed: 1
|
||
}
|
||
if (this.userInfo.accountType == 6) {
|
||
qData.pushPersonId=this.userInfo.userId
|
||
}
|
||
this.sendRequest({
|
||
url: 'xmgl/aiAnalyseHardWareAlarmRecord/selectPageList',
|
||
method: "post",
|
||
data: qData,
|
||
success: res => {
|
||
if (res.code == 200) {
|
||
console.log('res', res)
|
||
|
||
if (this.pageNo == 1) {
|
||
this.listData = []
|
||
}
|
||
// console.log('--------')
|
||
// this.listData = res.result.records
|
||
this.listData = [...this.listData, ...res.result.records]
|
||
uni.hideLoading() //关闭加载中
|
||
}
|
||
}
|
||
})
|
||
},
|
||
// goBack() {
|
||
// uni.reLaunch({
|
||
// url: "/pages/projectEnd/projectIndex/projectIndex"
|
||
// });
|
||
// },
|
||
// 点击跳转
|
||
goHiidden(item) {
|
||
// uni.navigateTo({
|
||
// url: "/pages/projectEnd/safeManage/addExamine"
|
||
// });
|
||
|
||
// uni.navigateTo({
|
||
// url: "/pages/potentialRisk/potentialRisk?dangerInfo="+ encodeURIComponent(JSON.stringify(item))
|
||
// });
|
||
uni.navigateTo({
|
||
url: "/pages/potentialRisk/potentialRisk?id=" + item.id
|
||
});
|
||
|
||
},
|
||
saveImage(url) {
|
||
uni.showLoading({
|
||
title: "保存中..."
|
||
})
|
||
uni.downloadFile({
|
||
url: url, //网络路径,下载下来
|
||
success: (res) => {
|
||
if (res.statusCode === 200) {
|
||
uni.saveImageToPhotosAlbum({
|
||
filePath: res.tempFilePath, //下载后的临时路径
|
||
success: res => { //下载完成后在相册里压根找不到
|
||
uni.hideLoading()
|
||
uni.showToast({
|
||
title: "保存成功!"
|
||
})
|
||
uni.navigateTo({
|
||
url: "/pages/projectEnd/safeManage/addExamine"
|
||
});
|
||
}
|
||
})
|
||
}
|
||
}
|
||
});
|
||
|
||
},
|
||
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style lang="scss" scoped>
|
||
.noData {
|
||
text-align: center;
|
||
padding: 120rpx 0;
|
||
color: #999;
|
||
}
|
||
|
||
.this_class {
|
||
color: #007AFF;
|
||
}
|
||
|
||
.typeState {
|
||
height: 80rpx;
|
||
background-color: #fff;
|
||
font-size: 28rpx;
|
||
|
||
width: 100%;
|
||
}
|
||
|
||
.barBox {
|
||
background-color: #5181F6;
|
||
}
|
||
|
||
.title {
|
||
height: 44px;
|
||
line-height: 44px;
|
||
font-size: 40rpx;
|
||
width: 750rpx;
|
||
background-color: #5181F6;
|
||
color: #fff;
|
||
text-align: center;
|
||
position: relative;
|
||
}
|
||
|
||
.accessoryImg {
|
||
margin-top: 10rpx;
|
||
width: 100%;
|
||
}
|
||
|
||
.backBtn {
|
||
font-size: 32rpx;
|
||
position: absolute;
|
||
left: 20%;
|
||
}
|
||
|
||
.back {
|
||
font-size: 24rpx;
|
||
}
|
||
|
||
.tip{
|
||
margin-left: 5rem;
|
||
}
|
||
|
||
.contain2 {
|
||
width: 750rpx;
|
||
content: " ";
|
||
// background-color: #f8f8f8;
|
||
// height: calc(100vh - 44px);
|
||
// overflow: auto;
|
||
}
|
||
|
||
.alarm-item {
|
||
width: 650rpx;
|
||
margin: 20rpx auto;
|
||
background-color: #fff;
|
||
padding: 40rpx;
|
||
box-sizing: border-box;
|
||
border-radius: 10rpx;
|
||
box-shadow: 0 0 10rpx #ccc;
|
||
}
|
||
|
||
.alarm-lable {
|
||
display: flex;
|
||
}
|
||
|
||
.alarm-lable-1 {
|
||
width: 200rpx;
|
||
}
|
||
|
||
.alarm-lable-2 {
|
||
flex: 1;
|
||
text-align: right;
|
||
color: #888;
|
||
}
|
||
|
||
.flex {
|
||
display: flex;
|
||
align-items: center;
|
||
}
|
||
|
||
.center {
|
||
justify-content: center;
|
||
}
|
||
|
||
.between {
|
||
justify-content: space-between;
|
||
}
|
||
|
||
.warp {
|
||
flex-wrap: wrap;
|
||
}
|
||
|
||
.evenly {
|
||
justify-content: space-evenly;
|
||
}
|
||
</style>
|