Ming před 4 roky
rodič
revize
178309a51b

+ 44 - 5
common/common.scss

@@ -261,9 +261,9 @@ radio,checkbox {
 	width: auto!important;
 	display: inline-block
 }
-.info-content view text:last-child {
-	color:#333
-}
+// .info-content view text:last-child {
+// 	color:#333
+// }
 
 
 .analyse-wrapper {
@@ -574,5 +574,44 @@ radio,checkbox {
 	uni-input, select, option{
 		border:none
 	}
-	
-		
+	
+	
+	
+	// 风险保障
+	.viewDetail{
+		color:#4074E7;
+	}
+	.qa{
+		.cu-list+.cu-list{
+			margin-top:0
+		}
+	}
+	.qa-des{
+		color:#666;
+		line-height:1.5;
+		text-indent:64rpx
+	}
+	.bottom-line{	
+		background: rgba(221,221,221,.5);
+		height:2rpx;
+		margin-left:30rpx;
+		
+	}
+	.cu-list.menu-avatar>.cu-item.qa-tit{
+		height:auto;
+		.cu-avatar{
+			width:32rpx;height:32rpx
+			
+		} 
+		.content{
+			left:50rpx
+		}
+	}
+	
+	.messagePush{
+		.uni-checkbox .uni-checkbox-input{
+			width:40rpx;
+			height:40rpx;
+		}
+	}
+	

+ 51 - 8
pages.json

@@ -178,6 +178,14 @@
 			"style": {
 				"navigationBarTitleText": "设置"
 			}
+		},
+		{
+			"path": "pages/setting/messagePush/messagePush",
+			"style": {
+				"navigationBarTitleText": "消息推送设置",
+				"enablePullDownRefresh": false
+			}
+		
 		}
 
 
@@ -288,19 +296,12 @@
 			}
 
 		}, {
-			"path": "pages/videoDetail/videoDetail",
+			"path": "pages/videoList/videoDetail/videoDetail",
 			"style": {
 				"navigationBarTitleText": "实时监控",
 				"enablePullDownRefresh": false
 			}
 
-		}, {
-			"path": "pages/messagePush/messagePush",
-			"style": {
-				"navigationBarTitleText": "消息推送设置",
-				"enablePullDownRefresh": false
-			}
-
 		},
 		{
 			"path": "pages/add/add",
@@ -553,6 +554,47 @@
 		        "enablePullDownRefresh": false
 		    } 
 		}
+        ,{
+            "path" : "pages/safeGuard/safeGuard",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "风险保障",
+                "enablePullDownRefresh": false,
+				"app-plus": {
+					"titleNView": {
+						"buttons": [{
+								"text": "\ue66b", 
+								"fontSize": "18px",
+								"float": "right",
+								"fontSrc": "/static/iconfont/iconfont.ttf",
+								"width": "auto"
+				
+							}
+							
+						]
+					}
+				}
+            }
+            
+        }
+        ,{
+            "path" : "pages/safeGuard/QA/QA",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "问题解答",
+                "enablePullDownRefresh": false
+            }
+            
+        }
+        ,{
+            "path" : "pages/test/test",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "",
+                "enablePullDownRefresh": false
+            }
+            
+        }
     ],
 	
 	
@@ -596,6 +638,7 @@
 				"selectedIconPath": "static/setting-selected.png",
 				"text": "设置"
 			}
+			
 		]
 
 	}

+ 91 - 81
pages/index/index.vue

@@ -1,20 +1,22 @@
 <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" style="margin-top:0">
-					<input @focus="InputFocus" @blur="InputBlur" @input="handleInput()" v-model="searchInput" :adjust-position="false"
-					 type="text" placeholder="" confirm-type="search" style="border:none"></input>
+					<input @focus="InputFocus" @blur="InputBlur" @input="handleInput()" v-model="searchInput"
+						:adjust-position="false" type="text" placeholder="" confirm-type="search"
+						style="border:none"></input>
 					<text class="cuIcon-search "></text>
 				</view>
 			</view>
 			<view class="select-items">
-				<view class="select-item" v-for="(item,index) in searchList" @click="clickSelectItem(item,index)" :key="index">{{item}}</view>
+				<view class="select-item" v-for="(item,index) in searchList" @click="clickSelectItem(item,index)"
+					:key="index">{{item}}</view>
 			</view>
-		</view>
-		<!-- 下拉选择 end -->
-		
+		</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">
@@ -54,13 +56,14 @@
 					</chart3>
 				</view>
 			</view>
-		</view>
+		</view>
 		<!-- 图表 end-->
 
 		<!-- 宫格列表 -->
 		<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">
+				<view class="cu-item justify-center align-center" @tap=navItemClick(index)
+					v-for="(item,index) in cuIconList" :key="index">
 					<image :src="item.imgUrl" style="width:100rpx;height:100rpx"></image>
 					<view class="cu-tag badge" v-if="item.badge!=0">
 						<block v-if="item.badge!=1">{{item.badge>99?'99+':item.badge}}</block>
@@ -68,7 +71,7 @@
 					<text>{{item.name}}</text>
 				</view>
 			</view>
-		</view>
+		</view>
 		<!-- 宫格列表 end -->
 	</view>
 </template>
@@ -84,28 +87,28 @@
 			chart,
 			chart2,
 			chart3,
-		},
-		
+		},
+
 		data() {
 			return {
 				componentKey: 0,
 				arr: [],
-				searchInput: '',
-				
+				searchInput: '',
+
 				flag: false,
-				cuIconList: json.cuIconList, 
+				cuIconList: json.cuIconList,
 				Inv: 0,
-				
-				
-				staticData:  json.staticData.data[0],
-				alarmCount:  json.staticData.data[0].alarmCount,
-				
-				searchList: [],
+
+
+				staticData: json.staticData.data[0],
+				alarmCount: json.staticData.data[0].alarmCount,
+
+				searchList: [],
 				searchList2: [],
-				
+
 			};
-		},
-		
+		},
+
 		// 自定义导航事件
 		onNavigationBarButtonTap(e) {
 			if (e.float == 'right') {
@@ -116,61 +119,68 @@
 		},
 
 		onLoad(option) {
-			
+
 			// 图表切换渲染
 			this.hackReset = true;
 			// this.$nextTick(() => {
 			// 	this.hackReset = true;
-			// })
-			
+			// })
+
 			// 数据渲染
 			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;
-					case 4:
-						url = "/pages/repair/repair"
+		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;
+					case 4:
+						url = "/pages/repair/repair"
 						break;
 					case 5:
 						url = "/pages/weiBao/weiBao"
-						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) {
-							}
-						}
-					});
-				}
+						break;
+					case 6:
+						url = "/pages/videoList/videoList"
+						break;
+					case 7:
+						url = "/pages/safeGuard/safeGuard"
+						break;
+						case 8:
+							url = "/pages/test/test"
+							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',
@@ -180,9 +190,9 @@
 					this.searchList.push(item.siteName)
 					this.searchList2.push(item.siteName)
 				});
-			},
-			
-			
+			},
+
+
 			// 下拉选择
 			clickSelectItem(item, index) {
 				this.getSearchList({
@@ -209,17 +219,17 @@
 			changeTab(Inv) {
 				that.navIdx = Inv;
 
-			},
-			
-			
-			// 页面跳转
-			goOfflineList() {
-				uni.navigateTo({
-					url: '/pages/deviceOffLine/deviceOffLine',
-					success: res => {},
-					fail: () => {},
-					complete: () => {}
-				});
+			},
+
+
+			// 页面跳转
+			goOfflineList() {
+				uni.navigateTo({
+					url: '/pages/deviceOffLine/deviceOffLine',
+					success: res => {},
+					fail: () => {},
+					complete: () => {}
+				});
 			},
 
 		}

+ 0 - 101
pages/messagePush/messagePush.vue

@@ -1,101 +0,0 @@
-<template>
-	<view class="padding-sm">
-
-		<form action="">
-			<checkbox-group class="block" @change="CheckboxChange">
-				<view class="  margin-top  ">
-					<view class="flex align-center checkItems">
-						<checkbox class="blue" :class="checkbox[0].checked?'checked':''" :checked="checkbox[0].checked?true:false" value="A"></checkbox>
-						<view class="title">电力监测</view>
-					</view>
-					<view class="flex align-center checkItems">
-						<checkbox class="blue" :class="checkbox[1].checked?'checked':''" :checked="checkbox[1].checked?true:false" value="B"></checkbox>
-						<view class="title">视频报警</view>
-					</view>
-				</view>
-
-			</checkbox-group>
-
-
-
-			<view class="btn-area submitBottomBtn padding-lr-sm">
-				<button class="bg-blue round  margin-top">提 交 </button>
-			</view>
-
-		</form>
-
-	</view>
-</template>
-
-<script>
-	export default {
-		data() {
-			return {
-				checkbox: [{
-						value: 'A',
-						checked: false
-					},
-					{
-						value: 'B',
-						checked: false
-					},
-					{
-						value: 'C',
-						checked: false
-					},
-					{
-						value: 'D',
-						checked: false
-					},
-					{
-						value: 'E',
-						checked: false
-					},
-					{
-						value: 'F',
-						checked: false
-					},
-					{
-						value: 'G',
-						checked: false
-					},
-					{
-						value: 'H',
-						checked: false
-					}
-				],
-
-			}
-		},
-		methods: {
-			CheckboxChange(e) {
-				var items = this.checkbox,
-					values = e.detail.value;
-				for (var i = 0, lenI = items.length; i < lenI; ++i) {
-					items[i].checked = false;
-					for (var j = 0, lenJ = values.length; j < lenJ; ++j) {
-						if (items[i].value == values[j]) {
-							items[i].checked = true;
-							break
-						}
-					}
-				}
-			},
-		}
-	}
-</script>
-
-<style lang="scss">
-	.checkItems {
-		width: 50%;
-		display: inline-block;
-		text-align: center;
-		margin-bottom: 40rpx;
-
-		.title {
-			display: inline-block;
-			margin-left: 10rpx;
-		}
-	}
-	
-</style>

+ 80 - 0
pages/safeGuard/QA/QA.vue

@@ -0,0 +1,80 @@
+<template>
+	<view class="qa">
+		<view class="cu-list menu-avatar">
+			<view class="qa-tit cu-item ">
+				<view class="cu-avatar round" style="background-image: url(../../static/zr.png)"></view>
+				<view class="content">
+					<view class="title">保险责任</view>
+				</view>
+				<view class="nav-right">
+					<view>
+						<text class="icon iconfont margin-right-xs margin-left-lg">&#xe63d;</text>
+					</view>
+				</view>
+			</view>
+			<view class="qa-des padding ">
+				<view>一、保险期间内,被保险人在保险单载明的场 所内依法从事生产、经营活动时,因该场所内发生 火灾、爆炸造成第三人身伤亡,依照中华人民共和 国法律(不包括港澳台地区法律)应由被保险人承
+					担的经济赔偿责任,保险人按照本保险合同的约定 负责赔偿。 </view>
+				<view>二、发生保险事故后,被保险人因此而被提起 仲裁或者诉讼的,应由被保险人支付的仲裁或诉讼 费用以及事先经保险人书面同意支付的其它必要、
+					合理的费用(以下简称为“法律费用”),保险人 按照本合同的约定负责赔偿。</view>
+			</view>
+			<view class="bottom-line"></view>
+		</view>
+
+		<view class="cu-list menu-avatar">
+			<view class="qa-tit cu-item ">
+				<view class="cu-avatar round" style="background-image: url(../../static/xe.png)"></view>
+				<view class="content">
+					<view class="title">保险限额</view>
+				</view>
+				<view class="nav-right">
+					<view>
+						<text class="icon iconfont margin-right-xs margin-left-lg">&#xe63d;</text>
+					</view>
+				</view>
+			</view>
+			<view class="qa-des padding ">
+				<view>保险合同的责任限额包括每人责任限额和累计 责任限额,由投保人与保险人协商确定,并在保险 合同中载明。</view>
+			</view>
+			<view class="bottom-line"></view>
+		</view>
+
+		<view class="cu-list menu-avatar">
+			<view class="qa-tit cu-item ">
+				<view class="cu-avatar round" style="background-image: url(../../static/qt.png)"></view>
+				<view class="content">
+					<view class="title">其他事项</view>
+				</view>
+				<view class="nav-right">
+					<view>
+						<text class="icon iconfont margin-right-xs margin-left-lg">&#xe63d;</text>
+					</view>
+				</view>
+			</view>
+			<view class="qa-des padding ">
+				<view>保险责任开始前,投保人要求解除保险合同的, 应当向保险人支付相当于保险费5%的退保手续费, 保险人应当退还剩余部分保险费;保险人要求解除 保险合同的,不得向投保人收取手续费并应退还已
+					收取的保险费。  </view>
+				<view>保险责任开始后,投保人要求解除保险合同的, 自书面通知送达保险人之日起,保险合同解除,保 险人按照保险责任开始之日起至合同解除之日止期 间按短期费率计收保险费,并退还剩余部分保险费;
+					保险人要求解除保险合同的,应提前十五日向投保 人发出解约通知书解除本保险合同,保险人按照保 险责任开始之日起至合同解除之日止期间与保险期 间的日比例计收保险费,并退还剩余部分保险费。</view>
+			</view>
+			<view class="bottom-line"></view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+
+			}
+		},
+		methods: {
+
+		}
+	}
+</script>
+
+<style>
+
+</style>

+ 95 - 0
pages/safeGuard/safeGuard.vue

@@ -0,0 +1,95 @@
+<template>
+	<view>
+	
+		<view class="basic-info">
+		
+			<view class="info-content">
+				<view class="info-one-info ">
+					<text>单位名称:</text>
+					<text>虹泾总部园</text>
+				</view>
+				<view>
+					<text>维保单位:</text>
+					<text>永天科技</text>
+				</view>
+				<view>
+					<text style="width:auto!important">开始日期:</text>
+					<text>2020-06-08</text>
+				</view>
+				<view>
+					<text>结束日期:</text>
+					<text>2020-06-26</text>
+				</view>
+				<view>
+					<text>销售人员:</text>
+					<text>张三</text>
+				</view>
+				<view>
+					<text>联系电话:</text>
+					<text>13659595955</text>
+				</view>
+				<view>
+					<text>客户联系人:</text>
+					<text>李四</text>
+				</view>
+				<view>
+					<text>联系电话:</text>
+					<text>13659595955</text>
+				</view>
+				<view>
+					<text>客户电话:</text>
+					<text>15689898989</text>
+				</view>
+				<view>
+					<text>合同状态:</text>
+					<text class="online">启用</text>
+				</view>
+				<view>
+					<text>详细内容:</text>
+					<text class="viewDetail">点击下载查看详情</text>
+				</view>
+			</view>
+		</view>
+
+	
+
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				
+			
+			}
+		},
+		onNavigationBarButtonTap(e) {
+			console.log(e)
+			uni.navigateTo({
+				url: '/pages/safeGuard/QA/QA',
+				success: res => {},
+				fail: () => {},
+				complete: () => {}
+			});
+		},
+		methods: {
+			
+			
+
+			
+
+
+		}
+	}
+</script>
+
+<style lang="scss">
+	
+
+	
+	
+
+
+</style>
+

+ 141 - 0
pages/setting/messagePush/messagePush.vue

@@ -0,0 +1,141 @@
+<template>
+	<view class="padding-sm messagePush">
+
+		<form action="">
+			<checkbox-group class="block" @change="CheckboxChange">
+				<view class="  margin-top  ">
+					<view class="flex align-center checkItems">
+						<checkbox class="blue" :class="checkbox[0].checked?'checked':''" :checked="checkbox[0].checked?true:false" value="A"></checkbox>
+						<view class="title">火警报警</view>
+					</view>
+					<view class="flex align-center checkItems">
+						<checkbox class="blue" :class="checkbox[1].checked?'checked':''" :checked="checkbox[1].checked?true:false" value="B"></checkbox>
+						<view class="title">火警故障</view>
+					</view>
+					<view class="flex align-center checkItems">
+						<checkbox class="blue" :class="checkbox[2].checked?'checked':''" :checked="checkbox[2].checked?true:false" value="C"></checkbox>
+						<view class="title">水压越限</view>
+					</view>
+					<view class="flex align-center checkItems">
+						<checkbox class="blue" :class="checkbox[3].checked?'checked':''" :checked="checkbox[3].checked?true:false" value="D"></checkbox>
+						<view class="title">开关变化</view>
+					</view>
+					<view class="flex align-center checkItems">
+						<checkbox class="blue" :class="checkbox[4].checked?'checked':''" :checked="checkbox[4].checked?true:false" value="E"></checkbox>
+						<view class="title">设备离线</view>
+					</view>
+					<view class="flex align-center checkItems">
+						<checkbox class="blue" :class="checkbox[5].checked?'checked':''" :checked="checkbox[5].checked?true:false" value="F"></checkbox>
+						<view class="title">烟感报警</view>
+					</view>
+					<view class="flex align-center checkItems">
+						<checkbox class="blue" :class="checkbox[6].checked?'checked':''" :checked="checkbox[6].checked?true:false" value="G"></checkbox>
+						<view class="title">电气火灾</view>
+					</view>
+					<view class="flex align-center checkItems">
+						<checkbox class="blue" :class="checkbox[7].checked?'checked':''" :checked="checkbox[7].checked?true:false" value="H"></checkbox>
+						<view class="title">视频报警</view>
+					</view>
+					<view class="flex align-center checkItems">
+						<checkbox class="blue" :class="checkbox[8].checked?'checked':''" :checked="checkbox[8].checked?true:false" value="I"></checkbox>
+						<view class="title">电梯监测</view>
+					</view>
+					<view class="flex align-center checkItems">
+						<checkbox class="blue" :class="checkbox[9].checked?'checked':''" :checked="checkbox[9].checked?true:false" value="J"></checkbox>
+						<view class="title">井盖监测</view>
+					</view>
+				</view>
+
+			</checkbox-group>
+
+
+
+			<view class="btn-area submitBottomBtn padding-lr-sm">
+				<button class="bg-blue round  margin-top">提 交 </button>
+			</view>
+
+		</form>
+
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				checkbox: [{
+						value: 'A',
+						checked: true
+					},
+					{
+						value: 'B',
+						checked: false
+					},
+					{
+						value: 'C',
+						checked: false
+					},
+					{
+						value: 'D',
+						checked: false
+					},
+					{
+						value: 'E',
+						checked: false
+					},
+					{
+						value: 'F',
+						checked: false
+					},
+					{
+						value: 'G',
+						checked: false
+					},
+					{
+						value: 'H',
+						checked: false
+					},
+					{
+						value: 'I',
+						checked: false
+					},
+					{
+						value: 'J',
+						checked: false
+					}
+				],
+
+			}
+		},
+		methods: {
+			CheckboxChange(e) {
+				var items = this.checkbox,
+					values = e.detail.value;
+				for (var i = 0, lenI = items.length; i < lenI; ++i) {
+					items[i].checked = false;
+					for (var j = 0, lenJ = values.length; j < lenJ; ++j) {
+						if (items[i].value == values[j]) {
+							items[i].checked = true;
+							break
+						}
+					}
+				}
+			},
+		}
+	}
+</script>
+
+<style lang="scss">
+	.checkItems {
+		width: 50%;
+		display: inline-block;
+		text-align: center;
+		margin-bottom: 40rpx;
+
+		.title {
+			display: inline-block;
+			margin-left: 10rpx;
+		}
+	}
+	
+</style>

+ 43 - 27
pages/setting/setting.vue

@@ -1,17 +1,29 @@
 <template>
-	<view class="setting-wrapper">
+	<view class="setting-wrapper ">
 		<view class="top-banner justify-center align-center text-center">
 			<view>
 				<image width="130" src="../../static/personal-head.png"></image>
 				<view class="userName">admin</view>
-				<view>伍继智慧用电</view>
+				<view>上海永天科技股份有限公司</view>
 			</view>
 		</view>
 		<view class="cu-list menu-avatar">
 			<view class="cu-item" @tap="goMessagePush()">
-				<view class="cu-avatar " style="background-image:url(../../static/setting-icon1.png)"></view>
+				<view class="cu-avatar " style="background-image:url(../../static/push-icon.png)"></view>
 				<view class="content">
-					<view class="">消息推送</view>
+					<view class="">推送设置</view>
+				</view>
+				<view class="nav-right">
+					<view class="text-grey">
+						<text class="icon iconfont margin-right-xs margin-left-lg">&#xe629;</text>
+					</view>
+				</view>
+			</view>
+			
+			<view class="cu-item" @tap="goMessagePush()">
+				<view class="cu-avatar " style="background-image:url(../../static/building-icon.png)"></view>
+				<view class="content">
+					<view class="">建筑管理</view>
 				</view>
 				<view class="nav-right">
 					<view class="text-grey">
@@ -19,7 +31,7 @@
 					</view>
 				</view>
 			</view>
-			<view class="cu-item" @tap="goSiteManage" v-if="permissionLabel==1">
+			<!-- <view class="cu-item" @tap="goSiteManage" v-if="permissionLabel==1">
 				<view class="cu-avatar " style="background-image:url(../../static/setting-icon2.png)"></view>
 				<view class="content">
 					<view class="">站点管理</view>
@@ -40,7 +52,7 @@
 						<text class="icon iconfont margin-right-xs margin-left-lg">&#xe629;</text>
 					</view>
 				</view>
-			</view>
+			</view> -->
 		</view>
 		
 	</view>
@@ -105,12 +117,12 @@
 						}
 					}
 				});
-				// uni.navigateTo({
-				// 	url: '/pages/messagePush/messagePush',
-				// 	success: res => {},
-				// 	fail: () => {},
-				// 	complete: () => {}
-				// });
+				uni.navigateTo({
+					url: '/pages/setting/messagePush/messagePush',
+					success: res => {},
+					fail: () => {},
+					complete: () => {}
+				});
 			},
 
 		}
@@ -122,7 +134,7 @@
 		.top-banner {
 			width: 100%;
 			height: 380rpx;
-			background: url(../../static/setting-bg.png) no-repeat;
+			background: url(../../static/setting-bg.png) no-repeat;
 			background-size:cover;
 			color: #fff;
 			display: flex;
@@ -136,20 +148,24 @@
 				margin-top: 30rpx;
 				margin-bottom: 10rpx;
 			}
-		}
-		.cu-avatar {
-			width:40rpx;height:40rpx;
-			background-color:#fff;
-		}
-		.cu-list.menu-avatar>.cu-item {
-			height:120rpx;
-			.content{
-				left:70rpx;
-			}
-			.nav-right{
-				margin-right:10rpx;
-			}
 		}
-
+		
+		.cu-list.menu-avatar>.cu-item {
+			height:120rpx;
+			.cu-avatar{
+				left:20rpx;
+				width:66rpx;
+				height: 58rpx;
+			}
+			.content{
+				left:126rpx;
+			}
+			.nav-right{
+				margin-right:10rpx;
+			}
+		}
+	
 	}
+		
+	
 </style>

+ 50 - 0
pages/test/test.vue

@@ -0,0 +1,50 @@
+	<template>
+		 <div class="hello">
+		     <div v-for='item in showList'>{{item}}</div>
+		     <div @click="showAll = !showAll" class="show-more">{{word}}</div>
+		 </div>
+		</template>
+
+<script>
+	export default {
+		data () {
+		   return {
+		     toLearnList:[
+		       'html','css','javascript','java','php'   //进行显示的数据
+		     ],
+		     showAll:false,                  //标记数据是否需要完全显示的属性
+		   }
+		 },
+		computed:{
+		   showList:function(){
+		     if(this.showAll == false){                    //当数据不需要完全显示的时候
+		       var showList = [];                //定义一个空数组
+		       if(this.toLearnList.length > 3){       //这里我们先显示前三个
+		         for(var i=0;i<3;i++){
+		           showList.push(this.toLearnList[i])
+		         }
+		       }else{
+		         showList = this.toLearnList
+		       }
+		       return showList;                 //返回当前数组
+		     }else{
+		       return this.toLearnList;
+		     }
+		   },
+		   word:function(){
+		     if(this.showAll == false){           //对文字进行处理
+		       return '点击展开'
+		     }else{
+		       return '点击收起'
+		     }
+		   }
+		 },
+		methods: {
+			
+		}
+	}
+</script>
+
+<style>
+
+</style>

+ 0 - 140
pages/videoDetail/videoDetail.vue

@@ -1,140 +0,0 @@
-<template>
-	<view>
-		<view class="timeBox flex justify-between align-center padding-lr-sm">
-			<view class="time">火点侦测摄像机</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>{{videoDetail.deviceName}}</text>
-				</view>
-				<view>
-					<text>设备编号:</text>
-					<text>{{videoDetail.deviceCode}}</text>
-				</view>
-				<view>
-					<text style="width:auto!important">物联网卡号:</text>
-					<text>{{videoDetail.sim}}</text>
-				</view>
-				<view>
-					<text>安装位置:</text>
-					<text>{{videoDetail.deviceInstallationPosition}}</text>
-				</view>
-				<view>
-					<text>添加时间:</text>
-					<text>{{videoDetail.addTime}}</text>
-				</view>
-				<view>
-					<text>设备地址:</text>
-					<text>{{videoDetail.address}}</text>
-				</view>
-			</view>
-		</view>
-
-		<!-- 处理状态start -->
-		<view class="processStatus">
-			<view class="info-tit margin-left-xs">
-				<text class="cuIcon-titles margin-right-xs"></text>
-				视频
-			</view>
-			<view class="padding-lr padding-bottom-lg">
-
-				<view class="video-js" ref="video">
-
-				</view>
-			
-				<br><br>
-			</view>
-		</view>
-		<!-- 处理状态end -->
-
-	</view>
-</template>
-
-
-
-
-<script>
-	export default {
-		data() {
-			return {
-				videoDetail: '',
-				deviceCode: ''
-
-			}
-		},
-		onReady() {
-			
-		},
-		onLoad: function(option) {
-
-			this.getVideo()
-			console.log(111)
-			console.log(option.deviceCode)
-			this.companyCode = option.companyCode
-			this.deviceType = option.deviceType
-			this.deviceCode = option.deviceCode
-
-
-
-			this.getDeviceDetail({
-				"companyCode": option.companyCode,
-				"deviceType": option.deviceType,
-				"deviceCode": option.deviceCode
-			})
-		},
-
-
-		methods: {
-
-			getVideo() {
-
-
-			},
-
-			async getDeviceDetail(ming = {}) {
-				const res = await this.$myRequest({
-					url: 'OperationMonitoring/getMonitoringScreen',
-					data: ming
-				})
-				console.log(res.data.data[0])
-				this.videoDetail = res.data.data[0]
-				// this.powerDeviceCount= res.data.data[0].powerDeviceCount
-				// this.videoDeviceCount= res.data.data[0].videoDeviceCount
-
-			},
-		}
-	}
-</script>
-
-<link href="https://unpkg.com/video.js/dist/video-js.min.css" rel="stylesheet"> 
-<script src="https://unpkg.com/video.js/dist/video.min.js"></script>
-<script>
-	// #ifdef H5
-	var video = document.createElement('video')
-	video.id = 'video'
-	video.style = 'width: 300px;height: 150px;'
-	video.controls = true
-	var source = document.createElement('source')
-	source.src =
-		'http://yf.ugc.v.cztv.com/cztv/ugcvod/2018/04/14/A98CD7B26B06D94A5CEA56AA7D723572/h264_800k_mp4.mp4_playlist.m3u8'
-	video.appendChild(source)
-	this.$refs.video.$el.appendChild(video)
-	videojs('video')
-	// #endif  
-	
-</script>
-
-<style lang="scss">
-
-
-
-
-
-
-</style>

+ 82 - 0
pages/videoList/videoDetail/videoDetail.vue

@@ -0,0 +1,82 @@
+<template>
+	<view>
+		<!-- <view class="timeBox flex justify-between align-center padding-lr-sm">
+			<view class="time">火点侦测摄像机</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>视频监控</text>
+				</view>
+				<view>
+					<text>设备编号:</text>
+					<text>YTVA00001</text>
+				</view>
+				<view>
+					<text style="width:auto!important">物联网卡号:</text>
+					<text></text>
+				</view>
+				<view>
+					<text>安装位置:</text>
+					<text>伍继办公室</text>
+				</view>
+				<view>
+					<text>添加时间:</text>
+					<text>2019-05-28 16:12:45</text>
+				</view>
+				<view>
+					<text>设备地址:</text>
+					<text>上海市虹口区塘沽路</text>
+				</view>
+			</view>
+		</view> -->
+
+		<!-- 处理状态start -->
+		<view class="processStatus">
+			<view class="info-tit margin-left-xs">
+				<text class="cuIcon-titles margin-right-xs"></text>
+				设备编号:JPL120DAQ
+			</view>
+			<view class="padding-lr padding-bottom-lg">
+				<video src="" style="width:690rpx;"></video>
+				<br><br>
+			</view>
+		</view>
+		<!-- 处理状态end -->
+
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				
+			
+			}
+		},
+		methods: {
+			
+			
+
+			
+
+
+		}
+	}
+</script>
+
+<style lang="scss">
+	
+
+	
+	
+
+
+</style>
+

+ 72 - 246
pages/videoList/videoList.vue

@@ -1,248 +1,74 @@
-<template>
-
+<template>
+
 	<view class="">
-		<view v-if="loadingStatus" class="loadingMask" >Loading...</view>
-		<view class="cu-list menu-avatar">
-			<view v-if="!this.openId&&!this.onLineVideoList.length" class="text-center margin-top-lg">加载中...</view>
-			<view class="cu-item" :class="modalName=='move-box-'+ index?'move-cur':''" v-for="(item,index) in matchedDeviceList"
-			 :key="index" :data-target="'move-box-' + index">
-				<view v-if="item.ALIVEVALUE==3" class="cu-avatar round lg" style="background-image:url(../../static/video-icon-on.png);opacity:.7"></view>
-				<view  v-else class="cu-avatar round lg" style="background-image:url(../../static/video-icon-off.png);opacity:.7"></view>
-				<view v-if="item.ALIVEVALUE==3" @tap="open_video(item)">
-					<view class="content">
-						<view class="">{{item.DEVICE}}</view>
-					</view>
-					<view class="nav-right num">
-						<view class="online">
-							在线
-							<text class="icon iconfont margin-right-xs margin-left-lg">&#xe629;</text>
-						</view>
-				
-					</view>
-				</view>
-
-				<view v-else>
-					<view class="content">
-						<view class="">{{item.DEVICE}}</view>
-					</view>
-					<view class="nav-right num">
-
-						<view  class="offline">
-							离线
-							<text class="icon iconfont margin-right-xs margin-left-lg">&#xe629;</text>
-						</view>
-					</view>
-				</view>
-
-			</view>
-		</view>
-
-		<input type="hidden" v-model="openId" style="opacity:0">
-	</view>
-</template>
-
-<script>
-	export default {
-		data() {
-			return {
-
-				d: {
-					CMD: 1
-				},
-				deviceData: [],
-				onLineVideoList: [],
-				matchedDeviceList: [],
-				modalName: null,
-
-
-
-				openId: '',
-				reCount: 0,
-				count: 0,
-				loadingStatus:false
-
-			};
-		},
-		onLoad: function(option) {
-
-			this.companyCode = option.companyCode
-			this.deviceType = option.deviceType
-			this.getDeviceManage({
-				"companyCode": option.companyCode,
-				"deviceType": option.deviceType
-			})
-
-
-			this.chk_video()
-
-
-
-		},
-		computed: {
-
-		},
-		methods: {
-
-			chk_video() {
-				// if (!this.openId) {
-				// 	uni.showLoading({
-				// 		title: "加载中",
-				// 		mask: true,
-				// 	});
-				// 	//添加loading
-				// }
-				uni.request({
-					url: 'https://fire.usky.cn:8443/YtIoT/cgi-bin/demo2.cgi',
-					data: 'queryJson:' + JSON.stringify({
-						CMD: 1
-					}),
-					method: 'post',
-					header: {
-						'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
-					},
-					success: (res) => {
-
-						this.onLineVideoList = res.data.RESULT.LIST;
-						if (this.openId.length > 0) {
-							for (var n = 0; n < this.onLineVideoList.length; n++) {
-								if (this.openId == this.onLineVideoList[n].DEVICE) {
-									this.reCount++;
-									if (this.onLineVideoList[n].ONAIR) {
-										if ((++this.count) > 2) {
-											// alert('做一些判断')
-											// var mask = document.getElementById('videomask');
-											// if (mask != undefined) {
-											// 	removeDIV('videomask');
-											// }
-											this.loadingStatus=false;
-
-											uni.navigateTo({
-												url: '/pages/videoDetail/videoDetail?deviceType=2&companyCode=' + this.companyCode + '&deviceCode=' +
-													this.onLineVideoList[n].DEVICE +
-													'',
-											});
-
-										} else {
-											setTimeout(this.chk_video, 5000);
-										}
-									} else {
-										setTimeout(this.chk_video, 5000);
-									}
-									if (this.reCount > 5) {
-										// var mask = document.getElementById('videomask');
-										// if (mask != undefined) {
-										// 	removeDIV('videomask');
-										// }
-										this.loadingStatus=false;
-										uni.showToast({
-											title: "远程摄像头链接超时,请稍后再试",
-											icon: "none"
-										});
-										// $("#myPopup").popup("open");
-										
-										
-									}
-									break;
-									
-								}
-							}
-						} else {
-							for (var i = 0; i < this.onLineVideoList.length; i++) {
-								for (var j = 0; j < this.deviceData.length; j++) {
-									if (this.onLineVideoList[i].DEVICE == this.deviceData[j].deviceCode) {
-										this.matchedDeviceList.push({
-											"DEVICE": this.onLineVideoList[i].DEVICE,
-											"ALIVEVALUE": this.onLineVideoList[i].ALIVEVALUE,
-											"ONAIR":this.onLineVideoList[i].ONAIR
-										})
-									}
-								}
-							}
-							console.log(this.matchedDeviceList)
-						}
-
-					}
-				});
-			},
-			open_video(item) {
-				if (this.openId != item.DEVICE) {
-					this.openId = item.DEVICE
-				}
-				for (var n = 0; n < this.onLineVideoList.length; n++) {
-					if (this.onLineVideoList[n].DEVICE == this.openId) {
-						if (this.onLineVideoList[n].ONAIR) {
-							uni.navigateTo({
-								url: '/pages/videoDetail/videoDetail?deviceType=2&companyCode=' + this.companyCode + '&deviceCode=' + item.DEVICE +
-									'',
-							});
-							return;
-						}
-					}
-				}
-				this.count = 0;
-				this.reCount = 0;
-				this.loadingStatus=true
-				// alert('一些loading操作')
-				uni.request({
-					url: 'https://fire.usky.cn:8443/YtIoT/cgi-bin/demo2.cgi',
-					data: 'queryJson:' + JSON.stringify({
-						CMD: 3,
-						BODY: {
-							DEVICE: item.DEVICE,
-							ACTION: 1,
-							IDX: 7
-						}
-					}),
-					method: 'post',
-					header: {
-						'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'
-					},
-					success: (res) => {
-						setTimeout(this.chk_video, 5000);
-					}
-				});
-
-			},
-
-
-
-
-
-
-
-
-
-
-
-
-
-			async getDeviceManage(ming = {}) {
-				const res = await this.$myRequest({
-					url: 'OperationMonitoring/getDeviceList',
-					data: ming
-				})
-				this.deviceData = res.data.data
-			},
-
-
-
-		}
-
-	}
-</script>
-
+		<view class="cu-list menu-avatar">
+			<view class="cu-item" :class="modalName=='move-box-'+ index?'move-cur':''" v-for="(item,index) in deviceData"
+			 :key="index" :data-target="'move-box-' + index" @tap="goVideoDetail">
+				<view class="cu-avatar round lg" :style="`background-image:url(${item.imgUrl})`" style="opacity:.7"></view>
+				<view class="content">
+					<view class="">{{item.title}}</view>
+				</view>
+				<view class="nav-right num">
+					<view v-if="item.status=='在线'" class="online" >
+						{{item.status}}
+						<text class="icon iconfont margin-right-xs margin-left-lg">&#xe629;</text>
+					</view>
+					<view v-else-if="item.status=='离线'" class="text-gray" >
+						{{item.status}}
+						<text class="icon iconfont margin-right-xs margin-left-lg">&#xe629;</text>
+					</view>
+					<view v-else="item.status=='异常'" class="error" >
+						{{item.status}}
+						<text class="icon iconfont margin-right-xs margin-left-lg">&#xe629;</text>
+					</view>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				deviceData: [{
+						status: '离线',
+						imgUrl: '../../static/video-icon-off.png',
+						title: 'C59360332',
+						num: 6
+					}, {
+						status: '在线',
+						imgUrl: '../../static/video-icon-on.png',
+						title: 'C59360332',
+						num: 11
+					},
+					{
+						status: '异常',
+						imgUrl: '../../static/video-icon-error.png',
+						title: 'C59360332',
+						num: 6
+					}
+				],
+				modalName: null,
+
+			};
+		},
+		methods: {
+			goVideoDetail() {
+				uni.navigateTo({
+					url: '/pages/videoList/videoDetail/videoDetail',
+					success: res => {},
+					fail: () => {},
+					complete: () => {}
+				});
+			},
+
+
+		}
+
+	}
+</script>
+
 <style lang="scss">
-	.loadingMask{
-		width:100%;height:100%;position:absolute;left:0;
-		background:rgba(0,0,0,.3);
-		z-index:1000;
-		color:#000;
-		justify-content: center;
-		align-items: center;
-		display:flex;
-		text-align:center;
-		padding-top:100rpx;
-		font-size:34rpx;
-	}
-
-</style>
+	
+</style>

+ 16 - 17
pages/weiBao/plan/plan.vue

@@ -4,14 +4,15 @@
 			<view class="plan-tit padding-top-lg">任务名称:ui测试</view>
 			<chart></chart>
 		</view>
-		
+
 		<view class="margin bg-white plan-sec">
 			<view class="info-tit margin-left-xs">
 				<text class="cuIcon-titles margin-right-xs"></text>
 				维保详情
 			</view>
 			<view class="cu-list menu-avatar">
-				<view class="cu-item deviceTypeItem" v-for="(item,index) in inspectList" :key="index" @tap="goDetailPage(item)">
+				<view class="cu-item deviceTypeItem" v-for="(item,index) in inspectList" :key="index"
+					@tap="goDetailPage(item)">
 					<view class="content" style="left:0!important;width:80%">
 						<view class="title">{{item.title}}</view>
 					</view>
@@ -26,8 +27,8 @@
 			</view>
 		</view>
 	</view>
-	
-	
+
+
 </template>
 
 <script>
@@ -39,26 +40,26 @@
 		},
 		data() {
 			return {
-			inspectList: json.weiBaoPlan,
+				inspectList: json.weiBaoPlan,
 
 			};
 		},
-		onLoad:function(option){
+		onLoad: function(option) {
 
 		},
-		
+
 		methods: {
-			goDetailPage(item){
-				if(item.status){
+			goDetailPage(item) {
+				if (item.status) {
 					uni.navigateTo({
-						url:  "/pages/weiBao/planDetail/planDetail"
+						url: "/pages/weiBao/planDetail/planDetail"
 					})
-				}else{
+				} else {
 					uni.navigateTo({
-						url:  "/pages/weiBao/planDetailDone/planDetailDone"
+						url: "/pages/weiBao/planDetailDone/planDetailDone"
 					})
 				}
-				
+
 			}
 
 		}
@@ -67,9 +68,7 @@
 </script>
 
 <style lang="scss">
-	page{
-		background-color:#F4F5F7;
+	page {
+		background-color: #F4F5F7;
 	}
-	
-	
 </style>

+ 2 - 2
pages/xunJian/xunJian.vue

@@ -20,11 +20,11 @@
 </template>
 
 <script>
-	import json from '../../data/json.js';
+	// import json from '../../data/json.js';
 	export default {
 		data() {
 			return {
-			inspectList: json.xunJianList,
+			// inspectList: json.xunJianList,
 
 			};
 		},

binární
static/building-icon.png


+ 8 - 6
static/iconfont/iconfont.css

@@ -7,12 +7,6 @@
   url('https://at.alicdn.com/t/font_2394829_cpwu6e12c4.ttf') format('truetype'),
   url('https://at.alicdn.com/t/font_2394829_cpwu6e12c4.svg#iconfont') format('svg');
 }
-
-
-
-
-
-
 .iconfont {
   font-family: "iconfont" !important;
   font-size: 16px;
@@ -21,6 +15,14 @@
   -moz-osx-font-smoothing: grayscale;
 }
 
+.icon-xingzhuang8:before {
+  content: "\e66b";
+}
+
+.icon-daochu:before {
+  content: "\e613";
+}
+
 .icon-xiajiantou_huaban:before {
   content: "\e63d";
 }

binární
static/iconfont/iconfont.ttf


binární
static/push-icon.png


binární
static/qt.png


binární
static/xe.png


binární
static/zr.png