fix 聊天会员搜索

This commit is contained in:
kuaifan 2021-11-28 22:10:03 +08:00
parent d22ee4b34a
commit 86e968a346

View File

@ -5,7 +5,8 @@
<div class="messenger-select" :class="{'show768-menu':dialogId == 0}"> <div class="messenger-select" :class="{'show768-menu':dialogId == 0}">
<div class="messenger-search"> <div class="messenger-search">
<div class="search-wrapper"> <div class="search-wrapper">
<Input prefix="ios-search" v-model="dialogKey" :placeholder="$L('搜索...')" clearable /> <Input v-if="tabActive==='dialog'" prefix="ios-search" v-model="dialogKey" :placeholder="$L('搜索...')" clearable />
<Input v-else prefix="ios-search" v-model="contactsKey" :placeholder="$L('搜索...')" clearable />
</div> </div>
</div> </div>
<div v-if="tabActive==='dialog'" class="messenger-nav"> <div v-if="tabActive==='dialog'" class="messenger-nav">
@ -97,6 +98,7 @@ export default {
dialogKey: '', dialogKey: '',
dialogId: 0, dialogId: 0,
contactsKey: '',
contactsLoad: 0, contactsLoad: 0,
contactsLists: null, contactsLists: null,
} }
@ -177,11 +179,19 @@ export default {
watch: { watch: {
tabActive(val) { tabActive(val) {
if (val && this.contactsLists === null) { if (val && this.contactsLists === null) {
this.getContactsList(); this.getContactsList(1);
} }
}, },
dialogOpenId(id) { dialogOpenId(id) {
this.dialogId = id; this.dialogId = id;
},
contactsKey(val) {
setTimeout(() => {
if (this.contactsKey == val) {
this.contactsLists = null;
this.getContactsList(1);
}
}, 600);
} }
}, },
@ -212,7 +222,7 @@ export default {
}); });
}, },
getContactsList() { getContactsList(page) {
if (this.contactsLists === null) { if (this.contactsLists === null) {
this.contactsLists = {}; this.contactsLists = {};
} }
@ -220,11 +230,18 @@ export default {
this.$store.dispatch("call", { this.$store.dispatch("call", {
url: 'users/search', url: 'users/search',
data: { data: {
take: 50 keys: {
key: this.contactsKey
},
sorts: {
az: 'asc'
},
page: page,
pagesize: 50
}, },
}).then(({data}) => { }).then(({data}) => {
this.contactsLoad--; this.contactsLoad--;
data.some((user) => { data.data.some((user) => {
if (user.userid === this.userId) { if (user.userid === this.userId) {
return false; return false;
} }
@ -238,6 +255,9 @@ export default {
this.contactsLists[az].push(user); this.contactsLists[az].push(user);
} }
}); });
if (data.next_page_url && data.current_page < 3) {
this.getContactsList(data.current_page + 1)
}
}).catch(() => { }).catch(() => {
this.contactsLoad--; this.contactsLoad--;
}); });