electricity_bill_calc_wx/pages/rechargeRecord/index.js

177 lines
3.4 KiB
JavaScript

import { getRechargeList } from "../../service/recharge";
import { getTenementMeterList } from "../../service/meter";
import { getYears, alertInfo } from "../../utils/index";
import request from "../../utils/request";
const { OK } = request;
// pages/rechargeRecord/index.js
Page({
/**
* 页面的初始数据
*/
data: {
year: new Date().getFullYear(),
month: new Date().getMonth() + 1,
years: getYears(),
list: [
],
show: false,
columns: [],
type: "",
title: "",
amount: 0,
codeId: "",
meterCode: ""
},
clickYear() {
this.setData({
type: "year",
columns: this.data.years,
show: true,
title: "年份"
})
},
clickMeter() {
this.setData({
type: "meter",
columns: [{id: "", name: "全部", address: "", code: ""}, ...this.data.meterList.map(item => ({ id: item.id, name: `${item.code}-${item.address}`, code: item.code }))],
show: true,
title: "表计"
})
},
onOk(e) {
const { type, value = {} } = e.detail;
if (type === "year") {
this.onChangeYear(value.id)
return;
}
if (type === "meter") {
this.onChangeMeter(value)
return;
}
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
onChangeYear(e) {
const { years, tenement } = this.data;
const currentYear = years[Number(e)]
this.setData({
year: currentYear,
type: "",
show: false,
title: ""
})
this.init(currentYear, tenement)
},
onChangeMeter(e) {
const { id, code } = e;
const { year } = this.data;
// const currentYear = years[Number(e)]
this.setData({
// year: currentYear,
codeId: id,
meterCode: code,
type: "",
show: false,
title: ""
})
this.init(year, id)
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
const { year } = this.data;
const tenement = wx.getStorageSync('tenement')
this.init(year, '');
this.getMeters(tenement?.id);
},
refreshEmpty() {
const tenement = wx.getStorageSync('tenement')
this.init(year, '');
this.init(year, tenement);
},
async getMeters(id) {
const { code, message, data } = await getTenementMeterList(id);
if (code !== OK) {
alertInfo(message)
return;
}
this.setData({
meterList: data || [],
})
},
async init(year, codeId) {
const { code, message, data = [], amount = 0 } = await getRechargeList(year, codeId);
if (code !== OK) {
alertInfo(message)
return;
}
this.setData({
list: data,
amount
})
},
onCancel() {
this.setData({
show: false,
title: "",
type: "",
})
},
jumpToDetail(e) {
const { id } = e.currentTarget.dataset;
wx.navigateTo({
url: '/pages/rechargeDetail/index?id=' + id,
})
},
back() {
wx.navigateBack({delta: 1 })
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})