From 48e2278d7ac330c7f05deda6f884acb6f01206b4 Mon Sep 17 00:00:00 2001
From: yangpeixing <yangpeixing@hnkhzn.com>
Date: 星期一, 13 四月 2026 17:13:51 +0800
Subject: [PATCH] 1

---
 吉安PDA/pages/stash/CPinboundorder.vue |  147 +++++++++++++++++++++++++++++++-----------------
 1 files changed, 94 insertions(+), 53 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 9b7de45..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,45 +5,65 @@
 				<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;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}}
+		
+		<!-- 灏嗛〉闈㈠唴瀹瑰寘瑁呭湪 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="text-align: center;line-height: 40rpx;border-radius: 8rpx; width: 158rpx;height: 40rpx;font-size: 22rpx;color: #F56C6C;">
-								鎬婚噺&nbsp;&nbsp;{{item.SumQty}}
+							<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="text-align: center;line-height: 40rpx;border-radius: 8rpx; width: 158rpx;height: 40rpx;font-size: 22rpx;color: #F56C6C;">
-								宸插叆&nbsp;&nbsp;{{item.OverQty}}
+							<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>
-					</uni-group>
-				</template>
-			</uni-list-item>
+							<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-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>
 
 <script>
-	import { InboundOrderStatus } from '../../common/config.js'
+	import {
+		InboundOrderStatus
+	} from '../../common/config.js'
 	export default {
 		data() {
 			return {
@@ -55,7 +75,9 @@
 				pageNo: 1,
 				scrollTop: 0,
 				warehouseId: "",
-				isLoaded:false
+				isLoaded: false,
+				// 娣诲姞涓�涓彉閲忚褰曟槸鍚︽鍦ㄥ姞杞�
+				isLoadingMore: false
 			}
 		},
 		onLoad(res) {
@@ -63,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) {
 				// 浠庡叾浠栭〉闈㈣繑鍥炴椂鍒锋柊
@@ -84,6 +102,16 @@
 			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 = {
 					MainData: {
@@ -95,40 +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)
-								}));
-								// 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)
-								}));
+								// 鎼滅储鏃舵浛鎹㈡暟鎹�
+								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;
 				})
 			}
 		}
@@ -144,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 {

--
Gitblit v1.9.3