ming před 3 roky
rodič
revize
5ee23bd786

+ 1 - 1
manifest.json

@@ -129,7 +129,7 @@
         "title" : "智慧消防",
         "router" : {
             "mode" : "hash",
-            "base" : "/work/"
+            "base" : ""
         },
         "devServer" : {
             "https" : false,

+ 18 - 0
pages.json

@@ -669,6 +669,24 @@
             }
             
         }
+        ,{
+            "path" : "pages/proceDetailEle/proceDetailEle",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "",
+                "enablePullDownRefresh": false
+            }
+            
+        }
+        ,{
+            "path" : "pages/proceDetailEle1/proceDetailEle1",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "",
+                "enablePullDownRefresh": false
+            }
+            
+        }
     ],
 	
 	

+ 2 - 2
pages/accountManage/perAdd/perAdd.vue

@@ -30,7 +30,7 @@
 					所在单位:
 				</view>
 				<select name="" id="" v-model="company_code" clearable>
-					<option value="0">请选择</option>
+					<option value="">请选择</option>
 					<option :value="item.owner_code" v-for="(item,index) in companyListData" :key="index"
 						style="width:80%">{{item.owner_name}}</option>
 				</select>
@@ -70,7 +70,7 @@
 				companyListData: [],
 				phoneListData: [],
 				"phone": '',
-				"company_code": 0,
+				"company_code": "",
 				"radioOne": "1",
 				"power": "",
 				"name":"",

+ 1 - 1
pages/analyse/monthDetail/monthDetail.vue

@@ -80,7 +80,7 @@
 
 					<tr>
 						<td colspan="3">合计</td>
-						<td>{{getData.point_count=='null'?'-':getData.point_count}}</td>
+						<td>{{getData.point_count=='null'?'0':getData.point_count}}</td>
 					</tr>
 				</table>
 			</view>

+ 7 - 7
pages/deviceManage/deviceAdd/deviceAdd.vue

@@ -42,8 +42,8 @@
 			</view>
 			<view class="form-item selectBox">
 				<view class="title"><text class="necessary">*</text>所属单位:</view>
-				<select name="" id="" clearable v-model="company_code">
-					<option value="0">请选择</option>
+				<select name="" id="" filterable clearable v-model="company_code">
+					<option value="">请选择</option>
 					<option :value="item.owner_code" v-for="(item,index) in companyListData" 
 						style="width:80%">{{item.owner_name}}</option>
 				</select>
@@ -52,7 +52,7 @@
 			<view class="form-item selectBox">
 				<view class="title"><text class="necessary">*</text>设备类型:</view>
 				<select name="" id="" placeholder=""clearable  v-model="type">
-					<option value="0">请选择设备类型</option>
+					<option value="">请选择设备类型</option>
 					<option value="1">用传</option>
 					<option value="2">水表</option>
 					<option value="3">烟感</option>
@@ -68,7 +68,7 @@
 				<view class="title"><text class="necessary">*</text>传输方式:</view>
 
 				<select name="" id="" placeholder="" clearable v-model="transfer_type">
-					<option value="0">请选择传输方式</option>
+					<option value="">请选择传输方式</option>
 					<option  v-if="this.type==2||this.type==5" value="NB">NB</option>
 					<option value="4G">4G</option>
 					<option v-if="this.type==2||this.type==5" value="Lora">Lora</option>
@@ -251,10 +251,10 @@
 				"unitinfo":"",
 				"louyu": "",
 				"sim":"",
-				company_code: 0,
+				company_code: '',
 				
-				"type":0,
-				transfer_type: 0,
+				"type":'',
+				transfer_type: '',
 				
 				"owner_bl":"",//倍率
 				"is_top":"0", //是否顶楼

+ 3 - 3
pages/deviceManage/deviceEdit/deviceEdit.vue

@@ -43,7 +43,7 @@
 			<view class="form-item selectBox">
 				<view class="title"><text class="necessary">*</text>所属单位:</view>
 				<select name="" id="" v-model="deviceDetailData.company" disabled="disabled" clearable>
-					<option value="0">请选择</option>
+					<option value="">请选择</option>
 					<option :value="item.owner_code" v-for="(item,index) in companyListData" 
 						style="width:80%">{{item.owner_name}}</option>
 				</select>
@@ -52,7 +52,7 @@
 			<view class="form-item selectBox">
 				<view class="title"><text class="necessary">*</text>设备类型:</view>
 				<select name="" id="" placeholder="" v-model="deviceDetailData.dwtype" disabled="disabled" clearable>
-					<option value="0">请选择设备类型</option>
+					<option value="">请选择设备类型</option>
 					<option value="1">用传</option>
 					<option value="2">水表</option>
 					<option value="3">烟感</option>
@@ -68,7 +68,7 @@
 				<view class="title"><text class="necessary">*</text>传输方式:</view>
 
 				<select name="" id="" placeholder="" v-model="deviceDetailData.transfer_type" disabled="disabled" clearable>
-					<option value="0">请选择传输方式</option>
+					<option value="">请选择传输方式</option>
 					<option v-if="deviceDetailData.dwtype==2||deviceDetailData.dwtype==5" value="NB">NB</option>
 					<option value="4G">4G</option>
 					<option  v-if="deviceDetailData.dwtype==2||deviceDetailData.dwtype==5" value="Lora">Lora</option>

+ 4 - 4
pages/deviceOffLine/deviceOffLine.vue

@@ -7,7 +7,7 @@
 			<view class="cu-bar search bg-gray filter-section" style="with:50%;">
 				<view class="search-form round bg-white selectBox" >
 					<select name="" id="" placeholder="" v-model="dwtype" clearable>
-						<option value="0">请选择设备类型</option>
+						<option value="">请选择设备类型</option>
 						<option value="1">用传</option>
 						<option value="2">水表</option>
 						<option value="3">烟感</option>
@@ -25,7 +25,7 @@
 			<view class="cu-bar search bg-gray filter-section">
 				<view class="search-form round bg-white selectBox" style="margin-bottom:26rpx">
 					<select name="" id="" placeholder="" v-model=" transfer_type" clearable>
-						<option value="0">请选择传输方式</option>
+						<option value="">请选择传输方式</option>
 						<option value="NB">NB</option>
 						<option value="4G">4G</option>
 						<option value="Lora">Lora</option>
@@ -79,8 +79,8 @@
 		data() {
 			return {
 				
-				dwtype: 0,
-				 transfer_type: 0,
+				dwtype: '',
+				 transfer_type: '',
 				
 				dwtype1: 0,
 				 transfer_type1: 0,

+ 1 - 4
pages/index/index.vue

@@ -169,10 +169,7 @@
 					title: res2
 				});
 			}
-			
-			
-			
-			
+
 			// 图表切换渲染
 			this.hackReset = false;
 			this.$nextTick(() => {

+ 1 - 1
pages/login/login.vue

@@ -46,7 +46,7 @@
 				
 			}else{
 				// alert(2)
-				// this.init()
+				this.init()
 				
 			}
 		

+ 274 - 0
pages/proceDetailEle/proceDetailEle.vue

@@ -0,0 +1,274 @@
+<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 + '(未处理)'
+			// });
+
+
+		},
+		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>

+ 277 - 0
pages/proceDetailEle1/proceDetailEle1.vue

@@ -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>

+ 13 - 5
pages/processList/processList.vue

@@ -288,18 +288,26 @@
 
 			// 页面跳转
 			goUnprocessDetail(item) {
+				
+				// uni.navigateTo({
+				// 	url: '/pages/unProcessDetail/unProcessDetail?id=' + item.id + '&type=' + item.type,
+				// });
+				
 				uni.navigateTo({
-					url: '/pages/unprocessDetail/unprocessDetail?id=' + item
+					url: '/pages/proceDetailEle/proceDetailEle?id=' + item
 						.id + '&type=' + this.type,
 				});
+				
+				
 			},
 
 			goProcessedDetail(item) {
+				// uni.navigateTo({
+				// 	url: '/pages/processedDetail/processedDetail?id=' + item.id + '&type=' + item.type,
+				// });
 				uni.navigateTo({
-					url: '/pages/processedDetail/processedDetail?id=' + item.id + '&type=' + item.type,
-					success: res => {},
-					fail: () => {},
-					complete: () => {}
+					url: '/pages/proceDetailEle/proceDetailEle?id=' + item
+						.id + '&type=' + this.type,
 				});
 			},
 		}

+ 1 - 1
pages/weiBao/planInnerList/planInnerList.vue

@@ -2,7 +2,7 @@
 	<view>
 		<view style="height:30rpx"></view>
 		<view class="bg-white plan-sec text-center" style="margin:0rpx 30rpx 30rpx 30rpx">
-			<view class="plan-tit padding-top-lg">任务名称:ui测试</view>
+			<view class="plan-tit padding-top-lg">{{getData.plan_name}}</view>
 			<br>
 			<chart2 :bindData="this.getData" v-if=" JSON.stringify(getData) != '{}'"></chart2>
 		</view>

+ 1 - 1
pages/xunJian/planInnerList/planInnerList.vue

@@ -2,7 +2,7 @@
 	<view>
 		<view style="height:30rpx"></view>
 		<view class=" bg-white plan-sec text-center" style="margin:0rpx 30rpx 30rpx 30rpx">
-			<view class="plan-tit padding-top-lg">任务名称:ui测试</view>
+			<view class="plan-tit padding-top-lg">{{getData.plan_name}}</view>
 			<chart :bindData="this.getData" v-if=" JSON.stringify(getData) != '{}'"></chart>
 		</view>