diff --git a/README.md b/README.md index 31c4072..dd0e9e2 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,10 @@

CatchAdmin是一款基于thinkphp framework和 -ant degisn pro vue二次开发而成的后台管理系统,采用了目前趋势的前后端分离开发模式,后端仅需要提供简洁的 API 数据结构,前端负责呈现数据。目前前端采用数据驱动,大大提高了开发效率。这不仅仅是一个项目,更是后端更新技术栈的一次实践

+element admin二次开发而成后台管理系统。因为 thinkphp 的简单高效,文档齐全。在看了很多 thinkphp 生态中的后台管理系统,发现没有一款合适的前后端分离系统。遂开发了 CatchAdmin。 +完全利用了 thinkphp6 的新版本特性 ServiceProvider,将管理系统模块之间的耦合降到了最低限度。每个模块之间都有独立的 `controller,路由,模型,数据表`。在开发上尽可能将模块之间的影响降到最低,降低了开发上的难度。基于 CatchAdmin 可以开发 cms,CRM,OA 等 +等系统。也封装了很多实用的工具,提升开发体验。 +

文档 | @@ -28,54 +31,56 @@

+## 功能 +- [x] 用户管理 后台用户管理 +- [x] 部门管理 配置公司的部门结构,支持树形结构 +- [x] 岗位管理 配置后台用户的职务 +- [x] 菜单管理 配置系统菜单,按钮等等 +- [x] 角色管理 配置用户担当的角色,分配权限 +- [x] 数据字典 管理后台表结构 +- [x] 操作日志 后台用户操作记录 +- [x] 登录日志 后台系统用户的登录记录 +- [x] 代码生成 生成 API 端的 CURD 操作 +- [x] 敏感词 支持敏感词配置 +- [x] 附件管理 可管理上传的文件 +- [ ] 微信管理 + ## 项目地址 - [github 地址](https://github.com/yanwenwu/catch-admin) - [gitee 地址](https://gitee.com/jaguarjack/catchAdmin) - [前端 Vue 项目地址](https://github.com/yanwenwu/catch-admin-vue) - [文档地址](https://github.com/catch-admin/document)[个人精力实在有限,希望可以小伙伴们可以一起维护文档] ## 预览 -

- -

-

- -

-

- -

-

- -

-

- -

-

- -

-

- -

-

- -

-

- -

-

- -

-

- -

-

- -

-

- -

-

- -

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
## 环境要求 - php7.1+ (需以下扩展) diff --git a/catch/permissions/controller/Department.php b/catch/permissions/controller/Department.php index 37dbea9..67db5bb 100644 --- a/catch/permissions/controller/Department.php +++ b/catch/permissions/controller/Department.php @@ -5,6 +5,7 @@ use catcher\base\CatchController; use catchAdmin\permissions\model\Department as DepartmentModel; use catcher\base\CatchRequest; use catcher\CatchResponse; +use catcher\exceptions\FailedException; use catcher\Tree; class Department extends CatchController @@ -63,6 +64,10 @@ class Department extends CatchController */ public function delete($id): \think\response\Json { + if ($this->department->where('parent_id', $id)->find()) { + throw new FailedException('存在子部门,无法删除'); + } + return CatchResponse::success($this->department->deleteBy($id)); } } diff --git a/catch/permissions/model/DataRangScopeTrait.php b/catch/permissions/model/DataRangScopeTrait.php index b4b7c57..4e9d4b7 100644 --- a/catch/permissions/model/DataRangScopeTrait.php +++ b/catch/permissions/model/DataRangScopeTrait.php @@ -59,6 +59,7 @@ trait DataRangScopeTrait case Roles::DEPARTMENT_DOWN_DATA: // 查一下下级部门 $departmentIds = Department::where('parent_id', $user->department_id)->column('id'); + $departmentIds[] = $user->department_id; $userIds = array_merge([$user->id], $this->getUserIdsByDepartmentId($departmentIds)); break; case Roles::DEPARTMENT_DATA: