From 7b6184907d70a14b129996d0010566f39307ccb7 Mon Sep 17 00:00:00 2001
From: Junjie <540245094@qq.com>
Date: 星期三, 24 七月 2024 19:25:12 +0800
Subject: [PATCH] agv平板开发

---
 pages/project/jmAGV/home.vue |  544 +++++++++++++++++++++++++++++++++---------------------
 1 files changed, 334 insertions(+), 210 deletions(-)

diff --git a/pages/project/jmAGV/home.vue b/pages/project/jmAGV/home.vue
index 61a83ab..af0fc69 100644
--- a/pages/project/jmAGV/home.vue
+++ b/pages/project/jmAGV/home.vue
@@ -1,103 +1,206 @@
 <template>
 	<view class="container">
 		<uni-icons type="bars" size="30" color="#b1b3b8" class="select" @click="jump()"></uni-icons>
-		<!-- 宸� -->
+
 		<view class="zcard">
 			<view class="zcard-flex">
 				<view class="button-nk" v-for="item in groundSiteList" @click="click(item,'left')">{{item.name}}</view>
 			</view>
 		</view>
-		<!-- 鍙� -->
+
 		<view class="zcard">
 			<view class="zcard-flex">
-				<view class="button-nk" style="background-color: brown;" v-for="item in traySiteList" @click="click(item,'right')">{{item.name}}</view>
+				<view class="button-nk" style="background-color: brown;" v-for="item in cacheSiteList"
+					@click="click(item,'right')">{{item.name}}</view>
 			</view>
 		</view>
-		
-		
+
 		<view>
 			<uni-popup ref="revise" type="dialog">
-				<view class="popup">
-					<view  class="popup3-input-title">{{text}}</view>
-					<view class="button-nk" @click="upTray()">{{btnTitle1}}</view>
-					<view class="button-nk" @click="downTray()">{{btnTitle2}}</view>
-					<view v-show="outType" class="button-nk" @click="downTray1()">{{btnTitle3}}</view>
+				<view v-if="outType" class="popup">
+					<view class="popup3-input-title">{{text}}</view>
+					<view class="button-nk" @click="upPallet()">鐩樺ご涓婃灦</view>
+				</view>
+				<view v-else class="popup">
+					<view class="popup3-input-title">{{text}}</view>
+					<view class="button-nk" @click="downPallet()">鐩樺ご涓嬫灦</view>
 				</view>
 			</uni-popup>
 		</view>
-		
+
 		<view>
-			<uni-popup ref="numberPopup" type="dialog">
+			<uni-popup ref="downPalletPopup" type="dialog">
 				<view class="popup2">
-					<view  class="popup3-input-title">{{tipsTitle}}</view>
+					<view class="popup3-input-title">鐩樺ご涓嬫灦</view>
+					<uni-data-select v-model="groundSite" :localdata="groundEmptySiteList"></uni-data-select>
+					<view class="button-nk" @click="goDown(2)">2涓�</view>
+					<view class="button-nk" @click="goDown(4)">4涓�</view>
+				</view>
+			</uni-popup>
+		</view>
+
+		<view>
+			<uni-popup ref="upPalletPopup" type="dialog">
+				<view class="popup2">
+					<view class="popup3-input-title">鐩樺ご涓婃灦</view>
+					<view class="popup3-input-box">
+						<uni-data-select v-model="chooseCacheSite" :localdata="chooseCacheSiteList" placeholder="璇烽�夋嫨绔欑偣"></uni-data-select>
+					</view>
+					<view class="popup3-input-box">
+						<uni-data-select v-model="chooseMat" :localdata="emptyMatList" placeholder="璇烽�夋嫨鐗╂枡"></uni-data-select>
+					</view>
+					<view class="popup3-input-box">
+						<text>璁㈠崟鍙�:</text>
+						<view style="margin-left: 3rpx;">
+							<input type="text" v-model="code" />
+						</view>
+					</view>
+					<view class="popup3-input-box">
+						<text>绫虫暟:</text>
+						<view style="margin-left: 3rpx;">
+							<input type="text" v-model="meter" />
+						</view>
+					</view>
 					<view class="button-nk" @click="goUp(2)">2涓�</view>
 					<view class="button-nk" @click="goUp(4)">4涓�</view>
 				</view>
 			</uni-popup>
 		</view>
 		
-		<view>
-			<uni-popup ref="inputPopup" type="dialog">
-				<view class="popup3">
-					<view class="popup3-input-title">{{tipsTitle}}</view>
-					<view class="popup3-input-box2"  :class="item.chose" 
-						v-if="!meterShow" v-for="item in emptyMatList" @click="chose(item.matnr)">
-						<view>
-							{{item.maktx}}
-						</view>
-					</view>
-					<view class="popup3-input-box" v-if="meterShow">
-						<text>{{desc}}:</text>
-						<view style="margin-left: 3rpx;">
-							<input type="text" v-model="code"/>
-						</view>
-					</view>
-					<view class="popup3-input-box" v-if="meterShow">
-						<text>绫虫暟:</text>
-						<view style="margin-left: 3rpx;">
-							<input type="text" v-model="meter"/>
-						</view>
-					</view>
-					<view class="button-nk" @click="confirm(2)">纭畾</view>
-				</view>
-			</uni-popup>
-		</view>
 		
 	</view>
 </template>
 
 <script>
-import code from '../../../uni_modules/uview-ui/libs/config/props/code';
+	import code from '../../../uni_modules/uview-ui/libs/config/props/code';
 	export default {
 		data() {
 			return {
 				baseUrl: '',
 				token: '',
-				groundSiteList: [
-					{name: '1鍙峰湴闈㈢珯',code:'1-C1',traget: '1-A1',type: 'foolr'},
-					{name: '2鍙峰湴闈㈢珯',code:'2-C1',traget: '2-A1',type: 'foolr'},
-					{name: '3鍙峰湴闈㈢珯',code:'3-C1',traget: '3-A1',type: 'foolr'},
-					{name: '4鍙峰湴闈㈢珯',code:'4-C1',traget: '4-A1',type: 'foolr'},
-					{name: '5鍙峰湴闈㈢珯',code:'5-C1',traget: '5-A1',type: 'foolr'},
-					{name: '6鍙峰湴闈㈢珯',code:'6-C1',traget: '6-A1',type: 'foolr'},
-					{name: '7鍙峰湴闈㈢珯',code:'7-C1',traget: '7-A1',type: 'foolr'},
-					{name: '8鍙峰湴闈㈢珯',code:'8-C1',traget: '8-A1',type: 'foolr'},
-					{name: '9鍙峰湴闈㈢珯',code:'9-C1',traget: '9-A1',type: 'foolr'},
-					{name: '10鍙峰湴闈㈢珯',code:'10-C1',traget: '10-A1',type: 'foolr'}
+				groundSiteList: [{
+						name: 'A-C-K-1',
+						code: 'A-C-K-1',
+						type: 'ground-k'
+					},
+					{
+						name: 'A-C-M-1',
+						code: 'A-C-M-1',
+						type: 'ground-m'
+					},
+					{
+						name: 'A-C-K-2',
+						code: 'A-C-K-2',
+						type: 'ground-k'
+					},
+					{
+						name: 'A-C-M-2',
+						code: 'A-C-M-2',
+						type: 'ground-m'
+					},
+					{
+						name: 'A-C-K-3',
+						code: 'A-C-K-3',
+						type: 'ground-k'
+					},
+					{
+						name: 'A-C-M-3',
+						code: 'A-C-M-3',
+						type: 'ground-m'
+					},
 				],
-				traySiteList: [
-					{name: '1鍙锋墭鐩樼珯',code:'KW-1',type: 'tray'},
-					{name: '2鍙锋墭鐩樼珯',code:'KW-2',type: 'tray'},
-					{name: '3鍙锋墭鐩樼珯',code:'KW-3',type: 'tray'},
-					{name: '4鍙锋墭鐩樼珯',code:'KW-4',type: 'tray'},
-					{name: '5鍙锋墭鐩樼珯',code:'KW-5',type: 'tray'},
-					{name: '6鍙锋墭鐩樼珯',code:'KW-6',type: 'tray'},
-					{name: '7鍙锋墭鐩樼珯',code:'KW-7',type: 'tray'},
-					{name: '8鍙锋墭鐩樼珯',code:'KW-8',type: 'tray'},
-					{name: '9鍙锋墭鐩樼珯',code:'KW-9',type: 'tray'},
-					{name: '10鍙锋墭鐩樼珯',code:'KW-10',type: 'tray'}
+				cacheSiteList: [{
+						name: 'A-H-1',
+						code: 'A-H-1',
+						type: 'cache'
+					},
+					{
+						name: 'A-H-2',
+						code: 'A-H-2',
+						type: 'cache'
+					},
+					{
+						name: 'A-H-3',
+						code: 'A-H-3',
+						type: 'cache'
+					},
+					{
+						name: 'A-H-4',
+						code: 'A-H-4',
+						type: 'cache'
+					},
+					{
+						name: 'A-H-5',
+						code: 'A-H-5',
+						type: 'cache'
+					},
+					{
+						name: 'A-H-6',
+						code: 'A-H-6',
+						type: 'cache'
+					},
+					{
+						name: 'A-H-7',
+						code: 'A-H-7',
+						type: 'cache'
+					},
+					{
+						name: 'A-H-8',
+						code: 'A-H-8',
+						type: 'cache'
+					},
+					{
+						name: 'A-H-9',
+						code: 'A-H-9',
+						type: 'cache'
+					},
+					{
+						name: 'A-H-10',
+						code: 'A-H-10',
+						type: 'cache'
+					},
+					{
+						name: 'A-H-11',
+						code: 'A-H-11',
+						type: 'cache'
+					},
+					{
+						name: 'A-H-12',
+						code: 'A-H-12',
+						type: 'cache'
+					},
+					{
+						name: 'A-H-13',
+						code: 'A-H-13',
+						type: 'cache'
+					},
+					{
+						name: 'A-H-14',
+						code: 'A-H-14',
+						type: 'cache'
+					},
+					{
+						name: 'A-H-15',
+						code: 'A-H-15',
+						type: 'cache'
+					},
+					{
+						name: 'A-H-16',
+						code: 'A-H-16',
+						type: 'cache'
+					},
+					{
+						name: 'A-H-17',
+						code: 'A-H-17',
+						type: 'cache'
+					},
 				],
 				emptyMatList: [],
+				chooseMat: '',
+				groundSite: '',
+				groundEmptySiteList: [],
+				chooseCacheSite: '',
+				chooseCacheSiteList: [],
 				item: '',
 				text: '',
 				btnTitle1: '',
@@ -105,7 +208,7 @@
 				btnTitle3: '',
 				outType: '',
 				stationType: 'load',
-				type: '' ,
+				type: '',
 				originLocal: '',
 				targetLocal: '',
 				code: '',
@@ -117,8 +220,10 @@
 		},
 		onShow() {
 			let network = uni.getStorageSync('Network')
-			this.baseUrl = `http://${network[0].ip}:${network[0].port}/${network[0].address}` 
+			this.baseUrl = `http://${network[0].ip}:${network[0].port}/${network[0].address}`
 			this.token = uni.getStorageSync('token');
+			
+			this.getEmptyMatList()
 		},
 		methods: {
 			jump() {
@@ -126,153 +231,147 @@
 					url: '/pages/project/jmAGV/floorOne'
 				})
 			},
-			click(item,type) {
+			click(item, type) {
 				this.item = item
 				this.text = item.name
 				if (type == 'left') {
-					this.outType = false
-					this.btnTitle1 = '鍦伴潰绔欐斁缃墭鐩�(涓婃灦)'
-					this.btnTitle2 = '鎵樼洏绔欏彇缃湴闈�(涓嬫灦)'
-				} else {
 					this.outType = true
-					this.btnTitle1 = '鎵樼洏-浠撳簱(鍏ュ簱)'
-					this.btnTitle2 = '浠撳簱-绌烘墭鐩�(鍑哄簱)'
-					this.btnTitle3 = '浠撳簱-婊℃墭鐩�(鍑哄簱)'
+				} else {
+					this.outType = false
 				}
 				this.$refs.revise.open(type)
 			},
-			chose(matnr) {
-				for (let k of this.emptyMatList) {
-					if (k.matnr == matnr) {
-						k.chose = 'chosed'
-					} else {
-						k.chose = ''
-					}
-					this.$forceUpdate() // 寮哄埗鍒锋柊
-				}
-				this.code = matnr
-			},
-			// 鍦伴潰绔欎笂鏋� / 鎵樼洏绔欏叆搴撴寜閽�
-			upTray() {
-				if (this.item.type == 'foolr') {
-					this.type = 'load', // 涓婃灦
-					this.originLocal = this.item.code,
-					this.targetLocal = this.item.traget
-					this.tipsTitle = '涓婃灦鏁伴噺'
-					this.numberPopup()
-				} else {
-					this.type = 'in' // 鍏ュ簱
-					this.originLocal = this.item.code,
-					this.targetLocal = 'KW-J'
-					this.pakin()
-				}
-			},
-			downTray() {
-				if (this.item.type == 'foolr') {
-					this.type = 'unload', // 涓嬫灦
-					this.originLocal = this.item.traget,
-					this.targetLocal = this.item.code
-					this.tipsTitle = '涓嬫灦鏁伴噺'
-					this.numberPopup()
-				} else {
-					this.type = 'out1' // 鍑哄簱
-					this.originLocal = 'KW-C'
-					this.targetLocal = this.item.code
-					this.inputPopup()
-				}
-			},
-			downTray1() {
-				if (this.item.type == 'foolr') {
-					this.type = 'unload', // 涓嬫灦
-					this.originLocal = this.item.traget,
-					this.targetLocal = this.item.code
-				} else {
-					this.type = 'out2' // 鍑哄簱
-					this.originLocal = 'KW-C'
-					this.targetLocal = this.item.code
-					this.inputPopup()
-				}
-			},
-			numberPopup() {
-				this.$refs.numberPopup.open('center')
-			},
-			inputPopup() {
-				if (this.type == 'out1') {
-					this.tipsTitle = '绌烘墭鐩樺嚭搴�'
-					this.desc = '鐗╂枡鐮�'
-					this.meterShow = false
-					let that = this
-					uni.request({
-						url: `${that.baseUrl}/agv/getEmptyMat`,
-						header: { 'token': uni.getStorageSync('token') },
-						method: 'GET',
-						success(res) {
-							res = res.data
-							if (res.code === 200) {
-								res.data['chose'] = ''
-								that.emptyMatList = res.data
-								
-							}
+			getEmptyMatList() {
+				let that = this
+				uni.request({
+					url: `${that.baseUrl}/agv/getEmptyMat`,
+					header: { 'token': uni.getStorageSync('token') },
+					method: 'GET',
+					success(res) {
+						res = res.data
+						if (res.code === 200) {
+							let tmp = []
+							res.data.forEach((item) => {
+								tmp.push({
+									text: item.maktx,
+									value: item.matnr
+								})
+							})
+							that.emptyMatList = tmp
 						}
-					})
-				} else {
-					this.tipsTitle = '婊℃墭鐩樺嚭搴�'
-					this.desc = '璁㈠崟鍙�'
-					this.meterShow = true
-					this.$refs.inputPopup.open('center')
-				}
-				this.$refs.inputPopup.open('center')
+					}
+				})
 			},
-			// 涓� / 涓� 鏋舵暟閲�
+			upPallet() {
+				let tmp = [];
+				this.cacheSiteList.forEach((item) => {
+					tmp.push({
+						text: item.name,
+						value: item.code
+					})
+				})
+
+				this.chooseCacheSiteList = tmp;
+				this.upPalletPopup()
+			},
+			downPallet() {
+				let tmp = [];
+				this.groundSiteList.forEach((item) => {
+					if (item.type == 'ground-k') {
+						tmp.push({
+							text: item.name,
+							value: item.code
+						})
+					}
+				})
+
+				this.groundEmptySiteList = tmp;
+				this.downPalletPopup()
+			},
+			upPalletPopup() {
+				this.$refs.upPalletPopup.open('center')
+			},
+			downPalletPopup() {
+				this.$refs.downPalletPopup.open('center')
+			},
 			goUp(num) {
 				let data = {}
+				
+				if(this.chooseCacheSite == ''){
+					uni.showToast({
+						title: '璇烽�夋嫨绔欑偣',
+						icon: "none",
+						position: 'top'
+					})
+					return;
+				}
+				
+				if(this.chooseMat == ''){
+					uni.showToast({
+						title: '璇烽�夋嫨鐗╂枡',
+						icon: "none",
+						position: 'top'
+					})
+					return;
+				}
+				
+				if(this.code == ''){
+					uni.showToast({
+						title: '璇疯緭鍏ヨ鍗曞彿',
+						icon: "none",
+						position: 'top'
+					})
+					return;
+				}
+				
+				if(this.meter == ''){
+					uni.showToast({
+						title: '璇疯緭鍏ョ背鏁�',
+						icon: "none",
+						position: 'top'
+					})
+					return;
+				}
+				
 				data = {
-					originLocal: this.originLocal,
-					targetLocal: this.targetLocal,
-					type: this.type,
+					originLocal: this.item.code,
+					targetLocal: this.chooseCacheSite,
+					type: 'load',
+					anfme: num,
+					matnr: this.chooseMat,
+					orderNo: this.code,
+					meter: this.meter
+				}
+				this.webServer(data)
+				setTimeout(()=>{
+					this.$refs.upPalletPopup.close()
+					this.chooseMat = ''
+					this.code = ''
+					this.meter = ''
+					this.chooseCacheSite = ''
+				},300)
+			},
+			goDown(num) {
+				let data = {}
+				
+				if(this.groundSite == ''){
+					uni.showToast({
+						title: '璇烽�夋嫨绔欑偣',
+						icon: "none",
+						position: 'top'
+					})
+					return;
+				}
+				
+				data = {
+					originLocal: this.item.code,
+					targetLocal: this.groundSite,
+					type: 'unload',
 					anfme: num,
 				}
 				this.webServer(data)
 				setTimeout(()=>{
-					this.$refs.numberPopup.close()
-				},300)
-			},
-			pakin() {
-				let data = {}
-				data = {
-					originLocal: this.originLocal,
-					targetLocal: this.targetLocal,
-					type: this.type,
-				}
-				this.webServer(data)
-				setTimeout(()=>{
-					this.$refs.numberPopup.close()
-				},300)
-			},
-			confirm() {
-				let data = {}
-				if (this.type == 'out1') {
-					data = {
-						originLocal: this.originLocal,
-						targetLocal: this.targetLocal,
-						type: this.type,
-						matnr: this.code,
-						anfme: 4
-					}
-				} else {
-					data = {
-						originLocal: this.originLocal,
-						targetLocal: this.targetLocal,
-						type: this.type,
-						orderNo: this.code,
-						meter: this.meter
-					}
-				}
-				this.webServer(data)
-				setTimeout(()=>{
-					this.$refs.inputPopup.close()
-					this.code = ''
-					this.meter = ''
+					this.$refs.downPalletPopup.close()
 				},300)
 			},
 			// 鎵�鏈夋湇鍔�
@@ -281,17 +380,26 @@
 				uni.request({
 					url: `${_this.baseUrl}/agv/requestTask`,
 					data: data,
-					header: { 'token': uni.getStorageSync('token') },
+					header: {
+						'token': uni.getStorageSync('token')
+					},
 					method: 'POST',
 					success(res) {
 						res = res.data
 						if (res.code === 200) {
+							uni.showToast({
+								title: '鎿嶄綔鎴愬姛',
+								icon: "none",
+								position: 'top'
+							})
 							this.$refs.revise.close()
-							uni.showToast({ title: '鎿嶄綔鎴愬姛', icon: "none", position: 'top' })
 						} else {
-							uni.showToast({ title: res.msg, icon: "none", position: 'top' })
+							uni.showToast({
+								title: res.msg,
+								icon: "none",
+								position: 'top'
+							})
 						}
-						
 					}
 				})
 			}
@@ -303,35 +411,42 @@
 	.container {
 		height: 100%;
 		/* background-color: aqua; */
-		display: grid;
-		grid-template-columns: 50% 50%;
+		/* display: grid;
+		grid-template-columns: 50% 50%; */
 		width: 100%;
 
 	}
+
 	.btn-box {
 		/* margin: 1%; */
 		background-color: azure;
 	}
-	/* .zcard {
-		margin: 10px 100px;
-		background-color: #409EFF;
-	} */
+
+	.zcard {
+		display: flex;
+		flex-wrap: wrap;
+		margin-top: 20px;
+	}
+
 	.zcard-flex {
 		/* background-color: coral; */
+		/* flex-direction: column; */
 		margin-top: 20rpx;
 		width: 100%;
 		height: 100%;
 		display: flex;
 		flex-wrap: wrap;
-		/* flex-direction: column; */
 		justify-content: space-around;
 		align-items: center;
+		margin-right: 20px;
+		margin-left: 20px;
 	}
+
 	.button-nk {
-		margin: 10rpx 0rpx;
+		margin: 30rpx 50rpx;
 		/* padding: 20rpx 70rpx; */
 		/* background-color: azure; */
-		min-width: 100rpx;
+		min-width: 150rpx;
 		/* margin: 0 auto; */
 		height: 50rpx;
 		text-align: center;
@@ -344,12 +459,14 @@
 			inset -4px -4px 4px rgba(255, 255, 255, .4),
 			-4px -4px 5px rgba(0, 0, 0, .4);
 	}
+
 	.button-nk:active {
 		transform: translateY(2px) scale(0.99, 0.99);
 		box-shadow: inset 4px 4px 4px rgba(0, 0, 0, .3),
 			inset -4px -4px 8px rgba(255, 255, 255, .7),
 			-5px -5px 5px rgba(0, 0, 0, .3);
 	}
+
 	.popup {
 		background-color: #eee;
 		width: 30vw;
@@ -359,6 +476,7 @@
 		flex-direction: column;
 		justify-content: space-around;
 	}
+
 	.popup2 {
 		background-color: #eee;
 		width: 30vw;
@@ -369,6 +487,7 @@
 		justify-content: space-around;
 		border-radius: 10rpx;
 	}
+
 	.popup3 {
 		background-color: #eee;
 		max-height: 80vw;
@@ -380,19 +499,22 @@
 		border-radius: 10rpx;
 		color: #565656;
 	}
+
 	.popup3-input-title {
 		text-align: center;
 		margin: 10rpx;
 		font-size: 18px;
 		font-weight: bold;
 	}
-	.popup3-input-box  {
+
+	.popup3-input-box {
 		display: flex;
 		border: 1px solid #cecece;
 		border-radius: 5rpx;
 		padding: 2rpx 10rpx;
 		margin: 20rpx;
 	}
+
 	.popup3-input-box2 {
 		display: flex;
 		border: 1px solid #cecece;
@@ -401,10 +523,12 @@
 		margin: 10rpx;
 		background-color: #FFF;
 	}
+
 	.chosed {
 		background-color: #67C23A;
 		color: #e8e8e8;
 	}
+
 	.select {
 		position: absolute;
 		bottom: 12px;
@@ -415,4 +539,4 @@
 			inset -2px -2px 2px rgba(255, 255, 255, .7),
 			-2px -2px 2px rgba(0, 0, 0, .4);
 	}
-</style>
+</style>
\ No newline at end of file

--
Gitblit v1.9.1