|
@@ -1,7 +1,7 @@
|
|
|
<template>
|
|
|
<div class="content">
|
|
|
<div class="horizontal-invited-wrapper" v-if="state.invited_list.length">
|
|
|
- invited({{ state.detail.inviteCount }})
|
|
|
+ invited({{ state.inviteCount }})
|
|
|
<div class="horizontal-invited-list" v-show-log="state.log_invite_list_show " @mouseleave="invitedListMouseleave($event)">
|
|
|
<template v-for="(item, index) in state.invited_list" :key="index">
|
|
|
<div class="invited-item" v-if="index < 5" @mouseenter="invitedItemMouseenter(item)">
|
|
@@ -91,15 +91,13 @@ state.log_invite_list_show = {
|
|
|
|
|
|
watch(global_refresh, () => {
|
|
|
if (global_refresh.value) {
|
|
|
- inviteListScroll({isRefresh: true});
|
|
|
+ list()
|
|
|
}
|
|
|
})
|
|
|
|
|
|
onMounted(() => {
|
|
|
state.btn_loading = false;
|
|
|
- inviteListScroll({isRefresh: true})
|
|
|
- console.log('state-->', state)
|
|
|
- // list()
|
|
|
+ list()
|
|
|
})
|
|
|
|
|
|
const invitedItemMouseenter = (params) => {
|
|
@@ -131,13 +129,13 @@ const clickItem = (item) => {
|
|
|
}
|
|
|
|
|
|
function handleScroll(e) {
|
|
|
+ if (list_end) {
|
|
|
+ return
|
|
|
+ }
|
|
|
e = e.target
|
|
|
if ((e.clientHeight + e.scrollTop) / e.scrollHeight > .8) {
|
|
|
- if(!listLoadMore) {
|
|
|
- listLoadMore = true;
|
|
|
- page_num++;
|
|
|
- inviteListScroll()
|
|
|
- }
|
|
|
+ list_end = true
|
|
|
+ inviteListScroll()
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -165,29 +163,36 @@ state.inviteListRefresh = () => {
|
|
|
}
|
|
|
|
|
|
const handleCommon = (data) => {
|
|
|
- if(data && data.length) {
|
|
|
- if(page_num < 2) {
|
|
|
- state.invited_list = data;
|
|
|
- } else {
|
|
|
- let dataList = state.invited_list;
|
|
|
- dataList = dataList.concat(data);
|
|
|
- state.invited_list = dataList;
|
|
|
- }
|
|
|
- listLoadMore = false;
|
|
|
+ state.inviteCount = data.inviteCount
|
|
|
+ if (data.inviteUsers.length > 0) {
|
|
|
+ data.inviteUsers.forEach(item => {
|
|
|
+ if (state.invited_list.filter((item2) => { return item2.userInfo.uid == item.userInfo.uid }).length == 0) {
|
|
|
+ state.invited_list.push(item)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ state.invited_list = state.invited_list.sort((a, b) => {
|
|
|
+ return b.timestamp - a.timestamp
|
|
|
+ })
|
|
|
+
|
|
|
+ list_end = false
|
|
|
+ } else {
|
|
|
+ list_end = false
|
|
|
}
|
|
|
}
|
|
|
|
|
|
// 滚动
|
|
|
-let inviteListScroll = ({isRefresh = false}) => {
|
|
|
- if(isRefresh) {
|
|
|
- page_num = 1
|
|
|
+let inviteListScroll = () => {
|
|
|
+ let last_timestamp = 0
|
|
|
+ let len = state.invited_list.length
|
|
|
+ if (len > 0) {
|
|
|
+ last_timestamp = state.invited_list[len - 1].timestamp
|
|
|
}
|
|
|
|
|
|
inviteList({
|
|
|
params: {
|
|
|
inviteCode: state.invite_code,
|
|
|
postId: state.postId,
|
|
|
- pageNum: page_num,
|
|
|
+ lastTimestamp: last_timestamp,
|
|
|
pageSize: page_size
|
|
|
}
|
|
|
}).then((res) => {
|