|
...
|
...
|
@@ -25,9 +25,9 @@ class AsideTicketController extends BaseController |
|
|
|
* 1. 超管看所有工单
|
|
|
|
* 2. 其他查看和自己有关的工单
|
|
|
|
*/
|
|
|
|
$lists = TicketLog::with([
|
|
|
|
'ticket.logs.engineer:id,name',
|
|
|
|
'ticket.project',
|
|
|
|
$lists = Tickets::with([
|
|
|
|
'logs.engineer:id,name',
|
|
|
|
'project',
|
|
|
|
])
|
|
|
|
->when($this, function ($query) {
|
|
|
|
$role = $this->manage['role'];
|
|
...
|
...
|
@@ -36,31 +36,34 @@ class AsideTicketController extends BaseController |
|
|
|
return $query;
|
|
|
|
}
|
|
|
|
// 其他角色查自己参与的工单
|
|
|
|
return $query->where('engineer_id', $this->manage['id']);
|
|
|
|
return $query->where(function ($q) {
|
|
|
|
$q->where('submit_user_id', $this->manage['id'])
|
|
|
|
->orWhereHas('logs', function ($q1) {
|
|
|
|
$q1->where('engineer_id', $this->manage['id']);
|
|
|
|
});
|
|
|
|
});
|
|
|
|
})
|
|
|
|
->when($request->input('project_id') !== null, function ($query) use ($request) {
|
|
|
|
// project_id 查 gl_ticket_projects.uuid
|
|
|
|
return $query->whereHas('ticket.project', function ($q) use ($request) {
|
|
|
|
$q->where('uuid', $request->input('project_id'));
|
|
|
|
$projectId = $request->input('project_id');
|
|
|
|
return $query->whereHas('project', function ($q) use ($projectId) {
|
|
|
|
$q->where('uuid', $projectId);
|
|
|
|
});
|
|
|
|
})
|
|
|
|
->when($request->input('status') !== null, function ($query) use ($request) {
|
|
|
|
// status 查 gl_tickets.status
|
|
|
|
return $query->whereHas('ticket', function ($q) use ($request) {
|
|
|
|
$q->where('status', $request->input('status'));
|
|
|
|
});
|
|
|
|
$status = $request->input('status');
|
|
|
|
return $query->where('status', $status);
|
|
|
|
})
|
|
|
|
->when($request->input('search'), function ($query) use ($request) {
|
|
|
|
// search 查 gl_tickets.title 或 gl_ticket_projects.title 或 gl_ticket_projects.company_name
|
|
|
|
$search = $request->input('search');
|
|
|
|
$query->where(function ($q) use ($search) {
|
|
|
|
$q->whereHas('ticket', function ($q1) use ($search) {
|
|
|
|
$q1->where('title', 'like', '%' . $search . '%');
|
|
|
|
})
|
|
|
|
->orWhereHas('ticket.project', function ($q2) use ($search) {
|
|
|
|
$q2->where('title', 'like', '%' . $search . '%')
|
|
|
|
->orWhere('company_name', 'like', '%' . $search . '%');
|
|
|
|
});
|
|
|
|
return $query->where(function ($q) use ($search) {
|
|
|
|
$q->where('title', 'like', '%' . $search . '%')
|
|
|
|
->orWhereHas('project', function ($q1) use ($search) {
|
|
|
|
$q1->where('title', 'like', '%' . $search . '%')
|
|
|
|
->orWhere('company_name', 'like', '%' . $search . '%');
|
|
|
|
});
|
|
|
|
});
|
|
|
|
})
|
|
|
|
->orderBy('id', 'desc')
|
...
|
...
|
|