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.
485 lines
13 KiB
485 lines
13 KiB
const app = getApp()
|
|
var api = require("../../utils/api.js")
|
|
import {
|
|
getTimestamp
|
|
} from "../../utils/common"
|
|
import checkoutVersion from "../../utils/checkVersion"
|
|
|
|
Page({
|
|
data: {
|
|
first: true,
|
|
nomorenews: true,
|
|
departmentName: "",
|
|
departmentId: "",
|
|
options: {
|
|
autoplay: false,
|
|
circular: true,
|
|
interval: 3000,
|
|
duration: 100,
|
|
previousMargin: 50,
|
|
nextMargin: 0,
|
|
displayMultipleItems: 3,
|
|
currentSwiper: "",
|
|
},
|
|
options2: {
|
|
autoplay: false,
|
|
circular: true,
|
|
interval: 3000,
|
|
duration: 100,
|
|
previousMargin: 50,
|
|
nextMargin: 0,
|
|
displayMultipleItems: 3,
|
|
currentSwiper: "",
|
|
},
|
|
swiperBannerList: [],
|
|
swiperData: [{
|
|
headUrl: "",
|
|
linkType: 2,
|
|
name: "222"
|
|
},
|
|
{
|
|
headUrl: "",
|
|
linkType: 2,
|
|
name: "222"
|
|
}
|
|
],
|
|
fromScan: false,
|
|
gid: "",
|
|
nvabarData: {
|
|
showCapsule: 1, //是否显示左上角图标 1表示显示 0表示不显示
|
|
title: "e锦水", //导航栏 中间的标题
|
|
},
|
|
height: app.globalData.height * 2 + 20,
|
|
infoObj: {
|
|
time: "",
|
|
title: "",
|
|
amount: ""
|
|
},
|
|
noticeList: [],
|
|
innerHtmlStatus: true,
|
|
visibilityStatus: true,
|
|
pageNo: 1,
|
|
pageSize: 10,
|
|
timestamp: getTimestamp(),
|
|
newsList: [],
|
|
issueList: [],
|
|
projectList: [],
|
|
colorList: ["#fdf6e3", "#e9ecf5", "#f7eedf", "#efd9cc", "#e1efff"],
|
|
statusHeight: 0, // 自定义头部状态栏高度
|
|
navigationHeight: 0, // 自定义头部导航栏高度
|
|
currentIndex: 0,
|
|
loadMoreType: "none",
|
|
loadMoreVisible: false,
|
|
defaultGridId:"",//默认网格
|
|
},
|
|
onShow: function () {
|
|
if (wx.getStorageSync("token") != "" && wx.getStorageSync("token") != undefined && wx.getStorageSync("token") != null) {
|
|
if (!this.data.first) {
|
|
this.getBannerList()
|
|
this.getFirstInfo()
|
|
this.getNoticeList()
|
|
this.getIssueList()
|
|
this.getProjectList()
|
|
this.loadGridList()
|
|
this.setData({
|
|
pageNo: 1,
|
|
newsList: []
|
|
})
|
|
this.getNewsList()
|
|
}
|
|
}
|
|
},
|
|
onLoad: function (options) {
|
|
if (options.shareType) {
|
|
const para = {
|
|
shareType: options.shareType,
|
|
id: options.id,
|
|
type: options.type ? options.type : "",
|
|
defaultGridId: options.defaultGridId ? options.defaultGridId : "",
|
|
}
|
|
wx.setStorageSync("shareObj", JSON.stringify(para))
|
|
}
|
|
if (options.scene) {
|
|
this.setData({
|
|
statusHeight: app.globalData.deviceInfo.statusHeight,
|
|
navigationHeight: app.globalData.deviceInfo.navigationHeight,
|
|
gridId: options.scene
|
|
})
|
|
} else {
|
|
this.setData({
|
|
statusHeight: app.globalData.deviceInfo.statusHeight,
|
|
navigationHeight: app.globalData.deviceInfo.navigationHeight,
|
|
})
|
|
}
|
|
// console.log('options:', options)
|
|
if (options.scene) {
|
|
this.setData({
|
|
gid: decodeURIComponent(options.scene)
|
|
})
|
|
}
|
|
let that = this
|
|
setTimeout(function () {
|
|
that.getUserState()
|
|
}, 700)
|
|
// 检查版本更新
|
|
checkoutVersion()
|
|
|
|
// 获取默认网格
|
|
this.getResidentConfig()
|
|
},
|
|
// 获取默认网格
|
|
getResidentConfig (){
|
|
let that = this
|
|
api.getResidentConfig().then(res => {
|
|
if (res.code === 0 && res.msg === "success") {
|
|
res.data.forEach(item => {
|
|
if (item.residentType === "default_grid" && item.residentCode === "default_grid") {
|
|
that.setData({
|
|
defaultGridId:item.residentValue
|
|
})
|
|
}
|
|
})
|
|
}
|
|
}).catch(err => {
|
|
console.log(err)
|
|
})
|
|
},
|
|
//获取当前网格的id
|
|
loadGridList () {
|
|
let that = this
|
|
api.getGridList().then(res => {
|
|
if (res.code === 0 && res.msg === "success") {
|
|
if (res.data.length > 0) {
|
|
that.setData({
|
|
departmentId: res.data[0].gridId
|
|
})
|
|
}
|
|
}
|
|
}).catch(err => {
|
|
console.log(err)
|
|
})
|
|
},
|
|
getBannerList: function () {
|
|
let that = this
|
|
api.bannerList("0").then(function (res) {
|
|
// console.log('res==', res.data)
|
|
that.setData({
|
|
swiperBannerList: res.data
|
|
})
|
|
})
|
|
},
|
|
getProjectList () {
|
|
let that = this
|
|
let para = {
|
|
pageIndex: 1,
|
|
pageSize: 10,
|
|
searchContent: "",
|
|
timestamp: getTimestamp(),
|
|
categoryId: ""
|
|
}
|
|
api.getProjectList(para).then(function (res) {
|
|
that.setData({
|
|
projectList: res.data
|
|
})
|
|
// console.log('newsList', that.data.newsList)
|
|
})
|
|
},
|
|
getIssueList () {
|
|
let that = this
|
|
let para = {
|
|
pageIndex: 1,
|
|
pageSize: 10,
|
|
searchContent: "",
|
|
orderType: "1",
|
|
timestamp: getTimestamp(),
|
|
categoryId: ""
|
|
}
|
|
api.getIssueList(para).then(function (res) {
|
|
that.setData({
|
|
issueList: res.data
|
|
})
|
|
// console.log('newsList', that.data.newsList)
|
|
})
|
|
},
|
|
getNewsList: function () {
|
|
let that = this
|
|
let para = {
|
|
pageIndex: 1, //this.data.pageNo,
|
|
pageSize: 5, //this.data.pageSize,
|
|
timestamp: getTimestamp()
|
|
}
|
|
api.newsList(para).then(function (res) {
|
|
that.setData({
|
|
first: false,
|
|
newsList: that.data.newsList.concat(res.data),
|
|
loadMoreType: res.data.length === that.data.pageSize ? "loading" : "none",
|
|
})
|
|
}).catch(() => {
|
|
that.setData({
|
|
loadMoreType: "none",
|
|
newsList: []
|
|
})
|
|
})
|
|
},
|
|
onReachBottom () {
|
|
this.setData({
|
|
loadMoreVisible: true
|
|
})
|
|
if (this.data.loadMoreType === "loading") {
|
|
console.log("加载翻页")
|
|
this.setData({
|
|
pageNo: this.data.pageNo + 1,
|
|
pageSize: this.data.pageSize,
|
|
pageIndex: getTimestamp()
|
|
})
|
|
this.getNewsList()
|
|
}
|
|
},
|
|
toDetail (e) {
|
|
wx.navigateTo({
|
|
url: "/subpages/home/pages/newsDetail/newsDetail?id=" + e.currentTarget.dataset.id
|
|
})
|
|
},
|
|
getFirstInfo: function () {
|
|
let that = this
|
|
api.getFirstInfo().then(function (res) {
|
|
// console.log('infoObj', res.data)
|
|
if (res.data !== null) {
|
|
that.setData({
|
|
infoObj: res.data
|
|
})
|
|
}
|
|
|
|
// console.log('zheli', that.data.infoObj)
|
|
})
|
|
},
|
|
getNoticeList: function () {
|
|
let para = {
|
|
pageIndex: 1,
|
|
pageSize: 10,
|
|
timestamp: getTimestamp()
|
|
}
|
|
let that = this
|
|
api.noticelist(para).then(function (res) {
|
|
// console.log('infoObj', res.data)
|
|
if (res.data !== null) {
|
|
that.setData({
|
|
noticeList: res.data
|
|
})
|
|
}
|
|
|
|
// console.log('zheli', that.data.infoObj)
|
|
})
|
|
},
|
|
// 根据微信code查询用户当前状态
|
|
getUserState: function () {
|
|
let that = this
|
|
wx.login({
|
|
success (res) {
|
|
if (res.code) {
|
|
let code = res.code
|
|
api.getToken(code).then(function (res) {
|
|
let state = res.data.userState
|
|
// console.log(state)
|
|
// console.log('date', Date.parse(new Date()))
|
|
app.globalData.infoCompleted = state
|
|
wx.removeStorageSync("topGridName")
|
|
wx.setStorageSync("topGridName", res.data.grid)
|
|
wx.removeStorageSync("token")
|
|
wx.setStorageSync("token", res.data.token)
|
|
that.setData({
|
|
departmentName: res.data.grid
|
|
})
|
|
|
|
// 优化注册流程
|
|
if (that.data.gid) {
|
|
if (that.data.gid == "gridLeader") {
|
|
wx.redirectTo({
|
|
url: "/pages/gridLeaderRegister/gridLeaderRegister"
|
|
})
|
|
} else {
|
|
wx.redirectTo({
|
|
url: "/pages/formid/formid?gid=" + that.data.gid
|
|
})
|
|
}
|
|
} else {
|
|
if (state == "4") {
|
|
if (wx.getStorageSync("shareObj")) {
|
|
const para = JSON.parse(wx.getStorageSync("shareObj"))
|
|
wx.redirectTo({
|
|
url: "/pages/formid/formid?gid=" + para.defaultGridId
|
|
})
|
|
} else if (app.globalData.tempGridId == "") {
|
|
wx.redirectTo({
|
|
url: "/pages/toRegister/toRegister"
|
|
})
|
|
} else {
|
|
wx.redirectTo({
|
|
url: "/pages/formid/formid?gid=" + that.data.gid
|
|
})
|
|
}
|
|
} else {
|
|
if (wx.getStorageSync("shareObj")) {
|
|
const para = JSON.parse(wx.getStorageSync("shareObj"))
|
|
if (para.shareType === "heartDetail") {
|
|
wx.navigateTo({
|
|
url: `/subpages/heart/pages/heartDetail/heartDetail?id=${para.id}`
|
|
})
|
|
}
|
|
wx.removeStorageSync("shareObj")
|
|
}
|
|
that.getBannerList()
|
|
that.getFirstInfo()
|
|
that.getNoticeList()
|
|
that.getNewsList()
|
|
that.getIssueList()
|
|
that.getProjectList()
|
|
that.loadGridList()
|
|
}
|
|
}
|
|
})
|
|
} else {
|
|
console.log("登录失败" + res.errMsg)
|
|
}
|
|
}
|
|
})
|
|
},
|
|
changeGrid () {
|
|
wx.navigateTo({
|
|
url: "/subpages/changegrid/pages/changeGrid/changeGrid"
|
|
})
|
|
},
|
|
swiperChange: function (e) {
|
|
if (e.detail.source === "touch") {
|
|
this.setData({
|
|
currentIndex: e.detail.current
|
|
})
|
|
}
|
|
},
|
|
swiperChange2: function (e) {
|
|
this.setData({
|
|
"options2.currentSwiper": e.detail.current,
|
|
currentIndex: e.detail.current
|
|
})
|
|
},
|
|
// 点击-更多,跳转通知列表
|
|
moreNotice () {
|
|
wx.navigateTo({
|
|
url: "/subpages/home/pages/noticeNew/noticeNew"
|
|
})
|
|
// wx.miniProgram.navigateTo({ url: '/pages/detail/detail?weburl=' + encodeURIComponent(global.baseURL + 'notice?departmentName=' + sessionStorage.getItem('departmentName')) })
|
|
},
|
|
// 跳转我的消息
|
|
toInfoList () {
|
|
wx.navigateTo({
|
|
url: "/subpages/home/pages/info/info"
|
|
})
|
|
// wx.miniProgram.navigateTo({ url: '/pages/detail/detail?weburl=' + encodeURIComponent(global.baseURL + 'info') })
|
|
},
|
|
//了解锦水
|
|
toUnderstandJs (){
|
|
wx.navigateTo({
|
|
url: "/subpages/understandJs/pages/index/index"
|
|
})
|
|
},
|
|
|
|
// 跳转到banner详情
|
|
navigatetoBannerDetail (e) {
|
|
const {
|
|
id,
|
|
url,
|
|
newsflag
|
|
} = e.currentTarget.dataset
|
|
console.log(id, url, newsflag)
|
|
if (newsflag == "0") {
|
|
wx.navigateTo({
|
|
url: `/subpages/home/pages/webview/webview?url=${url}`
|
|
})
|
|
} else if (newsflag == "1") {
|
|
wx.navigateTo({
|
|
url: `/subpages/home/pages/newsDetail/newsDetail?id=${id}`
|
|
})
|
|
}
|
|
},
|
|
// 我有事说
|
|
wyss () {
|
|
if(this.data.departmentId == this.data.defaultGridId){//特殊网格处理
|
|
wx.showToast({
|
|
title: "该板块只针对辖区内居民使用,请联系您所属网格的负责人索取二维码扫码进入",
|
|
icon: "none",
|
|
duration: 3000
|
|
})
|
|
}else{
|
|
wx.navigateTo({
|
|
url: "../discussion/discussion"
|
|
})
|
|
}
|
|
},
|
|
dqhd () {
|
|
wx.navigateTo({
|
|
url: "../../subpages/associationNew/pages/associationlist/associationlist"
|
|
})
|
|
},
|
|
// 积分排名
|
|
gointegralCentre () {
|
|
api.getUserInfo().then(res => {
|
|
// console.log('用户信息', res)
|
|
wx.navigateTo({
|
|
url: "../../subpages/integralCentre/pages/index/index?points=" + res.data.points
|
|
})
|
|
}).catch(err => {
|
|
console.log(err)
|
|
})
|
|
|
|
},
|
|
|
|
// 志愿者去哪
|
|
goheart () {
|
|
wx.navigateTo({
|
|
url: "../heartNew/heartNew"
|
|
})
|
|
},
|
|
// 跳转我的
|
|
toMine () {
|
|
wx.navigateTo({
|
|
url: "../mine/mine"
|
|
})
|
|
},
|
|
// 暂未开通模块显示敬请期待
|
|
noMore () {
|
|
wx.showToast({
|
|
title: "暂无更多消息~",
|
|
icon: "none",
|
|
duration: 1000
|
|
})
|
|
},
|
|
|
|
//功能暂未开放
|
|
nofunction () {
|
|
wx.showToast({
|
|
title: "敬请期待",
|
|
icon: "none",
|
|
duration: 1000
|
|
})
|
|
},
|
|
//拨打电话
|
|
getPhone (e) {
|
|
// return false
|
|
wx.showModal({
|
|
title: "拨打电话",
|
|
content: `您确定拨打${e.currentTarget.dataset.number}`,
|
|
cancelColor: "#29B9A5",
|
|
confirmColor: "#29B9A5",
|
|
success: (res) => {
|
|
if (res.confirm) {
|
|
console.log("用户点击确定")
|
|
wx.makePhoneCall({
|
|
phoneNumber: e.currentTarget.dataset.number
|
|
})
|
|
} else if (res.cancel) {
|
|
console.log("用户点击取消")
|
|
}
|
|
}
|
|
})
|
|
}
|
|
})
|