|
...
|
...
|
@@ -38,22 +38,55 @@ class TaskController extends BaseController |
|
|
|
}
|
|
|
|
if(!empty($this->param['dep_id'])){
|
|
|
|
$manage_ids = Manage::where('dept_id', $this->param['dep_id'])->pluck('id')->toArray();
|
|
|
|
$map[] = ['id', 'in', TaskOwner::whereIn('manage_id',$manage_ids)->pluck('task_id')->toArray()];
|
|
|
|
$map[] = ['gto.manage_id', 'in', $manage_ids];
|
|
|
|
}
|
|
|
|
if(!empty($this->param['created_manage_id']) && !empty($this->param['type'])){
|
|
|
|
if(!empty($this->param['manage_id']) && !empty($this->param['type'])){
|
|
|
|
if($this->param['type'] == 1){
|
|
|
|
$map[] = ['created_manage_id', $this->param['created_manage_id']];
|
|
|
|
$map[] = ['created_manage_id', $this->param['manage_id']];
|
|
|
|
}else{
|
|
|
|
$map[] = ['id', 'in', TaskOwner::where('manage_id', $this->param['owner_manage_id'])->pluck('task_id')->toArray()];
|
|
|
|
$map[] = ['gto.manage_id', $this->param['manage_id']];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
$sort = ['id' => 'desc'];
|
|
|
|
$data = $logic->getUserlist($map, $sort, ['id', 'project_id', 'workload', 'priority', 'content', 'attachment', 'status', 'end_at', 'created_manage_id']);
|
|
|
|
|
|
|
|
return $this->success($data);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function items(Request $request, TaskLogic $logic)
|
|
|
|
{
|
|
|
|
$request->validate([
|
|
|
|
'own_manage_id'=>'required'
|
|
|
|
],[
|
|
|
|
'own_manage_id.required' => '所属人ID不能为空'
|
|
|
|
]);
|
|
|
|
$map[] = ['id', 'in', TaskOwner::where('manage_id', $this->param['own_manage_id'])->pluck('id')->toArray()];
|
|
|
|
if(!empty($this->param['search']) && !empty($this->param['search_type'])){
|
|
|
|
if($this->param['search_type'] == 'project'){
|
|
|
|
$map[] = ['project_id', 'in', Project::where('title', 'like', "%{$this->param['search']}%")->pluck('id')->toarray()];
|
|
|
|
}else{
|
|
|
|
$map[] = [$this->param['search_type'], 'like', "%{$this->param['search']}%"];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if(!empty($this->param['dep_id'])){
|
|
|
|
$manage_ids = Manage::where('dept_id', $this->param['dep_id'])->pluck('id')->toArray();
|
|
|
|
$map[] = ['id', 'in', TaskOwner::whereIn('manage_id',$manage_ids)->pluck('task_id')->toArray()];
|
|
|
|
}
|
|
|
|
if(!empty($this->param['manage_id']) && !empty($this->param['type'])){
|
|
|
|
if($this->param['type'] == 1){
|
|
|
|
$map[] = ['created_manage_id', $this->param['manage_id']];
|
|
|
|
}else{
|
|
|
|
$map[] = ['id', 'in', TaskOwner::where('manage_id', $this->param['manage_id'])->pluck('task_id')->toArray()];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
$sort = ['id' => 'desc'];
|
|
|
|
$data = $logic->getList($map, $sort, ['id', 'project_id', 'workload', 'priority', 'content', 'attachment', 'status', 'end_at', 'created_manage_id']);
|
|
|
|
|
|
|
|
return $this->success($data);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public function info(Request $request, TaskLogic $logic){
|
|
|
|
$request->validate([
|
|
|
|
'id'=>'required'
|
...
|
...
|
|