72 lines
1.8 KiB
TypeScript
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 };
|