Bez popisu

index.vue 3.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. <template>
  2. <div class="app-container">
  3. <div class="app-container">
  4. <div class="block">
  5. <span class="demonstration">時間篩選</span>
  6. <el-date-picker
  7. v-model="date"
  8. type="datetimerange"
  9. :picker-options="pickerOptions"
  10. range-separator="至"
  11. start-placeholder="開始日期"
  12. end-placeholder="结束日期"
  13. align="right">
  14. </el-date-picker>
  15. <el-button class="filter-item" type="primary" v-waves icon="el-icon-search" @click="handleFilter">搜尋</el-button>
  16. </div>
  17. </div>
  18. <el-table :data="list" v-loading.body="listLoading" element-loading-text="Loading" border fit highlight-current-row>
  19. <el-table-column label="場" align="center">
  20. <template slot-scope="scope">
  21. {{scope.row.game}}
  22. </template>
  23. </el-table-column>
  24. <el-table-column label="總押注" align="center">
  25. <template slot-scope="scope">
  26. <span>{{scope.row.wager}}</span>
  27. </template>
  28. </el-table-column>
  29. <el-table-column label="總輸贏" align="center">
  30. <template slot-scope="scope">
  31. <span>{{scope.row.earned}}</span>
  32. </template>
  33. </el-table-column>
  34. <el-table-column label="時間" align="center">
  35. <template slot-scope="scope">
  36. <span>{{scope.row['GambleGame-Bucket'].createdAt}}</span>
  37. </template>
  38. </el-table-column>
  39. <el-table-column align="center" label="操作">
  40. <template slot-scope="scope">
  41. <el-button type="primary" size="mini" icon="el-icon-tickets" @click="handleDetail(scope.row)">詳細紀錄</el-button>
  42. </template>
  43. </el-table-column>
  44. </el-table>
  45. </div>
  46. </template>
  47. <script>
  48. import { mapActions } from 'vuex'
  49. import { fetchHistory } from '@/api/gambleMember'
  50. import waves from '@/directive/waves' // 水波纹指令
  51. import moment from 'moment-timezone'
  52. export default {
  53. directives: {
  54. waves
  55. },
  56. data() {
  57. return {
  58. list: null,
  59. listLoading: true,
  60. pickerOptions: {
  61. shortcuts: [{
  62. text: '最近一周',
  63. onClick(picker) {
  64. const end = new Date();
  65. const start = new Date();
  66. start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
  67. picker.$emit('pick', [start, end]);
  68. }
  69. }, {
  70. text: '最近一個月',
  71. onClick(picker) {
  72. const end = new Date();
  73. const start = new Date();
  74. start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
  75. picker.$emit('pick', [start, end]);
  76. }
  77. }, {
  78. text: '最近三個月',
  79. onClick(picker) {
  80. const end = new Date();
  81. const start = new Date();
  82. start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
  83. picker.$emit('pick', [start, end]);
  84. }
  85. }]
  86. },
  87. date: ''
  88. }
  89. },
  90. created() {
  91. this.fetchData()
  92. },
  93. props: ['member'],
  94. methods: {
  95. ...mapActions([
  96. 'SetVisble'
  97. ]),
  98. fetchData() {
  99. this.listLoading = true
  100. fetchHistory(this.member).then(response => {
  101. this.list = response.data
  102. this.listLoading = false
  103. })
  104. },
  105. handleFilter() {
  106. console.log(moment.utc(this.date[0]).format())
  107. console.log(moment.utc(this.date[1]).format())
  108. },
  109. handleDetail() {
  110. }
  111. },
  112. destroyed() {
  113. this.SetVisble(true)
  114. }
  115. }
  116. </script>