Files
agt-web/apps/web-antd/src/api/license/customer/index.ts
2025-05-26 10:19:36 +08:00

72 lines
1.8 KiB
TypeScript

import type { PageParam, PageResult } from '@vben/request';
import { requestClient } from '#/api/request';
export namespace CustomerApi {
/** 客户信息 */
export interface Customer {
id: number; // 主键
name?: string; // 客户名称
code?: string; // 客户编号
type?: number; // 客户类型
areaId?: number; // 地区
contacts?: string; // 联系人
role: string; // 角色
phone: string; // 联系电话
email: string; // 邮箱
remark: string; // 备注
}
}
/** 查询客户分页 */
export function getCustomerPage(params: PageParam) {
return requestClient.get<PageResult<CustomerApi.Customer>>(
'/license/customer/page',
{ params },
);
}
/** 查询客户详情 */
export function getCustomer(id: number) {
return requestClient.get<CustomerApi.Customer>(
`/license/customer/get?id=${id}`,
);
}
/** 新增客户 */
export function createCustomer(data: CustomerApi.Customer) {
return requestClient.post('/license/customer/create', data);
}
/** 修改客户 */
export function updateCustomer(data: CustomerApi.Customer) {
return requestClient.put('/license/customer/update', data);
}
/** 删除客户 */
export function deleteCustomer(id: number) {
return requestClient.delete(`/license/customer/delete?id=${id}`);
}
/** 导出客户 */
export function exportCustomer(params: any) {
return requestClient.download('/license/customer/export-excel', params);
}
/** 客户名称是否存在 */
async function isCustomerNameExists(
name: string,
id?: CustomerApi.Customer['id'],
) {
return requestClient.get<boolean>('/license/customer/name-exists', {
params: { id, name },
});
}
/** 查询当前最大sn */
async function getMaxSn() {
return requestClient.get<boolean>('/license/customer/max-sn');
}
export { getMaxSn, isCustomerNameExists };