修复切换页面nan问题

This commit is contained in:
2025-05-08 16:24:39 +08:00
parent 1f59082bcb
commit ac28ee855f
6 changed files with 115 additions and 69 deletions

View File

@@ -97,7 +97,7 @@
</view>
<view class="total-wrap" v-if="listinfo.status == 'unpaid'||!listinfo.id">
<view class="total-wrap u-m-t-30" v-if="listinfo.status == 'unpaid'||!listinfo.id">
<view>总计</view>
<view class="price"> {{listinfo.totalCost||''}} </view>
</view>

View File

@@ -1,6 +1,6 @@
<template>
<view class="container">
<up-navbar :title="navTitle" @leftClick="back" placeholder></up-navbar>
<up-navbar :title="navTitle" @leftClick="onback" placeholder></up-navbar>
<view class="headStatus">
<view class="status">
@@ -106,6 +106,11 @@
import {
back
} from '@/utils/uniapp.js'
function onback() {
closeSocket()
back()
}
const customStyle = {
'width': '180rpx',
'height': '70rpx',
@@ -121,7 +126,9 @@
onUnmounted,
watchEffect,
nextTick,
watch
watch,
onBeforeMount,
onBeforeUnmount
} from 'vue';
import {
getTableInfo
@@ -143,26 +150,8 @@
} from '@/stores/carts.js';
import useWebSocket from '@/common/js/carts-websocket.js';
const cartStore = useCartsStore()
let cartsSocket = null
watch(() => cartStore.goodsIsloading, (newValue) => {
console.log('cartStore.goodsIsloading', cartStore.goodsIsloading);
if (!newValue) {
cartsSocket = useWebSocket(socketInitOptions);
cartsSocket.connect();
}
})
if (cartStore.goodsIsloading) {
cartStore.goodsInit()
} else {
cartsSocket = useWebSocket(socketInitOptions);
cartsSocket.connect();
}
const noPayStatus = {
cancelled: "订单已取消",
done: "订单已关闭",
};
console.log(cartStore.goodsIsloading);
console.log(cartStore.goodsMap);
async function onMessage(Message) {
console.log('onMessage');
cartStore.onMessage(Message, cartsSocket)
@@ -171,6 +160,7 @@
youhuiReset()
}
if (Message.operate_type == "cleanup") {
listinfo.totalCost = 0;
youhuiReset()
if (listinfo.id) {
let res = await APIgetOrderById({
@@ -203,6 +193,38 @@
youhuiReset()
}
}
let cartsSocket = null
const socketInitOptions = {
initMessage: {
type: 'shopping',
operate_type: 'init',
table_code: uni.cache.get('tableCode'),
shop_id: uni.cache.get('shopId'),
},
onMessage
}
watch(() => cartStore.goodsIsloading, (newValue) => {
console.log('cartStore.goodsIsloading', cartStore.goodsIsloading);
if (!newValue) {
cartsSocket = useWebSocket(socketInitOptions);
cartsSocket.allowReconnect = true;
cartsSocket.connect();
}
})
if (cartStore.goodsIsloading) {
cartStore.goodsInit()
} else {
cartsSocket = useWebSocket(socketInitOptions);
cartsSocket.allowReconnect = true;
cartsSocket.connect();
}
const noPayStatus = {
cancelled: "订单已取消",
done: "订单已关闭",
};
function youhuiReset() {
@@ -213,15 +235,7 @@
uniqueIds.value = []
orderInfoAfterRef.value.IntegralInputclose();
}
const socketInitOptions = {
initMessage: {
type: 'shopping',
operate_type: 'init',
table_code: uni.cache.get('tableCode'),
shop_id: uni.cache.get('shopId'),
},
onMessage
}
// 结账管理
import {
@@ -743,19 +757,19 @@
orderorderInfo()
}
onUnmounted(() => {
onBeforeUnmount(() => {
uni.$off('returnData', handleReturnData);
clearTimeout(backtimer)
if (cartsSocket) {
cartsSocket.closeExistingConnection()
}
closeSocket()
});
onHide(() => {
if (cartsSocket) {
cartsSocket.closeExistingConnection()
}
closeSocket()
})
function closeSocket() {
// cartsSocket.closeExistingConnection()
}
onShow(() => {
if (cartsSocket) {
cartsSocket.connect()