云
9 天以前 c069a398226e8c6489b9c5c0036bf0553cc66495
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="我负责的" />
      <Tabs.TabPane key="2" tab="我参与的" />
      <Tabs.TabPane key="3" tab="下属负责的" />