From f865d41547124c7a264e4a5a73607b012490f387 Mon Sep 17 00:00:00 2001 From: attacker Date: Tue, 16 Jun 2026 07:06:32 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20update=20dev-log=20-=20ApprovalFlow=20?= =?UTF-8?q?=E6=8B=86=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/dev-log.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/docs/dev-log.md b/docs/dev-log.md index 6aab5bf..5595633 100644 --- a/docs/dev-log.md +++ b/docs/dev-log.md @@ -1198,3 +1198,28 @@ cd ~/devops/aiops - 前端仍有接近700行可拆分: ApprovalFlow.tsx(666)、CloudBilling.tsx(663)、CronJobManager.tsx(652)、AppRelease.tsx(650) - sidebar.tsx(689行) 为 shadcn 标准 UI 组件,context 已提取,剩余无需拆分 - 后端 sql_audit.go(435行) 属已移除菜单死代码(保留不拆) + + +## 2026-06-16 自动推进(cron) + +- **任务**: 拆分 ApprovalFlow.tsx(666行到412行),远离700行硬上限 +- **背景**: dev-log 上次建议的预防性维护项(继 AgentMonitor + AIPredictiveAnalytics 拆分后,ApprovalFlow 是资源申请模块中最接近 700 行限制的业务组件) +- **拆分方案**: + - ApprovalDetailDialog.tsx — 新建(140行):审批详情弹窗(流程标题/类型徽章/申请人/提交时间/审批内容/申请表单渲染/审批进度/操作记录/通过拒绝按钮)。Props: open/onOpenChange/instance/templates/onApprove/onReject,纯展示组件无内部状态 + - ApprovalCreateDialog.tsx — 新建(212行):新建资源申请弹窗(步骤一选择类型卡片,步骤二动态表单),状态自包含(selectedTemplate/formData/submitting 全部内移)。Props: open/onOpenChange/templates/onSuccess(回调刷新列表)。关闭弹窗时自动重置内部状态 + - ApprovalFlow.tsx — 主组件从 666 行降至 412 行(-254);移除 selectedTemplate/formData/submitting 状态 + handleSubmit 函数(迁移到 CreateDialog);移除未使用的导入(Input/Label/Select/useConfirm/parseFields/renderFormData/APPROVAL_TYPE_OPTIONS/CardHeader/CardTitle/CardDescription);审批操作弹窗(Action Dialog)保留内联(53行,多处入口耦合) +- **结果**: + - npx tsc --noEmit 零错误 + - npm run build 通过(3.10s, 2598 modules) + - ./run.sh restart 后 /health 正常 + 前端 200 + - 浏览器验证 /approval(资源申请菜单): + - 4 个统计卡片正常渲染(待审批/已通过/已拒绝/我的待办) + - 新建申请弹窗打开,显示云服务器申请/应用部署申请两个类型卡片,选择云服务器申请,7 字段动态表单完整渲染(云厂商/地域/规格/系统盘/数量/时长/用途) + - 详情按钮打开 ApprovalDetailDialog 弹窗(标题云服务器申请+关闭按钮) + - 3 个 Tab(审批实例/流程模板/我的审批) 正常切换 + - console 零 JS 错误 + - git push 成功 (commit d76c23b) +- **下一步建议**: + - 前端仍有接近700行可拆分: CloudBilling.tsx(663)、CronJobManager.tsx(652)、AppRelease.tsx(650)、ServerManager.tsx(645)、TraceManager.tsx(620) + - sidebar.tsx(689行) 为 shadcn 标准 UI 组件,context 已提取,剩余无需拆分 + - 后端 sql_audit.go(435行) 属已移除菜单死代码(保留不拆)