['name','wbs_code'], ]; } /** * @notes 获取项目WBS设置列表 * @return array * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException * @author likeadmin * @date 2023/12/13 15:09 */ public function lists(): array { $data = ProjectWbsSet::where($this->searchWhere) ->field(['id', 'pid', 'wbs_code', 'name', 'work_standards', 'project_role_id', 'output_data', 'sort', 'weight']) ->limit($this->limitOffset, $this->limitLength) ->order(['id' => 'desc']) ->select()->each(function($item){ $projectRole = ProjectRoleSet::field('id,name')->where('id',$item['project_role_id'])->findOrEmpty(); $item['project_role_name'] = $projectRole->isEmpty() ? '' : $projectRole->name; return $item; }) ->toArray(); $tree = buildTree($data,'pid'); return $tree; } /** * @notes 获取项目WBS设置数量 * @return int * @author likeadmin * @date 2023/12/13 15:09 */ public function count(): int { return ProjectWbsSet::where($this->searchWhere)->count(); } }