| | |
| | | // pages/notice/notice.js |
| | | const notificationservice = require("../../../service/notificationservice") |
| | | const moment = require('../../../utils/moment.min') |
| | | const util = require("../../../utils/util.js") |
| | | const app = getApp() |
| | | const notificationservice = require('../../../service/notificationservice'); |
| | | const moment = require('../../../utils/moment.min'); |
| | | const util = require('../../../utils/util.js'); |
| | | const app = getApp(); |
| | | |
| | | Page({ |
| | | |
| | | /** |
| | | * 页面的初始数据 |
| | | */ |
| | | data: { |
| | | currentTab: 0, |
| | | tabList: [{ |
| | | "name": "工作通知" |
| | | tabList: [ |
| | | { |
| | | name: '工作通知', |
| | | }, |
| | | { |
| | | "name": "预警警示" |
| | | name: '风险预警', |
| | | }, |
| | | { |
| | | "name": "系统通知" |
| | | } |
| | | name: '系统通知', |
| | | }, |
| | | ], |
| | | pageList: [ |
| | | [], |
| | | [], |
| | | [] |
| | | ] |
| | | unReadList: [0, 0, 0], |
| | | pageList: [[], [], []], |
| | | |
| | | showNoticeDetail: false, |
| | | showTitle: '', |
| | | showContent: '', |
| | | confirmBtn: { content: '知道了', variant: 'base' }, |
| | | }, |
| | | |
| | | //计算swiper高度方法(在切换的时候调用) |
| | | tabsHeight(element) { |
| | | let that = this; |
| | | let query = wx.createSelectorQuery(); //必须要先创建一个查询 |
| | | query.select(element).boundingClientRect(function (rect) { |
| | | that.setData({ |
| | | pageheight: rect.height + 'px' |
| | | }); |
| | | }).exec(); |
| | | query |
| | | .select(element) |
| | | .boundingClientRect(function (rect) { |
| | | that.setData({ |
| | | pageheight: rect.height + 'px', |
| | | }); |
| | | }) |
| | | .exec(); |
| | | }, |
| | | swichNav: function (e) { |
| | | var that = this; |
| | |
| | | } else { |
| | | that.setData({ |
| | | currentTab: e.target.dataset.current, |
| | | navScrollLeft: e.target.dataset.current >= 4 ? ((e.target.dataset.current) * 60) : 0 //判断当前选中的个数是否是第5个 |
| | | }) |
| | | that.tabsHeight('.page'+e.target.dataset.current); //查询哪一个元素 |
| | | navScrollLeft: |
| | | e.target.dataset.current >= 4 ? e.target.dataset.current * 60 : 0, //判断当前选中的个数是否是第5个 |
| | | }); |
| | | that.tabsHeight('.page' + e.target.dataset.current); //查询哪一个元素 |
| | | } |
| | | }, |
| | | bindChange: function (e) { |
| | | var that = this; |
| | | that.setData({ |
| | | currentTab: e.detail.current, |
| | | navScrollLeft: e.detail.current >= 4 ? ((e.detail.current) * 60) : 0 //判断当前选中的个数是否是第5个 |
| | | navScrollLeft: e.detail.current >= 4 ? e.detail.current * 60 : 0, //判断当前选中的个数是否是第5个 |
| | | }); |
| | | // that.tabsHeight('.page'+e.target.dataset.current); //查询哪一个元素 |
| | | }, |
| | |
| | | */ |
| | | onLoad: function (options) { |
| | | this.tabsHeight('.page0'); |
| | | this.getNotice() |
| | | this.getNotice(); |
| | | }, |
| | | |
| | | onReachBottom () { |
| | | onReachBottom() { |
| | | if (this.cPage && this.tPage) { |
| | | if (this.cPage < this.tPage) { |
| | | this.getNotice(this.cPage + 1) |
| | | this.getNotice(this.cPage + 1); |
| | | } |
| | | } |
| | | }, |
| | | |
| | | getNotice(cPage = 1) { |
| | | var that = this |
| | | notificationservice.getNotification(app.globalData.accessToken.userId, cPage, { |
| | | onHead(header) { |
| | | that.cPage = parseInt(header.currentPage) |
| | | that.tPage = parseInt(header.totalPage) |
| | | console.log(`cPage:${that.cPage}, tPage:${that.tPage}`); |
| | | var that = this; |
| | | notificationservice.getNotification( |
| | | app.globalData.accessToken.userId, |
| | | cPage, |
| | | { |
| | | onHead(header) { |
| | | that.cPage = parseInt(header.currentPage); |
| | | that.tPage = parseInt(header.totalPage); |
| | | console.log(`cPage:${that.cPage}, tPage:${that.tPage}`); |
| | | }, |
| | | success(res) { |
| | | const { pageList, unReadList } = that.data; |
| | | res.forEach(r => { |
| | | r.updateTime = moment(r.updateTime).format('YYYY年MM月DD日'); |
| | | switch (r.typeId) { |
| | | // 系统通知 |
| | | case '1': |
| | | if (!r.hasRead) unReadList[2]++; |
| | | pageList[2].push(r); |
| | | break; |
| | | // 工作通知 |
| | | case '2': |
| | | if (!r.hasRead) unReadList[0]++; |
| | | pageList[0].push(r); |
| | | break; |
| | | // 预警警示 |
| | | case '3': |
| | | if (!r.hasRead) unReadList[1]++; |
| | | pageList[1].push(r); |
| | | break; |
| | | default: |
| | | if (!r.hasRead) unReadList[2]++; |
| | | pageList[2].push(r); |
| | | break; |
| | | } |
| | | }); |
| | | that.setData({ pageList, unReadList }); |
| | | that.tabsHeight('.page0'); //刷新高度 |
| | | }, |
| | | }, |
| | | success(res) { |
| | | res.forEach(r => { |
| | | r.updateTime = moment(r.updateTime).format('YYYY年MM月DD日') |
| | | }); |
| | | let notices = that.data.pageList[0].concat(res) |
| | | that.setData({ |
| | | ['pageList[0]']: notices |
| | | }) |
| | | |
| | | that.tabsHeight('.page0'); //刷新高度 |
| | | } |
| | | }, 5) |
| | | 30, |
| | | ); |
| | | }, |
| | | }) |
| | | |
| | | showDialog(e) { |
| | | const { index } = e.currentTarget.dataset; |
| | | const notice = this.data.pageList[index[0]][index[1]]; |
| | | this.setData({ |
| | | showNoticeDetail: true, |
| | | showTitle: notice.title, |
| | | showContent: notice.content, |
| | | }); |
| | | if (!notice.hasRead) { |
| | | var that = this; |
| | | const { unReadList } = this.data; |
| | | notificationservice.updateReadState( |
| | | app.globalData.accessToken.userId, |
| | | [{ noticeId: notice.id, hasRead: true, hasSigned: true }], |
| | | { |
| | | success() { |
| | | notice.hasRead = true; |
| | | unReadList[index[0]]--; |
| | | that.setData({ |
| | | [`pageList[${index[0]}][${index[1]}]`]: notice, |
| | | unReadList, |
| | | }); |
| | | }, |
| | | }, |
| | | ); |
| | | } |
| | | }, |
| | | |
| | | closeDialog() { |
| | | this.setData({ showNoticeDetail: false }); |
| | | }, |
| | | }); |