# 三资具体问题上报 — 前端技术方案 > 依据:同目录功能需求、技术方案;普通 CRUD;**无**导入导出;字段 **小驼峰**。 --- ## 1. 页面与路由 | 项 | 说明 | | --- | --- | | **Vue 路径** | `ruoyi-ui/src/views/dataModel/threeAssetsProblemReport/index.vue` | | **组件名** | `ThreeAssetsProblemReport` | | **菜单配置** | 组件路径:`dataModel/threeAssetsProblemReport/index` | | **权限前缀** | `dataModel:threeAssetsProblemReport:list\|query\|add\|edit\|remove` | --- ## 2. API 模块 | 项 | 说明 | | --- | --- | | **文件** | `ruoyi-ui/src/api/dataModel/threeAssetsProblemReport.js` | | **Base** | `/dataModel/threeAssetsProblemReport` | | 方法 | 路径 | 说明 | | --- | --- | --- | | `listThreeAssetsProblemReport` | GET `/list` | 分页;筛选上报时间区间、乡镇、村 | | `getThreeAssetsProblemReport` | GET `/{id}` | 详情 | | `addThreeAssetsProblemReport` | POST `/` | 新增 | | `updateThreeAssetsProblemReport` | PUT `/` | 修改 | | `delThreeAssetsProblemReport` | DELETE `/{ids}` | 删除 | | `listThreeAssetsProblemReportTownOptions` | GET `/townOptions` | 乡镇下拉 | | `listThreeAssetsProblemReportVillageTree` | GET `/villageTree` | 县→乡镇→村树 | 本期 **无** 导入 / 导出。 --- ## 3. 页面结构 1. **筛选**:上报时间(日期区间)、乡镇、村(可搜索)。 2. **列表**:上报时间、乡镇、村、问题等级、问题详细描述、操作。 3. **新增/编辑**:上报时间、所属村、问题等级、问题详细描述、处理结果(选填);乡镇由后端按村反推,表单不选。 4. **详情**:含乡镇;处理结果一并展示。 ### 表单 / 查看分区 | 分区 | 内容 | | --- | --- | | 基本信息 | 上报时间、村(查看含乡镇)、问题等级、问题详细描述、处理结果 | ### 字段映射 | 界面 | 字段 | 说明 | | --- | --- | --- | | 上报时间 | `reportTime` | `yyyy-MM-dd HH:mm:ss`;新增默认当前时间 | | 所属村 | `villageDeptId` | 提交只传村;乡镇后端反推落库 | | 所属乡镇 | `townName` / `townDeptId` | 列表/详情展示;筛选可传 `townDeptId` | | 问题等级 | `problemLevel` | `general` / `key` / `major` | | 问题详细描述 | `problemDetail` | 必填,≤2000 | | 处理结果 | `handleResult` | 选填,≤2000;不进列表列 | 列表查询时间区间:`beginReportTime` / `endReportTime`(`yyyy-MM-dd`)。 --- ## 4. 业务规则 | 规则 | 实现 | | --- | --- | | CRUD | 列表 / 查看 / 新增 / 编辑 / 删除;无导入导出入口 | | 上报时间默认 | 新增打开表单时前端填当前时间;后端空则补 `now` | | 乡镇 | 提交只传 `villageDeptId`;乡镇由后端 `TownDeptSupport` 反推 | | 必填 | 上报时间、村、问题等级、问题详细描述 | | 长度 | 描述 / 处理结果 ≤2000 | | 无唯一约束 | 同一村可多次上报 | | 数据权限 | 乡镇/村下拉与列表沿用后端填报部门数据范围 | --- ## 5. 国际化 `dataModel.threeAssetsProblemReport`(`lang/zh|bo/dataModel.js`);页面 `dmNs = 'threeAssetsProblemReport'`,复用 `dataModelLocaleMixin`。查看表单使用 `dm-view-form`。 枚举文案键:`problemLevel_general|key|major`。 --- ## 6. 联调说明 1. 执行 `sql/biz_three_assets_problem_report.sql`(若尚未执行);已有库执行 `sql/biz_three_assets_problem_report_drop_problem_type.sql`。 2. 菜单组件 `dataModel/threeAssetsProblemReport/index`,权限见 §1 / 后端技术方案菜单示例。 3. 验证:新增默认上报时间、按村反推乡镇、问题等级枚举、描述长度、时间区间筛选、无导入导出入口。 --- ## 7. 文件清单 | 类型 | 路径 | | --- | --- | | 页面 | `ruoyi-ui/src/views/dataModel/threeAssetsProblemReport/index.vue` | | API | `ruoyi-ui/src/api/dataModel/threeAssetsProblemReport.js` | | i18n | `lang/zh/dataModel.js`、`lang/bo/dataModel.js` → `threeAssetsProblemReport` | | 前端技术方案 | 本文档 | --- ## 8. 修订记录 | 版本 | 说明 | | --- | --- | | 1.1 | 删除「问题类型」字段及相关筛选/枚举 | | 1.0 | 初版:普通 CRUD;上报时间默认;村反推乡镇;无导入导出 |