import type { PageParam, PageResult } from '@vben/request';
|
import { requestClient } from '#/api/request';
|
export interface SparePart {
|
id: number; code: string; name: string; specification?: string; unit: string;
|
location?: string; stockQuantity: number; safetyQuantity: number; status: number; remark?: string;
|
}
|
export interface SpareMovement {
|
id: number; sparePartId: number; sparePartCode: string; sparePartName: string;
|
specification?: string; unit: string; type: number; quantity: number;
|
beforeQuantity: number; afterQuantity: number; repairId?: number; repairCode?: string;
|
machineryName?: string; receiverName?: string; receiverUserId?: number; operatorUserId: number;
|
originalId?: number; returnedQuantity: number; returnableQuantity: number; remark: string; createTime: string;
|
}
|
export interface SpareAction {
|
requestKey: string; sparePartId?: number; repairId?: number; originalId?: number;
|
receiverUserId?: number; quantity: number; remark: string;
|
}
|
export type SpareSave = Omit<SparePart, 'id' | 'stockQuantity'> & { id?: number; initialQuantity: number };
|
export const getSparePage = (params: PageParam & Record<string, unknown>) =>
|
requestClient.get<PageResult<SparePart>>('/mes/dv/spare/page', { params });
|
export const getSpare = (id: number) => requestClient.get<SparePart>('/mes/dv/spare/get', { params: { id } });
|
export const createSpare = (data: SpareSave) => requestClient.post<number>('/mes/dv/spare/create', data);
|
export const updateSpare = (data: SpareSave) => requestClient.put('/mes/dv/spare/update', data);
|
export const deleteSpare = (id: number) => requestClient.delete('/mes/dv/spare/delete', { params: { id } });
|
export const getSpareMovements = (params: PageParam & Record<string, unknown>) =>
|
requestClient.get<PageResult<SpareMovement>>('/mes/dv/spare/movement-page', { params });
|
export const spareAction = (type: 'issue' | 'receive' | 'return', data: SpareAction) =>
|
requestClient.post<number>(`/mes/dv/spare/${type}`, data);
|
export const movementLabels: Record<number, string> = { 1: '初始库存', 2: '入库', 3: '维修领用', 4: '退回' };
|