ft:readme文档重写,用例图plantuml编写上传

SAMS-R
bruce 2025-06-02 10:51:53 +08:00
parent c7e0eb4c2f
commit b2d3f96b4c
23 changed files with 257 additions and 141 deletions

244
README.md
View File

@ -1,102 +1,168 @@
<p align="center">
<img alt="logo" src="https://oscimg.oschina.net/oscnet/up-d3d0a9303e11d522a06cd263f3079027715.png">
</p>
<h1 align="center" style="margin: 30px 0 30px; font-weight: bold;">RuoYi v3.8.9</h1>
<h4 align="center">基于SpringBoot+Vue前后端分离的Java快速开发框架</h4>
<p align="center">
<a href="https://gitee.com/y_project/RuoYi-Vue/stargazers"><img src="https://gitee.com/y_project/RuoYi-Vue/badge/star.svg?theme=dark"></a>
<a href="https://gitee.com/y_project/RuoYi-Vue"><img src="https://img.shields.io/badge/RuoYi-v3.8.9-brightgreen.svg"></a>
<a href="https://gitee.com/y_project/RuoYi-Vue/blob/master/LICENSE"><img src="https://img.shields.io/github/license/mashape/apistatus.svg"></a>
</p>
# SAMS校园社团活动管理系统
## 平台简介
[![img](https://img.shields.io/badge/RuoYi-v3.8.9-brightgreen.svg)](https://gitee.com/y_project/RuoYi-Vue) [![Spring Boot](https://img.shields.io/badge/Spring%20Boot-2.5.2-green)](https://spring.io/) [![Vue.js](https://img.shields.io/badge/Vue.js-2.5.0-brightgreen)](https://vuejs.org/)[![img](https://img.shields.io/github/license/mashape/apistatus.svg)](https://gitee.com/y_project/RuoYi-Vue/blob/master/LICENSE)
若依是一套全部开源的快速开发平台,毫无保留给个人及企业免费使用。
>基于SpringBoot + Vue 的校园社团活动全流程管理平台
>
>毕业设计项目 | 山东建筑大学 | 2025届
* 前端采用Vue、Element UI。
* 后端采用Spring Boot、Spring Security、Redis & Jwt。
* 权限认证使用Jwt支持多终端认证系统。
* 支持加载动态权限菜单,多方式轻松权限控制。
* 高效率开发,使用代码生成器可以一键生成前后端代码。
* 提供了技术栈([Vue3](https://v3.cn.vuejs.org) [Element Plus](https://element-plus.org/zh-CN) [Vite](https://cn.vitejs.dev))版本[RuoYi-Vue3](https://gitcode.com/yangzongzhuan/RuoYi-Vue3),保持同步更新。
* 提供了单应用版本[RuoYi-Vue-fast](https://gitcode.com/yangzongzhuan/RuoYi-Vue-fast)Oracle版本[RuoYi-Vue-Oracle](https://gitcode.com/yangzongzhuan/RuoYi-Vue-Oracle),保持同步更新。
* 不分离版本,请移步[RuoYi](https://gitee.com/y_project/RuoYi),微服务版本,请移步[RuoYi-Cloud](https://gitee.com/y_project/RuoYi-Cloud)
* 阿里云折扣场:[点我进入](http://aly.ruoyi.vip),腾讯云秒杀场:[点我进入](http://txy.ruoyi.vip)&nbsp;&nbsp;
## 项目简介
## 内置功能
本项目是基于 RuoYi-Vue 前后端分离版开发的校园社团活动管理系统,旨在为高校师生提供一个高效、便捷的社团活动组织与管理平台。系统支持活动的发布、审核、参与、互动等功能,提升校园社团活动的管理效率和参与体验。
1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
2. 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
3. 岗位管理:配置系统用户所属担任职务。
4. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
5. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
7. 参数管理:对系统动态配置常用参数。
8. 通知公告:系统通知公告信息发布维护。
9. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
10. 登录日志:系统登录日志记录查询包含登录异常。
11. 在线用户:当前系统中活跃用户状态监控。
12. 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
13. 代码生成前后端代码的生成java、html、xml、sql支持CRUD下载 。
14. 系统接口根据业务代码自动生成相关的api接口文档。
15. 服务监控监视当前系统CPU、内存、磁盘、堆栈等相关信息。
16. 缓存监控:对系统的缓存信息查询,命令统计等。
17. 在线构建器拖动表单元素生成相应的HTML代码。
18. 连接池监视监视当前系统数据库连接池状态可进行分析SQL找出系统性能瓶颈。
## 技术栈
## 在线体验
### 前端
- admin/admin123
- 陆陆续续收到一些打赏,为了更好的体验已用于演示服务器升级。谢谢各位小伙伴。
| 技术 | 说明 | 版本信息 |
| ---------- | --------- | -------- |
| Vue.js | 前端框架 | 2.6.x |
| Element UI | UI 组件库 | 2.15.x |
| Axios | 网络请求 | 0.21.x |
演示地址http://vue.ruoyi.vip
文档地址http://doc.ruoyi.vip
### 后端
## 演示图
| 技术 | 说明 | 版本信息 |
| --------------- | ------------ | -------- |
| Java EE | Java开发环境 | 1.8+ |
| Spring Boot | 后端开发框架 | 2.5.15 |
| Spring Security | 安全框架 | 5.7.12 |
| MyBatis | ORM 框架 | 3.x |
| JWT | 身份验证机制 | 0.9.1 |
<table>
<tr>
<td><img src="https://oscimg.oschina.net/oscnet/cd1f90be5f2684f4560c9519c0f2a232ee8.jpg"/></td>
<td><img src="https://oscimg.oschina.net/oscnet/1cbcf0e6f257c7d3a063c0e3f2ff989e4b3.jpg"/></td>
</tr>
<tr>
<td><img src="https://oscimg.oschina.net/oscnet/up-8074972883b5ba0622e13246738ebba237a.png"/></td>
<td><img src="https://oscimg.oschina.net/oscnet/up-9f88719cdfca9af2e58b352a20e23d43b12.png"/></td>
</tr>
<tr>
<td><img src="https://oscimg.oschina.net/oscnet/up-39bf2584ec3a529b0d5a3b70d15c9b37646.png"/></td>
<td><img src="https://oscimg.oschina.net/oscnet/up-936ec82d1f4872e1bc980927654b6007307.png"/></td>
</tr>
<tr>
<td><img src="https://oscimg.oschina.net/oscnet/up-b2d62ceb95d2dd9b3fbe157bb70d26001e9.png"/></td>
<td><img src="https://oscimg.oschina.net/oscnet/up-d67451d308b7a79ad6819723396f7c3d77a.png"/></td>
</tr>
<tr>
<td><img src="https://oscimg.oschina.net/oscnet/5e8c387724954459291aafd5eb52b456f53.jpg"/></td>
<td><img src="https://oscimg.oschina.net/oscnet/644e78da53c2e92a95dfda4f76e6d117c4b.jpg"/></td>
</tr>
<tr>
<td><img src="https://oscimg.oschina.net/oscnet/up-8370a0d02977eebf6dbf854c8450293c937.png"/></td>
<td><img src="https://oscimg.oschina.net/oscnet/up-49003ed83f60f633e7153609a53a2b644f7.png"/></td>
</tr>
<tr>
<td><img src="https://oscimg.oschina.net/oscnet/up-d4fe726319ece268d4746602c39cffc0621.png"/></td>
<td><img src="https://oscimg.oschina.net/oscnet/up-c195234bbcd30be6927f037a6755e6ab69c.png"/></td>
</tr>
<tr>
<td><img src="https://oscimg.oschina.net/oscnet/b6115bc8c31de52951982e509930b20684a.jpg"/></td>
<td><img src="https://oscimg.oschina.net/oscnet/up-5e4daac0bb59612c5038448acbcef235e3a.png"/></td>
</tr>
</table>
### 数据库
| 列名 | 数据类型 | 字段描述 | 是否允许为空 | 备注 |
| ------------------- | ------ | ----- | ------ | ------ |
| comment\_id | bigint | 评论ID | 否 | 主键 |
| act\_id | bigint | 活动ID | 否 | |
| user\_id | bigint | 用户ID | 否 | |
| parent\_comment\_id | bigint | 父评论ID | 是 | 支持嵌套评论 |
| content | text | 评论内容 | 否 | |
| 技术 | 说明 | 版本信息 |
| ----- | ------------ | ------------ |
| MySQL | 关系型数据库 | 5.7+ 建议8.0 |
| Redis | 缓存数据库 | >=3 |
## 若依前后端分离交流群
### 构建工具
| 技术 | 说明 | 版本信息 |
| ------- | ------------------ | -------- |
| Maven | 项目管理和构建工具 | 3.6.x+ |
| Node.js | 前端构建工具 | 16.14.0 |
## 功能模块
### 1. 用户管理
- **角色划分**:系统将用户分为管理员、社团成员和普通参与者三种角色,分别拥有不同的权限。
- **权限控制**:基于角色的权限控制,确保系统操作的安全性和规范性。
### 2. 社团管理
- **社团信息维护**支持社团的基本信息管理包括名称、简介、Logo、所属学院、社团类别、社团负责人等。
- **成员管理**:支持社团成员的加入和退出审核,记录成员的活跃度(如发起活动次数和参与活动次数等)。
### 3. 活动管理
- **活动申请与审核**:用户可以提交活动申请,管理员进行审核,支持通过、驳回或要求修改。
- **活动发布与展示**:活动自动分类展示,支持关键词搜索、时间筛选、社团分类浏览等功能。
- **活动执行与监控**:组织者可实时更新活动信息,管理员可监控活动进展,发现违规可强制终止并通知参与者。
### 4. 互动功能
- **报名与签到**:用户可在线报名活动,活动当日进行签到,记录参与情况。
- **评论与点赞**:用户可对活动发表评论和点赞,增强互动性。
- **通知与提醒**:系统自动推送报名成功提醒、活动开始前提醒、变更通知等。
## 系统架构
系统采用前后端分离架构,前端使用 Vue.js 构建单页应用,后端基于 Spring Boot 提供 RESTful API 接口,前后端通过 JSON 进行数据交互。
## 安装部署
### 前提条件
- **JDK**1.8 及以上
- **MySQL**5.7 及以上建议8.0+
- **Redis**3.0 及以上
- **Node.js**16.14.0(仅该版本,高低版本可能会有依赖冲突)
- **Maven**3.0 及以上
### 后端部署
1. 克隆项目代码:
```bash
git clone https://git.waynews.top/BruceSun/SAMS.git
```
1. 导入数据库:
`sql` 目录下的 SQL 文件导入 MySQL 数据库。
2. 配置数据库连接:
修改 `application-druid.yml` 文件,配置数据库连接信息。
3. 启动 Redis 服务。
4. 运行后端项目:
使用 IDE如 IntelliJ IDEA打开项目运行 `RuoYiApplication` 主类启动后端服务。
### 前端部署
1.进入前端项目目录:
```bash
cd ruoyi-ui
```
2.安装依赖:
```bash
npm install
#注意npm国内安装比较慢建议使用国内镜像安装
npm install --registry=https://registry.npmmirror.com
```
3.运行前端项目(开发环境):
```bash
npm run dev
```
4.访问系统:
在浏览器中打开 `http://localhost:80`使用默认账户登录用户名admin密码admin123
## 目录结构
### 后端目录结构
```plaintext
ruoyi
├── bs-sams // 业务模块
├── ruoyi-admin // 后台管理模块
├── ruoyi-common // 公共模块
├── ruoyi-framework // 框架核心模块
├── ruoyi-generator // 代码生成模块
├── ruoyi-quartz // 定时任务模块
├── ruoyi-system // 系统模块
└── sql // 数据库脚本
```
### 前端目录结构
```plaintext
ruoyi-ui
├── public // 公共资源
└── src
├── api // 接口请求
├── assets // 静态资源
├── components // 公共组件
├── layout // 布局组件
├── router // 路由配置
├── store // 状态管理
├── utils // 工具函数
├── views // 页面视图
├── App.vue // 根组件
└── main.js // 入口文件
```
## 参考资料
- RuoYi-Vue 官方文档https://doc.ruoyi.vip/ruoyi-vue/
- RuoYi-Vue Gitee 仓库https://gitee.com/y_project/RuoYi-Vue
QQ群 [![加入QQ群](https://img.shields.io/badge/已满-937441-blue.svg)](https://jq.qq.com/?_wv=1027&k=5bVB1og) [![加入QQ群](https://img.shields.io/badge/已满-887144332-blue.svg)](https://jq.qq.com/?_wv=1027&k=5eiA4DH) [![加入QQ群](https://img.shields.io/badge/已满-180251782-blue.svg)](https://jq.qq.com/?_wv=1027&k=5AxMKlC) [![加入QQ群](https://img.shields.io/badge/已满-104180207-blue.svg)](https://jq.qq.com/?_wv=1027&k=51G72yr) [![加入QQ群](https://img.shields.io/badge/已满-186866453-blue.svg)](https://jq.qq.com/?_wv=1027&k=VvjN2nvu) [![加入QQ群](https://img.shields.io/badge/已满-201396349-blue.svg)](https://jq.qq.com/?_wv=1027&k=5vYAqA05) [![加入QQ群](https://img.shields.io/badge/已满-101456076-blue.svg)](https://jq.qq.com/?_wv=1027&k=kOIINEb5) [![加入QQ群](https://img.shields.io/badge/已满-101539465-blue.svg)](https://jq.qq.com/?_wv=1027&k=UKtX5jhs) [![加入QQ群](https://img.shields.io/badge/已满-264312783-blue.svg)](https://jq.qq.com/?_wv=1027&k=EI9an8lJ) [![加入QQ群](https://img.shields.io/badge/已满-167385320-blue.svg)](https://jq.qq.com/?_wv=1027&k=SWCtLnMz) [![加入QQ群](https://img.shields.io/badge/已满-104748341-blue.svg)](https://jq.qq.com/?_wv=1027&k=96Dkdq0k) [![加入QQ群](https://img.shields.io/badge/已满-160110482-blue.svg)](https://jq.qq.com/?_wv=1027&k=0fsNiYZt) [![加入QQ群](https://img.shields.io/badge/已满-170801498-blue.svg)](https://jq.qq.com/?_wv=1027&k=7xw4xUG1) [![加入QQ群](https://img.shields.io/badge/已满-108482800-blue.svg)](https://jq.qq.com/?_wv=1027&k=eCx8eyoJ) [![加入QQ群](https://img.shields.io/badge/已满-101046199-blue.svg)](https://jq.qq.com/?_wv=1027&k=SpyH2875) [![加入QQ群](https://img.shields.io/badge/已满-136919097-blue.svg)](https://jq.qq.com/?_wv=1027&k=tKEt51dz) [![加入QQ群](https://img.shields.io/badge/已满-143961921-blue.svg)](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=0vBbSb0ztbBgVtn3kJS-Q4HUNYwip89G&authKey=8irq5PhutrZmWIvsUsklBxhj57l%2F1nOZqjzigkXZVoZE451GG4JHPOqW7AW6cf0T&noverify=0&group_code=143961921) [![加入QQ群](https://img.shields.io/badge/已满-174951577-blue.svg)](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=ZFAPAbp09S2ltvwrJzp7wGlbopsc0rwi&authKey=HB2cxpxP2yspk%2Bo3WKTBfktRCccVkU26cgi5B16u0KcAYrVu7sBaE7XSEqmMdFQp&noverify=0&group_code=174951577) [![加入QQ群](https://img.shields.io/badge/已满-161281055-blue.svg)](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=Fn2aF5IHpwsy8j6VlalNJK6qbwFLFHat&authKey=uyIT%2B97x2AXj3odyXpsSpVaPMC%2Bidw0LxG5MAtEqlrcBcWJUA%2FeS43rsF1Tg7IRJ&noverify=0&group_code=161281055) [![加入QQ群](https://img.shields.io/badge/已满-138988063-blue.svg)](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=XIzkm_mV2xTsUtFxo63bmicYoDBA6Ifm&authKey=dDW%2F4qsmw3x9govoZY9w%2FoWAoC4wbHqGal%2BbqLzoS6VBarU8EBptIgPKN%2FviyC8j&noverify=0&group_code=138988063) [![加入QQ群](https://img.shields.io/badge/已满-151450850-blue.svg)](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=DkugnCg68PevlycJSKSwjhFqfIgrWWwR&authKey=pR1Pa5lPIeGF%2FFtIk6d%2FGB5qFi0EdvyErtpQXULzo03zbhopBHLWcuqdpwY241R%2F&noverify=0&group_code=151450850) [![加入QQ群](https://img.shields.io/badge/已满-224622315-blue.svg)](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=F58bgRa-Dp-rsQJThiJqIYv8t4-lWfXh&authKey=UmUs4CVG5OPA1whvsa4uSespOvyd8%2FAr9olEGaWAfdLmfKQk%2FVBp2YU3u2xXXt76&noverify=0&group_code=224622315) [![加入QQ群](https://img.shields.io/badge/已满-287842588-blue.svg)](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=Nxb2EQ5qozWa218Wbs7zgBnjLSNk_tVT&authKey=obBKXj6SBKgrFTJZx0AqQnIYbNOvBB2kmgwWvGhzxR67RoRr84%2Bus5OadzMcdJl5&noverify=0&group_code=287842588) [![加入QQ群](https://img.shields.io/badge/已满-187944233-blue.svg)](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=numtK1M_I4eVd2Gvg8qtbuL8JgX42qNh&authKey=giV9XWMaFZTY%2FqPlmWbkB9g3fi0Ev5CwEtT9Tgei0oUlFFCQLDp4ozWRiVIzubIm&noverify=0&group_code=187944233) [![加入QQ群](https://img.shields.io/badge/228578329-blue.svg)](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=G6r5KGCaa3pqdbUSXNIgYloyb8e0_L0D&authKey=4w8tF1eGW7%2FedWn%2FHAypQksdrML%2BDHolQSx7094Agm7Luakj9EbfPnSTxSi2T1LQ&noverify=0&group_code=228578329) 点击按钮入群。

View File

@ -32,27 +32,17 @@ public class DashboardController {
@GetMapping("/list")
public AjaxResult getDashboardStats() {
// 所有活动数量
int activityCount = activityService.selectAmsActivityList(new ActivityListGetVO()).size();
// 状态为待审批的活动数量
ActivityListGetVO pendingVO = new ActivityListGetVO();
pendingVO.setStatus("pending");
int pendingCount = activityService.selectAmsActivityList(pendingVO).size();
// 社团数量
int clubCount = clubService.selectSmsClubList(new SmsClub()).size();
// 用户数量
int userCount = userService.selectUserList(new SysUser()).size();
Map<String, Integer> data =new HashMap<>();
data.put("activityCount", activityCount);
data.put("pendingCount", pendingCount);
data.put("clubCount", clubCount);
data.put("userCount", userCount);
// 返回数据
AjaxResult result = AjaxResult.success();
result.put("data", data);

View File

@ -159,7 +159,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select id="selectApprovedActivities" resultMap="ActivityListResult">
SELECT * FROM ams_activity
WHERE status = 'approved'
ORDER BY start_time ASC
ORDER BY net_likes ASC
LIMIT 8
</select>

View File

@ -24,21 +24,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<sql id="selectSmsClubVO">
SELECT
c.club_id,
c.club_name,
c.description,
c.category,
c.dept_id,
d.dept_name,
c.leader_id,
u.nick_name AS leader_name,
c.logo,
c.status,
c.remark,
c.create_by,
c.update_by,
c.create_time,
c.update_time
c.club_id,c.club_name,c.description,c.category,c.dept_id,
d.dept_name,c.leader_id,u.nick_name AS leader_name,
c.logo,c.status,c.remark,c.create_by,c.update_by,
c.create_time,c.update_time
FROM sms_club c
LEFT JOIN sys_dept d ON c.dept_id = d.dept_id
LEFT JOIN sys_user u ON c.leader_id = u.user_id

View File

@ -21,18 +21,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<sql id="selectSmsClubUserVo">
SELECT
scu.id,
scu.user_id,
scu.club_id,
u.nick_name AS user_name,
c.club_name,
scu.is_active,
scu.join_date,
scu.create_by,
scu.create_time,
scu.update_by,
scu.update_time,
scu.remark
scu.id,scu.user_id,scu.club_id,u.nick_name AS user_name,
c.club_name,scu.is_active,scu.join_date,
scu.create_by,scu.create_time,scu.update_by,scu.update_time,scu.remark
FROM sms_club_user scu
LEFT JOIN sys_user u ON scu.user_id = u.user_id
LEFT JOIN sms_club c ON scu.club_id = c.club_id

View File

Before

Width:  |  Height:  |  Size: 87 KiB

After

Width:  |  Height:  |  Size: 87 KiB

View File

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View File

@ -0,0 +1,19 @@
@startuml
start
:管理员进入活动报名管理页面;
:系统加载所有待审核报名记录;
:点击“审核”按钮;
if (是否通过报名?) then (是)
:更新报名状态为“已报名”;
else (否)
:更新报名状态为“未通过”;
:可填写驳回原因;
endif
:刷新报名列表;
stop
@enduml

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

View File

@ -0,0 +1,36 @@
@startuml
start
:进入社团总览页面;
split
:点击“新增社团”按钮;
:弹出社团表单;
:填写名称、类型、负责人、Logo 等;
if (信息是否完整?) then (是)
:提交表单;
:新增社团成功;
:刷新社团列表;
else (否)
:提示信息不完整;
endif
split again
:点击“编辑社团”按钮;
:弹出社团信息表单;
:修改社团简介、负责人、状态等;
if (信息是否合法?) then (是)
:提交修改;
:修改成功;
:刷新社团列表;
else (否)
:提示修改失败;
endif
split again
:设置查询条件;
:输入关键词或选择筛选项;
:点击“查询”按钮;
:刷新社团分页列表;
endsplit
stop
@enduml

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

View File

@ -0,0 +1,28 @@
@startuml
start
:管理员进入社团成员管理页面;
split
:管理员处理入团申请;
:点击“审核”按钮;
if (是否通过?) then (通过)
:设置成员状态为“活跃”;
:写入审核备注;
else (拒绝)
:设置状态为“已拒绝”;
endif
split again
:管理员点击“筛选/查询”按钮;
:输入社团名、成员名或学号等条件;
:系统刷新并展示匹配成员数据;
split again
:管理员点击“移除成员”或“设为非活跃”按钮;
:弹出确认提示;
if (确认操作?) then (是)
:更新成员状态为“已退出”或“非活跃”;
else
:取消操作;
endif
endsplit
stop
@enduml

View File

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

View File

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View File

@ -1,26 +1,26 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="活动ID" prop="actId">
<el-form-item label="活动名称" prop="activityName">
<el-input
v-model="queryParams.actId"
placeholder="请输入活动ID"
v-model="queryParams.activityName"
placeholder="请输入活动名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="用户ID" prop="userId">
<el-form-item label="用户名" prop="userName">
<el-input
v-model="queryParams.userId"
placeholder="请输入用户ID"
v-model="queryParams.userName"
placeholder="请输入用户"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="角色" prop="role">
<el-select v-model="queryParams.role" placeholder="请选择角色" clearable>
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable>
<el-option
v-for="dict in dict.type.ams_registration_role"
v-for="dict in dict.type.ams_registration_status"
:key="dict.value"
:label="dict.label"
:value="dict.value"

View File

@ -22,8 +22,6 @@
<el-divider/>
<!-- 互动区 -->
<!-- 点赞区 -->
<div class="section interactions">
<h3>互动</h3>
<div class="interaction-row">
@ -41,7 +39,6 @@
<el-divider/>
<!-- 评论列表嵌套结构 -->
<div class="section comments">
<h3>评论列表</h3>
<div v-for="comment in nestedComments" :key="comment.commentId" class="comment-block">

View File

@ -113,7 +113,7 @@ export default {
this.$router.push(`/club/detail/${clubId}`)
},
goToActivity(actId) {
this.$router.push(`/activity/detail/${actId}`)
this.$router.push(`/active/detail/${actId}`)
}
}
}

View File

@ -269,7 +269,7 @@ export default {
getUser(id).then(response => {
this.form = response.data
this.open = true
this.title = "修改成员管理"
this.title = "审核成员管理"
})
},
/** 提交按钮 */