1
xuxueyang
2024-09-10 1b5dd40a24e5be63437aaa5c30e2e334636cdbe8
sub_pages/partner/delivery/delivery.vue
@@ -9,19 +9,25 @@
               statusStr: '',
               status: '',
               warehouseLocationCode: '',
               date: '',
            },
            show_select_station: false,
            show_select_status: false,
            selecttoday: true,
            columns_station: [],
            status_columns: [],
            show_time_picker_time: false,
            tmp_picker_time: new Date(),
         }
      },
      onLoad(options) {
         this.query.stationId = options.stationId || ''
         this.query.stationName = options.stationName || ''
         this.listApi = '/api/delivery/list/today'
         // this.listApi = '/api/delivery/list/today'
         this.listApi = '/api/delivery/check/list/today'
         // this.listApi = '/api/delivery/check/list'
         this.getList()
         // this.$http.request('get', '/api/station/list', {
         //    params: {}
@@ -53,6 +59,36 @@
         uni.stopPullDownRefresh()
      },
      methods: {
         async select_time_picker_time(e) {
            console.log('select_time_picker_time', e)
            var vv = e.value
            // if (vv) {
            //    vv = vv.replace('aN:', '00:')
            // }
            // var time = new Date(`2023-8-21 ${vv}:00`)
            this.show_time_picker_time = false
            this.query.date = vv || ''
         },
         changeSelecrRange() {
            this.selecttoday = !this.selecttoday
            this.$nextTick(() => {
               if (this.selecttoday) {
                  this.listApi = '/api/delivery/check/list/today'
                  this.query.date = ''
               } else {
                  this.listApi = '/api/delivery/check/list'
               }
               this.refreshList()
            })
         },
         callTel(tel) {
            if (tel) {
               uni.makePhoneCall({
                  phoneNumber: tel
               })
            }
         },
         buttonSearchFlow() {
            this.refreshList()
         },
@@ -70,27 +106,29 @@
         },
         toDetail(item) {
            uni.navigateTo({
               url: `/sub_pages/partner/delivery/delivery-detail?id=${item.id}`
               url: `/sub_pages/partner/delivery/delivery-supplier-detail-list?warehouseLocationCode=${this.query.warehouseLocationCode||''}&stationId=${this.query.stationId||''}&supplierId=${item.id}&range=` +
                  (this
                     .selecttoday ? 'today' : '')
            })
         },
         async compelete(item) {
            await this.$message.confirm("是否完成此单质检")
            await this.$message.confirm("是否一键完成此单的质检")
            // '/api/delivery/list/view/complete'
            const {
               code,
               data
            } = this.$http.request('get', '/api/delivery/list/view/complete', {
            } = await this.$http.request('get', '/api/delivery/check/list/complete', {
               params: {
                  id: item.id
               }
            })
            if (code === 0) {
               this.$message.showToast('完成成功')
               let tmp = this
               setTimeout(async () => {
                  await tmp.refreshList()
                  tmp.$forceUpdate()
               }, 200)
               // let tmp = this
               // setTimeout(async () => {
               //    await tmp.refreshList()
               //    tmp.$forceUpdate()
               // }, 500)
            }
         }
      }
@@ -109,6 +147,7 @@
               </u-input>
            </view>
         </view>
         <view class="search-container m-t-12 flex">
            <view class="flex1 input">
               <u-input placeholder="请输入货位号" v-model="query.warehouseLocationCode">
@@ -121,7 +160,18 @@
               <view class="flex1" @click="show_select_status=true">
                  配送单状态:{{ query.statusStr || '全部' }}
                  <image src="../../../static/common/icon-arrow-down.png" class="icon-arrow-down"></image>
               </view>
               </view>
            </view>
         </view>
         <view class="m-t-12 m-b-12" class="flex">
            <view class="" v-if="!selecttoday" :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>
@@ -139,45 +189,59 @@
         <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">
            <view class="delivery-item bg-white br-4 p10">
               <view class="title">供应商:{{ item.supplierName }}</view>
               <view class="title flex">
                  <view>供应商:{{ item.supplierName }}</view>
                  <view class="w-fit m-l-a m-r-0 text-right" v-if="item.supplierTel"
                     @click="callTel(item.supplierTel)">{{ item.supplierTel }}</view>
               </view>
               <view class="line-gray"></view>
               <view class="form-item">
               <!--       <view class="form-item">
                  <view class="form-item-label">订单单号</view>
                  <view class="form-item-value">{{ item.orderNo || '-' }}</view>
               </view>
               </view> -->
               <view class="flex">
                  <view class="form-item flex1">
                     <view class="form-item-label">集货站</view>
                     <view class="form-item-value">{{ item.stationName || '-' }}</view>
                  </view>
                  <view class="form-item flex1">
                  <!--    <view class="form-item flex1">
                     <view class="form-item-label">货位号</view>
                     <view class="form-item-value">{{ item.warehouseLocationCode || '-' }}</view>
                  </view>
                  </view> -->
               </view>
               <view class="flex">
                  <view class="form-item flex1">
                  <!-- <view class="form-item flex1">
                     <view class="form-item-label">状态</view>
                     <view class="form-item-value">{{ item.statusStr || '-' }}</view>
                  </view> -->
                  <view class="form-item flex1">
                     <view class="form-item-label">交易金额</view>
                     <view class="form-item-value">¥{{ item.totalAmount || '0.00' }}</view>
                  </view>
                  <view class="form-item flex1">
                     <view class="form-item-label">供货总数</view>
                     <view class="form-item-value">{{ item.totalNum || '-' }}</view>
                  </view>
               </view>
               <view class="form-item flex1">
               <!--    <view class="form-item flex1">
                  <view class="form-item-label">送达时间</view>
                  <view class="form-item-value">{{ item.arriveTime || '-' }}</view>
               </view> -->
               <view class="form-item flex1">
                  <view class="form-item-label">待质检数</view>
                  <view class="form-item-value">{{ item.uncheckedCount || '0' }}</view>
               </view>
               <view class="line-gray"></view>
               <view class="flex buttons">
                  <view class="button button-1 m-l-15 m-r-0" v-if="item.status==='ARRIVED'"
                     @click="compelete(item)">质检完成</view>
                  <!-- v-if="item.status==='ARRIVED'||item.status==='PENDING'" -->
                  <view class="button button-1 m-l-a m-r-15" @click="compelete(item)">一键质检</view>
                  <view class="button button-0 m-l-a m-r-0" @click="toDetail(item)">
                     {{item.status==='ARRIVED'?'前往质检':'查看详情'}}
                     <!-- {{(item.status==='ARRIVED'||item.status==='PENDING')?'前往质检':'查看详情'}} -->
                     前往质检
                  </view>
               </view>
@@ -192,6 +256,9 @@
      <u-picker @confirm="select_status" keyName="label" @cancel="show_select_status=false" :show="show_select_status"
         :columns="status_columns"></u-picker>
      <u-datetime-picker :show="show_time_picker_time" @cancel="show_time_picker_time=false"
         @confirm="select_time_picker_time" v-model="tmp_picker_time" mode="date"></u-datetime-picker>
   </view>
</template>