基于Spring Boot + Vue3的办公用品申领管理系统

办公用品申领系统

项目简介

这是一个基于Spring Boot + Vue3的办公用品申领管理系统,支持用户申请办公用品、管理员审批、库存管理等功能。

下载地址:

https://download.csdn.net/download/qq_24428851/91888038

技术栈

后端

  • Spring Boot 2.7.0
  • MyBatis-Plus 3.5.2
  • MySQL 8.0+
  • Redis
  • JWT认证
  • Maven

前端

  • Vue 3.3.4
  • Vue Router 4.2.4
  • Pinia 2.1.6
  • Element Plus 2.3.8
  • Vite 4.4.5
  • SCSS

项目结构

复制代码
code50810/
├── database/                 # 数据库脚本
│   └── init-corrected.sql
├── frontend/                 # 前端项目
│   ├── src/
│   │   ├── api/             # API接口
│   │   ├── components/      # 组件
│   │   ├── layouts/         # 布局组件
│   │   ├── router/          # 路由配置
│   │   ├── stores/          # 状态管理
│   │   ├── views/           # 页面组件
│   │   └── style/           # 样式文件
│   ├── package.json
│   └── vite.config.js
├── src/                      # 后端项目
│   └── main/
│       ├── java/
│       │   └── com/office/
│       │       ├── common/   # 公共类
│       │       ├── config/   # 配置类
│       │       ├── controller/ # 控制器
│       │       ├── entity/   # 实体类
│       │       ├── mapper/   # 数据访问层
│       │       └── service/  # 服务层
│       └── resources/
│           └── application.yml
└── pom.xml

快速开始

1. 环境要求

  • JDK 11+
  • Node.js 16+
  • MySQL 8.0+
  • Redis 6.0+

2. 数据库配置

  1. 创建数据库:
sql 复制代码
CREATE DATABASE office_supply DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  1. 执行初始化脚本:
sql 复制代码
source database/init-corrected.sql
  1. 修改后端配置文件 src/main/resources/application.yml 中的数据库连接信息

3. 启动后端

  1. 进入项目根目录
  2. 执行Maven命令:
bash 复制代码
mvn clean install
mvn spring-boot:run

后端将在 http://localhost:8085 启动

4. 启动前端

  1. 进入前端目录:
bash 复制代码
cd frontend
  1. 安装依赖:
bash 复制代码
npm install
  1. 启动开发服务器:
bash 复制代码
npm run dev

前端将在 http://localhost:3000 启动

功能特性

用户功能

  • 用户注册/登录
  • 浏览办公用品
  • 申请办公用品
  • 查看申请状态
  • 个人资料管理

管理员功能

  • 用户管理
  • 部门管理
  • 用品分类管理
  • 用品管理
  • 申请审批
  • 库存管理

默认账号

  • 管理员:admin / admin123
  • 普通用户需要注册

API接口

认证接口

  • POST /api/auth/login - 用户登录
  • POST /api/auth/register - 用户注册
  • GET /api/auth/userinfo - 获取用户信息

用品管理

  • GET /api/supply/page - 分页查询用品
  • GET /api/supply/{id} - 获取用品详情
  • POST /api/supply - 创建用品
  • PUT /api/supply - 更新用品
  • DELETE /api/supply/{id} - 删除用品

申请管理

  • GET /api/application/page - 分页查询申请
  • POST /api/application - 创建申请
  • PUT /api/application/approve/{id} - 审批申请

开发说明

后端开发

  • 使用MyBatis-Plus进行数据访问
  • 统一返回格式使用Result类
  • JWT进行身份认证
  • 支持逻辑删除

前端开发

  • 使用Vue3 Composition API
  • Pinia进行状态管理
  • Element Plus组件库
  • 响应式设计

部署说明

后端部署

  1. 打包:mvn clean package
  2. 运行:java -jar target/office-supply-system-1.0.0.jar

前端部署

  1. 构建:npm run build
  2. 将dist目录部署到Web服务器

注意事项

  1. 确保MySQL和Redis服务正常运行
  2. 前端开发时注意API接口的跨域配置
  3. 生产环境部署时需要修改数据库密码等敏感信息
  4. 建议使用HTTPS进行生产环境部署

页面展示

相关推荐
中国lanwp7 小时前
Spring Boot的配置文件加载顺序和规则
java·spring boot·后端
我命由我123457 小时前
Android 开发 - 一些画板第三方库(DrawBoard、FingerPaintView、PaletteLib)
android·java·java-ee·android studio·安卓·android-studio·android runtime
知彼解己7 小时前
深入理解 AbstractQueuedSynchronizer (AQS):Java 并发的排队管家
java·开发语言
User_芊芊君子8 小时前
【JavaSE】复习总结
java·开发语言·python
计算机毕业设计木哥8 小时前
计算机毕业设计 基于Python+Django的医疗数据分析系统
开发语言·hadoop·后端·python·spark·django·课程设计
隔壁阿布都8 小时前
spring boot + mybatis 使用线程池异步修改数据库数据
数据库·spring boot·mybatis
Victor3568 小时前
Redis(52)Redis哨兵模式下如何进行版本升级?
后端
我有一颗五叶草8 小时前
线程间通信
java·开发语言
我真的是大笨蛋12 小时前
K8S-Pod(下)
java·笔记·云原生·容器·kubernetes