Просмотр исходного кода

【程序目录】更新v5.2.1版本

evoxwht 2 лет назад
Родитель
Сommit
51ba561823
50 измененных файлов с 595 добавлено и 96 удалено
  1. 69 0
      crmeb/app/adminapi/controller/v1/statistic/BalanceStatistic.php
  2. 68 0
      crmeb/app/adminapi/controller/v1/statistic/OrderStatistic.php
  3. 106 0
      crmeb/app/adminapi/controller/v1/statistic/ProductStatistic.php
  4. 74 0
      crmeb/app/adminapi/controller/v1/statistic/TradeStatistic.php
  5. 152 0
      crmeb/app/adminapi/controller/v1/statistic/UserStatistic.php
  6. 1 1
      crmeb/app/dao/order/StoreOrderDao.php
  7. 2 0
      crmeb/app/services/user/UserBrokerageServices.php
  8. 5 5
      crmeb/crmeb/services/printer/storage/FeiEYun.php
  9. 1 1
      crmeb/public/admin/index.html
  10. 1 1
      crmeb/public/admin/system_static/css/app.232e71fd.css
  11. 0 1
      crmeb/public/admin/system_static/css/chunk-3f40a978.15ff25d0.css
  12. 1 0
      crmeb/public/admin/system_static/css/chunk-b17421ce.d36b48d6.css
  13. 1 1
      crmeb/public/admin/system_static/css/chunk-0dfd6ce5.654d0859.css
  14. 1 1
      crmeb/public/admin/system_static/js/app.bc071c4d.js
  15. 0 1
      crmeb/public/admin/system_static/js/chunk-0dfd6ce5.98a023b1.js
  16. 3 3
      crmeb/public/admin/system_static/js/chunk-4468475e.0ba48f81.js
  17. 0 1
      crmeb/public/admin/system_static/js/chunk-3f40a978.66e945ee.js
  18. 1 0
      crmeb/public/admin/system_static/js/chunk-b17421ce.d68ab905.js
  19. 1 0
      crmeb/public/admin/system_static/js/chunk-c5ed5c60.056f50ec.js
  20. 13 13
      crmeb/public/admin/system_static/js/chunk-vendors.45aa3611.js
  21. 1 1
      crmeb/public/index.html
  22. 35 0
      crmeb/public/install/crmeb.sql
  23. 1 1
      crmeb/public/static/js/index.c067094e.js
  24. 1 0
      crmeb/public/static/js/pages-users-user_distribution_level-index.49b97410.js
  25. 0 1
      crmeb/public/static/js/pages-users-user_distribution_level-index.faaede2e.js
  26. 1 1
      crmeb/public/static/js/pages-users-user_phone-index.0faa5fdc.js
  27. 2 2
      crmeb/public/statics/mp_view/components/goodList/index.json
  28. 2 2
      crmeb/public/statics/mp_view/components/kefuIcon/index.json
  29. 2 2
      crmeb/public/statics/mp_view/components/recommend/index.json
  30. 2 2
      crmeb/public/statics/mp_view/pages/annex/components/verify/verifyPoint/verifyPoint.json
  31. 2 2
      crmeb/public/statics/mp_view/pages/extension/components/shareInfo/index.json
  32. 2 2
      crmeb/public/statics/mp_view/pages/goods/lottery/components/lotteryAleart.json
  33. 2 2
      crmeb/public/statics/mp_view/pages/goods/lottery/components/noticeBar.json
  34. 2 2
      crmeb/public/statics/mp_view/pages/goods/order_pay_status/components/lotteryAleart.json
  35. 2 2
      crmeb/public/statics/mp_view/pages/index/diy/components/bargain.json
  36. 2 2
      crmeb/public/statics/mp_view/pages/index/diy/components/blankPage.json
  37. 2 2
      crmeb/public/statics/mp_view/pages/index/diy/components/customerService.json
  38. 2 2
      crmeb/public/statics/mp_view/pages/index/diy/components/headerSerch.json
  39. 2 2
      crmeb/public/statics/mp_view/pages/index/diy/components/news.json
  40. 2 2
      crmeb/public/statics/mp_view/pages/index/diy/components/pictureCube.json
  41. 2 2
      crmeb/public/statics/mp_view/pages/index/diy/components/promotionList.json
  42. 2 2
      crmeb/public/statics/mp_view/pages/index/diy/components/swiperBg.json
  43. 2 2
      crmeb/public/statics/mp_view/pages/index/diy/components/tabNav.json
  44. 2 2
      crmeb/public/statics/mp_view/pages/index/visualization/components/tabBar.json
  45. 2 2
      crmeb/public/statics/mp_view/pages/points_mall/component/productWindow.json
  46. 2 2
      crmeb/public/statics/mp_view/pages/users/components/verify/verifySlider/verifySliderPc.json
  47. 1 1
      crmeb/public/statics/mp_view/pages/users/user_distribution_level/index.js
  48. 1 1
      crmeb/public/statics/mp_view/pages/users/user_distribution_level/index.wxml
  49. 1 1
      crmeb/public/statics/mp_view/pages/users/user_distribution_level/index.wxss
  50. 13 20
      crmeb/public/statics/mp_view/project.config.json

+ 69 - 0
crmeb/app/adminapi/controller/v1/statistic/BalanceStatistic.php

@@ -0,0 +1,69 @@
+<?php
+
+namespace app\adminapi\controller\v1\statistic;
+
+use app\adminapi\controller\AuthController;
+use app\services\user\UserMoneyServices;
+use think\facade\App;
+
+class BalanceStatistic extends AuthController
+{
+    /**
+     * @param App $app
+     * @param UserMoneyServices $services
+     */
+    public function __construct(App $app, UserMoneyServices $services)
+    {
+        parent::__construct($app);
+        $this->services = $services;
+    }
+
+    /**
+     * 余额统计基础信息
+     * @return mixed
+     */
+    public function getBasic()
+    {
+        $data = $this->services->getBasic();
+        return app('json')->success($data);
+    }
+
+    /**
+     * 余额统计趋势图
+     * @return mixed
+     */
+    public function getTrend()
+    {
+        $where = $this->request->getMore([
+            ['time', '']
+        ]);
+        $data = $this->services->getTrend($where);
+        return app('json')->success($data);
+    }
+
+    /**
+     * 余额来源
+     * @return mixed
+     */
+    public function getChannel()
+    {
+        $where = $this->request->getMore([
+            ['time', '']
+        ]);
+        $data = $this->services->getChannel($where);
+        return app('json')->success($data);
+    }
+
+    /**
+     * 余额类型
+     * @return mixed
+     */
+    public function getType()
+    {
+        $where = $this->request->getMore([
+            ['time', '']
+        ]);
+        $data = $this->services->getType($where);
+        return app('json')->success($data);
+    }
+}

+ 68 - 0
crmeb/app/adminapi/controller/v1/statistic/OrderStatistic.php

@@ -0,0 +1,68 @@
+<?php
+
+namespace app\adminapi\controller\v1\statistic;
+
+use app\adminapi\controller\AuthController;
+use app\services\statistic\OrderStatisticServices;
+use think\facade\App;
+
+class OrderStatistic extends AuthController
+{
+    public function __construct(App $app, OrderStatisticServices $services)
+    {
+        parent::__construct($app);
+        $this->services = $services;
+    }
+
+    /**
+     * 订单统计基础信息
+     * @return mixed
+     */
+    public function getBasic()
+    {
+        $where = $this->request->getMore([
+            ['time', '']
+        ]);
+        $data = $this->services->getBasic($where);
+        return app('json')->success($data);
+    }
+
+    /**
+     * 订单统计趋势图
+     * @return mixed
+     */
+    public function getTrend()
+    {
+        $where = $this->request->getMore([
+            ['time', '']
+        ]);
+        $data = $this->services->getTrend($where);
+        return app('json')->success($data);
+    }
+
+    /**
+     * 订单来源
+     * @return mixed
+     */
+    public function getChannel()
+    {
+        $where = $this->request->getMore([
+            ['time', '']
+        ]);
+        $data = $this->services->getChannel($where);
+        return app('json')->success($data);
+    }
+
+    /**
+     * 订单类型
+     * @return mixed
+     */
+    public function getType()
+    {
+        $where = $this->request->getMore([
+            ['time', '']
+        ]);
+        $data = $this->services->getType($where);
+        return app('json')->success($data);
+    }
+}

+ 106 - 0
crmeb/app/adminapi/controller/v1/statistic/ProductStatistic.php

@@ -0,0 +1,106 @@
+<?php
+// +----------------------------------------------------------------------
+// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2023 https://www.crmeb.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
+// +----------------------------------------------------------------------
+// | Author: CRMEB Team <admin@crmeb.com>
+// +----------------------------------------------------------------------
+
+namespace app\adminapi\controller\v1\statistic;
+
+
+use app\adminapi\controller\AuthController;
+use app\services\statistic\ProductStatisticServices;
+use think\facade\App;
+
+/**
+ * Class ProductStatistic
+ * @package app\adminapi\controller\v1\statistic
+ */
+class ProductStatistic extends AuthController
+{
+    /**
+     * ProductStatistic constructor.
+     * @param App $app
+     * @param ProductStatisticServices $services
+     */
+    public function __construct(App $app, ProductStatisticServices $services)
+    {
+        parent::__construct($app);
+        $this->services = $services;
+    }
+
+    /**
+     * 商品基础
+     * @return mixed
+     */
+    public function getBasic()
+    {
+        $where = $this->request->getMore([
+            ['data', '', '', 'time']
+        ]);
+        return app('json')->success($this->services->getBasic($where));
+    }
+
+    /**
+     * 商品趋势
+     * @return mixed
+     */
+    public function getTrend()
+    {
+        $where = $this->request->getMore([
+            ['data', '', '', 'time']
+        ]);
+        $where['time'] = $this->getDay($where['time']);
+        return app('json')->success($this->services->getTrend($where));
+    }
+
+    /**
+     * 商品排行
+     * @return mixed
+     */
+    public function getProductRanking()
+    {
+        $where = $this->request->getMore([
+            ['data', '', '', 'time'],
+            ['sort', '']
+        ]);
+        $where['time'] = $this->getDay($where['time']);
+        return app('json')->success($this->services->getProductRanking($where));
+    }
+
+    /**
+     * 导出
+     * @return mixed
+     */
+    public function getExcel()
+    {
+        $where = $this->request->getMore([
+            ['data', '', '', 'time']
+        ]);
+        $where['time'] = $this->getDay($where['time']);
+        return app('json')->success($this->services->getTrend($where, true));
+    }
+
+    /**
+     * 格式化时间
+     * @param $time
+     * @return string
+     */
+    public function getDay($time)
+    {
+        if (strstr($time, '-') !== false) {
+            [$startTime, $endTime] = explode('-', $time);
+            if (!$startTime || !$endTime) {
+                return date("Y/m/d 00:00:00", strtotime("-30 days", time())) . '-' . date("Y/m/d 23:59:59", time());
+            } else {
+                return date('Y/m/d 00:00:00', strtotime($startTime)).'-'.date('Y/m/d 23:59:59', strtotime($endTime));
+            }
+        } else {
+            return date("Y/m/d 00:00:00", strtotime("-30 days", time())) . '-' . date("Y/m/d 23:59:59", time());
+        }
+    }
+}

+ 74 - 0
crmeb/app/adminapi/controller/v1/statistic/TradeStatistic.php

@@ -0,0 +1,74 @@
+<?php
+// +----------------------------------------------------------------------
+// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2023 https://www.crmeb.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
+// +----------------------------------------------------------------------
+// | Author: CRMEB Team <admin@crmeb.com>
+// +----------------------------------------------------------------------
+
+namespace app\adminapi\controller\v1\statistic;
+
+
+use app\adminapi\controller\AuthController;
+use app\services\statistic\TradeStatisticServices;
+use think\facade\App;
+
+/**
+ * Class TradeStatistic
+ * @package app\controller\admin\v1\statistic
+ */
+class TradeStatistic extends AuthController
+{
+    /**
+     * TradeStatistic constructor.
+     * @param App $app
+     * @param TradeStatisticServices $services
+     */
+    public function __construct(App $app, TradeStatisticServices $services)
+    {
+        parent::__construct($app);
+        $this->services = $services;
+    }
+
+    /**
+     * 顶部数据
+     * @return mixed
+     */
+    public function topTrade()
+    {
+        $leftToday = $this->services->getTopLeftTrade(['time' => 'today']);
+        $leftyestoday = $this->services->getTopLeftTrade(['time' => 'yestoday']);
+        $rightOne = $this->services->getTopRightOneTrade();
+        $rightTwo = $this->services->getTopRightTwoTrade();
+        $right = ['today' => $rightOne, 'month' => $rightTwo];
+        $totalleft = [$leftToday, $leftyestoday];
+        $left = [];
+        foreach ($totalleft as $k => $v) {
+            $left['name'] = "当日订单金额";
+            $left['x'] = $v['curve']['x'];
+            $left['series'][$k]['money'] = round($v['total_money'], 2);
+            $left['series'][$k]['value'] = array_values($v['curve']['y']);
+        }
+
+        $data['left'] = $left;
+        $data['right'] = $right;
+        return app('json')->success($data);
+    }
+
+    /**
+     * 底部数据
+     * @return mixed
+     */
+    public function bottomTrade()
+    {
+        $day = $this->request->getMore([
+            ['data', ""],
+        ]);
+        $bottom = $this->services->getBottomTrade($day);
+        return app('json')->success($bottom);
+    }
+
+}

+ 152 - 0
crmeb/app/adminapi/controller/v1/statistic/UserStatistic.php

@@ -0,0 +1,152 @@
+<?php
+// +----------------------------------------------------------------------
+// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2023 https://www.crmeb.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
+// +----------------------------------------------------------------------
+// | Author: CRMEB Team <admin@crmeb.com>
+// +----------------------------------------------------------------------
+
+namespace app\adminapi\controller\v1\statistic;
+
+
+use app\adminapi\controller\AuthController;
+use app\services\statistic\UserStatisticServices;
+use think\facade\App;
+
+/**
+ * Class UserStatistic
+ * @package app\adminapi\controller\v1\statistic
+ */
+class UserStatistic extends AuthController
+{
+    /**
+     * UserStatistic constructor.
+     * @param App $app
+     * @param UserStatisticServices $services
+     */
+    public function __construct(App $app, UserStatisticServices $services)
+    {
+        parent::__construct($app);
+        $this->services = $services;
+    }
+
+    /**
+     * 用户基础信息
+     * @return mixed
+     */
+    public function getBasic()
+    {
+        $where = $this->request->getMore([
+            ['channel_type', ''],
+            ['data', '', '', 'time']
+        ]);
+        return app('json')->success($this->services->getBasic($where));
+    }
+
+    /**
+     * 用户趋势
+     * @return mixed
+     */
+    public function getTrend()
+    {
+        $where = $this->request->getMore([
+            ['channel_type', ''],
+            ['data', '', '', 'time']
+        ]);
+        $where['time'] = $this->getDay($where['time']);
+        return app('json')->success($this->services->getTrend($where));
+    }
+
+    /**
+     * 微信用户信息
+     * @return mixed
+     */
+    public function getWechat()
+    {
+        $where = $this->request->getMore([
+            ['channel_type', ''],
+            ['data', '', '', 'time']
+        ]);
+        $where['time'] = $this->getDay($where['time']);
+        return app('json')->success($this->services->getWechat($where));
+    }
+
+    /**
+     * 微信用户趋势
+     * @return mixed
+     */
+    public function getWechatTrend()
+    {
+        $where = $this->request->getMore([
+            ['channel_type', ''],
+            ['data', '', '', 'time']
+        ]);
+        $where['time'] = $this->getDay($where['time']);
+        return app('json')->success($this->services->getWechatTrend($where));
+    }
+
+    /**
+     * 用户地域
+     * @return mixed
+     */
+    public function getRegion()
+    {
+        $where = $this->request->getMore([
+            ['channel_type', ''],
+            ['data', '', '', 'time'],
+            ['sort', 'allNum']
+        ]);
+        $where['time'] = $this->getDay($where['time']);
+        return app('json')->success($this->services->getRegion($where));
+    }
+
+    /**
+     * 用户性别
+     * @return mixed
+     */
+    public function getSex()
+    {
+        $where = $this->request->getMore([
+            ['channel_type', ''],
+            ['data', '', '', 'time']
+        ]);
+        $where['time'] = $this->getDay($where['time']);
+        return app('json')->success($this->services->getSex($where));
+    }
+
+    /**
+     * 用户统计导出
+     * @return mixed
+     */
+    public function getExcel()
+    {
+        $where = $this->request->getMore([
+            ['channel_type', ''],
+            ['data', '', '', 'time']
+        ]);
+        $where['time'] = $this->getDay($where['time']);
+        return app('json')->success($this->services->getTrend($where, true));
+    }
+
+    /**
+     * 格式化时间
+     * @param $time
+     * @return string
+     */
+    public function getDay($time)
+    {
+        if (strstr($time, '-') !== false) {
+            [$startTime, $endTime] = explode('-', $time);
+            if (!$startTime || !$endTime) {
+                return date("Y/m/d 00:00:00", strtotime("-30 days", time())) . '-' . date("Y/m/d 23:59:59", time());
+            } else {
+                return date('Y/m/d 00:00:00', strtotime($startTime)).'-'.date('Y/m/d 23:59:59', strtotime($endTime));
+            }
+        } else {
+            return date("Y/m/d 00:00:00", strtotime("-30 days", time())) . '-' . date("Y/m/d 23:59:59", time());
+        }
+    }
+}

+ 1 - 1
crmeb/app/dao/order/StoreOrderDao.php

@@ -82,7 +82,7 @@ class StoreOrderDao extends BaseDao
                     $query->where('paid', 1)->where('status', 0)->where('refund_status', 0)->where('shipping_type', 2)->where('is_del', 0);
                     break;
                 case 6://已支付 已核销 没有退款
-                    $query->where('paid', 1)->where('status', 2)->where('refund_status', 0)->where('shipping_type', 2)->where('is_del', 0);
+                    $query->where('paid', 1)->whereIn('status', [2,3])->where('refund_status', 0)->where('shipping_type', 2)->where('is_del', 0);
                     break;
                 case -1://退款中
                     $query->where('paid', 1)->whereIn('refund_status', [1, 4])->where('is_del', 0);

+ 2 - 0
crmeb/app/services/user/UserBrokerageServices.php

@@ -349,6 +349,8 @@ class UserBrokerageServices extends BaseServices
         $data['uid'] = $uid;
         $data['pm'] = 1;
         $data['commissionSum'] = $this->getUsersBokerageSum($data);
+        $extract_fail = $this->dao->sum(['uid' => $uid, 'pm' => 1, 'type' => 'extract_fail'], 'number');
+        $data['commissionSum'] = bcadd($data['commissionSum'], $extract_fail, 2);
         $data['pm'] = 0;
         $data['commissionRefund'] = $this->getUsersBokerageSum($data);
         $data['commissionCount'] = $data['commissionSum'] > $data['commissionRefund'] ? bcsub((string)$data['commissionSum'], (string)$data['commissionRefund'], 2) : 0.00;

+ 5 - 5
crmeb/crmeb/services/printer/storage/FeiEYun.php

@@ -151,11 +151,11 @@ class FeiEYun extends BasePrinter
             unset($price);
         }
         $this->printerContent .= '--------------------------------<BR>';
-        $this->printerContent .= '合计:' . number_format($orderInfo['total_price'], 1) . '元<BR>';
-        $this->printerContent .= '邮费:' . number_format($orderInfo['pay_postage'], 1) . '元<BR>';
-        $this->printerContent .= '优惠:' . number_format($orderInfo['coupon_price'], 1) . '元<BR>';
-        $this->printerContent .= '抵扣:' . number_format($orderInfo['deduction_price'], 1) . '元<BR>';
-        $this->printerContent .= '实际支付:' . number_format($orderInfo['pay_price'], 1) . '元<BR>';
+        $this->printerContent .= '合计:' . number_format($orderInfo['total_price'], 2) . '元<BR>';
+        $this->printerContent .= '邮费:' . number_format($orderInfo['pay_postage'], 2) . '元<BR>';
+        $this->printerContent .= '优惠:' . number_format($orderInfo['coupon_price'], 2) . '元<BR>';
+        $this->printerContent .= '抵扣:' . number_format($orderInfo['deduction_price'], 2) . '元<BR>';
+        $this->printerContent .= '实际支付:' . number_format($orderInfo['pay_price'], 2) . '元<BR>';
         $this->printerContent .= '<QR>' . $config['url'] . '</QR>';//把解析后的二维码生成的字符串用标签套上即可自动生成二维码
         return $this;
     }

Разница между файлами не показана из-за своего большого размера
+ 1 - 1
crmeb/public/admin/index.html


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
crmeb/public/admin/system_static/css/app.232e71fd.css


Разница между файлами не показана из-за своего большого размера
+ 0 - 1
crmeb/public/admin/system_static/css/chunk-3f40a978.15ff25d0.css


Разница между файлами не показана из-за своего большого размера
+ 1 - 0
crmeb/public/admin/system_static/css/chunk-b17421ce.d36b48d6.css


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
crmeb/public/admin/system_static/css/chunk-0dfd6ce5.654d0859.css


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
crmeb/public/admin/system_static/js/app.bc071c4d.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 1
crmeb/public/admin/system_static/js/chunk-0dfd6ce5.98a023b1.js


Разница между файлами не показана из-за своего большого размера
+ 3 - 3
crmeb/public/admin/system_static/js/chunk-4468475e.0ba48f81.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 1
crmeb/public/admin/system_static/js/chunk-3f40a978.66e945ee.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 0
crmeb/public/admin/system_static/js/chunk-b17421ce.d68ab905.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 0
crmeb/public/admin/system_static/js/chunk-c5ed5c60.056f50ec.js


Разница между файлами не показана из-за своего большого размера
+ 13 - 13
crmeb/public/admin/system_static/js/chunk-vendors.45aa3611.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
crmeb/public/index.html


+ 35 - 0
crmeb/public/install/crmeb.sql

@@ -33731,6 +33731,7 @@ INSERT INTO `eb_system_config` (`id`, `menu_name`, `type`, `input_type`, `config
 (388, 'customer_corpId', 'text', 'input', 69, '', 1, '', 0, 0, '\"\"', '企业ID', '如果客服链接填写企业微信客服,小程序需要跳转企业微信客服的话需要配置此项,并且在小程序客服中绑定企业ID', 0, 1),
 (389, 'create_wechat_user', 'radio', 'input', 130, '1=>开启\r\n0=>关闭', 1, '', 0, 0, '0', '关注是否生成用户', '用户关注公众号之后是否生成商城用户', 0, 1),
 (390, 'friend_pay_status', 'radio', 'input', 109, '1=>开启\r\n0=>关闭', 1, '', 0, 0, '1', '好友代付', '好友代付开关,关闭后付款类型不显示好友代付', 0, 1),
+(391, 'division_status', 'radio', 'input', 72, '1=>开启\r\n0=>关闭', 1, '', 0, 0, '0', '事业部开关', '事业部开关,关闭后不不计算事业部佣金', 0, 1),
 (392, 'brokerage_level', 'radio', 'input', 72, '1=>一级分销\r\n2=>二级分销', 1, '', 0, 0, '2', '分销层级', '分销层级,一级是只返上级一层的佣金,二级是返上级和上上级的佣金', 98, 1),
 (393, 'sms_type', 'radio', 'input', 97, '0=>一号通\r\n1=>阿里云\r\n2=>腾讯云', 1, '', 0, 0, '0', '短信类型', '短信类型,选择发送的短信类型', 0, 1),
 (394, 'aliyun_AccessKeyId', 'text', 'input', 98, '', 1, '', 0, 0, '\"\"', 'AccessKeyId', '阿里云AccessKeyId', 100, 1),
@@ -47500,6 +47501,8 @@ INSERT INTO `eb_system_menus` (`id`, `pid`, `icon`, `menu_name`, `module`, `cont
 (687, 686, '', '直播间管理', 'admin', '', '', '', '', '[]', 0, 1, 1, 1, '/marketing/live/live_room', '', 1, '', 0, 'admin-marketing-live-live_room', 0, '直播间管理'),
 (688, 686, '', '直播商品管理', 'admin', '', '', '', '', '[]', 0, 1, 1, 1, '/marketing/live/live_goods', '', 1, '', 0, 'admin-marketing-live-live_goods', 0, '直播商品管理'),
 (689, 686, '', '主播管理', 'admin', '', '', '', '', '[]', 0, 1, 1, 1, '/marketing/live/anchor', '', 1, '', 0, 'admin-marketing-live-anchor', 0, '主播管理'),
+(717, 1, '', '商品统计', 'admin', '', '', '', '', '[]', 100, 1, 1, 1, '/statistic/product', '1', 1, '', 0, 'admin-statistic', 0, '商品统计'),
+(718, 9, '', '用户统计', 'admin', '', '', '', '', '[]', 100, 1, 1, 1, '/statistic/user', '9', 1, '', 0, 'admin-statistic', 0, '用户统计'),
 (720, 303, '', '配送员管理', 'admin', '', '', '', '', '[]', 10, 1, 1, 1, '/setting/delivery_service/index', '', 1, '', 0, 'setting-delivery-service', 0, '配送员管理'),
 (731, 27, '', '付费会员', 'admin', '', '', '', '', '[]', 70, 1, 1, 1, '/user/grade', '27', 1, '', 0, 'user-user-grade', 0, '付费会员'),
 (738, 165, '', '用户留言', 'admin', '', '', '', '', '[]', 8, 1, 1, 1, '/setting/store_service/feedback', '165', 1, '', 0, 'admin-setting-store_service-feedback', 0, '用户留言'),
@@ -47509,6 +47512,7 @@ INSERT INTO `eb_system_menus` (`id`, `pid`, `icon`, `menu_name`, `module`, `cont
 (762, 731, '', '卡密会员', 'admin', '', '', '', '', '[]', 0, 1, 1, 1, '/user/grade/card', '', 1, '', 0, 'admin-user-grade-card', 0, '卡密会员'),
 (763, 731, '', '会员记录', 'admin', '', '', '', '', '[]', 0, 1, 1, 1, '/user/grade/record', '', 1, '', 0, 'admin-user-grade-record', 0, '会员记录'),
 (765, 731, '', '会员权益', 'admin', '', '', '', '', '[]', 4, 1, 1, 1, '/user/grade/right', '', 1, '', 0, 'admin-user-grade-right', 0, '会员权益'),
+(766, 35, '', '交易统计', 'admin', '', '', '', '', '[]', 100, 1, 1, 1, '/statistic/transaction', '35', 1, '', 0, 'admin-statistic', 0, '交易统计'),
 (767, 36, '', '发票管理', 'admin', '', '', '', '', '[]', 0, 1, 1, 1, '/order/invoice/list', '', 1, '', 0, 'admin-order-startOrderInvoice-index', 0, '发票管理'),
 (896, 26, '', '分销等级', 'admin', '', '', '', '', '[]', 95, 1, 1, 1, '/setting/membership_level/index', '26', 1, '', 0, 'admin-setting-membership_level-index', 0, '分销等级'),
 (897, 4, '', '售后订单', 'admin', '', '', '', '', '[]', 9, 1, 1, 1, '/order/refund', '4', 1, '', 0, 'admin-order-refund', 0, '售后订单'),
@@ -47520,12 +47524,14 @@ INSERT INTO `eb_system_menus` (`id`, `pid`, `icon`, `menu_name`, `module`, `cont
 (912, 34, '', '积分订单', 'admin', '', '', '', '', '[]', 90, 1, 1, 1, '/marketing/store_integral/order_list', '27/34', 1, '', 0, 'marketing-store_integral-order', 0, '积分订单'),
 (993, 135, '', '小程序', 'admin', '', '', '', '', '[]', 3, 1, 1, 1, '/app/routine', '135', 1, '', 0, 'admin-routine', 0, '小程序'),
 (994, 993, '', '小程序下载', 'admin', '', '', '', '', '[]', 0, 1, 1, 1, '/app/routine/download', '135/993', 1, '', 0, 'routine-download', 0, '小程序下载'),
+(997, 4, '', '订单统计', 'admin', '', '', '', '', '[]', 100, 1, 1, 1, '/statistic/order', '4', 1, '', 0, 'admin-statistic', 0, '订单统计'),
 (998, 37, '', '资金流水', 'admin', '', '', '', '', '[]', 0, 1, 1, 1, '/finance/capital_flow/index', '35/37', 1, '', 0, 'finance-capital_flow-index', 0, '资金流水'),
 (999, 37, '', '账单记录', 'admin', '', '', '', '', '[]', 0, 1, 1, 1, '/finance/billing_records/index', '35/37', 1, '', 0, 'finance-billing_records-index', 0, '账单记录'),
 (1001, 34, '', '积分记录', 'admin', '', '', '', '', '[]', 85, 1, 1, 1, '/marketing/point_record', '27/34', 1, '', 0, 'marketing-point_record-index', 0, '积分记录'),
 (1002, 34, '', '积分统计', 'admin', '', '', '', '', '[]', 100, 1, 1, 1, '/marketing/point_statistic', '27/34', 1, '', 0, 'marketing-point_statistic-index', 0, '积分统计'),
 (1003, 35, '', '余额记录', 'admin', '', '', '', '', '[]', 0, 1, 1, 1, '/finance/balance', '35', 1, '', 0, 'finance-balance-index', 0, '余额记录'),
 (1004, 1003, '', '余额记录', 'admin', '', '', '', '', '[]', 0, 1, 1, 1, '/finance/balance/balance', '35/1003', 1, '', 0, 'finance-user-balance', 0, '余额记录'),
+(1005, 1003, '', '余额统计', 'admin', '', '', '', '', '[]', 100, 1, 1, 1, '/statistic/balance', '35/1003', 1, '', 0, 'admin-statistic', 0, '余额统计'),
 (1006, 69, '', '公众号配置', 'admin', '', '', '', '', '[]', 0, 1, 1, 1, '/setting/wechat_config/2/2', '135/69', 1, '', 0, 'setting-system-config', 0, '公众号配置'),
 (1007, 993, '', '小程序配置', 'admin', '', '', '', '', '[]', 0, 1, 1, 1, '/setting/routine_config/2/7', '135/993', 1, '', 0, 'setting-system-config', 0, '小程序配置'),
 (1008, 135, '', 'PC端', 'admin', '', '', '', '', '[]', 0, 1, 1, 1, '/app/pc', '135', 1, '', 0, 'admin-pc', 0, 'PC端'),
@@ -47533,6 +47539,10 @@ INSERT INTO `eb_system_menus` (`id`, `pid`, `icon`, `menu_name`, `module`, `cont
 (1010, 1008, '', 'PC端配置', 'admin', '', '', '', '', '[]', 0, 1, 1, 1, '/setting/pc_config/2/75', '135/1008', 1, '', 0, 'setting-system-config', 0, 'PC端配置'),
 (1011, 1009, '', 'APP配置', 'admin', '', '', '', '', '[]', 0, 1, 1, 1, '/setting/app_config/2/77', '135/1009', 1, '', 0, 'setting-system-config', 0, 'APP配置'),
 (1012, 1056, '', '系统存储配置', 'admin', '', '', '', '', '[]', 0, 1, 1, 1, '/setting/storage', '12', 1, '', 0, 'setting-storage', 0, '系统存储配置'),
+(1013, 26, '', '事业部', 'admin', '', '', '', '', '[]', 0, 1, 1, 1, '/agent/division', '26', 1, '', 0, 'agent-division', 0, '事业部'),
+(1014, 1013, '', '事业部列表', 'admin', '', '', '', '', '[]', 0, 1, 1, 1, '/division/index', '26/1013', 1, '', 0, 'agent-division-index', 0, '事业部列表'),
+(1015, 1013, '', '代理商列表', 'admin', '', '', '', '', '[]', 0, 1, 1, 1, '/division/agent/index', '26/1013', 1, '', 0, 'agent-division-agent-index', 0, '代理商列表'),
+(1016, 1013, '', '代理商申请', 'admin', '', '', '', '', '[]', 0, 1, 1, 1, '/division/agent/applyList', '26/1013', 1, '', 0, 'agent-division-agent-applyList', 0, '代理商申请'),
 (1018, 909, '', '抽奖配置', 'admin', '', '', '', '', '[]', 0, 1, 1, 1, '/marketing/lottery/create', '27/909', 1, '', 0, 'admin-marketing-lottery-create', 0, '抽奖配置'),
 (1019, 909, '', '中奖记录', 'admin', '', '', '', '', '[]', 0, 1, 1, 1, '/marketing/lottery/recording_list', '27/909', 1, '', 0, 'admin-marketing-lottery-recording_list-id', 0, '中奖记录'),
 (1023, 27, '', '渠道码', 'admin', '', '', '', '', '[]', 55, 1, 1, 1, '/marketing/channel_code/channelCodeIndex', '27', 1, '', 0, 'marketing-channel_code-index', 0, '渠道码'),
@@ -47993,6 +48003,31 @@ INSERT INTO `eb_system_menus` (`id`, `pid`, `icon`, `menu_name`, `module`, `cont
 (2904, 2893, '', '修改分销员等级任务', '', '', '', 'agent/level_task/<id>', 'PUT', '[]', 1, 1, 1, 1, '', '', 2, '', 0, 'agent-level_task', 0, '修改分销员等级任务'),
 (2905, 2893, '', '删除分销员等级任务', '', '', '', 'agent/level_task/<id>', 'DELETE', '[]', 1, 1, 1, 1, '', '', 2, '', 0, 'agent-level_task', 0, '删除分销员等级任务'),
 (2906, 2893, '', '修改分销等级任务状态', '', '', '', 'agent/level_task/set_status/<id>/<status>', 'PUT', '[]', 1, 1, 1, 1, '', '', 2, '', 0, 'agent-level_task-set_status', 0, '修改分销等级任务状态'),
+(2907, 1014, '', '添加事业部', 'admin', '', '', '', '', '[]', 0, 1, 1, 1, '/', '26/1013/1014', 3, '', 0, 'division-add', 0, '添加事业部'),
+(2908, 1014, '', '修改事业部', 'admin', '', '', '', '', '[]', 0, 1, 1, 1, '/', '26/1013/1014', 3, '', 0, 'division-edit', 0, '修改事业部'),
+(2909, 1014, '', '删除事业部', 'admin', '', '', '', '', '[]', 0, 1, 1, 1, '/', '26/1013/1014', 3, '', 0, 'division-delete', 0, '删除事业部'),
+(2910, 1014, '', '查看代理商', 'admin', '', '', '', '', '[]', 0, 1, 1, 1, '/', '26/1013/1014', 3, '', 0, 'division-scan-agent', 0, '查看代理商'),
+(2911, 2907, '', '添加事业部', '', '', '', 'agent/division/create/<uid>', 'GET', '[]', 1, 1, 1, 1, '', '', 2, '', 0, 'agent-division-create', 0, '添加事业部'),
+(2912, 2907, '', '事业部保存', '', '', '', 'agent/division/save', 'POST', '[]', 1, 1, 1, 1, '', '', 2, '', 0, 'agent-division-save', 0, '事业部保存'),
+(2913, 2908, '', '添加事业部', '', '', '', 'agent/division/create/<uid>', 'GET', '[]', 1, 1, 1, 1, '', '', 2, '', 0, 'agent-division-create-646720ac60991', 0, '添加事业部'),
+(2914, 2908, '', '事业部保存', '', '', '', 'agent/division/save', 'POST', '[]', 1, 1, 1, 1, '', '', 2, '', 0, 'agent-division-save-646720ac6099a', 0, '事业部保存'),
+(2915, 2909, '', '删除代理商', '', '', '', 'agent/division/del/<type>/<uid>', 'DELETE', '[]', 1, 1, 1, 1, '', '', 2, '', 0, 'agent-division-del', 0, '删除代理商'),
+(2916, 2910, '', '下级列表', '', '', '', 'agent/division/down_list', 'GET', '[]', 1, 1, 1, 1, '', '', 2, '', 0, 'agent-division-down_list', 0, '下级列表'),
+(2917, 1015, '', '添加代理商', 'admin', '', '', '', '', '[]', 0, 1, 1, 1, '/', '26/1013/1015', 3, '', 0, 'division-agent-add', 0, '添加代理商'),
+(2918, 1015, '', '修改代理商', 'admin', '', '', '', '', '[]', 0, 1, 1, 1, '/', '26/1013/1015', 3, '', 0, 'division-agent-edit', 0, '修改代理商'),
+(2919, 1015, '', '删除代理商', 'admin', '', '', '', '', '[]', 0, 1, 1, 1, '/', '26/1013/1015', 3, '', 0, 'division-agent-delete', 0, '删除代理商'),
+(2920, 1015, '', '查看员工', 'admin', '', '', '', '', '[]', 0, 1, 1, 1, '/', '26/1013/1015', 3, '', 0, 'division-agent-staff', 0, '查看员工'),
+(2921, 2917, '', '添加事业部', '', '', '', 'agent/division/agent/create/<uid>', 'GET', '[]', 1, 1, 1, 1, '', '', 2, '', 0, 'agent-division-agent-create', 0, '添加事业部'),
+(2922, 2917, '', '事业部保存', '', '', '', 'agent/division/agent/save', 'POST', '[]', 1, 1, 1, 1, '', '', 2, '', 0, 'agent-division-agent-save', 0, '事业部保存'),
+(2923, 2918, '', '添加事业部', '', '', '', 'agent/division/agent/create/<uid>', 'GET', '[]', 1, 1, 1, 1, '', '', 2, '', 0, 'agent-division-agent-create-64672134e5497', 0, '添加事业部'),
+(2924, 2918, '', '事业部保存', '', '', '', 'agent/division/agent/save', 'POST', '[]', 1, 1, 1, 1, '', '', 2, '', 0, 'agent-division-agent-save-64672134e54a1', 0, '事业部保存'),
+(2925, 2919, '', '删除代理商', '', '', '', 'agent/division/del/<type>/<uid>', 'DELETE', '[]', 1, 1, 1, 1, '', '', 2, '', 0, 'agent-division-del-64672140f09bd', 0, '删除代理商'),
+(2926, 2920, '', '下级列表', '', '', '', 'agent/division/down_list', 'GET', '[]', 1, 1, 1, 1, '', '', 2, '', 0, 'agent-division-down_list-6467214aa534c', 0, '下级列表'),
+(2927, 1016, '', '审核代理商', 'admin', '', '', '', '', '[]', 0, 1, 1, 1, '/', '26/1013/1016', 3, '', 0, 'division-agent-apply', 0, '审核代理商'),
+(2928, 2927, '', '代理商申请列表', '', '', '', 'agent/division/agent_apply/list', 'GET', '[]', 1, 1, 1, 1, '', '', 2, '', 0, 'agent-division-agent_apply-list', 0, '代理商申请列表'),
+(2929, 2927, '', '审核表单', '', '', '', 'agent/division/examine_apply/<id>/<type>', 'GET', '[]', 1, 1, 1, 1, '', '', 2, '', 0, 'agent-division-examine_apply', 0, '审核表单'),
+(2930, 2927, '', '提交审核', '', '', '', 'agent/division/apply_agent/save', 'POST', '[]', 1, 1, 1, 1, '', '', 2, '', 0, 'agent-division-apply_agent-save', 0, '提交审核'),
+(2931, 2927, '', '删除审核', '', '', '', 'agent/division/del_apply/<id>', 'DELETE', '[]', 1, 1, 1, 1, '', '', 2, '', 0, 'agent-division-del_apply', 0, '删除审核'),
 (2932, 678, '', '添加客服', 'admin', '', '', '', '', '[]', 0, 1, 1, 1, '/', '165/678', 3, '', 0, 'service-add', 0, '添加客服'),
 (2933, 678, '', '编辑客服', 'admin', '', '', '', '', '[]', 0, 1, 1, 1, '/', '165/678', 3, '', 0, 'service-edit', 0, '编辑客服'),
 (2934, 678, '', '删除客服', 'admin', '', '', '', '', '[]', 0, 1, 1, 1, '/', '165/678', 3, '', 0, 'service-delete', 0, '删除客服'),

Разница между файлами не показана из-за своего большого размера
+ 1 - 1
crmeb/public/static/js/index.c067094e.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 0
crmeb/public/static/js/pages-users-user_distribution_level-index.49b97410.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 1
crmeb/public/static/js/pages-users-user_distribution_level-index.faaede2e.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
crmeb/public/static/js/pages-users-user_phone-index.0faa5fdc.js


+ 2 - 2
crmeb/public/statics/mp_view/components/goodList/index.json

@@ -1,4 +1,4 @@
 {
-  "component": true,
-  "usingComponents": {}
+  "usingComponents": {},
+  "component": true
 }

+ 2 - 2
crmeb/public/statics/mp_view/components/kefuIcon/index.json

@@ -1,4 +1,4 @@
 {
-  "component": true,
-  "usingComponents": {}
+  "usingComponents": {},
+  "component": true
 }

+ 2 - 2
crmeb/public/statics/mp_view/components/recommend/index.json

@@ -1,6 +1,6 @@
 {
-  "component": true,
   "usingComponents": {
     "easy-loadimage": "/components/easy-loadimage/easy-loadimage"
-  }
+  },
+  "component": true
 }

+ 2 - 2
crmeb/public/statics/mp_view/pages/annex/components/verify/verifyPoint/verifyPoint.json

@@ -1,4 +1,4 @@
 {
-  "component": true,
-  "usingComponents": {}
+  "usingComponents": {},
+  "component": true
 }

+ 2 - 2
crmeb/public/statics/mp_view/pages/extension/components/shareInfo/index.json

@@ -1,4 +1,4 @@
 {
-  "usingComponents": {},
-  "component": true
+  "component": true,
+  "usingComponents": {}
 }

+ 2 - 2
crmeb/public/statics/mp_view/pages/goods/lottery/components/lotteryAleart.json

@@ -1,4 +1,4 @@
 {
-  "component": true,
-  "usingComponents": {}
+  "usingComponents": {},
+  "component": true
 }

+ 2 - 2
crmeb/public/statics/mp_view/pages/goods/lottery/components/noticeBar.json

@@ -1,4 +1,4 @@
 {
-  "component": true,
-  "usingComponents": {}
+  "usingComponents": {},
+  "component": true
 }

+ 2 - 2
crmeb/public/statics/mp_view/pages/goods/order_pay_status/components/lotteryAleart.json

@@ -1,4 +1,4 @@
 {
-  "usingComponents": {},
-  "component": true
+  "component": true,
+  "usingComponents": {}
 }

+ 2 - 2
crmeb/public/statics/mp_view/pages/index/diy/components/bargain.json

@@ -1,4 +1,4 @@
 {
-  "component": true,
-  "usingComponents": {}
+  "usingComponents": {},
+  "component": true
 }

+ 2 - 2
crmeb/public/statics/mp_view/pages/index/diy/components/blankPage.json

@@ -1,4 +1,4 @@
 {
-  "component": true,
-  "usingComponents": {}
+  "usingComponents": {},
+  "component": true
 }

+ 2 - 2
crmeb/public/statics/mp_view/pages/index/diy/components/customerService.json

@@ -1,4 +1,4 @@
 {
-  "component": true,
-  "usingComponents": {}
+  "usingComponents": {},
+  "component": true
 }

+ 2 - 2
crmeb/public/statics/mp_view/pages/index/diy/components/headerSerch.json

@@ -1,4 +1,4 @@
 {
-  "component": true,
-  "usingComponents": {}
+  "usingComponents": {},
+  "component": true
 }

+ 2 - 2
crmeb/public/statics/mp_view/pages/index/diy/components/news.json

@@ -1,4 +1,4 @@
 {
-  "component": true,
-  "usingComponents": {}
+  "usingComponents": {},
+  "component": true
 }

+ 2 - 2
crmeb/public/statics/mp_view/pages/index/diy/components/pictureCube.json

@@ -1,4 +1,4 @@
 {
-  "usingComponents": {},
-  "component": true
+  "component": true,
+  "usingComponents": {}
 }

+ 2 - 2
crmeb/public/statics/mp_view/pages/index/diy/components/promotionList.json

@@ -1,6 +1,6 @@
 {
-  "component": true,
   "usingComponents": {
     "easy-loadimage": "/components/easy-loadimage/easy-loadimage"
-  }
+  },
+  "component": true
 }

+ 2 - 2
crmeb/public/statics/mp_view/pages/index/diy/components/swiperBg.json

@@ -1,4 +1,4 @@
 {
-  "component": true,
-  "usingComponents": {}
+  "usingComponents": {},
+  "component": true
 }

+ 2 - 2
crmeb/public/statics/mp_view/pages/index/diy/components/tabNav.json

@@ -1,4 +1,4 @@
 {
-  "usingComponents": {},
-  "component": true
+  "component": true,
+  "usingComponents": {}
 }

+ 2 - 2
crmeb/public/statics/mp_view/pages/index/visualization/components/tabBar.json

@@ -1,4 +1,4 @@
 {
-  "usingComponents": {},
-  "component": true
+  "component": true,
+  "usingComponents": {}
 }

+ 2 - 2
crmeb/public/statics/mp_view/pages/points_mall/component/productWindow.json

@@ -1,4 +1,4 @@
 {
-  "usingComponents": {},
-  "component": true
+  "component": true,
+  "usingComponents": {}
 }

+ 2 - 2
crmeb/public/statics/mp_view/pages/users/components/verify/verifySlider/verifySliderPc.json

@@ -1,4 +1,4 @@
 {
-  "usingComponents": {},
-  "component": true
+  "component": true,
+  "usingComponents": {}
 }

Разница между файлами не показана из-за своего большого размера
+ 1 - 1
crmeb/public/statics/mp_view/pages/users/user_distribution_level/index.js


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
crmeb/public/statics/mp_view/pages/users/user_distribution_level/index.wxml


Разница между файлами не показана из-за своего большого размера
+ 1 - 1
crmeb/public/statics/mp_view/pages/users/user_distribution_level/index.wxss


+ 13 - 20
crmeb/public/statics/mp_view/project.config.json

@@ -1,7 +1,8 @@
 {
   "description": "项目配置文件。",
   "packOptions": {
-    "ignore": []
+    "ignore": [],
+    "include": []
   },
   "setting": {
     "urlCheck": false,
@@ -9,28 +10,20 @@
     "postcss": true,
     "minified": true,
     "newFeature": true,
-    "bigPackageSizeSupport": true
+    "bigPackageSizeSupport": true,
+    "babelSetting": {
+      "ignore": [],
+      "disablePlugins": [],
+      "outputPath": ""
+    }
   },
   "compileType": "miniprogram",
-  "libVersion": "",
+  "libVersion": "3.1.5",
   "appid": "wx3b82801238ca1b57",
   "projectname": "CRMEB标准版-v5.2.1",
-  "condition": {
-    "search": {
-      "current": -1,
-      "list": []
-    },
-    "conversation": {
-      "current": -1,
-      "list": []
-    },
-    "game": {
-      "current": -1,
-      "list": []
-    },
-    "miniprogram": {
-      "current": -1,
-      "list": []
-    }
+  "condition": {},
+  "editorSetting": {
+    "tabIndent": "insertSpaces",
+    "tabSize": 2
   }
 }