fix(web): 调拨接收信息改为直接选择停车场并同步查看页

- 接收信息去掉「接收区域」及停车地址分支,仅保留接收时间与停车场下拉
- 运维(接收)编辑、第三方/司机运输接收信息、查看页与需求说明文案对齐

Made-with: Cursor
This commit is contained in:
王冕
2026-04-02 18:10:33 +08:00
parent 2018e34473
commit 2681b12050
4 changed files with 54 additions and 271 deletions

View File

@@ -73,18 +73,10 @@ const Component = function () {
var receiveTime = receiveTimeState[0];
var setReceiveTime = receiveTimeState[1];
var receiveAreaTypeState = useState(undefined);
var receiveAreaType = receiveAreaTypeState[0];
var setReceiveAreaType = receiveAreaTypeState[1];
var receiveParkingState = useState(undefined);
var receiveParking = receiveParkingState[0];
var setReceiveParking = receiveParkingState[1];
var receiveAddressState = useState('');
var receiveAddress = receiveAddressState[0];
var setReceiveAddress = receiveAddressState[1];
var vehiclesState = useState(function () {
return buildVehicleRows(getMockSnapshot());
});
@@ -130,9 +122,7 @@ const Component = function () {
'',
'3.接收信息:',
'3.1.接收时间日期选择器精确至天格式YYYY-MM-DD',
'3.2.接收区域:选择器,选项为:停车场、其他',
'3.3.停车场:必填项,选择器,选择已有停车场,接收区域为停车场时显示;',
'3.4.停车地址:必填项,输入框,支持自定义输入,接收区域为其他时显示;',
'3.2.停车场:必填项,选择器,直接选择已有停车场',
'',
'4.调拨车辆清单;',
'#以表格方式展示,反写新增调拨时的整个清单:',
@@ -141,7 +131,7 @@ const Component = function () {
'4.3.车牌号:反写调拨信息提交时的车牌号;显示该车辆对应停车场;',
'',
'5.底部按钮为提交、保存、取消;',
'5.1.提交:点击提交校验必填项;提交后,调拨车辆清单中车辆停车区域会更新至接收区域对应停车场/停车地址',
'5.1.提交:点击提交校验必填项;提交后,调拨车辆清单中车辆停车区域会更新至所选停车场',
'5.2.保存:不校验必填项,只保存已填数据并保存在列表页;'
].join('\n');
@@ -166,13 +156,7 @@ const Component = function () {
function runValidate() {
var e = {};
if (!receiveTime) e.receiveTime = '请选择接收时间';
if (!receiveAreaType) e.receiveAreaType = '请选择接收区域';
if (receiveAreaType === '停车场') {
if (!receiveParking) e.receiveParking = '请选择停车场';
}
if (receiveAreaType === '其他') {
if (!String(receiveAddress || '').trim()) e.receiveAddress = '请输入停车地址';
}
if (!receiveParking) e.receiveParking = '请选择停车场';
setErrors(e);
return { ok: Object.keys(e).length === 0, err: e };
}
@@ -192,7 +176,7 @@ const Component = function () {
message.success('已提交(原型)');
}
});
}, [receiveTime, receiveAreaType, receiveParking, receiveAddress]);
}, [receiveTime, receiveParking]);
var handleSave = useCallback(function () {
message.success('已保存至列表页(原型:不校验必填项)');
@@ -399,7 +383,7 @@ const Component = function () {
{ title: '接收信息', style: { marginBottom: 16 } },
React.createElement(
'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(
'div',
{ style: formItemStyle },
@@ -415,65 +399,24 @@ const Component = function () {
status: errors.receiveTime ? 'error' : undefined
}),
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('div', { style: labelStyle }, reqStar, '停车场'),
React.createElement(Select, {
placeholder: '请选择接收区域',
placeholder: '请选择停车场',
style: controlStyle,
value: receiveAreaType,
onChange: function (v) {
setReceiveAreaType(v);
setReceiveParking(undefined);
setReceiveAddress('');
},
value: receiveParking,
onChange: function (v) { setReceiveParking(v); },
allowClear: true,
options: [{ value: '停车场', label: '停车场' }, { value: '其他', label: '其他' }],
status: errors.receiveAreaType ? 'error' : undefined
showSearch: true,
options: parkingOptions,
filterOption: filterOption,
status: errors.receiveParking ? 'error' : undefined
}),
errors.receiveAreaType ? React.createElement('div', { style: { marginTop: 4, color: '#ff4d4f', fontSize: 12 } }, errors.receiveAreaType) : null
),
receiveAreaType === '停车场'
? React.createElement(
'div',
{ style: formItemStyle },
React.createElement('div', { style: labelStyle }, reqStar, '停车场'),
React.createElement(Select, {
placeholder: '请选择停车场',
style: controlStyle,
value: receiveParking,
onChange: function (v) { setReceiveParking(v); },
allowClear: true,
showSearch: true,
options: parkingOptions,
filterOption: filterOption,
status: errors.receiveParking ? 'error' : undefined
}),
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 })
)
errors.receiveParking ? React.createElement('div', { style: { marginTop: 4, color: '#ff4d4f', fontSize: 12 } }, errors.receiveParking) : null
)
)
),