调整 合同、运力、基础配置、客商
This commit is contained in:
@@ -19,6 +19,12 @@ const transportTypeDict = {
|
||||
|
||||
const isEmpty = value => value === undefined || value === null || value === '';
|
||||
const normalizeNumericDisplayValue = value => (Number(value) === -1 ? '' : value);
|
||||
const formatMoneyDisplay = value => {
|
||||
if (isEmpty(value) || Number(value) === -1) return '';
|
||||
const number = Number(value);
|
||||
if (!Number.isFinite(number)) return '';
|
||||
return number.toFixed(2);
|
||||
};
|
||||
|
||||
const parseJsonArray = value => {
|
||||
if (Array.isArray(value)) return value;
|
||||
@@ -342,10 +348,10 @@ const formatUnitPrice = row => {
|
||||
return billingUnit ? `${billingPrice}(${billingUnit})` : billingPrice;
|
||||
};
|
||||
|
||||
const formatAmount = (row, props) => getFirstValue(row, props);
|
||||
const formatAmount = (row, props) => formatMoneyDisplay(getFirstValue(row, props));
|
||||
|
||||
const sumAmount = list =>
|
||||
list.reduce((sum, item) => {
|
||||
const sumAmount = (rows = []) =>
|
||||
rows.reduce((sum, item) => {
|
||||
const value = getFirstValue(item, ['freightAmount', 'amount', 'totalAmount']);
|
||||
return isEmpty(value) ? sum : sum + Number(value || 0);
|
||||
}, 0);
|
||||
@@ -364,7 +370,7 @@ const calculateFreightTotal = rows => {
|
||||
return sum + Number(item.unitPrice || 0) * Number(item.quantity || 0);
|
||||
}, 0);
|
||||
if (!hasAmountField) return '';
|
||||
return Number.isFinite(total) ? Number(total.toFixed(2)).toString() : '';
|
||||
return Number.isFinite(total) ? total.toFixed(2) : '';
|
||||
};
|
||||
|
||||
const formatFreight = row => {
|
||||
@@ -372,9 +378,9 @@ const formatFreight = row => {
|
||||
if (!isEmpty(value)) return value;
|
||||
const freight = parseJsonObject(row.freightJson);
|
||||
const freightValue = getFirstValue(freight, ['freightAmount', 'transportFee']);
|
||||
if (!isEmpty(freightValue)) return freightValue;
|
||||
if (!isEmpty(freightValue)) return formatMoneyDisplay(freightValue);
|
||||
const total = sumAmount(Array.isArray(freight.freightItems) ? freight.freightItems : []);
|
||||
return total ? total : '';
|
||||
return total ? formatMoneyDisplay(total) : '';
|
||||
};
|
||||
|
||||
const formatOtherFeeTotal = row => {
|
||||
@@ -391,10 +397,10 @@ const formatFreightTotal = row => {
|
||||
const otherFeeTotal = !isEmpty(otherFee) ? otherFee : formatOtherFeeTotal(row);
|
||||
if (!isEmpty(calculated)) {
|
||||
const total = Number(calculated || 0) + Number(otherFeeTotal || 0);
|
||||
return Number.isFinite(total) ? Number(total.toFixed(2)).toString() : calculated;
|
||||
return Number.isFinite(total) ? total.toFixed(2) : calculated;
|
||||
}
|
||||
const value = getFirstValue(freight, ['totalFreightAmount', 'totalFreight', 'totalAmount']);
|
||||
if (!isEmpty(value)) return value;
|
||||
if (!isEmpty(value)) return formatMoneyDisplay(value);
|
||||
return formatAmount(row, ['freightTotal', 'totalFreight', 'totalAmount']);
|
||||
};
|
||||
|
||||
|
||||
@@ -70,14 +70,16 @@ export const option = {
|
||||
{
|
||||
label: '车牌号/船号',
|
||||
prop: 'vehicleNo',
|
||||
type: 'select',
|
||||
slot: true,
|
||||
formslot: true,
|
||||
search: true,
|
||||
searchType: 'input',
|
||||
minWidth: 140,
|
||||
span: 12,
|
||||
placeholder: '输入车牌号/船号查询选择',
|
||||
placeholder: '请选择车牌号/船号',
|
||||
rules: [
|
||||
{ required: true, message: '请输入车牌号/船号', trigger: 'blur' },
|
||||
{ required: true, message: '请选择车牌号/船号', trigger: 'change' },
|
||||
{ max: 30, message: '最多 30 个字符', trigger: 'blur' },
|
||||
],
|
||||
},
|
||||
|
||||
@@ -75,14 +75,16 @@ export const option = {
|
||||
{
|
||||
label: '车牌号/船号',
|
||||
prop: 'vehicleNo',
|
||||
type: 'select',
|
||||
slot: true,
|
||||
formslot: true,
|
||||
search: true,
|
||||
searchType: 'input',
|
||||
minWidth: 140,
|
||||
span: 12,
|
||||
placeholder: '输入车牌号/船号查询选择',
|
||||
placeholder: '请选择车牌号/船号',
|
||||
rules: [
|
||||
{ required: true, message: '请输入车牌号/船号', trigger: 'blur' },
|
||||
{ required: true, message: '请选择车牌号/船号', trigger: 'change' },
|
||||
{ max: 30, message: '最多 30 个字符', trigger: 'blur' },
|
||||
],
|
||||
},
|
||||
@@ -105,6 +107,7 @@ export const option = {
|
||||
type: 'date',
|
||||
format: 'YYYY-MM-DD',
|
||||
valueFormat: 'YYYY-MM-DD',
|
||||
slot: true,
|
||||
minWidth: 140,
|
||||
span: 12,
|
||||
placeholder: '请输入',
|
||||
@@ -191,23 +194,12 @@ export const option = {
|
||||
formslot: 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',
|
||||
label: '检测评定日期',
|
||||
prop: 'inspectionAssessmentDateRange',
|
||||
type: 'date',
|
||||
format: 'YYYY-MM-DD',
|
||||
valueFormat: 'YYYY-MM-DD',
|
||||
searchRange: true,
|
||||
search: true,
|
||||
hide: true,
|
||||
addDisplay: false,
|
||||
|
||||
@@ -54,9 +54,11 @@ export const option = {
|
||||
{
|
||||
label: '车牌号/船号',
|
||||
prop: 'vehicleNo',
|
||||
type: 'select',
|
||||
slot: true,
|
||||
formslot: true,
|
||||
search: true,
|
||||
searchType: 'input',
|
||||
searchOrder: 4,
|
||||
span: 12,
|
||||
order: 10,
|
||||
|
||||
@@ -49,14 +49,16 @@ export const option = {
|
||||
{
|
||||
label: '车牌号',
|
||||
prop: 'vehicleNo',
|
||||
type: 'select',
|
||||
slot: true,
|
||||
formslot: true,
|
||||
search: true,
|
||||
searchType: 'input',
|
||||
minWidth: 140,
|
||||
span: 12,
|
||||
placeholder: '输入车牌号模糊查询选择',
|
||||
placeholder: '请选择车牌号',
|
||||
rules: [
|
||||
{ required: true, message: '请输入车牌号', trigger: 'blur' },
|
||||
{ required: true, message: '请选择车牌号', trigger: 'change' },
|
||||
{ max: 30, message: '最多 30 个字符', trigger: 'blur' },
|
||||
],
|
||||
},
|
||||
|
||||
@@ -78,17 +78,20 @@ export const option = {
|
||||
prop: 'policyFile',
|
||||
formslot: true,
|
||||
hide: true,
|
||||
viewDisplay: false,
|
||||
span: 24,
|
||||
},
|
||||
{
|
||||
label: '车牌号/船号',
|
||||
prop: 'vehicleNo',
|
||||
type: 'select',
|
||||
slot: true,
|
||||
formslot: true,
|
||||
search: true,
|
||||
searchType: 'input',
|
||||
minWidth: 140,
|
||||
rules: [
|
||||
{ required: true, message: '请输入车牌号/船号', trigger: 'blur' },
|
||||
{ required: true, message: '请选择车牌号/船号', trigger: 'change' },
|
||||
{ max: 50, message: '最多 50 个字符', trigger: 'blur' },
|
||||
],
|
||||
},
|
||||
@@ -108,6 +111,7 @@ export const option = {
|
||||
rules: [
|
||||
{ required: true, message: '请输入保单号', trigger: 'blur' },
|
||||
{ max: 80, message: '最多 80 个字符', trigger: 'blur' },
|
||||
{ pattern: /^[a-zA-Z0-9]+$/, message: '保单号只能输入数字、字母', trigger: 'blur' },
|
||||
],
|
||||
},
|
||||
{
|
||||
|
||||
@@ -40,13 +40,15 @@ export const option = {
|
||||
{
|
||||
label: '车牌号',
|
||||
prop: 'vehicleNo',
|
||||
type: 'select',
|
||||
slot: true,
|
||||
formslot: true,
|
||||
search: true,
|
||||
searchType: 'input',
|
||||
searchSpan: 6,
|
||||
minWidth: 130,
|
||||
rules: [
|
||||
{ required: true, message: '请输入车牌号', trigger: 'blur' },
|
||||
{ required: true, message: '请选择车牌号', trigger: 'change' },
|
||||
{ max: 30, message: '最多 30 个字符', trigger: 'blur' },
|
||||
],
|
||||
},
|
||||
|
||||
@@ -92,13 +92,15 @@ export const option = {
|
||||
{
|
||||
label: '车牌号/船号',
|
||||
prop: 'vehicleNo',
|
||||
type: 'select',
|
||||
slot: true,
|
||||
formslot: true,
|
||||
search: true,
|
||||
searchType: 'input',
|
||||
minWidth: 150,
|
||||
placeholder: '输入车牌号/船号查询选择',
|
||||
placeholder: '请选择车牌号/船号',
|
||||
rules: [
|
||||
{ required: true, message: '请输入车牌号/船号', trigger: 'blur' },
|
||||
{ required: true, message: '请选择车牌号/船号', trigger: 'change' },
|
||||
{ max: 30, message: '最多 30 个字符', trigger: 'blur' },
|
||||
],
|
||||
},
|
||||
|
||||
@@ -17,16 +17,6 @@ export const vehicleTypeDic = [
|
||||
{ label: '船舶', value: '船舶' },
|
||||
];
|
||||
|
||||
export const expenseTypeDic = [
|
||||
{ label: '过路费', value: '过路费' },
|
||||
{ label: '停车费', value: '停车费' },
|
||||
{ label: '维修费', value: '维修费' },
|
||||
{ label: '保险费', value: '保险费' },
|
||||
{ label: '年检费', value: '年检费' },
|
||||
{ label: '装卸费', value: '装卸费' },
|
||||
{ label: '其他', value: '其他' },
|
||||
];
|
||||
|
||||
export const option = {
|
||||
height: 'auto',
|
||||
calcHeight: 32,
|
||||
@@ -68,14 +58,16 @@ export const option = {
|
||||
{
|
||||
label: '车牌号/船号',
|
||||
prop: 'vehicleNo',
|
||||
type: 'select',
|
||||
slot: true,
|
||||
formslot: true,
|
||||
search: true,
|
||||
searchType: 'input',
|
||||
minWidth: 150,
|
||||
span: 12,
|
||||
placeholder: '输入车牌号/船号查询选择',
|
||||
placeholder: '请选择车牌号/船号',
|
||||
rules: [
|
||||
{ required: true, message: '请输入车牌号/船号', trigger: 'blur' },
|
||||
{ required: true, message: '请选择车牌号/船号', trigger: 'change' },
|
||||
{ max: 30, message: '最多 30 个字符', trigger: 'blur' },
|
||||
],
|
||||
},
|
||||
@@ -95,7 +87,7 @@ export const option = {
|
||||
label: '费用类型',
|
||||
prop: 'expenseType',
|
||||
type: 'select',
|
||||
dicData: expenseTypeDic,
|
||||
dicData: [],
|
||||
search: true,
|
||||
minWidth: 150,
|
||||
span: 12,
|
||||
|
||||
@@ -49,14 +49,16 @@ export const option = {
|
||||
{
|
||||
label: '车牌号',
|
||||
prop: 'vehicleNo',
|
||||
type: 'select',
|
||||
slot: true,
|
||||
formslot: true,
|
||||
search: true,
|
||||
searchType: 'input',
|
||||
minWidth: 130,
|
||||
span: 12,
|
||||
placeholder: '输入车牌号查询选择',
|
||||
placeholder: '请选择车牌号',
|
||||
rules: [
|
||||
{ required: true, message: '请输入车牌号', trigger: 'blur' },
|
||||
{ required: true, message: '请选择车牌号', trigger: 'change' },
|
||||
{ max: 30, message: '最多 30 个字符', trigger: 'blur' },
|
||||
],
|
||||
},
|
||||
|
||||
@@ -47,11 +47,13 @@ export const option = {
|
||||
{
|
||||
label: '车牌号/船号',
|
||||
prop: 'vehicleNo',
|
||||
type: 'select',
|
||||
slot: true,
|
||||
formslot: true,
|
||||
search: true,
|
||||
searchType: 'input',
|
||||
minWidth: 140,
|
||||
placeholder: '输入车牌号/船号模糊查询选择',
|
||||
placeholder: '请选择车牌号/船号',
|
||||
rules: [{ max: 30, message: '最多 30 个字符', trigger: 'blur' }],
|
||||
},
|
||||
{
|
||||
|
||||
@@ -70,14 +70,16 @@ export const option = {
|
||||
{
|
||||
label: '车牌号/船号',
|
||||
prop: 'vehicleNo',
|
||||
type: 'select',
|
||||
slot: true,
|
||||
formslot: true,
|
||||
search: true,
|
||||
searchType: 'input',
|
||||
minWidth: 140,
|
||||
span: 12,
|
||||
placeholder: '输入车牌号/船号查询选择',
|
||||
placeholder: '请选择车牌号/船号',
|
||||
rules: [
|
||||
{ required: true, message: '请输入车牌号/船号', trigger: 'blur' },
|
||||
{ required: true, message: '请选择车牌号/船号', trigger: 'change' },
|
||||
{ max: 30, message: '最多 30 个字符', trigger: 'blur' },
|
||||
],
|
||||
},
|
||||
@@ -117,13 +119,13 @@ export const option = {
|
||||
{
|
||||
label: '日期',
|
||||
prop: 'violationTime',
|
||||
type: 'datetime',
|
||||
format: 'YYYY-MM-DD HH:mm:ss',
|
||||
type: 'date',
|
||||
format: 'YYYY-MM-DD',
|
||||
valueFormat: 'YYYY-MM-DD HH:mm:ss',
|
||||
minWidth: 170,
|
||||
minWidth: 140,
|
||||
span: 12,
|
||||
placeholder: '请选择',
|
||||
rules: [{ required: true, message: '请选择时间', trigger: 'click' }],
|
||||
rules: [{ required: true, message: '请选择日期', trigger: 'click' }],
|
||||
},
|
||||
{
|
||||
label: '地点',
|
||||
|
||||
Reference in New Issue
Block a user