From 35253ae67188c21817fec10891fac45141e72fd8 Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期五, 23 一月 2026 14:15:09 +0800
Subject: [PATCH] #

---
 pages/listing/itemSelect.vue               |   31 
 pages/listing/matnrPalletising.vue         | 1316 ++++++++++++++++++++++++++++++--------------------------
 pages/outbound/orderOut/orderList.vue      |    1 
 pages/outbound/orderOut/order_out_type.vue |    4 
 4 files changed, 732 insertions(+), 620 deletions(-)

diff --git a/pages/listing/itemSelect.vue b/pages/listing/itemSelect.vue
index e892f1a..892673d 100644
--- a/pages/listing/itemSelect.vue
+++ b/pages/listing/itemSelect.vue
@@ -27,40 +27,41 @@
 						</view>
 						<view class="cu-item">
 							<view class="content">
+								<text class="text-black">鐗╂枡鍚嶇О:</text>
+								<text class="text-grey">{{ item.maktx }}</text>
+							</view>
+						</view>
+						<view class="cu-item">
+							<view class="content">
 								<text class="text-black">鍗曞彿:</text>
 							</view>
 							<view class="action">
 								<text class="text-grey ">{{item.asnCode}}</text>
 							</view>
 						</view>
-						
 						<view class="cu-item">
 							<view class="content">
-								<text class="text-black">渚涘簲鍟嗘壒娆�:</text>
+								<text class="text-black">璺熻釜鍙�:</text>
+							</view>
+							<view class="action">
+								<text class="text-grey ">{{item.platWorkCode}}</text>
+							</view>
+						</view>
+						<view class="cu-item">
+							<view class="content">
+								<text class="text-black">鎵规:</text>
 							</view>
 							<view class="action">
 								<text class="text-grey ">{{item.splrBatch}}</text>
 							</view>
 						</view>
-						<!-- <view class="cu-item">
-							<view class="content">
-								<text class="text-black">璐ㄦ鐘舵��:</text>
-							</view>
-							<view class="action">
-								<text class="text-grey ">{{item.isptResult$}}</text>
-							</view>
-						</view> -->
 						<view class="cu-item">
 							<view class="content">
-								<text class="text-black">搴撳瓨鍗曚綅: <text class="text-grey ">{{item.stockUnit}}</text></text>
+								<text class="text-black">鍗曚綅: <text class="text-grey ">{{item.stockUnit}}</text></text>
 							</view>
 							<view class="content">
 								<text class="text-black">鏀惰揣鏁伴噺: <text class="text-grey ">{{item.anfme}}</text></text>
 							</view>
-							<!-- <view class="content">
-								<text class="text-black">宸蹭笂鏋舵暟閲�: <text
-										class="text-grey ">{{item.qty}}</text></text>
-							</view> -->
 						</view>
 						<view class="cu-item">
 							<view class="content">
diff --git a/pages/listing/matnrPalletising.vue b/pages/listing/matnrPalletising.vue
index 590a77a..b3db482 100644
--- a/pages/listing/matnrPalletising.vue
+++ b/pages/listing/matnrPalletising.vue
@@ -1,54 +1,82 @@
 <template>
 	<view class="has-foot">
 		<view>
-		
-		<form>
-			<view class="cu-form-group margin-top">
-				<view class="title">璁㈠崟鍙�</view>
-				<input placeholder="璇疯緭鍏ヨ鍗曞彿" v-model="asnCode"></input>
-				<!-- <text class='cuIcon-search text-blue' @click="search"></text> -->
-			</view>
-			<view class="cu-form-group">
-				<view class="title">瀹瑰櫒鍙�</view>
-				<input placeholder="璇锋壂鎻忓鍣ㄧ紪鐮�" v-model="container" @input="getList" focus></input>
-				<!-- <text class='cuIcon-search text-blue' @click="getList"></text> -->
-			</view>			
-			<view class="cu-form-group">
-				<view class="title">鐗╂枡鍙�</view>
-				<input placeholder="璇锋壂鎻忕墿鏂欑紪鐮�" v-model="matnrCode"></input>
-				<text class='cuIcon-search text-blue' @click="search"></text>
-			</view>
-		</form>
+			<form>
+				<view class="cu-form-group margin-top">
+					<view class="title">璁㈠崟鍙�</view>
+					<input
+						placeholder="璇疯緭鍏ヨ鍗曞彿"
+						v-model="asnCode"
+					/>
+					<!-- <text class='cuIcon-search text-blue' @click="search"></text> -->
+				</view>
+				<view class="cu-form-group">
+					<view class="title">瀹瑰櫒鍙�</view>
+					<input
+						placeholder="璇锋壂鎻忓鍣ㄧ紪鐮�"
+						v-model="container"
+						@input="getList"
+						focus
+					/>
+					<!-- <text class='cuIcon-search text-blue' @click="getList"></text> -->
+				</view>
+				<view class="cu-form-group">
+					<view class="title">鐗╂枡鍙�</view>
+					<input
+						placeholder="璇锋壂鎻忕墿鏂欑紪鐮�"
+						v-model="matnrCode"
+					/>
+					<text
+						class="cuIcon-search text-blue"
+						@click="search"
+					></text>
+				</view>
+			</form>
 
-		<view class="flex solid-bottom padding-sm justify-between">
-			<view class="text-blue">鐗╂枡绉嶇被:{{list.length}}</view>
-			<view class="text-blue">缁勬墭鎬绘暟:{{allCount}}</view>
-		</view>
-		
+			<view class="flex solid-bottom padding-sm justify-between">
+				<view class="text-blue">鐗╂枡绉嶇被:{{ list.length }}</view>
+				<view class="text-blue">缁勬墭鎬绘暟:{{ allCount }}</view>
+			</view>
 		</view>
 
-		<view class="padding-lr margin-top-sm" style="padding-bottom: 120upx;">
-			<block v-for="(item, index) in list" :key="index">
-				<view class="cu-list det menu sm-border margin-bottom-sm " :class="[item.trackCode===barcode&&'act']"
-					:ref="item.trackCode+'ref'">
-					<view class="cu-bar bg-white solid-bottom ">
+		<view
+			class="padding-lr margin-top-sm"
+			style="padding-bottom: 120upx"
+		>
+			<block
+				v-for="(item, index) in list"
+				:key="index"
+			>
+				<view
+					class="cu-list det menu sm-border margin-bottom-sm"
+					:class="[item.trackCode === barcode && 'act']"
+					:ref="item.trackCode + 'ref'"
+				>
+					<view class="cu-bar bg-white solid-bottom">
 						<view class="action">
 							<view class="index">
-								{{index+1}}
+								{{ index + 1 }}
 							</view>
 							<view class="text-blue">
 								缂栫爜:
-								{{`${item.matnrCode}`}}
+								{{ `${item.matnrCode}` }}
 							</view>
 						</view>
-						<view class="action" v-if="!isconfirm">
-							<text @click="remove(index)" class="cuIcon-close text-red" style="font-size: 24px;"></text>
+						<view
+							class="action"
+							v-if="!isconfirm"
+						>
+							<text
+								@click="remove(index)"
+								class="cuIcon-close text-red"
+								style="font-size: 24px"
+							></text>
 						</view>
 					</view>
 					<view class="cu-item">
 						<view class="content">
-							<text class="text-black">鐗╂枡缂栫爜:</text>
-							<text class="text-grey ">{{item.maktx}}</text>
+							<text class="text-black">鐗╂枡鍚嶇О:</text>
+							<text class="text-grey">{{ item.maktx }}</text>
 						</view>
 					</view>
 					<view class="cu-item">
@@ -56,37 +84,39 @@
 							<text class="text-black">鍗曞彿:</text>
 						</view>
 						<view class="action">
-							<text class="text-grey ">{{item.asnCode}}</text>
-						</view>
-					</view>					
-					<view class="cu-item">
-						<view class="content">
-							<text class="text-black">渚涘簲鍟嗘壒娆�:</text>
-						</view>
-						<view class="action">
-							<text class="text-grey ">{{item.splrBatch}}</text>
+							<text class="text-grey">{{ item.asnCode }}</text>
 						</view>
 					</view>
-					<!-- <view class="cu-item">						
-						<view class="content">
-							<text class="text-black">璐ㄦ缁撴灉: <text class="text-grey ">{{item.inspect}}</text></text>
-						</view>
-					</view> -->
-					<!-- <view class="cu-item">
-						<view class="content">
-							<text class="text-black">骞冲彴琛屽彿: <text class="text-grey ">{{item.platformId}}</text></text>
-						</view>
-						<view class="content">
-							<text class="text-black">璐ㄦ缁撴灉: <text class="text-grey ">{{item.inspect}}</text></text>
-						</view>
-					</view> -->
-
 					<view class="cu-item">
 						<view class="content">
-							<text class="text-black">搴撳瓨鍗曚綅: <text class="text-grey ">{{item.stockUnit}}</text></text>
+							<text class="text-black">璺熻釜鍙�:</text>
+						</view>
+						<view class="action">
+							<text class="text-grey">{{ item.platWorkCode }}</text>
+						</view>
+					</view>
+					<view class="cu-item">
+						<view class="content">
+							<text class="text-black">鎵规:</text>
+						</view>
+						<view class="action">
+							<text class="text-grey">{{ item.splrBatch }}</text>
+						</view>
+					</view>
+					<view class="cu-item">
+						<view class="content">
+							<text class="text-black">
+								鍗曚綅:
+								<text class="text-grey">
+									{{ item.stockUnit }}
+								</text>
+							</text>
 						</view>
 						<view class="content">
-							<text class="text-black">鏀惰揣鏁伴噺: <text class="text-grey ">{{item.anfme}}</text></text>
+							<text class="text-black">
+								鏀惰揣鏁伴噺:
+								<text class="text-grey">{{ item.anfme }}</text>
+							</text>
 						</view>
 						<!-- <view class="content">
 							<text class="text-black">宸蹭笂鏋舵暟閲�: <text
@@ -95,19 +125,33 @@
 					</view>
 					<view class="cu-item">
 						<view class="content">
-							<text class="text-black">鍙粍鐩樻暟閲�: <text
-									class="text-grey ">{{item.ableQty}}</text></text>
+							<text class="text-black">
+								鍙粍鐩樻暟閲�:
+								<text class="text-grey">
+									{{ item.ableQty }}
+								</text>
+							</text>
 						</view>
-						
 					</view>
-					<view class="cu-item">						
+					<view class="cu-item">
 						<view class="content">
 							<view class="cu-form-group padding-lr-0">
-								<view class="title text-blue"><text
-										class="text-red text-xl vertical-middle">*</text>缁勭洏鏁伴噺:
+								<view class="title text-blue">
+									<text
+										class="text-red text-xl vertical-middle"
+									>
+										*
+									</text>
+									缁勭洏鏁伴噺:
 								</view>
-								<uni-number-box style="width: 70%;" :min="0" :max="item.ableQty" :decimal="2" :step="0.01" v-model="item.receiptQty"
-									></uni-number-box>
+								<uni-number-box
+									style="width: 70%"
+									:min="0"
+									:max="item.ableQty"
+									:decimal="2"
+									:step="0.01"
+									v-model="item.receiptQty"
+								></uni-number-box>
 							</view>
 						</view>
 					</view>
@@ -115,57 +159,138 @@
 			</block>
 		</view>
 		<view class="cu-bar btn-group foot">
-			<button v-if="hasButtonPermission('reset')" class="cu-btn text-blue line-blue shadow" @click="clear">娓呯┖</button>
-			<button v-if="hasButtonPermission('submit')" class="cu-btn bg-blue shadow-blur" :disabled="repeatClick" @click="confirm">缁勬墭</button>
-			<button v-if="hasButtonPermission('submitNoJudge')" class="cu-btn bg-blue shadow-blur" :disabled="repeatClick" @click="confirm2">缁勬墭</button>
+			<button
+				v-if="hasButtonPermission('reset')"
+				class="cu-btn text-blue line-blue shadow"
+				@click="clear"
+			>
+				娓呯┖
+			</button>
+			<button
+				v-if="hasButtonPermission('submit')"
+				class="cu-btn bg-blue shadow-blur"
+				:disabled="repeatClick"
+				@click="confirm"
+			>
+				缁勬墭
+			</button>
+			<button
+				v-if="hasButtonPermission('submitNoJudge')"
+				class="cu-btn bg-blue shadow-blur"
+				:disabled="repeatClick"
+				@click="confirm2"
+			>
+				缁勬墭
+			</button>
 		</view>
-		
+
 		<!-- AGV鍛煎彨纭寮圭獥 -->
-		<view class="modal-mask" v-if="showAgvModal" @click="closeAgvModal">
-			<view class="modal-container" @click.stop>
+		<view
+			class="modal-mask"
+			v-if="showAgvModal"
+			@click="closeAgvModal"
+		>
+			<view
+				class="modal-container"
+				@click.stop
+			>
 				<view class="modal-header">
-					<text class="cuIcon-deliver" style="font-size: 48rpx; color: #0081ff;"></text>
+					<text
+						class="cuIcon-deliver"
+						style="font-size: 48rpx; color: #0081ff"
+					></text>
 					<text class="modal-title">AGV鍛煎彨纭</text>
 				</view>
 				<view class="modal-body">
-					<text class="modal-message">鏄惁闇�瑕佸懠鍙獳GV杩涜鎵樼洏鎼繍锛�</text>
+					<text class="modal-message">
+						鏄惁闇�瑕佸懠鍙獳GV杩涜鎵樼洏鎼繍锛�
+					</text>
 				</view>
 				<view class="modal-footer">
-					<button class="modal-btn modal-btn-cancel" @click="handleAgvNo">涓嶉渶瑕�</button>
-					<button class="modal-btn modal-btn-confirm" @click="handleAgvYes">闇�瑕佸懠鍙�</button>
+					<button
+						class="modal-btn modal-btn-cancel"
+						@click="handleAgvNo"
+					>
+						涓嶉渶瑕�
+					</button>
+					<button
+						class="modal-btn modal-btn-confirm"
+						@click="handleAgvYes"
+					>
+						闇�瑕佸懠鍙�
+					</button>
 				</view>
 			</view>
 		</view>
-		
+
 		<!-- AGV绔欑偣杈撳叆寮圭獥 -->
-		<view class="modal-mask" v-if="showAgvInputModal" @click="closeAgvInputModal">
-			<view class="modal-container" @click.stop>
+		<view
+			class="modal-mask"
+			v-if="showAgvInputModal"
+			@click="closeAgvInputModal"
+		>
+			<view
+				class="modal-container"
+				@click.stop
+			>
 				<view class="modal-header">
-					<text class="cuIcon-locationfill" style="font-size: 48rpx; color: #0081ff;"></text>
+					<text
+						class="cuIcon-locationfill"
+						style="font-size: 48rpx; color: #0081ff"
+					></text>
 					<text class="modal-title">杈撳叆AGV绔欑偣</text>
 				</view>
 				<view class="modal-body">
 					<view class="form-item">
 						<text class="form-label">AGV绔欑偣</text>
 						<view class="input-wrapper">
-							<input class="agv-input" type="text" v-model="agvStationInput" placeholder="璇疯緭鍏GV绔欑偣缂栧彿" @input="checkAgvStation()"/>
+							<input
+								class="agv-input"
+								type="text"
+								v-model="agvStationInput"
+								placeholder="璇疯緭鍏GV绔欑偣缂栧彿"
+								@input="checkAgvStation()"
+							/>
 						</view>
 					</view>
 					<view class="form-item">
 						<text class="form-label">鐩爣搴撳尯</text>
 						<view class="input-wrapper picker-wrapper">
-							<picker class="picker" mode="selector" :range="rangeText" @change="pickerChange">
+							<picker
+								class="picker"
+								mode="selector"
+								:range="rangeText"
+								@change="pickerChange"
+							>
 								<view class="picker-view">
-									<text>{{ whAreaId ? selectedText : '璇烽�夋嫨搴撳尯' }}</text>
-									<text class="cuIcon-right picker-arrow"></text>
+									<text>
+										{{
+											whAreaId
+												? selectedText
+												: '璇烽�夋嫨搴撳尯'
+										}}
+									</text>
+									<text
+										class="cuIcon-right picker-arrow"
+									></text>
 								</view>
 							</picker>
 						</view>
 					</view>
 				</view>
 				<view class="modal-footer">
-					<button class="modal-btn modal-btn-cancel" @click="handleAgvNo">涓嶉渶瑕�</button>
-					<button class="modal-btn modal-btn-confirm" @click="confirmAgvStation">纭畾</button>
+					<button
+						class="modal-btn modal-btn-cancel"
+						@click="handleAgvNo"
+					>
+						涓嶉渶瑕�
+					</button>
+					<button
+						class="modal-btn modal-btn-confirm"
+						@click="confirmAgvStation"
+					>
+						纭畾
+					</button>
 				</view>
 			</view>
 		</view>
@@ -173,540 +298,523 @@
 </template>
 
 <script>
-	import {
-		request
-	} from '../../common/request.js'
-	import {
-		mapState,
-		mapMutations,
-		mapActions,
-		mapGetters
-	} from 'vuex';
-	export default {
-		data() {
-			return {
-				whAreaId:'',
-				barcode: '',
-				container: '',
-				megreQty: '',
-				list: [],
-				range: [],
-				asnCode: '',
-				repeatClick: false,
-				isconfirm: false,				
-				matnrCode:'',
-				max: 99999999,
-				buttonPermissions: [], // 鎸夐挳鏉冮檺鍒楄〃
-				showAgvModal: false, // AGV纭寮圭獥
-				showAgvInputModal: false, // AGV绔欑偣杈撳叆寮圭獥
-				agvStationInput: '' ,// AGV绔欑偣杈撳叆鍊�
-				agvStationName: ''
-			}
+import { request } from '../../common/request.js'
+import { mapState, mapMutations, mapActions, mapGetters } from 'vuex'
+export default {
+	data() {
+		return {
+			whAreaId: '',
+			barcode: '',
+			container: '',
+			megreQty: '',
+			list: [],
+			range: [],
+			asnCode: '',
+			repeatClick: false,
+			isconfirm: false,
+			matnrCode: '',
+			max: 99999999,
+			buttonPermissions: [], // 鎸夐挳鏉冮檺鍒楄〃
+			showAgvModal: false, // AGV纭寮圭獥
+			showAgvInputModal: false, // AGV绔欑偣杈撳叆寮圭獥
+			agvStationInput: '', // AGV绔欑偣杈撳叆鍊�
+			agvStationName: ''
+		}
+	},
+	computed: {
+		...mapState('user', ['dynamicFields']),
+		allCount() {
+			return this.list.reduce((acc, row) => +row.receiptQty + acc, 0) || 0
 		},
-		computed: {
-			...mapState('user', ['dynamicFields']),
-			allCount() {
-				return this.list.reduce((acc, row) => +row.receiptQty + acc, 0) || 0
-			},
-			rangeText() {
-				return this.range.map(item => item.text)
-			},
-			selectedText() {
-				const found = this.range.find(item => item.value === this.whAreaId)
-				return found ? found.text : '璇烽�夋嫨搴撳尯'
-			}
+		rangeText() {
+			return this.range.map((item) => item.text)
 		},
-		mounted() {
-			// this.getRece()
-			// 鑾峰彇鎸夐挳鏉冮檺
-			this.buttonPermissions = uni.getStorageSync('buttonPermissions') || [];
-			console.log('褰撳墠椤甸潰鎸夐挳鏉冮檺:', this.buttonPermissions);
-		},
-		methods: {
-			async checkAgvStation(){
-				const that = this;
-				if(this.agvStationInput === '' || this.agvStationInput === null){
-					uni.showToast({
-						title: "瀹瑰櫒鐮佷负绌�",
-						icon: "none",
-						position: 'top'
-					})
-					return ;
-				}
-				const {
-					code,
-					data,
-					msg
-				} = await request('/check/agvStation', {
-					transferStationNo: this.agvStationInput
-				})
-				if (code === 200) {
-					this.agvStationName = data.stationName
-				} else {
-					uni.showToast({
-						title: msg,
-						icon: "none",
-						position: 'top'
-					})
-					setTimeout(function() {
-						that.agvStationName = ''
-						that.agvStationInput = ''
-					}, 200);
-				}
-			},
-			pickerChange(e) {
-				const index = e.detail.value
-				this.whAreaId = this.range[index].value
-				uni.setStorageSync('whAreaId', this.whAreaId)
-			},
-			// 妫�鏌ユ寜閽潈闄�
-			hasButtonPermission(route) {
-				return this.buttonPermissions.includes(route);
-			},
-			async search() {
-				const find = this.list.find(el => el.trackCode === this.barcode);
-				find ? this.scrollTo() : this.getDet();
-
-			},
-			getDet() {
-				let that = this;
-				uni.navigateTo({
-					url: "../listing/itemSelect",
-					success: function(res) {
-						// 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹�   鍚戝彟澶栦竴涓〉闈紶閫掑�肩殑
-						res.eventChannel.emit('data', {
-							matnrCode: that.matnrCode,
-							asnCode: that.asnCode
-						})
-					},
-					events: {
-						// 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹�  鍙﹀涓�涓〉闈紶杩囨潵鐨�
-						backData: function(data) {									
-							that.showBackData(data.data)
-						},
-					},
-				
-				
-				});
-			},
-
-			async getList() {
-				if(this.container === '' || this.container === null){
-					uni.showToast({
-						title: "瀹瑰櫒鐮佷负绌�",
-						icon: "none",
-						position: 'top'
-					})
-					return ;
-				}
-				const {
-					code,
-					data,
-					msg
-				} = await request('/asnOrderItem/container', {
-					barcode: this.container
-				})
-				if (code === 200) {
-					this.range = data.map(item => ({
-						value: item.id,
-						text:  item.name
-					}));
-					
-					this.whAreaId = this.range[0].value					
-				} else {
-					uni.showToast({
-						title: msg,
-						icon: "none",
-						position: 'top'
-					})
-				}
-			},
-			showBackData(data){				
-				let status ;
-				data.map(item => {					
-					this.list.push(item)
-				})	
-				let oldLength = this.list.length
-				this.list = this.list.filter((item, index, self) =>
-					self.findIndex(i => (
-						i.id === item.id // 鏍规嵁id鍘婚噸
-					)) === index && item.isptResult === self[0].isptResult
-				);
-				let newLength = this.list.length
-				
-				if(oldLength > newLength){	
-					this.showMsg("鏂版槑缁嗚杩囨护锛岃妫�鏌ョ姸鎬�")
-					
-				}
-								
-			},
-			showMsg(msg){				
-				setTimeout(function() {
-				 uni.showToast({
-				 	icon: "none",
-				 	position: 'top',
-				 	title: msg,
-				 	duration:2000,				 	
-				 })
-				}, 200);
-				
-			},
-			scrollTo() {
-				const ref = this.$refs[`${this.barcode}ref`][0];
-				uni.pageScrollTo({
-					scrollTop: ref.$el.offsetTop,
-					duration: 300
-				})
-			},
-			remove(index) {
-				this.list.splice(index, 1);
-			},
-			clear() {
-				this.list = []
-				this.barcode = ''
-			},
-			next() {
-				if (this.list.length) {
-					this.isconfirm = true
-				} else {
-					uni.showToast({
-						icon: "none",
-						title: '鏈�夌墿鏂欐爣绛�'
-					})
-				}
-			},
-			prev() {
-				this.isconfirm = false
-			},
-			confirm() {
-				if(this.container === '' || this.container === null){
-					uni.showToast({
-						title: "瀹瑰櫒鐮佷负绌�",
-						icon: "none",
-						position: 'top'
-					})
-					return ;
-				}
-				if(this.list.length ===0 || this.list === null){
-					uni.showToast({
-						title: "鏈坊鍔犳槑缁�",
-						icon: "none",
-						position: 'top'
-					})
-					return ;
-				}
-				// 鏄剧ずAGV纭寮圭獥
-				this.showAgvInputModal = true;
-			},
-			confirm2() {
-				if(this.container === '' || this.container === null){
-					uni.showToast({
-						title: "瀹瑰櫒鐮佷负绌�",
-						icon: "none",
-						position: 'top'
-					})
-					return ;
-				}
-				if(this.list.length ===0 || this.list === null){
-					uni.showToast({
-						title: "鏈坊鍔犳槑缁�",
-						icon: "none",
-						position: 'top'
-					})
-					return ;
-				}
-				this.submitConfirm('');
-			},			
-			// 鍏抽棴AGV纭寮圭獥
-			closeAgvModal() {
-				this.showAgvModal = false;
-			},
-			// 閫夋嫨涓嶉渶瑕丄GV
-			handleAgvNo() {
-				
-				this.showAgvModal = false;
-				this.submitConfirm('');
-			},
-			// 閫夋嫨闇�瑕丄GV
-			handleAgvYes() {
-				this.showAgvModal = false;
-				this.agvStationInput = '';
-				this.agvStationName = '';
-				this.showAgvInputModal = true;
-			},
-			// 鍏抽棴AGV绔欑偣杈撳叆寮圭獥
-			closeAgvInputModal() {
-				this.showAgvInputModal = false;
-				this.agvStationInput = '';
-				this.agvStationName = '';
-			},
-			// 纭AGV绔欑偣
-			confirmAgvStation() {
-				if (this.agvStationInput.trim() === '') {
-					uni.showToast({
-						title: "AGV绔欑偣涓嶈兘涓虹┖",
-						icon: "none",
-						position: 'top'
-					});
-					return;
-				}
-				if (this.whAreaId === '') {
-					uni.showToast({
-						title: "鐩爣搴撳尯涓嶈兘涓虹┖",
-						icon: "none",
-						position: 'top'
-					});
-					return;
-				}
-				this.showAgvInputModal = false;
-				this.submitConfirm(this.agvStationName);
-			},
-		// 鎻愪氦缁勬墭璇锋眰
-	async submitConfirm(agvStation) {
-		this.repeatClick = true
-		try {
-			const newArr = this.list.map(item => {
-				
-				return {
-					...item,
-					anfme: item.anfme === null ? 0 : +item.anfme,					
-				};
-			});
-
-			const requestData = {
-				items: newArr,
-				barcode: this.container,
-			};
-			
-			// 濡傛灉鏈堿GV绔欑偣锛屾坊鍔犲埌璇锋眰鍙傛暟涓�
-			if (agvStation) {
-				requestData.staNo = agvStation;
-				requestData.agvSign = 1;
-				requestData.area = this.whAreaId;
-			}else{
-				requestData.agvSign = 0;
-			}
-
-			const {
-				code,
-				data,
-				msg
-			} = await request('/waitPakin/merge', requestData)
-			if (code === 200) {
+		selectedText() {
+			const found = this.range.find(
+				(item) => item.value === this.whAreaId
+			)
+			return found ? found.text : '璇烽�夋嫨搴撳尯'
+		}
+	},
+	mounted() {
+		// this.getRece()
+		// 鑾峰彇鎸夐挳鏉冮檺
+		this.buttonPermissions = uni.getStorageSync('buttonPermissions') || []
+		console.log('褰撳墠椤甸潰鎸夐挳鏉冮檺:', this.buttonPermissions)
+	},
+	methods: {
+		async checkAgvStation() {
+			const that = this
+			if (this.agvStationInput === '' || this.agvStationInput === null) {
 				uni.showToast({
-					title: '缁勭洏鎴愬姛'
+					title: '瀹瑰櫒鐮佷负绌�',
+					icon: 'none',
+					position: 'top'
 				})
-				this.list = []
-				this.barcode = ''
-				this.container = ''
-				this.isconfirm = false
+				return
+			}
+			const { code, data, msg } = await request('/check/agvStation', {
+				transferStationNo: this.agvStationInput
+			})
+			if (code === 200) {
+				this.agvStationName = data.stationName
 			} else {
 				uni.showToast({
 					title: msg,
-					icon: "none",
+					icon: 'none',
+					position: 'top'
+				})
+				setTimeout(function () {
+					that.agvStationName = ''
+					that.agvStationInput = ''
+				}, 200)
+			}
+		},
+		pickerChange(e) {
+			const index = e.detail.value
+			this.whAreaId = this.range[index].value
+			uni.setStorageSync('whAreaId', this.whAreaId)
+		},
+		// 妫�鏌ユ寜閽潈闄�
+		hasButtonPermission(route) {
+			return this.buttonPermissions.includes(route)
+		},
+		async search() {
+			const find = this.list.find((el) => el.trackCode === this.barcode)
+			find ? this.scrollTo() : this.getDet()
+		},
+		getDet() {
+			let that = this
+			uni.navigateTo({
+				url: '../listing/itemSelect',
+				success: function (res) {
+					// 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹�   鍚戝彟澶栦竴涓〉闈紶閫掑�肩殑
+					res.eventChannel.emit('data', {
+						matnrCode: that.matnrCode,
+						asnCode: that.asnCode
+					})
+				},
+				events: {
+					// 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹�  鍙﹀涓�涓〉闈紶杩囨潵鐨�
+					backData: function (data) {
+						that.showBackData(data.data)
+					}
+				}
+			})
+		},
+
+		async getList() {
+			if (this.container === '' || this.container === null) {
+				uni.showToast({
+					title: '瀹瑰櫒鐮佷负绌�',
+					icon: 'none',
+					position: 'top'
+				})
+				return
+			}
+			const { code, data, msg } = await request(
+				'/asnOrderItem/container',
+				{
+					barcode: this.container
+				}
+			)
+			if (code === 200) {
+				this.range = data.map((item) => ({
+					value: item.id,
+					text: item.name
+				}))
+
+				this.whAreaId = this.range[0].value
+			} else {
+				uni.showToast({
+					title: msg,
+					icon: 'none',
 					position: 'top'
 				})
 			}
-		} finally {
-			// 鏃犺璇锋眰鎴愬姛杩樻槸澶辫触锛岄兘閲婃斁鎸夐挳閿佸畾
-			this.repeatClick = false
-		}
-	},
-		async getRece() {
-			const {
-				code,
-				data,
-				msg
-			} = await request('/areas/user/all', {}, 'get')
-			if (code === 200) {
-				this.range = data.map(item => ({
-					value: item.id,
-					text:  item.name
-				}));
+		},
+		showBackData(data) {
+			let status
+			data.map((item) => {
+				this.list.push(item)
+			})
+			let oldLength = this.list.length
+			this.list = this.list.filter(
+				(item, index, self) =>
+					self.findIndex(
+						(i) =>
+							i.id === item.id // 鏍规嵁id鍘婚噸
+					) === index && item.isptResult === self[0].isptResult
+			)
+			let newLength = this.list.length
+
+			if (oldLength > newLength) {
+				this.showMsg('鏂版槑缁嗚杩囨护锛岃妫�鏌ョ姸鎬�')
 			}
 		},
+		showMsg(msg) {
+			setTimeout(function () {
+				uni.showToast({
+					icon: 'none',
+					position: 'top',
+					title: msg,
+					duration: 2000
+				})
+			}, 200)
+		},
+		scrollTo() {
+			const ref = this.$refs[`${this.barcode}ref`][0]
+			uni.pageScrollTo({
+				scrollTop: ref.$el.offsetTop,
+				duration: 300
+			})
+		},
+		remove(index) {
+			this.list.splice(index, 1)
+		},
+		clear() {
+			this.list = []
+			this.barcode = ''
+		},
+		next() {
+			if (this.list.length) {
+				this.isconfirm = true
+			} else {
+				uni.showToast({
+					icon: 'none',
+					title: '鏈�夌墿鏂欐爣绛�'
+				})
+			}
+		},
+		prev() {
+			this.isconfirm = false
+		},
+		confirm() {
+			if (this.container === '' || this.container === null) {
+				uni.showToast({
+					title: '瀹瑰櫒鐮佷负绌�',
+					icon: 'none',
+					position: 'top'
+				})
+				return
+			}
+			if (this.list.length === 0 || this.list === null) {
+				uni.showToast({
+					title: '鏈坊鍔犳槑缁�',
+					icon: 'none',
+					position: 'top'
+				})
+				return
+			}
+			// 鏄剧ずAGV纭寮圭獥
+			this.showAgvInputModal = true
+		},
+		confirm2() {
+			if (this.container === '' || this.container === null) {
+				uni.showToast({
+					title: '瀹瑰櫒鐮佷负绌�',
+					icon: 'none',
+					position: 'top'
+				})
+				return
+			}
+			if (this.list.length === 0 || this.list === null) {
+				uni.showToast({
+					title: '鏈坊鍔犳槑缁�',
+					icon: 'none',
+					position: 'top'
+				})
+				return
+			}
+			this.submitConfirm('')
+		},
+		// 鍏抽棴AGV纭寮圭獥
+		closeAgvModal() {
+			this.showAgvModal = false
+		},
+		// 閫夋嫨涓嶉渶瑕丄GV
+		handleAgvNo() {
+			this.showAgvModal = false
+			this.submitConfirm('')
+		},
+		// 閫夋嫨闇�瑕丄GV
+		handleAgvYes() {
+			this.showAgvModal = false
+			this.agvStationInput = ''
+			this.agvStationName = ''
+			this.showAgvInputModal = true
+		},
+		// 鍏抽棴AGV绔欑偣杈撳叆寮圭獥
+		closeAgvInputModal() {
+			this.showAgvInputModal = false
+			this.agvStationInput = ''
+			this.agvStationName = ''
+		},
+		// 纭AGV绔欑偣
+		confirmAgvStation() {
+			if (this.agvStationInput.trim() === '') {
+				uni.showToast({
+					title: 'AGV绔欑偣涓嶈兘涓虹┖',
+					icon: 'none',
+					position: 'top'
+				})
+				return
+			}
+			if (this.whAreaId === '') {
+				uni.showToast({
+					title: '鐩爣搴撳尯涓嶈兘涓虹┖',
+					icon: 'none',
+					position: 'top'
+				})
+				return
+			}
+			this.showAgvInputModal = false
+			this.submitConfirm(this.agvStationName)
+		},
+		// 鎻愪氦缁勬墭璇锋眰
+		async submitConfirm(agvStation) {
+			this.repeatClick = true
+			try {
+				const newArr = this.list.map((item) => {
+					return {
+						...item,
+						anfme: item.anfme === null ? 0 : +item.anfme
+					}
+				})
+
+				const requestData = {
+					items: newArr,
+					barcode: this.container
+				}
+
+				// 濡傛灉鏈堿GV绔欑偣锛屾坊鍔犲埌璇锋眰鍙傛暟涓�
+				if (agvStation) {
+					requestData.staNo = agvStation
+					requestData.agvSign = 1
+					requestData.area = this.whAreaId
+				} else {
+					requestData.agvSign = 0
+				}
+
+				const { code, data, msg } = await request(
+					'/waitPakin/merge',
+					requestData
+				)
+				if (code === 200) {
+					uni.showToast({
+						title: '缁勭洏鎴愬姛'
+					})
+					this.list = []
+					this.barcode = ''
+					this.container = ''
+					this.isconfirm = false
+				} else {
+					uni.showToast({
+						title: msg,
+						icon: 'none',
+						position: 'top'
+					})
+				}
+			} finally {
+				// 鏃犺璇锋眰鎴愬姛杩樻槸澶辫触锛岄兘閲婃斁鎸夐挳閿佸畾
+				this.repeatClick = false
+			}
+		},
+		async getRece() {
+			const { code, data, msg } = await request(
+				'/areas/user/all',
+				{},
+				'get'
+			)
+			if (code === 200) {
+				this.range = data.map((item) => ({
+					value: item.id,
+					text: item.name
+				}))
+			}
 		}
 	}
+}
 </script>
 
 <style>
-	.index {
-		border: 1px solid #e54d42;
-		color: #e54d42;
-		border-radius: 50%;
-		display: block;
-		width: 50rpx;
-		height: 50rpx;
-		line-height: 48rpx;
-		text-align: center;
-		margin-right: 20rpx;
-		font-size: 30rpx;
-	}
+.index {
+	border: 1px solid #e54d42;
+	color: #e54d42;
+	border-radius: 50%;
+	display: block;
+	width: 50rpx;
+	height: 50rpx;
+	line-height: 48rpx;
+	text-align: center;
+	margin-right: 20rpx;
+	font-size: 30rpx;
+}
 
-	.text-blue {
-		color: #0081ff !important;
-	}
+.text-blue {
+	color: #0081ff !important;
+}
 
-	.act {
-		border: 1px solid #e54d42;
-	}
+.act {
+	border: 1px solid #e54d42;
+}
 
-	.item {
-		position: relative;
-		display: flex;
-		min-height: 80upx;
-		align-items: center;
-	}
-	
-	/* 寮圭獥閬僵灞� */
-	.modal-mask {
-		position: fixed;
-		top: 0;
-		left: 0;
-		right: 0;
-		bottom: 0;
-		background-color: rgba(0, 0, 0, 0.5);
-		display: flex;
-		justify-content: center;
-		align-items: center;
-		z-index: 999;
-	}
-	
-	/* 寮圭獥瀹瑰櫒 */
-	.modal-container {
-		width: 600rpx;
-		background-color: #ffffff;
-		border-radius: 24rpx;
-		overflow: hidden;
-		box-shadow: 0 8rpx 40rpx rgba(0, 0, 0, 0.15);
-	}
-	
-	/* 寮圭獥澶撮儴 */
-	.modal-header {
-		padding: 40rpx 30rpx 20rpx;
-		display: flex;
-		flex-direction: column;
-		align-items: center;
-		background: linear-gradient(135deg, #f0f7ff 0%, #e8f4ff 100%);
-	}
-	
-	.modal-title {
-		font-size: 34rpx;
-		font-weight: bold;
-		color: #333;
-		/* margin-top: 16rpx; */
-	}
-	
-	/* 寮圭獥鍐呭 */
-	.modal-body {
-		padding: 30rpx;
-	}
-	
-	.form-item {
-		margin-bottom: 24rpx;
-	}
-	
-	.form-item:last-child {
-		margin-bottom: 0;
-	}
-	
-	.form-label {
-		display: block;
-		font-size: 28rpx;
-		color: #333;
-		font-weight: 500;
-		margin-bottom: 12rpx;
-		padding-left: 4rpx;
-	}
-	
-	.modal-message {
-		font-size: 30rpx;
-		color: #666;
-		text-align: center;
-		display: block;
-	}
-	
-	/* 杈撳叆妗嗗鍣� */
-	.input-wrapper {
-		background-color: #f5f7fa;
-		border-radius: 12rpx;
-		padding: 10rpx;
-		border: 2rpx solid #e4e7ed;
-		transition: border-color 0.2s;
-	}
-	
-	.input-wrapper:focus-within {
-		border-color: #0081ff;
-	}
-	
-	.picker-wrapper {
-		display: flex;
-		align-items: center;
-	}
-	
-	.agv-input {
-		width: 100%;
-		height: 70rpx;
-		font-size: 30rpx;
-		color: #333;
-		background-color: transparent;
-	}
-	.picker{
-		width: 100%;
-	}
-	
-	.picker-view {
-		width: 100%;
-		height: 70rpx;
-		line-height: 70rpx;
-		font-size: 30rpx;
-		color: #333;
-		display: flex;
-		justify-content:space-between;
-		align-items: center;
-	}
-	
-	.picker-arrow {
-		color: #999;
-		font-size: 28rpx;
-	}
-	
-	/* 寮圭獥搴曢儴鎸夐挳 */
-	.modal-footer {
-		display: flex;
-		border-top: 1rpx solid #eee;
-	}
-	
-	.modal-btn {
-		flex: 1;
-		height: 100rpx;
-		line-height: 100rpx;
-		font-size: 32rpx;
-		border: none;
-		border-radius: 0;
-		background-color: #fff;
-	}
-	
-	.modal-btn::after {
-		border: none;
-	}
-	
-	.modal-btn-cancel {
-		color: #999;
-		border-right: 1rpx solid #eee;
-	}
-	
-	.modal-btn-confirm {
-		color: #fff;
-		background: linear-gradient(135deg, #0081ff 0%, #1890ff 100%);
-		font-weight: bold;
-	}
-	
-	.modal-btn-confirm:active {
-		background: linear-gradient(135deg, #0070dd 0%, #1480e8 100%);
-	}
-	
-	.modal-btn-cancel:active {
-		background-color: #f5f5f5;
-	}
-</style>
\ No newline at end of file
+.item {
+	position: relative;
+	display: flex;
+	min-height: 80upx;
+	align-items: center;
+}
+
+/* 寮圭獥閬僵灞� */
+.modal-mask {
+	position: fixed;
+	top: 0;
+	left: 0;
+	right: 0;
+	bottom: 0;
+	background-color: rgba(0, 0, 0, 0.5);
+	display: flex;
+	justify-content: center;
+	align-items: center;
+	z-index: 999;
+}
+
+/* 寮圭獥瀹瑰櫒 */
+.modal-container {
+	width: 600rpx;
+	background-color: #ffffff;
+	border-radius: 24rpx;
+	overflow: hidden;
+	box-shadow: 0 8rpx 40rpx rgba(0, 0, 0, 0.15);
+}
+
+/* 寮圭獥澶撮儴 */
+.modal-header {
+	padding: 40rpx 30rpx 20rpx;
+	display: flex;
+	flex-direction: column;
+	align-items: center;
+	background: linear-gradient(135deg, #f0f7ff 0%, #e8f4ff 100%);
+}
+
+.modal-title {
+	font-size: 34rpx;
+	font-weight: bold;
+	color: #333;
+	/* margin-top: 16rpx; */
+}
+
+/* 寮圭獥鍐呭 */
+.modal-body {
+	padding: 30rpx;
+}
+
+.form-item {
+	margin-bottom: 24rpx;
+}
+
+.form-item:last-child {
+	margin-bottom: 0;
+}
+
+.form-label {
+	display: block;
+	font-size: 28rpx;
+	color: #333;
+	font-weight: 500;
+	margin-bottom: 12rpx;
+	padding-left: 4rpx;
+}
+
+.modal-message {
+	font-size: 30rpx;
+	color: #666;
+	text-align: center;
+	display: block;
+}
+
+/* 杈撳叆妗嗗鍣� */
+.input-wrapper {
+	background-color: #f5f7fa;
+	border-radius: 12rpx;
+	padding: 10rpx;
+	border: 2rpx solid #e4e7ed;
+	transition: border-color 0.2s;
+}
+
+.input-wrapper:focus-within {
+	border-color: #0081ff;
+}
+
+.picker-wrapper {
+	display: flex;
+	align-items: center;
+}
+
+.agv-input {
+	width: 100%;
+	height: 70rpx;
+	font-size: 30rpx;
+	color: #333;
+	background-color: transparent;
+}
+.picker {
+	width: 100%;
+}
+
+.picker-view {
+	width: 100%;
+	height: 70rpx;
+	line-height: 70rpx;
+	font-size: 30rpx;
+	color: #333;
+	display: flex;
+	justify-content: space-between;
+	align-items: center;
+}
+
+.picker-arrow {
+	color: #999;
+	font-size: 28rpx;
+}
+
+/* 寮圭獥搴曢儴鎸夐挳 */
+.modal-footer {
+	display: flex;
+	border-top: 1rpx solid #eee;
+}
+
+.modal-btn {
+	flex: 1;
+	height: 100rpx;
+	line-height: 100rpx;
+	font-size: 32rpx;
+	border: none;
+	border-radius: 0;
+	background-color: #fff;
+}
+
+.modal-btn::after {
+	border: none;
+}
+
+.modal-btn-cancel {
+	color: #999;
+	border-right: 1rpx solid #eee;
+}
+
+.modal-btn-confirm {
+	color: #fff;
+	background: linear-gradient(135deg, #0081ff 0%, #1890ff 100%);
+	font-weight: bold;
+}
+
+.modal-btn-confirm:active {
+	background: linear-gradient(135deg, #0070dd 0%, #1480e8 100%);
+}
+
+.modal-btn-cancel:active {
+	background-color: #f5f5f5;
+}
+</style>
diff --git a/pages/outbound/orderOut/orderList.vue b/pages/outbound/orderOut/orderList.vue
index c69b5ee..3e6ad39 100644
--- a/pages/outbound/orderOut/orderList.vue
+++ b/pages/outbound/orderOut/orderList.vue
@@ -103,6 +103,7 @@
 			if (eventChannel) {
 				eventChannel.on('orderTypeId', function(data) {
 					that.orderTypeId = data.orderTypeId
+					console.log(data)
 				})
 			}
 		},
diff --git a/pages/outbound/orderOut/order_out_type.vue b/pages/outbound/orderOut/order_out_type.vue
index 578ee8e..11747cb 100644
--- a/pages/outbound/orderOut/order_out_type.vue
+++ b/pages/outbound/orderOut/order_out_type.vue
@@ -81,7 +81,8 @@
 						name: '',
 						color: this.colorList[index],
 						cuIcon: 'round',
-						url: `/outbound/orderOut/orderList`
+						url: `/outbound/orderOut/orderList`,
+						id: item.id
 					})
 				})				
 			} else {
@@ -104,6 +105,7 @@
 			}
 		},
 		toPage(item) {
+			console.log(item)
 			uni.navigateTo({
 				url: `/pages${item.url}`,
 				success(res) {

--
Gitblit v1.9.1