2.5 KiB
2.5 KiB
群組人員管理
畫面檔:
~/Forms/RoleManage.aspx
畫面排列:
左側 1/3:群組清單區域
- 顯示所有系統群組以及說明的列表。 右側 2/3:人員清單區域
- 左半部:該群組下所有成員列表(群組成員)
- 右半部:人員查詢區域
- 查詢條件:員工編號或姓名
- 查詢結果:符合條件的員工列表(可加入群組) 功能說明:
- 從右側人員查詢結果中選擇成員,點擊「加入群組」按鈕,將該成員加入左側所選群組中。
- 從左側群組成員列表中選擇成員,點擊「移除群組」按鈕,將該成員從群組中移除。
- 支援多選成員進行批次加入或移除操作。
資料來源:
- 群組清單及說明:程式內定義的 GroupList 常數陣列(位置:RoleManage.aspx 裡 Vue data 的 GroupList,內容我會補充上去) GroupList 結構:[{ id: '群組代碼', name: '群組名稱', description: '群組說明' }, ...]
- 群組成員列表:來自 DAC_BWEH.SelectByGroupId,DAC_BWEH 為群組與員工對應表,儲存哪些員工屬於哪些群組,查詢結果的 Name 是員工姓名,Value 是員工編號。
- 人員查詢,來自 Models.DAC_BPSN.Select,查詢結果的 Name 是員工姓名,Value 是員工編號。
前端程式碼:
- 使用 Vue.js 實現動態資料綁定與操作。
- 不使用 Server control
後端程式碼:
- 使用 WebService 實現非同步資料交換。
- 提供 API 端點處理成員搜尋、成員加入與移除群組的請求。
WebService 端點:Services/RoleManageService.asmx
-
SearchEmployees(string keyword):搜尋員工,關鍵字可為員工編號或姓名 回傳:BaseResponse(Success, Message, Data: NameValueList, TotalCount)
-
GetGroupMembers(string groupID):取得群組成員列表 回傳:BaseResponse(Success, Message, Data: NameValueList, TotalCount)
-
AddMemberToGroup(string groupID, string[] employeeIDs):將成員加入群組 回傳:BaseResponse(Success, Message, TotalCount: 成功加入筆數)
-
RemoveMemberFromGroup(string groupID, string[] employeeIDs):將成員從群組移除 回傳:BaseResponse(Success, Message, TotalCount: 成功移除筆數)
操作流程:
- 從左側群組清單中選擇一個群組
- 右側自動載入該群組的現有成員
- 使用右側查詢區域搜尋要加入的人員
- 選擇人員後點擊「加入群組」或從成員列表中「移除群組」