|
@@ -1,31 +1,25 @@
|
|
|
<template>
|
|
|
<view class="dealDetail">
|
|
|
-
|
|
|
- <view v-if="type==2" class="timeBox flex justify-between align-center padding-lr-sm">
|
|
|
- <view class="time">{{detailMessage2.time}}</view>
|
|
|
- <button class="cu-btn radius bg-green sm">已处理</button>
|
|
|
- </view>
|
|
|
-
|
|
|
- <view v-else class="timeBox flex justify-between align-top padding-sm " style="height:auto;">
|
|
|
+ <view class="timeBox flex justify-between align-top padding-sm " style="height:auto;">
|
|
|
<view >
|
|
|
<view>发生时间:{{detailMessage.time}}</view>
|
|
|
- <view>告警历时:{{detailMessage.duration}}</view>
|
|
|
- <view>关联告警:{{detailMessage.handlerTime}}</view>
|
|
|
- <view style="color:#4074E7">【{{detailMessage.route_name}}】设备低压-{{detailMessage.digitalValue=='1'?'动作':'复归'}}</view>
|
|
|
- <!-- <view class="time">{{detailMessage.time}}</view> -->
|
|
|
- <!-- <view>dfd</view> -->
|
|
|
+ <view v-if="handling_status!=0">告警历时:{{detailMessage.duration}}</view>
|
|
|
+ <view v-if="handling_status!=0">关联告警:{{detailMessage.handlerTime}}</view>
|
|
|
+ <view v-if="handling_status!=0" style="color:#4074E7">
|
|
|
+ 【{{detailMessage.route_name}}】设备低压-{{detailMessage.digitalValue=='1'?'动作':'复归'}}</view>
|
|
|
</view>
|
|
|
+ <button v-if="handling_status==0" class="cu-btn radius bg-red sm margin-top-sm">未处理</button>
|
|
|
+ <button v-if="handling_status==1" class="cu-btn radius bg-green sm margin-top-sm">已处理</button>
|
|
|
+ <button v-if="handling_status==2" class="cu-btn radius bg-orange sm margin-top-sm">待确认</button>
|
|
|
+ <button v-if="handling_status==3" class="cu-btn radius bg-blue sm margin-top-sm">自动恢复</button>
|
|
|
+ <button v-if="handling_status==4" class="cu-btn radius bg-gray sm margin-top-sm">过期失效</button>
|
|
|
+
|
|
|
|
|
|
- <button v-if="handling_status==1" class="cu-btn radius bg-green sm margin-top-sm">已处理</button>
|
|
|
- <button v-if="handling_status==2" class="cu-btn radius bg-orange sm margin-top-sm">待确认</button>
|
|
|
- <button v-if="handling_status==3" class="cu-btn radius bg-blue sm margin-top-sm">自动恢复</button>
|
|
|
- <button v-if="handling_status==4" class="cu-btn radius bg-gray sm margin-top-sm">过期失效</button>
|
|
|
|
|
|
-
|
|
|
</view>
|
|
|
-
|
|
|
-
|
|
|
- <view v-if="type==1">
|
|
|
+
|
|
|
+
|
|
|
+ <view>
|
|
|
<!-- 基本信息start -->
|
|
|
<view class="basic-info dealDetail">
|
|
|
<view class="info-tit margin-left-xs">
|
|
@@ -57,9 +51,10 @@
|
|
|
<text>采集终端:</text>
|
|
|
<text>{{detailMessage.deviceCode}}</text>
|
|
|
</view>
|
|
|
- <view >
|
|
|
+ <view>
|
|
|
<text>站点地址:</text>
|
|
|
- <text>{{detailMessage.address}}<i class="icon iconfont map" @click="mapLocation()"></i></text>
|
|
|
+ <text>{{detailMessage.address}}<i class="icon iconfont map"
|
|
|
+ @click="mapLocation()"></i></text>
|
|
|
</view>
|
|
|
<view>
|
|
|
<text>联系人:</text>
|
|
@@ -67,11 +62,12 @@
|
|
|
</view>
|
|
|
<view>
|
|
|
<text>联系方式:</text>
|
|
|
- <text>{{detailMessage.phone}}<i class="phone icon iconfont" @click="submit()"></i></text>
|
|
|
+ <text>{{detailMessage.phone}}<i class="phone icon iconfont"
|
|
|
+ @click="submit()"></i></text>
|
|
|
</view>
|
|
|
<view>
|
|
|
<text>运行数据:</text>
|
|
|
- <text class="checkMore" @tap="goOpeDataDetail(detailMessage)">点击查看</text>
|
|
|
+ <text class="checkMore" @tap="goOpeDataDetail(detailMessage)">点击查看</text>
|
|
|
</view>
|
|
|
<view>
|
|
|
<text>视频:</text>
|
|
@@ -84,14 +80,16 @@
|
|
|
</view>
|
|
|
</view>
|
|
|
<!-- 基本信息end -->
|
|
|
+
|
|
|
+
|
|
|
<!-- 处理信息start -->
|
|
|
- <view class="processStatus" v-if="this.handling_status!=2">
|
|
|
+ <view class="processStatus" v-if="handling_status!=0">
|
|
|
<view class="info-tit margin-left-xs">
|
|
|
<text class="cuIcon-titles margin-right-xs"></text>
|
|
|
处理信息
|
|
|
</view>
|
|
|
<view class="info-content">
|
|
|
-
|
|
|
+
|
|
|
<view>
|
|
|
<text>处理人:</text>
|
|
|
<text>{{detailMessage.handler}}</text>
|
|
@@ -101,18 +99,18 @@
|
|
|
<text>{{detailMessage.handlerTime}}</text>
|
|
|
</view>
|
|
|
<view>
|
|
|
- <text>处理内容:</text>
|
|
|
+ <text>处理内容:</text>
|
|
|
<text>{{detailMessage.handlerContent}}</text>
|
|
|
</view>
|
|
|
-
|
|
|
+
|
|
|
</view>
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
</view>
|
|
|
<!-- 处理状态end -->
|
|
|
-
|
|
|
+
|
|
|
<!-- 处理状态start -->
|
|
|
- <view class="processStatus" v-if="this.handling_status==2">
|
|
|
+ <view class="processStatus" v-if="this.handling_status==2||this.handling_status==0">
|
|
|
<view class="info-tit margin-left-xs">
|
|
|
<text class="cuIcon-titles margin-right-xs"></text>
|
|
|
处理内容
|
|
@@ -120,13 +118,11 @@
|
|
|
<view class="padding-lr padding-bottom-lg">
|
|
|
<form action="">
|
|
|
<view class="cu-form-group">
|
|
|
- <!-- <textarea maxlength="-1" :disabled="modalName!=null" @input="textareaAInput" placeholder="备注信息,最多可输入50个字..."></textarea>-->
|
|
|
- <textarea class="JTxtArea lg" v-model="msg" placeholder="备注信息,最多可输入50个字..." :maxlength="50" :data-maxnum="reason.length+'/50'"
|
|
|
- auto-height></textarea>
|
|
|
+ <textarea class="JTxtArea lg" v-model="msg" placeholder="备注信息,最多可输入50个字..." :maxlength="50"
|
|
|
+ :data-maxnum="reason.length+'/50'" auto-height></textarea>
|
|
|
</view>
|
|
|
-
|
|
|
+
|
|
|
<view class="btn-area">
|
|
|
- <!-- <button class="bg-orange round missReport margin-top">误 报 </button> -->
|
|
|
<button class="bg-blue round missReport margin-top" @click="powerSubmit()">告警确认 </button>
|
|
|
</view>
|
|
|
</form>
|
|
@@ -134,70 +130,8 @@
|
|
|
</view>
|
|
|
<!-- 处理状态end -->
|
|
|
</view>
|
|
|
-
|
|
|
- <view v-else>
|
|
|
- <!-- 基本信息start -->
|
|
|
- <view class="basic-info">
|
|
|
- <view class="info-tit margin-left-xs">
|
|
|
- <text class="cuIcon-titles margin-right-xs"></text>
|
|
|
- 基本信息
|
|
|
- </view>
|
|
|
- <view class="info-content">
|
|
|
- <view class="info-one-info ">
|
|
|
- <text>设备名称:</text>
|
|
|
- <text>{{detailMessage2.deviceName}}</text>
|
|
|
- </view>
|
|
|
-
|
|
|
- <view>
|
|
|
- <text>设备地址:</text>
|
|
|
- <text>{{detailMessage2.deviceAddress}}</text>
|
|
|
- </view>
|
|
|
- <view>
|
|
|
- <text>告警信息:</text>
|
|
|
- <text>{{detailMessage2.alarmInformation}}</text>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <!-- 基本信息end -->
|
|
|
- <!-- 报警当前情况截图start -->
|
|
|
- <view class="basic-info">
|
|
|
- <view class="info-tit margin-left-xs">
|
|
|
- <text class="cuIcon-titles margin-right-xs"></text>
|
|
|
- 报警当前情况截图
|
|
|
- </view>
|
|
|
- <view class="info-content padding-lr-lg">
|
|
|
- <image :src="detailMessage2.alarmPicture" style="width:100%"></image>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <!-- 报警当前情况截图end -->
|
|
|
- <!-- 处理信息start -->
|
|
|
- <view class="processStatus">
|
|
|
- <view class="info-tit margin-left-xs">
|
|
|
- <text class="cuIcon-titles margin-right-xs"></text>
|
|
|
- 处理信息
|
|
|
- </view>
|
|
|
- <view class="info-content">
|
|
|
- <view class="info-one-info ">
|
|
|
- <text>是否误报:</text>
|
|
|
- <text>{{detailMessage2.alarmStatus?'误报':'非误报'}}</text>
|
|
|
- </view>
|
|
|
- <view>
|
|
|
- <text>处理人:</text>
|
|
|
- <text>{{detailMessage2.handler}}</text>
|
|
|
- </view>
|
|
|
- <view>
|
|
|
- <text>处理时间:</text>
|
|
|
- <text>{{detailMessage2.handlerTime}}</text>
|
|
|
- </view>
|
|
|
- <view>
|
|
|
- <text>处理内容:</text>
|
|
|
- <text>{{detailMessage2.handlerContent}}</text>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- </view>
|
|
|
- <!-- 处理状态end -->
|
|
|
- </view>
|
|
|
-
|
|
|
+ </view>
|
|
|
+
|
|
|
|
|
|
</view>
|
|
|
</template>
|
|
@@ -205,48 +139,57 @@
|
|
|
<script>
|
|
|
//引入js sdk的封装
|
|
|
import * as jwx from '../../util/jssdk.js'
|
|
|
-
|
|
|
+
|
|
|
export default {
|
|
|
data() {
|
|
|
return {
|
|
|
- msg:'',
|
|
|
+ msg: '',
|
|
|
reason: '',
|
|
|
radio: 'A',
|
|
|
radio: 'B',
|
|
|
modalName: null,
|
|
|
type: '0',
|
|
|
- detailMessage:{},
|
|
|
- detailMessage2:{},
|
|
|
-
|
|
|
- handling_status:0
|
|
|
+ detailMessage: {},
|
|
|
+ handling_status: 0
|
|
|
}
|
|
|
},
|
|
|
mounted(){
|
|
|
- document.querySelector('.uni-page-head-hd').style.display = 'none'
|
|
|
- },
|
|
|
+ document.querySelector('.uni-page-head-hd').style.display = 'none'
|
|
|
+ },
|
|
|
onLoad: function(option) {
|
|
|
- this.handling_status=option.handling_status;
|
|
|
+ this.handling_status = option.handling_status;
|
|
|
this.type = option.type;
|
|
|
this.companyCode = option.companyCode;
|
|
|
- this.processingStatus=option.handling_status;
|
|
|
+ this.processingStatus = option.handling_status;
|
|
|
this.alarmId = option.id;
|
|
|
- if(this.type==1){
|
|
|
- this.getUnProcessDetail({"companyCode":option.companyCode,"processingStatus":option.handling_status,"alarmId":option.id})
|
|
|
- }else{
|
|
|
- this.getVideoDetail({"companyCode":option.companyCode,"processingStatus":option.processingStatus,"alarmId":option.id})
|
|
|
- }
|
|
|
-
|
|
|
|
|
|
+ if (option.handling_status!=0) {
|
|
|
+ uni.setNavigationBarTitle({
|
|
|
+ title: '已处理'
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ uni.setNavigationBarTitle({
|
|
|
+ title: '未处理'
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ this.getUnProcessDetail({
|
|
|
+ "companyCode": option.companyCode,
|
|
|
+ "processingStatus": option.handling_status,
|
|
|
+ "alarmId": option.id
|
|
|
+ })
|
|
|
+
|
|
|
+
|
|
|
},
|
|
|
methods: {
|
|
|
-
|
|
|
+
|
|
|
powerSubmit() {
|
|
|
- if(!this.msg){
|
|
|
+ if (!this.msg) {
|
|
|
uni.showToast({
|
|
|
title: "请输入处理内容",
|
|
|
- icon:"none"
|
|
|
+ icon: "none"
|
|
|
});
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
this.powerSubmitRes({
|
|
|
"type": 1,
|
|
|
"deviceCode": this.detailMessage.deviceCode,
|
|
@@ -255,71 +198,56 @@
|
|
|
"handlerContent": this.msg
|
|
|
})
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
},
|
|
|
-
|
|
|
+
|
|
|
async powerSubmitRes(params = {}) {
|
|
|
const res = await this.$myRequest({
|
|
|
url: 'IntegratedAlarm/setAlarmHandle',
|
|
|
data: params
|
|
|
})
|
|
|
-
|
|
|
- if(res.data.flag){
|
|
|
- uni.showToast({
|
|
|
- title: "提交成功",
|
|
|
- });
|
|
|
- }
|
|
|
-
|
|
|
- setTimeout(() => {
|
|
|
- uni.navigateTo({
|
|
|
- url: '/pages/processList/processList?companyCode=' + this.companyCode + '&type='+this.type+'',
|
|
|
-
|
|
|
- });
|
|
|
- }, 1000);
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+ if (res.data.flag) {
|
|
|
+ uni.showToast({
|
|
|
+ title: "提交成功",
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ setTimeout(() => {
|
|
|
+ uni.navigateTo({
|
|
|
+ url: '/pages/processList/processList?companyCode=' + this.companyCode +
|
|
|
+ '&type=' + this.type + '',
|
|
|
+
|
|
|
+ });
|
|
|
+ }, 1000);
|
|
|
+
|
|
|
+
|
|
|
},
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- async getUnProcessDetail(ming={}) {
|
|
|
- const res= await this.$myRequest({
|
|
|
- url:'IntegratedAlarm/getPowerAlarmDetails',
|
|
|
- data:ming
|
|
|
+
|
|
|
+ async getUnProcessDetail(ming = {}) {
|
|
|
+ const res = await this.$myRequest({
|
|
|
+ url: 'IntegratedAlarm/getPowerAlarmDetails',
|
|
|
+ data: ming
|
|
|
})
|
|
|
- console.log(res.data.data[0]);
|
|
|
- this.detailMessage=res.data.data[0]
|
|
|
+ console.log(res.data.data[0]);
|
|
|
+ this.detailMessage = res.data.data[0]
|
|
|
},
|
|
|
- async getVideoDetail(ming={}) {
|
|
|
- const res= await this.$myRequest({
|
|
|
- url:'IntegratedAlarm/getVideoAlarmDetails',
|
|
|
- data:ming
|
|
|
+ async getVideoDetail(ming = {}) {
|
|
|
+ const res = await this.$myRequest({
|
|
|
+ url: 'IntegratedAlarm/getVideoAlarmDetails',
|
|
|
+ data: ming
|
|
|
})
|
|
|
- console.log(res.data.data[0]);
|
|
|
- this.detailMessage2=res.data.data[0]
|
|
|
+ console.log(res.data.data[0]);
|
|
|
+ this.detailMessage2 = res.data.data[0]
|
|
|
},
|
|
|
-
|
|
|
+
|
|
|
submit() {
|
|
|
uni.makePhoneCall({
|
|
|
- phoneNumber: this.detailMessage.phone
|
|
|
+ phoneNumber: this.detailMessage.phone
|
|
|
});
|
|
|
},
|
|
|
- mapLocation(){
|
|
|
+
|
|
|
+ mapLocation() {
|
|
|
console.log(this.detailMessage)
|
|
|
-
|
|
|
-
|
|
|
- // window.location.href = 'http://apis.map.qq.com/uri/v1/marker?marker=coord:'+parseFloat(this.detailMessage.latitude)+','+parseFloat(this.detailMessage.longitude)+''
|
|
|
-
|
|
|
- // uni.openLocation({
|
|
|
- // latitude: parseInt(this.detailMessage.latitude),
|
|
|
- // longitude: parseInt(this.detailMessage.longitude),
|
|
|
- // success: function() {
|
|
|
- // console.log('success');
|
|
|
- // }
|
|
|
- // });
|
|
|
-
|
|
|
-
|
|
|
// 微信公众号导航
|
|
|
jwx.configWeiXin(jweixin => {
|
|
|
let shareInfo = {
|
|
@@ -332,11 +260,12 @@
|
|
|
jweixin.openLocation(shareInfo);
|
|
|
});
|
|
|
},
|
|
|
-
|
|
|
+
|
|
|
// 页面跳转
|
|
|
goOpeDataDetail(detailMessage) {
|
|
|
uni.navigateTo({
|
|
|
- url: '/pages/unprocessDetail/opeDataDetail/opeDataDetail?companyCode='+this.companyCode+'&deviceCode='+detailMessage.deviceCode+'&deviceType='+this.type+'',
|
|
|
+ url: '/pages/unprocessDetail/opeDataDetail/opeDataDetail?companyCode=' + this.companyCode +
|
|
|
+ '&deviceCode=' + detailMessage.deviceCode + '&deviceType=' + this.type + '',
|
|
|
success: res => {},
|
|
|
fail: () => {},
|
|
|
complete: () => {}
|
|
@@ -352,7 +281,7 @@
|
|
|
},
|
|
|
goArchiveDetail() {
|
|
|
uni.navigateTo({
|
|
|
- url: '/pages/siteArchive/archiveDetail/archiveDetail?siteId='+this.detailMessage.siteId,
|
|
|
+ url: '/pages/siteArchive/archiveDetail/archiveDetail?siteId=' + this.detailMessage.siteId,
|
|
|
success: res => {},
|
|
|
fail: () => {},
|
|
|
complete: () => {}
|
|
@@ -368,7 +297,6 @@
|
|
|
inputReason(e) {
|
|
|
this.reason = e.detail.value;
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
@@ -378,10 +306,12 @@
|
|
|
height: 88rpx;
|
|
|
background: #EFF4FF;
|
|
|
line-height: 88rpx;
|
|
|
+
|
|
|
.time {
|
|
|
color: #333
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.info-tit {
|
|
|
color: #4074E7;
|
|
|
line-height: 90rpx;
|
|
@@ -400,32 +330,32 @@
|
|
|
width: 160rpx;
|
|
|
display: inline-block
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
/* // 处理内容 */
|
|
|
.cu-form-group {
|
|
|
background: #f5f5f5;
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
.processStatus {
|
|
|
textarea {
|
|
|
background: #F5F5F5;
|
|
|
color: #999999;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
// textarea
|
|
|
.JTxtArea {
|
|
|
position: relative;
|
|
|
-
|
|
|
+
|
|
|
&.sm {
|
|
|
min-height: 60rpx;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
&.lg {
|
|
|
min-height: 100rpx;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
&:after {
|
|
|
content: attr(data-maxnum);
|
|
|
position: absolute;
|