|
|
@@ -56,14 +56,31 @@ class AssetAreaLists extends BaseAdminDataLists implements ListsSearchInterface
|
|
|
public function lists(): array
|
|
|
{
|
|
|
|
|
|
- $lists = (new AssetArea())->field('id,title,create_time')
|
|
|
+ $lists = (new AssetArea())->field('id,title,level,pid,create_time')
|
|
|
->where($this->searchWhere)
|
|
|
->limit($this->limitOffset, $this->limitLength)
|
|
|
->Order('sort desc')
|
|
|
->select()
|
|
|
->toArray();
|
|
|
|
|
|
- return $lists;
|
|
|
+
|
|
|
+
|
|
|
+ if($this->params['is_tree'] ==1){
|
|
|
+
|
|
|
+
|
|
|
+ $treeList = linear_to_tree($lists, 'children');
|
|
|
+ if (empty($treeList) && !empty($lists)) {
|
|
|
+ foreach ($lists as &$v) {
|
|
|
+ $v['children'] = [];
|
|
|
+ }
|
|
|
+ return $lists;
|
|
|
+ }
|
|
|
+ return $treeList;
|
|
|
+ }else{
|
|
|
+ return $lists;
|
|
|
+ }
|
|
|
+
|
|
|
+//
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -85,8 +102,17 @@ class AssetAreaLists extends BaseAdminDataLists implements ListsSearchInterface
|
|
|
*/
|
|
|
public static function add(array $params)
|
|
|
{
|
|
|
+ $pid = $params['pid'];
|
|
|
+ $level = 1;
|
|
|
+
|
|
|
+ $pidInfo = AssetArea::find($pid);
|
|
|
+ if(!empty($pidInfo)){
|
|
|
+ $level = $pidInfo['level'] + 1;
|
|
|
+ }
|
|
|
AssetArea::create([
|
|
|
'title' => $params['title'],
|
|
|
+ 'level' => $level,
|
|
|
+ 'pid' => $pid,
|
|
|
'sort' => $params['sort']??0
|
|
|
]);
|
|
|
}
|