Aplikasi Keuangan yang mengatur lalu lintas transaksi antara bank dan aplikasi internal Kampus
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

37 lines
924 B

<?php
use App\Domains\Billing\Actions\Invoicing\UpdateInvoiceStatus;
use App\Domains\Billing\Enums\Invoicing\InvoiceStatus;
use App\Domains\Billing\Models\Invoice;
use App\Livewire\Concerns\WithToast;
use Livewire\Attributes\Computed;
use Livewire\Component;
new class extends Component
{
use WithToast;
public string $invoiceId;
public function mount(string $id): void {
$this->invoiceId = $id;
}
#[Computed]
public function invoice(): Invoice
{
return Invoice::with(['items'])->findOrFail($this->invoiceId);
}
#[Computed]
public function schema(): array
{
return $this->invoice->type->schema()->getSchema();
}
public function issueInvoice(UpdateInvoiceStatus $invoiceStatus): void
{
$invoiceStatus->execute($this->invoice, InvoiceStatus::ISSUED);
$this->success(__('domains/billing/messages.invoice_issued'));
}
};