fix:打手端/我的订单/验收:验收视频和验收图片至少上传一个就好了,其他逻辑按照上传图片走

This commit is contained in:
2026-10-25 16:45:38 +08:00
parent 6993c36efb
commit 60fe00b28c
4 changed files with 55 additions and 34 deletions
@@ -267,17 +267,18 @@ export function WorkerOrderModals({
<Form.Item
label="验收图片"
required={
!editingOrder ||
canSupplementAcceptedEvidence(editingOrder) ||
!canAutoAcceptOrder(editingOrder, workerCanAutoAcceptWithoutEvidence)
!acceptanceVideo &&
(!editingOrder ||
canSupplementAcceptedEvidence(editingOrder) ||
!canAutoAcceptOrder(editingOrder, workerCanAutoAcceptWithoutEvidence))
}
extra={
editingOrder && canSupplementAcceptedEvidence(editingOrder)
? '仅可追加新图片,原有验收图片会保留。'
: editingOrder &&
canAutoAcceptOrder(editingOrder, workerCanAutoAcceptWithoutEvidence)
? 'VIP 免审核可先提交,验收后需在 24 小时内补充图片。'
: undefined
? 'VIP 免审核可先提交,验收后需在 24 小时内补充图片或视频。'
: '验收图片与验收视频至少上传一个,已上传视频时图片可不填。'
}
>
<ImageUpload
@@ -290,8 +291,8 @@ export function WorkerOrderModals({
/>
</Form.Item>
<Form.Item
label="验收视频(选填)"
extra="选片后会在本机压到 720p 再上传;已提交的验收只能替换视频,不能删除。"
label="验收视频"
extra="与验收图片至少上传一个;选片后会在本机压到 720p 再上传;已提交的验收只能替换视频,不能删除。"
>
<VideoUpload value={acceptanceVideo} onChange={onAcceptanceVideoChange} />
</Form.Item>
@@ -518,8 +518,10 @@ export default function WorkerOrdersPage() {
}
const canAutoAccept = canAutoAcceptOrder(editingOrder, workerCanAutoAcceptWithoutEvidence)
if (acceptanceFiles.length === 0 && !canAutoAccept) {
message.error('请上传验收图片')
// 验收图片与验收视频至少上传一个;有视频时视同有图片,后续口径完全一致。
const hasEvidence = acceptanceFiles.length > 0 || Boolean(acceptanceVideo)
if (!hasEvidence && !canAutoAccept) {
message.error('请上传验收图片或验收视频')
return
}
try {
@@ -529,7 +531,14 @@ export default function WorkerOrdersPage() {
video: acceptanceVideo,
...(editingShareId ? { shareId: editingShareId } : {}),
})
message.success(canAutoAccept ? '已自动验收,可在 24 小时内补充图片' : '已提交验收')
// 已有图片或视频时证据即算齐备,不再提示补图。
message.success(
canAutoAccept
? hasEvidence
? '已自动验收'
: '已自动验收,可在 24 小时内补充图片或视频'
: '已提交验收',
)
setEditingOrder(null)
setAcceptanceFiles([])
setAcceptanceVideo(null)
@@ -543,8 +552,8 @@ export default function WorkerOrdersPage() {
async function saveAcceptanceImages(values: AcceptanceFormValues) {
if (!editingOrder) return
if (hasSubmittedAcceptance(editingOrder) && acceptanceFiles.length === 0) {
message.error('请至少保留一张验收图片')
if (hasSubmittedAcceptance(editingOrder) && acceptanceFiles.length === 0 && !acceptanceVideo) {
message.error('请至少保留一张验收图片或一段验收视频')
return
}
try {