н¨Îļþ¼Ð/PDA/pages/stash/outboundorderDetail.vue
@@ -11,10 +11,15 @@
            v-for="item in allReceivingOrders" :key="item.locationCode">
            <template v-slot:body>
               <uni-group margin-top="20">
                  <view> å•据编号:{{orderNo}} </view>
                  <view> æ‰¹å·:{{item.batchNo}} </view>
                  <view> ç‰©æ–™åç§°:{{item.materielName}} </view>
                  <view> å“å/通用名:{{item.item || ''}} </view>
                  <view> ç‰©æ–™ç¼–号:{{item.materielCode}} </view>
                  <!-- <view> ç‰©æ–™åç§°:{{item.materielName}} </view> -->
                  <view> ç‰©æ–™è§„æ ¼:{{item.materielSpec}} </view>
                  <view> ç”Ÿäº§åނ家:{{item.factory || ''}} </view>
                  <view> åŸºæœ¬å•位:{{item.materielUnit}} </view>
                  <view> æ•ˆæœŸ:{{item.modifier || ''}} </view>
                  <view> æ‰¹å·:{{item.batchNo}} </view>
                  <view> å•据编号:{{orderNo}} </view>
                  <view> è´§ä½ç¼–号:{{item.locationCode}} </view>
                  <view> æ•°é‡:{{item.stockQuantity}} </view>
               </uni-group>
@@ -41,34 +46,76 @@
            pageNo: 1,
            scrollTop: 0,
            outTask: false,
            warehouseId: ""
            warehouseId: "",
            hasDataLoaded: false,  // æ•°æ®æ˜¯å¦å·²åŠ è½½è¿‡
            shouldRefreshFromC: false,  //  å…³é”®ï¼šä»ŽC页面返回时需要刷新的标志
         }
      },
      onLoad(res) {
         this.warehouseId = res.warehouseId;
         this.orderNo = res.orderNo;
         this.allReceivingOrders = res.detail;
         this.page = this.page + "orderNo=" + this.orderNo + "&warehouseId=" + this.warehouseId + "&locationCode=";
         this.getData();
      },
      onReachBottom() {
         this.pageNo += 1;
         this.getData();
      },
      onShow() {
         this.outTask = uni.getStorageSync('outTask');
         if (this.outTask) {
            uni.removeStorageSync('outTask');
      // ç›‘听来自C页面的刷新事件
      const eventChannel = this.getOpenerEventChannel();
      if (eventChannel) {
         eventChannel.on('refreshData', (data) => {
         if (data.refresh) {
            this.pageNo = 1;
            this.allReceivingOrders = [];
            // ä»Žå…¶ä»–页面返回时刷新
            this.getData();
         }
         });
      }
      // ä¿å­˜ä¼ å…¥çš„初始数据
      if (res.detail && res.detail.length > 0) {
         this.allReceivingOrders = res.detail;
      }
      this.warehouseId = res.warehouseId;
      this.orderNo = res.orderNo;
      this.page = this.page + "orderNo=" + this.orderNo + "&warehouseId=" + this.warehouseId + "&locationCode=";
      },
      onReachBottom() {
   // åªæœ‰åœ¨è¿˜æœ‰æ›´å¤šæ•°æ®æ—¶æ‰åŠ è½½ä¸‹ä¸€é¡µ
      if (this.status === 'more') {
         this.pageNo += 1;
         this.getData();
  }
      },
        // æ·»åŠ è¿™ä¸ªç”Ÿå‘½å‘¨æœŸ
  onHide() {
    // é¡µé¢éšè—æ—¶ä¸åšä»»ä½•操作
  },
      onShow() {
  // æ£€æŸ¥æ˜¯å¦éœ€è¦åˆ·æ–°
         const needRefresh = uni.getStorageSync('needRefreshOutbound');
         if (needRefresh) {
            uni.removeStorageSync('needRefreshOutbound');
            this.pageNo = 1;
            this.allReceivingOrders = [];
            this.getData();
            return;
         }
         // å¦‚果还没有加载过数据,加载数据
         if (!this.hasDataLoaded) {
            this.pageNo = 1;
            this.allReceivingOrders = [];
            this.getData();
            this.hasDataLoaded = true;
         }
         },
      onPageScroll(e) {
         this.scrollTop = e.scrollTop;
      },
      methods: {
          // æ·»åŠ åˆ·æ–°æ–¹æ³•ä¾›å…¶ä»–é¡µé¢è°ƒç”¨
         // refreshData() {
         //    console.log('收到刷新请求');
         //    this.pageNo = 1;
         //    this.allReceivingOrders = [];
         //    this.getData();
         // },
         search(res) {
            this.pageNo = 1;
            this.getData();
@@ -76,6 +123,7 @@
         groupClick() {
         },
         // getData() {
         //    var postData = {
         //       MainData: {
@@ -87,7 +135,7 @@
         //       },
         //    }
         //    if (this.pageNo == 1) this.allReceivingOrders = [];
         //    this.$u.post('/api/DeliveryOrder/GetCheckOutTasks',postData).then((
         //    this.$u.post('/api/DeliveryOrder/CheckOutTasks',postData).then((
         //       res) => {
         //          if (res.status) {
         //             if (res.data.length > 0) {
@@ -115,68 +163,66 @@
         //          }
         //       })
         // }
         getData() {
            var postData = {
               MainData: {
                  warehouseId: this.warehouseId,
                  locationCode: this.searchValue,
                  orderNo: this.orderNo,
                  pageNo: this.pageNo,
                  isCheck: false,
               },
      getData() {
      var postData = {
         MainData: {
         warehouseId: this.warehouseId,
         locationCode: this.searchValue,
         orderNo: this.orderNo,
         pageNo: this.pageNo,
         isCheck: false,
         },
      }
      // å¦‚果是第一页或搜索,清空数据
      if (this.pageNo === 1 || this.searchValue !== '') {
         this.allReceivingOrders = [];
         this.status = "more";
      }
      this.$u.post('/api/DeliveryOrder/CheckOutTasks', postData).then((res) => {
         if (res.status) {
         if (res.data && res.data.length > 0) {
            // è¿½åŠ æ•°æ®
            this.allReceivingOrders = [...this.allReceivingOrders, ...res.data];
            // åˆ†é¡µé€»è¾‘
            if (res.data.length < 5) {
            this.status = 'noMore';
            } else {
            this.status = 'more';
            }
            // if (this.pageNo == 1) this.allReceivingOrders = [];
            this.$u.post('/api/DeliveryOrder/GetCheckOutTasks', postData).then((
               res) => {
               if (res.status) {
                  if (res.data.length > 0) {
                     if (this.searchValue == '') {
                        this.allReceivingOrders = this.allReceivingOrders.concat(res.data);
                        // this.allReceivingOrders = res.data;
                        if (this.allReceivingOrders.length > 3) {
                           this.loadVisible = true;
                        } else {
                           this.loadVisible = false;
                        }
                     } else {
                        this.allReceivingOrders = res.data;
                        if (this.allReceivingOrders.length > 3) {
                           this.loadVisible = true;
                        } else {
                           this.loadVisible = false;
                        }
                     }
                  } else {
                     this.status = 'noMore';
                     //this.allReceivingOrders = [];
                     this.loadVisible = true;
                     // if (this.allReceivingOrders.length < 1) {
                     //    uni.showModal({
                     //       title: '提示',
                     //       content: '出库已完成,是否返回首页?',
                     //       success: (res) => {
                     //          if (res.confirm) {
                                 uni.getStorageSync('isout',true)
                     //             // ç”¨æˆ·ç‚¹å‡»ç¡®å®š
                                 setTimeout(() => {
                                    uni.navigateBack({
                                       delta: 1
                                    });
                                 }, 500);
                     //          } else {
                     //             // ç”¨æˆ·ç‚¹å‡»å–消,可以停留在当前页面
                     //             // æˆ–者执行其他操作
                     //          }
                     //       }
                     //    });
                     // }
                  }
               }
            })
            this.loadVisible = this.allReceivingOrders.length > 0;
         } else {
            this.status = 'noMore';
            this.loadVisible = this.allReceivingOrders.length > 0;
            if (this.pageNo === 1) {
            this.allReceivingOrders = [];
            }
            // ç›´æŽ¥è¿”回A页面,不需要提示
            if (this.allReceivingOrders.length === 0 && this.pageNo === 1) {
            setTimeout(() => {
               uni.navigateBack({
               delta: 1  // è¿”回A页面
               });
            }, 300); // ç¨å¾®å»¶è¿Ÿä¸€ä¸‹ï¼Œè®©ç”¨æˆ·çœ‹åˆ°"没有数据"的状态
            }
         }
         }
      }).catch(err => {
         console.error('请求失败:', err);
         this.status = 'noMore';
      })
      }
      }
   }
</script>
</script>
<style lang="scss">
   @import '@/common/uni-ui.scss';