From be8c526a454aa9081000d15f26bebdef8c183aea Mon Sep 17 00:00:00 2001
From: wsj <593216709@qq.com>
Date: Mon, 26 Oct 2026 23:34:23 +0800
Subject: [PATCH] feat: 提交
---
src/pages/customers/list/types.ts | 71 +++++++++++++++++++++++++++++++++++
1 files changed, 71 insertions(+), 0 deletions(-)
diff --git a/src/pages/customers/list/types.ts b/src/pages/customers/list/types.ts
new file mode 100644
index 0000000..7851cda
--- /dev/null
+++ b/src/pages/customers/list/types.ts
@@ -0,0 +1,71 @@
+import type { PageResult } from '@/types/api';
+
+/** 客户类型。 */
+export type CustomerType = 'ENTERPRISE' | 'PERSONAL';
+
+/** 客户来源。 */
+export type CustomerSource =
+ | 'MINI_PROGRAM'
+ | 'SALES_INPUT'
+ | 'EXHIBITION'
+ | 'REFERRAL'
+ | 'WEBSITE';
+
+/** 客户等级。 */
+export type CustomerLevel = 'VIP' | 'A' | 'B' | 'C';
+
+/** 客户阶段。 */
+export type CustomerStage =
+ | 'NEW_LEAD'
+ | 'PENDING_ASSIGN'
+ | 'CONTACTING'
+ | 'NEEDS_COMM'
+ | 'QUOTING'
+ | 'NEGOTIATING'
+ | 'DEAL'
+ | 'LOST';
+
+/** 客户列表请求参数(TenantCustomerPageQuery)。 */
+export interface TenantCustomerPageQuery {
+ /** 页码。 */
+ page?: number;
+ /** 每页条数。 */
+ size?: number;
+ /** 归属销售员 ID,不填表示全部。 */
+ ownerId?: number;
+}
+
+/** 客户列表项(CustomerVO)。 */
+export interface CustomerVO {
+ id: number;
+ name: string;
+ customerType?: CustomerType;
+ industry?: string;
+ region?: string;
+ contactName?: string;
+ contactPhone?: string;
+ contactPosition?: string;
+ contactTel?: string;
+ email?: string;
+ address?: string;
+ demand?: string;
+ source?: CustomerSource;
+ level?: CustomerLevel;
+ tags?: string;
+ orgId?: number;
+ ownerId?: number;
+ stage?: CustomerStage;
+ lastFollowAt?: string;
+ nextFollowAt?: string;
+ dealAt?: string;
+ lostAt?: string;
+ lostReason?: string;
+}
+
+/** 客户列表响应数据(ResultPageResultCustomerVO 的 data)。 */
+export type TenantCustomerPageResult = PageResult<CustomerVO>;
+
+/** ProTable 搜索表单参数,字段与请求参数中可筛选的字段保持一致。 */
+export interface CustomerListQuery {
+ ownerId?: number;
+}
--
Gitblit v1.9.3