From c9ece393fc028ffecca0915d1b9af62d51b5aef6 Mon Sep 17 00:00:00 2001 From: xuxueyang <xuxy@fengyuntec.com> Date: 星期二, 13 八月 2024 17:21:19 +0800 Subject: [PATCH] 1 --- pages/order/order.vue | 78 ++++++++++++++++++++++++++++++++++----- 1 files changed, 68 insertions(+), 10 deletions(-) diff --git a/pages/order/order.vue b/pages/order/order.vue index 3d4c471..ee974fb 100644 --- a/pages/order/order.vue +++ b/pages/order/order.vue @@ -1,11 +1,13 @@ <script> export default { + data() { return { type: 'customer', query: { status: '', }, + timer: undefined, status: [{ name: '全部', value: '' @@ -37,10 +39,50 @@ ] }; }, - onLoad(options) { + onUnload() { + this.timer && clearTimeout(this.timer) + }, + async onLoad(options) { this.query.status = options.status || '' this.listApi = `/api/customer/order/list` - this.getList() + await this.getList() + this.timer = setInterval(() => { + //倒计时 + var nowdate = new Date().getTime() - 1000 * 60 * 5 + var change = false + for (var item of this.list) { + if (item.statusBackend === 'PENDING') { + //计算倒计时 + var diff = new Date(item.createTime).getTime() - nowdate + // console.log('diff', diff, item) + if (diff <= 2000 && true) { + //超过了5分钟 + item.statusBackend = 'CANCEL' + item.statusBackend = '已取消' + item.status = 'CANCEL' + item.statusStr = '已取消' + + item.bctime = '' + change = true + + } else { + //相差 + var alltime = parseInt(diff / 1000) + var tt = 0 + if (alltime > 60) { + tt = alltime - parseInt(alltime / 60) * 60 + } else { + tt = alltime + } + item.bctime = `0${parseInt(alltime / 60)}:${tt<10?'0':''}${tt}` + change = true + + } + } + } + if (change) + this.$forceUpdate() + }, 1000) }, onReachBottom() { this.getMore() @@ -182,7 +224,7 @@ } } break - case 'delOrder':{ + case 'delOrder': { await this.$message.confirm('是否删除此订单') // 发送请求 this.$message.showLoading() @@ -242,6 +284,13 @@ </view> <view class="value" style="color: #000">{{ dto.statusBackendStr || '-' }}</view> </view> + <view class="desc flex" v-if="dto.deliveryNo" @click="copyTxt(dto.deliveryNo)"> + <view class="label"> + 快递单号: + </view> + <view class="value">{{ dto.deliveryNo }}</view> + </view> + <view class="flex"> <view class="desc flex flex1"> <view class="label"> @@ -256,12 +305,21 @@ <view class="value">{{ dto.customerTel || '-' }}</view> </view> </view> - <view class="desc flex"> - <view class="label"> - 收货地址: + <view class="flex"> + <view class="desc flex flex1"> + <view class="label"> + 收货地址: + </view> + <view class="value">{{ dto.customerAddress }}</view> </view> - <view class="value">{{ dto.customerAddress }}</view> + <view class="desc flex flex1" v-if="dto.deliveryName"> + <view class="label"> + 快递名称: + </view> + <view class="value">{{ dto.deliveryName }}</view> + </view> </view> + <view class="desc flex" v-if="dto.statusBackend!=='PENDING'&&dto.statusBackend!=='CANCEL'"> <view class="label"> 支付时间: @@ -324,7 +382,7 @@ <view class="button button-0 m-l-a m-r-15" v-if="dto.statusBackend==='PENDING'" @click="buttonClick(dto,'cancelOrder')">取消订单</view> <view class="button button-1 m-l-15 m-r-15" v-if="dto.statusBackend==='PENDING'" - @click="buttonClick(dto,'payAgain')">重新支付</view> + @click="buttonClick(dto,'payAgain')">重新支付<span v-if="dto.bctime">({{dto.bctime}})</span></view> <view class="button button-0 m-l-a m-r-15" @click="buttonClick(dto,'refund')" v-if="dto.couldRefund"> @@ -333,9 +391,9 @@ <view class="button button-0 m-l-a m-r-15" @click="buttonClick(dto,'confirm')" v-if="dto.statusBackend ==='RECEIVE'"> 确认收货 </view> - + <!-- ||item.statusBackend=='COMPLETED' --> <view class="button button-1 m-l-a m-r-15" @click="toDetailSale(dto)" - v-if="dto.statusBackend === 'EVALUATE'||item.statusBackend=='COMPLETED'"> 申请售后 + v-if="dto.statusBackend === 'RECEIVE'"> 申请售后 </view> <view class="button button-0 m-l-a m-r-15" @click="buttonClick(dto,'evaluate')" v-if="dto.statusBackend === 'EVALUATE'"> 评价 -- Gitblit v1.9.3