'delete', 'update' => 'update', ]; public function render() { $this->pinjaman = request()->segment(3); $this->nomor_pinjaman = $this->pinjaman; $guarantee_types = GuaranteeType::all(); return view('writeoff::livewire.detail-jaminan.detail-jaminan-modal', compact('guarantee_types')); } public function submit() { $this->validate(); // Validate the form input data DB::transaction(function () { // Prepare the data for creating a new user $data = [ 'kode' => round(microtime(true) * 100), 'nomor_pinjaman' => $this->nomor_pinjaman, 'guarantee_type_id' => $this->guarantee_type_id, 'nomor_jaminan' => $this->nomor_jaminan, 'nilai_jaminan' => $this->nilai_jaminan, 'status' => $this->status, ]; if ($this->edit_mode) { // Emit a success event with a message $detail_jaminan = DetailJaminan::find($this->id); $detail_jaminan->update($data); $this->dispatch('success', __('Data Detail Jaminan berhasil diupdate')); } else { // Emit a success event with a message DetailJaminan::create($data); $this->dispatch('success', __('Data Detail Jaminan berhasil ditambahkan')); } }); // Reset the form fields after successful submission $this->reset(); $this->nomor_pinjaman = request()->segment(3); } public function update($id) { $this->edit_mode = true; $detail_jaminan = DetailJaminan::find($id); $this->id = $id; $this->nomor_pinjaman = $detail_jaminan->nomor_pinjaman; $this->guarantee_type_id = $detail_jaminan->guarantee_type_id; $this->nomor_jaminan = $detail_jaminan->nomor_jaminan; $this->nilai_jaminan = $detail_jaminan->nilai_jaminan; $this->status = $detail_jaminan->status; } public function delete($id) { $detailjaminan = DetailJaminan::find($id); $approval = [ 'method' => 'delete', 'menu' => 'Detail Jaminan', 'old_request' => json_encode($detailjaminan), 'description' => 'Delete Detail Jaminan', 'status' => '0', 'ref' => $detailjaminan->kode ]; $is_approval = Approval::where('menu', 'Detail Jaminan') ->where('ref', $detailjaminan->kode) ->where('status', '0') ->where('method', 'delete') ->get() ->first(); if ($is_approval) { $this->dispatch('error', 'Data Sedang Menunggu Approval'); } else { Approval::create($approval); $this->dispatch('success', 'Data Berhasil Di Hapus, Menunggu Approval'); } } public function hydrate() { $this->resetErrorBag(); $this->resetValidation(); } protected function rules() { $request = new StoreDetailPembayaranRequest(); return $request->rules(); } }