优化
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
<script setup lang="ts">
|
||||
import { computed, onBeforeUnmount, ref, watch } from 'vue'
|
||||
import { Box, ClipboardCheck, Pencil, RefreshCw } from '@lucide/vue'
|
||||
import { ClipboardCheck, Pencil, RefreshCw } from '@lucide/vue'
|
||||
import { useAccessPreviewStore } from '@/core/access/accessPreview'
|
||||
import { getApiErrorDetails, type ApiErrorDetails } from '@/shared/api/http'
|
||||
import ApiErrorMeta from '@/shared/components/ApiErrorMeta.vue'
|
||||
@@ -103,7 +103,6 @@ onBeforeUnmount(() => {
|
||||
<header class="workspace-header">
|
||||
<div>
|
||||
<div class="workspace-title-row">
|
||||
<span class="workspace-mark" aria-hidden="true"><Box :size="20" /></span>
|
||||
<h2>入库码:{{ title }}</h2>
|
||||
<StatusBadge v-if="detail" :status="statusLabel" />
|
||||
</div>
|
||||
@@ -135,8 +134,8 @@ onBeforeUnmount(() => {
|
||||
<InboundSummaryPanel :summary="detail.summary" :public-remark="detail.publicRemark" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="货品与测量" name="measurement" lazy>
|
||||
<div class="workflow-launch-panel">
|
||||
<div><h3>编辑入库测量数据</h3><p>核对原单数据、确认扫描箱数,并查看服务端计算的重量和体积结果。</p></div>
|
||||
<div class="workflow-action-row">
|
||||
<span>核对原单数据、确认扫描箱数,并查看服务端计算的重量和体积结果。</span>
|
||||
<el-button type="primary" @click="measurementDialogOpen = true"><Pencil :size="16" />编辑测量数据</el-button>
|
||||
</div>
|
||||
<div class="measurement-workflow">
|
||||
@@ -149,8 +148,8 @@ onBeforeUnmount(() => {
|
||||
</div>
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="测量审核" name="review" lazy>
|
||||
<div v-if="canViewMeasurement" class="workflow-launch-panel">
|
||||
<div><h3>审核入库测量数据</h3><p>对照原单、设备实测和称重 OCR 结果后作出审核决定。</p></div>
|
||||
<div v-if="canViewMeasurement" class="workflow-action-row">
|
||||
<span>对照原单、设备实测和称重 OCR 结果后作出审核决定。</span>
|
||||
<el-button type="primary" @click="reviewDialogOpen = true"><ClipboardCheck :size="16" />审核测量数据</el-button>
|
||||
</div>
|
||||
<el-alert
|
||||
@@ -196,7 +195,7 @@ onBeforeUnmount(() => {
|
||||
v-model="measurementDialogOpen"
|
||||
class="inbound-operation-dialog inbound-measurement-dialog"
|
||||
title="编辑入库测量数据"
|
||||
width="min(1900px, calc(100vw - 32px))"
|
||||
width="min(1240px, calc(100vw - 32px))"
|
||||
top="4vh"
|
||||
destroy-on-close
|
||||
:close-on-click-modal="false"
|
||||
@@ -213,7 +212,7 @@ onBeforeUnmount(() => {
|
||||
<template #footer>
|
||||
<div class="inbound-operation-dialog__footer">
|
||||
<el-button @click="measurementDialogOpen = false">取消</el-button>
|
||||
<el-button v-if="measurementPanelRef?.canEdit" type="primary" plain :loading="measurementPanelRef?.saving" :disabled="!measurementPanelRef?.mayMaintain" @click="measurementPanelRef?.saveDraft()">保存确认箱数</el-button>
|
||||
<el-button v-if="measurementPanelRef?.canEdit" type="primary" plain :loading="measurementPanelRef?.saving" :disabled="!measurementPanelRef?.mayMaintain" @click="measurementPanelRef?.saveDraft()">保存测量数据</el-button>
|
||||
<el-button v-if="measurementPanelRef?.canSubmit" type="primary" :loading="measurementPanelRef?.submitting" :disabled="!measurementPanelRef?.maySubmit" @click="measurementPanelRef?.submitForReview()">提交审核</el-button>
|
||||
</div>
|
||||
</template>
|
||||
@@ -223,7 +222,7 @@ onBeforeUnmount(() => {
|
||||
v-model="reviewDialogOpen"
|
||||
class="inbound-operation-dialog inbound-review-dialog"
|
||||
title="审核入库测量数据"
|
||||
width="min(1700px, calc(100vw - 32px))"
|
||||
width="min(1240px, calc(100vw - 32px))"
|
||||
top="4vh"
|
||||
destroy-on-close
|
||||
:close-on-click-modal="false"
|
||||
@@ -254,7 +253,6 @@ onBeforeUnmount(() => {
|
||||
.inbound-workspace { min-width: 0; }
|
||||
.workspace-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 18px 24px 16px; border-bottom: 1px solid var(--cc-border); }
|
||||
.workspace-title-row { display: flex; min-width: 0; align-items: center; flex-wrap: wrap; gap: 10px; }
|
||||
.workspace-mark { display: grid; width: 36px; height: 36px; flex: 0 0 36px; place-items: center; border-radius: 8px; background: #1e293b; color: #fff; }
|
||||
.workspace-title-row h2 { margin: 0; overflow-wrap: anywhere; color: #172033; font-size: 16px; line-height: 1.35; }
|
||||
.workspace-header p { margin: 5px 0 0; color: var(--cc-muted); font-size: 12px; line-height: 1.5; }
|
||||
.workspace-state { margin: 24px; }
|
||||
@@ -266,9 +264,7 @@ onBeforeUnmount(() => {
|
||||
.workflow-tabs :deep(.el-tabs__item) { min-height: 44px; padding: 0 18px; color: #475467; font-size: 13px; font-weight: 500; }
|
||||
.workflow-tabs :deep(.el-tabs__item.is-active) { color: var(--cc-primary); font-weight: 650; }
|
||||
.measurement-workflow { display: grid; min-width: 0; gap: 28px; }
|
||||
.workflow-launch-panel { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 20px; padding: 20px; border: 1px solid var(--cc-border); border-radius: 8px; background: #fff; }
|
||||
.workflow-launch-panel h3 { margin: 0; color: var(--cc-text); font-size: 15px; }
|
||||
.workflow-launch-panel p { margin: 5px 0 0; color: var(--cc-muted); font-size: 12px; line-height: 1.55; }
|
||||
.workflow-action-row { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 16px; padding: 0 0 14px; border-bottom: 1px solid var(--cc-border); color: var(--cc-muted); font-size: 12px; line-height: 1.5; }
|
||||
.inbound-operation-dialog__body { min-width: 0; }
|
||||
.inbound-operation-dialog__footer { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
|
||||
.inbound-operation-dialog__footer :deep(.el-button) { margin-left: 0; }
|
||||
@@ -286,8 +282,8 @@ onBeforeUnmount(() => {
|
||||
.workflow-tabs { padding: 0 16px 16px; }
|
||||
.workflow-tabs :deep(.el-tabs__nav-wrap) { overflow-x: auto; }
|
||||
.workflow-tabs :deep(.el-tabs__item) { min-height: 44px; padding-inline: 14px; }
|
||||
.workflow-launch-panel { align-items: stretch; flex-direction: column; padding: 16px; }
|
||||
.workflow-launch-panel :deep(.el-button) { width: 100%; min-height: 44px; }
|
||||
.workflow-action-row { align-items: stretch; flex-direction: column; }
|
||||
.workflow-action-row :deep(.el-button) { width: 100%; min-height: 44px; }
|
||||
:global(.inbound-operation-dialog.el-dialog) { width: calc(100vw - 20px) !important; max-width: calc(100vw - 20px); height: 92vh; }
|
||||
:global(.inbound-operation-dialog .el-dialog__header) { padding: 16px; }
|
||||
:global(.inbound-operation-dialog .el-dialog__body) { padding: 14px; }
|
||||
|
||||
Reference in New Issue
Block a user