import { getTopicList, getAssociationDetail, getAssociationMember } from '../../utils/api' const app = getApp() Page({ data: { groupId: '', groupName: '', pageNo: 1, pageSize: 10, topicList: [], loadMoreType: 'loading', loadMoreVisible: false, timestamp: '', noDataVisible: true, checkPenddingNum: 0, groupState: '', infoCompleted: 0, completeInfoDialogVisible: false, userInfo: { lordFlag: '0' }, selectedTopicId: '' }, onLoad(options) { this.refreshScroll = this.selectComponent('#refreshScroll') this.setData({ groupId: options.groupId, groupName: options.groupName, groupState: options.state, infoCompleted: app.globalData.infoCompleted }) this.pullRefreshGetTopicList() this.getAssociationDetail() }, onShow () { this.getCheckMemberNum() this.backAndRefreshTopicList() }, onReachBottom () { if (!this.data.loadMoreVisible) { this.setData({ loadMoreVisible: true }) } if (this.data.loadMoreType === 'loading') { this.setData({ loadMoreVisible: true, pageNo: parseInt(this.data.pageNo) + 1 }) this.loadMoreGetTopicList() } }, onPageScroll (e) { this.refreshScroll.onPageScroll(e) }, // 跳转 群详情 naavigateToSettings () { wx.navigateTo({ url: `/subpages/association/pages/associationDetail/associationDetail?groupId=${this.data.groupId}` }) }, // 跳转 发布话题 navigateToAddTopic () { if (this.data.infoCompleted == 0) { this.setData({ completeInfoDialogVisible: !this.data.completeInfoDialogVisible }) return false } if (this.data.groupState === '15') { wx.showToast({ title: '该群已禁言,暂不可发布话题', icon: 'none', duration: 2000 }) return false } wx.navigateTo({ url: `/subpages/association/pages/addTopic/addTopic?groupId=${this.data.groupId}&groupName=${this.data.groupName}` }) }, // 获取话题列表 pullRefreshGetTopicList () { this.setData({ timestamp: '', pageNo: 1, loadMoreType: 'loading', loadMoreVisible: false, noDataVisible: true }) const para = { groupId: this.data.groupId, timestamp: this.data.timestamp, pageSize: this.data.pageSize, pageIndex: this.data.pageNo, topicId: '' } getTopicList(para).then(res => { this.refreshScroll.stopRefresh() console.log('话题列表', res) res.data.forEach(item => { if (item.userId === app.globalData.userInfo.userId) { item.isSelf = true } else { item.isSelf = false } }) this.setData({ topicList: res.data, loadMoreType: res.data.length === 10 ? 'loading' : 'none', noDataVisible: false, timestamp: res.data.length > 0 ? res.data[0].createdTime : '' }) }).catch(err => { this.refreshScroll.stopRefresh() this.setData({ noDataVisible: false, timestamp: '' }) console.log(err) }) }, // 上拉加载 loadMoreGetTopicList () { const para = { groupId: this.data.groupId, timestamp: this.data.timestamp, pageSize: this.data.pageSize, pageIndex: this.data.pageNo, topicId: '' } getTopicList(para).then(res => { console.log('话题列表', res) res.data.forEach(item => { if (item.userId === app.globalData.userInfo.userId) { item.isSelf = true } else { item.isSelf = false } }) const topicList = [...this.data.topicList, ...res.data] this.setData({ topicList, loadMoreType: res.data.length === 10 ? 'loading' : 'none' }) }).catch(err => { console.log(err) }) }, // 获取群详情 getAssociationDetail() { getAssociationDetail(this.data.groupId).then(res => { console.log('群详情', res) const userInfo = {} for (const key in res.data) { userInfo[key] = res.data[key] } app.globalData.groupInfo = { groupAvatar: res.data.groupAvatar, groupLeader: res.data.nickname, groupName: res.data.groupName, groupId: res.data.id, lordFlag: res.data.lordFlag } this.setData({ userInfo }) }).catch(err => { console.log(err) }) }, // 获取 是否存在待审核人数 getCheckMemberNum () { const para = { groupId: this.data.groupId, state: 0 } getAssociationMember(para).then(res => { console.log('是否存在待审核人数', res) this.setData({ checkPenddingNum: res.data.length }) }).catch(err => { this.setData({ checkPenddingNum: 0 }) console.log(err) }) }, // 跳转详情 navigateToDetail (e) { if (e.detail.itemid) { wx.navigateTo({ url: `/subpages/discussion/pages/discussionDetail/discussionDetail?detailId=${e.detail.itemid}&type=project` }) } else if (e.detail.issueid) { wx.navigateTo({ url: `/subpages/discussion/pages/discussionDetail/discussionDetail?detailId=${e.detail.issueid}&type=issue` }) } else { this.data.selectedTopicId = e.detail.detailid wx.navigateTo({ url: `/subpages/association/pages/topicDetail/topicDetail?detailId=${e.detail.detailid}` }) } }, // 详情返回列表,更新数据 backAndRefreshTopicList () { if (this.data.selectedTopicId) { const para = { groupId: this.data.groupId, timestamp: this.data.timestamp, pageSize: 10, pageIndex: 1, topicId: this.data.selectedTopicId } getTopicList(para).then(res => { console.log('详情返回列表,更新数据', res) res.data.forEach(resItem => { if (resItem.userId === app.globalData.userInfo.userId) { resItem.isSelf = true } else { resItem.isSelf = false } if (resItem.id === this.data.selectedTopicId) { this.data.topicList.forEach((item, index) => { if (item.id === this.data.selectedTopicId) { this.data.topicList.splice(index, 1, resItem) } }) } }) this.setData({ topicList: this.data.topicList }) }).finally(() => { this.data.selectedTopicId = '' }) } } })