// pages/home/home.js const userservice = require("../../service/userservice") const notificationservice = require("../../service/notificationservice") const assessmentService = require("../../service/assessmentservice") const lawservice = require("../../service/lawservice") const promiseservice = require("../../service/promiseservice") const ledgerservice = require("../../service/ledgerservice") const moment = require('../../utils/moment.min') const app = getApp() /** * 首页 */ Page({ /** * 页面的初始数据 */ data: { notices: [], dynamic: [{ title: "企业营业执照、食品经营许可证丢失该如何补领", time: "2022年4月5日", views: 2012, pic: "/res/icons/temp_pic_1.png" }], nextEvaluationTime: '2022年6月9日', userRealName: '', //历史评分详情 historyPoint: { time: '测评周期----年--月', score: '--', rank: '--', legalIndex: '--', illegalIndex: '--', period: '' }, //台账完成情况 ledgerInfo: { //必填项总数 totalMust: 0, //必填项提交数 finishedMust: 0, }, //承诺完成情况 promsieInfo: { leftDays: 0 } }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { //判断用户是否为首次登录,决定是否强制修改默认密码 if (app.globalData.userInfo.remark == null || app.globalData.userInfo.remark == '') { wx.navigateTo({ url: '/pages/m_user/p_changepw/p_changepw', }) } wx.getStorage({ key: 'accessToken', success: (result) => { console.log(result.data); }, fail: (res) => {}, complete: (res) => {}, }) this.getNextEvaluationTime() this.getNotice() this.getUserInfo() this.getHistoryPoint() this.getNews() this.getCommitment() this.getLedgerType() }, onShow(){ if (app.globalData.isLogin) { } }, onPullDownRefresh(){ console.log('onPullDownRefresh'); wx.stopPullDownRefresh({ success: (res) => {}, fail: (res) => {}, complete: (res) => {}, }) }, getNextEvaluationTime() { let now = moment().add(1, 'months') this.setData({ nextEvaluationTime: now.format("YYYY年MM月10日") }) }, getUserInfo() { this.setData({ userRealName: app.globalData.userInfo.realname }) }, getNotice() { var that = this notificationservice.getNotification(app.globalData.accessToken.userId, 1, { success(res) { let notices = [] res.forEach(r => { notices.push({ notice: r.title, time: moment(r.updateTime).format('YYYY/MM/DD'), isRead: r.hasRead }) that.setData({ notices }) }); } }) }, getHistoryPoint() { var that = this assessmentService.getHistoryPoint(app.globalData.accessToken.userId, 1, { success(data) { if (data.length == 0) { return } let lastOne = data[0] let year = lastOne.updateDate.substring(0, 4) let month = lastOne.updateDate.substring(5, 7) that.setData({ historyPoint: { time: `测评周期${year}年${month}月`, score: lastOne.totalPoint, rank: lastOne.rank, legalIndex: lastOne.level, illegalIndex: lastOne.level, period: lastOne.period } }) } }) }, getNews() { var that = this let user = app.globalData.userInfo lawservice.getLawRegulations(user.guid, 1, { sceneTypeId: user.extension2, fileType: 1 }, { success(data) { let laws = [] data.forEach(d => { laws.push({ title: d.lrResourcetitle, time: d.lrPublishdate.substring(0, 10), views: parseInt(Math.random() * 1000 + 10), pic: d.lrPicurl, url: d.lrBodyurl, fileType: d.lrResourcefiletype, }) }); that.setData({ dynamic: laws }) } }) }, /** * 获取承诺历史记录 */ getCommitment() { var that = this promiseservice.getCommitment(app.globalData.accessToken.userId, { success(data) { if (data.length > 0) { let c = data[0] let cTime = moment(c.cmCreateTime) let leftDays = cTime.add(1, 'years').diff(moment(), 'days') that.setData({ promsieInfo: { leftDays: leftDays } }) } } }) }, getLedgerType() { var that = this var time = moment().format('YYYY-MM-DD') ledgerservice.getLedgerSummary(app.globalData.accessToken.userId, app.globalData.userInfo.extension2, time, { success(res) { that.parseLedgerType(res) } }) }, parseLedgerType(subtypes) { let monthInfo = { totalMust: 0, finishedMust: 0, } subtypes.forEach(s => { //月度统计 if (s.needUpdate) { monthInfo.totalMust++ if (s.upLoad) { monthInfo.finishedMust++ } } }); monthInfo.percent = Math.round(monthInfo.finishedMust / monthInfo.totalMust * 100) this.setData({monthInfo}) }, /** * 页面跳转 */ goto: function (e) { var url = "" var index = e.currentTarget.dataset.index switch (index) { case "0": //测评历史记录 url = `/pages/m_assessment/gradereport/gradereport?period=${this.data.historyPoint.period}` break; case "5": wx.switchTab({ url: '/pages/m_ledger/ledgerhome/ledgerhome', }) return; case "6": wx.switchTab({ url: '/pages/m_promise/promisehome/promise', }) break; case "1": //工作提醒 url = "/pages/m_notice/notice/notice" break; case "2": //智能在线咨询 url = "/pages/m_consult/consulthome/consulthome" break; case "3": //在线守法学习 url = `/pages/m_learn/learn/learn` break; case "4": //守法动态 // url = "/pages/text/text" let bodyUrl = e.currentTarget.dataset.url let fileType = e.currentTarget.dataset.filetype wx.showLoading({ title: ' 文件下载中', mask: true, }) wx.downloadFile({ url: bodyUrl, success: function (res) { wx.hideLoading() const filePath = res.tempFilePath wx.openDocument({ filePath: filePath, success: function (res) { console.log('打开文档成功') }, fail(error) { console.log(error); } }) } }) break; } if (url != "") { wx.navigateTo({ url: url }) } } })