组织里面的搜索框实现

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 status: type
}); });
if (data?.data?.data?.data) { if (data?.data?.data?.data) {
Message({ // Message({
type: 'success', // type: 'success',
message: '成功接受' // message: '成功接受'
}); // });
queryInviteListData(); queryInviteListData();
} else { } else {
Message({ Message({
type: 'error', type: 'error',
message: '接受失败' message: '请求失败'
}); });
} }
}; };

View File

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