From 139d4282dd761ddd76c2377a663adb4027b051db Mon Sep 17 00:00:00 2001 From: wanghongjun <1445693971@qq.com> Date: Mon, 14 Sep 2026 10:58:09 +0800 Subject: [PATCH] =?UTF-8?q?=E5=81=9C=E8=BD=A6=E5=9C=BA=E5=8D=A0=E7=94=A8?= =?UTF-8?q?=E7=8E=87=E5=9B=BE=E6=A0=87=E6=8E=92=E5=BA=8F=E4=BC=98=E5=8C=96?= =?UTF-8?q?3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Admin/OccupancyRateController.php | 16 +++++++++++----- app/Services/ParkingOccupancyRateService.php | 12 +++++++++++- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/app/Http/Controllers/Admin/OccupancyRateController.php b/app/Http/Controllers/Admin/OccupancyRateController.php index 9c61c39..4dbca83 100644 --- a/app/Http/Controllers/Admin/OccupancyRateController.php +++ b/app/Http/Controllers/Admin/OccupancyRateController.php @@ -94,12 +94,17 @@ class OccupancyRateController extends BaseController $list = $query->groupBy(['time', 'time_type'])->select( ['time', 'time_type'] )->get(); - $ParkingSpaceType = array_column( - ParkingSpaceType::getData(), + $ParkingSpaceType = $this->service->getColorSpaceTypeList(); + $spaceTypeName = array_column( + $ParkingSpaceType, 'name', 'id' ); - $colorArr = $this->service->colorArr; + $spaceTypeColor = array_column( + $ParkingSpaceType, + 'color', + 'id' + ); foreach ($list as $index => &$item) { $time = $item['time']; $time_type = $item['time_type']; @@ -119,11 +124,12 @@ class OccupancyRateController extends BaseController )->get()->toArray(); foreach ($space_type_list as $key => $value) { $space_type_list[$key]['space_type_name'] - = $ParkingSpaceType[$value['space_type_id']]; + = $spaceTypeName[$value['space_type_id']]; + $space_type_list[$key]['color'] + = $spaceTypeColor[$value['space_type_id']]; unset($space_type_list[$key]['space_type_id']); } $item['space_type_list'] = $space_type_list; - $item['color'] = $colorArr[$index]; unset($item['time_type'], $item['floor_id']); } return $this->responseService->success($list); diff --git a/app/Services/ParkingOccupancyRateService.php b/app/Services/ParkingOccupancyRateService.php index 99dbe46..38ff2ea 100644 --- a/app/Services/ParkingOccupancyRateService.php +++ b/app/Services/ParkingOccupancyRateService.php @@ -5,17 +5,27 @@ namespace App\Services; use App\Models\AdminFloor; use App\Models\ParkingOccupancyRate; use App\Models\ParkingOccupancyRateInfo; +use App\Models\ParkingSpaceType; class ParkingOccupancyRateService extends BaseService { protected string $menuTitle = 'occupancy_rate'; - public array $colorArr = [ + protected array $colorArr = [ '#73c0de', '#fac858', '#5470c6', '#67c23a', '#ff0000', '#349c32', '#ffff00', '#0000ff', '#00ffff', '#ca00c9', '#ce4478', '#31dc21', '#f9d1c1', '#5e4439', '#21375f', '#63beef', '#60c6ad', '#a7a7a7', ]; + public function getColorSpaceTypeList() + { + $ParkingSpaceType = ParkingSpaceType::getData(); + foreach ($ParkingSpaceType as $key => &$item) { + $item['color'] = $this->colorArr[$key]; + } + return $ParkingSpaceType; + } + public static function createData( $space_type_id, $floor_id,