# 农村三资数据填报 — 前端技术方案

> 依据：同目录功能需求、技术方案；村级唯一 CRUD；**无**导入导出；字段 **小驼峰**。

---

## 1. 页面与路由

| 项 | 说明 |
| --- | --- |
| **Vue 路径** | `ruoyi-ui/src/views/dataModel/ruralThreeAssets/index.vue` |
| **组件名** | `RuralThreeAssets` |
| **菜单配置** | 组件路径：`dataModel/ruralThreeAssets/index` |
| **权限前缀** | `dataModel:ruralThreeAssets:list\|query\|add\|edit\|remove` |

---

## 2. API 模块

| 项 | 说明 |
| --- | --- |
| **文件** | `ruoyi-ui/src/api/dataModel/ruralThreeAssets.js` |
| **Base** | `/dataModel/ruralThreeAssets` |

| 方法 | 路径 | 说明 |
| --- | --- | --- |
| `listRuralThreeAssets` | GET `/list` | 分页；筛选乡镇、村 |
| `getRuralThreeAssets` | GET `/{id}` | 详情（含派生固定资产） |
| `addRuralThreeAssets` | POST `/` | 新增 |
| `updateRuralThreeAssets` | PUT `/` | 修改 |
| `delRuralThreeAssets` | DELETE `/{ids}` | 删除 |
| `listRuralThreeAssetsTownOptions` | GET `/townOptions` | 乡镇下拉 |
| `listRuralThreeAssetsVillageTree` | GET `/villageTree` | 县→乡镇→村树 |

本期 **无** `yearOptions` / 导入 / 导出。

---

## 3. 页面结构

1. **筛选**：乡镇、村（可搜索）。  
2. **列表**：乡镇、村、经营性固定资产、非经营性固定资产、固定资产、操作。  
3. **新增/编辑**：只选村（标签「乡镇 / 村」）；金额单位「万元」；固定资产只读预览。  
4. **详情**：含乡镇；派生固定资产展示。

### 表单 / 查看分区

| 分区 | 内容 |
| --- | --- |
| 基本信息 | 村（查看含乡镇） |
| 三资情况 | 经营性固定资产、非经营性固定资产；只读固定资产；备注 |

### 字段映射

| 界面 | 字段 |
| --- | --- |
| 经营性固定资产 | `operatingFixedAssets` |
| 非经营性固定资产 | `nonOperatingFixedAssets` |
| 固定资产（派生） | `fixedAssets` |

---

## 4. 业务规则

| 规则 | 实现 |
| --- | --- |
| 唯一键 | 村（提交只传 `villageDeptId`；乡镇由后端反推） |
| 必填 | 村 |
| 金额 | 经营性/非经营性可选；≥0；单位「万元」；精度 2 位 |
| 固定资产预览 | 二者皆空 →「—」；否则 `(经营性\|\|0)+(非经营性\|\|0)`，保留 2 位 |
| 落库 | 后端 `RuralThreeAssetsDerivedSupport` 计算并写入 |

---

## 5. 国际化

`dataModel.ruralThreeAssets`（`lang/zh|bo/dataModel.js`）；页面 `dmNs = 'ruralThreeAssets'`，复用 `dataModelLocaleMixin`。查看表单使用 `dm-view-form`。

---

## 6. 联调说明

1. 执行 `sql/biz_rural_three_assets.sql`。  
2. 菜单组件 `dataModel/ruralThreeAssets/index`，权限见 §1。  
3. 验证：同村不可重复新增、固定资产预览与保存后一致、无导入导出入口。

---

## 7. 文件清单

| 类型 | 路径 |
| --- | --- |
| 页面 | `ruoyi-ui/src/views/dataModel/ruralThreeAssets/index.vue` |
| API | `ruoyi-ui/src/api/dataModel/ruralThreeAssets.js` |
| i18n | `lang/zh/dataModel.js`、`lang/bo/dataModel.js` → `ruralThreeAssets` |
| 前端技术方案 | 本文档 |

---

## 8. 修订记录

| 版本 | 说明 |
| --- | --- |
| 1.0 | 初版：村级唯一 CRUD；固定资产只读预览；无导入导出 |
