From 2b49f7643d15b74889d190f216630559006ed93a Mon Sep 17 00:00:00 2001
From: yanjinhui <3306209981@qq.com>
Date: 星期一, 01 十二月 2025 09:48:43 +0800
Subject: [PATCH] pad和后端的优化

---
 新建文件夹/PDA/pages/stash/inboundorder.vue |  149 ++++++++++++++++++++++++++++---------------------
 1 files changed, 86 insertions(+), 63 deletions(-)

diff --git "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/PDA/pages/stash/inboundorder.vue" "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/PDA/pages/stash/inboundorder.vue"
index a239815..3734c0d 100644
--- "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/PDA/pages/stash/inboundorder.vue"
+++ "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/PDA/pages/stash/inboundorder.vue"
@@ -6,28 +6,33 @@
 			</view>
 		</u-sticky>
 		<uni-list :border="true">
-			<uni-list-item direction="column" clickable @click="groupClick(item.order_no)" link
-				:to="page+item.order_no" v-for="item in allReceivingOrders" :key="item.order_no">
+			<uni-list-item direction="column" clickable @click="groupClick(item.order_no)" link :to="page+item.order_no"
+				v-for="item in allReceivingOrders" :key="item.order_no">
 				<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.order_no}} 
-						</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.supplier_name}} 
-						</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
+							style="line-height: 17px;color: #596671;font-size: 14px;text-align: center;display: flex;justify-content: space-between;">
+							鍏ュ簱鍗曞彿&nbsp;&nbsp;{{item.order_no}}
 						</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;">
+							style="margin-top: 10rpx;line-height: 17px;color: #596671;font-size: 14px;text-align: center;display: flex;justify-content: space-between;">
+							渚涘簲鍟嗗悕绉�&nbsp;&nbsp;{{item.supplier_name}}
+						</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.odrderStatus}}
 							</view>
-							<view style="text-align: center;line-height: 40rpx;border-radius: 8rpx; width: 158rpx;height: 40rpx;font-size: 22rpx;color: #F56C6C;">
+							<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;">
+							<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>
@@ -43,7 +48,9 @@
 </template>
 
 <script>
-	import { InboundOrderStatus } from '../../common/config.js'
+	import {
+		InboundOrderStatus
+	} from '../../common/config.js'
 	export default {
 		data() {
 			return {
@@ -55,7 +62,7 @@
 				pageNo: 1,
 				scrollTop: 0,
 				warehouseId: "",
-				isLoaded:false
+				isLoaded: false
 			}
 		},
 		onLoad(res) {
@@ -64,12 +71,18 @@
 			this.getData();
 		},
 		onReachBottom() {
-			this.pageNo += 1;
+			if (this.status === 'more') {
+				this.pageNo += 1;
 			this.getData();
-			this.isLoaded=true;
+			this.isLoaded = true;
+			}
 		},
 		onShow() {
+			this.isLoaded = uni.getStorageSync('isLoaded');
 			if (this.isLoaded) {
+				uni.removeStorageSync('isLoaded');
+				this.pageNo = 1;
+				this.allReceivingOrders = [];
 				// 浠庡叾浠栭〉闈㈣繑鍥炴椂鍒锋柊
 				this.getData();
 			}
@@ -79,56 +92,66 @@
 		},
 		methods: {
 			search(res) {
+				this.pageNo = 1;
 				this.getData();
 			},
 			groupClick() {
 
 			},
-			getData() {
-				var postData = {
-					MainData: {
-						warehouseId: this.warehouseId,
-						orderNo: this.searchValue,
-						pageNo: this.pageNo
-					},
-				}
-				this.$u.post('/api/CabinOrder/GetCabinOrders', postData).then((res) => {
-					if (res.status) {
-						if (res.data.length > 0) {
-							if (this.searchValue == '') {
-								this.allReceivingOrders = res.data.map(i => ({
-									...i,
-									InboundOrderStatus: i.odrderStatus.label,
-									SumQty: i.details.map(item => item.order_qty).reduce((prev, next) => prev + next, 0),
-									OverQty: i.details.map(item => item.order_Inqty).reduce((prev, next) => prev + next, 0)
-								}));
-								// this.allReceivingOrders = res.data;
-								if (this.allReceivingOrders.length > 3) {
-									this.loadVisible = true;
-								} else {
-									this.loadVisible = false;
-								}
-							} else {
-								this.allReceivingOrders = res.data.map(i => ({
-									...i,
-									InboundOrderStatus: i.odrderStatus.label,
-									SumQty: i.details.map(item => item.order_qty).reduce((prev, next) => prev + next, 0),
-									OverQty: i.details.map(item => item.order_Inqty).reduce((prev, next) => prev + next, 0)
-								}));
-								if (this.allReceivingOrders.length > 3) {
-									this.loadVisible = true;
-								} else {
-									this.loadVisible = false;
-								}
-							}
-						} else {
-							this.status = 'noMore';
-							//this.allReceivingOrders = [];
-							this.loadVisible = true;
-						}
-					}
-				})
-			}
+	getData() {
+  var postData = {
+    MainData: {
+      warehouseId: this.warehouseId,
+      orderNo: this.searchValue,
+      pageNo: this.pageNo
+    },
+  }
+  
+  // 濡傛灉鏄涓�椤垫垨鎼滅储锛屾竻绌烘暟鎹�
+  if (this.pageNo === 1 || this.searchValue !== '') {
+    this.allReceivingOrders = [];
+    this.status = "more";
+  }
+  
+  this.$u.post('/api/CabinOrder/GetCabinOrders', postData).then((res) => {
+    if (res.status) {
+      if (res.data && res.data.length > 0) {
+        const newData = res.data.map(i => ({
+          ...i,
+          InboundOrderStatus: i.odrderStatus.label,
+          SumQty: i.details.map(item => item.order_qty).reduce((prev, next) => prev + next, 0),
+          OverQty: i.details.map(item => item.order_Inqty).reduce((prev, next) => prev + next, 0)
+        }));
+        
+        // 鍏抽敭淇敼锛氳拷鍔犳暟鎹�屼笉鏄浛鎹�
+        this.allReceivingOrders = [...this.allReceivingOrders, ...newData];
+        
+        // 濡傛灉杩斿洖鐨勬暟鎹皯浜�5鏉★紝璇存槑娌℃湁鏇村鏁版嵁浜�
+        if (res.data.length < 5) {
+          this.status = 'noMore';
+        } else {
+          this.status = 'more';
+        }
+        
+        // 鎺у埗鍔犺浇鎻愮ず鏄剧ず
+        this.loadVisible = this.allReceivingOrders.length > 0;
+        
+      } else {
+        // 娌℃湁鏁版嵁
+        this.status = 'noMore';
+        this.loadVisible = this.allReceivingOrders.length > 0;
+        
+        // 濡傛灉鏄涓�椤典笖娌℃湁鏁版嵁锛屾樉绀虹┖鐘舵��
+        if (this.pageNo === 1) {
+          this.allReceivingOrders = [];
+        }
+      }
+    }
+  }).catch(err => {
+    console.error('璇锋眰澶辫触:', err);
+    this.status = 'noMore';
+  })
+}
 		}
 	}
 </script>

--
Gitblit v1.9.3