feat(ticket): 添加送水订单功能和页面

- 新增 ticket/orders/index 页面用于展示送水订单
- 添加 GltTicketOrder 相关数据模型定义
- 实现送水订单的增删改查 API 接口
- 在水票使用页面集成订单功能
- 添加水票选择逻辑优化
- 实现送水订单列表分页加载
- 集成下拉刷新和上拉加载更多功能
This commit is contained in:
2026-02-05 19:17:40 +08:00
parent a1e5bf1c05
commit 96d1bb959e
6 changed files with 345 additions and 126 deletions

View File

@@ -0,0 +1,101 @@
import request from '@/utils/request';
import type { ApiResult, PageResult } from '@/api/index';
import type { GltTicketOrder, GltTicketOrderParam } from './model';
/**
* 分页查询送水订单
*/
export async function pageGltTicketOrder(params: GltTicketOrderParam) {
const res = await request.get<ApiResult<PageResult<GltTicketOrder>>>(
'/glt/glt-ticket-order/page',
params
);
if (res.code === 0) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 查询送水订单列表
*/
export async function listGltTicketOrder(params?: GltTicketOrderParam) {
const res = await request.get<ApiResult<GltTicketOrder[]>>(
'/glt/glt-ticket-order',
params
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}
/**
* 添加送水订单
*/
export async function addGltTicketOrder(data: GltTicketOrder) {
const res = await request.post<ApiResult<unknown>>(
'/glt/glt-ticket-order',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 修改送水订单
*/
export async function updateGltTicketOrder(data: GltTicketOrder) {
const res = await request.put<ApiResult<unknown>>(
'/glt/glt-ticket-order',
data
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 删除送水订单
*/
export async function removeGltTicketOrder(id?: number) {
const res = await request.del<ApiResult<unknown>>(
'/glt/glt-ticket-order/' + id
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 批量删除送水订单
*/
export async function removeBatchGltTicketOrder(data: (number | undefined)[]) {
const res = await request.del<ApiResult<unknown>>(
'/glt/glt-ticket-order/batch',
{
data
}
);
if (res.code === 0) {
return res.message;
}
return Promise.reject(new Error(res.message));
}
/**
* 根据id查询送水订单
*/
export async function getGltTicketOrder(id: number) {
const res = await request.get<ApiResult<GltTicketOrder>>(
'/glt/glt-ticket-order/' + id
);
if (res.code === 0 && res.data) {
return res.data;
}
return Promise.reject(new Error(res.message));
}

View File

@@ -0,0 +1,51 @@
import type { PageParam } from '@/api/index';
/**
* 送水订单
*/
export interface GltTicketOrder {
//
id?: number;
// 用户水票ID
userTicketId?: number;
// 门店ID
storeId?: number;
// 配送员
riderId?: number;
// 仓库ID
warehouseId?: number;
// 关联收货地址
addressId?: number;
// 收货地址
address?: string;
// 买家留言
buyerRemarks?: string;
// 用于统计
price?: string;
// 购买数量
totalNum?: number;
// 用户ID
userId?: number;
// 排序(数字越小越靠前)
sortNumber?: number;
// 备注
comments?: string;
// 状态, 0正常, 1冻结
status?: number;
// 是否删除, 0否, 1是
deleted?: number;
// 租户id
tenantId?: number;
// 创建时间
createTime?: string;
// 修改时间
updateTime?: string;
}
/**
* 送水订单搜索条件
*/
export interface GltTicketOrderParam extends PageParam {
id?: number;
keywords?: string;
}