修复:统计页面部分接口请求错误导致页面内容渲染失败或者渲染数据错误

This commit is contained in:
wuhui_zzw 2024-01-09 09:01:36 +08:00
parent a8cc8f3d3f
commit 8f61b74200
6 changed files with 355 additions and 228 deletions

View File

@ -939,4 +939,20 @@ class StoreOrderDao extends BaseDao
{ {
return StoreOrder::getDB()->where($this->getPk(), $order_id)->value('order_sn', ''); 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();
}
} }

View File

@ -89,7 +89,7 @@ class Common extends AuthController
} else { } else {
$data[$key]['type'] = 0; $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)); return app('json')->success('' , sort_list_tier($data));

View File

@ -42,206 +42,301 @@ class StoreOrderDao extends BaseDao
* @param array $where * @param array $where
* @return \crmeb\basic\BaseModel|mixed|\think\Model * @return \crmeb\basic\BaseModel|mixed|\think\Model
*/ */
public function search(array $where = []) public function search(array $where = []){
{ if(isset($where['real_name'])){
if (isset($where['real_name'])) {
$where['real_name'] = trim($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'] ?? ''; $realName = $where['real_name'] ?? '';
$fieldKey = $where['field_key'] ?? ''; $fieldKey = $where['field_key'] ?? '';
$fieldKey = $fieldKey == 'all' ? '' : $fieldKey; $fieldKey = $fieldKey == 'all' ? '' : $fieldKey;
return parent::search($where)->when($isDel, function ($query) use ($where) { return parent::search($where)
$query->where('is_del', $where['is_del']); ->when($isDel,function($query) use ($where){
})->when(isset($where['plat_type']) && in_array($where['plat_type'], [-1, 0, 1, 2]), function ($query) use($where) { $query->where('is_del',$where['is_del']);
switch ($where['plat_type']) { })
case -1://所有 ->when(isset($where['plat_type']) && in_array($where['plat_type'],[-1,0,1,2]),function($query) use ($where){
break; switch($where['plat_type']){
case 0://平台 case -1://所有
$query->where('store_id', 0)->where('supplier_id', 0); break;
break; case 0://平台
case 1://门店 $query->where('store_id',0)
$query->where('store_id', '>', 0); ->where('supplier_id',0);
break; break;
case 2://供应商 case 1://门店
$query->where('supplier_id', '>', 0); $query->where('store_id','>',0);
break; break;
} case 2://供应商
})->when(isset($where['is_system_del']), function ($query) { $query->where('supplier_id','>',0);
$query->where('is_system_del', 0); break;
})->when(isset($where['is_coupon']), function ($query) { }
$query->where('coupon_id','>', 0); })
})->when(isset($where['staff_id']) && $where['staff_id'], function ($query) use ($where) { ->when(isset($where['is_system_del']),function($query){
$query->where('staff_id', $where['staff_id']); $query->where('is_system_del',0);
})->when(isset($where['status']) && $where['status'] !== '', function ($query) use ($where) { })
switch ((int)$where['status']) { ->when(isset($where['is_coupon']),function($query){
case 0://未支付 $query->where('coupon_id','>',0);
$query->where('paid', 0)->where('status', 0)->where('refund_status', 0)->where('is_del', 0); })
break; ->when(isset($where['staff_id']) && $where['staff_id'],function($query) use ($where){
case 1://已支付 未发货 $query->where('staff_id',$where['staff_id']);
$query->where('paid', 1)->whereIn('status', [0, 4])->whereIn('refund_status', [0, 3])->whereIn('shipping_type', [1, 3, 4])->where('is_del', 0); })
break; ->when(isset($where['status']) && $where['status'] !== '',function($query) use ($where){
case 7://已支付 部分发货 switch((int)$where['status']){
$query->where('paid', 1)->where('status', 4)->whereIn('refund_status', [0, 3])->where('is_del', 0); case 0://未支付
break; $query->where('paid',0)
case 2://已支付 待收货 ->where('status',0)
$query->where('paid', 1)->whereIn('status', [1, 5])->whereIn('refund_status', [0, 3])->where('is_del', 0); ->where('refund_status',0)
break; ->where('is_del',0);
case 3:// 已支付 已收货 待评价 break;
$query->where('paid', 1)->where('status', 2)->whereIn('refund_status', [0, 3])->where('is_del', 0); case 1://已支付 未发货
break; $query->where('paid',1)
case 4:// 交易完成 ->whereIn('status',[0,4])
$query->where('paid', 1)->where('status', 3)->whereIn('refund_status', [0, 3])->where('is_del', 0); ->whereIn('refund_status',[0,3])
break; ->whereIn('shipping_type',[1,3,4])
case 5://已支付 待核销 ->where('is_del',0);
$query->where('paid', 1)->whereIn('status', [0, 1, 5])->whereIn('refund_status', [0, 3])->where('shipping_type', 2)->where('is_del', 0); break;
break; case 7://已支付 部分发货
case 6://已支付 已核销 没有退款 $query->where('paid',1)
$query->where('paid', 1)->where('status', 2)->whereIn('refund_status', [0, 3])->where('shipping_type', 2)->where('is_del', 0); ->where('status',4)
break; ->whereIn('refund_status',[0,3])
case 8://已支付 核销订单 ->where('is_del',0);
$query->where('paid', 1)->whereIn('status', [0, 1, 2, 5])->whereIn('refund_status', [0, 3])->where('shipping_type', 2)->where('is_del', 0); break;
break; case 2://已支付 待收货
case 9://已配送 $query->where('paid',1)
$query->where('paid', 1)->whereIn('status', [2, 3])->whereIn('refund_status', [0, 3])->where('is_del', 0); ->whereIn('status',[1,5])
break; ->whereIn('refund_status',[0,3])
case -1://退款中 ->where('is_del',0);
$query->where('paid', 1)->whereIn('refund_status', [1, 4])->where('is_del', 0); break;
break; case 3:// 已支付 已收货 待评价
case -2://已退款 $query->where('paid',1)
$query->where('paid', 1)->where('refund_status', 2)->where('is_del', 0); ->where('status',2)
break; ->whereIn('refund_status',[0,3])
case -3://退款 ->where('is_del',0);
$query->where('paid', 1)->whereIn('refund_status', [1, 2, 4])->where('is_del', 0); break;
break; case 4:// 交易完成
case -4://已删除 $query->where('paid',1)
$query->where('is_del', 1); ->where('status',3)
break; ->whereIn('refund_status',[0,3])
} ->where('is_del',0);
})->when(isset($where['type']) && $where['type'] !== '', function ($query) use ($where) { break;
switch ($where['type']) { case 5://已支付 待核销
case 0://普通 $query->where('paid',1)
$query->where('type', 0); ->whereIn('status',[0,1,5])
break; ->whereIn('refund_status',[0,3])
case 1://秒杀 ->where('shipping_type',2)
$query->where('type', 1); ->where('is_del',0);
break; break;
case 2://砍价 case 6://已支付 已核销 没有退款
$query->where('type', 2); $query->where('paid',1)
break; ->where('status',2)
case 3://拼团 ->whereIn('refund_status',[0,3])
$query->where('type', 3); ->where('shipping_type',2)
break; ->where('is_del',0);
case 4://套餐 break;
$query->where('type', 5); case 8://已支付 核销订单
break; $query->where('paid',1)
case 5://核销订单 ->whereIn('status',[0,1,2,5])
$query->where('shipping_type', 2); ->whereIn('refund_status',[0,3])
break; ->where('shipping_type',2)
case 6://收银台订单 ->where('is_del',0);
$query->where('shipping_type', 4); break;
break; case 9://已配送
case 7://配送订单 $query->where('paid',1)
$query->whereIn('shipping_type', [1, 3]); ->whereIn('status',[2,3])
break; ->whereIn('refund_status',[0,3])
case 8://预售 ->where('is_del',0);
$query->where('type', 6); break;
break; case -1://退款中
case 9://新人专享 $query->where('paid',1)
$query->where('type', 7); ->whereIn('refund_status',[1,4])
break; ->where('is_del',0);
case 10://抽奖 break;
$query->where('type', 8); case -2://已退款
break; $query->where('paid',1)
case 11://拼单 ->where('refund_status',2)
$query->where('type', 9); ->where('is_del',0);
break; break;
case 12://桌码 case -3://退款
$query->where('type', 10); $query->where('paid',1)
break; ->whereIn('refund_status',[1,2,4])
} ->where('is_del',0);
})->when(isset($where['order_type']) && $where['order_type'] !== '', function ($query) use ($where) { break;
switch ($where['order_type']) { case -4://已删除
case 5://核销订单 $query->where('is_del',1);
$query->where('shipping_type', 2); break;
break; }
case 6://收银台订单 })
$query->where('shipping_type', 4); ->when(isset($where['type']) && $where['type'] !== '',function($query) use ($where){
break; switch($where['type']){
case 7://配送订单 case 0://普通
$query->whereIn('shipping_type', [1, 3]); $query->where('type',0);
break; break;
} case 1://秒杀
})->when(isset($where['pay_type']), function ($query) use ($where) { $query->where('type',1);
switch ($where['pay_type']) { break;
case 1: case 2://砍价
$query->where('pay_type', 'weixin'); $query->where('type',2);
break; break;
case 2: case 3://拼团
$query->where('pay_type', 'yue'); $query->where('type',3);
break; break;
case 3: case 4://套餐
$query->where('pay_type', 'offline'); $query->where('type',5);
break; break;
case 4: case 5://核销订单
$query->where('pay_type', 'alipay'); $query->where('shipping_type',2);
break; break;
} case 6://收银台订单
})->when($realName && $fieldKey && in_array($fieldKey, $this->withField), function ($query) use ($where, $realName, $fieldKey) { $query->where('shipping_type',4);
if ($fieldKey !== 'title') { break;
$query->where(trim($fieldKey), trim($realName)); case 7://配送订单
} else { $query->whereIn('shipping_type',[1,3]);
$query->where('id', 'in', function ($que) use ($where) { break;
$que->name('store_order_cart_info')->whereIn('product_id', function ($q) use ($where) { case 8://预售
$q->name('store_product')->whereLike('store_name|keyword', '%' . $where['real_name'] . '%')->field(['id'])->select(); $query->where('type',6);
})->field(['oid'])->select(); 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) { ->when(isset($where['unique']),function($query) use ($where){
$query->where(function ($que) use ($where) { $query->where('unique',$where['unique']);
$que->whereLike('order_id|real_name|user_phone|verify_code', '%' . $where['real_name'] . '%') })
->whereOr('uid', 'in', function ($q) use ($where) { ->when(isset($where['is_remind']),function($query) use ($where){
$q->name('user')->whereLike('nickname|uid|phone', '%' . $where['real_name'] . '%')->field(['uid'])->select(); $query->where('is_remind',$where['is_remind']);
})->whereOr('uid', 'in', function ($q) use ($where) { })
$q->name('user_address')->whereLike('real_name|uid|phone', '%' . $where['real_name'] . '%')->field(['uid'])->select(); ->when(isset($where['refundTypes']) && $where['refundTypes'] != '',function($query) use ($where){
})->whereOr('id', 'in', function ($que) use ($where) { switch((int)$where['refundTypes']){
$que->name('store_order_cart_info')->whereIn('product_id', function ($q) use ($where) { case 1:
$q->name('store_product')->whereLike('store_name|keyword', '%' . $where['real_name'] . '%')->field(['id'])->select(); $query->where('refund_type','in','1,2');
})->field(['oid'])->select(); break;
})->whereOr('activity_id', 'in', function ($que) use ($where) { case 2:
$que->name('store_seckill')->whereLike('title|info', '%' . $where['real_name'] . '%')->field(['id'])->select(); $query->where('refund_type',4);
})->whereOr('activity_id', 'in', function ($que) use ($where) { break;
$que->name('store_bargain')->whereLike('title|info', '%' . $where['real_name'] . '%')->field(['id'])->select(); case 3:
})->whereOr('activity_id', 'in', function ($que) use ($where) { $query->where('refund_type',5);
$que->name('store_combination')->whereLike('title|info', '%' . $where['real_name'] . '%')->field(['id'])->select(); 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 = '') public function getOrderStatistics($where, $time, $timeType, $field, $str, $orderStatus = '')
{ {
return $this->getModel()->where($where)->where(function ($query) use ($field, $orderStatus) { return $this->getModel()
if ($field == 'pay_time') { ->where($where)
$query->where('paid', 1); ->where(function($query) use ($field,$orderStatus){
} elseif ($field == 'refund_reason_time') { if($field == 'pay_time'){
$query->where('paid', 1)->where('refund_status', '>', 0); $query->where('paid',1)->whereIn('status',[0,1,2,3]);
} 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);
} }
} elseif($field == 'refund_reason_time'){
})->where(function ($query) use ($time, $field) { $query->where('paid',1)->where('status',-1);
if ($time[0] == $time[1]) { }
$query->whereDay($field, $time[0]); elseif($field == 'create_time'){
} else { if($orderStatus == 'pay'){
$time[1] = date('Y/m/d', (!is_numeric($time[1]) ? strtotime($time[1]) : $time[1]) + 86400); $query->where('paid',1)->whereIn('status',[0,1,2,3]);
$query->whereTime($field, 'between', $time); }
} elseif($orderStatus == 'refund'){
})->where('is_del', 0)->where('is_system_del', 0) $query->where('paid',1)->where('status',-1);
->field("FROM_UNIXTIME($field,'$timeType') as days,$str as num")->group('days')->select()->toArray(); }
}
})
->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();
} }
/** /**

View File

@ -108,9 +108,7 @@ class SupplierOrderServices extends BaseServices
{ {
$data = []; $data = [];
$where = ['time' => $time, 'supplier_id' => $supplierId]; $where = ['time' => $time, 'supplier_id' => $supplierId];
if ($supplierId < 1) { if ($supplierId < 1) $where['supplier_id'] = -1;
$where['supplier_id'] = -1;
}
$orderWhere = ['paid' => 1, 'is_system_del' => 0, 'refund_status' => 0]; $orderWhere = ['paid' => 1, 'is_system_del' => 0, 'refund_status' => 0];
$refundWhere = ['refund_type' => 6]; $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_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, 'add_time', 'count(id)', '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, 'add_time', 'sum(refund_price)', 'refund'), '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, 'add_time', 'count(id)', '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) { foreach ($xAxis as $item) {
$data['订单金额'][] = isset($pay_price[$item]) ? floatval($pay_price[$item]) : 0; $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 public function getOrderType(int $supplierId, array $time): array
{ {
$bing_xdata = [0 => '普通订单', 1 => '秒杀订单', 2 => '砍价订单', 3 => '拼团订单', 4 => '', 5 => '套餐订单', 6 => '', 7 => '新人专享']; $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']; $order_type = [0 => '0', 1 => '1', 2 => '2', 3 => '3', 4 => '', 5 => '10', 6 => '' , 7 => '9'];
$color = ['#64a1f4', '#3edeb5', '#70869f', '#ffc653', '', '#fc7d6a', '#fc7d2a', '']; $color = ['#64a1f4', '#3edeb5', '#70869f', '#ffc653', '', '#fc7d6a', '#fc7d2a', ''];
$bing_data = []; $bing_data = [];
@ -258,7 +256,7 @@ class SupplierOrderServices extends BaseServices
if (empty($item)) continue; if (empty($item)) continue;
$bing_data[] = [ $bing_data[] = [
'name' => $item, '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]] 'itemStyle' => ['color' => $color[$key]]
]; ];
} }

View File

@ -58,7 +58,7 @@ class SystemMenusServices extends BaseServices
// $item['expand'] = true; // $item['expand'] = true;
$item['selected'] = false; $item['selected'] = false;
$item['title'] = $item['menu_name']; $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(); $data[] = $item->getData();
} }
return $data; return $data;
@ -82,8 +82,14 @@ class SystemMenusServices extends BaseServices
$rules = $systemRoleServices->getRoleArray(['status' => 1, 'id' => $rouleId], $type == 3 ? 'cashier_rules' : 'rules'); $rules = $systemRoleServices->getRoleArray(['status' => 1, 'id' => $rouleId], $type == 3 ? 'cashier_rules' : 'rules');
$rulesStr = Arr::unique($rules); $rulesStr = Arr::unique($rules);
} }
$menusList = $this->dao->getMenusRoule(['type' => $type, 'route' => $level ? $rulesStr : '']); // $menusList = $this->dao->getMenusRoule(['type' => $type, 'route' => $level ? $rulesStr : '']);
$unique = $this->dao->getMenusUnique(['type' => $type, 'unique' => $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]; return [Arr::getMenuIviewList($this->getMenusData($menusList, $type)), $unique];
} }

View File

@ -58,7 +58,7 @@ class Arr
$newData = []; $newData = [];
foreach ($data as $k => $v) { foreach ($data as $k => $v) {
$temp = []; $temp = [];
$temp['path'] = $v['menu_path']; $temp['path'] = $v['route'];
$temp['title'] = $v['menu_name']; $temp['title'] = $v['menu_name'];
$temp['icon'] = $v['icon']; $temp['icon'] = $v['icon'];
$temp['header'] = $v['header'] ?? ''; $temp['header'] = $v['header'] ?? '';