This commit is contained in:
2026-08-18 16:39:44 +08:00
parent 21249d1dde
commit 6ff77e92b2
9 changed files with 114 additions and 67 deletions
@@ -1,15 +1,13 @@
<script setup lang="ts">
import { computed, onMounted, ref } from 'vue'
import { useRoute, useRouter } from 'vue-router'
import { ArrowLeft, FileUp } from '@lucide/vue'
import { FileUp } from '@lucide/vue'
import { ElMessage, type UploadFile } from 'element-plus'
import { useAccessPreviewStore } from '@/core/access/accessPreview'
import { getApiErrorDetails, type ApiErrorDetails } from '@/shared/api/http'
import AdminPage from '@/shared/components/AdminPage.vue'
import ApiErrorMeta from '@/shared/components/ApiErrorMeta.vue'
import OperationErrorToast from '@/shared/components/OperationErrorToast.vue'
import AppDialog from '@/shared/components/AppDialog.vue'
import LoadErrorState from '@/shared/components/LoadErrorState.vue'
import LoadingListDetailDrawer from '../components/LoadingListDetailDrawer.vue'
import {
completeLoadingDeclaration,
@@ -137,12 +135,7 @@ onMounted(() => void loadDetail())
<AdminPage>
<div class="confirmed-loading-detail-page">
<OperationErrorToast :details="customsError" />
<el-button link type="primary" class="back-button" @click="goBack"><ArrowLeft :size="16" />返回列表</el-button>
<LoadErrorState v-if="error && !detail" title="装柜清单详情加载失败" :message="error.message" :loading="loading" @retry="loadDetail">
<template #details><ApiErrorMeta :details="error" /></template>
</LoadErrorState>
<LoadingListDetailDrawer
v-else
mode="confirmed"
:loading="loading"
:detail="detail"
@@ -150,6 +143,7 @@ onMounted(() => void loadDetail())
:can-edit="false"
:can-manage-customs="canManageCustoms"
:customs-saving="customsSaving"
@back="goBack"
@retry="loadDetail"
@attach-customs="openCustomsDocument"
@complete-customs="completeCustomsDocument"
@@ -179,6 +173,5 @@ onMounted(() => void loadDetail())
<style scoped>
.confirmed-loading-detail-page { display: grid; min-width: 0; max-width: 1280px; gap: 16px; }
.back-button { width: fit-content; }
@media (min-width: 1920px) { .confirmed-loading-detail-page { width: 100%; max-width: none; gap: 12px; } }
</style>