Files
quinn-accounts/pages/account/detail/index.js
2023-02-08 20:57:17 +08:00

95 lines
2.8 KiB
JavaScript

const app = getApp();
Page({
data: {
sid: -1,
showSetMoney: false,
currentMoney: 0,
currentMoneyText: 0,
expendBalance: 0,
incomeBalance: 0,
priceError: false,
visible : false,
dateRangeText : null,
dateRange : null,
minDate: new Date().getTime() - 365 * 24 * 60 * 60 * 1000,
maxDate: new Date().getTime(),
incomeList : [],
payList : []
},
onLoad: function (options) {
let sid = options.sid
let currentMoney = options.balance
let currentMoneyText = options.balance
this.setData({sid,currentMoney,currentMoneyText})
let dateRange = [new Date().getTime()- 24 * 60 * 60 * 1000,new Date().getTime()]
let dateRangeText = app.$utils.formatDate(new Date(dateRange[0])) + '至' +
(dateRange[1] ? app.$utils.formatDate(new Date(dateRange[1])) : app.$utils.formatDate(new Date()));
this.setData({dateRange,dateRangeText})
},
onShow() {
app.$api.listBillByAccount({
sid:this.data.sid,
dateRange:this.data.dateRangeText,
}).then(res => {
if (res.data){
let incomeList = res.data.incomeList;
let payList = res.data.incomeList;
let expendBalance = res.data.expendBalance;
let incomeBalance = res.data.incomeBalance;
this.setData({
incomeList,payList,expendBalance,incomeBalance
})
}
})
},
handleCalendar() {
this.setData({ visible: true });
},
handleConfirm(e) {
const { value } = e.detail;
console.log(value);
let valueText = app.$utils.formatDate(new Date(value[0])) + '至' +
(value[1] ? app.$utils.formatDate(new Date(value[1])) : app.$utils.formatDate(new Date()));
this.setData({
visible: false,
dateRange: value,
dateRangeText: valueText
});
},
showDialog() {
this.setData({
showSetMoney: true,
currentMoney: this.data.currentMoneyText
})
},
onPriceInput(e) {
this.setData({
currentMoney: e.detail.value
})
},
onConfirm () {
const isNumber = /^\d+(\.\d+)?$/.test(this.data.currentMoney);
if (!isNumber) {
this.setData({
priceError: true
})
return;
}
this.setData({
currentMoneyText:this.data.currentMoney,
priceError: false
})
app.$api.editAccount({sid:this.data.sid,balance:this.data.currentMoney}).then(res => {
if (res){
this.closeDialog()
}
})
},
closeDialog() {
this.setData({
showSetMoney: false
})
}
});