From 181367791fa1871ba6a0caee3952a60d066e746a Mon Sep 17 00:00:00 2001 From: xingyu4j Date: Thu, 5 Jun 2025 20:47:02 +0800 Subject: [PATCH] feat: crm detail --- .../src/api/crm/receivable/plan/index.ts | 16 +- .../crm/receivable/modules/detail-list.vue | 5 +- .../src/views/crm/receivable/plan/data.ts | 154 ++++++++++++++++ .../src/views/crm/receivable/plan/index.vue | 12 +- .../receivable/plan/modules/detail-info.vue | 42 ++++- .../receivable/plan/modules/detail-list.vue | 171 +++++++++++++++++- .../crm/receivable/plan/modules/detail.vue | 144 ++++++++++++++- .../crm/receivable/plan/modules/form.vue | 7 +- 8 files changed, 528 insertions(+), 23 deletions(-) diff --git a/apps/web-antd/src/api/crm/receivable/plan/index.ts b/apps/web-antd/src/api/crm/receivable/plan/index.ts index d237c1ed9..63e00f271 100644 --- a/apps/web-antd/src/api/crm/receivable/plan/index.ts +++ b/apps/web-antd/src/api/crm/receivable/plan/index.ts @@ -29,10 +29,20 @@ export namespace CrmReceivablePlanApi { returnTime: Date; }; } + + export interface PlanPageParam extends PageParam { + customerId?: number; + contractId?: number; + contractNo?: string; + sceneType?: number; + remindType?: number; + } } /** 查询回款计划列表 */ -export function getReceivablePlanPage(params: PageParam) { +export function getReceivablePlanPage( + params: CrmReceivablePlanApi.PlanPageParam, +) { return requestClient.get>( '/crm/receivable-plan/page', { params }, @@ -40,7 +50,9 @@ export function getReceivablePlanPage(params: PageParam) { } /** 查询回款计划列表(按客户) */ -export function getReceivablePlanPageByCustomer(params: PageParam) { +export function getReceivablePlanPageByCustomer( + params: CrmReceivablePlanApi.PlanPageParam, +) { return requestClient.get>( '/crm/receivable-plan/page-by-customer', { params }, diff --git a/apps/web-antd/src/views/crm/receivable/modules/detail-list.vue b/apps/web-antd/src/views/crm/receivable/modules/detail-list.vue index 0bcfacd6b..b994775d8 100644 --- a/apps/web-antd/src/views/crm/receivable/modules/detail-list.vue +++ b/apps/web-antd/src/views/crm/receivable/modules/detail-list.vue @@ -1,6 +1,5 @@ + + diff --git a/apps/web-antd/src/views/crm/receivable/plan/modules/detail-list.vue b/apps/web-antd/src/views/crm/receivable/plan/modules/detail-list.vue index bec4aa4b6..dde0f0a98 100644 --- a/apps/web-antd/src/views/crm/receivable/plan/modules/detail-list.vue +++ b/apps/web-antd/src/views/crm/receivable/plan/modules/detail-list.vue @@ -1,4 +1,171 @@ - + + diff --git a/apps/web-antd/src/views/crm/receivable/plan/modules/detail.vue b/apps/web-antd/src/views/crm/receivable/plan/modules/detail.vue index 99ad6b6f9..292152455 100644 --- a/apps/web-antd/src/views/crm/receivable/plan/modules/detail.vue +++ b/apps/web-antd/src/views/crm/receivable/plan/modules/detail.vue @@ -1,7 +1,143 @@ - + diff --git a/apps/web-antd/src/views/crm/receivable/plan/modules/form.vue b/apps/web-antd/src/views/crm/receivable/plan/modules/form.vue index 41a2132c1..34cdfc634 100644 --- a/apps/web-antd/src/views/crm/receivable/plan/modules/form.vue +++ b/apps/web-antd/src/views/crm/receivable/plan/modules/form.vue @@ -17,7 +17,7 @@ import { $t } from '#/locales'; import { useFormSchema } from '../data'; const emit = defineEmits(['success']); -const formData = ref(); +const formData = ref(); const getTitle = computed(() => { return formData.value?.id ? $t('ui.actionTitle.edit', ['回款计划']) @@ -45,8 +45,7 @@ const [Modal, modalApi] = useVbenModal({ } modalApi.lock(); // 提交表单 - const data = - (await formApi.getValues()) as CrmReceivablePlanApi.ReceivablePlan; + const data = (await formApi.getValues()) as CrmReceivablePlanApi.Plan; try { await (formData.value?.id ? updateReceivablePlan(data) @@ -65,7 +64,7 @@ const [Modal, modalApi] = useVbenModal({ return; } // 加载数据 - const data = modalApi.getData(); + const data = modalApi.getData(); if (!data || !data.id) { return; }