gaoluyang
2026-06-24 712aa51536236d43e87273e4ce45ac5691dffad8
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
94
95
96
97
98
import type { PageParam, PageResult } from '..\..\..\packages\effects\request\src';
 
import { requestClient } from '#/api/request';
 
export namespace CrmReceivableApi {
  /** 回款信息 */
  export interface Receivable {
    id: number;
    no: string;
    planId?: number;
    period?: number;
    customerId?: number;
    customerName?: string;
    contractId?: number;
    contractNo?: string;
    contract?: Contract;
    auditStatus: number;
    processInstanceId: number;
    returnTime: Date;
    returnType: number;
    price: number;
    ownerUserId: number;
    ownerUserName?: string;
    remark: string;
    creator: string; // 创建人
    creatorName?: string; // 创建人名称
    createTime: Date; // 创建时间
    updateTime: Date; // 更新时间
  }
 
  /** 合同信息 */
  export interface Contract {
    id?: number;
    name?: string;
    no: string;
    totalPrice: number;
  }
 
  export interface ReceivablePageParam extends PageParam {
    contractId?: number;
    customerId?: number;
  }
}
 
/** 查询回款列表 */
export function getReceivablePage(params: PageParam) {
  return requestClient.get<PageResult<CrmReceivableApi.Receivable>>(
    '/crm/receivable/page',
    { params },
  );
}
 
/** 查询回款列表,基于指定客户 */
export function getReceivablePageByCustomer(
  params: CrmReceivableApi.ReceivablePageParam,
) {
  return requestClient.get<PageResult<CrmReceivableApi.Receivable>>(
    '/crm/receivable/page-by-customer',
    { params },
  );
}
 
/** 查询回款详情 */
export function getReceivable(id: number) {
  return requestClient.get<CrmReceivableApi.Receivable>(
    `/crm/receivable/get?id=${id}`,
  );
}
 
/** 新增回款 */
export function createReceivable(data: CrmReceivableApi.Receivable) {
  return requestClient.post('/crm/receivable/create', data);
}
 
/** 修改回款 */
export function updateReceivable(data: CrmReceivableApi.Receivable) {
  return requestClient.put('/crm/receivable/update', data);
}
 
/** 删除回款 */
export function deleteReceivable(id: number) {
  return requestClient.delete(`/crm/receivable/delete?id=${id}`);
}
 
/** 导出回款 */
export function exportReceivable(params: any) {
  return requestClient.download('/crm/receivable/export-excel', { params });
}
 
/** 提交审核 */
export function submitReceivable(id: number) {
  return requestClient.put(`/crm/receivable/submit?id=${id}`);
}
 
/** 获得待审核回款数量 */
export function getAuditReceivableCount() {
  return requestClient.get<number>('/crm/receivable/audit-count');
}