锦水居民端小程序
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.

426 lines
11 KiB

const app = getApp()
var api = require('../../utils/api.js')
var global = require('../../utils/config.js')
import {
getTimestamp
} from '../../utils/common'
Page({
data: {
first: true,
nomorenews: true,
departmentName: '',
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表示不显示
5 years ago
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,
5 years ago
loadMoreType: 'none',
loadMoreVisible: false,
},
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.setData({
pageNo: 1,
newsList: []
})
this.getNewsList()
}
}
},
onLoad: function(options) {
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)
},
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 = {
5 years ago
pageIndex: 1, //this.data.pageNo,
pageSize: 5, //this.data.pageSize,
timestamp: getTimestamp()
}
api.newsList(para).then(function(res) {
that.setData({
first: false,
5 years ago
newsList: that.data.newsList.concat(res.data),
loadMoreType: res.data.length === that.data.pageSize ? 'loading' : 'none',
})
}).catch(() => {
that.setData({
loadMoreType: 'none',
newsList: []
})
})
},
onReachBottom() {
5 years ago
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()))
let 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 (state == '0') {
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 { // 直接进首页
that.getBannerList()
that.getFirstInfo()
that.getNoticeList()
that.getNewsList()
that.getIssueList()
that.getProjectList()
}
} else if (state == '4') { //未注册,跳到我要注册页面
if (that.data.gid !== '') { //扫码进来的
// 扫码进来未注册的情况,先进到前置页面获取formid
// 是否是网格长的情况
if (that.data.gid == 'gridLeader') { // 是网格长
wx.redirectTo({
url: '/pages/gridLeaderRegister/gridLeaderRegister'
})
} else {
wx.redirectTo({
url: '/pages/formid/formid?gid=' + that.data.gid
})
}
} else {
// 非扫码进入,通过搜索小程序直接进入的情况
wx.redirectTo({
url: '/pages/toRegister/toRegister'
})
// if (app.globalData.tempGridId == '') {
// wx.redirectTo({ // todo:
// url: '/pages/toRegister/toRegister?code=' + code + '&t=' + date
// })
// } else {
// wx.redirectTo({
// url: '/pages/formid/formid?gid=' + app.globalData.tempGridId
// })
// }
}
} else {
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 { // 直接进首页
that.getBannerList()
that.getFirstInfo()
that.getNoticeList()
that.getNewsList()
that.getIssueList()
that.getProjectList()
}
}
})
} else {
console.log('登录失败' + res.errMsg)
}
}
})
},
changeGrid() {
wx.navigateTo({
url: '/subpages/changegrid/pages/changeGrid/changeGrid'
})
},
swiperChange: function(e) {
5 years ago
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/notice/notice'
})
// 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') })
},
// 跳转到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}`
})
}
},
// 我有事说
5 years ago
wyss() {
wx.navigateTo({
url: `../discussion/discussion`
})
},
5 years ago
dqhd() {
wx.navigateTo({
url: `../association/association`
})
5 years ago
},
// 跳转我的
toMine() {
wx.navigateTo({
url: '../mine/mine'
})
},
// 暂未开通模块显示敬请期待
noMore() {
wx.showToast({
title: '暂无更多消息~',
icon: 'none',
duration: 1000
})
},
5 years ago
//功能暂未开放
nofunction() {
wx.showToast({
title: '功能暂未开放~',
icon: 'none',
duration: 1000
})
},
//拨打电话
getPhone(e) {
return false
5 years ago
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('用户点击取消')
}
}
})
}
})