调整基础数据、车船务、项目、合同

This commit is contained in:
2026-09-03 22:40:11 +08:00
parent 024e77801e
commit c63c7c3e33
43 changed files with 821 additions and 239 deletions
+3
View File
@@ -26,6 +26,8 @@ export const getCargoTypeOption = ctx => ({
height: 'auto',
calcHeight: 22,
dialogWidth: 760,
// 货物类型弹窗单独使用样式,避免全局 Avue footer 上移遮挡底部备注字段
dialogCustomClass: 'cargo-type-dialog',
labelPosition: 'right',
labelWidth: 'auto',
tip: false,
@@ -172,6 +174,7 @@ export const getCargoTypeOption = ctx => ({
label: '备注',
prop: 'remark',
type: 'textarea',
formslot: true,
minRows: 2,
span: 24,
minWidth: 180,
+58 -36
View File
@@ -2,7 +2,6 @@ import {
auditColumns,
createCrudOption,
packageOptions,
priceUnitOptions,
textRule,
} from './common';
@@ -25,10 +24,42 @@ export const config = {
enableAllDept: false,
};
// 单价统一按两位小数展示;格式非法时保留原值,交由表单校验提示。
export const formatCargoValue = value => {
if (value === undefined || value === null) return '';
const raw = String(value).trim();
if (!raw || raw === '-1') return '';
if (!/^\d+(?:\.\d+)?$/.test(raw)) return raw;
const number = Number(raw);
return Number.isFinite(number) ? number.toFixed(2) : raw;
};
export const option = createCrudOption([
{
label: '一级货物类型',
prop: 'firstCargoTypeName',
formslot: true,
order: 60,
span: 12,
minWidth: 150,
editDisabled: true,
rules: [{ required: true, message: '请选择一级货物类型', trigger: 'change' }],
},
{
label: '二级货物类型',
prop: 'secondCargoTypeName',
formslot: true,
order: 59,
span: 12,
minWidth: 150,
editDisabled: true,
rules: [{ required: true, message: '请选择二级货物类型', trigger: 'change' }],
},
{
label: '货物名称',
prop: 'cargoName',
order: 50,
span: 12,
minWidth: 150,
placeholder: '请输入',
rules: textRule('货物名称', 100, true),
@@ -37,6 +68,8 @@ export const option = createCrudOption([
label: '货物编号',
prop: 'cargoCode',
formslot: true,
order: 49,
span: 12,
minWidth: 120,
maxlength: 20,
showWordLimit: true,
@@ -45,14 +78,6 @@ export const option = createCrudOption([
{ max: 20, message: '货物编号不能超过20个字符', trigger: 'blur' },
],
},
{
label: '一级货物类型',
prop: 'firstCargoTypeName',
formslot: true,
minWidth: 150,
editDisabled: true,
rules: [{ required: true, message: '请选择一级货物类型', trigger: 'change' }],
},
{
label: '一级货物类型编码',
prop: 'firstCargoTypeCode',
@@ -61,14 +86,6 @@ export const option = createCrudOption([
addDisplay: false,
editDisabled: true,
},
{
label: '二级货物类型',
prop: 'secondCargoTypeName',
formslot: true,
minWidth: 150,
editDisabled: true,
rules: [{ required: true, message: '请选择二级货物类型', trigger: 'change' }],
},
{
label: '二级货物类型编码',
prop: 'secondCargoTypeCode',
@@ -174,12 +191,16 @@ export const option = createCrudOption([
prop: 'packageType',
type: 'select',
dicData: packageOptions,
order: 39,
span: 12,
minWidth: 100,
},
{
label: '品牌',
prop: 'brand',
search: false,
order: 40,
span: 12,
minWidth: 120,
placeholder: '请输入',
rules: textRule('品牌', 50),
@@ -187,22 +208,18 @@ export const option = createCrudOption([
{
label: '规格',
prop: 'specification',
order: 29,
span: 12,
minWidth: 120,
placeholder: '请输入',
rules: textRule('规格', 50),
},
{
label: '型号',
prop: 'model',
minWidth: 120,
placeholder: '请输入',
rules: textRule('型号', 50),
},
{
label: '单价',
label: '货值',
prop: 'cargoValue',
formslot: true,
formatter: row => (String(row.cargoValue) === '-1' ? '' : row.cargoValue),
order: 30,
formatter: row => formatCargoValue(row.cargoValue),
minWidth: 120,
rules: [
{
@@ -225,10 +242,19 @@ export const option = createCrudOption([
label: '计价单位',
prop: 'priceUnit',
type: 'select',
dicData: priceUnitOptions,
dicData: [],
display: false,
minWidth: 120,
},
{
label: '型号',
prop: 'model',
order: 19,
span: 12,
minWidth: 120,
placeholder: '请输入',
rules: textRule('型号', 50, true),
},
{
label: '尺寸',
prop: 'sizeText',
@@ -238,23 +264,19 @@ export const option = createCrudOption([
rules: textRule('尺寸', 100),
},
{
label: '其他说明1',
label: '说明',
prop: 'descriptionOne',
order: 20,
span: 12,
minWidth: 160,
placeholder: '请输入',
rules: textRule('其他说明1', 100),
},
{
label: '其他说明2',
prop: 'descriptionTwo',
minWidth: 160,
placeholder: '请输入',
rules: textRule('其他说明2', 100),
rules: textRule('说明', 100),
},
{
label: '备注',
prop: 'remark',
type: 'textarea',
order: 10,
minRows: 2,
span: 24,
maxlength: 200,
-1
View File
@@ -138,7 +138,6 @@ export const option = {
searchPlaceholder: '请选择',
dicData: processStatusOptions,
slot: true,
hide: true,
fixed: 'right',
minWidth: 100,
addDisplay: false,
+13
View File
@@ -268,6 +268,19 @@ export const option = {
],
};
export const exportColumns = [
{ prop: 'vehicleType', label: '车船类型' },
{ prop: 'vehicleNo', label: '车牌号/船号' },
{ prop: 'accidentDate', label: '事故发生日期' },
{ prop: 'accidentLocation', label: '事故发生地点' },
{ prop: 'accidentNature', label: '事故性质' },
{ prop: 'accidentResponsibility', label: '事故责任' },
{ prop: 'directEconomicLoss', label: '直接经济损失' },
{ prop: 'insuranceClaimAmount', label: '保险理赔金额' },
{ prop: 'accidentReasonDamage', label: '事故原因及损坏情况' },
{ prop: 'remark', label: '备注' },
];
export const excelOption = {
labelPosition: 'right',
submitBtn: false,
@@ -278,6 +278,20 @@ export const option = {
],
};
export const exportColumns = [
{ prop: 'vehicleType', label: '车船类型' },
{ prop: 'vehicleNo', label: '车牌号/船号' },
{ prop: 'inspectionAssessmentDate', label: '检测评定日期' },
{ prop: 'validUntilDate', label: '有效期截止日' },
{ prop: 'vehicleTechnicalLevel', label: '车辆技术等级' },
{ prop: 'shipInspectionType', label: '船舶检验类型' },
{ prop: 'passengerTypeLevel', label: '客车类型及等级' },
{ prop: 'inspectionUnit', label: '检测评定单位' },
{ prop: 'fee', label: '费用(元)' },
{ prop: 'assessmentUnit', label: '评定(复核)单位' },
{ prop: 'remark', label: '备注' },
];
export const excelOption = {
labelPosition: 'right',
submitBtn: false,
+13
View File
@@ -211,6 +211,19 @@ export const option = {
],
};
export const exportColumns = [
{ prop: 'vehicleType', label: '车船类型' },
{ prop: 'vehicleNo', label: '车牌号/船号' },
{ prop: 'equipmentCode', label: '设备号' },
{ prop: 'equipmentName', label: '设备名称' },
{ prop: 'factoryDate', label: '出厂日期' },
{ prop: 'equipmentBrand', label: '设备品牌' },
{ prop: 'equipmentType', label: '设备类型' },
{ prop: 'specificationModel', label: '规格型号' },
{ prop: 'remark', label: '备注' },
{ prop: 'originalEquipmentNo', label: '原厂设备号' },
];
export const excelOption = {
labelPosition: 'right',
submitBtn: false,
+12
View File
@@ -206,6 +206,18 @@ export const option = {
],
};
export const exportColumns = [
{ prop: 'vehicleNo', label: '车牌号' },
{ prop: 'entryTime', label: '入口时间' },
{ prop: 'etcCardNo', label: 'ETC卡号' },
{ prop: 'exitTime', label: '出口时间' },
{ prop: 'entryStation', label: '入口站' },
{ prop: 'transactionAmount', label: '交易金额' },
{ prop: 'exitStation', label: '出口站' },
{ prop: 'dataSource', label: '数据来源' },
{ prop: 'remark', label: '备注' },
];
export const excelOption = {
labelPosition: 'right',
submitBtn: false,
+14
View File
@@ -240,6 +240,20 @@ export const option = {
],
};
export const exportColumns = [
{ prop: 'vehicleType', label: '车船类型' },
{ prop: 'vehicleNo', label: '车牌号/船号' },
{ prop: 'insuranceType', label: '保险类型' },
{ prop: 'policyNo', label: '保单号' },
{ prop: 'startDate', label: '开始日期' },
{ prop: 'endDate', label: '结束日期' },
{ prop: 'insuredAmount', label: '保额' },
{ prop: 'premium', label: '保费' },
{ prop: 'invoiceNo', label: '发票号' },
{ prop: 'invoiceDate', label: '开票日期' },
{ prop: 'remark', label: '备注' },
];
export const excelOption = {
labelPosition: 'right',
submitBtn: false,
+9
View File
@@ -199,6 +199,15 @@ export const option = {
],
};
export const exportColumns = [
{ prop: 'vehicleNo', label: '车牌号' },
{ prop: 'previousMonthMileage', label: '上月统计里程数' },
{ prop: 'currentMonthMileage', label: '本月统计里程数' },
{ prop: 'monthlyMileage', label: '本月行驶里程数' },
{ prop: 'totalMileage', label: '累计行驶里程数' },
{ prop: 'remark', label: '备注' },
];
export const excelOption = {
labelPosition: 'right',
submitBtn: false,
+17
View File
@@ -287,6 +287,23 @@ export const option = {
],
};
export const exportColumns = [
{ prop: 'cardNo', label: '卡号' },
{ prop: 'transactionTime', label: '交易时间' },
{ prop: 'vehicleType', label: '车船类型' },
{ prop: 'feeType', label: '费用类型' },
{ prop: 'oilProduct', label: '油品' },
{ prop: 'vehicleNo', label: '车牌号/船号' },
{ prop: 'cardHolder', label: '持卡人' },
{ prop: 'dataSource', label: '数据来源' },
{ prop: 'quantity', label: '数量' },
{ prop: 'unitPrice', label: '单价' },
{ prop: 'transactionAmount', label: '交易金额' },
{ prop: 'balance', label: '余额' },
{ prop: 'station', label: '站点' },
{ prop: 'remark', label: '备注' },
];
export const excelOption = {
labelPosition: 'right',
submitBtn: false,
@@ -209,6 +209,16 @@ export const option = {
],
};
export const exportColumns = [
{ prop: 'vehicleType', label: '车船类型' },
{ prop: 'vehicleNo', label: '车牌号/船号' },
{ prop: 'expenseDate', label: '费用日期' },
{ prop: 'expenseType', label: '费用类型' },
{ prop: 'amount', label: '金额' },
{ prop: 'dataSource', label: '数据来源' },
{ prop: 'remark', label: '备注' },
];
export const excelOption = {
labelPosition: 'right',
submitBtn: false,
@@ -206,6 +206,17 @@ export const option = {
],
};
export const exportColumns = [
{ prop: 'vehicleNo', label: '车牌号' },
{ prop: 'handler', label: '处理人' },
{ prop: 'replacementTime', label: '换胎时间' },
{ prop: 'tireBrand', label: '轮胎品牌' },
{ prop: 'tireQuantity', label: '换胎数量' },
{ prop: 'replacementCost', label: '换胎费用' },
{ prop: 'replacementDescription', label: '换胎说明' },
{ prop: 'remark', label: '备注' },
];
export const excelOption = {
labelPosition: 'right',
submitBtn: false,
@@ -161,6 +161,14 @@ export const option = {
],
};
export const exportColumns = [
{ prop: 'vehicleType', label: '车船类型' },
{ prop: 'vehicleNo', label: '车牌号/船号' },
{ prop: 'changeItem', label: '变更事项' },
{ prop: 'changeContent', label: '变更内容' },
{ prop: 'remark', label: '备注' },
];
export const excelOption = {
labelPosition: 'right',
submitBtn: false,
+17 -1
View File
@@ -173,7 +173,7 @@ export const option = {
prop: 'processStatus',
type: 'radio',
dicData: processStatusDic,
value: '处理',
value: '处理',
search: true,
clearable: true,
minWidth: 120,
@@ -278,6 +278,22 @@ export const option = {
],
};
export const exportColumns = [
{ prop: 'vehicleType', label: '车船类型' },
{ prop: 'vehicleNo', label: '车牌号/船号' },
{ prop: 'driverName', label: '驾驶人' },
{ prop: 'violationType', label: '类型' },
{ prop: 'violationItem', label: '事项' },
{ prop: 'violationTime', label: '日期' },
{ prop: 'location', label: '地点' },
{ prop: 'fineAmount', label: '罚款' },
{ prop: 'deductPoints', label: '被扣分数' },
{ prop: 'penaltyUnit', label: '被罚单位' },
{ prop: 'processStatus', label: '状态' },
{ prop: 'processDescription', label: '过程描述' },
{ prop: 'processResult', label: '处理结果' },
];
export const excelOption = {
labelPosition: 'right',
submitBtn: false,