银行卡管理-增加交易记录查看功能

This commit is contained in:
ronger 2021-12-28 23:21:47 +08:00
parent b36c2fdcf4
commit f9c9fd0b03
2 changed files with 89 additions and 2 deletions

View File

@ -40,6 +40,13 @@
width="180" width="180"
prop="createdTime"> prop="createdTime">
</el-table-column> </el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<el-button size="mini" type="primary"
@click="transactionRecords(scope.$index, scope.row)" plain>查看交易记录
</el-button>
</template>
</el-table-column>
</el-table> </el-table>
</el-col> </el-col>
<el-col> <el-col>
@ -54,14 +61,21 @@
:total="pagination.total"> :total="pagination.total">
</el-pagination> </el-pagination>
</el-col> </el-col>
<el-dialog :title="'卡号:' + bankAccount + ' 的交易记录'" :visible.sync="dialogVisible">
<records :records="records" :bankAccount="bankAccount"
@currentChange="handleTransactionRecordCurrentChange"
@searchTransactionRecord="searchTransactionRecord"></records>
</el-dialog>
</el-row> </el-row>
</template> </template>
<script> <script>
import {mapState} from 'vuex'; import {mapState} from 'vuex';
import Records from "../../components/common/bank/account/records";
export default { export default {
name: "bank-accounts", name: "bank-accounts",
components: {Records},
fetch({store, params, error}) { fetch({store, params, error}) {
return Promise.all([ return Promise.all([
store store
@ -72,7 +86,8 @@ export default {
computed: { computed: {
...mapState({ ...mapState({
bankAccounts: state => state["bank-account"].list.data.bankAccounts, bankAccounts: state => state["bank-account"].list.data.bankAccounts,
pagination: state => state["bank-account"].list.data.pagination pagination: state => state["bank-account"].list.data.pagination,
records: state => state["bank-account"].records.data
}) })
}, },
data() { data() {
@ -80,7 +95,8 @@ export default {
order: 'desc', order: 'desc',
idRole: 0, idRole: 0,
idUser: 0, idUser: 0,
dialogVisible: false dialogVisible: false,
bankAccount: ''
} }
}, },
methods: { methods: {
@ -102,6 +118,33 @@ export default {
page: page, page: page,
rows: _ts.pagination.pageSize rows: _ts.pagination.pageSize
}) })
},
transactionRecords(index, bankAccount) {
let _ts = this
_ts.bankAccount = bankAccount.bankAccount
_ts.dialogVisible = true
_ts.$store.dispatch('bank-account/fetchTransactionRecordList', {
bankAccount: _ts.bankAccount
})
},
handleTransactionRecordCurrentChange(search) {
let _ts = this;
_ts.$store.dispatch('bank-account/fetchTransactionRecordList', {
bankAccount: _ts.bankAccount,
startDate: search.startDate,
endDate: search.endDate,
page: search.page
})
},
searchTransactionRecord(dates) {
let _ts = this
let startDate = dates[0]
let endDate = dates[1]
_ts.$store.dispatch('wallet/fetchTransactionRecordList', {
bankAccount: _ts.bankAccount,
startDate: startDate,
endDate: endDate
})
} }
}, },
mounted() { mounted() {

View File

@ -6,17 +6,34 @@ const getDefaultListData = () => {
pagination: {} pagination: {}
} }
} }
const getDefaultTransactionRecordListData = () => {
return {
records: [],
pagination: {}
}
}
export const state = () => { export const state = () => {
return { return {
list: { list: {
fetching: false, fetching: false,
data: getDefaultListData() data: getDefaultListData()
},
records: {
fetching: false,
data: getDefaultTransactionRecordListData()
} }
} }
} }
export const mutations = { export const mutations = {
// 消费记录列表
updateTransactionRecordListFetching(state, action) {
state.records.fetching = action
},
updateTransactionRecordListData(state, action) {
state.records.data = action
},
updateListFetching(state, action) { updateListFetching(state, action) {
state.list.fetching = action state.list.fetching = action
}, },
@ -46,6 +63,33 @@ export const actions = {
console.log(error); console.log(error);
commit('updateListFetching', false); 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)
})
} }
} }