设备厂家和项目

dev
Jing Li 2023-08-04 09:38:57 +08:00
parent 29502e0d4a
commit cd16fbf658
2 changed files with 24 additions and 11 deletions

View File

@ -4,29 +4,29 @@ namespace App\Http\Controllers;
use App\Enums\DeviceStatus;
use App\Enums\DeviceType;
use App\Enums\OperationType;
use App\Helpers\Paginator;
use App\Http\Requestes\DeviceRequest;
use App\Http\Resources\DeviceResource;
use App\Models\Device;
use App\Models\MeteorologicalMonitoringLog;
use App\Models\MeteorologicalMonitoringDailyLog;
use App\Models\SoilMonitoringLog;
use App\Models\SoilMonitoringDailyLog;
use App\Models\WaterQualityMonitoringLog;
use App\Models\WaterQualityMonitoringDailyLog;
use App\Models\AgriculturalBase;
use App\Models\Device;
use App\Models\MeteorologicalMonitoringDailyLog;
use App\Models\MeteorologicalMonitoringLog;
use App\Models\SoilMonitoringDailyLog;
use App\Models\SoilMonitoringLog;
use App\Models\WaterQualityMonitoringDailyLog;
use App\Models\WaterQualityMonitoringLog;
use App\Services\OperationLogService;
use Carbon\Carbon;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Carbon\Carbon;
use App\Services\OperationLogService;
use App\Enums\OperationType;
use Peidikeji\Setting\Models\Setting;
class DeviceController extends Controller
{
public function index(Request $request)
{
$query = Device::with('base')->filter($request->input())->orderBy('sort', 'desc');
$query = Device::with(['base', 'supplier', 'project'])->filter($request->input())->orderBy('sort', 'desc');
$list = $query->paginate(Paginator::resolvePerPage('per_page', 20, 50));
return $this->json(DeviceResource::collection($list));
@ -51,6 +51,7 @@ class DeviceController extends Controller
public function show(Device $device)
{
$device->loadMissing(['base', 'supplier', 'project']);
return $this->json(DeviceResource::make($device));
}

View File

@ -31,6 +31,18 @@ class DeviceResource extends JsonResource
'created_at' => strtotime($this->created_at) ?? 0, //录入时间
'is_recommend' => $this->is_recommend,
'sort' => $this->sort ?? 0,
'supplier' => $this->whenLoaded('supplier', function () {
return $this->supplier ? [
'id' => $this->supplier->key,
'name' => $this->supplier->name,
] : null;
}),
'project' => $this->whenLoaded('project', function () {
return $this->project ? [
'id' => $this->project->key,
'name' => $this->project->name,
] : null;
}),
];
}
}