From e58a2fd915dd8c732a48340c94b8925c08e386bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=BF=A0=E6=9E=97?= <170083662@qq.com> Date: Wed, 11 Mar 2026 16:07:19 +0800 Subject: [PATCH] =?UTF-8?q?fix(ticket):=20=E4=BF=AE=E5=A4=8D=E7=BC=96?= =?UTF-8?q?=E8=BE=91=E6=A8=A1=E5=BC=8F=E4=B8=8B=E6=97=A0=E5=8F=AF=E7=94=A8?= =?UTF-8?q?=E7=A5=A8=E6=8D=AE=E6=8F=90=E7=A4=BA=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在useEffect中添加isEditMode判断,避免编辑订单时弹出无票据提示 - 更新useEffect依赖数组,添加isEditMode依赖 - 修改按钮点击事件,确保编辑模式下不会触发无票据购买引导 --- src/user/ticket/use.tsx | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/user/ticket/use.tsx b/src/user/ticket/use.tsx index 3e84fd0..16bc9c7 100644 --- a/src/user/ticket/use.tsx +++ b/src/user/ticket/use.tsx @@ -913,6 +913,8 @@ const OrderConfirm = () => { // If user has no usable tickets, proactively guide them to purchase (only once per page lifecycle). useEffect(() => { if (!noUsableTickets) return + // Editing an existing order: don't interrupt with "no tickets" prompt. + if (isEditMode) return if (noTicketPromptedRef.current) return noTicketPromptedRef.current = true @@ -928,7 +930,7 @@ const OrderConfirm = () => { } })() // eslint-disable-next-line react-hooks/exhaustive-deps - }, [noUsableTickets]) + }, [noUsableTickets, isEditMode]) // 重新加载数据 const handleRetry = () => { @@ -1087,14 +1089,14 @@ const OrderConfirm = () => { )} - onClick={async () => { + onClick={async () => { if (ticketLoading) return if (!ticketLoaded) { setTicketPopupVisible(true) await loadUserTickets() return } - if (noUsableTickets) { + if (noUsableTickets && !isEditMode) { const r = await Taro.showModal({ title: '暂无可用水票', content: '您还没有可用水票,是否前往购买?',