|
@@ -0,0 +1,277 @@
|
|
|
|
+<template>
|
|
|
|
+ <view>
|
|
|
|
+ <view class="timeBox flex justify-between align-center padding-lr-sm">
|
|
|
|
+ <view class="time">{{getData.time}}</view>
|
|
|
|
+ <button class="cu-btn radius sm" :class="[clzt=='1'?'bg-green':'bg-red']" >{{clzt=='1'?'已处理':'未处理'}}</button>
|
|
|
|
+ </view>
|
|
|
|
+ <view>
|
|
|
|
+ <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>{{getData.device_name}}</text>
|
|
|
|
+ </view>
|
|
|
|
+
|
|
|
|
+ <view class="info-one-info ">
|
|
|
|
+ <text>设备地址:</text>
|
|
|
|
+ <text>{{getData.unitinfo}}</text>
|
|
|
|
+ </view>
|
|
|
|
+ <view class="info-one-info ">
|
|
|
|
+ <text>告警信息:</text>
|
|
|
|
+ <text>{{getData.alarm_information}}</text>
|
|
|
|
+ </view>
|
|
|
|
+ </view>
|
|
|
|
+ </view>
|
|
|
|
+
|
|
|
|
+ <!-- 处理内容start -->
|
|
|
|
+ <view class="processStatus" v-if="clzt==0">
|
|
|
|
+ <view class="info-tit margin-left-xs">
|
|
|
|
+ <text class="cuIcon-titles margin-right-xs"></text>
|
|
|
|
+ 处理内容
|
|
|
|
+ </view>
|
|
|
|
+
|
|
|
|
+ <view class="padding-lr padding-bottom-lg">
|
|
|
|
+ <form action="">
|
|
|
|
+ <radio-group name="gender" class="" @change="RadioChange">
|
|
|
|
+ <label class="margin-right">
|
|
|
|
+ <radio value="0" checked /><text>单个处理</text>
|
|
|
|
+ </label>
|
|
|
|
+ <label>
|
|
|
|
+ <radio value="1" /><text>批量处理</text>
|
|
|
|
+ </label>
|
|
|
|
+ </radio-group>
|
|
|
|
+ <view class="cu-form-group">
|
|
|
|
+ <textarea class="JTxtArea lg" :maxlength="50" :data-maxnum="reason.length+'/50'"
|
|
|
|
+ placeholder="备注信息,最多可输入50个字..." auto-height v-model="textareaMsg" @input="inputReason"
|
|
|
|
+ :name="reason"></textarea>
|
|
|
|
+
|
|
|
|
+ </view>
|
|
|
|
+ <view class="btn-area">
|
|
|
|
+ <button class="bg-orange round missReport margin-top"
|
|
|
|
+ @click="$noMultipleClicks(alarmSubmit,1)">误 报
|
|
|
|
+ </button>
|
|
|
|
+ <button class="bg-blue round missReport margin-top "
|
|
|
|
+ @click="$noMultipleClicks(alarmSubmit,0)">非 误 报
|
|
|
|
+ </button>
|
|
|
|
+ </view>
|
|
|
|
+ </form>
|
|
|
|
+ </view>
|
|
|
|
+ </view>
|
|
|
|
+ <!-- 处理内容end -->
|
|
|
|
+
|
|
|
|
+ <!-- 处理信息start -->
|
|
|
|
+ <view class="processStatus" v-else>
|
|
|
|
+ <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>{{getData.clwb!='0'?'是':'否'}}</text>
|
|
|
|
+ </view>
|
|
|
|
+ <view>
|
|
|
|
+ <text>处理人:</text>
|
|
|
|
+ <text>{{getData.clr}}</text>
|
|
|
|
+ </view>
|
|
|
|
+ <view>
|
|
|
|
+ <text>处理时间:</text>
|
|
|
|
+ <text>{{getData.clsj}}</text>
|
|
|
|
+ </view>
|
|
|
|
+ <view>
|
|
|
|
+ <text>处理内容:</text>
|
|
|
|
+ <text>{{getData.clnr}}</text>
|
|
|
|
+ </view>
|
|
|
|
+ </view>
|
|
|
|
+ </view>
|
|
|
|
+ <!-- 处理状态end -->
|
|
|
|
+ </view>
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ </view>
|
|
|
|
+</template>
|
|
|
|
+
|
|
|
|
+<script>
|
|
|
|
+ export default {
|
|
|
|
+ data() {
|
|
|
|
+ return {
|
|
|
|
+ noClick: true,
|
|
|
|
+ modalName: null,
|
|
|
|
+ reason: '',
|
|
|
|
+ type: 1,
|
|
|
|
+ textareaMsg: '',
|
|
|
|
+ getData: {},
|
|
|
|
+ radioOne: 0,
|
|
|
|
+ clzt: 0,
|
|
|
|
+ url:''
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ onLoad: function(option) {
|
|
|
|
+ this.type = option.type;
|
|
|
|
+ this.getDetailData({
|
|
|
|
+ "type": option.type,
|
|
|
|
+ "id": option.id
|
|
|
|
+ });
|
|
|
|
+
|
|
|
|
+ // let url = "";
|
|
|
|
+ switch (parseInt(option.type)) {
|
|
|
|
+ case 1:
|
|
|
|
+ this.url = "报警主机"
|
|
|
|
+ break;
|
|
|
|
+ case 2:
|
|
|
|
+ this.url = "水系统"
|
|
|
|
+ break;
|
|
|
|
+ case 4:
|
|
|
|
+ this.url = "消防栓监测"
|
|
|
|
+ break;
|
|
|
|
+ case 6:
|
|
|
|
+ this.url = "RTU测控终端"
|
|
|
|
+ break;
|
|
|
|
+ case 7:
|
|
|
|
+ this.url = "电气火灾"
|
|
|
|
+ break;
|
|
|
|
+ case 16:
|
|
|
|
+ this.url = "视频告警"
|
|
|
|
+ break;
|
|
|
|
+ case 17:
|
|
|
|
+ this.url = "电梯报警"
|
|
|
|
+ break;
|
|
|
|
+ case 128:
|
|
|
|
+ this.url = "井盖监测"
|
|
|
|
+ break;
|
|
|
|
+ case 129:
|
|
|
|
+ this.url = "地磁"
|
|
|
|
+ break;
|
|
|
|
+ case 130:
|
|
|
|
+ this.url = "门磁"
|
|
|
|
+ break;
|
|
|
|
+ case 131:
|
|
|
|
+ this.url = "可燃气体"
|
|
|
|
+ break;
|
|
|
|
+ default:
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ // uni.setNavigationBarTitle({
|
|
|
|
+ // title: this.url + '(未处理)'
|
|
|
|
+ // });
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ },
|
|
|
|
+ mounted(){
|
|
|
|
+ document.querySelector('.uni-page-head-hd').style.display = 'none'
|
|
|
|
+ },
|
|
|
|
+ methods: {
|
|
|
|
+ async getDetailData(params = {}) {
|
|
|
|
+ const res = await this.$myRequest({
|
|
|
|
+ url: 'ComprehensiveAlarm/getAlarmDetails',
|
|
|
|
+ data: params,
|
|
|
|
+ showLoading: true
|
|
|
|
+ })
|
|
|
|
+ this.getData = res.data.data[0];
|
|
|
|
+
|
|
|
|
+ this.clzt=this.getData.clzt;
|
|
|
|
+ if (this.clzt!=0) {
|
|
|
|
+ uni.setNavigationBarTitle({
|
|
|
|
+ title: this.url+'(已处理)'
|
|
|
|
+ });
|
|
|
|
+ } else {
|
|
|
|
+ uni.setNavigationBarTitle({
|
|
|
|
+ title: this.url+'(未处理)'
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ console.log(this.getData)
|
|
|
|
+ },
|
|
|
|
+
|
|
|
|
+ async powerSubmitRes(params = {}) {
|
|
|
|
+ const res = await this.$myRequest({
|
|
|
|
+ url: 'ComprehensiveAlarm/setAlarmHandling',
|
|
|
|
+ data: params
|
|
|
|
+ })
|
|
|
|
+ if (res.data.flag) {
|
|
|
|
+ uni.showToast({
|
|
|
|
+ title: "提交成功",
|
|
|
|
+ });
|
|
|
|
+ setTimeout(() => {
|
|
|
|
+ uni.navigateTo({
|
|
|
|
+ url: '/pages/processList/processList?type=' + this.type,
|
|
|
|
+ });
|
|
|
|
+ }, 1000);
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ //误报 非误报
|
|
|
|
+ alarmSubmit(params) {
|
|
|
|
+ if (!this.textareaMsg.replace(/^\s*/g, '')) {
|
|
|
|
+ uni.showToast({
|
|
|
|
+ title: "请输入处理内容",
|
|
|
|
+ icon: "none"
|
|
|
|
+ });
|
|
|
|
+ } else {
|
|
|
|
+
|
|
|
|
+ let queryParam = {};
|
|
|
|
+ queryParam.id = this.getData.id;
|
|
|
|
+ queryParam.type = this.getData.dwtype;
|
|
|
|
+ queryParam.device_code = this.getData.device_code;
|
|
|
|
+ queryParam.if_batch = this.radioOne;
|
|
|
|
+ queryParam.clwb = params;
|
|
|
|
+ queryParam.ncmd = this.getData.ncmd;
|
|
|
|
+ queryParam.clnr = this.textareaMsg;
|
|
|
|
+
|
|
|
|
+ if (this.getData.dwtype == 1) {
|
|
|
|
+ queryParam.data3 = this.getData.data3;
|
|
|
|
+ queryParam.data5 = this.getData.data5;
|
|
|
|
+ this.powerSubmitRes(queryParam);
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ if (this.getData.dwtype == 2) {
|
|
|
|
+ queryParam.data1 = this.getData.data1;
|
|
|
|
+ this.powerSubmitRes(queryParam);
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ if (this.getData.dwtype == 7) {
|
|
|
|
+ queryParam.data1 = this.getData.data1;
|
|
|
|
+ this.powerSubmitRes(queryParam);
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ if (this.getData.dwtype == 3) {
|
|
|
|
+ queryParam.data2 = this.getData.data2;
|
|
|
|
+ this.powerSubmitRes(queryParam);
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ if (this.getData.dwtype == 6) {
|
|
|
|
+ queryParam.data2 = this.getData.data2;
|
|
|
|
+ queryParam.data4 = this.getData.data4;
|
|
|
|
+ this.powerSubmitRes(queryParam);
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+ this.powerSubmitRes(queryParam)
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ RadioChange(e) {
|
|
|
|
+ this.radioOne = e.detail.value;
|
|
|
|
+ console.log(this.radioOne)
|
|
|
|
+ },
|
|
|
|
+ textareaAInput(e) {
|
|
|
|
+ this.textareaAValue = e.detail.value
|
|
|
|
+ },
|
|
|
|
+ inputReason(e) {
|
|
|
|
+ this.reason = e.detail.value;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+</script>
|
|
|
|
+
|
|
|
|
+<style lang="scss">
|
|
|
|
+
|
|
|
|
+</style>
|