128 行
4.4 KiB
Markdown
128 行
4.4 KiB
Markdown
# 【前端 BUG 反馈】产品线 + 版本创建流程 E2E 测试
|
||
|
||
- **日期**: 2026-04-18
|
||
- **类型**: BUG 反馈(前端)
|
||
- **来源**: 定制师角色 E2E 自动化测试 `D:/work2/HL/test/e2e_run.py` + 后续 5 步版本表单探索
|
||
- **测试环境**: https://192.168.100.160:9527
|
||
- **后端无改动**
|
||
|
||
---
|
||
|
||
## 背景
|
||
|
||
Claude 以定制师角色在测试后台完整走了:登录 → 切角色 → 新建两条产品线(核心/私人定制)→ 在核心产品线下完整提交审核 1 个版本 → 在私人定制线下创建版本但被 BUG-3 阻塞停留草稿。
|
||
|
||
后端接口全部正常,核心版本最终提交成功(产品编号 `C260418003`,状态"待审核")。以下 3 个 BUG 均为前端 UI/交互问题,请前端同事评估修复。
|
||
|
||
---
|
||
|
||
## 🔴 BUG-3 [P0]:Step 2 行程编排 — 切换天数重置已填字段
|
||
|
||
### 现象
|
||
|
||
在 DAY N 填完 集合地/解散地/酒店/活动/封面图/照片集 后,点左侧 DAY N+1 切走,再切回 DAY N,部分字段被**清空**:
|
||
|
||
- **核心产品(CORE)**:解散地、封面图 丢失
|
||
- **小蒙马(GROUP)**:解散地、封面图、活动、酒店 全丢
|
||
|
||
### 重现步骤
|
||
|
||
1. 进入"新增版本" → 走到 Step 2 行程编排
|
||
2. DAY 1 填完 7 个字段(标题 / 集合地 / 解散地 / 描述 / 酒店 / 活动 / 照片集)
|
||
3. 点左侧 "DAY 2" 标签
|
||
4. DAY 2 也填完
|
||
5. 点回 "DAY 1"
|
||
6. 观察:DAY 1 的解散地变成"搜索解散地"占位符,封面图变成"请选择封面图"
|
||
|
||
### 影响
|
||
|
||
用户常见操作模式"逐天填 + 最后回头核查"完全不可用。必须严格按"倒序填 DAY 3 → DAY 2 → DAY 1 且不回切"这种反直觉顺序,否则无法通过 Step 2 校验。
|
||
|
||
### 可能原因(猜测)
|
||
|
||
- Vue 组件 `v-if` 而非 `v-show` 导致切走后子组件销毁
|
||
- DAY 切换时没 emit 保存而是直接替换 model
|
||
- Selection 组件(解散地、封面图选择器)的 v-model 可能绑在了 ref 而非持久化 store
|
||
|
||
### 期望
|
||
|
||
切换 DAY 保留所有已填字段,不需要手动保存。
|
||
|
||
### 严重度
|
||
|
||
**P0**——直接阻塞定制师创建行程的常规操作。
|
||
|
||
### 证据截图(测试机)
|
||
|
||
`D:/work2/HL/test/shots/custom-day1-refilled.png` — 补填 DAY 1 后仍显示"请至少添加1项活动/1家酒店"
|
||
|
||
---
|
||
|
||
## 🟡 BUG-4 [P1]:Step 4 价格区间 — 金额输入框未清空默认值导致拼接
|
||
|
||
### 现象
|
||
|
||
点击"成人价" n-input-number 后 type `"1280"`,最终保存显示 **¥2,401,280**(预期 ¥1,280)。儿童价 type `"880"` 保存显示 ¥240,880。
|
||
|
||
### 重现步骤
|
||
|
||
1. Step 4 定价管理 → 添加区间 → 选日期范围 → 点"确认"
|
||
2. 点击"成人价"输入框
|
||
3. 直接键盘输入 "1280"(不做任何清空)
|
||
4. 点"确认添加"
|
||
5. 观察列表显示 "¥2,401,280"
|
||
|
||
### 可能原因
|
||
|
||
- `n-input-number` 打开时 input 里已有默认值(例如来自 `product_line.default_adult_price` 或产品类型默认值 "240"),点击不会自动全选
|
||
- 用户的 type 被当作在光标位置插入
|
||
|
||
### 期望
|
||
|
||
- 点击输入框时自动全选当前值(focus → select all)
|
||
- 或:初始默认为空,用户主动输入
|
||
|
||
### 严重度
|
||
|
||
**P1**——非程序崩溃,但用户若不注意会严重错填价格造成业务风险("240" + 用户打 "1280" → 超过 200 万的团费)。
|
||
|
||
### 证据截图
|
||
|
||
`D:/work2/HL/test/shots/core-step4-section-added.png`
|
||
|
||
---
|
||
|
||
## 🟢 BUG-1 [P3]:产品线卡片封面图缺失
|
||
|
||
### 现象
|
||
|
||
新建产品线(主题)的表单只有 名称 / 主题类型 / 描述 三个字段,没有封面图上传入口;列表卡片也没有任何封面图区域,仅文字展示。
|
||
|
||
### 期望
|
||
|
||
至少给默认占位图;或在新增/编辑表单增加封面图上传字段。
|
||
|
||
### 严重度
|
||
|
||
P3(不影响功能,UI 信息展示不完整)
|
||
|
||
### 证据截图
|
||
|
||
`D:/work2/HL/test/shots/14-theme-list-final.png`
|
||
|
||
---
|
||
|
||
## 可选:自动化测试脚本
|
||
|
||
存放位置:`D:/work2/HL/test/`。前端同事若需要快速复现 BUG-3/BUG-4,可参考 `fill_day.py`(按天填 7 字段)和 `fill_step4_v2.py`(价格区间)。脚本基于 CDP 接管 Chrome 9222 调试端口。
|
||
|
||
---
|
||
|
||
## 后端说明
|
||
|
||
- 所有后端接口(`/admin/product/line/*`, `/admin/product/edit`, 等)在 E2E 过程中工作正常
|
||
- 核心产品版本最终通过所有后端校验成功提交审核
|
||
- BUG-3/BUG-4/BUG-1 均为**前端展示/交互层**问题,后端无需改动
|
||
|
||
以上问题请前端团队酌情排期,优先级顺序:BUG-3 > BUG-4 > BUG-1。
|