陶杰
2024-12-18 6f7d07bad2b1af2664f3190bb3e92b0819c46864
1.只有待付款的订单启用倒计时,避免频繁请求接口
已修改1个文件
59 ■■■■ 文件已修改
pages/order/order.vue 59 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/order/order.vue
@@ -47,6 +47,44 @@
            this.listApi = `/api/customer/order/list`
            await this.getList()
            
            console.log('order-list-query',this.query.status)
            if(this.query.status=='PENDING'){
                this.getPendingTimer()
            }
        },
        onShow() {
            // console.log("onshow")
        },
        onReachBottom() {
            this.getMore()
        },
        async onPullDownRefresh() {
            this.page.current = 1
            await this.getList()
            uni.stopPullDownRefresh()
        },
        methods: {
            changeStatus(item) {
                this.query.status = item.value || '';
                this.refreshList();
                if(item.value=='PENDING'){
                    this.getPendingTimer()
                }else{
                    if(this.timer){
                        clearTimeout(this.timer)
                        this.timer=null
                    }
                }
            },
            getPendingTimer(){
            this.timer = setInterval(async () => {
                
                let res = await this.$http.request('get', `/api/order/time/now`, {
@@ -94,16 +132,6 @@
                    this.$forceUpdate()
            }, 1000)
        },
        onReachBottom() {
            this.getMore()
        },
        async onPullDownRefresh() {
            this.page.current = 1
            await this.getList()
            uni.stopPullDownRefresh()
        },
        methods: {
            openbrand(item) {
                console.log(item)
@@ -447,11 +475,20 @@
            </view>
        </view>
        <view class="status-list m-t-12 flex flex-wrap-normal">
            <view v-for="each of status" :key="each.value" @click.stop="(e)=>{
            <!-- <view v-for="each of status" :key="each.value" @click.stop="(e)=>{
              query.status = each.value || '';
              refreshList();
              if(query.status!='PENDING'){
                timer && clearTimeout(this.timer)
                timer=null
              }else{
                getPendingTimer()
              }
            }" class="status-each" :class="[query.status===each.value?'cur':'']">
                {{ each.name }}
            </view> -->
            <view v-for="each of status" :key="each.value" @click.stop="changeStatus(each)" class="status-each" :class="[query.status===each.value?'cur':'']">
                {{ each.name }}
            </view>
        </view>
        <no-data v-if="!list||list.length===0" style="width: 100%;" class="m-t-12"></no-data>