From edc8494de36373d8d67c69201c4eeed0b0f96f08 Mon Sep 17 00:00:00 2001
From: whycq <10027870+whycq@user.noreply.gitee.com>
Date: 星期六, 16 十二月 2023 13:10:39 +0800
Subject: [PATCH] #

---
 Monitor-APP/pages/home/home.vue |  323 ++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 241 insertions(+), 82 deletions(-)

diff --git a/Monitor-APP/pages/home/home.vue b/Monitor-APP/pages/home/home.vue
index f44947d..a283896 100644
--- a/Monitor-APP/pages/home/home.vue
+++ b/Monitor-APP/pages/home/home.vue
@@ -15,59 +15,19 @@
 						<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>
+									<text class="item-title">鎻愬崌鏈鸿繍琛屾暟鎹�</text>
+									<text class="item-subTitle">Hoist operating data</text>
+									<view style="width: 100%;height: 25vh;">
+										<qiun-data-charts type="column" :chartData="chartsDataLine2" :opts="opts" :echartsH5="true" :echartsApp="true"/>
+									</view>
 								</view>
 								<view class="box-item">
-									<text class="item-title">浠撳簱鏁版嵁</text>
-									<text class="item-subTitle">warehouse data</text>
+									<text class="item-title">绌挎杞﹁繍琛屾暟鎹�</text>
+									<text class="item-subTitle">Shuttle operation 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 style="width: 100%;height: 25vh;">
+											 <qiun-data-charts  type="ring" :chartData="chartsDataPie3" />
 										</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>
 								<view class="box-item">
@@ -90,7 +50,7 @@
 									
 									<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="flex-row" style="width: 100%;position: relative;">
 											<view class="progressBar" style="width: 80%;height: 2vw;">
 												<view class="progress" :style="'width:'+ baseInfo.usedPr + '%'"></view>
 											</view>
@@ -214,12 +174,16 @@
 							<!-- 鏂囨湰瀹瑰櫒 -->
 							<view class="text-content">
 								<!-- head -->
-								<view class="swiper-head">
-									<view style="flex: 1;">绔欏彿锛歿{infoText.staNo}}</view>
-									<view style="flex: 2;">鍟嗗搧缂栧彿</view>
+								<!-- <view class="swiper-head">
+									<view style="flex: 1;">浣滀笟鏁伴噺锛歿{infoText.barcode}}</view>
+									<view style="flex: 1;">鍓╀綑鏁伴噺</view>
+								</view> -->
+								<view class="swiper-head" v-show="swiperList.length > 0">
+									<view style="flex: 2;">鎵樼洏鐮侊細{{infoText.barcode}} <br /> 璁㈠崟鍙�</view>
+									<view style="flex: 2;">{{infoText.title2}} <br />鍟嗗搧缂栧彿</view>
 									<view style="flex: 2;">绠辩爜</view>
 									<view style="flex: 2;">鍟嗗搧鍚嶇О</view>
-									<view style="flex: 2;">瑙勬牸</view>
+									<view style="flex: 5;">瑙勬牸</view>
 									<view style="flex: 1;">浣滀笟鏁伴噺</view>
 									<view style="flex: 1;">鍓╀綑鏁伴噺</view>
 								</view>
@@ -233,11 +197,11 @@
 									display-multiple-items="15"
 									circular="true" :autoplay="true" :interval="3000" :duration="1000">
 										<swiper-item class="swiper-item" v-for="(item,i) in swiperList" :key="i" :style="item.color">
-											<view style="flex: 1;">No:{{i+1}}</view>
+											<view style="flex: 2;word-break: break-all;">{{item.orderNo ? item.orderNo : '--'}}</view>
 											<view style="flex: 2;">{{item.matNo}}</view>
 											<view style="flex: 2;">{{item.containerCode}}</view>
 											<view style="flex: 2;">{{item.maknx}}</view>
-											<view style="flex: 2;">{{item.specs}}</view>
+											<view style="flex: 5;">{{item.specs}}</view>
 											<view style="flex: 1;">{{item.count}}</view>
 											<view style="flex: 1;">{{item.total}}</view>
 										</swiper-item>
@@ -317,6 +281,15 @@
 				</view>
 			</view>
 		</view>
+		<!-- 灏忚溅寮傚父 -->
+		<view class="board">
+			<uni-transition ref="ani" custom-class="transition" :mode-class="newModeClass" :show="errorBoardShow">
+				<view class="error-board" >
+					<text v-for="item in carInfo">{{item}}</text>
+				</view>
+			</uni-transition>
+		</view>
+		
 		<view style="color: #FFF;position: fixed;bottom: 10px;left: 10px;" v-show="timeOut">
 			杩炴帴瓒呮椂: {{times}} s
 		</view>
@@ -329,6 +302,9 @@
 	export default {
 		data() {
 			return {
+				newModeClass: 'slide-top',
+				errorBoardShow: false,
+				carInfo: [],
 				series: [],
 				homeViewShow: true,
 				infoViewShow: false	,
@@ -352,6 +328,10 @@
 						"categories": [],
 						"series": []
 					},
+					"Line2": {
+						"categories": [],
+						"series": []
+					},
 					"Pie": {
 						"series": [{
 							"data": []
@@ -362,6 +342,7 @@
 				calendar: '',
 				ringOpts:{},
 				chartsDataLine1: {},
+				chartsDataLine2: {},
 				chartsDataPie2: {},
 				fontSize: '',
 				height: '',
@@ -377,7 +358,8 @@
 				infoType: 0,
 				text: '',
 				infoText: {
-					title: '',
+					title: '鑷姩浠撳簱WCS鐩戞帶骞冲彴',
+					title2: '',
 					staNo: "",
 					matnr: "",
 					maknx: "",
@@ -397,7 +379,42 @@
 				timeOut: false,
 				times: 0,
 				currDate: '',
-				textred: 'textred'
+				textred: 'textred',
+				opts: {
+					rotate: false,
+					rotateLock: false,
+					color: ["#1890FF","#91CB74","#FAC858","#EE6666","#73C0DE","#3CA272","#FC8452","#9A60B4","#ea7ccc"],
+					padding: [5,5,5,5],
+					dataLabel: true,
+					enableScroll: false,
+					legend: {
+					  show: true,
+					  position: "right",
+					  lineHeight: 25
+					},
+					title: {
+					  name: "鏀剁泭鐜�",
+					  fontSize: 15,
+					  color: "#FFF"
+					},
+					subtitle: {
+					  name: "70%",
+					  fontSize: 25,
+					  // color: "#7cb5ec"
+					},
+					extra: {
+						ring: {
+							ringWidth: 60,
+							activeOpacity: 0.5,
+							activeRadius: 10,
+							offsetAngle: 0,
+							labelWidth: 15,
+							border: true,
+							// borderWidth: 3,
+							borderColor: "#FFFFFF"
+						}
+					}
+				}
 			}
 		},
 		onShow() {
@@ -423,43 +440,101 @@
 		
 			this.getDate2()
 			setTimeout(()=>{
-				// this.getServerData()
+				this.getServerData()
+				this.getShuttle()
 				// this.initlineChart()
 				// this.initPieChart()
 				// this.getOther()
 				setTimeout(()=>{
 					this.getServerData()
-					this.initlineChart()
-					this.initPieChart()
-					this.getOther()
+					// this.initlineChart()
+					// this.initPieChart()
+					// this.getOther()
 					setTimeout(()=>{
-						this.getServerData()
-						this.initlineChart()
-						this.initPieChart()
-						this.getOther()
+						// this.getServerData()
+						// this.initlineChart()
+						// this.initPieChart()
+						// this.getOther()
 					},3000)
 				},1000)
 			},1000)
 		},
 		onLoad() {
 			setInterval(()=>{
+				// this.getServerData()
 				this.getDate2()
 				this.getUrl()
 				// this.getInfo()
 				// this.getError()
-				this.getInfo2()
-				this.getError2()
+				// this.getCarInfo()
+				// this.getCarInfoTest()
+				// this.getInfo2()
+				// this.getError2()
 				this.controller()
 			},1000)
 			
+			// setInterval(()=>{
+			// 	this.changeErrorShow()
+			// },5000)
+			
 			setInterval(()=>{
-				this.getServerData()
-				this.initlineChart()
-				this.initPieChart()
-				this.getOther()
+				// this.getServerData()
+				// this.initlineChart()
+				// this.initPieChart()
+				// this.getOther()
 			},600000)
 		},
 		methods: {
+			getShuttle() {
+				let res = ycqdata.infoData2.data
+				this.shuttleInfoModel(res)
+			},
+			shuttleInfoModel(res) {
+				if (res.code == 200 && res.data != '') {
+					let arr = []
+					for (let k of res.data.shuttle) {
+						arr.push(k.count)
+					}
+					this.chartsData.Line2.series = arr
+				} else {
+					
+				}
+			},
+			changeErrorShow() {
+				this.errorBoardShow = !this.errorBoardShow
+			},
+			getCarInfoTest() {
+				let that = this
+				var result = ycqdata.carError
+				var	res = result.data
+				that.carInfoModel(res)
+			},
+			getCarInfo() {
+				let that = this
+				uni.request({
+					url: that.commonUrl + "/monitor/device/error",
+					method:"GET",
+					success(result) {
+						var	res = result.data
+						that.carInfoModel(res)
+					}
+				})
+			},
+			carInfoModel(res) {
+				let infoList = []
+				
+				if (res.code == 200 && res.data != '') {
+					let str = ''
+					for (let k of res.data) {
+						str = `${k.deviceNo}鍙�${k.device}-${k.errorMsg}`
+						infoList.push(str)
+					}
+					this.carInfo = infoList
+					this.errorBoardShow = true
+				} else {
+					this.errorBoardShow = false
+				}
+			},
 			timeOuts() {
 				console.log(this.times);
 			},
@@ -467,8 +542,13 @@
 				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))
+				
+				this.chartsDataLine1=JSON.parse(JSON.stringify(demodata.Line))
+				this.chartsDataPie2=JSON.parse(JSON.stringify(demodata.Pie))
+				this.chartsDataLine2=JSON.parse(JSON.stringify(demodata.Line))
+				this.chartsDataPie3=JSON.parse(JSON.stringify(demodata.Pie))
 			},
 			// 鑾峰彇閿欒淇℃伅
 			getInfo2() {
@@ -537,6 +617,7 @@
 							if (that.infoType == 1) {
 								return
 							}
+							that.infoText.title = '鑷姩浠撳簱WCS鐩戞帶骞冲彴'
 							that.infoType = 0
 						}
 					}
@@ -553,30 +634,88 @@
 					that.infoType = 1
 					if (res.data[0].ioType === 101) {
 						that.infoText.title = '鍏ㄦ澘鍑哄簱'
+						that.infoText.title2 = '鍏ㄦ澘鍑哄簱'
 					} else if(res.data[0].ioType === 103) {
 						that.infoText.title = '妫�鏂欏嚭搴�'
+						that.infoText.title2 = '妫�鏂欏嚭搴�'
 					} else if(res.data[0].ioType === 107) {
 						that.infoText.title = '鐩樼偣鍑哄簱'
+						that.infoText.title2 = '鐩樼偣鍑哄簱'
 					}
 					res.data[0].matDtos
 					for(let k in res.data[0].matDtos) {
 						
-						if(res.data[0].matDtos[k].count != 0) {
+						if(res.data[0].matDtos[k].count == 0) {
 							res.data[0].matDtos[k]['color'] = 'color: #df741c'
 						}
 					}
-					console.log(that.swiperList);
 					that.infoText.staNo = res.data[0].staNo
+					that.infoText.barcode = res.data[0].barcode
 					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.infoText.title = '鑷姩浠撳簱WCS鐩戞帶骞冲彴'
 					that.infoType = 0
+				}
+			},
+			controller2() {
+				switch(this.infoType) {
+					case 1: 
+						if (this.homeViewShow) {
+							this.homeViewShow = false
+							this.homeMode = ['fade', 'slide-bottom']
+							setTimeout(()=>{
+								this.infoViewShow = true
+								this.infoMode = ['fade', 'slide-bottom']
+							},1000)
+						} else if (this.errorInfoViewShow) {
+							this.errorInfoViewShow = false
+							this.errorInfoMode = ['fade', 'slide-bottom']
+							setTimeout(()=>{
+								this.infoViewShow = true
+								this.infoMode = ['fade', 'slide-bottom']
+							},1000)
+						}
+						return;
+						// 鏈変俊鎭� 涓� 鏈夐敊璇俊鎭�
+					case 2:
+						if (this.homeViewShow) {
+							this.homeViewShow = false
+							this.homeMode = ['fade', 'slide-bottom']
+							setTimeout(()=>{
+								this.errorInfoViewShow = true
+								this.errorInfoMode = ['fade', 'slide-bottom']
+							},1000)
+						} else if (this.infoViewShow) {
+							this.infoViewShow = false
+							this.infoMode = ['fade', 'slide-bottom']
+							setTimeout(()=>{
+								this.errorInfoViewShow = true
+								this.errorInfoMode = ['fade', 'slide-bottom']
+							},1000)
+						}
+						return;
+					// 鏈変俊鎭� 涓� 鏈夐敊璇俊鎭�
+					case 3:
+						if (this.homeViewShow) {
+							this.homeViewShow = false
+							this.homeMode = ['fade', 'slide-bottom']
+							setTimeout(()=>{
+								this.errorInfoViewShow = true
+								this.errorInfoMode = ['fade', 'slide-bottom']
+							},1000)
+						} else if (this.infoViewShow) {
+							this.infoViewShow = false
+							this.infoMode = ['fade', 'slide-bottom']
+							setTimeout(()=>{
+								this.errorInfoViewShow = true
+								this.errorInfoMode = ['fade', 'slide-bottom']
+							},1000)
+						}
+						return;
+					
 				}
 			},
 			// 鎺у埗鍣�
@@ -715,7 +854,6 @@
 						that.currDate = res.year + "/" + res.month + "/" + res.day
 					},
 					fail(res) {
-						console.log(res);
 					}
 					
 				})
@@ -925,7 +1063,7 @@
 		width: 5vw;
 	}
 	.progressBar {
-		margin-top: 9%;
+		margin-top: 5%;
 		/* width: 100%; */
 		height: 20%;
 		background-color: #233751;
@@ -1132,4 +1270,25 @@
 	.textred{
 		color: red;
 	}
+	
+	.board {
+		position: absolute;
+		top: 0;
+		right: 0;
+		/* background-color: #aa00ff; */
+		/* height: 13vh; */
+		width: 100%;
+		/* box-shadow: rgba(0,0,0,.35) 0px 5px 15px; */
+	}
+	.error-board {
+		margin: .2rem;
+		height: 11vh;
+		background-color: #F56C6C;
+		box-shadow: rgba(0,0,0,.35) 0px 5px 15px;
+		border-radius: .2rem;
+		display: flex;
+		align-items: center;
+		justify-content: space-around;
+		font-size: 2rem;
+	}
 </style>
\ No newline at end of file

--
Gitblit v1.9.1