feat(erp): 付款单付款账户/关联来票改为非必填
- 去掉 accountName/invoiceId 的 rules:required
- 去掉新增时自动填默认结算账户
- 允许空付款明细直接保存
Co-Authored-By: Claude Code <noreply@anthropic.com>
| | |
| | | placeholder: '--', |
| | | } |
| | | : undefined, |
| | | rules: 'required', |
| | | dependencies: { |
| | | // 依赖 invoiceId 自身,确保编辑回显时重新加载选项以匹配已选来票 |
| | | triggerFields: ['supplierId', 'invoiceId'], |
| | |
| | | fieldName: 'accountName', |
| | | label: '付款账户', |
| | | component: 'Input', |
| | | rules: 'required', |
| | | componentProps: { |
| | | placeholder: '请输入付款账户', |
| | | allowClear: true, |
| | |
| | | import { message } from 'ant-design-vue'; |
| | | |
| | | import { useVbenForm } from '#/adapter/form'; |
| | | import { getAccountSimpleList } from '#/api/erp/finance/account'; |
| | | import { |
| | | createFinancePayment, |
| | | getFinancePayment, |
| | |
| | | formApi.setDisabled(formType.value === 'detail'); |
| | | formApi.updateSchema(useFormSchema(formType.value)); |
| | | if (!data || !data.id) { |
| | | // 新增时,默认填入默认结算账户名称 |
| | | const accountList = await getAccountSimpleList(); |
| | | const defaultAccount = accountList.find((item) => item.defaultStatus); |
| | | if (defaultAccount) { |
| | | await formApi.setValues({ accountName: defaultAccount.name }); |
| | | } |
| | | return; |
| | | } |
| | | modalApi.lock(); |
| | |
| | | |
| | | /** 表单校验 */ |
| | | const validate = () => { |
| | | // 检查是否有明细 |
| | | if (tableData.value.length === 0) { |
| | | throw new Error('请先选择关联来票'); |
| | | } |
| | | // 检查每行的付款金额 |
| | | // 检查每行的付款金额(允许无明细:不关联来票时直接保存) |
| | | for (let i = 0; i < tableData.value.length; i++) { |
| | | const item = tableData.value[i]; |
| | | if (!item?.paymentPrice || item.paymentPrice <= 0) { |
| | |
| | | v-if="!invoice && !disabled" |
| | | class="mt-2 flex justify-center text-sm text-muted-foreground" |
| | | > |
| | | 请先在上方表单选择关联来票,系统将自动生成付款明细 |
| | | 选填:选择关联来票后,系统将自动生成付款明细 |
| | | </div> |
| | | </template> |
| | | </Grid> |