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 |  191 +++++++++++++++++++++++++----------------------
 1 files changed, 102 insertions(+), 89 deletions(-)

diff --git a/pages/order/order.vue b/pages/order/order.vue
index 7c5142f..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()
@@ -92,21 +67,71 @@
 			await this.getList()
 			uni.stopPullDownRefresh()
 		},
-		async onShow() {
-			// 支付回调
-			// #ifdef PUB_CUSTOMER_DEV
-			let options = wx.getEnterOptionsSync();
-			if (options.scene == '1038' && options.referrerInfo.appId == 'wxef277996acc166c3') {
-				// 代表从收银台小程序返回
-				let extraData = options.referrerInfo.extraData;
-				this.$store.dispatch('sign_add', 'order')
-				this.refreshList()
-				return
-			}
-			// #endif
-		},
 		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)
@@ -149,8 +174,17 @@
 					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') {
@@ -185,9 +219,9 @@
 					url: '/pages/order/comment/order-comment?id='+item.id
 				})
 			},
-			
 
 			async copyOrder(item) {
+				console.log(item)
 				await this.$message.confirm('是否确定再来一单')
 				// 发送请求
 				this.$message.showLoading()
@@ -313,6 +347,9 @@
 							this.$message.hideLoading()
 							if (code === 0) {
 								this.refreshList()
+								//刷新积分
+								this.$store.dispatch('getCurrentInfo')
+								this.$message.showToast('收货成功')
 							}
 						}
 
@@ -349,40 +386,6 @@
 									that.$message.showToast('支付失败')
 								}
 							})
-							// #ifdef PUB_CUSTOMER_DEV
-							var param = {
-								cusid: "平台分配的商户号",
-								appid: "平台分配的appid",
-								orgid: "平台分配的机构号",
-								version: "12",
-								trxamt: "1",
-								reqsn: "商户唯一订单号",
-								notify_url: "服务器异步通知页面路径",
-								body: "标题",
-								remark: "备注",
-								validtime: "订单有效时间",
-								limit_pay: "no_credit",
-								randomstr: "随机字符串",
-								paytype: "W06",
-								signtype: "签名方式",
-								sign: "签名,参考2.1",
-								...data
-							}
-							if (compareVersion(version, '2.26.2') >= 0) {
-
-								wx.openEmbeddedMiniProgram({
-									appId: 'wxef277996acc166c3',
-									extraData: param
-								})
-
-							} else {
-								wx.navigateToMiniProgram({
-									appId: 'wxef277996acc166c3',
-									extraData: param
-								})
-
-							}
-							// #endif
 
 						}
 
@@ -472,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>
@@ -541,14 +553,15 @@
 
 					<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">
 						<!-- @click="previewImg(item.flowerCover)" -->
-						<image class="flower-img img100 m-r-6" :src="item.flowerCover" @click.stop="toDetail(dto)">
+						<image class="flower-img img100 m-r-6" :src="item.flowerCover"
+							@click.stop="toDetail(dto)" >
 						</image>
 						<!-- <view class="flex1" @click.stop="toFlowerDetail(item)"> -->
-						<view class="flex1">
+						<view class="flex1" >
 
 							<view class=" flex">
 								<view class="title flex flex1">
@@ -635,7 +648,7 @@
 						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'"> 评价
+							v-if="dto.statusBackend === 'EVALUATE'"> 评价
 					</view>
 
 

--
Gitblit v1.9.3