diff --git a/application/admin/controller/Orderplan.php b/application/admin/controller/Orderplan.php index ba2d728..8c1f39c 100644 --- a/application/admin/controller/Orderplan.php +++ b/application/admin/controller/Orderplan.php @@ -4,6 +4,7 @@ namespace app\admin\controller; use app\admin\addresmart\Address; use app\admin\model\Abnormal; +use app\admin\model\Aftersale; use app\admin\model\AuthGroupAccess; use app\admin\model\order\Invoice; use app\admin\model\OrderAbnormal; @@ -58,10 +59,12 @@ class Orderplan extends Backend $top = $this->getTopTotal(); $lines = $this->getLine(); $pie = $this->getPie(); + $order = $this->getOrder(); $this->success(data: [ 'top' => $top, 'lines' => $lines, 'pie' => $pie, + 'order' => $order, ]); } @@ -189,15 +192,71 @@ class Orderplan extends Backend } - private function buildDate($build) + private function buildDate($build,$table_name = null) { $start = now()->modify('-14 days')->format('Y-m-d'); $end_at = now()->format('Y-m-d'); - $build->where('create_time', 'between', [$start, $end_at]); + if ($table_name){ + $build->where($table_name.'.create_time', 'between', [$start, $end_at]); + }else{ + $build->where('create_time', 'between', [$start, $end_at]); + + } return $build; } + + + private function getOrder() + { + $build = new OrderAbnormal(); + $res = $build + ->where('status',0) + ->count('id'); + $out ['abnormal'] = $res; + + $build = new \app\admin\model\Order(); + $res = $build + ->where('status',\app\admin\model\Order::STATUS_CHECKING) + ->count('id'); + $out ['check'] = $res; + + + $build = new \app\admin\model\Order(); + $res = $build + ->where('status',\app\admin\model\Order::STATUS_AUDITING) + ->count('id'); + $out ['auditing'] = $res; + + + $build = new \app\admin\model\Order(); + $res = $build + ->alias('a') + ->join('order_review b','a.id = b.order_id','left') + ->where('a.status','in',[\app\admin\model\Order::STATUS_FINISHED,\app\admin\model\Order::STATUS_CANCEL]) + ->whereNull('b.id') + ->count('a.id'); + + $out ['review'] = $res; + + + $build = new Aftersale(); + $res = $build + ->where('status',1) + ->count('id'); + $out ['after_sale'] = $res; + + $build = new Invoice(); + $res = $build + ->where('status',0) + ->count('id'); + $out ['invoice'] = $res; + + return $out; + } + + private function prepareEchartsBarData(array $data, string $startDate, string $endDate): array { // 将原始数据用日期作为键索引 @@ -285,4 +344,5 @@ class Orderplan extends Backend } + } diff --git a/application/admin/view/orderplan/index.html b/application/admin/view/orderplan/index.html index 1a730f4..3db852c 100644 --- a/application/admin/view/orderplan/index.html +++ b/application/admin/view/orderplan/index.html @@ -17,196 +17,64 @@ -
- -
-
-
- - 订单量 -
-
- loading -
-
-
+
+
+ +
+
+
+ + 订单量 +
+
+ loading +
+
+
- -
-
-
- - 总业绩 -
-
- loading -
-
-
+ +
+
+
+ + 总业绩 +
+
+ loading +
+
+
- -
-
-
- - 师傅总数 -
-
- loading -
-
-
+ +
+
+
+ + 总营业额 +
+
+ loading +
+
+
+ + +
+
+
+ + 师傅总数 +
+
+ loading +
+
+
+
-
-
- -
-
-
-
-
-
-
-
-

报错

-

单位/笔

-
-
- 详情> -
-
-
- 1,240 -
-
-
- -
-
-
-
-
-

待配置

-

单位/笔

-
-
- 详情> -
-
-
- 1,240 -
-
-
- -
-
-
-
-
-

待审核

-

单位/笔

-
-
- 详情> -
-
-
- 1,240 -
-
-
- -
-
-
-
-
-

待回访

-

单位/笔

-
-
- 详情> -
-
-
- 1,240 -
-
-
- -
-
-
-
-
-

待售后

-

单位/笔

-
-
- 详情> -
-
-
- 1,240 -
-
-
- -
-
-
-
-
-

开票

-

单位/笔

-
-
- 详情> -
-
-
- 1,240 -
-
-
-
-
-
- -
- -
- -
- - -
- -
- -
- -
-
- -
- -
- -
-
- -
- -
- -
-
- -
-
+
+
@@ -221,249 +89,385 @@
+
-
-
-
-
- 售后申请 +
+
+
+
+
+
+

报错

+

单位/笔

+
+
-
- 1240 +
+ loading
-
- 待处理 +
+
+ +
+
+
+
+
+

待配置

+

单位/笔

+
+
+ 详情> +
+
+
+ loading +
+
+
+ +
+
+
+
+
+

待审核

+

单位/笔

+
+
+ 详情> +
+
+
+ loading +
+
+
+ +
+
+
+
+
+

待回访

+

单位/笔

+
+
+ 详情> +
+
+
+ loading +
+
+
+ +
+
+
+
+
+

待售后

+

单位/笔

+
+
+ 详情> +
+
+
+ loading +
+
+
+ +
+
+
+
+
+

开票

+

单位/笔

+
+
+ 详情> +
+
+
+ loading
-
-
-
-
-
-
-

¥8848

-

今日收款

-
-
-
-
-
-
-
-
-

¥8848

-

本月收款

-
-
-
-
-
-
-
-
-

88

-

今日订单数

-
-
-
-
-
-
-
-
-

8848

-

本月订单数

-
-
-
-
-
-
-
-
-

88

-

今日新增师傅数

-
-
-
-
-
-
-
-
-

8848

-

本月新增师傅数

-
-
-
-
-
-
-
-
-

8

-

今日退款数

-
-
-
-
-
-
-
-
-

88

-

本月退款数

-
-
-
-
-
-
-
-
-

88

-

今日取消订单数

-
-
-
-
-
-
-
-
-

88

-

本月取消订单数

-
-
+
+
+
-
-
接单排行
-
-
-
-
-
- 小明 -
-
- 14单 -
+
+
+ +
+
+
-
-
-
-
-
- 小明 -
-
- 14单 -
+ + +
+ +
+
+
-
-
-
-
-
- 小明 -
-
- 14单 -
+
+ +
+
+
-
-
-
-
-
- 小明 -
-
- 14单 -
-
-
-
-
-
-
-
- 小明 -
-
- 14单 -
+
+ +
+
+
-
-
录单排行
-
-
-
+
+
+
订单数据
+
+
+
+
+
+

¥8848

+

今日收款

+
-
- 小明 +
+
+
+
+
+
+

¥8848

+

本月收款

+
-
- 14单 +
+
+
+
+
+
+

88

+

今日订单数

+
+
+
+
+
+
+
+
+

8848

+

本月订单数

+
+
+
+
+
+
+
+
+

88

+

今日新增师傅数

+
+
+
+
+
+
+
+
+

8848

+

本月新增师傅数

+
+
+
+
+
+
+
+
+

8

+

今日退款数

+
+
+
+
+
+
+
+
+

88

+

本月退款数

+
+
+
+
+
+
+
+
+

88

+

今日取消订单数

+
+
+
+
+
+
+
+
+

88

+

本月取消订单数

+
-
-
-
+ +
+
接单排行
+
+
+
+
+
+ 小明 +
+
+ 14单 +
-
- 小明 +
+
+
+
+
+
+ 小明 +
+
+ 14单 +
-
- 14单 +
+
+
+
+
+
+ 小明 +
+
+ 14单 +
+
+
+
+
+
+
+
+ 小明 +
+
+ 14单 +
+
+
+
+
+
+
+
+ 小明 +
+
+ 14单 +
-
-
-
-
-
- 小明 -
-
- 14单 + +
+
录单排行
+
+
+
+
+
+ 小明 +
+
+ 14单 +
-
-
-
-
-
-
- 小明 -
-
- 14单 +
+
+
+
+
+ 小明 +
+
+ 14单 +
-
-
-
-
+
+
+
+
+
+ 小明 +
+
+ 14单 +
-
- 小明 +
+
+
+
+
+
+ 小明 +
+
+ 14单 +
-
- 14单 +
+
+
+
+
+
+ 小明 +
+
+ 14单 +
@@ -620,7 +624,6 @@ /*height: 100px;*/ box-shadow: 0 2px 6px rgba(12, 72, 128, .1); border-radius: 4px; - margin: 10px; } .todo-plan-num { diff --git a/public/assets/js/backend/orderplan.js b/public/assets/js/backend/orderplan.js index 7d0fc59..442c715 100644 --- a/public/assets/js/backend/orderplan.js +++ b/public/assets/js/backend/orderplan.js @@ -4,8 +4,10 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'echarts','echarts-th dashboard: function () { Fast.api.ajax({ url: 'orderplan/data', + method:'get' }, function (data, ret) { Controller.echarts.top(data.top); + Controller.echarts.order(data.order); Controller.echarts.money_line(data.lines); Controller.echarts.cancel_order_pie(data.pie.cancel); Controller.echarts.item_pie(data.pie.item); @@ -13,11 +15,6 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'echarts','echarts-th Controller.echarts.source_pie(data.pie.source); }); - Controller.api.bindevent(); - Controller.echarts.cancel_order_pie(); - - console.log(123); - }, add: function () { Controller.api.bindevent(); @@ -33,10 +30,10 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'echarts','echarts-th echarts: { top: function(data){ let map = [ - 'count','performance','worker' + 'count','performance','total','worker' ]; $('.myplan-num').each(function(index) { - if (index === 1){ + if (index === 1 || index === 2){ $(this).html('¥' + data[map[index]]); }else { $(this).html(data[map[index]]); @@ -44,6 +41,14 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'echarts','echarts-th } }); }, + order: function(data){ + let map = [ + 'abnormal','check','auditing','check','review','invoice' + ]; + $('.todo-plan-num').each(function(index) { + $(this).html(data[map[index]]); + }); + }, item_pie: function(data){ // 基本的饼图配置 var myChart = echarts.init(document.getElementById('item_pie'));