WorkOrderResource.php 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. namespace App\Http\Resources;
  3. use App\Models\WorkOrder;
  4. use Illuminate\Http\Resources\Json\JsonResource;
  5. class WorkOrderResource extends JsonResource
  6. {
  7. /**
  8. * Transform the resource into an array.
  9. *
  10. * @param \Illuminate\Http\Request $request
  11. * @return array
  12. */
  13. public function toArray($request)
  14. {
  15. $model = $this->resource;
  16. $reason = $model->reason ?? '';
  17. $str = '';
  18. if(is_serialized($reason)){
  19. $reasonArr = unserialize($reason);
  20. foreach ($reasonArr as $k=>$v){
  21. if($v == 1){
  22. $str .= WorkOrder::$warningMaps[$k]."、";
  23. }
  24. }
  25. $str = rtrim($str,'、');
  26. $reason = $str;
  27. }
  28. $planned = $model->planned;
  29. $is_zhipai = false;
  30. $is_over = true;
  31. if($planned == WorkOrder::PLANNED_STATUS_MEET){
  32. $is_zhipai = true;
  33. }
  34. if($planned == WorkOrder::PLANNED_STATUS_OVER){
  35. $is_over = false;
  36. }
  37. return [
  38. 'id' => $model->id,
  39. 'bike_no' => $model->bike->bike_no ?? '', //车牌号
  40. 'box_no' => $model->bike->box_no ?? '',//中控号
  41. 'trouble_part_name' => $model->type_name, // 故障类型
  42. 'workers' => $model->area_worker,
  43. 'type' => $model->type,
  44. 'fix_worker_name' => $model->planned > WorkOrder::PLANNED_STATUS_MEET ? ($model->worker->name ?? '系统'): '',
  45. 'fix_worker_phone' => $model->planned > WorkOrder::PLANNED_STATUS_MEET ? ($model->worker->phone ?? '系统' ): '',
  46. 'fix_over_worker_name' => $model->planned > WorkOrder::PLANNED_STATUS_MEET ? ($model->workerOver->name ?? '系统'): '',
  47. 'fix_over_worker_phone' => $model->planned > WorkOrder::PLANNED_STATUS_MEET ? ($model->workerOver->phone ?? '系统' ): '',
  48. 'area_name' => $model->area->name ?? '',
  49. 'fix_start_time' => $model->fix_start_time ? date('Y-m-d H:i:s',strtotime($model->fix_start_time)) : '',
  50. 'reason' => $reason,
  51. 'planned' => WorkOrder::$plannedMaps[$model->planned],
  52. 'planned_status' => $model->planned,
  53. 'fix_end_time' => $model->fix_end_time ? date('Y-m-d H:i:s',strtotime($model->fix_end_time)) : '',
  54. 'fix_img' => $model->fix_imgs, // 图片一张也用数组形式
  55. 'fix_status' => $model->status,
  56. 'created_at' => date('Y-m-d H:i:s',strtotime($model->created_at)),
  57. 'insert_time' => date('Y-m-d H:i:s',strtotime($model->insert_time)),
  58. 'is_zhipai' => $is_zhipai,
  59. 'is_over' => $is_over,
  60. 'times' => $model->times,
  61. ];
  62. }
  63. }