1、新增结算模块

2、调整业务模块
3、调整客商模块
This commit is contained in:
2026-08-20 06:33:01 +08:00
parent 4199255186
commit fd5b1484e6
59 changed files with 11745 additions and 1104 deletions
@@ -0,0 +1,30 @@
export const formalSettlementFormFields = [
{ label: '结算单号', prop: 'formalSettlementNo', readonly: true },
{ label: '项目名称', prop: 'projectName', readonly: true },
{ label: '所属组织', prop: 'deptName', readonly: true },
{ label: '合同编号', prop: 'contractNo', readonly: true },
{ label: '合同名称', prop: 'contractId', type: 'contract', required: true },
{ label: '付款方', prop: 'payerName', readonly: true },
{ label: '收款方', prop: 'payeeName', readonly: true },
{ label: '结算类型', prop: 'settlementTypeName', readonly: true },
{ label: '结算金额', prop: 'settlementAmount', readonly: true, money: true },
{ label: '汇率日期', prop: 'exchangeRateDate', type: 'date', required: true },
{ label: '结算汇率', prop: 'exchangeRate', type: 'number', required: true },
{ label: '本位币合计', prop: 'localSettlementAmount', readonly: true, money: true },
{ label: '申请付款金额(含预付)', prop: 'appliedPaymentAmount', readonly: true, money: true },
{ label: '已收/已付合计', prop: 'paidAmount', readonly: true, money: true },
];
export const createFormalSettlementForm = () => ({
id: null,
formalSettlementNo: '',
contractId: null,
contractName: '',
settlementType: '',
sourcePreSettlementIds: [],
sourceDetailIds: [],
exchangeRateDate: '',
exchangeRate: 1,
attachmentsJson: '[]',
remark: '',
});
@@ -0,0 +1,45 @@
export const approvalStatusOptions = [
{ label: '草稿', value: 'draft' },
{ label: '审批中', value: 'reviewing' },
{ label: '审批通过', value: 'approved' },
{ label: '已驳回', value: 'returned' },
{ label: '已作废', value: 'voided' },
];
export const invoiceStatusOptions = [
{ label: '未收/开票', value: 'unreceived' },
{ label: '部分收/开票', value: 'partial' },
{ label: '已收/开票', value: 'completed' },
];
export const paymentStatusOptions = [
{ label: '未收/付款', value: 'unpaid' },
{ label: '部分收/付款', value: 'partial' },
{ label: '已收/付款', value: 'paid' },
];
export const kingdeeSyncStatusOptions = [
{ label: '未同步', value: 'unsynced' },
{ label: '已同步', value: 'synced' },
{ label: '同步失败', value: 'failed' },
];
export const formalSettlementSearchFields = [
{ label: '结算单号', prop: 'formalSettlementNo', type: 'input' },
{ label: '预结算单号', prop: 'preSettlementNo', type: 'input' },
{ label: '项目', prop: 'projectName', type: 'input' },
{ label: '所属组织', prop: 'deptName', type: 'input' },
{ label: '合同编号', prop: 'contractNo', type: 'input' },
{ label: '付款方', prop: 'payerName', type: 'input' },
{ label: '收款方', prop: 'payeeName', type: 'input' },
{ label: '发票状态', prop: 'invoiceStatus', type: 'select', options: invoiceStatusOptions },
{ label: '收付款状态', prop: 'paymentStatus', type: 'select', options: paymentStatusOptions },
{ label: '审核状态', prop: 'approvalStatus', type: 'select', options: approvalStatusOptions },
{
label: '金蝶单据状态',
prop: 'kingdeeSyncStatus',
type: 'select',
options: kingdeeSyncStatusOptions,
},
{ label: '生成日期', prop: 'createDateRange', type: 'daterange' },
];
@@ -0,0 +1,94 @@
export const formalSettlementTableColumns = [
{ label: '结算单号', prop: 'formalSettlementNo', minWidth: 160, link: true, fixed: 'left' },
{ label: '预结算单号', prop: 'preSettlementNos', minWidth: 190 },
{ label: '来源', prop: 'sourceType', minWidth: 110 },
{ label: '付款方', prop: 'payerName', minWidth: 150 },
{ label: '收款方', prop: 'payeeName', minWidth: 150 },
{ label: '项目名称', prop: 'projectName', minWidth: 140 },
{ label: '所属组织', prop: 'deptName', minWidth: 140 },
{ label: '合同编号', prop: 'contractNo', minWidth: 150 },
{ label: '合同名称', prop: 'contractName', minWidth: 170 },
{ label: '原币结算金额', prop: 'settlementAmount', minWidth: 145, money: true },
{ label: '本位币结算金额', prop: 'localSettlementAmount', minWidth: 155, money: true },
{ label: '结算汇率', prop: 'exchangeRate', minWidth: 110 },
{ label: '申请付款金额(含预付)', prop: 'appliedPaymentAmount', minWidth: 185, money: true },
{ label: '已收/已付合计', prop: 'paidAmount', minWidth: 145, money: true },
{ label: '发票状态', prop: 'invoiceStatusName', minWidth: 120 },
{ label: '收付款状态', prop: 'paymentStatusName', minWidth: 120 },
{ label: '审核状态', prop: 'approvalStatusName', minWidth: 110, status: true },
{ label: '当前节点', prop: 'currentNode', minWidth: 130 },
{ label: '当前处理人', prop: 'currentProcessor', minWidth: 130 },
{ label: '金蝶单据号', prop: 'kingdeeBillNo', minWidth: 150 },
{ label: '创建人', prop: 'createUserName', minWidth: 110 },
{ label: '创建时间', prop: 'createTime', minWidth: 170 },
];
export const sourceColumns = [
{ label: '预结算单号', prop: 'preSettlementNo', minWidth: 160 },
{ label: '结算金额', prop: 'settlementAmount', minWidth: 130, money: true },
{ label: '申请预付金额', prop: 'advanceAppliedAmount', minWidth: 140, money: true },
{ label: '已付款金额', prop: 'advancePaidAmount', minWidth: 130, money: true },
];
export const detailColumns = [
{ label: '单据号', prop: 'documentNo', minWidth: 180 },
{ label: '运单号', prop: 'waybillNo', minWidth: 160 },
{ label: '车号', prop: 'vehicleNo', minWidth: 130 },
{ label: '发货地址', prop: 'departureAddress', minWidth: 180 },
{ label: '到货地址', prop: 'arrivalAddress', minWidth: 180 },
{ label: '实际发货时间', prop: 'actualDepartureTime', minWidth: 170 },
{ label: '实际完成时间', prop: 'actualCompletionTime', minWidth: 170 },
{ label: '运输类型', prop: 'transportType', minWidth: 120 },
{ label: '货物名称', prop: 'cargoName', minWidth: 140 },
{ label: '货物类型', prop: 'cargoType', minWidth: 130 },
{ label: '运输总量', prop: 'transportQuantity', minWidth: 120 },
{ label: '里程(KM', prop: 'mileage', minWidth: 120 },
{ label: '批次号', prop: 'batchNo', minWidth: 120 },
{ label: '运输单价', prop: 'unitPrice', minWidth: 120, money: true },
{ label: '运费', prop: 'freightAmount', minWidth: 120, money: true },
{ label: '调整金额', prop: 'adjustAmount', minWidth: 120, money: true },
{ label: '结算金额(含税)', prop: 'settlementAmountTax', minWidth: 155, money: true },
{ label: '结算金额(不含税)', prop: 'settlementAmountNoTax', minWidth: 170, money: true },
{ label: '备注', prop: 'remark', minWidth: 180 },
];
export const candidateColumns = [
{ label: '预结算单号', prop: 'preSettlementNo', minWidth: 170 },
{ label: '项目名称', prop: 'projectName', minWidth: 140 },
{ label: '所属组织', prop: 'deptName', minWidth: 140 },
{ label: '合同编号', prop: 'contractNo', minWidth: 150 },
{ label: '合同名称', prop: 'contractName', minWidth: 170 },
{ label: '付款方', prop: 'payerName', minWidth: 150 },
{ label: '收款方', prop: 'payeeName', minWidth: 150 },
{ label: '结算金额', prop: 'settlementAmount', minWidth: 130, money: true },
{ label: '创建时间', prop: 'createTime', minWidth: 170 },
];
export const candidateDetailColumns = [
{ label: '单据号', prop: 'documentNo', minWidth: 180 },
{ label: '项目名称', prop: 'projectName', minWidth: 140 },
{ label: '所属组织', prop: 'deptName', minWidth: 140 },
{ label: '生成日期', prop: 'feeDate', minWidth: 120 },
{ label: '客商名称', prop: 'customerName', minWidth: 150 },
{ label: '合同编号', prop: 'contractNo', minWidth: 150 },
{ label: '合同名称', prop: 'contractName', minWidth: 170 },
{ label: '来源', prop: 'sourceType', minWidth: 110 },
{ label: '运单号', prop: 'waybillNo', minWidth: 150 },
{ label: '车号', prop: 'vehicleNo', minWidth: 130 },
{ label: '运输类型', prop: 'transportType', minWidth: 120 },
{ label: '货物名称', prop: 'cargoName', minWidth: 140 },
{ label: '货物类型', prop: 'cargoType', minWidth: 130 },
{ label: '批次号', prop: 'batchNo', minWidth: 120 },
{ label: '应收应付合计', prop: 'totalAmount', minWidth: 140, money: true },
{ label: '状态', prop: 'settlementStatusName', minWidth: 110 },
];
export const paymentColumns = [
{ label: '付款类型', prop: 'paymentTypeName', minWidth: 120 },
{ label: '单据号', prop: 'paymentNo', minWidth: 160 },
{ label: '申请付款金额', prop: 'appliedAmount', minWidth: 145, money: true },
{ label: '已付款金额', prop: 'paidAmount', minWidth: 130, money: true },
{ label: '单据状态', prop: 'billStatusName', minWidth: 120 },
{ label: '金蝶单据号', prop: 'kingdeeBillNo', minWidth: 150 },
{ label: '创建时间', prop: 'createTime', minWidth: 170 },
];
@@ -0,0 +1,79 @@
export const settlementTypeOptions = [
{ label: '应收', value: 'receivable' },
{ label: '应付', value: 'payable' },
];
export const preSettlementFormFields = [
{ label: '预结算单号', prop: 'preSettlementNo', readonly: true },
{ label: '合同名称', prop: 'contractId', type: 'contract', required: true },
{ label: '合同编号', prop: 'contractNo', readonly: true },
{ label: '项目名称', prop: 'projectName', readonly: true },
{ label: '收款方', prop: 'payeeName', readonly: true },
{ label: '付款方', prop: 'payerName', readonly: true },
{ label: '结算类型', prop: 'settlementType', readonly: true },
{ label: '结算金额', prop: 'settlementAmount', readonly: true, money: true },
{ label: '汇率日期', prop: 'exchangeRateDate', type: 'date' },
{ label: '结算汇率', prop: 'exchangeRate', type: 'number' },
{ label: '本位币合计', prop: 'localSettlementAmount', readonly: true, money: true },
{ label: '创建人', prop: 'createUserName', readonly: true },
{ label: '创建日期', prop: 'createTime', readonly: true },
{ label: '备注', prop: 'remark', type: 'textarea', span: 24, maxlength: 200 },
];
export const preSettlementFormRules = {
contractId: [{ required: true, message: '请选择合同名称', trigger: 'change' }],
exchangeRateDate: [
{
validator: (_rule, value, callback, source) => {
if (source.currency && source.currency !== 'RMB' && !value) {
callback(new Error('外币结算请选择汇率日期'));
return;
}
callback();
},
trigger: 'change',
},
],
exchangeRate: [
{
validator: (_rule, value, callback, source) => {
if (source.currency && source.currency !== 'RMB' && (!value || Number(value) <= 0)) {
callback(new Error('外币结算请输入大于0的结算汇率'));
return;
}
callback();
},
trigger: ['blur', 'change'],
},
],
remark: [{ max: 200, message: '备注不能超过200个字符', trigger: 'blur' }],
};
export const emptyPreSettlementForm = () => ({
id: '',
preSettlementNo: '',
contractId: '',
contractNo: '',
contractName: '',
projectId: '',
projectName: '',
deptId: '',
deptName: '',
payeeName: '',
payerName: '',
settlementType: 'payable',
currency: 'RMB',
settlementAmount: 0,
localCurrency: 'RMB',
localSettlementAmount: 0,
exchangeRateDate: '',
exchangeRate: 1,
approvalStatus: 'draft',
approvalStatusName: '草稿',
currentNode: '草稿',
currentProcessor: '',
createUserName: '',
createTime: '',
attachmentsJson: '[]',
remark: '',
});
@@ -0,0 +1,25 @@
export const approvalStatusOptions = [
{ label: '草稿', value: 'draft' },
{ label: '审批中', value: 'reviewing' },
{ label: '审批通过', value: 'approved' },
{ label: '已驳回', value: 'returned' },
{ label: '已作废', value: 'voided' },
];
export const preSettlementSearchFields = [
{ label: '预结算单号', prop: 'preSettlementNo', type: 'input' },
{ label: '预付单号', prop: 'advanceNo', type: 'input' },
{ label: '项目名称', prop: 'projectName', type: 'input' },
{ label: '所属组织', prop: 'deptName', type: 'input' },
{ label: '合同名称', prop: 'contractName', type: 'input' },
{ label: '合同编号', prop: 'contractNo', type: 'input' },
{ label: '收款方', prop: 'payeeName', type: 'input' },
{ label: '付款方', prop: 'payerName', type: 'input' },
{ label: '生成日期', prop: 'createDateRange', type: 'daterange' },
{
label: '审核状态',
prop: 'approvalStatus',
type: 'select',
options: approvalStatusOptions,
},
];
@@ -0,0 +1,88 @@
export const preSettlementTableColumns = [
{ label: '预结算单号', prop: 'preSettlementNo', minWidth: 150, link: true, fixed: 'left' },
{ label: '来源', prop: 'sourceType', minWidth: 100 },
{ label: '付款方', prop: 'payerName', minWidth: 160 },
{ label: '收款方', prop: 'payeeName', minWidth: 160 },
{ label: '项目名称', prop: 'projectName', minWidth: 130 },
{ label: '所属组织', prop: 'deptName', minWidth: 140 },
{ label: '合同编号', prop: 'contractNo', minWidth: 140 },
{ label: '合同名称', prop: 'contractName', minWidth: 160 },
{ label: '原币结算金额', prop: 'settlementAmount', minWidth: 140, money: true, precision: 2 },
{ label: '本位币结算金额', prop: 'localSettlementAmount', minWidth: 150, money: true, precision: 2 },
{ label: '结算汇率', prop: 'exchangeRate', minWidth: 110, precision: 2 },
{ label: '申请预付金额', prop: 'advanceAppliedAmount', minWidth: 140, money: true },
{ label: '已付款金额', prop: 'advancePaidAmount', minWidth: 130, money: true },
{ label: '审核状态', prop: 'approvalStatusName', minWidth: 110, status: true },
{ label: '当前节点', prop: 'currentNode', minWidth: 130 },
{ label: '当前处理人', prop: 'currentProcessor', minWidth: 130 },
{ label: '创建人', prop: 'createUserName', minWidth: 110 },
{ label: '创建时间', prop: 'createTime', minWidth: 170 },
];
export const settlementSummaryColumns = [
{ label: '费用类型', prop: 'feeType', minWidth: 150 },
{ label: '费用项', prop: 'feeItem', minWidth: 160 },
{ label: '原金额', prop: 'originalAmount', minWidth: 130 },
{ label: '调整金额', prop: 'adjustAmount', minWidth: 140 },
{ label: '结算金额', prop: 'settlementAmount', minWidth: 140 },
{ label: '备注', prop: 'remark', minWidth: 200 },
];
export const settlementDetailColumns = [
{ label: '单据号', prop: 'documentNo', minWidth: 180, link: true },
{ label: '运单号', prop: 'waybillNo', minWidth: 160 },
{ label: '车号', prop: 'vehicleNo', minWidth: 130 },
{ label: '发货地址', prop: 'departureAddress', minWidth: 180 },
{ label: '到货地址', prop: 'arrivalAddress', minWidth: 180 },
{ label: '实际发货时间', prop: 'actualDepartureTime', minWidth: 170 },
{ label: '实际完成时间', prop: 'actualCompletionTime', minWidth: 170 },
{ label: '运输类型', prop: 'transportType', minWidth: 120 },
{ label: '货物名称', prop: 'cargoName', minWidth: 150 },
{ label: '货物类型', prop: 'cargoType', minWidth: 140 },
{ label: '运输总量', prop: 'transportQuantityText', minWidth: 120 },
{ label: '里程(KM', prop: 'mileage', minWidth: 120 },
{ label: '批次号', prop: 'batchNo', minWidth: 130 },
{ label: '运输单价', prop: 'unitPrice', minWidth: 120, money: true },
{ label: '运费', prop: 'freightAmount', minWidth: 120, money: true },
{ label: '原金额', prop: 'originalAmount', minWidth: 120, money: true },
{ label: '调整金额', prop: 'adjustAmount', minWidth: 120, money: true },
{ label: '结算金额(含税)', prop: 'settlementAmountTax', minWidth: 150, money: true },
{ label: '结算金额(不含税)', prop: 'settlementAmountNoTax', minWidth: 165, money: true },
{ label: '备注', prop: 'remark', minWidth: 180 },
];
export const advanceColumns = [
{ label: '预付单号', prop: 'advanceNo', minWidth: 160 },
{ label: '申请预付金额', prop: 'appliedAmount', minWidth: 150 },
{ label: '已付款金额', prop: 'paidAmount', minWidth: 140 },
{ label: '单据状态', prop: 'billStatus', minWidth: 120 },
{ label: '金蝶预付单号', prop: 'kingdeeAdvanceNo', minWidth: 170 },
{ label: '创建人', prop: 'createUserName', minWidth: 120 },
{ label: '创建时间', prop: 'createTime', minWidth: 170 },
];
export const changeRecordColumns = [
{ label: '变更类型', prop: 'changeType', minWidth: 130 },
{ label: '行号', prop: 'lineNo', minWidth: 80 },
{ label: '类型', prop: 'operationType', minWidth: 100 },
{ label: '变更内容', prop: 'changeContent', minWidth: 320 },
{ label: '操作人', prop: 'operatorName', minWidth: 120 },
{ label: '变更原因', prop: 'changeReason', minWidth: 180 },
{ label: '变更时间', prop: 'changeTime', minWidth: 170 },
];
export const candidateDetailColumns = [
{ label: '单据号', prop: 'documentNo', minWidth: 180 },
{ label: '费用日期', prop: 'feeDate', minWidth: 120 },
{ label: '客商名称', prop: 'customerName', minWidth: 150 },
{ label: '发货地点', prop: 'departureAddress', minWidth: 170 },
{ label: '到货地点', prop: 'arrivalAddress', minWidth: 170 },
{ label: '合同名称', prop: 'contractName', minWidth: 160 },
{ label: '运单号', prop: 'waybillNo', minWidth: 150 },
{ label: '车号', prop: 'vehicleNo', minWidth: 130 },
{ label: '运输类型', prop: 'transportType', minWidth: 120 },
{ label: '货物名称', prop: 'cargoName', minWidth: 140 },
{ label: '货物类型', prop: 'cargoType', minWidth: 130 },
{ label: '批次号', prop: 'batchNo', minWidth: 120 },
{ label: '结算金额', prop: 'totalAmount', minWidth: 130, money: true },
];
@@ -46,8 +46,6 @@ export const tableColumns = [
{ label: '里程(KM', prop: 'mileage', minWidth: 120, align: 'right' },
{ label: '批次号', prop: 'batchNo', minWidth: 120 },
{ label: '运输单价', prop: 'unitPriceText', minWidth: 120, align: 'right' },
{ label: '运输费', prop: 'freightAmountText', minWidth: 120, align: 'right' },
{ label: '其它费用', prop: 'otherFeeAmountText', minWidth: 120, align: 'right' },
{ label: '费用合计', prop: 'totalAmountText', minWidth: 130, align: 'right' },
{ label: '状态', prop: 'settlementStatusName', minWidth: 120 },
{ label: '创建人', prop: 'createUserName', minWidth: 120 },
@@ -114,6 +112,23 @@ export const generateWaybillColumns = [
{ label: '运输类型', prop: 'transportType', minWidth: 130 },
{ label: '承运类型', prop: 'carrierType', minWidth: 130 },
{ label: '货物信息', prop: 'cargoInfo', minWidth: 160 },
{ label: '发货地址', prop: 'departureAddress', minWidth: 220 },
{ label: '发货联系人', prop: 'departureContact', minWidth: 130 },
{ label: '到货地址', prop: 'arrivalAddress', minWidth: 220 },
{ label: '收货联系人', prop: 'arrivalContact', minWidth: 130 },
{ label: '单价', prop: 'unitPrice', minWidth: 110, align: 'right' },
{ label: '运费', prop: 'freight', minWidth: 110, align: 'right' },
{ label: '其他费用合计', prop: 'otherFeeTotal', minWidth: 140, align: 'right' },
{ label: '运费合计', prop: 'freightTotal', minWidth: 120, align: 'right' },
{ label: '客户合同', prop: 'contractName', minWidth: 160 },
{ label: '发货计划', prop: 'planName', minWidth: 140 },
{ label: '运输批次', prop: 'batchNo', minWidth: 140 },
{ label: '原始单号', prop: 'originalNo', minWidth: 140 },
{ label: '多式联运总单号', prop: 'masterNo', minWidth: 160 },
{ label: '备注', prop: 'remark', minWidth: 180 },
{ label: '创建时间', prop: 'createTime', minWidth: 170 },
{ label: '更新时间', prop: 'updateTime', minWidth: 170 },
{ label: '状态', prop: 'businessStatusName', minWidth: 110 },
];
export const generatePreviewColumns = [
@@ -0,0 +1,28 @@
export const settlementAdjustmentFormFields = [
{ label: '单据号', prop: 'adjustmentNo' },
{ label: '* 关联结算单号', prop: 'formalSettlementId' },
{ label: '客户/客商名称', prop: 'customerName' },
{ label: '结算单类型', prop: 'settlementTypeName' },
{ label: '关联合同名称', prop: 'contractName' },
{ label: '关联项目', prop: 'projectName' },
{ label: '原结算金额', prop: 'originalSettlementAmount', money: true },
{ label: '调整金额', prop: 'adjustmentAmount', money: true },
{ label: '调整后结算金额', prop: 'adjustedSettlementAmount', money: true },
];
export const createSettlementAdjustmentForm = () => ({
id: null,
adjustmentNo: '',
formalSettlementId: null,
formalSettlementNo: '',
settlementType: '',
projectName: '',
deptName: '',
customerName: '',
contractNo: '',
contractName: '',
adjustmentAmount: 0,
originalSettlementAmount: 0,
adjustedSettlementAmount: 0,
remark: '',
});
@@ -0,0 +1,20 @@
import { approvalStatusOptions } from '@/api/settlement/settlementAdjustment';
export const settlementAdjustmentSearchFields = [
{ label: '单据号', prop: 'adjustmentNo', type: 'input' },
{ label: '日期', prop: 'createDateRange', type: 'daterange' },
{ label: '客户名称', prop: 'customerName', type: 'input' },
{ label: '项目名称', prop: 'projectName', type: 'input' },
{ label: '所属组织', prop: 'deptName', type: 'input' },
{ label: '关联结算单', prop: 'formalSettlementNo', type: 'input' },
{
label: '结算单类型',
prop: 'settlementType',
type: 'select',
options: [
{ label: '应付', value: 'payable' },
{ label: '应收', value: 'receivable' },
],
},
{ label: '审核状态', prop: 'approvalStatus', type: 'select', options: approvalStatusOptions },
];
@@ -0,0 +1,18 @@
export const settlementAdjustmentTableColumns = [
{ label: '单据号', prop: 'adjustmentNo', minWidth: 160, link: true, fixed: 'left' },
{ label: '结算单号', prop: 'formalSettlementNo', minWidth: 160 },
{ label: '结算单类型', prop: 'settlementTypeName', minWidth: 110 },
{ label: '项目名称', prop: 'projectName', minWidth: 140 },
{ label: '所属组织', prop: 'deptName', minWidth: 140 },
{ label: '客商名称', prop: 'customerName', minWidth: 150 },
{ label: '合同编号', prop: 'contractNo', minWidth: 150 },
{ label: '合同名称', prop: 'contractName', minWidth: 170 },
{ label: '调整金额', prop: 'adjustmentAmount', minWidth: 130, money: true },
{ label: '原结算金额', prop: 'originalSettlementAmount', minWidth: 140, money: true },
{ label: '调整后结算金额', prop: 'adjustedSettlementAmount', minWidth: 160, money: true },
{ label: '审核状态', prop: 'approvalStatusName', minWidth: 110, status: true },
{ label: '当前节点', prop: 'currentNode', minWidth: 120 },
{ label: '当前处理人', prop: 'currentProcessor', minWidth: 130 },
{ label: '创建人', prop: 'createUserName', minWidth: 110 },
{ label: '创建时间', prop: 'createTime', minWidth: 170 },
];
@@ -0,0 +1,13 @@
export const transportReconciliationFormFields = [
{ prop: 'reconciliationNo', label: '对账单号', readonly: true },
{ prop: 'reconciliationMode', label: '对账模式', type: 'mode' },
{ prop: 'formalSettlementNo', label: '正式结算单', type: 'formal' },
{ prop: 'payerName', label: '付款方', readonly: true },
{ prop: 'payeeName', label: '收款方', readonly: true },
{ prop: 'projectName', label: '项目', readonly: true },
{ prop: 'deptName', label: '所属组织', readonly: true },
{ prop: 'contractName', label: '合同名称', readonly: true },
{ prop: 'paidAmount', label: '已付合计', money: true, readonly: true },
{ prop: 'reconcilerName', label: '对账人', readonly: true },
{ prop: 'reconciliationDate', label: '对账日期', type: 'date' },
];
@@ -0,0 +1,34 @@
export const reconciliationMatchStatusOptions = [
{ label: '全部', value: '' },
{ label: '未匹配', value: 'unmatched' },
{ label: '部分匹配', value: 'partial' },
{ label: '已匹配', value: 'matched' },
];
export const reconciliationStatusOptions = [
{ label: '全部', value: '' },
{ label: '未完成', value: 'unfinished' },
{ label: '已完成', value: 'completed' },
];
export const transportReconciliationSearchFields = [
{ prop: 'reconciliationNo', label: '对账单号', type: 'input' },
{ prop: 'preSettlementNos', label: '预结算单号', type: 'input' },
{ prop: 'projectName', label: '项目', type: 'input' },
{ prop: 'deptName', label: '所属组织', type: 'input' },
{ prop: 'contractNo', label: '合同编号', type: 'input' },
{ prop: 'payerName', label: '付款方', type: 'input' },
{ prop: 'payeeName', label: '收款方', type: 'input' },
{
prop: 'matchStatus',
label: '匹配状态',
type: 'select',
options: reconciliationMatchStatusOptions,
},
{
prop: 'reconciliationStatus',
label: '对账状态',
type: 'select',
options: reconciliationStatusOptions,
},
];
@@ -0,0 +1,77 @@
export const transportReconciliationTableColumns = [
{ prop: 'reconciliationNo', label: '对账单号', minWidth: 150, link: true },
{ prop: 'payerName', label: '付款方', minWidth: 150 },
{ prop: 'payeeName', label: '收款方', minWidth: 150 },
{ prop: 'projectName', label: '项目名称', minWidth: 120 },
{ prop: 'deptName', label: '所属组织', minWidth: 120 },
{ prop: 'contractNo', label: '合同编号', minWidth: 130 },
{ prop: 'contractName', label: '合同名称', minWidth: 150 },
{ prop: 'settlementAmount', label: '结算金额', minWidth: 120, money: true },
{ prop: 'reconciliationModeName', label: '对账模式', minWidth: 110 },
{ prop: 'externalBillCount', label: '账单总数(条)', minWidth: 110 },
{ prop: 'matchedCount', label: '匹配数(条)', minWidth: 100 },
{ prop: 'reconciliationStatusName', label: '对账状态', minWidth: 100 },
{ prop: 'createUserName', label: '创建人', minWidth: 100 },
{ prop: 'createTime', label: '创建时间', minWidth: 160 },
];
export const internalColumns = [
{ prop: 'documentNo', label: '单据号', minWidth: 150 },
{ prop: 'waybillNo', label: '运单号', minWidth: 120 },
{ prop: 'matchedExternalLineNo', label: '匹配外部账单行号', minWidth: 140 },
{ prop: 'vehicleNo', label: '车号', minWidth: 100 },
{ prop: 'departureAddress', label: '发货地址', minWidth: 180 },
{ prop: 'arrivalAddress', label: '到货地址', minWidth: 180 },
{ prop: 'actualDepartureTime', label: '实际发货时间', minWidth: 150 },
{ prop: 'actualCompletionTime', label: '实际完成时间', minWidth: 150 },
{ prop: 'transportType', label: '运输类型', minWidth: 120 },
{ prop: 'cargoName', label: '货物名称', minWidth: 120 },
{ prop: 'cargoType', label: '货物类型', minWidth: 120 },
{ prop: 'specification', label: '规格', minWidth: 100 },
{ prop: 'model', label: '型号', minWidth: 100 },
{ prop: 'transportQuantity', label: '运输总量', minWidth: 100, number: true },
{ prop: 'mileage', label: '里程(KM', minWidth: 100, number: true },
{ prop: 'batchNo', label: '批次号', minWidth: 100 },
{ prop: 'unitPrice', label: '运输单价', minWidth: 110, money: true },
{ prop: 'freightAmount', label: '运输费', minWidth: 110, money: true },
{ prop: 'settlementAmount', label: '结算金额', minWidth: 120, money: true },
{ prop: 'matchResult', label: '匹配结果', minWidth: 100 },
{ prop: 'updateResult', label: '账单更新结果', minWidth: 130 },
];
export const externalVehicleColumns = [
{ prop: 'externalLineNo', label: '序号', minWidth: 70 },
{ prop: 'vehicleNo', label: '车牌号', minWidth: 110 },
{ prop: 'departureAddress', label: '发货地址', minWidth: 180 },
{ prop: 'arrivalAddress', label: '到货地址', minWidth: 180 },
{ prop: 'actualDepartureTime', label: '实际发货时间', minWidth: 150 },
{ prop: 'actualCompletionTime', label: '实际完成时间', minWidth: 150 },
{ prop: 'transportType', label: '运输类型', minWidth: 120 },
{ prop: 'cargoName', label: '货物名称', minWidth: 120 },
{ prop: 'cargoType', label: '货物类型', minWidth: 120 },
{ prop: 'transportQuantity', label: '运输总量', minWidth: 100, number: true },
{ prop: 'mileage', label: '里程(KM', minWidth: 100, number: true },
{ prop: 'batchNo', label: '批次号', minWidth: 100 },
{ prop: 'unitPrice', label: '运输单价', minWidth: 110, money: true },
{ prop: 'freightAmount', label: '运费', minWidth: 110, money: true },
{ prop: 'settlementAmount', label: '结算费用合计', minWidth: 130, money: true },
{ prop: 'matchStatus', label: '匹配状态', minWidth: 110 },
];
export const externalCargoColumns = [
{ prop: 'externalLineNo', label: '序号', minWidth: 70 },
{ prop: 'vehicleNo', label: '车牌号', minWidth: 110 },
{ prop: 'departureAddress', label: '发货地址', minWidth: 180 },
{ prop: 'arrivalAddress', label: '到货地址', minWidth: 180 },
{ prop: 'actualDepartureTime', label: '实际发货时间', minWidth: 150 },
{ prop: 'actualCompletionTime', label: '实际完成时间', minWidth: 150 },
{ prop: 'cargoName', label: '货物名称', minWidth: 120 },
{ prop: 'cargoType', label: '货物类型', minWidth: 120 },
{ prop: 'specification', label: '规格', minWidth: 100 },
{ prop: 'model', label: '型号', minWidth: 100 },
{ prop: 'transportQuantity', label: '运输量', minWidth: 100, number: true },
{ prop: 'unitPrice', label: '运输单价', minWidth: 110, money: true },
{ prop: 'mileage', label: '里程(KM', minWidth: 100, number: true },
{ prop: 'freightAmount', label: '运输费', minWidth: 110, money: true },
{ prop: 'settlementAmount', label: '结算金额', minWidth: 120, money: true },
];