From d7c71c15d3409b4a771e1dc9eadfb6b0e5123acd Mon Sep 17 00:00:00 2001 From: weiz <736250432@qq.com> Date: Sat, 25 May 2024 11:38:28 +0800 Subject: [PATCH] update --- app/adminapi/lists/dept/DeptLists.php | 4 +++- app/adminapi/logic/dept/DeptLogic.php | 13 +++++++------ app/adminapi/logic/works/bgsp/OaFlowLogic.php | 18 ++++++++++++++++-- app/adminapi/validate/dept/DeptValidate.php | 2 +- .../validate/works/bgsp/OaFlowValidate.php | 4 ++-- 5 files changed, 29 insertions(+), 12 deletions(-) diff --git a/app/adminapi/lists/dept/DeptLists.php b/app/adminapi/lists/dept/DeptLists.php index 6c4cbc9e8..66077c2ca 100644 --- a/app/adminapi/lists/dept/DeptLists.php +++ b/app/adminapi/lists/dept/DeptLists.php @@ -4,6 +4,7 @@ use app\adminapi\lists\BaseAdminDataLists; use app\common\lists\ListsSearchInterface; + use app\common\model\auth\Admin; use app\common\model\dept\Dept; use app\common\model\dept\Orgs; @@ -38,13 +39,14 @@ $this->where[] = ['org_id','in',$orgs]; } return Dept::where($this->searchWhere)->where($this->where) - ->field('id,name,org_id,mobile,status,sort,create_time') ->limit($this->limitOffset, $this->limitLength) ->order(['sort' => 'desc', 'id' => 'desc']) ->select()->each(function($item){ $org = Orgs::where('id',$item['org_id'])->findOrEmpty(); $item['org_name'] = $org->isEmpty() ? '' : $org['name']; $item['status_text'] = $item->status_text; + $admin = Admin::field('name')->where('id',$item['leader_id'])->findOrEmpty(); + $item['leader_name'] = !$admin->isEmpty() ? $admin['name'] : ''; return $item; }) ->toArray(); diff --git a/app/adminapi/logic/dept/DeptLogic.php b/app/adminapi/logic/dept/DeptLogic.php index 90a615fbc..a8654c139 100755 --- a/app/adminapi/logic/dept/DeptLogic.php +++ b/app/adminapi/logic/dept/DeptLogic.php @@ -43,7 +43,8 @@ class DeptLogic extends BaseLogic 'name' => $params['name'], 'mobile' => $params['mobile'] ?? '', 'status' => $params['status'], - 'sort' => $params['sort'] ?? 0 + 'sort' => $params['sort'] ?? 0, + 'leader_id' => $params['leader_id'] ?? 0, ]); } @@ -64,7 +65,8 @@ class DeptLogic extends BaseLogic 'name' => $params['name'], 'mobile' => $params['mobile'] ?? '', 'status' => $params['status'], - 'sort' => $params['sort'] ?? 0 + 'sort' => $params['sort'] ?? 0, + 'leader_id' => $params['leader_id'] ?? 0, ]); return true; } catch (\Exception $e) { @@ -100,13 +102,12 @@ class DeptLogic extends BaseLogic */ public static function detail($params): array { - $data = Dept::field('id,name,org_id,mobile,status,sort,create_time')->where('id',$params['id'])->findOrEmpty(); - if($data->isEmpty()){ - return []; - } + $data = Dept::where('id',$params['id'])->findOrEmpty(); $org = Orgs::where('id',$data['org_id'])->findOrEmpty(); $data['org_name'] = $org->isEmpty() ? '' : $org['name']; $data['status_text'] = $data->status_text; + $admin = Admin::field('name')->where('id',$data['leader_id'])->findOrEmpty(); + $data['leader_name'] = !$admin->isEmpty() ? $admin['name'] : ''; return $data->toArray(); } diff --git a/app/adminapi/logic/works/bgsp/OaFlowLogic.php b/app/adminapi/logic/works/bgsp/OaFlowLogic.php index 707b92c45..b6a0cbc2c 100644 --- a/app/adminapi/logic/works/bgsp/OaFlowLogic.php +++ b/app/adminapi/logic/works/bgsp/OaFlowLogic.php @@ -44,13 +44,20 @@ class OaFlowLogic extends BaseLogic if($params['check_type'] == 3){ $flow_list = $params['flow_list']; foreach($flow_list as &$v){ - $v['flow_type'] = 5; + $v['flow_type'] = 4; } $params['flow_list'] = $flow_list; } if($params['check_type'] == 2){ $params['flow_list'] = ''; } + if($params['check_type'] == 1){ + $flow_list = $params['flow_list']; + foreach($flow_list as &$v){ + unset($v['flow_name']); + } + $params['flow_list'] = $flow_list; + } Db::startTrans(); try { OaFlow::create([ @@ -86,13 +93,20 @@ class OaFlowLogic extends BaseLogic if($params['check_type'] == 3){ $flow_list = $params['flow_list']; foreach($flow_list as &$v){ - $v['flow_type'] = 5; + $v['flow_type'] = 4; } $params['flow_list'] = $flow_list; } if($params['check_type'] == 2){ $params['flow_list'] = ''; } + if($params['check_type'] == 1){ + $flow_list = $params['flow_list']; + foreach($flow_list as &$v){ + unset($v['flow_name']); + } + $params['flow_list'] = $flow_list; + } Db::startTrans(); try { OaFlow::where('id', $params['id'])->update([ diff --git a/app/adminapi/validate/dept/DeptValidate.php b/app/adminapi/validate/dept/DeptValidate.php index f12638049..b5aa011dd 100755 --- a/app/adminapi/validate/dept/DeptValidate.php +++ b/app/adminapi/validate/dept/DeptValidate.php @@ -84,7 +84,7 @@ */ public function sceneEdit() { - return $this->only(['id', 'org_id', 'name', 'mobile', 'status'])->append('name', 'checkUniqueByEdit');; + return $this->only(['id', 'org_id', 'name', 'mobile', 'status','leader_id'])->append('name', 'checkUniqueByEdit'); } diff --git a/app/adminapi/validate/works/bgsp/OaFlowValidate.php b/app/adminapi/validate/works/bgsp/OaFlowValidate.php index 3d2f7ddc0..d04a0ae8f 100644 --- a/app/adminapi/validate/works/bgsp/OaFlowValidate.php +++ b/app/adminapi/validate/works/bgsp/OaFlowValidate.php @@ -175,10 +175,10 @@ class OaFlowValidate extends BaseValidate if(!isset($v['flow_type']) || !isset($v['flow_uids'])){ return '固定审批流数据参数缺失'; } - if(empty($v['flow_type']) || !in_array($v['flow_type'],[1,2,3,4])){ + if(empty($v['flow_type']) || !in_array($v['flow_type'],[1,2,3])){ return '固定审批流第'.($k+1).'行的类型未选择'; } - if($v['flow_type'] > 2 && empty($v['flow_uids'])){ + if($v['flow_type'] > 1 && empty($v['flow_uids'])){ return '固定审批流第'.($k+1).'行的指定人未选择'; } }