Browse Source

History person game table 1st version

EthnaYeh 7 years ago
parent
commit
7e2dd68d10
2 changed files with 60 additions and 4 deletions
  1. 7 0
      src/api/gambleMember.js
  2. 53 4
      src/views/gambleMember/history/index.vue

+ 7 - 0
src/api/gambleMember.js

@@ -47,3 +47,10 @@ export function fetchHistory(data, query) {
47 47
     }
48 48
   })
49 49
 }
50
+
51
+export function fetchPersonGameDetail(gambleMemberId, gambleGameBucketId) {
52
+  return request({
53
+    url: `/gambleMembers/${gambleMemberId}/gambleGameBuckets/${gambleGameBucketId}/detail`,
54
+    method: 'get'
55
+  })
56
+}

+ 53 - 4
src/views/gambleMember/history/index.vue

@@ -51,13 +51,54 @@
51 51
         :page-sizes="[10,20,30, 50]" :page-size="listQuery.limit" layout="total, sizes, prev, pager, next, jumper" :total="total">
52 52
       </el-pagination>
53 53
     </div>
54
+
55
+    <el-dialog title="個人詳細資料" :visible.sync="dialogFormVisible" width="75%" center>
56
+      <!-- <el-form ref="dataForm" :model="temp" label-position="left" label-width="100px" style='width: 400px; margin-left:50px;'>-->
57
+      <el-table :data="dialogList" v-loading.body="listLoading" element-loading-text="Loading" border fit highlight-current-row
58
+        style="width: 100%">
59
+        <el-table-column align="center" label='數目' >
60
+          <template slot-scope="scope">
61
+            {{scope.$index + 1}}
62
+          </template>
63
+        </el-table-column>
64
+        <el-table-column label="輪" align="center">
65
+          <template slot-scope="scope">
66
+            {{scope.row.round}}
67
+          </template>
68
+        </el-table-column>
69
+        <el-table-column label="門" align="center">
70
+          <template slot-scope="scope">
71
+            <span>{{scope.row.door}}</span>
72
+          </template>
73
+        </el-table-column>
74
+        <el-table-column label="押注" align="center">
75
+          <template slot-scope="scope">
76
+            <span>{{scope.row.wager}}</span>
77
+          </template>
78
+        </el-table-column>
79
+        <el-table-column label="輸贏" align="center">
80
+          <template slot-scope="scope">
81
+            <span>{{scope.row.earned}}</span>
82
+          </template>
83
+        </el-table-column>
84
+        <el-table-column label="抽水" align="center">
85
+          <template slot-scope="scope">
86
+            <span>{{scope.row.serviceFees}}</span>
87
+          </template>
88
+        </el-table-column>
89
+      </el-table>
90
+      <div slot="footer" class="dialog-footer">
91
+        <el-button @click="dialogFormVisible = false" type="danger">關 閉</el-button>
92
+      </div>
93
+    </el-dialog>
94
+
54 95
   </div>
55 96
 </template>
56 97
 
57 98
 <script>
58 99
 
59 100
 import { mapActions } from 'vuex'
60
-import { fetchHistory } from '@/api/gambleMember'
101
+import { fetchHistory, fetchPersonGameDetail } from '@/api/gambleMember'
61 102
 import waves from '@/directive/waves' // 水波纹指令
62 103
 import moment from 'moment-timezone'
63 104
 
@@ -68,6 +109,7 @@ export default {
68 109
   data() {
69 110
     return {
70 111
       list: null,
112
+      dialogList: null,
71 113
       total: null,
72 114
       listLoading: true,
73 115
       listQuery: {
@@ -103,7 +145,9 @@ export default {
103 145
           }
104 146
         }]
105 147
       },
106
-      date: null
148
+      date: null,
149
+      dialogFormVisible: false
150
+
107 151
     }
108 152
   },
109 153
   created() {
@@ -123,8 +167,13 @@ export default {
123 167
         this.listLoading = false
124 168
       })
125 169
     },
126
-    handlePersonDetail() {
127
-      console.log('Person detail')
170
+    handlePersonDetail(row) {
171
+      this.listLoading = true      
172
+      this.dialogFormVisible = true
173
+      fetchPersonGameDetail(this.member.id, row['GambleGame-Bucket'].id).then(response => {
174
+        this.dialogList = response.data.rows
175
+        this.listLoading = false        
176
+      })
128 177
     },
129 178
     handleGameDetail() {
130 179
       console.log('Game detail')