作者 lyh

gx

@@ -28,7 +28,7 @@ class NavController extends BaseController @@ -28,7 +28,7 @@ class NavController extends BaseController
28 * @method :post 28 * @method :post
29 * @time :2023/12/4 15:00 29 * @time :2023/12/4 15:00
30 */ 30 */
31 - public function index(BNav $nav,BNavGroup $navGroup){ 31 + public function index(BNav $nav){
32 $this->map['project_id'] = $this->user['project_id']; 32 $this->map['project_id'] = $this->user['project_id'];
33 $lists = $nav->list($this->map,$this->order = ['sort','id']); 33 $lists = $nav->list($this->map,$this->order = ['sort','id']);
34 $data = array(); 34 $data = array();
@@ -41,13 +41,6 @@ class NavController extends BaseController @@ -41,13 +41,6 @@ class NavController extends BaseController
41 $data[] = $v; 41 $data[] = $v;
42 } 42 }
43 } 43 }
44 - //获取菜单组排序字段  
45 - $groupInfo = $navGroup->read(['id'=>$this->param['group_id']]);  
46 - if(!empty($groupInfo['sort_list'])){  
47 - $sort_list = json_decode($groupInfo['sort_list']);  
48 - $detailsList = $this->getIdDetailsList($data);  
49 - $data = $this->findDetailsLists($sort_list,$detailsList);  
50 - }  
51 } 44 }
52 $this->response('success',Code::SUCCESS,$data); 45 $this->response('success',Code::SUCCESS,$data);
53 } 46 }
@@ -70,66 +63,6 @@ class NavController extends BaseController @@ -70,66 +63,6 @@ class NavController extends BaseController
70 } 63 }
71 64
72 /** 65 /**
73 - * @remark :根据固定的数组排序  
74 - * @name :findDetailsInList  
75 - * @author :lyh  
76 - * @method :post  
77 - * @time :2023/12/18 14:54  
78 - */  
79 - public function findDetailsLists($sort_list, $detailsList)  
80 - {  
81 - $result = [];  
82 - foreach ($sort_list as $val) {  
83 - $val = (array)$val;  
84 - if (!empty($val['sub']) && is_array($val['sub']) && isset($detailsList[$val['id']]['sub'])){  
85 - $detailsList[$val['id']]['sub'] = $this->findDetailsLists($val['sub'], $detailsList[$val['id']]['sub']);  
86 - }  
87 - if (empty($detailsList[$val['id']])){  
88 - continue;  
89 - }  
90 - if(!empty($detailsList[$val['id']]['sub']) && is_array($detailsList[$val['id']]['sub'])){  
91 - $detailsList[$val['id']]['sub'] = $this->handleDetailsSub($detailsList[$val['id']]['sub']);  
92 - }  
93 - $result[] = $detailsList[$val['id']];  
94 - unset($detailsList[$val['id']]);  
95 - }  
96 - $result = array_merge($result, $detailsList);  
97 - return $this->success($result);  
98 - }  
99 -  
100 - /**  
101 - * @remark :处理子集  
102 - * @name :handleDetailsSub  
103 - * @author :lyh  
104 - * @method :post  
105 - * @time :2023/12/21 16:36  
106 - */  
107 - public function handleDetailsSub($detailsList){  
108 - if(!empty($detailsList['sub']) && is_array($detailsList['sub'])){  
109 - $detailsList['sub'] = $this->handleDetailsSub($detailsList['sub']);  
110 - }  
111 - return array_merge($detailsList);  
112 - }  
113 -  
114 - /**  
115 - * @remark :根据id组装数据  
116 - * @name :getDetailsList  
117 - * @author :lyh  
118 - * @method :post  
119 - * @time :2023/12/20 18:52  
120 - */  
121 - public function getIdDetailsList($data){  
122 - $detailsList = [];  
123 - foreach ($data as $v) {  
124 - if (!empty($v['sub'])){  
125 - $v['sub'] = $this->getIdDetailsList($v['sub']);  
126 - }  
127 - $detailsList[$v['id']] = $v;  
128 - }  
129 - return $this->success($detailsList);  
130 - }  
131 -  
132 - /**  
133 * @remark :获取当前id下的所有子集 66 * @remark :获取当前id下的所有子集
134 * @name :getSubList 67 * @name :getSubList
135 * @author :lyh 68 * @author :lyh
@@ -260,11 +260,31 @@ class NavLogic extends BaseLogic @@ -260,11 +260,31 @@ class NavLogic extends BaseLogic
260 * @time :2023/12/18 13:47 260 * @time :2023/12/18 13:47
261 */ 261 */
262 public function setSortList(){ 262 public function setSortList(){
263 - $navGroupModel = new BNavGroup();  
264 - if(!empty($this->param['sort_list'])){  
265 - $this->param['sort_list'] = json_encode($this->param['sort_list']); 263 + $navList = $this->param['sort_list'];
  264 + if(!empty($navList)){
  265 + $sort = 0;
  266 + $this->subSort($navList,$sort);
266 } 267 }
267 - $navGroupModel->edit(['sort_list'=>$this->param['sort_list']],['id'=>$this->param['id']]);  
268 return $this->success(); 268 return $this->success();
269 } 269 }
  270 +
  271 + /**
  272 + * @remark :处理子集排序
  273 + * @name :subSort
  274 + * @author :lyh
  275 + * @method :post
  276 + * @time :2024/2/29 15:30
  277 + */
  278 + public function subSort($subList,&$sort,$pid = 0){
  279 + $navModel = new BNav();
  280 + $sort = $sort + 1;
  281 + foreach ($subList as $k => $v){
  282 + if(!empty($v['sub'])){
  283 + $this->subSort($v['sub'],$sort,$v['id']);
  284 + }else{
  285 + $navModel->edit(['pid'=>$pid,'sort'=>$sort],['id'=>$v['id']]);
  286 + }
  287 + }
  288 + return true;
  289 + }
270 } 290 }