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

页面展示

相关推荐
程序员泠零澪回家种桔子22 分钟前
Spring AI框架全方位详解
java·人工智能·后端·spring·ai·架构
CodeCaptain31 分钟前
nacos-2.3.2-OEM与nacos3.1.x的差异分析
java·经验分享·nacos·springcloud
源代码•宸1 小时前
大厂技术岗面试之谈薪资
经验分享·后端·面试·职场和发展·golang·大厂·职级水平的薪资
Anastasiozzzz1 小时前
Java Lambda 揭秘:从匿名内部类到底层原理的深度解析
java·开发语言
骇客野人1 小时前
通过脚本推送Docker镜像
java·docker·容器
韩立学长2 小时前
基于Springboot泉州旅游攻略平台d5h5zz02(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·旅游
铁蛋AI编程实战2 小时前
通义千问 3.5 Turbo GGUF 量化版本地部署教程:4G 显存即可运行,数据永不泄露
java·人工智能·python
晚霞的不甘2 小时前
CANN 编译器深度解析:UB、L1 与 Global Memory 的协同调度机制
java·后端·spring·架构·音视频
SunnyDays10112 小时前
使用 Java 冻结 Excel 行和列:完整指南
java·冻结excel行和列
喵叔哟2 小时前
06-ASPNETCore-WebAPI开发
服务器·后端·c#