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

页面展示

相关推荐
alonewolf_9917 小时前
JDK17新特性全面解析:从语法革新到模块化革命
java·开发语言·jvm·jdk
一嘴一个橘子17 小时前
spring-aop 的 基础使用(啥是增强类、切点、切面)- 2
java
码事漫谈17 小时前
Protocol Buffers 编码原理深度解析
后端
sheji341617 小时前
【开题答辩全过程】以 中医药文化科普系统为例,包含答辩的问题和答案
java
码事漫谈17 小时前
gRPC源码剖析:高性能RPC的实现原理与工程实践
后端
恋爱绝缘体118 小时前
2020重学C++重构你的C++知识体系
java·开发语言·c++·算法·junit
wszy180918 小时前
新文章标签:让用户一眼发现最新内容
java·python·harmonyos
wszy180919 小时前
顶部标题栏的设计与实现:让用户知道自己在哪
java·python·react native·harmonyos
期待のcode19 小时前
前后端分离项目 Springboot+vue 在云服务器上的部署
服务器·vue.js·spring boot
踏浪无痕19 小时前
AI 时代架构师如何有效成长?
人工智能·后端·架构