fix(web): 调拨接收信息改为直接选择停车场并同步查看页
- 接收信息去掉「接收区域」及停车地址分支,仅保留接收时间与停车场下拉 - 运维(接收)编辑、第三方/司机运输接收信息、查看页与需求说明文案对齐 Made-with: Cursor
This commit is contained in:
@@ -98,18 +98,10 @@ const Component = function () {
|
|||||||
var receiveTime = receiveTimeState[0];
|
var receiveTime = receiveTimeState[0];
|
||||||
var setReceiveTime = receiveTimeState[1];
|
var setReceiveTime = receiveTimeState[1];
|
||||||
|
|
||||||
var receiveAreaTypeState = useState(undefined);
|
|
||||||
var receiveAreaType = receiveAreaTypeState[0];
|
|
||||||
var setReceiveAreaType = receiveAreaTypeState[1];
|
|
||||||
|
|
||||||
var receiveParkingState = useState(undefined);
|
var receiveParkingState = useState(undefined);
|
||||||
var receiveParking = receiveParkingState[0];
|
var receiveParking = receiveParkingState[0];
|
||||||
var setReceiveParking = receiveParkingState[1];
|
var setReceiveParking = receiveParkingState[1];
|
||||||
|
|
||||||
var receiveAddressState = useState('');
|
|
||||||
var receiveAddress = receiveAddressState[0];
|
|
||||||
var setReceiveAddress = receiveAddressState[1];
|
|
||||||
|
|
||||||
var parkingOptions = useMemo(function () {
|
var parkingOptions = useMemo(function () {
|
||||||
return [
|
return [
|
||||||
{ value: 'p1', label: '西湖景区停车场' },
|
{ value: 'p1', label: '西湖景区停车场' },
|
||||||
@@ -150,9 +142,7 @@ const Component = function () {
|
|||||||
'',
|
'',
|
||||||
'3.接收信息:',
|
'3.接收信息:',
|
||||||
'3.1.接收时间:日期选择器,精确至分钟,格式:YYYY-MM-DD HH:mm;',
|
'3.1.接收时间:日期选择器,精确至分钟,格式:YYYY-MM-DD HH:mm;',
|
||||||
'3.2.接收区域:选择器,选项为:停车场、其他;',
|
'3.2.停车场:必填项,选择器,直接选择已有停车场;',
|
||||||
'3.3.停车场:必填项,选择器,选择已有停车场,接收区域为停车场时显示;',
|
|
||||||
'3.4.停车地址:必填项,输入框,支持自定义输入,接收区域为其他时显示;',
|
|
||||||
'',
|
'',
|
||||||
'4.调拨车辆清单;',
|
'4.调拨车辆清单;',
|
||||||
'#以表格方式展示,反写新增调拨时的整个清单:',
|
'#以表格方式展示,反写新增调拨时的整个清单:',
|
||||||
@@ -197,13 +187,7 @@ const Component = function () {
|
|||||||
function runValidate() {
|
function runValidate() {
|
||||||
var e = {};
|
var e = {};
|
||||||
if (!receiveTime) e.receiveTime = '请选择接收时间';
|
if (!receiveTime) e.receiveTime = '请选择接收时间';
|
||||||
if (!receiveAreaType) e.receiveAreaType = '请选择接收区域';
|
|
||||||
if (receiveAreaType === '停车场') {
|
|
||||||
if (!receiveParking) e.receiveParking = '请选择停车场';
|
if (!receiveParking) e.receiveParking = '请选择停车场';
|
||||||
}
|
|
||||||
if (receiveAreaType === '其他') {
|
|
||||||
if (!String(receiveAddress || '').trim()) e.receiveAddress = '请输入停车地址';
|
|
||||||
}
|
|
||||||
for (var i = 0; i < (vehicles || []).length; i++) {
|
for (var i = 0; i < (vehicles || []).length; i++) {
|
||||||
var r = vehicles[i] || {};
|
var r = vehicles[i] || {};
|
||||||
if (!String(r.arriveMileageKm || '').trim()) e['row_' + i + '_arrMile'] = '请输入到达时里程';
|
if (!String(r.arriveMileageKm || '').trim()) e['row_' + i + '_arrMile'] = '请输入到达时里程';
|
||||||
@@ -229,7 +213,7 @@ const Component = function () {
|
|||||||
message.success('已提交(原型)');
|
message.success('已提交(原型)');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}, [receiveTime, receiveAreaType, receiveParking, receiveAddress, vehicles]);
|
}, [receiveTime, receiveParking, vehicles]);
|
||||||
|
|
||||||
var handleSave = useCallback(function () {
|
var handleSave = useCallback(function () {
|
||||||
message.success('已保存至列表页(原型:不校验必填项)');
|
message.success('已保存至列表页(原型:不校验必填项)');
|
||||||
@@ -459,7 +443,7 @@ const Component = function () {
|
|||||||
{ title: '接收信息', style: { marginBottom: 16 } },
|
{ title: '接收信息', style: { marginBottom: 16 } },
|
||||||
React.createElement(
|
React.createElement(
|
||||||
'div',
|
'div',
|
||||||
{ style: { display: 'grid', gridTemplateColumns: '1fr 1fr 1fr', gap: '16px 24px', alignItems: 'start' } },
|
{ style: { display: 'grid', gridTemplateColumns: '1fr 1fr', gap: '16px 24px', alignItems: 'start' } },
|
||||||
React.createElement(
|
React.createElement(
|
||||||
'div',
|
'div',
|
||||||
{ style: formItemStyle },
|
{ style: formItemStyle },
|
||||||
@@ -474,29 +458,8 @@ const Component = function () {
|
|||||||
status: errors.receiveTime ? 'error' : undefined
|
status: errors.receiveTime ? 'error' : undefined
|
||||||
}),
|
}),
|
||||||
errors.receiveTime ? React.createElement('div', { style: { marginTop: 4, color: '#ff4d4f', fontSize: 12 } }, errors.receiveTime) : null
|
errors.receiveTime ? React.createElement('div', { style: { marginTop: 4, color: '#ff4d4f', fontSize: 12 } }, errors.receiveTime) : null
|
||||||
)
|
|
||||||
,
|
|
||||||
React.createElement(
|
|
||||||
'div',
|
|
||||||
{ style: formItemStyle },
|
|
||||||
React.createElement('div', { style: labelStyle }, reqStar, '接收区域'),
|
|
||||||
React.createElement(Select, {
|
|
||||||
placeholder: '请选择接收区域',
|
|
||||||
style: controlStyle,
|
|
||||||
value: receiveAreaType,
|
|
||||||
onChange: function (v) {
|
|
||||||
setReceiveAreaType(v);
|
|
||||||
setReceiveParking(undefined);
|
|
||||||
setReceiveAddress('');
|
|
||||||
},
|
|
||||||
allowClear: true,
|
|
||||||
options: [{ value: '停车场', label: '停车场' }, { value: '其他', label: '其他' }],
|
|
||||||
status: errors.receiveAreaType ? 'error' : undefined
|
|
||||||
}),
|
|
||||||
errors.receiveAreaType ? React.createElement('div', { style: { marginTop: 4, color: '#ff4d4f', fontSize: 12 } }, errors.receiveAreaType) : null
|
|
||||||
),
|
),
|
||||||
receiveAreaType === '停车场'
|
React.createElement(
|
||||||
? React.createElement(
|
|
||||||
'div',
|
'div',
|
||||||
{ style: formItemStyle },
|
{ style: formItemStyle },
|
||||||
React.createElement('div', { style: labelStyle }, reqStar, '停车场'),
|
React.createElement('div', { style: labelStyle }, reqStar, '停车场'),
|
||||||
@@ -513,26 +476,6 @@ const Component = function () {
|
|||||||
}),
|
}),
|
||||||
errors.receiveParking ? React.createElement('div', { style: { marginTop: 4, color: '#ff4d4f', fontSize: 12 } }, errors.receiveParking) : null
|
errors.receiveParking ? React.createElement('div', { style: { marginTop: 4, color: '#ff4d4f', fontSize: 12 } }, errors.receiveParking) : null
|
||||||
)
|
)
|
||||||
: receiveAreaType === '其他'
|
|
||||||
? React.createElement(
|
|
||||||
'div',
|
|
||||||
{ style: formItemStyle },
|
|
||||||
React.createElement('div', { style: labelStyle }, reqStar, '停车地址'),
|
|
||||||
React.createElement(Input, {
|
|
||||||
placeholder: '请输入停车地址',
|
|
||||||
style: controlStyle,
|
|
||||||
value: receiveAddress,
|
|
||||||
onChange: function (e) { setReceiveAddress(e.target.value); },
|
|
||||||
status: errors.receiveAddress ? 'error' : undefined
|
|
||||||
}),
|
|
||||||
errors.receiveAddress ? React.createElement('div', { style: { marginTop: 4, color: '#ff4d4f', fontSize: 12 } }, errors.receiveAddress) : null
|
|
||||||
)
|
|
||||||
: React.createElement(
|
|
||||||
'div',
|
|
||||||
{ style: formItemStyle },
|
|
||||||
React.createElement('div', { style: labelStyle }, '停车场/停车地址'),
|
|
||||||
React.createElement(Input, { placeholder: '请先选择接收区域', style: controlStyle, disabled: true })
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
|
|
||||||
|
|||||||
@@ -73,18 +73,10 @@ const Component = function () {
|
|||||||
var receiveTime = receiveTimeState[0];
|
var receiveTime = receiveTimeState[0];
|
||||||
var setReceiveTime = receiveTimeState[1];
|
var setReceiveTime = receiveTimeState[1];
|
||||||
|
|
||||||
var receiveAreaTypeState = useState(undefined);
|
|
||||||
var receiveAreaType = receiveAreaTypeState[0];
|
|
||||||
var setReceiveAreaType = receiveAreaTypeState[1];
|
|
||||||
|
|
||||||
var receiveParkingState = useState(undefined);
|
var receiveParkingState = useState(undefined);
|
||||||
var receiveParking = receiveParkingState[0];
|
var receiveParking = receiveParkingState[0];
|
||||||
var setReceiveParking = receiveParkingState[1];
|
var setReceiveParking = receiveParkingState[1];
|
||||||
|
|
||||||
var receiveAddressState = useState('');
|
|
||||||
var receiveAddress = receiveAddressState[0];
|
|
||||||
var setReceiveAddress = receiveAddressState[1];
|
|
||||||
|
|
||||||
var vehiclesState = useState(function () {
|
var vehiclesState = useState(function () {
|
||||||
return buildVehicleRows(getMockSnapshot());
|
return buildVehicleRows(getMockSnapshot());
|
||||||
});
|
});
|
||||||
@@ -130,9 +122,7 @@ const Component = function () {
|
|||||||
'',
|
'',
|
||||||
'3.接收信息:',
|
'3.接收信息:',
|
||||||
'3.1.接收时间:日期选择器,精确至天,格式:YYYY-MM-DD;',
|
'3.1.接收时间:日期选择器,精确至天,格式:YYYY-MM-DD;',
|
||||||
'3.2.接收区域:选择器,选项为:停车场、其他;',
|
'3.2.停车场:必填项,选择器,直接选择已有停车场;',
|
||||||
'3.3.停车场:必填项,选择器,选择已有停车场,接收区域为停车场时显示;',
|
|
||||||
'3.4.停车地址:必填项,输入框,支持自定义输入,接收区域为其他时显示;',
|
|
||||||
'',
|
'',
|
||||||
'4.调拨车辆清单;',
|
'4.调拨车辆清单;',
|
||||||
'#以表格方式展示,反写新增调拨时的整个清单:',
|
'#以表格方式展示,反写新增调拨时的整个清单:',
|
||||||
@@ -141,7 +131,7 @@ const Component = function () {
|
|||||||
'4.3.车牌号:反写调拨信息提交时的车牌号;显示该车辆对应停车场;',
|
'4.3.车牌号:反写调拨信息提交时的车牌号;显示该车辆对应停车场;',
|
||||||
'',
|
'',
|
||||||
'5.底部按钮为提交、保存、取消;',
|
'5.底部按钮为提交、保存、取消;',
|
||||||
'5.1.提交:点击提交校验必填项;提交后,调拨车辆清单中车辆停车区域会更新至接收区域对应停车场/停车地址;',
|
'5.1.提交:点击提交校验必填项;提交后,调拨车辆清单中车辆停车区域会更新至所选停车场;',
|
||||||
'5.2.保存:不校验必填项,只保存已填数据并保存在列表页;'
|
'5.2.保存:不校验必填项,只保存已填数据并保存在列表页;'
|
||||||
].join('\n');
|
].join('\n');
|
||||||
|
|
||||||
@@ -166,13 +156,7 @@ const Component = function () {
|
|||||||
function runValidate() {
|
function runValidate() {
|
||||||
var e = {};
|
var e = {};
|
||||||
if (!receiveTime) e.receiveTime = '请选择接收时间';
|
if (!receiveTime) e.receiveTime = '请选择接收时间';
|
||||||
if (!receiveAreaType) e.receiveAreaType = '请选择接收区域';
|
|
||||||
if (receiveAreaType === '停车场') {
|
|
||||||
if (!receiveParking) e.receiveParking = '请选择停车场';
|
if (!receiveParking) e.receiveParking = '请选择停车场';
|
||||||
}
|
|
||||||
if (receiveAreaType === '其他') {
|
|
||||||
if (!String(receiveAddress || '').trim()) e.receiveAddress = '请输入停车地址';
|
|
||||||
}
|
|
||||||
setErrors(e);
|
setErrors(e);
|
||||||
return { ok: Object.keys(e).length === 0, err: e };
|
return { ok: Object.keys(e).length === 0, err: e };
|
||||||
}
|
}
|
||||||
@@ -192,7 +176,7 @@ const Component = function () {
|
|||||||
message.success('已提交(原型)');
|
message.success('已提交(原型)');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}, [receiveTime, receiveAreaType, receiveParking, receiveAddress]);
|
}, [receiveTime, receiveParking]);
|
||||||
|
|
||||||
var handleSave = useCallback(function () {
|
var handleSave = useCallback(function () {
|
||||||
message.success('已保存至列表页(原型:不校验必填项)');
|
message.success('已保存至列表页(原型:不校验必填项)');
|
||||||
@@ -399,7 +383,7 @@ const Component = function () {
|
|||||||
{ title: '接收信息', style: { marginBottom: 16 } },
|
{ title: '接收信息', style: { marginBottom: 16 } },
|
||||||
React.createElement(
|
React.createElement(
|
||||||
'div',
|
'div',
|
||||||
{ style: { display: 'grid', gridTemplateColumns: '1fr 1fr 1fr', gap: '16px 24px', alignItems: 'start' } },
|
{ style: { display: 'grid', gridTemplateColumns: '1fr 1fr', gap: '16px 24px', alignItems: 'start' } },
|
||||||
React.createElement(
|
React.createElement(
|
||||||
'div',
|
'div',
|
||||||
{ style: formItemStyle },
|
{ style: formItemStyle },
|
||||||
@@ -415,29 +399,8 @@ const Component = function () {
|
|||||||
status: errors.receiveTime ? 'error' : undefined
|
status: errors.receiveTime ? 'error' : undefined
|
||||||
}),
|
}),
|
||||||
errors.receiveTime ? React.createElement('div', { style: { marginTop: 4, color: '#ff4d4f', fontSize: 12 } }, errors.receiveTime) : null
|
errors.receiveTime ? React.createElement('div', { style: { marginTop: 4, color: '#ff4d4f', fontSize: 12 } }, errors.receiveTime) : null
|
||||||
)
|
|
||||||
,
|
|
||||||
React.createElement(
|
|
||||||
'div',
|
|
||||||
{ style: formItemStyle },
|
|
||||||
React.createElement('div', { style: labelStyle }, reqStar, '接收区域'),
|
|
||||||
React.createElement(Select, {
|
|
||||||
placeholder: '请选择接收区域',
|
|
||||||
style: controlStyle,
|
|
||||||
value: receiveAreaType,
|
|
||||||
onChange: function (v) {
|
|
||||||
setReceiveAreaType(v);
|
|
||||||
setReceiveParking(undefined);
|
|
||||||
setReceiveAddress('');
|
|
||||||
},
|
|
||||||
allowClear: true,
|
|
||||||
options: [{ value: '停车场', label: '停车场' }, { value: '其他', label: '其他' }],
|
|
||||||
status: errors.receiveAreaType ? 'error' : undefined
|
|
||||||
}),
|
|
||||||
errors.receiveAreaType ? React.createElement('div', { style: { marginTop: 4, color: '#ff4d4f', fontSize: 12 } }, errors.receiveAreaType) : null
|
|
||||||
),
|
),
|
||||||
receiveAreaType === '停车场'
|
React.createElement(
|
||||||
? React.createElement(
|
|
||||||
'div',
|
'div',
|
||||||
{ style: formItemStyle },
|
{ style: formItemStyle },
|
||||||
React.createElement('div', { style: labelStyle }, reqStar, '停车场'),
|
React.createElement('div', { style: labelStyle }, reqStar, '停车场'),
|
||||||
@@ -454,26 +417,6 @@ const Component = function () {
|
|||||||
}),
|
}),
|
||||||
errors.receiveParking ? React.createElement('div', { style: { marginTop: 4, color: '#ff4d4f', fontSize: 12 } }, errors.receiveParking) : null
|
errors.receiveParking ? React.createElement('div', { style: { marginTop: 4, color: '#ff4d4f', fontSize: 12 } }, errors.receiveParking) : null
|
||||||
)
|
)
|
||||||
: receiveAreaType === '其他'
|
|
||||||
? React.createElement(
|
|
||||||
'div',
|
|
||||||
{ style: formItemStyle },
|
|
||||||
React.createElement('div', { style: labelStyle }, reqStar, '停车地址'),
|
|
||||||
React.createElement(Input, {
|
|
||||||
placeholder: '请输入停车地址',
|
|
||||||
style: controlStyle,
|
|
||||||
value: receiveAddress,
|
|
||||||
onChange: function (e) { setReceiveAddress(e.target.value); },
|
|
||||||
status: errors.receiveAddress ? 'error' : undefined
|
|
||||||
}),
|
|
||||||
errors.receiveAddress ? React.createElement('div', { style: { marginTop: 4, color: '#ff4d4f', fontSize: 12 } }, errors.receiveAddress) : null
|
|
||||||
)
|
|
||||||
: React.createElement(
|
|
||||||
'div',
|
|
||||||
{ style: formItemStyle },
|
|
||||||
React.createElement('div', { style: labelStyle }, '停车场/停车地址'),
|
|
||||||
React.createElement(Input, { placeholder: '请先选择接收区域', style: controlStyle, disabled: true })
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
|
|
||||||
|
|||||||
@@ -14,15 +14,9 @@ const Component = function () {
|
|||||||
var DatePicker = antd.DatePicker;
|
var DatePicker = antd.DatePicker;
|
||||||
var Input = antd.Input;
|
var Input = antd.Input;
|
||||||
var Modal = antd.Modal;
|
var Modal = antd.Modal;
|
||||||
var Select = antd.Select;
|
|
||||||
var Table = antd.Table;
|
var Table = antd.Table;
|
||||||
var message = antd.message;
|
var message = antd.message;
|
||||||
|
|
||||||
function filterOption(input, option) {
|
|
||||||
var label = (option && (option.label || option.children)) || '';
|
|
||||||
return String(label).toLowerCase().indexOf(String(input || '').toLowerCase()) >= 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
function parseDateTime(s) {
|
function parseDateTime(s) {
|
||||||
var str = String(s || '').trim();
|
var str = String(s || '').trim();
|
||||||
if (!str) return null;
|
if (!str) return null;
|
||||||
@@ -46,9 +40,7 @@ const Component = function () {
|
|||||||
transportPhone: '13800138000',
|
transportPhone: '13800138000',
|
||||||
receivePersonName: '王芳',
|
receivePersonName: '王芳',
|
||||||
receiveTimeStr: '2026-04-01 15:20',
|
receiveTimeStr: '2026-04-01 15:20',
|
||||||
receiveAreaType: '停车场',
|
|
||||||
receiveParkingName: '西湖景区停车场',
|
receiveParkingName: '西湖景区停车场',
|
||||||
receiveAddress: '',
|
|
||||||
transferVehicles: [
|
transferVehicles: [
|
||||||
{
|
{
|
||||||
id: 1,
|
id: 1,
|
||||||
@@ -90,15 +82,6 @@ const Component = function () {
|
|||||||
|
|
||||||
var snapshot = useMemo(function () { return getMockSnapshot(); }, []);
|
var snapshot = useMemo(function () { return getMockSnapshot(); }, []);
|
||||||
|
|
||||||
var parkingOptions = useMemo(function () {
|
|
||||||
return [
|
|
||||||
{ value: '西湖景区停车场', label: '西湖景区停车场' },
|
|
||||||
{ value: '宁波江北停车场', label: '宁波江北停车场' },
|
|
||||||
{ value: '张江园区停车场', label: '张江园区停车场' },
|
|
||||||
{ value: '天河智慧停车场', label: '天河智慧停车场' }
|
|
||||||
];
|
|
||||||
}, []);
|
|
||||||
|
|
||||||
var requirementModalState = useState(false);
|
var requirementModalState = useState(false);
|
||||||
var requirementModalOpen = requirementModalState[0];
|
var requirementModalOpen = requirementModalState[0];
|
||||||
var setRequirementModalOpen = requirementModalState[1];
|
var setRequirementModalOpen = requirementModalState[1];
|
||||||
@@ -109,7 +92,7 @@ const Component = function () {
|
|||||||
'参照「调拨管理-接收信息-司机运输」页面结构生成查看页:',
|
'参照「调拨管理-接收信息-司机运输」页面结构生成查看页:',
|
||||||
'1.调拨情况(只读)',
|
'1.调拨情况(只读)',
|
||||||
'2.调拨信息(只读)',
|
'2.调拨信息(只读)',
|
||||||
'3.接收信息(只读)',
|
'3.接收信息(只读):接收时间、停车场(直接展示所选停车场名称)',
|
||||||
'4.调拨车辆清单(只读,包含到达时里程/氢量/电量)',
|
'4.调拨车辆清单(只读,包含到达时里程/氢量/电量)',
|
||||||
'5.底部按钮仅保留「返回」。'
|
'5.底部按钮仅保留「返回」。'
|
||||||
].join('\n');
|
].join('\n');
|
||||||
@@ -247,7 +230,7 @@ const Component = function () {
|
|||||||
{ title: '接收信息', style: { marginBottom: 16 } },
|
{ title: '接收信息', style: { marginBottom: 16 } },
|
||||||
React.createElement(
|
React.createElement(
|
||||||
'div',
|
'div',
|
||||||
{ style: { display: 'grid', gridTemplateColumns: '1fr 1fr 1fr', gap: '16px 24px', alignItems: 'start' } },
|
{ style: { display: 'grid', gridTemplateColumns: '1fr 1fr', gap: '16px 24px', alignItems: 'start' } },
|
||||||
React.createElement(
|
React.createElement(
|
||||||
'div',
|
'div',
|
||||||
{ style: formItemStyle },
|
{ style: formItemStyle },
|
||||||
@@ -263,45 +246,15 @@ const Component = function () {
|
|||||||
})
|
})
|
||||||
),
|
),
|
||||||
React.createElement(
|
React.createElement(
|
||||||
'div',
|
|
||||||
{ style: formItemStyle },
|
|
||||||
React.createElement('div', { style: labelStyle }, '接收区域'),
|
|
||||||
React.createElement(Select, {
|
|
||||||
placeholder: '-',
|
|
||||||
style: controlStyle,
|
|
||||||
value: snapshot.receiveAreaType,
|
|
||||||
disabled: true,
|
|
||||||
options: [{ value: '停车场', label: '停车场' }, { value: '其他', label: '其他' }]
|
|
||||||
})
|
|
||||||
),
|
|
||||||
snapshot.receiveAreaType === '停车场'
|
|
||||||
? React.createElement(
|
|
||||||
'div',
|
'div',
|
||||||
{ style: formItemStyle },
|
{ style: formItemStyle },
|
||||||
React.createElement('div', { style: labelStyle }, '停车场'),
|
React.createElement('div', { style: labelStyle }, '停车场'),
|
||||||
React.createElement(Select, {
|
React.createElement(Input, {
|
||||||
placeholder: '-',
|
value: snapshot.receiveParkingName || '—',
|
||||||
style: controlStyle,
|
readOnly: true,
|
||||||
value: snapshot.receiveParkingName,
|
style: readOnlyStyle
|
||||||
disabled: true,
|
|
||||||
showSearch: true,
|
|
||||||
options: parkingOptions,
|
|
||||||
filterOption: filterOption
|
|
||||||
})
|
})
|
||||||
)
|
)
|
||||||
: snapshot.receiveAreaType === '其他'
|
|
||||||
? React.createElement(
|
|
||||||
'div',
|
|
||||||
{ style: formItemStyle },
|
|
||||||
React.createElement('div', { style: labelStyle }, '停车地址'),
|
|
||||||
React.createElement(Input, { style: controlStyle, value: snapshot.receiveAddress || '-', readOnly: true, style: readOnlyStyle })
|
|
||||||
)
|
|
||||||
: React.createElement(
|
|
||||||
'div',
|
|
||||||
{ style: formItemStyle },
|
|
||||||
React.createElement('div', { style: labelStyle }, '停车场/停车地址'),
|
|
||||||
React.createElement(Input, { placeholder: '-', style: controlStyle, disabled: true })
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
|
|
||||||
|
|||||||
@@ -54,9 +54,7 @@ const Component = function () {
|
|||||||
receivePersonName: '王芳',
|
receivePersonName: '王芳',
|
||||||
receiveInfo: {
|
receiveInfo: {
|
||||||
receiveTime: '2026-04-02',
|
receiveTime: '2026-04-02',
|
||||||
receiveAreaType: '停车场',
|
receiveParking: 'p3'
|
||||||
receiveParking: 'p3',
|
|
||||||
receiveAddress: ''
|
|
||||||
},
|
},
|
||||||
transferVehicles: [
|
transferVehicles: [
|
||||||
{ id: 1, brand: '小鹏', model: 'P7', plateNo: '浙A11111', departParking: '西湖景区停车场' },
|
{ id: 1, brand: '小鹏', model: 'P7', plateNo: '浙A11111', departParking: '西湖景区停车场' },
|
||||||
@@ -93,18 +91,10 @@ const Component = function () {
|
|||||||
var receiveTime = receiveTimeState[0];
|
var receiveTime = receiveTimeState[0];
|
||||||
var setReceiveTime = receiveTimeState[1];
|
var setReceiveTime = receiveTimeState[1];
|
||||||
|
|
||||||
var receiveAreaTypeState = useState(snapshot.receiveInfo && snapshot.receiveInfo.receiveAreaType ? snapshot.receiveInfo.receiveAreaType : undefined);
|
|
||||||
var receiveAreaType = receiveAreaTypeState[0];
|
|
||||||
var setReceiveAreaType = receiveAreaTypeState[1];
|
|
||||||
|
|
||||||
var receiveParkingState = useState(snapshot.receiveInfo && snapshot.receiveInfo.receiveParking ? snapshot.receiveInfo.receiveParking : undefined);
|
var receiveParkingState = useState(snapshot.receiveInfo && snapshot.receiveInfo.receiveParking ? snapshot.receiveInfo.receiveParking : undefined);
|
||||||
var receiveParking = receiveParkingState[0];
|
var receiveParking = receiveParkingState[0];
|
||||||
var setReceiveParking = receiveParkingState[1];
|
var setReceiveParking = receiveParkingState[1];
|
||||||
|
|
||||||
var receiveAddressState = useState(snapshot.receiveInfo && snapshot.receiveInfo.receiveAddress ? snapshot.receiveInfo.receiveAddress : '');
|
|
||||||
var receiveAddress = receiveAddressState[0];
|
|
||||||
var setReceiveAddress = receiveAddressState[1];
|
|
||||||
|
|
||||||
var vehiclesState = useState(function () {
|
var vehiclesState = useState(function () {
|
||||||
return buildVehicleRows(snapshot);
|
return buildVehicleRows(snapshot);
|
||||||
});
|
});
|
||||||
@@ -142,7 +132,7 @@ const Component = function () {
|
|||||||
'',
|
'',
|
||||||
'1.调拨情况:调拨日期、出发区域、接收区域、调拨原因为只读反写;',
|
'1.调拨情况:调拨日期、出发区域、接收区域、调拨原因为只读反写;',
|
||||||
'2.调拨信息:调拨方式、运输负责人、运输方联系方式、运输费用、运输合同附件、接收人员为只读反写;',
|
'2.调拨信息:调拨方式、运输负责人、运输方联系方式、运输费用、运输合同附件、接收人员为只读反写;',
|
||||||
'3.接收信息:接收时间、接收区域、停车场/停车地址可编辑;',
|
'3.接收信息:接收时间、停车场(直接选择)可编辑;',
|
||||||
'4.底部按钮:提交、保存、取消。保存不校验必填项,提交校验必填项。'
|
'4.底部按钮:提交、保存、取消。保存不校验必填项,提交校验必填项。'
|
||||||
].join('\n');
|
].join('\n');
|
||||||
|
|
||||||
@@ -167,13 +157,7 @@ const Component = function () {
|
|||||||
function runValidate() {
|
function runValidate() {
|
||||||
var e = {};
|
var e = {};
|
||||||
if (!receiveTime) e.receiveTime = '请选择接收时间';
|
if (!receiveTime) e.receiveTime = '请选择接收时间';
|
||||||
if (!receiveAreaType) e.receiveAreaType = '请选择接收区域';
|
|
||||||
if (receiveAreaType === '停车场') {
|
|
||||||
if (!receiveParking) e.receiveParking = '请选择停车场';
|
if (!receiveParking) e.receiveParking = '请选择停车场';
|
||||||
}
|
|
||||||
if (receiveAreaType === '其他') {
|
|
||||||
if (!String(receiveAddress || '').trim()) e.receiveAddress = '请输入停车地址';
|
|
||||||
}
|
|
||||||
setErrors(e);
|
setErrors(e);
|
||||||
return { ok: Object.keys(e).length === 0, err: e };
|
return { ok: Object.keys(e).length === 0, err: e };
|
||||||
}
|
}
|
||||||
@@ -193,7 +177,7 @@ const Component = function () {
|
|||||||
message.success('已提交(原型)');
|
message.success('已提交(原型)');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}, [receiveTime, receiveAreaType, receiveParking, receiveAddress]);
|
}, [receiveTime, receiveParking]);
|
||||||
|
|
||||||
var handleSave = useCallback(function () {
|
var handleSave = useCallback(function () {
|
||||||
var nowStr = '';
|
var nowStr = '';
|
||||||
@@ -418,7 +402,7 @@ const Component = function () {
|
|||||||
{ title: '接收信息', style: { marginBottom: 16 } },
|
{ title: '接收信息', style: { marginBottom: 16 } },
|
||||||
React.createElement(
|
React.createElement(
|
||||||
'div',
|
'div',
|
||||||
{ style: { display: 'grid', gridTemplateColumns: '1fr 1fr 1fr', gap: '16px 24px', alignItems: 'start' } },
|
{ style: { display: 'grid', gridTemplateColumns: '1fr 1fr', gap: '16px 24px', alignItems: 'start' } },
|
||||||
React.createElement(
|
React.createElement(
|
||||||
'div',
|
'div',
|
||||||
{ style: formItemStyle },
|
{ style: formItemStyle },
|
||||||
@@ -436,26 +420,6 @@ const Component = function () {
|
|||||||
errors.receiveTime ? React.createElement('div', { style: { marginTop: 4, color: '#ff4d4f', fontSize: 12 } }, errors.receiveTime) : null
|
errors.receiveTime ? React.createElement('div', { style: { marginTop: 4, color: '#ff4d4f', fontSize: 12 } }, errors.receiveTime) : null
|
||||||
),
|
),
|
||||||
React.createElement(
|
React.createElement(
|
||||||
'div',
|
|
||||||
{ style: formItemStyle },
|
|
||||||
React.createElement('div', { style: labelStyle }, reqStar, '接收区域'),
|
|
||||||
React.createElement(Select, {
|
|
||||||
placeholder: '请选择接收区域',
|
|
||||||
style: controlStyle,
|
|
||||||
value: receiveAreaType,
|
|
||||||
onChange: function (v) {
|
|
||||||
setReceiveAreaType(v);
|
|
||||||
setReceiveParking(undefined);
|
|
||||||
setReceiveAddress('');
|
|
||||||
},
|
|
||||||
allowClear: true,
|
|
||||||
options: [{ value: '停车场', label: '停车场' }, { value: '其他', label: '其他' }],
|
|
||||||
status: errors.receiveAreaType ? 'error' : undefined
|
|
||||||
}),
|
|
||||||
errors.receiveAreaType ? React.createElement('div', { style: { marginTop: 4, color: '#ff4d4f', fontSize: 12 } }, errors.receiveAreaType) : null
|
|
||||||
),
|
|
||||||
receiveAreaType === '停车场'
|
|
||||||
? React.createElement(
|
|
||||||
'div',
|
'div',
|
||||||
{ style: formItemStyle },
|
{ style: formItemStyle },
|
||||||
React.createElement('div', { style: labelStyle }, reqStar, '停车场'),
|
React.createElement('div', { style: labelStyle }, reqStar, '停车场'),
|
||||||
@@ -472,26 +436,6 @@ const Component = function () {
|
|||||||
}),
|
}),
|
||||||
errors.receiveParking ? React.createElement('div', { style: { marginTop: 4, color: '#ff4d4f', fontSize: 12 } }, errors.receiveParking) : null
|
errors.receiveParking ? React.createElement('div', { style: { marginTop: 4, color: '#ff4d4f', fontSize: 12 } }, errors.receiveParking) : null
|
||||||
)
|
)
|
||||||
: receiveAreaType === '其他'
|
|
||||||
? React.createElement(
|
|
||||||
'div',
|
|
||||||
{ style: formItemStyle },
|
|
||||||
React.createElement('div', { style: labelStyle }, reqStar, '停车地址'),
|
|
||||||
React.createElement(Input, {
|
|
||||||
placeholder: '请输入停车地址',
|
|
||||||
style: controlStyle,
|
|
||||||
value: receiveAddress,
|
|
||||||
onChange: function (e) { setReceiveAddress(e.target.value); },
|
|
||||||
status: errors.receiveAddress ? 'error' : undefined
|
|
||||||
}),
|
|
||||||
errors.receiveAddress ? React.createElement('div', { style: { marginTop: 4, color: '#ff4d4f', fontSize: 12 } }, errors.receiveAddress) : null
|
|
||||||
)
|
|
||||||
: React.createElement(
|
|
||||||
'div',
|
|
||||||
{ style: formItemStyle },
|
|
||||||
React.createElement('div', { style: labelStyle }, '停车场/停车地址'),
|
|
||||||
React.createElement(Input, { placeholder: '请先选择接收区域', style: controlStyle, disabled: true })
|
|
||||||
)
|
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user