feat: 新增api接口文件

This commit is contained in:
吃货
2025-07-05 00:41:50 +08:00
parent 8b477131a2
commit e0080bb3e0
118 changed files with 8710 additions and 0 deletions

View File

@@ -0,0 +1,125 @@
import type { PageParam, PageResult } from '@vben/request';
import type { CrmPermissionApi } from '#/api/crm/permission';
import { requestClient } from '#/api/request';
export namespace CrmBusinessApi {
/** 商机产品信息 */
export interface BusinessProduct {
id: number;
productId: number;
productName: string;
productNo: string;
productUnit: number;
productPrice: number;
businessPrice: number;
count: number;
totalPrice: number;
}
/** 商机信息 */
export interface Business {
id: number;
name: string;
customerId: number;
customerName?: string;
followUpStatus: boolean;
contactLastTime: Date;
contactNextTime: Date;
ownerUserId: number;
ownerUserName?: string; // 负责人的用户名称
ownerUserDept?: string; // 负责人的部门名称
statusTypeId: number;
statusTypeName?: string;
statusId: number;
statusName?: string;
endStatus: number;
endRemark: string;
dealTime: Date;
totalProductPrice: number;
totalPrice: number;
discountPercent: number;
status?: number;
remark: string;
creator: string; // 创建人
creatorName?: string; // 创建人名称
createTime: Date; // 创建时间
updateTime: Date; // 更新时间
products?: BusinessProduct[];
}
export interface BusinessStatus {
id: number;
statusId: number | undefined;
endStatus: number | undefined;
}
}
/** 查询商机列表 */
export function getBusinessPage(params: PageParam) {
return requestClient.get<PageResult<CrmBusinessApi.Business>>(
'/crm/business/page',
{ params },
);
}
/** 查询商机列表,基于指定客户 */
export function getBusinessPageByCustomer(params: PageParam) {
return requestClient.get<PageResult<CrmBusinessApi.Business>>(
'/crm/business/page-by-customer',
{ params },
);
}
/** 查询商机详情 */
export function getBusiness(id: number) {
return requestClient.get<CrmBusinessApi.Business>(
`/crm/business/get?id=${id}`,
);
}
/** 获得商机列表(精简) */
export function getSimpleBusinessList() {
return requestClient.get<CrmBusinessApi.Business[]>(
'/crm/business/simple-all-list',
);
}
/** 新增商机 */
export function createBusiness(data: CrmBusinessApi.Business) {
return requestClient.post('/crm/business/create', data);
}
/** 修改商机 */
export function updateBusiness(data: CrmBusinessApi.Business) {
return requestClient.put('/crm/business/update', data);
}
/** 修改商机状态 */
export function updateBusinessStatus(data: CrmBusinessApi.BusinessStatus) {
return requestClient.put('/crm/business/update-status', data);
}
/** 删除商机 */
export function deleteBusiness(id: number) {
return requestClient.delete(`/crm/business/delete?id=${id}`);
}
/** 导出商机 */
export function exportBusiness(params: any) {
return requestClient.download('/crm/business/export-excel', params);
}
/** 联系人关联商机列表 */
export function getBusinessPageByContact(params: PageParam) {
return requestClient.get<PageResult<CrmBusinessApi.Business>>(
'/crm/business/page-by-contact',
{ params },
);
}
/** 商机转移 */
export function transferBusiness(data: CrmPermissionApi.TransferReq) {
return requestClient.put('/crm/business/transfer', data);
}

View File

@@ -0,0 +1,95 @@
import type { PageParam, PageResult } from '@vben/request';
import { requestClient } from '#/api/request';
export namespace CrmBusinessStatusApi {
/** 商机状态信息 */
export interface BusinessStatusType {
[x: string]: any;
id?: number;
name: string;
percent: number;
}
/** 商机状态组信息 */
export interface BusinessStatus {
id?: number;
name: string;
deptIds?: number[];
deptNames?: string[];
creator?: string;
createTime?: Date;
statuses?: BusinessStatusType[];
}
}
/** 默认商机状态 */
export const DEFAULT_STATUSES = [
{
endStatus: 1,
key: '结束',
name: '赢单',
percent: 100,
},
{
endStatus: 2,
key: '结束',
name: '输单',
percent: 0,
},
{
endStatus: 3,
key: '结束',
name: '无效',
percent: 0,
},
];
/** 查询商机状态组列表 */
export function getBusinessStatusPage(params: PageParam) {
return requestClient.get<PageResult<CrmBusinessStatusApi.BusinessStatus>>(
'/crm/business-status/page',
{ params },
);
}
/** 新增商机状态组 */
export function createBusinessStatus(
data: CrmBusinessStatusApi.BusinessStatus,
) {
return requestClient.post('/crm/business-status/create', data);
}
/** 修改商机状态组 */
export function updateBusinessStatus(
data: CrmBusinessStatusApi.BusinessStatus,
) {
return requestClient.put('/crm/business-status/update', data);
}
/** 查询商机状态类型详情 */
export function getBusinessStatus(id: number) {
return requestClient.get<CrmBusinessStatusApi.BusinessStatus>(
`/crm/business-status/get?id=${id}`,
);
}
/** 删除商机状态 */
export function deleteBusinessStatus(id: number) {
return requestClient.delete(`/crm/business-status/delete?id=${id}`);
}
/** 获得商机状态组列表 */
export function getBusinessStatusTypeSimpleList() {
return requestClient.get<CrmBusinessStatusApi.BusinessStatus[]>(
'/crm/business-status/type-simple-list',
);
}
/** 获得商机阶段列表 */
export function getBusinessStatusSimpleList(typeId: number) {
return requestClient.get<CrmBusinessStatusApi.BusinessStatusType[]>(
'/crm/business-status/status-simple-list',
{ params: { typeId } },
);
}