yanjinhui
2025-12-01 2b49f7643d15b74889d190f216630559006ed93a
н¨Îļþ¼Ð/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,14 +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();
         }
@@ -81,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>