1、新增结算模块
2、调整业务模块 3、调整客商模块
This commit is contained in:
@@ -42,12 +42,18 @@ export const config = {
|
||||
batchDelete: false,
|
||||
enableContractForm: true,
|
||||
enableProjectSelect: true,
|
||||
projectQueryParams: {
|
||||
approvalStatuses: 'approved,change_approved',
|
||||
},
|
||||
enableContractPeriod: true,
|
||||
enableContractFileUpload: true,
|
||||
enableCurrentUserHandler: true,
|
||||
enableBillingPlan: true,
|
||||
enableSettlementRule: true,
|
||||
enableReconciliation: true,
|
||||
enableReconciliation: false,
|
||||
enableFeeGenerationMode: true,
|
||||
enableSettlementConfigTabs: true,
|
||||
enablePaymentRatio: true,
|
||||
enableAttachmentTable: true,
|
||||
enableChangeRecord: true,
|
||||
enableOrganizationSelect: true,
|
||||
@@ -57,6 +63,53 @@ export const config = {
|
||||
statusProp: 'approvalStatus',
|
||||
statusTextProp: 'approvalStatusName',
|
||||
customMenuActions: true,
|
||||
contractNameDetail: true,
|
||||
detailSections: [
|
||||
{
|
||||
title: '基本信息',
|
||||
fields: [
|
||||
['contractNo', '合同编号'],
|
||||
['contractName', '合同名称'],
|
||||
['projectName', '所属项目'],
|
||||
['organizationName', '所属组织'],
|
||||
['contractCategory', '合同类别'],
|
||||
['signType', '签约类型'],
|
||||
['partyA', '甲方'],
|
||||
['partyB', '乙方'],
|
||||
['handlerUserName', '经办人'],
|
||||
['signDate', '签订日期'],
|
||||
['contractFormat', '合同格式'],
|
||||
['legalSealFlag', '是否需要加盖法人章'],
|
||||
['copyCount', '一式'],
|
||||
['paymentDays', '回款账期'],
|
||||
['remark', '备注', 2],
|
||||
],
|
||||
},
|
||||
{
|
||||
title: '合同期限',
|
||||
fields: [
|
||||
['startDate', '开始日期'],
|
||||
['endDate', '结束日期'],
|
||||
['temporaryStartDate', '临时效力起'],
|
||||
['temporaryEndDate', '临时效力止'],
|
||||
['effectiveType', '生效类型'],
|
||||
['contractStage', '合同阶段'],
|
||||
['approvalStatus', '审核状态'],
|
||||
['currentNode', '当前节点'],
|
||||
['currentProcessor', '当前处理人'],
|
||||
],
|
||||
},
|
||||
{
|
||||
title: '计费与结算',
|
||||
fields: [
|
||||
['feeGenerationMode', '费用生成模式'],
|
||||
['billingPlanJson', '计费方案', 2],
|
||||
['settlementMode', '结算类型'],
|
||||
['settlementRuleJson', '结算规则', 2],
|
||||
['paymentRatioJson', '付款比例设置', 2],
|
||||
],
|
||||
},
|
||||
],
|
||||
editLabelStatusMap: {
|
||||
change_rejected: '编辑变更内容',
|
||||
},
|
||||
@@ -96,6 +149,22 @@ export const config = {
|
||||
stage: ['temporary', 'formal'],
|
||||
permission: 'contract_manage_reject',
|
||||
},
|
||||
{
|
||||
action: 'approve',
|
||||
label: '通过',
|
||||
statusProp: 'approvalStatus',
|
||||
status: ['change_reviewing'],
|
||||
stage: ['formal'],
|
||||
permission: 'contract_manage_approve',
|
||||
},
|
||||
{
|
||||
action: 'reject',
|
||||
label: '驳回',
|
||||
statusProp: 'approvalStatus',
|
||||
status: ['change_reviewing'],
|
||||
stage: ['formal'],
|
||||
permission: 'contract_manage_reject',
|
||||
},
|
||||
{
|
||||
action: 'submitFormal',
|
||||
label: '重新提交转正',
|
||||
@@ -186,6 +255,7 @@ export const option = createCrudOption([
|
||||
searchOrder: 7,
|
||||
searchPlaceholder: '请输入',
|
||||
order: 180,
|
||||
slot: true,
|
||||
minWidth: 180,
|
||||
rules: textRule('合同名称', 100, true),
|
||||
},
|
||||
@@ -198,7 +268,8 @@ export const option = createCrudOption([
|
||||
searchPlaceholder: '请选择',
|
||||
formslot: true,
|
||||
order: 140,
|
||||
dicUrl: '/blade-transport/project-apply/list?current=1&size=9999',
|
||||
dicUrl:
|
||||
'/blade-transport/project-apply/list?current=1&size=9999&approvalStatuses=approved,change_approved',
|
||||
dicFormatter: listDicFormatter,
|
||||
props: {
|
||||
label: 'projectName',
|
||||
@@ -481,7 +552,7 @@ export const option = createCrudOption([
|
||||
editDisplay: false,
|
||||
},
|
||||
{
|
||||
label: '计费信息',
|
||||
label: '费用生成模式',
|
||||
prop: 'billingEnabled',
|
||||
type: 'switch',
|
||||
dicData: [
|
||||
@@ -515,10 +586,11 @@ export const option = createCrudOption([
|
||||
labelWidth: 0,
|
||||
},
|
||||
{
|
||||
label: '附件',
|
||||
label: '',
|
||||
prop: 'contractFileJson',
|
||||
formslot: true,
|
||||
span: 24,
|
||||
className: 'contract-file-form-item',
|
||||
order: 20,
|
||||
hide: true,
|
||||
},
|
||||
@@ -560,7 +632,7 @@ export const option = createCrudOption([
|
||||
},
|
||||
{
|
||||
label: '',
|
||||
prop: 'reconciliationTitle',
|
||||
prop: 'paymentRatioTitle',
|
||||
formslot: true,
|
||||
span: 24,
|
||||
order: -30,
|
||||
@@ -569,7 +641,7 @@ export const option = createCrudOption([
|
||||
},
|
||||
{
|
||||
label: '',
|
||||
prop: 'reconciliationJson',
|
||||
prop: 'paymentRatioJson',
|
||||
formslot: true,
|
||||
span: 24,
|
||||
order: -40,
|
||||
|
||||
@@ -63,15 +63,6 @@ const parseProcessNodes = value => {
|
||||
return Array.isArray(value.nodes) ? value.nodes : [];
|
||||
};
|
||||
|
||||
const requiresDriverAcceptConfirmation = processJson =>
|
||||
parseProcessNodes(processJson).some(
|
||||
node =>
|
||||
(node.key === 'accept' || node.name === '接单') &&
|
||||
node.enabled !== false &&
|
||||
node.confirmMode === 'yes' &&
|
||||
node.confirmDriver === true
|
||||
);
|
||||
|
||||
const getProcessConfigNodes = row => {
|
||||
const sources = [
|
||||
row.processJson,
|
||||
@@ -99,11 +90,79 @@ const getProcessConfigNodes = row => {
|
||||
});
|
||||
};
|
||||
|
||||
const hasAcceptProcessNode = row =>
|
||||
const isAcceptProcessNode = node => node.key === 'accept' || node.name === '接单';
|
||||
|
||||
const requiresDriverAcceptConfirmation = row =>
|
||||
getProcessConfigNodes(row).some(
|
||||
node => node.enabled !== false && (node.key === 'accept' || node.name === '接单')
|
||||
node =>
|
||||
isAcceptProcessNode(node) &&
|
||||
node.enabled !== false &&
|
||||
node.confirmMode === 'yes' &&
|
||||
node.confirmDriver === true
|
||||
);
|
||||
|
||||
const isDriverRejectedStatus = value => {
|
||||
if (value === null || value === undefined || typeof value === 'boolean') return false;
|
||||
return [
|
||||
'-1',
|
||||
'2',
|
||||
'reject',
|
||||
'rejected',
|
||||
'refuse',
|
||||
'refused',
|
||||
'decline',
|
||||
'declined',
|
||||
'deny',
|
||||
'denied',
|
||||
'拒绝',
|
||||
'已拒绝',
|
||||
'拒绝接单',
|
||||
'已拒绝接单',
|
||||
].includes(String(value).trim().toLowerCase());
|
||||
};
|
||||
|
||||
const hasDriverRejectRecord = row => {
|
||||
const rejectRecordValues = [
|
||||
row.driverRejectTime,
|
||||
row.driverRejectedTime,
|
||||
row.driverRefuseTime,
|
||||
row.acceptRejectTime,
|
||||
row.driverRejectReason,
|
||||
row.driverRefuseReason,
|
||||
row.acceptRejectReason,
|
||||
];
|
||||
if (rejectRecordValues.some(value => !isEmpty(value))) return true;
|
||||
|
||||
const driverStatusProps = [
|
||||
'driverAcceptStatus',
|
||||
'driverAccepted',
|
||||
'driverAccept',
|
||||
'accepted',
|
||||
'isAccepted',
|
||||
'acceptStatus',
|
||||
'driverResponseStatus',
|
||||
'driverOrderStatus',
|
||||
'driverAcceptResult',
|
||||
'acceptResult',
|
||||
];
|
||||
if (driverStatusProps.some(prop => isDriverRejectedStatus(row[prop]))) return true;
|
||||
|
||||
const nodeStatusProps = [
|
||||
...driverStatusProps,
|
||||
'confirmStatus',
|
||||
'executionStatus',
|
||||
'nodeStatus',
|
||||
'status',
|
||||
'result',
|
||||
];
|
||||
return getProcessConfigNodes(row)
|
||||
.filter(isAcceptProcessNode)
|
||||
.some(node => nodeStatusProps.some(prop => isDriverRejectedStatus(node[prop])));
|
||||
};
|
||||
|
||||
const isDriverRejectedWaybill = row =>
|
||||
requiresDriverAcceptConfirmation(row) && hasDriverRejectRecord(row);
|
||||
|
||||
const hasDriverAcceptRecord = row => {
|
||||
const recordValues = [
|
||||
row.driverAcceptTime,
|
||||
@@ -304,7 +363,7 @@ export const config = {
|
||||
formatStatus(row, prop, defaultText) {
|
||||
if (
|
||||
prop === 'businessStatus' &&
|
||||
hasAcceptProcessNode(row) &&
|
||||
requiresDriverAcceptConfirmation(row) &&
|
||||
isInProgressStatus(row, defaultText) &&
|
||||
!hasDriverAcceptRecord(row)
|
||||
) {
|
||||
@@ -313,12 +372,18 @@ export const config = {
|
||||
if (
|
||||
prop === 'businessStatus' &&
|
||||
row.businessStatus === 'pending' &&
|
||||
!requiresDriverAcceptConfirmation(row.processJson)
|
||||
!requiresDriverAcceptConfirmation(row)
|
||||
) {
|
||||
return '进行中';
|
||||
}
|
||||
return defaultText;
|
||||
},
|
||||
canReassign(row) {
|
||||
return isDriverRejectedWaybill(row);
|
||||
},
|
||||
canEdit(row) {
|
||||
return !isDriverRejectedWaybill(row);
|
||||
},
|
||||
deleteStatus: ['draft'],
|
||||
editStatus: ['draft', 'pending'],
|
||||
};
|
||||
|
||||
@@ -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 },
|
||||
];
|
||||
@@ -23,11 +23,7 @@ export const insuranceTypeDic = [
|
||||
{ label: '船舶险', value: '船舶险' },
|
||||
];
|
||||
|
||||
export const ocrTemplateDic = [
|
||||
{ label: '紫金-机动车交强险', value: '紫金-机动车交强险' },
|
||||
{ label: '机动车商业险', value: '机动车商业险' },
|
||||
{ label: '船舶保险', value: '船舶保险' },
|
||||
];
|
||||
export const ocrTemplateDic = [];
|
||||
|
||||
export const option = {
|
||||
height: 'auto',
|
||||
@@ -67,9 +63,14 @@ export const option = {
|
||||
prop: 'ocrTemplate',
|
||||
type: 'select',
|
||||
dicData: ocrTemplateDic,
|
||||
value: '紫金-机动车交强险',
|
||||
value: '',
|
||||
hide: true,
|
||||
display: true,
|
||||
addDisplay: true,
|
||||
editDisplay: true,
|
||||
viewDisplay: true,
|
||||
span: 12,
|
||||
rules: [{ required: true, message: '请选择OCR识别模板', trigger: 'change' }],
|
||||
},
|
||||
{
|
||||
label: '上传文件',
|
||||
|
||||
Reference in New Issue
Block a user