From 6e2f1c62d34f7c154df167fc22ea0a04b9772b58 Mon Sep 17 00:00:00 2001
From: Junjie <xjj@123>
Date: 星期六, 11 十月 2025 09:05:03 +0800
Subject: [PATCH] #电视机显示设备报警信息

---
 Monitor-APP/pages/home/home.vue |  822 +++++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 498 insertions(+), 324 deletions(-)

diff --git a/Monitor-APP/pages/home/home.vue b/Monitor-APP/pages/home/home.vue
index 6ed6177..97a5e94 100644
--- a/Monitor-APP/pages/home/home.vue
+++ b/Monitor-APP/pages/home/home.vue
@@ -1,323 +1,343 @@
 <template>
-	<view class="container">
-		<uni-transition :duration="duration" :mode-class="homeMode" :show="homeViewShow">
-			<view class="home-view">
-				<view class="head">
-					<text>鑷姩浠撳簱WCS鐩戞帶骞冲彴</text>
-				</view>
-				<!-- 鏃ュ巻 -->
-				<view class="time-tools">{{calendar}}</view>
-				<view class="button-left" @click="ejected()"></view>
-				<view class="button-right" @click="ejected()"></view>
-				<!-- 涓昏鍥� -->
-				<view class="main">
-					<view class="mian-item">
-						<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>
-								<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;">m</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;">m</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;">s</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;">s</view>
-												</view>
-												<view style="height: 100%;text-align: left;text-indent: 2em;">绱鍗囬檷鏃堕暱(绉�)</view>
-											</view>
-										</view>
-										
+	<view>
+		<view v-if="crnErrorShow">
+			<swiper
+				class="message-swiper"
+				autoplay
+				circular
+				interval="2000"
+				duration="500"
+			>
+				<swiper-item v-for="(message, index) in messages" :key="index">
+					<view class="message-item">{{ message }}</view>
+				</swiper-item>
+			</swiper>
+		</view>
+		
+		<view class="container">
+			<uni-transition :duration="duration" :mode-class="homeMode" :show="homeViewShow">
+				<view class="home-view">
+					<view class="head">
+						<text>鏅鸿兘澶у睆鏄剧ず绯荤粺</text>
+					</view>
+					<!-- 鏃ュ巻 -->
+					<view class="time-tools">{{calendar}}</view>
+					<view class="button-left" @click="ejected()"></view>
+					<view class="button-right" @click="ejected()"></view>
+					<!-- 涓昏鍥� -->
+					<view class="main">
+						<view class="mian-item">
+							<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>
-								</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;">
-											<text class="item-title">搴撲綅浣跨敤鐜�</text>
-											<text class="item-subTitle">EQUIPMENT USAGE THIS MONTH</text>
+									<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>
-										<!-- 鍙充晶 -->
-										<view style="margin-left: auto;">
-											<!-- 鐧惧垎姣� -->
-											<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>
+									</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;">
+												<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;" >
+													<!-- 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>
+												</view>
 											</view>
 										</view>
+										
+										<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>
+										</view>
+									</view>
+								</y-box>
+							</view>
+						</view>
+						<view class="mian-item">
+							<view class="mian-item-box">
+								<view style="width: 100%;height: 100%;">
+									<view style="height: 35%;">
+										<!-- 鎶樼嚎鍥� -->
+										<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;">
+														<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;" >
+															<!-- style="justify-content: flex-end;position: absolute;top: 0;right: 1vw;text-align: right;" -->
+															<text class="item-title">{{ baseLedId }}</text>
+															<text class="item-subTitle">绔欑偣缂栧彿</text>
+														</view>
+													</view>
+												</view>
+												<view class="charts-box">
+													<qiun-data-charts type="line" :chartData="chartsDataLine1" :echartsH5="true" :echartsApp="true"/>
+												</view>
+											</view>
+										</y-box>
 									</view>
 									
-									<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>
+									
+									<!-- null -->
+									<view style="height: 2%;"></view>
+									
+									
+									<view style="height: 61%;">
+										<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;">
+														<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> 
+															<text class="item-subTitle">Today</text>
+														</view>
+													</view>
+												</view>
+												<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"/>
+													</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>
+														<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>
+														<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>
+													</view>
+												</view>
 											</view>
-											<view style="position: absolute;bottom: 0;right: 0;font-size: 2.5vw;color: #FF5722;;">{{baseInfo.used}}</view>
-										</view>
+											
+										</y-box>
+									</view>
+									<view style="height: 2%;"></view>								
+								</view>
+							</view>
+						</view>
+					</view>
+					
+				</view>
+			</uni-transition>
+			<!-- 鍏ㄦ澘/鎷f枡淇℃伅 -->
+			<uni-transition :duration="duration" :mode-class="infoMode" :show="infoViewShow">
+				<view class="home-view">
+					<view class="head">
+						<text>{{infoText.title}}</text>
+					</view>
+					<!-- 鏃ュ巻 -->
+					<view class="time-tools">{{calendar}}</view>
+					<view class="button-left" @click="ejected()"></view>
+					<view class="button-right" @click="ejected()"></view>
+					<!-- 涓讳綋 -->
+					<view class="info-main">
+						<view class="info-box">
+							<y-box>
+								<!-- 鏂囨湰瀹瑰櫒 -->
+								<view class="text-content">
+									<!-- head -->
+									<view class="swiper-head">									
+										<view style="width: 20%;">宸ヤ綔鍙�: {{infoText.workNo}}</view>
+										<view style="width: 30%;">婧愬簱浣�: {{infoText.sourceLocNo}}</view>
+										<view style="width: 20%;">鐩爣绔�: {{infoText.staNo}}</view>
+										<view style="width: 30%;">鎵樼洏鐮�: {{infoText.barcode}}</view>
+										<!-- <view style="width: 10%;">鏁伴噺</view> -->
+									</view>
+									<!-- body -->
+									<view class="swiper-body">
+										<!-- swiper 涓�浜涜鏄�
+										circular 鏄惁閲囩敤琛旀帴婊戝姩锛屽嵆鎾斁鍒版湯灏惧悗閲嶆柊鍥炲埌寮�澶�
+										vertical 婊戝姩鏂瑰悜鏄惁涓虹旱鍚� 
+										display-multiple-items 鍚屾椂鏄剧ず鐨勬粦鍧楁暟閲� -->	
+										<swiper class="swiper-body-main" vertical="true" 
+										display-multiple-items="1"
+										circular="true" :autoplay="true" :interval="10000" :duration="3000">
+											<swiper-item class="swiper-item" v-for="(item,i) in swiperList" :key="i">
+												<view style="width: 100%;">{{i+1}} / {{swiperList.length}}</view>
+												<view style="width: 50%;">鍗曞彿: {{item.orderNo}}</view>
+												<view style="width: 50%;">搴撳瓨鐘舵��: {{item.cstateid}}</view>
+												<view style="width: 50%;">鍟嗗搧缂栧彿: {{item.matnr}}</view>
+												<view style="width: 50%;">鍟嗗搧鍚嶇О: {{item.maktx}}</view>
+												<view style="width: 50%;">瑙勬牸: {{item.specs}}</view>
+												<view style="width: 50%;">U8鏃у搧鍚�: {{item.sku}}</view>
+												<view style="width: 100%;">鍨嬪彿: {{item.model}}</view>
+												<view style="width: 100%;color: red;font-size: 3.1vw;">瀹㈡埛鍚嶇О: {{item.supp}}</view>
+												<view style="width: 100%;color: red;font-size: 3.1vw;">寮�绁ㄥ鎴�: {{item.kpCstmrName}}</view>
+												<!-- <view style="width: 25%;">涓绘暟閲�: {{item.count}}</view> -->
+												<view style="width: 25%;color: red;font-size: 3.1vw;">杈呮暟閲�: {{item.allWeight}}</view>
+												<view style="width: 25%;">搴撳瓨: {{item.allStock}}</view>
+												<view style="width: 25%;">鍓╀綑: {{item.lessStock}}</view>
+												<!-- <view style="width: 25%;">杈呭簱瀛�: {{item.totalWeight}}</view> -->
+											</swiper-item>
+										</swiper>
 									</view>
 								</view>
 							</y-box>
 						</view>
 					</view>
-					<view class="mian-item">
-						<view class="mian-item-box">
-							<view style="width: 100%;height: 100%;">
-								<view style="height: 35%;">
-									<!-- 鎶樼嚎鍥� -->
-									<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;">
-													<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;" >
-														<!-- 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>
-													</view>
-												</view>
-											</view>
-											<view class="charts-box">
-												<qiun-data-charts type="line" :chartData="chartsDataLine1" :echartsH5="true" :echartsApp="true"/>
-											</view>
-										</view>
-									</y-box>
+				</view>
+			</uni-transition>
+			<!-- 寮傚父淇℃伅 -->
+			<uni-transition :duration="duration" :mode-class="errorInfoMode" :show="errorInfoViewShow">
+				<view class="error-info-view">
+					<view class="head">
+						<text>{{infoText.title}}</text>
+					</view>
+					<!-- 鏃ュ巻 -->
+					<view class="time-tools">{{calendar}}</view>
+					<view class="button-left"></view>
+					<view class="button-right"></view>
+					<!-- 涓讳綋 -->
+					<view class="info-main" >
+						<view class="info-box">
+							<y-box>
+								<view class="info-box-text">
+									<view class="flex-col info-box-text-item">{{infoText.error}}</view>
 								</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;">
-													<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> 
-														<text class="item-subTitle">Today</text>
-													</view>
-												</view>
-											</view>
-											<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"/>
-												</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>
-													<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>
-													<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>
-												</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鐩戞帶骞冲彴
-											<!-- <image src="../../static/ruiyun.jpg" mode="" style="width: 100%;"></image> -->
-										</view>
-									</y-box>
-								</view>
-							</view>
+							</y-box>
 						</view>
 					</view>
 				</view>
-				
-			</view>
-		</uni-transition>
-		<!-- 鍏ㄦ澘/鎷f枡淇℃伅 -->
-		<uni-transition :duration="duration" :mode-class="infoMode" :show="infoViewShow">
-			<view class="home-view">
-				<view class="head">
-					<text>{{infoText.title}}</text>
-				</view>
-				<!-- 鏃ュ巻 -->
-				<view class="time-tools">{{calendar}}</view>
-				<view class="button-left" @click="ejected()"></view>
-				<view class="button-right" @click="ejected()"></view>
-				<!-- 涓讳綋 -->
-				<view class="info-main">
-					<view class="info-box">
-						<y-box>
-							<!-- 鏂囨湰瀹瑰櫒 -->
-							<view class="text-content">
-								<!-- head -->
-								<view class="swiper-head">
-									<view>鎵樼洏鐮侊細{{infoText.barcode}}</view>
-									<view>鍟嗗搧缂栧彿</view>
-									<view>鍟嗗搧鍚嶇О</view>
-									<view>瑙勬牸</view>
-									<view>鏁伴噺</view>
-								</view>
-								<!-- body -->
-								<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-item class="swiper-item" v-for="(item,i) in swiperList" :key="i">
-											<view>No:{{i+1}}</view>
-											<view>{{item.matnr}}</view>
-											<view>{{item.maknx}}</view>
-											<view>{{item.specs}}</view>
-											<view>{{item.count}}</view>
-										</swiper-item>
-									</swiper>
-								</view>
+			</uni-transition>
+			
+			<!-- 鑷畾涔夊脊鍑哄眰 -->
+			<view class="eject-mask" v-show="ejectShow">
+				<view class="eject">
+					<!-- 寮瑰嚭title -->
+					<view class="eject-title">淇敼 / 閰嶇疆</view>
+					<!-- input -->
+					<scroll-view scroll-y class="eject-input">
+						<view class="item">
+							<view class="desc">ip锛�</view>
+							<view class="input">
+								<input type="text" v-model="baseIP">
 							</view>
-						</y-box>
+						</view>
+						<view class="item">
+							<view class="desc">port锛�</view>
+							<view class="input">
+								<input type="text" v-model="basePort">
+							</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>
+					<!-- button -->
+					<view class="eject-button">
+						<view class="button-item" @click="ejectClose">鍙� 娑�</view>
+						<view class="button-item" @click="ejectConfirm">纭� 璁�</view>
 					</view>
 				</view>
 			</view>
-		</uni-transition>
-		<!-- 寮傚父淇℃伅 -->
-		<uni-transition :duration="duration" :mode-class="errorInfoMode" :show="errorInfoViewShow">
-			<view class="error-info-view">
-				<view class="head">
-					<text>{{infoText.title}}</text>
-				</view>
-				<!-- 鏃ュ巻 -->
-				<view class="time-tools">{{calendar}}</view>
-				<view class="button-left"></view>
-				<view class="button-right"></view>
-				<!-- 涓讳綋 -->
-				<view class="info-main" >
-					<view class="info-box">
-						<y-box>
-							<view class="info-box-text">
-								<view class="flex-col info-box-text-item">{{infoText.error}}</view>
-							</view>
-						</y-box>
-					</view>
-				</view>
-			</view>
-		</uni-transition>
-		
-		<!-- 鑷畾涔夊脊鍑哄眰 -->
-		<view class="eject-mask" v-show="ejectShow">
-			<view class="eject">
-				<!-- 寮瑰嚭title -->
-				<view class="eject-title">淇敼 / 閰嶇疆</view>
-				<!-- input -->
-				<view class="eject-input">
-					<view class="item">
-						<view class="desc">ip锛�</view>
-						<view class="input">
-							<input type="text" v-model="baseIP">
-						</view>
-					</view>
-					<view class="item">
-						<view class="desc">port锛�</view>
-						<view class="input">
-							<input type="text" v-model="basePort">
-						</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>
-				</view>
-				<!-- button -->
-				<view class="eject-button">
-					<view class="button-item" @click="ejectClose">鍙� 娑�</view>
-					<view class="button-item" @click="ejectConfirm">纭� 璁�</view>
-				</view>
+			<view style="color: #FFF;position: fixed;bottom: 10px;left: 10px;" v-show="timeOut">
+				杩炴帴瓒呮椂: {{times}} s
 			</view>
 		</view>
 	</view>
 </template>
-
+<!-- {"msg":"鎿嶄綔鎴愬姛","code":200,"data":[{"title":"鍏ㄦ澘鍑哄簱","workNo":7460,"staNo":110,"sourceStaNo":null,"locNo":null,"sourceLocNo":"0807102","matDtos":[{"matNo":"50460834","maknx":"200x60妗岄潰","count":26.0}],"emptyMk":false,"ioType":101}]} -->
 <script>
 	import demodata from '@/mockdata/demodata.json';
 	import ycqdata from '@/pages/index/data.json';
@@ -331,6 +351,7 @@
 				homeMode: [],
 				infoMode: [],
 				errorInfoMode: [],
+				useInfo: '',
 				baseInfo: {
 					xDistance: 1,
 					yDistance: 2,
@@ -367,6 +388,9 @@
 				baseLedId: '',
 				baseCrnId: '',
 				baseUrl: '',
+				getLedInfosIp: '172.17.60.92',
+				getLedInfosPort: '9090',
+				getLedInfosUrl: 'flsbwcs',
 				info: null,
 				error: null,
 				infoType: 0,
@@ -381,7 +405,12 @@
 					error: "",
 					barcode: ""
 				},
-				swiperList: []
+				swiperList: [],
+				timeOut: false,
+				times: 0,
+				currDate: '',
+				crnErrorShow: false,
+				messages: []
 			}
 		},
 		onShow() {
@@ -392,6 +421,7 @@
 		},
 		mounted() {
 			let that = this
+			
 			const BaseIP = uni.getStorageSync('BaseIp');
 			const BaseLedId = uni.getStorageSync('BaseLedId');
 			const BasePort = uni.getStorageSync('BasePort');
@@ -402,7 +432,11 @@
 			that.baseLedId = BaseLedId
 			that.basePort = BasePort
 			that.baseCrnId = BaseCrnId
-			// this.getUrl()
+			this.getUrl()
+			
+			setTimeout(() => {
+				this.getLedInfos()
+			},2000)
 		},
 		onLoad() {
 			setInterval(()=>{
@@ -410,6 +444,7 @@
 				this.initlineChart()
 				this.initPieChart()
 				this.getOther()
+				this.getUserInfo()
 				// this.getDate()
 				this.getDate2()
 				this.getInfo()
@@ -418,11 +453,38 @@
 				// this.getError2()
 				this.getUrl()
 				this.controller()
-				// 娴嬭瘯鐢�
+				this.getCrnError()
 				
 			},1000)
 		},
 		methods: {
+			timeOut() {
+				console.log(this.times);
+			},
+			getLedInfos(){
+				let that = this
+				this.getUrl()
+				uni.request({
+					url: this.baseHttp + that.getLedInfosIp + ':' +this.getLedInfosPort + "/" + this.getLedInfosUrl + "/console/getLedInfos",
+					method:"GET",
+					data: {},
+					success(res) {
+						let data = res.data.data;
+						that.baseLedId = data.staArr[0]
+						that.baseCrnId = 1
+						
+						that.baseIP = that.getLedInfosIp;
+						that.basePort = that.getLedInfosPort;
+						that.baseUrl = that.getLedInfosUrl;
+						
+						uni.setStorageSync('BaseIp', that.baseIP);
+						uni.setStorageSync('BaseLedId', that.baseLedId);
+						uni.setStorageSync('BasePort',that.basePort);
+						uni.setStorageSync('BaseCrnId',that.baseCrnId);
+						uni.setStorageSync('UPROJ',that.baseUrl);
+					}
+				})
+			},
 			getUrl() {
 				this.commonUrl = this.baseHttp + this.baseIP + ':' +this.basePort + "/" +this.baseUrl
 			},
@@ -444,9 +506,20 @@
 					if (res.data[0].ioType === 101) {
 						that.infoText.title = '鍏ㄦ澘鍑哄簱'
 					} else if(res.data[0].ioType === 103) {
-						that.infoText.title = '妫�鏂欏嚭搴�'
+						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 === 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
@@ -467,12 +540,14 @@
 					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) {
@@ -481,6 +556,20 @@
 					that.infoType = 0
 				}
 			},
+			getUserInfo() {
+				let that = this
+				uni.request({
+					url: that.commonUrl + "/monitor/led",
+					method:"GET",
+					data: {ledId:that.baseLedId},
+					success(res) {
+						res = res.data
+						if (res.data && res.data != '') {
+							that.useInfo = res.data
+						}
+					}
+				})
+			},
 			getInfo() {
 				let that = this
 				uni.request({
@@ -488,6 +577,8 @@
 					method:"GET",
 					data: {ledId:that.baseLedId},
 					success(result) {
+						that.timeOut = false
+						that.times = 0
 						var	res = result.data
 						if (res.data && res.data !== "") {
 							if (that.infoType == 2 || that.infoType == 3) {
@@ -498,7 +589,7 @@
 							if (res.data[0].ioType === 101) {
 								that.infoText.title = '鍏ㄦ澘鍑哄簱'
 							} else if(res.data[0].ioType === 103) {
-								that.infoText.title = '妫�鏂欏嚭搴�'
+								that.infoText.title = '鎷f枡鍑哄簱'
 							} else if(res.data[0].ioType === 107) {
 								that.infoText.title = '鐩樼偣鍑哄簱'
 							} else if(res.data[0].ioType === 1) {
@@ -509,7 +600,27 @@
 								that.infoText.title = '绌烘墭鍑哄簱'
 							}
 							that.infoText.barcode = res.data[0].barcode
-							that.swiperList = res.data[0].matDtos
+							that.infoText.workNo = res.data[0].workNo
+							that.infoText.sourceLocNo = res.data[0].sourceLocNo
+							that.infoText.staNo = res.data[0].staNo
+							
+							let matDtos = res.data[0].matDtos;
+							
+							let allWeight = 0;
+							let allStock = 0;
+							matDtos.forEach((item) => {
+								allWeight += item.weight;
+								allStock += item.totalWeight;
+							})
+							
+							let lessStock = allStock - allWeight;
+							
+							let matDto = matDtos[0];
+							matDto.allWeight = allWeight;
+							matDto.allStock = allStock;
+							matDto.lessStock = lessStock;
+							that.swiperList = [matDto]
+							
 							// 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
@@ -520,6 +631,11 @@
 							}
 							that.infoType = 0
 						}
+					},
+					fail(err) {
+						that.timeOut = true
+						that.times = that.times+1
+						that.infoType = 0
 					}
 				})
 				
@@ -531,6 +647,8 @@
 					data: {ledId:that.baseLedId},
 					method:"GET",
 					success(result) {
+						that.timeOut = false
+						that.times = 0
 						var	res = result.data
 						if (res.data && res.data !== "") {
 							var errorInfo = res.data
@@ -551,6 +669,10 @@
 							}
 							that.infoType = 0
 						}
+					},
+					fail(err) {
+						that.timeOut = true
+						that.infoType = 0
 					}
 				})
 				
@@ -559,6 +681,31 @@
 			controller() {
 				switch(this.infoType) {
 					// 鏈変俊鎭� 浣� 娌℃湁閿欒淇℃伅
+					case 0: 
+						if (this.errorInfoViewShow) {
+							this.errorInfoViewShow = false
+							this.errorInfoMode = ['fade', 'slide-bottom']
+							setTimeout(()=>{
+								this.homeViewShow = true
+								this.homeMode = ['fade', 'slide-bottom']
+							},1000)
+						} else if (this.infoViewShow) {
+							this.infoViewShow = false
+							this.infoMode = ['fade', 'slide-bottom']
+							setTimeout(()=>{
+								this.homeViewShow = true
+								this.homeMode = ['fade', 'slide-bottom']
+							},1000)
+						} else if (this.errorInfoViewShow && this.infoViewShow) {
+							this.errorInfoViewShow = false
+							this.infoViewShow = false
+							this.infoMode = ['fade', 'slide-bottom']
+							setTimeout(()=>{
+								this.homeViewShow = true
+								this.homeMode = ['fade', 'slide-bottom']
+							},1000)
+						}
+						return;
 					case 1: 
 						if (this.homeViewShow) {
 							this.homeViewShow = false
@@ -613,23 +760,7 @@
 							},1000)
 						}
 						return;
-					default :
-						if (this.errorInfoViewShow) {
-							this.errorInfoViewShow = false
-							this.errorInfoMode = ['fade', 'slide-bottom']
-							setTimeout(()=>{
-								this.homeViewShow = true
-								this.homeMode = ['fade', 'slide-bottom']
-							},1000)
-						} else if (this.infoViewShow) {
-							this.infoViewShow = false
-							this.infoMode = ['fade', 'slide-bottom']
-							setTimeout(()=>{
-								this.homeViewShow = true
-								this.homeMode = ['fade', 'slide-bottom']
-							},1000)
-						}
-						return;
+					
 				}
 				
 			},
@@ -675,6 +806,7 @@
 					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
 					}
 				})
 			},
@@ -702,7 +834,7 @@
 				this.calendar = year + "骞�" + month + "鏈�" + day + "鏃� " + hours + ":" + minutes + ":" + seconds + " " + weeks
 			},
 			getDateFormat(value) {
-				var date = new Date();// 鑾峰彇褰撳墠鏃堕棿
+				var date = new Date(this.currDate);// 鑾峰彇褰撳墠鏃堕棿
 				date.setDate(date.getDate() + value);// 璁剧疆澶╂暟 -1 澶�
 				var m = date.getMonth() + 1
 				var d = date.getDate()
@@ -769,6 +901,29 @@
 					}
 				})
 			},
+			getCrnError() {
+				let that = this
+				uni.request({
+					url: that.commonUrl + "/monitor/crn/error",
+					data: {},
+					success(result) {
+						var res = result.data
+						if (res.code === 200) {
+							let data = res.data;
+							if(data.length > 0) {
+								let tmpList = []
+								data.forEach((item) => {
+									tmpList.push(item.crnNo + "鍙峰爢鍨涙満" + item.errorName)
+								})
+								that.messages = tmpList;
+								that.crnErrorShow = true;
+							}else{
+								that.crnErrorShow = false;
+							}
+						}
+					}
+				})
+			}
 		}
 		
 	}
@@ -794,7 +949,7 @@
 		background-color: #00163E;
 		color: #fff;
 		text-align: center;
-		
+		position: relative;
 	}
 	/* 涓昏鍥� */
 	.home-view {
@@ -1006,12 +1161,15 @@
 		text-align: center;
 	}
 	.eject-input {
-		
+		margin-top: 2vh;
+		height: 25vh;
+		/* background-color: #00163E; */
+		::-webkit-scrollbar{display:none}
 	}
 	.item {
 		display: flex;
 		align-items: center;
-		margin: 2vh 0 0 0;
+		margin: 1vh 0 0 0;
 		font-size: 1.5vw;
 		color: #363636;
 	}
@@ -1071,4 +1229,20 @@
 		height: 20%;font-size: 8vh;
 		justify-content: center;
 	}
+	
+	.message-swiper {
+	    width: 100%;
+	    height: 30px;
+	    background-color: #ff0000;
+	    display: flex;
+	    align-items: center;
+	    overflow: hidden;
+		position: relative;
+	}
+	.message-item {
+	    white-space: nowrap;
+	    padding: 0 10px; 
+	    color: #ffffff;
+		text-align: center;
+	}
 </style>
\ No newline at end of file

--
Gitblit v1.9.1