From 15526ca6e4e14f601d28448e91619d44aab8347c Mon Sep 17 00:00:00 2001 From: sheng <905537351@qq.com> Date: Mon, 22 Jun 2026 17:32:32 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=81=E7=A7=BB=E6=89=98=E7=9B=98=E8=BF=BD?= =?UTF-8?q?=E6=BA=AF=E6=A8=A1=E5=9D=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/功能测试-托盘追溯.md | 31 +++ docs/迁移任务列表.md | 6 +- src/api/data-platform/traceability/tray.js | 31 +++ src/locales/en.json | 36 ++++ src/locales/zh-chs.json | 36 ++++ src/router/modules/data-platform.js | 6 + .../data-platform/traceability/tray/index.vue | 199 ++++++++++++++++++ 7 files changed, 342 insertions(+), 3 deletions(-) create mode 100644 docs/功能测试-托盘追溯.md create mode 100644 src/api/data-platform/traceability/tray.js create mode 100644 src/views/data-platform/traceability/tray/index.vue diff --git a/docs/功能测试-托盘追溯.md b/docs/功能测试-托盘追溯.md new file mode 100644 index 00000000..e2f05822 --- /dev/null +++ b/docs/功能测试-托盘追溯.md @@ -0,0 +1,31 @@ +# 功能测试 - 托盘追溯 + +> 模块:数据中台 / 基础追溯 / 托盘追溯 (Tray Traceability) +> 路由:`/data_middleground/produce/traceability/tray` + +## 测试前置条件 + +- 测试账号具备访问“托盘追溯”和“电池追溯”的菜单权限。 +- 准备至少 1 个存在电池明细和工序时间线的托盘号。 +- 后端接口 `tray`、`traydetail`、`batteryactive` 可正常访问。 + +## 测试任务列表 + +| 序号 | 测试项 | 操作步骤 | 预期结果 | +|---:|---|---|---| +| 1 | 页面入口 | 进入“托盘追溯”页面 | 页面显示托盘号输入框、查询、重置按钮和托盘列表 | +| 2 | 托盘查询 | 输入有效托盘号并查询 | 表格展示托盘、批次、LOT、激活状态、投入电池数和时间信息 | +| 3 | 空数据查询 | 输入无数据托盘号并查询 | 表格显示空态,页面不报错 | +| 4 | 打开电池明细 | 点击某行“电池明细” | 打开全屏抽屉,展示左侧工序时间线和右侧电池明细表 | +| 5 | 明细搜索 | 在抽屉内输入电池条码关键字 | 明细表按电池条码过滤 | +| 6 | 取消激活校验 | 不选择电池,点击取消电池激活 | 页面提示请至少选择一个电池 | +| 7 | 取消激活 | 选择一个或多个电池后点击取消电池激活 | 调用取消激活接口,成功后刷新明细 | +| 8 | 跳转电池追溯 | 点击明细中的电池条码 | 跳转到电池追溯页面并携带 battery_id 查询参数 | +| 9 | 重置功能 | 查询后点击重置 | 托盘号、列表和分页状态清空 | +| 10 | 国际化检查 | 切换中英文语言后重新进入页面 | 页面按钮、表格列和抽屉文案随语言切换显示 | + +## 回归关注点 + +- 电池明细过滤需要排除空电池条码和 0。 +- 取消激活接口参数 `batterData` 必须是已选择电池数组的 JSON 字符串。 +- 电池条码跳转需保留 `battery_id` 查询参数。 diff --git a/docs/迁移任务列表.md b/docs/迁移任务列表.md index 3e4af14e..40fc8296 100644 --- a/docs/迁移任务列表.md +++ b/docs/迁移任务列表.md @@ -3,8 +3,8 @@ > 根据 `后台Webman界面截图对照表.md` 生成。状态以当前 V2 项目中已落地的页面目录为准。 - 总功能数:79 -- 已迁移:30 -- 未迁移:49 +- 已迁移:31 +- 未迁移:48 | 状态 | 一级模块 | 二级模块 | 三级模块 | 功能说明 | V2 目标路径 | |:---:|---|---|---|---|---| @@ -82,7 +82,7 @@ | ✅ | 数据中台 (Data Platform) | 基础追溯 (Traceability) | 反向追溯 (Backward Traceability) | 反向追溯 | `src/views/data-platform/traceability/backward/` | | ✅ | 数据中台 (Data Platform) | 基础追溯 (Traceability) | 正向追溯 (Forward Traceability) | 正向追溯 | `src/views/data-platform/traceability/forward/` | | ✅ | 数据中台 (Data Platform) | 基础追溯 (Traceability) | 电池曲线 (Battery Curve) | 电池曲线 | `src/views/data-platform/traceability/battery-curve/` | -| ⬜ | 数据中台 (Data Platform) | 基础追溯 (Traceability) | 托盘追溯 (Tray Traceability) | | 待确认 | +| ✅ | 数据中台 (Data Platform) | 基础追溯 (Traceability) | 托盘追溯 (Tray Traceability) | 托盘追溯 | `src/views/data-platform/traceability/tray/` | | ⬜ | 数据中台 (Data Platform) | 基础追溯 (Traceability) | 电池追溯 (Battery Traceability) | | 待确认 | | ⬜ | 数据中台 (Data Platform) | 生产报表 (Production Reports) | 设备履历报表 (Equipment History Report) | | 待确认 | | ⬜ | 数据中台 (Data Platform) | 生产报表 (Production Reports) | 电池详情报表 (Battery Detail Report) | | 待确认 | diff --git a/src/api/data-platform/traceability/tray.js b/src/api/data-platform/traceability/tray.js new file mode 100644 index 00000000..9810b623 --- /dev/null +++ b/src/api/data-platform/traceability/tray.js @@ -0,0 +1,31 @@ +import { request } from '@/api/_service' + +const BASE = 'planning_production/produce/traceability/' + +function apiParams (method, data = {}) { + return { method, platform: 'background', ...data } +} + +export function getTrayTraceList (data) { + return request({ + url: BASE + 'tray', + method: 'get', + params: apiParams('planning_production_produce_traceability_tray', data) + }) +} + +export function getTrayTraceDetail (data) { + return request({ + url: BASE + 'traydetail', + method: 'get', + params: apiParams('planning_production_produce_traceability_traydetail', data) + }) +} + +export function cancelTraceBatteryActive (data) { + return request({ + url: BASE + 'batteryactive', + method: 'get', + params: apiParams('planning_production_produce_traceability_batteryactive', data) + }) +} diff --git a/src/locales/en.json b/src/locales/en.json index 59ee952e..dcc07898 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -1268,6 +1268,42 @@ "current": "Current", "voltage": "Voltage", "capacity": "Capacity" + }, + "tray": { + "query": "Search", + "reset": "Reset", + "tray_code": "Tray No.", + "tray_code_placeholder": "Enter tray no.", + "data_empty": "No data", + "id": "ID", + "tray": "Tray", + "login_batch": "Login Batch", + "lot": "LOT", + "is_active": "Active", + "active": "Active", + "inactive": "Inactive", + "input_battery_count": "Input Battery Count", + "login_time": "Login Time", + "cancel_active_time": "Cancel Active Time", + "battery_detail": "Battery Detail", + "battery_detail_data": "Battery Detail Data", + "process": "Process", + "start_time": "Start Time", + "end_time": "End Time", + "device_no": "Device No.", + "battery_id": "Battery Barcode", + "search_battery_id": "Search battery barcode", + "cancel_battery_active": "Cancel Battery Active", + "sort": "No.", + "production_batch": "Production Batch", + "model": "Model", + "process_flow_name": "Process Flow Name", + "tray_no": "Tray No.", + "activation_status": "Activation Status", + "category": "Category", + "grade": "Grade", + "please_select_at_least_one_battery": "Select at least one battery", + "cancel_success": "Cancel active successfully" } } } diff --git a/src/locales/zh-chs.json b/src/locales/zh-chs.json index b517a17d..91301565 100644 --- a/src/locales/zh-chs.json +++ b/src/locales/zh-chs.json @@ -1268,6 +1268,42 @@ "current": "电流", "voltage": "电压", "capacity": "容量" + }, + "tray": { + "query": "查询", + "reset": "重置", + "tray_code": "托盘号", + "tray_code_placeholder": "请输入托盘号", + "data_empty": "暂无数据", + "id": "ID", + "tray": "托盘", + "login_batch": "登录批次", + "lot": "LOT", + "is_active": "是否激活", + "active": "激活", + "inactive": "未激活", + "input_battery_count": "投入电池数", + "login_time": "登录时间", + "cancel_active_time": "取消激活时间", + "battery_detail": "电池明细", + "battery_detail_data": "电池明细数据", + "process": "工序", + "start_time": "开始时间", + "end_time": "结束时间", + "device_no": "设备编号", + "battery_id": "电池条码", + "search_battery_id": "搜索电池条码", + "cancel_battery_active": "取消电池激活", + "sort": "序号", + "production_batch": "生产批次", + "model": "型号", + "process_flow_name": "工艺流程名称", + "tray_no": "托盘号", + "activation_status": "激活状态", + "category": "类别", + "grade": "等级", + "please_select_at_least_one_battery": "请至少选择一个电池", + "cancel_success": "取消激活成功" } } } diff --git a/src/router/modules/data-platform.js b/src/router/modules/data-platform.js index 0769b241..83ff43ca 100644 --- a/src/router/modules/data-platform.js +++ b/src/router/modules/data-platform.js @@ -31,6 +31,12 @@ export default { name: `${pre}traceability-curve`, meta: { ...meta, cache: true, title: '电池曲线' }, component: _import('data-platform/traceability/battery-curve') + }, + { + path: 'produce/traceability/tray', + name: `${pre}traceability-tray`, + meta: { ...meta, cache: true, title: '托盘追溯' }, + component: _import('data-platform/traceability/tray') } ])('data_middleground-') } diff --git a/src/views/data-platform/traceability/tray/index.vue b/src/views/data-platform/traceability/tray/index.vue new file mode 100644 index 00000000..b3995a4a --- /dev/null +++ b/src/views/data-platform/traceability/tray/index.vue @@ -0,0 +1,199 @@ + + + + +