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

@@ -54,9 +54,7 @@ const Component = function () {
receivePersonName: '王芳',
receiveInfo: {
receiveTime: '2026-04-02',
receiveAreaType: '停车场',
receiveParking: 'p3',
receiveAddress: ''
receiveParking: 'p3'
},
transferVehicles: [
{ id: 1, brand: '小鹏', model: 'P7', plateNo: '浙A11111', departParking: '西湖景区停车场' },
@@ -93,18 +91,10 @@ const Component = function () {
var receiveTime = receiveTimeState[0];
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 receiveParking = receiveParkingState[0];
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 () {
return buildVehicleRows(snapshot);
});
@@ -142,7 +132,7 @@ const Component = function () {
'',
'1.调拨情况:调拨日期、出发区域、接收区域、调拨原因为只读反写;',
'2.调拨信息:调拨方式、运输负责人、运输方联系方式、运输费用、运输合同附件、接收人员为只读反写;',
'3.接收信息:接收时间、接收区域、停车场/停车地址可编辑;',
'3.接收信息:接收时间、停车场(直接选择)可编辑;',
'4.底部按钮:提交、保存、取消。保存不校验必填项,提交校验必填项。'
].join('\n');
@@ -167,13 +157,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 };
}
@@ -193,7 +177,7 @@ const Component = function () {
message.success('已提交(原型)');
}
});
}, [receiveTime, receiveAreaType, receiveParking, receiveAddress]);
}, [receiveTime, receiveParking]);
var handleSave = useCallback(function () {
var nowStr = '';
@@ -418,7 +402,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 },
@@ -438,60 +422,20 @@ const Component = function () {
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
)
)
),