Merge remote-tracking branch 'websoft/master'

# Conflicts:
#	src/views/business/components/business-crud-page.vue
#	src/views/business/contract-manage.vue
#	src/views/settlement/components/pre-settlement-editor.vue
#	src/views/settlement/formal-settlement.vue
This commit is contained in:
2026-08-22 21:12:26 +08:00
31 changed files with 1098 additions and 616 deletions
-19
View File
@@ -21,13 +21,6 @@ export const config = {
export const option = {
...createCrudOption([
{
label: '',
prop: 'basicInfo',
formslot: true,
span: 24,
hide: true,
},
{
label: '配置名称',
prop: 'configName',
@@ -167,22 +160,10 @@ export const option = {
dicData: [],
filterable: true,
},
{
label: '',
prop: 'nodeConfigJson',
formslot: true,
span: 24,
hide: true,
},
]),
saveBtn: false,
updateBtn: false,
addBtn: false,
viewBtn: false,
editBtn: false,
delBtn: false,
dialogTop: '4vh',
dialogWidth: '96%',
dialogCustomClass: 'process-config-dialog',
menuWidth: 220,
};
+2
View File
@@ -275,6 +275,8 @@ export const option = {
),
dialogWidth: '92%',
dialogTop: '4vh',
// label 宽度一致(容纳 6 汉字,超出换行由全局样式控制),右对齐由 labelPosition: 'right' 保证
labelWidth: 100,
// 自定义弹窗 class,用于让新增/编辑弹窗体占满视口高度、视觉居中(参照 vehicle/customer-archive
dialogCustomClass: 'shipping-template-dialog',
};
+39 -9
View File
@@ -45,6 +45,36 @@ export const config = {
editStatus: ['draft', 'withdrawn', 'rejected', '草稿', '已撤回'],
ignoreReadonlyEditStatus: ['draft', 'withdrawn', '草稿', '已撤回'],
ignoreReadonlyDeleteStatus: ['draft', '草稿'],
detailButton: true,
detailButtonIgnoreDraftStatus: true,
detailAlignCenter: true,
detailSections: [
{
title: '申请信息',
fields: [
['applicationNo', '申请单号', 2],
['projectName', '项目', 1],
['projectCode', '项目编号', 1],
['undertakeDeptName', '承办部门', 1],
['applyDeptName', '申请部门', 1],
['applicantName', '申请人', 1],
['approvalStatus', '审批状态', 1],
['currentNode', '当前节点', 1],
['currentProcessor', '当前处理人', 1],
['validUntil', '申请有效期至', 1],
['remark', '备注', 2],
],
},
{
title: '额度信息',
fields: [
['projectFundLimit', '项目资金使用额度(万元)', 1],
['usedFundLimit', '已使用项目资金使用额度(万元)', 1],
['remainingFundLimit', '剩余项目资金使用额度(万元)', 1],
['applyLimit', '申请临时额度(万元)', 1],
],
},
],
operations: [
{
action: 'submitApproval',
@@ -113,7 +143,7 @@ export const option = {
value: 'projectName',
},
filterable: true,
span: 8,
span: 6,
minWidth: 180,
rules: textRule('项目名称', 100, true),
},
@@ -128,7 +158,7 @@ export const option = {
prop: 'projectCode',
hide: true,
disabled: true,
span: 8,
span: 6,
minWidth: 150,
rules: textRule('项目编号', 50),
},
@@ -137,7 +167,7 @@ export const option = {
prop: 'undertakeDeptName',
hide: true,
disabled: true,
span: 8,
span: 6,
minWidth: 150,
rules: textRule('承办部门', 50, true),
},
@@ -146,7 +176,7 @@ export const option = {
prop: 'projectFundLimit',
hide: true,
disabled: true,
span: 8,
span: 6,
minWidth: 200,
rules: [nonNegativeRule('项目资金使用额度')],
},
@@ -155,7 +185,7 @@ export const option = {
prop: 'usedFundLimit',
hide: true,
disabled: true,
span: 8,
span: 6,
minWidth: 220,
value: 0,
rules: [nonNegativeRule('已使用项目资金额度')],
@@ -165,7 +195,7 @@ export const option = {
prop: 'remainingFundLimit',
hide: true,
disabled: true,
span: 8,
span: 6,
minWidth: 230,
value: 0,
rules: [nonNegativeRule('剩余项目资金使用额度')],
@@ -174,7 +204,7 @@ export const option = {
label: '申请临时额度(万元)',
prop: 'applyLimit',
formslot: true,
span: 8,
span: 6,
minWidth: 180,
rules: [
{ required: true, message: '请输入申请临时额度', trigger: 'blur' },
@@ -187,7 +217,7 @@ export const option = {
type: 'date',
format: 'YYYY-MM-DD',
valueFormat: 'YYYY-MM-DD',
span: 8,
span: 6,
minWidth: 140,
rules: [{ required: true, message: '请选择申请有效期至', trigger: 'change' }],
},
@@ -274,7 +304,7 @@ export const option = {
},
...auditColumns.map(column => ({ ...column, hide: true })),
]),
dialogWidth: 1400,
dialogWidth: '96%',
menuFixed: 'right',
menuWidth: 320,
index: false,
+2
View File
@@ -605,6 +605,8 @@ export const option = {
},
])
),
// label 固定宽度(容纳 6 汉字),覆盖 createCrudOption 默认 labelWidth:'auto'
labelWidth: 100,
dialogWidth: '96%',
dialogTop: '4vh',
dialogCustomClass: 'transport-plan-dialog',
+2
View File
@@ -999,6 +999,8 @@ export const option = {
},
])
),
// label 固定宽度(容纳 6 汉字),覆盖 createCrudOption 默认 labelWidth:'auto'
labelWidth: 100,
dialogWidth: '96%',
dialogTop: '4vh',
menuWidth: 280,
+1 -1
View File
@@ -13,7 +13,7 @@ export const preSettlementFormFields = [
{ label: '结算类型', prop: 'settlementType', readonly: true },
{ label: '结算金额', prop: 'settlementAmount', readonly: true, money: true },
{ label: '汇率日期', prop: 'exchangeRateDate', type: 'date' },
{ label: '结算汇率', prop: 'exchangeRate', type: 'number' },
{ label: '结算汇率', prop: 'exchangeRate', type: 'number', class: 'exchange-rate-input' },
{ label: '本位币合计', prop: 'localSettlementAmount', readonly: true, money: true },
{ label: '创建人', prop: 'createUserName', readonly: true },
{ label: '创建日期', prop: 'createTime', readonly: true },
@@ -42,11 +42,11 @@ export const tableColumns = [
{ label: '运输类型', prop: 'transportType', minWidth: 120 },
{ label: '货物名称', prop: 'cargoName', minWidth: 130 },
{ label: '货物类型', prop: 'cargoType', minWidth: 120 },
{ label: '运输总量', prop: 'transportQuantity', minWidth: 120, align: 'right' },
{ label: '里程(KM', prop: 'mileage', minWidth: 120, align: 'right' },
{ label: '运输总量', prop: 'transportQuantity', minWidth: 120 },
{ label: '里程(KM', prop: 'mileage', minWidth: 120 },
{ label: '批次号', prop: 'batchNo', minWidth: 120 },
{ label: '运输单价', prop: 'unitPriceText', minWidth: 120, align: 'right' },
{ label: '费用合计', prop: 'totalAmountText', minWidth: 130, align: 'right' },
{ label: '运输单价', prop: 'unitPriceText', minWidth: 120 },
{ label: '费用合计', prop: 'totalAmountText', minWidth: 130 },
{ label: '状态', prop: 'settlementStatusName', minWidth: 120 },
{ label: '创建人', prop: 'createUserName', minWidth: 120 },
{ label: '创建时间', prop: 'createTime', minWidth: 170 },
@@ -61,15 +61,16 @@ export const feeDetailBaseColumns = [
{ label: '运费计费类型', prop: 'billingType', minWidth: 130 },
{ label: '运输量', prop: 'transportQuantityText', minWidth: 120 },
{ label: '运费计算单位', prop: 'priceUnit', minWidth: 130 },
{ label: '运输单价', prop: 'unitPrice', minWidth: 120, align: 'right' },
{ label: '里程(KM', prop: 'mileage', minWidth: 120, align: 'right' },
{ label: '运输费', prop: 'freightAmount', minWidth: 120, align: 'right' },
{ label: '运输单价', prop: 'unitPrice', minWidth: 120 },
{ label: '里程(KM', prop: 'mileage', minWidth: 120 },
{ label: '运输费', prop: 'freightAmount', minWidth: 180 }
];
export const feeDetailTailColumns = [
{ label: '原总金额', prop: 'originalAmountText', minWidth: 120, align: 'right' },
{ label: '调整金额', prop: 'adjustAmountText', minWidth: 120, align: 'right' },
{ label: '调整后总金额', prop: 'afterAmountText', minWidth: 140, align: 'right' },
{ label: '原总金额', prop: 'originalAmountText', minWidth: 120 },
{ label: '调整金额', prop: 'adjustAmountText', minWidth: 120 },
{ label: '调整后总金额', prop: 'afterAmountText', minWidth: 140 },
{ label: '备注', prop: 'remark', minWidth: 160 },
{ label: '最后录入人', prop: 'updateUserName', minWidth: 120 },
{ label: '最后录入时间', prop: 'updateTime', minWidth: 170 },
@@ -116,10 +117,10 @@ export const generateWaybillColumns = [
{ 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: 'unitPrice', minWidth: 110 },
{ label: '运费', prop: 'freight', minWidth: 110 },
{ label: '其他费用合计', prop: 'otherFeeTotal', minWidth: 140 },
{ label: '运费合计', prop: 'freightTotal', minWidth: 120 },
{ label: '客户合同', prop: 'contractName', minWidth: 160 },
{ label: '发货计划', prop: 'planName', minWidth: 140 },
{ label: '运输批次', prop: 'batchNo', minWidth: 140 },
@@ -1,6 +1,6 @@
export const settlementAdjustmentFormFields = [
{ label: '单据号', prop: 'adjustmentNo' },
{ label: '* 关联结算单号', prop: 'formalSettlementId' },
{ label: '关联结算单号', prop: 'formalSettlementId' },
{ label: '客户/客商名称', prop: 'customerName' },
{ label: '结算单类型', prop: 'settlementTypeName' },
{ label: '关联合同名称', prop: 'contractName' },