运维/交车:交车单页、交车明细样例、备车/查看页重命名及需求说明更新

Made-with: Cursor
This commit is contained in:
王冕
2026-03-16 14:08:27 +08:00
parent fc86688beb
commit e842a778a4
13 changed files with 909 additions and 162 deletions

View File

@@ -250,10 +250,29 @@ const Component = function () {
});
}, []);
function validateForm() {
if (form.bodyAd && (!form.adPhotos || form.adPhotos.length < 1)) { message.warning('请上传广告照片'); return false; }
if (form.bodyAd && (!form.enlargePhotos || form.enlargePhotos.length < 1)) { message.warning('请上传放大字照片'); return false; }
if (!form.spareTirePhotos || form.spareTirePhotos.length < 1) { message.warning('请上传备胎照片'); return false; }
if (!String(form.spareTireTreadDepth || '').trim()) { message.warning('请填写备胎胎纹深度'); return false; }
var list = form.inspectionList || [];
for (var i = 0; i < list.length; i++) {
if (list[i].category === '轮胎' && !String(list[i].treadDepth || '').trim()) {
message.warning('请完善备车检查单:填写轮胎胎纹深度');
return false;
}
if (!String(list[i].remark || '').trim()) {
message.warning('请完善备车检查单:所有项备注为必填');
return false;
}
}
return true;
}
var handleSave = useCallback(function () {
if (!validateForm()) return;
message.success('提交成功(原型)');
if (typeof window !== 'undefined' && window.history) window.history.back();
}, []);
}, [form.spareTirePhotos, form.spareTireTreadDepth, form.inspectionList]);
var handleSaveDraft = useCallback(function () {
message.success('保存成功(原型)');
}, []);
@@ -326,6 +345,8 @@ const Component = function () {
}
return React.createElement(Switch, {
checked: record.checked !== false,
checkedChildren: '正常',
unCheckedChildren: '异常',
onChange: function (checked) { updateInspection(index, 'checked', checked); }
});
}
@@ -338,7 +359,7 @@ const Component = function () {
return React.createElement(Input, {
value: val,
onChange: function (e) { updateInspection(index, 'remark', e.target.value); },
placeholder: '备注'
placeholder: '必填'
});
}
}
@@ -390,17 +411,17 @@ const Component = function () {
)
),
React.createElement('div', { style: styles.formRow },
React.createElement(FormItem, { label: '车身广告及放大字' },
React.createElement(FormItem, { label: '车身广告及放大字', required: true },
React.createElement(Switch, {
checked: form.bodyAd,
checkedChildren: '',
unCheckedChildren: '',
checkedChildren: '',
unCheckedChildren: '',
onChange: function (checked) {
setForm(function (p) { var n = {}; for (var k in p) n[k] = p[k]; n.bodyAd = checked; return n; });
}
})
),
React.createElement(FormItem, { label: '广告照片' },
form.bodyAd ? React.createElement(FormItem, { label: '广告照片', required: true },
React.createElement('div', { style: { display: 'flex', flexWrap: 'wrap', alignItems: 'center', gap: 8 } },
React.createElement('input', { type: 'file', ref: adPhotoInputRef, accept: 'image/*', style: { display: 'none' }, onChange: onAdPhotoFileChange }),
(form.adPhotos || []).length < 1 ? cameraIconBox(addAdPhoto) : null,
@@ -419,8 +440,8 @@ const Component = function () {
);
})
)
),
React.createElement(FormItem, { label: '放大字照片' },
) : null,
form.bodyAd ? React.createElement(FormItem, { label: '放大字照片', required: true },
React.createElement('div', { style: { display: 'flex', flexWrap: 'wrap', alignItems: 'center', gap: 8 } },
React.createElement('input', { type: 'file', ref: enlargePhotoInputRef, accept: 'image/*', style: { display: 'none' }, onChange: onEnlargePhotoFileChange }),
(form.enlargePhotos || []).length < 1 ? cameraIconBox(addEnlargePhoto) : null,
@@ -439,20 +460,20 @@ const Component = function () {
);
})
)
)
) : null
),
React.createElement('div', { style: styles.formRow },
React.createElement(FormItem, { label: '尾板' },
React.createElement(FormItem, { label: '尾板', required: true },
React.createElement(Switch, {
checked: form.tailboard,
checkedChildren: '',
unCheckedChildren: '',
checkedChildren: '',
unCheckedChildren: '',
onChange: function (checked) {
setForm(function (p) { var n = {}; for (var k in p) n[k] = p[k]; n.tailboard = checked; return n; });
}
})
),
React.createElement(FormItem, { label: '备胎照片' },
React.createElement(FormItem, { label: '备胎照片', required: true },
React.createElement('div', { style: { display: 'flex', flexWrap: 'wrap', alignItems: 'center', gap: 8 } },
React.createElement('input', { type: 'file', ref: spareTirePhotoInputRef, accept: 'image/*', style: { display: 'none' }, onChange: onSpareTirePhotoFileChange }),
(form.spareTirePhotos || []).length < 1 ? cameraIconBox(addSpareTirePhoto) : null,
@@ -472,7 +493,7 @@ const Component = function () {
})
)
),
React.createElement(FormItem, { label: '备胎胎纹深度' },
React.createElement(FormItem, { label: '备胎胎纹深度', required: true },
React.createElement(Input, {
value: form.spareTireTreadDepth,
onChange: function (e) { setForm(function (p) { var n = {}; for (var k in p) n[k] = p[k]; n.spareTireTreadDepth = e.target.value; return n; }); },
@@ -505,7 +526,7 @@ const Component = function () {
)
),
React.createElement('div', { style: styles.formRow },
React.createElement(FormItem, { label: '车辆检查', fullWidth: true },
React.createElement(FormItem, { label: '车辆检查', fullWidth: true, required: true },
React.createElement(Button, { type: 'default', onClick: function () { drawerOpenState[1](true); } }, '备车检查单')
)
)