@extends('Dashboard.layouts.main')

@section('title', 'Edit Layanan')

@section('content')
<div class="content">
    <div class="container-fluid">
        <div class="row">
            <div class="col-12">
                <div class="page-title-box">
                    <div class="page-title-right">
                        <ol class="breadcrumb m-0">
                            <li class="breadcrumb-item"><a href="{{ route('dashboard') }}">Dashboard</a></li>
                            <li class="breadcrumb-item"><a href="{{ route('services.index') }}">Layanan</a></li>
                            <li class="breadcrumb-item active">Edit</li>
                        </ol>
                    </div>
                    <h4 class="page-title">Edit Layanan</h4>
                </div>
            </div>
        </div>

        <div class="row">
            <div class="col-12">
                <div class="card">
                    <div class="card-body">
                        <form action="{{ route('services.update', $service->id) }}" method="POST" enctype="multipart/form-data">
                            @csrf
                            @method('PUT')
                            
                            @if ($errors->any())
                            <div class="alert alert-danger">
                                <ul>
                                    @foreach ($errors->all() as $error)
                                        <li>{{ $error }}</li>
                                    @endforeach
                                </ul>
                            </div>
                            @endif

                            <div class="row">
                                <div class="col-md-6">
                                    <div class="form-group">
                                        <label for="jenis_permintaan">Jenis Permintaan <span class="text-danger">*</span></label>
                                        <select class="form-control @error('jenis_permintaan') is-invalid @enderror" id="jenis_permintaan" name="jenis_permintaan" required>
                                            <option value="">Pilih Jenis Permintaan</option>
                                            <option value="Pengambilan Contoh Uji" {{ old('jenis_permintaan', $service->jenis_permintaan) == 'Pengambilan Contoh Uji' ? 'selected' : '' }}>Pengambilan Contoh Uji</option>
                                            <option value="Pengambilan dan Pengujian Contoh Uji" {{ old('jenis_permintaan', $service->jenis_permintaan) == 'Pengambilan dan Pengujian Contoh Uji' ? 'selected' : '' }}>Pengambilan dan Pengujian Contoh Uji</option>
                                        </select>
                                        @error('jenis_permintaan')
                                            <div class="invalid-feedback">{{ $message }}</div>
                                        @enderror
                                    </div>

                                    <div class="form-group">
                                        <label for="tanggal_uji">Tanggal Uji <span class="text-danger">*</span></label>
                                        <input type="date" class="form-control @error('tanggal_uji') is-invalid @enderror" id="tanggal_uji" name="tanggal_uji" value="{{ old('tanggal_uji', $service->tanggal_uji) }}" required>
                                        @error('tanggal_uji')
                                            <div class="invalid-feedback">{{ $message }}</div>
                                        @enderror
                                    </div>

                                    <div class="form-group">
                                        <label for="parameter">Parameter <span class="text-danger">*</span></label>
                                        <select class="form-control @error('parameter') is-invalid @enderror" id="parameter" name="parameter" required>
                                            <option value="">Pilih Parameter</option>
                                            <option value="TDS" {{ old('parameter', $service->parameter) == 'TDS' ? 'selected' : '' }}>Jumlah Zat Padat Terlarut (TDS) - Rp. 22.000</option>
                                            <option value="TSS" {{ old('parameter', $service->parameter) == 'TSS' ? 'selected' : '' }}>Total Suspended Solid (TSS) - Rp. 22.000</option>
                                            <option value="Kekeruhan" {{ old('parameter', $service->parameter) == 'Kekeruhan' ? 'selected' : '' }}>Kekeruhan - Rp. 15.000</option>
                                            <option value="Suhu" {{ old('parameter', $service->parameter) == 'Suhu' ? 'selected' : '' }}>Suhu - Rp. 3.500</option>
                                            <option value="Daya Hantar Listrik" {{ old('parameter', $service->parameter) == 'Daya Hantar Listrik' ? 'selected' : '' }}>Daya Hantar Listrik - Rp. 12.500</option>
                                            <option value="pH" {{ old('parameter', $service->parameter) == 'pH' ? 'selected' : '' }}>pH - Rp. 10.500</option>
                                            <option value="Amonia" {{ old('parameter', $service->parameter) == 'Amonia' ? 'selected' : '' }}>Amonia - Rp. 37.000</option>
                                            <option value="DO" {{ old('parameter', $service->parameter) == 'DO' ? 'selected' : '' }}>Oksigen Terlarut (DO) - Rp. 16.000</option>
                                            <option value="Nitrat" {{ old('parameter', $service->parameter) == 'Nitrat' ? 'selected' : '' }}>Nitrat - Rp. 32.000</option>
                                            <option value="Nitrit" {{ old('parameter', $service->parameter) == 'Nitrit' ? 'selected' : '' }}>Nitrit - Rp. 33.500</option>
                                            <option value="BOD" {{ old('parameter', $service->parameter) == 'BOD' ? 'selected' : '' }}>BOD - Rp. 40.000</option>
                                            <option value="COD" {{ old('parameter', $service->parameter) == 'COD' ? 'selected' : '' }}>COD - Rp. 58.000</option>
                                            <option value="Tembaga" {{ old('parameter', $service->parameter) == 'Tembaga' ? 'selected' : '' }}>Tembaga - Rp. 50.000</option>
                                            <option value="Besi" {{ old('parameter', $service->parameter) == 'Besi' ? 'selected' : '' }}>Besi - Rp. 51.000</option>
                                            <option value="Mangan" {{ old('parameter', $service->parameter) == 'Mangan' ? 'selected' : '' }}>Mangan - Rp. 52.800</option>
                                        </select>
                                        <small class="form-text text-muted">Pilih parameter uji yang diinginkan.</small>
                                        @error('parameter')
                                            <div class="invalid-feedback">{{ $message }}</div>
                                        @enderror
                                    </div>
                                </div>
                                
                                <div class="col-md-6">
                                    <div class="form-group">
                                        <label for="pengujian_kualitas_air">Pengujian Kualitas Air <span class="text-danger">*</span></label>
                                        <select class="form-control @error('pengujian_kualitas_air') is-invalid @enderror" id="pengujian_kualitas_air" name="pengujian_kualitas_air" required>
                                            <option value="">Pilih Jenis Pengujian</option>
                                            <option value="Air Limbah" {{ old('pengujian_kualitas_air', $service->pengujian_kualitas_air) == 'Air Limbah' ? 'selected' : '' }}>Air Limbah</option>
                                            <option value="Air Bersih" {{ old('pengujian_kualitas_air', $service->pengujian_kualitas_air) == 'Air Bersih' ? 'selected' : '' }}>Air Bersih</option>
                                            <option value="Air Badan Air" {{ old('pengujian_kualitas_air', $service->pengujian_kualitas_air) == 'Air Badan Air' ? 'selected' : '' }}>Air Badan Air</option>
                                        </select>
                                        @error('pengujian_kualitas_air')
                                            <div class="invalid-feedback">{{ $message }}</div>
                                        @enderror
                                    </div>

                                    <div class="form-group">
                                        <label for="total_sampel">Total Sampel <span class="text-danger">*</span></label>
                                        <input type="number" class="form-control @error('total_sampel') is-invalid @enderror" id="total_sampel" name="total_sampel" min="1" value="{{ old('total_sampel', $service->total_sampel) }}" required>
                                        <small class="form-text text-muted">Jumlah sampel yang akan diambil/diuji</small>
                                        @error('total_sampel')
                                            <div class="invalid-feedback">{{ $message }}</div>
                                        @enderror
                                    </div>

                                    <div class="form-group">
                                        <label for="jarak_pengambilan_sampel">Jarak Pengambilan Sampel <span class="text-danger">*</span></label>
                                        <select class="form-control @error('jarak_pengambilan_sampel') is-invalid @enderror" id="jarak_pengambilan_sampel" name="jarak_pengambilan_sampel" required>
                                            <option value="">Pilih Jarak Pengambilan</option>
                                            <option value="jarak < 100km" {{ old('jarak_pengambilan_sampel', $service->jarak_pengambilan_sampel) == 'jarak < 100km' ? 'selected' : '' }}>Jarak < 100 km (Rp. 273.000)</option>
                                            <option value="jarak 100km - 150km" {{ old('jarak_pengambilan_sampel', $service->jarak_pengambilan_sampel) == 'jarak 100km - 150km' ? 'selected' : '' }}>Jarak 100 km - 150 km (Rp. 373.000)</option>
                                            <option value="jarak > 150km" {{ old('jarak_pengambilan_sampel', $service->jarak_pengambilan_sampel) == 'jarak > 150km' ? 'selected' : '' }}>Jarak > 150 km (Rp. 473.000)</option>
                                        </select>
                                        @error('jarak_pengambilan_sampel')
                                            <div class="invalid-feedback">{{ $message }}</div>
                                        @enderror
                                    </div>
                                </div>
                            </div>

                            @if(Auth::user()->role === 'admin')
                            <hr>
                            <h5 class="text-primary">Informasi Admin</h5>
                            <div class="row">
                                <div class="col-md-6">
                                    <div class="form-group">
                                        <label for="status">Status Layanan <span class="text-danger">*</span></label>
                                        <select class="form-control @error('status') is-invalid @enderror" id="status" name="status" required>
                                            <option value="Menunggu" {{ old('status', $service->status) == 'Menunggu' ? 'selected' : '' }}>Menunggu</option>
                                            <option value="Diterima" {{ old('status', $service->status) == 'Diterima' ? 'selected' : '' }}>Diterima</option>
                                            <option value="Diproses" {{ old('status', $service->status) == 'Diproses' ? 'selected' : '' }}>Diproses</option>
                                            <option value="Selesai" {{ old('status', $service->status) == 'Selesai' ? 'selected' : '' }}>Selesai</option>
                                            <option value="Ditolak" {{ old('status', $service->status) == 'Ditolak' ? 'selected' : '' }}>Ditolak</option>
                                        </select>
                                        @error('status')
                                            <div class="invalid-feedback">{{ $message }}</div>
                                        @enderror
                                    </div>

                                    <div class="form-group">
                                        <label for="tanggal_selesai_uji">Tanggal Selesai Uji</label>
                                        <input type="date" class="form-control @error('tanggal_selesai_uji') is-invalid @enderror" id="tanggal_selesai_uji" name="tanggal_selesai_uji" value="{{ old('tanggal_selesai_uji', $service->tanggal_selesai_uji) }}">
                                        @error('tanggal_selesai_uji')
                                            <div class="invalid-feedback">{{ $message }}</div>
                                        @enderror
                                    </div>
                                    
                                    <div class="form-group">
                                        <label for="biaya_retribusi_parameter">Biaya Retribusi Parameter (Rp)</label>
                                        <input type="number" class="form-control @error('biaya_retribusi_parameter') is-invalid @enderror" id="biaya_retribusi_parameter" name="biaya_retribusi_parameter" min="0" value="{{ old('biaya_retribusi_parameter', $service->biaya_retribusi_parameter) }}">
                                        @error('biaya_retribusi_parameter')
                                            <div class="invalid-feedback">{{ $message }}</div>
                                        @enderror
                                    </div>

                                    <div class="form-group" id="keteranganContainer">
                                        <label for="keterangan">Keterangan Status</label>
                                        <textarea class="form-control @error('keterangan') is-invalid @enderror" id="keterangan" name="keterangan" rows="3" placeholder="Masukkan keterangan status layanan (wajib jika status Diterima atau Ditolak)">{{ old('keterangan', $service->keterangan) }}</textarea>
                                        <small class="form-text text-muted">Tuliskan keterangan mengapa layanan diterima atau ditolak. Keterangan ini akan ditampilkan kepada pelanggan.</small>
                                        @error('keterangan')
                                            <div class="invalid-feedback">{{ $message }}</div>
                                        @enderror
                                    </div>
                                </div>
                                
                                <div class="col-md-6">
                                    <div class="form-group">
                                        <label for="biaya_retribusi_jarak">Biaya Retribusi Jarak (Rp)</label>
                                        <input type="number" class="form-control @error('biaya_retribusi_jarak') is-invalid @enderror" id="biaya_retribusi_jarak" name="biaya_retribusi_jarak" min="0" value="{{ old('biaya_retribusi_jarak', $service->biaya_retribusi_jarak) }}">
                                        @error('biaya_retribusi_jarak')
                                            <div class="invalid-feedback">{{ $message }}</div>
                                        @enderror
                                    </div>
                                    
                                    <div class="form-group">
                                        <label for="biaya_retribusi">Total Biaya Retribusi (Rp)</label>
                                        <input type="number" class="form-control @error('biaya_retribusi') is-invalid @enderror" id="biaya_retribusi" name="biaya_retribusi" min="0" value="{{ old('biaya_retribusi', $service->biaya_retribusi) }}">
                                        <small class="form-text text-muted">Dihitung otomatis dari biaya parameter dan jarak</small>
                                        @error('biaya_retribusi')
                                            <div class="invalid-feedback">{{ $message }}</div>
                                        @enderror
                                    </div>

                                    <div class="form-group">
                                        <label for="file_hasil_uji">File Hasil Uji</label>
                                        <input type="file" class="form-control-file @error('file_hasil_uji') is-invalid @enderror" id="file_hasil_uji" name="file_hasil_uji">
                                        <small class="form-text text-muted">Format yang diizinkan: PDF, DOC, DOCX (Maks. 10MB)</small>
                                        @if($service->file_hasil_uji)
                                            <p class="mt-2">
                                                <a href="{{ asset('uploads/hasil_uji/'.$service->file_hasil_uji) }}" target="_blank" class="btn btn-sm btn-info">
                                                    <i class="fe-file-text"></i> Lihat File
                                                </a>
                                            </p>
                                        @endif
                                        @error('file_hasil_uji')
                                            <div class="invalid-feedback">{{ $message }}</div>
                                        @enderror
                                    </div>
                                </div>
                            </div>
                            @endif

                            <div class="mt-3 text-right">
                                <a href="{{ route('services.index') }}" class="btn btn-secondary mr-2">Batal</a>
                                <button type="submit" class="btn btn-primary">Simpan Perubahan</button>
                            </div>
                        </form>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>
@endsection

@section('scripts')
<script>
    document.addEventListener('DOMContentLoaded', function() {
        // Fungsi untuk menampilkan/menyembunyikan kolom keterangan berdasarkan status
        function toggleKeterangan() {
            var status = document.getElementById('status').value;
            var keteranganContainer = document.getElementById('keteranganContainer');
            var keteranganLabel = keteranganContainer.querySelector('label');
            var keteranganHelpText = keteranganContainer.querySelector('small');
            
            if (status === 'Diterima' || status === 'Ditolak') {
                keteranganContainer.style.display = 'block';
                keteranganLabel.innerHTML = 'Keterangan Status <span class="text-danger">*</span>';
                if (status === 'Diterima') {
                    keteranganHelpText.innerText = 'Tuliskan keterangan mengapa layanan diterima. Keterangan ini akan ditampilkan kepada pelanggan.';
                } else {
                    keteranganHelpText.innerText = 'Tuliskan alasan mengapa layanan ditolak. Keterangan ini akan ditampilkan kepada pelanggan.';
                }
            } else {
                keteranganContainer.style.display = 'none';
            }
        }
        
        // Event listener untuk perubahan status
        document.getElementById('status').addEventListener('change', toggleKeterangan);
        
        // Jalankan fungsi saat halaman dimuat
        toggleKeterangan();
        
        // Fungsi untuk menghitung total biaya
        function hitungTotalBiaya() {
            var biayaParameter = parseInt(document.getElementById('biaya_retribusi_parameter').value) || 0;
            var biayaJarak = parseInt(document.getElementById('biaya_retribusi_jarak').value) || 0;
            var totalBiaya = biayaParameter + biayaJarak;
            
            document.getElementById('biaya_retribusi').value = totalBiaya;
        }
        
        // Event listener untuk input biaya parameter
        document.getElementById('biaya_retribusi_parameter').addEventListener('input', hitungTotalBiaya);
        
        // Event listener untuk input biaya jarak
        document.getElementById('biaya_retribusi_jarak').addEventListener('input', hitungTotalBiaya);
        
        // Event listener untuk jarak pengambilan sampel
        document.getElementById('jarak_pengambilan_sampel').addEventListener('change', function() {
            var jarak = this.value;
            var biayaJarak = 0;
            
            if (jarak === 'jarak < 100km') {
                biayaJarak = 273000;
            } else if (jarak === 'jarak 100km - 150km') {
                biayaJarak = 373000;
            } else if (jarak === 'jarak > 150km') {
                biayaJarak = 473000;
            }
            
            document.getElementById('biaya_retribusi_jarak').value = biayaJarak;
            hitungTotalBiaya();
        });
        
        // Event listener untuk parameter
        document.getElementById('parameter').addEventListener('change', function() {
            var parameter = this.value;
            var hargaParameter = 0;
            
            switch(parameter) {
                case 'TDS':
                    hargaParameter = 22000;
                    break;
                case 'TSS':
                    hargaParameter = 22000;
                    break;
                case 'Kekeruhan':
                    hargaParameter = 15000;
                    break;
                case 'Suhu':
                    hargaParameter = 3500;
                    break;
                case 'Daya Hantar Listrik':
                    hargaParameter = 12500;
                    break;
                case 'pH':
                    hargaParameter = 10500;
                    break;
                case 'Amonia':
                    hargaParameter = 37000;
                    break;
                case 'DO':
                    hargaParameter = 16000;
                    break;
                case 'Nitrat':
                    hargaParameter = 32000;
                    break;
                case 'Nitrit':
                    hargaParameter = 33500;
                    break;
                case 'BOD':
                    hargaParameter = 40000;
                    break;
                case 'COD':
                    hargaParameter = 58000;
                    break;
                case 'Tembaga':
                    hargaParameter = 50000;
                    break;
                case 'Besi':
                    hargaParameter = 51000;
                    break;
                case 'Mangan':
                    hargaParameter = 52800;
                    break;
                default:
                    hargaParameter = 0;
            }
            
            var totalSampel = parseInt(document.getElementById('total_sampel').value) || 1;
            document.getElementById('biaya_retribusi_parameter').value = hargaParameter * totalSampel;
            hitungTotalBiaya();
        });
        
        // Event listener untuk total sampel
        document.getElementById('total_sampel').addEventListener('input', function() {
            var parameter = document.getElementById('parameter').value;
            var hargaParameter = 0;
            
            switch(parameter) {
                case 'TDS':
                    hargaParameter = 22000;
                    break;
                case 'TSS':
                    hargaParameter = 22000;
                    break;
                case 'Kekeruhan':
                    hargaParameter = 15000;
                    break;
                case 'Suhu':
                    hargaParameter = 3500;
                    break;
                case 'Daya Hantar Listrik':
                    hargaParameter = 12500;
                    break;
                case 'pH':
                    hargaParameter = 10500;
                    break;
                case 'Amonia':
                    hargaParameter = 37000;
                    break;
                case 'DO':
                    hargaParameter = 16000;
                    break;
                case 'Nitrat':
                    hargaParameter = 32000;
                    break;
                case 'Nitrit':
                    hargaParameter = 33500;
                    break;
                case 'BOD':
                    hargaParameter = 40000;
                    break;
                case 'COD':
                    hargaParameter = 58000;
                    break;
                case 'Tembaga':
                    hargaParameter = 50000;
                    break;
                case 'Besi':
                    hargaParameter = 51000;
                    break;
                case 'Mangan':
                    hargaParameter = 52800;
                    break;
                default:
                    hargaParameter = 0;
            }
            
            var totalSampel = parseInt(this.value) || 1;
            document.getElementById('biaya_retribusi_parameter').value = hargaParameter * totalSampel;
            hitungTotalBiaya();
        });
        
        // Hitung total saat halaman dimuat
        hitungTotalBiaya();
    });
</script>
@endsection 