fix: 更新API请求方法和参数处理,优化路由组件解析逻辑

- 将`updateAnchor`方法的请求方式改为PUT,`deleteAnchor`方法改为DELETE并使用params传递数据
- 在路由组件中添加`normalizeRouteComponent`和`resolveRouteComponent`函数,增强动态路由解析能力
- 更新多个组件中的ID处理逻辑,确保ID始终为字符串类型
- 修改样式以统一选择框的宽度
This commit is contained in:
2026-04-21 15:55:28 +08:00
parent c4bdfe2bb3
commit 4271e7d2d9
11 changed files with 1189 additions and 115 deletions

View File

@@ -0,0 +1,114 @@
import request from '/@/utils/request';
export interface ScheduleListParams {
pageNum: number;
pageSize: number;
anchorId?: string;
accountId?: string;
status?: number;
}
export interface ScheduleSaveParams {
id?: string;
anchorId: string;
accountId: string;
productId?: number;
orderId?: number;
startTime: string;
endTime: string;
status?: number;
remark?: string;
}
export interface ScheduleItem {
id: string;
anchorId: string;
anchorName: string;
accountId: string;
accountName: string;
platform: string;
startTime: number;
endTime: number;
status: number;
statusName: string;
productId: number;
orderId: number;
remark: string;
createdAt: number;
updatedAt: number;
}
export interface ScheduleDetail {
id: string;
tenantId: number;
creator: string;
createdAt: string;
updater: string;
updatedAt: string;
deletedAt: string | null;
anchorId: string;
accountId: string;
startTime: string;
endTime: string;
status: number;
productId: number;
orderId: number;
remark: string;
}
export interface ScheduleListResult {
list: ScheduleItem[];
total: number;
}
export interface ScheduleListResponse {
code: number;
message: string;
data: ScheduleListResult;
}
export interface ScheduleDetailResponse {
code: number;
message: string;
data: ScheduleDetail;
}
export function getScheduleList(params: ScheduleListParams): Promise<ScheduleListResponse> {
return request({
url: '/erp/schedule/controller/listSchedules',
method: 'get',
params,
}) as Promise<ScheduleListResponse>;
}
export function getScheduleDetail(params: { id: string }): Promise<ScheduleDetailResponse> {
return request({
url: '/erp/schedule/controller/getSchedule',
method: 'get',
params,
}) as Promise<ScheduleDetailResponse>;
}
export function createSchedule(data: ScheduleSaveParams) {
return request({
url: '/erp/schedule/controller/createSchedule',
method: 'post',
data,
});
}
export function updateSchedule(data: ScheduleSaveParams) {
return request({
url: '/erp/schedule/controller/updateSchedule',
method: 'put',
data,
});
}
export function deleteSchedule(params: { id: string }) {
return request({
url: '/erp/schedule/controller/deleteSchedule',
method: 'delete',
params,
});
}