3bb0fddcca
- transportCapacity/driver、vehicle、ship 页的「全部/30天内到期/已到期」筛选标签改为靠右对齐 - 统一使用 #search-menu 插槽替代 #expireStatus-search,标签移至搜索按钮前 - 标签容器删除宽度限制,增加 order:-1 和 margin-right:12px,保证标签和按钮为一体 - transportCapacity/vehicle 和 ship 的 expireStatus 列 search 改为 false,避免多余输入框出现 - transportCapacity/vehicle、ship 的 searchIndex 提升至6,避免搜索条件折叠,标签默认展开 - 暂用样式更改保证标签与搜索按钮间距和垂直对齐 - temporary-credit-limit 弹窗新增 dialogCustomClass,实现弹窗label固定六字宽度并自动换行 - element-ui.scss 新增临时额度弹窗 label 样式,修改label宽度、换行、对齐,提升可读性 - 调整多处搜索表单内 label 宽度由160px变为88px,优化表单紧凑度 - 多处文本域的最小行数 minRows 统一由较高数值改为2,改善表单布局和输入体验 - 更新 vite.config.mjs 开发服务器端口及代理配置,切换至本地测试环境 - waybill-import-dialog.vue 中修正文本域 autosize 最小行数为2,更符合表单设计规范 - 修改业务页 contract-manage.vue 菜单宽度由245px调整至252px,优化界面布局
233 lines
5.5 KiB
JavaScript
233 lines
5.5 KiB
JavaScript
import { formatUpdateUserName } from '@/utils/audit';
|
|
|
|
const isEmpty = value => value === undefined || value === null || value === '';
|
|
|
|
const validateNonNegative = (rule, value, callback) => {
|
|
if (isEmpty(value)) {
|
|
callback();
|
|
} else if (Number(value) < 0) {
|
|
callback(new Error('不能小于 0'));
|
|
} else {
|
|
callback();
|
|
}
|
|
};
|
|
|
|
const maskEtcCardNo = value => {
|
|
if (!value) return '';
|
|
const cardNo = String(value);
|
|
if (cardNo.length <= 8) return cardNo.replace(/.(?=.{4})/g, '*');
|
|
return `${cardNo.slice(0, 4)}**** ****${cardNo.slice(-8)}`;
|
|
};
|
|
|
|
export const option = {
|
|
height: 'auto',
|
|
calcHeight: 32,
|
|
dialogWidth: 960,
|
|
labelPosition: 'right',
|
|
labelWidth: 'auto',
|
|
searchLabelWidth: 88,
|
|
tip: false,
|
|
searchBtnText: '查询',
|
|
emptyBtnText: '重置',
|
|
saveBtnText: '提交',
|
|
updateBtnText: '提交',
|
|
searchShow: true,
|
|
searchMenuSpan: 24,
|
|
searchIcon: true,
|
|
searchIndex: 4,
|
|
searchMenuPosition: 'right',
|
|
border: true,
|
|
index: true,
|
|
indexLabel: '序号',
|
|
viewBtn: true,
|
|
selection: true,
|
|
dialogClickModal: false,
|
|
menuWidth: 180,
|
|
menuFixed: 'right',
|
|
column: [
|
|
{
|
|
label: '车牌号',
|
|
prop: 'vehicleNo',
|
|
slot: true,
|
|
formslot: true,
|
|
search: true,
|
|
minWidth: 140,
|
|
span: 12,
|
|
placeholder: '输入车牌号模糊查询选择',
|
|
rules: [
|
|
{ required: true, message: '请输入车牌号', trigger: 'blur' },
|
|
{ max: 30, message: '最多 30 个字符', trigger: 'blur' },
|
|
],
|
|
},
|
|
{
|
|
label: '入口时间',
|
|
prop: 'entryTime',
|
|
sortable: true,
|
|
type: 'datetime',
|
|
format: 'YYYY-MM-DD HH:mm',
|
|
valueFormat: 'YYYY-MM-DD HH:mm:ss',
|
|
minWidth: 170,
|
|
span: 12,
|
|
placeholder: '请选择,日期选择器',
|
|
},
|
|
{
|
|
label: 'ETC卡号',
|
|
prop: 'etcCardNo',
|
|
formatter: row => maskEtcCardNo(row.etcCardNo),
|
|
search: true,
|
|
minWidth: 220,
|
|
span: 12,
|
|
placeholder: '请输入',
|
|
rules: [
|
|
{ required: true, message: '请输入ETC卡号', trigger: 'blur' },
|
|
{ max: 30, message: '最多 30 个字符', trigger: 'blur' },
|
|
],
|
|
},
|
|
{
|
|
label: '出口时间',
|
|
prop: 'exitTime',
|
|
sortable: true,
|
|
type: 'datetime',
|
|
format: 'YYYY-MM-DD HH:mm',
|
|
valueFormat: 'YYYY-MM-DD HH:mm:ss',
|
|
minWidth: 170,
|
|
span: 12,
|
|
placeholder: '请选择,日期选择器',
|
|
rules: [{ required: true, message: '请选择出口时间', trigger: 'click' }],
|
|
},
|
|
{
|
|
label: '入口站',
|
|
prop: 'entryStation',
|
|
minWidth: 150,
|
|
span: 12,
|
|
placeholder: '请输入',
|
|
rules: [{ max: 50, message: '最多 50 个字符', trigger: 'blur' }],
|
|
},
|
|
{
|
|
label: '交易金额',
|
|
prop: 'transactionAmount',
|
|
type: 'input',
|
|
formslot: true,
|
|
minWidth: 130,
|
|
span: 12,
|
|
placeholder: '请输入',
|
|
rules: [
|
|
{ required: true, message: '请输入交易金额', trigger: 'blur' },
|
|
{ validator: validateNonNegative, trigger: 'blur' },
|
|
],
|
|
},
|
|
{
|
|
label: '出口站',
|
|
prop: 'exitStation',
|
|
minWidth: 150,
|
|
span: 12,
|
|
placeholder: '请输入',
|
|
rules: [{ max: 50, message: '最多 50 个字符', trigger: 'blur' }],
|
|
},
|
|
{
|
|
label: '数据来源',
|
|
prop: 'dataSource',
|
|
value: '手工录入',
|
|
minWidth: 120,
|
|
addDisplay: false,
|
|
editDisplay: false,
|
|
viewDisplay: false,
|
|
},
|
|
{
|
|
label: '备注',
|
|
prop: 'remark',
|
|
type: 'textarea',
|
|
minRows: 2,
|
|
span: 24,
|
|
minWidth: 180,
|
|
overHidden: true,
|
|
placeholder: '请输入,200字以内',
|
|
rules: [{ max: 200, message: '最多 200 个字符', trigger: 'blur' }],
|
|
},
|
|
{
|
|
label: '附件',
|
|
prop: 'attachments',
|
|
span: 24,
|
|
minWidth: 100,
|
|
slot: true,
|
|
formslot: true,
|
|
},
|
|
{
|
|
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: 'createTime',
|
|
sortable: true,
|
|
type: 'datetime',
|
|
format: 'YYYY-MM-DD HH:mm:ss',
|
|
valueFormat: 'YYYY-MM-DD HH:mm:ss',
|
|
addDisplay: false,
|
|
editDisplay: false,
|
|
viewDisplay: false,
|
|
minWidth: 170,
|
|
},
|
|
{
|
|
label: '更新人',
|
|
prop: 'updateUserName',
|
|
formatter: formatUpdateUserName,
|
|
addDisplay: false,
|
|
editDisplay: false,
|
|
display: false,
|
|
minWidth: 180,
|
|
},
|
|
{
|
|
label: '更新时间',
|
|
prop: 'updateTime',
|
|
sortable: true,
|
|
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 = {
|
|
labelPosition: 'right',
|
|
submitBtn: false,
|
|
emptyBtn: false,
|
|
column: [
|
|
{
|
|
label: '模板上传',
|
|
prop: 'excelFile',
|
|
type: 'upload',
|
|
drag: true,
|
|
loadText: '模板上传中,请稍等',
|
|
span: 24,
|
|
propsHttp: {
|
|
res: 'data',
|
|
},
|
|
tip: '请上传 .xls,.xlsx 标准格式文件',
|
|
action: '/blade-transport/etc-record/import-etc-record',
|
|
},
|
|
{
|
|
label: '模板下载',
|
|
prop: 'excelTemplate',
|
|
formslot: true,
|
|
span: 24,
|
|
},
|
|
],
|
|
};
|