From 2a22d31f4c55c074fb1cc3727cd21ec3ba801914 Mon Sep 17 00:00:00 2001 From: vine_liutk <961510893@qq.com> Date: Mon, 21 Nov 2022 11:46:30 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4=E5=88=97=E8=A1=A8=E8=BF=94?= =?UTF-8?q?=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/CropYieldController.php | 3 +- app/Http/Resources/CropYieldListResource.php | 49 ++++++++++++++++++++ 2 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 app/Http/Resources/CropYieldListResource.php 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; + } + } +}