@@ -11,7 +11,7 @@
| 目标 | 页面/子域入口 | API 与后端 |
| 目标 | 页面/子域入口 | API 与后端 |
|---|---|---|
|---|---|---|
| 订单测量列表与工作区 | `pages/InboundMeasurementsView.vue` 、`components/InboundWorkflowWorkspace.vue` ; `inbounds/measurements` | `measurement/api.ts` ; `firstleg/service/InboundMeasurementService.java` |
| 订单测量列表与工作区 | `pages/InboundMeasurementsView.vue` 、`components/InboundWorkflowWorkspace.vue` ; `inbounds/measurements` | `measurement/api.ts` ; `firstleg/service/InboundMeasurementService.java` |
| 测量弹框、测量面板、尺寸策略与证据图 | `measurement/InboundMeasurementDialog.vue` (组合壳)、`measurement/InboundMeasurementPanel.vue` (数据与操作)、`measurement/components/MeasurementEvidenceThumbnail.vue` | 实际请求在 `measurement/InboundMeasurementPanel.vue` → `measurement/api.ts` ;弹框只组合面板与 OCR 面板,不直接调接口; `firstleg/service/MojiaMeasurementOpenApiService.java` |
| 测量弹框、测量面板、尺寸策略与证据图 | `measurement/InboundMeasurementDialog.vue` (组合壳)、`measurement/InboundMeasurementPanel.vue` (数据与操作)、`measurement/components/MeasurementEvidenceThumbnail.vue` | 实际请求在 `measurement/InboundMeasurementPanel.vue` → `measurement/api.ts` → 平台链路 `firstleg/controller/PlatformInboundMeasurementController.java` → `firstleg/service/InboundMeasurementService.java` 、 `MeasurementSubmissionService.java` ;设备上报是另一条链路( `MojiaMeasurementOpenApiService` ),不要混 ;弹框只组合面板与 OCR 面板,不直接调接口 |
| 测量数据审核 | `pages/MeasurementReviewsView.vue` 、`review/MeasurementReviewPanel.vue` ; `inbounds/measurement-reviews` | `review/api.ts` ; `firstleg/service/MeasurementReviewService.java` 、`firstleg/service/InitialInboundPricingService.java` |
| 测量数据审核 | `pages/MeasurementReviewsView.vue` 、`review/MeasurementReviewPanel.vue` ; `inbounds/measurement-reviews` | `review/api.ts` ; `firstleg/service/MeasurementReviewService.java` 、`firstleg/service/InitialInboundPricingService.java` |
| 称重图片、OCR 与库位槽状态 | `weight/components/WeightOcrPanel.vue` 、`weight/components/WeightImageThumbnail.vue` | `weight/api/weightOcr.ts` ; `firstleg/service/MeasurementLocationOccupationService.java` 、`firstleg/service/MeasurementSubmissionService.java` |
| 称重图片、OCR 与库位槽状态 | `weight/components/WeightOcrPanel.vue` 、`weight/components/WeightImageThumbnail.vue` | `weight/api/weightOcr.ts` ; `firstleg/service/MeasurementLocationOccupationService.java` 、`firstleg/service/MeasurementSubmissionService.java` |
| 入库单列表、摘要与历史 | `pages/InboundOrdersView.vue` 、`core/InboundSummaryPanel.vue` 、`core/InboundHistoryPanel.vue` ; `inbounds` | `core/api.ts` 、`core/types.ts` ; `firstleg/service/InboundOrderQueryService.java` |
| 入库单列表、摘要与历史 | `pages/InboundOrdersView.vue` 、`core/InboundSummaryPanel.vue` 、`core/InboundHistoryPanel.vue` ; `inbounds` | `core/api.ts` 、`core/types.ts` ; `firstleg/service/InboundOrderQueryService.java` |
@@ -20,8 +20,8 @@
## 关键边界
## 关键边界
- 客户固定 四档箱规, 默认计算方式为 `ADD/MULTIPLY` ; 保存后以外箱尺寸、体积重和计费基数只认服务端返回值,页面不独立重算。
- 客户四档箱规与 默认算法( `ADD/MULTIPLY` )的规则正文在详细索引维护;本模块只按 `../dimension-config/` 消费, 保存后以外箱尺寸、体积重和计费基数只认服务端返回值,页面不独立重算。
- 费用确认的实际箱数、毛重和体积优先汇总当前 `actualMeasurementRows` ,不得用可能滞后的工作区顶层合计覆盖明细 。
- 费用确认的实际箱数、毛重和体积取值口径以详细索引“入库、测量”节( `actualMeasurementRows` )为准,本文件不复制该规则 。
- 称重卡片只展示服务端 `locationCode/slotStatus/sharedOverflow` ,不渲染或推导整票预留引导;删除图片须提示该槽位仍归本票保留,不按图片下标推导托盘或库位。
- 称重卡片只展示服务端 `locationCode/slotStatus/sharedOverflow` ,不渲染或推导整票预留引导;删除图片须提示该槽位仍归本票保留,不按图片下标推导托盘或库位。
- 人工定价仅 FBA、已有实际测量且价格未命中时开放,客户已确认费用禁止改价;`MANUAL_QUOTE` 不伪造价格簿关联。
- 人工定价仅 FBA、已有实际测量且价格未命中时开放,客户已确认费用禁止改价;`MANUAL_QUOTE` 不伪造价格簿关联。
- 扣货与解除、凭证下载走 `../unified-orders/` 与 `../inbounds/` 的正式入口,本模块不另建凭证链路。
- 扣货与解除、凭证下载走 `../unified-orders/` 与 `../inbounds/` 的正式入口,本模块不另建凭证链路。