Browse Source

enhance api

Encore 6 years ago
parent
commit
5f48ee5866

+ 27 - 0
src/api/agnetManagement.js

53
   })
53
   })
54
 }
54
 }
55
 
55
 
56
+export function fetchGroupDetail(data, query) {
57
+  return request({
58
+    url: `/agents/${data.GambleMember.id}/groupDetail`,
59
+    method: 'get',
60
+    params: {
61
+      startAt: query.startAt,
62
+      endAt: query.endAt
63
+      // name: query.name
64
+    //   chipsSort: query.chipsSort,
65
+    //   updatedSort: query.updatedSort
66
+    }
67
+  })
68
+}
69
+
70
+export function fetchGroupAll(data, query) {
71
+  return request({
72
+    url: `/agents/${data.GambleMember.id}/all`,
73
+    method: 'get',
74
+    params: {
75
+      startAt: query.startAt,
76
+      endAt: query.endAt
77
+      // name: query.name
78
+    //   chipsSort: query.chipsSort,
79
+    //   updatedSort: query.updatedSort
80
+    }
81
+  })
82
+}

+ 1 - 1
src/router/index.js

167
         meta: {
167
         meta: {
168
           title: '代理商管理',
168
           title: '代理商管理',
169
           icon: 'table',
169
           icon: 'table',
170
-          noCache: true
170
+          noCache: false
171
           // role: ['dd']
171
           // role: ['dd']
172
         },
172
         },
173
         children: [
173
         children: [

+ 1 - 1
src/utils/request.js

6
 // 创建axios实例
6
 // 创建axios实例
7
 const service = axios.create({
7
 const service = axios.create({
8
   baseURL: process.env.BASE_API, // api的base_url
8
   baseURL: process.env.BASE_API, // api的base_url
9
-  timeout: 20000 // 请求超时时间
9
+  timeout: 600000 // 请求超时时间
10
 })
10
 })
11
 
11
 
12
 // request拦截器
12
 // request拦截器

+ 112 - 97
src/views/agnetManagement/gambleMemberManagement/index.vue

17
           </div>
17
           </div>
18
       </div>
18
       </div>
19
       <el-table :data="allCombine" v-loading.body="listLoading" element-loading-text="Loading" border fit highlight-current-row>
19
       <el-table :data="allCombine" v-loading.body="listLoading" element-loading-text="Loading" border fit highlight-current-row>
20
-          <el-table-column label="代理商名稱" align="center">
21
-            <template slot-scope="scope">
20
+          <el-table-column label="代理商名稱" prop="data.secondLayer.GambleMember.name).slice(19)" align="center">
21
+            <!-- <template slot-scope="scope">
22
               <span>{{scope.row.name}}</span>
22
               <span>{{scope.row.name}}</span>
23
-            </template>
23
+            </template> -->
24
           </el-table-column>
24
           </el-table-column>
25
           <el-table-column label="總上分額" align="center">
25
           <el-table-column label="總上分額" align="center">
26
             <template slot-scope="scope">
26
             <template slot-scope="scope">
106
 <script>
106
 <script>
107
 
107
 
108
 import { mapActions, mapGetters } from 'vuex'
108
 import { mapActions, mapGetters } from 'vuex'
109
-import { fetchMemberList } from '@/api/agnetManagement'
109
+import { fetchMemberList, fetchGroupDetail } from '@/api/agnetManagement'
110
 import waves from '@/directive/waves' // 水波纹指令
110
 import waves from '@/directive/waves' // 水波纹指令
111
 import moment from 'moment-timezone'
111
 import moment from 'moment-timezone'
112
 import config from '../../../../config' 
112
 import config from '../../../../config' 
152
         }]
152
         }]
153
       },
153
       },
154
       date: null,
154
       date: null,
155
+      sum: [],      
155
       dialogFormVisible: false
156
       dialogFormVisible: false
156
 
157
 
157
     }
158
     }
176
       this.listLoading = true
177
       this.listLoading = true
177
       this.allCombine = []
178
       this.allCombine = []
178
       this.combine = []
179
       this.combine = []
179
-       let combine = []
180
-      await fetchMemberList(this.data.secondLayer, this.listQuery).then(response => {
181
-       console.log('response', response.data.rows)
182
-        response.data.rows.map(member => {
183
-          let row = {
184
-            id: member.id,
185
-            name: member.name,
186
-            chips: member.chips,
187
-            totalUp: 0,
188
-            totalDown: 0,
189
-            totalReward: 0,
190
-            totalPunishment: 0,
191
-            effectiveTotal: 0,
192
-            bookieEarned: 0,
193
-            memberEarned: 0,
194
-            bookieWagerFee: 0,
195
-            bookieWagerFeeRatio: 0,
196
-            bookieServiceFees: 0,
197
-            bookieServiceFeesRatio: 0,
198
-            memberServiceFees: 0,
199
-            memberServiceFeesRatio: 0,
200
-            totalServiceFees: 0,
201
-            memberCheckOut: 0,
202
-            feeRatio: new Decimal(this.data.secondLayer.feeRatio/100),
203
-          }
204
-          let bookie = _.groupBy(member['GambleGame-Bucket-MemberRecords'], 'isBookie')
205
-          if (bookie.false) {
206
-            row.memberEarned = _.sumBy(bookie.false, item => {
207
-              return Math.abs(item.earned)
208
-            });
209
-            // console.log('membeEarned', row.memberEarned)
210
-            row.memberServiceFees = _.sumBy(bookie.false, 'serviceFees');
211
-            row.memberServiceFeesRatio = row.feeRatio.times(row.memberServiceFees).valueOf()
180
+      //  let combine = []
181
+       await fetchGroupDetail(this.data.secondLayer, this.listQuery).then(response => {
182
+
183
+         console.log('combine', response.data)
184
+         
185
+         this.combine = response.data
186
+         
187
+       });
188
+      // await fetchMemberList(this.data.secondLayer, this.listQuery).then(response => {
189
+      //  console.log('response', response.data.rows)
190
+      //   response.data.rows.map(member => {
191
+      //     let row = {
192
+      //       id: member.id,
193
+      //       name: member.name,
194
+      //       chips: member.chips,
195
+      //       totalUp: 0,
196
+      //       totalDown: 0,
197
+      //       totalReward: 0,
198
+      //       totalPunishment: 0,
199
+      //       effectiveTotal: 0,
200
+      //       bookieEarned: 0,
201
+      //       memberEarned: 0,
202
+      //       bookieWagerFee: 0,
203
+      //       bookieWagerFeeRatio: 0,
204
+      //       bookieServiceFees: 0,
205
+      //       bookieServiceFeesRatio: 0,
206
+      //       memberServiceFees: 0,
207
+      //       memberServiceFeesRatio: 0,
208
+      //       totalServiceFees: 0,
209
+      //       memberCheckOut: 0,
210
+      //       feeRatio: new Decimal(this.data.secondLayer.feeRatio/100),
211
+      //     }
212
+      //     let bookie = _.groupBy(member['GambleGame-Bucket-MemberRecords'], 'isBookie')
213
+      //     if (bookie.false) {
214
+      //       row.memberEarned = _.sumBy(bookie.false, item => {
215
+      //         return Math.abs(item.earned)
216
+      //       });
217
+      //       // console.log('membeEarned', row.memberEarned)
218
+      //       row.memberServiceFees = _.sumBy(bookie.false, 'serviceFees');
219
+      //       row.memberServiceFeesRatio = row.feeRatio.times(row.memberServiceFees).valueOf()
212
             
220
             
213
-          }
214
-          if (bookie.true) {
215
-            row.bookieWagerFee = _.sumBy(bookie.true, (item) => {
216
-              return item.wagerServiceFees
217
-            });
218
-            row.bookieWagerFeeRatio = row.feeRatio.times(row.bookieWagerFee).valueOf()
219
-            // console.log('eeee', bookie.true)
220
-            row.bookieEarned = _.sumBy(bookie.true, item => {
221
-              return Math.abs(item.earned)
222
-            });
223
-            // console.log('bookieEarned' , row.bookieEarned)
224
-            row.bookieServiceFees = _.sumBy(bookie.true, (item) => { return item.serviceFees});
225
-            row.bookieServiceFeesRatio = row.feeRatio.times(row.bookieServiceFees).valueOf()
226
-          }
221
+      //     }
222
+      //     if (bookie.true) {
223
+      //       row.bookieWagerFee = _.sumBy(bookie.true, (item) => {
224
+      //         return item.wagerServiceFees
225
+      //       });
226
+      //       row.bookieWagerFeeRatio = row.feeRatio.times(row.bookieWagerFee).valueOf()
227
+      //       // console.log('eeee', bookie.true)
228
+      //       row.bookieEarned = _.sumBy(bookie.true, item => {
229
+      //         return Math.abs(item.earned)
230
+      //       });
231
+      //       // console.log('bookieEarned' , row.bookieEarned)
232
+      //       row.bookieServiceFees = _.sumBy(bookie.true, (item) => { return item.serviceFees});
233
+      //       row.bookieServiceFeesRatio = row.feeRatio.times(row.bookieServiceFees).valueOf()
234
+      //     }
227
 
235
 
228
-          row.effectiveTotal = _.sumBy(member['GambleGame-Bucket-RoundRecords'], item => {
229
-              return item.used_quota
230
-            }) + row.memberEarned
236
+      //     row.effectiveTotal = _.sumBy(member['GambleGame-Bucket-RoundRecords'], item => {
237
+      //         return item.used_quota
238
+      //       }) + row.memberEarned
231
 
239
 
232
-          row.totalServiceFees = Number(new Decimal(row.bookieServiceFees).plus(row.memberServiceFees).plus(row.bookieWagerFee).times(row.feeRatio).valueOf())
233
-          let chipsLog = _.groupBy(member.GambleMemberChipsLogs, 'type')
234
-          console.log('type', chipsLog)
235
-          if (chipsLog['0'] || chipsLog['2']) {
236
-            row.totalUp = _.sumBy(chipsLog['0'], (item) => { 
237
-              return item.chips > 0 ? item.chips : 0
238
-            })
239
-            row.totalDown = _.sumBy(chipsLog['0'], (item) => { 
240
-              return item.chips < 0 ? item.chips : 0
241
-            }) + _.sumBy(chipsLog['2'], (item) => { 
242
-              return item.chips < 0 ? item.chips : 0
243
-            })
240
+      //     row.totalServiceFees = Number(new Decimal(row.bookieServiceFees).plus(row.memberServiceFees).plus(row.bookieWagerFee).times(row.feeRatio).valueOf())
241
+      //     let chipsLog = _.groupBy(member.GambleMemberChipsLogs, 'type')
242
+      //     console.log('type', chipsLog)
243
+      //     if (chipsLog['0'] || chipsLog['2']) {
244
+      //       row.totalUp = _.sumBy(chipsLog['0'], (item) => { 
245
+      //         return item.chips > 0 ? item.chips : 0
246
+      //       })
247
+      //       row.totalDown = _.sumBy(chipsLog['0'], (item) => { 
248
+      //         return item.chips < 0 ? item.chips : 0
249
+      //       }) + _.sumBy(chipsLog['2'], (item) => { 
250
+      //         return item.chips < 0 ? item.chips : 0
251
+      //       })
244
 
252
 
245
-          }
246
-          row.memberCheckOut = (row.totalUp + row.totalDown - row.chips)*(-1)
247
-          // TODO CHECK 是否需要
248
-          let punishment =  _.sumBy(member['GambleGame-Bucket-PunishmentRecords'], item => {
249
-              return (item.chips)*(-1)
250
-          })
251
-          if(chipsLog['1']) {
252
-            row.totalReward = _.sumBy(chipsLog['1'], (item) => { 
253
-              return item.chips > 0 ? item.chips : 0
254
-            })
255
-            row.totalPunishment = _.sumBy(chipsLog['1'], (item) => { 
256
-              return item.chips < 0 ? item.chips : 0
257
-            });
258
-          }
259
-          row.totalPunishment += punishment
260
-          // console.log('www',row)
253
+      //     }
254
+      //     row.memberCheckOut = (row.totalUp + row.totalDown - row.chips)*(-1)
255
+      //     // TODO CHECK 是否需要
256
+      //     let punishment =  _.sumBy(member['GambleGame-Bucket-PunishmentRecords'], item => {
257
+      //         return (item.chips)*(-1)
258
+      //     })
259
+      //     if(chipsLog['1']) {
260
+      //       row.totalReward = _.sumBy(chipsLog['1'], (item) => { 
261
+      //         return item.chips > 0 ? item.chips : 0
262
+      //       })
263
+      //       row.totalPunishment = _.sumBy(chipsLog['1'], (item) => { 
264
+      //         return item.chips < 0 ? item.chips : 0
265
+      //       });
266
+      //     }
267
+      //     row.totalPunishment += punishment
268
+      //     // console.log('www',row)
261
 
269
 
262
-          combine.push(row)
263
-        })
264
-        // console.log('cimbine' , this.combine)
265
-        this.allCombine.push({
266
-          name: (this.data.secondLayer.GambleMember.name).slice(19),
267
-          allUp: _.sumBy(combine, 'totalUp'),
268
-          allDown: _.sumBy(combine, 'totalDown'),
269
-          allChips: _.sumBy(combine, 'chips'),
270
-          allEarned: _.sumBy(combine, (item) => {return item.bookieEarned + item.memberEarned}),
271
-          allServiceFees: _.sumBy(combine, (item) => {return item.totalServiceFees }).toFixed(2),
272
-        })
273
-        this.combine = combine
270
+      //     combine.push(row)
271
+      //   })
272
+      //   // console.log('cimbine' , this.combine)
273
+      //   this.allCombine.push({
274
+      //     name: (this.data.secondLayer.GambleMember.name).slice(19),
275
+      //     allUp: _.sumBy(combine, 'totalUp'),
276
+      //     allDown: _.sumBy(combine, 'totalDown'),
277
+      //     allChips: _.sumBy(combine, 'chips'),
278
+      //     allEarned: _.sumBy(combine, (item) => {return item.bookieEarned + item.memberEarned}),
279
+      //     allServiceFees: _.sumBy(combine, (item) => {return item.totalServiceFees }).toFixed(2),
280
+      //   })
281
+      //   this.combine = combine
274
         this.listLoading = false
282
         this.listLoading = false
275
-      })
283
+      // })
276
       
284
       
277
     },
285
     },
278
     handlePersonDetail(row) {
286
     handlePersonDetail(row) {
329
     },
337
     },
330
     getSummaries(param) {
338
     getSummaries(param) {
331
         const { columns, data } = param;
339
         const { columns, data } = param;
332
-        const sums = [];
340
+        let sums = [];
333
         columns.forEach((column, index) => {
341
         columns.forEach((column, index) => {
334
           if (index === 0) {
342
           if (index === 0) {
335
             sums[index] = '合計';
343
             sums[index] = '合計';
350
             sums[index] = 'N/A';
358
             sums[index] = 'N/A';
351
           }
359
           }
352
         });
360
         });
353
-
361
+        // this.allCombine.push({
362
+        //   name: (this.data.secondLayer.GambleMember.name).slice(19),
363
+        //   allUp: sums[2],
364
+        //   allDown: sums[3],
365
+        //   allChips: sums[1],
366
+        //   allEarned: sums[6],
367
+        //   allServiceFees: sums[13],
368
+        // });
354
         return sums;
369
         return sums;
355
       }
370
       }
356
   },
371
   },

+ 78 - 66
src/views/agnetManagement/index.vue

66
 <script>
66
 <script>
67
 
67
 
68
 import { mapGetters, mapActions } from 'vuex'
68
 import { mapGetters, mapActions } from 'vuex'
69
-import { fetchList, createAgent, fetchMemberList } from '@/api/agnetManagement'
69
+import { fetchList, createAgent, fetchMemberList,fetchGroupAll } from '@/api/agnetManagement'
70
 import waves from '@/directive/waves' // 水波纹指令
70
 import waves from '@/directive/waves' // 水波纹指令
71
 import moment from 'moment-timezone'
71
 import moment from 'moment-timezone'
72
 import _ from 'lodash'
72
 import _ from 'lodash'
123
 
123
 
124
         response.data.rows.map(agent => {
124
         response.data.rows.map(agent => {
125
           let combine = []
125
           let combine = []
126
-          this.list = []          
127
-          fetchMemberList(agent, this.listQuery).then(response => {
128
-            response.data.rows.map(member => {
129
-              let row = {
130
-                id: member.id,
131
-                name: member.name,
132
-                chips: member.chips,
133
-                totalUp: 0,
134
-                totalDown: 0,
135
-                totalReward: 0,
136
-                totalPunishment: 0,
137
-                bookieEarned: 0,
138
-                memberEarned: 0,
139
-                bookieWagerFee: 0,
140
-                bookieServiceFees: 0,
141
-                memberServiceFees: 0,
142
-                totalServiceFees: 0,
143
-                memberCheckOut: 0,
144
-              }
145
-            
146
-              let bookie = _.groupBy(member['GambleGame-Bucket-MemberRecords'], 'isBookie')
147
-              if (bookie.false) {
148
-                row.memberEarned = _.sumBy(bookie.false, item => {
149
-                  return Math.abs(item.earned)
150
-                });
151
-                row.memberServiceFees = _.sumBy(bookie.false, 'serviceFees')*agent.feeRatio/100;
152
-              }
153
-              if (bookie.true) {
154
-                row.bookieWagerFee = _.sumBy(bookie.true, (item) => {
155
-                  return item.wagerServiceFees
156
-                }) * agent.feeRatio/100;
157
-                row.bookieEarned = _.sumBy(bookie.true, item => {
158
-                  return Math.abs(item.earned)
159
-                });
160
-                row.bookieServiceFees = _.sumBy(bookie.true, (item) => { return item.serviceFees })*agent.feeRatio/100;
161
-              }
162
-              row.totalServiceFees =  Number(new Decimal(row.bookieServiceFees).plus(row.memberServiceFees).plus(row.bookieWagerFee).valueOf())
163
-              let chipsLog = _.groupBy(member.GambleMemberChipsLogs, 'type')
164
-              if (chipsLog['0']) {
165
-                row.totalUp = _.sumBy(chipsLog['0'], (item) => { 
166
-                  return item.chips > 0 ? item.chips : 0
167
-                })
168
-                row.totalDown = _.sumBy(chipsLog['0'], (item) => { 
169
-                  return item.chips < 0 ? item.chips : 0
170
-                })
171
-              }
172
-              row.memberCheckOut = row.totalUp + row.totalDown - row.chips
173
-              if(chipsLog['1']) {
174
-                row.totalReward = _.sumBy(chipsLog['1'], (item) => { 
175
-                  return item.chips > 0 ? item.chips : 0
176
-                })
177
-                row.totalPunishment = _.sumBy(chipsLog['1'], (item) => { 
178
-                  return item.chips < 0 ? item.chips : 0
179
-                })
180
-              }
181
-              combine.push(row)
126
+          this.list = []   
127
+          this.visible.firstLayer === true ?  fetchGroupAll(agent, this.listQuery).then(response => {
128
+            console.log('response' , response.data.all)
129
+            this.list.push({
130
+              // id: agent.GambleMember.id,
131
+              GambleMember: {
132
+                id: agent.GambleMember.id,
133
+                name: agent.GambleMember.name
134
+              },
135
+              feeRatio: response.data.feeRatio,
136
+              all: response.data.all
182
             })
137
             })
183
-            let allUp = _.sumBy(combine, 'totalUp')
184
-            let allDown = _.sumBy(combine, 'totalDown')
185
-            let allChips = _.sumBy(combine, 'chips')
186
-            let allEarned = _.sumBy(combine, (item) => {return item.bookieEarned + item.memberEarned})
187
-            let allServiceFees = _.sumBy(combine, (item) => {return item.totalServiceFees}).toFixed(2)
188
-            agent.all = (allUp+allDown-allChips-allServiceFees)*(-1)
189
-            this.list.push(agent)
138
+          }) : false
139
+          // fetchMemberList(agent, this.listQuery).then(response => {
140
+          //   response.data.rows.map(member => {
141
+          //     let row = {
142
+          //       id: member.id,
143
+          //       name: member.name,
144
+          //       chips: member.chips,
145
+          //       totalUp: 0,
146
+          //       totalDown: 0,
147
+          //       totalReward: 0,
148
+          //       totalPunishment: 0,
149
+          //       bookieEarned: 0,
150
+          //       memberEarned: 0,
151
+          //       bookieWagerFee: 0,
152
+          //       bookieServiceFees: 0,
153
+          //       memberServiceFees: 0,
154
+          //       totalServiceFees: 0,
155
+          //       memberCheckOut: 0,
156
+          //     }
190
             
157
             
191
-            this.listLoading = false
192
-          })
158
+          //     let bookie = _.groupBy(member['GambleGame-Bucket-MemberRecords'], 'isBookie')
159
+          //     if (bookie.false) {
160
+          //       row.memberEarned = _.sumBy(bookie.false, item => {
161
+          //         return Math.abs(item.earned)
162
+          //       });
163
+          //       row.memberServiceFees = _.sumBy(bookie.false, 'serviceFees')*agent.feeRatio/100;
164
+          //     }
165
+          //     if (bookie.true) {
166
+          //       row.bookieWagerFee = _.sumBy(bookie.true, (item) => {
167
+          //         return item.wagerServiceFees
168
+          //       }) * agent.feeRatio/100;
169
+          //       row.bookieEarned = _.sumBy(bookie.true, item => {
170
+          //         return Math.abs(item.earned)
171
+          //       });
172
+          //       row.bookieServiceFees = _.sumBy(bookie.true, (item) => { return item.serviceFees })*agent.feeRatio/100;
173
+          //     }
174
+          //     row.totalServiceFees =  Number(new Decimal(row.bookieServiceFees).plus(row.memberServiceFees).plus(row.bookieWagerFee).valueOf())
175
+          //     let chipsLog = _.groupBy(member.GambleMemberChipsLogs, 'type')
176
+          //     if (chipsLog['0']) {
177
+          //       row.totalUp = _.sumBy(chipsLog['0'], (item) => { 
178
+          //         return item.chips > 0 ? item.chips : 0
179
+          //       })
180
+          //       row.totalDown = _.sumBy(chipsLog['0'], (item) => { 
181
+          //         return item.chips < 0 ? item.chips : 0
182
+          //       })
183
+          //     }
184
+          //     row.memberCheckOut = row.totalUp + row.totalDown - row.chips
185
+          //     if(chipsLog['1']) {
186
+          //       row.totalReward = _.sumBy(chipsLog['1'], (item) => { 
187
+          //         return item.chips > 0 ? item.chips : 0
188
+          //       })
189
+          //       row.totalPunishment = _.sumBy(chipsLog['1'], (item) => { 
190
+          //         return item.chips < 0 ? item.chips : 0
191
+          //       })
192
+          //     }
193
+          //     combine.push(row)
194
+          //   })
195
+          //   let allUp = _.sumBy(combine, 'totalUp')
196
+          //   let allDown = _.sumBy(combine, 'totalDown')
197
+          //   let allChips = _.sumBy(combine, 'chips')
198
+          //   let allEarned = _.sumBy(combine, (item) => {return item.bookieEarned + item.memberEarned})
199
+          //   let allServiceFees = _.sumBy(combine, (item) => {return item.totalServiceFees}).toFixed(2)
200
+          //   agent.all = (allUp+allDown-allChips-allServiceFees)*(-1)
201
+          //   this.list.push(agent)
202
+            
203
+          //   this.listLoading = false
204
+          // })
193
         })
205
         })
194
         this.total = response.data.count
206
         this.total = response.data.count
195
         this.listLoading = false
207
         this.listLoading = false