| | |
| | | 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[]; |
| | |
| | | } |
| | | } |
| | | |
| | | function handleSceneTypeChange(key: number | string) { |
| | | sceneType.value = key.toString(); |
| | | gridApi.query(); |
| | | } |
| | | |
| | | const gridColumns = [ |
| | | { field: 'name', title: '客户名称', minWidth: 180 }, |
| | | { field: 'mobile', title: '手机号', width: 140 }, |
| | |
| | | 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 }); |
| | | }, |
| | | }, |
| | | }, |
| | |
| | | @ok="handleConfirm" |
| | | @cancel="closeModal" |
| | | > |
| | | <Tabs class="mb-2" @change="handleSceneTypeChange"> |
| | | <Tabs v-if="!allCustomers" class="mb-2" @change="handleSceneTypeChange"> |
| | | <Tabs.TabPane key="1" tab="我负责的" /> |
| | | <Tabs.TabPane key="2" tab="我参与的" /> |
| | | <Tabs.TabPane key="3" tab="下属负责的" /> |