当前位置: 首页 > backend >正文

基于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. 创建数据库:
CREATE DATABASE office_supply DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
  1. 执行初始化脚本:
source database/init-corrected.sql
  1. 修改后端配置文件 src/main/resources/application.yml 中的数据库连接信息

3. 启动后端

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

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

4. 启动前端

  1. 进入前端目录:
cd frontend
  1. 安装依赖:
npm install
  1. 启动开发服务器:
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进行生产环境部署

页面展示

image-20250906141507614

image-20250906141543625

image-20250906141552543

image-20250906141602194

image-20250906141614146

image-20250906141623674

image-20250906141631730

image-20250906141659571

http://www.xdnf.cn/news/20338.html

相关文章:

  • 部署AIRI
  • lesson55:CSS导航组件全攻略:从基础导航条到动态三级菜单与伸缩菜单实现
  • 02.继承MonoBehaviour的单例模式基类
  • Python快速入门专业版(七):整数与浮点数:Python数值类型的运算与精度问题(附解决方案)
  • 项目中的一些比较实用的自定义控件
  • Python文件打包为EXE的工具v1.0
  • 《AI大模型应知应会100篇》第67篇 Web应用与大模型集成开发实践——1小时打造国产大模型智能客服系统
  • MySQL问题5
  • github上传步骤
  • 季度最强策略:年化247%,回撤10%,夏普比率3.79。附大小盘轮动策略python源代码。
  • Nestjs框架: 使用 CASL 库实现基于角色的权限控制(RBAC)与细粒度访问控制的实战演示
  • 【嵌入式C语言】七
  • 【IQA技术专题】 多尺度的transformer网络IQA:MUSIQ
  • GO语言的主要语法和特性
  • 跨平台游戏引擎 Axmol-2.8.1 发布
  • 突破反爬限制:动态IP轮换策略与实现
  • XXL-JOB源码分析(服务端)
  • “唐人街大赛第二届”题解
  • Spring Boot 3.x 的 @EnableAsync应用实例
  • 基于51单片机的信号发生器函数发生器设计
  • 存储卡备用区用尽,拷贝机设置坏块数量又有何意义?
  • hot100-贪心算法(附图解思路)
  • 项目升级--Nginx
  • 一种基于迁移学习的零样本故障诊断方法
  • WSL2环境下因服务器重装引发的SSH连接问题排查记录
  • fastapi通过sqlmodel连接Mysql实现crud功能
  • 如何进行神经网络的模型训练(视频代码中的知识点记录)
  • 2025最新超详细FreeRTOS入门教程:第一章 FreeRTOS移植到STM32
  • dp算法的种类
  • 制衣跟单高效管理软件推荐