基于SpringBoot+Vue档案管理系统的设计与实现

文末获取联系

开发语言:Java

使用框架:spring boot

前端技术:Vue 、css、element-ui、js

开发工具:IDEA/MyEclipse/Eclipse、Visual Studio Code

数据库:MySQL 5.7/8.0

数据库管理工具:phpstudy/Navicat

JDK版本:jdk1.8

Maven:apache-maven 3.8.1-bin

项目介绍: 

利用电脑网络的这些便利,发展一套档案管理系统,将会给人们生活带来更多方便,而在经济效能上,也必然会有很大的方便!这样可以节省大量的时间和金钱。档案管理系统同样是不可或缺的一环,其内容直接关系到管理者的工作效率。该系统主要完成了对系统首页、个人中心、员工管理、客户信息管理、设备类型管理、设备型号管理、设备信息管理、设备维修管理、设备保养管理、定检信息管理、配件信息管理、配件采购管理、合同信息管理等功能进行管理。方便了管理员随时随地,只要电脑联网,就能对档案进行管理。同时,还可以方便快捷查询自己的档案信息。

本篇论文对档案管理系统的需求分析、功能设计、系统设计进行了较为详尽的阐述,并对系统的整体设计进行了阐述,并对各功能的实现和主要功能进行了说明,并附上了相应的操作界面图。

功能介绍: 

根据上文中对用户需求的一系列综合细致的分析,针对本档案管理系统,得到一个如图4-1所示的宏观的总体功能结构图。

部分截图说明: 

系统登录,在登录页面选择需要登录的角色,在正确输入用户名和密码后,进入操作系统进行操作;如图5-1所示。                               

图5-1 系统登录界面

系统注册:在系统注册页面的输入栏中输入用户注册信息进行注册操作,系统注册页面如图5-2所示:

图5-2系统注册页面

管理员模块实现

管理员进入主页面,主要功能包括对系统首页、个人中心、员工管理、客户信息管理、设备类型管理、设备型号管理、设备信息管理、设备维修管理、设备保养管理、定检信息管理、配件信息管理、配件采购管理、合同信息管理等进行操作。管理员主页面如图5-3所示:

图5-3 管理员主界面

管理员点击客户信息管理。在客户信息页面输入客户编号和公司名称进行查询、新增或删除客户信息列表,并根据需要对客户详情信息进行详情、修改或删除操作;如图5-4所示:

图5-4客户信息管理界面

管理员点击设备信息管理。在设备信息页面输入设备编号、设备名称、选择设备类型、设备型号和设备状态进行查询、新增或删除设备信息列表,并根据需要对设备详情信息进行详情、修改或删除操作;如图5-5所示:

图5-5设备信息管理界面

管理员点击设备维修管理。在设备维修页面输入设备名称和设备类型进行查询或删除设备维修列表,并根据需要对设备维修详情信息进行详情、修改或删除操作;如图5-6所示:

图5-6设备维修管理界面

管理员点击设备保养管理。在设备保养页面输入设备名称和设备类型进行查询或删除设备保养列表,并根据需要对设备保养详情信息进行详情、修改或删除操作;如图5-7所示:

图5-7设备保养管理界面

管理员点击定检信息管理。在定检信息页面输入设备编号、设备名称和设备类型进行查询或删除定检信息列表,并根据需要对定检详情信息进行详情、修改或删除操作;如图5-8所示:

图5-8定检信息管理界面

管理员点击配件信息管理。在配件信息页面输入配件名称和配件类型进行查询、新增或删除配件信息列表,并根据需要对配件详情信息进行详情、修改或删除操作;如图5-9所示:

图5-9配件信息管理界面

管理员点击配件采购管理。在配件采购页面输入配件名称、配件类型和公司名称进行查询或删除配件采购列表,并根据需要对配件采购详情信息进行详情、签订合同、修改或删除操作;如图5-10所示:

图5-10配件采购管理界面

管理员点击合同信息管理。进入合同信息页面输入合同编号、合同名称进行查询、打印或删除合同信息列表,并根据需要对合同详细信息进行详情、修改或删除操作。如图5-11所示:

图5-11合同信息管理界面

员工模块实现

员工进入系统可以对系统首页、个人中心、客户信息管理、设备信息管理、设备维修管理、设备保养管理、定检信息管理、配件信息管理、配件采购管理等功能进行操作。员工主页面如图5-12所示:

图5-12 员工主界面

员工点击设备信息管理。在设备信息页面输入设备编号、设备名称、选择设备类型、设备型号和设备状态进行查询设备信息列表,并根据需要对设备详细信息进行详情、维修、保养或定检操作。如图5-13所示:

图5-13设备信息管理界面

员工点击配件信息管理。在配件信息页面输入配件名称和配件类型进行查询配件信息列表,并根据需要对配件详细信息进行详情或采购操作。如图5-14所示:

图5-14配件信息管理界面

部分代码: 

/**
 * 上传文件映射表
 */
@RestController
@RequestMapping("file")
@SuppressWarnings({"unchecked","rawtypes"})
public class FileController{
	@Autowired
    private ConfigService configService;
	/**
	 * 上传文件
	 */
	@RequestMapping("/upload")
	public R upload(@RequestParam("file") MultipartFile file,String type) throws Exception {
		if (file.isEmpty()) {
			throw new EIException("上传文件不能为空");
		}
		String fileExt = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1);
		File path = new File(ResourceUtils.getURL("classpath:static").getPath());
		if(!path.exists()) {
		    path = new File("");
		}
		File upload = new File(path.getAbsolutePath(),"/upload/");
		if(!upload.exists()) {
		    upload.mkdirs();
		}
		String fileName = new Date().getTime()+"."+fileExt;
		File dest = new File(upload.getAbsolutePath()+"/"+fileName);
		file.transferTo(dest);
		if(StringUtils.isNotBlank(type) && type.equals("1")) {
			ConfigEntity configEntity = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "faceFile"));
			if(configEntity==null) {
				configEntity = new ConfigEntity();
				configEntity.setName("faceFile");
				configEntity.setValue(fileName);
			} else {
				configEntity.setValue(fileName);
			}
			configService.insertOrUpdate(configEntity);
		}
		return R.ok().put("file", fileName);
	}
	
	/**
	 * 下载文件
	 */
	@IgnoreAuth
	@RequestMapping("/download")
	public ResponseEntity<byte[]> download(@RequestParam String fileName) {
		try {
			File path = new File(ResourceUtils.getURL("classpath:static").getPath());
			if(!path.exists()) {
			    path = new File("");
			}
			File upload = new File(path.getAbsolutePath(),"/upload/");
			if(!upload.exists()) {
			    upload.mkdirs();
			}
			File file = new File(upload.getAbsolutePath()+"/"+fileName);
			if(file.exists()){
				/*if(!fileService.canRead(file, SessionManager.getSessionUser())){
					getResponse().sendError(403);
				}*/
				HttpHeaders headers = new HttpHeaders();
			    headers.setContentType(MediaType.APPLICATION_OCTET_STREAM);    
			    headers.setContentDispositionFormData("attachment", fileName);    
			    return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),headers, HttpStatus.CREATED);
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
		return new ResponseEntity<byte[]>(HttpStatus.INTERNAL_SERVER_ERROR);
	}
	
}

  • 20
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一季春秋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值