From 11d1f26724ebd740abf0c2f6f1c9fa4c51ad1802 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9F=A6=E8=8D=A3=E8=B6=85?= <302645122@qq.com> Date: Mon, 24 Jan 2022 10:20:59 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=8A=A0=E5=85=A5=E3=80=90=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E7=AE=A1=E7=90=86=E3=80=91=E4=BB=BB=E5=8A=A1=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E6=B5=81=E7=A8=8B=E7=AD=9B=E9=80=89=E8=A2=AB=E5=9B=9E?= =?UTF-8?q?=E6=BB=9A=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/Api/ProjectController.php | 3 +- app/Models/Project.php | 9 ++- .../pages/manage/components/ProjectList.vue | 73 +++++++++++++++++-- .../sass/pages/components/project-list.scss | 20 +++++ 4 files changed, 95 insertions(+), 10 deletions(-) diff --git a/app/Http/Controllers/Api/ProjectController.php b/app/Http/Controllers/Api/ProjectController.php index 9776da6e..ec16974f 100755 --- a/app/Http/Controllers/Api/ProjectController.php +++ b/app/Http/Controllers/Api/ProjectController.php @@ -1579,8 +1579,9 @@ class ProjectController extends AbstractController User::auth(); // $project_id = intval(Request::input('project_id')); + $is_filter = intval(Request::input('is_filter',0)); // - $project = Project::userProject($project_id, true, true); + $project = Project::userProject($project_id, true, true, $is_filter); // $list = ProjectFlow::with(['ProjectFlowItem'])->whereProjectId($project->id)->get(); return Base::retSuccess('success', $list); diff --git a/app/Models/Project.php b/app/Models/Project.php index 76e452a3..0b1bab82 100644 --- a/app/Models/Project.php +++ b/app/Models/Project.php @@ -354,10 +354,11 @@ class Project extends AbstractModel * 获取项目信息(用于判断会员是否存在项目内) * @param int $project_id * @param null|bool $archived true:仅限未归档, false:仅限已归档, null:不限制 - * @param null|bool $mustOwner true:仅限项目负责人, false:仅限非项目负责人, null:不限制 + * @param null $mustOwner true:仅限项目负责人, false:仅限非项目负责人, null:不限制 + * @param int $is_filter 是否是用筛选列表 * @return self */ - public static function userProject($project_id, $archived = true, $mustOwner = null) + public static function userProject($project_id, $archived = true, $mustOwner = null, $is_filter = 0) { $project = self::authData()->where('projects.id', intval($project_id))->first(); if (empty($project)) { @@ -369,10 +370,10 @@ class Project extends AbstractModel if ($archived === false && $project->archived_at == null) { throw new ApiException('项目未归档', [ 'project_id' => $project_id ]); } - if ($mustOwner === true && !$project->owner) { + if ($mustOwner === true && !$project->owner && $is_filter === 0) { throw new ApiException('仅限项目负责人操作', [ 'project_id' => $project_id ]); } - if ($mustOwner === false && $project->owner) { + if ($mustOwner === false && $project->owner && $is_filter === 0) { throw new ApiException('禁止项目负责人操作', [ 'project_id' => $project_id ]); } return $project; diff --git a/resources/assets/js/pages/manage/components/ProjectList.vue b/resources/assets/js/pages/manage/components/ProjectList.vue index 71596ea0..9a1f5460 100644 --- a/resources/assets/js/pages/manage/components/ProjectList.vue +++ b/resources/assets/js/pages/manage/components/ProjectList.vue @@ -72,6 +72,17 @@