feat(@vben/web-antd): 新增 ERP API 接口并符合 Vben 项目标准

- 将所有 ERP API 文件从旧的 axios 配置迁移到新的 requestClient
- 使用 namespace 组织接口类型定义,提高代码可维护性
- 将对象方法改为独立的导出函数,符合现代 JavaScript 最佳实践
- 为所有 API 函数添加完整的 TypeScript 类型定义
- 统一分页查询参数和状态更新参数的接口定义
- 涵盖财务、采购、销售、库存等所有 ERP 业务模块
This commit is contained in:
nehc
2025-07-21 19:07:47 +08:00
committed by xingyu
parent 7b7402b986
commit f763ad2855
26 changed files with 2031 additions and 19 deletions

View File

@@ -0,0 +1,98 @@
import type { PageParam, PageResult } from '@vben/request';
import { requestClient } from '#/api/request';
namespace ErpStockCheckApi {
/** 库存盘点单信息 */
export interface StockCheck {
id?: number; // 盘点编号
no: string; // 盘点单号
checkTime: Date; // 盘点时间
totalCount: number; // 合计数量
totalPrice: number; // 合计金额,单位:元
status: number; // 状态
remark: string; // 备注
}
/** 库存盘点单分页查询参数 */
export interface StockCheckPageParams extends PageParam {
no?: string;
status?: number;
}
/** 库存盘点单状态更新参数 */
export interface StockCheckStatusParams {
id: number;
status: number;
}
}
/**
* 查询库存盘点单分页
*/
export function getStockCheckPage(
params: ErpStockCheckApi.StockCheckPageParams,
) {
return requestClient.get<PageResult<ErpStockCheckApi.StockCheck>>(
'/erp/stock-check/page',
{
params,
},
);
}
/**
* 查询库存盘点单详情
*/
export function getStockCheck(id: number) {
return requestClient.get<ErpStockCheckApi.StockCheck>(
`/erp/stock-check/get?id=${id}`,
);
}
/**
* 新增库存盘点单
*/
export function createStockCheck(data: ErpStockCheckApi.StockCheck) {
return requestClient.post('/erp/stock-check/create', data);
}
/**
* 修改库存盘点单
*/
export function updateStockCheck(data: ErpStockCheckApi.StockCheck) {
return requestClient.put('/erp/stock-check/update', data);
}
/**
* 更新库存盘点单的状态
*/
export function updateStockCheckStatus(
params: ErpStockCheckApi.StockCheckStatusParams,
) {
return requestClient.put('/erp/stock-check/update-status', null, {
params,
});
}
/**
* 删除库存盘点单
*/
export function deleteStockCheck(ids: number[]) {
return requestClient.delete('/erp/stock-check/delete', {
params: {
ids: ids.join(','),
},
});
}
/**
* 导出库存盘点单 Excel
*/
export function exportStockCheck(
params: ErpStockCheckApi.StockCheckPageParams,
) {
return requestClient.download('/erp/stock-check/export-excel', {
params,
});
}

View File

@@ -0,0 +1,92 @@
import type { PageParam, PageResult } from '@vben/request';
import { requestClient } from '#/api/request';
namespace ErpStockInApi {
/** 其它入库单信息 */
export interface StockIn {
id?: number; // 入库编号
no: string; // 入库单号
supplierId: number; // 供应商编号
inTime: Date; // 入库时间
totalCount: number; // 合计数量
totalPrice: number; // 合计金额,单位:元
status: number; // 状态
remark: string; // 备注
}
/** 其它入库单分页查询参数 */
export interface StockInPageParams extends PageParam {
no?: string;
supplierId?: number;
status?: number;
}
/** 其它入库单状态更新参数 */
export interface StockInStatusParams {
id: number;
status: number;
}
}
/**
* 查询其它入库单分页
*/
export function getStockInPage(params: ErpStockInApi.StockInPageParams) {
return requestClient.get<PageResult<ErpStockInApi.StockIn>>(
'/erp/stock-in/page',
{
params,
},
);
}
/**
* 查询其它入库单详情
*/
export function getStockIn(id: number) {
return requestClient.get<ErpStockInApi.StockIn>(`/erp/stock-in/get?id=${id}`);
}
/**
* 新增其它入库单
*/
export function createStockIn(data: ErpStockInApi.StockIn) {
return requestClient.post('/erp/stock-in/create', data);
}
/**
* 修改其它入库单
*/
export function updateStockIn(data: ErpStockInApi.StockIn) {
return requestClient.put('/erp/stock-in/update', data);
}
/**
* 更新其它入库单的状态
*/
export function updateStockInStatus(params: ErpStockInApi.StockInStatusParams) {
return requestClient.put('/erp/stock-in/update-status', null, {
params,
});
}
/**
* 删除其它入库单
*/
export function deleteStockIn(ids: number[]) {
return requestClient.delete('/erp/stock-in/delete', {
params: {
ids: ids.join(','),
},
});
}
/**
* 导出其它入库单 Excel
*/
export function exportStockIn(params: ErpStockInApi.StockInPageParams) {
return requestClient.download('/erp/stock-in/export-excel', {
params,
});
}

View File

@@ -0,0 +1,94 @@
import type { PageParam, PageResult } from '@vben/request';
import { requestClient } from '#/api/request';
namespace ErpStockMoveApi {
/** 库存调拨单信息 */
export interface StockMove {
id?: number; // 调拨编号
no: string; // 调拨单号
outTime: Date; // 调拨时间
totalCount: number; // 合计数量
totalPrice: number; // 合计金额,单位:元
status: number; // 状态
remark: string; // 备注
}
/** 库存调拨单分页查询参数 */
export interface StockMovePageParams extends PageParam {
no?: string;
status?: number;
}
/** 库存调拨单状态更新参数 */
export interface StockMoveStatusParams {
id: number;
status: number;
}
}
/**
* 查询库存调拨单分页
*/
export function getStockMovePage(params: ErpStockMoveApi.StockMovePageParams) {
return requestClient.get<PageResult<ErpStockMoveApi.StockMove>>(
'/erp/stock-move/page',
{
params,
},
);
}
/**
* 查询库存调拨单详情
*/
export function getStockMove(id: number) {
return requestClient.get<ErpStockMoveApi.StockMove>(
`/erp/stock-move/get?id=${id}`,
);
}
/**
* 新增库存调拨单
*/
export function createStockMove(data: ErpStockMoveApi.StockMove) {
return requestClient.post('/erp/stock-move/create', data);
}
/**
* 修改库存调拨单
*/
export function updateStockMove(data: ErpStockMoveApi.StockMove) {
return requestClient.put('/erp/stock-move/update', data);
}
/**
* 更新库存调拨单的状态
*/
export function updateStockMoveStatus(
params: ErpStockMoveApi.StockMoveStatusParams,
) {
return requestClient.put('/erp/stock-move/update-status', null, {
params,
});
}
/**
* 删除库存调拨单
*/
export function deleteStockMove(ids: number[]) {
return requestClient.delete('/erp/stock-move/delete', {
params: {
ids: ids.join(','),
},
});
}
/**
* 导出库存调拨单 Excel
*/
export function exportStockMove(params: ErpStockMoveApi.StockMovePageParams) {
return requestClient.download('/erp/stock-move/export-excel', {
params,
});
}

View File

@@ -0,0 +1,96 @@
import type { PageParam, PageResult } from '@vben/request';
import { requestClient } from '#/api/request';
namespace ErpStockOutApi {
/** 其它出库单信息 */
export interface StockOut {
id?: number; // 出库编号
no: string; // 出库单号
customerId: number; // 客户编号
outTime: Date; // 出库时间
totalCount: number; // 合计数量
totalPrice: number; // 合计金额,单位:元
status: number; // 状态
remark: string; // 备注
}
/** 其它出库单分页查询参数 */
export interface StockOutPageParams extends PageParam {
no?: string;
customerId?: number;
status?: number;
}
/** 其它出库单状态更新参数 */
export interface StockOutStatusParams {
id: number;
status: number;
}
}
/**
* 查询其它出库单分页
*/
export function getStockOutPage(params: ErpStockOutApi.StockOutPageParams) {
return requestClient.get<PageResult<ErpStockOutApi.StockOut>>(
'/erp/stock-out/page',
{
params,
},
);
}
/**
* 查询其它出库单详情
*/
export function getStockOut(id: number) {
return requestClient.get<ErpStockOutApi.StockOut>(
`/erp/stock-out/get?id=${id}`,
);
}
/**
* 新增其它出库单
*/
export function createStockOut(data: ErpStockOutApi.StockOut) {
return requestClient.post('/erp/stock-out/create', data);
}
/**
* 修改其它出库单
*/
export function updateStockOut(data: ErpStockOutApi.StockOut) {
return requestClient.put('/erp/stock-out/update', data);
}
/**
* 更新其它出库单的状态
*/
export function updateStockOutStatus(
params: ErpStockOutApi.StockOutStatusParams,
) {
return requestClient.put('/erp/stock-out/update-status', null, {
params,
});
}
/**
* 删除其它出库单
*/
export function deleteStockOut(ids: number[]) {
return requestClient.delete('/erp/stock-out/delete', {
params: {
ids: ids.join(','),
},
});
}
/**
* 导出其它出库单 Excel
*/
export function exportStockOut(params: ErpStockOutApi.StockOutPageParams) {
return requestClient.download('/erp/stock-out/export-excel', {
params,
});
}

View File

@@ -0,0 +1,47 @@
import type { PageParam, PageResult } from '@vben/request';
import { requestClient } from '#/api/request';
export namespace ErpStockRecordApi {
/** ERP 产品库存明细 */
export interface StockRecord {
id?: number; // 编号
productId: number; // 产品编号
warehouseId: number; // 仓库编号
count: number; // 出入库数量
totalCount: number; // 总库存量
bizType: number; // 业务类型
bizId: number; // 业务编号
bizItemId: number; // 业务项编号
bizNo: string; // 业务单号
}
/** 库存记录分页查询参数 */
export interface StockRecordPageParam extends PageParam {
productId?: number;
warehouseId?: number;
bizType?: number;
}
}
/** 查询产品库存明细分页 */
export function getStockRecordPage(
params: ErpStockRecordApi.StockRecordPageParam,
) {
return requestClient.get<PageResult<ErpStockRecordApi.StockRecord>>(
'/erp/stock-record/page',
{ params },
);
}
/** 查询产品库存明细详情 */
export function getStockRecord(id: number) {
return requestClient.get<ErpStockRecordApi.StockRecord>(
`/erp/stock-record/get?id=${id}`,
);
}
/** 导出产品库存明细 Excel */
export function exportStockRecord(params: any) {
return requestClient.download('/erp/stock-record/export-excel', { params });
}

View File

@@ -0,0 +1,70 @@
import type { PageParam, PageResult } from '@vben/request';
import { requestClient } from '#/api/request';
namespace ErpStockApi {
/** 产品库存信息 */
export interface Stock {
id?: number; // 编号
productId: number; // 产品编号
warehouseId: number; // 仓库编号
count: number; // 库存数量
}
/** 产品库存分页查询参数 */
export interface StockPageParams extends PageParam {
productId?: number;
warehouseId?: number;
}
/** 产品库存查询参数 */
export interface StockQueryParams {
productId: number;
warehouseId: number;
}
}
/**
* 查询产品库存分页
*/
export function getStockPage(params: ErpStockApi.StockPageParams) {
return requestClient.get<PageResult<ErpStockApi.Stock>>('/erp/stock/page', {
params,
});
}
/**
* 查询产品库存详情
*/
export function getStock(id: number) {
return requestClient.get<ErpStockApi.Stock>(`/erp/stock/get?id=${id}`);
}
/**
* 根据产品和仓库查询库存详情
*/
export function getStockByProductAndWarehouse(
params: ErpStockApi.StockQueryParams,
) {
return requestClient.get<ErpStockApi.Stock>('/erp/stock/get', {
params,
});
}
/**
* 获得产品库存数量
*/
export function getStockCount(productId: number) {
return requestClient.get<number>('/erp/stock/get-count', {
params: { productId },
});
}
/**
* 导出产品库存 Excel
*/
export function exportStock(params: ErpStockApi.StockPageParams) {
return requestClient.download('/erp/stock/export-excel', {
params,
});
}

View File

@@ -0,0 +1,77 @@
import type { PageParam, PageResult } from '@vben/request';
import { requestClient } from '#/api/request';
export namespace ErpWarehouseApi {
/** ERP 仓库信息 */
export interface Warehouse {
id?: number; // 仓库编号
name: string; // 仓库名称
address: string; // 仓库地址
sort: number; // 排序
remark: string; // 备注
principal: string; // 负责人
warehousePrice: number; // 仓储费,单位:元
truckagePrice: number; // 搬运费,单位:元
status: number; // 开启状态
defaultStatus: boolean; // 是否默认
}
/** 仓库分页查询参数 */
export interface WarehousePageParam extends PageParam {
name?: string;
status?: number;
}
}
/** 查询仓库分页 */
export function getWarehousePage(params: ErpWarehouseApi.WarehousePageParam) {
return requestClient.get<PageResult<ErpWarehouseApi.Warehouse>>(
'/erp/warehouse/page',
{ params },
);
}
/** 查询仓库精简列表 */
export function getWarehouseSimpleList() {
return requestClient.get<ErpWarehouseApi.Warehouse[]>(
'/erp/warehouse/simple-list',
);
}
/** 查询仓库详情 */
export function getWarehouse(id: number) {
return requestClient.get<ErpWarehouseApi.Warehouse>(
`/erp/warehouse/get?id=${id}`,
);
}
/** 新增仓库 */
export function createWarehouse(data: ErpWarehouseApi.Warehouse) {
return requestClient.post('/erp/warehouse/create', data);
}
/** 修改仓库 */
export function updateWarehouse(data: ErpWarehouseApi.Warehouse) {
return requestClient.put('/erp/warehouse/update', data);
}
/** 修改仓库默认状态 */
export function updateWarehouseDefaultStatus(
id: number,
defaultStatus: boolean,
) {
return requestClient.put('/erp/warehouse/update-default-status', null, {
params: { id, defaultStatus },
});
}
/** 删除仓库 */
export function deleteWarehouse(id: number) {
return requestClient.delete(`/erp/warehouse/delete?id=${id}`);
}
/** 导出仓库 Excel */
export function exportWarehouse(params: any) {
return requestClient.download('/erp/warehouse/export-excel', { params });
}