61 Commits

Author SHA1 Message Date
Codex
795efe5970 chore: record 3100 recovered main-aligned state checkpoint/3100-main-aligned-20260413-1902 2026-04-13 19:05:22 +08:00
WuYongJie
d12470419e merge: adopt xuxiake material library workflow 2026-04-13 17:26:23 +08:00
WuYongJie
73818e480b feat: finalize assisted assembly mainline workflow 2026-04-13 17:18:57 +08:00
Codex
7fdaaacb2d feat(资料库): 收口基材与花色新建逻辑 2026-04-13 16:09:38 +08:00
WuYongJie
b901e19ebd fix(material-library): align substrate migration and labels 2026-04-13 14:55:03 +08:00
Codex
a531b16b38 feat(基础资料库): 移除系统名称、优化花色筛选和表单布局
- 全栈移除 SubstrateSystemNameOption(字典管理、表单、API、数据库)
- 花色改为单选 + 自动搜索下拉,排除五金油漆/漆面颜色/五金漆面色
- 基材名称自动生成格式:尺寸+环保等级+材质+花色+贴面
- 材质改为纯下拉选择,贴面始终显示
- 花色框体与 Select 组件宽度/高度统一
- 厚度规格字典只保留厚度数值+排序值
2026-04-13 14:41:46 +08:00
Codex
cb6cb0cc57 feat(基础资料库): 实现 5 字段唯一约束收口
createSubstrate 新增合并逻辑:

1. **完全重复** (相同 5 字段 + 相同花色) → 拒绝,报错「基材库已有相同规格的基材,不可重复创建」
2. **花色不同** (相同 5 字段 + 不同花色) → 合并新花色到已有基材,重建名称
3. **规格不同** (5 字段不同) → 新建基材,自动编码 BC-XXXX

5 字段 = categoryId + environmentGradeId + thicknessSpecId + surfaceOptionId + systemNameOptionId
实木 (无 surfaceOptionId) 按 null 处理,纳入 5 字段匹配

- TypeScript 编译: 0 errors
- 基础资料库测试: 48/48 passed
2026-04-13 14:41:08 +08:00
WuYongJie
2846c7397e feat: finalize assisted assembly viewport integration 2026-04-13 14:32:24 +08:00
WuYongJie
ae9acb4091 feat: add asset thumbnail generation workflow 2026-04-11 15:13:26 +08:00
WuYongJie
5945858f69 feat: merge packaging material library rules and assembly flow 2026-04-11 12:07:00 +08:00
WuYongJie
7c6cc6fa2c merge: integrate packaging material library updates 2026-04-11 10:36:20 +08:00
Codex
9959f43dfb fix: resolve merge type errors — smart quotes, nullable surfaceOption, remove stale test 2026-04-10 21:03:06 +08:00
Codex
7e77da5e7c merge: sync main (3f6a67a) into codex/xuxiake-packaging
冲突解决口径:
- 辅助装配已改为 manual assembly,auto combinations 接口保留但主链不使用
- 资产中心审核流、页面结构以 main 版本优先
- Substrate 基材真相:surfaceOptionId 可空、SubstrateFinish 保留、weightKg 进主模型、去掉5字段唯一约束
- createDraftGroupSchema 使用 main 版本(selectedFamilyIdsByType)
- 保留 BC-XXXX 自动编码、实木无贴面、花色联动、重复检测等基础资料库增强
2026-04-10 20:45:00 +08:00
WuYongJie
3f6a67afde feat: streamline assisted assembly direct workspace flow 2026-04-10 20:16:55 +08:00
Codex
c3b73bdbdb feat(material-library): 基础资料库重构 — 基材录入+饰面花色完整改造
- 基材编码自动生成 BC-0001/BC-0002 依次递增
- 基材名称自动生成:18MM E1 刨花板 北美原木纹色 双贴
- 完全相同规格(含花色)重复检测
- 实木特殊处理:无贴面,花色自动筛选实木花色分类
- 材质字段支持下拉选择+手动输入
- SubstrateFinish 多对多、surfaceOptionId 可空
- 软删除花色名称不阻塞重建
2026-04-10 19:53:58 +08:00
WuYongJie
4b4173abde feat: simplify asset review workflow and assembly entry 2026-04-10 17:41:19 +08:00
WuYongJie
389d12e64b feat: switch single-board assembly to manual workflow 2026-04-10 11:07:26 +08:00
WuYongJie
5068d7736d fix: stabilize assisted assembly and asset center matching 2026-04-09 20:52:05 +08:00
WuYongJie
d78bec9971 Refine assisted assembly workflow 2026-04-09 15:31:34 +08:00
WuYongJie
aae30ea05c fix: restore asset workspace controls and primary button theme 2026-04-09 09:52:31 +08:00
WuYongJie
a80cb5498f feat: land assembly workspace and share fixes 2026-04-08 23:07:58 +08:00
WuYongJie
ee5cb3a900 fix(migration): 修正 Substrate 索引删除 SQL 语法 2026-04-08 18:29:39 +08:00
WuYongJie
6723c8f5f7 feat(asset-center): 重构基材规格与CAD规格款口径 2026-04-08 18:09:09 +08:00
Codex
3436335b7d merge: sync latest main into codex/xuxiake-packaging 2026-04-08 14:33:22 +08:00
WuYongJie
f0bf6c09a2 fix asset-center material library sync and workflow verification 2026-04-08 13:54:51 +08:00
Codex
58ba74a512 feat(asset-center): enhance board substrate and finish libraries 2026-04-08 13:04:59 +08:00
WuYongJie
29036152d1 feat: split asset material library from asset center 2026-04-08 12:06:11 +08:00
Codex
ac9e34db63 docs: add board substrate and finish library design spec 2026-04-08 11:29:05 +08:00
Codex
ca5c44d2ec Merge remote-tracking branch 'origin/main' into codex/xuxiake-packaging 2026-04-08 10:15:44 +08:00
WuYongJie
e1d78a6ecb feat: stabilize asset center family workflow 2026-04-08 09:51:01 +08:00
Codex
590328e9d8 merge origin/main and fix generate-from-order route exports 2026-04-08 09:08:36 +08:00
WuYongJie
7d7cb3bd0b docs: restore Precision-Atelier design spec 2026-04-07 20:00:01 +08:00
WuYongJie
7a1b875d2a chore: clean docs and stabilize asset center workflows 2026-04-07 19:54:59 +08:00
WuYongJie
ac9a87cce0 feat: ship login, cad import and packaging workflow updates 2026-04-07 18:23:09 +08:00
Codex
41d2da8b3c feat(包材): 收口资料库模板录入与轻模板迁移 2026-04-07 15:59:22 +08:00
Codex
1185f5f646 docs: add foam ui template design 2026-04-07 12:40:51 +08:00
Codex
25920198bd docs: add carton ui template design 2026-04-07 10:39:06 +08:00
Codex
f28e932576 fix: 包材列表改用 HTML table 替代 CSS Grid,保证列对齐 2026-04-03 20:48:01 +08:00
WuYongJie
8f2875480d merge: integrate packaging materials library 2026-04-03 20:31:00 +08:00
Codex
cd1a8c45cd fix: 统一表头和数据行文字大小为text-sm,修复列对齐问题 2026-04-03 20:12:06 +08:00
Codex
f83c587794 feat: 包材列表对齐修复、操作精简、图片上传功能
- 所有列统一 flex items-center 垂直居中对齐
- 表头图片列加上"图片"文字
- 操作列精简为编辑/复制/删除三个图标按钮
- 图片列支持点击上传(JPG/PNG/WebP,最大10MB)
- 新增 /api/asset-center/upload-image 上传接口
2026-04-03 20:01:50 +08:00
Codex
72f866de12 refactor: 重构包材列表布局 - 8列对齐、图标操作、纸箱加箱型字段
- 列表改为8列:图片 | 名称 | 编码 | 模板类型 | 规格摘要 | 成本 | 状态 | 图标操作
- 去除"二级分类"列(左侧导航已筛选)
- 操作列从文字按钮改为图标按钮(编辑/复制/启停/删除)
- 纸箱模板增加"箱型"字段(中开包/天地盖)
- 规格摘要自动拼接长×宽×高
2026-04-03 19:50:42 +08:00
Codex
835333cf1d refactor: 调整包材资料库布局 - 标题移至左侧栏、去除统计卡片
- 左侧栏标题从"包材分类导航/一级分类/二级分类"改为"包材资料库"
- 移除右侧区域的"Packaging Materials"标题和描述文字
- 移除4个统计卡片(二级分类、包材档案、启用/草稿、停用)
- 去除外层max-width和水平padding,让左侧栏更贴近屏幕左边
2026-04-03 19:31:36 +08:00
Codex
71d98284d1 feat(包材资料库): 重做分类导航与新建交互 2026-04-03 17:52:33 +08:00
Codex
3754863365 fix: 修复 CAD 导入构建类型错误 2026-04-03 14:41:55 +08:00
Codex
dc4151f214 Merge remote-tracking branch 'origin/main' into codex/xuxiake-packaging 2026-04-03 14:37:47 +08:00
Codex
f58a8d5d5f feat: 完善包材模板录入与工作筛选 2026-04-03 14:20:39 +08:00
Codex
4fd184e513 refactor: 调整包材草稿与兼容读取逻辑 2026-04-03 13:53:05 +08:00
Codex
0769957b0c refactor: 拆分包材模板与成本规则 2026-04-03 13:43:36 +08:00
Codex
595b6717da docs: 增加包材资料库设计稿 2026-04-03 12:39:05 +08:00