lixin-web
Version:
vue and bootstrap
75 lines (69 loc) • 1.81 kB
JavaScript
import {round} from 'lodash'
import {ajax} from '../../js/util/axios'
import {warning} from '../../js/plugins/sweetalert2'
const state = {
lottoBal:0,
lottoBalCounted:0,
bindBankCard:{
count:0,
name:'',
bankList:[]
},
withdraw:{
accountCardList: [],
myAccountStatus: {},
withdrawConfig: {},
}
}
const getters = {
lottoBal: state => state.lottoBal,
lottoBalCounted: state => state.lottoBalCounted,
bindBankCard: state => state.bindBankCard,
bankCardCount: state => state.bindBankCard.count,
withdraw: state => state.withdraw,
accountCardList: state => state.withdraw.accountCardList.filter(i => i.bankCardId),
}
const actions = {
getBindBankCard({state,commit},callback = () => {}){
const {count,maxCount} = state.bindBankCard
if(maxCount !== undefined && count < maxCount) {
callback()
}else if(count === maxCount) {
warning(`每人最多绑定${maxCount}张银行卡`)
}else{
return ajax('account/prepare-bind-card',data => {
commit('setBindBankCard',data)
callback()
})
}
},
getWithdraw({state,commit},callback = () => {}){
ajax('account/prepare-withdraw',data => {
commit('setWithdraw',data)
callback(data)
})
}
}
const mutations = {
setLottoBal (state, bal) {
let lottoBal = round(bal,3)
if(state.lottoBal === lottoBal) return
state.lottoBal = lottoBal
state.lottoBalCounted = 0
},
lottoBalCountEnd(state,end){
state.lottoBalCounted = end
},
setBindBankCard(state,result){
state.bindBankCard = {...state.bindBankCard,...result}
},
setWithdraw(state,result){
state.withdraw = result
}
}
export default {
state,
getters,
actions,
mutations
}