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