feat:【antd】【crm】api 请求的注释优化
This commit is contained in:
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 默认商机状态 */
|
/** 默认商机状态 */
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
@@ -52,6 +39,19 @@ export namespace CrmContractApi {
|
|||||||
products?: ContractProduct[];
|
products?: ContractProduct[];
|
||||||
contactName?: string;
|
contactName?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 合同产品信息 */
|
||||||
|
export interface ContractProduct {
|
||||||
|
id: number;
|
||||||
|
productId: number;
|
||||||
|
productName: string;
|
||||||
|
productNo: string;
|
||||||
|
productUnit: number;
|
||||||
|
productPrice: number;
|
||||||
|
contractPrice: number;
|
||||||
|
count: number;
|
||||||
|
totalPrice: number;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 查询合同列表 */
|
/** 查询合同列表 */
|
||||||
@@ -118,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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -38,7 +38,8 @@ export namespace CrmCustomerApi {
|
|||||||
poolDay?: number; // 距离进入公海天数
|
poolDay?: number; // 距离进入公海天数
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface CustomerImport {
|
/** 客户导入请求 */
|
||||||
|
export interface CustomerImportReqVO {
|
||||||
ownerUserId: number;
|
ownerUserId: number;
|
||||||
file: File;
|
file: File;
|
||||||
updateSupport: boolean;
|
updateSupport: boolean;
|
||||||
@@ -86,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);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -98,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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 查询跟进记录分页 */
|
/** 查询跟进记录分页 */
|
||||||
|
|||||||
@@ -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 },
|
||||||
|
|||||||
@@ -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 },
|
||||||
|
|||||||
@@ -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 },
|
||||||
|
|||||||
@@ -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 },
|
||||||
|
|||||||
@@ -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 });
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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,
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -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 },
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -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 },
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -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 },
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -113,7 +113,7 @@ async function handleCreateContactBusinessList(businessIds: number[]) {
|
|||||||
const data = {
|
const data = {
|
||||||
contactId: props.bizId,
|
contactId: props.bizId,
|
||||||
businessIds,
|
businessIds,
|
||||||
} as CrmContactApi.ContactBusinessReq;
|
} as CrmContactApi.ContactBusinessReqVO;
|
||||||
await createContactBusinessList(data);
|
await createContactBusinessList(data);
|
||||||
handleRefresh();
|
handleRefresh();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -100,7 +100,7 @@ async function handleCreateBusinessContactList(contactIds: number[]) {
|
|||||||
const data = {
|
const data = {
|
||||||
businessId: props.bizId,
|
businessId: props.bizId,
|
||||||
contactIds,
|
contactIds,
|
||||||
} as CrmContactApi.BusinessContactReq;
|
} as CrmContactApi.BusinessContactReqVO;
|
||||||
await createBusinessContactList(data);
|
await createBusinessContactList(data);
|
||||||
handleRefresh();
|
handleRefresh();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ const [Modal, modalApi] = useVbenModal({
|
|||||||
}
|
}
|
||||||
modalApi.lock();
|
modalApi.lock();
|
||||||
// 提交表单
|
// 提交表单
|
||||||
const data = (await formApi.getValues()) as CrmPermissionApi.TransferReq;
|
const data = (await formApi.getValues()) as CrmPermissionApi.BusinessTransferReqVO;
|
||||||
try {
|
try {
|
||||||
switch (bizType.value) {
|
switch (bizType.value) {
|
||||||
case BizTypeEnum.CRM_BUSINESS: {
|
case BizTypeEnum.CRM_BUSINESS: {
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ const [Grid, gridApi] = useVbenVxeGrid({
|
|||||||
toolbarConfig: {
|
toolbarConfig: {
|
||||||
enabled: false,
|
enabled: false,
|
||||||
},
|
},
|
||||||
} as VxeTableGridOptions<CrmStatisticsCustomerApi.CustomerSummaryByUser>,
|
} as VxeTableGridOptions<CrmStatisticsCustomerApi.CustomerSummaryByUserRespVO>,
|
||||||
});
|
});
|
||||||
|
|
||||||
/** tab 切换 */
|
/** tab 切换 */
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ const [Grid, gridApi] = useVbenVxeGrid({
|
|||||||
toolbarConfig: {
|
toolbarConfig: {
|
||||||
enabled: false,
|
enabled: false,
|
||||||
},
|
},
|
||||||
} as VxeTableGridOptions<CrmStatisticsFunnelApi.BusinessSummaryByDate>,
|
} as VxeTableGridOptions<CrmStatisticsFunnelApi.BusinessSummaryByDateRespVO>,
|
||||||
});
|
});
|
||||||
|
|
||||||
/** tab 切换 */
|
/** tab 切换 */
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ const [Grid, gridApi] = useVbenVxeGrid({
|
|||||||
toolbarConfig: {
|
toolbarConfig: {
|
||||||
enabled: false,
|
enabled: false,
|
||||||
},
|
},
|
||||||
} as VxeTableGridOptions<CrmStatisticsCustomerApi.CustomerSummaryByUser>,
|
} as VxeTableGridOptions<CrmStatisticsCustomerApi.CustomerSummaryByUserRespVO>,
|
||||||
});
|
});
|
||||||
|
|
||||||
/** tab 切换 */
|
/** tab 切换 */
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ const [Grid, gridApi] = useVbenVxeGrid({
|
|||||||
toolbarConfig: {
|
toolbarConfig: {
|
||||||
enabled: false,
|
enabled: false,
|
||||||
},
|
},
|
||||||
} as VxeTableGridOptions<CrmStatisticsCustomerApi.CustomerSummaryByUser>,
|
} as VxeTableGridOptions<CrmStatisticsCustomerApi.CustomerSummaryByUserRespVO>,
|
||||||
});
|
});
|
||||||
|
|
||||||
/** tab 切换 */
|
/** tab 切换 */
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ const [Grid, gridApi] = useVbenVxeGrid({
|
|||||||
toolbarConfig: {
|
toolbarConfig: {
|
||||||
enabled: false,
|
enabled: false,
|
||||||
},
|
},
|
||||||
} as VxeTableGridOptions<CrmStatisticsCustomerApi.CustomerSummaryByUser>,
|
} as VxeTableGridOptions<CrmStatisticsCustomerApi.CustomerSummaryByUserRespVO>,
|
||||||
});
|
});
|
||||||
|
|
||||||
/** tab 切换 */
|
/** tab 切换 */
|
||||||
|
|||||||
Reference in New Issue
Block a user