From 2fe45888ba300db1c796f2412ede7808b5c6a4f8 Mon Sep 17 00:00:00 2001 From: "douboer@gmail.com" Date: Fri, 13 Feb 2026 17:44:25 +0800 Subject: [PATCH] update at 2026-02-13 17:44:25 --- assets/icons/select.svg | 6 + progress.txt | 18 +- src/App.vue | 352 ++++++++++++++++++++++++++++++++-------- src/core/sankey.ts | 54 +++++- src/styles.css | 293 +++++++++++++++++++++++++++------ tests/core.spec.ts | 61 +++++++ 6 files changed, 660 insertions(+), 124 deletions(-) create mode 100644 assets/icons/select.svg diff --git a/assets/icons/select.svg b/assets/icons/select.svg new file mode 100644 index 0000000..3660533 --- /dev/null +++ b/assets/icons/select.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/progress.txt b/progress.txt index 2d4b4d5..141c7d6 100644 --- a/progress.txt +++ b/progress.txt @@ -1,4 +1,4 @@ -[更新时间] 2026-02-13(第二次更新) +[更新时间] 2026-02-13(第三次更新) [项目] 星程桑基图 一、已完成(Done) @@ -17,6 +17,20 @@ 9. 已实现本地持久化:用户上传文件、映射配置与预览选项会写入 localStorage,刷新后自动恢复。 10. 已新增“汇聚对齐”配置(Between/Middle/Top/Bottom),可控制 target 侧对齐,且 gap 作为源侧基准。 11. 已优化“无配置初始化映射”:优先按表头别名自动匹配,缺失时按第二行首个数字列兜底。 +12. 已按 Figma 更新主界面布局与文案: + - 左侧将“源数据/目标数据”合并为单个“数据选择器”区块,并使用 `select.svg` 标题图。 + - 新增独立“信息日志”面板(`information.svg`),集中显示解析信息、告警、错误与当前映射日志。 + - 预览标题改为 `sankeyview.svg`,并移除预览区域底部告警展示。 +13. 已完成总高度适配窗口:页面改为 `header + content + footer` 的 100vh 自适应布局,内容区按剩余空间伸缩并在必要时内部滚动。 +14. 已修复桑基图底部轻微溢出:图表渲染底部新增固定 8px 安全内边距,并同步目标侧布局高度计算。 +15. 已修复 gap 增大时顶部轻微溢出:图表渲染顶部新增固定 8px 安全内边距,并与上下可用高度计算保持一致。 +16. 已增强日志定位能力:当“源数据不是有效数字 / 源描述为空 / 目标描述为空”时,告警会展示行号、列号、列名及该单元格原始值(目标为空时额外提示无可继承上方值)。 +17. 已增强 iOS 预览尺寸同步:增加 `ResizeObserver` 与 `visualViewport` 监听,确保地址栏变化和容器尺寸变化时桑基图实时 resize。 +18. 已调整移动端布局顺序:单列模式下“桑基图预览”位于“数据选择框”之上。 +19. 已修复 iOS 下 preview-panel 高度异常:引入 `visualViewport` 动态高度变量驱动页面高度,并将移动端内容区改为“预览弹性占满 + 选择区独立滚动”布局。 +20. 已完成手机端控件压缩:隐藏上传文本框;工具条单行滚动显示;预览区 gap/padding 改为下拉(0-30 步长 5 / 0-80 步长 10);方向改为“源/目标”;标签位置改为“内/外/左/右”;汇聚对齐改为“两端/中间/顶部/底部”;控件尽量单行展示。 +21. 已强制手机端仅使用下拉控件模式:手机视口不渲染 gap/padding 滑动条与方向拨杆,仅渲染下拉选择,避免样式条件失效时回退到滑动条模式。 +22. 已扩展到平板单行模式:`<=1024px` 下工具条与预览控件均单行展示(不换行,超出横向滚动),并压缩滑动条宽度以提升一行容纳能力。 二、当前状态(In Progress) 1. 无进行中的代码重构任务。 @@ -33,12 +47,14 @@ 2. Vite 开发配置依赖本机 HTTPS 证书路径,换机器可能无法直接启动。 3. 当前“目标数据”无独立数值列,数值始终来自 source data 列;若未来业务需要需先改 PRD。 4. 小程序仅骨架,尚未接入真实解析、渲染与导出。 +5. 信息日志当前仅展示最近告警(前 8 条),若后续需要完整历史需引入分页或虚拟滚动。 四、下一步建议(Next) 1. 决策是否引入“目标数值列”能力(先更新 PRD 后实现)。 2. 将小程序由骨架升级为可用版本(优先复用 `src/core`)。 3. 补充更多异常用例测试(空文件、超大文件、乱码表头、极端数值)。 4. 评估并处理 dev HTTPS 证书本地耦合问题,降低新环境接入成本。 +5. 评估“信息日志”是否需要支持导出或清空操作。 五、执行约定(Session Memory Rules) 1. 新会话开始先读取本文件,再读取 6 份规范文档。 diff --git a/src/App.vue b/src/App.vue index 4df0daa..b2998af 100644 --- a/src/App.vue +++ b/src/App.vue @@ -92,8 +92,8 @@
-
-

源数据

+
+ 数据选择器