301 lines
6.3 KiB
Vue
Raw Normal View History

2022-08-02 15:11:04 +08:00
<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,"=======================================================")
this.sendRequest({
url: 'xmgl/aiAnalyseHardWareAlarmRecord/selectPageList',
method: "post",
data: {
projectSn: this.projectSn,
pageNo: this.pageNo,
pageSize: this.pageSize,
accountType:this.userInfo.accountType,
status:this.status
},
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: 20px;
width: 750rpx;
background-color: #5181F6;
color: #fff;
text-align: center;
position: relative;
}
.accessoryImg {
margin-top: 5px;
width: 100%;
}
.backBtn {
font-size: 16px;
position: absolute;
left: 10px;
}
.back {
font-size: 12px;
}
.tip {
margin-left: 125px;
}
.contain2 {
width: 750rpx;
content: " ";
// background-color: #f8f8f8;
// height: calc(100vh - 44px);
// overflow: auto;
}
.alarm-item {
width: 650rpx;
margin: 20rpx auto;
background-color: #fff;
padding: 20px;
box-sizing: border-box;
border-radius: 5px;
box-shadow: 0 0 5px #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>