正在显示
11 个修改的文件
包含
195 行增加
和
23 行删除
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +namespace App\Http\Controllers\Aside; | ||
| 4 | + | ||
| 5 | +use App\Helper\Arr; | ||
| 6 | +use App\Http\Logic\Aside\DeptLogic; | ||
| 7 | +use App\Http\Requests\Aside\DeptRequest; | ||
| 8 | +use App\Rules\Ids; | ||
| 9 | +use Illuminate\Http\Request; | ||
| 10 | + | ||
| 11 | +/** | ||
| 12 | + * Class DeptController | ||
| 13 | + * @package App\Http\Controllers\Aside | ||
| 14 | + * @author zbj | ||
| 15 | + * @date 2023/4/20 | ||
| 16 | + */ | ||
| 17 | +class DeptController extends BaseController | ||
| 18 | +{ | ||
| 19 | + | ||
| 20 | + public function index(DeptLogic $logic) | ||
| 21 | + { | ||
| 22 | + $map = []; | ||
| 23 | + if(!empty($this->param['search'])){ | ||
| 24 | + $map[] = ['title', 'like', "%{$this->param['search']}%"]; | ||
| 25 | + } | ||
| 26 | + $sort = ['id' => 'desc']; | ||
| 27 | + $data = $logic->getList($map, $sort, ['id', 'pid', 'title'],0); | ||
| 28 | + return $this->success(Arr::listToTree($data)); | ||
| 29 | + } | ||
| 30 | + | ||
| 31 | + public function info(Request $request, DeptLogic $logic){ | ||
| 32 | + $request->validate([ | ||
| 33 | + 'id'=>'required' | ||
| 34 | + ],[ | ||
| 35 | + 'id.required' => 'ID不能为空' | ||
| 36 | + ]); | ||
| 37 | + $data = $logic->getInfo($this->param['id']); | ||
| 38 | + return $this->success(Arr::twoKeepKeys($data, ['id', 'pid', 'title', 'manager_uids', 'remark'])); | ||
| 39 | + } | ||
| 40 | + | ||
| 41 | + public function save(DeptRequest $request, DeptLogic $logic) | ||
| 42 | + { | ||
| 43 | + $data = $logic->save($this->param); | ||
| 44 | + return $this->success($data); | ||
| 45 | + } | ||
| 46 | + | ||
| 47 | + public function delete(Request $request, DeptLogic $logic) | ||
| 48 | + { | ||
| 49 | + $request->validate([ | ||
| 50 | + 'ids'=>['required', new Ids()] | ||
| 51 | + ],[ | ||
| 52 | + 'ids.required' => 'ID不能为空' | ||
| 53 | + ]); | ||
| 54 | + | ||
| 55 | + $data = $logic->delete($this->param['ids']); | ||
| 56 | + return $this->success($data); | ||
| 57 | + } | ||
| 58 | +} |
| @@ -4,6 +4,7 @@ namespace App\Http\Controllers\Aside; | @@ -4,6 +4,7 @@ namespace App\Http\Controllers\Aside; | ||
| 4 | 4 | ||
| 5 | use App\Helper\Arr; | 5 | use App\Helper\Arr; |
| 6 | use App\Http\Logic\Aside\GroupLogic; | 6 | use App\Http\Logic\Aside\GroupLogic; |
| 7 | +use App\Http\Requests\Aside\GroupRequest; | ||
| 7 | use App\Rules\Ids; | 8 | use App\Rules\Ids; |
| 8 | use Illuminate\Http\Request; | 9 | use Illuminate\Http\Request; |
| 9 | 10 | ||
| @@ -33,7 +34,7 @@ class GroupController extends BaseController | @@ -33,7 +34,7 @@ class GroupController extends BaseController | ||
| 33 | return $this->success($data); | 34 | return $this->success($data); |
| 34 | } | 35 | } |
| 35 | 36 | ||
| 36 | - public function save(GroupLogic $request, GroupLogic $logic){ | 37 | + public function save(GroupRequest $request, GroupLogic $logic){ |
| 37 | $data = $logic->save($this->param); | 38 | $data = $logic->save($this->param); |
| 38 | return $this->success($data); | 39 | return $this->success($data); |
| 39 | } | 40 | } |
| @@ -4,6 +4,7 @@ namespace App\Http\Controllers\Aside; | @@ -4,6 +4,7 @@ namespace App\Http\Controllers\Aside; | ||
| 4 | 4 | ||
| 5 | use App\Helper\Arr; | 5 | use App\Helper\Arr; |
| 6 | use App\Http\Logic\Aside\MenuLogic; | 6 | use App\Http\Logic\Aside\MenuLogic; |
| 7 | +use App\Http\Requests\Aside\MenuRequest; | ||
| 7 | use App\Rules\Ids; | 8 | use App\Rules\Ids; |
| 8 | use Illuminate\Http\Request; | 9 | use Illuminate\Http\Request; |
| 9 | 10 | ||
| @@ -35,7 +36,7 @@ class MenuController extends BaseController | @@ -35,7 +36,7 @@ class MenuController extends BaseController | ||
| 35 | return $this->success($data); | 36 | return $this->success($data); |
| 36 | } | 37 | } |
| 37 | 38 | ||
| 38 | - public function save(MenuLogic $request, MenuLogic $logic){ | 39 | + public function save(MenuRequest $request, MenuLogic $logic){ |
| 39 | $data = $logic->save($this->param); | 40 | $data = $logic->save($this->param); |
| 40 | return $this->success($data); | 41 | return $this->success($data); |
| 41 | } | 42 | } |
| @@ -3,21 +3,21 @@ | @@ -3,21 +3,21 @@ | ||
| 3 | namespace App\Http\Controllers\Bside; | 3 | namespace App\Http\Controllers\Bside; |
| 4 | 4 | ||
| 5 | use App\Helper\Arr; | 5 | use App\Helper\Arr; |
| 6 | -use App\Http\Logic\Bside\DepartmentLogic; | ||
| 7 | -use App\Http\Requests\Bside\DepartmentRequest; | 6 | +use App\Http\Logic\Bside\DeptLogic; |
| 7 | +use App\Http\Requests\Bside\DeptRequest; | ||
| 8 | use App\Rules\Ids; | 8 | use App\Rules\Ids; |
| 9 | use Illuminate\Http\Request; | 9 | use Illuminate\Http\Request; |
| 10 | 10 | ||
| 11 | /** | 11 | /** |
| 12 | - * Class DepartmentController | 12 | + * Class DeptController |
| 13 | * @package App\Http\Controllers\Bside | 13 | * @package App\Http\Controllers\Bside |
| 14 | * @author zbj | 14 | * @author zbj |
| 15 | * @date 2023/4/18 | 15 | * @date 2023/4/18 |
| 16 | */ | 16 | */ |
| 17 | -class DepartmentController extends BaseController | 17 | +class DeptController extends BaseController |
| 18 | { | 18 | { |
| 19 | 19 | ||
| 20 | - public function index(DepartmentLogic $logic) | 20 | + public function index(DeptLogic $logic) |
| 21 | { | 21 | { |
| 22 | $map = []; | 22 | $map = []; |
| 23 | if(!empty($this->param['search'])){ | 23 | if(!empty($this->param['search'])){ |
| @@ -28,7 +28,7 @@ class DepartmentController extends BaseController | @@ -28,7 +28,7 @@ class DepartmentController extends BaseController | ||
| 28 | return $this->success(Arr::listToTree($data)); | 28 | return $this->success(Arr::listToTree($data)); |
| 29 | } | 29 | } |
| 30 | 30 | ||
| 31 | - public function info(Request $request, DepartmentLogic $logic){ | 31 | + public function info(Request $request, DeptLogic $logic){ |
| 32 | $request->validate([ | 32 | $request->validate([ |
| 33 | 'id'=>'required' | 33 | 'id'=>'required' |
| 34 | ],[ | 34 | ],[ |
| @@ -38,13 +38,13 @@ class DepartmentController extends BaseController | @@ -38,13 +38,13 @@ class DepartmentController extends BaseController | ||
| 38 | return $this->success(Arr::twoKeepKeys($data, ['id', 'pid', 'title', 'manager_uids', 'remark'])); | 38 | return $this->success(Arr::twoKeepKeys($data, ['id', 'pid', 'title', 'manager_uids', 'remark'])); |
| 39 | } | 39 | } |
| 40 | 40 | ||
| 41 | - public function save(DepartmentRequest $request, DepartmentLogic $logic) | 41 | + public function save(DeptRequest $request, DeptLogic $logic) |
| 42 | { | 42 | { |
| 43 | $data = $logic->save($this->param); | 43 | $data = $logic->save($this->param); |
| 44 | return $this->success($data); | 44 | return $this->success($data); |
| 45 | } | 45 | } |
| 46 | 46 | ||
| 47 | - public function delete(Request $request, DepartmentLogic $logic) | 47 | + public function delete(Request $request, DeptLogic $logic) |
| 48 | { | 48 | { |
| 49 | $request->validate([ | 49 | $request->validate([ |
| 50 | 'ids'=>['required', new Ids()] | 50 | 'ids'=>['required', new Ids()] |
app/Http/Logic/Aside/DeptLogic.php
0 → 100644
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +namespace App\Http\Logic\Aside; | ||
| 4 | + | ||
| 5 | +use App\Helper\Arr; | ||
| 6 | +use App\Models\ManageDept; | ||
| 7 | +use Illuminate\Database\Eloquent\Model; | ||
| 8 | + | ||
| 9 | +/** | ||
| 10 | + * Class DeptLogic | ||
| 11 | + * @package App\Http\Logic\Aside\Department | ||
| 12 | + * @author zbj | ||
| 13 | + * @date 2023/4/20 | ||
| 14 | + */ | ||
| 15 | +class DeptLogic extends BaseLogic | ||
| 16 | +{ | ||
| 17 | + public function __construct() | ||
| 18 | + { | ||
| 19 | + parent::__construct(); | ||
| 20 | + | ||
| 21 | + $this->model = new ManageDept(); | ||
| 22 | + } | ||
| 23 | + | ||
| 24 | + public function save($param){ | ||
| 25 | + if(!empty($param['pid'])){ | ||
| 26 | + if(!empty($param['id']) && $param['pid'] == $param['id']){ | ||
| 27 | + $this->fail('上级部门不能是本部门'); | ||
| 28 | + } | ||
| 29 | + $p_cate = $this->getCacheInfo($param['pid']); | ||
| 30 | + if(!$p_cate){ | ||
| 31 | + $this->fail('上级部门不存在'); | ||
| 32 | + } | ||
| 33 | + } | ||
| 34 | + return parent::save($param); | ||
| 35 | + } | ||
| 36 | + | ||
| 37 | + public function delete($ids){ | ||
| 38 | + $ids= array_filter(Arr::splitFilterToArray($ids), 'intval'); | ||
| 39 | + foreach ($ids as $id){ | ||
| 40 | + $info = $this->getCacheInfo($id); | ||
| 41 | + if(!$info){ | ||
| 42 | + continue; | ||
| 43 | + } | ||
| 44 | + //是否有子部门 | ||
| 45 | + if(ManageDept::where('pid', $id)->count()){ | ||
| 46 | + $this->fail("部门{$info['title']}存在下级部门,不能删除"); | ||
| 47 | + } | ||
| 48 | + } | ||
| 49 | + return parent::delete($ids); | ||
| 50 | + } | ||
| 51 | +} |
| @@ -3,21 +3,21 @@ | @@ -3,21 +3,21 @@ | ||
| 3 | namespace App\Http\Logic\Bside; | 3 | namespace App\Http\Logic\Bside; |
| 4 | 4 | ||
| 5 | use App\Helper\Arr; | 5 | use App\Helper\Arr; |
| 6 | -use App\Models\Department; | 6 | +use App\Models\ProjectDept; |
| 7 | 7 | ||
| 8 | /** | 8 | /** |
| 9 | - * Class DepartmentLogic | 9 | + * Class DeptLogic |
| 10 | * @package App\Http\Logic\Bside\Department | 10 | * @package App\Http\Logic\Bside\Department |
| 11 | * @author zbj | 11 | * @author zbj |
| 12 | * @date 2023/4/18 | 12 | * @date 2023/4/18 |
| 13 | */ | 13 | */ |
| 14 | -class DepartmentLogic extends BaseLogic | 14 | +class DeptLogic extends BaseLogic |
| 15 | { | 15 | { |
| 16 | public function __construct() | 16 | public function __construct() |
| 17 | { | 17 | { |
| 18 | parent::__construct(); | 18 | parent::__construct(); |
| 19 | 19 | ||
| 20 | - $this->model = new Department(); | 20 | + $this->model = new ProjectDept(); |
| 21 | } | 21 | } |
| 22 | 22 | ||
| 23 | public function save($param){ | 23 | public function save($param){ |
| @@ -41,7 +41,7 @@ class DepartmentLogic extends BaseLogic | @@ -41,7 +41,7 @@ class DepartmentLogic extends BaseLogic | ||
| 41 | continue; | 41 | continue; |
| 42 | } | 42 | } |
| 43 | //是否有子部门 | 43 | //是否有子部门 |
| 44 | - if(Department::where('project_id', $this->user['project_id'])->where('pid', $id)->count()){ | 44 | + if(ProjectDept::where('project_id', $this->user['project_id'])->where('pid', $id)->count()){ |
| 45 | $this->fail("部门{$info['title']}存在下级部门,不能删除"); | 45 | $this->fail("部门{$info['title']}存在下级部门,不能删除"); |
| 46 | } | 46 | } |
| 47 | } | 47 | } |
app/Http/Requests/Aside/DeptRequest.php
0 → 100644
| 1 | +<?php | ||
| 2 | + | ||
| 3 | +namespace App\Http\Requests\Aside; | ||
| 4 | + | ||
| 5 | +use Illuminate\Foundation\Http\FormRequest; | ||
| 6 | + | ||
| 7 | +/** | ||
| 8 | + * Class DeptRequest | ||
| 9 | + * @package App\Http\Requests\Aside\product | ||
| 10 | + * @author zbj | ||
| 11 | + * @date 2023/4/20 | ||
| 12 | + */ | ||
| 13 | +class DeptRequest extends FormRequest | ||
| 14 | +{ | ||
| 15 | + /** | ||
| 16 | + * Determine if the user is authorized to make this request. | ||
| 17 | + * | ||
| 18 | + * @return bool | ||
| 19 | + */ | ||
| 20 | + public function authorize() | ||
| 21 | + { | ||
| 22 | + return true; | ||
| 23 | + } | ||
| 24 | + | ||
| 25 | + /** | ||
| 26 | + * Get the validation rules that apply to the request. | ||
| 27 | + * | ||
| 28 | + * @return array | ||
| 29 | + */ | ||
| 30 | + public function rules() | ||
| 31 | + { | ||
| 32 | + return [ | ||
| 33 | + 'title'=>'required|max:50', | ||
| 34 | + 'remark'=>'max:200', | ||
| 35 | + ]; | ||
| 36 | + } | ||
| 37 | + | ||
| 38 | + public function messages() | ||
| 39 | + { | ||
| 40 | + return [ | ||
| 41 | + 'title.required' => '请输入部门名称', | ||
| 42 | + 'title.max' => '部门名称不能超过50个字符', | ||
| 43 | + 'remark.max' => '备注不能超过200个字符', | ||
| 44 | + ]; | ||
| 45 | + } | ||
| 46 | + | ||
| 47 | +} |
| @@ -5,12 +5,12 @@ namespace App\Http\Requests\Bside; | @@ -5,12 +5,12 @@ namespace App\Http\Requests\Bside; | ||
| 5 | use Illuminate\Foundation\Http\FormRequest; | 5 | use Illuminate\Foundation\Http\FormRequest; |
| 6 | 6 | ||
| 7 | /** | 7 | /** |
| 8 | - * Class DepartmentRequest | 8 | + * Class DeptRequest |
| 9 | * @package App\Http\Requests\Bside\product | 9 | * @package App\Http\Requests\Bside\product |
| 10 | * @author zbj | 10 | * @author zbj |
| 11 | * @date 2023/4/18 | 11 | * @date 2023/4/18 |
| 12 | */ | 12 | */ |
| 13 | -class DepartmentRequest extends FormRequest | 13 | +class DeptRequest extends FormRequest |
| 14 | { | 14 | { |
| 15 | /** | 15 | /** |
| 16 | * Determine if the user is authorized to make this request. | 16 | * Determine if the user is authorized to make this request. |
| @@ -4,11 +4,11 @@ namespace App\Models; | @@ -4,11 +4,11 @@ namespace App\Models; | ||
| 4 | 4 | ||
| 5 | use Illuminate\Database\Eloquent\SoftDeletes; | 5 | use Illuminate\Database\Eloquent\SoftDeletes; |
| 6 | 6 | ||
| 7 | -class Department extends Base | 7 | +class ManageDept extends Base |
| 8 | { | 8 | { |
| 9 | use SoftDeletes; | 9 | use SoftDeletes; |
| 10 | 10 | ||
| 11 | //设置关联表名 | 11 | //设置关联表名 |
| 12 | - protected $table = 'gl_project_department'; | 12 | + protected $table = 'gl_manage_dept'; |
| 13 | 13 | ||
| 14 | } | 14 | } |
app/Models/ProjectDept.php
0 → 100644
| @@ -123,10 +123,10 @@ Route::middleware(['bloginauth'])->group(function () { | @@ -123,10 +123,10 @@ Route::middleware(['bloginauth'])->group(function () { | ||
| 123 | 123 | ||
| 124 | //组织架构 | 124 | //组织架构 |
| 125 | Route::prefix('department')->group(function () { | 125 | Route::prefix('department')->group(function () { |
| 126 | - Route::get('/', [\App\Http\Controllers\Bside\DepartmentController::class, 'index'])->name('department'); | ||
| 127 | - Route::get('/info', [\App\Http\Controllers\Bside\DepartmentController::class, 'info'])->name('department_info'); | ||
| 128 | - Route::post('/save', [\App\Http\Controllers\Bside\DepartmentController::class, 'save'])->name('department_save'); | ||
| 129 | - Route::any('/delete', [\App\Http\Controllers\Bside\DepartmentController::class, 'delete'])->name('department_delete'); | 126 | + Route::get('/', [\App\Http\Controllers\Bside\DeptController::class, 'index'])->name('department'); |
| 127 | + Route::get('/info', [\App\Http\Controllers\Bside\DeptController::class, 'info'])->name('department_info'); | ||
| 128 | + Route::post('/save', [\App\Http\Controllers\Bside\DeptController::class, 'save'])->name('department_save'); | ||
| 129 | + Route::any('/delete', [\App\Http\Controllers\Bside\DeptController::class, 'delete'])->name('department_delete'); | ||
| 130 | }); | 130 | }); |
| 131 | }); | 131 | }); |
| 132 | 132 |
-
请 注册 或 登录 后发表评论