diff --git a/src/views/bg/fixcontact/FIXCONTACT_CHECKLIST.md b/src/views/bg/fixcontact/FIXCONTACT_CHECKLIST.md new file mode 100644 index 0000000..9540d01 --- /dev/null +++ b/src/views/bg/fixcontact/FIXCONTACT_CHECKLIST.md @@ -0,0 +1,83 @@ +# 定点联系单(fixcontact)页面格式调整与前端核查说明 + +> 核对日期:2026-08-06 +> 核对范围:`src/views/bg/fixcontact/` 全部 9 个文件 +> 核对方式:静态代码审查(项目 package.json 未配置 lint / vue-tsc 脚本,故采用逐文件人工核查 + 引用存在性校验) + +--- + +## 一、格式调整记录(消除文字被输入框遮挡 / 对齐) + +### 1. `FixedContact20260730List.vue`(列表页 / 查询区) + +| 问题 | 调整 | +|------|------| +| 查询表单 3 个长标签(定点联系所领导 / 联系单位(部门) / 相关分管所领导,各 7-8 个字)在 `:xl="4"`(约占 1/6 屏宽)窄列内超出 label 列宽,文字被输入框遮挡/截断 | 标签文字缩短为 ≤5 字,完整含义保留在 tooltip 中:`定点联系所领导→联系所领导`、`联系单位(部门)→联系单位`、`相关分管所领导→分管所领导` | +| 筛选框(尤其 SzSelectDept 多选部门框)在 `:xl="4"` 窄列下只有约 90px 宽,输入框被压窄显得"被挡住" | 全部筛选列由 `:xl="4"`(每行 6 个)放宽为 `:xl="6"`(每行 4 个),输入框约 150px,`labelCol/wrapperCol` 恢复为 `10/14` | +| 「相关分管所领导」默认被「展开」折叠隐藏,用户期望常驻筛选 | 去掉 `relatedLeader` 的 `v-if="toggleSearchStatus"`,改为始终显示;「展开/收起」仅控制「协办部门」 | + +### 2. `FixedContact20260730Form.vue`(新增/编辑弹窗表单) + +| 问题 | 调整 | +|------|------| +| 整行字段的宽标签列 `span 3` 过窄:`定点联系所领导审批意见`(11字)/`相关分管所领导批示意见`(12字)在弹窗宽 1100 下溢出 | `wideLabelCol: span 3→6`,`wideWrapperCol: span 21→18`(6+18=24),标签单行完整显示 | +| 冗余导入 `SzUserSelect`(未使用) | 已删除 | + +### 3. `FixedContact20260730BPMForm.vue`(流程表单) + +| 问题 | 调整 | +|------|------| +| 宽标签列 `span 3` 过窄,整行字段(联系点建议诉求摘要 / 定点联系所领导审批意见 / 相关分管所领导批示意见)与半行流程办理字段(`是否需要所领导审批` 等)均会溢出 | `wideLabelCol: span 3→7`,`wideWrapperCol: span 21→17`(7+17=24),与常规标签列 `span 7` 对齐 | + +### 4. `FixedContact20260730FeedbackForm.vue`(反馈表单) + +| 问题 | 调整 | +|------|------| +| `formItemLayout` 为 `labelCol 5 + wrapperCol 16 = 21 ≠ 24`,整行控件右侧留空 3 格,且半行字段 6 字标签在 `span 5` 下贴边 | 改为 `labelCol span 6 + wrapperCol span 18 = 24`,控件填满整行、各行对齐 | + +### 5. 无需调整的文件 + +`FixedContact20260730Modal.vue`、`FixedContact20260730FeedbackModal.vue`(仅弹窗壳);`FixedContact20260730BPMFeedbackModal.vue`(`labelCol 7/17`、`wideLabelCol 5/19` 经核算标签均能单行放下);`FixedContact20260730.api.ts`、`FixedContact20260730.data.ts`(无布局)。 + +--- + +## 二、前端错误核查 + +### 发现并修复 2 处 + +| 级别 | 文件 | 问题 | 处理 | +|------|------|------|------| +| 功能 | `FixedContact20260730FeedbackForm.vue` | 模板使用 ``,但导入名是 `SzUserSelect`;`SzSelectUser` 未在 `registerGlobComp` 全局注册(已核对 `src/components/registerGlobComp.ts`),组件无法解析 → 「反馈人」选择器不渲染 | 导入名改为 `SzSelectUser`(与模板一致,与 Form/BPMForm 惯例一致) | +| 规范 | `FixedContact20260730Form.vue` | 重复导入同一文件且 `SzUserSelect` 未使用(eslint/TS no-unused-vars) | 删除冗余导入 | + +### 引用存在性校验(全部通过) + +| 引用 | 校验结果 | +|------|---------| +| `@/constant/supervision` → `PARTY_COMMITTEE_DEPT_ID / CHARGE_LEADER_ROLE_ID / SUOBAN_DEPT_ID / MEASURE_RES_LEADER_ROLE_ID` | `src/constant/supervision/index.ts` 存在 ✓ | +| `SzUserSelect.vue`(组件 name = `SzSelectUser`) | `src/components/semri/userComponent/SzUserSelect.vue` ✓ | +| `SzDeptUserModal.vue` | `src/components/semri/deptUserComponent/SzDeptUserModal.vue` ✓ | +| `SUploadFile.vue` | `src/components/semri/fileComponent/SUploadFile.vue` ✓ | +| `DeptRoleUserSelectDropDown.vue` / `SzSelectDept.vue` / `JInput.vue` | 均存在 ✓ | +| `FlowScheduleStartModalForBG.vue` / `BusinessProcessListModal.vue` | `src/components/semri/process/` 下存在 ✓ | +| `TaskHandleInnerContent.vue` | `src/views/super/bpm/process/.../TaskHandleInnerContent.vue` ✓ | +| `useSubApproveUserResolver` | `src/composables/useSubApproveUserResolver.ts` ✓ | +| `startProcessSchedules` | `src/api/common/api.ts` ✓ | +| `dateUtil` | `src/utils/dateUtil.ts` ✓ | +| `getValueType` | `src/utils/index.ts` ✓ | +| `showImportValidationErrors` | `src/utils/helper/importError.ts` ✓ | +| `api.ts` 导出的 list/deleteOne/batchDelete/saveOrUpdate/queryById/fixedContactFeedbackList/statusStats/saveBpmForm/setBpmVariableLocal/withDrawFixContact/saveSubApprove/setProcessVariable/getProcessVariable | 均在 List/BPMForm 中有引用且导出 ✓ | + +### 已核对、无异常 + +- 各组件 `defineExpose` / 模板 ref 调用(如 `registerModal.value.disableSubmit`)沿用本仓库既有模式。 +- 表单校验 `Form.useForm`、`validateInfos`、`resetFields` 用法正确。 +- 列表展开反馈子表、行状态着色(`status-row-1/2/3`)、导出/导入/模板校验回调均正常。 + +--- + +## 三、说明与假设 + +1. 查询表单标签做了**文字精简**(完整说明保留在 tooltip),这是在不改动列宽布局的前提下消除遮挡的最稳妥方式;如需完整标签,请按上文说明放宽列宽。 +2. `BPMForm.vue` 中 `是否需要所领导审批`(9字)在半行字段 + `span 7` 标签下,当表单容器宽度 ≥ 约 880px 时单行完整显示;流程表单在任务办理页为整页宽渲染,满足该条件。若后续将该表单嵌入更窄的弹窗,需再加大标签占比或改为整行字段。 +3. 项目未配置 lint/typecheck 脚本,本核对以静态审查为准;建议在开发环境实际打开各弹窗与查询区目视复核一遍最终效果。 diff --git a/src/views/bg/fixcontact/FixedContact20260730List.vue b/src/views/bg/fixcontact/FixedContact20260730List.vue index 9a23a21..7c97c13 100644 --- a/src/views/bg/fixcontact/FixedContact20260730List.vue +++ b/src/views/bg/fixcontact/FixedContact20260730List.vue @@ -4,7 +4,7 @@
- +