西藏巴青项目

合作社发展数据填报前端技术方案.md 6.9KB

合作社发展数据填报 — 前端技术方案

依据:同目录 合作社发展数据填报功能需求.md合作社发展数据填报技术方案.md;交互对齐存栏/出栏填报(双 el-card + 分页表格);字段 小驼峰


1. 页面与路由

说明
Vue 路径 ruoyi-ui/src/views/dataModel/cooperativeDevelopment/index.vue
组件名 CooperativeDevelopment
菜单配置 组件路径:dataModel/cooperativeDevelopment/index
权限前缀 dataModel:cooperativeDevelopment:list\|query\|add\|edit\|remove\|import\|export

2. API 模块

说明
文件 ruoyi-ui/src/api/dataModel/cooperativeDevelopment.js
Base /dataModel/cooperativeDevelopment
方法 HTTP 说明
listCooperativeDevelopment GET /list 分页列表
getCooperativeDevelopment GET /{id} 详情
addCooperativeDevelopment POST / 新增
updateCooperativeDevelopment PUT / 修改
delCooperativeDevelopment DELETE /{ids} 删除
listCooperativeDevelopmentYearOptions GET /yearOptions
listCooperativeDevelopmentMonthOptions GET /monthOptions
listCooperativeDevelopmentTownOptions GET /townOptions
listCooperativeDevelopmentVillageTree GET /villageTree 县→乡镇→村
importCooperativeDevelopment POST /importDatafile + statYear + statMonth
exportCooperativeDevelopment GET /exportstatYear + statMonth,可选 townDeptIdblob
downloadCooperativeDevelopmentTemplate GET /importTemplateblob

模板下载与导出均用 GET + blob,勿用若依全局 this.download()(固定 POST)。


3. 页面结构

  1. 筛选区:所属年份、所属月份、所属乡镇、所属村(可搜索)、合作社名称;搜索、重置、新增、导入、导出。
  2. 列表区(列顺序):所属年份、所属月份、所属村、所属乡镇、合作社名称、法定代表人、成立时间、注册资本、截止年底总资产、总收入、亏损、牛存栏、牛出栏、操作;空值展示
  3. 操作列:查看、修改、删除。
  4. 新增/编辑弹窗:年份、月份、所属村、合作社名称(必填);分区录入见 §4;牲畜入股小计只读(牛入股+羊入股);新增默认当前年月。
  5. 查看弹窗:全部明细只读(含乡镇反推结果、牲畜入股小计、经营范围/模式/运营情况)。
  6. 导入弹窗:选填报年月(默认当前)→ 上传 .xlsx$alert 展示 insert/update/fail/warn。
  7. 导出弹窗:选所属年月(默认当前)、可选所属乡镇(可清空;不选则全部)→ 下载 {年}年{月}月合作社发展数据.xlsx

4. 业务规则(前端)

规则 实现
年份 / 月份 /yearOptions/monthOptions;展示 {month}月;不可选未来月
村选项 /villageTree 拍平为「乡镇 / 村」下拉;el-select + filterable 支持搜索
列表筛选 statYearstatMonthtownDeptIdvillageDeptIdcooperativeName;进入页不默认年月
提交体 villageDeptId、合作社名称及明细;不传乡镇(后端反推)
唯一性 同年同月同村同合作社名称重复由后端拦截
牲畜入股小计 前端只读展示 cattleShareCount + sheepShareCount;保存时以后端重算为准
经营范围 el-checkbox-group → 提交逗号分隔字符串(与后端枚举一致)
经营模式 / 运营情况 el-radio-group 单选,取值与后端标签一致
导入 FormData 含年月;按唯一键 upsert,摘要含新增/更新条数
导出 可选 townDeptId;导出文件不含合计行(后端保证)
删除 $modal.confirm 后物理删除

4.1 表单分区与字段

分区 字段(小驼峰)
基本信息 statYearstatMonthvillageDeptIdcooperativeNamelegalRepresentativeestablishDateel-date-pickeryyyy-MM-dd)、registeredCapitalyearEndTotalAssets
入社与入股 memberHouseholdCountmemberPopulationCountpovertyMonitorCountcattleShareCountsheepShareCountlivestockShareTotal(只读)grasslandShareArealaborShareCountcashShareAmountotherShareAmount
效益情况 totalIncomenetIncomecashDividendinKindDividendrevolvingFundlossAmount
就业与存出栏 collegeGraduateCountcollegeGraduateWagefarmerTransferEmploymentCountfarmerTransferWagecattleInventoryCountcattleOutboundCountsheepInventoryCountsheepOutboundCount
产品认证与培训 trademarkProductCountqualityCertProductCounttrainingManageCounttrainingSkillCounttrainingOtherCount
经营情况 businessScope(多选)、businessModel(单选)、operationStatus(单选)、remark

4.2 枚举取值(与 Excel / 后端一致)

类型 取值
主要经营范围 养殖业、种养结合、农产品加工、农机服务、劳务输出、建筑工程、旅游服务、运输、特色产品制作及销售、其他
经营模式分类 整村合作社、股份合作社、联合合作社、多种经营合作社、公司型合作社、其它
运营情况 规范、一般、差

5. 国际化

说明
语言包 dataModel.cooperativeDevelopmentdataModel.common
文件 lang/zh/dataModel.jslang/bo/dataModel.js
Mixin dataModelLocaleMixindmNs = 'cooperativeDevelopment'

文案键覆盖筛选/列表/表单分区/导入导出/校验提示;单位含户、人、头、个、万元、万亩。


6. 联调说明

  1. 部署后端并执行 sql/biz_cooperative_development.sql
  2. 菜单组件配置为 dataModel/cooperativeDevelopment/index,权限见 §1。
  3. 验证:村下拉可搜索;新增只选村且乡镇回填;同年同月同村同名拦截;导入 upsert 摘要;导出可选乡镇且无合计行;详情含全部明细;汉藏切换。

7. 文件清单

类型 路径
页面 ruoyi-ui/src/views/dataModel/cooperativeDevelopment/index.vue
API ruoyi-ui/src/api/dataModel/cooperativeDevelopment.js
Mixin ruoyi-ui/src/mixins/dataModelLocaleMixin.js
i18n ruoyi-ui/src/lang/zh/dataModel.jslang/bo/dataModel.js

8. 修订记录

版本 说明
1.0 初版:村×合作社×年月;列表/CRUD/详情/导入 upsert/导出可选乡镇;经营范围多选与模式/运营单选;汉藏 i18n
1.1 与实现对齐:村选项为拍平可搜索 el-select(非 Treeselect);牲畜入股小计表单只读展示