incomeDetail.vue
1.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<template>
<LayoutApp :show-back="true">
<div class="body" ref="body">
<incomeFilter></incomeFilter>
<Scroll
ref="scroll"
:data="walletData.list"
:options="options"
@pulling-down="onPullingDown"
@pulling-up="onPullingUp">
<template v-for="(item,index) in walletData.list">
<incomeItem :data="item" :key="index"></incomeItem>
</template>
<template v-if="customPullDown" slot="pulldown" slot-scope="props">
<pullDown :propsData="props" :pullDownRefreshThreshold="pullDownRefreshThreshold"></pullDown>
</template>
</Scroll>
</div>
</LayoutApp>
</template>
<script>
import incomeItem from './components/incomeItem';
import incomeFilter from './components/filter';
import pullDown from './components/pullDown';
import { createNamespacedHelpers } from 'vuex';
import {Style, Scroll} from 'cube-ui';
import scrollMixin from '../../../mixins/scroll';
const {mapState, mapActions} = createNamespacedHelpers('home/mine');
export default {
mixins: [scrollMixin],
data() {
return {
}
},
computed:{
...mapState({
incomeSum:(state) => {
return {
totalIncome: state.assetData.totalIncome
}
},
walletData: (state) => state.walletData
}),
},
created() {
this.fetchWallet(true)
},
methods: {
...mapActions(['fetchWallet']),
onPullingDown() {
this.fetchWallet(true)
},
onPullingUp() {
if(!this.walletData.endReached) {
this.fetchWallet(false)
} else {
this.$refs.scroll.forceUpdate()
}
}
},
components: {
incomeItem,
incomeFilter,
pullDown,
Style,
Scroll
}
};
</script>
<style lang="scss" scoped>
.body {
height: 100%;
overflow-y: auto;
background-color: white;
padding: 0 40px;
color: #999;
}
</style>