first commit
This commit is contained in:
40
resources/views/data_centres/_form.blade.php
Normal file
40
resources/views/data_centres/_form.blade.php
Normal file
@@ -0,0 +1,40 @@
|
||||
@csrf
|
||||
<div class="row g-3">
|
||||
<div class="col-md-6">
|
||||
<label class="form-label">Nama Pusat Data <span class="text-danger">*</span></label>
|
||||
<input type="text" name="nama_pusat_data" value="{{ old('nama_pusat_data', $dataCentre->nama_pusat_data) }}" class="form-control @error('nama_pusat_data') is-invalid @enderror" required>
|
||||
@error('nama_pusat_data')<div class="invalid-feedback">{{ $message }}</div>@enderror
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label class="form-label">Tajuk Permohonan</label>
|
||||
<input type="text" name="tajuk_permohonan" value="{{ old('tajuk_permohonan', $dataCentre->tajuk_permohonan) }}" class="form-control">
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label class="form-label">Lokasi Pusat Data</label>
|
||||
<input type="text" name="lokasi_pusat_data" value="{{ old('lokasi_pusat_data', $dataCentre->lokasi_pusat_data) }}" class="form-control">
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label class="form-label">Status</label>
|
||||
<select name="status" class="form-select">
|
||||
<option value="aktif" @selected(old('status', $dataCentre->status ?? 'aktif')==='aktif')>Aktif</option>
|
||||
<option value="tidak_aktif" @selected(old('status', $dataCentre->status)==='tidak_aktif')>Tidak Aktif</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<label class="form-label">Keluasan Tapak (ekar)</label>
|
||||
<input type="number" step="0.01" name="keluasan_tapak" value="{{ old('keluasan_tapak', $dataCentre->keluasan_tapak) }}" class="form-control">
|
||||
</div>
|
||||
<div class="col-md-4">
|
||||
<label class="form-label">Kapasiti IT Load (MW)</label>
|
||||
<input type="number" step="0.01" name="it_load" value="{{ old('it_load', $dataCentre->it_load) }}" class="form-control">
|
||||
<div class="form-text">Kapasiti penjanaan elektrik komponen IT.</div>
|
||||
</div>
|
||||
<div class="col-12">
|
||||
<label class="form-label">Alamat</label>
|
||||
<textarea name="alamat" rows="2" class="form-control">{{ old('alamat', $dataCentre->alamat) }}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="mt-4">
|
||||
<button type="submit" class="btn btn-success"><i class="bi bi-save me-1"></i> Simpan</button>
|
||||
<a href="{{ route('data-centres.index') }}" class="btn btn-link">Batal</a>
|
||||
</div>
|
||||
9
resources/views/data_centres/create.blade.php
Normal file
9
resources/views/data_centres/create.blade.php
Normal file
@@ -0,0 +1,9 @@
|
||||
@extends('layouts.app')
|
||||
@section('title', 'Daftar Pusat Data')
|
||||
@section('heading', 'Pusat Data')
|
||||
@section('page-title', 'Daftar Pusat Data Baharu')
|
||||
@section('content')
|
||||
<div class="card"><div class="card-body">
|
||||
<form method="POST" action="{{ route('data-centres.store') }}">@include('data_centres._form')</form>
|
||||
</div></div>
|
||||
@endsection
|
||||
9
resources/views/data_centres/edit.blade.php
Normal file
9
resources/views/data_centres/edit.blade.php
Normal file
@@ -0,0 +1,9 @@
|
||||
@extends('layouts.app')
|
||||
@section('title', 'Kemaskini Pusat Data')
|
||||
@section('heading', 'Pusat Data')
|
||||
@section('page-title', 'Kemaskini Pusat Data')
|
||||
@section('content')
|
||||
<div class="card"><div class="card-body">
|
||||
<form method="POST" action="{{ route('data-centres.update', $dataCentre) }}">@method('PUT')@include('data_centres._form')</form>
|
||||
</div></div>
|
||||
@endsection
|
||||
47
resources/views/data_centres/index.blade.php
Normal file
47
resources/views/data_centres/index.blade.php
Normal file
@@ -0,0 +1,47 @@
|
||||
@extends('layouts.app')
|
||||
@section('title', 'Senarai Pusat Data')
|
||||
@section('heading', 'Pusat Data')
|
||||
@section('page-title', 'Senarai Pusat Data')
|
||||
|
||||
@section('actions')
|
||||
@can('create', App\Models\DataCentre::class)
|
||||
<a href="{{ route('data-centres.create') }}" class="btn btn-success"><i class="bi bi-plus-lg me-1"></i> Daftar Pusat Data</a>
|
||||
@endcan
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<div class="card"><div class="card-body">
|
||||
<form class="row g-2 mb-3">
|
||||
<div class="col-md-6"><input type="text" name="cari" value="{{ request('cari') }}" class="form-control" placeholder="Cari nama / tajuk permohonan..."></div>
|
||||
<div class="col-md-3">
|
||||
<select name="status" class="form-select">
|
||||
<option value="">Semua status</option>
|
||||
<option value="aktif" @selected(request('status')==='aktif')>Aktif</option>
|
||||
<option value="tidak_aktif" @selected(request('status')==='tidak_aktif')>Tidak Aktif</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-3 d-grid"><button class="btn btn-outline-primary"><i class="bi bi-search me-1"></i> Cari</button></div>
|
||||
</form>
|
||||
|
||||
<div class="table-responsive">
|
||||
<table class="table table-hover align-middle">
|
||||
<thead><tr><th>Nama Pusat Data</th><th>Lokasi</th><th>IT Load (MW)</th><th>Perunding Aktif</th><th>Status</th><th></th></tr></thead>
|
||||
<tbody>
|
||||
@forelse ($dataCentres as $dc)
|
||||
<tr>
|
||||
<td><a href="{{ route('data-centres.show', $dc) }}" class="text-decoration-none fw-semibold">{{ $dc->nama_pusat_data }}</a><div class="small text-muted">{{ $dc->tajuk_permohonan }}</div></td>
|
||||
<td>{{ $dc->lokasi_pusat_data ?: '—' }}</td>
|
||||
<td>{{ $dc->it_load ? number_format($dc->it_load,2) : '—' }}</td>
|
||||
<td>{{ $dc->currentConsultant?->nama_perunding ?? '—' }}</td>
|
||||
<td><span class="badge bg-{{ $dc->status==='aktif'?'success':'secondary' }}">{{ $dc->status==='aktif'?'Aktif':'Tidak Aktif' }}</span></td>
|
||||
<td class="text-end"><a href="{{ route('data-centres.show', $dc) }}" class="btn btn-sm btn-outline-secondary">Lihat</a></td>
|
||||
</tr>
|
||||
@empty
|
||||
<tr><td colspan="6" class="text-center text-muted py-3">Tiada pusat data dijumpai.</td></tr>
|
||||
@endforelse
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
{{ $dataCentres->links() }}
|
||||
</div></div>
|
||||
@endsection
|
||||
93
resources/views/data_centres/show.blade.php
Normal file
93
resources/views/data_centres/show.blade.php
Normal file
@@ -0,0 +1,93 @@
|
||||
@extends('layouts.app')
|
||||
@section('title', 'Maklumat Pusat Data')
|
||||
@section('heading', 'Pusat Data')
|
||||
@section('page-title', $dataCentre->nama_pusat_data)
|
||||
@section('subtitle', $dataCentre->tajuk_permohonan)
|
||||
|
||||
@section('actions')
|
||||
@can('update', $dataCentre)
|
||||
<a href="{{ route('data-centres.edit', $dataCentre) }}" class="btn btn-outline-secondary"><i class="bi bi-pencil me-1"></i> Kemaskini</a>
|
||||
@endcan
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
<div class="row g-3">
|
||||
<div class="col-lg-5">
|
||||
<div class="card mb-3"><div class="card-body">
|
||||
<h6 class="text-muted">Maklumat Pusat Data</h6>
|
||||
<dl class="row mb-0 small">
|
||||
<dt class="col-5">Status</dt><dd class="col-7"><span class="badge bg-{{ $dataCentre->status==='aktif'?'success':'secondary' }}">{{ $dataCentre->status }}</span></dd>
|
||||
<dt class="col-5">Lokasi</dt><dd class="col-7">{{ $dataCentre->lokasi_pusat_data ?: '—' }}</dd>
|
||||
<dt class="col-5">Alamat</dt><dd class="col-7">{{ $dataCentre->alamat ?: '—' }}</dd>
|
||||
<dt class="col-5">Keluasan Tapak</dt><dd class="col-7">{{ $dataCentre->keluasan_tapak ? number_format($dataCentre->keluasan_tapak,2).' ekar' : '—' }}</dd>
|
||||
<dt class="col-5">IT Load</dt><dd class="col-7">{{ $dataCentre->it_load ? number_format($dataCentre->it_load,2).' MW' : '—' }}</dd>
|
||||
<dt class="col-5">Perunding Aktif</dt><dd class="col-7">{{ $dataCentre->currentConsultant?->nama_perunding ?? 'Tiada' }}</dd>
|
||||
</dl>
|
||||
</div></div>
|
||||
|
||||
@can('assignConsultant', $dataCentre)
|
||||
<div class="card"><div class="card-header bg-white fw-semibold">Tukar / Tugaskan Perunding</div><div class="card-body">
|
||||
<form method="POST" action="{{ route('data-centres.assign', $dataCentre) }}">
|
||||
@csrf
|
||||
<div class="mb-2">
|
||||
<label class="form-label">Perunding</label>
|
||||
<select name="consultant_id" class="form-select" required>
|
||||
<option value="">— Pilih perunding —</option>
|
||||
@foreach ($consultants as $c)
|
||||
<option value="{{ $c->id }}">{{ $c->nama_perunding }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
<div class="mb-2"><label class="form-label">Tarikh Mula</label><input type="date" name="start_date" class="form-control" value="{{ now()->toDateString() }}"></div>
|
||||
<div class="mb-2"><label class="form-label">Sebab Perubahan</label><textarea name="reason" rows="2" class="form-control"></textarea></div>
|
||||
<button class="btn btn-success btn-sm w-100" data-confirm="Penugasan perunding aktif sedia ada akan ditamatkan. Teruskan?"><i class="bi bi-person-check me-1"></i> Tugaskan</button>
|
||||
</form>
|
||||
@if ($dataCentre->current_consultant_id)
|
||||
<form method="POST" action="{{ route('data-centres.end-assignment', $dataCentre) }}" class="mt-2">
|
||||
@csrf
|
||||
<button class="btn btn-outline-danger btn-sm w-100" data-confirm="Tamatkan penugasan perunding aktif tanpa pengganti?"><i class="bi bi-person-x me-1"></i> Tamatkan Penugasan Aktif</button>
|
||||
</form>
|
||||
@endif
|
||||
</div></div>
|
||||
@endcan
|
||||
</div>
|
||||
|
||||
<div class="col-lg-7">
|
||||
<div class="card mb-3"><div class="card-header bg-white fw-semibold">Sejarah Penugasan Perunding</div>
|
||||
<div class="card-body p-0"><table class="table mb-0 small">
|
||||
<thead><tr><th class="ps-3">Perunding</th><th>Mula</th><th>Tamat</th><th>Sebab</th><th>Status</th></tr></thead>
|
||||
<tbody>
|
||||
@forelse ($dataCentre->assignments as $a)
|
||||
<tr>
|
||||
<td class="ps-3">{{ $a->consultant->nama_perunding ?? '—' }}</td>
|
||||
<td>{{ $a->start_date?->format('d/m/Y') }}</td>
|
||||
<td>{{ $a->end_date?->format('d/m/Y') ?: '—' }}</td>
|
||||
<td>{{ $a->reason ?: '—' }}</td>
|
||||
<td><span class="badge bg-{{ $a->is_active?'success':'secondary' }}">{{ $a->is_active?'Aktif':'Tamat' }}</span></td>
|
||||
</tr>
|
||||
@empty
|
||||
<tr><td colspan="5" class="text-center text-muted py-3">Tiada rekod penugasan.</td></tr>
|
||||
@endforelse
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
|
||||
<div class="card"><div class="card-header bg-white fw-semibold">Serahan Pusat Data Ini</div>
|
||||
<div class="card-body p-0"><table class="table mb-0 small">
|
||||
<thead><tr><th class="ps-3">Kitaran</th><th>Status</th><th></th></tr></thead>
|
||||
<tbody>
|
||||
@forelse ($dataCentre->submissions as $s)
|
||||
<tr>
|
||||
<td class="ps-3">Pembaharuan {{ $s->reportingCycle->renewal_year }} / Pelaporan {{ $s->reportingCycle->reporting_year }}</td>
|
||||
<td><span class="badge bg-{{ $s->statusBadgeClass() }}">{{ $s->statusLabel() }}</span></td>
|
||||
<td class="text-end pe-3"><a href="{{ route('submissions.show',$s) }}" class="btn btn-sm btn-outline-secondary">Lihat</a></td>
|
||||
</tr>
|
||||
@empty
|
||||
<tr><td colspan="3" class="text-center text-muted py-3">Tiada serahan.</td></tr>
|
||||
@endforelse
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
Reference in New Issue
Block a user