From 7dfb9ee5dac9d661773947d3665232f0bf37617a Mon Sep 17 00:00:00 2001
From: zwl <1051256694@qq.com>
Date: 星期一, 22 九月 2025 09:17:36 +0800
Subject: [PATCH] 新增解绑

---
 pages/AGV/AGVStart.vue |  142 +++++++++++++++++++++++++++++++++--------------
 1 files changed, 100 insertions(+), 42 deletions(-)

diff --git a/pages/AGV/AGVStart.vue b/pages/AGV/AGVStart.vue
index 1c9eae7..d9202b1 100644
--- a/pages/AGV/AGVStart.vue
+++ b/pages/AGV/AGVStart.vue
@@ -1,32 +1,22 @@
 <template>
 	<view>
-		<view class="code">
-			<!-- <view class="item">
-				<view class="code-decs">鎵樼洏鐮�:</view>
-				<input type="text" placeholder=" 鎵爜 / 杈撳叆" v-model="barcode" :focus="barcodeFocus"
-					@input="barcodeInput()">
-			</view> -->
-			<!-- <view class="item">
-				<view class="code-decs">鏆傚瓨浣�:</view>
-				<input type="text" placeholder=" 鎵爜 / 杈撳叆" v-model="stationCode" :focus="matFocus" @input="stationCodeInput()">
-				<view class="item-right">
-					<button></button> -->
-					<!-- <text style="text-align: right;color: #409EFF;" @click="selectMat()">鎻愬彇+</text> -->
-					<!-- <uni-icons type="right" color="#c1c1c1"></uni-icons> -->
-				<!-- </view>
-			</view> -->
+		<view class="code">			
 			<view class="item">
-				<view class="code-decs">妤煎彿:</view>
-				<uni-combox :candidates="floorList" placeholder="璇烽�夋嫨妤煎彿" v-model="floor" @input="getFloor"></uni-combox>
+				<view class="code-decs">婧愮珯鐐�:</view>
+				<input type="text" placeholder=" 鎵爜 / 杈撳叆" v-model="stationCode" :focus="stationCodeFocus"
+				@input="stationCodeInput()"	>
+			</view>
+			<view class="item">
+				<view class="code-decs">鐩爣绔�:</view>
+				<uni-combox :candidates="staList" placeholder="璇烽�夋嫨绔欑偣"  v-model="sta"></uni-combox>
 			</view>
 		</view>
+		
 		<view class="mat-list-title">
-			<view style="width: 200rpx;"></view>
-			<view style="-webkit-flex: 1;flex: 1;">鍟嗗搧鍒楄〃</view>
-			<view style="width: 200rpx;"><button size="mini" type="primary" @click="getChecked">鎻愬彇</button></view>
+			<view style="-webkit-flex: 1;flex: 1;"></view>
 		</view>
 		<scroll-view>
-			<view class="list" v-for="(item,i) in dataList" :key="i">
+			<view class="list" v-for="(item,i) in dataList" :key="i" :class="'bg-'+item.color">
 				<view class="aside">
 					<checkbox :value="item.matnr" :checked="item.checked" @click="set(i)"/>
 				</view>
@@ -118,6 +108,7 @@
 				token: '',
 				barcode: '',
 				stationCode: '',
+				stationCodeFocus: true,
 				dataList: [],
 				count: 0,
 				rowNum: '',
@@ -135,6 +126,9 @@
 				removeNum: 0,
 				floorList: [1,3],
 				floor: "",
+				devNo: [],
+				staList:[],
+				sta:'',	
 			}
 		},
 		onLoad() {
@@ -144,6 +138,59 @@
 			this.token = uni.getStorageSync('token');
 		},
 		methods: {
+			stationCodeInput() {
+				let that = this;
+				that.staList = []
+				uni.request({
+					url: that.baseUrl + '/mobile/AGVSite?locNo='+that.stationCode,
+					
+					header: {
+						'token': uni.getStorageSync('token')
+					},					
+					success(res) {
+						res = res.data
+						if (res.code === 200) {
+							let list = []
+							Object.entries(res.data).forEach((value, key) => {								
+							  list.push(value[1])
+							});
+							that.staList = list
+						}else{
+							that.messageText = res.msg
+							that.messageToggle('error')
+						}
+					}
+				});
+			},
+			pushDevNo() {
+				var devNo = {"devNo":this.stationCode}
+				if (this.dataList.length == 0) {
+					this.dataList.push(devNo)
+					return
+				}
+				var flag = false
+				for(var i = 0; i < this.dataList.length; i++ ) {
+					if (this.dataList[i].devNo == devNo.devNo) {
+						this.messageText = "绔欑偣閲嶅"
+						this.messageToggle('warn')
+						return
+					} else {
+						flag = true
+					}
+				}
+				if(flag) {
+					this.dataList.push(devNo)
+				}
+				
+			},
+			stationCodeFocuss() {
+				let that = this;
+				this.stationCode = ''
+				that.stationCodeFocus = false;
+				setTimeout(() => {
+					that.stationCodeFocus = true;
+				}, 100);
+			},
 			getChecked() {
 				var checkedList = []
 				for(var i = 0; i < this.dataList.length; i++) {
@@ -160,6 +207,9 @@
 			},
 			getFloor() {
 				let that = this
+				if (this.floor == '') {
+					return
+				}
 				uni.request({
 					url: that.baseUrl + '/agvMobile/getBasDevp/auth',
 					data: {
@@ -170,18 +220,19 @@
 					},
 					method: 'POST',
 					success(res) {
-						console.log(res);
 						res = res.data
-						that.dataList = res.data
+						for(var i = 0; i < res.data.length; i++) {
+							if (res.data[i].locSts === 'F') {
+								// res.data[i]["color"] = "red"
+								that.dataList.push(res.data[i])
+							}
+						}
 					}
 				});
 			},
 			messageToggle(type) {
 				this.msgType1 = type
 				this.$refs.message.open()
-			},
-			stationCodeInput() {
-				this.dataList.push(this.stationCode)
 			},
 			// barcode input 浜嬩欢
 			barcodeInput() {
@@ -381,15 +432,17 @@
 			combClose() {
 				this.$refs.combConfirm.close()
 			},
-			comb() {
-				uni.vibrateShort();
+			comb() {				
 				let that = this;
+				if (that.stationCode === '') {
+					this.messageText = "璇锋壂鎻忔殏瀛樹綅鏉$爜"
+					this.messageToggle('error')
+					return;
+				}
+				let newSta =  that.sta.split("-")
+				
 				uni.request({
-					url: that.baseUrl + '/agvMobile/pakin/auth',
-					data: JSON.stringify({
-						devNo: that.devNo
-					}),
-					method: 'POST',
+					url: that.baseUrl + '/mobile/AGVMove?sourceStaNo='+that.stationCode+'&staNo='+newSta[0],					
 					header: {
 						'token': uni.getStorageSync('token')
 					},
@@ -397,11 +450,8 @@
 						var res = result.data
 						if (res.code === 200) {
 							that.resst();
-							that.messageText = "鍚姩鎴愬姛"
+							that.messageText = "绉诲姩鎴愬姛"
 							that.messageToggle('success')
-							// const innerAudioContext = uni.createInnerAudioContext();
-							// innerAudioContext.src = '/static/music/pakinOk.mp3';
-							// innerAudioContext.play()
 						} else if (res.code == 403) {
 							that.messageText = res.msg
 							that.messageToggle('error')
@@ -437,8 +487,8 @@
 			},
 			// 娓呯┖
 			resst() {
-				this.dataList = []
-				this.barcode = ''
+				this.staList = []
+				this.sta = ''
 				this.stationCode = ''
 				this.floor = ''
 				this.barcodeFocuss()
@@ -450,8 +500,16 @@
 <style>
 	@import url('../../static/css/wms.css/wms.css');
 
+	.bg-red {
+		background-color: #e54d42;
+		color: #ffffff;
+	}
+	.bg-white {
+		background-color: #ffffff;
+		color: #666666;
+	}
 	.list:first-child {
-		margin-top: 260rpx;
+		margin-top: 360rpx;
 	}
 	.aside {
 		width: 100rpx;
@@ -500,11 +558,11 @@
 	.mat-list-title {
 		display: flex;
 		align-items: center;
-		height: 80rpx;
+		height: 30rpx;
 		width: 100%;
 		background-color: white;
 		position: fixed;
-		margin-top: 100rpx;
+		margin-top: 200rpx;
 		z-index: 9;
 		/* border-top: 1px solid #DCDFE6; */
 		text-align: center;

--
Gitblit v1.9.1