diff --git a/app/common/dao/store/order/StoreOrderDao.php b/app/common/dao/store/order/StoreOrderDao.php index 99e0f66..99c030f 100644 --- a/app/common/dao/store/order/StoreOrderDao.php +++ b/app/common/dao/store/order/StoreOrderDao.php @@ -939,4 +939,20 @@ class StoreOrderDao extends BaseDao { return StoreOrder::getDB()->where($this->getPk(), $order_id)->value('order_sn', ''); } + + /** + * 获取订单数量 + * @param int $store_id + * @param int $type + * @param string $field + * @return int + */ + public function storeOrderCount(int $val = 0, int $type = -1, string $field = 'store_id') + { + $where = ['pid' => 0, 'status' => 1]; + if ($type != -1) $where['type'] = $type; + return $this->search($where)->when($field && $val > 0, function ($query) use ($field, $val) { + $query->where($field, $val); + })->count(); + } } diff --git a/app/controller/supplier/Common.php b/app/controller/supplier/Common.php index ec5d2fc..3a0adcc 100644 --- a/app/controller/supplier/Common.php +++ b/app/controller/supplier/Common.php @@ -89,7 +89,7 @@ class Common extends AuthController } else { $data[$key]['type'] = 0; } - $data[$key]['menu_path'] = preg_replace('/^\/cashier/', '', $item['menu_path']); + $data[$key]['route'] = preg_replace('/^\/cashier/', '', $item['route']); } return app('json')->success('' , sort_list_tier($data)); diff --git a/app/dao/order/StoreOrderDao.php b/app/dao/order/StoreOrderDao.php index c242997..820014a 100644 --- a/app/dao/order/StoreOrderDao.php +++ b/app/dao/order/StoreOrderDao.php @@ -42,206 +42,301 @@ class StoreOrderDao extends BaseDao * @param array $where * @return \crmeb\basic\BaseModel|mixed|\think\Model */ - public function search(array $where = []) - { - if (isset($where['real_name'])) { + public function search(array $where = []){ + if(isset($where['real_name'])){ $where['real_name'] = trim($where['real_name']); } - $isDel = isset($where['is_del']) && $where['is_del'] !== '' && $where['is_del'] != -1; + $isDel = isset($where['is_del']) && $where['is_del'] !== '' && $where['is_del'] != -1; $realName = $where['real_name'] ?? ''; $fieldKey = $where['field_key'] ?? ''; $fieldKey = $fieldKey == 'all' ? '' : $fieldKey; - return parent::search($where)->when($isDel, function ($query) use ($where) { - $query->where('is_del', $where['is_del']); - })->when(isset($where['plat_type']) && in_array($where['plat_type'], [-1, 0, 1, 2]), function ($query) use($where) { - switch ($where['plat_type']) { - case -1://所有 - break; - case 0://平台 - $query->where('store_id', 0)->where('supplier_id', 0); - break; - case 1://门店 - $query->where('store_id', '>', 0); - break; - case 2://供应商 - $query->where('supplier_id', '>', 0); - break; - } - })->when(isset($where['is_system_del']), function ($query) { - $query->where('is_system_del', 0); - })->when(isset($where['is_coupon']), function ($query) { - $query->where('coupon_id','>', 0); - })->when(isset($where['staff_id']) && $where['staff_id'], function ($query) use ($where) { - $query->where('staff_id', $where['staff_id']); - })->when(isset($where['status']) && $where['status'] !== '', function ($query) use ($where) { - switch ((int)$where['status']) { - case 0://未支付 - $query->where('paid', 0)->where('status', 0)->where('refund_status', 0)->where('is_del', 0); - break; - case 1://已支付 未发货 - $query->where('paid', 1)->whereIn('status', [0, 4])->whereIn('refund_status', [0, 3])->whereIn('shipping_type', [1, 3, 4])->where('is_del', 0); - break; - case 7://已支付 部分发货 - $query->where('paid', 1)->where('status', 4)->whereIn('refund_status', [0, 3])->where('is_del', 0); - break; - case 2://已支付 待收货 - $query->where('paid', 1)->whereIn('status', [1, 5])->whereIn('refund_status', [0, 3])->where('is_del', 0); - break; - case 3:// 已支付 已收货 待评价 - $query->where('paid', 1)->where('status', 2)->whereIn('refund_status', [0, 3])->where('is_del', 0); - break; - case 4:// 交易完成 - $query->where('paid', 1)->where('status', 3)->whereIn('refund_status', [0, 3])->where('is_del', 0); - break; - case 5://已支付 待核销 - $query->where('paid', 1)->whereIn('status', [0, 1, 5])->whereIn('refund_status', [0, 3])->where('shipping_type', 2)->where('is_del', 0); - break; - case 6://已支付 已核销 没有退款 - $query->where('paid', 1)->where('status', 2)->whereIn('refund_status', [0, 3])->where('shipping_type', 2)->where('is_del', 0); - break; - case 8://已支付 核销订单 - $query->where('paid', 1)->whereIn('status', [0, 1, 2, 5])->whereIn('refund_status', [0, 3])->where('shipping_type', 2)->where('is_del', 0); - break; - case 9://已配送 - $query->where('paid', 1)->whereIn('status', [2, 3])->whereIn('refund_status', [0, 3])->where('is_del', 0); - break; - case -1://退款中 - $query->where('paid', 1)->whereIn('refund_status', [1, 4])->where('is_del', 0); - break; - case -2://已退款 - $query->where('paid', 1)->where('refund_status', 2)->where('is_del', 0); - break; - case -3://退款 - $query->where('paid', 1)->whereIn('refund_status', [1, 2, 4])->where('is_del', 0); - break; - case -4://已删除 - $query->where('is_del', 1); - break; - } - })->when(isset($where['type']) && $where['type'] !== '', function ($query) use ($where) { - switch ($where['type']) { - case 0://普通 - $query->where('type', 0); - break; - case 1://秒杀 - $query->where('type', 1); - break; - case 2://砍价 - $query->where('type', 2); - break; - case 3://拼团 - $query->where('type', 3); - break; - case 4://套餐 - $query->where('type', 5); - break; - case 5://核销订单 - $query->where('shipping_type', 2); - break; - case 6://收银台订单 - $query->where('shipping_type', 4); - break; - case 7://配送订单 - $query->whereIn('shipping_type', [1, 3]); - break; - case 8://预售 - $query->where('type', 6); - break; - case 9://新人专享 - $query->where('type', 7); - break; - case 10://抽奖 - $query->where('type', 8); - break; - case 11://拼单 - $query->where('type', 9); - break; - case 12://桌码 - $query->where('type', 10); - break; - } - })->when(isset($where['order_type']) && $where['order_type'] !== '', function ($query) use ($where) { - switch ($where['order_type']) { - case 5://核销订单 - $query->where('shipping_type', 2); - break; - case 6://收银台订单 - $query->where('shipping_type', 4); - break; - case 7://配送订单 - $query->whereIn('shipping_type', [1, 3]); - break; - } - })->when(isset($where['pay_type']), function ($query) use ($where) { - switch ($where['pay_type']) { - case 1: - $query->where('pay_type', 'weixin'); - break; - case 2: - $query->where('pay_type', 'yue'); - break; - case 3: - $query->where('pay_type', 'offline'); - break; - case 4: - $query->where('pay_type', 'alipay'); - break; - } - })->when($realName && $fieldKey && in_array($fieldKey, $this->withField), function ($query) use ($where, $realName, $fieldKey) { - if ($fieldKey !== 'title') { - $query->where(trim($fieldKey), trim($realName)); - } else { - $query->where('id', 'in', function ($que) use ($where) { - $que->name('store_order_cart_info')->whereIn('product_id', function ($q) use ($where) { - $q->name('store_product')->whereLike('store_name|keyword', '%' . $where['real_name'] . '%')->field(['id'])->select(); - })->field(['oid'])->select(); + return parent::search($where) + ->when($isDel,function($query) use ($where){ + $query->where('is_del',$where['is_del']); + }) + ->when(isset($where['plat_type']) && in_array($where['plat_type'],[-1,0,1,2]),function($query) use ($where){ + switch($where['plat_type']){ + case -1://所有 + break; + case 0://平台 + $query->where('store_id',0) + ->where('supplier_id',0); + break; + case 1://门店 + $query->where('store_id','>',0); + break; + case 2://供应商 + $query->where('supplier_id','>',0); + break; + } + }) + ->when(isset($where['is_system_del']),function($query){ + $query->where('is_system_del',0); + }) + ->when(isset($where['is_coupon']),function($query){ + $query->where('coupon_id','>',0); + }) + ->when(isset($where['staff_id']) && $where['staff_id'],function($query) use ($where){ + $query->where('staff_id',$where['staff_id']); + }) + ->when(isset($where['status']) && $where['status'] !== '',function($query) use ($where){ + switch((int)$where['status']){ + case 0://未支付 + $query->where('paid',0) + ->where('status',0) + ->where('refund_status',0) + ->where('is_del',0); + break; + case 1://已支付 未发货 + $query->where('paid',1) + ->whereIn('status',[0,4]) + ->whereIn('refund_status',[0,3]) + ->whereIn('shipping_type',[1,3,4]) + ->where('is_del',0); + break; + case 7://已支付 部分发货 + $query->where('paid',1) + ->where('status',4) + ->whereIn('refund_status',[0,3]) + ->where('is_del',0); + break; + case 2://已支付 待收货 + $query->where('paid',1) + ->whereIn('status',[1,5]) + ->whereIn('refund_status',[0,3]) + ->where('is_del',0); + break; + case 3:// 已支付 已收货 待评价 + $query->where('paid',1) + ->where('status',2) + ->whereIn('refund_status',[0,3]) + ->where('is_del',0); + break; + case 4:// 交易完成 + $query->where('paid',1) + ->where('status',3) + ->whereIn('refund_status',[0,3]) + ->where('is_del',0); + break; + case 5://已支付 待核销 + $query->where('paid',1) + ->whereIn('status',[0,1,5]) + ->whereIn('refund_status',[0,3]) + ->where('shipping_type',2) + ->where('is_del',0); + break; + case 6://已支付 已核销 没有退款 + $query->where('paid',1) + ->where('status',2) + ->whereIn('refund_status',[0,3]) + ->where('shipping_type',2) + ->where('is_del',0); + break; + case 8://已支付 核销订单 + $query->where('paid',1) + ->whereIn('status',[0,1,2,5]) + ->whereIn('refund_status',[0,3]) + ->where('shipping_type',2) + ->where('is_del',0); + break; + case 9://已配送 + $query->where('paid',1) + ->whereIn('status',[2,3]) + ->whereIn('refund_status',[0,3]) + ->where('is_del',0); + break; + case -1://退款中 + $query->where('paid',1) + ->whereIn('refund_status',[1,4]) + ->where('is_del',0); + break; + case -2://已退款 + $query->where('paid',1) + ->where('refund_status',2) + ->where('is_del',0); + break; + case -3://退款 + $query->where('paid',1) + ->whereIn('refund_status',[1,2,4]) + ->where('is_del',0); + break; + case -4://已删除 + $query->where('is_del',1); + break; + } + }) + ->when(isset($where['type']) && $where['type'] !== '',function($query) use ($where){ + switch($where['type']){ + case 0://普通 + $query->where('type',0); + break; + case 1://秒杀 + $query->where('type',1); + break; + case 2://砍价 + $query->where('type',2); + break; + case 3://拼团 + $query->where('type',3); + break; + case 4://套餐 + $query->where('type',5); + break; + case 5://核销订单 + $query->where('shipping_type',2); + break; + case 6://收银台订单 + $query->where('shipping_type',4); + break; + case 7://配送订单 + $query->whereIn('shipping_type',[1,3]); + break; + case 8://预售 + $query->where('type',6); + break; + case 9://新人专享 + $query->where('type',7); + break; + case 10://抽奖 + $query->where('type',8); + break; + case 11://拼单 + $query->where('type',9); + break; + case 12://桌码 + $query->where('type',10); + break; + } + }) + ->when(isset($where['order_type']) && $where['order_type'] !== '',function($query) use ($where){ + switch($where['order_type']){ + case 5://核销订单 + $query->where('shipping_type',2); + break; + case 6://收银台订单 + $query->where('shipping_type',4); + break; + case 7://配送订单 + $query->whereIn('shipping_type',[1,3]); + break; + } + }) + ->when(isset($where['pay_type']),function($query) use ($where){ + switch($where['pay_type']){ + case 1: + $query->where('pay_type','weixin'); + break; + case 2: + $query->where('pay_type','yue'); + break; + case 3: + $query->where('pay_type','offline'); + break; + case 4: + $query->where('pay_type','alipay'); + break; + } + }) + ->when($realName && $fieldKey && in_array($fieldKey,$this->withField),function($query) use ($where,$realName,$fieldKey){ + if($fieldKey !== 'title'){ + $query->where(trim($fieldKey),trim($realName)); + } + else{ + $query->where('id','in',function($que) use ($where){ + $que->name('store_order_cart_info') + ->whereIn('product_id',function($q) use ($where){ + $q->name('store_product') + ->whereLike('store_name|keyword','%'.$where['real_name'].'%') + ->field(['id']) + ->select(); + }) + ->field(['oid']) + ->select(); + }); + } + }) + ->when($realName && !$fieldKey,function($query) use ($where){ + $query->where(function($que) use ($where){ + $que->whereLike('order_id|real_name|user_phone|verify_code','%'.$where['real_name'].'%') + ->whereOr('uid','in',function($q) use ($where){ + $q->name('user') + ->whereLike('nickname|uid|phone','%'.$where['real_name'].'%') + ->field(['uid']) + ->select(); + }) + ->whereOr('uid','in',function($q) use ($where){ + $q->name('user_address') + ->whereLike('real_name|uid|phone','%'.$where['real_name'].'%') + ->field(['uid']) + ->select(); + }) + ->whereOr('id','in',function($que) use ($where){ + $que->name('store_order_cart_info') + ->whereIn('product_id',function($q) use ($where){ + $q->name('store_product') + ->whereLike('store_name|keyword','%'.$where['real_name'].'%') + ->field(['id']) + ->select(); + }) + ->field(['oid']) + ->select(); + }) + ->whereOr('activity_id','in',function($que) use ($where){ + $que->name('store_seckill') + ->whereLike('title|info','%'.$where['real_name'].'%') + ->field(['id']) + ->select(); + }) + ->whereOr('activity_id','in',function($que) use ($where){ + $que->name('store_bargain') + ->whereLike('title|info','%'.$where['real_name'].'%') + ->field(['id']) + ->select(); + }) + ->whereOr('activity_id','in',function($que) use ($where){ + $que->name('store_combination') + ->whereLike('title|info','%'.$where['real_name'].'%') + ->field(['id']) + ->select(); + }); }); - } - })->when($realName && !$fieldKey, function ($query) use ($where) { - $query->where(function ($que) use ($where) { - $que->whereLike('order_id|real_name|user_phone|verify_code', '%' . $where['real_name'] . '%') - ->whereOr('uid', 'in', function ($q) use ($where) { - $q->name('user')->whereLike('nickname|uid|phone', '%' . $where['real_name'] . '%')->field(['uid'])->select(); - })->whereOr('uid', 'in', function ($q) use ($where) { - $q->name('user_address')->whereLike('real_name|uid|phone', '%' . $where['real_name'] . '%')->field(['uid'])->select(); - })->whereOr('id', 'in', function ($que) use ($where) { - $que->name('store_order_cart_info')->whereIn('product_id', function ($q) use ($where) { - $q->name('store_product')->whereLike('store_name|keyword', '%' . $where['real_name'] . '%')->field(['id'])->select(); - })->field(['oid'])->select(); - })->whereOr('activity_id', 'in', function ($que) use ($where) { - $que->name('store_seckill')->whereLike('title|info', '%' . $where['real_name'] . '%')->field(['id'])->select(); - })->whereOr('activity_id', 'in', function ($que) use ($where) { - $que->name('store_bargain')->whereLike('title|info', '%' . $where['real_name'] . '%')->field(['id'])->select(); - })->whereOr('activity_id', 'in', function ($que) use ($where) { - $que->name('store_combination')->whereLike('title|info', '%' . $where['real_name'] . '%')->field(['id'])->select(); - }); + }) + ->when(isset($where['unique']),function($query) use ($where){ + $query->where('unique',$where['unique']); + }) + ->when(isset($where['is_remind']),function($query) use ($where){ + $query->where('is_remind',$where['is_remind']); + }) + ->when(isset($where['refundTypes']) && $where['refundTypes'] != '',function($query) use ($where){ + switch((int)$where['refundTypes']){ + case 1: + $query->where('refund_type','in','1,2'); + break; + case 2: + $query->where('refund_type',4); + break; + case 3: + $query->where('refund_type',5); + break; + case 4: + $query->where('refund_type',6); + break; + } + }) + ->when(isset($where['is_refund']) && $where['is_refund'] !== '',function($query) use ($where){ + if($where['is_refund'] == 1){ + $query->where('refund_status',2); + } + else{ + $query->where('refund_status',0); + } + }) + ->when(isset($where['supplier_id']) && $where['supplier_id'] !== '',function($query) use ($where){ + $query->where('supplier_id',$where['supplier_id']); + }) + ->when(isset($where['paid']) && $where['paid'] !== '',function($query) use ($where){ + $query->where('paid',$where['paid']); }); - })->when(isset($where['unique']), function ($query) use ($where) { - $query->where('unique', $where['unique']); - })->when(isset($where['is_remind']), function ($query) use ($where) { - $query->where('is_remind', $where['is_remind']); - })->when(isset($where['refundTypes']) && $where['refundTypes'] != '', function ($query) use ($where) { - switch ((int)$where['refundTypes']) { - case 1: - $query->where('refund_type', 'in', '1,2'); - break; - case 2: - $query->where('refund_type', 4); - break; - case 3: - $query->where('refund_type', 5); - break; - case 4: - $query->where('refund_type', 6); - break; - } - })->when(isset($where['is_refund']) && $where['is_refund'] !== '', function ($query) use ($where) { - if ($where['is_refund'] == 1) { - $query->where('refund_status', 2); - } else { - $query->where('refund_status', 0); - } - }); } /** @@ -967,27 +1062,39 @@ class StoreOrderDao extends BaseDao */ public function getOrderStatistics($where, $time, $timeType, $field, $str, $orderStatus = '') { - return $this->getModel()->where($where)->where(function ($query) use ($field, $orderStatus) { - if ($field == 'pay_time') { - $query->where('paid', 1); - } elseif ($field == 'refund_reason_time') { - $query->where('paid', 1)->where('refund_status', '>', 0); - } elseif ($field == 'add_time') { - if ($orderStatus == 'pay') { - $query->where('paid', 1)->where('pid', '>=', 0)->whereIn('refund_status', [0, 3]); - } elseif ($orderStatus == 'refund') { - $query->where('paid', 1)->where('pid', '>=', 0)->where('refund_type', 6); + return $this->getModel() + ->where($where) + ->where(function($query) use ($field,$orderStatus){ + if($field == 'pay_time'){ + $query->where('paid',1)->whereIn('status',[0,1,2,3]); } - } - })->where(function ($query) use ($time, $field) { - if ($time[0] == $time[1]) { - $query->whereDay($field, $time[0]); - } else { - $time[1] = date('Y/m/d', (!is_numeric($time[1]) ? strtotime($time[1]) : $time[1]) + 86400); - $query->whereTime($field, 'between', $time); - } - })->where('is_del', 0)->where('is_system_del', 0) - ->field("FROM_UNIXTIME($field,'$timeType') as days,$str as num")->group('days')->select()->toArray(); + elseif($field == 'refund_reason_time'){ + $query->where('paid',1)->where('status',-1); + } + elseif($field == 'create_time'){ + if($orderStatus == 'pay'){ + $query->where('paid',1)->whereIn('status',[0,1,2,3]); + } + elseif($orderStatus == 'refund'){ + $query->where('paid',1)->where('status',-1); + } + } + }) + ->where(function($query) use ($time,$field){ + if($time[0] == $time[1]){ + $query->whereDay($field,$time[0]); + } + else{ + $time[1] = date('Y/m/d',(!is_numeric($time[1]) ? strtotime($time[1]) : $time[1]) + 86400); + $query->whereTime($field,'between',$time); + } + }) + ->where('is_del',0) + ->where('is_system_del',0) + ->field("FROM_UNIXTIME($field,'$timeType') as days,$str as num") + ->group('days') + ->select() + ->toArray(); } /** diff --git a/app/services/order/supplier/SupplierOrderServices.php b/app/services/order/supplier/SupplierOrderServices.php index e34dced..21c56ab 100644 --- a/app/services/order/supplier/SupplierOrderServices.php +++ b/app/services/order/supplier/SupplierOrderServices.php @@ -108,9 +108,7 @@ class SupplierOrderServices extends BaseServices { $data = []; $where = ['time' => $time, 'supplier_id' => $supplierId]; - if ($supplierId < 1) { - $where['supplier_id'] = -1; - } + if ($supplierId < 1) $where['supplier_id'] = -1; $orderWhere = ['paid' => 1, 'is_system_del' => 0, 'refund_status' => 0]; $refundWhere = ['refund_type' => 6]; @@ -177,10 +175,10 @@ class SupplierOrderServices extends BaseServices } } } - $pay_price = array_column($this->dao->getOrderStatistics($where, $time, $timeType, 'add_time', 'sum(pay_price)', 'pay'), 'num', 'days'); - $pay_count = array_column($this->dao->getOrderStatistics($where, $time, $timeType, 'add_time', 'count(id)', 'pay'), 'num', 'days'); - $refund_price = array_column($this->dao->getOrderStatistics($where, $time, $timeType, 'add_time', 'sum(refund_price)', 'refund'), 'num', 'days'); - $refund_count = array_column($this->dao->getOrderStatistics($where, $time, $timeType, 'add_time', 'count(id)', 'refund'), 'num', 'days'); + $pay_price = array_column($this->dao->getOrderStatistics($where, $time, $timeType, 'create_time', 'sum(pay_price)', 'pay'), 'num', 'days'); + $pay_count = array_column($this->dao->getOrderStatistics($where, $time, $timeType, 'create_time', 'count(order_id)', 'pay'), 'num', 'days'); + $refund_price = array_column($this->dao->getOrderStatistics($where, $time, $timeType, 'create_time', 'sum(pay_price)', 'refund'), 'num', 'days'); + $refund_count = array_column($this->dao->getOrderStatistics($where, $time, $timeType, 'create_time', 'count(order_id)', 'refund'), 'num', 'days'); foreach ($xAxis as $item) { $data['订单金额'][] = isset($pay_price[$item]) ? floatval($pay_price[$item]) : 0; @@ -244,8 +242,8 @@ class SupplierOrderServices extends BaseServices */ public function getOrderType(int $supplierId, array $time): array { - $bing_xdata = [0 => '普通订单', 1 => '秒杀订单', 2 => '砍价订单', 3 => '拼团订单', 4 => '', 5 => '套餐订单', 6 => '', 7 => '新人专享']; - $order_type = [0 => '0', 1 => '1', 2 => '2', 3 => '3', 4 => '', 5 => '4', 6 => '6' , 7 => '9']; + $bing_xdata = [0 => '普通订单', 1 => '秒杀订单', 2 => '预售订单', 3 => '助力订单', 4 => '', 5 => '套餐订单', 6 => '', 7 => '新人专享']; + $order_type = [0 => '0', 1 => '1', 2 => '2', 3 => '3', 4 => '', 5 => '10', 6 => '' , 7 => '9']; $color = ['#64a1f4', '#3edeb5', '#70869f', '#ffc653', '', '#fc7d6a', '#fc7d2a', '']; $bing_data = []; @@ -258,7 +256,7 @@ class SupplierOrderServices extends BaseServices if (empty($item)) continue; $bing_data[] = [ 'name' => $item, - 'value' => $this->dao->together(['paid' => 1, 'pid' => 0, 'type' => $order_type[$key] ?? 0, 'time' => $time] + $where, 'pay_price', 'sum'), + 'value' => $this->dao->together(['paid' => 1, 'pid' => 0, 'activity_type' => $order_type[$key] ?? 0, 'time' => $time] + $where, 'pay_price', 'sum'), 'itemStyle' => ['color' => $color[$key]] ]; } diff --git a/app/services/system/SystemMenusServices.php b/app/services/system/SystemMenusServices.php index 1c825a8..2e3865b 100644 --- a/app/services/system/SystemMenusServices.php +++ b/app/services/system/SystemMenusServices.php @@ -58,7 +58,7 @@ class SystemMenusServices extends BaseServices // $item['expand'] = true; $item['selected'] = false; $item['title'] = $item['menu_name']; - $item['menu_path'] = preg_replace('/^\/' . ($this->type[$type] ?? 'admin') . '/', '', $item['menu_path']); + $item['route'] = preg_replace('/^\/' . ($this->type[$type] ?? 'admin') . '/', '', $item['route']); $data[] = $item->getData(); } return $data; @@ -82,8 +82,14 @@ class SystemMenusServices extends BaseServices $rules = $systemRoleServices->getRoleArray(['status' => 1, 'id' => $rouleId], $type == 3 ? 'cashier_rules' : 'rules'); $rulesStr = Arr::unique($rules); } - $menusList = $this->dao->getMenusRoule(['type' => $type, 'route' => $level ? $rulesStr : '']); - $unique = $this->dao->getMenusUnique(['type' => $type, 'unique' => $level ? $rulesStr : '']); + // $menusList = $this->dao->getMenusRoule(['type' => $type, 'route' => $level ? $rulesStr : '']); + $menusList = $this->dao->getSearch(['is_mer' => $type]) + ->order('sort DESC,menu_id DESC') + ->failException(false) + ->select(); + $unique = [];//$this->dao->getMenusUnique(['type' => $type, 'unique' => $level ? $rulesStr : '']); + + return [Arr::getMenuIviewList($this->getMenusData($menusList, $type)), $unique]; } diff --git a/crmeb/utils/Arr.php b/crmeb/utils/Arr.php index 73ef2eb..c912f01 100644 --- a/crmeb/utils/Arr.php +++ b/crmeb/utils/Arr.php @@ -58,7 +58,7 @@ class Arr $newData = []; foreach ($data as $k => $v) { $temp = []; - $temp['path'] = $v['menu_path']; + $temp['path'] = $v['route']; $temp['title'] = $v['menu_name']; $temp['icon'] = $v['icon']; $temp['header'] = $v['header'] ?? '';