✨ 结算单用印类型、合同甲乙丙列表与项目调整材料

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-11-09 22:53:55 +08:00
co-authored by Cursor
parent 748214a4b6
commit 1663b2d910
19 changed files with 695 additions and 35 deletions
@@ -12,6 +12,7 @@
* ⚠️ column 数组顺序 = 表格列顺序,搜索专用列统一放在数组最前面。
*/
import { formatSealTypes } from '@/utils/settlement-seal';
import {
approvalStatusOptions,
invoiceStatusOptions,
@@ -24,6 +25,8 @@ import { formalSettlementTableColumns } from './formalSettlementTable';
const textFormatter = (row, value) =>
value === null || value === undefined || value === '' ? '-' : value;
const sealTypesFormatter = (row, value) => formatSealTypes(value) || '-';
/** 金额统一展示:两位小数 + 币种 */
const moneyFormatter = (row, value) =>
`${Number(value || 0).toFixed(2)} ${row?.currency || 'RMB'}`;
@@ -72,6 +75,7 @@ const COLUMN_EXTRA = {
projectName: { search: true, searchSpan: 5, searchOrder: 11, searchPlaceholder: '请输入' },
deptName: { search: true, searchslot: true, searchSpan: 5, searchOrder: 10 },
contractNo: { search: true, searchSpan: 5, searchOrder: 9, searchPlaceholder: '请输入' },
sealTypes: { formatter: sealTypesFormatter },
invoiceStatusName: { slot: true },
paymentStatusName: { slot: true },
approvalStatusName: { slot: true },
@@ -10,6 +10,12 @@ export const formalSettlementFormFields = [
{ label: '结算金额', prop: 'settlementAmount', readonly: true, money: true },
{ label: '业务模式', prop: 'businessModel', type: 'select', optionsKey: 'businessModelOptions' },
{ label: '运输方式', prop: 'transportType', type: 'select', optionsKey: 'transportTypeOptions' },
{
label: '用印类型',
prop: 'sealTypes',
type: 'multi-select',
optionsKey: 'sealTypeOptions',
},
{ label: '汇率日期', prop: 'exchangeRateDate', type: 'date', required: true },
{ label: '结算汇率', prop: 'exchangeRate', type: 'number', required: true },
{ label: '本位币合计', prop: 'localSettlementAmount', readonly: true, money: true },
@@ -29,6 +35,7 @@ export const createFormalSettlementForm = () => ({
sourceDetailIds: [],
businessModel: '',
transportType: '',
sealTypes: [],
exchangeRateDate: '',
exchangeRate: 1,
createUserName: '',
@@ -10,6 +10,7 @@ export const formalSettlementTableColumns = [
{ label: '原币结算金额', prop: 'settlementAmount', minWidth: 145, money: true },
{ label: '业务模式', prop: 'businessModelName', minWidth: 120 },
{ label: '运输方式', prop: 'transportTypeName', minWidth: 120 },
{ label: '用印类型', prop: 'sealTypes', minWidth: 120 },
{ label: '本位币结算金额', prop: 'localSettlementAmount', minWidth: 155, money: true },
{ label: '结算汇率', prop: 'exchangeRate', minWidth: 110 },
{ label: '申请付款金额(含预付)', prop: 'appliedPaymentAmount', minWidth: 185, money: true },
@@ -26,6 +26,12 @@ export const preSettlementFormFields = [
{ label: '结算金额', prop: 'settlementAmount', readonly: true, money: true },
{ label: '业务模式', prop: 'businessModel', type: 'select', optionsKey: 'businessModelOptions' },
{ label: '运输方式', prop: 'transportType', type: 'select', optionsKey: 'transportTypeOptions' },
{
label: '用印类型',
prop: 'sealTypes',
type: 'multi-select',
optionsKey: 'sealTypeOptions',
},
{ label: '汇率日期', prop: 'exchangeRateDate', type: 'date' },
{ label: '结算汇率', prop: 'exchangeRate', type: 'number', class: 'exchange-rate-input' },
{ label: '本位币合计', prop: 'localSettlementAmount', readonly: true, money: true },
@@ -82,6 +88,7 @@ export const emptyPreSettlementForm = () => ({
settlementAmount: 0,
businessModel: '',
transportType: '',
sealTypes: [],
localCurrency: 'RMB',
localSettlementAmount: 0,
exchangeRateDate: '',
@@ -10,6 +10,7 @@ export const preSettlementTableColumns = [
{ label: '原币结算金额', prop: 'settlementAmount', minWidth: 140, money: true, precision: 2 },
{ label: '业务模式', prop: 'businessModelName', minWidth: 120 },
{ label: '运输方式', prop: 'transportTypeName', minWidth: 120 },
{ label: '用印类型', prop: 'sealTypes', minWidth: 120 },
{ label: '本位币结算金额', prop: 'localSettlementAmount', minWidth: 150, money: true, precision: 2 },
{ label: '结算汇率', prop: 'exchangeRate', minWidth: 110, precision: 2 },
{