// pages/m_ledger/ledgerHistory/ledgerhistory.js const ledgerservice = require("../../../service/ledgerservice") const moment = require('../../../utils/moment.min') const app = getApp() Page({ /** * 页面的初始数据 */ data: { year: 2000, maxYear: 2000, months: [{ month: 1, hasData: true }, { month: 2, hasData: true }, { month: 3, hasData: true }, { month: 4, hasData: true }, { month: 5, hasData: true }, { month: 6, hasData: true }, { month: 7, hasData: true }, { month: 8, hasData: true }, { month: 9, hasData: true }, { month: 10, hasData: true }, { month: 11, hasData: true }, { month: 12, hasData: true }], selectedMonIndex: 0, recordList: [], previewImageUrls:[], previewCurrent: 0, showPreview: false, }, /** * 生命周期函数--监听页面加载 */ onLoad(options) { var that = this this.initTime() this.getRecord() this.getOpenerEventChannel().on('acceptDataFromOpenerPage', function (data) { let ledgerMap = new Map() data.tabList.forEach(t => { ledgerMap.set(t.name, { notUpload: t.tag, total: t.total, ledgers: [] }) }); that.setData({ ledgerMap }) }) }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady() { }, onShow(){ if (this.data.marginTop == undefined) { this.topHeight('.page__hd') } }, initTime(year) { var date = new Date() let maxYear = date.getFullYear() var thisMonth = date.getMonth() if (year == undefined) { year = maxYear + '年' } this.setData({ year: year, maxYear: maxYear, }) this.setData({ selectedMonIndex: thisMonth }) }, bindYearChange(e) { let y = e.detail.value this.setData({ year: `${y}年` }) this.getRecord() }, selectMonth(e) { let index = e.currentTarget.dataset.index this.setData({ selectedMonIndex: index }) this.getRecord() }, getRecord() { var that = this var userId = app.globalData.accessToken.userId var sceneType = app.globalData.userInfo.extension2 let month = this.data.months[this.data.selectedMonIndex].month let year = parseInt(this.data.year.split("年")[0]) var time = moment().year(year).month(month - 1).format('YYYY-MM-DD') wx.showLoading({ title: '加载中', mask: true, success: (res) => {}, fail: (res) => {}, complete: (res) => {}, }) setTimeout(() => { wx.hideLoading() }, 20000); ledgerservice.getLedgerDetail(userId, undefined, sceneType, time, { success(res) { let ledgerMap = that.data.ledgerMap ledgerMap.forEach((e, key) => { e.ledgers = [] }); res.forEach(r => { let t = ledgerMap.get(r.ledgerType) t.ledgers.push(r) }); let recordList = [] ledgerMap.forEach((e, key) => { recordList.push({ ledgerType: key, total: e.total, notUpload: e.notUpload, ledgers: e.ledgers }) }); // for (const key in ledgerMap) { // const e = ledgerMap.get(key); // } that.setData({ ledgerMap: ledgerMap, recordList: recordList }) console.log(recordList); }, complete(res) { wx.hideLoading() } }) }, topHeight(element) { let that = this; let query = wx.createSelectorQuery(); //必须要先创建一个查询 query.select(element).boundingClientRect(function (rect) { that.setData({ marginTop: rect.height + 'px' }); }).exec(); }, gotoLedgerDetail(e) { var i = e.currentTarget.dataset.index.split(',') var indexGroup = [parseInt(i[0]), parseInt(i[1])] var ledger = this.data.recordList[indexGroup[0]].ledgers[indexGroup[1]] console.log(ledger); wx.navigateTo({ url: '/pages/m_ledger/ledgerupload/ledgerupload', success: (res) => { // 通过 eventChannel 向被打开页面传送数据 res.eventChannel.emit('acceptDataFromOpenerPage', { ledger: ledger, indexGroup: indexGroup, barTitle: '历史台账' }) }, }) }, previewImage(e) { var i = e.currentTarget.dataset.index.split(',') var indexGroup = [parseInt(i[0]), parseInt(i[1])] var ledger = this.data.recordList[indexGroup[0]].ledgers[indexGroup[1]] const ledgerTitle = ledger.ledgerName const ledgerRemark = ledger.remark1 const previewImageUrls = ledger.path1; this.setData({ previewImageUrls, ledgerRemark, ledgerTitle, previewCurrent: 0, showPreview: true }); }, })