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 = "" }) } } })