# springboot-vue-wms
springboot-vue-wms仓库管理系统
[Github项目地址](https://github.com/Wangchenfei7788/springboot-vue-wms.git)
## 项目描述:
- 基于Vue和Spring Boot的前后端分离项目,提供仓库用户,物品,物品种类,记录以及物品出入管理等功能
### 实现功能:
#### 前端部分:
- 使用Vue.js作为前端框架,开发用户界面,包括登录,注册,主页,用户管理,管理员管理,仓库管理,记录管理,个人中心等页面。
- 使用Vue Router进行前端路由管理,实现页面之间的跳转和参数传递。
- 使用Vuex进行状态管理,实现数据的共享和权限管理。
- 使用Axios进行HTTP请求,与后端进行数据交互。
- 使用Element UI库进行UI组件和页面的开发
#### 后端部分:
- 使用Spring Boot作为后端框架,进行后端服务的开发。
- 使用MyBatis-Plus进行数据库操作,实现数据的增删改查分页等功能
- 使用MySQL作为数据库,存储用户信息、仓库信息,出入库信息等数据。
## bug修复
#### 1. 修复左侧导航菜单跟随右侧内容高度变化
https://www.cnblogs.com/lxn2/p/14452083.html
```vue
<script>
export default {
name: "IndexHome",
components: {HeaderHome, AsideHome},
data() {
return {
menuHeight: {
height: "100%",
background: "#313888"
},
}
},
created() {
//动态调整左侧菜单栏高度 document.documentElement.clientHeight
var docHeight = document.body.scrollHeight;//获取页面高度
this.menuHeight.height = docHeight - 10 + "px";
},
}
</script>
<template>
<el-container style="height: 100%;margin: 0;padding: 0; border: 1px solid #eee">
<el-aside :width="aside_width" :style="menuHeight">
<AsideHome></AsideHome>
</el-aside>
</el-container>
</template>
```
#### 2. 修复vuex页面刷新数据丢失
四种方法参考 https://blog.csdn.net/bidepanm/article/details/124686409
vuex-persistedstate https://blog.csdn.net/qq_43340606/article/details/126020339
1. 安装vuex-persistedstate
```
npm install vuex-persistedstate --save
```
2. 在store/index.js引入配置
```js
import createPersistedState from 'vuex-persistedstate';
```
3.引入插件
```js
plugins: [createPersistedState({
storage:window.sessionStorage//更改数据存储方式(默认储存方式为LocalStorage)
})]
```
> LocalStorage和SessionStorage区别
>
> LocalStorage: 存储的数据不会因浏览器选项卡/窗口关闭而删除(永不过期,不会自动删除)
>
> SessionStorage: 一旦浏览器选项卡/窗口关闭,存储在其中的数据就会被删除
>
> https://juejin.cn/post/7149380173027573767 https://blog.csdn.net/weixin_41863239/article/details/86679056
#### 3. 记录管理(record)中新增记录时createtime字段无法自动填充
参考 https://blog.csdn.net/liudachu/article/details/119545992
> 1.尝试修改数据库,修改后无效果
> ![img.png](img.png)
> 2.mybatis-plus自动填充时间
>
> 参考 https://blog.csdn.net/lsqingfeng/article/details/113241362
>
> 实体类添加注解
>
> 参考 https://blog.csdn.net/qq_40241957/article/details/101772536
>
> ```java
> @ApiModelProperty("操作时间")
> @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
> @TableField(fill = FieldFill.INSERT)//填充策略,插入填充字段
> @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
> private Date createtime;
>```
> MetaObjectHandler 实现类
>
> 参考 https://blog.csdn.net/qq_42875345/article/details/113273533
>
> MetaObjectHandler接口在插入或者更新数据的时候为字段指定默认值。
> ```java
> package com.wms.common;
> import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
> import org.apache.ibatis.reflection.MetaObject;
> import org.springframework.stereotype.Component;
>
> import java.util.Date;
>
> /**
> * 自动填充时间(record表的时间填充)
> */
> @Component
> public class MyMetaObjectHandler implements MetaObjectHandler {
>
> @Override
> public void insertFill(MetaObject metaObject) {
> this.setFieldValByName("createtime", new Date(), metaObject);//对应字段名
> }
> /**
> * 需要时配置,暂时不需要
> */
> @Override
> public void updateFill(MetaObject metaObject) {
>
> }
>
> }
> ```
### 后端功能实现
- 添加mybatis-plus依赖
```xml
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.1</version>
</dependency>
```
- 创建数据库
```
/*
Navicat MySQL Data Transfer
Source Server : localhost_3306
Source Server Type : MySQL
Source Server Version : 80034 (8.0.34)
Source Host : localhost:3306
Source Schema : wms_mysql
Target Server Type : MySQL
Target Server Version : 80034 (8.0.34)
File Encoding : 65001
Date: 27/02/2024 15:57:11
*/
```
1. user表
| id | no | name | password | age | sex | phone | role_id | isValid |
|:--:|:----:|:-----:|:--------:|:---:|:---:|:-----------:|:-------:|:-------:|
| 1 | root | 超级管理员 | 1234 | 20 | 1 | 17575878678 | 0 | Y |
```mysql
-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '主键',
`no` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '账号',
`name` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '名字',
`password` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT '密码',
`age` int NULL DEFAULT NULL,
`sex` int NULL DEFAULT NULL COMMENT '性别',
`phone` varchar(20) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '电话',
`role_id` int NULL DEFAULT NULL COMMENT '⻆⾊ 0超级管理员,1管理员,2普通账号',
`isValid` varchar(4) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT 'Y' COMMENT '是否有效,Y有效,其他⽆效',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 22 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Dynamic;
```
2. menu表
| id | menuCode | menuName | menuLevel | menuParentCode | menuClick | menuRight | menuComponent | menuIcon |
|:--:|:--------:|:--------:|:---------:|:--------------:|:----------:|:---------:|:-------------:|:--------:|
| 1 | 001 | 超级管理员管理 | 1 | Null | RootManger | 0 |root/RootManger.vue|el-icon-s-custom|
```mysql
-- ----------------------------
-- Table structure for menu
-- ----------------------------
DROP TABLE IF EXISTS `menu`;
CREATE TABLE `menu` (
`id` int NOT NULL,
`menuCode` varchar(8) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '菜单编码',
`menuName` varchar(16) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '菜单名字',
`menuLevel` varchar(2) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '菜单级别',
`menuParentCode` varchar(8) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '菜单的父code',
`menuClick` varchar(16) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '点击触发的函数',
`menuRight` varchar(8) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '权限 0超级管理员,1表示管理员,2表示普通用户,可以用逗号组合使用',
`menuComponent` varchar(200) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
`menuIcon` varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = DYNAMIC;
```
3. goodtype表
| id | name | remark |
|:
没有合适的资源?快使用搜索试试~ 我知道了~
springboot-vue-wms仓库管理系统springboot-vue-wms.zip
共155个文件
java:38个
class:38个
xml:23个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 171 浏览量
2024-05-19
11:32:34
上传
评论
收藏 36.32MB ZIP 举报
温馨提示
该项目利用了基于springboot + vue + mysql的开发模式框架实现的课设系统,包括了项目的源码资源、sql文件、相关指引文档等等。 【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。 【技术】 Java、Python、Node.js、Spring Boot、Django、Express、MySQL、PostgreSQL、MongoDB、React、Angular、Vue、Bootstrap、Material-UI、Redis、Docker、Kubernetes
资源推荐
资源详情
资源评论
收起资源包目录
springboot-vue-wms仓库管理系统springboot-vue-wms.zip (155个子文件)
UserController.class 10KB
MysqlGenerator.class 9KB
GoodController.class 6KB
GoodtypeController.class 6KB
StorageController.class 6KB
User.class 6KB
RecordController.class 5KB
Record.class 4KB
Result.class 4KB
Menu.class 3KB
MenuController.class 3KB
QueryPageParam.class 2KB
Good.class 2KB
UserServiceImpl.class 2KB
Goodtype.class 2KB
Storage.class 2KB
GoodtypeServiceImpl.class 1KB
StorageServiceImpl.class 1KB
RecordServiceImpl.class 1KB
GoodServiceImpl.class 1KB
CorsConfig.class 1KB
UserMapper.class 1KB
MybatisPlusConfig.class 1KB
MyMetaObjectHandler.class 996B
UserService.class 940B
GoodtypeMapper.class 884B
StorageMapper.class 880B
RecordMapper.class 876B
GoodMapper.class 868B
WmsApplication.class 794B
GoodtypeService.class 704B
StorageService.class 700B
RecordService.class 696B
GoodService.class 688B
MenuServiceImpl.class 636B
WmsApplicationTests.class 510B
MenuMapper.class 365B
MenuService.class 295B
global.css 35B
.gitignore 231B
.gitignore 182B
index.html 611B
favicon.ico 4KB
springboot-vue_wms.iml 336B
wms-0.0.1-SNAPSHOT.jar 39.43MB
maven-wrapper.jar 61KB
UserController.java 6KB
MysqlGenerator.java 4KB
RecordController.java 3KB
GoodController.java 3KB
StorageController.java 2KB
GoodtypeController.java 2KB
Record.java 2KB
Menu.java 1KB
User.java 1KB
Good.java 1KB
Goodtype.java 1001B
Storage.java 998B
UserServiceImpl.java 990B
MenuController.java 920B
MybatisPlusConfig.java 881B
GoodtypeServiceImpl.java 866B
StorageServiceImpl.java 853B
Result.java 847B
RecordServiceImpl.java 838B
GoodServiceImpl.java 756B
UserMapper.java 742B
CorsConfig.java 729B
RecordMapper.java 626B
GoodtypeMapper.java 607B
StorageMapper.java 603B
GoodMapper.java 591B
UserService.java 587B
MyMetaObjectHandler.java 564B
StorageService.java 450B
MenuServiceImpl.java 432B
GoodtypeService.java 427B
RecordService.java 419B
GoodService.java 411B
WmsApplication.java 385B
QueryPageParam.java 319B
MenuMapper.java 302B
MenuService.java 251B
WmsApplicationTests.java 205B
bg.jpg 156KB
index.js 3KB
index.js 1KB
main.js 520B
vue.config.js 260B
babel.config.js 73B
package-lock.json 422KB
package.json 1KB
jsconfig.json 279B
inputFiles.lst 3KB
inputFiles.lst 73B
createdFiles.lst 0B
createdFiles.lst 0B
README.md 17KB
README.md 319B
wms-0.0.1-SNAPSHOT.jar.original 48KB
共 155 条
- 1
- 2
资源评论
枫蜜柚子茶
- 粉丝: 6861
- 资源: 5108
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功