From efa9bfe98ba906e4c9b8f49c89f5da162a46bb0f Mon Sep 17 00:00:00 2001 From: 陶杰 <1378534974@qq.com> Date: 星期一, 13 一月 2025 10:21:24 +0800 Subject: [PATCH] 1.微信一键登录:新增“同意用户协议”之后才可登录 --- pages/order/order.vue | 223 +++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 150 insertions(+), 73 deletions(-) diff --git a/pages/order/order.vue b/pages/order/order.vue index 606db74..f0a667a 100644 --- a/pages/order/order.vue +++ b/pages/order/order.vue @@ -46,43 +46,18 @@ this.query.status = options.status || '' this.listApi = `/api/customer/order/list` 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 + console.log('order-list-query',this.query.status) + if(this.query.status=='PENDING'){ + this.getPendingTimer() + } + + }, - } 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) + + onShow() { + // console.log("onshow") }, onReachBottom() { this.getMore() @@ -93,8 +68,71 @@ 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`, { + params: {} + }) + let serverTime=res.data; + + //倒计时 + var nowdate = serverTime - 1000 * 60 * 15 + // 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}` + item.bctime = `${parseInt(alltime / 60) < 10 ? '0' : ''}${parseInt(alltime / 60)}:${tt < 10 ? '0' : ''}${tt}` + change = true + + } + } + } + if (change) + this.$forceUpdate() + }, 1000) + }, + openbrand(item) { console.log(item) //也要判断一下是否重复进入 @@ -118,7 +156,7 @@ return } } - + if (pages.length >= 10) { //直接强制购物车 uni.reLaunch({ @@ -129,15 +167,24 @@ url: '/sub_pages/customer/shop/shop?id=' + (item.supplierId || '') }) } - + }, toFlowerDetail(item) { uni.navigateTo({ url: `/sub_pages/customer/trade/detail?id=${item.flowerId}` }) }, - getList_after() { - var nowdate = new Date().getTime() - 1000 * 60 * 5 + async getList_after() { + + let res = await this.$http.request('get', `/api/order/time/now`, { + params: {} + }) + let serverTime=res.data; + + //倒计时 + var nowdate = serverTime - 1000 * 60 * 15 + + // var nowdate = new Date().getTime() - 1000 * 60 * 15 var change = false for (var item of this.list) { if (item.statusBackend === 'PENDING') { @@ -167,7 +214,13 @@ }) }, - async copyOrder(item){ + commentButtonClick(item){ + uni.navigateTo({ + url: '/pages/order/comment/order-comment?id='+item.id + }) + }, + + async copyOrder(item) { console.log(item) await this.$message.confirm('是否确定再来一单') // 发送请求 @@ -184,13 +237,13 @@ this.$message.hideLoading() if (code === 0) { //微信接口 - if(msg&&msg!=""){ + if (msg && msg != "") { this.$message.showToast(msg) } - + } }, - + toDetailSaleInfo(dto, flower) { console.log('flower', dto, flower) uni.navigateTo({ @@ -234,29 +287,37 @@ extraData: { // merchant_id: '1230000109', // merchant_trade_no: '1234323JKHDFE1243252', - merchant_id: '1661512517', - merchant_trade_no: item.orderId || item.id || '', + // merchant_id: '1661512517', + // merchant_trade_no: item.orderId || item.id || '', transaction_id: item.paymentTrId }, async success(info) { console.log('确认收货 info success', info) //dosomething - // 发送请求 - tmp.$message.showLoading() - const { - code - } = await tmp.$http.request('get', - '/api/customer/order/receive/confirm', { - params: { - id: item.id, - } - }) - tmp.$message.hideLoading() - if (code === 0) { - tmp.refreshList() - //刷新积分 - tmp.$store.dispatch('getCurrentInfo') - tmp.$message.showToast('收货成功') + if (info.extraData && info.extraData.status === 'fail') { + tmp.$message.showToast('支付和确认收货需要是同一微信号,请联系实际支付人登录确认') + } else if (info.extraData && info.extraData.status === 'cancel') { + + } else { + + + // 发送请求 + tmp.$message.showLoading() + const { + code + } = await tmp.$http.request('get', + '/api/customer/order/receive/confirm', { + params: { + id: item.id, + } + }) + tmp.$message.hideLoading() + if (code === 0) { + tmp.refreshList() + //刷新积分 + tmp.$store.dispatch('getCurrentInfo') + tmp.$message.showToast('收货成功') + } } }, fail(e) { @@ -286,6 +347,9 @@ this.$message.hideLoading() if (code === 0) { this.refreshList() + //刷新积分 + this.$store.dispatch('getCurrentInfo') + this.$message.showToast('收货成功') } } @@ -411,10 +475,19 @@ </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> @@ -478,22 +551,23 @@ <view class="flower-info m-b-5 m-t-8 br-4" v-for="(item,j) of dto.items" :key="j"> <!-- <view class="line-gray"></view> --> - <view class="supplier-name " @click.stop="openbrand(item)" > + <view class="supplier-name w-fit m-l-0 m-r-a" @click.stop="openbrand(item)"> <image class="icon-dp br-4" src="/static/common/icon-dp.png"></image> - {{ item.supplierName }} + {{ item.supplierName|| '' }} > </view> - <view class="flex m-t-12 flex-wrap-normal" > + <view class="flex m-t-12 flex-wrap-normal"> + <!-- @click="previewImg(item.flowerCover)" --> <image class="flower-img img100 m-r-6" :src="item.flowerCover" - @click="previewImg(item.flowerCover)"> + @click.stop="toDetail(dto)" > </image> <!-- <view class="flex1" @click.stop="toFlowerDetail(item)"> --> - <view class="flex1" @click.stop="toDetail(dto)"> - + <view class="flex1" > + <view class=" flex"> <view class="title flex flex1"> <!-- <span class="level">{{ item.flowerCategory }}</span> --> - <span class="m-r-10">{{ item.flowerName }}</span> - <span class="level">{{ item.flowerLevelStr }}</span> + <span class="m-r-10" @click.stop="toDetail(dto)">{{ item.flowerName }}</span> + <span class="level" @click.stop="toDetail(dto)">{{ item.flowerLevelStr }}</span> <view class="m-l-a m-r-10 flex"> <view class="m-r-10 button-icon" @click="toOrderItemDetail(item,'lack','缺货')" v-if="item.lackNum"> @@ -506,7 +580,7 @@ </view> </view> </view> - <view class="each-list"> + <view class="each-list" @click.stop="toDetail(dto)"> <view class="each-item"> <view class="label">颜色</view> <view class="value">{{ item.flowerColor || '-' }}</view> @@ -570,8 +644,11 @@ <!-- <view class="button button-1 m-l-a m-r-15" @click="toDetailSale(dto)" v-if="dto.statusBackend === 'RECEIVE'"> 申请售后 </view> --> - <view class="button button-0 m-l-a m-r-15" @click="buttonClick(dto,'evaluate')" + <!-- <view class="button button-0 m-l-a m-r-15" @click="buttonClick(dto,'evaluate')" v-if="dto.statusBackend === 'EVALUATE'"> 评价 + </view> --> + <view class="button button-0 m-l-a m-r-15" @click="commentButtonClick(dto)" + v-if="dto.statusBackend === 'EVALUATE'"> 评价 </view> -- Gitblit v1.9.3