From 87a56274d598af9842b593ec972f517161f60707 Mon Sep 17 00:00:00 2001
From: 陶杰 <1378534974@qq.com>
Date: 星期日, 19 一月 2025 18:44:27 +0800
Subject: [PATCH] 1.v6-屏蔽微信登录
---
pages/order/order.vue | 148 ++++++++++++++++++++++++++++++++++---------------
1 files changed, 103 insertions(+), 45 deletions(-)
diff --git a/pages/order/order.vue b/pages/order/order.vue
index 3a628f1..4aa4975 100644
--- a/pages/order/order.vue
+++ b/pages/order/order.vue
@@ -4,6 +4,7 @@
data() {
return {
type: 'customer',
+ order_cancel_time:15,
query: {
status: '',
},
@@ -46,53 +47,19 @@
this.query.status = options.status || ''
this.listApi = `/api/customer/order/list`
await this.getList()
+
+ console.log('order-list-query',this.query.status)
+ if(this.query.status=='PENDING'){
+ this.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)
+ onShow() {
+ // console.log("onshow")
+ this.getOrderCancelTimeConfig()
},
onReachBottom() {
this.getMore()
@@ -104,6 +71,88 @@
},
methods: {
+ async getOrderCancelTimeConfig() {
+ this.$message.showLoading()
+ const {
+ code,
+ data
+ } = await this.$http.request('get', `/v2/config-param/base/getBaseString`, {
+ params: {
+ paramGroup: "order",
+ paramKey: "order_cancel_time"
+
+ }
+ })
+ this.$message.hideLoading()
+
+ if (code === 0) {
+ this.order_cancel_time =data
+ }
+ },
+
+ 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 * this.order_cancel_time
+ // 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)
@@ -154,7 +203,7 @@
let serverTime=res.data;
//倒计时
- var nowdate = serverTime - 1000 * 60 * 15
+ var nowdate = serverTime - 1000 * 60 * this.order_cancel_time
// var nowdate = new Date().getTime() - 1000 * 60 * 15
var change = false
@@ -447,11 +496,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>
--
Gitblit v1.9.3