xieruidong 2 年之前
父节点
当前提交
8c7efcff41

+ 9 - 0
application/admin/controller/Finance.php

@@ -2,6 +2,7 @@
 
 namespace app\admin\controller;
 
+use app\admin\model\Refund;
 use app\common\controller\Backend;
 
 /**
@@ -14,6 +15,14 @@ class Finance extends Backend
     public function amount_statistics(){
         list($time,$timeArr)=$this->rangeTime();
         $this->assign('time',$time);
+        $payed=\app\admin\model\Orders::payed()
+            ->whereBetween('create_time',$timeArr)
+            ->sum('amount_pay');
+        $refund=Refund::filterRefund()->whereBetween('create_time',$timeArr)
+            ->sum('amount');
+        $this->assign('sellAmount',bcsub($payed,$refund));
+        $this->assign('payAmount',$payed);
+        $this->assign('refundAmount',$refund);
         return $this->fetch();
     }
 }

+ 18 - 1
application/admin/view/finance/amount_statistics.html

@@ -7,4 +7,21 @@
         <button type="submit" class="btn btn-primary doSearch">确定</button>
     </div>
     <input type="hidden" name="dialog" value="{:input('dialog')}">
-</form>
+</form>
+<div>
+    <div id="amountShow"></div>
+</div>
+<style>
+    .content{
+        background: white;
+    }
+    #amountShow{
+        width: 100%;
+        height: 500px;
+    }
+</style>
+<script>
+    let payAmount={$payAmount};
+    let refundAmount={$refundAmount};
+    let sellAmount={$sellAmount};
+</script>

+ 1 - 1
application/common/model/Refund.php

@@ -10,7 +10,7 @@ use think\Model;
  * 短信验证码
  * @property Orders orders
  * @property User user
- * @method static static|Query FilterRefund()
+ * @method static|Query FilterRefund()
  */
 class Refund Extends Model
 {

+ 27 - 1
public/assets/js/backend/finance.js

@@ -1,8 +1,34 @@
-define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) {
+define(['jquery', 'bootstrap', 'backend', 'table', 'form','echarts', 'echarts-theme'], function ($, undefined, Backend, Table, Form,Echarts) {
 
     var Controller = {
         amount_statistics: function () {
             Form.events.daterangepicker($('.form'))
+            var myChart = Echarts.init(document.getElementById('amountShow'));
+            var option = {
+                xAxis: {
+                    type: 'category',
+                    data: ['订单金额','退款金额','销售额']
+                },
+                yAxis: {
+                    type: 'value'
+                },
+                series: [
+                    {
+                        data: [payAmount,refundAmount,sellAmount],
+                        type: 'bar'
+                    }
+                ],
+                tooltip:{
+                    trigger:'axis',
+                    axisPointer: {
+                        type: 'cross',
+                        label: {
+                            backgroundColor: '#6a7985'
+                        }
+                    }
+                }
+            };
+            myChart.setOption(option);
         },
         add: function () {
             Controller.api.bindevent();