From c069a398226e8c6489b9c5c0036bf0553cc66495 Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期五, 16 十月 2026 10:28:21 +0800
Subject: [PATCH] feat(crm): 添加业务模块客户选择功能

---
 src/components/crm-customer-select-dialog.vue |   23 +++++++++++++----------
 1 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/src/components/crm-customer-select-dialog.vue b/src/components/crm-customer-select-dialog.vue
index a514f9c..0c5561b 100644
--- a/src/components/crm-customer-select-dialog.vue
+++ b/src/components/crm-customer-select-dialog.vue
@@ -7,19 +7,25 @@
 import { message, Modal, Tabs } from 'ant-design-vue';
 
 import { useVbenVxeGrid } from '#/adapter/vxe-table';
-import { getCustomerPage } from '#/api/crm/customer';
+import { getBusinessCustomerPage, getCustomerPage } from '#/api/crm/customer';
 
 defineOptions({ name: 'CrmCustomerSelectDialog' });
 
 const emit = defineEmits<{
   selected: [rows: CrmCustomerApi.Customer[]];
 }>();
+const props = defineProps<{ allCustomers: boolean }>();
 
 const open = ref(false);
 const multiple = ref(true);
 const selectedRows = ref<CrmCustomerApi.Customer[]>([]);
 const preSelectedIds = ref<number[]>([]);
 const sceneType = ref('1');
+
+function handleSceneTypeChange(key: number | string) {
+  sceneType.value = key.toString();
+  gridApi.query();
+}
 
 function getTableRows() {
   return gridApi.grid.getTableData().fullData as CrmCustomerApi.Customer[];
@@ -94,11 +100,6 @@
   }
 }
 
-function handleSceneTypeChange(key: number | string) {
-  sceneType.value = key.toString();
-  gridApi.query();
-}
-
 const gridColumns = [
   { field: 'name', title: '瀹㈡埛鍚嶇О', minWidth: 180 },
   { field: 'mobile', title: '鎵嬫満鍙�', width: 140 },
@@ -137,12 +138,14 @@
     proxyConfig: {
       ajax: {
         query: async ({ page }, formValues) => {
-          return await getCustomerPage({
+          const query = {
             pageNo: page.currentPage,
             pageSize: page.pageSize,
-            sceneType: sceneType.value,
             ...formValues,
-          });
+          };
+          return props.allCustomers
+            ? await getBusinessCustomerPage(query)
+            : await getCustomerPage({ ...query, sceneType: sceneType.value });
         },
       },
     },
@@ -226,7 +229,7 @@
     @ok="handleConfirm"
     @cancel="closeModal"
   >
-    <Tabs class="mb-2" @change="handleSceneTypeChange">
+    <Tabs v-if="!allCustomers" class="mb-2" @change="handleSceneTypeChange">
       <Tabs.TabPane key="1" tab="鎴戣礋璐g殑" />
       <Tabs.TabPane key="2" tab="鎴戝弬涓庣殑" />
       <Tabs.TabPane key="3" tab="涓嬪睘璐熻矗鐨�" />

--
Gitblit v1.9.3