feat:【antd】【crm】调整操作日志和团队成员的标签顺序,优化表单字段的规则和属性

This commit is contained in:
YunaiV
2025-09-30 19:42:20 +08:00
parent 0f6868febf
commit 9e6d8ff3e9
16 changed files with 168 additions and 95 deletions

View File

@@ -98,7 +98,6 @@ export function useFormSchema(): VbenFormSchema[] {
fieldName: 'dealTime', fieldName: 'dealTime',
label: '预计成交日期', label: '预计成交日期',
component: 'DatePicker', component: 'DatePicker',
rules: 'required',
componentProps: { componentProps: {
showTime: false, showTime: false,
format: 'YYYY-MM-DD HH:mm:ss', format: 'YYYY-MM-DD HH:mm:ss',
@@ -123,6 +122,7 @@ export function useFormSchema(): VbenFormSchema[] {
componentProps: { componentProps: {
min: 0, min: 0,
precision: 2, precision: 2,
disabled: true,
placeholder: '请输入产品总金额', placeholder: '请输入产品总金额',
}, },
rules: z.number().min(0).optional().default(0), rules: z.number().min(0).optional().default(0),

View File

@@ -165,7 +165,10 @@ onMounted(() => {
:biz-type="BizTypeEnum.CRM_BUSINESS" :biz-type="BizTypeEnum.CRM_BUSINESS"
/> />
</Tabs.TabPane> </Tabs.TabPane>
<Tabs.TabPane tab="团队成员" key="6" :force-render="true"> <Tabs.TabPane tab="操作日志" key="6" :force-render="true">
<OperateLog :log-list="logList" />
</Tabs.TabPane>
<Tabs.TabPane tab="团队成员" key="7" :force-render="true">
<PermissionList <PermissionList
ref="permissionListRef" ref="permissionListRef"
:biz-id="businessId" :biz-id="businessId"
@@ -174,9 +177,6 @@ onMounted(() => {
@quit-team="handleBack" @quit-team="handleBack"
/> />
</Tabs.TabPane> </Tabs.TabPane>
<Tabs.TabPane tab="操作日志" key="7" :force-render="true">
<OperateLog :log-list="logList" />
</Tabs.TabPane>
</Tabs> </Tabs>
</Card> </Card>
</Page> </Page>

View File

@@ -29,7 +29,7 @@ export function useFormSchema(): VbenFormSchema[] {
rules: 'required', rules: 'required',
componentProps: { componentProps: {
placeholder: '请输入联系人姓名', placeholder: '请输入联系人姓名',
}, },
}, },
{ {
fieldName: 'ownerUserId', fieldName: 'ownerUserId',
@@ -66,7 +66,7 @@ export function useFormSchema(): VbenFormSchema[] {
component: 'Input', component: 'Input',
componentProps: { componentProps: {
placeholder: '请输入手机号', placeholder: '请输入手机号',
}, },
}, },
{ {
fieldName: 'telephone', fieldName: 'telephone',
@@ -74,7 +74,7 @@ export function useFormSchema(): VbenFormSchema[] {
component: 'Input', component: 'Input',
componentProps: { componentProps: {
placeholder: '请输入电话', placeholder: '请输入电话',
}, },
}, },
{ {
fieldName: 'email', fieldName: 'email',
@@ -82,7 +82,7 @@ export function useFormSchema(): VbenFormSchema[] {
component: 'Input', component: 'Input',
componentProps: { componentProps: {
placeholder: '请输入邮箱', placeholder: '请输入邮箱',
}, },
}, },
{ {
fieldName: 'wechat', fieldName: 'wechat',
@@ -90,7 +90,7 @@ export function useFormSchema(): VbenFormSchema[] {
component: 'Input', component: 'Input',
componentProps: { componentProps: {
placeholder: '请输入微信', placeholder: '请输入微信',
}, },
}, },
{ {
fieldName: 'qq', fieldName: 'qq',
@@ -98,7 +98,7 @@ export function useFormSchema(): VbenFormSchema[] {
component: 'Input', component: 'Input',
componentProps: { componentProps: {
placeholder: '请输入QQ', placeholder: '请输入QQ',
}, },
}, },
{ {
fieldName: 'post', fieldName: 'post',
@@ -106,7 +106,7 @@ export function useFormSchema(): VbenFormSchema[] {
component: 'Input', component: 'Input',
componentProps: { componentProps: {
placeholder: '请输入职位', placeholder: '请输入职位',
}, },
}, },
{ {
fieldName: 'master', fieldName: 'master',
@@ -115,7 +115,7 @@ export function useFormSchema(): VbenFormSchema[] {
componentProps: { componentProps: {
options: getDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING, 'boolean'), options: getDictOptions(DICT_TYPE.INFRA_BOOLEAN_STRING, 'boolean'),
placeholder: '请选择是否关键决策人', placeholder: '请选择是否关键决策人',
buttonStyle: 'solid', buttonStyle: 'solid',
optionType: 'button', optionType: 'button',
}, },
defaultValue: false, defaultValue: false,
@@ -127,7 +127,7 @@ export function useFormSchema(): VbenFormSchema[] {
componentProps: { componentProps: {
options: getDictOptions(DICT_TYPE.SYSTEM_USER_SEX, 'number'), options: getDictOptions(DICT_TYPE.SYSTEM_USER_SEX, 'number'),
placeholder: '请选择性别', placeholder: '请选择性别',
}, },
}, },
{ {
fieldName: 'parentId', fieldName: 'parentId',
@@ -158,7 +158,7 @@ export function useFormSchema(): VbenFormSchema[] {
component: 'Input', component: 'Input',
componentProps: { componentProps: {
placeholder: '请输入详细地址', placeholder: '请输入详细地址',
}, },
}, },
{ {
fieldName: 'contactNextTime', fieldName: 'contactNextTime',
@@ -169,7 +169,7 @@ export function useFormSchema(): VbenFormSchema[] {
format: 'YYYY-MM-DD HH:mm:ss', format: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'x', valueFormat: 'x',
placeholder: '请选择下次联系时间', placeholder: '请选择下次联系时间',
}, },
}, },
{ {
fieldName: 'remark', fieldName: 'remark',
@@ -177,7 +177,7 @@ export function useFormSchema(): VbenFormSchema[] {
component: 'Textarea', component: 'Textarea',
componentProps: { componentProps: {
placeholder: '请输入备注', placeholder: '请输入备注',
}, },
}, },
]; ];
} }
@@ -196,7 +196,7 @@ export function useGridFormSchema(): VbenFormSchema[] {
value: 'id', value: 'id',
}, },
placeholder: '请选择客户', placeholder: '请选择客户',
}, },
}, },
{ {
fieldName: 'name', fieldName: 'name',
@@ -205,7 +205,7 @@ export function useGridFormSchema(): VbenFormSchema[] {
componentProps: { componentProps: {
placeholder: '请输入联系人姓名', placeholder: '请输入联系人姓名',
allowClear: true, allowClear: true,
}, },
}, },
{ {
fieldName: 'mobile', fieldName: 'mobile',
@@ -214,7 +214,7 @@ export function useGridFormSchema(): VbenFormSchema[] {
componentProps: { componentProps: {
placeholder: '请输入手机号', placeholder: '请输入手机号',
allowClear: true, allowClear: true,
}, },
}, },
{ {
fieldName: 'telephone', fieldName: 'telephone',
@@ -223,7 +223,7 @@ export function useGridFormSchema(): VbenFormSchema[] {
componentProps: { componentProps: {
placeholder: '请输入电话', placeholder: '请输入电话',
allowClear: true, allowClear: true,
}, },
}, },
{ {
fieldName: 'wechat', fieldName: 'wechat',
@@ -232,7 +232,7 @@ export function useGridFormSchema(): VbenFormSchema[] {
componentProps: { componentProps: {
placeholder: '请输入微信', placeholder: '请输入微信',
allowClear: true, allowClear: true,
}, },
}, },
{ {
fieldName: 'email', fieldName: 'email',
@@ -241,7 +241,7 @@ export function useGridFormSchema(): VbenFormSchema[] {
componentProps: { componentProps: {
placeholder: '请输入电子邮箱', placeholder: '请输入电子邮箱',
allowClear: true, allowClear: true,
}, },
}, },
]; ];
} }

View File

@@ -11,7 +11,7 @@ import { DictTag } from '#/components/dict-tag';
export function useDetailSchema(): DescriptionItemSchema[] { export function useDetailSchema(): DescriptionItemSchema[] {
return [ return [
{ {
field: 'name', field: 'customerName',
label: '客户名称', label: '客户名称',
}, },
{ {
@@ -24,7 +24,7 @@ export function useDetailSchema(): DescriptionItemSchema[] {
}, },
{ {
field: 'createTime', field: 'createTime',
label: '下次联系时间', label: '创建时间',
content: (data) => formatDateTime(data?.createTime) as string, content: (data) => formatDateTime(data?.createTime) as string,
}, },
]; ];
@@ -64,10 +64,11 @@ export function useDetailBaseSchema(): DescriptionItemSchema[] {
{ {
field: 'areaName', field: 'areaName',
label: '地址', label: '地址',
}, content: (data) => {
{ const areaName = data?.areaName ?? '';
field: 'detailAddress', const detailAddress = data?.detailAddress ?? '';
label: '详细地址', return [areaName, detailAddress].filter(Boolean).join(' ');
},
}, },
{ {
field: 'post', field: 'post',

View File

@@ -134,7 +134,10 @@ onMounted(() => {
<Tabs.TabPane tab="详细资料" key="2" :force-render="true"> <Tabs.TabPane tab="详细资料" key="2" :force-render="true">
<Info :contact="contact" /> <Info :contact="contact" />
</Tabs.TabPane> </Tabs.TabPane>
<Tabs.TabPane tab="团队成员" key="3" :force-render="true"> <Tabs.TabPane tab="操作日志" key="3" :force-render="true">
<OperateLog :log-list="logList" />
</Tabs.TabPane>
<Tabs.TabPane tab="团队成员" key="4" :force-render="true">
<PermissionList <PermissionList
ref="permissionListRef" ref="permissionListRef"
:biz-id="contactId" :biz-id="contactId"
@@ -143,7 +146,7 @@ onMounted(() => {
@quit-team="handleBack" @quit-team="handleBack"
/> />
</Tabs.TabPane> </Tabs.TabPane>
<Tabs.TabPane tab="商机" key="4" :force-render="true"> <Tabs.TabPane tab="商机" key="5" :force-render="true">
<BusinessDetailsList <BusinessDetailsList
:biz-id="contactId" :biz-id="contactId"
:biz-type="BizTypeEnum.CRM_CONTACT" :biz-type="BizTypeEnum.CRM_CONTACT"
@@ -151,9 +154,6 @@ onMounted(() => {
:customer-id="contact.customerId" :customer-id="contact.customerId"
/> />
</Tabs.TabPane> </Tabs.TabPane>
<Tabs.TabPane tab="操作日志" key="5" :force-render="true">
<OperateLog :log-list="logList" />
</Tabs.TabPane>
</Tabs> </Tabs>
</Card> </Card>
</Page> </Page>

View File

@@ -130,10 +130,10 @@ onMounted(() => {
</Card> </Card>
<Card class="mt-4 min-h-[60%]"> <Card class="mt-4 min-h-[60%]">
<Tabs> <Tabs>
<Tabs.TabPane tab="合同跟进" key="1" :force-render="true"> <Tabs.TabPane tab="跟进记录" key="1" :force-render="true">
<FollowUp :biz-id="contractId" :biz-type="BizTypeEnum.CRM_CONTRACT" /> <FollowUp :biz-id="contractId" :biz-type="BizTypeEnum.CRM_CONTRACT" />
</Tabs.TabPane> </Tabs.TabPane>
<Tabs.TabPane tab="详细资料" key="2" :force-render="true"> <Tabs.TabPane tab="基本信息" key="2" :force-render="true">
<ContractDetailsInfo :contract="contract" /> <ContractDetailsInfo :contract="contract" />
</Tabs.TabPane> </Tabs.TabPane>
<Tabs.TabPane tab="产品" key="3" :force-render="true"> <Tabs.TabPane tab="产品" key="3" :force-render="true">

View File

@@ -53,6 +53,10 @@ export function useDetailSchema(): DescriptionItemSchema[] {
label: '成交状态', label: '成交状态',
content: (data) => (data.dealStatus ? '已成交' : '未成交'), content: (data) => (data.dealStatus ? '已成交' : '未成交'),
}, },
{
field: 'ownerUserName',
label: '负责人',
},
{ {
field: 'createTime', field: 'createTime',
label: '创建时间', label: '创建时间',
@@ -92,10 +96,11 @@ export function useDetailBaseSchema(): DescriptionItemSchema[] {
{ {
field: 'areaName', field: 'areaName',
label: '地址', label: '地址',
}, content: (data) => {
{ const areaName = data?.areaName ?? '';
field: 'detailAddress', const detailAddress = data?.detailAddress ?? '';
label: '详细地址', return [areaName, detailAddress].filter(Boolean).join(' ');
},
}, },
{ {
field: 'qq', field: 'qq',
@@ -114,12 +119,6 @@ export function useDetailBaseSchema(): DescriptionItemSchema[] {
value: data?.industryId, value: data?.industryId,
}), }),
}, },
{
field: 'level',
label: '客户级别',
content: (data) =>
h(DictTag, { type: DICT_TYPE.CRM_CUSTOMER_LEVEL, value: data?.level }),
},
{ {
field: 'contactNextTime', field: 'contactNextTime',
label: '下次联系时间', label: '下次联系时间',

View File

@@ -279,7 +279,7 @@ onMounted(() => {
<Tabs.TabPane tab="跟进记录" key="1" :force-render="true"> <Tabs.TabPane tab="跟进记录" key="1" :force-render="true">
<FollowUp :biz-id="customerId" :biz-type="BizTypeEnum.CRM_CUSTOMER" /> <FollowUp :biz-id="customerId" :biz-type="BizTypeEnum.CRM_CUSTOMER" />
</Tabs.TabPane> </Tabs.TabPane>
<Tabs.TabPane tab="详细资料" key="2" :force-render="true"> <Tabs.TabPane tab="基本信息" key="2" :force-render="true">
<Info :customer="customer" /> <Info :customer="customer" />
</Tabs.TabPane> </Tabs.TabPane>
<Tabs.TabPane tab="联系人" key="3" :force-render="true"> <Tabs.TabPane tab="联系人" key="3" :force-render="true">

View File

@@ -22,7 +22,7 @@ export function useDetailSchema(): DescriptionItemSchema[] {
}, },
{ {
field: 'price', field: 'price',
label: '产品价格', label: '产品价格(元)',
content: (data) => erpPriceInputFormatter(data.price), content: (data) => erpPriceInputFormatter(data.price),
}, },
{ {

View File

@@ -64,6 +64,7 @@ export function useFormSchema(): VbenFormSchema[] {
placeholder: '请选择客户', placeholder: '请选择客户',
}, },
}, },
// TODO @AI这里的合同名称不对
{ {
fieldName: 'contractId', fieldName: 'contractId',
label: '合同名称', label: '合同名称',
@@ -121,14 +122,12 @@ export function useFormSchema(): VbenFormSchema[] {
}, },
}, },
{ {
fieldName: 'returnTime', fieldName: 'returnType',
label: '回款日期', label: '回款方式',
component: 'DatePicker', component: 'Select',
componentProps: { componentProps: {
placeholder: '请选择回款日期', options: getDictOptions(DICT_TYPE.CRM_RECEIVABLE_RETURN_TYPE, 'number'),
showTime: false, placeholder: '请选择回款方式',
valueFormat: 'x',
format: 'YYYY-MM-DD',
}, },
}, },
{ {
@@ -143,13 +142,15 @@ export function useFormSchema(): VbenFormSchema[] {
}, },
}, },
{ {
fieldName: 'returnType', fieldName: 'returnTime',
label: '回款方式', label: '回款日期',
component: 'Select', component: 'DatePicker',
rules: 'required', rules: 'required',
componentProps: { componentProps: {
options: getDictOptions(DICT_TYPE.CRM_RECEIVABLE_RETURN_TYPE, 'number'), placeholder: '请选择回款日期',
placeholder: '请选择回款方式', showTime: false,
valueFormat: 'x',
format: 'YYYY-MM-DD',
}, },
}, },
{ {
@@ -160,6 +161,7 @@ export function useFormSchema(): VbenFormSchema[] {
placeholder: '请输入备注', placeholder: '请输入备注',
rows: 4, rows: 4,
}, },
formItemClass: 'md:col-span-2',
}, },
]; ];
} }

View File

@@ -16,8 +16,9 @@ export function useDetailSchema(): DescriptionItemSchema[] {
}, },
{ {
field: 'totalPrice', field: 'totalPrice',
label: '合同金额', label: '合同金额(元)',
content: (data) => erpPriceInputFormatter(data.totalPrice), content: (data) =>
erpPriceInputFormatter(data?.contract?.totalPrice ?? data.totalPrice),
}, },
{ {
field: 'returnTime', field: 'returnTime',
@@ -26,7 +27,7 @@ export function useDetailSchema(): DescriptionItemSchema[] {
}, },
{ {
field: 'price', field: 'price',
label: '回款金额', label: '回款金额(元)',
content: (data) => erpPriceInputFormatter(data.price), content: (data) => erpPriceInputFormatter(data.price),
}, },
{ {
@@ -77,3 +78,27 @@ export function useDetailBaseSchema(): DescriptionItemSchema[] {
}, },
]; ];
} }
/** 系统信息字段 */
export function useDetailSystemSchema(): DescriptionItemSchema[] {
return [
{
field: 'ownerUserName',
label: '负责人',
},
{
field: 'creatorName',
label: '创建人',
},
{
field: 'createTime',
label: '创建时间',
content: (data) => formatDateTime(data?.createTime) as string,
},
{
field: 'updateTime',
label: '更新时间',
content: (data) => formatDateTime(data?.updateTime) as string,
},
];
}

View File

@@ -114,7 +114,10 @@ onMounted(() => {
<Tabs.TabPane tab="详细资料" key="1" :force-render="true"> <Tabs.TabPane tab="详细资料" key="1" :force-render="true">
<Info :receivable="receivable" /> <Info :receivable="receivable" />
</Tabs.TabPane> </Tabs.TabPane>
<Tabs.TabPane tab="团队成员" key="2" :force-render="true"> <Tabs.TabPane tab="操作日志" key="2" :force-render="true">
<OperateLog :log-list="logList" />
</Tabs.TabPane>
<Tabs.TabPane tab="团队成员" key="3" :force-render="true">
<PermissionList <PermissionList
ref="permissionListRef" ref="permissionListRef"
:biz-id="receivableId" :biz-id="receivableId"
@@ -123,9 +126,6 @@ onMounted(() => {
@quit-team="handleBack" @quit-team="handleBack"
/> />
</Tabs.TabPane> </Tabs.TabPane>
<Tabs.TabPane tab="操作日志" key="3" :force-render="true">
<OperateLog :log-list="logList" />
</Tabs.TabPane>
</Tabs> </Tabs>
</Card> </Card>
</Page> </Page>

View File

@@ -4,9 +4,8 @@ import type { CrmReceivableApi } from '#/api/crm/receivable';
import { Divider } from 'ant-design-vue'; import { Divider } from 'ant-design-vue';
import { useDescription } from '#/components/description'; import { useDescription } from '#/components/description';
import { useFollowUpDetailSchema } from '#/views/crm/followup/data';
import { useDetailBaseSchema } from '../data'; import { useDetailBaseSchema, useDetailSystemSchema } from '../data';
defineProps<{ defineProps<{
receivable: CrmReceivableApi.Receivable; // 收款信息 receivable: CrmReceivableApi.Receivable; // 收款信息
@@ -29,7 +28,7 @@ const [SystemDescriptions] = useDescription({
column: 3, column: 3,
class: 'mx-4', class: 'mx-4',
}, },
schema: useFollowUpDetailSchema(), schema: useDetailSystemSchema(),
}); });
</script> </script>

View File

@@ -15,23 +15,24 @@ export function useDetailSchema(): DescriptionItemSchema[] {
label: '客户名称', label: '客户名称',
}, },
{ {
field: 'totalPrice', field: 'contractNo',
label: '合同金额', label: '合同编号',
content: (data) => erpPriceInputFormatter(data.totalPrice),
},
{
field: 'returnTime',
label: '回款日期',
content: (data) => formatDateTime(data?.returnTime) as string,
}, },
{ {
field: 'price', field: 'price',
label: '回款金额', label: '计划回款金额',
content: (data) => erpPriceInputFormatter(data.price), content: (data) => erpPriceInputFormatter(data.price),
}, },
{ {
field: 'ownerUserName', field: 'returnTime',
label: '负责人', label: '计划回款日期',
content: (data) => formatDateTime(data?.returnTime) as string,
},
{
field: 'receivable',
label: '实际回款金额',
content: (data) =>
erpPriceInputFormatter(data?.receivable?.price ?? 0),
}, },
]; ];
} }
@@ -40,40 +41,87 @@ export function useDetailSchema(): DescriptionItemSchema[] {
export function useDetailBaseSchema(): DescriptionItemSchema[] { export function useDetailBaseSchema(): DescriptionItemSchema[] {
return [ return [
{ {
field: 'no', field: 'period',
label: '回款编号', label: '期数',
}, },
{ {
field: 'customerName', field: 'customerName',
label: '客户名称', label: '客户名称',
}, },
{ {
field: 'contract', field: 'contractNo',
label: '合同编号', label: '合同编号',
content: (data) => data?.contract?.no,
}, },
{ {
field: 'returnTime', field: 'returnTime',
label: '回款日期', label: '计划回款日期',
content: (data) => formatDateTime(data?.returnTime) as string, content: (data) => formatDateTime(data?.returnTime) as string,
}, },
{ {
field: 'price', field: 'price',
label: '回款金额', label: '计划回款金额',
content: (data) => erpPriceInputFormatter(data.price), content: (data) => erpPriceInputFormatter(data.price),
}, },
{ {
field: 'returnType', field: 'returnType',
label: '回款方式', label: '计划回款方式',
content: (data) => content: (data) =>
h(DictTag, { h(DictTag, {
type: DICT_TYPE.CRM_RECEIVABLE_RETURN_TYPE, type: DICT_TYPE.CRM_RECEIVABLE_RETURN_TYPE,
value: data?.returnType, value: data?.returnType,
}), }),
}, },
{
field: 'remindDays',
label: '提前几天提醒',
},
{
field: 'receivable',
label: '实际回款金额',
content: (data) =>
erpPriceInputFormatter(data?.receivable?.price ?? 0),
},
{
field: 'receivableRemain',
label: '未回款金额',
content: (data) => {
const paid = data?.receivable?.price ?? 0;
return erpPriceInputFormatter(Math.max(data.price - paid, 0));
},
},
{
field: 'receivable.returnTime',
label: '实际回款日期',
content: (data) =>
formatDateTime(data?.receivable?.returnTime) as string,
},
{ {
field: 'remark', field: 'remark',
label: '备注', label: '备注',
}, },
]; ];
} }
/** 系统信息字段 */
export function useDetailSystemSchema(): DescriptionItemSchema[] {
return [
{
field: 'ownerUserName',
label: '负责人',
},
{
field: 'creatorName',
label: '创建人',
},
{
field: 'createTime',
label: '创建时间',
content: (data) => formatDateTime(data?.createTime) as string,
},
{
field: 'updateTime',
label: '更新时间',
content: (data) => formatDateTime(data?.updateTime) as string,
},
];
}

View File

@@ -121,7 +121,10 @@ onMounted(() => {
<Tabs.TabPane tab="详细资料" key="1" :force-render="true"> <Tabs.TabPane tab="详细资料" key="1" :force-render="true">
<ReceivablePlanDetailsInfo :receivable-plan="receivablePlan" /> <ReceivablePlanDetailsInfo :receivable-plan="receivablePlan" />
</Tabs.TabPane> </Tabs.TabPane>
<Tabs.TabPane tab="团队成员" key="2" :force-render="true"> <Tabs.TabPane tab="操作日志" key="2" :force-render="true">
<OperateLog :log-list="logList" />
</Tabs.TabPane>
<Tabs.TabPane tab="团队成员" key="3" :force-render="true">
<PermissionList <PermissionList
ref="permissionListRef" ref="permissionListRef"
:biz-id="receivablePlanId" :biz-id="receivablePlanId"
@@ -130,9 +133,6 @@ onMounted(() => {
@quit-team="handleBack" @quit-team="handleBack"
/> />
</Tabs.TabPane> </Tabs.TabPane>
<Tabs.TabPane tab="操作日志" key="3" :force-render="true">
<OperateLog :log-list="logList" />
</Tabs.TabPane>
</Tabs> </Tabs>
</Card> </Card>
</Page> </Page>

View File

@@ -4,9 +4,8 @@ import type { CrmReceivablePlanApi } from '#/api/crm/receivable/plan';
import { Divider } from 'ant-design-vue'; import { Divider } from 'ant-design-vue';
import { useDescription } from '#/components/description'; import { useDescription } from '#/components/description';
import { useFollowUpDetailSchema } from '#/views/crm/followup/data';
import { useDetailBaseSchema } from '../data'; import { useDetailBaseSchema, useDetailSystemSchema } from '../data';
defineProps<{ defineProps<{
receivablePlan: CrmReceivablePlanApi.Plan; // 收款计划信息 receivablePlan: CrmReceivablePlanApi.Plan; // 收款计划信息
@@ -29,7 +28,7 @@ const [SystemDescriptions] = useDescription({
column: 3, column: 3,
class: 'mx-4', class: 'mx-4',
}, },
schema: useFollowUpDetailSchema(), schema: useDetailSystemSchema(),
}); });
</script> </script>