Akaunting/resources/views/modals/documents/payment.blade.php

144 lines
7.7 KiB
PHP

<x-form id="form-transaction" :method="$method" :route="$route" :model="!empty($transaction) ? $transaction : false">
<div class="rounded-xl px-5 py-3 mb-5 bg-red-100" v-if="typeof form.response !== 'undefined' && form.response.error">
<p class="text-sm mb-0 text-red-600" v-html="form.response.message"></p>
</div>
<x-tabs active="general" class="grid grid-cols-2" override="class">
<x-slot name="navs">
<x-tabs.nav id="general">
{{ trans('general.general') }}
<span class="invalid-feedback block text-xs text-red whitespace-normal" v-if="form.errors.has('paid_at') || form.errors.has('amount') || form.errors.has('payment_method') || form.errors.has('account_id')">
{{ trans('general.validation_error') }}
</span>
</x-tabs.nav>
<x-tabs.nav id="other">
{{ trans_choice('general.others', 1) }}
<span class="invalid-feedback block text-xs text-red whitespace-normal" v-if="form.errors.has('number') || form.errors.has('description') || form.errors.has('recurring')">
{{ trans('general.validation_error') }}
</span>
</x-tabs.nav>
</x-slot>
<x-slot name="content">
<x-tabs.tab id="general">
<div class="grid sm:grid-cols-6 gap-x-8 gap-y-6 my-3.5">
<x-form.group.date
name="paid_at"
label="{{ trans('general.date') }}"
icon="calendar_today"
value="{{ $document->paid_at }}"
show-date-format="{{ company_date_format() }}"
date-format="Y-m-d"
autocomplete="off"
form-group-class="col-span-6"
/>
<x-form.group.account
change="onChangePaymentAccount"
form-group-class="col-span-6"
without-add-new
/>
<x-form.group.money
v-show="form.document_currency_code == form.currency_code"
name="amount"
:label="trans('general.amount')"
:value="$amount"
autofocus="autofocus"
:currency="! empty($transaction) ? $transaction->currency : $currency"
form-group-class="col-span-6"
/>
<div class="sm:col-span-6 grid sm:grid-cols-6 gap-x-4 gap-y-6 relative" v-if="form.document_currency_code != form.currency_code">
<x-form.group.money
name="amount"
label="{{ trans('general.amount') }}"
:value="$amount"
v-model="form.amount"
autofocus="autofocus"
:currency="! empty($transaction) ? $transaction->currency : $currency"
form-group-class="col-span-6"
input="onChangeAmount($event)"
/>
<div class="sm:col-span-2 text-xs absolute right-0 top-1">
<div class="custom-control custom-checkbox">
<x-form.input.checkbox
name="pay_in_full"
label="Pay in full"
id="checkbox-pay_in_full-{{ $document->id }}"
value="1"
checked
data-type="single"
v-model="form.pay_in_full"
@change="onChangePayInFull($event.target.checked)"
/>
</div>
</div>
</div>
<div class="sm:col-span-6 grid sm:grid-cols-6 gap-x-4 -mt-2" v-if="form.document_currency_code != form.currency_code">
<x-form.group.text
name="currency_rate"
label="{{ trans_choice('general.currency_rates', 1) }}"
form-group-class="col-span-6"
::disabled="form.pay_in_full"
not-required
@input="onChangeRatePayment($event)"
/>
<div class="relative col-span-6 text-xs flex mt-2">
<div class="w-auto text-xs mr-2"
v-html="'{{ trans('general.currency_convert', ['from' => '#form', 'to' => $document->currency_code]) }}'.replace('#form', form.currency_code)"
></div>
<div class="mr-2">-</div>
<x-form.input.money
name="default_amount"
value="0"
disabled
row-input
v-model="form.default_amount"
:currency="$currency"
dynamic-currency="{!! json_encode($currency) !!}"
money-class="disabled-money p-0 m-0 text-xs"
form-group-class="text-right disabled-money"
/>
</div>
</div>
<x-form.group.payment-method form-group-class="col-span-6"/>
</div>
</x-tabs.tab>
<x-tabs.tab id="other">
<div class="grid sm:grid-cols-6 gap-x-8 gap-y-6 my-3.5">
<x-form.group.textarea name="description" label="{{ trans('general.description') }}" rows="2" not-required form-group-class="col-span-6" />
<x-form.group.text name="number" label="{{ trans_choice('general.numbers', 1) }}" value="{{ $number }}" form-group-class="col-span-6" />
<x-form.group.text name="reference" label="{{ trans('general.reference') }}" not-required form-group-class="col-span-6" />
<x-form.group.attachment />
<x-form.input.hidden name="document_id" :value="$document->id" />
<x-form.input.hidden name="category_id" :value="$document->category->id" />
<x-form.input.hidden name="paid_amount" :value="$document->paid_amount" />
<x-form.input.hidden name="amount" :value="$amount" />
<x-form.input.hidden name="currency_code" :value="! empty($transaction) ? $transaction->currency_code : $document->currency_code" />
<x-form.input.hidden name="currency_rate" :value="! empty($transaction) ? $transaction->currency_rate : $document->currency_rate" v-if="form.document_currency_code == form.currency_code" />
<x-form.input.hidden name="company_currency_code" :value="default_currency()" />
<x-form.input.hidden name="document_currency_code" :value="$document->currency_code" />
<x-form.input.hidden name="document_currency_rate" :value="$document->currency_rate" />
<x-form.input.hidden name="document_default_amount" :value="$document->grand_total" />
<x-form.input.hidden name="type" :value="config('type.document.' . $document->type . '.transaction_type')" />
</div>
</x-tabs.tab>
</x-slot>
</x-tabs>
</x-form>