93 lines
2.4 KiB
JavaScript
93 lines
2.4 KiB
JavaScript
const app = getApp()
|
|
Page({
|
|
data: {
|
|
sumBudget: "0.00",
|
|
sumUsed: "0.00",
|
|
sumBalance: "0.00",
|
|
|
|
showSetBudget : false,
|
|
changeType: "main",
|
|
currentId: -1,
|
|
currentMoney: "0.00",
|
|
priceError: false,
|
|
payTypeList : [],
|
|
},
|
|
onLoad: function (options) {
|
|
|
|
},
|
|
onShow() {
|
|
this.updateBudget();
|
|
},
|
|
updateBudget(){
|
|
app.$api.getBudget().then(res => {
|
|
if (res.data){
|
|
let sumBudget = res.data.sumBudget
|
|
let sumUsed = res.data.sumUsed
|
|
let sumBalance = res.data.sumBalance
|
|
let payTypeList = res.data.payTypeList
|
|
this.setData({sumBudget,sumUsed,sumBalance,payTypeList})
|
|
}
|
|
})
|
|
},
|
|
changeBudget(e) {
|
|
let {type,id} = e.currentTarget.dataset
|
|
console.log(id);
|
|
console.log(type);
|
|
let tCurrentMoney = 0.00;
|
|
if (type == 'count'){
|
|
tCurrentMoney = this.data.sumBudget
|
|
}else {
|
|
this.data.payTypeList.forEach(item => {
|
|
if (item.expendId == id){
|
|
tCurrentMoney = item.budget
|
|
}
|
|
})
|
|
}
|
|
this.setData({
|
|
showSetBudget: true,
|
|
changeType: type,
|
|
currentId: id,
|
|
currentMoney: tCurrentMoney
|
|
})
|
|
},
|
|
onPriceInput(e) {
|
|
this.setData({
|
|
currentMoney: e.detail.value
|
|
})
|
|
},
|
|
onConfirm (e) {
|
|
const { priceError } = this.data;
|
|
const isNumber = /^\d+(\.\d+)?$/.test(this.data.currentMoney);
|
|
if (priceError === isNumber) {
|
|
this.setData({
|
|
priceError: !isNumber,
|
|
});
|
|
}
|
|
if (this.data.priceError) {
|
|
this.setData({
|
|
currentMoney: "0.00",
|
|
priceError: false
|
|
})
|
|
return;
|
|
}
|
|
let expendId = this.data.currentId
|
|
if (this.data.changeType == 'count'){
|
|
expendId = -1
|
|
}
|
|
app.$api.editBudget({
|
|
expendId:expendId,
|
|
budget:this.data.currentMoney
|
|
}).then(res=>{
|
|
if(res){
|
|
this.updateBudget();
|
|
this.closeDialog();
|
|
}
|
|
})
|
|
},
|
|
closeDialog() {
|
|
this.setData({
|
|
showSetBudget: false
|
|
})
|
|
}
|
|
});
|