mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-05-23 05:24:41 +00:00
- removed invoicing from oasis
This commit is contained in:
Vendored
-346
@@ -1,346 +0,0 @@
|
||||
$primary-color: #bc30fd;
|
||||
$text-color: #1B2539;
|
||||
$border-color: #D8D8D8;
|
||||
$background-color: #F4F5F6;
|
||||
$border-radius: 15px;
|
||||
|
||||
@mixin font-size($size) {
|
||||
font-size:(($size*1.6)/16) + 0em;
|
||||
}
|
||||
|
||||
* {
|
||||
outline: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
color: $text-color;
|
||||
}
|
||||
|
||||
*, html, body, h1, h2, h3, h4, p, span, b, strong {
|
||||
font-family: 'Nunito', serif;
|
||||
}
|
||||
|
||||
html {
|
||||
font-size: 100%;
|
||||
}
|
||||
|
||||
.row {
|
||||
display: -webkit-flex;
|
||||
-webkit-flex-wrap: nowrap;
|
||||
width: 100%;
|
||||
|
||||
&.spaces {
|
||||
margin: 0 -15px;
|
||||
|
||||
div[class^='col-'] {
|
||||
padding: 0 15px;
|
||||
}
|
||||
}
|
||||
|
||||
div[class^='col-'] {
|
||||
-webkit-flex-grow: 1;
|
||||
|
||||
&.align-right {
|
||||
text-align: right;
|
||||
}
|
||||
}
|
||||
|
||||
.col-left, .col-right {
|
||||
width: 49%;
|
||||
}
|
||||
|
||||
&.align-center div[class^='col-'] {
|
||||
-webkit-align-self: center;
|
||||
}
|
||||
&.align-bottom div[class^='col-'] {
|
||||
-webkit-align-self: flex-end;
|
||||
}
|
||||
}
|
||||
|
||||
.invoice-header {
|
||||
|
||||
.col-left, .col-right {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.logo {
|
||||
margin-bottom: 5px;
|
||||
display: block;
|
||||
width: 260px;
|
||||
}
|
||||
|
||||
.email, .phone {
|
||||
display: block;
|
||||
@include font-size(7);
|
||||
font-weight: 400;
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
|
||||
h1 {
|
||||
line-height: 1;
|
||||
padding-bottom: 5px;
|
||||
@include font-size(16);
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: $primary-color;
|
||||
font-weight: 600;
|
||||
@include font-size(11);
|
||||
}
|
||||
|
||||
h4 {
|
||||
color: $text-color;
|
||||
font-weight: 600;
|
||||
@include font-size(7);
|
||||
}
|
||||
}
|
||||
|
||||
.supplier {
|
||||
float: right;
|
||||
max-width: 600px;
|
||||
|
||||
.box {
|
||||
background: $background-color;
|
||||
border-radius: $border-radius;
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
.dates {
|
||||
margin-top: 10px;
|
||||
|
||||
p {
|
||||
text-align: right;
|
||||
@include font-size(9);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.special-wrapper {
|
||||
padding-bottom: 20px;
|
||||
border-bottom: 1px dashed $border-color;
|
||||
margin: 0 -5px 25px;
|
||||
|
||||
.special-item {
|
||||
background: $background-color;
|
||||
border-radius: 8px;
|
||||
display: inline-block;
|
||||
width: 20.9%;
|
||||
margin: 0 5px;
|
||||
|
||||
&:nth-child(1) {
|
||||
width: 31.5%;
|
||||
}
|
||||
|
||||
.padding {
|
||||
padding: 10px 15px;
|
||||
}
|
||||
}
|
||||
|
||||
b {
|
||||
color: $primary-color;
|
||||
@include font-size(9);
|
||||
font-weight: 600;
|
||||
margin-bottom: 5px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
span {
|
||||
@include font-size(10);
|
||||
font-weight: 600;
|
||||
word-break: break-word;
|
||||
overflow-wrap: break-word;
|
||||
width: 100%;
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
.table {
|
||||
table-layout: fixed;
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
|
||||
.table-row {
|
||||
|
||||
&:nth-child(even) {
|
||||
background-color: $background-color;
|
||||
border-radius: 12px;
|
||||
}
|
||||
|
||||
.table-cell {
|
||||
text-align: left;
|
||||
word-break: break-word;
|
||||
padding: 5px;
|
||||
|
||||
span, a {
|
||||
word-break: break-word;
|
||||
}
|
||||
|
||||
&:first-child {
|
||||
width: 280px;
|
||||
padding-left: 15px;
|
||||
padding-right: 15px;
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
text-align: right;
|
||||
padding-right: 15px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
tbody {
|
||||
.table-row {
|
||||
padding: 5px 0;
|
||||
}
|
||||
}
|
||||
|
||||
thead {
|
||||
background-color: white !important;
|
||||
padding-bottom: 15px;
|
||||
border-bottom: 0;
|
||||
|
||||
.table-cell {
|
||||
|
||||
span {
|
||||
color: $primary-color;
|
||||
font-weight: 600;
|
||||
@include font-size(9);
|
||||
white-space: nowrap;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.table-cell {
|
||||
word-break: break-all;
|
||||
|
||||
span, a {
|
||||
vertical-align: middle;
|
||||
font-weight: 600;
|
||||
@include font-size(9);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.summary {
|
||||
max-width: 300px;
|
||||
margin: 15px 0 10px auto;
|
||||
text-align: right;
|
||||
|
||||
li {
|
||||
padding: 2px 0;
|
||||
display: block;
|
||||
|
||||
b, span {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.col-full {
|
||||
width: 50%;
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
|
||||
span {
|
||||
@include font-size(10);
|
||||
}
|
||||
|
||||
b {
|
||||
@include font-size(13);
|
||||
font-weight: 600;
|
||||
}
|
||||
}
|
||||
|
||||
.notes {
|
||||
padding-top: 20px;
|
||||
border-top: 1px dashed $border-color;
|
||||
}
|
||||
|
||||
.invoice-author {
|
||||
display: -webkit-flex;
|
||||
-webkit-justify-content: space-between;
|
||||
-webkit-align-items: flex-end;
|
||||
padding-bottom: 25px;
|
||||
|
||||
.sign {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
img {
|
||||
max-height: 125px;
|
||||
display: block;
|
||||
margin: 0 0 0 auto;
|
||||
}
|
||||
}
|
||||
|
||||
.invoice-footer {
|
||||
padding-top: 15px;
|
||||
border-top: 1px dashed $border-color;
|
||||
text-align: center;
|
||||
|
||||
p {
|
||||
@include font-size(10);
|
||||
}
|
||||
|
||||
a {
|
||||
color: $primary-color;
|
||||
}
|
||||
}
|
||||
|
||||
h3 {
|
||||
color: $primary-color;
|
||||
font-weight: 600;
|
||||
padding-bottom: 8px;
|
||||
@include font-size(10);
|
||||
}
|
||||
|
||||
p, span {
|
||||
font-weight: 600;
|
||||
padding-bottom: 4px;
|
||||
@include font-size(10);
|
||||
color: $text-color;
|
||||
}
|
||||
|
||||
.highlight {
|
||||
color: $primary-color;
|
||||
}
|
||||
|
||||
section, header {
|
||||
border-bottom: 1px dashed $border-color;
|
||||
padding-bottom: 10px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.address, .number {
|
||||
display: block;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.content-box {
|
||||
padding-bottom: 15px;
|
||||
}
|
||||
|
||||
.thank-you {
|
||||
text-align: center;
|
||||
font-size: 22px;
|
||||
margin-top: 20px;
|
||||
margin-bottom: 60px;
|
||||
}
|
||||
|
||||
footer {
|
||||
|
||||
.stamp {
|
||||
max-width: 200px;
|
||||
display: block;
|
||||
margin: 0 0 0 auto;
|
||||
}
|
||||
|
||||
div {
|
||||
align-self: flex-end;
|
||||
}
|
||||
|
||||
h3 {
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
@@ -1,288 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
||||
<meta http-equiv="Pragma" content="no-cache">
|
||||
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700&display=swap" rel="stylesheet">
|
||||
|
||||
@if(is_route('invoice-debug'))
|
||||
<link rel="stylesheet" href="{{ mix('css/oasis-invoice.css') }}">
|
||||
|
||||
<style>
|
||||
body {
|
||||
padding: 25px;
|
||||
}
|
||||
</style>
|
||||
@else
|
||||
<link rel="stylesheet" href="{{ public_path('css/oasis-invoice.css') }}">
|
||||
|
||||
<style>
|
||||
.page-break {
|
||||
page-break-after: always;
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
</style>
|
||||
@endif
|
||||
|
||||
<title>{{ __t('in.invoice') }}</title>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="{{ count($invoice->items) > 8 ? 'page-break' : '' }}">
|
||||
{{--Invoice header--}}
|
||||
<header class="invoice-header">
|
||||
<div class="row">
|
||||
<div class="col-left">
|
||||
|
||||
@if($user->invoiceProfile->logo)
|
||||
<img class="logo" src="{{ base64_from_storage_image($user->invoiceProfile->logo) }}">
|
||||
@else
|
||||
<h1>{{ $user->invoiceProfile->company }}</h1>
|
||||
@endif
|
||||
|
||||
<b class="email">{{ $user->invoiceProfile->email }}</b>
|
||||
<b class="phone">{{ $user->invoiceProfile->phone }}</b>
|
||||
</div>
|
||||
<div class="col-right align-right">
|
||||
@if($invoice->invoice_type === 'regular-invoice')
|
||||
<h1>{{ __t('in.invoice') }} - {{ __t('in.doc.taxable_doc') }}</h1>
|
||||
@endif
|
||||
@if($invoice->invoice_type === 'advance-invoice')
|
||||
<h1>{{ __t('in.invoice') }} - {{ __t('in.doc.advance_doc') }}</h1>
|
||||
@endif
|
||||
<h2>{{ __t('in.doc.number') }}: {{ $invoice->invoice_number }}</h2>
|
||||
<h4>{{ __t('in.doc.variable_symbol') }}: {{ $invoice->variable_number }}</h4>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<!--Supplier-->
|
||||
<section>
|
||||
<div class="supplier">
|
||||
<div class="box" style="width: 500px;">
|
||||
<h3>{{ __t('in.doc.customer') }}:</h3>
|
||||
<p>{{ $invoice->client['name'] }}</p>
|
||||
<p>{{ $invoice->client['address'] }}, {{ $invoice->client['city'] }}</p>
|
||||
<p>{{ $invoice->client['postal_code'] }} {{ $invoice->client['country'] }}</p>
|
||||
|
||||
<div class="single-row">
|
||||
<span>
|
||||
@isset($invoice->client['ico'])
|
||||
<span class="highlight">{{ __t('in_editor.ico') }}</span>: {{ $invoice->client['ico'] }}
|
||||
@endisset
|
||||
@isset($invoice->client['dic'])
|
||||
<span class="highlight">{{ __t('in_editor.dic') }}</span>: {{ $invoice->client['dic'] }}
|
||||
@endisset
|
||||
@isset($invoice->client['ic_dph'])
|
||||
<span class="highlight">{{ __t('in_editor.ic_dph') }}</span>: {{ $invoice->client['ic_dph'] }}
|
||||
@endisset
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="dates">
|
||||
<p>{{ __t('in.doc.date_of_issue') }}: {{ format_date($invoice->created_at, '%d. %B %Y') }}</p>
|
||||
<p>{{ __t('in.doc.date_of_delivery') }}: {{ format_date($invoice->delivery_at, '%d. %B %Y') }}</p>
|
||||
<p>{{ __t('in.doc.due_date') }}: {{ format_date($invoice->due_at, '%d. %B %Y') }}</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="content-box">
|
||||
<h3>{{ __t('in.doc.supplier') }}:</h3>
|
||||
<p style="padding-bottom: 0">{{ $invoice->user['company'] }}</p>
|
||||
<small>{{ $invoice->user['registration_notes'] }}</small>
|
||||
</div>
|
||||
|
||||
<div class="content-box">
|
||||
<h3>{{ __t('in.doc.headquarters') }}:</h3>
|
||||
<p>{{ $invoice->user['address'] }} {{ $invoice->user['city'] }}</p>
|
||||
<p>{{ $invoice->user['postal_code'] }}, {{ $invoice->user['country'] }}</p>
|
||||
</div>
|
||||
|
||||
<div class="content-box" style="padding-bottom: 0px">
|
||||
<h3>{{ __t('user_settings.title_billing') }}:</h3>
|
||||
|
||||
@isset($invoice->user['ico'])
|
||||
<p>{{ __t('in_editor.ico') }}: {{ $invoice->user['ico'] }}</p>
|
||||
@endisset
|
||||
@isset($invoice->user['dic'])
|
||||
<p>{{ __t('in_editor.dic') }}: {{ $invoice->user['dic'] }}</p>
|
||||
@endisset
|
||||
@isset($invoice->user['ic_dph'])
|
||||
<p>{{ __t('in_editor.ic_dph') }}: {{ $invoice->user['ic_dph'] }}</p>
|
||||
@endisset
|
||||
|
||||
<p>{{ $invoice->user['bank'] }}</p>
|
||||
<p>{{ __t('in.form.iban') }}: {{ $invoice->user['iban'] }}, {{ __t('in.form.swift_code') }}: {{ $invoice->user['swift'] }}</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
{{--Special info--}}
|
||||
<div class="special-wrapper">
|
||||
<div class="special-item">
|
||||
<div class="padding">
|
||||
<b>{{ __t('in.doc.bank_account_number') }}:</b>
|
||||
<span>{{ $invoice->user['iban'] }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="special-item">
|
||||
<div class="padding">
|
||||
<b>{{ __t('in.doc.variable_symbol') }}:</b>
|
||||
<span>{{ $invoice->variable_number }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="special-item">
|
||||
<div class="padding">
|
||||
<b>{{ __t('in.doc.due_date') }}:</b>
|
||||
<span>{{ format_date($invoice->due_at, '%d. %h. %Y') }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="special-item">
|
||||
<div class="padding">
|
||||
<b>{{ __t('in.doc.sum_to_pay') }}:</b>
|
||||
<span>{{ format_to_currency($invoice->total_net) }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{--Items table--}}
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr class="table-row">
|
||||
<td class="table-cell">
|
||||
<span>{{ __t('in.doc.item.name') }}</span>
|
||||
</td>
|
||||
<td class="table-cell">
|
||||
<span>{{ __t('in.doc.item.amount') }}</span>
|
||||
</td>
|
||||
<td class="table-cell">
|
||||
<span>{{ __t('in.doc.item.price_per_unit') }}</span>
|
||||
</td>
|
||||
<td class="table-cell">
|
||||
<span>{{ __t('in.doc.item.total') }}</span>
|
||||
</td>
|
||||
@if($invoice->user['ic_dph'])
|
||||
<td class="table-cell">
|
||||
<span>{{ __t('in.doc.item.vat_rate') }}</span>
|
||||
</td>
|
||||
<td class="table-cell">
|
||||
<span>{{ __t('in.doc.item.vat') }}</span>
|
||||
</td>
|
||||
<td class="table-cell">
|
||||
<span>{{ __t('in.doc.item.total_with_vat') }}</span>
|
||||
</td>
|
||||
@endif
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
@foreach($invoice->items as $item)
|
||||
<tr class="table-row">
|
||||
<td class="table-cell">
|
||||
<span style="word-break: break-word">{{ $item['description'] }}</span>
|
||||
</td>
|
||||
<td class="table-cell">
|
||||
<span>{{ $item['amount'] }}</span>
|
||||
</td>
|
||||
<td class="table-cell">
|
||||
<span>{{ format_to_currency($item['price']) }}</span>
|
||||
</td>
|
||||
|
||||
<td class="table-cell">
|
||||
<span>{{ format_to_currency($item['price'] * $item['amount']) }}</span>
|
||||
</td>
|
||||
|
||||
@if($invoice->user['ic_dph'])
|
||||
<td class="table-cell">
|
||||
<span>{{ $item['tax_rate'] }} %</span>
|
||||
</td>
|
||||
@endif
|
||||
|
||||
@if($invoice->user['ic_dph'])
|
||||
<td class="table-cell">
|
||||
<span>{{ format_to_currency(invoice_item_only_tax_price($item)) }}</span>
|
||||
</td>
|
||||
<td class="table-cell">
|
||||
<span>{{ format_to_currency(invoice_item_with_tax_price($item)) }}</span>
|
||||
</td>
|
||||
@endif
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="page-break">
|
||||
{{--Item Summary--}}
|
||||
<ul class="summary">
|
||||
|
||||
@if($invoice->discount_type)
|
||||
<li class="row" style="padding-bottom: 8px">
|
||||
<span>{{ __t('in.doc.discount') }}:</span>
|
||||
<span>-{{ $invoice->discount_type === 'percent' ? $invoice->discount_rate . '%' : format_to_currency($invoice->discount_rate) }}</span>
|
||||
</li>
|
||||
@endif
|
||||
|
||||
{{--VAT Base--}}
|
||||
@if($invoice->user['ic_dph'])
|
||||
<div style="padding-bottom: 8px">
|
||||
@foreach(invoice_tax_base($invoice) as $item)
|
||||
<li class="row">
|
||||
<span>{{ __t('in.doc.vat_base') }} {{ $item['rate'] }}%: </span>
|
||||
<span>{{ format_to_currency($item['total']) }}</span>
|
||||
</li>
|
||||
@endforeach
|
||||
</div>
|
||||
@endif
|
||||
|
||||
{{--VAT Summary--}}
|
||||
@if($invoice->user['ic_dph'])
|
||||
<div style="padding-bottom: 8px">
|
||||
@foreach(invoice_tax_summary($invoice) as $item)
|
||||
<li class="row">
|
||||
<span>{{ __t('in.doc.item.vat') }} {{ $item['rate'] }}%: </span>
|
||||
<span>{{ format_to_currency($item['total']) }}</span>
|
||||
</li>
|
||||
@endforeach
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<li class="row">
|
||||
<b>{{ __t('in.doc.sum_to_pay') }}:</b>
|
||||
<b>{{ format_to_currency(invoice_total($invoice)) }}</b>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<!--Notes-->
|
||||
<div class="notes">
|
||||
<p>{{ __t('in.doc.thanks') }}</p>
|
||||
</div>
|
||||
|
||||
{{--Invoice author--}}
|
||||
<div class="invoice-author">
|
||||
<div class="tax-note">
|
||||
@if(! $invoice->user['ic_dph'])
|
||||
<p>{{ __t('in.doc.not_vat_payer') }}</p>
|
||||
@endif
|
||||
</div>
|
||||
<div class="sign">
|
||||
@if(is_route('invoice-debug') && $user->invoiceProfile->stamp)
|
||||
<img src="/{{ $user->invoiceProfile->stamp }}">
|
||||
@endif
|
||||
|
||||
@if(! is_route('invoice-debug') && $user->invoiceProfile->stamp)
|
||||
<img src="{{ base64_from_storage_image($user->invoiceProfile->stamp) }}">
|
||||
@endif
|
||||
|
||||
<span class="highlight">{{ __t('in.doc.creator') }}:</span> {{ $invoice->user['author'] }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{--Invoice Footer--}}
|
||||
<footer class="invoice-footer">
|
||||
<p>{!! __t('in.doc.created_by_app', ['app_name' => 'OasisDrive.cz', 'url' => 'https://oasisdrive.cz']) !!}</p>
|
||||
</footer>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user