依据:
实战业务培训功能需求.md、实战业务培训技术方案.md;布局对齐dataHub/dataSendRecord/index.vue、innovationPlatform/techProjectGuide/index.vue(双el-card);字段 小驼峰。
| 项 | 说明 |
|---|---|
| Vue 路径 | ruoyi-ui/src/views/techService/practicalTraining/index.vue |
| 组件名 | PracticalTraining |
| 菜单配置 | 组件路径:techService/practicalTraining/index(「科技平台与服务」目录下,手工配置) |
| 权限前缀 | techService:practicalTraining:list\|query\|add\|edit\|remove\|publish\|offline |
| 项 | 说明 |
|---|---|
| 文件 | ruoyi-ui/src/api/techService/practicalTraining.js |
| Base | /techService/practicalTraining |
| 方法 | HTTP | 说明 |
|---|---|---|
listPracticalTraining |
GET | /list |
getPracticalTraining |
GET | /{id} |
addPracticalTraining |
POST | /(Body 可含 saveAndPublish) |
updatePracticalTraining |
PUT | / |
delPracticalTraining |
DELETE | /{ids} |
publishPracticalTraining |
POST | /publish/{id} |
offlinePracticalTraining |
POST | /offline/{id} |
daterange → startDate/endDate;搜索、重置、新增。el-tag)、实际报名人数、操作(查看/发布/编辑/下架/删除,按发布状态与 canOffline 显隐)。/common/upload,jpg/jpeg/png ≤10MB);底部 发布(仅新增)+ 确定 + 取消。| 规则 | 实现 |
|---|---|
| 时间链 | registrationStartTime < registrationEndTime < trainingTime;validateTimeChain + 提交前 isTimeChainValid |
| 培训日期筛选 | trainingDateRange → startDate、endDate;起 > 止时 msgError 不请求 |
| 培训主题 | 精确提交;1~20 字 trim 校验 |
| 计划人数 | el-input-number,整数 ≥1 |
| 新增默认培训时间 | 打开新增时 trainingTime = 当前时刻 |
| 新增保存并发布 | saveAndPublish: true |
| 未发布 | 可编辑、删除、发布;操作列与详情一致 |
| 已发布 | 不可编辑/删除;canOffline:优先用接口 canOffline,否则 now < registrationStartTime |
| 报名状态展示 | 优先 enrollStatusName;否则按 enrollStatus 1~4 映射 i18n |
| 发布日期 | 未发布或 publishTime 空显示「—」;否则格式化为 YYYY-MM-DD |
| 封面 | 可选;coverFileUrl + coverFilePath 成对提交 |
| 项 | 说明 |
|---|---|
| 语言包 | techService.practicalTraining(lang/zh/techService.js、lang/bo/techService.js) |
| Mixin | techServiceLocaleMixin,tsNs = 'practicalTraining',方法 tsT / tsCommon |
| 注册 | lang/zh-CN.js、lang/bo.js 引入 techService |
| 报名状态 | techService.enrollStatus.* |
BizPracticalTrainingController 及 biz_practical_training 表(见后端技术方案)。techService/practicalTraining/index,权限与后端 §4 一致。canOffline、双语切换。| 类型 | 路径 |
|---|---|
| 页面 | ruoyi-ui/src/views/techService/practicalTraining/index.vue |
| API | ruoyi-ui/src/api/techService/practicalTraining.js |
| Mixin | ruoyi-ui/src/mixins/techServiceLocaleMixin.js |
| i18n | ruoyi-ui/src/lang/zh/techService.js、lang/bo/techService.js |
| 版本 | 说明 |
|---|---|
| 1.0 | 初版:双卡片列表;CRUD+发布下架;报名状态标签;封面上传;汉藏 i18n |