diff --git a/src/user/ticket/index.tsx b/src/user/ticket/index.tsx index dc7d7b0..9583dfb 100644 --- a/src/user/ticket/index.tsx +++ b/src/user/ticket/index.tsx @@ -20,6 +20,7 @@ import { pageGltTicketOrder, removeGltTicketOrder, updateGltTicketOrder } from ' import type { GltTicketOrder } from '@/api/glt/gltTicketOrder/model'; import { BaseUrl } from '@/config/app'; import dayjs from "dayjs"; +import { ensureLoggedIn } from '@/utils/auth'; const PAGE_SIZE = 10; @@ -94,6 +95,27 @@ const UserTicketList = () => { setQrVisible(true); }; + const goSendWater = async (ticket: GltUserTicket) => { + if (!ticket?.id) { + Taro.showToast({ title: '水票信息不完整', icon: 'none' }); + return; + } + if (Number(ticket.status) === 1) { + Taro.showToast({ title: '该水票已冻结,无法下单', icon: 'none' }); + return; + } + const avail = Number(ticket.availableQty ?? 0); + if (!Number.isFinite(avail) || avail <= 0) { + Taro.showToast({ title: '可用次数不足', icon: 'none' }); + return; + } + const gid = Number(ticket.goodsId); + const url = + Number.isFinite(gid) && gid > 0 ? `/user/ticket/use?goodsId=${gid}` : '/user/ticket/use'; + if (!ensureLoggedIn(url)) return; + await Taro.navigateTo({ url }); + }; + const showTicketDetail = (ticket: GltUserTicket) => { const lines: string[] = []; if (ticket.templateName) lines.push(`水票:${ticket.templateName}`); @@ -555,13 +577,25 @@ const UserTicketList = () => { )} - + + {/**/} {/* {item.status === 1 ? '冻结' : '正常'}*/} {/**/}