1、大量页面调整

2、完善运力模块
3、完善规范、需求卡
This commit is contained in:
2026-07-31 01:32:41 +08:00
parent ccaca521d3
commit 81b2a3e99b
54 changed files with 5641 additions and 1965 deletions
+58 -44
View File
@@ -1,10 +1,8 @@
import {
auditColumns,
createCrudOption,
nonNegativeRule,
packageOptions,
priceUnitOptions,
selectRule,
textRule,
} from './common';
@@ -15,67 +13,81 @@ export const config = {
exportName: '常用货物',
importUrl: '/blade-transport/common-cargo/import-common-cargo',
templateUrl: '/blade-transport/common-cargo/export-template',
enableAllDept: true,
enableAllDept: false,
};
export const option = createCrudOption([
{
label: '组织',
prop: 'deptName',
search: true,
minWidth: 150,
addDisplay: false,
editDisplay: false,
},
{
label: '一级货物类型',
prop: 'firstCargoTypeName',
formslot: true,
search: true,
searchOrder: 3,
minWidth: 150,
editDisabled: true,
rules: textRule('一级货物类型', 100, true),
rules: [{ required: true, message: '请选择一级货物类型', trigger: 'change' }],
},
{
label: '一级货物类型编码',
prop: 'firstCargoTypeCode',
hide: true,
display: false,
addDisplay: false,
editDisabled: true,
},
{
label: '二级货物类型',
prop: 'secondCargoTypeName',
formslot: true,
search: true,
searchOrder: 4,
minWidth: 150,
editDisabled: true,
rules: textRule('二级货物类型', 100, true),
rules: [{ required: true, message: '请选择二级货物类型', trigger: 'change' }],
},
{
label: '二级货物类型编码',
prop: 'secondCargoTypeCode',
search: true,
minWidth: 150,
hide: true,
display: false,
addDisplay: false,
editDisabled: true,
rules: textRule('二级货物类型编码', 20, true),
},
{
label: '货物名称',
prop: 'cargoName',
search: true,
searchOrder: 1,
minWidth: 150,
rules: textRule('货物名称', 100, true),
},
{
label: '货物编号',
prop: 'cargoCode',
formslot: true,
search: true,
searchOrder: 2,
minWidth: 120,
editDisabled: true,
rules: textRule('货物编号', 20, true),
maxlength: 20,
showWordLimit: true,
rules: [
{ required: true, message: '请输入货物编号', trigger: 'blur' },
{ max: 20, message: '货物编号不能超过20个字符', trigger: 'blur' },
],
},
{
label: '组织',
prop: 'deptName',
search: true,
searchOrder: 5,
minWidth: 150,
addDisplay: false,
editDisplay: false,
},
{
label: '品牌',
prop: 'brand',
search: true,
search: false,
minWidth: 120,
rules: textRule('品牌', 50),
},
@@ -89,11 +101,32 @@ export const option = createCrudOption([
{
label: '货值',
prop: 'cargoValue',
type: 'number',
precision: 2,
min: 0,
formslot: true,
minWidth: 120,
rules: [
{
validator: (rule, value, callback) => {
if (value === undefined || value === null || value === '') {
callback();
return;
}
if (!/^\d+(\.\d{1,2})?$/.test(String(value))) {
callback(new Error('货值只能输入数字,最多保留2位小数'));
return;
}
callback();
},
trigger: 'blur',
},
],
},
{
label: '计价单位',
prop: 'priceUnit',
type: 'select',
dicData: priceUnitOptions,
display: false,
minWidth: 120,
rules: [nonNegativeRule('货值')],
},
{
label: '规格',
@@ -101,13 +134,6 @@ export const option = createCrudOption([
minWidth: 120,
rules: textRule('规格', 50),
},
{
label: '计价单位',
prop: 'priceUnit',
type: 'select',
dicData: priceUnitOptions,
minWidth: 120,
},
{
label: '型号',
prop: 'model',
@@ -115,22 +141,10 @@ export const option = createCrudOption([
rules: textRule('型号', 50),
},
{
label: '说明1',
label: '说明',
prop: 'descriptionOne',
minWidth: 160,
rules: textRule('说明1', 100),
},
{
label: '尺寸',
prop: 'sizeText',
minWidth: 120,
rules: textRule('尺寸', 50),
},
{
label: '说明2',
prop: 'descriptionTwo',
minWidth: 160,
rules: textRule('说明2', 100),
rules: textRule('说明', 100),
},
{
label: '数据来源',
+28 -14
View File
@@ -5,44 +5,44 @@ export const config = {
permission: 'common_route',
exportUrl: '/blade-transport/common-route/export-common-route',
exportName: '常用线路',
enableAllDept: true,
enableAllDept: false,
};
export const option = createCrudOption([
{
label: '组织',
prop: 'deptName',
label: '线路名称',
prop: 'routeName',
search: true,
searchOrder: 1,
span: 24,
minWidth: 150,
addDisplay: false,
editDisplay: false,
rules: textRule('线路名称', 100, true),
},
{
label: '线路编号',
prop: 'routeCode',
search: true,
searchOrder: 2,
minWidth: 120,
addDisplay: false,
editDisabled: true,
},
{
label: '线路名称',
prop: 'routeName',
search: true,
minWidth: 150,
rules: textRule('线路名称', 100, true),
},
{
label: '发货地',
prop: 'departureName',
search: true,
searchOrder: 3,
minWidth: 140,
rules: textRule('发货地', 100, true),
addDisplay: false,
editDisplay: false,
},
{
label: '发货地址',
prop: 'departureAddress',
formslot: true,
search: true,
searchOrder: 4,
span: 24,
minWidth: 220,
rules: textRule('发货地址', 255, true),
},
@@ -78,13 +78,18 @@ export const option = createCrudOption([
label: '收货地',
prop: 'arrivalName',
search: true,
searchOrder: 5,
minWidth: 140,
rules: textRule('收货地', 100, true),
addDisplay: false,
editDisplay: false,
},
{
label: '收货地址',
prop: 'arrivalAddress',
formslot: true,
search: true,
searchOrder: 6,
span: 24,
minWidth: 220,
rules: textRule('收货地址', 255, true),
},
@@ -116,6 +121,15 @@ export const option = createCrudOption([
minWidth: 140,
rules: [phoneRule('收货联系方式'), ...textRule('收货联系方式', 50)],
},
{
label: '组织',
prop: 'deptName',
search: true,
searchOrder: 7,
minWidth: 150,
addDisplay: false,
editDisplay: false,
},
{
label: '备注',
prop: 'remark',
+4 -2
View File
@@ -156,7 +156,9 @@ export const textRule = (label, max, required = false) => {
return rules;
};
export const selectRule = label => [{ required: true, message: `请选择${label}`, trigger: 'change' }];
export const selectRule = label => [
{ required: true, message: `请选择${label}`, trigger: 'change' },
];
export const nonNegativeRule = label => ({
validator: (rule, value, callback) => {
@@ -189,7 +191,7 @@ export const createCrudOption = columns => ({
searchShow: true,
searchMenuSpan: 24,
searchIcon: true,
searchIndex: 8,
searchIndex: 4,
searchMenuPosition: 'right',
border: true,
index: true,
+135 -91
View File
@@ -1,103 +1,147 @@
import { auditColumns, createCrudOption, nodeOptions, processStatusOptions, selectRule, textRule } from './common';
import {
auditColumns,
createCrudOption,
nodeOptions,
processStatusOptions,
selectRule,
textRule,
} from './common';
export const config = {
title: '过程配置',
permission: 'process_config',
exportUrl: '/blade-transport/process-config/export-process-config',
exportName: '过程配置',
enableAllDept: true,
enableAllDept: false,
actions: ['copy', 'enable', 'disable'],
statusProp: 'status',
statusTextProp: 'statusName',
deleteStatus: [0, 2],
};
export const option = createCrudOption([
{
label: '配置编号',
prop: 'configCode',
search: true,
minWidth: 130,
addDisplay: false,
editDisabled: true,
},
{
label: '配置名称',
prop: 'configName',
search: true,
minWidth: 150,
rules: textRule('配置名称', 100, true),
},
{
label: '项目ID集合',
prop: 'projectIds',
hide: true,
rules: textRule('项目ID集合', 1000, true),
},
{
label: '项目',
prop: 'projectNames',
search: true,
type: 'textarea',
minRows: 2,
minWidth: 180,
rules: textRule('项目', 1000, true),
},
{
label: '包含过程节点',
prop: 'includedNodes',
search: true,
type: 'select',
multiple: true,
dicData: nodeOptions,
minWidth: 180,
rules: selectRule('包含过程节点'),
},
{
label: '默认完成运输天数',
prop: 'defaultFinishDays',
type: 'number',
min: 1,
max: 999,
minWidth: 150,
},
{
label: '状态',
prop: 'status',
type: 'select',
search: true,
dicData: processStatusOptions,
slot: true,
minWidth: 100,
addDisplay: false,
editDisplay: false,
},
{
label: '所属组织',
prop: 'deptName',
search: true,
minWidth: 150,
addDisplay: false,
editDisplay: false,
},
{
label: '节点配置JSON',
prop: 'nodeConfigJson',
type: 'textarea',
minRows: 6,
span: 24,
hide: true,
},
{
label: '备注',
prop: 'remark',
type: 'textarea',
minRows: 4,
span: 24,
hide: true,
maxlength: 500,
showWordLimit: true,
rules: textRule('备注', 500),
},
...auditColumns,
]);
export const option = {
...createCrudOption([
{
label: '',
prop: 'basicInfo',
formslot: true,
span: 24,
hide: true,
},
{
label: '配置编号',
prop: 'configCode',
search: true,
searchOrder: 4,
minWidth: 130,
addDisplay: false,
editDisplay: false,
editDisabled: true,
},
{
label: '配置名称',
prop: 'configName',
search: true,
searchOrder: 6,
span: 12,
minWidth: 150,
addDisplay: false,
editDisplay: false,
rules: textRule('配置名称', 100, true),
},
{
label: '项目ID集合',
prop: 'projectIds',
hide: true,
display: false,
addDisplay: false,
editDisplay: false,
rules: textRule('项目ID集合', 1000, true),
},
{
label: '项目',
prop: 'projectNames',
formslot: true,
search: true,
searchOrder: 5,
searchType: 'select',
type: 'textarea',
minRows: 2,
span: 12,
minWidth: 180,
dicData: [],
filterable: true,
addDisplay: false,
editDisplay: false,
rules: textRule('项目', 1000, true),
},
{
label: '包含过程节点',
prop: 'includedNodes',
search: true,
searchOrder: 3,
type: 'select',
multiple: true,
dicData: nodeOptions,
minWidth: 180,
rules: selectRule('包含过程节点'),
},
{
label: '默认完成运输天数',
prop: 'defaultFinishDays',
formslot: true,
type: 'number',
min: 1,
max: 999,
span: 12,
minWidth: 150,
addDisplay: false,
editDisplay: false,
},
{
label: '状态',
prop: 'status',
type: 'select',
search: true,
searchOrder: 1,
dicData: processStatusOptions,
slot: true,
minWidth: 100,
addDisplay: false,
editDisplay: false,
},
{
label: '组织',
prop: 'deptName',
search: true,
searchOrder: 2,
minWidth: 150,
addDisplay: false,
editDisplay: false,
},
{
label: '',
prop: 'nodeConfigJson',
formslot: true,
span: 24,
hide: true,
},
{
label: '备注',
prop: 'remark',
type: 'textarea',
minRows: 4,
span: 24,
hide: true,
addDisplay: false,
editDisplay: false,
maxlength: 500,
showWordLimit: true,
rules: textRule('备注', 500),
},
...auditColumns,
]),
dialogTop: '10px',
dialogWidth: '96%',
searchSpan: 8,
};