xuxueyang
2024-09-23 346237405871aba82e73386fdb5f0078df37db53
pages/order/order-delivery.vue
@@ -7,27 +7,41 @@
         <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-t-12 flex" v-if="!range||range=='today'">
         <view class="m-l-a m-r-a text-center" :class="[query.date?'':'desc-gray']"
            @click="show_time_picker_time=true">
            订单日期:{{query.date || '请选择日期'}}
         </view>
         <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);">
      <view class="search-container m-t-12 flex" v-if="list&&list.length>0">
         <view class="component-filter-container p10  m-l-10 flex flex1" style="text-align: right;">
            <view class="flex1 m-l-a m-r-10" @click="selectAllOrder" style="text-align: right;">
               点击打印全部(已选{{ids.length}}个)
            </view>
         </view>
      </view>
      <view class="p15" style="min-height: calc(100vh - 400rpx);">
         <no-data v-if="!list||list.length==0" style="width: 100%;"></no-data>
         <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>订单单号:{{dto.orderNo}}</view>
                  <view class="m-l-a m-r-0 status">{{dto.statusStr}}</view>
                  <view class="m-l-a m-r-15 status">{{dto.statusStr}}</view>
                  <radio class="m-l-15 m-r-0" :checked="ids.indexOf(dto.orderNo)>=0" @click="changeItem(dto)">
                  </radio>
               </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 ">
                     <!--             <view class="supplier-name ">
                        <image class="icon-dp" src="/static/common/icon-dp.png"></image>
                        {{ item.supplierName }}
                     </view>
                     </view> -->
                     <view class="flower flex m-t-12" v-if="true">
                        <image class="image img100 m-r-6" :src="item.flowerCover"
@@ -63,6 +77,11 @@
                     </view>
                     <view class="line"></view>
                     <view class="buttons">
                        <view class="button button-1" @click="printDeliveryOrder(item)">打印</view>
                     </view>
                  </view>
               </view>
@@ -91,6 +110,7 @@
                  <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>
@@ -101,6 +121,10 @@
      <!-- 判断是否到底了,自动吧 -->
      <footer-msg :more="page.total>0&&page.total>page.current*page.size"></footer-msg>
      <u-calendar :show="show_time_picker_time" mode="single" @confirm="select_time_picker_time"
         @cancel="show_time_picker_time = false" :monthNum="12" :maxDate="defaultDatePre"
         :defaultDate="defaultDatePre" @close="show_time_picker_time = false" minDate="2024-07-01" toolTip="选择订单日期">
      </u-calendar>
   </view>
</template>
@@ -108,15 +132,20 @@
   export default {
      data() {
         return {
            ids:[],
            tabIndex: 0,
            query: {
               status: '',
               date: '',
            },
            selecttoday: true,
            defaultDatePre: new Date(),
            show_time_picker_time: false,
            range: '', //today的话才有查询条件,其他的话,不展示顶部查询条件(yesterday、month、todayall)
         }
      },
      onLoad(options) {
      async onLoad(options) {
         if (options.status) {
            this.query.status = options.status || ''
         }
@@ -137,7 +166,10 @@
         // this.listApi = '/api/supplier/delivery/list'
         this.getList()
         await this.getList()
         // this.list = [{
         //    items: [{}, {}]
         // }]
      },
      onReachBottom() {
@@ -146,20 +178,74 @@
      async onShow() {
         if (this.sign['delivery']) {
            await this.$store.dispatch('sign_clear', 'delivery');
            this.ids = []
            this.refreshList()
         }
      },
      async onPullDownRefresh() {
         this.page.current = 1
         this.ids = []
         await this.getList()
         uni.stopPullDownRefresh()
      },
      methods: {
         selectAllOrder() {
            if (this.ids.length > 0) {
               // this.$message.showToast('敬请期待')
               var arr = []
               for (var item of this.list) {
                  if (this.ids.indexOf(item.orderNo) >= 0) {
                     for (var each of item.items) {
                        arr.push(each)
                     }
                  }
               }
               if (arr.length > 0) {
                  this.$storage.setItem('cache_delivery_order_print', JSON.stringify(arr))
                  uni.navigateTo({
                     url: '/sub_pages/supplier/print/print-list'
                  })
               }
            }
         },
         changeItem(item) {
            if (this.ids.indexOf(item.orderNo) >= 0) {
               this.ids.splice(this.ids.indexOf(item.orderNo), 1)
            } else {
               this.ids.push(item.orderNo)
            }
         },
         printDeliveryOrder(item) {
            var arr = []
            arr.push(item)
            this.$storage.setItem('cache_delivery_order_print', JSON.stringify(arr))
            uni.navigateTo({
               url: '/sub_pages/supplier/print/print-list'
            })
         },
         async select_time_picker_time(e) {
            this.ids = []
            this.selecttoday = false
            this.listApi = '/api/supplier/delivery/list'
            var vv = e && e.length >= 1 && new Date(e[0]) || new Date()
            this.show_time_picker_time = false;
            this.query.date = this.$util.toDate(vv) || ''
            this.refreshList()
         },
         changeSelecrRange() {
            if (this.selecttoday) {
               return
            }
            this.selecttoday = !this.selecttoday
            this.ids = []
            this.$nextTick(() => {
               if (this.selecttoday) {
                  this.query.date = ''
                  this.listApi = '/api/supplier/delivery/list/today'
               } else {
                  this.listApi = '/api/supplier/delivery/list'
@@ -171,6 +257,8 @@
         changeIndex(status) {
            if (this.query.status !== status) {
               this.query.status = status
               this.ids = []
               // 刷新 query
               this.refreshList()
            }