基于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进行生产环境部署

页面展示

相关推荐
椎4954 分钟前
idea推荐springboot+mybatis+分页查询插件之PageHelper
spring boot·intellij-idea·mybatis
haokan_Jia7 分钟前
【MyBatis-Plus 动态数据源的默认行为】
java·开发语言·mybatis
_院长大人_8 分钟前
IDEA 实现SpringBoot热部署(HotSwap和DevTools混用)
java·spring boot·intellij-idea
小信丶1 小时前
Spring 6 的 @HttpExchange 注解:声明式 HTTP 客户端的现代化利器
java·spring·http
野犬寒鸦3 小时前
多级缓存架构:性能与数据一致性的平衡处理(原理及优势详解+项目实战)
java·服务器·redis·后端·缓存
帧栈6 小时前
开发避坑指南(58):Java Stream 按List元素属性分组实战指南
java
Da Da 泓6 小时前
LinkedList模拟实现
java·开发语言·数据结构·学习·算法
海琴烟Sunshine6 小时前
Leetcode 14. 最长公共前缀
java·服务器·leetcode
城管不管6 小时前
Lambda
java
龙茶清欢7 小时前
5、urbane-commerce 微服务统一依赖版本管理规范
java·运维·微服务