Commit Graph

596 Commits

Author SHA1 Message Date
chengkai3 cfc348f457 [chore]:[FL-xxx] 统一 REDIS_PASSWORD 为 Cp990803,对齐 .env 和 .env.prod
fquiz 镜像构建与部署 / build-and-push (push) Has been cancelled
fquiz 镜像构建与部署 / deploy (push) Has been cancelled
2026-06-28 22:59:54 +08:00
chengkai3 febf8b6c67 [fix]:[FL-226][ATP模型上传时去掉最外层目录]
修改上传逻辑,在打包ZIP时自动去掉选中文件夹的最外层目录名,
只保留里面的文件和子目录结构。

示例:
- 选择文件夹:/my-model/subdir/file.txt
- 之前上传后:my-model/subdir/file.txt
- 现在上传后:subdir/file.txt

实现细节:
- 解析webkitRelativePath,按/分割路径
- 使用slice(1)去掉第一个路径段(最外层目录名)
- 重新拼接剩余路径段

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 22:43:46 +08:00
chengkai3 75316e788e [fix]:[FL-226][ATP模型上传支持目录]
恢复ATP模型上传时的目录选择功能,同时保持去掉提示信息的改动。

修改内容:
- 恢复Upload组件的directory和multiple属性,允许用户选择文件夹
- 将按钮文本从"选择文件"改回"选择文件夹"
- 恢复ZIP打包逻辑,将选中的文件夹内容打包成ZIP后上传
- 修复beforeUpload回调,使用prev => [...prev, file]累加文件而不是覆盖

技术细节:
后端upload_asset_files函数已支持ZIP文件自动解压(检测.zip扩展名),
因此前端需要将目录文件打包成ZIP上传,以保留目录结构。

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 22:13:10 +08:00
chengkai3 8bc7201783 [fix]:[FL-216][ATP模型管理: 去掉版本概念,上传文件直接展示]
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 20:34:46 +08:00
chengkai3 18ed6ede30 [fix]:[FL-216][ATP模型管理: 去掉版本概念,上传文件直接展示]
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 20:22:27 +08:00
chengkai3 2b030f9b21 [chore]:[FL-xxx] 将 deploy/pro-deploy/.env 加入 .gitignore,避免 git pull 覆盖线上配置 2026-06-28 19:12:48 +08:00
chengkai3 b80ad69545 [feat]:[FL-xxx][Redis 密码认证] 补充 deploy/pro-deploy/.env 的 REDIS_PASSWORD 变量,修复误删的 MINIO_API_PORT 2026-06-28 19:08:59 +08:00
chengkai3 08ba3e19d3 [fix]:[FL-215][ATP模型管理去掉版本概念:上传文件直接用于展示]
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 18:47:35 +08:00
chengkai3 54384cb829 [feat]:[FL-222][引入更多AntDesign图标(至少50个)覆盖菜单管理配置需求]
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 18:23:53 +08:00
chengkai3 b36024a98e [chore]:[FL-220][更新package-lock.json]
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 18:22:24 +08:00
chengkai3 192fc29709 [feat]:[FL-220][引入更多AntDesign图标(70+),覆盖系统业务场景]
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 18:22:24 +08:00
chengkai3 468c34b1f0 [fix]:[FL-225][修复AI问答页面用户消息输入框不兼容暗黑主题]
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 18:20:43 +08:00
chengkai3 aa4c9928f1 [fix]:[FL-223][维度管理页面操作列宽度调整]
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 18:11:18 +08:00
chengkai3 a0abbe16da [feat]:[FL-xxx][Redis 添加密码认证] 新增 REDIS_PASSWORD 环境变量,更新所有服务 Redis 连接 URL 2026-06-28 18:10:33 +08:00
chengkai3 1a997817ed [feat]:[FL-224][优化AI问答页面:左下角按钮改为文案,左上角增加新建会话加号按钮]
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 18:09:38 +08:00
chengkai3 f1688ae560 [feat]:[FL-219]引入50+个AntDesign图标供菜单配置使用
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 18:07:13 +08:00
chengkai3 d23fcdcd05 [fix]:[FL-221][维度管理页面操作列太窄导致换行]
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 18:01:27 +08:00
chengkai3 9ad385ec38 [feat]:[FL-218][操作文档展示页面样式优化]
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 17:55:05 +08:00
chengkai3 9580d57b6b [fix]:[FL-217][定时任务管理页面优化]去掉新建任务,编辑只允许改状态和频率
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 17:28:15 +08:00
chengkai3 d69c449821 [feat]:[FL-214][任务监控页面改造]
改动内容:
1. 移除生成时间、执行节点、在线、离线、任务统计信息的展示
2. 移除自动刷新按钮和自动刷新功能
3. 过滤"到期定时任务派发"任务,不在页面上展示
4. 移除监控分组、接收时间、位置参数、关键字参数、异常信息列
5. 将"查看日志"按钮重命名为"日志",增加"详情"按钮(查看任务参数),增加"异常"按钮(查看异常日志)
6. 同步更新移动端卡片视图

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 16:06:18 +08:00
chengkai3 e0d357eb52 fix:[FL-207][避雷器组合下直接显示所有模型文件]
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 15:54:11 +08:00
chengkai3 cc988abdac feat:[FL-212][任务监控页面支持查看执行日志]
- 后端添加任务日志存储和查询API
  - 新增 /api/v1/admin/task-logs 端点支持上传、获取和列出任务日志
  - 日志存储到MinIO,路径格式: logs/YYYY/MM/DD/{task_id}.log
  - 新增 task_log_service 处理MinIO存储交互
  - 新增 task_log schema 定义API请求响应格式

- 前端任务监控页面添加查看日志功能
  - 在任务表格和卡片视图中添加"查看日志"按钮
  - 点击按钮打开模态框显示任务执行日志
  - 支持桌面端表格和移动端卡片两种视图

- 新增单元测试验证日志路径生成和错误处理

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 15:31:05 +08:00
chengkai3 f210c029b6 fix:[FL-207][恢复避雷器组合层级并支持模型文件下钻]
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 15:30:39 +08:00
chengkai3 0820f27f5d fix:[FL-207][场景下钻后直接展示模型列表]
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 15:14:09 +08:00
chengkai3 cbd5718669 fix:[FL-207][文件视图改为列表样式]
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 14:55:31 +08:00
chengkai3 2fccb89e49 [feat]:[FL-209][新建维度时维度类型改为下拉选择]
将新建维度表单中的维度类型字段从文本输入框改为下拉选择框,提升用户体验。

主要修改:
1. 将维度类型字段从 Input 改为 Select 组件
2. 使用 mode="tags" 支持选择现有类型或输入新类型
3. 支持搜索和清空功能
4. 修改 CreateDimensionValues 类型定义,支持字符串或数组
5. 修改 handleCreateDimension 函数,处理 tags 模式返回的数组

用户体验优化:
- 可以从现有维度类型中快速选择
- 支持搜索过滤
- 也可以输入新的维度类型
- 避免输入错误或不一致的类型名称

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 14:54:14 +08:00
chengkai3 dd978aa973 [feat]:[FL-209][维度管理页面添加按维度类型排序]
在维度管理页面的查询接口中添加排序参数,按维度类型升序排序。

主要修改:
- 在 dimensionsQueryParams 中添加 sort_by=dimension_type 参数
- 添加 sort_order=asc 参数,实现升序排序
- 确保查询结果按维度类型有序展示

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 14:49:18 +08:00
chengkai3 46a77c0dcc [fix]:[FL-211][文件管理页面的按钮样式跟系统不符]
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 14:47:34 +08:00
chengkai3 6c1cead3d9 fix:[FL-207][修改为文件视图模式-逐级下钻导航]
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 14:37:11 +08:00
chengkai3 148ce356ee fix:[FL-210][去掉系统消息页面的刷新按钮]
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 14:36:16 +08:00
chengkai3 d370750dec [fix]:[FL-209][维度管理页面一致性优化]
统一维度管理页面与用户管理页面的风格、样式和交互规范,实现系统风格一致性。

主要修改:
1. 移除新增按钮的图标,与用户管理页面保持一致
2. 修改导入的图标,使用 EditOutlined 替代 PlusOutlined
3. 统一筛选表单样式,使用 rowGap: 12 并添加表单项宽度设置
4. 新增移动端响应式卡片视图支持,包含无限滚动加载
5. 统一分页配置,默认 pageSize 改为 20,pageSizeOptions 改为 [10, 20, 50, 100]
6. 统一 Modal 确认按钮文本为"创建维度项"
7. 添加表格滚动高度动态计算逻辑,支持自适应视口
8. 新增 CSS 样式类支持卡片视图和暗黑主题
9. 添加表格容器类名和 CSS 变量支持

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 14:33:04 +08:00
chengkai3 90d1e4f788 [feat]:[FL-208][优化worker监控页面]
1. 预取配置硬编码显示为1
2. 移除自动刷新功能,刷新按钮改为主题色
3. 移除"生成时间、执行节点、在线、离线"统计信息展示
4. 修复队列列"默认队列"重复显示问题
5. 修复执行节点列内容超长时的溢出问题

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 14:32:19 +08:00
chengkai3 d66f768d44 feat:[FL-207][给ATP模型管理增加树形视图]
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 14:18:27 +08:00
chengkai3 3dc29afbd4 [feat]:[FL-206][优化维度管理功能]
- 维度类型改为允许手动输入创建
- 字段标签优化:编码→维度编码,名称→维度名称,父节点ID→父维度
- 父维度改为下拉选择,支持搜索
- 添加循环引用检查,防止选择自己的子孙节点作为父节点
- 表格中父维度显示为"名称 (编码)"格式

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 13:58:11 +08:00
chengkai3 0b05398306 [refactor]:[FL-206][移除维度管理树形视图]
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 13:54:31 +08:00
chengkai3 fb0800ce22 fix:[FL-202][ATP模型管理改造] 将loading显示位置从右上角移至列表
- 移除右上角的 Spin 组件
- 表格 loading 状态改为 assetsQuery.isLoading || assetsQuery.isFetching
- 对齐用户管理页面的 loading 显示方式

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 12:26:51 +08:00
chengkai3 4bc1eab0f1 fix:[FL-202][ATP模型管理改造] 移除上传表单提示文案
- 移除"支持选择整个目录,将保留原始目录结构"提示文本

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 11:31:17 +08:00
chengkai3 069be0968e feat:[FL-202][ATP模型管理改造] 列表显示值格式化为中文
- 新增 formatDimensionValue 函数,将原始数据值映射为用户友好的中文显示格式
- 表格列渲染使用格式化函数:电压等级带单位(35kV)、塔型显示中文(干字塔)、场景显示中文(反击)、避雷器组合显示标签(M1)
- 卡片视图同步使用格式化函数显示
- 匹配新建表单下拉选项中的展示格式

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 11:16:48 +08:00
chengkai3 5f0b4b0256 [fix]:[FL-205][模型删除时同步删除存储文件]
- 更新 delete_asset 函数,在删除数据库记录前先删除物理文件
- 遍历模型的所有 release,逐个删除其存储路径下的文件
- 使用 try-except 确保文件删除失败不会阻塞数据库清理
- 新增测试用例 test_delete_asset_removes_storage_files 验证文件删除功能

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 11:15:06 +08:00
chengkai3 a9fabc380d [fix]:[FL-205][移除资产代码层级并添加路径冲突校验]
- 从存储路径中移除 asset_code 层级
- 修改路径结构:/atp-library/{voltage_level}/{tower_type}/r{release_no}
- 新增 _check_storage_path_conflict 函数,检测路径冲突
- 在 create_release 和 create_release_from_archive 中添加冲突校验
- 当检测到路径已被其他模型占用时,返回 409 错误并提示详细信息
- 新增测试用例验证冲突检测功能

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 11:02:33 +08:00
chengkai3 6d52f24ef3 [feat]:[FL-206][新增维度管理功能]
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 11:01:16 +08:00
chengkai3 31ee65f745 [fix]:[FL-202][移除ATP模型列表描述列]
- 从表格视图中移除"描述"列
- 从卡片视图中移除描述字段显示
- 更新搜索框placeholder,去掉"描述"字样

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 10:52:15 +08:00
chengkai3 5b98ec9b49 [fix]:[FL-202][简化ATP模型创建表单]
- 移除描述字段(description)的展示和填写
- 移除Select组件创建新选项的能力(去掉dropdownRender提示文字)
- 现在只能从预定义的选项中选择,不再支持自定义输入新值
- 更新表单验证提示文字,去掉"或新建"字样

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 10:41:38 +08:00
chengkai3 a1b93a91bb [fix]:[FL-202][优化ATP模型文件上传UI]
- 移除拖拽上传框(Upload.Dragger),改为普通按钮上传
- 隐藏默认文件列表(showUploadList={false})
- 自定义文件预览列表,限制高度200px,超出部分滚动显示
- 显示文件数量统计
- 优化视觉样式,使用浅灰背景和边框
- 移除InboxOutlined图标依赖

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 10:29:46 +08:00
chengkai3 b82e005b7c [feat]:[FL-205][ATP模型文件存储改造]
- 移除 releases 层级
- 新增 voltage_level(电压等级)和 tower_type(塔型)作为目录层级
- 修改存储路径结构:/atp-library/{voltage_level}/{tower_type}/{asset_code}/r{release_no}
- 更新相关测试用例

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 10:27:52 +08:00
chengkai3 081c201b2e [fix]:[FL-202][修复ATP模型表单下拉框行为]
将CreatableSingleSelect组件替换为标准的Select组件:
- 使用showSearch支持搜索
- 选中值后下拉菜单自动关闭(单选框正常行为)
- 保留通过输入创建新选项的能力
- 添加提示文本"可直接输入新建选项"

修复了原有实现中使用mode="tags"导致的下拉框不关闭问题

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 10:24:25 +08:00
chengkai3 b90776dd40 [fix]:[FL-202][调整ATP模型创建弹窗宽度]
移除width={760},使用Ant Design默认宽度(520px),与用户管理的用户新增表单保持一致

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 10:17:10 +08:00
chengkai3 383f0a43b7 [feat]:[FL-204][优化防雷计算任务创建表单]
1. 用弹窗代替抽屉:将 Drawer 改为 Modal
2. 调整表单布局:采用纵向排布
3. 优化字段顺序:任务名、任务类型、线路在前,依赖表单采用双列展示

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 10:03:21 +08:00
chengkai3 f866ee3fa8 fix:[FL-203][调度监控页面执行节点离线巡检日志不要展示]
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 09:54:03 +08:00
chengkai3 f020bdc3c9 [feat]:[FL-202][ATP模型管理改造]
1. 表格列调整:只展示电压等级、塔型、场景、避雷器组合、描述、更新时间
2. 创建时支持上传目录,保留原始目录结构(使用jszip打包后上传)
3. 去掉编辑和详情查看功能

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-authored-by: multica-agent <github@multica.ai>
2026-06-28 09:50:09 +08:00