項目GitHub地址:https://github.com/Little-Orange7/cmms-vue
一.簡介
很多公司稍微復雜一點的業務,基本上都需要后台管理系統,來對業務進行各個維度的統計、對公司人員管理等等,這些后台管理系統都有一個基礎的共性,就是對登錄用戶的管理,對用戶角色的管理,對登錄用戶的操作權限的管理等,所以此項目就將這部分作為一個基礎功能編寫出來作為一個通用后台管理系統(common management system),為各種后台管理系統提供一個基礎的版本框架,使企業能快速的開發自己的業務模塊,而非重新從零開始搭建編寫這種基礎性的功能。整個項目是完全前后端分離,分為兩個部分,前端使用vue編寫(對應倉庫中的cmms-vue),后端使用springboot編寫(對應倉庫中的cmms)。
下面是部分截圖:
菜單管理
給角色配置菜單
給用戶配置角色
二.設計邏輯
每個用戶登錄之后,所看到的菜單,是由用戶所擁有的角色決定的,其對應角色配置了哪些菜單,則用戶登錄之后就可以看到哪些菜單,從而控制了用戶的菜單權限;關於機構的設計,每個用戶都對應了一個機構,即每個用戶都屬於公司的一個部門,可以根據機構來查看其下擁有的用戶有哪些。
1.菜單設計
菜單管理采用的是樹形的控件,菜單的結構和層級關系都可以由管理員來定制,利用樹形結構管理比較方便和直觀:
2.角色設計
角色管理比較核心的就是配置菜單,選擇一個角色,為其配置對應的菜單權限,配置菜單也是采用樹形控件直接勾選,很直觀和方便的查看到角色擁有的菜單,並且易於操作:
3.用戶設計
不同的用戶登錄,所看到的菜單可能是不一樣的,主要是因為用戶擁有的角色不一樣;用戶管理比較核心的就是角色配置,一個用戶可以對應多一個不同的角色,那么該用戶擁有的菜單權限就是其所擁有的所有角色的並集:
項目github地址:https://github.com/Little-Orange7/cmms-vue
(項目后續還將持續的完善中,歡迎有興趣的小伙伴加入)