From 4687664bba4ae431daa48a18a401117f3ad234cd Mon Sep 17 00:00:00 2001
From: whycq <you@example.com>
Date: 星期六, 19 十一月 2022 21:34:20 +0800
Subject: [PATCH] #

---
 Monitor-APP/pages/home/home.vue |  534 ++++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 468 insertions(+), 66 deletions(-)

diff --git a/Monitor-APP/pages/home/home.vue b/Monitor-APP/pages/home/home.vue
index f623243..4677034 100644
--- a/Monitor-APP/pages/home/home.vue
+++ b/Monitor-APP/pages/home/home.vue
@@ -1,17 +1,17 @@
 <template>
 	<view class="container">
-		<!-- 涓昏鍥� -->
-		<uni-transition :duration="duration" :mode-class="modeClass" :styles="homeView" :show="homeViewShow">
+		
+		<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"></view>
-				<view class="button-right"></view>
-				<!-- 涓讳綋 -->
-				<view class="main">
+				<view class="button-left" @click="ejected()"></view>
+				<view class="button-right" @click="ejected()"></view>
+				<!-- 涓昏鍥� -->
+				<view class="main" v-if="aaaaa">
 					<view class="mian-item">
 						<view class="mian-item-box">
 							<y-box>
@@ -105,7 +105,7 @@
 					<view class="mian-item">
 						<view class="mian-item-box">
 							<view style="width: 100%;height: 100%;">
-								<view style="height: 40%;">
+								<view style="height: 35%;">
 									<!-- 鎶樼嚎鍥� -->
 									<y-box>
 										<view class="box-item">
@@ -125,7 +125,7 @@
 													</view>
 												</view>
 											</view>
-											<view class="charts-box" v-if="!showCharts">
+											<view class="charts-box">
 												<qiun-data-charts type="line" :chartData="chartsDataLine1" :echartsH5="true" :echartsApp="true"/>
 											</view>
 										</view>
@@ -137,7 +137,7 @@
 								<view style="height: 2%;"></view>
 								
 								
-								<view style="height: 38%;">
+								<view style="height: 43%;">
 									<y-box>
 										<view class="box-item">
 											<view class="flex-row" style="width: 100%;">
@@ -155,46 +155,138 @@
 													</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;">10000</view>
+													</view>
+													<view class="flex-row sub-info" style="margin-top: 2vh;">
+														<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;">10000</view>
+													</view>
+													<view class="flex-row sub-info" style="margin-top: 2vh;">
+														<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;">10000</view>
+													</view>
+												</view>
+											</view>
 										</view>
+										
 									</y-box>
 								</view>
 								<view style="height: 2%;"></view>
 								<view style="height: 18%;">
-									<y-box></y-box>
+									<y-box>
+										<view class="flex-col" style="width: 100%;height: 100%;font-size: 4vh;justify-content: center;letter-spacing: 1vh;">
+											鍢夊杽杈归攱鏈烘鑲′唤鏈夐檺鍏徃
+										</view>
+									</y-box>
 								</view>
 							</view>
 						</view>
 					</view>
 				</view>
+				<!-- 涓讳綋 -->
+				<view class="info-main" v-if="bbbbb">
+					<view class="info-box">
+						<y-box>{{text}}</y-box>
+					</view>
+				</view>
+				<!-- 涓讳綋 -->
+				<view class="info-main"  v-if="ccccc">
+					<view class="info-box">
+						<y-box>{{text}}</y-box>
+					</view>
+				</view>
 			</view>
 		</uni-transition>
 		<!-- 鍏ㄦ澘/鎷f枡淇℃伅 -->
-		<!-- <view class="info">
+		<uni-transition :duration="duration" :mode-class="infoMode" :show="infoViewShow">
 			
-		</view> -->
+		</uni-transition>
 		<!-- 寮傚父淇℃伅 -->
-		<!-- <view class="error-info"></view> -->
+		<uni-transition :duration="duration" :mode-class="errorInfoMode" :show="errorInfoViewShow">
+			<view class="error-info-view">
+				<view class="head">
+					<text>寮傚父</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>{{text}}</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>
+				<!-- button -->
+				<view class="eject-button">
+					<view class="button-item" @click="ejectClose">鍙� 娑�</view>
+					<view class="button-item" @click="ejectConfirm">纭� 璁�</view>
+				</view>
+			</view>
+		</view>
 	</view>
 </template>
 
 <script>
 	import demodata from '@/mockdata/demodata.json';
+	import ycqdata from '@/pages/index/data.json';
 	export default {
 		data() {
 			return {
 				series: [],
 				homeViewShow: true,
-				modeClass: ['fade', 'slide-top'],
-				homeView: {
-					justifyContent: 'center',
-					alignItems: 'center',
-					width: '100vw',
-					height: '100vh',
-					borderRadius: '5px',
-					textAlign: 'center',
-					backgroundColor: '#4cd964',
-					boxShadow: '0 0 5px 1px rgba(0,0,0,0.2)'
-				},
+				infoViewShow: false,
+				errorInfoViewShow: false,
+				homeMode: [],
+				infoMode: [],
+				errorInfoMode: [],
 				baseInfo: {
 					xDistance: 1,
 					yDistance: 2,
@@ -221,7 +313,22 @@
 				chartsDataPie2: {},
 				fontSize: '',
 				height: '',
-				showCharts: false
+				showCharts: false,
+				ejectShow: false,
+				baseIP: '',
+				basePort: '',
+				baseLedId: '',
+				baseCrnId: '',
+				info: null,
+				error: null,
+				infoType: 0,
+				text: '',
+				aaaaa: true,
+				bbbbb: false,
+				ccccc: false,
+				
+				
+				
 			}
 		},
 		onShow() {
@@ -233,25 +340,138 @@
 		onLoad() {
 			this.getServerData()
 			this.getDate()
+			this.change()
 			setInterval(()=>{
 				this.getDate()
-				
+				this.getInfo()
+				this.getError()
+				this.controller()
 			},1000)
-			setInterval(()=>{
-				this.handle(['fade', 'slide-top'])
-			},4000)
+			// setInterval(()=>{
+			// 	this.controller()
+			// },5000)
 		},
 		methods: {
+			getUrl() {
+				this.commonUrl = this.baseHttp + this.baseIP + ':' +this.basePort + this.baseUrl
+			},
 			getServerData() {
 				this.chartsDataLine1=JSON.parse(JSON.stringify(demodata.Line))
+				this.chartsDataPie2=JSON.parse(JSON.stringify(demodata.PieA))
 			},
+			
+			getInfo() {
+				let that = this
+				var result = ycqdata.dataYYY
+				var	res = result.data
+				if (res.data && res.data !== "") {
+					if (this.infoType == 2 || this.infoType == 3) {
+						return;
+					}
+					this.infoType = 1
+					this.text = res
+				} else {
+					if (this.infoType == 2 || this.infoType == 3) {
+						return;
+					}
+					this.infoType = 0
+				}
+			},
+			getError() {
+				let that = this
+				var result = ycqdata.dataEEE
+				var	res = result.data
+				if (res.data && res.data !== "") {
+					if (this.infoType == 1) {
+						this.infoType = 3
+						this.text = res
+						return
+					}
+					this.infoType = 2
+					this.text = res
+				} else {
+					if (this.infoType == 1) {
+						return
+					}
+					this.infoType = 0
+				}
+			},
+			// 鎺у埗鍣�
+			controller() {
+				switch(this.infoType) {
+					case 1: 
+						this.homeViewShow = false
+						this.homeMode = ['fade', 'slide-bottom']
+						setTimeout(()=>{
+							this.homeViewShow = true
+							this.aaaaa = false
+							this.bbbbb = true
+							this.homeMode = ['fade', 'slide-bottom']
+						},1000)
+						return;
+					case 2:
+						this.homeViewShow = false
+						this.homeMode = ['fade', 'slide-bottom']
+						setTimeout(()=>{
+							this.aaaaa = false
+							this.ccccc = true
+							this.homeViewShow = false
+							this.homeMode = ['fade', 'slide-bottom']
+						},1000)
+						return;
+					case 3:
+						this.homeViewShow = false
+						this.homeMode = ['fade', 'slide-bottom']
+						setTimeout(()=>{
+							this.homeViewShow = false
+							this.homeMode = ['fade', 'slide-bottom']
+						},1000)
+						return;
+					default :
+						this.homeViewShow = false
+						this.homeMode = ['fade', 'slide-bottom']
+						setTimeout(()=>{
+							this.homeViewShow = false
+							this.homeMode = ['fade', 'slide-bottom']
+						},1000)
+						return;
+				}
+				
+			},
+			change() {
+
+			},
+			// 涓诲睆骞�
 			handle(type) {
 				this.homeViewShow = !this.homeViewShow
-				setTimeout(()=>{
-					this.showCharts = !this.showCharts
-				},1000)
-				
 				this.modeClass = type
+			},
+			// 鎷f枡
+			handle1(type) {
+				this.infoViewShow = !this.infoViewShow
+				this.modeClass = type
+			},
+			// 寮傚父
+			handle2(type) {
+				this.errorInfoViewShow = !this.errorInfoViewShow
+				this.modeClass = type
+			},
+			// 閰嶇疆
+			ejected () {
+				this.ejectShow = true
+			},
+			// 鍙栨秷閰嶇疆
+			ejectClose() {
+				this.ejectShow = false
+			},
+			// 纭閰嶇疆
+			ejectConfirm() {
+				uni.setStorageSync('BaseIp', this.baseIP);
+				uni.setStorageSync('BaseLedId', this.baseLedId);
+				uni.setStorageSync('BasePort',this.basePort);
+				uni.setStorageSync('BaseCrnId',this.baseCrnId);
+				this.getUrl()
+				this.ejectShow = false
 			},
 			// 鏃ュ巻
 			getDate() {
@@ -275,6 +495,76 @@
 				}
 				this.calendar = year + "骞�" + month + "鏈�" + day + "鏃� " + hours + ":" + minutes + ":" + seconds + " " + weeks
 			},
+			getDateFormat(value) {
+							var date = new Date();// 鑾峰彇褰撳墠鏃堕棿
+							date.setDate(date.getDate() + value);// 璁剧疆澶╂暟 -1 澶�
+							var m = date.getMonth() + 1
+							var d = date.getDate()
+							var newDate = m + '-' + d
+							return newDate
+						},
+			/*************** 鎶樼嚎鍥� *****************************************************************************************************/
+						initlineChart() {
+							let that = this
+							uni.request({
+								url: that.commonUrl + "/monitor/line/charts",
+								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
+									}
+								}
+							})
+						},
+			/*************** 楗煎浘 *****************************************************************************************************/
+						initPieChart() {
+							let that = this
+							uni.request({
+								url: that.commonUrl + "/monitor/loc/rep",
+								method:'GET',
+								success(result) {
+									var res = result.data
+									if (res.code === 200) {
+										that.chartsData.Pie.series[0].data = res.data.pie
+										that.stockCount = res.data.stockCunt
+										that.emptyCount = res.data.emptyCount
+										that.noneCount = res.data.noneCount
+										that.used = res.data.used
+										that.usedPr = res.data.usedPr
+									}
+								}
+							})
+						},
+						getOther() {
+							let that = this
+							uni.request({
+								// http://10.10.0.222:9090/jkwcs/monitor/led?ledId=186
+								url: that.commonUrl + "/monitor/other",
+								data: {
+									crnId: that.baseCrnId, 
+									ledId: 1,
+								},
+								success(result) {
+									console.log(result);
+									var res = result.data
+									if (res.code === 200) {
+										that.xDistance = res.data.xDistance
+										that.yDistance = res.data.yDistance
+										that.xDuration = res.data.xDuration
+										that.yDuration = res.data.yDuration
+									} else if (res.code === 403) {
+										
+									} else {
+										
+									}
+								}
+							})
+						},
 		}
 		
 	}
@@ -296,11 +586,9 @@
 	.container{
 		width: 100vw;
 		min-height: 100vh;
-		background-color: blue;
-		display: flex;
-		flex-direction: column;
-		align-items: center;
+		background-color: #00163E;
 		color: #fff;
+		text-align: center;
 		
 	}
 	/* 涓昏鍥� */
@@ -355,6 +643,31 @@
 		width: 13.5%;
 		height: 8.5%;
 	}
+	.img-box {
+		width: 100%;
+		/* background-color: #666666; */
+		display: flex;
+		flex-direction: row;
+		justify-content: flex-start;
+		flex-wrap: wrap;
+		font-size: 1vw;
+	}
+	.item-img {
+		width: 50%;
+		margin-top: 5%;
+		display: flex;
+		flex-direction: row;
+		/* background-color: #00ffff; */
+		justify-content: flex-start;
+		align-items: flex-start;
+	}
+	.distance {
+		
+	}
+	.item-img image {
+		height: 5vw;
+		width: 5vw;
+	}
 	.progressBar {
 		margin-top: 9%;
 		/* width: 100%; */
@@ -373,6 +686,18 @@
 	  height: 24vh;
 	  margin-left: 10%;
 	} 
+	.charts-box-ring {
+		width: 50%;
+		height: 24vh;
+		/* background-color: #00ffff; */
+	}
+	.sub-info {
+		font-size: 1.5vw;
+	}
+	.sub-info image {
+		width: 3.5vw;
+		height: 3.5vw;
+	}
 	
 	
 	
@@ -419,41 +744,118 @@
 		letter-spacing: 1px;
 		line-height: 3vh;
 	}
-	.img-box {
-		width: 100%;
-		/* background-color: #666666; */
-		display: flex;
-		flex-direction: row;
-		justify-content: flex-start;
-		flex-wrap: wrap;
-		font-size: 1vw;
-	}
-	.item-img {
-		width: 50%;
-		margin-top: 5%;
-		display: flex;
-		flex-direction: row;
-		/* background-color: #00ffff; */
-		justify-content: flex-start;
-		align-items: flex-start;
-	}
-	.distance {
-		
-	}
-	.item-img image {
-		height: 5vw;
-		width: 5vw;
-	}
+	
 	/* 鍏ㄦ澘/鎷f枡淇℃伅 */
-	.info {
+	.info-view {
 		width: 100vw;
 		min-height: 100vh;
-		background-color: #666666;
+		background-image: url(../../static/background.png);
+		background-size: 100vw 100vh;
+	}
+	.info-main {
+		width: 100vw;
+		height: 88vh;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+	}
+	.info-box {
+		width: 98%;
+		height: 98%;
 	}
 	/* 寮傚父淇℃伅 */
-	.error-info {
+	.error-info-view {
 		width: 100vw;
 		min-height: 100vh;
-		background-color: #00ffff;
+		background-image: url(../../static/background.png);
+		background-size: 100vw 100vh;
+	}
+	
+	/* 寮瑰嚭:閰嶇疆鍖哄煙 */
+	.eject-mask {
+		width: 100%;
+		height: 100%;
+		background-color: rgba(0, 0, 0, 0.5);
+		position: fixed;
+		top: 0;
+		left: 0;
+		z-index: 999;
+		display: flex;
+		align-items: center;
+		justify-content: center;	
+	}
+	.eject{
+		position: relative;
+		width: 40vw;
+		height: 40vh;
+		background-color: #fff;
+		border-radius: 2rem;
+	}
+	.eject-title {
+		width: 100%;
+		height: 10vh;
+		line-height: 10vh;
+		font-size: 2vw;
+		font-weight: 700;
+		color: 	#606266;
+		text-align: center;
+	}
+	.eject-input {
+		
+	}
+	.item {
+		display: flex;
+		align-items: center;
+		margin: 2vh 0 0 0;
+		font-size: 1.5vw;
+		color: #363636;
+	}
+	.desc {
+		display: inline-block;
+		width: 40%;
+		text-align: right;
+		color: #606266;
+		
+	}
+	.input {
+		display: flex;
+		align-items: center;
+		padding-left: 5px;
+		padding-right: 5px;
+		width: 100%;
+		height: 3vh;
+		border: 0.1vh solid #cfd4dc;
+		margin-right: 20%;
+		text-align: start;
+	}
+	.eject-input input {
+		width: 100%;
+		height: 3vh;
+		font-size: 1vw;
+		
+		
+	}
+	.eject-button {
+		display: flex;
+		align-items: center;
+		position: absolute;
+		bottom: 0;
+		height: 6vh;
+		line-height: 6vh;
+		width: 100%;
+		border-top: 1px solid #ccc;
+	}
+	.button-item {
+		width: 50%;
+		height: 100%;
+		font-size: 1.5vw;
+		font-weight: bold;
+		text-align: center;
+		color: #909399;
+	}
+	.button-item:last-child {
+		color: #67C23A;
+		
+		border-left: 1px solid #ccc;
 	}
 </style>
\ No newline at end of file

--
Gitblit v1.9.1