云
6 天以前 ec8ff4f6259404460a0b4437e29a40986c2c4b9d
src/views/crm/customer/detail/modules/distribute-form.vue
@@ -1,4 +1,6 @@
<script lang="ts" setup>
import { ref } from 'vue';
import { useVbenModal } from '@vben/common-ui';
import { message } from 'ant-design-vue';
@@ -10,6 +12,7 @@
import { useDistributeFormSchema } from '../data';
const emit = defineEmits(['success']);
const customerIds = ref<number[]>([]);
const [Form, formApi] = useVbenForm({
  commonConfig: {
@@ -34,7 +37,7 @@
    // 提交表单
    const data = await formApi.getValues();
    try {
      await distributeCustomer([data.id], data.ownerUserId);
      await distributeCustomer(customerIds.value, data.ownerUserId);
      // 关闭并提示
      await modalApi.close();
      emit('success');
@@ -48,13 +51,15 @@
      return;
    }
    // 加载数据
    const data = modalApi.getData();
    if (!data || !data.id) {
    const data = modalApi.getData<{ id?: number; ids?: number[] }>();
    customerIds.value = data?.ids ?? (data?.id ? [data.id] : []);
    if (customerIds.value.length === 0) {
      return;
    }
    modalApi.lock();
    try {
      await formApi.setValues(data);
      await formApi.resetForm();
      await formApi.setValues({ id: customerIds.value[0] });
    } finally {
      modalApi.unlock();
    }