Files
tms-erp-web/src/option/base/common-address.js
T
2026-08-07 13:36:51 +08:00

335 lines
7.9 KiB
JavaScript

export const addressTypeOptions = [
{ label: '常规地址', value: '常规地址' },
{ label: '港口/码头', value: '港口/码头' },
{ label: '铁路车站', value: '铁路车站' },
{ label: '空港机场', value: '空港机场' },
];
export const createOption = () => ({
height: 'auto',
calcHeight: 32,
dialogWidth: 980,
labelPosition: 'right',
labelWidth: 'auto',
tip: false,
searchShow: true,
searchMenuSpan: 24,
searchIcon: true,
searchIndex: 4,
searchMenuPosition: 'right',
border: true,
index: true,
indexLabel: '序号',
indexWidth: 70,
selection: true,
viewBtn: false,
editBtn: false,
delBtn: false,
addBtn: false,
dialogClickModal: false,
menuFixed: 'right',
menuWidth: 180,
column: [
{
label: '地址名称',
prop: 'addressName',
span: 24,
minWidth: 150,
showOverflowTooltip: true,
placeholder: '请输入',
maxlength: 100,
showWordLimit: true,
rules: [
{ required: true, message: '请输入地址名称', trigger: 'blur' },
{ max: 100, message: '地址名称不能超过100个字', trigger: 'blur' },
],
},
{
label: '地址编号',
prop: 'addressCode',
minWidth: 120,
addDisplay: false,
editDisplay: false,
},
{
label: '类型',
prop: 'addressType',
type: 'select',
formslot: true,
span: 24,
minWidth: 140,
dicData: addressTypeOptions,
rules: [{ required: true, message: '请选择类型', trigger: 'change' }],
},
{
label: '站点编码',
prop: 'siteCodeDisplay',
search: false,
minWidth: 120,
addDisplay: false,
editDisplay: false,
},
{
label: '详细地址',
prop: 'detailAddress',
formslot: true,
type: 'textarea',
minRows: 3,
span: 24,
minWidth: 220,
showOverflowTooltip: true,
rules: [
{ required: true, message: '请输入详细地址', trigger: 'blur' },
{ max: 255, message: '详细地址不能超过255个字', trigger: 'blur' },
],
},
{
label: '经度',
prop: 'longitude',
minWidth: 120,
addDisplay: false,
editDisplay: false,
viewDisplay: false,
},
{
label: '纬度',
prop: 'latitude',
minWidth: 120,
addDisplay: false,
editDisplay: false,
viewDisplay: false,
},
{
label: '行政区划',
prop: 'regionName',
display: false,
minWidth: 150,
rules: [{ required: true, message: '请选择行政区划', trigger: 'change' }],
},
{
label: '联系人',
prop: 'contactName',
minWidth: 110,
placeholder: '请输入',
maxlength: 50,
rules: [{ max: 50, message: '联系人不能超过50个字', trigger: 'blur' }],
},
{
label: '联系方式',
prop: 'contactPhone',
minWidth: 130,
placeholder: '请输入',
maxlength: 20,
formslot: true,
rules: [
{ max: 20, message: '联系方式不能超过20个字', trigger: 'blur' },
{ pattern: /^\d*$/, message: '联系方式只能输入数字', trigger: 'blur' },
],
},
{
label: '组织',
prop: 'deptName',
minWidth: 150,
addDisplay: false,
editDisplay: false,
},
{
label: '备注',
prop: 'remark',
type: 'textarea',
minRows: 4,
span: 24,
minWidth: 160,
overHidden: true,
showOverflowTooltip: true,
placeholder: '请输入',
maxlength: 200,
showWordLimit: true,
rules: [{ max: 200, message: '备注不能超过200个字', trigger: 'blur' }],
},
{
label: '更新时间',
prop: 'updateTime',
type: 'datetime',
format: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'YYYY-MM-DD HH:mm:ss',
width: 180,
addDisplay: false,
editDisplay: false,
},
{
label: '创建时间',
prop: 'createTime',
type: 'datetime',
format: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'YYYY-MM-DD HH:mm:ss',
width: 180,
addDisplay: false,
editDisplay: false,
},
{
label: '港口',
prop: 'portId',
formslot: true,
hide: true,
display: false,
span: 12,
rules: [{ required: true, message: '请选择港口', trigger: 'change' }],
},
{
label: '码头',
prop: 'terminalId',
formslot: true,
hide: true,
display: false,
span: 12,
rules: [{ required: true, message: '请选择码头', trigger: 'change' }],
},
{
label: '车站名称',
prop: 'stationId',
formslot: true,
hide: true,
display: false,
span: 24,
rules: [{ required: true, message: '请选择车站名称', trigger: 'change' }],
},
{
label: '机场标准名称',
prop: 'airportId',
formslot: true,
hide: true,
display: false,
span: 24,
rules: [{ required: true, message: '请选择机场标准名称', trigger: 'change' }],
},
{
label: '站点编码',
prop: 'siteCode',
hide: true,
addDisplay: false,
editDisplay: false,
},
{
label: '组织',
prop: 'deptId',
type: 'select',
hide: true,
display: false,
dicData: [],
},
// 搜索字段与表格、表单字段独立,避免筛选配置影响数据展示和编辑布局。
{
label: '地址名称',
prop: 'searchAddressName',
searchProp: 'addressName',
search: true,
searchOrder: 8,
searchPlaceholder: '请输入',
hide: true,
display: false,
addDisplay: false,
editDisplay: false,
viewDisplay: false,
},
{
label: '类型',
prop: 'searchAddressType',
searchProp: 'addressType',
type: 'select',
searchType: 'select',
search: true,
searchOrder: 7,
searchPlaceholder: '请选择',
dicData: addressTypeOptions,
hide: true,
display: false,
addDisplay: false,
editDisplay: false,
viewDisplay: false,
},
{
label: '详细地址',
prop: 'searchDetailAddress',
searchProp: 'detailAddress',
search: true,
searchOrder: 6,
searchPlaceholder: '请输入',
hide: true,
display: false,
addDisplay: false,
editDisplay: false,
viewDisplay: false,
},
{
label: '行政区划',
prop: 'searchRegionName',
searchProp: 'regionName',
search: true,
searchOrder: 5,
searchPlaceholder: '请输入',
hide: true,
display: false,
addDisplay: false,
editDisplay: false,
viewDisplay: false,
},
{
label: '站点编码',
prop: 'searchSiteCode',
searchProp: 'siteCode',
search: true,
searchOrder: 4,
searchPlaceholder: '请输入',
hide: true,
display: false,
addDisplay: false,
editDisplay: false,
viewDisplay: false,
},
{
label: '组织',
prop: 'searchDeptId',
searchProp: 'deptId',
type: 'select',
searchType: 'select',
search: true,
searchOrder: 3,
searchPlaceholder: '请选择',
dicData: [],
filterable: true,
hide: true,
display: false,
addDisplay: false,
editDisplay: false,
viewDisplay: false,
},
{
label: '联系人',
prop: 'searchContactName',
searchProp: 'contactName',
search: true,
searchOrder: 2,
searchPlaceholder: '请输入',
hide: true,
display: false,
addDisplay: false,
editDisplay: false,
viewDisplay: false,
},
{
label: '联系方式',
prop: 'searchContactPhone',
searchProp: 'contactPhone',
search: true,
searchOrder: 1,
searchPlaceholder: '请输入',
hide: true,
display: false,
addDisplay: false,
editDisplay: false,
viewDisplay: false,
},
],
});