| | |
| | | stationId: '', |
| | | stationName: '', |
| | | statusStr: '', |
| | | status: '', |
| | | status: 'ARRIVED,PENDING', |
| | | 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(), |
| | | flg: '0', |
| | | tabs: [{ |
| | | name: '待质检', |
| | | status: 'ARRIVED,PENDING', |
| | | }, |
| | | { |
| | | name: '已质检', |
| | | status: 'CHECKED', |
| | | }, |
| | | ], |
| | | } |
| | | }, |
| | | 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: {} |
| | |
| | | // var data = res.data |
| | | // this.columns_station = [data || []] |
| | | // }) |
| | | this.$http.request('get', '/api/code/value', { |
| | | params: { |
| | | type: 'DELIVERY_ORDER_STATUS' |
| | | } |
| | | }).then(res => { |
| | | var data = res.data || [] |
| | | this.status_columns = [data || []] |
| | | this.status_columns[0].unshift({ |
| | | label: '全部', |
| | | value: '' |
| | | }) |
| | | console.log('status_columns', this.status_columns) |
| | | }) |
| | | // this.$http.request('get', '/api/code/value', { |
| | | // params: { |
| | | // type: 'DELIVERY_ORDER_STATUS' |
| | | // } |
| | | // }).then(res => { |
| | | // var data = res.data || [] |
| | | // this.status_columns = [data || []] |
| | | // this.status_columns[0].unshift({ |
| | | // label: '全部', |
| | | // value: '' |
| | | // }) |
| | | // console.log('status_columns', this.status_columns) |
| | | // }) |
| | | |
| | | }, |
| | | onReachBottom() { |
| | |
| | | uni.stopPullDownRefresh() |
| | | }, |
| | | methods: { |
| | | async select_time_picker_time(e) { |
| | | console.log('select_time_picker_time', e) |
| | | var vv = e.value && new Date(e.value) || new Date() |
| | | // 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 = this.$util.toDate(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() |
| | | }, |
| | |
| | | }, |
| | | 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) |
| | | } |
| | | } |
| | | }, |
| | | changeTab(flg) { |
| | | this.flg = '' + flg |
| | | this.query.status = this.tabs[flg].status |
| | | this.refreshList() |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | |
| | | <!-- 列表页面 --> |
| | | <view class="page-delivery"> |
| | | <view class="p15" style="min-height: calc(100vh - 260rpx);"> |
| | | <view class="search-container m-t-12 flex"> |
| | | <view class="flex1 input"> |
| | | <top-tabs :tabs="tabs" :flg="flg" @change="changeTab" type="coupon"> |
| | | |
| | | </top-tabs> |
| | | <view class="search-container m-t-15 flex"> |
| | | <view class="flex1 input m-r-5"> |
| | | <u-input placeholder="请输入供应商名称" v-model="query.supplierName"> |
| | | <template slot="suffix"> |
| | | <uni-icons color="#20613D" type="search" size="24" @tap="buttonSearchFlow"></uni-icons> |
| | | </template> |
| | | </u-input> |
| | | </view> |
| | | </view> |
| | | <view class="search-container m-t-12 flex"> |
| | | <view class="flex1 input"> |
| | | <view class="flex1 input m-l-5"> |
| | | <u-input placeholder="请输入货位号" v-model="query.warehouseLocationCode"> |
| | | <template slot="suffix"> |
| | | <uni-icons color="#20613D" type="search" size="24" @tap="buttonSearchFlow"></uni-icons> |
| | | </template> |
| | | </u-input> |
| | | </view> |
| | | <view class="component-filter-container p10 bg-white m-l-10"> |
| | | </view> |
| | | |
| | | <!-- <view class="search-container m-t-12 flex"> --> |
| | | |
| | | <!-- <view class="component-filter-container p10 bg-white m-l-10"> |
| | | <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 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> |
| | | |
| | |
| | | <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'||item.status==='PENDING'" |
| | | @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==='PENDING')?'前往质检':'查看详情'}} |
| | | <!-- {{(item.status==='ARRIVED'||item.status==='PENDING')?'前往质检':'查看详情'}} --> |
| | | 前往质检 |
| | | </view> |
| | | |
| | | </view> |
| | |
| | | <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> |