diff --git a/apps/web-antd/src/views/crm/receivable/data.ts b/apps/web-antd/src/views/crm/receivable/data.ts index fc0e816f..b71ed0ed 100644 --- a/apps/web-antd/src/views/crm/receivable/data.ts +++ b/apps/web-antd/src/views/crm/receivable/data.ts @@ -67,8 +67,11 @@ export function useFormSchema(): VbenFormSchema[] { }, placeholder: '请选择客户', }, + dependencies: { + triggerFields: ['id'], + disabled: (values) => values.id, + }, }, - // TODO @AI:这里的合同名称不对; { fieldName: 'contractId', label: '合同名称', @@ -76,16 +79,18 @@ export function useFormSchema(): VbenFormSchema[] { rules: 'required', dependencies: { triggerFields: ['customerId'], - disabled: (values) => !values.customerId, + disabled: (values) => !values.customerId || values.id, async componentProps(values) { if (values.customerId) { - values.contractId = undefined; + if (!values.id) { + // 特殊:只有在【新增】时,才清空合同编号 + values.contractId = undefined; + } const contracts = await getContractSimpleList(values.customerId); return { options: contracts.map((item) => ({ label: item.name, value: item.id, - disabled: item.auditStatus !== 20, })), placeholder: '请选择合同', } as any; @@ -292,7 +297,7 @@ export function useGridColumns(): VxeTableGridOptions['columns'] { { title: '操作', field: 'actions', - minWidth: 130, + minWidth: 200, fixed: 'right', slots: { default: 'actions' }, }, diff --git a/apps/web-antd/src/views/crm/receivable/detail/index.vue b/apps/web-antd/src/views/crm/receivable/detail/index.vue index 54697de5..ae624136 100644 --- a/apps/web-antd/src/views/crm/receivable/detail/index.vue +++ b/apps/web-antd/src/views/crm/receivable/detail/index.vue @@ -75,7 +75,7 @@ function handleBack() { /** 编辑收款 */ function handleEdit() { - formModalApi.setData({ id: receivableId.value }).open(); + formModalApi.setData({ receivable: { id: receivableId.value } }).open(); } /** 加载数据 */ diff --git a/apps/web-antd/src/views/crm/receivable/index.vue b/apps/web-antd/src/views/crm/receivable/index.vue index 4b9c5ff1..317e2ee9 100644 --- a/apps/web-antd/src/views/crm/receivable/index.vue +++ b/apps/web-antd/src/views/crm/receivable/index.vue @@ -217,7 +217,6 @@ const [Grid, gridApi] = useVbenVxeGrid({ icon: ACTION_ICON.EDIT, auth: ['crm:receivable:update'], onClick: handleEdit.bind(null, row), - ifShow: row.auditStatus === 0, }, { label: '提交审核',