|
|
@ -31,16 +31,25 @@ class WorkorderController extends AdminController |
|
|
{ |
|
|
{ |
|
|
$workorderId = \request('workorder_id',0); |
|
|
$workorderId = \request('workorder_id',0); |
|
|
$userList = $msgList = []; |
|
|
$userList = $msgList = []; |
|
|
$workorder = \App\Models\Workorder::query() |
|
|
|
|
|
->with(['point','publisher']) |
|
|
|
|
|
->where(['publisher_id' => Admin::user()->id,'publisher_type' => DemandTraits::$col[0]]) |
|
|
|
|
|
->orWhere(function ($query) { |
|
|
|
|
|
$query->where('point_id',Admin::user()->id) |
|
|
|
|
|
->where('point_type',DemandTraits::$col[0]); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$workorder = WorkorderItem::query() |
|
|
|
|
|
->with(['workorder.point', 'workorder.publisher']) |
|
|
|
|
|
->whereHas('workorder', function ($q) { |
|
|
|
|
|
return $q->where(['publisher_id' => Admin::user()->id,'publisher_type' => DemandTraits::$col[0]]) |
|
|
|
|
|
->orWhere(function ($query) { |
|
|
|
|
|
$query->where('point_id',Admin::user()->id) |
|
|
|
|
|
->where('point_type',DemandTraits::$col[0]); |
|
|
|
|
|
}) |
|
|
|
|
|
->orderByDesc('updated_at'); |
|
|
}) |
|
|
}) |
|
|
|
|
|
->groupBy('workorder_id') |
|
|
->orderByDesc('updated_at') |
|
|
->orderByDesc('updated_at') |
|
|
->get(); |
|
|
->get(); |
|
|
|
|
|
|
|
|
|
|
|
$workorder = $workorder->map(function ($item, $key) { |
|
|
|
|
|
return $item->workorder; |
|
|
|
|
|
})->all(); |
|
|
|
|
|
|
|
|
// 先这么处理吧
|
|
|
// 先这么处理吧
|
|
|
if ($workorderId == 0 && !empty($workorder)) { |
|
|
if ($workorderId == 0 && !empty($workorder)) { |
|
|
return redirect('/admin-agent/workorder_item?workorder_id='.$workorder[0]->id); |
|
|
return redirect('/admin-agent/workorder_item?workorder_id='.$workorder[0]->id); |
|
|
@ -77,16 +86,6 @@ class WorkorderController extends AdminController |
|
|
$msgList [] = $arr; |
|
|
$msgList [] = $arr; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
$currentWorkorder = \App\Models\Workorder::find($workorderId); |
|
|
|
|
|
array_unshift($msgList, [ |
|
|
|
|
|
'type' => 'op', |
|
|
|
|
|
'it_type' => 1, |
|
|
|
|
|
'avatar' => Storage::url($currentWorkorder->publisher->avatar), |
|
|
|
|
|
'name' => $currentWorkorder->publisher->name, |
|
|
|
|
|
'content' => $currentWorkorder->content, |
|
|
|
|
|
'created_at_text' => $currentWorkorder->created_at, |
|
|
|
|
|
]); |
|
|
|
|
|
|
|
|
|
|
|
$data = [ |
|
|
$data = [ |
|
|
'user_list' => $userList, |
|
|
'user_list' => $userList, |
|
|
'msg_list' => $msgList, |
|
|
'msg_list' => $msgList, |
|
|
@ -227,6 +226,18 @@ class WorkorderController extends AdminController |
|
|
$form->publisher_id = Admin::user()->id; |
|
|
$form->publisher_id = Admin::user()->id; |
|
|
} |
|
|
} |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
$form->saved(function (Form $form) { |
|
|
|
|
|
if ($form->isCreating()) { |
|
|
|
|
|
$item = new WorkorderItem(); |
|
|
|
|
|
$item->workorder_id = $form->getKey(); |
|
|
|
|
|
$item->content = $form->content; |
|
|
|
|
|
$item->type = 1; |
|
|
|
|
|
$item->publisher_type = DemandTraits::$col[0]; |
|
|
|
|
|
$item->publisher_id = Admin::user()->id; |
|
|
|
|
|
$item->save(); |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|