组织里面的搜索框实现

This commit is contained in:
付民康
2025-03-27 17:36:49 +08:00
parent 116a396ffc
commit 36090fac8d
2 changed files with 25 additions and 8 deletions

View File

@@ -72,15 +72,15 @@ const handleAccept = async (row, type) => {
status: type
});
if (data?.data?.data?.data) {
Message({
type: 'success',
message: '成功接受'
});
// Message({
// type: 'success',
// message: '成功接受'
// });
queryInviteListData();
} else {
Message({
type: 'error',
message: '接受失败'
message: '请求失败'
});
}
};

View File

@@ -32,7 +32,8 @@
<div class="font-bold text-[14px] mb-[12px]">成员管理</div>
<div class="flex mb-[12px]">
<d-button icon="add" variant="solid" class="mr-[8px]" @click="openInviteMemberModal">邀请成员</d-button>
<d-search icon-position="left" class="w-[296px]" placeholder="请输入搜索内容" @search="getMemberList" />
<d-search v-model="memberListSearchParam" icon-position="left" class="w-[296px]" placeholder="请输入搜索内容" @search="handleSearch"
@keyup.enter="handleSearch"/>
</div>
<d-table
:data="memberTableData"
@@ -143,6 +144,7 @@ import {
} from '@/api/organizationManage/organizationManageType';
import {getUserInfo} from "@/api/user";
import dayjs from "dayjs";
import debounce from 'lodash/debounce';
const userInfo = shallowRef<UserInfoType>({
username: '',
@@ -346,9 +348,24 @@ async function getMemberList() {
memberListSearchLoading.value = false;
}
// 搜索处理函数(带防抖)
const handleSearch = debounce(() => {
pager.pageIndex = 1; // 搜索时重置到第一页
updateFilterTableList();
}, 500);
// 修改 updateFilterTableList 函数
function updateFilterTableList() {
const queryStr = memberListSearchParam.value;
filterMemberList = queryStr ? originMemberList.filter(item => item.username.includes(queryStr)) : originMemberList;
const queryStr = memberListSearchParam.value.trim().toLowerCase();
debugger
filterMemberList = queryStr
? originMemberList.filter(item =>
item.username.toLowerCase().includes(queryStr) ||
item.email.toLowerCase().includes(queryStr))
: [...originMemberList];
pager.total = filterMemberList.length;
updateCurrentPageTableList();
}