You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
471 lines
12 KiB
471 lines
12 KiB
const api = require("../../utils/api")
|
|
import { $wuxActionSheet } from "../../dist/index"
|
|
const config = require("../../utils/config")
|
|
|
|
import {
|
|
getTimestamp
|
|
} from "../../utils/common"
|
|
const app = getApp()
|
|
|
|
Page({
|
|
data: {
|
|
selectedTabBar: "issue",
|
|
pageNo: 1,
|
|
pageSize: 10,
|
|
timestamp: "",
|
|
issueList: [],
|
|
projectList: [],
|
|
topicList: [],
|
|
nomoreVisible: false,
|
|
nomoreStatus: "loading",
|
|
preloadVisible: true,
|
|
userInfo: {
|
|
faceImg: "",
|
|
nickname: "",
|
|
partyFlag: "",
|
|
isSignUp: 0,
|
|
points: 0,
|
|
grade: 0
|
|
},
|
|
completeInfoDialogVisible: false,
|
|
infoCompleted: 0,
|
|
changeName:false,
|
|
visible: false,
|
|
signMsg: '',
|
|
signCode: 0,
|
|
uploadImageList:[]
|
|
},
|
|
onLoad () {
|
|
if(app.globalData.infoCompleted == 0 || app.globalData.infoCompleted == 4){//当状态为0 或者 4 的时候 显示完善个人信息其余状态为更改个人信息
|
|
this.setData({
|
|
changeName: true
|
|
})
|
|
}
|
|
this.getUserInfo()
|
|
this.setData({
|
|
infoCompleted: app.globalData.infoCompleted
|
|
})
|
|
},
|
|
onShow () {
|
|
if (!app.globalData.previewImage) {
|
|
this.data.pageNo = 1
|
|
this.data.pageSize = 10
|
|
this.setData({
|
|
nomoreVisible: false,
|
|
nomoreStatus: "loading",
|
|
preloadVisible: true
|
|
})
|
|
if (this.data.selectedTabBar === "issue") {
|
|
this.getIssueList()
|
|
} else if (this.data.selectedTabBar === "project") {
|
|
this.getProjectList()
|
|
} else if (this.data.selectedTabBar === "topic") {
|
|
this.getTopicList()
|
|
}
|
|
}
|
|
app.globalData.previewImage = false
|
|
},
|
|
|
|
// 触底 上拉加载
|
|
onReachBottom () {
|
|
this.setData({
|
|
nomoreVisible: true
|
|
})
|
|
if (this.data.selectedTabBar === "topic") {
|
|
if (this.data.nomoreStatus === "loading") {
|
|
this.data.pageNo = this.data.pageNo + 1
|
|
this.loadMoreTopicList()
|
|
} else {
|
|
this.setData({
|
|
nomoreVisible: true
|
|
})
|
|
}
|
|
} else if (this.data.selectedTabBar === "project") {
|
|
if (this.data.nomoreStatus === "loading") {
|
|
this.data.pageNo = this.data.pageNo + 1
|
|
this.loadMoreProjectList()
|
|
} else {
|
|
this.setData({
|
|
nomoreVisible: true
|
|
})
|
|
}
|
|
}
|
|
},
|
|
// tab 切换
|
|
chooseTabBar (e) {
|
|
this.setData({
|
|
nomoreVisible: false,
|
|
nomoreStatus: "loading",
|
|
preloadVisible: true
|
|
})
|
|
this.data.pageNo = 1
|
|
this.data.pageSize = 10
|
|
if (e.currentTarget.dataset.type === "issue") {
|
|
this.getIssueList()
|
|
} else if (e.currentTarget.dataset.type === "project") {
|
|
this.data.pageNo = 1
|
|
this.data.pageSize = 10
|
|
this.getProjectList()
|
|
} else if (e.currentTarget.dataset.type === "topic") {
|
|
this.getTopicList()
|
|
}
|
|
this.setData({
|
|
selectedTabBar: e.currentTarget.dataset.type
|
|
})
|
|
},
|
|
// 获取 我的话题列表
|
|
getTopicList () {
|
|
this.setData({
|
|
topicList: []
|
|
})
|
|
const para = {
|
|
pageIndex: this.data.pageNo,
|
|
pageSize: this.data.pageSize,
|
|
timestamp: getTimestamp()
|
|
}
|
|
api.getMyTopicListV2(para).then(res => {
|
|
console.log("我的话题列表", res)
|
|
this.setData({
|
|
topicList: [...res.data.topicList],
|
|
nomoreStatus: res.data.topicList.length === 10 ? "loading" : "none",
|
|
preloadVisible: false
|
|
})
|
|
}).catch(err => {
|
|
this.setData({
|
|
topicList: [],
|
|
nomoreStatus: "none",
|
|
preloadVisible: false
|
|
})
|
|
console.log(err)
|
|
})
|
|
},
|
|
// 获取 我的话题列表 上拉加载
|
|
loadMoreTopicList () {
|
|
const para = {
|
|
pageIndex: this.data.pageNo,
|
|
pageSize: this.data.pageSize,
|
|
timestamp: getTimestamp()
|
|
}
|
|
api.getMyTopicListV2(para).then(res => {
|
|
console.log("我的话题列表", res)
|
|
const topicList = [...this.data.topicList, ...res.data.topicList]
|
|
this.setData({
|
|
nomoreStatus: res.data.topicList.length === 10 ? "loading" : "none",
|
|
preloadVisible: false,
|
|
topicList,
|
|
})
|
|
}).catch(err => {
|
|
this.setData({
|
|
topicList: [],
|
|
nomoreStatus: "none",
|
|
preloadVisible: false
|
|
})
|
|
console.log(err)
|
|
})
|
|
},
|
|
// 获取 我的议题列表
|
|
getIssueList () {
|
|
this.setData({
|
|
issueList: []
|
|
})
|
|
api.getMyIssueList().then(res => {
|
|
console.log("我的议题列表", res)
|
|
this.setData({
|
|
issueList: [...res.data],
|
|
nomoreStatus: "none",
|
|
preloadVisible: false
|
|
})
|
|
}).catch(err => {
|
|
this.setData({
|
|
issueList: [],
|
|
nomoreStatus: "none",
|
|
preloadVisible: false
|
|
})
|
|
console.log(err)
|
|
})
|
|
},
|
|
// 获取 我的项目列表
|
|
getProjectList () {
|
|
this.setData({
|
|
projectList: []
|
|
})
|
|
this.data.timestamp = getTimestamp()
|
|
const para = {
|
|
pageIndex: this.data.pageNo,
|
|
pageSize: this.data.pageSize,
|
|
timestamp: this.data.timestamp
|
|
}
|
|
api.getMyProjectList(para).then(res => {
|
|
console.log("我的项目列表", res)
|
|
this.setData({
|
|
projectList: [...res.data],
|
|
nomoreStatus: res.data.length === 10 ? "loading" : "none",
|
|
preloadVisible: false
|
|
})
|
|
}).catch(err => {
|
|
this.setData({
|
|
projectList: [],
|
|
nomoreStatus: "none",
|
|
preloadVisible: false
|
|
})
|
|
console.log(err)
|
|
})
|
|
},
|
|
// 获取 我的项目列表 上拉加载
|
|
loadMoreProjectList () {
|
|
const para = {
|
|
pageIndex: this.data.pageNo,
|
|
pageSize: this.data.pageSize,
|
|
timestamp: this.data.timestamp
|
|
}
|
|
api.getMyProjectList(para).then(res => {
|
|
console.log("我的项目列表", res)
|
|
const projectList = [...this.data.projectList, ...res.data]
|
|
this.setData({
|
|
nomoreStatus: res.data.length === 10 ? "loading" : "none",
|
|
preloadVisible: false,
|
|
projectList,
|
|
})
|
|
}).catch(err => {
|
|
this.setData({
|
|
projectList: [],
|
|
nomoreStatus: "none",
|
|
preloadVisible: false
|
|
})
|
|
console.log(err)
|
|
})
|
|
},
|
|
// 获取用户信息
|
|
getUserInfo () {
|
|
api.getUserInfo().then(res => {
|
|
console.log("用户信息", res)
|
|
const userInfo = {}
|
|
for (const key in this.data.userInfo) {
|
|
userInfo[key] = res.data[key]
|
|
}
|
|
this.setData({
|
|
userInfo
|
|
})
|
|
}).catch(err => {
|
|
this.setData({
|
|
userInfo: {
|
|
faceImg: "",
|
|
nickname: "",
|
|
partyFlag: "0",
|
|
isSignUp: 0,
|
|
points: 0,
|
|
grade: 0
|
|
}
|
|
})
|
|
console.log(err)
|
|
})
|
|
},
|
|
// 完善信息
|
|
navigateToComplete () {
|
|
wx.navigateTo({
|
|
url: "/pages/complete/complete"
|
|
})
|
|
},
|
|
// 议题列表 跳转详情
|
|
toIssueDetail (e) {
|
|
const {
|
|
issueId,
|
|
state
|
|
} = e.detail
|
|
if (state !== "待审核" && state !== "未通过") {
|
|
wx.navigateTo({
|
|
url: `/subpages/discussion/pages/discussionDetail/discussionDetail?type=issue&detailId=${issueId}`
|
|
})
|
|
} else if (state === "待审核" || state === "未通过") {
|
|
wx.navigateTo({
|
|
url: `/subpages/mine/pages/eventDetail/eventDetail?eventId=${issueId}&eventType=${state}`
|
|
})
|
|
}
|
|
},
|
|
// 项目列表 跳转详情
|
|
toProjectDetail (e) {
|
|
const {
|
|
itemId
|
|
} = e.detail
|
|
wx.navigateTo({
|
|
url: `/subpages/discussion/pages/discussionDetail/discussionDetail?type=project&detailId=${itemId}`
|
|
})
|
|
},
|
|
// 话题列表 跳转详情
|
|
toTopicDetail(e) {
|
|
console.log(e.detail)
|
|
const {
|
|
topicId
|
|
} = e.detail
|
|
wx.navigateTo({
|
|
url: `/subpages/association/pages/topicDetail/topicDetail?detailId=${topicId}`
|
|
})
|
|
},
|
|
// 我有事说
|
|
addIssue () {
|
|
if (this.data.infoCompleted == 0) {
|
|
this.setData({
|
|
completeInfoDialogVisible: !this.data.completeInfoDialogVisible
|
|
})
|
|
return false
|
|
}
|
|
wx.navigateTo({
|
|
url: "/subpages/discussion/pages/addIssue/addIssue"
|
|
})
|
|
},
|
|
// 跳转到 邀请记录
|
|
navigateToInviteRecord () {
|
|
wx.navigateTo({
|
|
url: "/subpages/mine/pages/inviteRecord/inviteRecord"
|
|
})
|
|
},
|
|
// 跳转到 网格管理
|
|
navigateToGridManage () {
|
|
wx.navigateTo({
|
|
url: "/subpages/mine/pages/gridManage/gridManage"
|
|
})
|
|
},
|
|
//跳转到积分中心
|
|
navigateToIntegralCentre () {
|
|
this.getUserInfo();//防止积分变化
|
|
wx.navigateTo({
|
|
url: "/subpages/integralCentre/pages/index/index?points=" + this.data.userInfo.points
|
|
})
|
|
},
|
|
jqqd () {
|
|
wx.showToast({
|
|
title: "敬请期待~",
|
|
icon: "none",
|
|
duration: 1000
|
|
})
|
|
},
|
|
chooseImage () {
|
|
const _this = this
|
|
$wuxActionSheet().showSheet({
|
|
buttons: [
|
|
{ text: "拍照" },
|
|
{ text: "从相册中获取" },
|
|
],
|
|
className: "dialog-class",
|
|
buttonClicked (index) {
|
|
if (index === 0) {
|
|
wx.chooseImage({
|
|
count: 1,
|
|
sizeType: [ "compressed"],
|
|
sourceType: ["camera"],
|
|
success (res) {
|
|
const uploadImageList = [..._this.data.uploadImageList]
|
|
uploadImageList.push({
|
|
uploaded: false,
|
|
ossUrl: "",
|
|
imgUrl: res.tempFilePaths[0],
|
|
imageId: ++_this.data.imageId
|
|
})
|
|
_this.setData({
|
|
uploadImageList
|
|
})
|
|
wx.uploadFile({
|
|
url: `${config.BASEURL()}group/topic/upload`,
|
|
filePath: res.tempFilePaths[0],
|
|
name: "file",
|
|
header: {
|
|
"Content-type": "multipart/form-data"
|
|
},
|
|
success (fileRes){
|
|
console.log(fileRes);
|
|
uploadImageList[index].uploaded = true
|
|
// uploadImageList[index].ossUrl = JSON.parse(fileRes.data).data
|
|
_this.imageSave(JSON.parse(fileRes.data).data)
|
|
}
|
|
})
|
|
|
|
}
|
|
})
|
|
} else if (index === 1) {
|
|
wx.chooseImage({
|
|
count: 1,
|
|
sizeType: ["compressed"],
|
|
sourceType: ["album"],
|
|
success (res) {
|
|
console.log(res);
|
|
const uploadImageList = []
|
|
const endIndex = _this.data.uploadImageList.length
|
|
res.tempFilePaths.forEach(item => {
|
|
uploadImageList.push({
|
|
uploaded: false,
|
|
ossUrl: "",
|
|
imgUrl: item,
|
|
imageId: ++_this.data.imageId
|
|
})
|
|
})
|
|
_this.setData({
|
|
uploadImageList: [...uploadImageList]
|
|
})
|
|
uploadImageList.forEach((item, index) => {
|
|
return (function (index) {
|
|
wx.uploadFile({
|
|
url: `${config.BASEURL()}group/topic/upload`,
|
|
filePath: res.tempFilePaths[index],
|
|
name: "file",
|
|
header: {
|
|
"Content-type": "multipart/form-data"
|
|
},
|
|
success (fileRes){
|
|
uploadImageList[index].uploaded = true
|
|
uploadImageList[index].ossUrl = JSON.parse(fileRes.data).data
|
|
_this.imageSave(JSON.parse(fileRes.data).data)
|
|
}
|
|
})
|
|
})(index)
|
|
})
|
|
}
|
|
})
|
|
}
|
|
return true
|
|
},
|
|
cancelText: "取消",
|
|
cancel () {},
|
|
|
|
// destructiveButtonClicked () {},
|
|
})
|
|
},
|
|
imageSave(url){
|
|
api.updateAvata(url).then(res=>{
|
|
console.log(res);
|
|
this.getUserInfo()
|
|
}).catch(err=>{
|
|
console.log(err);
|
|
})
|
|
|
|
}
|
|
// 签到 2020.07.24
|
|
// toSignUp () {
|
|
// if (this.data.userInfo.isSignUp == 1) {
|
|
// return
|
|
// }
|
|
// api.userInfoSignUp().then(res => {
|
|
// console.log(res.data)
|
|
// if (res.code === 0) {
|
|
// // 显示提醒
|
|
// this.setData({
|
|
// signCode: res.code,
|
|
// signMsg: res.data,
|
|
// visible: true
|
|
// });
|
|
// } else {
|
|
// this.setData({
|
|
// signCode: res.code,
|
|
// signMsg: res.msg,
|
|
// visible: true
|
|
// });
|
|
// }
|
|
// })
|
|
// },
|
|
// // 关闭签到提醒
|
|
// onClose() {
|
|
// this.getUserInfo()
|
|
// this.setData({
|
|
// visible: false
|
|
// });
|
|
// }
|
|
})
|