forked from gxwebsoft/mp-10550
feat(ticket): 添加水票释放计划功能
- 在应用配置中注册新的释放计划页面路由 ticket/release/index - 简化 API 请求参数结构,移除不必要的包装对象 - 在用户票券列表中添加释放计划详情入口和跳转逻辑 - 显示票券套票名称信息增强用户体验 - 在配送时间选择中添加日期验证防止选择过去日期 - 新增完整的释放计划详情页面实现列表展示、下拉刷新、上拉加载等功能 - 添加释放计划状态显示和数量统计信息展示
This commit is contained in:
@@ -116,6 +116,20 @@ const UserTicketList = () => {
|
||||
await Taro.navigateTo({ url });
|
||||
};
|
||||
|
||||
const goReleasePlanDetail = async (ticket: GltUserTicket) => {
|
||||
if (!ticket?.id) {
|
||||
Taro.showToast({ title: '水票信息不完整', icon: 'none' });
|
||||
return;
|
||||
}
|
||||
const url = `/user/ticket/release/index?userTicketId=${encodeURIComponent(String(ticket.id))}&templateName=${encodeURIComponent(
|
||||
String(ticket.templateName ?? '')
|
||||
)}&frozenQty=${encodeURIComponent(String(ticket.frozenQty ?? 0))}&releasedQty=${encodeURIComponent(
|
||||
String(ticket.releasedQty ?? 0)
|
||||
)}`;
|
||||
if (!ensureLoggedIn(url)) return;
|
||||
await Taro.navigateTo({ url });
|
||||
};
|
||||
|
||||
const showTicketDetail = (ticket: GltUserTicket) => {
|
||||
const lines: string[] = [];
|
||||
if (ticket.templateName) lines.push(`水票:${ticket.templateName}`);
|
||||
@@ -566,6 +580,9 @@ const UserTicketList = () => {
|
||||
<Text className="text-base font-semibold text-gray-900">
|
||||
票号:{item.id}
|
||||
</Text>
|
||||
<View className="mt-1">
|
||||
<Text className="text-xs text-gray-500">套票名称:{item.templateName}</Text>
|
||||
</View>
|
||||
{item.orderNo && (
|
||||
<View className="mt-1">
|
||||
<Text className="text-xs text-gray-500">订单编号:{item.orderNo}</Text>
|
||||
@@ -617,7 +634,14 @@ const UserTicketList = () => {
|
||||
<Text className="text-lg text-gray-900 text-center">{item.usedQty ?? 0}</Text>
|
||||
<Text className="text-xs text-gray-500">已用水票</Text>
|
||||
</View>
|
||||
<View className="flex flex-col items-center">
|
||||
<View
|
||||
className="flex flex-col items-center"
|
||||
hoverClass="opacity-70"
|
||||
onClick={(e) => {
|
||||
e.stopPropagation();
|
||||
void goReleasePlanDetail(item);
|
||||
}}
|
||||
>
|
||||
<Text className="text-lg text-gray-900 text-center">{item.frozenQty ?? 0}</Text>
|
||||
<Text className="text-xs text-gray-500">剩余赠票</Text>
|
||||
</View>
|
||||
|
||||
Reference in New Issue
Block a user