style(web): 更新差旅报销创建页面样式和业务脚本,增强前端交互和状态管理

This commit is contained in:
caoxiaozhu
2026-05-14 15:43:10 +00:00
parent 98f68c47b0
commit 7209c75ad8
5 changed files with 651 additions and 72 deletions

View File

@@ -7,8 +7,8 @@ import {
deleteExpenseClaimItem,
deleteExpenseClaimItemAttachment,
deleteExpenseClaim,
fetchExpenseClaimItemAttachment,
fetchExpenseClaimItemAttachmentMeta,
fetchExpenseClaimItemAttachmentPreview,
submitExpenseClaim,
uploadExpenseClaimItemAttachment,
updateExpenseClaimItem
@@ -894,10 +894,14 @@ export default {
attachmentPreviewOpen.value = true
attachmentPreviewLoading.value = true
attachmentPreviewName.value = resolveAttachmentDisplayName(item)
attachmentPreviewMediaType.value = String(resolveAttachmentMeta(item)?.media_type || '').trim()
const metadata = resolveAttachmentMeta(item)
attachmentPreviewMediaType.value =
String(metadata?.preview_kind || '').trim() === 'image'
? 'image/png'
: String(metadata?.media_type || '').trim()
try {
const blob = await fetchExpenseClaimItemAttachment(request.value.claimId, item.id)
const blob = await fetchExpenseClaimItemAttachmentPreview(request.value.claimId, item.id)
revokeAttachmentPreviewUrl()
attachmentPreviewUrl.value = URL.createObjectURL(blob)
attachmentPreviewMediaType.value = blob.type || attachmentPreviewMediaType.value
@@ -1139,7 +1143,8 @@ export default {
emit('openAssistant', {
source: 'detail',
prompt: '',
request: request.value
request: request.value,
restoreLatestConversation: true
})
}