Explorar o código

Merge branch 'v5.0.0dev' into v5.1.0dev

# Conflicts:
#	crmeb/crmeb/services/easywechat/orderShipping/MiniOrderService.php
evoxwht %!s(int64=2) %!d(string=hai) anos
pai
achega
55b4d0982f
Modificáronse 100 ficheiros con 1415 adicións e 1020 borrados
  1. 1107 880
      crmeb/app/adminapi/controller/UpgradeController.php
  2. 7 2
      crmeb/app/adminapi/controller/v1/setting/SystemConfig.php
  3. 4 0
      crmeb/app/adminapi/controller/v1/setting/SystemRole.php
  4. 11 1
      crmeb/app/dao/order/StoreOrderDao.php
  5. 27 0
      crmeb/app/jobs/MiniOrderJob.php
  6. 83 43
      crmeb/app/listener/order/OrderShippingListener.php
  7. 5 1
      crmeb/app/model/system/SystemMenus.php
  8. 3 0
      crmeb/app/services/order/OtherOrderServices.php
  9. 2 1
      crmeb/app/services/order/StoreOrderDeliveryServices.php
  10. 23 5
      crmeb/app/services/order/StoreOrderServices.php
  11. 5 0
      crmeb/app/services/order/StoreOrderSuccessServices.php
  12. 31 0
      crmeb/app/services/order/StoreOrderTakeServices.php
  13. 9 8
      crmeb/app/services/system/SystemMenusServices.php
  14. 9 0
      crmeb/app/services/system/admin/SystemAdminServices.php
  15. 4 0
      crmeb/app/services/user/UserRechargeServices.php
  16. 4 3
      crmeb/crmeb/services/app/MiniProgramService.php
  17. 6 7
      crmeb/crmeb/services/easywechat/orderShipping/MiniOrderService.php
  18. 31 16
      crmeb/crmeb/services/easywechat/orderShipping/OrderClient.php
  19. 0 1
      crmeb/crmeb/traits/QueueTrait.php
  20. 1 1
      crmeb/public/admin/css.worker.js
  21. 1 1
      crmeb/public/admin/editor.worker.js
  22. 1 1
      crmeb/public/admin/html.worker.js
  23. 1 1
      crmeb/public/admin/index.html
  24. 1 1
      crmeb/public/admin/json.worker.js
  25. 0 2
      crmeb/public/admin/system_static/css/app.2128acc0.css
  26. 2 2
      crmeb/public/admin/system_static/css/app.dd63f4d8.css
  27. 0 2
      crmeb/public/admin/system_static/css/app.9298366e.css
  28. 0 2
      crmeb/public/admin/system_static/css/app.a5c31e50.css
  29. 0 1
      crmeb/public/admin/system_static/css/chunk-00dfde9d.6029ffa4.css
  30. 1 0
      crmeb/public/admin/system_static/css/chunk-01096d07.ed499a06.css
  31. 1 0
      crmeb/public/admin/system_static/css/chunk-019ecb56.af84e76f.css
  32. 1 0
      crmeb/public/admin/system_static/css/chunk-01fe4922.00a0a15f.css
  33. 1 0
      crmeb/public/admin/system_static/css/chunk-0206364c.e960d769.css
  34. 1 0
      crmeb/public/admin/system_static/css/chunk-03e7133c.421a7c77.css
  35. 1 0
      crmeb/public/admin/system_static/css/chunk-04674c34.7749efa3.css
  36. 0 1
      crmeb/public/admin/system_static/css/chunk-04d9318e.bca09a64.css
  37. 0 1
      crmeb/public/admin/system_static/css/chunk-05106bdc.b893c4af.css
  38. 0 1
      crmeb/public/admin/system_static/css/chunk-05920e65.e2d75467.css
  39. 1 0
      crmeb/public/admin/system_static/css/chunk-05cbf24e.c429dc00.css
  40. 0 1
      crmeb/public/admin/system_static/css/chunk-05ea5920.30dce022.css
  41. 1 0
      crmeb/public/admin/system_static/css/chunk-06425c0e.61b14e04.css
  42. 0 1
      crmeb/public/admin/system_static/css/chunk-06565fa8.f33e8737.css
  43. 0 1
      crmeb/public/admin/system_static/css/chunk-06ebf9ce.3a9dc686.css
  44. 1 0
      crmeb/public/admin/system_static/css/chunk-06f7b54e.6674366d.css
  45. 0 1
      crmeb/public/admin/system_static/css/chunk-079229da.f3a1ec95.css
  46. 0 1
      crmeb/public/admin/system_static/css/chunk-07aab7e8.12163463.css
  47. 1 0
      crmeb/public/admin/system_static/css/chunk-07b5ff65.1b08dbb6.css
  48. 0 1
      crmeb/public/admin/system_static/css/chunk-07eb3cf3.572108c3.css
  49. 1 0
      crmeb/public/admin/system_static/css/chunk-086db276.f46eed4f.css
  50. 0 1
      crmeb/public/admin/system_static/css/chunk-08e6167b.b42725be.css
  51. 1 0
      crmeb/public/admin/system_static/css/chunk-093c89cc.0a7b4a84.css
  52. 0 1
      crmeb/public/admin/system_static/css/chunk-099175c5.89f04a35.css
  53. 0 1
      crmeb/public/admin/system_static/css/chunk-0a0e823b.98af5d00.css
  54. 0 1
      crmeb/public/admin/system_static/css/chunk-0a354658.4e2d745a.css
  55. 1 0
      crmeb/public/admin/system_static/css/chunk-0b2d157a.5f3aee83.css
  56. 0 1
      crmeb/public/admin/system_static/css/chunk-0b503f84.47c9981a.css
  57. 0 1
      crmeb/public/admin/system_static/css/chunk-0bf7991c.ec23e6f9.css
  58. 1 1
      crmeb/public/admin/system_static/css/chunk-7ee09251.9f7b9db8.css
  59. 1 0
      crmeb/public/admin/system_static/css/chunk-0c9c680c.1287012e.css
  60. 1 0
      crmeb/public/admin/system_static/css/chunk-0ca76063.b9a345b5.css
  61. 0 1
      crmeb/public/admin/system_static/css/chunk-0d39ed33.6beb4ded.css
  62. 1 0
      crmeb/public/admin/system_static/css/chunk-0d7d8855.52d95e02.css
  63. 1 0
      crmeb/public/admin/system_static/css/chunk-0d965040.c76f98e6.css
  64. 0 1
      crmeb/public/admin/system_static/css/chunk-0e1bff56.0499104f.css
  65. 1 1
      crmeb/public/admin/system_static/css/chunk-1b647dc4.f66053ac.css
  66. 1 0
      crmeb/public/admin/system_static/css/chunk-0ee931b8.ea29e84b.css
  67. 1 0
      crmeb/public/admin/system_static/css/chunk-0f053020.d1425a68.css
  68. 1 0
      crmeb/public/admin/system_static/css/chunk-114e83d5.6cfd1dd1.css
  69. 0 1
      crmeb/public/admin/system_static/css/chunk-11a3b25b.94f87de6.css
  70. 1 0
      crmeb/public/admin/system_static/css/chunk-122363b0.77475f5f.css
  71. 1 1
      crmeb/public/admin/system_static/css/chunk-07f8e82a.38337c8b.css
  72. 0 1
      crmeb/public/admin/system_static/css/chunk-131583ed.760add5d.css
  73. 1 1
      crmeb/public/admin/system_static/css/chunk-7b831a91.562c3559.css
  74. 1 0
      crmeb/public/admin/system_static/css/chunk-1430bc46.7eef744e.css
  75. 1 0
      crmeb/public/admin/system_static/css/chunk-14dd4022.34f7db24.css
  76. 0 1
      crmeb/public/admin/system_static/css/chunk-14edecb8.2bdc7b96.css
  77. 1 0
      crmeb/public/admin/system_static/css/chunk-157b4f48.fb9470f3.css
  78. 1 0
      crmeb/public/admin/system_static/css/chunk-15a639cc.31d891be.css
  79. 0 1
      crmeb/public/admin/system_static/css/chunk-168ce470.7458715b.css
  80. 0 1
      crmeb/public/admin/system_static/css/chunk-16df2f4c.eddf13b2.css
  81. 0 1
      crmeb/public/admin/system_static/css/chunk-1726de98.822786e8.css
  82. 1 0
      crmeb/public/admin/system_static/css/chunk-17a4dcd4.a2a430b1.css
  83. 0 1
      crmeb/public/admin/system_static/css/chunk-17da9750.439ce86b.css
  84. 1 0
      crmeb/public/admin/system_static/css/chunk-182c3b12.965a26d4.css
  85. 1 1
      crmeb/public/admin/system_static/css/chunk-474e923b.2770ce3b.css
  86. 0 1
      crmeb/public/admin/system_static/css/chunk-18d4a264.3a23573e.css
  87. 1 0
      crmeb/public/admin/system_static/css/chunk-19022f92.da084d64.css
  88. 1 0
      crmeb/public/admin/system_static/css/chunk-192b85c8.b1d7015d.css
  89. 1 0
      crmeb/public/admin/system_static/css/chunk-1ab5c2f9.f2d5cc45.css
  90. 0 1
      crmeb/public/admin/system_static/css/chunk-1ac44521.7e4ea005.css
  91. 0 1
      crmeb/public/admin/system_static/css/chunk-1add119a.555bc19b.css
  92. 0 1
      crmeb/public/admin/system_static/css/chunk-1b2bad82.65d216aa.css
  93. 1 0
      crmeb/public/admin/system_static/css/chunk-1bc71a8c.77993446.css
  94. 0 1
      crmeb/public/admin/system_static/css/chunk-1c19d602.1a9e0147.css
  95. 0 1
      crmeb/public/admin/system_static/css/chunk-1c9d17cc.36ffa31d.css
  96. 1 0
      crmeb/public/admin/system_static/css/chunk-1cb94d23.421a7c77.css
  97. 0 1
      crmeb/public/admin/system_static/css/chunk-1cf27680.754868cc.css
  98. 0 1
      crmeb/public/admin/system_static/css/chunk-1d823580.c95191a8.css
  99. 0 1
      crmeb/public/admin/system_static/css/chunk-1db96cd5.754868cc.css
  100. 0 0
      crmeb/public/admin/system_static/css/chunk-1dedce59.2a89d4d5.css

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1107 - 880
crmeb/app/adminapi/controller/UpgradeController.php


+ 7 - 2
crmeb/app/adminapi/controller/v1/setting/SystemConfig.php

@@ -14,6 +14,7 @@ use app\adminapi\controller\AuthController;
 use app\Request;
 use app\services\system\config\SystemConfigServices;
 use app\services\system\config\SystemConfigTabServices;
+use crmeb\services\easywechat\orderShipping\MiniOrderService;
 use think\facade\App;
 
 /**
@@ -327,8 +328,12 @@ class SystemConfig extends AuthController
             @copy($from, $toHome);
             @copy($from, $toPublic);
         }
-        if(isset($post['reward_integral']) || isset($post['reward_money'])) {
-            if($post['reward_integral'] < 0 || $post['reward_money'] < 0) return app('json')->fail(400558);
+        if (isset($post['reward_integral']) || isset($post['reward_money'])) {
+            if ($post['reward_integral'] < 0 || $post['reward_money'] < 0) return app('json')->fail(400558);
+        }
+
+        if (isset($post['order_shipping_open']) && $post['order_shipping_open'] == 1 && isset($post['order_shipping_url'])) {
+            MiniOrderService::setMesJumpPathAndCheck($post['order_shipping_url']);
         }
         foreach ($post as $k => $v) {
             $config_one = $this->services->getOne(['menu_name' => $k]);

+ 4 - 0
crmeb/app/adminapi/controller/v1/setting/SystemRole.php

@@ -77,6 +77,10 @@ class SystemRole extends AuthController
         if (!$data['role_name']) return app('json')->fail(400220);
         if (!is_array($data['rules']) || !count($data['rules']))
             return app('json')->fail(400221);
+
+        $res = app()->make(SystemMenusServices::class)->getColumn([['pid', 'in', $data['rules']]], 'id');
+        $data['rules'] = array_merge($data['rules'], $res);
+
         $data['rules'] = implode(',', $data['rules']);
         if ($id) {
             if (!$this->services->update($id, $data)) return app('json')->fail(100007);

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

@@ -978,8 +978,18 @@ class StoreOrderDao extends BaseDao
             })->field(['uid', 'order_id', 'real_name', 'status', 'pay_price', 'total_num', 'add_time', 'pay_time', 'paid'])->order('add_time desc')->select()->toArray();
     }
 
+    public function getSubOrderNotSendList(int $pid)
+    {
+        return $this->getModel()->where('pid', $pid)->where('status', 1)->select()->toArray();
+    }
+
     public function getSubOrderNotSend(int $pid, int $order_id)
     {
-        return $this->getModel()->where('id', $pid)->where('status', '0')->where('id', '<>', $order_id)->count();
+        return $this->getModel()->where('pid', $pid)->where('status', 0)->where('id', '<>', $order_id)->count();
+    }
+
+    public function getSubOrderNotTake(int $pid, int $order_id)
+    {
+        return $this->getModel()->where('pid', $pid)->where('status', 1)->where('id', '<>', $order_id)->count();
     }
 }

+ 27 - 0
crmeb/app/jobs/MiniOrderJob.php

@@ -0,0 +1,27 @@
+<?php
+
+namespace app\jobs;
+
+use crmeb\basic\BaseJobs;
+use crmeb\services\easywechat\orderShipping\MiniOrderService;
+use crmeb\traits\QueueTrait;
+use EasyWeChat\Core\Exceptions\HttpException;
+use think\Exception;
+
+class MiniOrderJob extends BaseJobs
+{
+    use QueueTrait;
+
+    /**
+     * @throws HttpException
+     */
+    public function doJob(string $out_trade_no, int $logistics_type, array $shipping_list, string $payer_openid, string $path, int $delivery_mode = 1, bool $is_all_delivered = true)
+    {
+        try {
+            MiniOrderService::shippingByTradeNo($out_trade_no, $logistics_type, $shipping_list, $payer_openid, $path, $delivery_mode, $is_all_delivered);
+        } catch (HttpException $e) {
+            // 订单异常处理
+            throw new HttpException($e);
+        }
+    }
+}

+ 83 - 43
crmeb/app/listener/order/OrderShippingListener.php

@@ -2,6 +2,7 @@
 
 namespace app\listener\order;
 
+use app\jobs\MiniOrderJob;
 use app\model\order\StoreOrder;
 use app\services\order\StoreOrderCartInfoServices;
 use app\services\order\StoreOrderServices;
@@ -15,56 +16,95 @@ class OrderShippingListener implements ListenerInterface
     public function handle($event): void
     {
         /** @var StoreOrder $order */
-        [$order, $delivery_type, $delivery_id, $delivery_name] = $event;
+        [$order_type, $order, $delivery_type, $delivery_id, $delivery_name] = $event;
         $order_shipping_open = sys_config('order_shipping_open', 0);  // 小程序发货信息管理服务开关
+        $secs = 0;
         if ($order && $order_shipping_open) {
-            if ($order['channel_type'] = 'routine') {
-                $out_trade_no = $order['order_id'];
-                //判断订单是否拆单
-                $delivery_mode = 1;
-                $is_all_delivered = true;
-                if ($order['pid'] > 0) {
-                    $order = '';
-                    $delivery_mode = 2;
-                    // 判断订单是否全部发货
-                    /** @var StoreOrderServices $orderServices */
-                    $orderServices = app()->make(StoreOrderServices::class);
-                    $is_all_delivered = $orderServices->checkSubOrderNotSend((int)$order['pid'], (int)$order['id']);
-                }
+            //判断订单是否拆单
+            $delivery_mode = 1;
+            $is_all_delivered = true;
+            if ($order_type == 'product') {  // 商品订单
+                if ($order['is_channel'] == 1 && $order['pay_type'] == 'weixin') {
+                    $out_trade_no = $order['order_id'];
+                    /** @var StoreOrderCartInfoServices $orderInfoServices */
+                    $orderInfoServices = app()->make(StoreOrderCartInfoServices::class);
+                    $item_desc = $orderInfoServices->getCarIdByProductTitle((int)$order['id'], true);
 
-                // 整理商品信息
-                /** @var StoreOrderCartInfoServices $orderInfoServices */
-                $orderInfoServices = app()->make(StoreOrderCartInfoServices::class);
-                $item_desc = $orderInfoServices->getCarIdByProductTitle((int)$order['id'], true);
-                $shipping_list = [
-                    ['item_desc' => $item_desc]
-                ];
-                //判断订单物流模式
-                if ($order['shipping_type'] == 1) {
-                    if ($delivery_type == 1) {
-                        $shipping_list = [
-                            [
-                                'tracking_no' => $delivery_id ?? '',
-                                'express_company' => $delivery_name ?? '',
-                                'item_desc' => $item_desc,
-                                'contact' => [
-                                    'receiver_contact' => $order['user_phone']
-                                ]
-                            ]
-                        ];
+                    if ($order['pid'] > 0) {
+                        $delivery_mode = 2;
+                        // 判断订单是否全部发货
+                        /** @var StoreOrderServices $orderServices */
+                        $orderServices = app()->make(StoreOrderServices::class);
+                        $is_all_delivered = $orderServices->checkSubOrderNotSend((int)$order['pid'], (int)$order['id']);
+                        $p_order = $orderServices->get((int)$order['pid']);
+                        if (!$p_order) {
+                            throw new AdminException('拆单异常');
+                        }
+                        $out_trade_no = $p_order['order_id'];
                     }
-                    $logistics_type = $delivery_type;
+                    $pay_uid = $order['pay_uid'];
+                    $path = 'pages/goods/order_details/index?order_id=' . $out_trade_no;
+                } else {
+                    return;
+                }
+            } else if ($order_type == 'recharge') {  // 充值订单
+                if ($order['recharge_type'] == 'weixin') {
+                    $delivery_type = 3;
+                    $item_desc = '用户充值' . $order['price'];
+                    $out_trade_no = $order['order_id'];
+                    $pay_uid = $order['uid'];
+                    $secs = 10;
+                    $path = '/pages/users/user_bill/index?type=2';
+                } else {
+                    return;
+                }
+            } else if ($order_type == 'member') {  // 会员订单
+                if ($order['pay_type'] == 'weixin') {
+                    $delivery_type = 3;
+                    $item_desc = '用户购买' . $order['member_type'] . '会员卡';
+                    $out_trade_no = $order['order_id'];
+                    $pay_uid = $order['uid'];
+                    $secs = 10;
+                    $path = '/pages/annex/vip_paid/index';
                 } else {
-                    $logistics_type = 4;
+                    return;
                 }
-                //查找支付者openid
-                /** @var WechatUserServices $wechatUserService */
-                $wechatUserService = app()->make(WechatUserServices::class);
-                $payer_openid = $wechatUserService->uidToOpenid($order['pay_uid'], 'routine');
-                if (empty($payer_openid)) {
-                    throw new AdminException('订单支付人异常');
+            } else {
+                return;
+            }
+            // 整理商品信息
+            $shipping_list = [
+                ['item_desc' => $item_desc]
+            ];
+            //判断订单物流模式
+            if (!isset($order['shipping_type']) || $order['shipping_type'] == 1) {
+                if ($delivery_type == 1) {
+                    $shipping_list = [
+                        [
+                            'tracking_no' => $delivery_id ?? '',
+                            'express_company' => $delivery_name ?? '',
+                            'item_desc' => $item_desc,
+                            'contact' => [
+                                'receiver_contact' => $order['user_phone']
+                            ]
+                        ]
+                    ];
                 }
-                MiniOrderService::shippingByTradeNo($out_trade_no, $logistics_type, $shipping_list, $payer_openid, $delivery_mode, $is_all_delivered);
+                $logistics_type = $delivery_type;
+            } else {
+                $logistics_type = 4;
+            }
+            //查找支付者openid
+            /** @var WechatUserServices $wechatUserService */
+            $wechatUserService = app()->make(WechatUserServices::class);
+            $payer_openid = $wechatUserService->uidToOpenid($pay_uid, 'routine');
+            if (empty($payer_openid)) {
+                throw new AdminException('订单支付人异常');
+            }
+            if ($secs) {
+                MiniOrderJob::dispatchSecs($secs, 'doJob', [$out_trade_no, $logistics_type, $shipping_list, $payer_openid, $path, $delivery_mode, $is_all_delivered]);
+            } else {
+                MiniOrderJob::dispatch('doJob', [$out_trade_no, $logistics_type, $shipping_list, $payer_openid, $path, $delivery_mode, $is_all_delivered]);
             }
         }
     }

+ 5 - 1
crmeb/app/model/system/SystemMenus.php

@@ -232,7 +232,11 @@ class SystemMenus extends BaseModel
     public function searchAuthTypeAttr($query, $value)
     {
         if ($value !== '') {
-            $query->where('auth_type', $value);
+            if ($value == 3) {
+                $query->whereIn('auth_type', [1, 3]);
+            } else {
+                $query->where('auth_type', $value);
+            }
         }
     }
 }

+ 3 - 0
crmeb/app/services/order/OtherOrderServices.php

@@ -346,6 +346,9 @@ class OtherOrderServices extends BaseServices
             if ($spread_two && $spread_two_price > 0) $this->memberBrokerage($spread_two, $spread_two_price, 'get_two_member_brokerage', $orderInfo);
         }
 
+        $orderInfo['pay_type'] = $paytype;
+        // 小程序订单服务
+        event('OrderShipping', ['member', $orderInfo, 3, '', '']);
         return false !== $res;
     }
 

+ 2 - 1
crmeb/app/services/order/StoreOrderDeliveryServices.php

@@ -463,7 +463,8 @@ class StoreOrderDeliveryServices extends BaseServices
         if (!$data['delivery_id']) {
             $data['delivery_id'] = uniqid();
         }
-        event('OrderShipping', [$orderInfo, $type, $data['delivery_id'], $data['delivery_name']]);
+        // 小程序订单管理
+        event('OrderShipping', ['product', $orderInfo, $type, $data['delivery_id'], $data['delivery_name']]);
         //到期自动收货
         event('OrderDeliveryListener', [$orderInfo, $storeName, $data, $type]);
         return $res;

+ 23 - 5
crmeb/app/services/order/StoreOrderServices.php

@@ -2498,8 +2498,16 @@ HTML;
         }
         // 判断是否开启小程序订单管理
         $orderData['order_shipping_open'] = false;
-        if (sys_config('order_shipping_open', 0) && MiniOrderService::isManaged()) {
-            $orderData['order_shipping_open'] = true;
+        if (sys_config('order_shipping_open', 0) && MiniOrderService::isManaged() && $order['is_channel'] == 1 && $order['pay_type'] == 'weixin') {
+            // 判断是否存在子未收货子订单
+            if ($order['pid'] > 0) {
+                if ($this->checkSubOrderNotTake((int)$order['pid'], (int)$order['id'])) {
+                    $orderData['order_shipping_open'] = true;
+                }
+            } else {
+                $orderData['order_shipping_open'] = true;
+            }
+
         }
         return $orderData;
     }
@@ -2654,15 +2662,15 @@ HTML;
 
     /**
      * 取消商家寄件
-     * @author 等风来
-     * @email 136327134@qq.com
-     * @date 2023/5/15
      * @param int $id
      * @param string $msg
      * @return array|mixed
      * @throws \think\db\exception\DataNotFoundException
      * @throws \think\db\exception\DbException
      * @throws \think\db\exception\ModelNotFoundException
+     * @author 等风来
+     * @email 136327134@qq.com
+     * @date 2023/5/15
      */
     public function shipmentCancelOrder(int $id, string $msg)
     {
@@ -2713,4 +2721,14 @@ HTML;
             return true;
         }
     }
+
+    public function checkSubOrderNotTake(int $pid, int $order_id)
+    {
+        $order_count = $this->dao->getSubOrderNotTake($pid, $order_id);
+        if ($order_count > 0) {
+            return false;
+        } else {
+            return true;
+        }
+    }
 }

+ 5 - 0
crmeb/app/services/order/StoreOrderSuccessServices.php

@@ -100,6 +100,11 @@ class StoreOrderSuccessServices extends BaseServices
         event('NoticeListener', [$orderInfo, 'admin_pay_success_code']);
         // 推送订单
         event('OutPushListener', ['order_pay_push', ['order_id' => (int)$orderInfo['id']]]);
+
+        // 小程序订单管理 (自提商品)
+        if ($orderInfo['shipping_type'] == 2) {
+            event('OrderShipping', ['product', $orderInfo, 4, '', '']);
+        }
         $res = $res1 && $resPink;
         return false !== $res;
     }

+ 31 - 0
crmeb/app/services/order/StoreOrderTakeServices.php

@@ -42,6 +42,37 @@ class StoreOrderTakeServices extends BaseServices
         $this->dao = $dao;
     }
 
+    /**
+     * 小程序订单服务收货
+     * @param $merchant_trade_no
+     * @return bool
+     * @throws \think\db\exception\DataNotFoundException
+     * @throws \think\db\exception\DbException
+     * @throws \think\db\exception\ModelNotFoundException
+     *
+     * @date 2023/05/18
+     * @author yyw
+     */
+    public function miniOrderTakeOrder($merchant_trade_no)
+    {
+        //查找订单信息
+        $order = $this->dao->getOne(['order_id' => $merchant_trade_no]);
+        if (!$order) {
+            return true;
+        }
+        if ($order['pid'] == -1) {  // 有子订单
+            // 查找待收货的子订单
+            $son_order_list = $this->dao->getSubOrderNotSendList((int)$order['id']);
+            foreach ($son_order_list as $son_order) {
+                $this->takeOrder($son_order['order_id'], $son_order['uid']);
+            }
+        } else {
+            $this->takeOrder($merchant_trade_no, $order['uid']);
+        }
+
+        return true;
+    }
+
     /**
      * 用户订单收货
      * @param $uni

+ 9 - 8
crmeb/app/services/system/SystemMenusServices.php

@@ -120,9 +120,13 @@ class SystemMenusServices extends BaseServices
      * @throws \think\db\exception\DbException
      * @throws \think\db\exception\ModelNotFoundException
      */
-    protected function getFormCascaderMenus(int $value = 0)
+    protected function getFormCascaderMenus(int $value = 0, $auth_type = 0)
     {
-        $menuList = $this->dao->getMenusRoule(['is_del' => 0], ['id as value', 'pid', 'menu_name as label']);
+        $where = ['is_del' => 0];
+        if ($auth_type == 3) {
+            $where = ['is_del' => 0, 'auth_type' => 3];
+        }
+        $menuList = $this->dao->getMenusRoule($where, ['id as value', 'pid', 'menu_name as label']);
         $menuList = $this->getMenusData($menuList);
         if ($value) {
             $data = get_tree_value($menuList, $value);
@@ -144,17 +148,14 @@ class SystemMenusServices extends BaseServices
     public function createMenusForm(array $formData = [])
     {
         $field[] = Form::input('menu_name', '按钮名称', $formData['menu_name'] ?? '')->required('按钮名称必填');
-//        $field[] = Form::select('pid', '父级id', $formData['pid'] ?? 0)->setOptions($this->getFormSelectMenus())->filterable(1);
         $field[] = Form::input('menu_path', '路由名称', $formData['menu_path'] ?? '')->placeholder('请输入前台跳转路由地址')->required('请填写前台路由地址');
         $field[] = Form::input('unique_auth', '权限标识', $formData['unique_auth'] ?? '')->placeholder('不填写则后台自动生成');
-        $params = $formData['params'] ?? '';
-//        $field[] = Form::input('params', '参数', is_array($params) ? '' : $params)->placeholder('举例:a/123/b/234');
         $field[] = Form::frameInput('icon', '图标', $this->url(config('app.admin_prefix', 'admin') . '/widget.widgets/icon', ['fodder' => 'icon']), $formData['icon'] ?? '')->icon('md-add')->height('505px')->modal(['footer-hide' => true]);
         $field[] = Form::number('sort', '排序', (int)($formData['sort'] ?? 0))->precision(0);
-        $field[] = Form::radio('auth_type', '类型', $formData['auth_type'] ?? 1)->options([['value' => 2, 'label' => '接口'], ['value' => 1, 'label' => '菜单(包含页面按钮)']]);
+        $field[] = Form::radio('auth_type', '类型', $formData['auth_type'] ?? 1)->options([['value' => 1, 'label' => '菜单'], ['value' => 3, 'label' => '按钮']]);
         $field[] = Form::radio('is_show', '权限状态', $formData['is_show'] ?? 1)->options([['value' => 1, 'label' => '开启'], ['value' => 0, 'label' => '关闭']]);
         $field[] = Form::radio('is_show_path', '是否显示', $formData['is_show_path'] ?? 0)->options([['value' => 1, 'label' => '显示'], ['value' => 0, 'label' => '隐藏']]);
-        [$menuList, $data] = $this->getFormCascaderMenus((int)($formData['pid'] ?? 0));
+        [$menuList, $data] = $this->getFormCascaderMenus((int)($formData['pid'] ?? 0), 3);
         $field[] = Form::cascader('menu_list', '父级id', $data)->data($menuList)->filterable(true);
         return $field;
     }
@@ -248,7 +249,7 @@ class SystemMenusServices extends BaseServices
     public function getMenus($roles): array
     {
         $field = ['menu_name', 'pid', 'id'];
-        $where = ['is_del' => 0];
+        $where = ['is_del' => 0, 'auth_type' => 3];
         if (!$roles) {
             $menus = $this->dao->getMenusRoule($where, $field);
         } else {

+ 9 - 0
crmeb/app/services/system/admin/SystemAdminServices.php

@@ -257,6 +257,10 @@ class SystemAdminServices extends BaseServices
         }
         unset($data['conf_pwd']);
 
+        if (strlen(trim($data['pwd'])) < 6 || strlen(trim($data['pwd'])) > 32) {
+            throw new AdminException(400762);
+        }
+
         if ($this->dao->count(['account' => $data['account'], 'is_del' => 0])) {
             throw new AdminException(400596);
         }
@@ -319,6 +323,11 @@ class SystemAdminServices extends BaseServices
             if ($data['conf_pwd'] != $data['pwd']) {
                 throw new AdminException(400264);
             }
+
+            if (strlen(trim($data['pwd'])) < 6 || strlen(trim($data['pwd'])) > 32) {
+                throw new AdminException(400762);
+            }
+
             $adminInfo->pwd = $this->passwordHash($data['pwd']);
         }
         //修改账号

+ 4 - 0
crmeb/app/services/user/UserRechargeServices.php

@@ -492,6 +492,10 @@ class UserRechargeServices extends BaseServices
 
         //提醒推送
         event('NoticeListener', [['order' => $order, 'now_money' => $now_money], 'recharge_success']);
+
+        $order['pay_type'] = $other['pay_type'];
+        // 小程序订单服务
+        event('OrderShipping', ['recharge', $order, 3, '', '']);
         return true;
     }
 

+ 4 - 3
crmeb/crmeb/services/app/MiniProgramService.php

@@ -13,6 +13,7 @@ namespace crmeb\services\app;
 
 use app\services\order\StoreOrderTakeServices;
 use crmeb\exceptions\AdminException;
+use crmeb\services\easywechat\orderShipping\MiniOrderService;
 use crmeb\services\SystemConfigService;
 use app\services\pay\PayNotifyServices;
 use crmeb\services\easywechat\Application;
@@ -92,7 +93,7 @@ class MiniProgramService
      */
     public static function options()
     {
-        $wechat = SystemConfigService::more(['wechat_app_appsecret', 'wechat_app_appid', 'site_url', 'routine_appId', 'routine_appsecret']);
+        $wechat = SystemConfigService::more(['wechat_app_appsecret', 'wechat_app_appid', 'site_url', 'routine_appId', 'routine_appsecret', 'wechat_token', 'wechat_encodingaeskey']);
         $payment = SystemConfigService::more(['pay_weixin_mchid', 'pay_weixin_key', 'pay_weixin_client_cert', 'pay_weixin_client_key', 'pay_weixin_open', 'pay_new_weixin_open', 'pay_new_weixin_mchid']);
         $config = [];
         if (request()->isApp()) {
@@ -881,12 +882,12 @@ class MiniProgramService
                             break;
                         case 'trade_manage_order_settlement':     // 订单完成发货时  订单结算时
                             if (isset($message['estimated_settlement_time'])) { //订单完成发货时
-
+                                MiniOrderService::notifyConfirmByTradeNo($message['merchant_trade_no'], time());
                             }
                             if (isset($message['confirm_receive_method'])) {  // 订单结算时
                                 /** @var StoreOrderTakeServices $StoreOrderTakeServices */
                                 $storeOrderTakeServices = app()->make(StoreOrderTakeServices::class);
-                                $storeOrderTakeServices->takeOrder($message['merchant_trade_no'], 0);
+                                $storeOrderTakeServices->miniOrderTakeOrder($message['merchant_trade_no']);
                             }
                             break;
                     };

+ 6 - 7
crmeb/crmeb/services/easywechat/orderShipping/MiniOrderService.php

@@ -22,7 +22,7 @@ class MiniOrderService
      */
     protected static function options(array $config = [])
     {
-        $payment = SystemConfigService::more(['routine_appId', 'routine_appsecret', 'pay_weixin_mchid', 'pay_new_weixin_open', 'pay_new_weixin_mchid']);
+        $payment = SystemConfigService::more(['routine_appId', 'routine_appsecret', 'pay_weixin_mchid', 'pay_new_weixin_open', 'pay_new_weixin_mchid', 'wechat_token', 'wechat_encodingaeskey']);
         return [
             'mini_program' => [
                 'app_id' => $payment['routine_appId'] ?? '',
@@ -63,9 +63,9 @@ class MiniOrderService
      * @date 2023/05/09
      * @author yyw
      */
-    public static function shippingByTradeNo(string $out_trade_no, int $logistics_type, array $shipping_list, string $payer_openid, int $delivery_mode = 1, bool $is_all_delivered = true)
+    public static function shippingByTradeNo(string $out_trade_no, int $logistics_type, array $shipping_list, string $payer_openid, string $path, int $delivery_mode = 1, bool $is_all_delivered = true)
     {
-        return self::order()->shippingByTradeNo($out_trade_no, $logistics_type, $shipping_list, $payer_openid, $delivery_mode, $is_all_delivered);
+        return self::order()->shippingByTradeNo($out_trade_no, $logistics_type, $shipping_list, $payer_openid, $path, $delivery_mode, $is_all_delivered);
     }
 
     /**
@@ -105,9 +105,8 @@ class MiniOrderService
      * 判断是否开通
      * @return bool
      * @throws HttpException
-     * @throws \Psr\SimpleCache\InvalidArgumentException
      *
-     * @date 2023/05/09
+     * @date 2023/05/17
      * @author yyw
      */
     public static function isManaged()
@@ -125,9 +124,9 @@ class MiniOrderService
      * @date 2023/05/10
      * @author yyw
      */
-    public static function setMesJumpPath($path)
+    public static function setMesJumpPathAndCheck($path)
     {
-        return self::order()->setMesJumpPath($path);
+        return self::order()->setMesJumpPathAndCheck($path);
     }
 
 

+ 31 - 16
crmeb/crmeb/services/easywechat/orderShipping/OrderClient.php

@@ -11,7 +11,9 @@ use think\facade\Cache;
 
 class OrderClient extends BaseOrder
 {
-    const redis_prefix = 'mimi_order';
+    const redis_prefix = 'mini_order';
+
+    const express_company = 'ZTO';   // 默认发货快递公司为(中通快递)
 
 
     /**
@@ -68,15 +70,11 @@ class OrderClient extends BaseOrder
      * @date 2023/05/10
      * @author yyw
      */
-    public function shippingByTradeNo(string $out_trade_no, int $logistics_type, array $shipping_list, string $payer_openid, int $delivery_mode = 1, bool $is_all_delivered = true)
+    public function shippingByTradeNo(string $out_trade_no, int $logistics_type, array $shipping_list, string $payer_openid, $path, int $delivery_mode = 1, bool $is_all_delivered = true)
     {
-//        $this->setMesJumpPath('demo');
-
-//        if (!$this->checkManaged()) {
-//            throw new AdminException('开通小程序订单管理服务后重试');
-//        }
-
-
+        if (!$this->checkManaged()) {
+            throw new AdminException('开通小程序订单管理服务后重试');
+        }
         $params = [
             'order_key' => [
                 'order_number_type' => 1,
@@ -103,9 +101,8 @@ class OrderClient extends BaseOrder
                 'contact' => $contact
             ];
         }
-
         // 跳转路径
-        $this->setMesJumpPath(self::PATH . '?order_id=' . $out_trade_no);
+//        $this->setMesJumpPath($path);
         return $this->shipping($params);
     }
 
@@ -132,7 +129,7 @@ class OrderClient extends BaseOrder
         $params = [
             'order_key' => [
                 'order_number_type' => 1,
-                'mchid' => $this->config['mini_program']['merchant_id'],
+                'mchid' => $this->config['config']['mini_program']['merchant_id'],
                 'out_trade_no' => $out_trade_no,
             ],
             'upload_time' => date(DATE_RFC3339),
@@ -145,7 +142,7 @@ class OrderClient extends BaseOrder
             $sub_order = [
                 'order_key' => [
                     'order_number_type' => 1,
-                    'mchid' => $this->config['mini_program']['merchant_id'],
+                    'mchid' => $this->config['config']['mini_program']['merchant_id'],
                     'out_trade_no' => $order['out_trade_no'],
                     'logistics_type' => $logistics_type,
                 ],
@@ -181,13 +178,30 @@ class OrderClient extends BaseOrder
     public function notifyConfirmByTradeNo(string $merchant_trade_no, string $received_time)
     {
         $params = [
-            'merchant_id' => $this->config['payment']['merchant_id'],
+            'merchant_id' => $this->config['config']['mini_program']['merchant_id'],
             'merchant_trade_no' => $merchant_trade_no,
             'received_time' => $received_time
         ];
         return $this->notifyConfirm($params);
     }
 
+    /**
+     * 设置跳转连接
+     * @param $path
+     * @return array
+     * @throws \EasyWeChat\Core\Exceptions\HttpException
+     *
+     * @date 2023/05/10
+     * @author yyw
+     */
+    public function setMesJumpPathAndCheck($path)
+    {
+        if (!$this->checkManaged()) {
+            throw new AdminException('开通小程序订单管理服务后重试');
+        }
+        return $this->setMesJumpPath($path);
+    }
+
     /**
      * 设置小程序管理服务开通状态
      * @return bool
@@ -264,14 +278,15 @@ class OrderClient extends BaseOrder
         if (!$this->getRedis()->exists($key)) {
             $date = $this->setDeliveryList();
             if (!isset($date[$company_name])) {
-                throw new AdminException('物流公司异常1');
+//                throw new AdminException('物流公司异常1');
             }
             $express_company = $date[$company_name];
         } else {
             $express_company = $this->getRedis()->hMGet($key, [$company_name])[$company_name] ?? '';
         }
         if (empty($express_company)) {
-            throw new AdminException('物流公司异常2');
+//            throw new AdminException('物流公司异常2');
+            $express_company = self::express_company;
         }
 
         return $express_company;

+ 0 - 1
crmeb/crmeb/traits/QueueTrait.php

@@ -60,7 +60,6 @@ trait QueueTrait
             } else {
                 $res->$action(...$data);
             }
-
         }
     }
 

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
crmeb/public/admin/css.worker.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
crmeb/public/admin/editor.worker.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
crmeb/public/admin/html.worker.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
crmeb/public/admin/index.html


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
crmeb/public/admin/json.worker.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 2
crmeb/public/admin/system_static/css/app.2128acc0.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 2 - 2
crmeb/public/admin/system_static/css/app.dd63f4d8.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 2
crmeb/public/admin/system_static/css/app.9298366e.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 2
crmeb/public/admin/system_static/css/app.a5c31e50.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 1
crmeb/public/admin/system_static/css/chunk-00dfde9d.6029ffa4.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
crmeb/public/admin/system_static/css/chunk-01096d07.ed499a06.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
crmeb/public/admin/system_static/css/chunk-019ecb56.af84e76f.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
crmeb/public/admin/system_static/css/chunk-01fe4922.00a0a15f.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
crmeb/public/admin/system_static/css/chunk-0206364c.e960d769.css


+ 1 - 0
crmeb/public/admin/system_static/css/chunk-03e7133c.421a7c77.css

@@ -0,0 +1 @@
+.v-transfer-dom[data-v-5cc97a38] .ivu-modal-content-drag{z-index:2!important}.radio[data-v-5cc97a38]{margin-bottom:14px}.radio[data-v-5cc97a38] .name{width:125px;text-align:right;padding-right:12px}

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
crmeb/public/admin/system_static/css/chunk-04674c34.7749efa3.css


+ 0 - 1
crmeb/public/admin/system_static/css/chunk-04d9318e.bca09a64.css

@@ -1 +0,0 @@
-.QRpic[data-v-5bc93f04]{width:180px;height:180px}.QRpic img[data-v-5bc93f04]{width:100%;height:100%}

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 1
crmeb/public/admin/system_static/css/chunk-05106bdc.b893c4af.css


+ 0 - 1
crmeb/public/admin/system_static/css/chunk-05920e65.e2d75467.css

@@ -1 +0,0 @@
-.box[data-v-34f427be]{width:100%;height:100%;background:#fff}[data-v-34f427be] .ivu-card-body{min-height:700px}[data-v-34f427be] .conter .pictrueList{max-width:100%}

+ 1 - 0
crmeb/public/admin/system_static/css/chunk-05cbf24e.c429dc00.css

@@ -0,0 +1 @@
+.treeSel[data-v-5f459790] .ivu-select-dropdown-list{padding:0 10px!important;-webkit-box-sizing:border-box;box-sizing:border-box}.tabBox_img[data-v-5f459790]{width:36px;height:36px;border-radius:4px;cursor:pointer}.tabBox_img img[data-v-5f459790]{width:100%;height:100%}

+ 0 - 1
crmeb/public/admin/system_static/css/chunk-05ea5920.30dce022.css

@@ -1 +0,0 @@
-.tabBox_img[data-v-5d928576]{width:36px;height:36px;border-radius:4px;cursor:pointer}.tabBox_img img[data-v-5d928576]{width:100%;height:100%}

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
crmeb/public/admin/system_static/css/chunk-06425c0e.61b14e04.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 1
crmeb/public/admin/system_static/css/chunk-06565fa8.f33e8737.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 1
crmeb/public/admin/system_static/css/chunk-06ebf9ce.3a9dc686.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
crmeb/public/admin/system_static/css/chunk-06f7b54e.6674366d.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 1
crmeb/public/admin/system_static/css/chunk-079229da.f3a1ec95.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 1
crmeb/public/admin/system_static/css/chunk-07aab7e8.12163463.css


+ 1 - 0
crmeb/public/admin/system_static/css/chunk-07b5ff65.1b08dbb6.css

@@ -0,0 +1 @@
+.list[data-v-23ea9663]{height:80%;min-height:500px}.pictrue[data-v-23ea9663]{width:100%;max-width:300px;height:360px}.right[data-v-23ea9663]{padding-right:75px}.left[data-v-23ea9663]{padding-left:75px}.num[data-v-23ea9663]{margin-bottom:24px;color:#515a6e;font-weight:600;font-size:72px;line-height:72px}.desc[data-v-23ea9663]{margin-bottom:16px;color:#808695;font-size:20px;line-height:28px}

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 1
crmeb/public/admin/system_static/css/chunk-07eb3cf3.572108c3.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
crmeb/public/admin/system_static/css/chunk-086db276.f46eed4f.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 1
crmeb/public/admin/system_static/css/chunk-08e6167b.b42725be.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
crmeb/public/admin/system_static/css/chunk-093c89cc.0a7b4a84.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 1
crmeb/public/admin/system_static/css/chunk-099175c5.89f04a35.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 1
crmeb/public/admin/system_static/css/chunk-0a0e823b.98af5d00.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 1
crmeb/public/admin/system_static/css/chunk-0a354658.4e2d745a.css


+ 1 - 0
crmeb/public/admin/system_static/css/chunk-0b2d157a.5f3aee83.css

@@ -0,0 +1 @@
+.btn_box[data-v-1326f0c7] .ivu-form-item-content{margin-left:0!important}

+ 0 - 1
crmeb/public/admin/system_static/css/chunk-0b503f84.47c9981a.css

@@ -1 +0,0 @@
-[data-v-0287b1bb] .ivu-form-item-content{line-height:unset!important}

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 1
crmeb/public/admin/system_static/css/chunk-0bf7991c.ec23e6f9.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
crmeb/public/admin/system_static/css/chunk-7ee09251.9f7b9db8.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
crmeb/public/admin/system_static/css/chunk-0c9c680c.1287012e.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
crmeb/public/admin/system_static/css/chunk-0ca76063.b9a345b5.css


+ 0 - 1
crmeb/public/admin/system_static/css/chunk-0d39ed33.6beb4ded.css

@@ -1 +0,0 @@
-.tableBox[data-v-35428d3a] .ivu-table-header table{border:none!important}.table-mark[data-v-35428d3a]{cursor:text}.table-mark[data-v-35428d3a]:hover{border:1px solid #c2c2c2;padding:3px 5px}.mark[data-v-35428d3a] .ivu-input{background:#fff;border-radius:.39rem}.ivu-input[data-v-35428d3a]:focus,.ivu-input[data-v-35428d3a]:hover,.mark[data-v-35428d3a] .ivu-input{border:transparent;-webkit-box-shadow:none;box-shadow:none}

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
crmeb/public/admin/system_static/css/chunk-0d7d8855.52d95e02.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
crmeb/public/admin/system_static/css/chunk-0d965040.c76f98e6.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 1
crmeb/public/admin/system_static/css/chunk-0e1bff56.0499104f.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
crmeb/public/admin/system_static/css/chunk-1b647dc4.f66053ac.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
crmeb/public/admin/system_static/css/chunk-0ee931b8.ea29e84b.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
crmeb/public/admin/system_static/css/chunk-0f053020.d1425a68.css


+ 1 - 0
crmeb/public/admin/system_static/css/chunk-114e83d5.6cfd1dd1.css

@@ -0,0 +1 @@
+.ivu-tabs[data-v-12a38ed8]{margin-bottom:18px}.fromBox[data-v-12a38ed8]{min-height:calc(100vh - 200px);margin-top:0!important}.article-manager[data-v-12a38ed8] .ivu-form-item{margin-bottom:20px!important}

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 1
crmeb/public/admin/system_static/css/chunk-11a3b25b.94f87de6.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
crmeb/public/admin/system_static/css/chunk-122363b0.77475f5f.css


+ 1 - 1
crmeb/public/admin/system_static/css/chunk-07f8e82a.38337c8b.css

@@ -1 +1 @@
-.rulesBox[data-v-20b8b7b0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.attrFrom[data-v-20b8b7b0] .ivu-form-item{margin-bottom:0!important}
+.rulesBox[data-v-75a46b5e]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.attrFrom[data-v-75a46b5e] .ivu-form-item{margin-bottom:0!important}

+ 0 - 1
crmeb/public/admin/system_static/css/chunk-131583ed.760add5d.css

@@ -1 +0,0 @@
-.tabBox_img[data-v-0fff0bbe]{width:36px;height:36px;border-radius:4px;cursor:pointer}.tabBox_img img[data-v-0fff0bbe]{width:100%;height:100%}

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
crmeb/public/admin/system_static/css/chunk-7b831a91.562c3559.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
crmeb/public/admin/system_static/css/chunk-1430bc46.7eef744e.css


+ 1 - 0
crmeb/public/admin/system_static/css/chunk-14dd4022.34f7db24.css

@@ -0,0 +1 @@
+[data-v-86e25c90] .ivu-form-item-content{line-height:unset!important}

+ 0 - 1
crmeb/public/admin/system_static/css/chunk-14edecb8.2bdc7b96.css

@@ -1 +0,0 @@
-.box[data-v-7e31ed24]{width:100%;background:#fff}

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
crmeb/public/admin/system_static/css/chunk-157b4f48.fb9470f3.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
crmeb/public/admin/system_static/css/chunk-15a639cc.31d891be.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 1
crmeb/public/admin/system_static/css/chunk-168ce470.7458715b.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 1
crmeb/public/admin/system_static/css/chunk-16df2f4c.eddf13b2.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 1
crmeb/public/admin/system_static/css/chunk-1726de98.822786e8.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
crmeb/public/admin/system_static/css/chunk-17a4dcd4.a2a430b1.css


+ 0 - 1
crmeb/public/admin/system_static/css/chunk-17da9750.439ce86b.css

@@ -1 +0,0 @@
-.clear_tit[data-v-5fc58072]{margin-top:150px}

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
crmeb/public/admin/system_static/css/chunk-182c3b12.965a26d4.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
crmeb/public/admin/system_static/css/chunk-474e923b.2770ce3b.css


+ 0 - 1
crmeb/public/admin/system_static/css/chunk-18d4a264.3a23573e.css

@@ -1 +0,0 @@
-[data-v-003b6d5a] .ivu-table-cell-tree{border:0;font-size:15px;background-color:unset}[data-v-003b6d5a] .ivu-table-cell-tree .ivu-icon-ios-add:before{content:"\F11F"}[data-v-003b6d5a] .ivu-table-cell-tree .ivu-icon-ios-remove:before{content:"\F116"}.button[data-v-003b6d5a]{width:300px}

+ 1 - 0
crmeb/public/admin/system_static/css/chunk-19022f92.da084d64.css

@@ -0,0 +1 @@
+[data-v-168693ae] .center{text-align:center;margin-right:0!important;margin-left:5px}.cat-name[data-v-301e3422]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;height:50px;border-bottom:1px solid var(--prev-border-color-lighter);font-weight:500;font-size:15px}

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
crmeb/public/admin/system_static/css/chunk-192b85c8.b1d7015d.css


+ 1 - 0
crmeb/public/admin/system_static/css/chunk-1ab5c2f9.f2d5cc45.css

@@ -0,0 +1 @@
+.v-transfer-dom[data-v-5cc97a38] .ivu-modal-content-drag{z-index:2!important}.radio[data-v-5cc97a38]{margin-bottom:14px}.radio[data-v-5cc97a38] .name{width:125px;text-align:right;padding-right:12px}.tabBox_img[data-v-5a72ecbc]{width:36px;height:36px;border-radius:4px;cursor:pointer}.tabBox_img img[data-v-5a72ecbc]{width:100%;height:100%}

+ 0 - 1
crmeb/public/admin/system_static/css/chunk-1ac44521.7e4ea005.css

@@ -1 +0,0 @@
-.reset[data-v-1e9b85f2]{margin-left:10px}.form-content[data-v-1e9b85f2]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.form-content[data-v-1e9b85f2],.input-button[data-v-1e9b85f2]{display:-webkit-box;display:-ms-flexbox;display:flex}w .trip[data-v-1e9b85f2]{color:#aaa;line-height:20px}.setting-style[data-v-1e9b85f2] .ivu-form-item{margin-bottom:14px}

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 1
crmeb/public/admin/system_static/css/chunk-1add119a.555bc19b.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 1
crmeb/public/admin/system_static/css/chunk-1b2bad82.65d216aa.css


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 0
crmeb/public/admin/system_static/css/chunk-1bc71a8c.77993446.css


+ 0 - 1
crmeb/public/admin/system_static/css/chunk-1c19d602.1a9e0147.css

@@ -1 +0,0 @@
-.QRpic[data-v-d7776416]{width:180px;height:180px}.QRpic img[data-v-d7776416]{width:100%;height:100%}

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 1
crmeb/public/admin/system_static/css/chunk-1c9d17cc.36ffa31d.css


+ 1 - 0
crmeb/public/admin/system_static/css/chunk-1cb94d23.421a7c77.css

@@ -0,0 +1 @@
+.v-transfer-dom[data-v-5cc97a38] .ivu-modal-content-drag{z-index:2!important}.radio[data-v-5cc97a38]{margin-bottom:14px}.radio[data-v-5cc97a38] .name{width:125px;text-align:right;padding-right:12px}

+ 0 - 1
crmeb/public/admin/system_static/css/chunk-1cf27680.754868cc.css

@@ -1 +0,0 @@
-.v-transfer-dom[data-v-306b6d59] .ivu-modal-content-drag{z-index:2!important}.radio[data-v-306b6d59]{margin-bottom:14px}.radio[data-v-306b6d59] .name{width:125px;text-align:right;padding-right:12px}

+ 0 - 1
crmeb/public/admin/system_static/css/chunk-1d823580.c95191a8.css

@@ -1 +0,0 @@
-.tabBox_img[data-v-33e4e74e]{width:36px;height:36px;border-radius:4px;cursor:pointer}.tabBox_img img[data-v-33e4e74e]{width:100%;height:100%}

+ 0 - 1
crmeb/public/admin/system_static/css/chunk-1db96cd5.754868cc.css

@@ -1 +0,0 @@
-.v-transfer-dom[data-v-306b6d59] .ivu-modal-content-drag{z-index:2!important}.radio[data-v-306b6d59]{margin-bottom:14px}.radio[data-v-306b6d59] .name{width:125px;text-align:right;padding-right:12px}

+ 0 - 0
crmeb/public/admin/system_static/css/chunk-1dedce59.2a89d4d5.css


Algúns arquivos non se mostraron porque demasiados arquivos cambiaron neste cambio