н¨Îļþ¼Ð/PDA/pages/stash/inboundorder.vue
@@ -1,45 +1,108 @@
<template>
   <view>
      <u-sticky>
         <view style="background-color: #ffffff;">
            <uni-search-bar @confirm="search" v-model="searchValue"></uni-search-bar>
      <view style="background-color: #ffffff">
        <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.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;">
              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;">
              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;">
              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="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="
                  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;">
                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;">
                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>
@@ -48,9 +111,7 @@
</template>
<script>
   import {
      InboundOrderStatus
   } from '../../common/config.js'
import { InboundOrderStatus } from "../../common/config.js";
   export default {
      data() {
         return {
@@ -62,8 +123,8 @@
            pageNo: 1,
            scrollTop: 0,
            warehouseId: "",
            isLoaded: false
         }
      isLoaded: false,
    };
      },
      onLoad(res) {
         this.warehouseId = res.warehouseId;
@@ -71,16 +132,16 @@
         this.getData();
      },
      onReachBottom() {
         if (this.status === 'more') {
    if (this.status === "more") {
            this.pageNo += 1;
         this.getData();
         this.isLoaded = true;
         }
      },
      onShow() {
         this.isLoaded = uni.getStorageSync('isLoaded');
    this.isLoaded = uni.getStorageSync("isLoaded");
         if (this.isLoaded) {
            uni.removeStorageSync('isLoaded');
      uni.removeStorageSync("isLoaded");
            this.pageNo = 1;
            this.allReceivingOrders = [];
            // ä»Žå…¶ä»–页面返回时刷新
@@ -95,50 +156,56 @@
            this.pageNo = 1;
            this.getData();
         },
         groupClick() {
         },
    groupClick() {},
   getData() {
  var postData = {
    MainData: {
      warehouseId: this.warehouseId,
      orderNo: this.searchValue,
      pageNo: this.pageNo
          pageNo: this.pageNo,
    },
  }
      };
  
  // å¦‚果是第一页或搜索,清空数据
  if (this.pageNo === 1 || this.searchValue !== '') {
      if (this.pageNo === 1 || this.searchValue !== "") {
    this.allReceivingOrders = [];
    this.status = "more";
  }
  
  this.$u.post('/api/CabinOrder/GetCabinOrders', postData).then((res) => {
      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 => ({
              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)
                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];
              this.allReceivingOrders = [
                ...this.allReceivingOrders,
                ...newData,
              ];
        
        // å¦‚果返回的数据少于5条,说明没有更多数据了
        if (res.data.length < 5) {
          this.status = 'noMore';
                this.status = "noMore";
        } else {
          this.status = 'more';
                this.status = "more";
        }
        
        // æŽ§åˆ¶åŠ è½½æç¤ºæ˜¾ç¤º
        this.loadVisible = this.allReceivingOrders.length > 0;
      } else {
        // æ²¡æœ‰æ•°æ®
        this.status = 'noMore';
              this.status = "noMore";
        this.loadVisible = this.allReceivingOrders.length > 0;
        
        // å¦‚果是第一页且没有数据,显示空状态
@@ -147,17 +214,18 @@
        }
      }
    }
  }).catch(err => {
    console.error('请求失败:', err);
    this.status = 'noMore';
  })
}
      }
   }
        .catch((err) => {
          console.error("请求失败:", err);
          this.status = "noMore";
        });
    },
  },
};
</script>
<style lang="scss">
   @import '@/common/uni-ui.scss';
@import "@/common/uni-ui.scss";
   page {
      display: flex;