产业政策宣传 — 前端技术方案
依据:doc/产业政策/产业政策宣传/产业政策宣传功能管理技术方案.md;页面布局对齐 ruoyi-ui/src/views/breedingStandards/breedingManage/index.vue;请求与表单字段统一 小驼峰。
1. 页面与路由
| 项 |
说明 |
| Vue 路径 |
ruoyi-ui/src/views/policy/publicity/index.vue |
| 组件名 |
PolicyPublicity |
| 菜单配置 |
若依「菜单管理」组件路径:policy/publicity/index |
| 权限前缀 |
industryPolicy:publicity: |
2. API 模块
| 项 |
说明 |
| 文件 |
ruoyi-ui/src/api/policy/publicity.js |
| Base Path |
/industryPolicy/publicity |
封装方法:listPolicyPublicity、getPolicyPublicity、addPolicyPublicity、updatePolicyPublicity、delPolicyPublicity、publishPolicyPublicity、offlinePolicyPublicity。
3. 列表与查询
- 分页:
pageNum、pageSize(默认 20)。
- 筛选:
keyword(政策名称或简介模糊 OR);policyLevel(1~4 精确,可空);publishStatus(0 未发布 / 1 已发布,可空)。
- 表格列:政策名称、政策层级、简介、出台日期、政策文件链接、封面缩略图、发布状态、发布日期、创建时间、操作列。
4. 表单与上传
- 新增/编辑:政策名称(1~20)、政策层级、简介(≤50,选填)、出台日期(不得晚于今天)、政策描述(≤50,必填)、政策文件(选填)、封面(选填)。
- 上传:
POST /common/upload;政策文件映射 policyFileUrl / policyFilePath / policyFileName;封面映射 coverFileUrl / coverFilePath。
- 前端校验:政策文件扩展名与 ≤30MB;封面 jpg/jpeg/png 与 ≤10MB;文件名不含英文逗号。
- 编辑态:仅
publishStatus === 0 时可保存与替换附件。
5. 操作按钮与状态机
本模块无知识库,仅一维 publishStatus。
| 按钮 |
显示条件 |
权限标识 |
| 查看 |
有 query 权限 |
industryPolicy:publicity:query |
| 编辑 |
未发布 |
industryPolicy:publicity:edit |
| 删除 |
未发布 |
industryPolicy:publicity:remove |
| 发布 |
未发布 |
industryPolicy:publicity:publish |
| 下架 |
已发布 |
industryPolicy:publicity:offline |
下架后可再次编辑、发布,无须新建记录。
6. 国际化
| 项 |
说明 |
| 语言包 |
src/lang/zh/policy.js、src/lang/bo/policy.js |
| 注册 |
zh-CN.js、bo.js 中 import policy |
| Mixin |
src/mixins/policyPublicityLocaleMixin.js(pubT、publishStatusText) |
| 组件 |
data.pubNs = 'publicity',文案键 policy.publicity.* |
7. 联调说明
- 确认后端
IndustryPolicyPublicityController 已部署,VUE_APP_BASE_API 代理正确。
- 菜单与按钮权限与技术方案 §4 一致。
- 列表默认排序、发布/下架状态与库表
publish_status 一致。
8. 修订记录
| 版本 |
说明 |
| 1.0 |
初版:对齐 breedingManage 双卡片布局;无知识库按钮;政策文件选填 |