feat:【antd】【crm】api 请求的注释优化

This commit is contained in:
YunaiV
2025-11-18 10:47:17 +08:00
parent 6d37af629c
commit 9680f80735
16 changed files with 220 additions and 239 deletions

View File

@@ -5,19 +5,6 @@ import type { CrmPermissionApi } from '#/api/crm/permission';
import { requestClient } from '#/api/request'; import { requestClient } from '#/api/request';
export namespace CrmBusinessApi { 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 { export interface Business {
id: number; id: number;
@@ -49,7 +36,21 @@ export namespace CrmBusinessApi {
products?: BusinessProduct[]; products?: BusinessProduct[];
} }
export interface BusinessStatus { /** 商机产品信息 */
export interface BusinessProduct {
id: number;
productId: number;
productName: string;
productNo: string;
productUnit: number;
productPrice: number;
businessPrice: number;
count: number;
totalPrice: number;
}
/** 商机更新状态请求 */
export interface BusinessUpdateStatusReqVO {
id: number; id: number;
statusId: number | undefined; statusId: number | undefined;
endStatus: number | undefined; endStatus: number | undefined;
@@ -97,7 +98,9 @@ export function updateBusiness(data: CrmBusinessApi.Business) {
} }
/** 修改商机状态 */ /** 修改商机状态 */
export function updateBusinessStatus(data: CrmBusinessApi.BusinessStatus) { export function updateBusinessStatus(
data: CrmBusinessApi.BusinessUpdateStatusReqVO,
) {
return requestClient.put('/crm/business/update-status', data); return requestClient.put('/crm/business/update-status', data);
} }
@@ -120,6 +123,6 @@ export function getBusinessPageByContact(params: PageParam) {
} }
/** 商机转移 */ /** 商机转移 */
export function transferBusiness(data: CrmPermissionApi.TransferReq) { export function transferBusiness(data: CrmPermissionApi.BusinessTransferReqVO) {
return requestClient.put('/crm/business/transfer', data); return requestClient.put('/crm/business/transfer', data);
} }

View File

@@ -3,14 +3,6 @@ import type { PageParam, PageResult } from '@vben/request';
import { requestClient } from '#/api/request'; import { requestClient } from '#/api/request';
export namespace CrmBusinessStatusApi { export namespace CrmBusinessStatusApi {
/** 商机状态信息 */
export interface BusinessStatusType {
[x: string]: any;
id?: number;
name: string;
percent: number;
}
/** 商机状态组信息 */ /** 商机状态组信息 */
export interface BusinessStatus { export interface BusinessStatus {
id?: number; id?: number;
@@ -21,6 +13,14 @@ export namespace CrmBusinessStatusApi {
createTime?: Date; createTime?: Date;
statuses?: BusinessStatusType[]; statuses?: BusinessStatusType[];
} }
/** 商机状态信息 */
export interface BusinessStatusType {
id?: number;
name: string;
percent: number;
[x: string]: any;
}
} }
/** 默认商机状态 */ /** 默认商机状态 */

View File

@@ -71,7 +71,7 @@ export function exportClue(params: any) {
} }
/** 线索转移 */ /** 线索转移 */
export function transferClue(data: CrmPermissionApi.TransferReq) { export function transferClue(data: CrmPermissionApi.BusinessTransferReqVO) {
return requestClient.put('/crm/clue/transfer', data); return requestClient.put('/crm/clue/transfer', data);
} }

View File

@@ -38,13 +38,13 @@ export namespace CrmContactApi {
} }
/** 联系人商机关联请求 */ /** 联系人商机关联请求 */
export interface ContactBusinessReq { export interface ContactBusinessReqVO {
contactId: number; contactId: number;
businessIds: number[]; businessIds: number[];
} }
/** 商机联系人关联请求 */ /** 商机联系人关联请求 */
export interface BusinessContactReq { export interface BusinessContactReqVO {
businessId: number; businessId: number;
contactIds: number[]; contactIds: number[];
} }
@@ -108,33 +108,33 @@ export function getSimpleContactList() {
/** 批量新增联系人商机关联 */ /** 批量新增联系人商机关联 */
export function createContactBusinessList( export function createContactBusinessList(
data: CrmContactApi.ContactBusinessReq, data: CrmContactApi.ContactBusinessReqVO,
) { ) {
return requestClient.post('/crm/contact/create-business-list', data); return requestClient.post('/crm/contact/create-business-list', data);
} }
/** 批量新增商机联系人关联 */ /** 批量新增商机联系人关联 */
export function createBusinessContactList( export function createBusinessContactList(
data: CrmContactApi.BusinessContactReq, data: CrmContactApi.BusinessContactReqVO,
) { ) {
return requestClient.post('/crm/contact/create-business-list2', data); return requestClient.post('/crm/contact/create-business-list2', data);
} }
/** 解除联系人商机关联 */ /** 解除联系人商机关联 */
export function deleteContactBusinessList( export function deleteContactBusinessList(
data: CrmContactApi.ContactBusinessReq, data: CrmContactApi.ContactBusinessReqVO,
) { ) {
return requestClient.delete('/crm/contact/delete-business-list', { data }); return requestClient.delete('/crm/contact/delete-business-list', { data });
} }
/** 解除商机联系人关联 */ /** 解除商机联系人关联 */
export function deleteBusinessContactList( export function deleteBusinessContactList(
data: CrmContactApi.BusinessContactReq, data: CrmContactApi.BusinessContactReqVO,
) { ) {
return requestClient.delete('/crm/contact/delete-business-list2', { data }); return requestClient.delete('/crm/contact/delete-business-list2', { data });
} }
/** 联系人转移 */ /** 联系人转移 */
export function transferContact(data: CrmPermissionApi.TransferReq) { export function transferContact(data: CrmPermissionApi.BusinessTransferReqVO) {
return requestClient.put('/crm/contact/transfer', data); return requestClient.put('/crm/contact/transfer', data);
} }

View File

@@ -5,19 +5,6 @@ import type { CrmPermissionApi } from '#/api/crm/permission';
import { requestClient } from '#/api/request'; import { requestClient } from '#/api/request';
export namespace CrmContractApi { export namespace CrmContractApi {
/** 合同产品信息 */
export interface ContractProduct {
id: number;
productId: number;
productName: string;
productNo: string;
productUnit: number;
productPrice: number;
contractPrice: number;
count: number;
totalPrice: number;
}
/** 合同信息 */ /** 合同信息 */
export interface Contract { export interface Contract {
id: number; id: number;
@@ -50,6 +37,20 @@ export namespace CrmContractApi {
creatorName: string; creatorName: string;
updateTime?: Date; updateTime?: Date;
products?: ContractProduct[]; products?: ContractProduct[];
contactName?: string;
}
/** 合同产品信息 */
export interface ContractProduct {
id: number;
productId: number;
productName: string;
productNo: string;
productUnit: number;
productPrice: number;
contractPrice: number;
count: number;
totalPrice: number;
} }
} }
@@ -117,7 +118,7 @@ export function submitContract(id: number) {
} }
/** 合同转移 */ /** 合同转移 */
export function transferContract(data: CrmPermissionApi.TransferReq) { export function transferContract(data: CrmPermissionApi.BusinessTransferReqVO) {
return requestClient.put('/crm/contract/transfer', data); return requestClient.put('/crm/contract/transfer', data);
} }

View File

@@ -16,6 +16,7 @@ export namespace CrmCustomerApi {
ownerUserId: number; // 负责人的用户编号 ownerUserId: number; // 负责人的用户编号
ownerUserName?: string; // 负责人的用户名称 ownerUserName?: string; // 负责人的用户名称
ownerUserDept?: string; // 负责人的部门名称 ownerUserDept?: string; // 负责人的部门名称
ownerUserDeptName?: string; // 负责人的部门名称
lockStatus?: boolean; lockStatus?: boolean;
dealStatus?: boolean; dealStatus?: boolean;
mobile: string; // 手机号 mobile: string; // 手机号
@@ -34,8 +35,11 @@ export namespace CrmCustomerApi {
creatorName?: string; // 创建人名称 creatorName?: string; // 创建人名称
createTime: Date; // 创建时间 createTime: Date; // 创建时间
updateTime: Date; // 更新时间 updateTime: Date; // 更新时间
poolDay?: number; // 距离进入公海天数
} }
export interface CustomerImport {
/** 客户导入请求 */
export interface CustomerImportReqVO {
ownerUserId: number; ownerUserId: number;
file: File; file: File;
updateSupport: boolean; updateSupport: boolean;
@@ -83,7 +87,7 @@ export function importCustomerTemplate() {
} }
/** 导入客户 */ /** 导入客户 */
export function importCustomer(data: CrmCustomerApi.CustomerImport) { export function importCustomer(data: CrmCustomerApi.CustomerImportReqVO) {
return requestClient.upload('/crm/customer/import', data); return requestClient.upload('/crm/customer/import', data);
} }
@@ -95,7 +99,7 @@ export function getCustomerSimpleList() {
} }
/** 客户转移 */ /** 客户转移 */
export function transferCustomer(data: CrmPermissionApi.TransferReq) { export function transferCustomer(data: CrmPermissionApi.BusinessTransferReqVO) {
return requestClient.put('/crm/customer/transfer', data); return requestClient.put('/crm/customer/transfer', data);
} }

View File

@@ -3,18 +3,6 @@ import type { PageParam, PageResult } from '@vben/request';
import { requestClient } from '#/api/request'; import { requestClient } from '#/api/request';
export namespace CrmFollowUpApi { export namespace CrmFollowUpApi {
/** 关联商机信息 */
export interface Business {
id: number;
name: string;
}
/** 关联联系人信息 */
export interface Contact {
id: number;
name: string;
}
/** 跟进记录信息 */ /** 跟进记录信息 */
export interface FollowUpRecord { export interface FollowUpRecord {
id: number; // 编号 id: number; // 编号
@@ -32,6 +20,18 @@ export namespace CrmFollowUpApi {
creator: string; creator: string;
creatorName?: string; creatorName?: string;
} }
/** 关联商机信息 */
export interface Business {
id: number;
name: string;
}
/** 关联联系人信息 */
export interface Contact {
id: number;
name: string;
}
} }
/** 查询跟进记录分页 */ /** 查询跟进记录分页 */

View File

@@ -5,12 +5,6 @@ import type { SystemOperateLogApi } from '#/api/system/operate-log';
import { requestClient } from '#/api/request'; import { requestClient } from '#/api/request';
export namespace CrmOperateLogApi { export namespace CrmOperateLogApi {
/** 操作日志查询参数 */
export interface OperateLogQuery {
bizType: number;
bizId: number;
}
/** 操作日志信息 */ /** 操作日志信息 */
export interface OperateLog { export interface OperateLog {
id: number; id: number;
@@ -22,10 +16,18 @@ export namespace CrmOperateLogApi {
creatorName?: string; creatorName?: string;
createTime: Date; createTime: Date;
} }
/** 操作日志查询请求 */
export interface OperateLogQueryReqVO {
bizType: number;
bizId: number;
}
} }
/** 获得操作日志 */ /** 获得操作日志 */
export function getOperateLogPage(params: CrmOperateLogApi.OperateLogQuery) { export function getOperateLogPage(
params: CrmOperateLogApi.OperateLogQueryReqVO,
) {
return requestClient.get<PageResult<SystemOperateLogApi.OperateLog>>( return requestClient.get<PageResult<SystemOperateLogApi.OperateLog>>(
'/crm/operate-log/page', '/crm/operate-log/page',
{ params }, { params },

View File

@@ -17,14 +17,15 @@ export namespace CrmPermissionApi {
} }
/** 数据权限转移请求 */ /** 数据权限转移请求 */
export interface TransferReq { export interface BusinessTransferReqVO {
id: number; // 模块编号 id: number; // 模块编号
newOwnerUserId: number; // 新负责人的用户编号 newOwnerUserId: number; // 新负责人的用户编号
oldOwnerPermissionLevel?: number; // 老负责人加入团队后的权限级别 oldOwnerPermissionLevel?: number; // 老负责人加入团队后的权限级别
toBizTypes?: number[]; // 转移客户时,需要额外有【联系人】【商机】【合同】的 checkbox 选择 toBizTypes?: number[]; // 转移客户时,需要额外有【联系人】【商机】【合同】的 checkbox 选择
} }
export interface PermissionListReq { /** 权限列表请求 */
export interface PermissionListReqVO {
bizId: number; // 模块数据编号 bizId: number; // 模块数据编号
bizType: number; // 模块类型 bizType: number; // 模块类型
} }
@@ -54,7 +55,9 @@ export enum PermissionLevelEnum {
} }
/** 获得数据权限列表(查询团队成员列表) */ /** 获得数据权限列表(查询团队成员列表) */
export function getPermissionList(params: CrmPermissionApi.PermissionListReq) { export function getPermissionList(
params: CrmPermissionApi.PermissionListReqVO,
) {
return requestClient.get<CrmPermissionApi.Permission[]>( return requestClient.get<CrmPermissionApi.Permission[]>(
'/crm/permission/list', '/crm/permission/list',
{ params }, { params },

View File

@@ -3,14 +3,6 @@ import type { PageParam, PageResult } from '@vben/request';
import { requestClient } from '#/api/request'; import { requestClient } from '#/api/request';
export namespace CrmReceivableApi { export namespace CrmReceivableApi {
/** 合同信息 */
export interface Contract {
id?: number;
name?: string;
no: string;
totalPrice: number;
}
/** 回款信息 */ /** 回款信息 */
export interface Receivable { export interface Receivable {
id: number; id: number;
@@ -35,20 +27,17 @@ export namespace CrmReceivableApi {
updateTime: Date; // 更新时间 updateTime: Date; // 更新时间
} }
export interface ReceivablePageParam extends PageParam { /** 合同信息 */
no?: string; export interface Contract {
planId?: number; id?: number;
customerId?: number; name?: string;
contractId?: number; no: string;
sceneType?: number; totalPrice: number;
auditStatus?: number;
} }
} }
/** 查询回款列表 */ /** 查询回款列表 */
export function getReceivablePage( export function getReceivablePage(params: PageParam) {
params: CrmReceivableApi.ReceivablePageParam,
) {
return requestClient.get<PageResult<CrmReceivableApi.Receivable>>( return requestClient.get<PageResult<CrmReceivableApi.Receivable>>(
'/crm/receivable/page', '/crm/receivable/page',
{ params }, { params },
@@ -56,9 +45,7 @@ export function getReceivablePage(
} }
/** 查询回款列表,基于指定客户 */ /** 查询回款列表,基于指定客户 */
export function getReceivablePageByCustomer( export function getReceivablePageByCustomer(params: PageParam) {
params: CrmReceivableApi.ReceivablePageParam,
) {
return requestClient.get<PageResult<CrmReceivableApi.Receivable>>( return requestClient.get<PageResult<CrmReceivableApi.Receivable>>(
'/crm/receivable/page-by-customer', '/crm/receivable/page-by-customer',
{ params }, { params },

View File

@@ -29,20 +29,10 @@ export namespace CrmReceivablePlanApi {
returnTime: Date; returnTime: Date;
}; };
} }
export interface PlanPageParam extends PageParam {
customerId?: number;
contractId?: number;
contractNo?: string;
sceneType?: number;
remindType?: number;
}
} }
/** 查询回款计划列表 */ /** 查询回款计划列表 */
export function getReceivablePlanPage( export function getReceivablePlanPage(params: PageParam) {
params: CrmReceivablePlanApi.PlanPageParam,
) {
return requestClient.get<PageResult<CrmReceivablePlanApi.Plan>>( return requestClient.get<PageResult<CrmReceivablePlanApi.Plan>>(
'/crm/receivable-plan/page', '/crm/receivable-plan/page',
{ params }, { params },
@@ -50,9 +40,7 @@ export function getReceivablePlanPage(
} }
/** 查询回款计划列表(按客户) */ /** 查询回款计划列表(按客户) */
export function getReceivablePlanPageByCustomer( export function getReceivablePlanPageByCustomer(params: PageParam) {
params: CrmReceivablePlanApi.PlanPageParam,
) {
return requestClient.get<PageResult<CrmReceivablePlanApi.Plan>>( return requestClient.get<PageResult<CrmReceivablePlanApi.Plan>>(
'/crm/receivable-plan/page-by-customer', '/crm/receivable-plan/page-by-customer',
{ params }, { params },
@@ -98,7 +86,7 @@ export function deleteReceivablePlan(id: number) {
} }
/** 导出回款计划 Excel */ /** 导出回款计划 Excel */
export function exportReceivablePlan(params: PageParam) { export function exportReceivablePlan(params: any) {
return requestClient.download('/crm/receivable-plan/export-excel', { return requestClient.download('/crm/receivable-plan/export-excel', {
params, params,
}); });

View File

@@ -1,15 +1,24 @@
import { requestClient } from '#/api/request'; import { requestClient } from '#/api/request';
export namespace CrmStatisticsCustomerApi { export namespace CrmStatisticsCustomerApi {
/** 客户总量分析(按日期) */ /** 客户统计请求 */
export interface CustomerSummaryByDate { export interface CustomerSummaryReqVO {
times: string[];
interval: number;
deptId: number;
userId: number;
userIds: number[];
}
/** 客户总量分析(按日期)响应 */
export interface CustomerSummaryByDateRespVO {
time: string; time: string;
customerCreateCount: number; customerCreateCount: number;
customerDealCount: number; customerDealCount: number;
} }
/** 客户总量分析(按用户) */ /** 客户总量分析(按用户)响应 */
export interface CustomerSummaryByUser { export interface CustomerSummaryByUserRespVO {
ownerUserName: string; ownerUserName: string;
customerCreateCount: number; customerCreateCount: number;
customerDealCount: number; customerDealCount: number;
@@ -17,28 +26,28 @@ export namespace CrmStatisticsCustomerApi {
receivablePrice: number; receivablePrice: number;
} }
/** 客户跟进次数分析(按日期) */ /** 客户跟进次数分析(按日期)响应 */
export interface FollowUpSummaryByDate { export interface FollowUpSummaryByDateRespVO {
time: string; time: string;
followUpRecordCount: number; followUpRecordCount: number;
followUpCustomerCount: number; followUpCustomerCount: number;
} }
/** 客户跟进次数分析(按用户) */ /** 客户跟进次数分析(按用户)响应 */
export interface FollowUpSummaryByUser { export interface FollowUpSummaryByUserRespVO {
ownerUserName: string; ownerUserName: string;
followupRecordCount: number; followupRecordCount: number;
followupCustomerCount: number; followupCustomerCount: number;
} }
/** 客户跟进方式统计 */ /** 客户跟进方式统计响应 */
export interface FollowUpSummaryByType { export interface FollowUpSummaryByTypeRespVO {
followUpType: string; followUpType: string;
followUpRecordCount: number; followUpRecordCount: number;
} }
/** 合同摘要信息 */ /** 合同摘要信息响应 */
export interface CustomerContractSummary { export interface CustomerContractSummaryRespVO {
customerName: string; customerName: string;
contractName: string; contractName: string;
totalPrice: number; totalPrice: number;
@@ -51,54 +60,46 @@ export namespace CrmStatisticsCustomerApi {
orderDate: Date; orderDate: Date;
} }
/** 客户公海分析(按日期) */ /** 客户公海分析(按日期)响应 */
export interface PoolSummaryByDate { export interface PoolSummaryByDateRespVO {
time: string; time: string;
customerPutCount: number; customerPutCount: number;
customerTakeCount: number; customerTakeCount: number;
} }
/** 客户公海分析(按用户) */ /** 客户公海分析(按用户)响应 */
export interface PoolSummaryByUser { export interface PoolSummaryByUserRespVO {
ownerUserName: string; ownerUserName: string;
customerPutCount: number; customerPutCount: number;
customerTakeCount: number; customerTakeCount: number;
} }
/** 客户成交周期(按日期) */ /** 客户成交周期(按日期)响应 */
export interface CustomerDealCycleByDate { export interface CustomerDealCycleByDateRespVO {
time: string; time: string;
customerDealCycle: number; customerDealCycle: number;
} }
/** 客户成交周期(按用户) */ /** 客户成交周期(按用户)响应 */
export interface CustomerDealCycleByUser { export interface CustomerDealCycleByUserRespVO {
ownerUserName: string; ownerUserName: string;
customerDealCycle: number; customerDealCycle: number;
customerDealCount: number; customerDealCount: number;
} }
/** 客户成交周期(按地区) */ /** 客户成交周期(按地区)响应 */
export interface CustomerDealCycleByArea { export interface CustomerDealCycleByAreaRespVO {
areaName: string; areaName: string;
customerDealCycle: number; customerDealCycle: number;
customerDealCount: number; customerDealCount: number;
} }
/** 客户成交周期(按产品) */ /** 客户成交周期(按产品)响应 */
export interface CustomerDealCycleByProduct { export interface CustomerDealCycleByProductRespVO {
productName: string; productName: string;
customerDealCycle: number; customerDealCycle: number;
customerDealCount: number; customerDealCount: number;
} }
export interface CustomerSummaryParams {
times: string[];
interval: number;
deptId: number;
userId: number;
userIds: number[];
}
} }
export function getDatas(activeTabName: any, params: any) { export function getDatas(activeTabName: any, params: any) {
@@ -167,69 +168,63 @@ export function getChartDatas(activeTabName: any, params: any) {
/** 客户总量分析(按日期) */ /** 客户总量分析(按日期) */
export function getCustomerSummaryByDate( export function getCustomerSummaryByDate(
params: CrmStatisticsCustomerApi.CustomerSummaryParams, params: CrmStatisticsCustomerApi.CustomerSummaryReqVO,
) { ) {
return requestClient.get<CrmStatisticsCustomerApi.CustomerSummaryByDate[]>( return requestClient.get<
'/crm/statistics-customer/get-customer-summary-by-date', CrmStatisticsCustomerApi.CustomerSummaryByDateRespVO[]
{ params }, >('/crm/statistics-customer/get-customer-summary-by-date', { params });
);
} }
/** 客户总量分析(按用户) */ /** 客户总量分析(按用户) */
export function getCustomerSummaryByUser( export function getCustomerSummaryByUser(
params: CrmStatisticsCustomerApi.CustomerSummaryParams, params: CrmStatisticsCustomerApi.CustomerSummaryReqVO,
) { ) {
return requestClient.get<CrmStatisticsCustomerApi.CustomerSummaryByUser[]>( return requestClient.get<
'/crm/statistics-customer/get-customer-summary-by-user', CrmStatisticsCustomerApi.CustomerSummaryByUserRespVO[]
{ params }, >('/crm/statistics-customer/get-customer-summary-by-user', { params });
);
} }
/** 客户跟进次数分析(按日期) */ /** 客户跟进次数分析(按日期) */
export function getFollowUpSummaryByDate( export function getFollowUpSummaryByDate(
params: CrmStatisticsCustomerApi.CustomerSummaryParams, params: CrmStatisticsCustomerApi.CustomerSummaryReqVO,
) { ) {
return requestClient.get<CrmStatisticsCustomerApi.FollowUpSummaryByDate[]>( return requestClient.get<
'/crm/statistics-customer/get-follow-up-summary-by-date', CrmStatisticsCustomerApi.FollowUpSummaryByDateRespVO[]
{ params }, >('/crm/statistics-customer/get-follow-up-summary-by-date', { params });
);
} }
/** 客户跟进次数分析(按用户) */ /** 客户跟进次数分析(按用户) */
export function getFollowUpSummaryByUser( export function getFollowUpSummaryByUser(
params: CrmStatisticsCustomerApi.CustomerSummaryParams, params: CrmStatisticsCustomerApi.CustomerSummaryReqVO,
) { ) {
return requestClient.get<CrmStatisticsCustomerApi.FollowUpSummaryByUser[]>( return requestClient.get<
'/crm/statistics-customer/get-follow-up-summary-by-user', CrmStatisticsCustomerApi.FollowUpSummaryByUserRespVO[]
{ params }, >('/crm/statistics-customer/get-follow-up-summary-by-user', { params });
);
} }
/** 获取客户跟进方式统计数 */ /** 获取客户跟进方式统计数 */
export function getFollowUpSummaryByType( export function getFollowUpSummaryByType(
params: CrmStatisticsCustomerApi.CustomerSummaryParams, params: CrmStatisticsCustomerApi.CustomerSummaryReqVO,
) { ) {
return requestClient.get<CrmStatisticsCustomerApi.FollowUpSummaryByType[]>( return requestClient.get<
'/crm/statistics-customer/get-follow-up-summary-by-type', CrmStatisticsCustomerApi.FollowUpSummaryByTypeRespVO[]
{ params }, >('/crm/statistics-customer/get-follow-up-summary-by-type', { params });
);
} }
/** 合同摘要信息(客户转化率页面) */ /** 合同摘要信息(客户转化率页面) */
export function getContractSummary( export function getContractSummary(
params: CrmStatisticsCustomerApi.CustomerSummaryParams, params: CrmStatisticsCustomerApi.CustomerSummaryReqVO,
) { ) {
return requestClient.get<CrmStatisticsCustomerApi.CustomerContractSummary[]>( return requestClient.get<
'/crm/statistics-customer/get-contract-summary', CrmStatisticsCustomerApi.CustomerContractSummaryRespVO[]
{ params }, >('/crm/statistics-customer/get-contract-summary', { params });
);
} }
/** 获取客户公海分析(按日期) */ /** 获取客户公海分析(按日期) */
export function getPoolSummaryByDate( export function getPoolSummaryByDate(
params: CrmStatisticsCustomerApi.CustomerSummaryParams, params: CrmStatisticsCustomerApi.CustomerSummaryReqVO,
) { ) {
return requestClient.get<CrmStatisticsCustomerApi.PoolSummaryByDate[]>( return requestClient.get<CrmStatisticsCustomerApi.PoolSummaryByDateRespVO[]>(
'/crm/statistics-customer/get-pool-summary-by-date', '/crm/statistics-customer/get-pool-summary-by-date',
{ params }, { params },
); );
@@ -237,9 +232,9 @@ export function getPoolSummaryByDate(
/** 获取客户公海分析(按用户) */ /** 获取客户公海分析(按用户) */
export function getPoolSummaryByUser( export function getPoolSummaryByUser(
params: CrmStatisticsCustomerApi.CustomerSummaryParams, params: CrmStatisticsCustomerApi.CustomerSummaryReqVO,
) { ) {
return requestClient.get<CrmStatisticsCustomerApi.PoolSummaryByUser[]>( return requestClient.get<CrmStatisticsCustomerApi.PoolSummaryByUserRespVO[]>(
'/crm/statistics-customer/get-pool-summary-by-user', '/crm/statistics-customer/get-pool-summary-by-user',
{ params }, { params },
); );
@@ -247,39 +242,36 @@ export function getPoolSummaryByUser(
/** 获取客户成交周期(按日期) */ /** 获取客户成交周期(按日期) */
export function getCustomerDealCycleByDate( export function getCustomerDealCycleByDate(
params: CrmStatisticsCustomerApi.CustomerSummaryParams, params: CrmStatisticsCustomerApi.CustomerSummaryReqVO,
) { ) {
return requestClient.get<CrmStatisticsCustomerApi.CustomerDealCycleByDate[]>( return requestClient.get<
'/crm/statistics-customer/get-customer-deal-cycle-by-date', CrmStatisticsCustomerApi.CustomerDealCycleByDateRespVO[]
{ params }, >('/crm/statistics-customer/get-customer-deal-cycle-by-date', { params });
);
} }
/** 获取客户成交周期(按用户) */ /** 获取客户成交周期(按用户) */
export function getCustomerDealCycleByUser( export function getCustomerDealCycleByUser(
params: CrmStatisticsCustomerApi.CustomerSummaryParams, params: CrmStatisticsCustomerApi.CustomerSummaryReqVO,
) { ) {
return requestClient.get<CrmStatisticsCustomerApi.CustomerDealCycleByUser[]>( return requestClient.get<
'/crm/statistics-customer/get-customer-deal-cycle-by-user', CrmStatisticsCustomerApi.CustomerDealCycleByUserRespVO[]
{ params }, >('/crm/statistics-customer/get-customer-deal-cycle-by-user', { params });
);
} }
/** 获取客户成交周期(按地区) */ /** 获取客户成交周期(按地区) */
export function getCustomerDealCycleByArea( export function getCustomerDealCycleByArea(
params: CrmStatisticsCustomerApi.CustomerSummaryParams, params: CrmStatisticsCustomerApi.CustomerSummaryReqVO,
) { ) {
return requestClient.get<CrmStatisticsCustomerApi.CustomerDealCycleByArea[]>( return requestClient.get<
'/crm/statistics-customer/get-customer-deal-cycle-by-area', CrmStatisticsCustomerApi.CustomerDealCycleByAreaRespVO[]
{ params }, >('/crm/statistics-customer/get-customer-deal-cycle-by-area', { params });
);
} }
/** 获取客户成交周期(按产品) */ /** 获取客户成交周期(按产品) */
export function getCustomerDealCycleByProduct( export function getCustomerDealCycleByProduct(
params: CrmStatisticsCustomerApi.CustomerSummaryParams, params: CrmStatisticsCustomerApi.CustomerSummaryReqVO,
) { ) {
return requestClient.get< return requestClient.get<
CrmStatisticsCustomerApi.CustomerDealCycleByProduct[] CrmStatisticsCustomerApi.CustomerDealCycleByProductRespVO[]
>('/crm/statistics-customer/get-customer-deal-cycle-by-product', { params }); >('/crm/statistics-customer/get-customer-deal-cycle-by-product', { params });
} }

View File

@@ -3,22 +3,22 @@ import type { PageResult } from '@vben/request';
import { requestClient } from '#/api/request'; import { requestClient } from '#/api/request';
export namespace CrmStatisticsFunnelApi { export namespace CrmStatisticsFunnelApi {
/** 销售漏斗统计数据 */ /** 销售漏斗统计数据响应 */
export interface FunnelSummary { export interface FunnelSummaryRespVO {
customerCount: number; // 客户数 customerCount: number; // 客户数
businessCount: number; // 商机数 businessCount: number; // 商机数
businessWinCount: number; // 赢单数 businessWinCount: number; // 赢单数
} }
/** 商机分析(按日期) */ /** 商机分析(按日期)响应 */
export interface BusinessSummaryByDate { export interface BusinessSummaryByDateRespVO {
time: string; // 时间 time: string; // 时间
businessCreateCount: number; // 商机数 businessCreateCount: number; // 商机数
totalPrice: number | string; // 商机金额 totalPrice: number | string; // 商机金额
} }
/** 商机转化率分析(按日期) */ /** 商机转化率分析(按日期)响应 */
export interface BusinessInversionRateSummaryByDate { export interface BusinessInversionRateSummaryByDateRespVO {
time: string; // 时间 time: string; // 时间
businessCount: number; // 商机数量 businessCount: number; // 商机数量
businessWinCount: number; // 赢单商机数 businessWinCount: number; // 赢单商机数
@@ -61,7 +61,7 @@ export function getChartDatas(activeTabName: any, params: any) {
/** 获取销售漏斗统计数据 */ /** 获取销售漏斗统计数据 */
export function getFunnelSummary(params: any) { export function getFunnelSummary(params: any) {
return requestClient.get<CrmStatisticsFunnelApi.FunnelSummary>( return requestClient.get<CrmStatisticsFunnelApi.FunnelSummaryRespVO>(
'/crm/statistics-funnel/get-funnel-summary', '/crm/statistics-funnel/get-funnel-summary',
{ params }, { params },
); );
@@ -77,16 +77,15 @@ export function getBusinessSummaryByEndStatus(params: any) {
/** 获取新增商机分析(按日期) */ /** 获取新增商机分析(按日期) */
export function getBusinessSummaryByDate(params: any) { export function getBusinessSummaryByDate(params: any) {
return requestClient.get<CrmStatisticsFunnelApi.BusinessSummaryByDate[]>( return requestClient.get<
'/crm/statistics-funnel/get-business-summary-by-date', CrmStatisticsFunnelApi.BusinessSummaryByDateRespVO[]
{ params }, >('/crm/statistics-funnel/get-business-summary-by-date', { params });
);
} }
/** 获取商机转化率分析(按日期) */ /** 获取商机转化率分析(按日期) */
export function getBusinessInversionRateSummaryByDate(params: any) { export function getBusinessInversionRateSummaryByDate(params: any) {
return requestClient.get< return requestClient.get<
CrmStatisticsFunnelApi.BusinessInversionRateSummaryByDate[] CrmStatisticsFunnelApi.BusinessInversionRateSummaryByDateRespVO[]
>('/crm/statistics-funnel/get-business-inversion-rate-summary-by-date', { >('/crm/statistics-funnel/get-business-inversion-rate-summary-by-date', {
params, params,
}); });

View File

@@ -1,25 +1,27 @@
import { requestClient } from '#/api/request'; import { requestClient } from '#/api/request';
export namespace CrmStatisticsPerformanceApi { export namespace CrmStatisticsPerformanceApi {
/** 员工业绩统计 */ /** 员工业绩统计请求 */
export interface Performance { export interface PerformanceReqVO {
times: string[];
deptId: number;
userId: number;
}
/** 员工业绩统计响应 */
export interface PerformanceRespVO {
time: string; time: string;
currentMonthCount: number; currentMonthCount: number;
lastMonthCount: number; lastMonthCount: number;
lastYearCount: number; lastYearCount: number;
} }
export interface PerformanceParams {
times: string[];
deptId: number;
userId: number;
}
} }
/** 员工获得合同金额统计 */ /** 员工获得合同金额统计 */
export function getContractPricePerformance( export function getContractPricePerformance(
params: CrmStatisticsPerformanceApi.PerformanceParams, params: CrmStatisticsPerformanceApi.PerformanceReqVO,
) { ) {
return requestClient.get<CrmStatisticsPerformanceApi.Performance[]>( return requestClient.get<CrmStatisticsPerformanceApi.PerformanceRespVO[]>(
'/crm/statistics-performance/get-contract-price-performance', '/crm/statistics-performance/get-contract-price-performance',
{ params }, { params },
); );
@@ -27,9 +29,9 @@ export function getContractPricePerformance(
/** 员工获得回款统计 */ /** 员工获得回款统计 */
export function getReceivablePricePerformance( export function getReceivablePricePerformance(
params: CrmStatisticsPerformanceApi.PerformanceParams, params: CrmStatisticsPerformanceApi.PerformanceReqVO,
) { ) {
return requestClient.get<CrmStatisticsPerformanceApi.Performance[]>( return requestClient.get<CrmStatisticsPerformanceApi.PerformanceRespVO[]>(
'/crm/statistics-performance/get-receivable-price-performance', '/crm/statistics-performance/get-receivable-price-performance',
{ params }, { params },
); );
@@ -37,9 +39,9 @@ export function getReceivablePricePerformance(
/** 员工获得签约合同数量统计 */ /** 员工获得签约合同数量统计 */
export function getContractCountPerformance( export function getContractCountPerformance(
params: CrmStatisticsPerformanceApi.PerformanceParams, params: CrmStatisticsPerformanceApi.PerformanceReqVO,
) { ) {
return requestClient.get<CrmStatisticsPerformanceApi.Performance[]>( return requestClient.get<CrmStatisticsPerformanceApi.PerformanceRespVO[]>(
'/crm/statistics-performance/get-contract-count-performance', '/crm/statistics-performance/get-contract-count-performance',
{ params }, { params },
); );

View File

@@ -3,33 +3,33 @@ import type { PageParam } from '@vben/request';
import { requestClient } from '#/api/request'; import { requestClient } from '#/api/request';
export namespace CrmStatisticsPortraitApi { export namespace CrmStatisticsPortraitApi {
/** 客户基础统计信息 */ /** 客户基础统计响应 */
export interface CustomerBase { export interface CustomerBaseRespVO {
customerCount: number; customerCount: number;
dealCount: number; dealCount: number;
dealPortion: number | string; dealPortion: number | string;
} }
/** 客户行业统计信息 */ /** 客户行业统计响应 */
export interface CustomerIndustry extends CustomerBase { export interface CustomerIndustryRespVO extends CustomerBaseRespVO {
industryId: number; industryId: number;
industryPortion: number | string; industryPortion: number | string;
} }
/** 客户来源统计信息 */ /** 客户来源统计响应 */
export interface CustomerSource extends CustomerBase { export interface CustomerSourceRespVO extends CustomerBaseRespVO {
source: number; source: number;
sourcePortion: number | string; sourcePortion: number | string;
} }
/** 客户级别统计信息 */ /** 客户级别统计响应 */
export interface CustomerLevel extends CustomerBase { export interface CustomerLevelRespVO extends CustomerBaseRespVO {
level: number; level: number;
levelPortion: number | string; levelPortion: number | string;
} }
/** 客户地区统计信息 */ /** 客户地区统计响应 */
export interface CustomerArea extends CustomerBase { export interface CustomerAreaRespVO extends CustomerBaseRespVO {
areaId: number; areaId: number;
areaName: string; areaName: string;
areaPortion: number | string; areaPortion: number | string;
@@ -58,7 +58,7 @@ export function getDatas(activeTabName: any, params: any) {
/** 获取客户行业统计数据 */ /** 获取客户行业统计数据 */
export function getCustomerIndustry(params: PageParam) { export function getCustomerIndustry(params: PageParam) {
return requestClient.get<CrmStatisticsPortraitApi.CustomerIndustry[]>( return requestClient.get<CrmStatisticsPortraitApi.CustomerIndustryRespVO[]>(
'/crm/statistics-portrait/get-customer-industry-summary', '/crm/statistics-portrait/get-customer-industry-summary',
{ params }, { params },
); );
@@ -66,7 +66,7 @@ export function getCustomerIndustry(params: PageParam) {
/** 获取客户来源统计数据 */ /** 获取客户来源统计数据 */
export function getCustomerSource(params: PageParam) { export function getCustomerSource(params: PageParam) {
return requestClient.get<CrmStatisticsPortraitApi.CustomerSource[]>( return requestClient.get<CrmStatisticsPortraitApi.CustomerSourceRespVO[]>(
'/crm/statistics-portrait/get-customer-source-summary', '/crm/statistics-portrait/get-customer-source-summary',
{ params }, { params },
); );
@@ -74,7 +74,7 @@ export function getCustomerSource(params: PageParam) {
/** 获取客户级别统计数据 */ /** 获取客户级别统计数据 */
export function getCustomerLevel(params: PageParam) { export function getCustomerLevel(params: PageParam) {
return requestClient.get<CrmStatisticsPortraitApi.CustomerLevel[]>( return requestClient.get<CrmStatisticsPortraitApi.CustomerLevelRespVO[]>(
'/crm/statistics-portrait/get-customer-level-summary', '/crm/statistics-portrait/get-customer-level-summary',
{ params }, { params },
); );
@@ -82,7 +82,7 @@ export function getCustomerLevel(params: PageParam) {
/** 获取客户地区统计数据 */ /** 获取客户地区统计数据 */
export function getCustomerArea(params: PageParam) { export function getCustomerArea(params: PageParam) {
return requestClient.get<CrmStatisticsPortraitApi.CustomerArea[]>( return requestClient.get<CrmStatisticsPortraitApi.CustomerAreaRespVO[]>(
'/crm/statistics-portrait/get-customer-area-summary', '/crm/statistics-portrait/get-customer-area-summary',
{ params }, { params },
); );

View File

@@ -3,8 +3,8 @@ import type { PageParam } from '@vben/request';
import { requestClient } from '#/api/request'; import { requestClient } from '#/api/request';
export namespace CrmStatisticsRankApi { export namespace CrmStatisticsRankApi {
/** 排行统计数据 */ /** 排行统计响应 */
export interface Rank { export interface RankRespVO {
count: number; count: number;
nickname: string; nickname: string;
deptName: string; deptName: string;
@@ -45,7 +45,7 @@ export function getDatas(activeTabName: any, params: any) {
/** 获得合同排行榜 */ /** 获得合同排行榜 */
export function getContractPriceRank(params: PageParam) { export function getContractPriceRank(params: PageParam) {
return requestClient.get<CrmStatisticsRankApi.Rank[]>( return requestClient.get<CrmStatisticsRankApi.RankRespVO[]>(
'/crm/statistics-rank/get-contract-price-rank', '/crm/statistics-rank/get-contract-price-rank',
{ params }, { params },
); );
@@ -53,7 +53,7 @@ export function getContractPriceRank(params: PageParam) {
/** 获得回款排行榜 */ /** 获得回款排行榜 */
export function getReceivablePriceRank(params: PageParam) { export function getReceivablePriceRank(params: PageParam) {
return requestClient.get<CrmStatisticsRankApi.Rank[]>( return requestClient.get<CrmStatisticsRankApi.RankRespVO[]>(
'/crm/statistics-rank/get-receivable-price-rank', '/crm/statistics-rank/get-receivable-price-rank',
{ params }, { params },
); );
@@ -61,7 +61,7 @@ export function getReceivablePriceRank(params: PageParam) {
/** 签约合同排行 */ /** 签约合同排行 */
export function getContractCountRank(params: PageParam) { export function getContractCountRank(params: PageParam) {
return requestClient.get<CrmStatisticsRankApi.Rank[]>( return requestClient.get<CrmStatisticsRankApi.RankRespVO[]>(
'/crm/statistics-rank/get-contract-count-rank', '/crm/statistics-rank/get-contract-count-rank',
{ params }, { params },
); );
@@ -69,7 +69,7 @@ export function getContractCountRank(params: PageParam) {
/** 产品销量排行 */ /** 产品销量排行 */
export function getProductSalesRank(params: PageParam) { export function getProductSalesRank(params: PageParam) {
return requestClient.get<CrmStatisticsRankApi.Rank[]>( return requestClient.get<CrmStatisticsRankApi.RankRespVO[]>(
'/crm/statistics-rank/get-product-sales-rank', '/crm/statistics-rank/get-product-sales-rank',
{ params }, { params },
); );
@@ -77,7 +77,7 @@ export function getProductSalesRank(params: PageParam) {
/** 新增客户数排行 */ /** 新增客户数排行 */
export function getCustomerCountRank(params: PageParam) { export function getCustomerCountRank(params: PageParam) {
return requestClient.get<CrmStatisticsRankApi.Rank[]>( return requestClient.get<CrmStatisticsRankApi.RankRespVO[]>(
'/crm/statistics-rank/get-customer-count-rank', '/crm/statistics-rank/get-customer-count-rank',
{ params }, { params },
); );
@@ -85,7 +85,7 @@ export function getCustomerCountRank(params: PageParam) {
/** 新增联系人数排行 */ /** 新增联系人数排行 */
export function getContactsCountRank(params: PageParam) { export function getContactsCountRank(params: PageParam) {
return requestClient.get<CrmStatisticsRankApi.Rank[]>( return requestClient.get<CrmStatisticsRankApi.RankRespVO[]>(
'/crm/statistics-rank/get-contacts-count-rank', '/crm/statistics-rank/get-contacts-count-rank',
{ params }, { params },
); );
@@ -93,7 +93,7 @@ export function getContactsCountRank(params: PageParam) {
/** 跟进次数排行 */ /** 跟进次数排行 */
export function getFollowCountRank(params: PageParam) { export function getFollowCountRank(params: PageParam) {
return requestClient.get<CrmStatisticsRankApi.Rank[]>( return requestClient.get<CrmStatisticsRankApi.RankRespVO[]>(
'/crm/statistics-rank/get-follow-count-rank', '/crm/statistics-rank/get-follow-count-rank',
{ params }, { params },
); );
@@ -101,7 +101,7 @@ export function getFollowCountRank(params: PageParam) {
/** 跟进客户数排行 */ /** 跟进客户数排行 */
export function getFollowCustomerCountRank(params: PageParam) { export function getFollowCustomerCountRank(params: PageParam) {
return requestClient.get<CrmStatisticsRankApi.Rank[]>( return requestClient.get<CrmStatisticsRankApi.RankRespVO[]>(
'/crm/statistics-rank/get-follow-customer-count-rank', '/crm/statistics-rank/get-follow-customer-count-rank',
{ params }, { params },
); );