electricity_bill_calc_wx/pages/rechargeRecord/index.js

170 lines
3.8 KiB
JavaScript

// pages/rechargeRecord/index.js
import { getRechargeList } from "../../service/recharge";
import { getTenementMeterList } from "../../service/meter";
import { getYears, alertInfo, loadingFunc } from "../../utils/index";
import request from "../../utils/request";
import Dialog from '@vant/weapp/dialog/dialog';
const { OK } = request;
Page({
/**
* 页面的初始数据
*/
data: {
year: new Date().getFullYear(),
month: new Date().getMonth() + 1,
years: getYears(),
list: [
],
way: ["现金", "银行卡", "支付宝", "微信", "云闪付","对公转账", "小程序-微信支付"],
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: "表计"
})
},
clickType() {
this.setData({
type: "pay",
columns: [
{id: undefined, name: "全部" },
{id: 1, name: "对公" },
{id: 2, name: "微信" },
],
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;
}
if (type === "pay") {
this.onChangePay(value)
return;
}
},
onChangeYear(e) {
const { codeId, pay } = this.data;
const currentYear = e
this.setData({
year: currentYear,
type: "",
show: false,
title: ""
})
this.init(currentYear, codeId, pay)
},
showAnswer() {
Dialog.alert({
title: '提示',
message: '只统计已完成充值的数据,处理中和已退回不计入总额内',
}).then(() => {
// on close
});
},
onChangeMeter(e) {
const { id, code, } = e;
const { year, pay } = this.data;
this.setData({
codeId: id,
meterCode: code,
type: "",
show: false,
title: ""
})
this.init(year, id, pay)
},
onChangePay(e) {
const { id, name } = e;
console.log('e', e)
const { year, codeId } = this.data;
this.setData({
payType: name,
type: "",
show: false,
title: ""
})
this.init(year,codeId, id, )
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
const { year } = this.data;
const tenement = wx.getStorageSync('tenement')
loadingFunc(async () => {
await this.init(year, '');
await this.getMeters(tenement?.id);
});
},
refreshEmpty() {
const { year } = this.data;
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, pay) {
const { code, message, data = [], amount = 0 } = await getRechargeList(year, codeId, pay);
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 })
},
})