|
|
|
const api = require("../../../../utils/api")
|
|
|
|
import { getTimestamp } from "../../../../utils/common"
|
|
|
|
const app = getApp()
|
|
|
|
|
|
|
|
Component({
|
|
|
|
data: {
|
|
|
|
issueType: "new",
|
|
|
|
pageNo: 1,
|
|
|
|
pageSize: 10,
|
|
|
|
timestamp: "",
|
|
|
|
issueList: [],
|
|
|
|
preloadVisible: true,
|
|
|
|
issueLoadMoreVisible: false,
|
|
|
|
loadMoreType: "loading",
|
|
|
|
selectedIssueId: ""
|
|
|
|
},
|
|
|
|
lifetimes: {
|
|
|
|
attached () {
|
|
|
|
this.getIssueList ()
|
|
|
|
this.pulldownrefresh = this.selectComponent("#pulldownrefresh")
|
|
|
|
this.triggerEvent("getIssueComponent")
|
|
|
|
}
|
|
|
|
},
|
|
|
|
pageLifetimes: {
|
|
|
|
show () {
|
|
|
|
if (!app.globalData.previewImage) {
|
|
|
|
this.backAndRefreshIssueList()
|
|
|
|
}
|
|
|
|
app.globalData.previewImage = false
|
|
|
|
}
|
|
|
|
},
|
|
|
|
methods: {
|
|
|
|
// 页面滚动监听
|
|
|
|
onPageScroll (e) {
|
|
|
|
this.pulldownrefresh.onPageScroll(e)
|
|
|
|
},
|
|
|
|
onReachBottom () {
|
|
|
|
this.setData({
|
|
|
|
issueLoadMoreVisible: true
|
|
|
|
})
|
|
|
|
if (this.data.loadMoreType === "loading") {
|
|
|
|
this.data.pageNo += 1
|
|
|
|
this.pullDownGetIssueList()
|
|
|
|
}
|
|
|
|
},
|
|
|
|
// 最新最热 tab切换
|
|
|
|
changeIssueType () {
|
|
|
|
if (this.data.issueType === "new") {
|
|
|
|
this.setData({
|
|
|
|
issueType: "hot",
|
|
|
|
preloadVisible: true,
|
|
|
|
issueList: [],
|
|
|
|
pageNo: 1,
|
|
|
|
issueLoadMoreVisible: false
|
|
|
|
})
|
|
|
|
this.getIssueList()
|
|
|
|
} else {
|
|
|
|
this.setData({
|
|
|
|
issueType: "new",
|
|
|
|
preloadVisible: true,
|
|
|
|
issueList: [],
|
|
|
|
pageNo: 1,
|
|
|
|
issueLoadMoreVisible: false
|
|
|
|
})
|
|
|
|
this.getIssueList()
|
|
|
|
}
|
|
|
|
},
|
|
|
|
// 下拉刷新 获取议题列表
|
|
|
|
getIssueList () {
|
|
|
|
this.setData({
|
|
|
|
timestamp: getTimestamp(),
|
|
|
|
preloadVisible: true,
|
|
|
|
issueList: [],
|
|
|
|
pageNo: 1,
|
|
|
|
issueLoadMoreVisible: false
|
|
|
|
})
|
|
|
|
const para = {
|
|
|
|
pageIndex: this.data.pageNo,
|
|
|
|
pageSize: this.data.pageSize,
|
|
|
|
timestamp: this.data.timestamp,
|
|
|
|
searchContent: "",
|
|
|
|
orderType: this.data.issueType === "new" ? "0" : "1",
|
|
|
|
firstCategoryCode: ""
|
|
|
|
}
|
|
|
|
api.getIssueList(para).then(res => {
|
|
|
|
this.pulldownrefresh.stopRefresh()
|
|
|
|
console.log("获取议题列表", res)
|
|
|
|
this.setData({
|
|
|
|
issueList: [...res.data],
|
|
|
|
preloadVisible: false,
|
|
|
|
loadMoreType: res.data.length === 10 ? "loading" : "none"
|
|
|
|
})
|
|
|
|
}).catch(err => {
|
|
|
|
this.pulldownrefresh.stopRefresh()
|
|
|
|
this.setData({
|
|
|
|
issueList: [],
|
|
|
|
preloadVisible: false,
|
|
|
|
loadMoreType: "none"
|
|
|
|
})
|
|
|
|
console.log(err)
|
|
|
|
})
|
|
|
|
},
|
|
|
|
// 上拉加载更多
|
|
|
|
pullDownGetIssueList () {
|
|
|
|
const para = {
|
|
|
|
pageIndex: this.data.pageNo,
|
|
|
|
pageSize: this.data.pageSize,
|
|
|
|
timestamp: this.data.timestamp,
|
|
|
|
searchContent: "",
|
|
|
|
orderType: this.data.issueType === "new" ? "0" : "1",
|
|
|
|
firstCategoryCode: ""
|
|
|
|
}
|
|
|
|
api.getIssueList(para).then(res => {
|
|
|
|
console.log("获取议题列表", res)
|
|
|
|
this.setData({
|
|
|
|
issueList: [...this.data.issueList,...res.data],
|
|
|
|
preloadVisible: false,
|
|
|
|
loadMoreType: res.data.length === 10 ? "loading" : "none"
|
|
|
|
})
|
|
|
|
}).catch(err => {
|
|
|
|
this.setData({
|
|
|
|
issueList: [],
|
|
|
|
preloadVisible: false,
|
|
|
|
loadMoreType: "none"
|
|
|
|
})
|
|
|
|
console.log(err)
|
|
|
|
})
|
|
|
|
},
|
|
|
|
// 跳转详情
|
|
|
|
navigateToIssueDetail (e) {
|
|
|
|
this.data.selectedIssueId = e.detail.issueId
|
|
|
|
wx.navigateTo({
|
|
|
|
url: `/subpages/discussion/pages/discussionDetail/discussionDetail?type=issue&detailId=${e.detail.issueId}&showClassify=show`
|
|
|
|
})
|
|
|
|
},
|
|
|
|
// 跳转搜索页面
|
|
|
|
navigateToSearchDiscussion () {
|
|
|
|
wx.navigateTo({
|
|
|
|
url: "/subpages/discussion/pages/searchDiscussion/searchDiscussion?type=issue"
|
|
|
|
})
|
|
|
|
},
|
|
|
|
// 详情回列表,更新状态
|
|
|
|
backAndRefreshIssueList () {
|
|
|
|
if (this.data.selectedIssueId) {
|
|
|
|
const para = {
|
|
|
|
pageIndex: 1,
|
|
|
|
pageSize: 10,
|
|
|
|
timestamp: this.data.timestamp,
|
|
|
|
searchContent: "",
|
|
|
|
orderType: this.data.issueType === "new" ? "0" : "1",
|
|
|
|
firstCategoryCode: "",
|
|
|
|
issueId: this.data.selectedIssueId
|
|
|
|
}
|
|
|
|
api.getIssueList(para).then(res => {
|
|
|
|
console.log("详情回列表,筛选刷新", res)
|
|
|
|
if (res.data.length === 1) {
|
|
|
|
this.data.issueList.forEach((item,index) => {
|
|
|
|
if (item.id === this.data.selectedIssueId) {
|
|
|
|
this.data.issueList.splice(index, 1, res.data[0])
|
|
|
|
}
|
|
|
|
})
|
|
|
|
} else {
|
|
|
|
const index = this.data.issueList.findIndex(item => item.id === this.data.selectedIssueId)
|
|
|
|
this.data.issueList.splice(index, 1)
|
|
|
|
}
|
|
|
|
this.setData({
|
|
|
|
issueList: this.data.issueList
|
|
|
|
})
|
|
|
|
}).finally(() => {
|
|
|
|
this.data.selectedIssueId = ""
|
|
|
|
})
|
|
|
|
}
|
|
|
|
},
|
|
|
|
|
|
|
|
//跳转项目列表
|
|
|
|
goProjectComponent () {
|
|
|
|
this.triggerEvent('goProjectComponent')
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|