|
|
|
<?php
|
|
|
|
|
|
|
|
namespace App\Http\Controllers\Bside\Nav;
|
|
|
|
|
|
|
|
|
|
|
|
use App\Enums\Common\Code;
|
|
|
|
use App\Http\Controllers\Bside\BaseController;
|
|
|
|
use App\Models\Nav\BNavGroup;
|
|
|
|
use Illuminate\Http\Request;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 导航组
|
|
|
|
* Class NavGroupController
|
|
|
|
* @package App\Http\Controllers\Bside\Nav
|
|
|
|
* @author zbj
|
|
|
|
* @date 2023/10/9
|
|
|
|
*/
|
|
|
|
class NavGroupController extends BaseController
|
|
|
|
{
|
|
|
|
|
|
|
|
public function index(BNavGroup $nav_group){
|
|
|
|
$this->map['project_id'] = $this->user['project_id'];
|
|
|
|
$lists = $nav_group->list($this->map, 'id', ['id', 'name'], 'asc');
|
|
|
|
$this->response('success',Code::SUCCESS,$lists);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function save(Request $request){
|
|
|
|
$request->validate([
|
|
|
|
'name'=> ['required','max:100'],
|
|
|
|
],[
|
|
|
|
'name.required' => '菜单组名称不能为空',
|
|
|
|
'name.max' => '菜单组名称不能超过100个字符'
|
|
|
|
]);
|
|
|
|
if(empty($this->param['id'])){
|
|
|
|
$nav_group = new BNavGroup();
|
|
|
|
}else{
|
|
|
|
if(in_array($this->param['id'], [BNavGroup::DEFAULT_HEADER_ID,BNavGroup::DEFAULT_FOOTER_ID])){
|
|
|
|
$this->fail('系统内置菜单组不能修改');
|
|
|
|
}
|
|
|
|
$nav_group = BNavGroup::find($this->param['id']);
|
|
|
|
if(!$nav_group){
|
|
|
|
$this->fail('数据不存在或者已经删除');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
$nav_group->project_id = $this->user['project_id'];
|
|
|
|
$nav_group->name = $this->param['name'];
|
|
|
|
$nav_group->save();
|
|
|
|
|
|
|
|
$this->response('success');
|
|
|
|
}
|
|
|
|
|
|
|
|
public function delete(Request $request){
|
|
|
|
$request->validate([
|
|
|
|
'id'=>'required',
|
|
|
|
],[
|
|
|
|
'id.required' => 'ID不能为空',
|
|
|
|
]);
|
|
|
|
if(in_array($this->param['id'], [BNavGroup::DEFAULT_HEADER_ID,BNavGroup::DEFAULT_FOOTER_ID])){
|
|
|
|
$this->fail('系统内置菜单组不能删除');
|
|
|
|
}
|
|
|
|
$nav_group = BNavGroup::find($this->param['id']);
|
|
|
|
if(!$nav_group){
|
|
|
|
$this->response('数据不存在或者已经删除');
|
|
|
|
}
|
|
|
|
$nav_group->delete();
|
|
|
|
|
|
|
|
$this->response('success');
|
|
|
|
}
|
|
|
|
} |
...
|
...
|
|