@extends('layouts.app') @section('content') @php $initialComponents = collect(old('components', [])) ->filter(function ($item) { return !empty($item['component_material_id']) || (($item['qty'] ?? '') !== ''); }) ->map(function ($item) { return [ 'component_material_id' => (string) ($item['component_material_id'] ?? ''), 'qty' => (float) ($item['qty'] ?? 1), ]; }) ->values() ->all(); $initialPriceGroups = collect(old('prices', [])) ->chunk(2) ->map(function ($chunk) { $umum = collect($chunk)->firstWhere('member_type', 'umum'); $studio = collect($chunk)->firstWhere('member_type', 'studio'); return [ 'sisi' => (int) ($umum['sisi'] ?? $studio['sisi'] ?? 1), 'min_qty' => (int) ($umum['min_qty'] ?? $studio['min_qty'] ?? 1), 'max_qty' => $umum['max_qty'] ?? $studio['max_qty'] ?? null, 'price_umum' => (float) ($umum['price'] ?? 0), 'price_instansi' => (float) ($studio['price'] ?? 0), ]; }) ->values() ->all(); @endphp

{{ $title }}

@csrf
@error('name')

{{ $message }}

@enderror

Manual: harga per unit • m²: harga per meter persegi • Roll: harga per meter panjang

@error('base_price')

{{ $message }}

@enderror
@error('unit')

{{ $message }}

@enderror

Mode Perhitungan

Manual = stok biasa • m² = stok & harga dihitung per meter persegi • Roll = stok & harga dihitung per meter panjang roll

@error('measurement_mode')

{{ $message }}

@enderror
@error('roll_width_cm')

{{ $message }}

@enderror
Contoh: 100 x 50 cm = 0.5 m². Jika harga dasar 70.000, hasil harga = 35.000.
Contoh: lebar roll 100 cm, ukuran 100 x 50 cm = pemakaian 50 cm = 0.5 meter. Jika harga dasar 70.000, hasil harga = 35.000.

Bahan Custom

Aktifkan jika bahan ini mengambil stok dari satu atau lebih bahan lain

@error('stock')

{{ $message }}

@enderror

Akan memberi peringatan jika stok di bawah nilai ini

@error('min_stock')

{{ $message }}

@enderror
Stok bahan custom tidak dihitung dari kolom stok bahan ini. Sistem akan mengecek dan mengurangi stok dari bahan komponennya.

Komponen Bahan

Bisa 1, 2, 3, atau lebih bahan

@error('components')

{{ $message }}

@enderror
Bahan Qty Pakai
Belum ada komponen bahan

Aturan Harga

Atur harga berbeda berdasarkan jumlah qty dan sisi cetak

Aturan Harga Bertingkat

Sisi Qty Min Qty Max Harga Umum Harga Instansi
Belum ada aturan harga. Klik tombol tambah di atas.
Batal
@endsection @push('scripts') @endpush