From f1bf3ef09713182d434e22dfd8623ea73e02d6d3 Mon Sep 17 00:00:00 2001
From: yangpeixing <yangpeixing@hnkhzn.com>
Date: 星期三, 01 四月 2026 15:33:01 +0800
Subject: [PATCH] 1

---
 吉安PDA/pages/stash/CPinboundorder.vue |  191 +++++++++++++++++++++++------------------------
 1 files changed, 92 insertions(+), 99 deletions(-)

diff --git "a/\345\220\211\345\256\211PDA/pages/stash/CPinboundorder.vue" "b/\345\220\211\345\256\211PDA/pages/stash/CPinboundorder.vue"
index 08695a2..389ad1a 100644
--- "a/\345\220\211\345\256\211PDA/pages/stash/CPinboundorder.vue"
+++ "b/\345\220\211\345\256\211PDA/pages/stash/CPinboundorder.vue"
@@ -5,58 +5,58 @@
 				<uni-search-bar @confirm="search" v-model="searchValue"></uni-search-bar>
 			</view>
 		</u-sticky>
-		<uni-list :border="true">
-			<uni-list-item direction="column" clickable @click="groupClick(item.orderNo)" link :to="page+item.orderNo"
-				v-for="item in allReceivingOrders" :key="item.orderNo">
-				<template v-slot:body>
-					<uni-group margin-top="20">
-						<view
-							style="line-height: 17px;color: #596671;font-size: 14px;text-align: center;display: flex;justify-content: space-between;">
-							鍏ュ簱鍗曞彿&nbsp;&nbsp;{{item.orderNo}}
-						</view>
-						<view
-							style="margin-top: 10rpx;line-height: 17px;color: #596671;font-size: 14px;text-align: center;display: flex;justify-content: space-between;">
-							鍒涘缓浜哄憳&nbsp;&nbsp;{{item.creater}}
-						</view>
-						<view
-							style="margin-top: 10rpx;line-height: 17px;color: #596671;font-size: 14px;text-align: center;display: flex;justify-content: space-between;">
-							鍒涘缓鏃ユ湡&nbsp;&nbsp;{{item.createDate}}
-						</view>
-						<view  style="margin-top: 10rpx;line-height: 17px;color: #596671;font-size: 14px;text-align: center;display: flex;justify-content: left;">
-							鐗╂枡鏂欏彿锛�&nbsp;&nbsp;
-							<view class="container">
-								<view v-for="(materielCode, index) in getUniqueMaterielCodes(item.details)" :key="index">
-									{{materielCode}}
-									<u-line color="blue" v-if="index < getUniqueMaterielCodes(item.details).length - 1" />
+		
+		<!-- 灏嗛〉闈㈠唴瀹瑰寘瑁呭湪 scroll-view 涓� -->
+		<scroll-view 
+			scroll-y 
+			:style="{height: 'calc(100vh - 100px)'}"
+			@scrolltolower="onReachBottom"
+			ref="scrollView"
+		>
+			<uni-list :border="true">
+				<uni-list-item direction="column" clickable @click="groupClick(item.orderNo)" link :to="page+item.orderNo"
+					v-for="item in allReceivingOrders" :key="item.orderNo">
+					<template v-slot:body>
+						<uni-group margin-top="20">
+							<view
+								style="line-height: 17px;color: #596671;font-size: 14px;text-align: center;display: flex;justify-content: space-between;">
+								鍏ュ簱鍗曞彿&nbsp;&nbsp;{{item.orderNo}}
+							</view>
+							<view
+								style="margin-top: 10rpx;line-height: 17px;color: #596671;font-size: 14px;text-align: center;display: flex;justify-content: space-between;">
+								鍒涘缓浜哄憳&nbsp;&nbsp;{{item.creater}}
+							</view>
+							<view
+								style="margin-top: 10rpx;line-height: 17px;color: #596671;font-size: 14px;text-align: center;display: flex;justify-content: space-between;">
+								鍒涘缓鏃ユ湡&nbsp;&nbsp;{{item.createDate}}
+							</view>
+							<view style="margin-top: 10rpx;display: flex;align-items: center; ">
+								<view
+									style="text-align: center;line-height: 40rpx;border-radius: 8rpx; width: 238rpx;height: 40rpx;font-size: 22rpx;background-color:rgba(22,127,247,0.18);color: #1F63FF;">
+									璁㈠崟鐘舵��&nbsp;&nbsp;{{item.InboundOrderStatus}}
+								</view>
+								<view
+									style="text-align: center;line-height: 40rpx;border-radius: 8rpx; width: 158rpx;height: 40rpx;font-size: 22rpx;color: #F56C6C;">
+									鎬婚噺&nbsp;&nbsp;{{item.SumQty}}
+								</view>
+								<view
+									style="text-align: center;line-height: 40rpx;border-radius: 8rpx; width: 158rpx;height: 40rpx;font-size: 22rpx;color: #F56C6C;">
+									宸茬粍鐩�&nbsp;&nbsp;{{item.RecQty}}
+								</view>
+								<view
+									style="text-align: center;line-height: 40rpx;border-radius: 8rpx; width: 158rpx;height: 40rpx;font-size: 22rpx;color: #F56C6C;">
+									宸插叆&nbsp;&nbsp;{{item.OverQty}}
 								</view>
 							</view>
-						</view>
-						<view style="margin-top: 10rpx;display: flex;align-items: center; ">
-							<view
-								style="text-align: center;line-height: 40rpx;border-radius: 8rpx; width: 238rpx;height: 40rpx;font-size: 22rpx;background-color:rgba(22,127,247,0.18);color: #1F63FF;">
-								璁㈠崟鐘舵��&nbsp;&nbsp;{{item.InboundOrderStatus}}
-							</view>
-							<view
-								style="text-align: center;line-height: 40rpx;border-radius: 8rpx; width: 158rpx;height: 40rpx;font-size: 22rpx;color: #F56C6C;">
-								鎬婚噺&nbsp;&nbsp;{{item.SumQty}}
-							</view>
-							<view
-								style="text-align: center;line-height: 40rpx;border-radius: 8rpx; width: 158rpx;height: 40rpx;font-size: 22rpx;color: #F56C6C;">
-								宸茬粍鐩�&nbsp;&nbsp;{{item.RecQty}}
-							</view>
-							<view
-								style="text-align: center;line-height: 40rpx;border-radius: 8rpx; width: 158rpx;height: 40rpx;font-size: 22rpx;color: #F56C6C;">
-								宸插叆&nbsp;&nbsp;{{item.OverQty}}
-							</view>
-						</view>
-					</uni-group>
-				</template>
-			</uni-list-item>
+						</uni-group>
+					</template>
+				</uni-list-item>
 
-		</uni-list>
-		<uni-load-more :status="status" v-if="loadVisible"></uni-load-more>
+			</uni-list>
+			<uni-load-more :status="status" v-if="loadVisible"></uni-load-more>
 
-		<u-back-top :scroll-top="scrollTop" top="400"></u-back-top>
+			<u-back-top :scroll-top="scrollTop" top="400"></u-back-top>
+		</scroll-view>
 	</view>
 </template>
 
@@ -75,7 +75,9 @@
 				pageNo: 1,
 				scrollTop: 0,
 				warehouseId: "",
-				isLoaded: false
+				isLoaded: false,
+				// 娣诲姞涓�涓彉閲忚褰曟槸鍚︽鍦ㄥ姞杞�
+				isLoadingMore: false
 			}
 		},
 		onLoad(res) {
@@ -83,11 +85,7 @@
 			this.page = this.page + "warehouseId=" + this.warehouseId + "&orderNo=";
 			this.getData();
 		},
-		onReachBottom() {
-			this.pageNo += 1;
-			this.getData();
-			this.isLoaded = true;
-		},
+		// 绉婚櫎鍘熸潵鐨� onReachBottom锛屼娇鐢� scroll-view 鐨� @scrolltolower
 		onShow() {
 			if (this.isLoaded) {
 				// 浠庡叾浠栭〉闈㈣繑鍥炴椂鍒锋柊
@@ -98,19 +96,21 @@
 			this.scrollTop = e.scrollTop;
 		},
 		methods: {
-			
-			// 鐗╂枡鏂欏彿鍘婚噸锛堜繚鐣欏師鏈夊姛鑳斤級
-			getUniqueMaterielCodes(details) {
-				if (!details || !Array.isArray(details)) return [];
-				const uniqueCodes = [...new Set(details.map(item => item.materielCode))];
-				return uniqueCodes;
-			},
-			
 			search(res) {
 				this.getData();
 			},
 			groupClick() {
 
+			},
+			// scroll-view 婊氬姩鍒板簳閮ㄦ椂瑙﹀彂
+			onReachBottom() {
+				if (this.isLoadingMore || this.status === 'noMore') return;
+				
+				this.isLoadingMore = true;
+				this.pageNo += 1;
+				this.status = "loading";
+				
+				this.getData();
 			},
 			getData() {
 				var postData = {
@@ -123,48 +123,48 @@
 				this.$u.post('/api/InboundOrder/GetInboundOrders', postData).then((res) => {
 					if (res.status) {
 						if (res.data.length > 0) {
+							const newData = res.data.map(i => ({
+								...i,
+								InboundOrderStatus: InboundOrderStatus.find(item => item.value == i
+									.orderStatus).label,
+								SumQty: i.details.map(item => item.orderQuantity).reduce((prev,
+									next) => prev + next, 0),
+								OverQty: i.details.map(item => item.overInQuantity).reduce((prev,
+									next) => prev + next, 0),
+								RecQty: i.details.map(item => item.receiptQuantity).reduce((prev,
+									next) => prev + next, 0)
+							}));
+							
 							if (this.searchValue == '') {
-								this.allReceivingOrders = res.data.map(i => ({
-									...i,
-									InboundOrderStatus: InboundOrderStatus.find(item => item.value == i
-										.orderStatus).label,
-									SumQty: i.details.map(item => item.orderQuantity).reduce((prev,
-										next) => prev + next, 0),
-									OverQty: i.details.map(item => item.overInQuantity).reduce((prev,
-										next) => prev + next, 0),
-									RecQty: i.details.map(item => item.receiptQuantity).reduce((prev,
-										next) => prev + next, 0)
-								}));
-								// this.allReceivingOrders = res.data;
+								// 杩藉姞鏁版嵁鑰屼笉鏄浛鎹�
+								this.allReceivingOrders = [...this.allReceivingOrders, ...newData];
 								if (this.allReceivingOrders.length > 3) {
 									this.loadVisible = true;
 								} else {
 									this.loadVisible = false;
 								}
 							} else {
-								this.allReceivingOrders = res.data.map(i => ({
-									...i,
-									InboundOrderStatus: InboundOrderStatus.find(item => item.value == i
-										.orderStatus).label,
-									SumQty: i.details.map(item => item.orderQuantity).reduce((prev,
-										next) => prev + next, 0),
-									OverQty: i.details.map(item => item.overInQuantity).reduce((prev,
-										next) => prev + next, 0),
-									RecQty: i.details.map(item => item.receiptQuantity).reduce((prev,
-										next) => prev + next, 0)
-								}));
+								// 鎼滅储鏃舵浛鎹㈡暟鎹�
+								this.allReceivingOrders = newData;
 								if (this.allReceivingOrders.length > 3) {
 									this.loadVisible = true;
 								} else {
 									this.loadVisible = false;
 								}
 							}
+							
+							// 濡傛灉娌℃湁鏇村鏁版嵁
+							if (res.data.length < 10) { // 鍋囪姣忛〉10鏉℃暟鎹�
+								this.status = 'noMore';
+							} else {
+								this.status = 'more';
+							}
 						} else {
 							this.status = 'noMore';
-							//this.allReceivingOrders = [];
 							this.loadVisible = true;
 						}
 					}
+					this.isLoadingMore = false;
 				})
 			}
 		}
@@ -180,7 +180,12 @@
 		box-sizing: border-box;
 		background-color: #efeff4;
 		min-height: 100%;
-		height: auto;
+		height: 100vh;
+	}
+
+	/* 纭繚 scroll-view 鍗犳嵁鏁翠釜椤甸潰绌洪棿 */
+	scroll-view {
+		height: calc(100vh - 100px);
 	}
 
 	.tips {
@@ -249,16 +254,4 @@
 	.footer {
 		padding-top: 50%;
 	}
-</style>
-
-<style scoped>
-/* 浼樺寲锛氱墿鏂欐枡鍙锋崲琛屾樉绀猴紝闃叉妯悜婧㈠嚭 */
-.container {
-	display: flex;
-	flex-wrap: wrap;
-	gap: 10rpx;
-}
-.container view {
-	white-space: nowrap;
-}
 </style>
\ No newline at end of file

--
Gitblit v1.9.3