# 共同富裕成果 — 前端技术方案

> 依据：`doc/共同富裕/共同富裕成果/共同富裕成果技术方案.md`、`共同富裕成果功能需求.md`；页面布局对齐 `ruoyi-ui/src/views/breedingStandards/breedingManage/index.vue`（双卡片：查询区 + 表格区）；台账交互参考 `policy/subsidyRecord/index.vue`；请求与表单字段统一 **小驼峰**。

---

## 1. 页面与路由

| 项 | 说明 |
| --- | --- |
| **Vue 路径** | `ruoyi-ui/src/views/commonProsperity/achievement/index.vue` |
| **组件名** | `CommonProsperityAchievement` |
| **菜单配置** | 若依「菜单管理」组件路径：`commonProsperity/achievement/index` |
| **权限前缀** | `commonProsperity:achievement:` |

---

## 2. API 模块

| 项 | 说明 |
| --- | --- |
| **文件** | `ruoyi-ui/src/api/commonProsperity/achievement.js` |
| **Base Path** | `/commonProsperity/achievement` |

封装方法：`listCommonProsperityAchievement`、`getCommonProsperityAchievement`、`addCommonProsperityAchievement`、`updateCommonProsperityAchievement`、`delCommonProsperityAchievement`。

导出：`this.download('commonProsperity/achievement/export', params, fileName)`（与列表同筛选条件）。

---

## 3. 列表与查询

- **分页**：`pageNum`、`pageSize`（默认 20）。
- **筛选**：`statYear`（`el-date-picker type="year"`，`value-format="yyyy"`；提交时取 4 位年份字符串）。
- **表格列（主列）**：统计范围、集体经济收入、带动就业人数、新增就业岗位、环境治理项目数、新增绿化面积、数字平台使用率、区域公共品牌数、创建时间、操作列。
- **批量操作**：多选 + 批量删除（`ids` 逗号拼接调用 DELETE）。

---

## 4. 表单字段与校验

| 字段 | 控件 | 规则 |
| --- | --- | --- |
| `statPeriod` | `type="month"`，`value-format="yyyy-MM"` | 必填；格式 `YYYY-MM`；同月唯一（后端校验） |
| `collectiveEconomyIncome` | `el-input-number`，2 位小数 | 必填，≥0（万元） |
| `employmentDrivenCount` 等整数指标 | `el-input-number`，`precision=0` | 必填，非负整数 |
| `newGreenArea` | `el-input-number`，2 位小数 | 必填，≥0（亩） |
| `digitalPlatformUsageRate` / `brandPremiumRate` | `el-input-number`，0～1 | 必填；列表/查看展示为百分比 |
| `remark` | `textarea` | 选填，≤500 字 |

表单弹窗宽度 900px，双列布局；查看弹窗展示全部 12 项指标及审计字段。

---

## 5. 操作按钮

| 按钮 | 权限标识 |
| --- | --- |
| 新增 | `commonProsperity:achievement:add` |
| 编辑 | `commonProsperity:achievement:edit` |
| 查看 | `commonProsperity:achievement:query` |
| 删除（行内 / 批量） | `commonProsperity:achievement:remove` |
| 导出 | `commonProsperity:achievement:export` |

本模块**无发布/下架**流程，任意记录均可编辑与删除（以权限为准）。

---

## 6. 国际化

| 项 | 说明 |
| --- | --- |
| **语言包** | `src/lang/zh/commonProsperity.js`、`src/lang/bo/commonProsperity.js`（`common` / `status` / `achievement`） |
| **注册** | `zh-CN.js`、`bo.js` 中 `import commonProsperity` |
| **Mixin** | `src/mixins/commonProsperityLocaleMixin.js`（`cpT`、`cpCommon`） |
| **组件** | `data.cpNs = 'achievement'`，页面文案键 `commonProsperity.achievement.*`，通用键 `commonProsperity.common.*` |

---

## 7. 联调说明

1. 确认后端 `CommonProsperityAchievementController`（或等价实现）已部署，`VUE_APP_BASE_API` 代理正确。
2. 执行 `biz_common_prosperity_achievement` 建表 DDL（见技术方案 §2.2）并配置菜单、按钮权限。
3. 新增/修改若返回「统计范围已存在」等业务错误，前端以 `msg` 提示即可。
4. 列表 `statYear` 筛选与后端 Query 参数名保持一致。

---

## 8. 修订记录

| 版本 | 说明 |
| --- | --- |
| 1.0 | 初版：双卡片台账页；月份统计范围；12 项指标 CRUD + 导出 |
