public function contractList() { if (!Auth::guard('admin')->user()->can('admin_yun_user_contract_list', YunUserBorrow::class)) { return BaseController::hasPower('list'); } $limit = (int)Input::get('limit', 15); //查询条件 $name = Input::get('name'); $created_at = Input::get('created_at'); $work_no = Input::get('work_no'); $status = Input::get('status'); $id_no = Input::get('id_no'); //拆解一行一个止 //名字拆分 if ($name) { $name_arr = array_unique(preg_split('/\s+/', $name)); } else { $name_arr = []; } if ($work_no) { $work_no_arr = array_unique(preg_split('/\s+/', $work_no)); } else { $work_no_arr = []; } if ($id_no) { $id_no_arr = array_unique(preg_split('/\s+/', $id_no)); } else { $id_no_arr = []; } $list = ESignLog::leftjoin('yun_user_entry', 'yun_user_entry.id', '=', 'e_sign_logs.user_id') ->select('e_sign_logs.*', 'yun_user_entry.name', 'yun_user_entry.work_no') ->when($name_arr, function ($query) use ($name_arr) { return $query->whereIn('yun_user_entry.name', $name_arr); })->when($work_no_arr, function ($query) use ($work_no_arr) { return $query->whereIn('yun_user_entry.work_no', $work_no_arr); })->when($id_no_arr, function ($query) use ($id_no_arr) { return $query->whereIn('yun_user_entry.id_no', $id_no_arr); }) ->when(isset($status), function ($query) use ($status) { $query->where('e_sign_logs.status', $status); }) ->when($created_at, function ($query) use ($created_at) { $created_at_time = explode('至', $created_at); $start_day = $created_at_time[0]; $end_day = $created_at_time[1] . ' 23:59:59'; $query->where('e_sign_logs.created_at', '>=', $start_day); $query->where('e_sign_logs.created_at', '<=', $end_day); }) ->orderBy('id', 'desc') ->paginate($limit); if ($list) { $list = $list->toArray(); foreach ($list['data'] as $key => $val) { $list['data'][$key]['dst_file_path'] = asset($val['dst_file_path']); } } return Response::json($list); }