import type { PageParam, PageResult } from '@vben/request';
|
|
import { requestClient } from '#/api/request';
|
|
export namespace FinFixedAssetApi {
|
/** 固定资产信息 */
|
export interface FixedAsset {
|
id?: number; // 资产编号
|
assetCode?: string; // 资产编码
|
assetName?: string; // 资产名称
|
category?: string; // 资产类别
|
specification?: string; // 规格型号
|
purchaseDate?: string; // 购置日期 yyyy-MM-dd
|
originalValue?: number; // 资产原值
|
usefulLife?: number; // 使用年限(年)
|
residualRate?: number; // 残值率(%)
|
monthlyDepreciation?: number; // 月折旧额(后端计算,只读)
|
accumulatedDepreciation?: number; // 累计折旧
|
netValue?: number; // 净值
|
location?: string; // 存放地点
|
departmentId?: number; // 使用部门编号(system_dept.id,表单提交用)
|
departmentName?: string; // 使用部门名称(后端解析,只读)
|
keeperId?: number; // 保管人编号(system_users.id,表单提交用)
|
keeperName?: string; // 保管人昵称(后端解析,只读)
|
status?: number; // 状态:1在用 2闲置 3维修中 4已报废
|
remark?: string; // 备注
|
createTime?: Date; // 创建时间
|
}
|
|
/** 计提折旧结果 */
|
export interface DepreciateResult {
|
processedCount: number; // 本次计提的资产数量
|
totalMonthlyDepreciation: number; // 本次计提折旧合计
|
}
|
}
|
|
/** 查询固定资产分页 */
|
export function getFixedAssetPage(params: PageParam) {
|
return requestClient.get<PageResult<FinFixedAssetApi.FixedAsset>>(
|
'/finance/fixed-asset/page',
|
{ params },
|
);
|
}
|
|
/** 查询固定资产列表(不分页,用于统计) */
|
export function getFixedAssetList() {
|
return requestClient.get<FinFixedAssetApi.FixedAsset[]>(
|
'/finance/fixed-asset/list',
|
);
|
}
|
|
/** 查询固定资产详情 */
|
export function getFixedAsset(id: number) {
|
return requestClient.get<FinFixedAssetApi.FixedAsset>(
|
`/finance/fixed-asset/get?id=${id}`,
|
);
|
}
|
|
/** 新增固定资产 */
|
export function createFixedAsset(data: FinFixedAssetApi.FixedAsset) {
|
return requestClient.post('/finance/fixed-asset/create', data);
|
}
|
|
/** 修改固定资产 */
|
export function updateFixedAsset(data: FinFixedAssetApi.FixedAsset) {
|
return requestClient.put('/finance/fixed-asset/update', data);
|
}
|
|
/** 删除固定资产 */
|
export function deleteFixedAsset(id: number) {
|
return requestClient.delete(`/finance/fixed-asset/delete?id=${id}`);
|
}
|
|
/** 批量删除固定资产 */
|
export function deleteFixedAssetList(ids: number[]) {
|
return requestClient.delete(
|
`/finance/fixed-asset/delete-list?ids=${ids.join(',')}`,
|
);
|
}
|
|
/** 计提折旧(ids 为空表示全部计提) */
|
export function depreciateFixedAssetList(ids: number[]) {
|
return requestClient.post<FinFixedAssetApi.DepreciateResult>(
|
`/finance/fixed-asset/depreciate?ids=${ids.join(',')}`,
|
);
|
}
|
|
/** 导出固定资产 Excel */
|
export function exportFixedAsset(params: any) {
|
return requestClient.download('/finance/fixed-asset/export-excel', {
|
params,
|
});
|
}
|