xuxueyang
2024-09-23 346237405871aba82e73386fdb5f0078df37db53
update 供应商的批量打印和刷新问题
已修改2个文件
106 ■■■■■ 文件已修改
pages/home/supplier-home.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/order/order-delivery.vue 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/home/supplier-home.vue
@@ -111,12 +111,12 @@
            <view class="tj-panel  pink flex1"
                @click="goto('/pages/order/order-delivery?status=PENDING&range=today',true)">
                <view class="name">今日待配送</view>
                <view class="title">{{tj.deliverCount||0}}单</view>
                <view class="title">{{tj.deliverCount||0}}扎</view>
            </view>
            <view class="tj-panel green flex1"
                @click="goto('/pages/order/order-delivery?range=today',true)">
                <view class="name green">今日配送汇总</view>
                <view class="title">{{tj.deliverTotal||0}}单</view>
                <view class="title">{{tj.deliverTotal||0}}扎</view>
            </view>
        </view>
        <view class="m-t-12" @click="getNoticeMore">
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()
                }