import { useChart, setOption } from './chart.js'; const util = require('../../../utils/util'); const assessmentService = require('../../../service/assessmentservice'); const moment = require('../../../utils/moment.min'); const app = getApp(); Page({ behaviors: [useChart], /** * 页面的初始数据 */ data: { //当月评分情况 text1: '测评已开始!', text2: '请尽快完成测评', text3: '去测评', deadline: '----年--月--日', score: undefined, //当前的评分周期 thisPeriod: '2000/1-1', //评估历史 historys: [], }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { this.setData({ navContentHeight: util.navContentHeight(), statusBarHeight: wx.getSystemInfoSync().statusBarHeight, }); this._initPlanYear(); }, /** * 生命周期函数--监听页面显示 */ onShow: function () { var that = this; wx.startPullDownRefresh({ success: res => {}, fail: res => {}, complete: res => {}, }); }, onPullDownRefresh() { this.getHistoryPoint(); }, /** * 初始化年份 */ _initPlanYear() { var now = moment(); var year = now.year(); var period = `${now.year()}/${now.month() + 1}-${now.month() + 1}`; var deadline = now.endOf('month').format('YYYY年MM月DD日'); this.setData({ planYear: `${year}年`, maxYear: year, thisPeriod: period, deadline: deadline, }); }, /** * 获取评估历史记录 */ getHistoryPoint() { var that = this; assessmentService.getHistoryPoint(app.globalData.accessToken.userId, 1, { success(data) { //当月评分情况 let lastOne = data[0]; let date = moment(lastOne.updateDate); let period = `${date.year()}/${date.month() + 1}-${date.month() + 1}`; // fixme 2024.5.24 临时添加静安医疗机构的评估周期为1年,后续再做完善 const inPeriod = app.globalData.userInfo.extension1 == '静安区' && app.globalData.userInfo.extension2 == '9' && date.year() == moment().year(); if (period == that.data.thisPeriod || inPeriod) { that.setData({ score: lastOne.totalPoint, text1: '', text2: '本次测评已完成', text3: '查看详情', hasScore: true, }); } else { that.setData({ text1: '测评已开始!', text2: '请尽快完成测评', text3: '去测评', score: undefined, hasScore: false, }); } //历史评分情况与折线图 let historyList = []; that.chartData = {}; data.forEach(d => { //历史记录 historyList.push({ score: d.totalPoint, color: d.color, rank: d.rank, level: d.level, period: d.period, time: d.period.replace('/', '年').replace(/\-[0-9]+/, '月'), scoreId: d.tPGuid, updateTime: moment(d.updateDate).format('YYYY-MM-DD hh:mm'), }); //折线图数据 let y = d.period.split('/')[0]; let key = y + '年'; if (!that.chartData.hasOwnProperty(key)) { that.chartData[key] = [ '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', ]; if (y == date.year() + '') { let m = date.month(); for (let i = m; i <= 11; i++) { that.chartData[key][i] = '-'; } } } let monthGap = d.period.split('/')[1]; let startMonth = parseInt(monthGap.split('-')[0]); let endMonth = parseInt(monthGap.split('-')[1]); for (let i = startMonth; i <= endMonth; i++) { that.chartData[key][i - 1] = d.totalPoint; } }); that.setData({ historys: historyList, }); setTimeout(() => { that.refreshChart(that.chartData[that.data.planYear]); }, 500); }, complete(res) { wx.stopPullDownRefresh({ success: res => {}, fail: res => {}, complete: res => {}, }); }, }); }, /** * 页面跳转 */ goto: function (e) { var url = ''; var index = e.currentTarget.dataset.index; switch (index) { case '0': //去测评或者查看详情 if (this.data.score) { url = `/pages/mAssessment/gradereport/gradereport?period=${this.data.thisPeriod}`; } else { url = `/pages/mAssessment/grade/grade?record=false`; } break; case '1': //历史评估记录详情 var period = e.currentTarget.dataset.period; url = `/pages/mAssessment/gradereport/gradereport?period=${period}`; break; case '2': //碳排放智能估算 url = ''; break; case '3': //其他专项自测 url = ''; break; case '4': break; case '5': break; } if (url != '') { wx.navigateTo({ url: url, }); } else { wx.showToast({ title: '功能敬请期待', duration: 1000, icon: 'none', mask: true, }); } }, });