基于SSM+VUE的医院设备管理系统
項(xiàng)目背景
隨著科學(xué)技術(shù)的飛速發(fā)展,各行各業(yè)都在努力與現(xiàn)代先進(jìn)技術(shù)接軌,通過(guò)科技手段提高自身的優(yōu)勢(shì);對(duì)于醫(yī)院設(shè)備管理系統(tǒng)當(dāng)然也不能排除在外,隨著網(wǎng)絡(luò)技術(shù)的不斷成熟,帶動(dòng)了醫(yī)院設(shè)備管理系統(tǒng),它徹底改變了過(guò)去傳統(tǒng)的管理方式,不僅使服務(wù)管理難度變低了,還提升了管理的靈活性。這種個(gè)性化的平臺(tái)特別注重交互協(xié)調(diào)與管理的相互配合,激發(fā)了管理人員的創(chuàng)造性與主動(dòng)性,對(duì)醫(yī)院設(shè)備管理系統(tǒng)而言非常有利。
本系統(tǒng)采用的數(shù)據(jù)庫(kù)是Mysql,使用Java技術(shù)開發(fā),在設(shè)計(jì)過(guò)程中,充分保證了系統(tǒng)代碼的良好可讀性、實(shí)用性、易擴(kuò)展性、通用性、便于后期維護(hù)、操作方便以及頁(yè)面簡(jiǎn)潔等特點(diǎn)。
功能設(shè)計(jì)
功能模塊圖
登錄系統(tǒng)結(jié)構(gòu)圖
醫(yī)院設(shè)備管理系統(tǒng)結(jié)構(gòu)圖
功能截圖
管理員功能模塊
管理員登錄,通過(guò)填寫用戶名、密碼、角色等信息,輸入完成后選擇登錄即可進(jìn)入醫(yī)院設(shè)備管理系統(tǒng)
管理員登錄進(jìn)入醫(yī)院設(shè)備管理系統(tǒng)可以查看首頁(yè)、個(gè)人中心、科室員管理、維修員管理、設(shè)備領(lǐng)用管理、設(shè)備信息管理、設(shè)備入庫(kù)管理、設(shè)備出庫(kù)管理、設(shè)備報(bào)廢管理、設(shè)備借用管理、設(shè)備歸還管理、論壇管理、管理員管理、系統(tǒng)管理等內(nèi)容
維修員管理,在維修員管理頁(yè)面可以查看維修員工號(hào)、維修員姓名、頭像、性別、手機(jī)號(hào)碼、郵箱等信息,并可根據(jù)需要對(duì)維修員管理進(jìn)行詳情,修改,刪除或查看詳細(xì)內(nèi)容等操作
設(shè)備信息管理,在設(shè)備信息管理頁(yè)面可以查看設(shè)備名稱、規(guī)格型號(hào)、品牌、生產(chǎn)日期、設(shè)備詳情等信息,并可根據(jù)需要對(duì)設(shè)備信息管理進(jìn)行詳情,修改、刪除或查看詳細(xì)內(nèi)容等操作
設(shè)備入庫(kù)管理,在設(shè)備入庫(kù)管理頁(yè)面可以查看設(shè)備名稱、入庫(kù)數(shù)量、入庫(kù)日期、備注等信息,并可根據(jù)需要對(duì)設(shè)備入庫(kù)管理進(jìn)行詳情,修改、刪除或查看詳細(xì)內(nèi)容操作
設(shè)備出庫(kù)管理,在設(shè)備出庫(kù)管理頁(yè)面可以查看設(shè)備名稱、出庫(kù)數(shù)量、出庫(kù)日期、備注等內(nèi)容,并可根據(jù)需要對(duì)設(shè)備出庫(kù)管理進(jìn)行查看詳情,修改,刪除或查看詳細(xì)內(nèi)容等操作
論壇管理,在論壇管理頁(yè)面可以查看帖子標(biāo)題、用戶名、狀態(tài)等信息,并可根據(jù)需要對(duì)論壇管理進(jìn)行詳情,修改、刪除或查看詳細(xì)內(nèi)容等操作
輪播圖;該頁(yè)面為輪播圖管理界面。管理員可以在此頁(yè)面進(jìn)行首頁(yè)輪播圖的管理,通過(guò)新建操作可在輪播圖中加入新的圖片,還可以對(duì)以上傳的圖片進(jìn)行修改操作,以及圖片的刪除操作
科室員功能模塊
科室員登錄,科室員通過(guò)填寫用戶名、密碼、角色限等信息,輸入完成后選擇登錄即可進(jìn)入醫(yī)院設(shè)備管理系統(tǒng)
科室員登錄進(jìn)入醫(yī)院設(shè)備管理系統(tǒng)可以查看首頁(yè)、個(gè)人中心、設(shè)備領(lǐng)用管理、設(shè)備報(bào)修管理、設(shè)備維修管理、保養(yǎng)預(yù)約管理等內(nèi)容
保養(yǎng)預(yù)約管理,在保養(yǎng)預(yù)約管理頁(yè)面可以查看預(yù)約單號(hào)、設(shè)備名稱、保養(yǎng)內(nèi)容、預(yù)約日期、科室員工號(hào)、科室員姓名、科室、審核回復(fù)、審核狀態(tài)、審核等詳細(xì)進(jìn)行詳情、刪除
維修員功能模塊
維修員登錄,維修員通過(guò)填寫用戶名、密碼、角色等信息,輸入完成后選擇登錄即可進(jìn)入醫(yī)院設(shè)備管理系統(tǒng)
維修員登錄進(jìn)入醫(yī)院設(shè)備管理系統(tǒng)可以查看首頁(yè)、個(gè)人中心、設(shè)備報(bào)修管理、設(shè)備維修管理、保養(yǎng)預(yù)約管理、設(shè)備巡查管理、維修評(píng)價(jià)管理等內(nèi)容
保養(yǎng)預(yù)約管理,在保養(yǎng)預(yù)約管理頁(yè)面通過(guò)查看預(yù)約單號(hào)、設(shè)備名稱、保養(yǎng)內(nèi)容、預(yù)約日期、科室員工號(hào)、科室員姓名、科室、審核回復(fù)、審核狀態(tài)、審核等信息,并可根據(jù)需要對(duì)保養(yǎng)預(yù)約管理進(jìn)行詳情、修改、刪除
前臺(tái)首頁(yè)功能模塊
科室員登錄,通過(guò)輸入賬號(hào)、密碼等信息進(jìn)行登錄
個(gè)人中心,在個(gè)人中心進(jìn)行查看科室員工號(hào)、科室員姓名、頭像、性別、科室、手機(jī)號(hào)碼、郵箱并進(jìn)行更新信息、退出登錄等操作
我的發(fā)布,在我的發(fā)布頁(yè)面可以查看標(biāo)題、發(fā)布時(shí)間等內(nèi)容進(jìn)行提交
相關(guān)代碼
數(shù)據(jù)庫(kù)配置
# Tomcat server:tomcat:uri-encoding: UTF-8port: 8080servlet:context-path: /springbootr1tjfspring:datasource:driverClassName: com.mysql.jdbc.Driverurl: jdbc:mysql://127.0.0.1:3306/springbootr1tjf?useUnicode=true&characterEncoding=utf-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT%2B8username: rootpassword: 123456# driverClassName: com.microsoft.sqlserver.jdbc.SQLServerDriver # url: jdbc:sqlserver://127.0.0.1:1433;DatabaseName=springbootr1tjf # username: sa # password: 123456servlet:multipart:max-file-size: 10MBmax-request-size: 10MBresources:static-locations: classpath:static/,file:static/#mybatis mybatis-plus:mapper-locations: classpath*:mapper/*.xml#實(shí)體掃描,多個(gè)package用逗號(hào)或者分號(hào)分隔typeAliasesPackage: com.entityglobal-config:#主鍵類型 0:"數(shù)據(jù)庫(kù)ID自增", 1:"用戶輸入ID",2:"全局唯一ID (數(shù)字類型唯一ID)", 3:"全局唯一ID UUID";id-type: 1#字段策略 0:"忽略判斷",1:"非 NULL 判斷"),2:"非空判斷"field-strategy: 2#駝峰下劃線轉(zhuǎn)換db-column-underline: true#刷新mapper 調(diào)試神器refresh-mapper: true#邏輯刪除配置logic-delete-value: -1logic-not-delete-value: 0#自定義SQL注入器sql-injector: com.baomidou.mybatisplus.mapper.LogicSqlInjectorconfiguration:map-underscore-to-camel-case: truecache-enabled: falsecall-setters-on-nulls: true#springboot 項(xiàng)目mybatis plus 設(shè)置 jdbcTypeForNull (oracle數(shù)據(jù)庫(kù)需配置JdbcType.NULL, 默認(rèn)是Other)jdbc-type-for-null: 'null'控制層(controller)
package com.controller;import java.util.Arrays; import java.util.Calendar; import java.util.Date; import java.util.Map;import javax.servlet.http.HttpServletRequest;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController;import com.annotation.IgnoreAuth; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.entity.TokenEntity; import com.entity.UserEntity; import com.service.TokenService; import com.service.UserService; import com.utils.CommonUtil; import com.utils.MPUtil; import com.utils.PageUtils; import com.utils.R; import com.utils.ValidatorUtils;/*** 登錄相關(guān)*/ @RequestMapping("users") @RestController public class UserController{@Autowiredprivate UserService userService;@Autowiredprivate TokenService tokenService;/*** 登錄*/@IgnoreAuth@PostMapping(value = "/login")public R login(String username, String password, String captcha, HttpServletRequest request) {UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));if(user==null || !user.getPassword().equals(password)) {return R.error("賬號(hào)或密碼不正確");}String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());return R.ok().put("token", token);}/*** 注冊(cè)*/@IgnoreAuth@PostMapping(value = "/register")public R register(@RequestBody UserEntity user){ // ValidatorUtils.validateEntity(user);if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {return R.error("用戶已存在");}userService.insert(user);return R.ok();}/*** 退出*/@GetMapping(value = "logout")public R logout(HttpServletRequest request) {request.getSession().invalidate();return R.ok("退出成功");}/*** 密碼重置*/@IgnoreAuth@RequestMapping(value = "/resetPass")public R resetPass(String username, HttpServletRequest request){UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));if(user==null) {return R.error("賬號(hào)不存在");}user.setPassword("123456");userService.update(user,null);return R.ok("密碼已重置為:123456");}/*** 列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,UserEntity user){EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/list")public R list( UserEntity user){EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();ew.allEq(MPUtil.allEQMapPre( user, "user")); return R.ok().put("data", userService.selectListView(ew));}/*** 信息*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") String id){UserEntity user = userService.selectById(id);return R.ok().put("data", user);}/*** 獲取用戶的session用戶信息*/@RequestMapping("/session")public R getCurrUser(HttpServletRequest request){Long id = (Long)request.getSession().getAttribute("userId");UserEntity user = userService.selectById(id);return R.ok().put("data", user);}/*** 保存*/@PostMapping("/save")public R save(@RequestBody UserEntity user){ // ValidatorUtils.validateEntity(user);if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {return R.error("用戶已存在");}userService.insert(user);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody UserEntity user){ // ValidatorUtils.validateEntity(user);UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {return R.error("用戶名已存在。");}userService.updateById(user);//全部更新return R.ok();}/*** 刪除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){userService.deleteBatchIds(Arrays.asList(ids));return R.ok();} }業(yè)務(wù)層(Service)
package com.service;import java.util.List; import java.util.Map;import org.apache.ibatis.annotations.Param;import com.baomidou.mybatisplus.mapper.Wrapper; import com.baomidou.mybatisplus.service.IService; import com.entity.UserEntity; import com.utils.PageUtils;/*** 系統(tǒng)用戶*/ public interface UserService extends IService<UserEntity> {PageUtils queryPage(Map<String, Object> params);List<UserEntity> selectListView(Wrapper<UserEntity> wrapper);PageUtils queryPage(Map<String, Object> params,Wrapper<UserEntity> wrapper);}數(shù)據(jù)訪問(wèn)層(Dao)
package com.dao;import java.util.List;import org.apache.ibatis.annotations.Param;import com.baomidou.mybatisplus.mapper.BaseMapper; import com.baomidou.mybatisplus.mapper.Wrapper; import com.baomidou.mybatisplus.plugins.pagination.Pagination; import com.entity.UserEntity;/*** 用戶*/ public interface UserDao extends BaseMapper<UserEntity> {List<UserEntity> selectListView(@Param("ew") Wrapper<UserEntity> wrapper);List<UserEntity> selectListView(Pagination page,@Param("ew") Wrapper<UserEntity> wrapper);}總結(jié)
以上是生活随笔為你收集整理的基于SSM+VUE的医院设备管理系统的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: ai人工智能的本质和未来_是人工智能手中
- 下一篇: 彻底关闭Windows Defender