Parcourir la Source

add doorTotal

EthnaYeh il y a 7 ans
Parent
commit
74b825d80e
2 fichiers modifiés avec 28 ajouts et 9 suppressions
  1. 2 3
      src/api/gambleGameBucket.js
  2. 26 6
      src/views/gambleGameBucket/detail/index.vue

+ 2 - 3
src/api/gambleGameBucket.js

@@ -14,10 +14,9 @@ export function fetchList(query) {
14 14
   })
15 15
 }
16 16
 
17
-export function fetchMemberRecords(data) {
18
-  const round = 1
17
+export function fetchMemberRecords(data, query = { round: 1 }) {
19 18
   return request({
20
-    url: `/gambleGameBuckets/${data.id}/round/${round}/memberRecords`,
19
+    url: `/gambleGameBuckets/${data.id}/round/${query.round}/memberRecords`,
21 20
     method: 'get'
22 21
   })
23 22
 }

+ 26 - 6
src/views/gambleGameBucket/detail/index.vue

@@ -6,7 +6,7 @@
6 6
         </el-option>
7 7
       </el-select>
8 8
   </div>
9
-    <el-table :data="dealing" v-loading.body="listLoading" element-loading-text="Loading" border fit highlight-current-row
9
+    <el-table :data="dealing" v-loading.body="listLoading" :summary-method="getSummaries" show-summary  element-loading-text="Loading" border fit highlight-current-row
10 10
       style="width: 100%">
11 11
       <el-table-column label="本期開獎" align="center">      
12 12
         <el-table-column label="第一門">
@@ -111,7 +111,7 @@
111 111
 <script>
112 112
 
113 113
 import { mapGetters, mapActions } from 'vuex'
114
-import { fetchDetails, fetchRoundCount, fetchDealingRecords } from '@/api/gambleGameBucket'
114
+import { fetchDetails, fetchRoundCount, fetchDealingRecords, fetchMemberRecords } from '@/api/gambleGameBucket'
115 115
 import { fetchList } from '@/api/gambleMember'
116 116
 import _ from 'lodash'
117 117
 
@@ -134,7 +134,8 @@ export default {
134 134
       roundOptions: [],
135 135
       members: [],
136 136
       dealing: [],
137
-      bookie: []
137
+      bookie: [],
138
+      memberRecord: []
138 139
     }
139 140
   },
140 141
   props: ['bucket'],
@@ -182,7 +183,7 @@ export default {
182 183
     ]),
183 184
     getList() {
184 185
       this.listLoading = true
185
-      let detailTemp, dealingTemp
186
+      let detailTemp, dealingTemp, memberRecordTemp
186 187
       this.detail = []
187 188
       fetchDealingRecords(this.bucket, this.listQuery).then(response => {
188 189
         dealingTemp = response.data.rows.filter(record => {
@@ -190,7 +191,6 @@ export default {
190 191
         })
191 192
         // TODO refactor
192 193
         let deal = {}
193
-
194 194
         dealingTemp.map((record, index) => {
195 195
           if (index % 6 === 0) {
196 196
             deal.door_0 = record.door
@@ -227,6 +227,14 @@ export default {
227 227
           }
228 228
         })
229 229
       })
230
+      fetchMemberRecords(this.bucket, this.listQuery).then(response => {
231
+        memberRecordTemp = _.groupBy(response.data.rows, record => {
232
+          return record.door
233
+        })
234
+        this.memberRecord = Object.values(memberRecordTemp)
235
+        // console.log(this.memberRecord,'dsddss')
236
+
237
+      })
230 238
       fetchDetails(this.bucket, this.listQuery).then(response => {
231 239
         detailTemp = response.data.rows.filter(record => {
232 240
           return record.DealingRecord.door !== -1 &&
@@ -300,6 +308,18 @@ export default {
300 308
         }
301 309
       }
302 310
     },
311
+    getSummaries(param) {
312
+      const { columns, data } = param
313
+      const sums = []
314
+      this.memberRecord.map((group,index) => {
315
+          let doorTotal = 0
316
+          group.map((door) => {
317
+            doorTotal += door.wager
318
+          })
319
+          sums[index] = doorTotal
320
+      })
321
+      return sums
322
+    },
303 323
     handleFilter() {
304 324
       this.dealing = []
305 325
       this.getList()
@@ -307,7 +327,7 @@ export default {
307 327
     _sum(i) {
308 328
       let count = 0
309 329
       for (let j = 0; j < i; j++) {
310
-          count += this.group[j].length
330
+        count += this.group[j].length
311 331
       }
312 332
       return count
313 333
     }