|
...
|
...
|
@@ -28,9 +28,9 @@ class NavController extends BaseController |
|
|
|
* @method :post
|
|
|
|
* @time :2023/12/4 15:00
|
|
|
|
*/
|
|
|
|
public function index(BNav $nav,BNavGroup $navGroup){
|
|
|
|
public function index(BNav $nav){
|
|
|
|
$this->map['project_id'] = $this->user['project_id'];
|
|
|
|
$lists = $nav->list($this->map,$this->order = ['sort','id']);
|
|
|
|
$lists = $nav->list($this->map,$this->order = ['sort','id'],['*'],'asc');
|
|
|
|
$data = array();
|
|
|
|
if(!empty($lists)){
|
|
|
|
foreach ($lists as $v){
|
|
...
|
...
|
@@ -41,13 +41,6 @@ class NavController extends BaseController |
|
|
|
$data[] = $v;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//获取菜单组排序字段
|
|
|
|
$groupInfo = $navGroup->read(['id'=>$this->param['group_id']]);
|
|
|
|
if(!empty($groupInfo['sort_list'])){
|
|
|
|
$sort_list = json_decode($groupInfo['sort_list']);
|
|
|
|
$detailsList = $this->getIdDetailsList($data);
|
|
|
|
$data = $this->findDetailsLists($sort_list,$detailsList);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
$this->response('success',Code::SUCCESS,$data);
|
|
|
|
}
|
|
...
|
...
|
@@ -70,66 +63,6 @@ class NavController extends BaseController |
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @remark :根据固定的数组排序
|
|
|
|
* @name :findDetailsInList
|
|
|
|
* @author :lyh
|
|
|
|
* @method :post
|
|
|
|
* @time :2023/12/18 14:54
|
|
|
|
*/
|
|
|
|
public function findDetailsLists($sort_list, $detailsList)
|
|
|
|
{
|
|
|
|
$result = [];
|
|
|
|
foreach ($sort_list as $val) {
|
|
|
|
$val = (array)$val;
|
|
|
|
if (!empty($val['sub']) && is_array($val['sub']) && isset($detailsList[$val['id']]['sub'])){
|
|
|
|
$detailsList[$val['id']]['sub'] = $this->findDetailsLists($val['sub'], $detailsList[$val['id']]['sub']);
|
|
|
|
}
|
|
|
|
if (empty($detailsList[$val['id']])){
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
if(!empty($detailsList[$val['id']]['sub']) && is_array($detailsList[$val['id']]['sub'])){
|
|
|
|
$detailsList[$val['id']]['sub'] = $this->handleDetailsSub($detailsList[$val['id']]['sub']);
|
|
|
|
}
|
|
|
|
$result[] = $detailsList[$val['id']];
|
|
|
|
unset($detailsList[$val['id']]);
|
|
|
|
}
|
|
|
|
$result = array_merge($result, $detailsList);
|
|
|
|
return $this->success($result);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @remark :处理子集
|
|
|
|
* @name :handleDetailsSub
|
|
|
|
* @author :lyh
|
|
|
|
* @method :post
|
|
|
|
* @time :2023/12/21 16:36
|
|
|
|
*/
|
|
|
|
public function handleDetailsSub($detailsList){
|
|
|
|
if(!empty($detailsList['sub']) && is_array($detailsList['sub'])){
|
|
|
|
$detailsList['sub'] = $this->handleDetailsSub($detailsList['sub']);
|
|
|
|
}
|
|
|
|
return array_merge($detailsList);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @remark :根据id组装数据
|
|
|
|
* @name :getDetailsList
|
|
|
|
* @author :lyh
|
|
|
|
* @method :post
|
|
|
|
* @time :2023/12/20 18:52
|
|
|
|
*/
|
|
|
|
public function getIdDetailsList($data){
|
|
|
|
$detailsList = [];
|
|
|
|
foreach ($data as $v) {
|
|
|
|
if (!empty($v['sub'])){
|
|
|
|
$v['sub'] = $this->getIdDetailsList($v['sub']);
|
|
|
|
}
|
|
|
|
$detailsList[$v['id']] = $v;
|
|
|
|
}
|
|
|
|
return $this->success($detailsList);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @remark :获取当前id下的所有子集
|
|
|
|
* @name :getSubList
|
|
|
|
* @author :lyh
|
|
...
|
...
|
@@ -233,10 +166,8 @@ class NavController extends BaseController |
|
|
|
*/
|
|
|
|
public function setSortList(NavLogic $navLogic){
|
|
|
|
$this->request->validate([
|
|
|
|
'id'=>'required',
|
|
|
|
'sort_list'=>'required',
|
|
|
|
],[
|
|
|
|
'id.required' => 'ID不能为空',
|
|
|
|
'sort_list.required' => '排序不能为空',
|
|
|
|
]);
|
|
|
|
$navLogic->setSortList();
|
...
|
...
|
|