From 4d4d02a2d7c494233a543c5e5a1f5bbb1f809ffc Mon Sep 17 00:00:00 2001 From: vine_liutk <961510893@qq.com> Date: Thu, 7 Sep 2023 17:12:19 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Models/Region.php | 120 +++++++++++++++++++++++++----------------- 1 file changed, 71 insertions(+), 49 deletions(-) diff --git a/app/Models/Region.php b/app/Models/Region.php index 33802d4..f0865dd 100644 --- a/app/Models/Region.php +++ b/app/Models/Region.php @@ -77,71 +77,93 @@ class Region extends Model ], ]; if($region?->monitorModes){ + $tabHad = []; foreach($region->monitorModes as $monitorMode){ switch($monitorMode->type) { case MonitorMode::TYPE_MONITOR: - $tabs[] = [//有监控设备才有 - 'title' => '监控视频', - 'value' => 'monitor', - 'tab'=>\amisMake()->Service()->schemaApi(admin_url('custom-region-monitor?region_id='.$region->id)), - 'unmountOnExit' => true,//每次切换tab都要销毁 - 'sort' => 1, - ]; + if(!in_array(MonitorMode::TYPE_MONITOR, $tabHad)){ + $tabs[] = [//有监控设备才有 + 'title' => '监控视频', + 'value' => 'monitor', + 'tab'=>\amisMake()->Service()->schemaApi(admin_url('custom-region-monitor?region_id='.$region->id)), + 'unmountOnExit' => true,//每次切换tab都要销毁 + 'sort' => 1, + ]; + $tabHad[] = MonitorMode::TYPE_MONITOR; + } break; case MonitorMode::TYPE_SOIL: - $tabs[] = [//有土壤设备才有 - 'title' => '土壤数据', - 'value' => 'soil', - 'tab'=>\amisMake()->Service()->schemaApi(admin_url('custom-region-soil?region_id='.$region->id)), - 'unmountOnExit' => true,//每次切换tab都要销毁 - 'sort' => 2, - ]; + if(!in_array(MonitorMode::TYPE_SOIL, $tabHad)){ + $tabs[] = [//有土壤设备才有 + 'title' => '土壤数据', + 'value' => 'soil', + 'tab'=>\amisMake()->Service()->schemaApi(admin_url('custom-region-soil?region_id='.$region->id)), + 'unmountOnExit' => true,//每次切换tab都要销毁 + 'sort' => 2, + ]; + $tabHad[] = MonitorMode::TYPE_SOIL; + } break; case MonitorMode::TYPE_WATER_QUALITY: - $tabs[] = [//有水质设备才有 - 'title' => '水质数据', - 'value' => 'quality', - 'tab'=>\amisMake()->Service()->schemaApi(admin_url('custom-region-water?region_id='.$region->id)), - 'unmountOnExit' => true,//每次切换tab都要销毁 - 'sort' => 3, - ]; + if(!in_array(MonitorMode::TYPE_WATER_QUALITY, $tabHad)){ + $tabs[] = [//有水质设备才有 + 'title' => '水质数据', + 'value' => 'quality', + 'tab'=>\amisMake()->Service()->schemaApi(admin_url('custom-region-water?region_id='.$region->id)), + 'unmountOnExit' => true,//每次切换tab都要销毁 + 'sort' => 3, + ]; + $tabHad[] = MonitorMode::TYPE_WATER_QUALITY; + } break; case MonitorMode::TYPE_METEOROLOGICAL: - $tabs[] = [//有气象设备才有 - 'title' => '气象数据', - 'value' => 'meteorological', - 'tab'=>\amisMake()->Service()->schemaApi(admin_url('custom-region-meteorological?region_id='.$region->id)), - 'unmountOnExit' => true,//每次切换tab都要销毁 - 'sort' => 4, - ]; + if(!in_array(MonitorMode::TYPE_METEOROLOGICAL, $tabHad)){ + $tabs[] = [//有气象设备才有 + 'title' => '气象数据', + 'value' => 'meteorological', + 'tab'=>\amisMake()->Service()->schemaApi(admin_url('custom-region-meteorological?region_id='.$region->id)), + 'unmountOnExit' => true,//每次切换tab都要销毁 + 'sort' => 4, + ]; + $tabHad[] = MonitorMode::TYPE_METEOROLOGICAL; + } break; case MonitorMode::TYPE_AIR: - $tabs[] = [//有通风设备才有 - 'title' => '通风设备', - 'value' => 'air', - 'tab'=>\amisMake()->Service()->schemaApi(admin_url('custom-region-air?region_id='.$region->id)), - 'unmountOnExit' => true,//每次切换tab都要销毁 - 'sort' => 5, - ]; + if(!in_array(MonitorMode::TYPE_AIR, $tabHad)){ + $tabs[] = [//有通风设备才有 + 'title' => '通风设备', + 'value' => 'air', + 'tab'=>\amisMake()->Service()->schemaApi(admin_url('custom-region-air?region_id='.$region->id)), + 'unmountOnExit' => true,//每次切换tab都要销毁 + 'sort' => 5, + ]; + $tabHad[] = MonitorMode::TYPE_AIR; + } break; case MonitorMode::TYPE_ATOMIZING: - $tabs[] = [//有喷雾设备才有 - 'title' => '喷雾设备', - 'value' => 'atomizing', - 'tab'=>\amisMake()->Service()->schemaApi(admin_url('custom-region-atomizing?region_id='.$region->id)), - 'unmountOnExit' => true,//每次切换tab都要销毁 - 'sort' => 6, - ]; + if(!in_array(MonitorMode::TYPE_ATOMIZING, $tabHad)){ + $tabs[] = [//有喷雾设备才有 + 'title' => '喷雾设备', + 'value' => 'atomizing', + 'tab'=>\amisMake()->Service()->schemaApi(admin_url('custom-region-atomizing?region_id='.$region->id)), + 'unmountOnExit' => true,//每次切换tab都要销毁 + 'sort' => 6, + ]; + $tabHad[] = MonitorMode::TYPE_ATOMIZING; + } break; case MonitorMode::TYPE_INSECT: - $tabs[] = [ - 'title' => '虫情监测', - 'value' => 'insect', - 'tab'=>\amisMake()->Service()->schemaApi(admin_url('custom-region-insect?region_id='.$region->id)), - 'unmountOnExit' => true,//每次切换tab都要销毁 - 'sort' => 6, - ]; + if(!in_array(MonitorMode::TYPE_INSECT, $tabHad)){ + $tabs[] = [ + 'title' => '虫情监测', + 'value' => 'insect', + 'tab'=>\amisMake()->Service()->schemaApi(admin_url('custom-region-insect?region_id='.$region->id)), + 'unmountOnExit' => true,//每次切换tab都要销毁 + 'sort' => 6, + ]; + $tabHad[] = MonitorMode::TYPE_INSECT; + } break; } continue;