1
xuxueyang
2024-08-13 c9ece393fc028ffecca0915d1b9af62d51b5aef6
pages/order/order-delivery.vue
@@ -1,77 +1,96 @@
<template>
   <view class="list-container order-sale supplier">
      <view class="component-tab-container m-t-12">
      <view class="component-tab-container m-t-12" v-if="!range||range=='today'">
         <view class="tab-item" :class="[query.status==''?'cur':'']" @click="changeIndex('')">全部订单</view>
         <view class="tab-item" :class="[query.status=='PENDING'?'cur':'']" @click="changeIndex('PENDING')">待入位
         </view>
         <view class="tab-item" :class="[query.status=='ARRIVED'?'cur':'']" @click="changeIndex('ARRIVED')">已入位
         </view>
      </view>
      <view class="m-t-12" v-if="!range||range=='today'">
         <view class="m-l-a m-r-20 w-fit flex">
            <radio :checked="selecttoday" @click="changeSelecrRange"></radio>
            <view>只查看今日</view>
         </view>
      </view>
      <view class="p15" style="min-height: calc(100vh - 160rpx);">
         <no-data v-if="!list||list.length==0" style="width: 100%;"></no-data>
         <view v-for="(item,index) in list" :key="index" class="m-b-24 order-sale-list list-container">
         <view v-for="(dto,index) in list" :key="index" class="m-b-24 order-sale-list list-container">
            <view class="order-sale-item list-item">
               <view class="title flex">
                  <view>订单单号:{{item.orderNo}}</view>
                  <view class="m-l-a m-r-0 status">{{item.statusStr}}</view>
                  <view>订单单号:{{dto.orderNo}}</view>
                  <view class="m-l-a m-r-0 status">{{dto.statusStr}}</view>
               </view>
               <view class="line" v-if="false"></view>
               <view class="flower flex" v-if="false">
                  <image class="image img100 m-r-6" :src="item.flowerCover" @click="previewImg(item.flowerCover)">
                  </image>
                  <view class="flex1">
                     <view class=" flex">
                        <view class="title">{{item.flowerName }}
                        </view>
               <view v-if="dto.items">
                  <view v-for="(item,k) of dto.items" :key="k">
                     <view class="line" v-if="true"></view>
                     <view class="supplier-name ">
                        <image class="icon-dp" src="/static/common/icon-dp.png"></image>
                        {{ item.supplierName }}
                     </view>
                     <view class="each-list flex">
                        <view class="each-item">
                           <view class="label">颜色</view>
                           <view class="value">{{ item.flowerColor || '-' }}</view>
                     <view class="flower flex m-t-12" v-if="true">
                        </view>
                        <view class="each-item">
                           <view class="label">规格</view>
                           <view class="value">{{ item.flowerUnit || '-' }}</view>
                        </view>
                     </view>
                  </view>
                  <view class="each-list price">
                     <view class="each-item">
                        <view class="value">¥{{ item.price || '-' }}</view>
                     </view>
                     <view class="each-item">
                        <view class="value">x {{ item.num || 0 }}</view>
                     </view>
                  </view>
                        <image class="image img100 m-r-6" :src="item.flowerCover"
                           @click="previewImg(item.flowerCover)">
                        </image>
                        <view class="flex1">
                           <view class=" flex">
                              <view class="title"><span
                                    class="level">{{ item.flowerCategory || ''}}</span><span
                                    class="level">{{ item.flowerLevelStr || ''}}</span>{{item.flowerName }}
                              </view>
                           </view>
                           <view class="each-list">
                              <view class="each-item flex1 flex">
                                 <view class="label">颜色</view>
                                 <view class="value">{{ item.flowerColor || '-' }}</view>
                              </view>
                              <view class="each-item flex1 flex">
                                 <view class="label">规格</view>
                                 <view class="value">{{ item.flowerUnit || '-' }}</view>
                              </view>
                           </view>
                        </view>
                        <view class="each-list price">
                           <view class="each-item flex1">
                              <view class="value">¥{{ item.price || '-' }}</view>
                           </view>
                           <view class="each-item flex1">
                              <view class="value">x {{ item.num || 0 }}</view>
                           </view>
                        </view>
                     </view>
                  </view>
               </view>
               <view class="line"></view>
               <view class="delivery-form">
                  <view class="form-item" style="max-width: 100%;">
                     <view class="label">下单时间</view>
                     <view class="value">{{item.paymentTime}}</view>
                     <view class="value">{{dto.paymentTime}}</view>
                  </view>
               </view>
               <view class="delivery-form">
                  <view class="form-item">
                     <view class="label">仓库名称</view>
                     <view class="value red">{{item.warehouseName}}</view>
                     <view class="value red">{{dto.warehouseName || '待分配'}}</view>
                  </view>
                  <view class="form-item">
                     <view class="label">库位名称</view>
                     <view class="value red">{{item.warehouseLocationCode}}</view>
                     <view class="value red">{{dto.warehouseLocationCode || '待分配'}}</view>
                  </view>
               </view>
               <view class="line"></view>
               <view class="buttons">
                  <view class="button button-1 m-r-10" v-if="item.status==='PENDING'"
                     @click="toDetail(item,'PENDING')">确认入位</view>
                  <view class="button button-0" @click="toDetail(item,'')">查看详情</view>
                  <view class="button button-1 m-r-10" v-if="dto.status==='PENDING'"
                     @click="toDetail(dto,'PENDING')">确认入位</view>
                  <view class="button button-0" @click="toDetail(dto,'')">查看详情</view>
               </view>
@@ -93,19 +112,35 @@
            query: {
               status: '',
            },
            selecttoday: true,
            range: '', //today的话才有查询条件,其他的话,不展示顶部查询条件(yesterday、month、todayall)
         }
      },
      onLoad(options) {
         if (options.status) {
            this.query.status = options.status || ''
         }
         this.listApi = '/api/supplier/delivery/list/today'
         this.range = options.range || ''
         //目前应该是admin(质检人员不会用这个页面)
         if (this.range === 'todayall') {
            this.listApi = '/api/supplier/delivery/list/today'
         } else if (this.range === 'month') {
            this.listApi = '/api/supplier/delivery/list/month'
         } else if (this.range === 'yesterday') {
            this.listApi = '/api/supplier/delivery/list/yesterday'
         } else {
            this.listApi = '/api/supplier/delivery/list/today'
         }
         // this.listApi = '/api/supplier/delivery/list'
         this.getList()
      },
      onReachBottom() {
         this.page.current += 1
         this.getMore()
      },
      async onShow() {
@@ -120,6 +155,19 @@
         uni.stopPullDownRefresh()
      },
      methods: {
         changeSelecrRange() {
            this.selecttoday = !this.selecttoday
            this.$nextTick(() => {
               if (this.selecttoday) {
                  this.listApi = '/api/supplier/delivery/list/today'
               } else {
                  this.listApi = '/api/supplier/delivery/list'
               }
               this.refreshList()
            })
         },
         changeIndex(status) {
            if (this.query.status !== status) {
               this.query.status = status
@@ -131,7 +179,8 @@
            uni.navigateTo({
               url: `/pages/order/order-delivery-detail?id=${item.id}&status=${status}`
            })
         }
         },
      }
   }
</script>
@@ -142,6 +191,34 @@
         background-color: #fff;
         margin-bottom: 20rpx;
         padding: 22rpx;
         .each-item {
            .label {
               min-width: 120rpx;
            }
            .label:after {
               content: ":";
               margin-right: 10rpx;
            }
         }
         .supplier-name {
            border-bottom: 2rpx solid #EEEEEE;
            font-weight: 600;
            font-size: 28rpx;
            color: #000000;
            padding-bottom: 10rpx;
            line-height: 40rpx;
            .icon-dp {
               width: 27rpx;
               height: 27rpx;
               display: inline-block;
               vertical-align: middle;
            }
         }
         .buttons {
            display: flex;
@@ -178,6 +255,14 @@
            font-size: 28rpx;
            color: #000000;
            line-height: 40rpx;
            .level {
               font-weight: 400;
               font-size: 28rpx;
               color: #20613D;
               line-height: 40rpx;
               margin-right: 20rpx;
            }
         }
         .status {
@@ -207,6 +292,14 @@
               font-size: 28rpx;
               color: #000000;
               line-height: 40rpx;
               .level {
                  font-weight: 400;
                  font-size: 28rpx;
                  color: #20613D;
                  line-height: 40rpx;
                  margin-right: 20rpx;
               }
            }
            .desc {}