From 6be41682bbfb9e0446b6de969dc04b48e06fe189 Mon Sep 17 00:00:00 2001
From: zjj <3272660260@qq.com>
Date: 星期六, 07 六月 2025 08:05:55 +0800
Subject: [PATCH] #

---
 Monitor-APP/pages/home/home.vue | 1157 +++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 701 insertions(+), 456 deletions(-)

diff --git a/Monitor-APP/pages/home/home.vue b/Monitor-APP/pages/home/home.vue
index ed86c39..ae258b2 100644
--- a/Monitor-APP/pages/home/home.vue
+++ b/Monitor-APP/pages/home/home.vue
@@ -3,10 +3,11 @@
 		<uni-transition :duration="duration" :mode-class="homeMode" :show="homeViewShow">
 			<view class="home-view">
 				<view class="head">
-					<text>鑷姩浠撳簱WCS鐩戞帶骞冲彴</text>
+					<text>鏅鸿兘澶у睆鏄剧ず绯荤粺</text>
 				</view>
 				<!-- 鏃ュ巻 -->
 				<view class="time-tools">{{calendar}}</view>
+				<view class="version">V:{{version}}</view>
 				<view class="button-left" @click="ejected()"></view>
 				<view class="button-right" @click="ejected()"></view>
 				<!-- 涓昏鍥� -->
@@ -15,105 +16,59 @@
 						<view class="mian-item-box">
 							<y-box>
 								<view class="box-item">
-									<text class="item-title">鑷姩鍖栫珛浣撲粨搴�</text>
-									<text class="item-subTitle">Automatic Storageand Retrieval System</text>
-									<text class="item-text"
-										style="text-align: left;">鍒╃敤绔嬩綋浠撳簱璁惧鍙疄鐜颁粨搴撻珮灞傚悎鐞嗗寲銆佸瓨鍙栬嚜鍔ㄥ寲銆佹搷浣滅畝渚垮寲锛涜嚜鍔ㄥ寲绔嬩綋浠撳簱鏄綋鍓嶆妧鏈按骞宠緝楂樼殑褰㈠紡銆傝嚜鍔ㄥ寲绔嬩綋浠撳簱鐨勪富浣撶敱璐ф灦銆佸贩閬撳紡鍫嗗灈璧烽噸鏈恒�佸叆锛堝嚭锛夊簱宸ヤ綔鍙板拰鑷姩杩愯繘锛堝嚭锛夊強鎿嶄綔鎺у埗绯荤粺缁勬垚銆傝揣鏋舵槸閽㈢粨鏋勬垨閽㈢瓔娣峰嚌鍦熺粨鏋勭殑寤虹瓚鐗╂垨缁撴瀯浣擄紝璐ф灦鍐呮槸鏍囧噯灏哄鐨勮揣浣嶇┖闂达紝宸烽亾鍫嗗灈璧烽噸鏈虹┛琛屼簬璐ф灦涔嬮棿鐨勫贩閬撲腑锛屽畬鎴愬瓨銆佸彇璐х殑宸ヤ綔銆傜鐞嗕笂閲囩敤璁$畻鏈哄強鏉″舰鐮佹妧鏈��</text>
-								</view>
+									<text class="item-title">鏅鸿兘澶у睆鏄剧ず绯荤粺</text>
+									<text class="item-subTitle">Intelligent LargeScreen Display System</text>
+									</view>
 								<view class="box-item">
 									<text class="item-title">浠撳簱鏁版嵁</text>
 									<text class="item-subTitle">warehouse data</text>
-									<view class="img-box">
-
-										<view class="item-img">
-											<image src="../../static/a1.png" mode="aspectFit"></image>
-											<view class="flex-col" style="width: calc(100% - 5vw);">
-												<view class="flex-row" style="position: relative;">
-													<view style="width: 2vw;padding-left: 2vw;;font-size: 2vw;">
-														{{baseInfo.xDistance}}
-													</view>
-													<view style="position: absolute;bottom: 0;left: 10vw;">KM</view>
-												</view>
-												<view style="height: 100%;text-align: left;text-indent: 2em;">绱璧拌璺濈(鍗冪背)
-												</view>
-											</view>
-										</view>
-
-										<view class="item-img">
-											<image src="../../static/b1.png" mode="aspectFit"></image>
-											<view class="flex-col" style="width: calc(100% - 5vw);">
-												<view class="flex-row" style="position: relative;">
-													<view style="width: 2vw;padding-left: 2vw;;font-size: 2vw;">
-														{{baseInfo.yDistance}}
-													</view>
-													<view style="position: absolute;bottom: 0;left: 10vw;">KM</view>
-												</view>
-												<view style="height: 100%;text-align: left;text-indent: 2em;">绱鍗囬檷璺濈(鍗冪背)
-												</view>
-											</view>
-										</view>
-
-										<view class="item-img">
-											<image src="../../static/c1.png" mode="aspectFit"></image>
-											<view class="flex-col" style="width: calc(100% - 5vw);">
-												<view class="flex-row" style="position: relative;">
-													<view style="-width: 2vw;padding-left: 2vw;;font-size: 2vw;">
-														{{baseInfo.xDuration}}
-													</view>
-													<view style="position: absolute;bottom: 0;left: 10vw;">H</view>
-												</view>
-												<view style="height: 100%;text-align: left;text-indent: 2em;">绱璧拌鏃堕暱(灏忔椂)
-												</view>
-											</view>
-										</view>
-
-										<view class="item-img">
-											<image src="../../static/d1.png" mode="aspectFit"></image>
-											<view class="flex-col" style="width: calc(100% - 5vw);">
-												<view class="flex-row" style="position: relative;">
-													<view style="width: 2vw;padding-left: 2vw;;font-size: 2vw;">
-														{{baseInfo.yDuration}}
-													</view>
-													<view style="position: absolute;bottom: 0;left: 10vw;">H</view>
-												</view>
-												<view style="height: 100%;text-align: left;text-indent: 2em;">绱鍗囬檷鏃堕暱(灏忔椂)
-												</view>
-											</view>
-										</view>
-
+									<view class="img-box">										
+										<!-- swiper 涓�浜涜鏄�
+										circular 鏄惁閲囩敤琛旀帴婊戝姩锛屽嵆鎾斁鍒版湯灏惧悗閲嶆柊鍥炲埌寮�澶�
+										vertical 婊戝姩鏂瑰悜鏄惁涓虹旱鍚� 
+										display-multiple-items 鍚屾椂鏄剧ず鐨勬粦鍧楁暟閲� -->
+										<swiper class="swiper-body-main" vertical="true" 
+										display-multiple-items="5"
+										circular="true" :autoplay="true" :interval="3000" :duration="2000">
+											<swiper-item class="swiper-item" v-for="(item,i) in locList" :key="i">
+												<!-- <view style="width: 30%;">{{i+1}} / {{swiperList.length}}</view> -->
+												<!-- <view style="width: 30%;">鏂欏彿: {{item.matnr}}</view> -->
+												<view style="width: 50%; font-size: 1vw;">鐗╂枡鐮�: {{item.matnr}}</view>
+												<view style="width: 50%; font-size: 1vw;">鏁伴噺: {{item.matnrCount}}</view>
+												
+												
+												
+											</swiper-item>
+										</swiper>
+										
+										
 									</view>
 								</view>
 								<view class="box-item">
 									<view class="flex-row" style="width: 100%;">
 										<!-- 宸︿晶 -->
-										<view class="flex-col"
-											style="align-items: flex-start;justify-content: flex-start;">
+										<view class="flex-col" style="align-items: flex-start;justify-content: flex-start;">
 											<text class="item-title">搴撲綅浣跨敤鐜�</text>
 											<text class="item-subTitle">EQUIPMENT USAGE THIS MONTH</text>
 										</view>
 										<!-- 鍙充晶 -->
 										<view style="margin-left: auto;">
 											<!-- 鐧惧垎姣� -->
-											<view class="flex-col"
-												style="align-items: flex-end;justify-content: flex-end;">
+											<view class="flex-col" style="align-items: flex-end;justify-content: flex-end;" >
 												<!-- style="justify-content: flex-end;position: absolute;top: 0;right: 1vw;text-align: right;" -->
 												<text class="item-title">{{baseInfo.usedPr}}%</text>
-												<text class="item-subTitle">鍚屾瘮涓婃湀 + 5%</text>
+												<!-- <text class="item-subTitle">鍚屾瘮涓婃湀 + 5%</text> -->
 											</view>
 										</view>
 									</view>
-
-									<view class="flex-col"
-										style="width: 100%;align-items: flex-start;position: relative;font-size: 1vw">
+									
+									<view class="flex-col" style="width: 100%;align-items: flex-start;position: relative;font-size: 1vw">
 										<!-- 杩涘害鏉� -->
 										<view class="flex-row" style="width: 100%;position: relative;margin-top: 5%;">
 											<view class="progressBar" style="width: 80%;height: 2vw;">
 												<view class="progress" :style="'width:'+ baseInfo.usedPr + '%'"></view>
 											</view>
-											<view
-												style="position: absolute;bottom: 0;right: 0;font-size: 2.5vw;color: #FF5722;;">
-												{{baseInfo.used}}
-											</view>
+											<view style="position: absolute;bottom: 0;right: 0;font-size: 2.5vw;color: #FF5722;;">{{baseInfo.used}}</view>
 										</view>
 									</view>
 								</view>
@@ -129,51 +84,46 @@
 										<view class="box-item">
 											<view class="flex-row" style="width: 100%;">
 												<!-- 宸︿晶 -->
-												<view class="flex-col"
-													style="align-items: flex-start;justify-content: flex-start;">
+												<view class="flex-col" style="align-items: flex-start;justify-content: flex-start;">
 													<text class="item-title">鍏ュ嚭搴撶粺璁�</text>
 													<text class="item-subTitle">ORDER STATISTICS</text>
 												</view>
 												<!-- 鍙充晶 -->
 												<view style="margin-left: auto;">
 													<!-- 鐧惧垎姣� -->
-													<view class="flex-col"
-														style="align-items: flex-end;justify-content: flex-end;">
+													<view class="flex-col" style="align-items: flex-end;justify-content: flex-end;" >
 														<!-- style="justify-content: flex-end;position: absolute;top: 0;right: 1vw;text-align: right;" -->
-														<text class="item-title">31</text>
-														<text class="item-subTitle">浠婃棩璁㈠崟鏁�</text>
+														<!-- <text class="item-title">31</text>
+														<text class="item-subTitle">浠婃棩璁㈠崟鏁�</text> -->
 													</view>
 												</view>
 											</view>
 											<view class="charts-box">
-												<qiun-data-charts type="line" :chartData="chartsDataLine1"
-													:echartsH5="true" :echartsApp="true" />
+												<qiun-data-charts type="line" :chartData="chartsDataLine1" :echartsH5="true" :echartsApp="true"/>
 											</view>
 										</view>
 									</y-box>
 								</view>
-
-
+								
+								
 								<!-- null -->
 								<view style="height: 2%;"></view>
-
-
+								
+								
 								<view style="height: 43%;">
 									<y-box>
 										<view class="box-item">
 											<view class="flex-row" style="width: 100%;">
 												<!-- 宸︿晶 -->
-												<view class="flex-col"
-													style="align-items: flex-start;justify-content: flex-start;">
+												<view class="flex-col" style="align-items: flex-start;justify-content: flex-start;">
 													<text class="item-title">搴撳瓨绫诲瀷</text>
 													<text class="item-subTitle">INCOME DATE</text>
 												</view>
 												<!-- 鍙充晶 -->
 												<view style="margin-left: auto;">
 													<!-- 鐧惧垎姣� -->
-													<view class="flex-col"
-														style="align-items: flex-end;justify-content: flex-end;">
-														<text class="item-title">浠婂ぉ</text>
+													<view class="flex-col" style="align-items: flex-end;justify-content: flex-end;" >
+														<text class="item-title">浠婂ぉ</text> 
 														<text class="item-subTitle">Today</text>
 													</view>
 												</view>
@@ -181,56 +131,45 @@
 											<view class="flex-row" style="width: 100%;">
 												<!-- 宸� -->
 												<view class="charts-box-ring">
-													<qiun-data-charts type="ring" :opts="{legend:{position:'bottom'}}"
-														:eopts="ringOpts" :chartData="chartsDataPie2" :echartsH5="true"
-														:echartsApp="true" />
+													<qiun-data-charts type="ring" :opts="{legend:{position:'bottom'}}" :eopts="ringOpts" :chartData="chartsDataPie2" :echartsH5="true" :echartsApp="true"/>
 												</view>
 												<!-- 鍙� -->
 												<view>
 													<view class="flex-row sub-info">
 														<image src="../../static/g1.png" mode="aspectFit"></image>
 														<view style="width: 8vw;height: 4vw;line-height: 4vw;">鍦ㄥ簱</view>
-														<view
-															style="width: 8vw;height: 4vw;line-height: 4vw;font-size: 2vw;">
-															{{baseInfo.stockCount}}
-														</view>
+														<view style="width: 8vw;height: 4vw;line-height: 4vw;font-size: 2vw;">{{baseInfo.stockCount}}</view>
 													</view>
 													<view class="flex-row sub-info" style="margin-top: 2vh;">
 														<image src="../../static/f1.png" mode="aspectFit"></image>
 														<view style="width: 8vw;height: 4vw;line-height: 4vw;">绌哄簱</view>
-														<view
-															style="width: 8vw;height: 4vw;line-height: 4vw;font-size: 2vw;">
-															{{baseInfo.emptyCount}}
-														</view>
+														<view style="width: 8vw;height: 4vw;line-height: 4vw;font-size: 2vw;">{{baseInfo.emptyCount}}</view>
 													</view>
 													<view class="flex-row sub-info" style="margin-top: 2vh;">
 														<image src="../../static/e1.png" mode="aspectFit"></image>
 														<view style="width: 8vw;height: 4vw;line-height: 4vw;">閿佸畾</view>
-														<view
-															style="width: 8vw;height: 4vw;line-height: 4vw;font-size: 2vw;">
-															{{baseInfo.noneCount}}
-														</view>
+														<view style="width: 8vw;height: 4vw;line-height: 4vw;font-size: 2vw;">{{baseInfo.noneCount}}</view>
 													</view>
 												</view>
 											</view>
 										</view>
-
+										
 									</y-box>
 								</view>
 								<view style="height: 2%;"></view>
-								<view style="height: 18%;">
-									<y-box>
-										<view class="flex-col"
-											style="width: 100%;height: 100%;font-size: 4vh;justify-content: center;letter-spacing: 1vh;">
-											鑷姩浠撳簱WCS鐩戞帶骞冲彴
-										</view>
-									</y-box>
+								<view style="height: 18%;display: flex;justify-content: space-around;align-items: center;">
+									<!-- <view style="font-size: 4vh">
+										鑷姩浠撳簱WCS鐩戞帶骞冲彴
+									</view> -->
+									<view style="height: 50%;">
+										<image style="height: 100%;" src="../../static/img/logo-bai.png" mode="aspectFit"></image>
+									</view>
 								</view>
 							</view>
 						</view>
 					</view>
 				</view>
-
+				
 			</view>
 		</uni-transition>
 		<!-- 鍏ㄦ澘/鎷f枡淇℃伅 -->
@@ -248,42 +187,42 @@
 					<view class="info-box">
 						<y-box>
 							<!-- 鏂囨湰瀹瑰櫒 -->
-							<view class="text-content" v-for="item in swiperList">
-								<view>鐩爣绔欙細{{infoText.staNo}}</view>
-								<view>鍟嗗搧缂栫爜锛歿{item.matnr}}</view>
-								<view>鍟嗗搧鍚嶇О锛歿{item.maknx}}</view>
-								<view>瑙勬牸锛歿{item.specs}}</view>
-								<view>鍥惧彿锛歿{item.model ? item.model :''}}</view>
-								<view>鏁伴噺锛歿{item.count}} / {{item.total ? item.total : '--'}}</view>
-
-
-
+							<view class="text-content">
 								<!-- head -->
-								<!-- <view class="swiper-head">
-									<view style="width: 20%;">鐩爣绔欙細{{infoText.staNo}}</view>
-									<view style="width: 30%;">鍟嗗搧缂栧彿</view>
-									<view style="width: 20%;">鍟嗗搧鍚嶇О</view>
-									<view style="width: 20%;">瑙勬牸</view>
-									<view style="width: 10%;">鏁伴噺</view>
-								</view> -->
+								<view class="swiper-head">
+									<view style="width: 30%;">鎵樼洏鐮�: {{infoText.barcode}}</view>
+									<view style="width: 20%;">宸ヤ綔鍙�: {{infoText.workNo}}</view>
+									<view style="width: 30%;">婧愬簱浣�: {{infoText.sourceLocNo}}</view>
+									<view style="width: 20%;">鐩爣绔�: {{infoText.staNo}}</view>
+									<!-- <view style="width: 10%;">鏁伴噺</view> -->
+								</view>
 								<!-- body -->
-								<!-- <view class="swiper-body"> -->
-								<!-- swiper 涓�浜涜鏄�
+								<view class="swiper-body">
+									<!-- swiper 涓�浜涜鏄�
 									circular 鏄惁閲囩敤琛旀帴婊戝姩锛屽嵆鎾斁鍒版湯灏惧悗閲嶆柊鍥炲埌寮�澶�
 									vertical 婊戝姩鏂瑰悜鏄惁涓虹旱鍚� 
 									display-multiple-items 鍚屾椂鏄剧ず鐨勬粦鍧楁暟閲� -->
-								<!-- <swiper class="swiper-body-main" vertical="true" 
-									display-multiple-items="8"
-									circular="true" :autoplay="true" :interval="3000" :duration="1000">
+									<swiper class="swiper-body-main" vertical="true" 
+									display-multiple-items="2"
+									circular="true" :autoplay="true" :interval="3000" :duration="2000">
 										<swiper-item class="swiper-item" v-for="(item,i) in swiperList" :key="i">
-											<view style="width: 20%;">No:{{i+1}}</view>
-											<view style="width: 30%;">{{item.matNo}}</view>
-											<view style="width: 20%;">{{item.maknx}}</view>
-											<view style="width: 20%;">{{item.specs}}</view>
-											<view style="width: 10%;">{{item.count}}</view>
+											<view style="width: 30%;">{{i+1}} / {{swiperList.length}}</view>
+											<!-- <view style="width: 30%;">鏂欏彿: {{item.matnr}}</view> -->
+											<view style="width: 50%; font-size: 3vw;">鐗╂枡缂栫爜: {{item.matnr}}</view>
+											<view style="width: 50%; font-size: 3vw;">鍚嶇О: {{item.maknx}}</view>
+											<!-- <view style="width: 33%; font-size: 3vw;">鐢熶骇鏃ユ湡: {{item.manuDate}}</view> -->
+											
+											
+											<view style="width: 50%; font-size: 3vw;">瑙勬牸: {{item.specs}}</view>
+											<view style="width: 50%; font-size: 3vw;">鎵规: {{item.batch}}</view>
+											<view style="width: 50%; font-size: 3vw;">閿�鍞崟鍙�: {{item.orderNo}}</view>
+											<view style="width: 50%; font-size: 3vw;">瀹㈡埛鍚嶇О: {{item.customer}}</view>
+											<view style="width: 33%; font-size: 3vw;">鏁伴噺: {{item.count}}</view>
+											
+											
 										</swiper-item>
 									</swiper>
-								</view> -->
+								</view>
 							</view>
 						</y-box>
 					</view>
@@ -301,7 +240,7 @@
 				<view class="button-left"></view>
 				<view class="button-right"></view>
 				<!-- 涓讳綋 -->
-				<view class="info-main">
+				<view class="info-main" >
 					<view class="info-box">
 						<y-box>
 							<view class="info-box-text">
@@ -312,7 +251,7 @@
 				</view>
 			</view>
 		</uni-transition>
-
+		
 		<!-- 鑷畾涔夊脊鍑哄眰 -->
 		<view class="eject-mask" v-show="ejectShow">
 			<view class="eject">
@@ -327,27 +266,33 @@
 						</view>
 					</view>
 					<view class="item">
-						<view class="desc">port锛�</view>
+						<view class="desc">Wcsport锛�</view>
 						<view class="input">
 							<input type="text" v-model="basePort">
+						</view>
+					</view>										
+					<view class="item">
+						<view class="desc">WcsUrl锛�</view>
+						<view class="input">
+							<input type="text" v-model="baseUrl">
+						</view>
+					</view>
+					<view class="item">
+						<view class="desc">Wmsport锛�</view>
+						<view class="input">
+							<input type="text" v-model="wmsPort">
+						</view>
+					</view>
+					<view class="item">
+						<view class="desc">WmsUrl锛�</view>
+						<view class="input">
+							<input type="text" v-model="wmsUrl">
 						</view>
 					</view>
 					<view class="item">
 						<view class="desc">ledId锛�</view>
 						<view class="input">
 							<input type="text" v-model="baseLedId">
-						</view>
-					</view>
-					<view class="item">
-						<view class="desc">CrnId锛�</view>
-						<view class="input">
-							<input type="text" v-model="baseCrnId">
-						</view>
-					</view>
-					<view class="item">
-						<view class="desc">Url锛�</view>
-						<view class="input">
-							<input type="text" v-model="baseUrl">
 						</view>
 					</view>
 				</scroll-view>
@@ -358,8 +303,15 @@
 				</view>
 			</view>
 		</view>
+		<view>
+			<!-- 鎻愮ず绐楃ず渚� -->
+			<uni-popup ref="upVersion" type="dialog">
+				<uni-popup-dialog :type="msgType" title="閫氱煡" :content="dialogContent" @confirm="dialogConfirm"
+					@close="dialogClose"></uni-popup-dialog>
+			</uni-popup>
+		</view>
 		<view style="color: #FFF;position: fixed;bottom: 10px;left: 10px;" v-show="timeOut">
-			杩炴帴瓒呮椂: {{times}} s
+			杩炴帴瓒呮椂锛屾鍦ㄩ噸鏂板缓绔嬮摼鎺�:: {{times}} 
 		</view>
 	</view>
 </template>
@@ -367,12 +319,15 @@
 <script>
 	import demodata from '@/mockdata/demodata.json';
 	import ycqdata from '@/pages/index/data.json';
+	import {WebSocketClient} from "@/static/js/WebSocketClient"	
+	import WebSocketUtil from './uniWebSocket';
+	let socket;
 	export default {
 		data() {
 			return {
 				series: [],
 				homeViewShow: true,
-				infoViewShow: false,
+				infoViewShow: false	,
 				errorInfoViewShow: false,
 				homeMode: [],
 				infoMode: [],
@@ -401,7 +356,7 @@
 				},
 				duration: 1000,
 				calendar: '',
-				ringOpts: {},
+				ringOpts:{},
 				chartsDataLine1: {},
 				chartsDataPie2: {},
 				fontSize: '',
@@ -425,20 +380,25 @@
 					specs: "",
 					count: "",
 					error: "",
-					barcode: "",
-					orderNo: '',
-					batch: '',
-					doneOfTray: '',
-					totalOfTray: '',
-					doneOfUnit: '',
-					totalOfUnit: '',
-					ctnNo: '1'
+					barcode: ""
 				},
 				swiperList: [],
 				timeOut: false,
 				times: 0,
 				currDate: '',
-				textred: 'textred'
+				locList:[],	
+				oldHours:'',
+				oldMin:'',
+				socketClient: null,
+				messages: [],
+				version:'',
+				socketUrl:'',
+				msgType: 'success',
+				filename: '',
+				dialogContent: '',
+				wmsUrl:'',
+				wmsPort:''
+				
 			}
 		},
 		onShow() {
@@ -446,6 +406,7 @@
 			// #ifdef APP-PLUS
 			plus.navigator.setFullscreen(true)
 			// #endif
+			this.getVersion()
 		},
 		mounted() {
 			let that = this
@@ -454,85 +415,330 @@
 			const BasePort = uni.getStorageSync('BasePort');
 			const BaseCrnId = uni.getStorageSync('BaseCrnId');
 			const PROJ = uni.getStorageSync('UPROJ');
+			const WMSURL = uni.getStorageSync('wmsUrl');
+			const WMSPORT = uni.getStorageSync('wmsPort');
 			that.baseUrl = PROJ
 			that.baseIP = BaseIP
 			that.baseLedId = BaseLedId
 			that.basePort = BasePort
 			that.baseCrnId = BaseCrnId
-
-
-
-			this.getDate2()
-			setTimeout(() => {
-				this.getServerData()
-				this.initlineChart()
-				this.initPieChart()
-				this.getOther()
-				setTimeout(() => {
-					this.getServerData()
-					this.initlineChart()
-					this.initPieChart()
-					this.getOther()
-					setTimeout(() => {
-						this.getServerData()
-						this.initlineChart()
-						this.initPieChart()
-						this.getOther()
-					}, 500)
-				}, 500)
-			}, 500)
+			that.wmsUrl = WMSURL
+			that.wmsPort = WMSPORT
+			// this.getUrl()
 		},
-		onLoad() {
-			setInterval(() => {
-				this.getDate2()
-				this.getUrl()
-				this.getInfo()
-				this.getError()
+		created() {
+			let that = this
+			const BaseIP = uni.getStorageSync('BaseIp');
+			const BaseLedId = uni.getStorageSync('BaseLedId');
+			const BasePort = uni.getStorageSync('BasePort');
+			const BaseCrnId = uni.getStorageSync('BaseCrnId');
+			const PROJ = uni.getStorageSync('UPROJ');
+			const WMSURL = uni.getStorageSync('wmsUrl');
+			const WMSPORT = uni.getStorageSync('wmsPort');
+			that.baseUrl = PROJ
+			that.baseIP = BaseIP
+			that.baseLedId = BaseLedId
+			that.basePort = BasePort
+			that.baseCrnId = BaseCrnId
+			that.wmsUrl = WMSURL
+			that.wmsPort = WMSPORT
+			that.uniWebSocket();
+			// that.webSockerInit()
+		},
+		onLoad() {			
+			setInterval(()=>{
+				this.getServerData()
+				// this.initlineChart()
+				// this.initPieChart()
+				// this.getOther()
+				// // this.getDate()
+				// this.getDate2()
+				// this.getInfo()
+				// this.getError()
 				// this.getInfo2()
 				// this.getError2()
+				// this.getUrl()
 				this.controller()
-			}, 1000)
-
-			setInterval(() => {
-				this.getServerData()
-				this.initlineChart()
-				this.initPieChart()
-				this.getOther()
-			}, 1800000)
+				// this.statisticalModel()
+				// 娴嬭瘯鐢�
+				
+			},1000)
+			
+			setInterval(()=> {	
+				setTimeout(()=>{
+					plus.runtime.restart();
+				},100)
+				
+			},1000*60*60*4)
+			
+			// setInterval(()=> {
+			// 	setTimeout(()=>{
+			// 		var time = new Date();
+			// 		var hh = time.getHours();
+			// 		var mm = time.getMinutes();
+			// 		if(hh > this.oldHours && mm >this.oldMin && this.oldMin - mm < 55){
+			// 			plus.runtime.restart();
+			// 		}
+			// 		if(mm >this.oldMin && mm - this.oldMin >2){
+			// 			plus.runtime.restart();
+			// 		}
+			// 	},100)
+				
+			// },1000*30)
 		},
 		methods: {
-			timeOuts() {
-				console.log(this.times);
+			uniWebSocket(){
+				let that = this;
+				that.commonUrl = that.baseIP + ':' +that.basePort + "/" +that.baseUrl
+				that.socketUrl = "ws://"+that.commonUrl+"/led/"+that.baseLedId
+				// 鍒涘缓WebSocket瀹炰緥
+				    that.socketClient = new WebSocketUtil(that.socketUrl, {
+				      // 蹇冭烦闂撮殧锛岄粯璁�30绉�
+				      heartbeatInterval: 30000,
+				      // 閲嶈繛闂撮殧锛岄粯璁�3绉�
+				      reconnectInterval: 3000,
+				      // 鏈�澶ч噸杩炴鏁帮紝-1琛ㄧず鏃犻檺閲嶈繛
+				      maxReconnectAttempts: -1,				      
+				      // 娑堟伅鍥炶皟
+				      onMessage: (res) => {
+				        try {
+				          const data = JSON.parse(res.data);				          
+				          that.showDate(data)
+				          // 澶勭悊娑堟伅...
+				        } catch (e) {
+				          console.error('瑙f瀽娑堟伅澶辫触', e);
+				        }
+				      },
+				      // 杩炴帴鎵撳紑鍥炶皟
+				      onOpen: (res) => {
+						  that.timeOut = false
+						  that.times = 0
+				        console.log('WebSocket宸茶繛鎺�', res);	
+				      },
+				      // 杩炴帴閿欒鍥炶皟
+				      onError: (error) => {
+				        console.error('WebSocket閿欒', error);
+				      },
+				      // 杩炴帴鍏抽棴鍥炶皟
+				      onClose: (res) => {
+						  that.timeOut = true
+						  that.times = that.times+1
+						  that.infoType = 0
+				        console.log('WebSocket宸插叧闂�', res);
+				      },
+				      // 閲嶈繛鍥炶皟
+				      onReconnect: (info) => {
+				        console.log(`WebSocket閲嶈繛(${info.attempts}/${info.maxAttempts})`);
+				      }
+				    });
+				    
+				    // 寤虹珛杩炴帴
+				    that.socketClient.connect();
+			},
+			// 鍙戦�佹秷鎭�
+			    sendMessage(content) {
+			      const message = {
+			        type: 'chat',
+			        content: content,
+			        timestamp: Date.now()
+			      };
+			      
+			      this.socketClient.send(message)
+			        .then(() => {
+			          console.log('娑堟伅鍙戦�佹垚鍔�');
+			        })
+			        .catch(error => {
+			          console.error('娑堟伅鍙戦�佸け璐�', error);
+			        });
+			    },
+			webSockerInit(){
+				let that = this;
+				
+				if(that.baseIP === '' && that.basePort === '' && that.baseUrl ==='' ){
+					that.timeOut = true
+					that.times = that.times+1
+					that.infoType = 0
+					return ;
+				}
+				
+				that.commonUrl = that.baseIP + ':' +that.basePort + "/" +that.baseUrl
+				let socketUrl = "ws://"+that.commonUrl+"/led/"+that.baseLedId
+						// socketUrl = "ws://10.0.100.150:8080/gtctu/led/113"
+				const ws = new WebSocketClient(socketUrl);
+				ws.connect()
+				
+				console.log(ws)		
+						
+				ws.onclose(() =>{
+					
+				})
+				
+				ws.onmessage((msg)=>{
+				 that.timeOut = false
+				 let data = JSON.parse(msg.data)
+				 that.showDate(data)
+				 
+				})
+				
+			},
+			showDate(data){
+				const that = this
+				if(data.type === "default"){
+					that.chartsData.Pie.series[0].data = data.pie
+					that.baseInfo.stockCount = data.stockCunt
+					that.baseInfo.emptyCount = data.emptyCount
+					that.baseInfo.noneCount =data.noneCount
+					that.baseInfo.used = data.used
+					that.baseInfo.usedPr = data.usedPr
+					
+					that.chartsData.Line.categories = [
+						that.getDateFormat(-11),that.getDateFormat(-10),that.getDateFormat(-9),that.getDateFormat(-8),
+						that.getDateFormat(-7),that.getDateFormat(-6),that.getDateFormat(-5),that.getDateFormat(-4),
+						that.getDateFormat(-3),that.getDateFormat(-2),that.getDateFormat(-1),that.getDateFormat(0),]
+					that.chartsData.Line.series = data.rows
+					that.calendar = data.year + "骞�" + data.month + "鏈�" + data.day + "鏃� " + data.hour + ":" + data.minute + ":" + data.second + " " + data.week
+					that.currDate = data.year + "/" + data.month + "/" + data.day
+					that.locList = data.inventoryData
+									that.oldHours = data.hour
+									that.oldMin = data.minute
+				}else if(data.type === "error"){
+					if (data.errMsg && data.errMsg !== "") {
+						var errorInfo = data.errMsg
+						if (that.infoType == 1) {
+							that.infoType = 3
+							that.infoText.title = "鍏朵粬淇℃伅" 
+							// that.infoText.title = "寮傚父"
+							that.infoText.error = errorInfo
+							return
+						}
+						that.infoType = 2
+						that.infoText.title = "鍏朵粬淇℃伅"
+						// that.infoText.title = "寮傚父"
+						that.infoText.error = errorInfo
+					} else {
+						if (that.infoType == 1) {
+							return
+						}
+						that.infoType = 0
+					}
+				}else if(data.type === "task"){
+									 if (data.taskList && data.taskList !== "" && data.taskList.length !=0) {
+									 	if (that.infoType == 2 || that.infoType == 3) {
+									 		return;
+									 	}
+									 	// infoType1:鍙湁鎷f枡绛変俊鎭�
+									 	that.infoType = 1
+									 	if (data.taskList[0].ioType === 101) {
+									 		that.infoText.title = '鍏ㄦ澘鍑哄簱'
+									 	} else if(data.taskList[0].ioType === 103) {
+									 		that.infoText.title = '鎷f枡鍑哄簱'
+									 	} else if(data.taskList[0].ioType === 107) {
+									 		that.infoText.title = '鐩樼偣鍑哄簱'
+									 	} else if(data.taskList[0].ioType === 1) {
+									 		that.infoText.title = '鍏ュ簱'
+									 	} else if(data.taskList[0].ioType === 10) {
+									 		that.infoText.title = '绌烘墭鍏ュ簱'
+									 	} else if(data.taskList[0].ioType === 110) {
+									 		that.infoText.title = '绌烘墭鍑哄簱'
+									 	} else if(data.taskList[0].ioType === 104) {
+									 		that.infoText.title = '骞舵澘鍑哄簱'
+									 	}else if(data.taskList[0].ioType === 54) {
+									 		that.infoText.title = '骞舵澘鍏ュ簱'
+									 	}
+									 	that.infoText.barcode = data.taskList[0].barcode
+									 	that.infoText.workNo = data.taskList[0].workNo
+									 	that.infoText.sourceLocNo = data.taskList[0].sourceLocNo
+									 	that.infoText.staNo = data.taskList[0].staNo
+									 	that.swiperList = data.taskList[0].matDtos
+									 	// that.infoText.matnr = res.data[0].matDtos[0].matnr
+									 	// that.infoText.specs = res.data[0].matDtos[0].specs
+									 	// that.infoText.maknx = res.data[0].matDtos[0].maknx
+									 	// that.infoText.count = res.data[0].matDtos[0].count
+									 } else {
+									 	if (that.infoType == 2 || that.infoType == 3) {
+									 		return;
+									 	}
+									 	that.infoType = 0
+									 }
+				}
+			},
+			statisticalModel() {
+				let that = this
+				uni.request({
+					url: that.commonUrl + "/monitor/locDetl/pda/statisticalModel",
+					method:'GET',
+					success(result) {
+						var res = result.data
+						if (res.code === 200) {
+							console.log(res.data)
+							that.locList = res.data
+						}
+					}
+				})
 			},
 			getUrl() {
-				this.commonUrl = this.baseHttp + this.baseIP + ':' + this.basePort + "/" + this.baseUrl
+				this.commonUrl = this.baseHttp + this.baseIP + ':' +this.basePort + "/" +this.baseUrl				
 			},
 			getServerData() {
-				this.chartsDataLine1 = JSON.parse(JSON.stringify(this.chartsData.Line))
-				this.chartsDataPie2 = JSON.parse(JSON.stringify(this.chartsData.Pie))
+				this.chartsDataLine1=JSON.parse(JSON.stringify(this.chartsData.Line))
+				this.chartsDataPie2=JSON.parse(JSON.stringify(this.chartsData.Pie))
 			},
 			// 鑾峰彇閿欒淇℃伅
 			getInfo2() {
 				let that = this
 				var result = ycqdata.dataInfo2
-				var res = result.data
-				console.log(res);
-				that.infoModel(res)
+				var	res = result.data
+				if (res.data && res.data !== "") {
+					if (that.infoType == 2 || that.infoType == 3) {
+						return;
+					}
+					// infoType1:鍙湁鎷f枡绛変俊鎭�
+					that.infoType = 1
+					if (res.data[0].ioType === 101) {
+						that.infoText.title = '鍏ㄦ澘鍑哄簱'
+					} else if(res.data[0].ioType === 103) {
+						that.infoText.title = '妫�鏂欏嚭搴�'
+					} else if(res.data[0].ioType === 107) {
+						that.infoText.title = '鐩樼偣鍑哄簱'
+					} else if(res.data[0].ioType === 1) {
+						that.infoText.title = '鍏ュ簱'
+					} else if(res.data[0].ioType === 10) {
+						that.infoText.title = '绌烘墭鍏ュ簱'
+					} else if(res.data[0].ioType === 110) {
+						that.infoText.title = '绌烘墭鍑哄簱'
+					}
+					that.infoText.barcode = res.data[0].barcode
+					that.infoText.workNo = res.data[0].workNo
+					that.infoText.sourceLocNo = res.data[0].sourceLocNo
+					that.infoText.staNo = res.data[0].staNo
+					that.swiperList = res.data[0].matDtos
+					// that.infoText.matnr = res.data[0].matDtos[0].matnr
+					// that.infoText.specs = res.data[0].matDtos[0].specs
+					// that.infoText.maknx = res.data[0].matDtos[0].maknx
+					// that.infoText.count = res.data[0].matDtos[0].count
+				} else {
+					if (that.infoType == 2 || that.infoType == 3) {
+						return;
+					}
+					that.infoType = 0
+				}
 			},
-			getError2() {
+			getError2 () {
 				let that = this
 				let result = ycqdata.dataError2
-				var res = result.data
+				var	res = result.data
 				if (res.data && res.data !== "") {
 					var errorInfo = res.data
 					if (that.infoType == 1) {
 						that.infoType = 3
-						that.infoText.title = "寮傚父"
+						that.infoText.title = "鍏朵粬淇℃伅" 
+						// that.infoText.title = "寮傚父"
 						that.infoText.error = errorInfo
 						return
 					}
 					that.infoType = 2
-					that.infoText.title = "寮傚父"
+					that.infoText.title = "鍏朵粬淇℃伅"
+					// that.infoText.title = "寮傚父"
 					that.infoText.error = errorInfo
 				} else {
 					if (that.infoType == 1) {
@@ -545,32 +751,70 @@
 				let that = this
 				uni.request({
 					url: that.commonUrl + "/monitor/led",
-					method: "GET",
-					data: {
-						ledId: that.baseLedId
-					},
+					method:"GET",
+					data: {ledId:that.baseLedId},
 					success(result) {
-						var res = result.data
-						that.infoModel(res)
+						that.timeOut = false
+						that.times = 0
+						var	res = result.data
+						if (res.data && res.data !== "") {
+							if (that.infoType == 2 || that.infoType == 3) {
+								return;
+							}
+							// infoType1:鍙湁鎷f枡绛変俊鎭�
+							that.infoType = 1
+							if (res.data[0].ioType === 101) {
+								that.infoText.title = '鍏ㄦ澘鍑哄簱'
+							} else if(res.data[0].ioType === 103) {
+								that.infoText.title = '妫�鏂欏嚭搴�'
+							} else if(res.data[0].ioType === 107) {
+								that.infoText.title = '鐩樼偣鍑哄簱'
+							} else if(res.data[0].ioType === 1) {
+								that.infoText.title = '鍏ュ簱'
+							} else if(res.data[0].ioType === 10) {
+								that.infoText.title = '绌烘墭鍏ュ簱'
+							} else if(res.data[0].ioType === 110) {
+								that.infoText.title = '绌烘墭鍑哄簱'
+							}
+							that.infoText.barcode = res.data[0].barcode
+							that.infoText.workNo = res.data[0].workNo
+							that.infoText.sourceLocNo = res.data[0].sourceLocNo
+							that.infoText.staNo = res.data[0].staNo
+							that.swiperList = res.data[0].matDtos
+							// that.infoText.matnr = res.data[0].matDtos[0].matnr
+							// that.infoText.specs = res.data[0].matDtos[0].specs
+							// that.infoText.maknx = res.data[0].matDtos[0].maknx
+							// that.infoText.count = res.data[0].matDtos[0].count
+						} else {
+							if (that.infoType == 2 || that.infoType == 3) {
+								return;
+							}
+							that.infoType = 0
+						}
+					},
+					fail(err) {
+						that.timeOut = true
+						that.times = that.times+1
+						that.infoType = 0
 					}
 				})
-
+				
 			},
 			getError() {
 				let that = this
 				uni.request({
 					url: that.commonUrl + "/monitor/led/error",
-					data: {
-						ledId: that.baseLedId
-					},
-					method: "GET",
+					data: {ledId:that.baseLedId},
+					method:"GET",
 					success(result) {
-						var res = result.data
+						that.timeOut = false
+						that.times = 0
+						var	res = result.data
 						if (res.data && res.data !== "") {
 							var errorInfo = res.data
 							if (that.infoType == 1) {
 								that.infoType = 3
-								that.infoText.title = "鍏朵粬淇℃伅"
+								that.infoText.title = "鍏朵粬淇℃伅" 
 								// that.infoText.title = "寮傚父"
 								that.infoText.error = errorInfo
 								return
@@ -585,137 +829,100 @@
 							}
 							that.infoType = 0
 						}
+					},
+					fail(err) {
+						that.timeOut = true
+						that.infoType = 0
 					}
 				})
-
-			},
-			infoModel(res) {
-				let that = this
-				if (res.data && res.data !== "") {
-					if (that.infoType == 2 || that.infoType == 3) {
-						return;
-					}
-					// infoType1:鍙湁鎷f枡绛変俊鎭�
-					that.infoType = 1
-					if (res.data[0].ioType === 101) {
-						that.infoText.title = '鍏ㄦ澘鍑哄簱'
-					} else if (res.data[0].ioType === 103) {
-						that.infoText.title = '鎷f枡鍑哄簱'
-					} else if (res.data[0].ioType === 107) {
-						that.infoText.title = '鐩樼偣鍑哄簱'
-					}else if (res.data[0].ioType === 1) {
-						that.infoText.title = '鍏ㄦ澘鍏ュ簱'
-					}else if (res.data[0].ioType === 10) {
-						that.infoText.title = '绌烘澘鍏ュ簱'
-					}else if (res.data[0].ioType === 54) {
-						that.infoText.title = '骞舵澘鍏ュ簱'
-					}else if (res.data[0].ioType === 110) {
-						that.infoText.title = '绌烘澘鍑哄簱'
-					}else if (res.data[0].ioType === 53) {
-						that.infoText.title = '鎷f枡鍐嶅叆搴�'
-					}else if (res.data[0].ioType === 57) {
-						that.infoText.title = '鐩樼偣鍐嶅叆搴�'
-					}
 				
-					that.infoText.staNo = res.data[0].staNo
-					that.swiperList = res.data[0].matDtos
-					// that.infoText.matnr = res.data[0].matDtos[0].matnr
-					// that.infoText.specs = res.data[0].matDtos[0].specs
-					// that.infoText.maknx = res.data[0].matDtos[0].maknx
-					// that.infoText.count = res.data[0].matDtos[0].count
-				} else {
-					if (that.infoType == 2 || that.infoType == 3) {
-						return;
-					}
-					that.infoType = 0
-				}
 			},
 			// 鎺у埗鍣�
 			controller() {
-				switch (this.infoType) {
+				switch(this.infoType) {
 					// 鏈変俊鎭� 浣� 娌℃湁閿欒淇℃伅
-					case 0:
+					case 0: 
 						if (this.errorInfoViewShow) {
 							this.errorInfoViewShow = false
 							this.errorInfoMode = ['fade', 'slide-bottom']
-							setTimeout(() => {
+							setTimeout(()=>{
 								this.homeViewShow = true
 								this.homeMode = ['fade', 'slide-bottom']
-							}, 1000)
+							},1000)
 						} else if (this.infoViewShow) {
 							this.infoViewShow = false
 							this.infoMode = ['fade', 'slide-bottom']
-							setTimeout(() => {
+							setTimeout(()=>{
 								this.homeViewShow = true
 								this.homeMode = ['fade', 'slide-bottom']
-							}, 1000)
+							},1000)
 						} else if (this.errorInfoViewShow && this.infoViewShow) {
 							this.errorInfoViewShow = false
 							this.infoViewShow = false
 							this.infoMode = ['fade', 'slide-bottom']
-							setTimeout(() => {
+							setTimeout(()=>{
 								this.homeViewShow = true
 								this.homeMode = ['fade', 'slide-bottom']
-							}, 1000)
+							},1000)
 						}
 						return;
-					case 1:
+					case 1: 
 						if (this.homeViewShow) {
 							this.homeViewShow = false
 							this.homeMode = ['fade', 'slide-bottom']
-							setTimeout(() => {
+							setTimeout(()=>{
 								this.infoViewShow = true
 								this.infoMode = ['fade', 'slide-bottom']
-							}, 1000)
+							},1000)
 						} else if (this.errorInfoViewShow) {
 							this.errorInfoViewShow = false
 							this.errorInfoMode = ['fade', 'slide-bottom']
-							setTimeout(() => {
+							setTimeout(()=>{
 								this.infoViewShow = true
 								this.infoMode = ['fade', 'slide-bottom']
-							}, 1000)
+							},1000)
 						}
-
+						
 						return;
 						// 鏈変俊鎭� 涓� 鏈夐敊璇俊鎭�
 					case 2:
 						if (this.homeViewShow) {
 							this.homeViewShow = false
 							this.homeMode = ['fade', 'slide-bottom']
-							setTimeout(() => {
+							setTimeout(()=>{
 								this.errorInfoViewShow = true
 								this.errorInfoMode = ['fade', 'slide-bottom']
-							}, 1000)
+							},1000)
 						} else if (this.infoViewShow) {
 							this.infoViewShow = false
 							this.infoMode = ['fade', 'slide-bottom']
-							setTimeout(() => {
+							setTimeout(()=>{
 								this.errorInfoViewShow = true
 								this.errorInfoMode = ['fade', 'slide-bottom']
-							}, 1000)
+							},1000)
 						}
 						return;
-						// 鏈変俊鎭� 涓� 鏈夐敊璇俊鎭�
+					// 鏈変俊鎭� 涓� 鏈夐敊璇俊鎭�
 					case 3:
 						if (this.homeViewShow) {
 							this.homeViewShow = false
 							this.homeMode = ['fade', 'slide-bottom']
-							setTimeout(() => {
+							setTimeout(()=>{
 								this.errorInfoViewShow = true
 								this.errorInfoMode = ['fade', 'slide-bottom']
-							}, 1000)
+							},1000)
 						} else if (this.infoViewShow) {
 							this.infoViewShow = false
 							this.infoMode = ['fade', 'slide-bottom']
-							setTimeout(() => {
+							setTimeout(()=>{
 								this.errorInfoViewShow = true
 								this.errorInfoMode = ['fade', 'slide-bottom']
-							}, 1000)
+							},1000)
 						}
 						return;
-
+					
 				}
-
+				
 			},
 			// 涓诲睆骞�
 			handle(type) {
@@ -733,7 +940,7 @@
 				this.modeClass = type
 			},
 			// 閰嶇疆
-			ejected() {
+			ejected () {
 				this.ejectShow = true
 			},
 			// 鍙栨秷閰嶇疆
@@ -744,72 +951,52 @@
 			ejectConfirm() {
 				uni.setStorageSync('BaseIp', this.baseIP);
 				uni.setStorageSync('BaseLedId', this.baseLedId);
-				uni.setStorageSync('BasePort', this.basePort);
-				uni.setStorageSync('BaseCrnId', this.baseCrnId);
-				uni.setStorageSync('UPROJ', this.baseUrl);
+				uni.setStorageSync('BasePort',this.basePort);
+				uni.setStorageSync('BaseCrnId',this.baseCrnId);
+				uni.setStorageSync('UPROJ',this.baseUrl);
+				uni.setStorageSync('wmsUrl',this.wmsUrl);
+				uni.setStorageSync('wmsPort',this.wmsPort);
 				this.getUrl()
 				this.ejectShow = false
 			},
 			// 鏃ュ巻 鏈嶅姟鍣�
 			getDate2() {
 				let that = this
-				if (that.commonUrl == 'undefined') {
-					return
-				}
 				uni.request({
 					url: that.commonUrl + "/monitor/date",
-					method: "GET",
+					method:"GET",
 					success(result) {
 						var res = result.data.data
-						that.calendar = res.year + "骞�" + res.month + "鏈�" + res.day + "鏃� " + res.hour + ":" + res
-							.minute + ":" + res.second + " " + res.week
-						that.currDate = res.year + "/" + res.month + "/" + res.day
-					},
-					fail(res) {
-						console.log(res);
+						
 					}
-
 				})
 			},
-
+			
 			// 鏃ュ巻
 			getDate() {
 				var dt = new Date();
-				var year, month, day, hours, minutes, seconds, weeks
+				var year,month,day,hours,minutes,seconds,weeks
 				year = dt.getFullYear();
-				month = (dt.getMonth() + 1) < 10 ? '0' + (dt.getMonth() + 1) : (dt.getMonth() + 1);
-				day = dt.getDate() < 10 ? '0' + dt.getDate() : dt.getDate();
+				month = (dt.getMonth()+1) < 10 ? '0'+ (dt.getMonth()+1) : (dt.getMonth()+1);
+				day = dt.getDate() < 10 ? '0'+dt.getDate() : dt.getDate();
 				hours = dt.getHours() < 10 ? '0' + dt.getHours() : dt.getHours();
 				minutes = dt.getMinutes() < 10 ? '0' + dt.getMinutes() : dt.getMinutes();
-				seconds = dt.getSeconds() < 10 ? '0' + dt.getSeconds() : dt.getSeconds();
-				weeks = dt.getDay();
+				seconds = dt.getSeconds() < 10 ? '0' + dt.getSeconds() : dt.getSeconds(); 
+				weeks = dt.getDay(); 
 				switch (weeks) {
-					case 0:
-						weeks = "鏄熸湡鏃�";
-						break;
-					case 1:
-						weeks = "鏄熸湡涓�";
-						break;
-					case 2:
-						weeks = "鏄熸湡浜�";
-						break;
-					case 3:
-						weeks = "鏄熸湡涓�";
-						break;
-					case 4:
-						weeks = "鏄熸湡鍥�";
-						break;
-					case 5:
-						weeks = "鏄熸湡浜�";
-						break;
-					default:
-						weeks = "鏄熸湡鍏�";
+					case 0: weeks = "鏄熸湡鏃�"; break;
+					case 1: weeks = "鏄熸湡涓�"; break;
+					case 2: weeks = "鏄熸湡浜�"; break;
+					case 3: weeks = "鏄熸湡涓�"; break;
+					case 4: weeks = "鏄熸湡鍥�"; break;
+					case 5: weeks = "鏄熸湡浜�"; break;
+					default : weeks = "鏄熸湡鍏�";
 				}
 				this.calendar = year + "骞�" + month + "鏈�" + day + "鏃� " + hours + ":" + minutes + ":" + seconds + " " + weeks
 			},
 			getDateFormat(value) {
-				var date = new Date(this.currDate); // 鑾峰彇褰撳墠鏃堕棿
-				date.setDate(date.getDate() + value); // 璁剧疆澶╂暟 -1 澶�
+				var date = new Date(this.currDate);// 鑾峰彇褰撳墠鏃堕棿
+				date.setDate(date.getDate() + value);// 璁剧疆澶╂暟 -1 澶�
 				var m = date.getMonth() + 1
 				var d = date.getDate()
 				var newDate = m + '-' + d
@@ -818,24 +1005,13 @@
 			/*************** 鎶樼嚎鍥� *****************************************************************************************************/
 			initlineChart() {
 				let that = this
-				if (that.commonUrl == 'undefined') {
-					return
-				}
 				uni.request({
 					url: that.commonUrl + "/monitor/line/charts",
-					method: 'GET',
+					method:'GET',
 					success(result) {
 						var res = result.data
 						if (res.code === 200) {
-							that.chartsData.Line.categories = [
-								that.getDateFormat(-11), that.getDateFormat(-10), that.getDateFormat(-9), that
-								.getDateFormat(-8),
-								that.getDateFormat(-7), that.getDateFormat(-6), that.getDateFormat(-5), that
-								.getDateFormat(-4),
-								that.getDateFormat(-3), that.getDateFormat(-2), that.getDateFormat(-1), that
-								.getDateFormat(0),
-							]
-							that.chartsData.Line.series = res.data.rows
+							
 						}
 					}
 				})
@@ -843,12 +1019,9 @@
 			/*************** 楗煎浘 *****************************************************************************************************/
 			initPieChart() {
 				let that = this
-				if (that.commonUrl == 'undefined') {
-					return
-				}
 				uni.request({
 					url: that.commonUrl + "/monitor/loc/rep",
-					method: 'GET',
+					method:'GET',
 					success(result) {
 						var res = result.data
 						if (res.code === 200) {
@@ -864,16 +1037,14 @@
 			},
 			getOther() {
 				let that = this
-				if (that.commonUrl == 'undefined') {
-					return
-				}
 				uni.request({
 					url: that.commonUrl + "/monitor/other",
 					data: {
-						crnId: that.baseCrnId,
+						crnId: that.baseCrnId, 
 						ledId: that.baseLedId,
 					},
 					success(result) {
+						// console.log(result);
 						var res = result.data
 						if (res.code === 200) {
 							that.baseInfo.xDistance = res.data.xDistance
@@ -881,43 +1052,161 @@
 							that.baseInfo.xDuration = res.data.xDuration
 							that.baseInfo.yDuration = res.data.yDuration
 						} else if (res.code === 403) {
-
+							
 						} else {
-
+							
 						}
 					}
 				})
 			},
+			//妫�娴嬪綋鍓嶅钩鍙帮紝濡傛灉鏄畨鍗撳垯鍚姩瀹夊崜鏇存柊
+			getVersion() {
+				let that = this;
+				uni.getSystemInfo({
+					success: (res) => {
+						if (res.platform == "android") {
+							that.AndroidCheckUpdate();
+						}
+							// that.AndroidCheckUpdate();
+						
+					}
+				})
+			},
+			// 鑾峰彇褰撳墠鐗堟湰鍙�
+			AndroidCheckUpdate() {
+				let that = this;
+				plus.runtime.getProperty(plus.runtime.appid, (wgtinfo) => {
+					that.version = wgtinfo.version //瀹㈡埛绔増鏈彿
+				})
+				setTimeout(()=>{
+					that.getUpdateVersion()
+				},100)
+			},
+			// 鏍¢獙鐗堟湰
+			getUpdateVersion() {
+				let that = this
+				let type = 1
+				if (that.baseUrl == 'http://undefined:undefined/undefined') {
+					return
+				}
+				const wms = 'http://'+ that.baseIP + ':' +that.wmsPort + "/" +that.wmsUrl
+				console.log(wms)
+				let url = wms + '/appVersion/checkUpdate/' + that.version + '/' + type
+				uni.request({
+					url: url,
+					method: 'GET',
+					success(res) {
+						console.log(res);
+						var res = res.data
+						if (res.data) {
+							that.filename = res.data.path
+							that.dialogContent = '鍙戠幇鏂扮増鏈�:' + res.data.version + ', 鏄惁绔嬪嵆鏇存柊'
+							that.$refs.upVersion.open()
+						} else {
+							uni.showToast({
+								title: res.msg,
+								icon: "none",
+								position: 'top'
+							})
+						}
+						
+					}
+				})
+			},
+			dialogConfirm() {
+				this.$refs.upVersion.close()
+				this.downWgt()
+			},
+			dialogClose() {
+				this.$refs.upVersion.close()
+			},
+			downWgt() {
+				let that = this;
+				const wms = 'http://'+ that.baseIP + ':' +that.wmsPort + "/" +that.wmsUrl
+				const downloadUrl = wms + "/appVersion/downloadApp/" + that.filename
+				uni.showLoading({
+					title: '鏇存柊涓�︹��'
+				})
+				const downloadTask = uni.downloadFile({ //鎵ц涓嬭浇
+					url: downloadUrl, //涓嬭浇鍦板潃
+					timeout: 1000 * 30, //30绉掕秴鏃舵椂闂�
+					success: downloadResult => { //涓嬭浇鎴愬姛
+						console.log(downloadResult);
+						that.showdownLine = false
+						uni.hideLoading();
+						if (downloadResult.statusCode == 200) {
+							uni.showModal({
+								title: '',
+								content: '鏇存柊鎴愬姛锛岀‘瀹氱幇鍦ㄩ噸鍚悧锛�',
+								confirmText: '閲嶅惎',
+								confirmColor: '#EE8F57',
+								success: function(res) {
+									if (res.confirm == true) {
+										plus.runtime.install( //瀹夎
+											downloadResult.tempFilePath, {
+												force: true
+											},
+											function(res) {
+												utils.showToast('鏇存柊鎴愬姛锛岄噸鍚腑');
+												plus.runtime.restart();
+											}
+										);
+									}
+								}
+							});
+						} else {
+							uni.hideLoading();
+							that.showdownLine = false
+							uni.showToast({
+								title:'璇峰厛涓婁紶瀹夎鍖�',
+								icon: 'error'
+							})
+						}
+					},
+					fail: err => {
+						uni.hideLoading();
+						that.showdownLine = false
+						that.$u.toast(downloadResult.errMsg)
+					},
+					complete: com => {
+						
+						console.log(com)
+					}
+				});
+			
+				// 涓嬭浇杩涘害
+				downloadTask.onProgressUpdate(res => {
+					that.downloadNum = res.progress
+					console.log('涓嬭浇杩涘害' + that.downloadNum);
+				});
+			},
 		}
-
+		
 	}
 </script>
 
 <style>
 	/* @import url("../../static/css/common.css"); */
 	@import url("home.css");
-
 	/* 鍒� */
 	.flex-col {
 		display: flex;
 		flex-direction: column;
 	}
-
 	/* 琛� */
 	.flex-row {
 		display: flex;
 		flex-direction: row;
 	}
-
-	.container {
+	
+	.container{
 		width: 100vw;
 		min-height: 100vh;
 		background-color: #00163E;
 		color: #fff;
 		text-align: center;
-
+		
 	}
-
 	/* 涓昏鍥� */
 	.home-view {
 		width: 100vw;
@@ -925,37 +1214,32 @@
 		background-image: url(../../static/background.png);
 		background-size: 100vw 100vh;
 	}
-
 	.home-right {
 		width: 50vw;
 		height: 89vh;
 		/* background-color: cadetblue; */
 	}
-
 	.home-right-box {
 		width: 98%;
 		height: 98%;
 	}
-
 	.head {
 		width: 100vw;
 		height: 11vh;
-		font-size: 4vw;
+		font-size:4vw;
 		font-weight: 700;
 		display: flex;
 		align-items: center;
 		justify-content: center;
 		transform: scale(0.7);
 	}
-
 	.time-tools {
 		position: absolute;
 		right: 2%;
 		top: 2%;
-		font-size: 1vw;
+		font-size:1vw;
 		transform: scale(0.8);
 	}
-
 	.button-left {
 		position: absolute;
 		background-image: url(../../static/right.png);
@@ -966,7 +1250,6 @@
 		height: 8.5%;
 		transform: scaleX(-1);
 	}
-
 	.button-right {
 		position: absolute;
 		background-image: url(../../static/right.png);
@@ -976,8 +1259,8 @@
 		width: 13.5%;
 		height: 8.5%;
 	}
-
 	.img-box {
+		height: 23vw;
 		width: 100%;
 		/* background-color: #666666; */
 		display: flex;
@@ -986,7 +1269,6 @@
 		flex-wrap: wrap;
 		font-size: 1vw;
 	}
-
 	.item-img {
 		width: 50%;
 		margin-top: 5%;
@@ -996,14 +1278,13 @@
 		justify-content: flex-start;
 		align-items: flex-start;
 	}
-
-	.distance {}
-
+	.distance {
+		
+	}
 	.item-img image {
 		height: 5vw;
 		width: 5vw;
 	}
-
 	.progressBar {
 		margin-top: 9%;
 		/* width: 100%; */
@@ -1011,51 +1292,41 @@
 		background-color: #233751;
 		border-radius: 5vw;
 	}
-
 	.progress {
 		/* width: 90%; */
 		height: 100%;
 		background-color: #FF5722;
 		border-radius: 5vw;
 	}
-
 	.charts-box {
-		width: 80%;
-		height: 24vh;
-		margin-left: 10%;
-	}
-
+	  width: 80%;
+	  height: 24vh;
+	  margin-left: 10%;
+	} 
 	.charts-box-ring {
-		width: 50%;
+		width: 60%;
 		height: 24vh;
 		/* background-color: #00ffff; */
 	}
-
 	.sub-info {
 		font-size: 1.5vw;
 	}
-
 	.sub-info image {
 		width: 3.5vw;
 		height: 3.5vw;
 	}
-
-	.red {
-		color: red
-	}
-
-
-
-
+	
+	
+	
+	
 	/* 鍏辩敤 */
 	.main {
 		width: 100vw;
 		height: 88vh;
 		margin-top: 1vh;
 		display: flex;
-
+		
 	}
-
 	.mian-item {
 		width: 50%;
 		height: 100%;
@@ -1064,12 +1335,10 @@
 		align-items: center;
 		justify-content: center;
 	}
-
 	.mian-item-box {
 		width: 98%;
 		height: 98%;
 	}
-
 	.box-item {
 		width: 100%;
 		margin-top: 4%;
@@ -1078,24 +1347,28 @@
 		align-items: flex-start;
 		justify-content: flex-start;
 	}
-
 	.item-title {
-		font-size: 1.5vw;
+		font-size:1.5vw;
 		font-weight: 700;
 	}
-
+	.version{
+		position: absolute;
+		left: 1%;
+		top: 1%;
+		font-size:1vw;
+		transform: scale(0.8);
+	}
 	.item-subTitle {
-		font-size: 0.5vw;
+		font-size:0.5vw;
 		text-indent: 0em;
 	}
-
 	.item-text {
 		font-size: 1vw;
 		text-indent: 2em;
 		letter-spacing: 1px;
 		line-height: 3vh;
 	}
-
+	
 	/* 鍏ㄦ澘/鎷f枡淇℃伅 */
 	.info-view {
 		width: 100vw;
@@ -1103,7 +1376,6 @@
 		background-image: url(../../static/background.png);
 		background-size: 100vw 100vh;
 	}
-
 	.info-main {
 		width: 100vw;
 		height: 88vh;
@@ -1111,12 +1383,10 @@
 		justify-content: center;
 		align-items: center;
 	}
-
 	.info-box {
 		width: 98%;
 		height: 98%;
 	}
-
 	/* 寮傚父淇℃伅 */
 	.error-info-view {
 		width: 100vw;
@@ -1124,7 +1394,7 @@
 		background-image: url(../../static/background.png);
 		background-size: 100vw 100vh;
 	}
-
+	
 	/* 寮瑰嚭:閰嶇疆鍖哄煙 */
 	.eject-mask {
 		width: 100%;
@@ -1136,37 +1406,30 @@
 		z-index: 999;
 		display: flex;
 		align-items: center;
-		justify-content: center;
+		justify-content: center;	
 	}
-
-	.eject {
+	.eject{
 		position: relative;
-		width: 40vw;
-		height: 40vh;
+		width: 45vw;
+		height: 45vh;
 		background-color: #fff;
 		border-radius: 2rem;
 	}
-
 	.eject-title {
 		width: 100%;
 		height: 5vh;
 		line-height: 6vh;
 		font-size: 3vh;
 		font-weight: 700;
-		color: #606266;
+		color: 	#606266;
 		text-align: center;
 	}
-
 	.eject-input {
 		margin-top: 2vh;
 		height: 25vh;
-
 		/* background-color: #00163E; */
-		::-webkit-scrollbar {
-			display: none
-		}
+		::-webkit-scrollbar{display:none}
 	}
-
 	.item {
 		display: flex;
 		align-items: center;
@@ -1174,15 +1437,13 @@
 		font-size: 1.5vw;
 		color: #363636;
 	}
-
 	.desc {
 		display: inline-block;
 		width: 40%;
 		text-align: right;
 		color: #606266;
-
+		
 	}
-
 	.input {
 		display: flex;
 		align-items: center;
@@ -1194,15 +1455,13 @@
 		margin-right: 20%;
 		text-align: start;
 	}
-
 	.eject-input input {
 		width: 100%;
 		height: 3vh;
 		font-size: 1vw;
-
-
+		
+		
 	}
-
 	.eject-button {
 		display: flex;
 		align-items: center;
@@ -1213,7 +1472,6 @@
 		width: 100%;
 		border-top: 1px solid #ccc;
 	}
-
 	.button-item {
 		width: 50%;
 		height: 100%;
@@ -1222,30 +1480,17 @@
 		text-align: center;
 		color: #909399;
 	}
-
 	.button-item:last-child {
 		color: #67C23A;
-
+		
 		border-left: 1px solid #ccc;
 	}
-
 	.info-box-text {
-		width: 100%;
-		height: 100%;
-		display: flex;
-		flex-direction: column;
-		align-items: center;
-		justify-content: center;
+		width: 100%;height: 100%;
+		display: flex;flex-direction: column;align-items: center;justify-content: center;
 	}
-
 	.info-box-text-item {
-		height: 20%;
-		font-size: 8vh;
+		height: 20%;font-size: 8vh;
 		justify-content: center;
-		white-space: pre-line;
-	}
-
-	.textred {
-		color: red;
 	}
 </style>
\ No newline at end of file

--
Gitblit v1.9.1