diff --git a/src/views/Invitation/inviteAgency.vue b/src/views/Invitation/inviteAgency.vue index 335158a..3983485 100644 --- a/src/views/Invitation/inviteAgency.vue +++ b/src/views/Invitation/inviteAgency.vue @@ -38,7 +38,7 @@ name="" id="" :placeholder="t('enter_user_id')" - @keyup.enter="handleEnterPress" + @keyup.enter="debouncedSearch" @input="handleInputChange" style=" width: 100%; @@ -225,13 +225,7 @@ import { useDebounce } from '@/utils/useDebounce' import { handleAvatarImageError } from '@/utils/imageHandler.js' import { searchUser } from '@/api/userInfo' -import { - invitedList, - beInvitedList, - inviteToBeAgency, - handleInvite, - cancelInvite, -} from '@/api/bdCenter.js' +import { invitedList, inviteToBeAgency, cancelInvite } from '@/api/bdCenter.js' import GeneralHeader from '@/components/GeneralHeader.vue' @@ -246,6 +240,8 @@ const searchResults = ref([]) //搜索结果 const disInvite = ref(true) //不可邀请 const selectedUser = ref({}) //选中的用户 +const loading = ref(false) //正在获取数据 + //展示的用户列表 const showUserList = computed(() => { if (searchQuery.value) { @@ -278,27 +274,33 @@ const handleInputChange = () => { // 创建防抖版本的搜索函数 const debouncedSearch = useDebounce( async () => { + if (loading.value) return + + loading.value = true + console.log('搜索用户id:', searchQuery.value) searchResults.value = [] selectedUser.value = {} disInvite.value = true - if (searchQuery.value.trim()) { - const resSearchUser = await searchUser(searchQuery.value) - if (resSearchUser.status && resSearchUser.body) { - let targetUserInfo = { userProfile: resSearchUser.body } - searchResults.value.push(targetUserInfo) + + try { + if (searchQuery.value.trim()) { + const resSearchUser = await searchUser(searchQuery.value) + if (resSearchUser.status && resSearchUser.body) { + let targetUserInfo = { userProfile: resSearchUser.body } + searchResults.value.push(targetUserInfo) + } } + } catch (error) { + showError(error.response?.errorMsg) + } finally { + loading.value = false } }, 500, true ) -// 回车防抖搜索 -const handleEnterPress = async () => { - debouncedSearch() -} - // 选择用户 const toggleUserSelection = (user) => { console.log('选择用户:', user) diff --git a/src/views/Invitation/inviteBD.vue b/src/views/Invitation/inviteBD.vue index a7df7fd..995deac 100644 --- a/src/views/Invitation/inviteBD.vue +++ b/src/views/Invitation/inviteBD.vue @@ -38,7 +38,7 @@ name="" id="" :placeholder="t('enter_user_id')" - @keyup.enter="handleEnterPress" + @keyup.enter="debouncedSearch" @input="handleInputChange" style=" width: 100%; @@ -244,6 +244,8 @@ const searchResults = ref([]) //搜索结果 const disInvite = ref(true) //不可邀请 const selectedUser = ref({}) //选中的用户 +const loading = ref(false) //正在获取数据 + //展示的用户列表 const showUserList = computed(() => { if (searchQuery.value) { @@ -276,27 +278,33 @@ const handleInputChange = () => { // 创建防抖版本的搜索函数 const debouncedSearch = useDebounce( async () => { + if (loading.value) return + + loading.value = true + console.log('搜索用户id:', searchQuery.value) searchResults.value = [] selectedUser.value = {} disInvite.value = true - if (searchQuery.value.trim()) { - const resSearchUser = await searchUser(searchQuery.value) - if (resSearchUser.status && resSearchUser.body) { - let targetUserInfo = { userProfile: resSearchUser.body } - searchResults.value.push(targetUserInfo) + + try { + if (searchQuery.value.trim()) { + const resSearchUser = await searchUser(searchQuery.value) + if (resSearchUser.status && resSearchUser.body) { + let targetUserInfo = { userProfile: resSearchUser.body } + searchResults.value.push(targetUserInfo) + } } + } catch (error) { + showError(error.response?.errorMsg) + } finally { + loading.value = false } }, 500, true ) -// 回车防抖搜索 -const handleEnterPress = async () => { - debouncedSearch() -} - // 选择用户 const toggleUserSelection = (user) => { console.log('选择用户:', user) diff --git a/src/views/Invitation/inviteBDLeader.vue b/src/views/Invitation/inviteBDLeader.vue index 6fc3bf1..1229701 100644 --- a/src/views/Invitation/inviteBDLeader.vue +++ b/src/views/Invitation/inviteBDLeader.vue @@ -38,7 +38,7 @@ name="" id="" :placeholder="t('enter_user_id')" - @keyup.enter="handleEnterPress" + @keyup.enter="debouncedSearch" @input="handleInputChange" style=" width: 100%; @@ -243,6 +243,8 @@ const searchResults = ref([]) //搜索结果 const disInvite = ref(true) //不可邀请 const selectedUser = ref({}) //选中的用户 +const loading = ref(false) //正在获取数据 + //展示的用户列表 const showUserList = computed(() => { if (searchQuery.value) { @@ -275,27 +277,33 @@ const handleInputChange = () => { // 创建防抖版本的搜索函数 const debouncedSearch = useDebounce( async () => { + if (loading.value) return + + loading.value = true + console.log('搜索用户id:', searchQuery.value) searchResults.value = [] selectedUser.value = {} disInvite.value = true - if (searchQuery.value.trim()) { - const resSearchUser = await searchUser(searchQuery.value) - if (resSearchUser.status && resSearchUser.body) { - let targetUserInfo = { userProfile: resSearchUser.body } - searchResults.value.push(targetUserInfo) + + try { + if (searchQuery.value.trim()) { + const resSearchUser = await searchUser(searchQuery.value) + if (resSearchUser.status && resSearchUser.body) { + let targetUserInfo = { userProfile: resSearchUser.body } + searchResults.value.push(targetUserInfo) + } } + } catch (error) { + showError(error.response?.errorMsg) + } finally { + loading.value = false } }, 500, true ) -// 回车防抖搜索 -const handleEnterPress = async () => { - debouncedSearch() -} - // 选择用户 const toggleUserSelection = (user) => { console.log('选择用户:', user) diff --git a/src/views/Invitation/inviteRechargeAgency.vue b/src/views/Invitation/inviteRechargeAgency.vue index 4f2b028..d9e3280 100644 --- a/src/views/Invitation/inviteRechargeAgency.vue +++ b/src/views/Invitation/inviteRechargeAgency.vue @@ -38,7 +38,7 @@ name="" id="" :placeholder="t('enter_user_id')" - @keyup.enter="handleEnterPress" + @keyup.enter="debouncedSearch" @input="handleInputChange" style=" width: 100%; @@ -223,6 +223,8 @@ const searchResults = ref([]) //搜索结果 const disInvite = ref(true) //不可邀请 const selectedUser = ref({}) //选中的用户 +const loading = ref(false) //正在获取数据 + //展示的用户列表 const showUserList = computed(() => { if (searchQuery.value) { @@ -255,27 +257,33 @@ const handleInputChange = () => { // 创建防抖版本的搜索函数 const debouncedSearch = useDebounce( async () => { + if (loading.value) return + + loading.value = true + console.log('搜索用户id:', searchQuery.value) searchResults.value = [] selectedUser.value = {} disInvite.value = true - if (searchQuery.value.trim()) { - const resSearchUser = await searchUser(searchQuery.value) - if (resSearchUser.status && resSearchUser.body) { - let targetUserInfo = { userProfile: resSearchUser.body } - searchResults.value.push(targetUserInfo) + + try { + if (searchQuery.value.trim()) { + const resSearchUser = await searchUser(searchQuery.value) + if (resSearchUser.status && resSearchUser.body) { + let targetUserInfo = { userProfile: resSearchUser.body } + searchResults.value.push(targetUserInfo) + } } + } catch (error) { + showError(error.response?.errorMsg) + } finally { + loading.value = false } }, 500, true ) -// 回车防抖搜索 -const handleEnterPress = () => { - debouncedSearch() -} - // 选择用户 const toggleUserSelection = (user) => { console.log('选择用户:', user) diff --git a/src/views/RechargeAgency/SellerRecordsView.vue b/src/views/RechargeAgency/SellerRecordsView.vue index d93cffe..c679925 100644 --- a/src/views/RechargeAgency/SellerRecordsView.vue +++ b/src/views/RechargeAgency/SellerRecordsView.vue @@ -39,11 +39,11 @@ color: black; padding: 10px 8px; " - @keyup.enter="performSearch" + @keyup.enter="debouncedSearch" /> -