diff --git a/src/frontend/devops-manage/src/components/user-group/components/children/permission-manage/manage-all.vue b/src/frontend/devops-manage/src/components/user-group/components/children/permission-manage/manage-all.vue index d7514c4d3c3..c88cf4ec1cd 100644 --- a/src/frontend/devops-manage/src/components/user-group/components/children/permission-manage/manage-all.vue +++ b/src/frontend/devops-manage/src/components/user-group/components/children/permission-manage/manage-all.vue @@ -1,23 +1,9 @@ + + \ No newline at end of file diff --git a/src/frontend/devops-manage/src/http/api.ts b/src/frontend/devops-manage/src/http/api.ts index dec15f446bd..bfcd04c9896 100644 --- a/src/frontend/devops-manage/src/http/api.ts +++ b/src/frontend/devops-manage/src/http/api.ts @@ -337,5 +337,26 @@ export default { removeMemberFromProjectCheck (projectId: string, params: any) { return http.post(`${IAM_PERFIX}/member/${projectId}/removeMemberFromProjectCheck`, params); + }, + /** + * 获取资源类型列表 + */ + getListResourceTypes () { + return http.get(`${USER_PERFIX}/auth/apply/listResourceTypes`); + }, + /** + * 获取资源列表 + */ + getListResource (projectId: string, resourceType: string, params: any) { + const query = new URLSearchParams({ + ...params, + }).toString(); + return http.get(`${USER_PERFIX}/auth/resource/${projectId}/${resourceType}/listResources?${query}`); + }, + /** + * 展示动作列表 + */ + getListActions (resourceType: string) { + return http.get(`${USER_PERFIX}/auth/apply/listActions?resourceType=${resourceType}`); } }; diff --git a/src/frontend/devops-manage/src/store/manageAside.ts b/src/frontend/devops-manage/src/store/manageAside.ts index 8abf4ddf168..aa72082ce9a 100644 --- a/src/frontend/devops-manage/src/store/manageAside.ts +++ b/src/frontend/devops-manage/src/store/manageAside.ts @@ -22,6 +22,9 @@ interface MemberListParamsType { groupName?: string, minExpiredAt?: number, maxExpiredAt?: number, + relatedResourceType?: string, + relatedResourceCode?: string, + action?: string, } export default defineStore('manageAside', () => { @@ -38,23 +41,23 @@ export default defineStore('manageAside', () => { const btnLoading = ref(false); const removeUserDeptListMap = ref({}); const showDeptListPermissionDialog = ref(false); - const seacrhObj = ref({}); + const searchObj = ref({}); /** * 人员组织侧边栏点击事件 */ function handleAsideClick(item: AsideItem) { asideItem.value = item; activeTab.value = item.id; - groupTableStore.fetchUserGroupList(item, seacrhObj.value); + groupTableStore.fetchUserGroupList(item, searchObj.value); } /** * 人员组织侧边栏页码切换 */ - async function handleAsidePageChange(current: number, projectId: string) { + async function handleAsidePageChange(current: number, projectId: string, searchGroup?: any) { asideItem.value = undefined; if (memberPagination.value.current !== current) { memberPagination.value.current = current; - getProjectMembers(projectId, true); + getProjectMembers(projectId, true, searchGroup); } } /** @@ -71,7 +74,6 @@ export default defineStore('manageAside', () => { */ async function handleAsideRemoveConfirm(removeUser: AsideItem, handOverMember: AsideItem, projectId: string, manageAsideRef: any) { showDeptListPermissionDialog.value = false - console.log(handOverMember, 'handOverMember') const params = { targetMember: removeUser, ...(Object.keys(handOverMember).length && {handoverTo: handOverMember}) @@ -114,6 +116,16 @@ export default defineStore('manageAside', () => { params.departedFlag = departedFlag; } + if (searchGroup?.relatedResourceType) { + params.relatedResourceType = searchGroup.relatedResourceType + } + if (searchGroup?.relatedResourceCode) { + params.relatedResourceCode = searchGroup.relatedResourceCode + } + if (searchGroup?.action) { + params.action = searchGroup.action + } + if (searchGroup?.expiredAt && Object.keys(searchGroup?.expiredAt).length) { params.minExpiredAt = getTimestamp(searchGroup.expiredAt[0]?.formatText); params.maxExpiredAt = getTimestamp(searchGroup.expiredAt[1]?.formatText); @@ -143,11 +155,15 @@ export default defineStore('manageAside', () => { try { isLoading.value = true; const params = getParams(projectId, departedFlag, searchGroup); - - seacrhObj.value = { - ...(params.groupName && {groupName: params.groupName}), - ...(params.minExpiredAt && {minExpiredAt: params.minExpiredAt}), - ...(params.maxExpiredAt && {maxExpiredAt: params.maxExpiredAt}), + + searchObj.value = { + ...['groupName', 'minExpiredAt', 'maxExpiredAt', 'relatedResourceType', 'relatedResourceCode', 'action'] + .reduce((acc, key) => { + if (params[key]) { + acc[key] = params[key]; + } + return acc; + }, {}) } const res = await http.getProjectMembersByCondition(projectId, params); diff --git a/src/frontend/locale/manage/en-US.json b/src/frontend/locale/manage/en-US.json index a129dbd7ec8..16666a92134 100644 --- a/src/frontend/locale/manage/en-US.json +++ b/src/frontend/locale/manage/en-US.json @@ -262,5 +262,7 @@ "未来 X 小时": "Next {0} Hours", "未来 X 天": "Next {0} Days", "过去 X 小时": "Last {0} Hours", - "过去 X 天": "Last {0} Days" + "过去 X 天": "Last {0} Days", + "所属服务": "Associated Service", + "资源": "Resource" } diff --git a/src/frontend/locale/manage/zh-CN.json b/src/frontend/locale/manage/zh-CN.json index bc227da853f..ee0a8c5ece8 100644 --- a/src/frontend/locale/manage/zh-CN.json +++ b/src/frontend/locale/manage/zh-CN.json @@ -263,5 +263,7 @@ "未来 X 小时": "未来 {0} 小时", "未来 X 天": "未来 {0} 天", "过去 X 小时": "过去 {0} 小时", - "过去 X 天": "过去 {0} 天" + "过去 X 天": "过去 {0} 天", + "所属服务": "所属服务", + "资源": "资源" }