From 05bd41aab8c9dba2cf7afcd78493415761f11d9d Mon Sep 17 00:00:00 2001 From: xuxueyang <xuxy@fengyuntec.com> Date: 星期四, 26 九月 2024 08:54:08 +0800 Subject: [PATCH] update 供应商刷新问题 --- pages/order/order-delivery.vue | 264 ++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 223 insertions(+), 41 deletions(-) diff --git a/pages/order/order-delivery.vue b/pages/order/order-delivery.vue index 1c64565..4440ffd 100644 --- a/pages/order/order-delivery.vue +++ b/pages/order/order-delivery.vue @@ -1,77 +1,116 @@ <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="p15" style="min-height: calc(100vh - 160rpx);"> + <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="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="(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-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 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> - <view class="each-list flex"> - <view class="each-item"> - <view class="label">颜色</view> - <view class="value">{{ item.flowerColor || '-' }}</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="flower flex m-t-12" v-if="true"> + <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-item"> - <view class="label">规格</view> - <view class="value">{{ item.flowerUnit || '-' }}</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 class="line"></view> + <view class="buttons"> + <view class="button button-1" @click="printDeliveryOrder(item)">打印</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> - </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> @@ -82,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> @@ -89,19 +132,44 @@ 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 || '' } - this.listApi = '/api/supplier/delivery/list/today' - this.getList() + 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' + + await this.getList() + // this.list = [{ + // items: [{}, {}] + // }] }, onReachBottom() { @@ -110,18 +178,87 @@ 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' + + } + this.refreshList() + }) + }, changeIndex(status) { if (this.query.status !== status) { this.query.status = status + this.ids = [] + // 刷新 query this.refreshList() } @@ -130,7 +267,8 @@ uni.navigateTo({ url: `/pages/order/order-delivery-detail?id=${item.id}&status=${status}` }) - } + }, + } } </script> @@ -141,6 +279,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; @@ -177,6 +343,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 { @@ -206,6 +380,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 {} -- Gitblit v1.9.3