gaoluyang
2 天以前 98312d84f785c09574bfd5add730ea448fb0cbd5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
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,
  });
}