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

@@ -47,7 +47,7 @@ export function addAnchor(data: AnchorParams) {
export function updateAnchor(data: AnchorParams) {
return request({
url: '/erp/anchor/controller/updateAnchor',
method: 'post',
method: 'put',
data: data,
});
}
@@ -55,8 +55,8 @@ export function updateAnchor(data: AnchorParams) {
export function deleteAnchor(data: { id: string }) {
return request({
url: '/erp/anchor/controller/deleteAnchor',
method: 'post',
data: data,
method: 'delete',
params: data,
});
}

View File

@@ -0,0 +1,88 @@
import request from '/@/utils/request';
export interface LiveAccountParams {
pageNum: number;
pageSize: number;
platform?: string;
accountName?: string;
accountId?: string;
status?: number;
}
export interface LiveAccountSaveParams {
id?: string;
platform: string;
accountName: string;
accountId: string;
status?: number;
remark?: string;
}
export interface LiveAccount {
id: string;
platform: string;
accountName: string;
accountId: string;
status: number;
statusName: string;
remark: string;
createdAt: number;
updatedAt: number;
}
export interface LiveAccountListResult {
list: LiveAccount[];
total: number;
}
export interface LiveAccountListResponse {
code: number;
message: string;
data: LiveAccountListResult;
}
export interface LiveAccountDetailResponse {
code: number;
message: string;
data: LiveAccount;
}
export function getLiveAccountList(params: LiveAccountParams): Promise<LiveAccountListResponse> {
return request({
url: '/erp/live/account/controller/listLiveAccounts',
method: 'get',
params,
}) as Promise<LiveAccountListResponse>;
}
export function getLiveAccountDetail(params: { id: string }): Promise<LiveAccountDetailResponse> {
return request({
url: '/erp/live/account/controller/getLiveAccount',
method: 'get',
params,
}) as Promise<LiveAccountDetailResponse>;
}
export function createLiveAccount(data: LiveAccountSaveParams) {
return request({
url: '/erp/live/account/controller/createLiveAccount',
method: 'post',
data,
});
}
export function updateLiveAccount(data: LiveAccountSaveParams) {
return request({
url: '/erp/live/account/controller/updateLiveAccount',
method: 'put',
data,
});
}
export function deleteLiveAccount(params: { id: string }) {
return request({
url: '/erp/live/account/controller/deleteLiveAccount',
method: 'delete',
params,
});
}

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,
});
}