截止‘运力管理’模块

This commit is contained in:
2026-07-20 11:26:51 +08:00
parent e66b4a3680
commit c6dffb5d97
98 changed files with 19429 additions and 176 deletions

View File

@@ -0,0 +1,284 @@
import { formatUpdateUserName } from '@/utils/audit';
const validateNonNegative = (rule, value, callback) => {
if (value === undefined || value === null || value === '') {
callback();
} else if (Number(value) < 0) {
callback(new Error('不能小于 0'));
} else {
callback();
}
};
export const vehicleTypeDic = [
{ label: '车辆', value: '车辆' },
{ label: '船舶', value: '船舶' },
];
export const vehicleTechnicalLevelDic = [
{ label: '一级', value: '一级' },
{ label: '二级', value: '二级' },
{ label: '三级', value: '三级' },
{ label: '其他', value: '其他' },
];
export const shipInspectionTypeDic = [
{ label: '年检', value: '年检' },
{ label: '中检', value: '中检' },
{ label: '特检', value: '特检' },
{ label: '其他', value: '其他' },
];
export const option = {
height: 'auto',
calcHeight: 32,
dialogWidth: 1050,
labelPosition: 'top',
tip: false,
searchShow: true,
searchMenuSpan: 6,
border: true,
index: true,
viewBtn: true,
selection: true,
dialogClickModal: false,
menuWidth: 180,
column: [
{
label: '车船类型',
prop: 'vehicleType',
type: 'radio',
minWidth: 110,
dicData: vehicleTypeDic,
value: '车辆',
search: true,
rules: [{ required: true, message: '请选择车船类型', trigger: 'change' }],
},
{
label: '车牌号/船号',
prop: 'vehicleNo',
slot: true,
formslot: true,
search: true,
minWidth: 140,
rules: [
{ required: true, message: '请输入车牌号/船号', trigger: 'blur' },
{ max: 30, message: '最多 30 个字符', trigger: 'blur' },
],
},
{
label: '检测评定日期',
prop: 'inspectionAssessmentDate',
type: 'date',
format: 'YYYY-MM-DD',
valueFormat: 'YYYY-MM-DD',
minWidth: 140,
rules: [{ required: true, message: '请选择检测评定日期', trigger: 'click' }],
},
{
label: '有效期截止日',
prop: 'validUntilDate',
type: 'date',
format: 'YYYY-MM-DD',
valueFormat: 'YYYY-MM-DD',
minWidth: 140,
rules: [{ required: true, message: '请选择有效期截止日', trigger: 'click' }],
},
{
label: '车辆技术等级',
prop: 'vehicleTechnicalLevel',
type: 'select',
dicData: vehicleTechnicalLevelDic,
minWidth: 130,
rules: [{ required: true, message: '请选择车辆技术等级', trigger: 'change' }],
},
{
label: '船舶检验类型',
prop: 'shipInspectionType',
type: 'select',
dicData: shipInspectionTypeDic,
display: false,
minWidth: 130,
rules: [{ required: true, message: '请选择船舶检验类型', trigger: 'change' }],
},
{
label: '客车类型及等级',
prop: 'passengerTypeLevel',
minWidth: 150,
hide: true,
rules: [{ max: 50, message: '最多 50 个字符', trigger: 'blur' }],
},
{
label: '检测评定单位',
prop: 'inspectionUnit',
minWidth: 160,
rules: [{ max: 50, message: '最多 50 个字符', trigger: 'blur' }],
},
{
label: '费用',
prop: 'fee',
type: 'number',
precision: 2,
minWidth: 100,
rules: [
{ required: true, message: '请输入费用', trigger: 'blur' },
{ validator: validateNonNegative, trigger: 'blur' },
],
},
{
label: '评定(复核)单位',
prop: 'assessmentUnit',
minWidth: 160,
hide: true,
rules: [{ max: 50, message: '最多 50 个字符', trigger: 'blur' }],
},
{
label: '备注',
prop: 'remark',
type: 'textarea',
minRows: 3,
span: 24,
hide: true,
rules: [{ max: 200, message: '最多 200 个字符', trigger: 'blur' }],
},
{
label: '附件',
prop: 'attachments',
type: 'upload',
listType: 'text',
multiple: true,
accept: '.jpg,.jpeg,.png,.pdf',
propsHttp: {
res: 'data',
url: 'link',
name: 'name',
},
action: '/blade-resource/oss/endpoint/put-file',
span: 24,
minWidth: 100,
slot: true,
},
{
label: '检测评定开始日期',
prop: 'inspectionAssessmentDateStart',
type: 'date',
format: 'YYYY-MM-DD',
valueFormat: 'YYYY-MM-DD',
search: true,
hide: true,
addDisplay: false,
editDisplay: false,
viewDisplay: false,
},
{
label: '检测评定结束日期',
prop: 'inspectionAssessmentDateEnd',
type: 'date',
format: 'YYYY-MM-DD',
valueFormat: 'YYYY-MM-DD',
search: true,
hide: true,
addDisplay: false,
editDisplay: false,
viewDisplay: false,
},
{
label: '创建时间',
prop: 'createTime',
type: 'date',
format: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'YYYY-MM-DD HH:mm:ss',
addDisplay: false,
editDisplay: false,
viewDisplay: false,
display: false,
minWidth: 170,
},
{
label: '创建开始时间',
prop: 'createTimeStart',
type: 'date',
format: 'YYYY-MM-DD 00:00:00',
valueFormat: 'YYYY-MM-DD 00:00:00',
search: true,
hide: true,
addDisplay: false,
editDisplay: false,
viewDisplay: false,
},
{
label: '创建结束时间',
prop: 'createTimeEnd',
type: 'date',
format: 'YYYY-MM-DD 23:59:59',
valueFormat: 'YYYY-MM-DD 23:59:59',
search: true,
hide: true,
addDisplay: false,
editDisplay: false,
viewDisplay: false,
},
{
label: '组织',
prop: 'createDept',
type: 'tree',
dicData: [],
props: {
label: 'title',
value: 'id',
},
checkStrictly: true,
search: true,
hide: true,
addDisplay: false,
editDisplay: false,
viewDisplay: false,
},
{
label: '更新人',
prop: 'updateUserName',
formatter: formatUpdateUserName,
addDisplay: false,
editDisplay: false,
display: false,
minWidth: 180,
},
{
label: '更新时间',
prop: 'updateTime',
type: 'datetime',
format: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'YYYY-MM-DD HH:mm:ss',
addDisplay: false,
editDisplay: false,
display: false,
minWidth: 170,
},
],
};
export const excelOption = {
submitBtn: false,
emptyBtn: false,
column: [
{
label: '模板上传',
prop: 'excelFile',
type: 'upload',
drag: true,
loadText: '模板上传中,请稍等',
span: 24,
propsHttp: {
res: 'data',
},
tip: '请上传 .xls,.xlsx 标准格式文件',
action: '/blade-transport/annual-inspection-record/import-annual-inspection-record',
},
{
label: '模板下载',
prop: 'excelTemplate',
formslot: true,
span: 24,
},
],
};