64 KiB
Admin 货柜管理样式核对记录
文档职责:仅维护模块范围、业务例外与检查/截图记录。通用样式统一以 Admin 界面规范 为准;下文日期批次中的旧外观不再作为新改造要求。普通样式任务只在涉及本模块范围、例外或验收证据时查阅本文。
拖车预约说明提示清理(2026-10-21)
依据用户本轮拖车预约详情截图:移除说明图标及其提示内容,让页面更清爽。
| 页面 / 操作 | 现有承载与截图依据 | 本次变更 | 验收 |
|---|---|---|---|
| 拖车预约详情 | 原独立详情页;截图中的历史关联快照、拖车费、派车信息 | 删除三处 InlineHelp 及无用导入/样式;共享表单的新建与编辑入口同步移除费用和派车说明 | 定向5文件44项通过;待人工1920×1080、100%截图确认 |
| 拖车预约详情 → 单号去重 | 用户追加截图指出同一提单号显示四次 | 顶部仅保留预约号和状态,删除包含订舱号/提单号/订单号的副标题及历史关联快照行;订舱号在选择框、提单号与仓库在订舱带入信息各保留一处 | 定向5文件44项通过;待人工截图确认 |
保留订舱/供应商业务资料、字段、折叠区、校验、权限、状态操作及真实错误/阻断提示;只对展示位置去重,不改数据或共享提示组件。
本次类型检查、生产构建通过;全量4255项中4254项通过,唯一失败是并行排车文案改动后的 overseas-warehouse/pages/prototypeContract.test.ts:264 仍断言旧提示文字,与本次拖车提示清理无关。报告:工作区 .codex-tmp/trucking-help-cleanup-20261021-tests.json、.codex-tmp/trucking-help-cleanup-20261021-full.json。未改动排车在途文件。
浮层隔离与附件布局复查(2026-10-21)
本轮由用户反馈“推广后弹框混乱、不好用”触发,保留原承载与业务规则;不因定向测试通过关闭人工验收。
| 入口 / 操作 | 代码定位与问题 | 已修范围 | 人工待验 |
|---|---|---|---|
| 船期详情 → 人工补录节点 | CarrierScheduleQueryPanel 的子 AppDialog 原留在父框 DOM 内 |
子框显式挂到 body,保留原宽度、权限和提交 | 普通/全屏、长内容、错误重试、取消重开和父框独立状态 |
| 拖车预约 → 附件 | TruckAttachmentDialog 文件选择区无收缩边界 |
文件区可收缩、长文件名换行,上传/删除按钮不被挤压 | 长文件名、上传失败、全屏与重开 |
| 货柜/预装清单 → 新增模拟柜 | ContainerSimulationCreate 位于 DataTable 工具栏插槽,子框仍是工具栏 DOM 后代 |
显式挂到 body;工具栏公共样式另由公共唯一写者限制作用域 | 两入口普通/全屏、底部按钮尺寸、取消重开与创建失败 |
首两项定向9文件92项通过。模拟柜问题先经真实 DataTable + Element 挂载复现,第二轮4文件75项通过,保留校验、创建、取消与重开行为;公共浮层及工具栏第二轮10文件148项通过,覆盖嵌套表格和子表单密度。总控最终在 db3b5f7157c900b885ade2626014f70c61cb0849 输入上完成全量466文件4255项全部通过、应用类型检查与生产构建通过,1127份源码及配置快照前后一致;证据为 Admin .logs/admin-style-audit-20261021/verification.json 和 full.json。公共框架、独立主题根及工具栏选择器隔离规则统一见风格参考。以上为本地代码验证,人工截图仍待确认,本轮总控未触发发布。
智能装柜跨客户加入与箱数对齐(2026-10-20)
智能装柜嵌套弹框回归(2026-10-21)
| 入口 / 操作 | 当前承载及源码依据 | 本次问题与修复范围 | 人工待验 |
|---|---|---|---|
| 订单 → 智能装柜 → 加入当前柜次 | SmartLoadingDialog → GlobalSmartLoadingView → AppDialog,外层默认全屏且body裁切,内层920px并可全屏 |
二级弹框未声明 append-to-body,实际DOM留在外层裁切/主题范围内;仅二级加入独立挂载,保留失败信息和原输入 |
父子普通/全屏、长成员表、失败保留输入、取消重开、父框状态与滚动 |
| 单柜智能装柜 → 按入仓码分配箱数 | SmartLoadingWorkbenchView.vue,780px确认弹框 |
四列表格右半行又套140px表单标签,标签与资料列错位并压缩输入;改用同一表格标签列并保留必填、上下限和提交 | 普通数量、整组/整托、输入及底部操作 |
本轮不继续修改跨客户装柜后端或权限,保留上一轮修复及错误诊断展示。SmartLoadingCandidateInbounds 的展开内容与主工作台三栏暂未发现新的局部裁切规则;公共AppDialog/主题部位选择器由公共唯一写者处理。当前没有新增真实页面截图,全部视觉项待人工1920×1080、100%确认。
本轮与国内测量、上传直接消费者合并运行定向6文件123项复验通过;装柜部分覆盖 GlobalSmartLoadingView、SmartLoadingWorkbenchView、SmartLoadingDialog。新增实际DOM断言证明二级加入位于外层工作台之外,取消不关闭父框,父子全屏独立,重开恢复原输入初始化;原待审核/普通/整托/同柜组提交、失败保留输入与诊断断言保留。仅两份装柜展示文件有变化,业务脚本一致;普通/全屏高度、滚动、分页及底部按钮实际视觉仍待人工截图,不因自动检查通过宣称验收完成。
用户截图 codex-clipboard-708cec4f-a0c5-4f76-a2f5-8bfceeb998ca.png 反馈确认加入后提示无权限、箱数输入未对齐;原始响应为 A0403 / 客户归属不匹配。源码确认是 SmartLoadingService 将柜次关联订舱的客户快照误作候选/加入/调整的客户白名单,并被前端统一403提示掩盖;不是本次管理员缺少操作权限。
后端移除该旧限制,候选、普通入仓、待审核占位、整托、调整及推荐允许跨客户,仍保留每票权威客户身份、显式筛选、权限、版本、占用、容量及作业门禁。正式语义见阶段三4.3。未改IAM、网关或账号权限,也不修改测试存量数据。
“本次分配箱数”改用与上方相同的原生表格标签列,输入位于其余三列,保留必填语义、原上下限及提交逻辑。加入失败及诊断标识在当前分配弹框内呈现,保留箱数输入;主工作区不重复同一错误。真实缺权限仍按原403拒绝,不自动重试或放宽授权。
经 local-check.ps1 完成前端定向2文件50项测试及类型检查,均通过。后端定向 SmartLoadingServiceTest 的 Maven 检查已完成生产源码编译,但测试编译被工作区另一处 FirstlegDocumentNumberGeneratorTest 的3处旧 JdbcTemplate 构造参数阻断,尚不能认定服务回归通过;未改写该编号重构的在途文件。跨客户候选、普通加入和待审核加入的回归断言已同步。未部署,真实接口与1920×1080、100%缩放下的对齐效果待更新服务后人工确认。
货柜详情截图反馈(2026-10-20)
依据用户截图 codex-clipboard-3e6e27f8-10fe-4b74-93a3-0bcd5ead5a11.png,本次只调整共享货柜详情及其实际消费的异常、履约轨迹展示;当前工作区的其他在途改动保留。
| 页面 / 操作 | 截图依据与当前承载 | 本次结论 |
|---|---|---|
| 国内 / 海外货柜详情、页签切换 | ContainerDetailView.vue 独立页面,摘要后有较大间距;Element 页签混用原生按钮组布局类 |
采用现有 compact 页面间距,页签只用 Element 密度原语;保留路由、返回、页签及其权限 |
| 货柜信息与异常只读 | 六项字段以四列排布,最后半行空白;无异常记录仍显示表头 | 六项按两行三列展示;空异常只保留提示,有记录时保留原表头与完整历史 |
| 船期维护与历史 | 船名航次标题、按钮、资料各占一行;长船名航次换行较多 | 维护入口移至标题同行,船名航次列加宽;原船期弹框、读写权限与保存流程不变 |
| 履约轨迹与人工补录入口 | 五列无表头列表,操作人字号偏小,说明与来源区域难区分 | 高密度模式复用公共资料表,增加时间、类型、事件、说明、操作人 / 来源表头;完整换行,保留记录与排序;非高密度消费者继续沿用原列表,人工节点仍使用原弹框 |
首次定向10文件195项及类型检查通过。随后其他任务更新公共密度样式,定向复验10文件196项中193项通过;3项公共合同失败指向本次未修改的 UnifiedOrdersView.vue、DispatchesView.vue、报废页面的缺失闭合标签。本次货柜布局合同、全部9个直接业务测试文件继续通过。构建已执行,在类型检查阶段被海外仓换标订单 RelabelOrdersView.vue 的缺失变量错误阻断;不改写其他任务在途页面以消除失败。
全量检查完成:455个文件通过、9个文件失败;4099项通过、5项失败,另7个测试套件加载失败。失败证据包括其他页面未解决的合并标记、缺失闭合标签、重复插槽、测试文件加载失败,以及模拟柜表单字段数与其测试断言不一致。检查期间公共 adminDensity.css、adminWorkbench.css 及公共合同继续发生变化,此结果不作为全工作区冻结验收;本次三个业务组件及轨迹测试的散列保持一致,差异空白检查通过。未部署,视觉待人工在1920×1080、100%缩放下截图确认。
智能装柜弹框截图优化(2026-10-20)
依据用户截图 codex-clipboard-79bcfb9c-3433-4b62-af9c-d3e6a4bbce19.png,保留 SmartLoadingDialog → GlobalSmartLoadingView 的默认全屏、普通尺寸、三栏作业和二级分配弹框。
| 操作/区域 | 截图与现有实现 | 本次结论 |
|---|---|---|
| 主工作区 | 中间柜次栏占20%,候选客户列70px,左右关键数量/重量/体积排在较后位置 | 中间改240px,左右共享剩余空间;客户、数量与重量/体积优先,托盘和规则等字段保留横向查看;不缩小行高、字号 |
| 柜次选择 | 卡片重复标题与柜次号;无集装箱号显示“空柜” | 柜次号作主标题,保留柜号、渠道、仓库/柜型和选择态;缺柜号显示“模拟柜次/待补录”,不推断货物为空 |
| 查询 | 两个日期框均只显示“开始日期/结束日期” | 明确创建和预计到货起止含义,保留查询参数、布局偏好和原查询/重置事件 |
| 普通/全屏与滚动 | 外层边缘贴紧;表格撑满高度后分页仍占用额外空间 | 正文保留紧凑边距,普通模式加宽;三栏各自滚动,表格与分页共享列高;保留原关闭/重开和全屏状态行为 |
本次只改上述组件的展示配置、模板和局部布局;API、权限、计划状态、数量/金额计算与提交逻辑保持。顶部去掉与右侧容量条重复的重量/体积,分配箱数明确归属当前柜次。视觉结论待人工1920×1080、100%截图确认。
已落实为:柜次栏240px,左右按1.05:1分配剩余空间;客户列120px、入仓码180px,数量及重量/体积前移,其他字段和固定操作列保留。普通弹框加宽至最多1840px,正文保留公共12px紧凑边距;主弹框正文样式限定在直接子元素,不串入二级弹框。表格和分页改为同列伸缩,柜次卡片压缩重复标题并保留长编号换行与键盘焦点。
经 local-check.ps1 完成定向3文件51项覆盖,首轮一项旧“柜子数量”文案断言失败,更新后工作台47项复验通过;主弹框作用域最后2项复验通过,类型检查及差异空白检查通过。业务脚本核对仅查询展示参数和列配置有变化。未部署,未自行打开浏览器;普通/全屏、长编号、空态、宽表和分页的实际布局待用户截图确认。
蓝白工作台接入矩阵(2026-10-20)
本批按蓝白样板接入,复用本记录及国内仓固定编号,不另建进度表。保留原独立详情、弹框、嵌入工作台、打印和表格尺寸;本批未部署,人工视觉均待 1920×1080、100% 截图确认。
用户随后要求移除包住整页主要内容的整圈边框:货柜、预装/装柜清单、订舱、拖车、报关、国内出仓和船期信息的主列表外壳,以及清单非内嵌独立详情增加 is-page-surface。公共去边框规则和页面边距由总控维护;嵌入清单、智能装柜三栏弹框/子表格、详情内部独立分区和各业务弹框保留原边框。本批仅修改14个源码中的15处模板类名并补记原矩阵,不改 padding、脚本、打印或业务承载,不重复全量检查;待人工截图确认。
用户继续指出详情主面板重复 padding:LoadingListDetailDrawer 的 workbench-panel is-compact is-page-surface 在独立清单详情叠加页面12px,在货柜清单页签叠加外层业务卡14px。本次由公共屏幕样式将显式主面板 padding 设为0;页根、货柜独立业务卡及原打印内距保留,组件参数、业务脚本和操作承载不变。独立预装、正式装柜清单和国内/海外货柜清单页签均为直接回归范围,视觉待人工新截图确认。
顶部排列收口:共享 ContainersView 的“未完结/已完结”页签移至 DataTable #toolbar-start,替代重复列表标题,保留原状态类并加入 workbench-list-tabs。查询仍在 filters,新增模拟柜与其他操作位置、权限和事件不变;ContainerWorkbenchView 的国内装柜/海外清关提柜属于业务阶段切换,保留外层独立导航,不与列表状态页签合并。预装/装柜、订舱、拖车等无同级业务页签的列表仅沿公共工具栏紧凑规则,不删标题。视觉待人工截图确认。
页面与代码证据(相对 Admin src/modules/) |
操作与现有承载 | 本批结论 |
|---|---|---|
container-loading/pages/ContainerWorkbenchView.vue、ContainersView.vue:国内/海外模式 |
两个正式列表;45—51号编辑、模拟柜、订舱关联、还柜、邮件与拖车记录浮层 | 共用列表外框和阶段页签接入;现有模拟柜加宽及其他在途逻辑保留 |
container-loading/pages/ContainerDetailView.vue 及实际 Overview/Customs/Fees 子组件 |
国内/海外独立详情,52—82号还柜、DO、异常、清关、卸货、拖车、柜费、托盘打印与船节点 | 连续详情、资料/历史表及浮层主题接入,未知、失败和危险语义保留 |
container-loading/pages/SmartLoadingWorkbenchView.vue:分配表、候选表;SmartLoadingDialog → GlobalSmartLoadingView |
柜次智能装柜独立路由;订单列表及预装清单的全局三栏弹框和二级弹框 | 保留分配与候选布局、各栏滚动及模型面积,接入表格、面板及独立浮层主题 |
loading-lists/components/LoadingListsView.vue、PreloadPlanDetailView.vue、ConfirmedLoadingListDetailView.vue、LoadingListDetailDrawer.vue |
预装/装柜两类列表及独立详情;运输、备注、确认、托盘/PDF打印与柜次费用弹框 | 列表及详情接入;名含 Drawer 的内嵌详情保持原承载;打印纸张规则保留 |
ocean-bookings/pages/OceanBookingsView.vue、OceanBookingDetailView.vue、Documents/Print 子组件 |
订舱列表、新增/详情独立页、36—41号打印选择/PDF预览、放舱、文件替换/作废及删除确认 | 列表、资料分组与浮层接入;PDF版面、原放舱资格和不可逆警告保留 |
trucking/pages/TruckAppointmentsView.vue、Create/Detail、Form/Attachment 子组件 |
预约列表、新增/详情独立页、42—44号附件与状态确认 | 紧凑表单及详情面板接入;不改订舱快照、承运商与状态 |
customs/pages/CustomsCasesView.vue、outbound-dispatch/pages/OutboundDispatchesView.vue |
历史报关、国内出仓列表及原详情弹框、提交/确认操作 | 查询/表格及浮层显式接入;门禁和原操作保留 |
port-schedules/pages/PortSchedulesView.vue、Carrier/Container 面板 |
船期列表、维护/历史弹框、货柜详情履约轨迹及人工节点浮层 | 保留两类节点含义与详情滚动,统一外框及证据表 |
公共组件和全量门禁由总控统一维护;本组仅做必要定向检查。接口、权限、状态、金额及业务脚本不在本批改造范围。
本批实际源码清单(均相对 apps/admin-web/src/modules/):
| 模块 | 修改文件 |
|---|---|
container-loading |
pages/ContainerWorkbenchView.vue、ContainersView.vue、ContainerDetailView.vue、GlobalSmartLoadingView.vue、SmartLoadingWorkbenchView.vue;components/ContainerCustomsPanel.vue、ContainerLastLegFeesPanel.vue、ContainerOverviewPanel.vue、ContainerSimulationCreate.vue、OceanBookingLinkDialog.vue、SmartLoadingDialog.vue |
loading-lists |
components/LoadingListsView.vue、LoadingListDetailDrawer.vue、ContainerFeesPanel.vue、PalletLabelPrintDialog.vue;pages/ConfirmedLoadingListDetailView.vue、PreloadPlanDetailView.vue |
ocean-bookings |
pages/OceanBookingsView.vue、OceanBookingDetailView.vue;components/OceanBookingDocumentsPanel.vue、OceanBookingPrintDialog.vue |
trucking |
pages/TruckAppointmentsView.vue、TruckAppointmentCreateView.vue、TruckAppointmentDetailView.vue;components/TruckAppointmentForm.vue、TruckAttachmentDialog.vue |
customs |
pages/CustomsCasesView.vue |
outbound-dispatch |
pages/OutboundDispatchesView.vue |
port-schedules |
pages/PortSchedulesView.vue;components/CarrierScheduleQueryPanel.vue、ContainerPortSchedulePanel.vue |
已完成列表真实外壳、详情卡片、资料/证据表与浮层主题接入;旧报关、出仓及船期详情的广域 :has 弹框覆盖和重复正文滚动已移除,使用原 AppDialog 公共框架。三栏智能装柜的表格外层保留伸缩和独立滚动;清单独立详情采用卡片,货柜页签内保持平铺;打印保留原紧凑正文内边距并去掉屏幕卡片阴影。缺失查询任务编号显示“—”。已有客户选择器、放舱修正与模拟柜1000px宽度改动均保留,未发现活动写入冲突。
总控集成时需把本批49个真实消费者纳入公共合同,并补原生 el-table 的中性色覆盖(订单详情、测量/审核、价格版本、柜级尾程费用、清单历史、托盘打印、船期日历与出仓门禁)。这些表格保留原几何和状态色,本组未复制一套公共表格默认规则。独立查询已使用 workbench-query,关联抽屉已使用 is-drawer。
本批定向65文件807项的分段检查、失败复验及最终模板编译结果统一记录于国内仓本批检查结果。业务脚本与本批起点的散列核对无漂移(仅排除样式及帮助组件导入);API、类型、权限和路由未修改。全量集成检查及人工1920×1080、100%截图待总控和用户完成。
新增模拟柜加宽的当前发布状态见模拟柜宽度 TEST 发布记录,下方尚未部署为修改当时的检查记录。
货柜搜索区修正的当前发布状态见Admin 展示修正 TEST 发布记录。下方未部署说明为修改当时的记录,当前状态以主契约为准。
新增模拟柜宽度反馈(2026-10-20)
| 页面 | 操作 | 截图依据及当前实现 | 本次结论 |
|---|---|---|---|
/container-loading/domestic |
新增模拟柜 | 用户截图 codex-clipboard-fe50c8ba-755f-43c0-9c20-385564d80d06.png;560px弹窗、两组横排,仓库和渠道占位文字被截断、规格说明多次换行 |
已接入高密度的货柜入口宽度改为1000px,并保留视口减28px上限;未接入高密度的其他消费者仍为560px。字段、标签、两组排列、默认柜型、规格、仓库渠道联动及创建请求不变 |
定向3文件114项、类型检查、构建通过;组件测试同时验证高密度入口1000px、其他入口560px及原创建请求。全量454文件4105项中4103项通过,2项导航/海外主数据路由断言失败,分别为 adminNavigation.test.ts 的菜单清单及 overseas-master-data/routes.test.ts 的路径与权限清单;本次未修改这两处实现或断言。组件脚本未变,组件及直接测试在检查前后散列一致。本次宽度调整尚未部署,待人工1920×1080、100%缩放截图确认。
货柜列表搜索区截图反馈(2026-10-20)
| 页面 | 操作 | 截图依据及当前实现 | 本次结论 |
|---|---|---|---|
/container-loading/domestic |
客户、关键词、柜型、状态及预计开船日期筛选 | 用户截图 codex-clipboard-d6d00778-4a50-4222-a75e-841261550182.png;页面将公共搜索栏最后一组设为 width:100%; flex:0 0 100%,日期和按钮被强制另起一行 |
删除页面的强制整行覆盖,沿用 QueryToolbar 按可用宽度自然换行;最后一个筛选与查询、重置、布局按钮继续成组。筛选字段、顺序偏好、字段宽度、查询及重置行为不变 |
仅删除共享货柜列表的一行局部布局声明,不修改公共组件或筛选业务;同源海外工作台沿用同一排布。未部署;1920×1080、100% 缩放的新布局待人工截图确认。
检查结果:初次定向 3 文件 / 118 项、类型检查、构建通过;全量执行 448 文件 / 4056 项通过,但期间其他任务修改了 16 项源码输入,该结果不作为最新工作区冻结快照的完整验收。补查本页、模拟柜直接依赖、公共搜索栏及密度合同共 120 项,119 项通过,1 项失败:另一处修改删除了模拟柜说明中的“创建后自动生成柜次号”,ContainersView.test.ts:632 的旧文案断言尚未同步。本次未改写该组件或该断言;搜索布局合同与公共搜索栏检查通过,最终类型检查及构建重新通过。搜索页面、公共搜索栏和本次密度合同在检查前后散列一致。
统一弹窗整理:预装清单与全局智能装柜(2026-10-20)
本批沿预装清单的正式详情路由,以及订单列表实际调用的SmartLoadingDialog → GlobalSmartLoadingView进入,依据已确认的测量样板和高密度规范。全局智能装柜实际为候选、柜次、方案三栏数据工作台,本批保留三栏尺寸、筛选、独立滚动及默认全屏。截图编号从91接续。
| 操作 | 当前承载 | 本批实施结论 |
|---|---|---|
| 补录/纠正集装箱号及航次 | PreloadPlanDetailView,620px AppDialog |
原3项字段改浅黄连续表,标题带预装单号;保留大写规范化、纠错原因、PDA状态门禁和版本 |
| 编辑预装明细备注 | 680px AppDialog,客户备注为禁用输入 | 800px连续表,客户备注显示只读文字、原3项备注可编辑,支持全屏;保留两层版本、操作号及冲突后保留输入 |
| 确认预装并推送PDA | 520px AppDialog,分散描述块 | 浅绿连续资料表、业务编号标题及原警告,保留外部作业员选择、可确认条件与原请求 |
| 全局智能装柜工作台 | 默认全屏AppDialog,普通模式1600px/94vh | 接入统一标题/底栏和显式密度根,保留三栏几何、各自滚动和返回普通尺寸;行内操作接入现有公共样式 |
| 普通/待审核候选加入 | 全局工作台assignOpen |
920px来源浅蓝、填写浅黄连续表、业务编号标题及全屏;保留普通与待审核各自API、平均毛重/体积、数量上下限及跨渠道警告 |
| 同柜组/封托整托加入 | 同一窗口的两种分支 | 保留完整组成及不可拆提示,无部分箱数控件,继续走原子分配接口 |
| 普通/同柜组/整托移除、移除全部未拣 | 现有ElMessageBox | 接入公共确认样式及柜次标题;原拣货保护、联动范围、数量、版本和请求顺序不变 |
本批不新增PDA分配入口、装柜方式或权限,不修改三栏工作台的业务筛选和容量统计。
代码已落实为91—103号,唯一截图入口继续维护在固定编号清单。客户备注保留换行并显示为只读文字;运输、其余备注、预装确认的原字段、权限、规范化、版本和操作号均保留。全局工作台新增显式密度根及公共行操作样式,原固定字号改为公共变量;选中柜次使用背景、边框和aria-pressed,去掉左侧色条。
外层工作台保留默认全屏、普通模式1600px/94vh及各栏独立滚动。业务专属零内边距和隐藏外层滚动使用更明确的几何选择器,避免公共弹窗样式覆盖后引入第二层滚动。分配窗口保留目标、集装箱号、发货仓、双方渠道、未知测量值及跨渠道警告;同柜组和整托保持完整组成,无部分分配控件。移除确认只补业务标题和公共样式,原请求顺序、范围、拣货保护和版本不变。
三个组件的脚本在排除标题格式化、确认框样式及密度导入后与本批起点一致。初次定向检查识别出旧固定字号和描述块标签断言;已按公共变量及同一确认表格的资料项收敛,未放宽样式所有权检查。新增真实表单验证沿用仓库现有CJS入口,避免测试导入方式影响校验器;覆盖补录/纠错、客户备注只读、全屏保留输入、双版本冲突后重试及PDA作业员必选。全局补查普通与整托精确载荷、待审核未知测量/跨渠道提示、整组和整托原子接口及批量移除。
本批最终验证(2026-10-20):
- 定向8文件151项通过;类型检查、构建及Admin完整419文件3551项测试全部通过,最终四项退出码均为0。
- 重型检查经统一入口串行执行,临时沿用用户已授权的6GB Node堆上限;项目配置、统一入口和worker并发保持原值。
- 本批25个直接源码、测试、API、类型、公共框架、样式和依赖输入在最终完整检查前后散列一致;差异空白检查通过,生成声明、依赖清单和锁文件没有改动。
- 当前仍在
release/test;本批未提交或部署,91—103号继续等待人工1920×1080、100%缩放截图确认。 - 持续目标未完成。下一组从104号整理客户管理的新增/编辑/查看、资质预览、入驻审核、账号结果及受限操作窗口;已从
CustomersView的实际调用定位,尚未改写其原权限、资质、账号或凭据流程。当前货柜和预装清单通过不能替代客户管理及其余Admin模块验收。
统一弹窗整理:原柜船期与智能装柜(2026-10-19)
本批依据用户确认的测量样板及统一高密度规范,沿container-loading/routes.ts的实际货柜列表、详情和智能装柜子路由核对。截图从83号接续;以下为修改前实施矩阵。
| 操作 | 当前承载 | 实施结论 |
|---|---|---|
| 登记原柜船期 | ContainerPortSchedulePanel,1120px AppDialog,12项字段 |
原归属资料浅蓝只读表、填写区浅黄连续表、历史浅蓝,标题带柜次,支持全屏;来源、有效期与截止校验保留 |
| 原柜船期维护及历史 | 同一窗口,1000px;4项船运资料及修改原因 | 连续表与原历史记录,去掉内部65vh二次滚动;保留原客户/订舱/货柜归属、版本、冻结请求与关闭后忽略迟到响应 |
| 仅列表权限查看 | 同一窗口,禁用输入框 | 当前四项船运事实直接显示文字,历史保持可见;不新增写权限,不将修改原因输入当作当前事实 |
| 普通入仓码分配箱数 | 智能装柜工作台assignOpen,默认AppDialog |
780px浅黄连续表,原货物、可用箱数与本次箱数紧凑横排;保留整数、上下限及原接口 |
| 同柜组/封托托盘加入 | 同一窗口两种分支 | 原来源组成浅蓝、整组/整托事实及不可拆提示保留,无部分箱数输入;支持全屏、原子分配接口不变 |
| 移除普通明细/同柜整组 | 两种原ElMessageBox确认 | 仅标题补柜次业务编号,保留风险提示、联动移除及原版本链 |
实际列表路由经过ContainerWorkbenchView复用此前已整理的ContainersView;详情的其余直接子面板及打印/费用窗口见前批固定编号。ContainerOverviewPanel无额外业务弹框,智能装柜本页只发现上述分配窗口与两种移除确认;不以这一条路由审计推定所有Admin模块已完成。
代码已落实为83—90号,唯一截图入口见跨模块固定编号。原柜归属、当前四项船运事实及历史快照均保留;只读账号不再显示不可编辑的灰色表单,也不将本次修改原因输入当作当前事实。写入账号保留12项首次登记、5项维护字段,以及处理中/待重试时的冻结控件和原请求。
智能装柜仍为独立页面。仅重排居中分配窗口:普通入仓码保留可用箱数、本次数量、摘要及核验说明;同柜组保留全部订单和入仓片段;封托托盘继续使用原入仓组成展开组件。窗口标题显示入仓码、同柜组号或托盘号,移除确认显示柜次。未重写已存在的页头帮助改动、表内箱数编辑或原分配/移除接口。
两份业务脚本在排除本批标题/样式导入,并保留本批之前已存在的InlineHelp导入后,与本批起点一致。初次定向6文件102项通过,覆盖原归属校验、首次来源必填、无变化不保存、冲突/失败重试、迟到响应、只读历史、全屏保留值,以及三种分配的精确请求;已将新接入的原柜船期组件纳入公共样式所有权清单。
本组最终验证:
- 补查托盘组成组件后,定向7文件104项通过;类型检查、构建和Admin完整418文件3545项测试全部通过,最终四项退出码均为0。
- 检查经统一入口串行执行,临时沿用用户已授权的6GB Node堆上限;没有修改入口、项目配置或worker并发。
- 本组22个源码、测试、类型、公共框架、样式和依赖输入在最终完整检查前后散列一致;差异空白检查通过,生成声明、依赖清单和锁文件无改动。
- 当前仍在
release/test,本组未提交或部署;83—90号等待人工1920×1080、100%缩放截图确认。 - 持续目标未全部完成。下一组从91号整理预装清单详情的运输信息、备注、确认推送,以及订单列表实际调用的
SmartLoadingDialog → GlobalSmartLoadingView及其子窗口。全局工作台通过弹窗嵌入,并非本次已处理的货柜智能装柜子路由;不以同名业务或当前路由通过推定其完成。
统一弹窗整理:柜次费用、托盘打印与船节点(2026-10-19)
本组沿货柜详情的实际调用继续,依据用户确认的测量样板和高密度规范。修改前实施矩阵如下,截图编号从77接续。
| 操作 | 当前承载与直接消费者 | 本组实施结论 |
|---|---|---|
| 新增/调整柜次费用 | ContainerFeesPanel的AppDialog,货柜详情唯一调用 |
1080px浅黄连续表,调整资料只读文字与日期/金额同表,支持全屏;保留付款校验、单票和分摊组请求及版本 |
| 多票费用分摊 | 同一费用窗口的逐条卡片 | 同一表单内连续明细表,客户/订单/入仓码只读,金额编辑及合计末行;原分摊限制不变 |
| 驳回/作废柜次费用 | 原AppDialog/ElMessageBox | 原白底原因/确认框,标题带业务编号;保留整组审核、原因必填和版本 |
| 散货托盘码打印选择 | PalletLabelPrintDialog的760px AppDialog,货柜详情及清单详情调用 |
仅dense模式改920px,接入浅黄打印选择、浅蓝服务器清单和全屏,标题使用服务端柜号;默认模式和PDF标签格式保留 |
| 人工补录船节点 | CarrierScheduleQueryPanel的620px AppDialog |
dense模式改780px浅黄连续填写表和全屏,父货柜传业务编号供标题展示;默认消费者保留原排列,窗口观测时间、幂等键及原失败重试不变 |
| 清单详情/清单打印 | 现有页内详情和window.print() |
保留既有承载与纸张样式;详情组件本身无额外业务弹框,不因名称含Drawer改造承载 |
本组不会改写其他任务已移除的页面说明,也不将业务编号展示属性写入费用或船节点请求。
代码已落实为77—82号,完整截图入口维护在固定编号清单。新增费用的条件付款字段及备注保留;调整资料不再使用另一套描述组件,方向、项目、供应商、结算和既有备注为只读文字,日期与金额使用原控件。多客户分摊使用同一表单内的连续明细表及合计末行,原分摊范围、正数/合计限制、整组审核和版本不变。
凭证选择提示改为文件格式及最多20个,不展示内部用途枚举。托盘码仅改变选择窗口,不改服务端编号、PDF格式、按仓张数或下载文件名;未开启dense模式的消费者保留原尺寸和排列。船节点同样仅在dense模式接入新布局,默认消费者保留旧排列,业务编号只作标题展示。
三个组件的业务脚本在排除展示标题及柜次上下文后与本组修改前相同。定向覆盖费用权限、候选异步过期、单票及跨客户分摊、调整载荷、已付凭证、托盘码两种密度模式的按仓打印、船节点两种布局下的冲突重试、关闭/全屏和直接货柜详情消费者。后续原柜船期窗口仍待整理,本组不代表全部货柜入口已完成。
首轮定向7文件123项、类型和构建通过;完整检查发现货柜详情的一条旧源码断言将标题、计划及货柜属性拼接为固定相邻顺序,新增展示属性后失败,其余417文件3544项通过。已将该断言改为在同一个ContainerFeesPanel标签内逐项核对原标题、计划、真实货柜、客户及业务归属,并核对新增展示属性;没有降低原关联要求或改动运行代码。最终门禁按修正后的测试输入重新执行。
本组最终验证:
- 补齐直接消费者后的定向8文件134项通过;类型检查、构建及完整418文件3545项测试全部通过,最终四项退出码均为0。
- 检查统一经
local-check.ps1串行执行,沿用本轮已授权的6GB临时Node堆上限,未修改配置或worker并发。 - 本组22个源码、测试、公共框架、样式及依赖输入在最终完整检查前后散列一致;差异空白检查通过,生成声明、依赖清单及锁文件无改动。
- 当前仍在
release/test;本组未提交或部署,77—82号等待人工1920×1080、100%缩放截图确认。 - 持续目标仍未完成。下一组从83号进入
ContainerPortSchedulePanel的登记原柜船期、维护/只读及修改历史,随后继续核对货柜剩余入口;不能以本组通过推定所有Admin弹窗已完成。
统一弹窗整理:报关与尾程费用(2026-10-19)
本批沿货柜详情的实际共享组件进入,不改变报关与财务流程。视觉依据为本轮用户确认的测量弹窗样板及高密度界面规范,沿用无左色条、浅色背景和紧凑连续表。修改前实施矩阵如下;固定截图编号从62接续,人工视觉结果与自动检查分别记录。
| 操作 | 当前承载 | 本批实施结论 |
|---|---|---|
| 标记海关异常/结果 | 460px原生弹框 | 同尺寸AppDialog、白底短表单、固定底栏;标题带申报批次,保留其他原因必填和原关闭规则 |
| 七种报关确认/说明 | ElMessageBox | 仅补柜次号或申报批次标题,保留确认文本、原因校验、版本和资格 |
| 新增/调整尾程费用 | 620px AppDialog | 920px浅黄连续编辑表、原条件字段与固定底栏、支持全屏;调整时所属客户显示只读文字 |
| 付款凭证预览 | 900px AppDialog | 浅蓝预览区、业务编号标题、完整文件名;图片支持全屏,保留下载、错误和Blob释放 |
| 四种费用确认/原因 | ElMessageBox | 标题带柜次或真实柜号,保留审核、驳回、作废及版本/幂等语义 |
柜次号仅用于窗口标识,真实集装箱号仍独立作为费用写入门禁和请求字段。没有新增权限、状态、业务字段或接口。
本组代码已落实为62—76号,唯一截图入口维护于跨模块固定编号清单。两个共享组件的脚本在排除标题格式化及新增柜次上下文后,与本组修改前完全相同;保存请求、版本、原因校验、上传异步隔离和资源释放没有变化。货柜详情只新增柜次号展示属性,费用业务编号与真实柜号请求仍使用原字段。
新增交互覆盖其他原因必填及原批次版本、取消开始报关、条件付款字段、全屏保留输入、实际费用载荷、调整客户只读和真实柜号缺失门禁。已有凭证替换/移除、客户切换忽略旧上传、只读预览释放资源和报关只读/下载测试保留。样式所有权检查仅将显式density-table--editable内的表单按钮与列表行操作区分,普通数据表的行操作检查继续生效。
本组最终验证:
- 定向4文件86项通过;
pnpm typecheck、pnpm build及Admin完整418文件3541项测试全部通过,最终三项退出码均为0。 - 所有重型检查经统一入口串行执行,临时沿用用户已授权的6GB Node堆上限;没有修改项目配置、统一入口或worker并发。
- 本组15个直接源码、测试、样式、框架及依赖输入在最终检查前后散列一致,差异空白检查通过;生成声明、依赖清单和锁文件没有改动。
- 当前仍在
release/test分支,本组未提交或部署。62—76号等待人工1920×1080、100%缩放截图确认,不以自动检查替代视觉验收。 - 持续目标仍未全部完成。下一组从77号接续共享柜次费用、清单/打印及船节点窗口;本组没有将这些未整理入口计为完成。
统一弹窗整理:货柜列表与详情(2026-10-19)
本批从当前ContainersView、ContainerDetailView的12个实际居中窗口及5个ElMessageBox确认进入,沿用用户已确认的紧凑信息表、浅色背景、无左色条和固定底栏。以下为修改前实施矩阵,正式详情路由保留;不以旧版密度验收或单个消费者推定整组完成。
| 操作 | 当前承载/尺寸 | 本批实施结论 |
|---|---|---|
| 列表 → 编辑基础资料 | editorOpen,820px |
17项字段改为1080px三组横排的连续编辑表;只读柜号、柜次、容量、限重直接显示文字;保持仓库/柜型等校验和原保存载荷 |
| 列表 → 新增模拟柜 | ContainerSimulationCreate,560px,另由预装入口消费 |
仅dense模式接入紧凑连续表与浅黄填写区;默认消费者保留原样,仓库渠道联动和固定规格不变 |
| 列表/详情 → 关联订舱 | OceanBookingLinkDialog,680px |
同一连续表展示柜次号、候选与可选真实柜号;柜次只读,业务编号标题、支持全屏;原筛选/版本/规范化不变 |
| 列表 → 还柜登记 | drayageActionOpen,520px |
原短白底时间/备注表单,标题带柜次或集装箱号,原资格与版本保留 |
| 列表 → 邮件记录/重试确认 | emailHistoryOpen,1100px;ElMessageBox |
只读浅蓝表格、全屏、业务编号标题;保留最近100封、正文展开、发送风险说明和重试门禁 |
| 列表 → 码头拖车记录 | drayageHistoryOpen,980px |
浅绿状态汇总、浅蓝历史表格,编号标题和全屏;错误重试、列与排序保留 |
| 详情 → 确认还柜 | emptyReturnOpen,520px |
原白底时间/备注表单及警告、业务编号标题;保留冻结载荷、幂等键重试与关闭保护 |
| 详情 → DO资料 | documentOpen,520px |
浅黄上传区和编号标题;当前上传控件重置、替换历史及错误反馈保留 |
| 详情 → 标记/取消异常 | exceptionOpen,520px |
白底原因表单及原危险/警告语义,标题带业务编号,必填原因与历史保留 |
| 详情 → 目的港清关资料 | clearanceOpen,520px |
浅黄上传区、完成状态沿用原提示;上传与完成动作放入固定底栏,保留加载/提交锁定及原资格 |
| 详情 → 直送卸货登记 | directOpen,1080px |
来源浅蓝表格、当前票浅黄连续表;只读票/无写权限显示文本,编辑使用原字段;支持全屏,保持冻结重试和退出保护 |
| 详情 → 提柜安排与执行 | terminalOpen,780px |
当前事实与填写内容在同一连续表中;三项原业务动作移到固定底栏,支持全屏,保持权限/待重试载荷/未保存保护 |
| 详情 → 国内出仓/三种未保存确认 | 现有ElMessageBox | 仅补业务编号标题,保留确认文本、动作、阻断和路由保护 |
标题统一使用本模块的柜次号优先、真实集装箱号其次;两个业务标识均缺失时只显示操作名,不使用内部ID补位。本批未新增业务操作或字段,后续固定截图编号从45接续。
本组代码已落实,固定截图编号为45—61,入口唯一清单见跨模块截图编号。四个业务组件的script在排除标题导入/格式化调整后与基线一致,未改动请求、校验、权限、版本、幂等键或关闭保护。直送只读内容显示实际来源记录,不把填写区的默认时间当作已签收事实。
模拟柜仅在显式dense模式使用连续表;默认模式保留原表单。两个模式均通过真实表单必填校验和相同固定规格载荷检查,预装入口的创建消费者同步回归。简短说明、定制固定底栏分别使用公共density-dialog-note和density-actions--footer;页面只维护字段排列、尺寸与表格列数,不复制公共配色/字号。
本组定向8文件137项通过,类型检查通过。覆盖列表与详情、国内/海外资格、版本0、还柜/提柜/签收冻结重试、关闭保护、全屏保留输入、只读签收凭据、关联订舱规范化与模拟柜两种密度模式。旧的820px双列和无业务编号标题断言已按本次矩阵更新,原业务请求与阻断断言保留。视觉仍待人工1920×1080、100%截图确认,未提交或部署。
初次完整检查418文件3535项及类型/构建通过后,代码复核发现提柜事实表的空值展示还需收敛:真实柜号不能回退为柜次号或窗口标题;已绑定车队但名称缺失时显示“—”,不误称尚未安排。已修正并新增来源响应空值用例,详情交互单文件35项通过,最终完整门禁按修正后的输入重新执行。
本组最终验证:
pnpm typecheck、pnpm build均通过;Admin全量418个测试文件、3536项全部通过,三项退出码均为0。- 所有检查经统一入口串行执行,临时沿用已授权的6GB Node堆上限;统一入口、并发限制与项目配置未修改。
- 本组18个相关源码、测试及共享框架/样式输入在最终完整检查前后散列一致,差异空白检查通过;生成声明、依赖清单和锁文件无本组改动。
- 本组未提交或部署。45—61号继续等待人工1920×1080、100%缩放截图确认,不以自动检查替代视觉验收。
- 持续目标尚未完成。下一组沿实际调用处理
ContainerCustomsPanel的海关结果与报关确认、ContainerLastLegFeesPanel的费用编辑/凭证预览及确认,再接续共享头程费用、清单/打印和船节点窗口;新增截图编号从62开始。没有把这些尚未整理的子窗口记为本组完成。
统一弹窗整理:订舱与拖车(2026-10-19)
本批依据《Admin高密度界面规范》的统一弹窗目标和本轮用户对紧凑布局、无左色条的确认,沿实际组件实施以下矩阵。固定截图编号接续《Admin国内仓样式核对记录》的1—35,不另行重排;代码检查与人工截图分别记录,不以旧版密度检查推定新版已通过。
| 页面 → 操作 | 当前承载/直接消费者 | 本批结论 |
|---|---|---|
| 订舱列表/订舱详情 → 选择打印类型 | OceanBookingPrintDialog,1120px AppDialog;列表、详情两处调用 |
原两种PDF保留,选择区浅蓝,单选与说明紧凑排列;标题和当前订舱仅用订舱号,缺失不展示内部ID |
| 上一窗口 → PDF预览、返回选择、下载 | 同一1120px窗口和iframe | 保留PDF载体与正常预览高度,PDF阶段增加全屏,固定原底栏;核对返回、关闭、重新选择时的选择值和Blob释放;文件名不以内部ID回退 |
| 订舱详情 → 确认放舱 | OceanBookingDetailView.releaseDialogOpen,560px AppDialog |
标题带订舱号,浅绿只读资料表和原警告;去掉面向用户的数据库处理说明,保留不可修改/删除语义及原保存后放舱版本链 |
| 订舱资料 → 替换文件/作废文件 | OceanBookingDocumentsPanel,现有ElMessageBox |
沿用已接入的公共确认框样式,标题带订舱号;保留文件名、二次确认、上传限制、作废历史和版本链,操作人缺失不展示数据库ID |
| 订舱详情 → 删除草稿确认 | OceanBookingDetailView.removeDraft,现有ElMessageBox |
标题带订舱号,保留原不可恢复说明、删除权限、版本和成功后的列表跳转 |
| 订舱新建/详情、资料主面板 | 正式路由与详情页内组件 | 保留现有承载;不将新建或资料面板改为弹窗 |
订舱详情向共享船期组件仅传oceanBookingId,本页不能打开其要求containerBookingId的人工补录窗口;该窗口归后续货柜实际消费者整理,不将其列为订舱弹窗完成项。
同批接续下一个实际菜单“拖车列表”,新增与编辑仍沿独立页面执行,仅整理以下浮层:
| 页面 → 操作 | 当前承载/直接消费者 | 本批结论 |
|---|---|---|
| 拖车详情 → 预约附件 | TruckAttachmentDialog,640px原生居中弹框;详情唯一直接调用 |
收敛为同尺寸AppDialog,保留原关闭/遮罩规则和固定关闭底栏;预约号标题,上传区浅黄、现有附件浅蓝,长文件名完整换行,支持全屏 |
| 预约附件 → 删除附件 | 原ElMessageBox确认 | 保留删除权限与忙碌门禁,标题带预约号,确认中明确文件名,不展示内部ID |
| 拖车详情 → 状态变更确认 | TruckAppointmentDetailView.changeStatus的现有ElMessageBox |
原目标状态、权限及接口保留,仅标题补充预约号;改期沿用页面已有装货时间来源,未新增状态表单 |
固定截图编号为36—44,完整入口继续维护于截图核对清单。打印选择与资料确认属于订舱列表/详情直接消费者;附件窗口由拖车详情唯一调用,正式新增、编辑和详情路由未改动。
按两模块当前Vue文件中的AppDialog/原生弹框和ElMessageBox调用复核,本批覆盖3个居中窗口和5个确认框;打印窗口的选择/预览两种状态分开编号,共9个截图入口。订舱引用的共享船期人工补录窗口不在本页开放,未据此声称共享货柜窗口已完成。
除业务编号标题、缺失值文案及打印资源生命周期外,订舱资料、放舱、拖车附件和状态变更的业务script经差异还原核对与基线一致;保持全部请求字段、权限、版本及文件限制。打印窗口关闭/重开后,迟到的旧请求不会创建或覆盖新的Blob预览;返回选择、退出全屏及下载仍使用当前单据与原打印类型。预览只增加本组件显式全屏布局,不修改AppDialog、公共颜色/字号默认值或PDF输出内容。
本组关键交互与公共密度定向5文件63项通过,覆盖打印类型/全屏/返回/缺失编号/旧请求隔离、资料替换与作废版本链、放舱当前编辑值及附件只读/上传/删除。扩大到订舱、拖车及密度的首次定向检查发现两处新用例的挂载与Blob断言问题,已修正后复验;最终回归还覆盖全屏后保留已选附件和类型。
本组最终验证:
pnpm typecheck、pnpm build均通过;Admin全量416个测试文件、3530项全部通过,三项退出码均为0。- 检查均经统一入口串行执行,临时沿用已授权的6GB Node堆上限;未修改统一入口、并发限制或项目配置。
- 本组14个相关源码、测试及共享样式/框架输入在完整检查前后散列一致,差异空白检查通过;生成声明、依赖清单和锁文件无本组改动。
- 人工视觉仍待1920×1080、100%缩放下按36—44号截图确认,本轮未提交或部署。
- 持续目标尚未完成。下一组从货柜列表的
container-loading/pages/ContainersView.vue开始,核对当前4个列表窗口及模拟柜、关联订舱直接消费者,再接续ContainerDetailView.vue当前6个窗口和其共享子窗口;国内/海外实际消费者分别核对,正式详情路由继续保留。新增截图编号从45开始,不以本组通过推定整个Admin弹窗完成。
本次范围与状态
用户确认继续优化货柜管理的 4 个菜单。本轮按下表实现列表、独立新建/详情页、智能装柜工作台及关联弹框的密度统一。代码检查结果在文末记录;未进行本轮浏览器视觉验收,所有修改后效果均待人工截图确认。
统一使用 Admin 高密度界面规范,以国内仓与客户管理为样板。普通列表、行内描边按钮、详情返回与页签、连续信息表、表单和浮层框架复用公共能力;业务状态、权限、接口、字段顺序、独立页面/弹框/抽屉承载方式保持现有契约。
4 个菜单与实际入口
范围依据:Admin 导航 的 container-management 分组。下表源码路径相对 apps/admin-web/src/modules/。
| 菜单 | 页面与路由 | 新建、详情及相关组件 | 改造前继续核对 |
|---|---|---|---|
| 订舱列表 | ocean-bookings/pages/OceanBookingsView.vue,/ocean-bookings |
/ocean-bookings/new 与 /:bookingId 共用 OceanBookingDetailView.vue;OceanBookingDocumentsPanel、OceanBookingPrintDialog、CarrierScheduleQueryPanel 和确认放舱弹框 |
新建与详情分别核对;资料、打印、船期、放舱资格及处理中状态不能丢失 |
| 拖车列表 | trucking/pages/TruckAppointmentsView.vue,/trucking |
TruckAppointmentCreateView.vue(/trucking/new)、TruckAppointmentDetailView.vue(/trucking/:id);共用 TruckAppointmentForm、TruckAttachmentDialog |
新建是独立页面,编辑经详情页 edit=1;表单、附件、返回目标和状态资格分别核对 |
| 送柜报关 | container-loading/pages/DomesticContainersView.vue,/container-loading/domestic |
列表共用 ContainersView.vue;详情经 DomesticContainerDetailView.vue 到 ContainerDetailView.vue,均传 workbench="DOMESTIC";另有 SmartLoadingWorkbenchView.vue 深链 |
模拟柜、关联订舱、装柜/预装关联、报关、费用、出仓及智能装柜入口按实际权限展开 |
| 清关提柜 | container-loading/pages/OverseasContainersView.vue,/container-loading/overseas |
列表共用 ContainersView.vue;详情经 OverseasContainerDetailView.vue 到 ContainerDetailView.vue,均传 workbench="OVERSEAS" |
船节点、清关资料、码头车队、提柜/还柜、异常、文件和尾程费用按实际权限展开 |
路由事实:订舱、拖车、货柜工作台。不将“国内仓”的整柜业务 /domestic-containers 当作这里的送柜报关页面。
共享边界与例外
ContainersView.vue和ContainerDetailView.vue同时服务国内、海外。可以复用样式,但两个模式分别保留字段、操作权限和业务资格;不能只验国内模式就声称覆盖清关提柜。ContainerSimulationCreate.vue、PalletLabelPrintDialog.vue已被国内仓预装入口以dense接入。货柜管理接入时优先沿用该参数,并回归原国内仓调用;不复制组件或撤销已有密度。- 货柜详情实际引用
ContainerOverviewPanel、CarrierScheduleQueryPanel、ContainerCustomsPanel、LoadingListDetailDrawer、ContainerFeesPanel、ContainerLastLegFeesPanel和OceanBookingLinkDialog。沿这些组件继续盘点实际页签、弹框与消息确认;不要因为父详情接入了公共类就把全部子页面记为完成。 LoadingListDetailDrawer当前是嵌入内容组件,名称不决定承载方式。它同时服务预装和已确认清单;为货柜详情的已确认模式接入密度时,要同步修改原“未接入模式保持默认”的合同与两个实际消费者用例,不能只放开样式后删检查。- 智能装柜的模型/画布、船期轨迹、打印标签与 PDF 保留必要面积;只压缩周边表单、说明和装饰留白。航运业务编号、实际柜号、长文件名应有完整展示方式。
原型与逐操作矩阵
原型先读 局部指引,目标模块为 prototype-src/modules/06-containers.html:订舱 page-booking-list / page-booking-detail,拖车 page-truck-list / page-truck-add / page-truck-edit,历史货柜与装柜入口 page-ct-list / page-ct-manifest / page-ct-board。
当前菜单以用户提供的新版.html为准,恢复订舱、拖车、货柜、装柜清单、预装清单五个入口;货柜入口提供国内/海外阶段切换,沿用各自服务端权限与动作。本轮以用户确认的密度规则和当前实际组件、事件为依据,保留如下承载方式:
| 页面/模式 | 操作与承载方式 | 当前组件与依据 | 采用公共规则/业务例外 | 验证与截图 |
|---|---|---|---|---|
| 订舱 | 列表查看/编辑,跳转独立页面 | page-booking-list;OceanBookingsView.open |
灰色纯文字描边;草稿编辑、已放舱查看资格保留 | 待人工截图确认 |
| 订舱 | 新建草稿、保存及详情 | page-booking-detail;OceanBookingDetailView 的 booking-groups |
轻量返回与标题同区;原业务分组与字段顺序保留,去除内层卡片;柜型操作列保留在首列 | 待人工截图确认 |
| 订舱 | 删除草稿、确认放舱 | removeDraft / releaseDialogOpen 与 submitRelease |
删除消息独立接入;放舱保留 560px 居中确认与只读、处理中门禁 | 待人工截图确认 |
| 订舱 | 上传/替换、下载、作废资料与作废历史 | OceanBookingDocumentsPanel.selectFile/download/remove |
类型分组改连续资料行,长文件名换行;替换与作废仍需原消息确认 | 待人工截图确认 |
| 订舱 | 选择打印类型、PDF 预览/下载 | OceanBookingPrintDialog.preview/backToSelection/download |
保留 1120px 弹框、预览视口及 PDF 输出尺寸;选择项减小留白 | 待人工截图确认 |
| 订舱 | 船期与状态历史 | CarrierScheduleQueryPanel;OceanBookingDetailView 的 detail.histories |
船期显式 dense;状态历史表保留时间、状态变化、操作人、原因与原排序 |
待人工截图确认 |
| 拖车 | 列表详情/编辑,独立新建页 | page-truck-list / page-truck-add;TruckAppointmentsView.openDetail、TruckAppointmentCreateView |
行内纯文字描边;新建页返回和标题同区,不再放进表单说明末尾 | 待人工截图确认 |
| 拖车 | 编辑、只读详情及保存 | page-truck-edit;TruckAppointmentDetailView、TruckAppointmentForm |
返回/编号/状态同区;桌面四列表单、关联与长地址跨列保留,公共表单字号间距 | 待人工截图确认 |
| 拖车 | 状态变更确认与历史 | changeStatus、history |
原资格和确认消息;历史连续表格保留全部记录及操作人/原因 | 待人工截图确认 |
| 拖车 | 附件查看、上传/关联、删除 | TruckAttachmentDialog |
保留 640px 居中弹框;连续附件行,删除红色描边,消息独立接入 | 待人工截图确认 |
| 送柜报关 DOMESTIC | 列表、编辑基础资料 | DomesticContainersView → ContainersView;openEdit/save |
未完结/已完结页签 38px;查看、编辑、装柜、清单保持原排列;820px 双列表单使用公共弹框 | 待人工截图确认 |
| 送柜报关 DOMESTIC | 新增模拟柜、关联订舱 | ContainerSimulationCreate;OceanBookingLinkDialog.save |
模拟柜沿用 dense;关联保留 680px 弹框和候选资格 |
待人工截图确认 |
| 送柜报关 DOMESTIC | 智能装柜、分配/移除、调整箱数 | SmartLoadingWorkbenchView.recommend/openAssign/assign/remove/startQuantityEdit |
独立深链;保留容量进度、同柜组与封托说明、列表和分配弹框;普通行内操作接入描边 | 待人工截图确认 |
| 双工作台详情 | 返回、概要、业务页签 | ContainerDetailView 的 workbench-tabs |
Element 页签保留键盘行为,改 38px 彩色图标;概要为紧凑摘要,字段为四组连续描述表 | 待人工截图确认 |
| 送柜报关 DOMESTIC | 异常标记/取消与历史 | ContainerOverviewPanel 的 exception;ContainerDetailView.exceptionOpen |
历史原因自然换行;520px 原因弹框独立接入 | 待人工截图确认 |
| 送柜报关 DOMESTIC | PDA 进度与照片、国内出仓门禁 | ContainerOverviewPanel 的 pda;confirmDeparture |
去除内层卡片、数字改小摘要;保留进度、照片原图入口、全部门禁展开及离仓确认 | 待人工截图确认 |
| 送柜报关 DOMESTIC | 报关资料、下载、上传完成文件、开始/完成报关 | ContainerCustomsPanel |
连续原生资料表,操作首列;纯文字描边,不改变全买单/退税分流或完成条件 | 待人工截图确认 |
| 送柜报关 DOMESTIC | 装柜清单页签、打印清单/托盘码 | LoadingListDetailDrawer;printLoadingList;PalletLabelPrintDialog |
预装/已确认模式均由调用者显式接入;保持嵌入内容及打印载体,PDF 尺寸不变 | 待人工截图确认 |
| 清关提柜 OVERSEAS | 列表、车队选择、发送/重试邮件与记录 | ContainersView.selectRowFleet/sendPickupEmail/retryEmail/openEmailHistory |
原列表控件与业务资格;邮件记录 1100px 弹框、重试确认独立接入,邮件正文保留换行 | 待人工截图确认 |
| 清关提柜 OVERSEAS | 预约/实际提柜、还柜及拖车历史 | drayageActionOpen、drayageHistoryOpen;详情 emptyReturnOpen |
520px 时间与原因表单、980px 历史;超时状态和服务端时间事实原样保留 | 待人工截图确认 |
| 清关提柜 OVERSEAS | 清关/DO 文件上传下载、PU 保存、完成清关 | ContainerOverviewPanel 的 documents;documentOpen/clearanceOpen |
操作首列描边;文件与 PU 保持不同流程,520px 弹框;无资料/只读/失败状态保留 | 待人工截图确认 |
| 订舱/双工作台 | 履约轨迹、任务历史、人工船节点补录 | CarrierScheduleQueryPanel |
原轨迹分组和时间顺序保留;长摘要换行,展开查询事实为连续信息表;620px 补录弹框仅在 dense 模式接入 |
待人工截图确认 |
| 双工作台费用页签 | 头程新增、调整、通过/驳回/作废、凭证、财务分摊 | ContainerFeesPanel |
行内纯文字描边,页内工具栏复用公共尺寸;编辑/驳回弹框和消息独立接入,客户归属与金额口径不变 | 待人工截图确认 |
| 双工作台费用页签 | 尾程新增/调整、提交/审核/作废、付款凭证预览 | ContainerLastLegFeesPanel |
620px 双列表单、900px 预览及消息独立接入;保留图片 65vh 与全部权限条件 | 待人工截图确认 |
交付按菜单逐个覆盖完整工作区;两种货柜模式共享代码时同时回归。代码检查和人工截图分别记录,不将入口盘点或公共规范可复用等同于本模块已优化。
公共实现与范围控制
adminDensity.css增补density-element-tabs、density-table和density-form,分别供现有 Element 页签、原生资料/历史表和分组表单显式使用;样式仍限定在密度入口内。原生表保留业务列宽和固定操作列。LoadingListDetailDrawer增加可选dense;预装默认接入规则保留,货柜已确认清单显式开启,其他未开启消费者仍保持原布局。其局部密度类统一命名为loading-density。CarrierScheduleQueryPanel增加可选dense;订舱和货柜详情开启,独立船期入口未开启;原有无密度模式用原尺寸兜底。- 修改仅涉及样式、布局、图标及可选密度参数;不修改 API、业务权限、字段、提交资格或状态推导。图片原图、标签和 PDF 输出保持原功能。
- 密度合同显式登记 4 个菜单、独立新建/详情和实际子组件,分别检查 DOMESTIC/OVERSEAS 入口、共享组件开启/关闭及预装/已确认模式。原有国内仓与客户管理清单保留。
2026-09-14 代码验证结果
- 货柜、订舱、拖车、船期、清单与公共密度定向回归:53 个文件、485 项通过;补充的原生表、共享入口检查及智能装柜/双工作台回归 50 项通过。
- 最终全量
pnpm test:249 个文件、1918 项全部通过。首次全量运行中仅跨模块状态合同仍锁定拖车旧图标,更新外观断言后完整复跑通过;原权限、状态、路由和业务提交断言保留。 pnpm typecheck、pnpm build与git diff --check通过;AGENTS 索引合同 1050 项通过。- 本轮业务脚本与修改前版本对比,仅增加样式导入、确认浮层类和可选密度参数,没有修改业务处理逻辑。实际浏览器加载、长数据布局、浮层普通/全屏/重开及各权限状态仍待 1920×1080、100% 缩放人工截图确认。
- 本轮未部署、未启动后端或修改业务数据。代码验证不替代实际业务写入及视觉验收。
新版菜单回归矩阵(2026-10-08)
依据:用户提供 新版.html,货柜菜单 1480–1487 行、货柜列表 page-ct-list(8133、8162 行)、装柜清单 page-ct-manifest(8202 行)、尾程计划 modal-lmo-inbound-plan(9647 行)。本轮用户确认恢复五菜单并承接海外操作,不回退现行整柜预计到仓规则。
| 页面 | 操作 | 原型承载与布局 | 本轮处理 |
|---|---|---|---|
| 货柜列表 | 国内、海外操作 | 同一货柜入口,宽表含清关/DO/PU/车队/到港/还柜 | 同一菜单内阶段切换,保留现有独立详情与原操作弹框;两阶段分别鉴权 |
| 装柜清单 | 查询、查看 | 独立列表,明细在列表下方展开;宽表水平滚动 | 恢复正式列表路由,复用真实清单查询与嵌入明细 |
| 装柜清单 | 打印 | 行内打印动作 | 读取所选清单成功后打印明细,不打印失败或过期响应 |
| 装柜清单 | 备注、删除 | 原型备注弹框,删除为提示占位 | 当前正式已确认清单只读,不增加未经服务端支持的修改/删除 |
| 尾程计划 | 到仓日期 | 居中计划弹框中日期输入 | 服从现行整柜统一规则,保留只读并补充带柜号跳转维护、计划生成后锁定说明 |
| 其他既有操作 | 新增、编辑、确认、文件 | 见上方逐操作矩阵 | 保留原组件、业务权限与状态门禁,不改变提交契约 |
人工视觉:待用户在1920×1080、100%缩放下截图确认。自动测试与部署结果分别记入主契约,不以源码核对代替真实页面验收。