# 2026-09-01 工作日志 ## testProjectConfiguration 性能改造操作手册(用户要求只出方案不改代码) **背景**:承接 2026-08-28 的性能分析,用户对项目不熟,要求先出「怎么改」的操作手册,暂不改代码。 **产出**:`.workbuddy/artifacts/testProjectConfiguration性能改造操作手册.md` **方案要点(9 步)**: 1. 3 个弹窗子组件加 v-if 懒加载(砍 ~14 个首屏请求)——⚠️ 关键坑:子组件 watch showFlag 需加 immediate: true,否则弹窗打不开 2. 删除死代码 gettestItemNameTypeList(结果未使用) 3. getList() 移到 addData2() 弹窗打开时调用 4. handleSelectionChange/handleCurrentChange 加 300ms 防抖(顺带修 val 为 null 的报错) 5. 子表 pageSize 990 → 50 + 恢复被注释的分页 6. 表格瘦身:去每列 sortable、去 show-summary、el-tabs 加 lazy 7. 后端补 5 个索引(DDL 已给出) 8. 字典查询 pageSize 9999/99999 调小 9. 后端关 DEBUG 日志 + MyBatis SQL 输出 **约定**:用户偏好「先出方案再动手」的工作方式,对该项目熟悉度低,改动需精确到行号。 ## 已执行:收益最大的三步改造(15:41-15:50) 用户确认后,按手册执行了前三步(收益最大),**已改代码并验证通过**: **改动文件(4 个,均已备份 .bak)**: 1. `testProjectConfiguration.vue`: - 3 个弹窗 div 加 `v-if`(L320-323,alertComponets/3/4) - mounted 删除 `getList()` 和 `gettestItemNameTypeList()` 调用 - 删除死代码方法 `gettestItemNameTypeList` 和 data 字段 `testItemNameType` - `addData2()` 中新增 `this.getList()`(弹窗打开时才加载分析项目) 2. `alertComponents.vue` / `alertComponents3.vue` / `alertComponents4.vue`:watch `showFlag` 改为对象形式并加 `immediate: true`(否则 v-if 首渲染弹窗打不开) **验证**:用项目真实 .babelrc(含 transform-vue-jsx)对 4 个文件做模板+script 解析,全部 OK。注意:裸 acorn/babel 解析 alertComponents 会在 229 行报错,是因为模板内嵌 JSX(`onClick={() => ...}`)需要 transform-vue-jsx 插件,非代码问题。 **预期效果**:首屏请求 ~19 → ~4 个;渲染 20s → 2~3s。 **待办(用户未确认)**:手册第 4-9 步(防抖、pageSize、表格瘦身、索引、日志)。