nebula/store/bank-account.js

96 lines
2.2 KiB
JavaScript

export const BANK_ACCOUNT_API_PATH = '/api/admin/bank-account'
const getDefaultListData = () => {
return {
bankAccounts: [],
pagination: {}
}
}
const getDefaultTransactionRecordListData = () => {
return {
records: [],
pagination: {}
}
}
export const state = () => {
return {
list: {
fetching: false,
data: getDefaultListData()
},
records: {
fetching: false,
data: getDefaultTransactionRecordListData()
}
}
}
export const mutations = {
// 消费记录列表
updateTransactionRecordListFetching(state, action) {
state.records.fetching = action
},
updateTransactionRecordListData(state, action) {
state.records.data = action
},
updateListFetching(state, action) {
state.list.fetching = action
},
updateListData(state, action) {
state.list.data = action
}
}
export const actions = {
fetchList({commit}, params = {}) {
// 清空已有数据
commit('updateListData', getDefaultListData())
commit('updateListFetching', true)
let data = {
page: params.page || 1
}
return this.$axios
.$get(`${BANK_ACCOUNT_API_PATH}/list`, {
params: data
})
.then(response => {
commit('updateListFetching', false);
commit('updateListData', response);
})
.catch(error => {
console.log(error);
commit('updateListFetching', false);
});
},
// 获取账户交易记录
fetchTransactionRecordList({commit}, params = {}) {
commit('updateTransactionRecordListFetching', true)
return this.$axios
.$get(`${BANK_ACCOUNT_API_PATH}/transaction-records`, {
params: {
bankAccount: params.bankAccount,
startDate: params.startDate,
endDate: params.endDate,
page: params.page || 1
}
})
.then(response => {
return new Promise(resolve => {
commit('updateTransactionRecordListData', response)
commit('updateTransactionRecordListFetching', false)
resolve(response)
// delay(() => {
// resolve(response)
// })
})
})
.catch(error => {
commit('updateTransactionRecordListFetching', false)
return Promise.reject(error)
})
}
}