51 lines
2.5 KiB
Markdown
51 lines
2.5 KiB
Markdown
# 群組人員管理
|
||
|
||
## 畫面檔:
|
||
~/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: 成功移除筆數)
|
||
|
||
## 操作流程:
|
||
1. 從左側群組清單中選擇一個群組
|
||
2. 右側自動載入該群組的現有成員
|
||
3. 使用右側查詢區域搜尋要加入的人員
|
||
4. 選擇人員後點擊「加入群組」或從成員列表中「移除群組」
|