From ded34e37fca5e2e05e17693d2524c3d664ebf017 Mon Sep 17 00:00:00 2001 From: xuxueyang <xuxy@fengyuntec.com> Date: 星期三, 14 八月 2024 11:20:18 +0800 Subject: [PATCH] update 搜索历史 --- pages/order/order.vue | 167 +++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 124 insertions(+), 43 deletions(-) diff --git a/pages/order/order.vue b/pages/order/order.vue index da85fca..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() @@ -78,7 +120,7 @@ }) this.$message.hideLoading() if (code === 0) { - this.$store.dispatch('sign_add','order') + this.$store.dispatch('sign_add', 'order') this.refreshList() } } @@ -123,7 +165,7 @@ console.log('pay success', res) that.$message.showToast('支付成功') setTimeout(() => { - that.$store.dispatch('sign_add','order') + that.$store.dispatch('sign_add', 'order') that.refreshList() }, 200) }, @@ -176,8 +218,26 @@ } }) this.$message.hideLoading() - if (code === 0) { - this.$store.dispatch('sign_add','order') + if (code === 0) { + this.$store.dispatch('sign_add', 'order') + this.refreshList() + } + } + break + case 'delOrder': { + await this.$message.confirm('是否删除此订单') + // 发送请求 + this.$message.showLoading() + const { + code + } = await this.$http.request('get', '/api/customer/order/delete', { + params: { + id: item.id, + } + }) + this.$message.hideLoading() + if (code === 0) { + // this.$store.dispatch('sign_add', 'order') this.refreshList() } } @@ -192,7 +252,7 @@ </script> <template> <view class="order-container"> - <view class="order-top"> + <view class="order-top" v-if="false"> <view class="title">订单信息</view> <view class="flex"> <image class="image img100" @@ -218,47 +278,64 @@ </view> <view class="status t-red m-l-a m-r-0">¥{{ dto.paymentAmount || dto.totalAmount || '0'}}</view> </view> - <view class="desc flex" v-if="!query.status"> + <view class=" desc flex" v-if="!query.status"> <view class="label"> 订单状态: </view> - <view class="value">{{ dto.statusBackendStr }}</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"> 收货人: </view> - <view class="value">{{ dto.customer }}</view> + <view class="value">{{ dto.customer || '-' }}</view> </view> <view class="desc flex flex1"> <view class="label"> 收货人手机号码: </view> - <view class="value">{{ dto.customerTel }}</view> + <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'"> + + <view class="desc flex" v-if="dto.statusBackend!=='PENDING'&&dto.statusBackend!=='CANCEL'"> <view class="label"> 支付时间: </view> - <view class="value">{{ dto.paymentTime }}</view> + <view class="value">{{ dto.paymentTime || '-' }}</view> </view> <view class="flower-info m-b-5 m-t-8 br-4" v-for="(item,index) of dto.items" :key="index"> <view class="line-gray"></view> - + <view class="supplier-name "> <image class="icon-dp br-4" src="/static/common/icon-dp.png"></image> {{ item.supplierName }} </view> <view class="flex m-t-12 flex-wrap-normal"> - <image class="flower-img img100 m-r-6" :src="item.flowerCover" @click="previewImg(item.flowerCover)"> + <image class="flower-img img100 m-r-6" :src="item.flowerCover" + @click="previewImg(item.flowerCover)"> </image> <view class="flex1"> <view class=" flex"> @@ -270,50 +347,53 @@ <view class="each-item"> <view class="label">颜色</view> <view class="value">{{ item.flowerColor || '-' }}</view> - + </view> <view class="each-item"> <view class="label">规格</view> <view class="value">{{ item.flowerUnit || '-' }}</view> </view> - + <view class="each-item"> <view class="label">数量</view> <view class="value">{{ item.num || 0 }}</view> - + </view> <view class="each-item"> <view class="label">售价</view> <view class="value">¥{{ item.price || 0 }}</view> - + </view> <view class="each-item"> <view class="label">商品总金额</view> <view class="value">¥{{ item.total || 0 }}</view> - + </view> </view> </view> </view> - + </view> <view class="line-gray"></view> - + <view class="flex buttons"> + <view class="button button-0 m-l-a m-r-15" v-if="dto.statusBackend==='CANCEL'" + @click="buttonClick(dto,'delOrder')">删除订单</view> <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"> + <view class="button button-0 m-l-a m-r-15" @click="buttonClick(dto,'refund')" + v-if="dto.couldRefund"> 申请退款 </view> <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'"> 评价 @@ -398,12 +478,13 @@ border: 2rpx solid #20613D; } } + .flower-info { padding: 0rpx; - + background: #FFFFFF; border-radius: 8rpx; - + .supplier-name { border-bottom: 2rpx solid #EEEEEE; font-weight: 600; @@ -411,7 +492,7 @@ color: #000000; padding-bottom: 10rpx; line-height: 40rpx; - + .icon-dp { width: 27rpx; height: 27rpx; @@ -419,13 +500,13 @@ vertical-align: middle; } } - + .title { font-weight: 600; font-size: 28rpx; color: #000000; line-height: 40rpx; - + .level { font-weight: 400; font-size: 28rpx; @@ -434,19 +515,19 @@ margin-right: 20rpx; } } - + .flower-img { width: 128rpx; height: 118rpx; min-width: 128rpx; min-height: 118rpx; } - + .each-list { display: flex; flex-wrap: wrap; margin-top: 6rpx; - + .each-item { min-width: 40%; max-width: 50%; @@ -454,7 +535,7 @@ margin-left: 0rpx; margin-right: auto; display: flex; - + .label { font-weight: 400; font-size: 24rpx; @@ -462,11 +543,11 @@ text-align: left; padding-right: 10rpx; } - + .label::after { content: ": " } - + .value { font-weight: 400; font-size: 24rpx; @@ -474,9 +555,9 @@ } } } - + } - + } -- Gitblit v1.9.3