|
@@ -372,6 +372,9 @@ const handleSubmit = (data: CreateRequest | UpdateRequest) => {
|
|
|
### Debug Log References
|
|
### Debug Log References
|
|
|
- 修复批量创建子商品API中的spuId字段缺失问题
|
|
- 修复批量创建子商品API中的spuId字段缺失问题
|
|
|
- 修复规格数据验证测试中的断言格式问题
|
|
- 修复规格数据验证测试中的断言格式问题
|
|
|
|
|
+- 修复嵌套表单结构导致的HTML验证错误
|
|
|
|
|
+- 修复TypeScript类型兼容性问题(ParentChildData接口导出,?? null/undefined转换)
|
|
|
|
|
+- 修复Maximum update depth exceeded无限重渲染问题(使用useCallback)
|
|
|
|
|
|
|
|
### Completion Notes List
|
|
### Completion Notes List
|
|
|
1. ✅ 父子商品管理API已实现并测试通过
|
|
1. ✅ 父子商品管理API已实现并测试通过
|
|
@@ -437,6 +440,27 @@ const handleSubmit = (data: CreateRequest | UpdateRequest) => {
|
|
|
- 可能原因:GoodsManagement组件的创建表单可能使用对话框/模态框,而对话框没有正确渲染
|
|
- 可能原因:GoodsManagement组件的创建表单可能使用对话框/模态框,而对话框没有正确渲染
|
|
|
- 正在修复:添加更多调试信息,检查创建表单是否打开
|
|
- 正在修复:添加更多调试信息,检查创建表单是否打开
|
|
|
|
|
|
|
|
|
|
+8. ✅ 修复嵌套表单结构问题
|
|
|
|
|
+ - 问题:GoodsParentChildPanel组件包含自己的表单(BatchSpecCreatorInline),不能嵌套在商品表单内部
|
|
|
|
|
+ - 解决方案:将GoodsParentChildPanel移动到商品表单外部,保持在同一对话框中
|
|
|
|
|
+ - 具体更改:
|
|
|
|
|
+ - 从`GoodsManagement.tsx`的商品创建/编辑表单中移除GoodsParentChildPanel
|
|
|
|
|
+ - 将面板放置在表单下方,对话框底部按钮之前
|
|
|
|
|
+ - 添加form ID:`"create-goods-form"`和`"edit-goods-form"`
|
|
|
|
|
+ - 使用`form`属性将对话框按钮与相应表单关联
|
|
|
|
|
+ - 添加`handleParentChildDataChange`回调函数,使用`useCallback`避免无限重渲染
|
|
|
|
|
+ - 在`GoodsParentChildPanel.tsx`中导出`ParentChildData`和`BatchSpecTemplate`接口类型
|
|
|
|
|
+ - 修复TypeScript类型兼容性问题(`?? null`和`?? undefined`转换)
|
|
|
|
|
+ - 结果:消除了嵌套表单的HTML验证错误,保持组件功能不变
|
|
|
|
|
+
|
|
|
|
|
+9. 🔄 当前测试问题:Maximum update depth exceeded无限重渲染
|
|
|
|
|
+ - 问题:集成测试"应该完成完整的创建商品和批量创建规格流程"失败,错误信息:"Maximum update depth exceeded"
|
|
|
|
|
+ - 原因:`handleParentChildDataChange`回调函数在每次渲染时重新创建,导致无限循环
|
|
|
|
|
+ - 尝试修复:使用`useCallback`包装回调函数,依赖项为`[setParentChildData]`
|
|
|
|
|
+ - 当前状态:测试仍然失败,需要进一步调试
|
|
|
|
|
+ - 可能原因:`setParentChildData`可能被重新创建,或者`onDataChange`回调在子组件中频繁调用
|
|
|
|
|
+ - 待解决:需要检查`GoodsParentChildPanel`中的`onDataChange`调用时机,避免在useEffect中频繁触发
|
|
|
|
|
+
|
|
|
### File List
|
|
### File List
|
|
|
**新增/修改的后端文件:**
|
|
**新增/修改的后端文件:**
|
|
|
- `packages/goods-module-mt/src/routes/admin-goods-parent-child.mt.ts` (新增)
|
|
- `packages/goods-module-mt/src/routes/admin-goods-parent-child.mt.ts` (新增)
|
|
@@ -465,9 +489,12 @@ const handleSubmit = (data: CreateRequest | UpdateRequest) => {
|
|
|
| 2025-12-12 | 1.4 | 完成补充的批量创建规格交互测试 | James (Developer) |
|
|
| 2025-12-12 | 1.4 | 完成补充的批量创建规格交互测试 | James (Developer) |
|
|
|
| 2025-12-12 | 1.5 | 增强功能:添加规格名称重复验证 | James (Developer) |
|
|
| 2025-12-12 | 1.5 | 增强功能:添加规格名称重复验证 | James (Developer) |
|
|
|
| 2025-12-12 | 1.6 | 记录集成测试中的标签页切换问题 | James (Developer) |
|
|
| 2025-12-12 | 1.6 | 记录集成测试中的标签页切换问题 | James (Developer) |
|
|
|
|
|
+| 2025-12-12 | 1.7 | 修复嵌套表单结构问题,移除嵌套表单 | James (Developer) |
|
|
|
|
|
|
|
|
## Status
|
|
## Status
|
|
|
-🔄 Testing Required - 需要修复集成测试中的标签页切换问题
|
|
|
|
|
|
|
+🔄 Testing Required - 需要修复集成测试中的两个问题:
|
|
|
|
|
+1. 标签页切换逻辑问题
|
|
|
|
|
+2. Maximum update depth exceeded 无限重渲染问题
|
|
|
|
|
|
|
|
### 完成状态
|
|
### 完成状态
|
|
|
- [x] 父子商品管理API实现完成
|
|
- [x] 父子商品管理API实现完成
|
|
@@ -477,7 +504,9 @@ const handleSubmit = (data: CreateRequest | UpdateRequest) => {
|
|
|
- [x] 代码已提交并推送到远程仓库
|
|
- [x] 代码已提交并推送到远程仓库
|
|
|
- [x] 故事验收标准全部满足
|
|
- [x] 故事验收标准全部满足
|
|
|
- [x] **已完成**: 完整的批量创建规格交互测试
|
|
- [x] **已完成**: 完整的批量创建规格交互测试
|
|
|
|
|
+- [x] **已完成**: 修复嵌套表单结构问题
|
|
|
- [ ] **进行中**: 修复集成测试中的标签页切换问题
|
|
- [ ] **进行中**: 修复集成测试中的标签页切换问题
|
|
|
|
|
+- [ ] **进行中**: 修复Maximum update depth exceeded无限重渲染问题
|
|
|
|
|
|
|
|
## QA Results
|
|
## QA Results
|
|
|
*此部分由QA代理在审查完成后填写*
|
|
*此部分由QA代理在审查完成后填写*
|