ming 4 rokov pred
rodič
commit
4cbe46bbfe

+ 13 - 0
common/common.scss

@@ -130,6 +130,19 @@ radio,checkbox {
 
 .processed ,.online{
 	color: #08BE04
+}
+.bg-error {
+	background: #FF4E00;
+	color:#fff;
+	display:inline-block;
+	padding:0 10px ;
+}
+
+.bg-online{
+	background: #08BE04;
+	color:#fff;
+	display:inline-block;
+	padding:0 10px ;
 }
 
 /* 页面样式 */

+ 128 - 15
data/json.js

@@ -7,7 +7,7 @@ let cuIconList = [{
 		redirectUrl: '/pages/siteList/siteList?type=1'
 	}, {
 		imgUrl: '../../static/square2.png',
-		badge: 100,
+		badge: 0,
 		name: '设备管理',
 		redirectUrl: '/pages/siteList/siteList?type=2'
 	},
@@ -67,7 +67,30 @@ let cuIconList = [{
 		redirectUrl: ''
 	}
 ];
-
+
+// 首页报警数据
+
+let staticData={
+	"msg": "\u64cd\u4f5c\u6210\u529f",
+	"flag": true,
+	"companyCode": "1,2,3,4,5,6,7,8,12,13,14,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39",
+	"data": [{
+		"statisticalPeriod": "2021-03-16~2021-04-16",
+		"smartElectricityCount": "178",
+		"videoMonitoringCount": "12456",
+		"alarmCount": 12627,
+		"eventCount": 2,
+		"hiddenDangerCount": 4,
+		"offlineCount": 20,
+		"faultCount": 30,
+		"earlyWarningCount": 100,
+		"otherCount": 99,
+		"normalCount": 66,
+		"integratedAlarmCount": 12627,
+		"unprocessedCount": 0
+	}]
+}
+
 //综合报警九宫格
 let alarmingSquareList = [{
 		imgUrl: '../../static/alarming-zj.png',
@@ -177,55 +200,55 @@ let deviceType = [{
 		"id": "1",
 		"title": "火警",
 		"num": "3",
-		"imgUrl": "/static/square-video.png"
+		"imgUrl": "/static/dt-alarmIcon.png"
 	},
 	{
 		"id": "2",
 		"title": "水警",
 		"num": "4",
-		"imgUrl": "/static/square-dl.png"
+		"imgUrl": "/static/dt-waterIcon.png"
 	},
 	{
 		"id": "3",
 		"title": "电气火灾",
 		"num": "4",
-		"imgUrl": "/static/square-dl.png"
+		"imgUrl": "/static/dt-dqIcon.png"
 	},
 	{
 		"id": "4",
 		"title": "RTU",
 		"num": "4",
-		"imgUrl": "/static/square-dl.png"
+		"imgUrl": "/static/dt-rtuIcon.png"
 	},
 	{
 		"id": "5",
 		"title": "烟感",
 		"num": "4",
-		"imgUrl": "/static/square-dl.png"
+		"imgUrl": "/static/dt-ygIcon.png"
 	},
 	{
 		"id": "6",
 		"title": "视频",
 		"num": "4",
-		"imgUrl": "/static/square-dl.png"
+		"imgUrl": "/static/dt-videoIcon.png"
 	},
 	{
 		"id": "6",
 		"title": "电梯",
 		"num": "4",
-		"imgUrl": "/static/square-dl.png"
+		"imgUrl": "/static/dt-dtIcon.png"
 	},
 	{
 		"id": "7",
 		"title": "井盖",
 		"num": "4",
-		"imgUrl": "/static/square-dl.png"
+		"imgUrl": "/static/dt-jgIcon.png"
 	},
 	{
 		"id": "8",
 		"title": "消防栓",
 		"num": "4",
-		"imgUrl": "/static/square-dl.png"
+		"imgUrl": "/static/dt-xfsIcon.png"
 	},
 ];
 //设备管理
@@ -257,19 +280,101 @@ let inspectList = [{
 		"id": "1",
 		"title": "人工督查单",
 		"num": "3",
-		"imgUrl": "/static/square-video.png"
+		"imgUrl": "/static/rg-icon.png"
 	},
 	{
 		"id": "2",
 		"title": "电子督查单",
 		"num": "4",
-		"imgUrl": "/static/square-dl.png"
+		"imgUrl": "/static/dz-icon.png"
+	}
+	
+];
+
+let inspectUnprocessList = [{
+		"id": "561",
+		"title": "[2020]HP第DZ4104号人工督查单",
+		"des": "事件未处理测试",
+		"time": "2020-01-08 15:15:12"
+	},
+	{
+		"id": "561",
+		"title": "[2020]HP第DZ4104号人工督查单",
+		"des": "事件未处理测试",
+		"time": "2020-01-08 15:15:12"
+	},
+	{
+		"id": "561",
+		"title": "[2020]HP第DZ4104号人工督查单",
+		"des": "事件未处理测试",
+		"time": "2020-01-08 15:15:12"
+	}
+];
+let inspectProcessedList = [{
+		"id": "561",
+		"title": "[2020]HP第DZ4104号人工督查单",
+		"des": "事件未处理测试",
+		"time": "2020-01-08 15:15:12"
+	},
+	{
+		"id": "561",
+		"title": "[2020]HP第DZ4104号人工督查单",
+		"des": "事件未处理测试",
+		"time": "2020-01-08 15:15:12"
+	},
+	{
+		"id": "561",
+		"title": "[2020]HP第DZ4104号人工督查单",
+		"des": "事件未处理测试",
+		"time": "2020-01-08 15:15:12"
+	}
+];
+
+
+// 巡检
+let xunJianList = [{
+		"id": "1",
+		"title": "巡检计划",
+		"num": "3",
+		"imgUrl": "/static/xunJian-icon1.png"
+	},
+	{
+		"id": "2",
+		"title": "巡检记录",
+		"num": "4",
+		"imgUrl": "/static/xunJian-icon2.png"
 	}
 	
+];
+let xunJianRecord = [{
+		"id": "561",
+		"title": "计划:巡检计划1",
+		"des": "点位:巡检点位01",
+		"time": "2021-01-20 15:23:43",
+		"status":0
+	},
+	{
+			"id": "561",
+			"title": "计划:巡检计划1",
+			"des": "点位:巡检点位01",
+			"time": "2021-01-20 15:23:43",
+			"status":0
+		},
+	{
+			"id": "561",
+			"title": "计划:巡检计划1",
+			"des": "点位:巡检点位01",
+			"time": "2021-01-20 15:23:43",
+			"status":1
+		}
+	
 ];
+
 
 // 定义数据出口
-module.exports = {
+module.exports = {
+	
+	staticData:staticData,
 	
 	cuIconList: cuIconList,
 	unprocessList: unprocessList,
@@ -278,6 +383,14 @@ module.exports = {
 	deviceOffLineData: deviceOffLineData,
 	deviceType: deviceType,
 	deviceManage:deviceManage,
-	inspectList:inspectList
+	inspectList:inspectList,
+	
+	inspectUnprocessList: inspectUnprocessList,
+	inspectProcessedList: inspectProcessedList,
+	
+	xunJianList:xunJianList,
+	xunJianRecord:xunJianRecord
+	
+	
 	
 }

+ 74 - 1
pages.json

@@ -396,7 +396,80 @@
 	    
         
        
-    ],
+        ,{
+            "path" : "pages/inspectList/processList/processList",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "消防支队人工督查单",
+                "enablePullDownRefresh": false,
+				"app-plus": {
+					"titleNView": {
+						"buttons": [{
+							"text": "\ue613",
+							"fontSize": "20px",
+							// "redDot": true,
+							"float": "right",
+							"fontSrc": "/static/iconfont/iconfont.ttf",
+							"width": "auto"
+						}]
+					}
+				}
+				
+            }
+        }
+		
+        ,{
+            "path" : "pages/inspectList/processedDetail/processedDetail",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "消防支队人工督查单详情",
+                "enablePullDownRefresh": false
+				
+            }
+            
+        }
+        ,{
+            "path" : "pages/xunJian/xunJian",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "巡检菜单",
+                "enablePullDownRefresh": false
+            }
+            
+        }
+        ,{
+            "path" : "pages/xunJian/record/record",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "巡检记录",
+                "enablePullDownRefresh": false
+            }
+            
+        }
+        ,{
+            "path" : "pages/xunJian/plan/plan",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "巡检计划",
+                "enablePullDownRefresh": false
+            }
+            
+        }
+        ,{
+            "path" : "pages/xunJian/recordDetail/recordDetail",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "巡检记录详情",
+                "enablePullDownRefresh": false
+            }
+            
+        }
+    ],
+	
+	
+	
+	
+	
 	"globalStyle": {
 		"navigationBarTextStyle": "black",
 		"navigationBarTitleText": "uni-app",

+ 1 - 1
pages/device-Manage/device-Manage.vue

@@ -34,7 +34,7 @@
 	export default {
 		data() {
 			return {
-				deviceManage: json.deviceManage,
+				deviceManage: json.xunJianRecord,
 				modalName: null,
 			};
 		},

+ 102 - 96
pages/index/components/chart/chart.vue

@@ -6,20 +6,30 @@
 </template>
 
 <script>
-	// let echartData = [{
-	// 		name: "电力监测",
-	// 		value: 1000
-	// 	},
-	// 	{
-	// 		name: "视频监测",
-	// 		value: 2920
-	// 	},
-	// ];
-	let title = '报警总数';
-	// let total = echartData.reduce((a, b) => {
-	// 	return a + b.value * 1
-	// }, 0);
+	var dataname = ['消防水系统', '报警主机', '电气火灾', '其他', '监控视频']
+	var datamax = [600, 600, 600, 600, 600]
+	var datavaule = [265, 368, 350, 260, 300, ]
+	var color = ['#3C8BF0', '#06CDF8', '#0ECB70', '#6744EF', '#FFD803'];
 
+	var indicator = []
+
+	for (var i = 0; i < dataname.length; i++) {
+		indicator.push({
+			name: dataname[i],
+			max: datamax[i],
+			color: color[i]
+		})
+	}
+
+	function contains(arrays, obj) {
+		var i = arrays.length;
+		while (i--) {
+			if (arrays[i] === obj) {
+				return i;
+			}
+		}
+		return false;
+	}
 
 	export default {
 		name: 'chart',
@@ -31,102 +41,98 @@
 		},
 		data() {
 			return {
+
 				option: {
-					color: ['#67e0e3', '#e062ae'],
+
 					tooltip: {
-						trigger: 'item',
-						formatter: "{a} <br/>{b}: {c} ({d}%)"
-					},
-					title: [{ //aa标题
-						text: '{val|' + this.bindData.integratedAlarmCount + '}\n{name|' + title + '}',
-						top: '45%',
-						left: 'center',
-						textStyle: {
-							rich: {
-								name: {
-									fontSize: 14,
-									fontWeight: 'normal',
-									color: '#666666',
-									padding: [5, 0]
-								},
-								val: {
-									fontSize: 24,
-									color: '#333333',
-								}
+						formatter: function() {
+							var html = '';
+							for (var i = 0; i < datavaule.length; i++) {
+								html += dataname[i] + ' : ' + datavaule[i] + '\n'
 							}
+							return html
 						}
-					}],
-					legend: { //aa图例
-						orient: 'horizontal',
-						icon: 'circle',
-						itemWidth: 12,
-						itemHeight: 12,
-						itemGap: 60,
-						// top: -10,
-						textStyle: {
-
-							fontSize: 14,
-							rich: {
-								name: {
-									fontSize: 18
-								},
-								value: {
-									fontSize: 14,
-									padding: [0, 20, 0, 5]
-								},
-
+					},
+					radar: {
+						center: ["50%", "50%"],
+						radius: "72%",
+						splitArea: {
+							areaStyle: {
+								color: [
+									'#6494fe', '#d1dfff',
+									'#6494fe', '#d1dfff',
+								]
 							}
 						},
-					},
-					series: [{
-						name: '报警分析',
-						type: 'pie',
-						radius: ['40%', '60%'], //aa环装圈粗细
-						center: ['50%', '55%'],
 
-						itemStyle: {
-							normal: {
-								shadowBlur: 20,
-								shadowColor: '#F9F5F7',
-								shadowOffsetX: 0,
-								shadowOffsetY: 0,
-							},
+						axisLabel: {
+							show: false,
 						},
+						axisLine: {
+							show: true,
+							lineStyle: {
+								color: "rgba(255,255,255,.5)",
 
-						data: [{
-								name: "电力监测",
-								value: this.bindData.smartElectricityCount
-							},
-							{
-								name: "视频监测",
-								value: this.bindData.videoMonitoringCount
+							}
+						},
+						splitLine: {
+							lineStyle: {
+								color: '#fff', // 分隔线颜色
+								width: 1 // 分隔线线宽
+							}
+						},
+
+						name: {
+							formatter: function(value) {
+								var i = contains(dataname, value);
+								var percent = datavaule[i];
+
+								return '{a|' + value + '}\n  ' + '{b|' + percent + '}'
 							},
+							textStyle: {
+								rich: {
+									a: {
+										// color: '#333',
+										fontSize: 13,
+										align: 'center',
+										padding: [-5, 0, 0, 0]
+									},
+									b: {
+										// color: 'red',
+										fontSize: 13,
+										align: 'center',
+										padding: [-18, 0, 0, -7]
 
-						],
 
-						labelLine: {
-							normal: {
-								length: 10, //aa折线长度
-								length2: 20, //aa折线长度
 
-							}
+									}
+								},
+							},
 						},
-						label: {
+						indicator: indicator
+					},
+
+					series: [{
+						type: "radar",
+						symbol: "circle",
+						symbolSize: 7,
+						areaStyle: {
+							normal: {
+								color: 'rgba(255,2,2, 0.5)',
+							},
+						},
+						itemStyle: {
+							color: '#fff',
+							borderColor: '#ff0202',
+							borderWidth: 1,
+						},
+						lineStyle: {
 							normal: {
-								formatter: '{b}:{d}%',
-								// formatter: params => {
-								// 	var percent = 0;
-								// 	var total = 0;
-								// 	for (var i = 0; i < echartData.length; i++) {
-								// 		total += echartData[i].value;
-								// 	}
-								// 	console.log(111);
-								// 	console.log(total);
-								// 	percent = ((params.value / total) * 100).toFixed(0);
-								// 	return params.name + ': ' + percent + '%';
-								// },
+								color: "#ff0202",
+								width: 1
 							}
 						},
+						data: [datavaule]
 					}]
 				}
 			}
@@ -159,15 +165,15 @@
 				// 动态引入较大类库避免影响页面展示
 				const script = document.createElement('script')
 				// view 层的页面运行在 www 根目录,其相对路径相对于 www 计算
-				script.src = '/static/echarts.js'
+				script.src = '/static/echarts.min.js'
 				script.onload = this.initEcharts.bind(this)
 				document.head.appendChild(script)
 			}
 		},
 		methods: {
-			initEcharts() {
-				
-				
+			initEcharts() {
+
+
 				myChart = echarts.init(document.getElementById('echarts'))
 				// 观测更新的数据在 view 层可以直接访问到
 				myChart.setOption(this.option)

+ 3 - 2
pages/index/components/chart2/chart2.vue

@@ -43,7 +43,8 @@
 					},
 					tooltip: {
 						trigger: 'item',
-						formatter: "{a} <br/>{b}: {c} ({d}%)"
+						// formatter: "{a} <br/>{b}: {c} ({d}%)"
+						formatter: "{b}: {c} "
 					},
 
 					title: [{ //aa标题
@@ -180,7 +181,7 @@
 				// 动态引入较大类库避免影响页面展示
 				const script = document.createElement('script')
 				// view 层的页面运行在 www 根目录,其相对路径相对于 www 计算
-				script.src = '/static/echarts.js'
+				script.src = '/static/echarts.min.js'
 				script.onload = this.initEcharts.bind(this)
 				document.head.appendChild(script)
 			}

+ 1 - 1
pages/index/components/chart3/chart3.vue

@@ -194,7 +194,7 @@
 				// 动态引入较大类库避免影响页面展示
 				const script = document.createElement('script')
 				// view 层的页面运行在 www 根目录,其相对路径相对于 www 计算
-				script.src = '/static/echarts.js'
+				script.src = '/static/echarts.min.js'
 				script.onload = this.initEcharts.bind(this)
 				document.head.appendChild(script)
 			}

+ 73 - 195
pages/index/index.vue

@@ -1,5 +1,6 @@
 <template>
-	<view style="background:#f1f1f1;" class="padding-sm">
+	<view style="background:#f1f1f1;" class="padding-sm">
+		<!-- 下拉选择 -->
 		<view class="searchSelect shadow" v-if="flag">
 			<view class="cu-bar search bg-white">
 				<view class="search-form round">
@@ -11,7 +12,10 @@
 			<view class="select-items">
 				<view class="select-item" v-for="(item,index) in searchList" @click="clickSelectItem(item,index)" :key="index">{{item}}</view>
 			</view>
-		</view>
+		</view>
+		<!-- 下拉选择 end -->
+		
+		<!-- 图表 -->
 		<view class="section1 section bg-white padding-xs">
 			<view class=" static-tabs grid margin-bottom text-center col-3 margin-top-sm margin-bottom-sm">
 				<view :class="['padding-sm ',Inv==0?'active':'']" @click="Inv=0">报警信息统计</view>
@@ -28,7 +32,7 @@
 
 					<chart2 :bindData="staticData"></chart2>
 				</view>
-				<view v-if="Inv == 2" class="chart3-box" @tap="goDeviceList()">
+				<view v-if="Inv == 2" class="chart3-box" @tap="goOfflineList()">
 					<ul class="chart3-icon">
 						<li>
 							<image src="../../static/chart3-1.png" style="width:64rpx;height:64rpx"></image>
@@ -50,10 +54,10 @@
 					</chart3>
 				</view>
 			</view>
-		</view>
+		</view>
+		<!-- 图表 end-->
 
 		<!-- 宫格列表 -->
-		<!-- <square :cuIconList="cuIconList"></square> -->
 		<view class="section2 section  bg-white margin-top-sm margin-bottom-sm">
 			<view class="cu-list grid col-3 no-border">
 				<view class="cu-item justify-center align-center" @tap=navItemClick(index) v-for="(item,index) in cuIconList" :key="index">
@@ -64,7 +68,8 @@
 					<text>{{item.name}}</text>
 				</view>
 			</view>
-		</view>
+		</view>
+		<!-- 宫格列表 end -->
 	</view>
 </template>
 
@@ -86,175 +91,80 @@
 				componentKey: 0,
 				arr: [],
 				searchInput: '',
-				alarmCount:'',
+				
 				flag: false,
-				cuIconList: json.cuIconList,
+				cuIconList: json.cuIconList, 
 				Inv: 0,
-				searchList: [],
+				
+				
+				staticData:  json.staticData.data[0],
+				alarmCount:  json.staticData.data[0].alarmCount,
+				
+				searchList: [],
 				searchList2: [],
-				staticData: {}
+				
 			};
-		},
+		},
+		
+		// 自定义导航事件
 		onNavigationBarButtonTap(e) {
 			if (e.float == 'right') {
 				console.log("你点击了扫一扫")
-				uni.scanCode({
-					// success: function(res) {
-					// 	console.log('条码类型:' + res.scanType);
-					// 	console.log('条码内容:' + res.result);
-					// }
-					success: function(res) {
-						let result = res.result;
-						if (result.indexOf('http://') == 0 || result.indexOf('https://') == 0) {
-							//是网址,直接跳转  
-							plus.runtime.openURL(result); //调用手机浏览器  
-							//怎么在APP内跳转网址?  
-						} else {
-							//不是网址,打印出结果  
-							uni.showToast({
-								title: res.result
-							})
-						}
-					},
-					fail: function(err) {
-						console.log('扫码失败', err)
-					}
-				});
 			} else {
 				this.showTag()
 			}
 		},
 
 		onLoad(option) {
-
-			let ua = navigator.userAgent.toLowerCase();
-			if (ua.match(/MicroMessenger/i) == "micromessenger"){
-				//是
-				this.init();
-			}else{
-				//不是
-				// uni.navigateTo({
-				// 	url: '/pages/login/login',
-				// });
-				// setTimeout(function() {
-				// 	uni.navigateTo({
-				// 		url: '/pages/login/login',
-				// 	});
-				// }, 2000);
-			}
-
-
-			this.hackReset = false;
-			this.$nextTick(() => {
-				this.hackReset = true;
-			})
-			this.getData();
-			this.getSearchList();
-		},
-		methods: {
-
-			// start
-			getUrlCode() {
-				var url = location.search
-				this.winUrl = url
-				var theRequest = new Object()
-				if (url.indexOf("?") != -1) {
-					var str = url.substr(1)
-					var strs = str.split("&")
-					for (var i = 0; i < strs.length; i++) {
-						theRequest[strs[i].split("=")[0]] = (strs[i].split("=")[1])
-					}
-				}
-				return theRequest
-			},
-			async getUrlPrams(key) {
-				var reg = new RegExp("(^|&)" + key + "=([^&]*)(&|$)", "i");
-				var r = window.location.search.substr(1).match(reg); //获取url中"?"符后的字符串并正则匹配
-				var context = "";
-				if (r != null) {
-					context = r[2];
-				}
-				return context;
-			},
-			async init() {
-				var appId = "wx4eab2e3b5531d58b";
-				var params = {};
-				var CODE = this.getUrlCode();
-				var code = CODE['code'];
-				if (code) {
-
-					params.code = code;
 			
-
-					//使用code请求服务器接口,换取用户用户openID
-					const res = await this.$myRequest({
-						url: 'Com/getPageAuthorization',
-						data: params
-					})
-					if (res.data.flag == 3000) {
-						// alert("授权失败,请重新登录");
-						window.location.href ='https://qhome.usky.cn/index.html#/';
-					}
+			// 图表切换渲染
+			this.hackReset = true;
+			// this.$nextTick(() => {
+			// 	this.hackReset = true;
+			// })
 			
-					if (res.data.flag == 3003) {
-						uni.navigateTo({
-							url: '/pages/authority/authority',
-						});
-					}
-					if (res.data.flag == 3002) {
-						// alert("授权失败,请重新登录");
-						window.location.href ='https://qhome.usky.cn/index.html#/';
-					}
-					return "ok";
-				}
-
-				var cs = {};
-				var curl = window.location.href;
-				cs.curl = curl;
-
-				const res1 = await this.$myRequest({
-					url: 'Com/getAuthorizationUrl',
-					data: cs
-				})
-
-				var turl = res1.data.turl;
-				window.location.href =
-					'https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx4eab2e3b5531d58b&redirect_uri=' + turl +
-					'&response_type=code&scope=snsapi_base&state=abc123#wechat_redirect';
-			},
-			// end
-
-			//首页初始化授权
-			async getPageAuthorization(ming = {}) {
-				const res = await this.$myRequest({
-					url: 'Com/getPageAuthorization',
-					data: ming
-				})
-
-				if (res.data.flag == 3000) {
-					uni.navigateTo({
-						url: '/pages/login/login',
-					});
-				}
-				if (res.data.flag == 3002) {
-					uni.navigateTo({
-						url: 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx4eab2e3b5531d58b&redirect_uri=' + res.data
-							.tourl + '&response_type=code&scope=snsapi_base&state=abc123#wechat_redirect',
-					});
-				}
-
-			},
-
-			async getData() {
-				const res = await this.$myRequest({
-					url: 'Index/getDataStatistics',
-					showLoading: true
-				})
-				this.staticData = res.data.data[0]
-				this.alarmCount=this.staticData.alarmCount
+			// 数据渲染
+			this.getSearchList();
+		},
+		methods: {
+			// 九宫格页面跳转
+			navItemClick(index) {
+				let url = "";
+				switch (index) {
+					case 0:
+						url = "/pages/alarmingList/alarmingList"
+						break;
+					case 1:
+						url = "/pages/deviceType/deviceType"
+						break;
+					case 2:
+						url = "/pages/inspectList/inspectList"
+						break;
+					case 3:
+						url = "/pages/xunJian/xunJian"
+						break;
+					default:
+						break;
+				}
+				if (url) {
+					uni.navigateTo({
+						url: url
+					})
+				} else {
+					uni.showModal({
+						title: 'Tips',
+						content: '此模块开发中~',
+						showCancel: false,
+						success: function(res) {
+							if (res.confirm) {
+							} else if (res.cancel) {
+							}
+						}
+					});
+				}
 			},
 
-
+			//请求
 			async getSearchList(ming = {}) {
 				const res = await this.$myRequest({
 					url: 'Index/getSiteDropDownBox',
@@ -264,53 +174,21 @@
 					this.searchList.push(item.siteName)
 					this.searchList2.push(item.siteName)
 				});
-			},
-
+			},
+			
+			
+			// 下拉选择
 			clickSelectItem(item, index) {
 				this.getSearchList({
 					"siteName": item
 				});
 				this.flag = false
 			},
-
 			handleInput() {
 				var newlist = this.searchList2.filter(item => item.indexOf(this.searchInput) > -1)
 				this.searchList = newlist
 			},
 
-			navItemClick(index) {
-				let url = "";
-				switch (index) {
-					case 0:
-						url = "/pages/alarmingList/alarmingList"
-						break;
-					case 1:
-						url = "/pages/deviceType/deviceType"
-						break;
-					case 2:
-						url = "/pages/inspectList/inspectList"
-						break;
-					default:
-						break;
-				}
-				if (url) {
-					uni.navigateTo({
-						url: url
-					})
-				} else {
-					uni.showModal({
-						title: 'Tips',
-						content: '此模块开发中~',
-						showCancel: false,
-						success: function(res) {
-							if (res.confirm) {
-							} else if (res.cancel) {
-							}
-						}
-					});
-				}
-			},
-
 			showTag() {
 				this.flag = !this.flag;
 			},
@@ -329,7 +207,7 @@
 			
 			
 			// 页面跳转
-			goDeviceList() {
+			goOfflineList() {
 				uni.navigateTo({
 					url: '/pages/deviceOffLine/deviceOffLine',
 					success: res => {},

+ 6 - 6
pages/inspectList/inspectList.vue

@@ -2,7 +2,7 @@
 
 	<view class="">
 		<view class="cu-list menu-avatar">
-			<view class="cu-item deviceTypeItem" v-for="(item,index) in inspectList" :key="index" >
+			<view class="cu-item deviceTypeItem" v-for="(item,index) in inspectList" :key="index" @tap="goProcessList()">
 				<view class="cu-avatar round" :style="`background-image:url(${item.imgUrl})`"></view>
 				<view class="content">
 					<view class="title">{{item.title}}</view>
@@ -35,11 +35,11 @@
 		
 	
 		methods: {
-			// goDeviceType(){
-			// 	uni.navigateTo({
-			// 		url: '/pages/device-Manage/device-Manage',
-			// 	});
-			// }
+			goProcessList(){
+				uni.navigateTo({
+					url: '/pages/inspectList/processList/processList',
+				});
+			}
 
 			
 			

+ 180 - 0
pages/inspectList/processList/processList.vue

@@ -0,0 +1,180 @@
+<template>
+	<view class="processWrapper ">
+
+		<view class="ding">
+			<scroll-view scroll-x class="bg-white nav text-center">
+				<view class="cu-item" :class="index==TabCur?'text-blue cur':''" v-for="(item,index) in tabNav" :key="index" @tap="tabSelect"
+				 :data-id="index">
+					<view v-if="TabCur==index" class="cu-tag badge">
+						<block class="cu-tag badge">{{TabCur? unporcessList.length:porcessedList.length}} </block>
+					</view>
+					{{item}}
+				</view>
+			</scroll-view>
+		</view>
+		
+
+		<block v-if="TabCur==0">
+			<view class="processList">
+					<view class="cu-list menu-avatar">
+						
+						<view class="cu-item" v-for="(item,index) in unporcessList" :key="index">
+							<view class="cu-avatar lg" style="background-image:url(../../static/process-icon.png);"></view>
+							<view class="content">
+								<view class="pro-title">
+									<view class="cut">{{item.title}}</view>
+								</view>
+								<view class="pro-des  ">
+									<view class="text-cut">
+										{{item.des}}
+									</view>
+								</view>
+								<view class="pro-date ">{{item.time}}</view>
+							</view>
+							<view class="action" style="z-index:99">
+								<view class="unProcess" @tap="goUnprocessDetail(item.id)">未处理</view>
+							</view>
+						</view>
+						<view class=" text-center margin-top" v-if="unporcessList.length === 0">暂无数据...</view>
+					</view>
+			</view>
+		</block>
+		
+		<block v-if="TabCur==1">
+			<view class="processList">
+					<view class="cu-list menu-avatar "  >
+						<view class="cu-item" v-for="(item,index) in porcessedList" :key="index">
+							<view class="cu-avatar lg" style="background-image:url(../../static/processed-icon.png);"></view>
+							<view class="content">
+								<view class="pro-title">
+									<view class="cut">{{item.title}}</view>
+								</view>
+								<view class="pro-des  ">
+									<view class="text-cut">
+										{{item.des}}
+									</view>
+								</view>
+								<view class="pro-date ">{{item.time}}</view>
+							</view>
+							<view class="action" style="z-index:99">
+								<view class="processed"  @tap="goProcessedDetail(item.id)">已处理</view>
+							</view>
+						</view>
+						<view class="text-center margin-top" v-if="porcessedList.length === 0">暂无数据...</view>
+					</view>
+			</view>
+		</block>
+
+	</view>
+</template>
+
+<script>
+	import json from '../../../data/json.js';
+	export default {
+		data() {
+			return {
+				 unporcessList: json.inspectUnprocessList,
+				 porcessedList: json.inspectProcessedList,
+				 
+				type: '0',
+				modalName: null,
+				listTouchStart: 0,
+				listTouchDirection: null,
+				CustomBar: this.CustomBar,
+				TabCur: 0,
+				tabNav: ['未处理', '已处理'],
+				
+		
+			};
+		},
+		onLoad: function(option) {
+
+			
+		},
+		
+		onNavigationBarButtonTap(e) {
+			console.log(e)
+			uni.navigateTo({
+				url: '/pages/export/export',
+				success: res => {},
+				fail: () => {},
+				complete: () => {}
+			});
+		},
+		methods: {
+
+			
+
+			tabSelect(e) {
+
+				console.log(e.currentTarget);
+				this.TabCur = e.currentTarget.dataset.id;
+				this.scrollLeft = (e.currentTarget.dataset.id - 1) * 60;
+
+
+
+			},
+
+			// 页面跳转
+			goUnprocessDetail(id) {
+				uni.navigateTo({
+					url: '/pages/inspectList/unprocessDetail/unprocessDetail',
+					success: res => {},
+					fail: () => {},
+					complete: () => {}
+				});
+			},
+			
+			goProcessedDetail(id) {
+				uni.navigateTo({
+					url: '/pages/inspectList/processedDetail/processedDetail',
+					success: res => {},
+					fail: () => {},
+					complete: () => {}
+				});
+			},
+			
+			// goVideoUnprocessDetail(id) {
+			// 	uni.navigateTo({
+			// 		url: '/pages/unprocessDetail/unprocessDetail?companyCode=' + this.companyCode + '&processingStatus=0&id=' + id +
+			// 			'&type=2',
+			// 		success: res => {},
+			// 		fail: () => {},
+			// 		complete: () => {}
+			// 	});
+			// },
+			
+
+			goVideoProcessedDetail(id) {
+				uni.navigateTo({
+					url: '/pages/processedDetail/processedDetail?companyCode=' + this.companyCode + '&processingStatus=' + this.processingStatus +
+						'&id=' + id + '&type=2',
+					success: res => {},
+					fail: () => {},
+					complete: () => {}
+				});
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	//已处理未处理消息个数样式
+	.nav .cu-item.cur {
+		position: relative;
+		border-bottom: 8rpx solid;
+	}
+	.cu-tag.badge {
+		top: 14rpx;
+		right: 96rpx;
+	}
+	.nav .cu-item {
+		width: 50%;
+		margin: 0;
+		.text-blue,
+		.line-blue,
+		.lines-blue {
+			color: #4274E7
+		}
+	}
+</style>

+ 120 - 0
pages/inspectList/processedDetail/processedDetail.vue

@@ -0,0 +1,120 @@
+<template>
+	<view>
+		<view class="timeBox flex justify-between align-center padding-lr-sm">
+			<view class="time">2021-01-18 15:16:45</view>
+			<button class="cu-btn radius bg-green sm">已处理</button>
+		</view>
+	
+		<view >
+			<!-- 基本信息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>[2020]HP第DZ4104号人工督查单</text>
+					</view>
+					
+					<view>
+						<text>事件未处理测试</text>
+					</view>
+					
+				</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>13262908435</text>
+					</view>
+					<view>
+						<text>处理时间:</text>
+						<text>2021-01-18 18:00:00</text>
+					</view>
+					
+					<view>
+						<text>处理内容:</text>
+						<text>测试</text>
+					</view>
+				</view>
+			</view>
+			<!-- 处理状态end -->
+		</view>
+		
+
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				radio: 'A',
+				radio: 'B',
+				modalName: null,
+				type: '0',
+				detailMessage:{},
+				detailMessage2:{}
+			}
+		},
+		onLoad: function(option) {
+		
+			
+			
+		},
+		methods: {
+			
+			submit() {
+				uni.makePhoneCall({
+					phoneNumber: '15122423833' //仅为示例
+				});
+			},
+			
+			RadioChange(e) {
+				this.radio = e.detail.value
+			},
+			textareaAInput(e) {
+				this.textareaAValue = e.detail.value
+			},
+
+		}
+	}
+</script>
+
+<style lang="scss">
+	.timeBox {
+		height: 88rpx;
+		background: #EFF4FF;
+		line-height: 88rpx;
+		.time {
+			color: #333
+		}
+	}
+	.info-tit {
+		color: #4074E7;
+		line-height: 90rpx;
+		height: 90rpx;
+	}
+
+	// 基本信息
+	.info-content>view {
+		margin-left: 24rpx;
+		border-bottom: 1px solid #EDEDED;
+		line-height: 92rpx;
+		color: #666;
+	}
+
+	.info-content view text:first-child {
+		width: 160rpx;
+		display: inline-block
+	}
+</style>

BIN
static/dt-alarmIcon.png


BIN
static/dt-dqIcon.png


BIN
static/dt-dtIcon.png


BIN
static/dt-jgIcon.png


BIN
static/dt-rtuIcon.png


BIN
static/dt-videoIcon.png


BIN
static/dt-waterIcon.png


BIN
static/dt-xfsIcon.png


BIN
static/dt-ygIcon.png


BIN
static/dz-icon.png


Rozdielové dáta súboru neboli zobrazené, pretože súbor je príliš veľký
+ 21 - 0
static/echarts.min.js


BIN
static/rg-icon.png


BIN
static/xunJian-icon1.png


BIN
static/xunJian-icon2.png


Niektoré súbory nie sú zobrazené, pretože je v týchto rozdielových dátach zmenené mnoho súborov