diff --git a/src/views/bg/bgpartymatter/BGPARTYMATTER_CHECKLIST.md b/src/views/bg/bgpartymatter/BGPARTYMATTER_CHECKLIST.md new file mode 100644 index 0000000..3a2971c --- /dev/null +++ b/src/views/bg/bgpartymatter/BGPARTYMATTER_CHECKLIST.md @@ -0,0 +1,89 @@ +# 党委会事项(bgpartymatter)页面格式调整与前端核查说明 + +> 核对日期:2026-08-06 +> 核对范围:`src/views/bg/bgpartymatter/` 全部 Vue 组件(8 个真实页面/表单)+ `BgPartymatter.api.ts` / `BgPartymatter.data.ts` + 所务会包装页 `BgOfficematterList.vue` +> 核对方式:静态代码审查 + Playwright 无头浏览器实测标签溢出测量(`%TEMP%/pwverify/verify3.mjs`,admin 真实登录,临时路由 `bg-verify-temp` 渲染),参照 `src/views/dq/inspectTask/` 已完成的格式调整方案 + +--- + +## 一、格式调整记录(消除文字被输入框遮挡 / 对齐) + +### 1. `BgPartymatterList.vue`(列表页 / 查询区,党委会默认 + 所务会复用) + +| 问题 | 调整 | +|------|------| +| 查询表单 5 个筛选列 + 按钮列均为 `:xl="4"`(约占 1/6 屏宽),每行最多 5 列,输入控件偏窄 | 全部 6 处(年份/分管所领导/事项名称/会议决议/完成状态/按钮列)统一放宽为 `:xl="6"`(每行 4 个,按钮列换行),`labelCol xl:6 / xxl:8` 保持不动 | +| 本页筛选标签均 ≤6 字(年份/分管所领导/事项名称/会议决议/完成状态) | 无需精简标签 | + +> `BgOfficematterList.vue` 通过 `` 复用本页,放宽列宽对「所务会」视图同样生效。 + +### 2. `BgPartymatterForm.vue`(新增/编辑弹窗,弹窗宽 1100) + +| 问题 | 调整 | +|------|------| +| 整行字段「是否需要所办领导审批」9 字标签实测 140px,`wideLabelCol 3/21` 下标签盒仅 134px,溢出约 6px | 标签精简为 `需所办领导审批`(7 字 98px < 标签盒约 134px),完整语义由开关(j-switch)承载(与 inspectTask「需党群领导审批」处理一致) | +| 其余字段 ≤6 字(半行 7/17 标签盒约 190px、整行 wide 3/21 标签盒约 128px) | 实测 0 溢出,无需调整 | + +### 3. `BgPartymatterFeedbackForm.vue`(反馈弹窗表单,弹窗宽 800) + +| 问题 | 调整 | +|------|------| +| 基准 `formItemLayout` 为 `labelCol 5 / wrapperCol 16`(5+16=21),6 字标签(责任部门名称/计划完成日期/实际执行情况/实际完成日期,84px)在 `5/24×约376px≈78px` 标签盒内溢出 | 改为 `7/17`(7+17=24),标签盒约 102px > 84px,与 `BgPartymatterBPMFeedbackModal` 基准对齐 | + +### 4. 无需调整的文件 + +- `BgPartymatterBPMForm.vue`(流程表单):基础信息 18 个标签实测 0 溢出;流程办理区(`process-variable-form`)为 `v-if` 门控(showSubApproveUser/showFinishSelector),当前表单状态不渲染 +- `BgPartymatterBPMFeedbackModal.vue`(反馈弹窗,宽 820):10 个标签实测 0 溢出 +- `BgPartymatterFeedbackModal.vue`(反馈弹窗壳,宽 800)、`BgPartymatterModal.vue`(弹窗壳,宽 1100) +- `BgPartymatterFeedbackList.vue`(`useSearchForm:false`,无筛选区渲染) +- `BgPartymatter.api.ts`、`BgPartymatter.data.ts`(无布局) + +--- + +## 二、前端错误核查 + +### 修复(3 处,格式级) + +| 级别 | 文件 | 问题 | 处理 | +|------|------|------|------| +| 格式 | `BgPartymatterList.vue` | 查询列宽 `:xl="4"` 过窄 | 6 处统一 `xl:4→xl:6` | +| 格式 | `BgPartymatterFeedbackForm.vue` | 6 字标签在 `labelCol 5/24` 内溢出 | 基准 `5/16→7/17` | +| 格式 | `BgPartymatterForm.vue` | 9 字标签「是否需要所办领导审批」溢出约 6px | 精简为「需所办领导审批」 | + +### 引用存在性校验(全部通过) + +| 引用 | 校验结果 | +|------|---------| +| `columns / bgPartymatterFeedbackColumns / superQuerySchema` | `BgPartymatter.data.ts` 存在 ✓ | +| `list / statusStats / deleteOne / batchDelete / saveOrUpdate / saveBpmForm / setProcessVariable / setBpmVariableLocal / bgPartymatterFeedbackList / bgPartymatterFeedbackDelete / bgPartymatterFeedbackDeleteBatch / bgPartymatterFeedbackSaveOrUpdate / getExportUrl / getImportUrl / getImportExcelByEasyExcelUrl / getCheckExcelByEasyExcelUrl / getExportXlsByEasyExcelUrl / getExportXlsHeadersUrl / bgPartymatterFeedbackImportUrl / bgPartymatterFeedbackExportXlsUrl` | `BgPartymatter.api.ts` 均导出 ✓ | +| `DeptRoleUserSelectDropDown / DeptRoleUserSelectRadioGroup / SzSelectDept / JInput / JSwitch / JDictSelectTag / JFormContainer / j-upload-button` | 组件均存在 ✓ | +| `PARTY_COMMITTEE_DEPT_ID / CHARGE_LEADER_ROLE_ID / SDW_LEADER_ROLE_ID` | `src/constant/supervision/index.ts` 存在 ✓ | +| 弹窗壳宽度 | `BgPartymatterModal=1100`、`BgPartymatterFeedbackModal=800`、`BgPartymatterBPMFeedbackModal=820` ✓ | + +### Playwright 实测(admin 真实登录,`bg-verify-temp` 临时路由) + +| 页面 | 标签数 | 溢出 | +|------|--------|------| +| 列表筛选栏 | 4 | 0 | +| 新增/编辑弹窗(1100) | 19 | 修复前 1(「需所办领导审批」140>134),修复后 0 | +| BPM 基础信息 | 18 | 0 | +| 反馈弹窗(800) | 10 | 0 | +| BPM 反馈弹窗(820) | 10 | 0 | + +### 发现但未改(P2 建议,不影响运行) + +| 文件 | 说明 | +|------|------| +| `BgPartymatterBPMForm.vue` | line 807 `console.log('BgPartymatter BPM process info', ...)` 调试输出,建议清理 | +| `BgPartymatterForm.vue` | `JSelectDept / JSelectUser` import 未使用(模板中仅注释掉的 ``) | +| `BgPartymatterFeedbackForm.vue` | lines 95-96 `labelCol / wrapperCol` 死引用(模板绑定的是 `formItemLayout`,未引用这两个 ref) | +| `BgPartymatterList.vue` | `useListPage` 解构的 `onImportXls` 未在模板使用(模板用 `handleCheckExcel` / `handleImportByTemplate`) | +| `BgPartymatterFeedbackList.vue` | `downloadFile` import 未使用 | + +--- + +## 三、说明与假设 + +1. 弹窗 labelCol 调整依据弹窗声明宽度核算(`BgPartymatterModal=1100`、`BgPartymatterFeedbackModal=800`、`BgPartymatterBPMFeedbackModal=820`)。`BgPartymatterForm` 基准 `7/17`、wide `3/21` 可容纳 ≤7 字标签单行显示;「需所办领导审批」精简后完整语义由开关(j-switch)承载。 +2. 列表页默认只显示 4 个筛选列(完成状态列 `v-if=toggleSearchStatus` 展开后显示),放宽为 `xl:6` 后每行 4 个、按钮列换行,与 inspectTask 处理一致。 +3. 项目未配置 lint/typecheck 脚本,本核对以静态审查 + 浏览器实测为准;实测截图存 `%TEMP%/pwverify/shots3/` 供目视复核。 diff --git a/src/views/bg/bgpartymatter/BgPartymatterList.vue b/src/views/bg/bgpartymatter/BgPartymatterList.vue index 0ffbb52..ef42e23 100644 --- a/src/views/bg/bgpartymatter/BgPartymatterList.vue +++ b/src/views/bg/bgpartymatter/BgPartymatterList.vue @@ -4,7 +4,7 @@
- +