diff --git a/app/Http/Controllers/CropYieldController.php b/app/Http/Controllers/CropYieldController.php index 5d26e5b..08f0121 100644 --- a/app/Http/Controllers/CropYieldController.php +++ b/app/Http/Controllers/CropYieldController.php @@ -5,6 +5,7 @@ namespace App\Http\Controllers; use App\Helpers\Paginator; use App\Http\Requestes\CropYieldRequest; use App\Http\Resources\CropYieldResource; +use App\Http\Resources\CropYieldListResource; use App\Models\AgriculturalBase; use App\Models\Crop; use App\Models\CropYield; @@ -23,7 +24,7 @@ class CropYieldController extends Controller $list = $query->sort()->paginate(Paginator::resolvePerPage('per_page', 20, 50)); $list->load(['base', 'crop', 'createdBy']); - return $this->json(CropYieldResource::collection($list)); + return $this->json(CropYieldListResource::collection($list)); } public function store(CropYieldRequest $request) diff --git a/app/Http/Resources/CropYieldListResource.php b/app/Http/Resources/CropYieldListResource.php new file mode 100644 index 0000000..c298015 --- /dev/null +++ b/app/Http/Resources/CropYieldListResource.php @@ -0,0 +1,49 @@ + $this->id, + 'base_name' => $this->whenLoaded('base', function () { + return $this->base?->name; + }, ''), + 'base_id' => $this->base_id, + 'crop_name' => $this->whenLoaded('crop', function () { + return $this->crop?->name; + }, ''), + 'crop_id' => $this->crop_id, + 'time_year' => $this->time_year, + 'quarter' => $this->quarter, + 'yield' => $this->formatNumber($this->yield).$this->whenLoaded('crop', function () { + return $this->crop?->unit; + }, ''), + 'output' => $this->formatNumber($this->output), + 'cultivated' => $this->formatNumber($this->cultivated), + 'extends' => $this->extends, + 'created_by' => $this->whenLoaded('createdBy', function () { + return $this->createdBy?->name; + }, ''), //录入人 + 'created_at' => strtotime($this->created_at) ?? 0, //录入时间 + ]; + } + + private function formatNumber($number){ + if($number > 10000){ + return round($number/10000, 2).'万'; + }else{ + return $number; + } + } +}