1
yangpeixing
2026-03-31 e9fbecd61a9ab8c5d906269150b6cdc8ca86dfdb
¼ª°²PDA/pages/stash/CPinboundorder.vue
@@ -6,28 +6,46 @@
         </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">
         <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
                     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;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.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;line-height: 17px;color: #596671;font-size: 14px;text-align: center;display: flex;justify-content: left;">
                     ç‰©æ–™æ–™å·ï¼š&nbsp;&nbsp;
                     <view class="container">
                        <view v-for="(materielCode, index) in getUniqueMaterielCodes(item.details)" :key="index">
                           {{materielCode}}
                           <u-line color="blue" v-if="index < getUniqueMaterielCodes(item.details).length - 1" />
                        </view>
                     </view>
                  </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}}
                     </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.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>
@@ -43,7 +61,9 @@
</template>
<script>
   import { InboundOrderStatus } from '../../common/config.js'
   import {
      InboundOrderStatus
   } from '../../common/config.js'
   export default {
      data() {
         return {
@@ -55,7 +75,7 @@
            pageNo: 1,
            scrollTop: 0,
            warehouseId: "",
            isLoaded:false
            isLoaded: false
         }
      },
      onLoad(res) {
@@ -66,7 +86,7 @@
      onReachBottom() {
         this.pageNo += 1;
         this.getData();
         this.isLoaded=true;
         this.isLoaded = true;
      },
      onShow() {
         if (this.isLoaded) {
@@ -78,6 +98,14 @@
         this.scrollTop = e.scrollTop;
      },
      methods: {
         // ç‰©æ–™æ–™å·åŽ»é‡ï¼ˆä¿ç•™åŽŸæœ‰åŠŸèƒ½ï¼‰
         getUniqueMaterielCodes(details) {
            if (!details || !Array.isArray(details)) return [];
            const uniqueCodes = [...new Set(details.map(item => item.materielCode))];
            return uniqueCodes;
         },
         search(res) {
            this.getData();
         },
@@ -100,8 +128,12 @@
                           ...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)
                           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)
                        }));
                        // this.allReceivingOrders = res.data;
                        if (this.allReceivingOrders.length > 3) {
@@ -114,8 +146,12 @@
                           ...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)
                           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.allReceivingOrders.length > 3) {
                           this.loadVisible = true;
@@ -213,4 +249,16 @@
   .footer {
      padding-top: 50%;
   }
</style>
<style scoped>
/* ä¼˜åŒ–:物料料号换行显示,防止横向溢出 */
.container {
   display: flex;
   flex-wrap: wrap;
   gap: 10rpx;
}
.container view {
   white-space: nowrap;
}
</style>