소스 검색

Merge branch 'master' of https://git.bjtdba.com/shop/shop_adimn_backgroud

hefei 1 년 전
부모
커밋
79b598c7d8

+ 14 - 0
src/api/accounts.js

@@ -190,6 +190,20 @@ export function getVrCountApi(data) {
190 190
 }
191 191
 
192 192
 /**
193
+ * @description PV统计
194
+ */
195
+export function getPvCountApi(data) {
196
+  return request.get('finance/pv_list', data)
197
+} 
198
+
199
+/**
200
+ * @description 商户分润统计
201
+ */
202
+export function getFenrunApi(data) {
203
+  return request.get('finance/fenrun_list', data)
204
+}
205
+
206
+/**
193 207
  * @description 佣金统计
194 208
  */
195 209
 export function getYongJinCountApi(data) {

+ 21 - 3
src/router/modules/accounts.js

@@ -173,10 +173,10 @@ const accountsRouter =
173 173
         meta: {
174 174
           title: '红包统计',
175 175
           noCache: true
176
-        },
176
+        },  
177 177
         component: () => import('@/views/accounts/caiwutongji/hongbao/index')
178 178
       },
179
-      {
179
+      {  
180 180
         path: 'count/fugou',
181 181
         name: 'fugou',
182 182
         meta: {
@@ -190,10 +190,28 @@ const accountsRouter =
190 190
         name: 'vr',
191 191
         meta: {
192 192
           title: 'vr统计',
193
-          noCache: true
193
+          noCache: true 
194 194
         },
195 195
         component: () => import('@/views/accounts/caiwutongji/vr/index')
196 196
       },
197
+      {  
198
+        path: 'count/pv',
199
+        name: 'pv',
200
+        meta: {
201
+          title: 'PV统计',
202
+          noCache: true
203
+        },
204
+        component: () => import('@/views/accounts/caiwutongji/pv/index')
205
+      },
206
+      { 
207
+        path: 'count/fenrun',
208
+        name: 'fenrun',
209
+        meta: {
210
+          title: '商户分润统计',
211
+          noCache: true
212
+        },
213
+        component: () => import('@/views/accounts/caiwutongji/fenrun/index')
214
+      },
197 215
       {
198 216
         path: 'record/bill',
199 217
         name: 'billRecord',

+ 57 - 6
src/views/accounts/caiwutongji/commission/index.vue

@@ -55,8 +55,35 @@
55 55
                                 <el-option :value="-1" label="已失效"/>
56 56
                             </el-select>
57 57
                         </el-form-item>
58
+
59
+                        <!-- 佣金类型 1代理费 2 消费佣金 3直推奖√ 4辖区佣金\\r\\n5 养老金√ 6 广告费 7 锁客收益 √ 8平台奖励 9渠道商\\r\\n10 推广店铺收益 √ 11.合伙人分红 12联创分红,13 股权分红 -->
60
+                        <el-form-item class="selected-kuang" label="名称:">
61
+                            <el-select
62
+                                v-model="tableFrom.commission_type"
63
+                                class="filter-item"
64
+                                placeholder="全部"
65
+                                @change="getList(1)"
66
+                            >
67
+                                <el-option value="" label="全部"/> 
68
+                                <!-- <el-option :value="1" label="代理费"/>
69
+                                <el-option :value="2" label="消费佣金"/> -->
70
+                                <el-option :value="3" label="直推佣金"/>
71
+                                <!-- <el-option :value="4" label="辖区佣金"/>
72
+                                <el-option :value="5" label="养老金"/>
73
+                                <el-option :value="6" label="广告费"/> -->
74
+                                <el-option :value="7" label="锁客收益"/>
75
+                                <!-- <el-option :value="8" label="平台奖励"/>
76
+                                <el-option :value="9" label="渠道商"/> -->
77
+                                <el-option :value="10" label="推广店铺收益"/>
78
+                                <el-option :value="11" label="合伙人分红"/>
79
+                                <el-option :value="12" label="联创分红"/>
80
+                                <el-option :value="13" label="股权分红"/>
81
+                            </el-select>
82
+                        </el-form-item>
58 83
                     </el-form>
59 84
 
85
+                    
86
+
60 87
                     <div class="bottom-button">
61 88
                         <el-button size="small" style="width: 100px; margin-top: 20px; border: 1px solid #999;"
62 89
                                    @click="reset">重置
@@ -65,6 +92,8 @@
65 92
 
66 93
                         <el-button size="small" style="width: 100px; margin-top: 20px;" type="primary" @click="getList(1)">查询
67 94
                         </el-button>
95
+
96
+                        <el-button type="primary" size="small" @click="exportSearchResult" style="width: 100px; margin-top: 20px;">导出</el-button>
68 97
                     </div>
69 98
 
70 99
                 </div>
@@ -116,6 +145,26 @@
116 145
                       <span v-if="scope.row.user_group == 7"> 董事 </span>
117 146
                   </template>
118 147
                 </el-table-column>
148
+
149
+                 <!-- 佣金类型 1代理费 2 消费佣金 3直推奖√ 4辖区佣金\\r\\n5 养老金√ 6 广告费 7 锁客收益 √ 8平台奖励 9渠道商\\r\\n10 推广店铺收益 √ 11.合伙人分红 12联创分红,13 股权分红 -->  
150
+                <el-table-column label="名称" min-width="130" >
151
+                  <template slot-scope="scope">
152
+                      <span v-if="scope.row.commission_type == 1"> 代理费 </span>   
153
+                      <span v-if="scope.row.commission_type == 2"> 消费佣金 </span>
154
+                      <span v-if="scope.row.commission_type == 3"> 直推佣金 </span>
155
+                        <span v-if="scope.row.commission_type == 4"> 辖区佣金 </span>
156
+                        <span v-if="scope.row.commission_type == 5"> 养老金 </span>
157
+                        <span v-if="scope.row.commission_type == 6"> 广告费 </span>
158
+                        <span v-if="scope.row.commission_type == 7"> 锁客收益 </span>
159
+                        <span v-if="scope.row.commission_type == 8"> 平台奖励 </span>
160
+                        <span v-if="scope.row.commission_type == 9"> 渠道商 </span>
161
+                        <span v-if="scope.row.commission_type == 10"> 推广店铺收益 </span>
162
+                        <span v-if="scope.row.commission_type == 11"> 合伙人分红 </span>
163
+                        <span v-if="scope.row.commission_type == 12"> 联创分红 </span>
164
+                        <span v-if="scope.row.commission_type == 13"> 股权分红 </span>
165
+                  </template>
166
+                </el-table-column>
167
+
119 168
                 <!-- <el-table-column label="隶属团队" min-width="130" prop="team_account"/> -->
120 169
                 <el-table-column label="说明" min-width="130" prop="title"/>
121 170
                 <el-table-column label="关联订单" prop="order_sn"  min-width="130">
@@ -299,13 +348,15 @@ export default {
299 348
         },
300 349
         // 导出
301 350
         exportSearchResult() {
302
-            RewardExcelApi(this.paramsData).then(res => {
303
-                console.log(res.data)
304
-                console.log(res.data.path)
305
-                window.open(res.data.path)
306
-                // window.open(SettingMer.https + `/excel/download/0?token=` + getToken()+`&path=` + res.data.path)
351
+            this.tableFrom.is_excel = 1;
352
+            getYongJinCountApi(this.tableFrom).then(res => {
353
+                console.log( res.data)
354
+                console.log( res.data.path)
355
+                this.tableFrom.is_excel = 0;
356
+                this.$message.success('导出成功')
357
+                window.open( res.data.path)
307 358
             }).catch((res) => {
308
-
359
+                this.$message.error('导出失败');
309 360
             })
310 361
         },
311 362
 

+ 8 - 9
src/views/accounts/caiwutongji/contribute/index.vue

@@ -44,9 +44,8 @@
44 44
 
45 45
                 <div class="bottom-button">
46 46
                   <el-button size="small" @click="reset" style="width: 100px; margin-top: 20px; border: 1px solid; " >重置</el-button>
47
-                  <!-- <el-button type="primary" size="small" @click="exportSearchResult" style="width: 100px; margin-top: 20px;">导出</el-button> -->
48
-
49 47
                   <el-button type="primary" size="small" @click="getList(1)" style="width: 100px; margin-top: 20px;">查询</el-button>
48
+                  <el-button type="primary" size="small" @click="exportSearchResult" style="width: 100px; margin-top: 20px;">导出</el-button>
50 49
                 </div>
51 50
             </div>
52 51
 
@@ -232,23 +231,23 @@ export default {
232 231
             page: 1,
233 232
             limit: 20,
234 233
             type: "",
235
-            pm: ""
234
+            pm: "",
235
+            is_excel: 0,
236 236
           }
237 237
         this.getList();
238 238
       },
239 239
       exportSearchResult() {
240
-        RewardExcelApi(this.paramsData).then(res => {
240
+        this.tableFrom.is_excel = 1;
241
+        getContributeCountApi(this.tableFrom).then(res => {
241 242
           console.log( res.data)
242 243
           console.log( res.data.path)
244
+          this.tableFrom.is_excel = 0;
245
+          this.$message.success('导出成功')
243 246
           window.open( res.data.path)
244
-          // window.open(SettingMer.https + `/excel/download/0?token=` + getToken()+`&path=` + res.data.path)
245 247
         }).catch((res) => {
246
-
248
+          this.$message.error('导出失败');
247 249
         })
248 250
       },
249
-
250
-
251
-
252 251
         // 表格某一行添加特定的样式
253 252
         addTdClass(val) {
254 253
             if (val.row.status > 0 && val.row.paid == 1) {

+ 451 - 0
src/views/accounts/caiwutongji/fenrun/index.vue

@@ -0,0 +1,451 @@
1
+<template>
2
+<div class="divBox">
3
+    <el-card class="box-card">
4
+        <div slot="header" class="clearfix">
5
+            <div class="container">
6
+                <el-form size="small" label-width="100px">
7
+                    <el-form-item label="时间选择:" class="width100">
8
+                        <el-radio-group v-model="tableFrom.date" type="button" class="mr20" size="small" @change="selectChange(tableFrom.date)">
9
+                            <el-radio-button v-for="(item,i) in fromList.fromTxt" :key="i" :label="item.val">{{ item.text }}</el-radio-button>
10
+                        </el-radio-group>
11
+                        <el-date-picker v-model="timeVal" value-format="yyyy/MM/dd" format="yyyy/MM/dd" size="small" type="daterange" placement="bottom-end" placeholder="自定义时间" style="width: 250px;" @change="onchangeTime" />
12
+                    </el-form-item>
13
+                    <el-form-item label="用户手机号:" class="width100">
14
+                        <el-input v-model="tableFrom.phone" placeholder="请输入" class="selWidth" size="small">
15
+                        </el-input>
16
+                    </el-form-item>
17
+                    <!-- <el-form-item label="商户分润变动:" class="selected-kuang">
18
+                      <el-select
19
+                        v-model="tableFrom.pm"
20
+                        placeholder="全部"
21
+                        class="filter-item"
22
+                        @change="getList(1)"
23
+                      >
24
+                        <el-option label="全部" value="" />
25
+                        <el-option label="增加" value="1" />
26
+                        <el-option label="扣减" value="2" />
27
+                      </el-select>
28
+                    </el-form-item> --> 
29
+                    <el-form-item label="分润状态:" class="selected-kuang"> 
30
+                      <el-select 
31
+                        v-model="tableFrom.status"
32
+                        placeholder="全部"
33
+                        class="filter-item"
34
+                        @change="getList(1)"
35
+                      >
36
+                        <el-option label="全部" value="" />
37
+                        <el-option label="已结算" value="1" />
38
+                        <el-option label="未结算" value="-1" />
39
+                        <el-option label="已失效" value="0" />
40
+                      </el-select>
41
+                    </el-form-item>
42
+
43
+                </el-form>
44
+
45
+                <div class="bottom-button">
46
+                  <el-button size="small" @click="reset" style="width: 100px; margin-top: 20px; border: 1px solid; " >重置</el-button>
47
+                  <!-- <el-button type="primary" size="small" @click="exportSearchResult" style="width: 100px; margin-top: 20px;">导出</el-button> -->
48
+
49
+                  <el-button type="primary" size="small" @click="getList(1)" style="width: 100px; margin-top: 20px;">查询</el-button>
50
+                  <el-button type="primary" size="small" @click="exportSearchResult" style="width: 100px; margin-top: 20px;">导出</el-button>
51
+                </div>
52
+            </div>
53
+
54
+
55
+
56
+        </div>
57
+
58
+        <div style="display: flex">
59
+          <div class="jiangjintotal" v-for="(v,k) in cardLists" >
60
+            <span class="jiangjintotal-title">{{ v.name }}</span>
61
+            <span class="money">{{ v.count }}</span>
62
+          </div>
63
+        </div>
64
+
65
+        <el-table :data="tableData.data" style="width: 100%" size="mini" class="table" highlight-current-row >
66
+
67
+
68
+            <el-table-column label="ID" prop="id" min-width="100" />
69
+            <el-table-column label="时间" prop="addtime" min-width="150" />
70
+            <!-- <el-table-column label="用户昵称" prop="nickname"  min-width="130" />
71
+            <el-table-column label="用户账号(手机号)" prop="phone"  min-width="130" /> -->
72
+
73
+            <el-table-column label="商户分润金额" prop="number"  min-width="130" />
74
+            <el-table-column label="订单金额" prop="total_price"  min-width="130" />
75
+            <el-table-column label="状态" prop="status"  min-width="130">
76
+              <template slot-scope="scope">
77
+                <span v-if="scope.row.status == 1">有效</span>  
78
+                <span v-if="scope.row.status == -1">待确认</span>
79
+                <span v-if="scope.row.status == 0">已失效</span>
80
+              </template>
81
+            </el-table-column>
82
+            <el-table-column label="店铺名称" prop="mer_name"  min-width="130" />
83
+            <!-- <el-table-column label="商户分润变动" prop="status"  min-width="130">
84
+              <template slot-scope="scope">
85
+                <span v-if="scope.row.pm == 1">增加</span>
86
+                <span v-if="scope.row.pm == 2">扣减</span>
87
+              </template>
88
+            </el-table-column> -->
89
+            <el-table-column label="关联订单" prop="order_sn"  min-width="130">
90
+              <template slot-scope="scope">
91
+                <span style="color: blue; cursor: pointer;" @click="pushToOrderList(scope.row.order_sn)">{{ scope.row.order_sn }}</span>
92
+              </template>
93
+            </el-table-column>
94
+        </el-table>
95
+        <div class="block">
96
+          <el-pagination :page-sizes="[20, 40, 60, 80]" :page-size="tableFrom.limit" :current-page="tableFrom.page"
97
+            layout="total, sizes, prev, pager, next, jumper" :total="tableData.total" @size-change="handleSizeChange"
98
+            @current-change="pageChange" />
99
+        </div>
100
+    </el-card>
101
+
102
+
103
+</div>
104
+</template>
105
+
106
+<script>
107
+import {
108
+    redPointListApi,
109
+    exportOrderApi,
110
+} from "@/api/order";
111
+
112
+import { performanceDivvyLstApi } from '@/api/protocol'
113
+
114
+import fileList from "@/components/exportFile/fileList";
115
+import cardsData from "@/components/cards/index";
116
+import {getZeroPointApi, getFenrunApi} from "@/api/accounts";
117
+import {roterPre} from "@/settings";
118
+export default {
119
+    components: {
120
+        cardsData,
121
+        fileList
122
+    },
123
+    data() {
124
+        return {
125
+            performanceList:[],
126
+            merSelect: [],
127
+            timeVal: '',
128
+            tableData: {
129
+                data: [],
130
+                total: 0,
131
+            },
132
+            listLoading: true,
133
+            tableFrom: {
134
+                uid: "",
135
+                date: "",
136
+                page: 1,
137
+                limit: 20,
138
+                type: "",
139
+                pm: ""
140
+            },
141
+            fromList: {
142
+                title: "选择时间",
143
+                custom: true,
144
+                fromTxt: [{
145
+                        text: "全部",
146
+                        val: ""
147
+                    },
148
+                    {
149
+                        text: "今天",
150
+                        val: "today"
151
+                    },
152
+                    {
153
+                        text: "昨天",
154
+                        val: "yesterday"
155
+                    },
156
+                    {
157
+                        text: "最近7天",
158
+                        val: "lately7"
159
+                    },
160
+                    {
161
+                        text: "最近30天",
162
+                        val: "lately30"
163
+                    },
164
+                    {
165
+                        text: "本月",
166
+                        val: "month"
167
+                    },
168
+                    {
169
+                        text: "本年",
170
+                        val: "year"
171
+                    },
172
+                ],
173
+            },
174
+            fileVisible: false,
175
+            cardLists: [],
176
+            teamList: [],
177
+
178
+        };
179
+    },
180
+    mounted() {
181
+        this.getList(1);
182
+
183
+        performanceDivvyLstApi({'page':1,'limit':100,'state':1}).then(res => {
184
+          this.performanceList = res.data.list
185
+        }).catch(res => {
186
+          this.$message.error(res.message)
187
+        })
188
+        // 获取隶属团队
189
+        getZeroPointApi().then(res => {
190
+            this.teamList = res.data
191
+            console.log('隶属团队')
192
+            console.log(this.teamList)
193
+        }).catch((res) => {
194
+            this.$message.error(res.message);
195
+        });
196
+
197
+    },
198
+    methods: {
199
+
200
+      pushToOrderList(orderIds) {
201
+
202
+
203
+        // accounts/extract
204
+
205
+        this.$router.push({
206
+          path: roterPre + "/order/list/",
207
+          query: { order_sn: orderIds },
208
+        });
209
+      },
210
+
211
+      tanchuang() {
212
+        this.dialogVisible = true
213
+      },
214
+
215
+      selectData(name) {
216
+        if (name == '系统奖励红商户分润数') {
217
+          this.tableFrom.pm = '1'
218
+        } else if (name == '系统销毁红商户分润数') {
219
+          this.tableFrom.pm = '2'
220
+        } else if (name == '人工奖励红商户分润数') {
221
+          this.tableFrom.pm = '3'
222
+        } else if (name == '人工销毁红商户分润数') {
223
+          this.tableFrom.pm = '4'
224
+        }
225
+
226
+        this.getList(1)
227
+      },
228
+
229
+      // 重置
230
+      reset() {
231
+        this.tableFrom ={
232
+            uid: "",
233
+            date: "",
234
+            page: 1,
235
+            limit: 20,
236
+            type: "",
237
+            pm: ""
238
+          }
239
+        this.getList();
240
+      },
241
+      exportSearchResult() {
242
+        this.tableFrom.is_excel = 1;
243
+        getFenrunApi(this.tableFrom).then(res => {
244
+            console.log( res.data)
245
+            console.log( res.data.path)
246
+            this.tableFrom.is_excel = 0;
247
+            this.$message.success('导出成功')
248
+            window.open( res.data.path)
249
+        }).catch((res) => {
250
+            this.$message.error('导出失败');
251
+        })
252
+      },
253
+
254
+
255
+
256
+        // 表格某一行添加特定的样式
257
+        addTdClass(val) {
258
+            if (val.row.status > 0 && val.row.paid == 1) {
259
+                for (let i = 0; i < val.row.orderProduct.length; i++) {
260
+                    if (val.row.orderProduct[i].refund_num > 0 && val.row.orderProduct[i].refund_num < val.row.orderProduct[i].product_num) {
261
+                        return "row-bg";
262
+                    }
263
+                }
264
+            } else {
265
+                return " ";
266
+            }
267
+        },
268
+
269
+        // 导出
270
+        exportOrder() {
271
+            exportOrderApi(this.tableFrom)
272
+                .then((res) => {
273
+                    // this.$message.success(res.message);
274
+                    // this.fileVisible = true;
275
+                    // this.$refs.exportList.exportFileList();
276
+                  const h = this.$createElement;
277
+                  this.$msgbox({
278
+                    title: '提示',
279
+                    message: h('p', null, [
280
+                      h('span', null, '文件正在生成中,请稍后点击"'),
281
+                      h('span', { style: 'color: teal' }, '导出已生成列表'),
282
+                      h('span', null, '"查看~ '),
283
+                    ]),
284
+                    confirmButtonText: '我知道了',
285
+                  }).then(action => {
286
+
287
+                  });                })
288
+                .catch((res) => {
289
+                    this.$message.error(res.message);
290
+                });
291
+        },
292
+        getExportFileList() {
293
+            this.fileVisible = true;
294
+            this.$refs.exportList.exportFileList('order');
295
+        },
296
+
297
+        handleSelectionChange(val) {
298
+            this.selectionList = val;
299
+            const data = [];
300
+            this.selectionList.map((item) => {
301
+                data.push(item.order_id);
302
+            });
303
+            this.ids = data.join(",");
304
+        },
305
+        // 选择时间
306
+        selectChange(tab) {
307
+            this.timeVal = [];
308
+            this.tableFrom.date = tab;
309
+            this.getList(1);
310
+        },
311
+        // 具体日期
312
+        onchangeTime(e) {
313
+            this.timeVal = e;
314
+            this.tableFrom.date = e ? this.timeVal.join("-") : "";
315
+            this.getList(1);
316
+        },
317
+
318
+        // 列表
319
+        getList(num) {
320
+            this.tableFrom.page = num ? num : this.tableFrom.page;
321
+            getFenrunApi(this.tableFrom).then((res) => {
322
+                console.log(res,'aaaaa');
323
+                this.tableData.data = res.data.list;
324
+                this.tableData.total = res.data.count;
325
+
326
+                this.cardLists = [
327
+                  { info: '', name: '商户分润总数', count: res.data.statistics.all },
328
+                  { info: '', name: '已结算', count: res.data.statistics.clear },
329
+                  { info: '', name: '未结算', count: res.data.statistics.nclear },
330
+                  { info: '', name: '已失效', count: res.data.statistics.lost },
331
+                  // {info: '', name: '商户分润扣减总数', count: res.data.statistics.deduct},
332
+                  // {info: '', name: '剩余商户分润总数', count: res.data.statistics.all_mp1}
333
+                ]
334
+            }).catch((res) => {
335
+                this.$message.error(res.message);
336
+            });
337
+        },
338
+        pageChange(page) {
339
+            this.tableFrom.page = page;
340
+            this.getList('');
341
+        },
342
+        handleSizeChange(val) {
343
+            this.tableFrom.limit = val;
344
+            this.getList('');
345
+        },
346
+    }
347
+};
348
+</script>
349
+
350
+<style lang="scss" scoped>
351
+.selWidth {
352
+    width: 300px;
353
+}
354
+
355
+.el-dropdown-link {
356
+    cursor: pointer;
357
+    color: #409eff;
358
+    font-size: 12px;
359
+}
360
+
361
+.el-icon-arrow-down {
362
+    font-size: 12px;
363
+}
364
+
365
+.tabBox_tit {
366
+    width: 53%;
367
+    font-size: 12px !important;
368
+    margin: 0 2px 0 10px;
369
+    letter-spacing: 1px;
370
+    padding: 5px 0;
371
+    box-sizing: border-box;
372
+}
373
+
374
+/deep/.row-bg {
375
+    .cell {
376
+        color: red !important;
377
+    }
378
+}
379
+
380
+.filter-item {
381
+  width:50%;
382
+}
383
+
384
+
385
+.cancel-order-mark {
386
+    margin-top: 30px;
387
+
388
+    .cancel-order-select-reason {
389
+        height: 30px;
390
+    }
391
+
392
+    .canel-order-remark-input {
393
+        width: 75%;
394
+        margin-left: 35px;
395
+    }
396
+
397
+
398
+}
399
+
400
+.bottom-button {
401
+    margin-top: 30px;
402
+    margin-left: 300px;
403
+    width: 250px;
404
+    display: flex;
405
+    justify-content: space-between;
406
+  }
407
+
408
+.cancel-button {
409
+        display: flex;
410
+        justify-content: center;
411
+        margin-top: 20px;
412
+        gap:50px;
413
+        height: 30px;
414
+        // background-color: rebeccapurple;
415
+
416
+        .confirm {
417
+          width: 70px;
418
+          // height: 30px;
419
+        }
420
+        .cacnel-item {
421
+          width: 70px;
422
+          // height: 30px;
423
+        }
424
+    }
425
+
426
+.selected-kuang {
427
+  width: 500px;
428
+}
429
+
430
+
431
+.jiangjintotal {
432
+
433
+  display: flex;
434
+  flex-direction: column;
435
+  justify-content: center;
436
+  align-items: center;
437
+  margin-bottom: 10px;
438
+  border: 1px solid #999;
439
+  border-radius: 5px;
440
+  width: 150px;
441
+  height: 60px;
442
+  line-height: 25px;
443
+  margin-right: 10px;
444
+}
445
+
446
+.jiangjintotal .money {
447
+  font-size: 20px;
448
+}
449
+
450
+
451
+</style>

+ 56 - 6
src/views/accounts/caiwutongji/fugou/index.vue

@@ -41,6 +41,31 @@
41 41
                       </el-select>
42 42
                     </el-form-item>
43 43
 
44
+                    <!-- 佣金类型 1代理费 2 消费佣金 3直推奖√ 4辖区佣金\\r\\n5 养老金√ 6 广告费 7 锁客收益 √ 8平台奖励 9渠道商\\r\\n10 推广店铺收益 √ 11.合伙人分红 12联创分红,13 股权分红 -->
45
+                    <el-form-item class="selected-kuang" label="名称:">
46
+                            <el-select
47
+                                v-model="tableFrom.commission_type"
48
+                                class="filter-item"
49
+                                placeholder="全部"
50
+                                @change="getList(1)"
51
+                            >
52
+                                <el-option value="" label="全部"/> 
53
+                                <!-- <el-option :value="1" label="代理费"/>
54
+                                <el-option :value="2" label="消费佣金"/> -->
55
+                                <el-option :value="3" label="直推佣金"/>
56
+                                <!-- <el-option :value="4" label="辖区佣金"/>
57
+                                <el-option :value="5" label="养老金"/>
58
+                                <el-option :value="6" label="广告费"/> -->
59
+                                <el-option :value="7" label="锁客收益"/>
60
+                                <!-- <el-option :value="8" label="平台奖励"/>
61
+                                <el-option :value="9" label="渠道商"/> -->
62
+                                <el-option :value="10" label="推广店铺收益"/>
63
+                                <el-option :value="11" label="合伙人分红"/>
64
+                                <el-option :value="12" label="联创分红"/>
65
+                                <el-option :value="13" label="股权分红"/>
66
+                            </el-select>
67
+                        </el-form-item>
68
+
44 69
                 </el-form>
45 70
 
46 71
                 <div class="bottom-button">
@@ -48,6 +73,8 @@
48 73
                   <!-- <el-button type="primary" size="small" @click="exportSearchResult" style="width: 100px; margin-top: 20px;">导出</el-button> -->
49 74
 
50 75
                   <el-button type="primary" size="small" @click="getList(1)" style="width: 100px; margin-top: 20px;">查询</el-button>
76
+                  <el-button type="primary" size="small" @click="exportSearchResult" style="width: 100px; margin-top: 20px;">导出</el-button>
77
+                  
51 78
                 </div>
52 79
             </div>
53 80
 
@@ -71,6 +98,26 @@
71 98
             <el-table-column label="用户账号(手机号)" prop="phone"  min-width="130" />
72 99
 
73 100
             <el-table-column label="复购金数" prop="number"  min-width="130" />
101
+
102
+            <!-- 佣金类型 1代理费 2 消费佣金 3直推奖√ 4辖区佣金\\r\\n5 养老金√ 6 广告费 7 锁客收益 √ 8平台奖励 9渠道商\\r\\n10 推广店铺收益 √ 11.合伙人分红 12联创分红,13 股权分红 -->  
103
+            <el-table-column label="名称" min-width="130" >
104
+                <template slot-scope="scope">
105
+                    <span v-if="scope.row.commission_type == 1"> 代理费 </span>   
106
+                    <span v-if="scope.row.commission_type == 2"> 消费佣金 </span>
107
+                    <span v-if="scope.row.commission_type == 3"> 直推佣金 </span>
108
+                      <span v-if="scope.row.commission_type == 4"> 辖区佣金 </span>
109
+                      <span v-if="scope.row.commission_type == 5"> 养老金 </span>
110
+                      <span v-if="scope.row.commission_type == 6"> 广告费 </span>
111
+                      <span v-if="scope.row.commission_type == 7"> 锁客收益 </span>
112
+                      <span v-if="scope.row.commission_type == 8"> 平台奖励 </span>
113
+                      <span v-if="scope.row.commission_type == 9"> 渠道商 </span>
114
+                      <span v-if="scope.row.commission_type == 10"> 推广店铺收益 </span>
115
+                      <span v-if="scope.row.commission_type == 11"> 合伙人分红 </span>
116
+                      <span v-if="scope.row.commission_type == 12"> 联创分红 </span>
117
+                      <span v-if="scope.row.commission_type == 13"> 股权分红 </span>
118
+                </template>
119
+              </el-table-column>
120
+
74 121
             <el-table-column label="复购金状态" prop="status"  min-width="130">
75 122
               <template slot-scope="scope">
76 123
                 <span v-if="scope.row.status == 1">有效</span>  
@@ -135,6 +182,7 @@ export default {
135 182
                 page: 1,
136 183
                 limit: 20,
137 184
                 type: "",
185
+                commission_type: "",
138 186
                 pm: ""
139 187
             },
140 188
             fromList: {
@@ -238,13 +286,15 @@ export default {
238 286
         this.getList();
239 287
       },
240 288
       exportSearchResult() {
241
-        RewardExcelApi(this.paramsData).then(res => {
242
-          console.log( res.data)
243
-          console.log( res.data.path)
244
-          window.open( res.data.path)
245
-          // window.open(SettingMer.https + `/excel/download/0?token=` + getToken()+`&path=` + res.data.path)
289
+        this.tableFrom.is_excel = 1;
290
+        getFugouCountApi(this.tableFrom).then(res => {
291
+            console.log( res.data)
292
+            console.log( res.data.path)
293
+            this.tableFrom.is_excel = 0;
294
+            this.$message.success('导出成功')
295
+            window.open( res.data.path)
246 296
         }).catch((res) => {
247
-
297
+            this.$message.error('导出失败');
248 298
         })
249 299
       },
250 300
 

+ 9 - 6
src/views/accounts/caiwutongji/hongbao/index.vue

@@ -47,6 +47,7 @@
47 47
                   <!-- <el-button type="primary" size="small" @click="exportSearchResult" style="width: 100px; margin-top: 20px;">导出</el-button> -->
48 48
 
49 49
                   <el-button type="primary" size="small" @click="getList(1)" style="width: 100px; margin-top: 20px;">查询</el-button>
50
+                  <el-button type="primary" size="small" @click="exportSearchResult" style="width: 100px; margin-top: 20px;">导出</el-button>
50 51
                 </div>
51 52
             </div>
52 53
 
@@ -237,13 +238,15 @@ export default {
237 238
         this.getList();
238 239
       },
239 240
       exportSearchResult() {
240
-        RewardExcelApi(this.paramsData).then(res => {
241
-          console.log( res.data)
242
-          console.log( res.data.path)
243
-          window.open( res.data.path)
244
-          // window.open(SettingMer.https + `/excel/download/0?token=` + getToken()+`&path=` + res.data.path)
241
+        this.tableFrom.is_excel = 1;
242
+        getHongbaoCountApi(this.tableFrom).then(res => {
243
+            console.log( res.data)
244
+            console.log( res.data.path)
245
+            this.tableFrom.is_excel = 0;
246
+            this.$message.success('导出成功')
247
+            window.open( res.data.path)
245 248
         }).catch((res) => {
246
-
249
+            this.$message.error('导出失败');
247 250
         })
248 251
       },
249 252
 

+ 9 - 6
src/views/accounts/caiwutongji/jingdou/index.vue

@@ -48,6 +48,7 @@
48 48
                   <!-- <el-button type="primary" size="small" @click="exportSearchResult" style="width: 100px; margin-top: 20px;">导出</el-button> -->
49 49
 
50 50
                   <el-button type="primary" size="small" @click="getList(1)" style="width: 100px; margin-top: 20px;">查询</el-button>
51
+                  <el-button type="primary" size="small" @click="exportSearchResult" style="width: 100px; margin-top: 20px;">导出</el-button>
51 52
                 </div>
52 53
             </div>
53 54
 
@@ -238,13 +239,15 @@ export default {
238 239
         this.getList();
239 240
       },
240 241
       exportSearchResult() {
241
-        RewardExcelApi(this.paramsData).then(res => {
242
-          console.log( res.data)
243
-          console.log( res.data.path)
244
-          window.open( res.data.path)
245
-          // window.open(SettingMer.https + `/excel/download/0?token=` + getToken()+`&path=` + res.data.path)
242
+        this.tableFrom.is_excel = 1;
243
+        getJingdouCountApi(this.tableFrom).then(res => {
244
+            console.log( res.data)
245
+            console.log( res.data.path)
246
+            this.tableFrom.is_excel = 0;
247
+            this.$message.success('导出成功')
248
+            window.open( res.data.path)
246 249
         }).catch((res) => {
247
-
250
+            this.$message.error('导出失败');
248 251
         })
249 252
       },
250 253
 

+ 10 - 6
src/views/accounts/caiwutongji/pension/index.vue

@@ -64,6 +64,8 @@
64 64
 
65 65
                         <el-button size="small" style="width: 100px; margin-top: 20px;" type="primary" @click="getList(1)">查询
66 66
                         </el-button>
67
+
68
+                        <el-button type="primary" size="small" @click="exportSearchResult" style="width: 100px; margin-top: 20px;">导出</el-button>
67 69
                     </div>
68 70
 
69 71
                 </div>
@@ -272,13 +274,15 @@ export default {
272 274
             this.getList();
273 275
         },
274 276
         exportSearchResult() {
275
-            RewardExcelApi(this.paramsData).then(res => {
276
-                console.log(res.data)
277
-                console.log(res.data.path)
278
-                window.open(res.data.path)
279
-                // window.open(SettingMer.https + `/excel/download/0?token=` + getToken()+`&path=` + res.data.path)
277
+            this.tableFrom.is_excel = 1;
278
+            getYongJinCountApi(this.tableFrom).then(res => {
279
+                console.log( res.data)
280
+                console.log( res.data.path)
281
+                this.tableFrom.is_excel = 0;
282
+                this.$message.success('导出成功')
283
+                window.open( res.data.path)
280 284
             }).catch((res) => {
281
-
285
+                this.$message.error('导出失败');
282 286
             })
283 287
         },
284 288
 

+ 6 - 5
src/views/accounts/caiwutongji/point/index.vue

@@ -45,9 +45,8 @@
45 45
 
46 46
                 <div class="bottom-button">
47 47
                   <el-button size="small" @click="reset" style="width: 100px; margin-top: 20px; border: 1px solid; " >重置</el-button>
48
-                  <!-- <el-button type="primary" size="small" @click="exportSearchResult" style="width: 100px; margin-top: 20px;">导出</el-button> -->
49
-
50 48
                   <el-button type="primary" size="small" @click="getList(1)" style="width: 100px; margin-top: 20px;">查询</el-button>
49
+                  <el-button type="primary" size="small" @click="exportSearchResult" style="width: 100px; margin-top: 20px;">导出</el-button>
51 50
                 </div>
52 51
             </div>
53 52
 
@@ -238,13 +237,15 @@ export default {
238 237
         this.getList();
239 238
       },
240 239
       exportSearchResult() {
241
-        RewardExcelApi(this.paramsData).then(res => {
240
+        this.tableFrom.is_excel = 1;
241
+        getPointCountApi(this.tableFrom).then(res => {
242 242
           console.log( res.data)
243 243
           console.log( res.data.path)
244
+          this.tableFrom.is_excel = 0;
245
+          this.$message.success('导出成功')
244 246
           window.open( res.data.path)
245
-          // window.open(SettingMer.https + `/excel/download/0?token=` + getToken()+`&path=` + res.data.path)
246 247
         }).catch((res) => {
247
-
248
+          this.$message.error('导出失败');
248 249
         })
249 250
       },
250 251
 

+ 451 - 0
src/views/accounts/caiwutongji/pv/index.vue

@@ -0,0 +1,451 @@
1
+<template>
2
+<div class="divBox">
3
+    <el-card class="box-card">
4
+        <div slot="header" class="clearfix">
5
+            <div class="container">
6
+                <el-form size="small" label-width="100px">
7
+                    <el-form-item label="时间选择:" class="width100">
8
+                        <el-radio-group v-model="tableFrom.date" type="button" class="mr20" size="small" @change="selectChange(tableFrom.date)">
9
+                            <el-radio-button v-for="(item,i) in fromList.fromTxt" :key="i" :label="item.val">{{ item.text }}</el-radio-button>
10
+                        </el-radio-group>
11
+                        <el-date-picker v-model="timeVal" value-format="yyyy/MM/dd" format="yyyy/MM/dd" size="small" type="daterange" placement="bottom-end" placeholder="自定义时间" style="width: 250px;" @change="onchangeTime" />
12
+                    </el-form-item>
13
+                    <el-form-item label="用户手机号:" class="width100">
14
+                        <el-input v-model="tableFrom.phone" placeholder="请输入" class="selWidth" size="small">
15
+                        </el-input>
16
+                    </el-form-item>
17
+                    <!-- <el-form-item label="PV变动:" class="selected-kuang">
18
+                      <el-select
19
+                        v-model="tableFrom.pm"
20
+                        placeholder="全部"
21
+                        class="filter-item"
22
+                        @change="getList(1)"
23
+                      >
24
+                        <el-option label="全部" value="" />
25
+                        <el-option label="增加" value="1" />
26
+                        <el-option label="扣减" value="2" />
27
+                      </el-select>
28
+                    </el-form-item> -->
29
+                    <el-form-item label="PV状态:" class="selected-kuang">
30
+                      <el-select
31
+                        v-model="tableFrom.status"
32
+                        placeholder="全部"
33
+                        class="filter-item"
34
+                        @change="getList(1)"
35
+                      >
36
+                        <el-option label="全部" value="" />
37
+                        <el-option label="已结算" value="1" />
38
+                        <el-option label="未结算" value="-1" />
39
+                        <el-option label="已失效" value="0" />
40
+                      </el-select>
41
+                    </el-form-item>
42
+
43
+                </el-form>
44
+
45
+                <div class="bottom-button">
46
+                  <el-button size="small" @click="reset" style="width: 100px; margin-top: 20px; border: 1px solid; " >重置</el-button>
47
+                  <!-- <el-button type="primary" size="small" @click="exportSearchResult" style="width: 100px; margin-top: 20px;">导出</el-button> -->
48
+
49
+                  <el-button type="primary" size="small" @click="getList(1)" style="width: 100px; margin-top: 20px;">查询</el-button>
50
+
51
+                  <el-button type="primary" size="small" @click="exportSearchResult" style="width: 100px; margin-top: 20px;">导出</el-button>
52
+                </div>
53
+            </div>
54
+
55
+
56
+
57
+        </div>
58
+
59
+        <div style="display: flex">
60
+          <div class="jiangjintotal" v-for="(v,k) in cardLists" >
61
+            <span class="jiangjintotal-title">{{ v.name }}</span>
62
+            <span class="money">{{ v.count }}</span>
63
+          </div>
64
+        </div>
65
+
66
+        <el-table :data="tableData.data" style="width: 100%" size="mini" class="table" highlight-current-row >
67
+
68
+
69
+            <el-table-column label="ID" prop="id" min-width="100" />
70
+            <el-table-column label="时间" prop="addtime" min-width="150" />
71
+            <!-- <el-table-column label="用户昵称" prop="nickname"  min-width="130" />
72
+            <el-table-column label="用户账号(手机号)" prop="phone"  min-width="130" /> --> 
73
+
74
+            <el-table-column label="PV数" prop="pv"  min-width="130" />
75
+            <el-table-column label="状态" prop="status"  min-width="130">
76
+              <template slot-scope="scope">
77
+                <span v-if="scope.row.status == 1">有效</span>  
78
+                <span v-if="scope.row.status == -1">待确认</span>
79
+                <span v-if="scope.row.status == 0">已失效</span>
80
+              </template>
81
+            </el-table-column>
82
+            <!-- <el-table-column label="PV变动" prop="status"  min-width="130">
83
+              <template slot-scope="scope">
84
+                <span v-if="scope.row.pm == 1">增加</span>
85
+                <span v-if="scope.row.pm == 2">扣减</span>
86
+              </template>
87
+            </el-table-column> -->
88
+            <el-table-column label="关联订单" prop="order_sn"  min-width="130">  
89
+              <template slot-scope="scope">
90
+                <span style="color: blue; cursor: pointer;" @click="pushToOrderList(scope.row.order_sn)">{{ scope.row.order_sn }}</span>
91
+              </template>
92
+            </el-table-column>
93
+            <el-table-column label="说明" prop="mark"  min-width="130" />
94
+        </el-table>
95
+        <div class="block">
96
+          <el-pagination :page-sizes="[20, 40, 60, 80]" :page-size="tableFrom.limit" :current-page="tableFrom.page"
97
+            layout="total, sizes, prev, pager, next, jumper" :total="tableData.total" @size-change="handleSizeChange"
98
+            @current-change="pageChange" />
99
+        </div>
100
+    </el-card>
101
+
102
+
103
+</div>
104
+</template>
105
+
106
+<script>
107
+import {
108
+    redPointListApi,
109
+    exportOrderApi,
110
+} from "@/api/order";
111
+
112
+import { performanceDivvyLstApi } from '@/api/protocol'
113
+
114
+import fileList from "@/components/exportFile/fileList";
115
+import cardsData from "@/components/cards/index";
116
+import {getZeroPointApi, getPvCountApi} from "@/api/accounts";
117
+import {roterPre} from "@/settings";
118
+export default {
119
+    components: {
120
+        cardsData,
121
+        fileList
122
+    },
123
+    data() {
124
+        return {
125
+            performanceList:[],
126
+            merSelect: [],
127
+            timeVal: '',
128
+            tableData: {
129
+                data: [],
130
+                total: 0,
131
+            },
132
+            listLoading: true,
133
+            tableFrom: {
134
+                uid: "",
135
+                date: "",
136
+                page: 1,
137
+                limit: 20,
138
+                type: "",
139
+                pm: ""
140
+            },
141
+            fromList: {
142
+                title: "选择时间",
143
+                custom: true,
144
+                fromTxt: [{
145
+                        text: "全部",
146
+                        val: ""
147
+                    },
148
+                    {
149
+                        text: "今天",
150
+                        val: "today"
151
+                    },
152
+                    {
153
+                        text: "昨天",
154
+                        val: "yesterday"
155
+                    },
156
+                    {
157
+                        text: "最近7天",
158
+                        val: "lately7"
159
+                    },
160
+                    {
161
+                        text: "最近30天",
162
+                        val: "lately30"
163
+                    },
164
+                    {
165
+                        text: "本月",
166
+                        val: "month"
167
+                    },
168
+                    {
169
+                        text: "本年",
170
+                        val: "year"
171
+                    },
172
+                ],
173
+            },
174
+            fileVisible: false,
175
+            cardLists: [],
176
+            teamList: [],
177
+
178
+        };
179
+    },
180
+    mounted() {
181
+        this.getList(1);
182
+
183
+        performanceDivvyLstApi({'page':1,'limit':100,'state':1}).then(res => {
184
+          this.performanceList = res.data.list
185
+        }).catch(res => {
186
+          this.$message.error(res.message)
187
+        })
188
+        // 获取隶属团队
189
+        getZeroPointApi().then(res => {
190
+            this.teamList = res.data
191
+            console.log('隶属团队')
192
+            console.log(this.teamList)
193
+        }).catch((res) => {
194
+            this.$message.error(res.message);
195
+        });
196
+
197
+    },
198
+    methods: {
199
+
200
+      pushToOrderList(orderIds) {
201
+
202
+
203
+        // accounts/extract
204
+
205
+        this.$router.push({
206
+          path: roterPre + "/order/list/",
207
+          query: { order_sn: orderIds },
208
+        });
209
+      },
210
+
211
+      tanchuang() {
212
+        this.dialogVisible = true
213
+      },
214
+
215
+      selectData(name) {
216
+        if (name == '系统奖励红PV数') {
217
+          this.tableFrom.pm = '1'
218
+        } else if (name == '系统销毁红PV数') {
219
+          this.tableFrom.pm = '2'
220
+        } else if (name == '人工奖励红PV数') {
221
+          this.tableFrom.pm = '3'
222
+        } else if (name == '人工销毁红PV数') {
223
+          this.tableFrom.pm = '4'
224
+        }
225
+
226
+        this.getList(1)
227
+      },
228
+
229
+      // 重置
230
+      reset() {
231
+        this.tableFrom ={
232
+            uid: "",
233
+            date: "",
234
+            page: 1,
235
+            limit: 20,
236
+            type: "",
237
+            pm: ""
238
+          }
239
+        this.getList();
240
+      },
241
+      exportSearchResult() {
242
+        this.tableFrom.is_excel = 1;
243
+        getPvCountApi(this.tableFrom).then(res => {
244
+            console.log( res.data)
245
+            console.log( res.data.path)
246
+            this.tableFrom.is_excel = 0;
247
+            this.$message.success('导出成功')
248
+            window.open( res.data.path)
249
+        }).catch((res) => {
250
+            this.$message.error('导出失败');
251
+        })
252
+      },
253
+
254
+
255
+
256
+        // 表格某一行添加特定的样式
257
+        addTdClass(val) {
258
+            if (val.row.status > 0 && val.row.paid == 1) {
259
+                for (let i = 0; i < val.row.orderProduct.length; i++) {
260
+                    if (val.row.orderProduct[i].refund_num > 0 && val.row.orderProduct[i].refund_num < val.row.orderProduct[i].product_num) {
261
+                        return "row-bg";
262
+                    }
263
+                }
264
+            } else {
265
+                return " ";
266
+            }
267
+        },
268
+
269
+        // 导出
270
+        exportOrder() {
271
+            exportOrderApi(this.tableFrom)
272
+                .then((res) => {
273
+                    // this.$message.success(res.message);
274
+                    // this.fileVisible = true;
275
+                    // this.$refs.exportList.exportFileList();
276
+                  const h = this.$createElement;
277
+                  this.$msgbox({
278
+                    title: '提示',
279
+                    message: h('p', null, [
280
+                      h('span', null, '文件正在生成中,请稍后点击"'),
281
+                      h('span', { style: 'color: teal' }, '导出已生成列表'),
282
+                      h('span', null, '"查看~ '),
283
+                    ]),
284
+                    confirmButtonText: '我知道了',
285
+                  }).then(action => {
286
+
287
+                  });                })
288
+                .catch((res) => {
289
+                    this.$message.error(res.message);
290
+                });
291
+        },
292
+        getExportFileList() {
293
+            this.fileVisible = true;
294
+            this.$refs.exportList.exportFileList('order');
295
+        },
296
+
297
+        handleSelectionChange(val) {
298
+            this.selectionList = val;
299
+            const data = [];
300
+            this.selectionList.map((item) => {
301
+                data.push(item.order_id);
302
+            });
303
+            this.ids = data.join(",");
304
+        },
305
+        // 选择时间
306
+        selectChange(tab) {
307
+            this.timeVal = [];
308
+            this.tableFrom.date = tab;
309
+            this.getList(1);
310
+        },
311
+        // 具体日期
312
+        onchangeTime(e) {
313
+            this.timeVal = e;
314
+            this.tableFrom.date = e ? this.timeVal.join("-") : "";
315
+            this.getList(1);
316
+        },
317
+
318
+        // 列表
319
+        getList(num) {
320
+            this.tableFrom.page = num ? num : this.tableFrom.page;
321
+            getPvCountApi(this.tableFrom).then((res) => {
322
+                console.log(res,'aaaaa');
323
+                this.tableData.data = res.data.list;
324
+                this.tableData.total = res.data.count;
325
+
326
+                this.cardLists = [
327
+                  { info: '', name: '平台PV总数', count: res.data.statistics.all },
328
+                  { info: '', name: '已结算PV总数', count: res.data.statistics.clear },
329
+                  { info: '', name: '未结算PV总数', count: res.data.statistics.nclear },
330
+                  { info: '', name: '已失效PV总数', count: res.data.statistics.lost },
331
+                  { info: '', name: '已结算红包总额', count: res.data.statistics.deduct},
332
+                  { info: '', name: '可分红PV数', count: res.data.statistics.all_mp1}
333
+                ]
334
+            }).catch((res) => { 
335
+                this.$message.error(res.message);
336
+            });
337
+        },
338
+        pageChange(page) {
339
+            this.tableFrom.page = page;
340
+            this.getList('');
341
+        },
342
+        handleSizeChange(val) {
343
+            this.tableFrom.limit = val;
344
+            this.getList('');
345
+        },
346
+    }
347
+};
348
+</script>
349
+
350
+<style lang="scss" scoped>
351
+.selWidth {
352
+    width: 300px;
353
+}
354
+
355
+.el-dropdown-link {
356
+    cursor: pointer;
357
+    color: #409eff;
358
+    font-size: 12px;
359
+}
360
+
361
+.el-icon-arrow-down {
362
+    font-size: 12px;
363
+}
364
+
365
+.tabBox_tit {
366
+    width: 53%;
367
+    font-size: 12px !important;
368
+    margin: 0 2px 0 10px;
369
+    letter-spacing: 1px;
370
+    padding: 5px 0;
371
+    box-sizing: border-box;
372
+}
373
+
374
+/deep/.row-bg {
375
+    .cell {
376
+        color: red !important;
377
+    }
378
+}
379
+
380
+.filter-item {
381
+  width:50%;
382
+}
383
+
384
+
385
+.cancel-order-mark {
386
+    margin-top: 30px;
387
+
388
+    .cancel-order-select-reason {
389
+        height: 30px;
390
+    }
391
+
392
+    .canel-order-remark-input {
393
+        width: 75%;
394
+        margin-left: 35px;
395
+    }
396
+
397
+
398
+}
399
+
400
+.bottom-button {
401
+    margin-top: 30px;
402
+    margin-left: 300px;
403
+    width: 250px;
404
+    display: flex;
405
+    justify-content: space-between;
406
+  }
407
+
408
+.cancel-button {
409
+        display: flex;
410
+        justify-content: center;
411
+        margin-top: 20px;
412
+        gap:50px;
413
+        height: 30px;
414
+        // background-color: rebeccapurple;
415
+
416
+        .confirm {
417
+          width: 70px;
418
+          // height: 30px;
419
+        }
420
+        .cacnel-item {
421
+          width: 70px;
422
+          // height: 30px;
423
+        }
424
+    }
425
+
426
+.selected-kuang {
427
+  width: 500px;
428
+}
429
+
430
+
431
+.jiangjintotal {
432
+
433
+  display: flex;
434
+  flex-direction: column;
435
+  justify-content: center;
436
+  align-items: center;
437
+  margin-bottom: 10px;
438
+  border: 1px solid #999;
439
+  border-radius: 5px;
440
+  width: 150px;
441
+  height: 60px;
442
+  line-height: 25px;
443
+  margin-right: 10px;
444
+}
445
+
446
+.jiangjintotal .money {
447
+  font-size: 20px;
448
+}
449
+
450
+
451
+</style>

+ 9 - 6
src/views/accounts/caiwutongji/vr/index.vue

@@ -46,6 +46,7 @@
46 46
                   <!-- <el-button type="primary" size="small" @click="exportSearchResult" style="width: 100px; margin-top: 20px;">导出</el-button> -->
47 47
 
48 48
                   <el-button type="primary" size="small" @click="getList(1)" style="width: 100px; margin-top: 20px;">查询</el-button>
49
+                  <el-button type="primary" size="small" @click="exportSearchResult" style="width: 100px; margin-top: 20px;">导出</el-button>
49 50
                 </div>
50 51
             </div>
51 52
 
@@ -235,13 +236,15 @@ export default {
235 236
         this.getList();
236 237
       },
237 238
       exportSearchResult() {
238
-        RewardExcelApi(this.paramsData).then(res => {
239
-          console.log( res.data)
240
-          console.log( res.data.path)
241
-          window.open( res.data.path)
242
-          // window.open(SettingMer.https + `/excel/download/0?token=` + getToken()+`&path=` + res.data.path)
239
+        this.tableFrom.is_excel = 1;
240
+        getVrCountApi(this.tableFrom).then(res => {
241
+            console.log( res.data)
242
+            console.log( res.data.path)
243
+            this.tableFrom.is_excel = 0;
244
+            this.$message.success('导出成功')
245
+            window.open( res.data.path)
243 246
         }).catch((res) => {
244
-
247
+            this.$message.error('导出失败');
245 248
         })
246 249
       },
247 250
 

+ 117 - 18
src/views/accounts/gaikuang/index.vue

@@ -6,7 +6,7 @@
6 6
         <div class="clearfix" style="margin-top: 10px; margin-bottom: 10px;">
7 7
           <div class="title_label_box" >
8 8
             <div class="title_label" style="margin-bottom: 10px; " >
9
-              订单概况
9
+              订单概况 
10 10
               <el-tooltip placement="top">
11 11
                    <div slot="content" class="tips-content text-tips-content">
12 12
                        <div class="rule-box">
@@ -64,8 +64,49 @@
64 64
 
65 65
           </div>
66 66
 
67
-            <userCard-data :card-lists="userCountLists" class="orderCount-box" />
68
-            <redCards-data :card-lists="userCountLists1" class="orderCount-box" />
67
+            <userCard-data :card-lists="userCountListsOne" class="orderCount-box" />
68
+            <userCard-data :card-lists="userCountListsTow" class="orderCount-box" />
69
+            <!-- <redCards-data :card-lists="userCountLists1" class="orderCount-box" /> -->
70
+        </div>
71
+
72
+        <!-- 会员概况 -->
73
+        <div class="redPoint_box" style="margin-top: 10px; margin-bottom: 10px;">
74
+          <div class="title_label_box">
75
+            <div class="title_label" style="margin-bottom: 10px; " >
76
+                会员概况
77
+            </div>
78
+          </div>
79
+            <userCard-data :card-lists="memberCountLists" class="orderCount-box" />
80
+        </div>
81
+
82
+        <!-- PV概况 -->
83
+        <div class="redPoint_box" style="margin-top: 10px; margin-bottom: 10px;">
84
+          <div class="title_label_box">
85
+            <div class="title_label" style="margin-bottom: 10px; " >
86
+                PV概况
87
+            </div>
88
+          </div>
89
+            <userCard-data :card-lists="pvCountLists" class="orderCount-box" />
90
+        </div>
91
+
92
+        <!-- VR概况 -->
93
+        <div class="redPoint_box" style="margin-top: 10px; margin-bottom: 10px;">
94
+          <div class="title_label_box">
95
+            <div class="title_label" style="margin-bottom: 10px; " >
96
+                VR概况
97
+            </div>
98
+          </div>
99
+            <userCard-data :card-lists="vrCountLists" class="orderCount-box" />
100
+        </div>
101
+
102
+        <!-- 积分概况 -->
103
+        <div class="redPoint_box" style="margin-top: 10px; margin-bottom: 10px;">
104
+          <div class="title_label_box">
105
+            <div class="title_label" style="margin-bottom: 10px; " >
106
+                积分概况
107
+            </div>
108
+          </div>
109
+            <userCard-data :card-lists="jifenCountLists" class="orderCount-box" />
69 110
         </div>
70 111
 
71 112
         <!-- 交易概况 -->
@@ -101,7 +142,12 @@
101 142
               @change="getTradeGaiKuang" :disabled="notUse3" />
102 143
           </div>
103 144
 
104
-          <tongjiCards-data :card-lists="cardLists" class="tradeCount-box" />
145
+          <tongjiCards-data :card-lists="cardListsOne" class="tradeCount-box" />
146
+
147
+          <tongjiCards-data :card-lists="cardListsTow" class="tradeCount-box" />
148
+
149
+          <redCards-data :card-lists="cardLists1" class="orderCount-box" />
150
+
105 151
           <!-- 系统支出概况 -->
106 152
           <!-- <div class="title_label_box">
107 153
             <div class="title_label" style="margin-bottom: 10px; " >
@@ -146,8 +192,19 @@ import {
146 192
   getOrderGaiKuangApi,
147 193
   getRedPointGaiKuangApi,
148 194
   getTradeGaiKuangApi,
149
-  getUserGaiKuangApi
150
-
195
+  getUserGaiKuangApi,
196
+  getMemberGaiKuangApi,
197
+  getJifenGaiKuangApi,
198
+  getPvGaiKuangApi,
199
+  getVrGaiKuangApi,
200
+  getPointCountApi,
201
+  getJingdouCountApi,
202
+  getHongbaoCountApi,
203
+  getFugouCountApi,
204
+  getFenrunApi,
205
+  getPvCountApi,
206
+  getVrCountApi,
207
+  getMemberCountApi,
151 208
 } from "@/api/accounts";
152 209
 import fileList from "@/components/exportFile/fileList";
153 210
 import tongjiCardsData from "@/components/cards/tongjiCard";
@@ -246,7 +303,8 @@ export default {
246 303
             LogLoading: false,
247 304
             dialogVisible: false,
248 305
             fileVisible: false,
249
-            cardLists: [],
306
+            cardListsOne: [],
307
+            cardListsTow: [],
250 308
             cardLists1: [],
251 309
             orderDatalist: null,
252 310
             headeNum: [],
@@ -257,9 +315,14 @@ export default {
257 315
               remark:'',
258 316
             },
259 317
             otherCardsList: [],
260
-            userCountLists: [],
318
+            userCountListsOne: [],
319
+            userCountListsTow: [],
261 320
             otherCardsLists:[],
262
-            userCountLists1: []
321
+            userCountLists1: [],
322
+            memberCountLists: [],
323
+            pvCountLists: [],
324
+            vrCountLists: [],
325
+            jifenCountLists: [],
263 326
         };
264 327
     },
265 328
     mounted() {
@@ -270,6 +333,10 @@ export default {
270 333
 
271 334
         this.getOrderGaiKuang();
272 335
         this.getUserGaiKuang();
336
+        this.getMemberGaiKuang();
337
+        this.getPvGaiKuang();
338
+        this.getVrGaiKuang();
339
+        this.getJifenGaiKuang();
273 340
         this.getTradeGaiKuang();
274 341
 
275 342
     },
@@ -334,23 +401,55 @@ export default {
334 401
       getUserGaiKuang() {
335 402
         getUserGaiKuangApi(this.paramsData2).then(res => {
336 403
               console.log(res)
337
-              this.userCountLists = res.data.left[0]
338
-              this.userCountLists1 = res.data.right
339
-
340
-
341
-              // this.userCountLists = res.data
342
-              // this.userCountLists1 = res.data.right
343
-
404
+              this.userCountListsOne = res.data.left.one
405
+              this.userCountListsTow = res.data.left.tow
344 406
             }).catch((res) => {
345 407
               this.$message.error(res.message);
346 408
             });
347 409
       },
348 410
 
411
+      getMemberGaiKuang() {
412
+        getMemberGaiKuangApi({}).then(res => {
413
+            console.log(res)
414
+            this.memberCountLists = res.data.left[0]
415
+        }).catch((res) => {
416
+            this.$message.error(res.message);
417
+        });
418
+      },
419
+
420
+      getPvGaiKuang() {
421
+        getPvGaiKuangApi({}).then(res => {
422
+            console.log(res)
423
+            this.pvCountLists = res.data.left[0]
424
+        }).catch((res) => {
425
+            this.$message.error(res.message);
426
+        });
427
+      },
428
+
429
+      getVrGaiKuang() {
430
+        getVrGaiKuangApi({}).then(res => {
431
+            console.log(res)
432
+            this.vrCountLists = res.data.left[0]
433
+        }).catch((res) => {
434
+            this.$message.error(res.message);
435
+        });
436
+      },
437
+
438
+      getJifenGaiKuang() {
439
+        getJifenGaiKuangApi({}).then(res => {
440
+            console.log(res)
441
+            this.jifenCountLists = res.data.left[0]
442
+        }).catch((res) => {
443
+            this.$message.error(res.message);
444
+        });
445
+      },
446
+
349 447
       getTradeGaiKuang() {
350 448
         getTradeGaiKuangApi(this.paramsData3).then(res => {
351 449
               console.log(res)
352
-              this.cardLists = res.data;
353
-              // this.cardLists1 = res.data.lower;
450
+              this.cardListsOne = res.data.left.one;
451
+              this.cardListsTow = res.data.left.tow;
452
+              this.cardLists1 = res.data.right;
354 453
             }).catch((res) => {
355 454
               this.$message.error(res.message);
356 455
             });