fix(erp): 来票表单采购订单分摊表移到基本信息下方,按填写顺序排列
Co-Authored-By: Claude Code <noreply@anthropic.com>
| | |
| | | }, |
| | | }, |
| | | { |
| | | fieldName: 'orderAllocations', |
| | | label: '采购订单', |
| | | component: markRaw(OrderAllocationField), |
| | | formItemClass: 'md:col-span-2', |
| | | dependencies: { |
| | | triggerFields: ['id', 'price'], |
| | | componentProps: (values, form) => ({ |
| | | invoicePrice: values.price, |
| | | // 编辑时把本张来票已分摊的金额退回订单,重新选择订单时未开票金额按其他来票计算 |
| | | invoiceId: values.id ? Number(values.id) : undefined, |
| | | disabled: formType?.value === 'detail', |
| | | // 分摊行变化:带出供应商名称(同一供应商)与未开票金额合计 |
| | | onChange: (rows: Array<Record<string, any>>) => { |
| | | const supplierNames = [ |
| | | ...new Set( |
| | | rows |
| | | .map((row) => row.supplierName) |
| | | .filter((name): name is string => !!name), |
| | | ), |
| | | ]; |
| | | form.setFieldValue('supplierName', supplierNames.join('、')); |
| | | if (orderRemainInvoicePrice) { |
| | | orderRemainInvoicePrice.value = round2( |
| | | rows.reduce((sum, row) => sum + Number(row.remainPrice ?? 0), 0), |
| | | ); |
| | | } |
| | | }, |
| | | }), |
| | | }, |
| | | }, |
| | | { |
| | | fieldName: 'supplierName', |
| | | label: '供应商', |
| | | component: 'Input', |
| | |
| | | }, |
| | | }, |
| | | { |
| | | fieldName: 'orderAllocations', |
| | | label: '采购订单', |
| | | component: markRaw(OrderAllocationField), |
| | | formItemClass: 'md:col-span-2', |
| | | dependencies: { |
| | | triggerFields: ['id', 'price'], |
| | | componentProps: (values, form) => ({ |
| | | invoicePrice: values.price, |
| | | // 编辑时把本张来票已分摊的金额退回订单,重新选择订单时未开票金额按其他来票计算 |
| | | invoiceId: values.id ? Number(values.id) : undefined, |
| | | disabled: formType?.value === 'detail', |
| | | // 分摊行变化:带出供应商名称(同一供应商)与未开票金额合计 |
| | | onChange: (rows: Array<Record<string, any>>) => { |
| | | const supplierNames = [ |
| | | ...new Set( |
| | | rows |
| | | .map((row) => row.supplierName) |
| | | .filter((name): name is string => !!name), |
| | | ), |
| | | ]; |
| | | form.setFieldValue('supplierName', supplierNames.join('、')); |
| | | if (orderRemainInvoicePrice) { |
| | | orderRemainInvoicePrice.value = round2( |
| | | rows.reduce((sum, row) => sum + Number(row.remainPrice ?? 0), 0), |
| | | ); |
| | | } |
| | | }, |
| | | }), |
| | | }, |
| | | }, |
| | | { |
| | | fieldName: 'blobIds', |
| | | label: '发票附件', |
| | | component: 'FileUpload', |