|
@@ -9,7 +9,7 @@
|
9
|
9
|
<el-input style='width:100px;' placeholder="輸入檔案名稱" prefix-icon="el-icon-document" v-model="filename"></el-input>
|
10
|
10
|
<el-button style='margin-bottom:20px;' type="primary" icon="document" @click="handleDownload" :loading="downloadLoading">匯出 excel</el-button>
|
11
|
11
|
</div>
|
12
|
|
- <el-table :data="list" v-loading.body="listLoading" element-loading-text="Loading" border fit highlight-current-row
|
|
12
|
+ <el-table show-summary :summary-method="getSummaries" :data="list" v-loading.body="listLoading" element-loading-text="Loading" border fit highlight-current-row
|
13
|
13
|
style="width: 100%">
|
14
|
14
|
<!-- <el-table-column align="center" label='ID' >
|
15
|
15
|
<template slot-scope="scope">
|
|
@@ -26,17 +26,17 @@
|
26
|
26
|
{{scope.row.feeRatio}}
|
27
|
27
|
</template>
|
28
|
28
|
</el-table-column>
|
29
|
|
- <el-table-column label="代理商上繳金額" align="center">
|
|
29
|
+ <el-table-column label="代理商上繳金額" prop="all" align="center">
|
30
|
30
|
<template slot-scope="scope">
|
31
|
31
|
<span :style="moneyColor(scope.row.all)">{{scope.row.all}}</span>
|
32
|
32
|
</template>
|
33
|
33
|
</el-table-column>
|
34
|
|
- <el-table-column label="上繳工作室金額70%" align="center">
|
|
34
|
+ <el-table-column label="上繳工作室金額70%" prop="all70" align="center">
|
35
|
35
|
<template slot-scope="scope">
|
36
|
36
|
<span :style="moneyColor(scope.row.all70)">{{scope.row.all70}}</span>
|
37
|
37
|
</template>
|
38
|
38
|
</el-table-column>
|
39
|
|
- <el-table-column label="總逞罰" align="center">
|
|
39
|
+ <el-table-column label="總逞罰" prop="fredPunishment" align="center">
|
40
|
40
|
<template slot-scope="scope">
|
41
|
41
|
{{scope.row.fredPunishment}}
|
42
|
42
|
</template>
|
|
@@ -134,28 +134,32 @@ export default {
|
134
|
134
|
]),
|
135
|
135
|
async getList() {
|
136
|
136
|
this.listLoading = true
|
137
|
|
- await fetchList(this.listQuery).then(response => {
|
|
137
|
+ fetchList(this.listQuery).then(async response => {
|
138
|
138
|
|
139
|
|
- response.data.rows.map(agent => {
|
|
139
|
+ // response.data.rows.map(agent => {
|
|
140
|
+ console.log('eeeee', response.data.rows)
|
|
141
|
+ for(const agent of response.data.rows) {
|
140
|
142
|
let combine = []
|
141
|
143
|
this.list = []
|
142
|
|
- this.visible.firstLayer === true ? fetchGroupAll(agent, this.listQuery).then(response => {
|
143
|
|
- console.log('response' , response.data.all)
|
144
|
|
- this.list.push({
|
145
|
|
- // id: agent.GambleMember.id,
|
146
|
|
- // GambleMember: {
|
147
|
|
- // id: agent.GambleMember.id,
|
148
|
|
- // name: agent.GambleMember.name
|
149
|
|
- // },
|
150
|
|
- id: agent.GambleMember.id,
|
151
|
|
- name: agent.GambleMember.name.slice(19),
|
152
|
|
- createdAt: agent.GambleMember.createdAt,
|
153
|
|
- feeRatio: response.data.feeRatio,
|
154
|
|
- all: response.data.all,
|
155
|
|
- all70: response.data.all70,
|
156
|
|
- fredPunishment: response.data.fredPunishment
|
|
144
|
+ if(this.visible.firstLayer === true) {
|
|
145
|
+ fetchGroupAll(agent, this.listQuery).then(response => {
|
|
146
|
+ console.log('response' , response.data.all)
|
|
147
|
+ this.list.push({
|
|
148
|
+ // id: agent.GambleMember.id,
|
|
149
|
+ // GambleMember: {
|
|
150
|
+ // id: agent.GambleMember.id,
|
|
151
|
+ // name: agent.GambleMember.name
|
|
152
|
+ // },
|
|
153
|
+ id: agent.GambleMember.id,
|
|
154
|
+ name: agent.GambleMember.name.slice(19),
|
|
155
|
+ createdAt: agent.GambleMember.createdAt,
|
|
156
|
+ feeRatio: response.data.feeRatio,
|
|
157
|
+ all: response.data.all,
|
|
158
|
+ all70: response.data.all70,
|
|
159
|
+ fredPunishment: response.data.fredPunishment
|
|
160
|
+ })
|
157
|
161
|
})
|
158
|
|
- }) : false
|
|
162
|
+ }
|
159
|
163
|
// fetchMemberList(agent, this.listQuery).then(response => {
|
160
|
164
|
// response.data.rows.map(member => {
|
161
|
165
|
// let row = {
|
|
@@ -222,14 +226,11 @@ export default {
|
222
|
226
|
|
223
|
227
|
// this.listLoading = false
|
224
|
228
|
// })
|
225
|
|
- })
|
226
|
|
- this.list.sort(function compare(a, b) {
|
227
|
|
- const dateA = new Date(a.createdAt);
|
228
|
|
- const dateB = new Date(b.createdAt);
|
229
|
|
- return dateB - dateA;
|
230
|
|
- })
|
|
229
|
+ // })
|
|
230
|
+ }
|
231
|
231
|
// this.total = response.data.count
|
232
|
232
|
this.listLoading = false
|
|
233
|
+ console.log('list', this.list)
|
233
|
234
|
})
|
234
|
235
|
},
|
235
|
236
|
resetCreateData() {
|
|
@@ -309,6 +310,41 @@ export default {
|
309
|
310
|
moneyColor(money) {
|
310
|
311
|
return money >= 0 ? { color: '#67C23A' } : { color: '#FA5555' }
|
311
|
312
|
},
|
|
313
|
+ getSummaries(param) {
|
|
314
|
+ let { columns, data } = param;
|
|
315
|
+ let sums = [];
|
|
316
|
+ data = data.filter(item => item.name !== '文')
|
|
317
|
+ columns.forEach((column, index) => {
|
|
318
|
+ if (index === 0) {
|
|
319
|
+ sums[index] = '合計';
|
|
320
|
+ return;
|
|
321
|
+ }
|
|
322
|
+ const values = data.map(item => Number(item[column.property]));
|
|
323
|
+ if (!values.every(value => isNaN(value))) {
|
|
324
|
+ sums[index] = values.reduce((prev, curr) => {
|
|
325
|
+ const value = Number(curr);
|
|
326
|
+ if (!isNaN(value)) {
|
|
327
|
+ return new Decimal(prev).plus(curr);
|
|
328
|
+ } else {
|
|
329
|
+ return new Decimal(prev);
|
|
330
|
+ }
|
|
331
|
+ }, 0).valueOf();
|
|
332
|
+ sums[index];
|
|
333
|
+ } else {
|
|
334
|
+ sums[index] = 'N/A';
|
|
335
|
+ }
|
|
336
|
+ });
|
|
337
|
+ // this.allCombine.push({
|
|
338
|
+ // name: (this.data.secondLayer.GambleMember.name).slice(19),
|
|
339
|
+ // allUp: sums[2],
|
|
340
|
+ // allDown: sums[3],
|
|
341
|
+ // allChips: sums[1],
|
|
342
|
+ // allEarned: sums[6],
|
|
343
|
+ // allServiceFees: sums[13],
|
|
344
|
+ // });
|
|
345
|
+ // console.log('ewqewqeqweq', this.sums)
|
|
346
|
+ return sums;
|
|
347
|
+ }
|
312
|
348
|
},
|
313
|
349
|
}
|
314
|
350
|
</script>
|