Преглед на файлове

Merge branch 'rmaster' of 39.97.239.116:gyfl/xyzshop into rmaster

stanley-king преди 3 години
родител
ревизия
d2abc4a03a

+ 30 - 7
admin/control/refill_evidence.php

@@ -31,6 +31,7 @@ class refill_evidenceControl extends SystemControl
             $condition['status'] = 3;
         } else {
         }
+        $export = $_GET['export'] ?? 0;
 
         $start_unixtime = intval(strtotime($_GET['query_start_time']));
         $end_unixtime = intval(strtotime($_GET['query_end_time']));
@@ -44,10 +45,12 @@ class refill_evidenceControl extends SystemControl
         }
 
         //充值申请列表
-        $evidence_list = $model_merchant->getRefillEvidence($condition, 20, '*,member.available_predeposit', 'refill_evidence.add_time desc');
-        $status_text = ['申请中', '已通过', '已驳回'];
-        $operation_text = ['未预存', '已预存'];
-        $add_type_text = ['商户预存','后台手动预存'];
+        if(!empty($export)) {
+            $evidence_list = $model_merchant->getRefillEvidence($condition, 1000, '*,member.available_predeposit', 'refill_evidence.add_time desc');
+        } else {
+            $evidence_list = $model_merchant->getRefillEvidence($condition, 20, '*,member.available_predeposit', 'refill_evidence.add_time desc');
+        }
+        $evidence_list = $this->formatData($evidence_list);
 
         $counts = Model('')->table('refill_evidence')
             ->field('sum(amount) as amounts,status')
@@ -67,12 +70,32 @@ class refill_evidenceControl extends SystemControl
         $stats['send_amount'] = $send_amount;
         $stats['success_amount'] = $success_amount;
         $stats['cancel_amount'] = $cancel_amount;
+        if(!empty($export)) {
+            $result['data'] = $evidence_list;
+            $result['stats'] = $stats;
+            echo(json_encode($result));
+            exit;
+        }
         Tpl::output('stats', $stats);
         Tpl::output('evidence_list', $evidence_list);
-        Tpl::output('status_text', $status_text);
-        Tpl::output('operation_text', $operation_text);
-        Tpl::output('add_type_text', $add_type_text);
         Tpl::output('page', $model_merchant->showpage('2'));
         Tpl::showpage('merchant.refill.evidence_list');
     }
+
+    public function formatData($data)
+    {
+        $status_text = ['申请中', '已通过', '已驳回'];
+        $operation_text = ['未预存', '已预存'];
+        $add_type_text = ['商户预存','后台手动预存'];
+
+        foreach ($data as $key => $value) {
+            $data[$key]['add_time'] = date('Y-m-d H:i', $value['add_time']);
+            $data[$key]['check_time'] = date('Y-m-d H:i', $value['check_time']);
+            $data[$key]['status_text'] = $status_text[$value['status']-1];
+            $data[$key]['operation_text'] = $operation_text[$value['is_operation']-1];
+            $data[$key]['add_type_text'] = $add_type_text[$value['add_type']-1];
+        }
+
+        return $data;
+    }
 }

+ 5 - 5
admin/templates/default/merchant.order.stats.php

@@ -283,11 +283,11 @@
                     if (time) {
                         head.push(time)
                     }
-                    head.push('总计成功订单量:' + data.total_stats.success_count_total)
-                    head.push('总计成功订单金额:' + data.total_stats.success_refill_amounts_total)
-                    head.push('总计下游扣款金额:' + data.total_stats.success_mch_amounts_toatl)
-                    head.push('总计上游扣款金额:' + data.total_stats.success_channel_amounts_total)
-                    head.push('总计利润金额:' + data.total_stats.profit_amounts_total)
+                    head.push('总计成功订单量:' + parseFloat(data.total_stats.success_count_total))
+                    head.push('总计成功订单金额:' + parseFloat(data.total_stats.success_refill_amounts_total))
+                    head.push('总计下游扣款金额:' + parseFloat(data.total_stats.success_mch_amounts_toatl))
+                    head.push('总计上游扣款金额:' + parseFloat(data.total_stats.success_channel_amounts_total))
+                    head.push('总计利润金额:' + parseFloat(data.total_stats.profit_amounts_total))
                     let title = [{value: "序号"},{value: "统计日期"},{value: "主体名称"},{value: "主体ID"},{value: "成功订单数"},{value: "成功金额"},{value: "下游金额"},{value: "上游金额"},{value: "利润"},{value: "订单总量"}, {value: "失败订单数量"},{value: "成功占比"}]
                     JSONToExcelConvertor(data.data, '下游对账记录', title, head)
                 }

+ 134 - 6
admin/templates/default/merchant.refill.evidence_list.php

@@ -13,6 +13,7 @@
     <form method="get" name="formSearch" id="formSearch">
         <input type="hidden" value="refill_evidence" name="act">
         <input type="hidden" value="index" name="op">
+        <input type="hidden" value="" name="export">
         <table class="tb-type1 noborder search">
             <tbody>
             <tr>
@@ -42,6 +43,11 @@
                         <a href="index.php?act=refill_evidence&op=index" class="btns "
                            title="<?php echo $lang['nc_cancel_search']; ?>"><span><?php echo $lang['nc_cancel_search']; ?></span></a>
                     <?php } ?></td>
+                <td>
+                    <a href="javascript:void(0);" id="ncexport" class="btn">
+                        <span>导出</span>
+                    </a>
+                </td>
             </tr>
             </tbody>
         </table>
@@ -113,7 +119,7 @@
                             <?php if ($v['status'] == 3){ ?>
                                 <span style="color: #f30707">
                             <?php } ?>
-                            <?php echo $output['status_text'][$v['status'] - 1]; ?>
+                            <?php echo $v['status_text']; ?>
                                 </span>
                         </td>
                         <td class="align-center">
@@ -124,13 +130,13 @@
                             <?php if ($v['is_operation'] == 2){ ?>
                                 <span style="color: #0bb20c">
                             <?php } ?>
-                            <?php echo $output['operation_text'][$v['is_operation'] - 1]; ?>
+                            <?php echo $v['operation_text']; ?>
                         </td>
-                        <td class="nowarp align-center"><?php echo $v['add_time'] ? date('Y-m-d H:i', $v['add_time']) : $lang['no_limit']; ?></td>
-                        <td class="nowarp align-center"><?php echo $v['check_time'] ? date('Y-m-d H:i', $v['check_time']) : $lang['no_limit']; ?></td>
+                        <td class="nowarp align-center"><?php echo $v['add_time'] ?? $lang['no_limit']; ?></td>
+                        <td class="nowarp align-center"><?php echo $v['check_time'] ?? $lang['no_limit']; ?></td>
                         <td class="nowarp align-center"><?php echo $v['admin_name']?></td>
                         <td class="nowarp align-center"><?php echo $v['bz']?></td>
-                        <td class="nowarp align-center"><?php echo $output['add_type_text'][$v['add_type'] - 1]; ?></td>
+                        <td class="nowarp align-center"><?php echo $v['add_type_text']; ?></td>
                         <td class="align-center w200">
                             <?php if($v['voucher_name'] != '/') {?>
                             <a target="_blank"
@@ -191,7 +197,7 @@
             type: 'datetime'
         });
         $('#ncsubmit').click(function () {
-            $('input[name="op"]').val('index');
+            $('input[name="export"]').val('');
             $('#formSearch').submit();
         });
         // 表格hover时背景
@@ -202,5 +208,127 @@
                 $(this)[0].style.backgroundColor = '#fff'
             })
         })
+        function JSONToExcelConvertor(JSONData, FileName, ShowLabel, headData) { 
+            //先转化json 
+            var arrData = typeof JSONData != 'object' ? JSON.parse(JSONData) : JSONData; 
+                
+            var excel = '<table>';   
+                
+            // 标题
+            for (const key in headData) {
+                var head = "<tr>";
+                var td = "<td colspan='14' style='font-size:16px;'>"+ headData[key] + '</td>';
+                excel += td + "</tr>";
+            }
+
+            //设置表头 
+            var row = "<tr>"; 
+            for (var i = 0, l = ShowLabel.length; i < l; i++) { 
+                row += "<th style='font-size:14px;'>" + ShowLabel[i].value + '</th>'; 
+            } 
+                
+                
+            //换行 
+            excel += row + "</tr>"; 
+                
+            //设置数据 
+            for (var i = 0; i < arrData.length; i++) { 
+                var row = "<tr>"; 
+                let code = i+1
+                row += "<td>" +code+ "</td>"
+                row += '<td style=font-size:14px;'+ 'mso-number-format:"\@"'+ '>' + arrData[i].apply_id + '</td>';
+                row += '<td style=font-size:14px;'+ 'mso-number-format:"\@"'+ '>' + arrData[i].mch_name + '</td>';
+                row += '<td style=font-size:14px;'+ 'mso-number-format:"\@"'+ '>' + arrData[i].amount + '</td>';
+                row += '<td style=font-size:14px;'+ 'mso-number-format:"\@"'+ '>' + arrData[i].available_predeposit + '</td>';
+                row += '<td style=font-size:14px;'+ 'mso-number-format:"\@"'+ '>' + arrData[i].bank_username + '</td>';
+                row += '<td style=font-size:14px;'+ 'mso-number-format:"\@"'+ '>' + arrData[i].bank_name + '</td>';
+                row += '<td style=font-size:14px;'+ 'mso-number-format:"\@"'+ '>' + arrData[i].status_text + '</td>';
+                row += '<td style=font-size:14px;'+ 'mso-number-format:"\@"'+ '>' + arrData[i].operation_text + '</td>';
+                row += '<td style=font-size:14px;'+ 'mso-number-format:"\@"'+ '>' + arrData[i].add_time + '</td>';
+                row += '<td style=font-size:14px;'+ 'mso-number-format:"\@"'+ '>' + arrData[i].check_time + '</td>';
+                row += '<td style=font-size:14px;'+ 'mso-number-format:"\@"'+ '>' + arrData[i].admin_name + '</td>';
+                row += '<td style=font-size:14px;'+ 'mso-number-format:"\@"'+ '>' + arrData[i].bz + '</td>';
+                row += '<td style=font-size:14px;'+ 'mso-number-format:"\@"'+ '>' + arrData[i].add_type_text + '</td>';
+                excel += row + "</tr>"; 
+            } 
+            excel += "</table>"; 
+            var excelFile = "<html xmlns:o='urn:schemas-microsoft-com:office:office' xmlns:x='urn:schemas-microsoft-com:office:excel' xmlns='http://www.w3.org/TR/REC-html40'>"; 
+            excelFile += '<meta http-equiv="content-type" content="application/vnd.ms-excel; charset=UTF-8">'; 
+            excelFile += '<meta http-equiv="content-type" content="application/vnd.ms-excel'; 
+            excelFile += '; charset=UTF-8">'; 
+            excelFile += "<head>"; 
+            excelFile += "<!--[if gte mso 9]>"; 
+            excelFile += "<xml>"; 
+            excelFile += "<x:ExcelWorkbook>"; 
+            excelFile += "<x:ExcelWorksheets>"; 
+            excelFile += "<x:ExcelWorksheet>"; 
+            excelFile += "<x:Name>"; 
+            excelFile += "{worksheet}"; 
+            excelFile += "</x:Name>"; 
+            excelFile += "<x:WorksheetOptions>"; 
+            excelFile += "<x:DisplayGridlines/>"; 
+            excelFile += "</x:WorksheetOptions>"; 
+            excelFile += "</x:ExcelWorksheet>"; 
+            excelFile += "</x:ExcelWorksheets>"; 
+            excelFile += "</x:ExcelWorkbook>"; 
+            excelFile += "</xml>"; 
+            excelFile += "<![endif]-->"; 
+            excelFile += "</head>"; 
+            excelFile += "<body>"; 
+            excelFile += excel; 
+            excelFile += "</body>"; 
+            excelFile += "</html>"; 
+
+                
+            var uri = 'data:application/vnd.ms-excel;charset=utf-8,' + encodeURIComponent(excelFile); 
+                
+            var link = document.createElement("a");   
+            link.href = uri; 
+                
+            link.style = "visibility:hidden"; 
+            link.download = FileName + ".xls"; 
+                
+            document.body.appendChild(link); 
+            link.click(); 
+            document.body.removeChild(link); 
+        }
+        $('#ncexport').click(function () {
+            let starTime = $('input[name="query_start_time"]').val()
+            let endTime = $('input[name="query_end_time"]').val()
+            let mch_name = $('input[name="mch_name"]').val();
+            let state_text = $('select option:selected').text();
+            let state_sel = $('select').val();
+            $.get('index.php?act=refill_evidence&op=index&export=1', {
+                query_start_time: starTime,
+                query_end_time: endTime,
+                mch_name: mch_name,
+                state_sel: state_sel
+            }, function (data) {
+                data = JSON.parse(data)
+                if (data && data.data) {
+                    let head = ['北京椰子电子商务有限责任公司']
+                    if (mch_name) {
+                        head.push('机构名称:' + mch_name)
+                    }
+                    if (state_text && state_sel) {
+                        head.push('申请状态:' + state_text)
+                    }
+                    let time = ''
+                    if (starTime && endTime) {
+                        time = '下单时间:'+$('input[name="query_start_time"]').val()+' - '+$('input[name="query_end_time"]').val()
+                        head.push(time)
+                    } else if (starTime) {
+                        time = '下单时间:'+$('input[name="query_start_time"]').val()
+                        head.push(time)
+                    }
+                    head.push('充值成功金额:' + data.stats.success_amount)
+                    head.push('已驳回金额:' + data.stats.cancel_amount)
+                    head.push('待处理充值金额:' + data.stats.send_amount)
+                    let title = [{value: "序号"},{value: "申请编号"},{value: "机构名称"},{value: "申请金额"},{value: "申请后可用金额"},{value: "转账银行开户人姓名"},{value: "转账银行名称"},{value: "申请状态"},{value: "预存状态"},{value: "申请日期"},{value: "审核日期"}, {value: "审核管理员"},{value: "备注信息"},{value: "预存方式"}]
+                    JSONToExcelConvertor(data.data, '充值申请', title, head)
+                }
+                // console.log('data', data);
+            })
+        })
     });
 </script>

+ 5 - 5
admin/templates/default/provider.order.stats.php

@@ -283,11 +283,11 @@
                     if (time) {
                         head.push(time)
                     }
-                    head.push('总计成功订单量:' + data.total_stats.success_count_total)
-                    head.push('总计成功订单金额:' + data.total_stats.success_refill_amounts_total)
-                    head.push('总计下游扣款金额:' + data.total_stats.success_mch_amounts_toatl)
-                    head.push('总计上游扣款金额:' + data.total_stats.success_channel_amounts_total)
-                    head.push('总计利润金额:' + data.total_stats.profit_amounts_total)
+                    head.push('总计成功订单量:' + parseFloat(data.total_stats.success_count_total))
+                    head.push('总计成功订单金额:' + parseFloat(data.total_stats.success_refill_amounts_total))
+                    head.push('总计下游扣款金额:' + parseFloat(data.total_stats.success_mch_amounts_toatl))
+                    head.push('总计上游扣款金额:' + parseFloat(data.total_stats.success_channel_amounts_total))
+                    head.push('总计利润金额:' + parseFloat(data.total_stats.profit_amounts_total))
                     let title = [{value: "序号"},{value: "统计日期"},{value: "主体名称"},{value: "主体ID"},{value: "成功订单数"},{value: "成功金额"},{value: "上游金额"},{value: "下游金额"},{value: "利润"},{value: "订单总量"}, {value: "失败订单数量"},{value: "成功占比"}]
                     JSONToExcelConvertor(data.data, '上游对账记录', title, head)
                 }

+ 5 - 5
admin/templates/default/system.order.stats.php

@@ -245,11 +245,11 @@
                         time = '统计时间:'+$('input[name="query_start_time"]').val()
                         head.push(time)
                     }
-                    head.push('总计成功订单量:' + data.total_stats.success_count_total)
-                    head.push('总计成功订单金额:' + data.total_stats.success_refill_amounts_total)
-                    head.push('总计下游扣款金额:' + data.total_stats.success_mch_amounts_toatl)
-                    head.push('总计上游扣款金额:' + data.total_stats.success_channel_amounts_total)
-                    head.push('总计利润金额:' + data.total_stats.profit_amounts_total)
+                    head.push('总计成功订单量:' + parseFloat(data.total_stats.success_count_total))
+                    head.push('总计成功订单金额:' + parseFloat(data.total_stats.success_refill_amounts_total))
+                    head.push('总计下游扣款金额:' + parseFloat(data.total_stats.success_mch_amounts_toatl))
+                    head.push('总计上游扣款金额:' + parseFloat(data.total_stats.success_channel_amounts_total))
+                    head.push('总计利润金额:' + parseFloat(data.total_stats.profit_amounts_total))
                     let title = [{value: "序号"},{value: "统计日期"},{value: "主体名称"},{value: "主体ID"},{value: "成功订单数"},{value: "成功金额"},{value: "下游金额"},{value: "上游金额"},{value: "利润"},{value: "服务费"},{value: "订单总量"}, {value: "失败订单数量"},{value: "成功占比"}]
                     JSONToExcelConvertor(data.data, '平台对账记录', title, head)
                 }