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/index.tsx |   43 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 43 insertions(+), 0 deletions(-)

diff --git a/src/pages/customers/list/index.tsx b/src/pages/customers/list/index.tsx
new file mode 100644
index 0000000..c236f68
--- /dev/null
+++ b/src/pages/customers/list/index.tsx
@@ -0,0 +1,43 @@
+import { useMemo } from 'react';
+import { ProTable } from '@ant-design/pro-components';
+import { customerColumns } from './columns';
+import { getCustomerList } from './server';
+import type { CustomerListQuery, CustomerVO } from './types';
+
+const CustomerList = () => {
+  const columns = useMemo(() => customerColumns, []);
+
+  return (
+    <div className="customer-list-page">
+      <ProTable<CustomerVO, CustomerListQuery>
+        rowKey="id"
+        columns={columns}
+        cardProps={{ className: 'table-card' }}
+        search={{ labelWidth: 'auto', defaultCollapsed: false }}
+        scroll={{ x: 1510 }}
+        options={false}
+        pagination={{
+          defaultPageSize: 10,
+          showSizeChanger: true,
+          hideOnSinglePage: false,
+          showTotal: (total) => `共 ${total} 条`,
+        }}
+        request={async (params) => {
+          const result = await getCustomerList({
+            page: params.current,
+            size: params.pageSize,
+            ownerId: params.ownerId,
+          });
+
+          return {
+            data: result.records ?? [],
+            total: result.total ?? 0,
+            success: true,
+          };
+        }}
+      />
+    </div>
+  );
+};
+
+export default CustomerList;

--
Gitblit v1.9.3