194 lines
4.0 KiB
JavaScript
194 lines
4.0 KiB
JavaScript
import {
|
||
auditColumns,
|
||
createCrudOption,
|
||
packageOptions,
|
||
priceUnitOptions,
|
||
textRule,
|
||
} from './common';
|
||
|
||
export const config = {
|
||
title: '常用货物',
|
||
permission: 'common_cargo',
|
||
exportUrl: '/blade-transport/common-cargo/export-common-cargo',
|
||
exportName: '常用货物',
|
||
importUrl: '/blade-transport/common-cargo/import-common-cargo',
|
||
templateUrl: '/blade-transport/common-cargo/export-template',
|
||
enableAllDept: false,
|
||
};
|
||
|
||
export const option = createCrudOption([
|
||
{
|
||
label: '一级货物类型',
|
||
prop: 'firstCargoTypeName',
|
||
formslot: true,
|
||
search: true,
|
||
searchOrder: 3,
|
||
minWidth: 150,
|
||
editDisabled: 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: [{ required: true, message: '请选择二级货物类型', trigger: 'change' }],
|
||
},
|
||
{
|
||
label: '二级货物类型编码',
|
||
prop: 'secondCargoTypeCode',
|
||
hide: true,
|
||
display: false,
|
||
addDisplay: false,
|
||
editDisabled: 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,
|
||
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: false,
|
||
minWidth: 120,
|
||
rules: textRule('品牌', 50),
|
||
},
|
||
{
|
||
label: '包装',
|
||
prop: 'packageType',
|
||
type: 'select',
|
||
dicData: packageOptions,
|
||
minWidth: 100,
|
||
},
|
||
{
|
||
label: '货值',
|
||
prop: 'cargoValue',
|
||
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,
|
||
},
|
||
{
|
||
label: '规格',
|
||
prop: 'specification',
|
||
minWidth: 120,
|
||
rules: textRule('规格', 50),
|
||
},
|
||
{
|
||
label: '型号',
|
||
prop: 'model',
|
||
minWidth: 120,
|
||
rules: textRule('型号', 50),
|
||
},
|
||
{
|
||
label: '说明',
|
||
prop: 'descriptionOne',
|
||
minWidth: 160,
|
||
rules: textRule('说明', 100),
|
||
},
|
||
{
|
||
label: '数据来源',
|
||
prop: 'dataSource',
|
||
minWidth: 120,
|
||
addDisplay: false,
|
||
editDisplay: false,
|
||
},
|
||
{
|
||
label: '备注',
|
||
prop: 'remark',
|
||
type: 'textarea',
|
||
minRows: 4,
|
||
span: 24,
|
||
hide: true,
|
||
maxlength: 200,
|
||
showWordLimit: true,
|
||
rules: textRule('备注', 200),
|
||
},
|
||
...auditColumns,
|
||
]);
|
||
|
||
export const excelOption = {
|
||
submitBtn: false,
|
||
emptyBtn: false,
|
||
column: [
|
||
{
|
||
label: '导入模板',
|
||
prop: 'excelTemplate',
|
||
formslot: true,
|
||
span: 24,
|
||
},
|
||
{
|
||
label: 'Excel文件',
|
||
prop: 'excelFile',
|
||
type: 'upload',
|
||
drag: true,
|
||
loadText: '模板上传中,请稍等',
|
||
span: 24,
|
||
propsHttp: {
|
||
res: 'data',
|
||
},
|
||
tip: '请上传 .xls,.xlsx 标准格式文件',
|
||
},
|
||
],
|
||
};
|