diff --git a/src/api/organizationManage/organizationManageApi.ts b/src/api/organizationManage/organizationManageApi.ts index ee46843..01ca663 100644 --- a/src/api/organizationManage/organizationManageApi.ts +++ b/src/api/organizationManage/organizationManageApi.ts @@ -45,4 +45,10 @@ export function deleteOrganizationMemberApi(params: { groupId: number, username: }); } - +export function getGroupjoinedListApi(params: { groupId: number }): Promise> { + return request({ + url: `/api/v1/group/joined/list`, + method: 'get', + params, + }); +} diff --git a/src/views/Jyh/PersonalCenter/OrganizationManage/OrganizationManage.vue b/src/views/Jyh/PersonalCenter/OrganizationManage/OrganizationManage.vue index f0ab3e9..9169ff1 100644 --- a/src/views/Jyh/PersonalCenter/OrganizationManage/OrganizationManage.vue +++ b/src/views/Jyh/PersonalCenter/OrganizationManage/OrganizationManage.vue @@ -76,6 +76,52 @@ @page-size-change="pagerSizeChange" /> + + +
组织管理
+ + + + + + + + + + + + + + + + + + + + + +
@@ -135,7 +181,7 @@ import { Message } from 'vue-devui'; import NoData from '@/components/NoData/NoData.vue'; import { createOrganizationApi, - deleteOrganizationMemberApi, + deleteOrganizationMemberApi, getGroupjoinedListApi, getOrganizationMemberListApi, inviteOrganizationMemberApi, updateOrganizationInfoApi @@ -186,12 +232,24 @@ const memberListSearchParam = ref(''); let originMemberList: OrganizationMemberItemType[] = []; let filterMemberList: OrganizationMemberItemType[] = []; const memberTableData = shallowRef([]); + const pager = reactive({ pageSize: 10, pageIndex: 1, total: 0 }); +const orgListSearchLoading = ref(false); +const orgListSearchParam = ref(''); +let originOrgList = []; +let filterOrgList = []; +const orgTableData = shallowRef([]); +const orgPager = reactive({ + pageSize: 10, + pageIndex: 1, + total: 0 +}); + const deleteRow = shallowRef(null); const deleteMemberModalCtrl = ref(false); const deleteMemberLoading = ref(false); @@ -242,6 +300,7 @@ async function queryUserInfo() { organizationProfile: res.data?.data.data.groupDesc as string, }; getMemberList(); + getOrgList(res.data?.data.data.nickname); } else { hasOrganization.value = false; } @@ -367,6 +426,27 @@ async function getMemberList() { memberListSearchLoading.value = false; } +async function getOrgList(username) { + orgListSearchLoading.value = true; + originMemberList = []; + pager.total = 0; + try { + const res = await getGroupjoinedListApi({ username: 'hugaowei' }); + if (res.data?.code === 200) { + originOrgList = res.data?.data.map(item => { + return { ...item, createTime: dayjs(item.createTime).format('YYYY-MM-DD HH:mm:ss') }; + }); + orgPager.total = originOrgList.length; + updateFilterOrgTableList(); + } else { + Message.warning(res.data?.msg || '查询失败'); + } + } catch (e) { + Message.error('接口错误,查询失败'); + } + orgListSearchLoading.value = false; +} + // 搜索处理函数(带防抖) const handleSearch = debounce(() => { pager.pageIndex = 1; // 搜索时重置到第一页 @@ -376,7 +456,6 @@ const handleSearch = debounce(() => { // 修改 updateFilterTableList 函数 function updateFilterTableList() { const queryStr = memberListSearchParam.value.trim().toLowerCase(); - debugger filterMemberList = queryStr ? originMemberList.filter(item => @@ -388,10 +467,29 @@ function updateFilterTableList() { updateCurrentPageTableList(); } +// 修改 updateFilterTableList 函数 +function updateFilterOrgTableList() { + debugger + const queryStr = orgListSearchParam.value.trim().toLowerCase(); + + filterOrgList = queryStr + ? originOrgList.filter(item => + item.username.toLowerCase().includes(queryStr) || + item.email.toLowerCase().includes(queryStr)) + : [...originOrgList]; + + orgPager.total = filterOrgList.length; + updateCurrentPageOrgTableList(); +} + function updateCurrentPageTableList() { const endIndex = pager.pageIndex * pager.pageSize; memberTableData.value = filterMemberList.slice(endIndex - pager.pageSize, endIndex); } +function updateCurrentPageOrgTableList() { + const endIndex = orgPager.pageIndex * orgPager.pageSize; + orgTableData.value = filterOrgList.slice(endIndex - orgPager.pageSize, endIndex); +} function pagerIndexChange() { updateCurrentPageTableList(); @@ -401,6 +499,14 @@ function pagerSizeChange() { pager.pageIndex = 1; updateCurrentPageTableList(); } +function orgPagerIndexChange() { + updateCurrentPageOrgTableList(); +} + +function orgPagerSizeChange() { + orgPager.pageIndex = 1; + updateCurrentPageOrgTableList(); +} function openInviteMemberModal() { inviteMemberModalCtrl.value = true;