mirror of
https://github.com/crater-invoice/crater.git
synced 2025-10-28 04:01:10 -04:00
init crater
This commit is contained in:
29
resources/views/app.blade.php
Normal file
29
resources/views/app.blade.php
Normal file
@ -0,0 +1,29 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Crater - Self Hosted Invoicing Platform</title>
|
||||
<script src="/assets/js/pace.js"></script>
|
||||
<link href="{{mix("/assets/css/laraspace.css")}}" rel="stylesheet" type="text/css">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||
<link href="https://fonts.googleapis.com/css?family=Poppins:300,400,500,600&display=swap" rel="stylesheet">
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/assets/img/favicons/apple-touch-icon.png">
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/assets/img/favicons/favicon-32x32.png">
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/assets/img/favicons/favicon-16x16.png">
|
||||
<link rel="manifest" href="/assets/img/favicons/site.webmanifest">
|
||||
<link rel="mask-icon" href="/assets/img/favicons/safari-pinned-tab.svg" color="#5851d8">
|
||||
<link rel="shortcut icon" href="/assets/img/favicons/favicon.ico">
|
||||
<meta name="msapplication-TileColor" content="#ffffff">
|
||||
<meta name="msapplication-config" content="/assets/img/favicons/browserconfig.xml">
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<meta name="csrf-token" content="{{ csrf_token() }}">
|
||||
</head>
|
||||
<body class="layout-default skin-crater">
|
||||
<div id="app" class="template-container">
|
||||
<div class="mobile-menu-overlay" @click.prevent="onOverlayClick"></div>
|
||||
<transition name="fade" mode="out-in">
|
||||
<router-view></router-view>
|
||||
</transition>
|
||||
</div>
|
||||
<script type="text/javascript" src="{{mix('/assets/js/app.js')}}"></script>
|
||||
</body>
|
||||
</html>
|
||||
385
resources/views/app/pdf/estimate/estimate1.blade.php
Normal file
385
resources/views/app/pdf/estimate/estimate1.blade.php
Normal file
@ -0,0 +1,385 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Estimate</title>
|
||||
{{-- <link href="https://fonts.googleapis.com/css?family=Poppins&display=swap" rel="stylesheet"> --}}
|
||||
<style type="text/css">
|
||||
body {
|
||||
font-family: 'Roboto', sans-serif;
|
||||
}
|
||||
|
||||
html {
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
hr {
|
||||
color:rgba(0, 0, 0, 0.2);
|
||||
position: absolute;
|
||||
top: 90px;
|
||||
left: 0px;
|
||||
width: 100%;
|
||||
margin: 0 30px 0 30px;
|
||||
}
|
||||
|
||||
.header-center {
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.header-table {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 90px;
|
||||
left: 0px;
|
||||
top: 0px;
|
||||
}
|
||||
|
||||
.header-logo {
|
||||
height: 50px;
|
||||
margin-top: 20px;
|
||||
text-transform: capitalize;
|
||||
color: #817AE3;
|
||||
}
|
||||
|
||||
.inv-flex{
|
||||
display:flex;
|
||||
}
|
||||
|
||||
.inv-data{
|
||||
text-align:right;
|
||||
margin-right:120px;
|
||||
}
|
||||
.inv-value{
|
||||
text-align:left;
|
||||
margin-left:160px;
|
||||
}
|
||||
.header {
|
||||
font-family: 'Roboto', sans-serif;
|
||||
font-size: 20px;
|
||||
color: rgba(0, 0, 0, 0.7);
|
||||
}
|
||||
|
||||
.TextColor1 {
|
||||
font-family: 'Roboto', sans-serif;
|
||||
font-size: 16px;
|
||||
color: rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
|
||||
.wrapper {
|
||||
display: block;
|
||||
padding-top: 60px;
|
||||
}
|
||||
|
||||
.address {
|
||||
/* display: inline-block; */
|
||||
padding-top: 30px
|
||||
}
|
||||
|
||||
.company {
|
||||
float: left;
|
||||
padding-left: 30px;
|
||||
font-weight: normal;
|
||||
display: inline;
|
||||
float:left;
|
||||
width:30%;
|
||||
text-transform: capitalize;
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
|
||||
.company h1 {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 15px;
|
||||
line-height: 22px;
|
||||
letter-spacing: 0.05em;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
.company-add {
|
||||
margin-top: 2px;
|
||||
text-align: left;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 12px;
|
||||
line-height: 15px;
|
||||
color: #595959;
|
||||
}
|
||||
|
||||
.job-add {
|
||||
/* display: inline; */
|
||||
float: right;
|
||||
padding: 10px 30px 0 0;
|
||||
}
|
||||
.amount-due {
|
||||
background-color: #f2f2f2;
|
||||
}
|
||||
|
||||
.textRight {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.textLeft {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.textStyle1 {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
padding-right: 40px;
|
||||
}
|
||||
|
||||
.textStyle2 {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
text-align: right;
|
||||
}
|
||||
.bill-add {
|
||||
width:45%;
|
||||
padding: 0px 0 0 0px;
|
||||
}
|
||||
|
||||
/* -------------------------- */
|
||||
/* shipping style */
|
||||
|
||||
.ship-address-container {
|
||||
float: right;
|
||||
padding-left: 30px;
|
||||
}
|
||||
|
||||
.ship-to {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
padding: 0px;
|
||||
margin-top: 27px;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
.ship-user-name {
|
||||
max-width: 250px
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 15px;
|
||||
line-height: 22px;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
.ship-user-address {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 10px;
|
||||
line-height: 15px;
|
||||
color: #595959;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
.ship-user-phone {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 10px;
|
||||
line-height: 15px;
|
||||
color: #595959;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
/* -------------------------- */
|
||||
/* billing style */
|
||||
|
||||
.bill-address-container {
|
||||
float: left;
|
||||
padding-left: 30px;
|
||||
}
|
||||
|
||||
.bill-to {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
padding: 0px;
|
||||
margin-top: 27px;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
.bill-user-name {
|
||||
max-width: 250px
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 15px;
|
||||
line-height: 22px;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.bill-user-address {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 10px;
|
||||
line-height: 15px;
|
||||
color: #595959;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.bill-user-phone {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 10px;
|
||||
line-height: 15px;
|
||||
color: #595959;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.table2 {
|
||||
margin-top: 35px;
|
||||
border-bottom: 1px solid #EAF1FB;
|
||||
padding: 0px 30px 0 30px;
|
||||
}
|
||||
|
||||
.table2 hr {
|
||||
height:0.1px;
|
||||
}
|
||||
|
||||
.ItemTableHeader {
|
||||
font-size: 13.5;
|
||||
text-align: center;
|
||||
color: rgba(0, 0, 0, 0.85);
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
tr.main-table-header td {
|
||||
border-bottom: 1px solid #EAF1FB;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
}
|
||||
|
||||
tr.item-details td {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
}
|
||||
|
||||
.items {
|
||||
font-size: 13;
|
||||
color: rgba(0, 0, 0, 0.6);
|
||||
text-align: center;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.padd8 {
|
||||
padding-top: 8px;
|
||||
padding-bottom: 8px;
|
||||
}
|
||||
|
||||
.table3 {
|
||||
border: 1px solid #EAF1FB;
|
||||
border-top: none;
|
||||
padding-right: 30px;
|
||||
box-sizing: border-box;
|
||||
width: 230px;
|
||||
height: 100px;
|
||||
position: absolute;
|
||||
right: -25;
|
||||
}
|
||||
|
||||
.text-per-item-table3 {
|
||||
border: 1px solid #EAF1FB;
|
||||
border-top: none;
|
||||
padding-right: 30px;
|
||||
box-sizing: border-box;
|
||||
width: 260px;
|
||||
/* height: 100px; */
|
||||
position: absolute;
|
||||
right: -25;
|
||||
}
|
||||
|
||||
.inv-item {
|
||||
border-color: #d9d9d9;
|
||||
}
|
||||
|
||||
.no-border {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.desc {
|
||||
font-weight: 100;
|
||||
text-align: justify;
|
||||
font-size: 10px;
|
||||
margin-bottom: 15px;
|
||||
margin-top:7px;
|
||||
color:rgba(0, 0, 0, 0.85);
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="header-table">
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td class="header-center">
|
||||
@if($logo)
|
||||
<img class="header-logo" src="{{ $logo }}" alt="Company Logo">
|
||||
@else
|
||||
@if($estimate->user->company)
|
||||
<h2 class="header-logo"> {{$estimate->user->company->name}} </h2>
|
||||
@endif
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<hr class="header-line" />
|
||||
<div class="wrapper">
|
||||
<div class="address">
|
||||
<div class="company">
|
||||
@include('app.pdf.estimate.partials.company-address')
|
||||
</div>
|
||||
<div class="job-add">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="textStyle1" style="text-align: left; color: #55547A">Estimate Number</td>
|
||||
<td class="textStyle2"> {{$estimate->estimate_number}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="textStyle1" style="text-align: left; color: #55547A">Estimate Date </td>
|
||||
<td class="textStyle2"> {{$estimate->formattedEstimateDate}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="textStyle1" style="text-align: left; color: #55547A">Expiry Date</td>
|
||||
<td class="textStyle2"> {{$estimate->formattedExpiryDate}}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div style="clear: both;"></div>
|
||||
</div>
|
||||
<div class="bill-add">
|
||||
<div class="bill-address-container">
|
||||
@include('app.pdf.estimate.partials.billing-address')
|
||||
</div>
|
||||
@if($estimate->user->billingaddress->name || $estimate->user->billingaddress->address_street_1 || $estimate->user->billingaddress->address_street_2 || $estimate->user->billingaddress->country || $estimate->user->billingaddress->state || $estimate->user->billingaddress->city || $estimate->user->billingaddress->zip || $estimate->user->billingaddress->phone)
|
||||
<div class="ship-address-container">
|
||||
@else
|
||||
<div class="ship-address-container " style="float:left;padding-left:0px;">
|
||||
@endif
|
||||
@include('app.pdf.estimate.partials.shipping-address')
|
||||
</div>
|
||||
<div style="clear: both;"></div>
|
||||
</div>
|
||||
@include('app.pdf.estimate.partials.table')
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
407
resources/views/app/pdf/estimate/estimate2.blade.php
Normal file
407
resources/views/app/pdf/estimate/estimate2.blade.php
Normal file
@ -0,0 +1,407 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Estimate</title>
|
||||
{{-- <link href="https://fonts.googleapis.com/css?family=Poppins&display=swap" rel="stylesheet"> --}}
|
||||
<style type="text/css">
|
||||
body {
|
||||
font-family: 'Roboto', sans-serif;
|
||||
}
|
||||
|
||||
html {
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
.header-left {
|
||||
padding-top: 45px;
|
||||
padding-bottom: 45px;
|
||||
padding-left: 30px;
|
||||
display:inline-block;
|
||||
width:30%;
|
||||
}
|
||||
.header-table {
|
||||
background: #817AE3;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 141px;
|
||||
left: 0px;
|
||||
top: 0px;
|
||||
|
||||
|
||||
}
|
||||
.header-logo {
|
||||
position: absolute;
|
||||
height: 50px;
|
||||
text-transform: capitalize;
|
||||
color: #fff;
|
||||
}
|
||||
.header-right {
|
||||
display:inline-block;
|
||||
width:35%;
|
||||
float:right;
|
||||
padding: 20px 30px 20px 0px;
|
||||
text-align: right;
|
||||
color:white;
|
||||
|
||||
}
|
||||
.inv-flex{
|
||||
display:flex;
|
||||
}
|
||||
.inv-data{
|
||||
text-align:right;
|
||||
margin-right:120px;
|
||||
}
|
||||
.inv-value{
|
||||
text-align:left;
|
||||
margin-left:160px;
|
||||
}
|
||||
.header {
|
||||
font-family: 'Roboto', sans-serif;
|
||||
font-size: 20px;
|
||||
color: rgba(0, 0, 0, 0.7);
|
||||
}
|
||||
|
||||
.TextColor1 {
|
||||
font-family: 'Roboto', sans-serif;
|
||||
font-size: 16px;
|
||||
color: rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
|
||||
.wrapper {
|
||||
display: block;
|
||||
padding-top: 110px;
|
||||
}
|
||||
|
||||
.address {
|
||||
display: inline-block;
|
||||
}
|
||||
.company {
|
||||
padding: 0 0 0 30px;
|
||||
display: inline;
|
||||
float:left;
|
||||
width:30%;
|
||||
}
|
||||
|
||||
.company h1 {
|
||||
font-style: normal;
|
||||
font-weight: bold;
|
||||
font-size: 15px;
|
||||
line-height: 22px;
|
||||
letter-spacing: 0.05em;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.company-add {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 10px;
|
||||
line-height: 15px;
|
||||
color: #595959;
|
||||
margin-top: 0px;
|
||||
}
|
||||
|
||||
/* -------------------------- */
|
||||
/* billing style */
|
||||
.bill-address-container {
|
||||
display: inline;
|
||||
position: absolute;
|
||||
float:right;
|
||||
padding: 0 40px 0 0;
|
||||
}
|
||||
|
||||
.bill-to {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
padding: 0px;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
.bill-user-name {
|
||||
max-width: 250px
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 15px;
|
||||
line-height: 22px;
|
||||
padding: 0px;
|
||||
margin-top: 0px;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
.bill-user-address {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 10px;
|
||||
line-height: 15px;
|
||||
color: #595959;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
.bill-user-phone {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 10px;
|
||||
line-height: 15px;
|
||||
color: #595959;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
/* -------------------------- */
|
||||
/* shipping style */
|
||||
.ship-address-container {
|
||||
display: inline;
|
||||
position: absolute;
|
||||
float:right;
|
||||
padding: 0 30px 0 0;
|
||||
}
|
||||
|
||||
.ship-to {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
padding: 0px;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
.ship-user-name {
|
||||
max-width: 250px
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 15px;
|
||||
line-height: 22px;
|
||||
padding: 0px;
|
||||
margin-top: 0px;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
.ship-user-address {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 10px;
|
||||
line-height: 15px;
|
||||
color: #595959;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.ship-user-phone {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 10px;
|
||||
line-height: 15px;
|
||||
color: #595959;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.job-add {
|
||||
display: inline;
|
||||
float: right;
|
||||
width:40%;
|
||||
}
|
||||
|
||||
.amount-due {
|
||||
background-color: #f2f2f2;
|
||||
}
|
||||
|
||||
.textRight {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.textLeft {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.textStyle1 {
|
||||
font-size: 12;
|
||||
font-weight: bold;
|
||||
line-height:22px;
|
||||
color: rgba(0, 0, 0, 0.8);
|
||||
}
|
||||
|
||||
.textStyle2 {
|
||||
font-size: 12;
|
||||
line-height:22px;
|
||||
color: rgba(0, 0, 0, 0.7);
|
||||
}
|
||||
|
||||
.main-table-header td {
|
||||
padding: 5px;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
|
||||
.main-table-header {
|
||||
border-bottom: 1px solid red;
|
||||
}
|
||||
|
||||
.table2 {
|
||||
margin-top: 200px;
|
||||
border-bottom: 1px solid #EAF1FB;
|
||||
padding: 0px 30px 0 30px;
|
||||
}
|
||||
|
||||
.table2 hr {
|
||||
height:0.1px;
|
||||
}
|
||||
|
||||
.ItemTableHeader {
|
||||
font-size: 13.5;
|
||||
text-align: center;
|
||||
color: rgba(0, 0, 0, 0.85);
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
tr.main-table-header td {
|
||||
border-bottom: 1px solid #EAF1FB;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
}
|
||||
|
||||
tr.item-details td {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
}
|
||||
|
||||
.items {
|
||||
font-size: 13;
|
||||
color: rgba(0, 0, 0, 0.6);
|
||||
text-align: center;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.note-header {
|
||||
font-size: 13;
|
||||
color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
|
||||
.note-text {
|
||||
font-size: 10;
|
||||
color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
|
||||
.padd8 {
|
||||
padding-top: 8px;
|
||||
padding-bottom: 8px;
|
||||
}
|
||||
|
||||
.table3 {
|
||||
border: 1px solid #EAF1FB;
|
||||
border-top: none;
|
||||
padding-right: 30px;
|
||||
box-sizing: border-box;
|
||||
width: 230px;
|
||||
height: 100px;
|
||||
position: absolute;
|
||||
right: -25;
|
||||
}
|
||||
|
||||
.text-per-item-table3 {
|
||||
border: 1px solid #EAF1FB;
|
||||
border-top: none;
|
||||
padding-right: 30px;
|
||||
box-sizing: border-box;
|
||||
width: 260px;
|
||||
/* height: 100px; */
|
||||
position: absolute;
|
||||
right: -25;
|
||||
}
|
||||
|
||||
.inv-item {
|
||||
border-color: #d9d9d9;
|
||||
}
|
||||
|
||||
.no-border {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.desc {
|
||||
font-weight: 100;
|
||||
text-align: justify;
|
||||
font-size: 10px;
|
||||
margin-bottom: 15px;
|
||||
margin-top:7px;
|
||||
color:rgba(0, 0, 0, 0.85);
|
||||
}
|
||||
|
||||
.company-details{
|
||||
text-align: center;
|
||||
width: 40%;
|
||||
}
|
||||
|
||||
.company-details h1 {
|
||||
margin:0;
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-size: 24px;
|
||||
line-height: 36px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.company-details h4 {
|
||||
margin:0;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 10px;
|
||||
line-height: 15px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.company-details h3 {
|
||||
margin-bottom:1px;
|
||||
margin-top:0;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="header-table">
|
||||
<table width="100%">
|
||||
<tr>
|
||||
@if($logo)
|
||||
<td width="60%" class="header-left">
|
||||
<img class="header-logo" src="{{ $logo }}" alt="Company Logo">
|
||||
@else
|
||||
<td width="60%" class="header-left" style="padding-top: 0px;">
|
||||
@if($estimate->user->company)
|
||||
<h1 class="header-logo"> {{$estimate->user->company->name}} </h1>
|
||||
@endif
|
||||
@endif
|
||||
<td width="40%" class="header-right company-details">
|
||||
<h1>Estimate</h1>
|
||||
<h4>{{$estimate->estimate_number}}</h4>
|
||||
<h4>{{$estimate->formattedEstimateDate}}</h4>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="wrapper">
|
||||
<div class="address">
|
||||
<div class="company">
|
||||
@include('app.pdf.estimate.partials.company-address')
|
||||
</div>
|
||||
<div class="ship-address-container">
|
||||
@include('app.pdf.estimate.partials.shipping-address')
|
||||
</div>
|
||||
@if($estimate->user->shippingaddress->name || $estimate->user->shippingaddress->address_street_1 || $estimate->user->shippingaddress->address_street_2 || $estimate->user->shippingaddress->country || $estimate->user->shippingaddress->state || $estimate->user->shippingaddress->city || $estimate->user->shippingaddress->zip || $estimate->user->phone)
|
||||
<div class="bill-address-container">
|
||||
@else
|
||||
<div class="bill-address-container" style="float:right;padding-right:0px;">
|
||||
@endif
|
||||
@include('app.pdf.estimate.partials.billing-address')
|
||||
</div>
|
||||
</div>
|
||||
@include('app.pdf.estimate.partials.table')
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
432
resources/views/app/pdf/estimate/estimate3.blade.php
Normal file
432
resources/views/app/pdf/estimate/estimate3.blade.php
Normal file
@ -0,0 +1,432 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Estimate</title>
|
||||
{{-- <link href="https://fonts.googleapis.com/css?family=Poppins&display=swap" rel="stylesheet"> --}}
|
||||
<style type="text/css">
|
||||
body {
|
||||
font-family: 'Roboto', sans-serif;
|
||||
}
|
||||
|
||||
html {
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
hr {
|
||||
color:rgba(0, 0, 0, 0.2);
|
||||
position: absolute;
|
||||
top: 140px;
|
||||
left: 0px;
|
||||
right: -70px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.header-left {
|
||||
padding-top: 45px;
|
||||
padding-bottom: 45px;
|
||||
padding-left: 30px;
|
||||
display:inline-block;
|
||||
width:30%;
|
||||
}
|
||||
.header-table {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 150px;
|
||||
left: 0px;
|
||||
top: 0px;
|
||||
|
||||
|
||||
}
|
||||
.header-logo {
|
||||
position: absolute;
|
||||
height: 50px;
|
||||
text-transform: capitalize;
|
||||
color: #817AE3;
|
||||
}
|
||||
.header-right {
|
||||
display:inline-block;
|
||||
position: absolute;
|
||||
right:0;
|
||||
padding: 15px 30px 15px 0px;
|
||||
float: right;
|
||||
}
|
||||
.inv-flex{
|
||||
display:flex;
|
||||
}
|
||||
.inv-data{
|
||||
text-align:right;
|
||||
margin-right:120px;
|
||||
}
|
||||
.inv-value{
|
||||
text-align:left;
|
||||
margin-left:160px;
|
||||
}
|
||||
.header {
|
||||
font-family: 'Roboto', sans-serif;
|
||||
font-size: 20px;
|
||||
color: rgba(0, 0, 0, 0.7);
|
||||
}
|
||||
|
||||
.TextColor1 {
|
||||
font-family: 'Roboto', sans-serif;
|
||||
font-size: 16px;
|
||||
color: rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
|
||||
.wrapper {
|
||||
display: block;
|
||||
padding-top: 110px;
|
||||
}
|
||||
|
||||
.address {
|
||||
display: inline-block;
|
||||
padding-top: 20px
|
||||
}
|
||||
|
||||
.bill-add {
|
||||
display: inline;
|
||||
float:left;
|
||||
width:40%;
|
||||
padding: 0 0 0 30px;
|
||||
}
|
||||
.company {
|
||||
padding-left: 30px;
|
||||
display: inline;
|
||||
float:left;
|
||||
width:30%;
|
||||
}
|
||||
|
||||
.company h1 {
|
||||
font-style: normal;
|
||||
font-weight: bold;
|
||||
font-size: 18px;
|
||||
line-height: 22px;
|
||||
letter-spacing: 0.05em;
|
||||
}
|
||||
|
||||
.company-add {
|
||||
text-align: left;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 10px;
|
||||
line-height: 15px;
|
||||
color: #595959;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
/* -------------------------- */
|
||||
/* shipping style */
|
||||
.ship-to {
|
||||
padding-top: 5px;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
.ship-user-name {
|
||||
padding: 0px;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 15px;
|
||||
line-height: 22px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.ship-user-address {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 10px;
|
||||
line-height: 15px;
|
||||
color: #595959;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.ship-user-phone {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 10px;
|
||||
line-height: 15px;
|
||||
color: #595959;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
/* -------------------------- */
|
||||
/* billing style */
|
||||
.bill-to {
|
||||
padding-top: 5px;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
.bill-user-name {
|
||||
padding: 0px;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 15px;
|
||||
line-height: 22px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.bill-user-address {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 10px;
|
||||
line-height: 15px;
|
||||
color: #595959;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.bill-user-phone {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 10px;
|
||||
line-height: 15px;
|
||||
color: #595959;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
|
||||
.job-add {
|
||||
display: inline;
|
||||
position: absolute;
|
||||
float: right;
|
||||
padding: 20px 30px 0 0;
|
||||
}
|
||||
.amount-due {
|
||||
background-color: #f2f2f2;
|
||||
}
|
||||
|
||||
.textRight {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.textLeft {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.textStyle1 {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
}
|
||||
|
||||
.textStyle2 {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
text-align: right;
|
||||
}
|
||||
.main-table-header td {
|
||||
padding: 10px;
|
||||
}
|
||||
.main-table-header {
|
||||
border-bottom: 1px solid red;
|
||||
}
|
||||
tr.main-table-header td {
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
}
|
||||
tr.item-details td {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
}
|
||||
.table2 {
|
||||
margin-top: 188px;
|
||||
border-bottom: 1px solid #EAF1FB;
|
||||
padding: 0px 30px 0 30px;
|
||||
}
|
||||
|
||||
.table2 hr {
|
||||
height:0.1px;
|
||||
}
|
||||
|
||||
.ItemTableHeader {
|
||||
font-size: 13.5;
|
||||
text-align: center;
|
||||
color: rgba(0, 0, 0, 0.85);
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.items {
|
||||
font-size: 13;
|
||||
color: rgba(0, 0, 0, 0.6);
|
||||
text-align: center;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.note-header {
|
||||
font-size: 13;
|
||||
color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
|
||||
.note-text {
|
||||
font-size: 10;
|
||||
color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
|
||||
.padd8 {
|
||||
padding-top: 8px;
|
||||
padding-bottom: 8px;
|
||||
}
|
||||
|
||||
.table3 {
|
||||
border: 1px solid #EAF1FB;
|
||||
border-top: none;
|
||||
padding-right: 30px;
|
||||
box-sizing: border-box;
|
||||
width: 230px;
|
||||
height: 100px;
|
||||
position: absolute;
|
||||
right: -25;
|
||||
}
|
||||
|
||||
.text-per-item-table3 {
|
||||
border: 1px solid #EAF1FB;
|
||||
border-top: none;
|
||||
padding-right: 30px;
|
||||
box-sizing: border-box;
|
||||
width: 260px;
|
||||
/* height: 100px; */
|
||||
position: absolute;
|
||||
right: -25;
|
||||
}
|
||||
|
||||
td.estimate-total1 {
|
||||
text-align:left;
|
||||
padding: 15px 0 15px 10px;
|
||||
font-size:12px;
|
||||
line-height: 18px;
|
||||
color: #55547A;
|
||||
border-bottom:1px solid #E8E8E8;
|
||||
border-top:1px solid #E8E8E8;
|
||||
border-left:1px solid #E8E8E8;
|
||||
}
|
||||
|
||||
td.estimate-total2 {
|
||||
font-weight: 500;
|
||||
text-align: right;
|
||||
font-size:12px;
|
||||
line-height: 18px;
|
||||
padding: 15px 10px 15px 0;
|
||||
color: #5851DB;
|
||||
border-bottom:1px solid #E8E8E8;
|
||||
border-top:1px solid #E8E8E8;
|
||||
border-right:1px solid #E8E8E8;
|
||||
}
|
||||
|
||||
.inv-item {
|
||||
border-color: #d9d9d9;
|
||||
}
|
||||
|
||||
.no-border {
|
||||
border: none;
|
||||
}
|
||||
.desc {
|
||||
font-weight: 100;
|
||||
text-align: justify;
|
||||
font-size: 10px;
|
||||
margin-bottom: 15px;
|
||||
margin-top:7px;
|
||||
color:rgba(0, 0, 0, 0.85);
|
||||
}
|
||||
.company-details h1 {
|
||||
margin:0;
|
||||
font-style: normal;
|
||||
font-weight: bold;
|
||||
font-size: 15px;
|
||||
line-height: 22px;
|
||||
letter-spacing: 0.05em;
|
||||
text-align: left;
|
||||
max-width: 220px;
|
||||
}
|
||||
.company-details h4 {
|
||||
margin:0;
|
||||
font-style: normal;
|
||||
font-weight: 100;
|
||||
font-size: 18px;
|
||||
line-height: 25px;
|
||||
text-align: right;
|
||||
}
|
||||
.company-details h3 {
|
||||
margin-bottom:1px;
|
||||
margin-top:0;
|
||||
}
|
||||
tr.total td {
|
||||
border-bottom:1px solid #E8E8E8;
|
||||
border-top:1px solid #E8E8E8;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="header-table">
|
||||
<table width="100%">
|
||||
<tr>
|
||||
@if($logo)
|
||||
<td class="header-left">
|
||||
<img class="header-logo" src="{{ $logo }}" alt="Company Logo">
|
||||
@else
|
||||
@if($estimate->user->company)
|
||||
<td class="header-left" style="padding-top:0px;">
|
||||
<h1 class="header-logo"> {{$estimate->user->company->name}} </h1>
|
||||
@endif
|
||||
@endif
|
||||
</td>
|
||||
<td class="header-right company-details">
|
||||
@include('app.pdf.estimate.partials.company-address')
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="wrapper">
|
||||
<div class="address">
|
||||
<div class="bill-add">
|
||||
<div style="float:left;">
|
||||
@include('app.pdf.estimate.partials.billing-address')
|
||||
</div>
|
||||
@if($estimate->user->billingaddress->name || $estimate->user->billingaddress->address_street_1 || $estimate->user->billingaddress->address_street_2 || $estimate->user->billingaddress->country || $estimate->user->billingaddress->state || $estimate->user->billingaddress->city || $estimate->user->billingaddress->zip || $estimate->user->billingaddress->phone)
|
||||
<div style="float:right;">
|
||||
@else
|
||||
<div style="float:left;">
|
||||
@endif
|
||||
@include('app.pdf.estimate.partials.shipping-address')
|
||||
</div>
|
||||
<div style="clear: both;"></div>
|
||||
</div>
|
||||
|
||||
<div class="job-add">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="textStyle1" style="text-align: left; color: #55547A">Estimate Number</td>
|
||||
<td class="textStyle2"> {{$estimate->estimate_number}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="textStyle1" style="text-align: left; color: #55547A">Estimate Date </td>
|
||||
<td class="textStyle2"> {{$estimate->formattedEstimateDate}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="textStyle1" style="text-align: left; color: #55547A">Expiry Date</td>
|
||||
<td class="textStyle2"> {{$estimate->formattedExpiryDate}}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
@include('app.pdf.estimate.partials.table')
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@ -0,0 +1,41 @@
|
||||
@if($estimate->user->billingaddress)
|
||||
@if($estimate->user->billingaddress->name || $estimate->user->billingaddress->address_street_1 || $estimate->user->billingaddress->address_street_2 || $estimate->user->billingaddress->country || $estimate->user->billingaddress->state || $estimate->user->billingaddress->city || $estimate->user->billingaddress->zip || $estimate->user->billingaddress->phone)
|
||||
<p class="bill-to">Bill To,</p>
|
||||
@endif
|
||||
@if($estimate->user->billingaddress->name)
|
||||
<p class="bill-user-name">
|
||||
{{$estimate->user->billingaddress->name}}
|
||||
</p>
|
||||
@endif
|
||||
<p class="bill-user-address">
|
||||
@if($estimate->user->billingaddress->address_street_1)
|
||||
{{$estimate->user->billingaddress->address_street_1}}<br>
|
||||
@endif
|
||||
|
||||
@if($estimate->user->billingaddress->address_street_2)
|
||||
{{$estimate->user->billingaddress->address_street_2}}<br>
|
||||
@endif
|
||||
|
||||
@if($estimate->user->billingaddress->city && $estimate->user->billingaddress->city->name)
|
||||
{{$estimate->user->billingaddress->city->name}},
|
||||
@endif
|
||||
|
||||
@if($estimate->user->billingaddress->state && $estimate->user->billingaddress->state->name)
|
||||
{{$estimate->user->billingaddress->state->name}}.
|
||||
@endif
|
||||
|
||||
@if($estimate->user->billingaddress->zip)
|
||||
{{$estimate->user->billingaddress->zip}}<br>
|
||||
@endif
|
||||
|
||||
@if($estimate->user->billingaddress->country && $estimate->user->billingaddress->country->name)
|
||||
{{$estimate->user->billingaddress->country->name}}<br>
|
||||
@endif
|
||||
|
||||
@if($estimate->user->billingaddress->phone)
|
||||
<p class="bill-user-phone">
|
||||
Phone :{{$estimate->user->billingaddress->phone}}
|
||||
</p>
|
||||
@endif
|
||||
</p>
|
||||
@endif
|
||||
@ -0,0 +1,31 @@
|
||||
@if($estimate->user->company)
|
||||
<h1> {{$estimate->user->company->name}} </h1>
|
||||
@endif
|
||||
|
||||
@if($company_address)
|
||||
<p class="company-add">
|
||||
@if($company_address->addresses[0]['address_street_1'])
|
||||
{{$company_address->addresses[0]['address_street_1']}} <br>
|
||||
@endif
|
||||
|
||||
@if($company_address->addresses[0]['address_street_2'])
|
||||
{{$company_address->addresses[0]['address_street_2']}} <br>
|
||||
@endif
|
||||
@if($company_address->addresses[0]['city'])
|
||||
{{$company_address->addresses[0]['city']->name}}
|
||||
@endif
|
||||
@if($company_address->addresses[0]['state'])
|
||||
{{$company_address->addresses[0]['state']->name}}
|
||||
@endif
|
||||
@if($company_address->addresses[0]['zip'])
|
||||
{{$company_address->addresses[0]['zip']}} <br>
|
||||
@endif
|
||||
@if($company_address->addresses[0]['country'])
|
||||
{{$company_address->addresses[0]['country']->name}} <br>
|
||||
@endif
|
||||
@if($company_address->addresses[0]['phone'])
|
||||
{{$company_address->addresses[0]['phone']}} <br>
|
||||
@endif
|
||||
</p>
|
||||
@endif
|
||||
|
||||
@ -0,0 +1,42 @@
|
||||
@if($estimate->user->shippingaddress)
|
||||
@if($estimate->user->shippingaddress->name || $estimate->user->shippingaddress->address_street_1 || $estimate->user->shippingaddress->address_street_2 || $estimate->user->shippingaddress->country || $estimate->user->shippingaddress->state || $estimate->user->shippingaddress->city || $estimate->user->shippingaddress->zip || $estimate->user->phone)
|
||||
<p class="ship-to">Ship To,</p>
|
||||
@endif
|
||||
@if($estimate->user->shippingaddress->name)
|
||||
<p class="ship-user-name">
|
||||
{{$estimate->user->shippingaddress->name}}
|
||||
</p>
|
||||
@endif
|
||||
<p class="ship-user-address">
|
||||
@if($estimate->user->shippingaddress->address_street_1)
|
||||
{{$estimate->user->shippingaddress->address_street_1}}<br>
|
||||
@endif
|
||||
|
||||
@if($estimate->user->shippingaddress->address_street_2)
|
||||
{{$estimate->user->shippingaddress->address_street_2}}<br>
|
||||
@endif
|
||||
|
||||
@if($estimate->user->shippingaddress->city && $estimate->user->shippingaddress->city->name)
|
||||
{{$estimate->user->shippingaddress->city->name}},
|
||||
@endif
|
||||
|
||||
@if($estimate->user->shippingaddress->state && $estimate->user->shippingaddress->state->name)
|
||||
{{$estimate->user->shippingaddress->state->name}}.
|
||||
@endif
|
||||
|
||||
@if($estimate->user->shippingaddress->zip)
|
||||
{{$estimate->user->shippingaddress->zip}}<br>
|
||||
@endif
|
||||
|
||||
@if($estimate->user->shippingaddress->country && $estimate->user->shippingaddress->country->name)
|
||||
{{$estimate->user->shippingaddress->country->name}}<br>
|
||||
@endif
|
||||
|
||||
@if($estimate->user->phone)
|
||||
<p class="ship-user-phone">
|
||||
Phone :{{$estimate->user->shippingaddress->phone}}
|
||||
</p>
|
||||
@endif
|
||||
|
||||
</p>
|
||||
@endif
|
||||
90
resources/views/app/pdf/estimate/partials/table.blade.php
Normal file
90
resources/views/app/pdf/estimate/partials/table.blade.php
Normal file
@ -0,0 +1,90 @@
|
||||
<table width="100%" class="table2" cellspacing="0" border="0">
|
||||
<tr class="main-table-header">
|
||||
<td width="40%" class="ItemTableHeader" style="text-align: left; color: #55547A; padding-left: 0px">Items</td>
|
||||
<td width="17%" class="ItemTableHeader" style="text-align: right; color: #55547A; padding-right: 20px">Quantity</td>
|
||||
<td width="18%" class="ItemTableHeader" style="text-align: left; color: #55547A; padding-left: 40px">Price</td>
|
||||
<td width="10%" class="ItemTableHeader" style="text-align: left; color: #55547A; padding-left: 10px">Discount</td>
|
||||
<td width="15%" class="ItemTableHeader" style="text-align: right; color: #55547A;">Amount</td>
|
||||
</tr>
|
||||
@foreach ($estimate->items as $item)
|
||||
<tr class="item-details">
|
||||
<td width="40%" class="inv-item items" style="text-align: left; color: #040405;padding-left: 0px">
|
||||
<span>{{ $item->name }}</span><br>
|
||||
<span style="text-align: left; color: #595959; font-size: 9px; font-weight:300; line-height: 12px;">{{ $item->description }}</span>
|
||||
</td>
|
||||
<td width="17%" class="inv-item items" style="text-align: right; color: #040405; padding-right: 20px">{{$item->quantity}}</td>
|
||||
<td width="18%" class="inv-item items" style="text-align: left; color: #040405; padding-left: 40px">{{$item->price/100}}</td>
|
||||
{{-- <td width="10%" class="inv-item items" style="text-align: left; color: #040405; padding-left: 10px">{{$item->discount/100}}%</td> --}}
|
||||
<td width="10%" class="inv-item items" style="text-align: left; color: #040405; padding-left: 10px">
|
||||
@if($item->discount_type === 'fixed')
|
||||
{{$item->discount_val/100}}
|
||||
@endif
|
||||
@if($item->discount_type === 'percentage')
|
||||
{{$item->discount}}%
|
||||
@endif
|
||||
</td>
|
||||
<td width="15%" class="inv-item items" style="text-align: right; color: #040405">{{$item->total/100}}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</table>
|
||||
|
||||
<table width="100%" cellspacing="0px" border="0" class="text-per-item-table3 @if(count($estimate->items) > 12) page-break @endif">
|
||||
<tr>
|
||||
<td class="no-borde" style="color: #55547A; padding-left:10px; line-height: 18px; font-size:12px;">Subtotal</td>
|
||||
<td class="no-border items"
|
||||
style="padding-right:10px; text-align: right; line-height: 18px; font-size:12px; color: #040405; font-weight: 500;">{!! format_money_pdf($estimate->sub_total) !!}</td>
|
||||
</tr>
|
||||
|
||||
@if ($estimate->tax_per_item === 'YES')
|
||||
@for ($i = 0; $i < count($labels); $i++)
|
||||
<tr>
|
||||
<td class="no-border" style="padding-left:10px; text-align:left; font-size:12px; line-height: 18px; color: #55547A;">
|
||||
{{$labels[$i]}}
|
||||
</td>
|
||||
<td class="no-border items padd8" style="padding-right:10px; font-weight: 500; text-align: right; font-size:12px; line-height: 18px; color: #040405">
|
||||
{!! format_money_pdf($taxes[$i]) !!}
|
||||
</td>
|
||||
</tr>
|
||||
@endfor
|
||||
@else
|
||||
@foreach ($estimate->taxes as $tax)
|
||||
<tr>
|
||||
<td class="no-border" style="padding-left:10px; text-align:left; font-size:12px; line-height: 18px; color: #55547A;">
|
||||
{{$tax->name.' ('.$tax->percent.'%)'}}
|
||||
</td>
|
||||
<td class="no-border items padd8" style="padding-right:10px; font-weight: 500; text-align: right; font-size:12px; line-height: 18px; color: #040405">
|
||||
{!! format_money_pdf($tax->amount) !!}
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
@if ($estimate->discount_per_item === 'NO')
|
||||
<tr>
|
||||
<td class="no-border" style="padding-left:10px; text-align:left; font-size:12px; color: #55547A;">
|
||||
Discount
|
||||
</td>
|
||||
<td class="no-border items padd8" style="padding-right:10px; font-weight: 500; text-align: right; font-size:12px; color: #040405">
|
||||
@if($estimate->discount_type === 'fixed')
|
||||
{!! format_money_pdf($estimate->discount_val) !!}
|
||||
@endif
|
||||
@if($estimate->discount_type === 'percentage')
|
||||
{{$estimate->discount}}% ({!! format_money_pdf($estimate->discount_val) !!})
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
<tr >
|
||||
<td class="no-border total-border-left"
|
||||
style="padding-left:10px; padding-bottom:10px; text-align:left; padding-top:20px; font-size:12px; line-height: 18px; color: #55547A;"
|
||||
>
|
||||
<label class="total-bottom"> Total </label>
|
||||
</td>
|
||||
<td
|
||||
class="no-border total-border-right items padd8"
|
||||
style="padding-right:10px; font-weight: 500; text-align: right; font-size:12px; line-height: 18px; padding-top:20px; color: #5851DB"
|
||||
>
|
||||
{!! format_money_pdf($estimate->total)!!}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
386
resources/views/app/pdf/invoice/invoice1.blade.php
Normal file
386
resources/views/app/pdf/invoice/invoice1.blade.php
Normal file
@ -0,0 +1,386 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Invoice</title>
|
||||
{{-- <link href="https://fonts.googleapis.com/css?family=Poppins&display=swap" rel="stylesheet"> --}}
|
||||
<style type="text/css">
|
||||
body {
|
||||
font-family: 'Roboto', sans-serif;
|
||||
}
|
||||
|
||||
html {
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
hr {
|
||||
color:rgba(0, 0, 0, 0.2);
|
||||
position: absolute;
|
||||
top: 90px;
|
||||
left: 0px;
|
||||
width: 100%;
|
||||
margin: 0 30px 0 30px;
|
||||
}
|
||||
|
||||
.header-center {
|
||||
text-align: center
|
||||
}
|
||||
|
||||
.header-table {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 90px;
|
||||
left: 0px;
|
||||
top: 0px;
|
||||
}
|
||||
|
||||
.header-logo {
|
||||
height: 50px;
|
||||
margin-top: 20px;
|
||||
text-transform: capitalize;
|
||||
color: #817AE3;
|
||||
}
|
||||
|
||||
.inv-flex{
|
||||
display:flex;
|
||||
}
|
||||
|
||||
.inv-data{
|
||||
text-align:right;
|
||||
margin-right:120px;
|
||||
}
|
||||
.inv-value{
|
||||
text-align:left;
|
||||
margin-left:160px;
|
||||
}
|
||||
.header {
|
||||
font-family: 'Roboto', sans-serif;
|
||||
font-size: 20px;
|
||||
color: rgba(0, 0, 0, 0.7);
|
||||
}
|
||||
|
||||
.TextColor1 {
|
||||
font-family: 'Roboto', sans-serif;
|
||||
font-size: 16px;
|
||||
color: rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
|
||||
.wrapper {
|
||||
display: block;
|
||||
padding-top: 60px;
|
||||
}
|
||||
|
||||
.address {
|
||||
/* display: inline-block; */
|
||||
padding-top: 30px
|
||||
}
|
||||
|
||||
.company {
|
||||
float: left;
|
||||
padding-left: 30px;
|
||||
font-weight: normal;
|
||||
display: inline;
|
||||
float:left;
|
||||
width:30%;
|
||||
text-transform: capitalize;
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
|
||||
.company h1 {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 15px;
|
||||
line-height: 22px;
|
||||
letter-spacing: 0.05em;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
.company-add {
|
||||
margin-top: 2px;
|
||||
text-align: left;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 12px;
|
||||
line-height: 15px;
|
||||
color: #595959;
|
||||
}
|
||||
|
||||
.job-add {
|
||||
/* display: inline; */
|
||||
float: right;
|
||||
padding: 10px 30px 0 0;
|
||||
}
|
||||
.amount-due {
|
||||
background-color: #f2f2f2;
|
||||
}
|
||||
|
||||
.textRight {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.textLeft {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.textStyle1 {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
padding-right: 40px;
|
||||
}
|
||||
|
||||
.textStyle2 {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
text-align: right;
|
||||
}
|
||||
.bill-add {
|
||||
width:45%;
|
||||
padding: 0px 0 0 0px;
|
||||
}
|
||||
|
||||
/* -------------------------- */
|
||||
/* shipping style */
|
||||
|
||||
.ship-address-container {
|
||||
float: right;
|
||||
padding-left: 30px;
|
||||
}
|
||||
|
||||
.ship-to {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
padding: 0px;
|
||||
margin-top: 27px;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
.ship-user-name {
|
||||
max-width: 250px
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 15px;
|
||||
line-height: 22px;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
.ship-user-address {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 10px;
|
||||
line-height: 15px;
|
||||
color: #595959;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
.ship-user-phone {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 10px;
|
||||
line-height: 15px;
|
||||
color: #595959;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
/* -------------------------- */
|
||||
/* billing style */
|
||||
|
||||
.bill-address-container {
|
||||
float: left;
|
||||
padding-left: 30px;
|
||||
}
|
||||
|
||||
.bill-to {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
padding: 0px;
|
||||
margin-top: 27px;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
.bill-user-name {
|
||||
max-width: 250px
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 15px;
|
||||
line-height: 22px;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.bill-user-address {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 10px;
|
||||
line-height: 15px;
|
||||
color: #595959;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.bill-user-phone {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 10px;
|
||||
line-height: 15px;
|
||||
color: #595959;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.table2 {
|
||||
margin-top: 35px;
|
||||
border-bottom: 1px solid #EAF1FB;
|
||||
padding: 0px 30px 0 30px;
|
||||
}
|
||||
|
||||
.table2 hr {
|
||||
height:0.1px;
|
||||
}
|
||||
|
||||
.ItemTableHeader {
|
||||
font-size: 13.5;
|
||||
text-align: center;
|
||||
color: rgba(0, 0, 0, 0.85);
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
tr.main-table-header td {
|
||||
border-bottom: 1px solid #EAF1FB;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
}
|
||||
|
||||
tr.item-details td {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
}
|
||||
|
||||
.items {
|
||||
font-size: 13;
|
||||
color: rgba(0, 0, 0, 0.6);
|
||||
text-align: center;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.padd8 {
|
||||
padding-top: 8px;
|
||||
padding-bottom: 8px;
|
||||
}
|
||||
|
||||
.table3 {
|
||||
border: 1px solid #EAF1FB;
|
||||
border-top: none;
|
||||
padding-right: 30px;
|
||||
box-sizing: border-box;
|
||||
width: 230px;
|
||||
height: 100px;
|
||||
position: absolute;
|
||||
right: -25;
|
||||
}
|
||||
|
||||
.text-per-item-table3 {
|
||||
border: 1px solid #EAF1FB;
|
||||
border-top: none;
|
||||
padding-right: 30px;
|
||||
box-sizing: border-box;
|
||||
width: 260px;
|
||||
/* height: 100px; */
|
||||
position: absolute;
|
||||
right: -25;
|
||||
}
|
||||
|
||||
.inv-item {
|
||||
border-color: #d9d9d9;
|
||||
}
|
||||
|
||||
.no-border {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.desc {
|
||||
font-weight: 100;
|
||||
text-align: justify;
|
||||
font-size: 10px;
|
||||
margin-bottom: 15px;
|
||||
margin-top:7px;
|
||||
color:rgba(0, 0, 0, 0.85);
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="header-table">
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td class="header-center">
|
||||
@if($logo)
|
||||
<img class="header-logo" src="{{ $logo }}" alt="Company Logo">
|
||||
@else
|
||||
@if($invoice->user->company)
|
||||
<h2 class="header-logo"> {{$invoice->user->company->name}} </h2>
|
||||
@endif
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<hr class="header-line" />
|
||||
<div class="wrapper">
|
||||
<div class="address">
|
||||
<div class="company">
|
||||
@include('app.pdf.invoice.partials.company-address')
|
||||
</div>
|
||||
<div class="job-add">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="textStyle1" style="text-align: left; color: #55547A">Invoice Number</td>
|
||||
<td class="textStyle2"> {{$invoice->invoice_number}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="textStyle1" style="text-align: left; color: #55547A">Invoice Date </td>
|
||||
<td class="textStyle2"> {{$invoice->formattedInvoiceDate}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="textStyle1" style="text-align: left; color: #55547A">Due date</td>
|
||||
<td class="textStyle2"> {{$invoice->formattedDueDate}}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div style="clear: both;"></div>
|
||||
</div>
|
||||
<div class="bill-add">
|
||||
<div class="bill-address-container">
|
||||
@include('app.pdf.invoice.partials.billing-address')
|
||||
|
||||
</div>
|
||||
@if($invoice->user->billingaddress->name || $invoice->user->billingaddress->address_street_1 || $invoice->user->billingaddress->address_street_2 || $invoice->user->billingaddress->country || $invoice->user->billingaddress->state || $invoice->user->billingaddress->city || $invoice->user->billingaddress->zip || $invoice->user->billingaddress->phone)
|
||||
<div class="ship-address-container">
|
||||
@else
|
||||
<div class="ship-address-container " style="float:left;padding-left:0px;">
|
||||
@endif
|
||||
@include('app.pdf.invoice.partials.shipping-address')
|
||||
</div>
|
||||
<div style="clear: both;"></div>
|
||||
</div>
|
||||
@include('app.pdf.invoice.partials.table')
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
408
resources/views/app/pdf/invoice/invoice2.blade.php
Normal file
408
resources/views/app/pdf/invoice/invoice2.blade.php
Normal file
@ -0,0 +1,408 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Invoice</title>
|
||||
{{-- <link href="https://fonts.googleapis.com/css?family=Poppins&display=swap" rel="stylesheet"> --}}
|
||||
<style type="text/css">
|
||||
body {
|
||||
font-family: 'Roboto', sans-serif;
|
||||
}
|
||||
|
||||
html {
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
.header-left {
|
||||
padding-top: 45px;
|
||||
padding-bottom: 45px;
|
||||
padding-left: 30px;
|
||||
display:inline-block;
|
||||
width:30%;
|
||||
}
|
||||
.header-table {
|
||||
background: #817AE3;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 141px;
|
||||
left: 0px;
|
||||
top: 0px;
|
||||
|
||||
|
||||
}
|
||||
.header-logo {
|
||||
position: absolute;
|
||||
height: 50px;
|
||||
text-transform: capitalize;
|
||||
color: #fff;
|
||||
}
|
||||
.header-right {
|
||||
display:inline-block;
|
||||
width:35%;
|
||||
float:right;
|
||||
padding: 20px 30px 20px 0px;
|
||||
text-align: right;
|
||||
color:white;
|
||||
|
||||
}
|
||||
.inv-flex{
|
||||
display:flex;
|
||||
}
|
||||
.inv-data{
|
||||
text-align:right;
|
||||
margin-right:120px;
|
||||
}
|
||||
.inv-value{
|
||||
text-align:left;
|
||||
margin-left:160px;
|
||||
}
|
||||
.header {
|
||||
font-family: 'Roboto', sans-serif;
|
||||
font-size: 20px;
|
||||
color: rgba(0, 0, 0, 0.7);
|
||||
}
|
||||
|
||||
.TextColor1 {
|
||||
font-family: 'Roboto', sans-serif;
|
||||
font-size: 16px;
|
||||
color: rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
|
||||
.wrapper {
|
||||
display: block;
|
||||
padding-top: 110px;
|
||||
}
|
||||
|
||||
.address {
|
||||
display: inline-block;
|
||||
}
|
||||
.company {
|
||||
padding: 0 0 0 30px;
|
||||
display: inline;
|
||||
float:left;
|
||||
width:30%;
|
||||
}
|
||||
|
||||
.company h1 {
|
||||
font-style: normal;
|
||||
font-weight: bold;
|
||||
font-size: 15px;
|
||||
line-height: 22px;
|
||||
letter-spacing: 0.05em;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.company-add {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 10px;
|
||||
line-height: 15px;
|
||||
color: #595959;
|
||||
margin-top: 0px;
|
||||
}
|
||||
|
||||
/* -------------------------- */
|
||||
/* billing style */
|
||||
.bill-address-container {
|
||||
display: inline;
|
||||
position: absolute;
|
||||
float:right;
|
||||
padding: 0 40px 0 0;
|
||||
}
|
||||
|
||||
.bill-to {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
padding: 0px;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
.bill-user-name {
|
||||
max-width: 250px
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 15px;
|
||||
line-height: 22px;
|
||||
padding: 0px;
|
||||
margin-top: 0px;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
.bill-user-address {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 10px;
|
||||
line-height: 15px;
|
||||
color: #595959;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
.bill-user-phone {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 10px;
|
||||
line-height: 15px;
|
||||
color: #595959;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
/* -------------------------- */
|
||||
/* shipping style */
|
||||
.ship-address-container {
|
||||
display: inline;
|
||||
position: absolute;
|
||||
float:right;
|
||||
padding: 0 30px 0 0;
|
||||
}
|
||||
|
||||
.ship-to {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
padding: 0px;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
.ship-user-name {
|
||||
max-width: 250px
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 15px;
|
||||
line-height: 22px;
|
||||
padding: 0px;
|
||||
margin-top: 0px;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
.ship-user-address {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 10px;
|
||||
line-height: 15px;
|
||||
color: #595959;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.ship-user-phone {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 10px;
|
||||
line-height: 15px;
|
||||
color: #595959;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.job-add {
|
||||
display: inline;
|
||||
float: right;
|
||||
width:40%;
|
||||
}
|
||||
|
||||
.amount-due {
|
||||
background-color: #f2f2f2;
|
||||
}
|
||||
|
||||
.textRight {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.textLeft {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.textStyle1 {
|
||||
font-size: 12;
|
||||
font-weight: bold;
|
||||
line-height:22px;
|
||||
color: rgba(0, 0, 0, 0.8);
|
||||
}
|
||||
|
||||
.textStyle2 {
|
||||
font-size: 12;
|
||||
line-height:22px;
|
||||
color: rgba(0, 0, 0, 0.7);
|
||||
}
|
||||
|
||||
.main-table-header td {
|
||||
padding: 5px;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
|
||||
.main-table-header {
|
||||
border-bottom: 1px solid red;
|
||||
}
|
||||
|
||||
.table2 {
|
||||
margin-top: 200px;
|
||||
border-bottom: 1px solid #EAF1FB;
|
||||
padding: 0px 30px 0 30px;
|
||||
}
|
||||
|
||||
.table2 hr {
|
||||
height:0.1px;
|
||||
}
|
||||
|
||||
.ItemTableHeader {
|
||||
font-size: 13.5;
|
||||
text-align: center;
|
||||
color: rgba(0, 0, 0, 0.85);
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
tr.main-table-header td {
|
||||
border-bottom: 1px solid #EAF1FB;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
}
|
||||
|
||||
tr.item-details td {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
}
|
||||
|
||||
.items {
|
||||
font-size: 13;
|
||||
color: rgba(0, 0, 0, 0.6);
|
||||
text-align: center;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.note-header {
|
||||
font-size: 13;
|
||||
color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
|
||||
.note-text {
|
||||
font-size: 10;
|
||||
color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
|
||||
.padd8 {
|
||||
padding-top: 8px;
|
||||
padding-bottom: 8px;
|
||||
}
|
||||
|
||||
.table3 {
|
||||
border: 1px solid #EAF1FB;
|
||||
border-top: none;
|
||||
padding-right: 30px;
|
||||
box-sizing: border-box;
|
||||
width: 230px;
|
||||
height: 100px;
|
||||
position: absolute;
|
||||
right: -25;
|
||||
}
|
||||
|
||||
.text-per-item-table3 {
|
||||
border: 1px solid #EAF1FB;
|
||||
border-top: none;
|
||||
padding-right: 30px;
|
||||
box-sizing: border-box;
|
||||
width: 260px;
|
||||
/* height: 100px; */
|
||||
position: absolute;
|
||||
right: -25;
|
||||
}
|
||||
|
||||
.inv-item {
|
||||
border-color: #d9d9d9;
|
||||
}
|
||||
|
||||
.no-border {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.desc {
|
||||
font-weight: 100;
|
||||
text-align: justify;
|
||||
font-size: 10px;
|
||||
margin-bottom: 15px;
|
||||
margin-top:7px;
|
||||
color:rgba(0, 0, 0, 0.85);
|
||||
}
|
||||
|
||||
.company-details{
|
||||
text-align: center;
|
||||
width: 40%;
|
||||
}
|
||||
|
||||
.company-details h1 {
|
||||
margin:0;
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-size: 24px;
|
||||
line-height: 36px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.company-details h4 {
|
||||
margin:0;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 10px;
|
||||
line-height: 15px;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.company-details h3 {
|
||||
margin-bottom:1px;
|
||||
margin-top:0;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="header-table">
|
||||
<table width="100%">
|
||||
<tr>
|
||||
@if($logo)
|
||||
<td width="60%" class="header-left">
|
||||
<img class="header-logo" src="{{ $logo }}" alt="Company Logo">
|
||||
@else
|
||||
<td width="60%" class="header-left" style="padding-top: 0px;">
|
||||
@if($invoice->user->company)
|
||||
<h1 class="header-logo"> {{$invoice->user->company->name}} </h1>
|
||||
@endif
|
||||
@endif
|
||||
</td>
|
||||
<td width="40%" class="header-right company-details">
|
||||
<h1>Invoice</h1>
|
||||
<h4>{{$invoice->invoice_number}}</h4>
|
||||
<h4>{{$invoice->formattedInvoiceDate}}</h4>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="wrapper">
|
||||
<div class="address">
|
||||
<div class="company">
|
||||
@include('app.pdf.invoice.partials.company-address')
|
||||
</div>
|
||||
<div class="ship-address-container">
|
||||
@include('app.pdf.invoice.partials.shipping-address')
|
||||
</div>
|
||||
@if($invoice->user->shippingaddress->name || $invoice->user->shippingaddress->address_street_1 || $invoice->user->shippingaddress->address_street_2 || $invoice->user->shippingaddress->country || $invoice->user->shippingaddress->state || $invoice->user->shippingaddress->city || $invoice->user->shippingaddress->zip || $invoice->user->phone)
|
||||
<div class="bill-address-container">
|
||||
@else
|
||||
<div class="bill-address-container" style="float:right;padding-right:0px;">
|
||||
@endif
|
||||
@include('app.pdf.invoice.partials.billing-address')
|
||||
</div>
|
||||
</div>
|
||||
@include('app.pdf.invoice.partials.table')
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
432
resources/views/app/pdf/invoice/invoice3.blade.php
Normal file
432
resources/views/app/pdf/invoice/invoice3.blade.php
Normal file
@ -0,0 +1,432 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>Invoice</title>
|
||||
{{-- <link href="https://fonts.googleapis.com/css?family=Poppins&display=swap" rel="stylesheet"> --}}
|
||||
<style type="text/css">
|
||||
body {
|
||||
font-family: 'Roboto', sans-serif;
|
||||
}
|
||||
|
||||
html {
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
hr {
|
||||
color:rgba(0, 0, 0, 0.2);
|
||||
position: absolute;
|
||||
top: 140px;
|
||||
left: 0px;
|
||||
right: -70px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.header-left {
|
||||
padding-top: 45px;
|
||||
padding-bottom: 45px;
|
||||
padding-left: 30px;
|
||||
display:inline-block;
|
||||
width:30%;
|
||||
}
|
||||
.header-table {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 150px;
|
||||
left: 0px;
|
||||
top: 0px;
|
||||
|
||||
|
||||
}
|
||||
.header-logo {
|
||||
position: absolute;
|
||||
height: 50px;
|
||||
text-transform: capitalize;
|
||||
color: #817AE3;
|
||||
}
|
||||
.header-right {
|
||||
display:inline-block;
|
||||
position: absolute;
|
||||
right:0;
|
||||
padding: 15px 30px 15px 0px;
|
||||
float: right;
|
||||
}
|
||||
.inv-flex{
|
||||
display:flex;
|
||||
}
|
||||
.inv-data{
|
||||
text-align:right;
|
||||
margin-right:120px;
|
||||
}
|
||||
.inv-value{
|
||||
text-align:left;
|
||||
margin-left:160px;
|
||||
}
|
||||
.header {
|
||||
font-family: 'Roboto', sans-serif;
|
||||
font-size: 20px;
|
||||
color: rgba(0, 0, 0, 0.7);
|
||||
}
|
||||
|
||||
.TextColor1 {
|
||||
font-family: 'Roboto', sans-serif;
|
||||
font-size: 16px;
|
||||
color: rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
|
||||
.wrapper {
|
||||
display: block;
|
||||
padding-top: 110px;
|
||||
}
|
||||
|
||||
.address {
|
||||
display: inline-block;
|
||||
padding-top: 20px
|
||||
}
|
||||
|
||||
.bill-add {
|
||||
display: inline;
|
||||
float:left;
|
||||
width:40%;
|
||||
padding: 0 0 0 30px;
|
||||
}
|
||||
.company {
|
||||
padding-left: 30px;
|
||||
display: inline;
|
||||
float:left;
|
||||
width:30%;
|
||||
}
|
||||
|
||||
.company h1 {
|
||||
font-style: normal;
|
||||
font-weight: bold;
|
||||
font-size: 18px;
|
||||
line-height: 22px;
|
||||
letter-spacing: 0.05em;
|
||||
}
|
||||
|
||||
.company-add {
|
||||
text-align: left;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 10px;
|
||||
line-height: 15px;
|
||||
color: #595959;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
/* -------------------------- */
|
||||
/* shipping style */
|
||||
.ship-to {
|
||||
padding-top: 5px;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
.ship-user-name {
|
||||
padding: 0px;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 15px;
|
||||
line-height: 22px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.ship-user-address {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 10px;
|
||||
line-height: 15px;
|
||||
color: #595959;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.ship-user-phone {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 10px;
|
||||
line-height: 15px;
|
||||
color: #595959;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
/* -------------------------- */
|
||||
/* billing style */
|
||||
.bill-to {
|
||||
padding-top: 5px;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
.bill-user-name {
|
||||
padding: 0px;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 15px;
|
||||
line-height: 22px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.bill-user-address {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 10px;
|
||||
line-height: 15px;
|
||||
color: #595959;
|
||||
margin:0px;
|
||||
}
|
||||
|
||||
.bill-user-phone {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 10px;
|
||||
line-height: 15px;
|
||||
color: #595959;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
|
||||
.job-add {
|
||||
display: inline;
|
||||
position: absolute;
|
||||
float: right;
|
||||
padding: 20px 30px 0 0;
|
||||
}
|
||||
.amount-due {
|
||||
background-color: #f2f2f2;
|
||||
}
|
||||
|
||||
.textRight {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.textLeft {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.textStyle1 {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
}
|
||||
|
||||
.textStyle2 {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
text-align: right;
|
||||
}
|
||||
.main-table-header td {
|
||||
padding: 10px;
|
||||
}
|
||||
.main-table-header {
|
||||
border-bottom: 1px solid red;
|
||||
}
|
||||
tr.main-table-header td {
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
}
|
||||
tr.item-details td {
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 12px;
|
||||
line-height: 18px;
|
||||
}
|
||||
.table2 {
|
||||
margin-top: 188px;
|
||||
border-bottom: 1px solid #EAF1FB;
|
||||
padding: 0px 30px 0 30px;
|
||||
}
|
||||
|
||||
.table2 hr {
|
||||
height:0.1px;
|
||||
}
|
||||
|
||||
.ItemTableHeader {
|
||||
font-size: 13.5;
|
||||
text-align: center;
|
||||
color: rgba(0, 0, 0, 0.85);
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.items {
|
||||
font-size: 13;
|
||||
color: rgba(0, 0, 0, 0.6);
|
||||
text-align: center;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.note-header {
|
||||
font-size: 13;
|
||||
color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
|
||||
.note-text {
|
||||
font-size: 10;
|
||||
color: rgba(0, 0, 0, 0.6);
|
||||
}
|
||||
|
||||
.padd8 {
|
||||
padding-top: 8px;
|
||||
padding-bottom: 8px;
|
||||
}
|
||||
|
||||
.table3 {
|
||||
border: 1px solid #EAF1FB;
|
||||
border-top: none;
|
||||
padding-right: 30px;
|
||||
box-sizing: border-box;
|
||||
width: 230px;
|
||||
height: 100px;
|
||||
position: absolute;
|
||||
right: -25;
|
||||
}
|
||||
|
||||
.text-per-item-table3 {
|
||||
border: 1px solid #EAF1FB;
|
||||
border-top: none;
|
||||
padding-right: 30px;
|
||||
box-sizing: border-box;
|
||||
width: 260px;
|
||||
/* height: 100px; */
|
||||
position: absolute;
|
||||
right: -25;
|
||||
}
|
||||
|
||||
td.invoice-total1 {
|
||||
text-align:left;
|
||||
padding: 15px 0 15px 10px;
|
||||
font-size:12px;
|
||||
line-height: 18px;
|
||||
color: #55547A;
|
||||
border-bottom:1px solid #E8E8E8;
|
||||
border-top:1px solid #E8E8E8;
|
||||
border-left:1px solid #E8E8E8;
|
||||
}
|
||||
|
||||
td.invoice-total2 {
|
||||
font-weight: 500;
|
||||
text-align: right;
|
||||
font-size:12px;
|
||||
line-height: 18px;
|
||||
padding: 15px 10px 15px 0;
|
||||
color: #5851DB;
|
||||
border-bottom:1px solid #E8E8E8;
|
||||
border-top:1px solid #E8E8E8;
|
||||
border-right:1px solid #E8E8E8;
|
||||
}
|
||||
|
||||
.inv-item {
|
||||
border-color: #d9d9d9;
|
||||
}
|
||||
|
||||
.no-border {
|
||||
border: none;
|
||||
}
|
||||
.desc {
|
||||
font-weight: 100;
|
||||
text-align: justify;
|
||||
font-size: 10px;
|
||||
margin-bottom: 15px;
|
||||
margin-top:7px;
|
||||
color:rgba(0, 0, 0, 0.85);
|
||||
}
|
||||
.company-details h1 {
|
||||
margin:0;
|
||||
font-style: normal;
|
||||
font-weight: bold;
|
||||
font-size: 15px;
|
||||
line-height: 22px;
|
||||
letter-spacing: 0.05em;
|
||||
text-align: left;
|
||||
max-width: 220px;
|
||||
}
|
||||
.company-details h4 {
|
||||
margin:0;
|
||||
font-style: normal;
|
||||
font-weight: 100;
|
||||
font-size: 18px;
|
||||
line-height: 25px;
|
||||
text-align: right;
|
||||
}
|
||||
.company-details h3 {
|
||||
margin-bottom:1px;
|
||||
margin-top:0;
|
||||
}
|
||||
tr.total td {
|
||||
border-bottom:1px solid #E8E8E8;
|
||||
border-top:1px solid #E8E8E8;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="header-table">
|
||||
<table width="100%">
|
||||
<tr>
|
||||
@if($logo)
|
||||
<td class="header-left">
|
||||
<img class="header-logo" src="{{ $logo }}" alt="Company Logo">
|
||||
@else
|
||||
@if($invoice->user->company)
|
||||
<td class="header-left" style="padding-top:0px;">
|
||||
<h1 class="header-logo"> {{$invoice->user->company->name}} </h1>
|
||||
@endif
|
||||
@endif
|
||||
</td>
|
||||
<td class="header-right company-details">
|
||||
@include('app.pdf.invoice.partials.company-address')
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="wrapper">
|
||||
<div class="address">
|
||||
<div class="bill-add">
|
||||
<div style="float:left;">
|
||||
@include('app.pdf.invoice.partials.billing-address')
|
||||
</div>
|
||||
@if($invoice->user->billingaddress->name || $invoice->user->billingaddress->address_street_1 || $invoice->user->billingaddress->address_street_2 || $invoice->user->billingaddress->country || $invoice->user->billingaddress->state || $invoice->user->billingaddress->city || $invoice->user->billingaddress->zip || $invoice->user->billingaddress->phone)
|
||||
<div style="float:right;">
|
||||
@else
|
||||
<div style="float:left;">
|
||||
@endif
|
||||
@include('app.pdf.invoice.partials.shipping-address')
|
||||
</div>
|
||||
<div style="clear: both;"></div>
|
||||
</div>
|
||||
|
||||
<div class="job-add">
|
||||
<table>
|
||||
<tr>
|
||||
<td class="textStyle1" style="text-align: left; color: #55547A">Invoice Number</td>
|
||||
<td class="textStyle2"> {{$invoice->invoice_number}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="textStyle1" style="text-align: left; color: #55547A">Invoice Date </td>
|
||||
<td class="textStyle2"> {{$invoice->formattedInvoiceDate}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="textStyle1" style="text-align: left; color: #55547A">Due date</td>
|
||||
<td class="textStyle2"> {{$invoice->formattedDueDate}}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
@include('app.pdf.invoice.partials.table')
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@ -0,0 +1,35 @@
|
||||
@if($invoice->user->billingaddress)
|
||||
@if($invoice->user->billingaddress->name || $invoice->user->billingaddress->address_street_1 || $invoice->user->billingaddress->address_street_2 || $invoice->user->billingaddress->country || $invoice->user->billingaddress->state || $invoice->user->billingaddress->city || $invoice->user->billingaddress->zip || $invoice->user->billingaddress->phone)
|
||||
<p class="bill-to">Bill To,</p>
|
||||
@endif
|
||||
@if($invoice->user->billingaddress->name)
|
||||
<p class="bill-user-name">
|
||||
{{$invoice->user->billingaddress->name}}
|
||||
</p>
|
||||
@endif
|
||||
<p class="bill-user-address">
|
||||
@if($invoice->user->billingaddress->address_street_1)
|
||||
{{$invoice->user->billingaddress->address_street_1}}<br>
|
||||
@endif
|
||||
@if($invoice->user->billingaddress->address_street_2)
|
||||
{{$invoice->user->billingaddress->address_street_2}}<br>
|
||||
@endif
|
||||
@if($invoice->user->billingaddress->city && $invoice->user->billingaddress->city->name)
|
||||
{{$invoice->user->billingaddress->city->name}},
|
||||
@endif
|
||||
@if($invoice->user->billingaddress->state && $invoice->user->billingaddress->state->name)
|
||||
{{$invoice->user->billingaddress->state->name}}.
|
||||
@endif
|
||||
@if($invoice->user->billingaddress->zip)
|
||||
{{$invoice->user->billingaddress->zip}}<br>
|
||||
@endif
|
||||
@if($invoice->user->billingaddress->country && $invoice->user->billingaddress->country->name)
|
||||
{{$invoice->user->billingaddress->country->name}}<br>
|
||||
@endif
|
||||
@if($invoice->user->billingaddress->phone)
|
||||
<p class="bill-user-phone">
|
||||
Phone :{{$invoice->user->billingaddress->phone}}
|
||||
</p>
|
||||
@endif
|
||||
</p>
|
||||
@endif
|
||||
@ -0,0 +1,30 @@
|
||||
@if($invoice->user->company)
|
||||
<h1> {{$invoice->user->company->name}} </h1>
|
||||
@endif
|
||||
|
||||
@if($company_address)
|
||||
<p class="company-add">
|
||||
@if($company_address->addresses[0]['address_street_1'])
|
||||
{{$company_address->addresses[0]['address_street_1']}} <br>
|
||||
@endif
|
||||
|
||||
@if($company_address->addresses[0]['address_street_2'])
|
||||
{{$company_address->addresses[0]['address_street_2']}} <br>
|
||||
@endif
|
||||
@if($company_address->addresses[0]['city'])
|
||||
{{$company_address->addresses[0]['city']->name}}
|
||||
@endif
|
||||
@if($company_address->addresses[0]['state'])
|
||||
{{$company_address->addresses[0]['state']->name}}
|
||||
@endif
|
||||
@if($company_address->addresses[0]['zip'])
|
||||
{{$company_address->addresses[0]['zip']}} <br>
|
||||
@endif
|
||||
@if($company_address->addresses[0]['country'])
|
||||
{{$company_address->addresses[0]['country']->name}} <br>
|
||||
@endif
|
||||
@if($company_address->addresses[0]['phone'])
|
||||
{{$company_address->addresses[0]['phone']}} <br>
|
||||
@endif
|
||||
</p>
|
||||
@endif
|
||||
@ -0,0 +1,42 @@
|
||||
@if($invoice->user->shippingaddress)
|
||||
@if($invoice->user->shippingaddress->name || $invoice->user->shippingaddress->address_street_1 || $invoice->user->shippingaddress->address_street_2 || $invoice->user->shippingaddress->country || $invoice->user->shippingaddress->state || $invoice->user->shippingaddress->city || $invoice->user->shippingaddress->zip || $invoice->user->phone)
|
||||
<p class="ship-to">Ship To,</p>
|
||||
@endif
|
||||
@if($invoice->user->shippingaddress->name)
|
||||
<p class="ship-user-name">
|
||||
{{$invoice->user->shippingaddress->name}}
|
||||
</p>
|
||||
@endif
|
||||
<p class="ship-user-address">
|
||||
@if($invoice->user->shippingaddress->address_street_1)
|
||||
{{$invoice->user->shippingaddress->address_street_1}}<br>
|
||||
@endif
|
||||
|
||||
@if($invoice->user->shippingaddress->address_street_2)
|
||||
{{$invoice->user->shippingaddress->address_street_2}}<br>
|
||||
@endif
|
||||
|
||||
@if($invoice->user->shippingaddress->city && $invoice->user->shippingaddress->city->name)
|
||||
{{$invoice->user->shippingaddress->city->name}},
|
||||
@endif
|
||||
|
||||
@if($invoice->user->shippingaddress->state && $invoice->user->shippingaddress->state->name)
|
||||
{{$invoice->user->shippingaddress->state->name}}.
|
||||
@endif
|
||||
|
||||
@if($invoice->user->shippingaddress->zip)
|
||||
{{$invoice->user->shippingaddress->zip}}<br>
|
||||
@endif
|
||||
|
||||
@if($invoice->user->shippingaddress->country && $invoice->user->shippingaddress->country->name)
|
||||
{{$invoice->user->shippingaddress->country->name}}<br>
|
||||
@endif
|
||||
|
||||
@if($invoice->user->phone)
|
||||
<p class="ship-user-phone">
|
||||
Phone :{{$invoice->user->shippingaddress->phone}}
|
||||
</p>
|
||||
@endif
|
||||
|
||||
</p>
|
||||
@endif
|
||||
89
resources/views/app/pdf/invoice/partials/table.blade.php
Normal file
89
resources/views/app/pdf/invoice/partials/table.blade.php
Normal file
@ -0,0 +1,89 @@
|
||||
<table width="100%" class="table2" cellspacing="0" border="0">
|
||||
<tr class="main-table-header">
|
||||
<td width="40%" class="ItemTableHeader" style="text-align: left; color: #55547A; padding-left: 0px">Items</td>
|
||||
<td width="17%" class="ItemTableHeader" style="text-align: right; color: #55547A; padding-right: 20px">Quantity</td>
|
||||
<td width="18%" class="ItemTableHeader" style="text-align: left; color: #55547A; padding-left: 40px">Price</td>
|
||||
<td width="10%" class="ItemTableHeader" style="text-align: left; color: #55547A; padding-left: 10px">Discount</td>
|
||||
<td width="15%" class="ItemTableHeader" style="text-align: right; color: #55547A;">Amount</td>
|
||||
</tr>
|
||||
@foreach ($invoice->items as $item)
|
||||
<tr class="item-details">
|
||||
<td width="40%" class="inv-item items" style="text-align: left; color: #040405;padding-left: 0px">
|
||||
<span>{{ $item->name }}</span><br>
|
||||
<span style="text-align: left; color: #595959; font-size: 9px; font-weight:300; line-height: 12px;">{{ $item->description }}</span>
|
||||
</td>
|
||||
<td width="17%" class="inv-item items" style="text-align: right; color: #040405; padding-right: 20px">{{$item->quantity}}</td>
|
||||
<td width="18%" class="inv-item items" style="text-align: left; color: #040405; padding-left: 40px">{{$item->price/100}}</td>
|
||||
<td width="10%" class="inv-item items" style="text-align: left; color: #040405; padding-left: 10px">
|
||||
@if($item->discount_type === 'fixed')
|
||||
{{$item->discount_val/100}}
|
||||
@endif
|
||||
@if($item->discount_type === 'percentage')
|
||||
{{$item->discount}}%
|
||||
@endif
|
||||
</td>
|
||||
<td width="15%" class="inv-item items" style="text-align: right; color: #040405">{{$item->total/100}}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</table>
|
||||
|
||||
<table width="100%" cellspacing="0px" border="0" class="text-per-item-table3 @if(count($invoice->items) > 12) page-break @endif">
|
||||
<tr>
|
||||
<td class="no-borde" style="color: #55547A; padding-left:10px; line-height: 18px; font-size:12px;">Subtotal</td>
|
||||
<td class="no-border items"
|
||||
style="padding-right:10px; text-align: right; line-height: 18px; font-size:12px; color: #040405; font-weight: 500;">{!! format_money_pdf($invoice->sub_total) !!}</td>
|
||||
</tr>
|
||||
|
||||
@if ($invoice->tax_per_item === 'YES')
|
||||
@for ($i = 0; $i < count($labels); $i++)
|
||||
<tr>
|
||||
<td class="no-border" style="padding-left:10px; text-align:left; font-size:12px; line-height: 18px; color: #55547A;">
|
||||
{{$labels[$i]}}
|
||||
</td>
|
||||
<td class="no-border items padd8" style="padding-right:10px; font-weight: 500; text-align: right; font-size:12px; line-height: 18px; color: #040405">
|
||||
{!! format_money_pdf($taxes[$i]) !!}
|
||||
</td>
|
||||
</tr>
|
||||
@endfor
|
||||
@else
|
||||
@foreach ($invoice->taxes as $tax)
|
||||
<tr>
|
||||
<td class="no-border" style="padding-left:10px; text-align:left; font-size:12px; line-height: 18px; color: #55547A;">
|
||||
{{$tax->name.' ('.$tax->percent.'%)'}}
|
||||
</td>
|
||||
<td class="no-border items padd8" style="padding-right:10px; font-weight: 500; text-align: right; font-size:12px; line-height: 18px; color: #040405">
|
||||
{!! format_money_pdf($tax->amount) !!}
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
@endif
|
||||
|
||||
@if ($invoice->discount_per_item === 'NO')
|
||||
<tr>
|
||||
<td class="no-border" style="padding-left:10px; text-align:left; font-size:12px; color: #55547A;">
|
||||
Discount
|
||||
</td>
|
||||
<td class="no-border items padd8" style="padding-right:10px; font-weight: 500; text-align: right; font-size:12px; color: #040405">
|
||||
@if($invoice->discount_type === 'fixed')
|
||||
{!! format_money_pdf($invoice->discount_val) !!}
|
||||
@endif
|
||||
@if($invoice->discount_type === 'percentage')
|
||||
{{$invoice->discount}}% ({!! format_money_pdf($invoice->discount_val) !!})
|
||||
@endif
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
<tr style="border: 1px solid;" >
|
||||
<td class="no-border total-border-left"
|
||||
style="padding-left:10px; padding-bottom:10px; text-align:left; padding-top:20px; font-size:12px; line-height: 18px; color: #55547A;"
|
||||
>
|
||||
<label class="total-bottom"> Total </label>
|
||||
</td>
|
||||
<td
|
||||
class="no-border total-border-right items padd8"
|
||||
style="padding-right:10px; font-weight: 500; text-align: right; font-size:12px; line-height: 18px; padding-top:20px; color: #5851DB"
|
||||
>
|
||||
{!! format_money_pdf($invoice->total)!!}
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
214
resources/views/app/pdf/reports/expenses.blade.php
Normal file
214
resources/views/app/pdf/reports/expenses.blade.php
Normal file
@ -0,0 +1,214 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Expenses Report</title>
|
||||
{{-- <link href="https://fonts.googleapis.com/css?family=Poppins&display=swap" rel="stylesheet"> --}}
|
||||
<style type="text/css">
|
||||
body {
|
||||
font-family: 'Roboto', sans-serif;
|
||||
}
|
||||
|
||||
/* html {
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
} */
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
.main-container {
|
||||
/* padding: 30px 60px; */
|
||||
}
|
||||
|
||||
.sub-container{
|
||||
padding: 0px 20px;
|
||||
}
|
||||
|
||||
.header {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.heading-text {
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-size: 24px;
|
||||
color: #5851D8;
|
||||
width: 100%;
|
||||
text-align: left;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.heading-date-range {
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-size: 15px;
|
||||
color: #A5ACC1;
|
||||
width: 100%;
|
||||
text-align: right;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.sub-heading-text {
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-size: 16px;
|
||||
/* line-height: 21px; */
|
||||
color: #595959;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
margin-top: 6px;
|
||||
}
|
||||
|
||||
.expenses-title {
|
||||
margin-top: 60px;
|
||||
padding-left: 3px;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 16px;
|
||||
line-height: 21px;
|
||||
color: #040405;
|
||||
}
|
||||
|
||||
.expenses-table-container {
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
.expenses-table {
|
||||
width: 100%;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
|
||||
.expense-title {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 14px;
|
||||
line-height: 21px;
|
||||
color: #595959;
|
||||
}
|
||||
|
||||
.expense-money {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 14px;
|
||||
line-height: 21px;
|
||||
text-align: right;
|
||||
color: #595959;
|
||||
}
|
||||
|
||||
.expense-total-table {
|
||||
border-top: 1px solid #EAF1FB;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.expense-total-cell {
|
||||
padding-right: 20px;
|
||||
padding-top: 10px;
|
||||
}
|
||||
|
||||
.expense-total {
|
||||
padding-top: 10px;
|
||||
padding-right: 30px;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
text-align: right;
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-size: 16px;
|
||||
line-height: 21px;
|
||||
text-align: right;
|
||||
color: #040405;
|
||||
}
|
||||
|
||||
.total-expense-table {
|
||||
width: 100%;
|
||||
margin-top: 40px;
|
||||
padding: 15px 20px;
|
||||
background: #F9FBFF;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.total-expense-title {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
text-align: left;
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-size: 16px;
|
||||
line-height: 21px;
|
||||
color: #595959;
|
||||
}
|
||||
|
||||
.total-expense-money {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
text-align: right;
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-size: 20px;
|
||||
line-height: 21px;
|
||||
color: #5851D8;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="main-container">
|
||||
<div class="sub-container">
|
||||
<table class="header">
|
||||
<tr>
|
||||
<td>
|
||||
<p class="heading-text">{{ $company->name }}</p>
|
||||
</td>
|
||||
<td>
|
||||
<p class="heading-date-range">{{ $from_date }} - {{ $to_date }}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<p class="sub-heading-text">EXPENSES REPORT</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p class="expenses-title">Expenses</p>
|
||||
<div class="expenses-table-container">
|
||||
<table class="expenses-table">
|
||||
@foreach ($expenseCategories as $expenseCategory)
|
||||
<tr>
|
||||
<td>
|
||||
<p class="expense-title">{{ $expenseCategory->category->name }}</p>
|
||||
</td>
|
||||
<td>
|
||||
<p class="expense-money">{!! format_money_pdf($expenseCategory->total_amount) !!}</p>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<table class="expense-total-table">
|
||||
<tr>
|
||||
<td class="expense-total-cell">
|
||||
<p class="expense-total">{!! format_money_pdf($totalExpense) !!}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table class="total-expense-table">
|
||||
<tr>
|
||||
<td>
|
||||
<p class="total-expense-title">TOTAL EXPENSE</p>
|
||||
</td>
|
||||
<td>
|
||||
<p class="total-expense-money">{!! format_money_pdf($totalExpense) !!}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
254
resources/views/app/pdf/reports/profit-loss.blade.php
Normal file
254
resources/views/app/pdf/reports/profit-loss.blade.php
Normal file
@ -0,0 +1,254 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Profit & Loss Report</title>
|
||||
{{-- <link href="https://fonts.googleapis.com/css?family=Poppins&display=swap" rel="stylesheet"> --}}
|
||||
<style type="text/css">
|
||||
body {
|
||||
font-family: 'Roboto', sans-serif;
|
||||
}
|
||||
|
||||
html {
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
.main-container {
|
||||
padding: 30px 60px;
|
||||
}
|
||||
|
||||
.sub-container{
|
||||
padding: 0px 20px;
|
||||
}
|
||||
|
||||
.header {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.heading-text {
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-size: 24px;
|
||||
color: #5851D8;
|
||||
width: 100%;
|
||||
text-align: left;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.heading-date-range {
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-size: 15px;
|
||||
color: #A5ACC1;
|
||||
width: 100%;
|
||||
text-align: right;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.sub-heading-text {
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-size: 16px;
|
||||
/* line-height: 21px; */
|
||||
color: #595959;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
margin-top: 6px;
|
||||
}
|
||||
|
||||
.income-table {
|
||||
margin-top: 53px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.income-title {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 16px;
|
||||
line-height: 21px;
|
||||
color: #040405;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.income-money {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-size: 16px;
|
||||
line-height: 21px;
|
||||
text-align: right;
|
||||
color: #040405;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.expenses-title {
|
||||
margin-top: 20px;
|
||||
padding-left: 3px;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 16px;
|
||||
line-height: 21px;
|
||||
color: #040405;
|
||||
}
|
||||
|
||||
.expenses-table-container {
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
.expenses-table {
|
||||
width: 100%;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
|
||||
.expense-title {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 14px;
|
||||
line-height: 21px;
|
||||
color: #595959;
|
||||
}
|
||||
|
||||
.expense-money {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 14px;
|
||||
line-height: 21px;
|
||||
text-align: right;
|
||||
color: #595959;
|
||||
}
|
||||
|
||||
.expense-total-table {
|
||||
border-top: 1px solid #EAF1FB;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.expense-total-cell {
|
||||
padding-right: 20px;
|
||||
padding-top: 10px;
|
||||
}
|
||||
|
||||
.expense-total {
|
||||
padding-top: 10px;
|
||||
padding-right: 30px;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
text-align: right;
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-size: 16px;
|
||||
line-height: 21px;
|
||||
text-align: right;
|
||||
color: #040405;
|
||||
}
|
||||
|
||||
.profit-table {
|
||||
width: 100%;
|
||||
margin-top: 40px;
|
||||
padding: 15px 20px;
|
||||
background: #F9FBFF;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.profit-title {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
text-align: left;
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-size: 16px;
|
||||
line-height: 21px;
|
||||
color: #595959;
|
||||
}
|
||||
|
||||
.profit-money {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
text-align: right;
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-size: 20px;
|
||||
line-height: 21px;
|
||||
color: #5851D8;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="main-container">
|
||||
<div class="sub-container">
|
||||
<table class="header">
|
||||
<tr>
|
||||
<td>
|
||||
<p class="heading-text">{{ $company->name }}</p>
|
||||
</td>
|
||||
<td>
|
||||
<p class="heading-date-range">{{ $from_date }} - {{ $to_date }}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<p class="sub-heading-text">PROFIT & LOSS REPORT</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<table class="income-table">
|
||||
<tr>
|
||||
<td>
|
||||
<p class="income-title">Income</p>
|
||||
</td>
|
||||
<td>
|
||||
<p class="income-money">{!! format_money_pdf($income) !!}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p class="expenses-title">Expenses</p>
|
||||
<div class="expenses-table-container">
|
||||
<table class="expenses-table">
|
||||
@foreach ($expenseCategories as $expenseCategory)
|
||||
<tr>
|
||||
<td>
|
||||
<p class="expense-title">{{ $expenseCategory->category->name }}</p>
|
||||
</td>
|
||||
<td>
|
||||
<p class="expense-money">{!! format_money_pdf($expenseCategory->total_amount) !!}</p>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<table class="expense-total-table">
|
||||
<tr>
|
||||
<td class="expense-total-cell">
|
||||
<p class="expense-total">{!! format_money_pdf($totalExpense) !!}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table class="profit-table">
|
||||
<tr>
|
||||
<td>
|
||||
<p class="profit-title">NET PROFIT</p>
|
||||
</td>
|
||||
<td>
|
||||
<p class="profit-money">{!! format_money_pdf(($income-$totalExpense)) !!}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
258
resources/views/app/pdf/reports/sales-customers.blade.php
Normal file
258
resources/views/app/pdf/reports/sales-customers.blade.php
Normal file
@ -0,0 +1,258 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Sales Customer Report</title>
|
||||
{{-- <link href="https://fonts.googleapis.com/css?family=Poppins&display=swap" rel="stylesheet"> --}}
|
||||
<style type="text/css">
|
||||
body {
|
||||
font-family: 'Roboto', sans-serif;
|
||||
}
|
||||
|
||||
/* html {
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
} */
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
.main-container {
|
||||
/* padding: 30px 80px; */
|
||||
}
|
||||
|
||||
.sub-container{
|
||||
padding: 0px 20px;
|
||||
}
|
||||
|
||||
.header {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.heading-text {
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-size: 24px;
|
||||
color: #5851D8;
|
||||
width: 100%;
|
||||
text-align: left;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.heading-date-range {
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-size: 15px;
|
||||
color: #A5ACC1;
|
||||
width: 100%;
|
||||
text-align: right;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.sub-heading-text {
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-size: 16px;
|
||||
line-height: 21px;
|
||||
color: #595959;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
.income-table {
|
||||
margin-top: 53px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.income-title {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 16px;
|
||||
line-height: 21px;
|
||||
color: #040405;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.income-money {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-size: 16px;
|
||||
line-height: 21px;
|
||||
text-align: right;
|
||||
color: #040405;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.expenses-title {
|
||||
margin-top: 20px;
|
||||
padding-left: 3px;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 16px;
|
||||
line-height: 21px;
|
||||
color: #040405;
|
||||
}
|
||||
|
||||
.expenses-table-container {
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
.expenses-table {
|
||||
width: 100%;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
|
||||
.expense-title {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 14px;
|
||||
line-height: 21px;
|
||||
color: #595959;
|
||||
}
|
||||
|
||||
.expense-money {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 14px;
|
||||
line-height: 21px;
|
||||
text-align: right;
|
||||
color: #595959;
|
||||
}
|
||||
|
||||
.expense-total-table {
|
||||
border-top: 1px solid #EAF1FB;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.expense-total-cell {
|
||||
padding-top: 10px;
|
||||
}
|
||||
|
||||
.expense-total {
|
||||
padding-top: 10px;
|
||||
padding-right: 30px;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
text-align: right;
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-size: 16px;
|
||||
line-height: 21px;
|
||||
text-align: right;
|
||||
color: #040405;
|
||||
}
|
||||
|
||||
.profit-table {
|
||||
width: 100%;
|
||||
margin-top: 40px;
|
||||
padding: 15px 20px;
|
||||
background: #F9FBFF;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.profit-title {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
text-align: left;
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-size: 16px;
|
||||
line-height: 21px;
|
||||
color: #595959;
|
||||
}
|
||||
|
||||
.profit-money {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
text-align: right;
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-size: 20px;
|
||||
line-height: 21px;
|
||||
color: #5851D8;
|
||||
}
|
||||
.text-center {
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="main-container">
|
||||
<div class="sub-container">
|
||||
<table class="header">
|
||||
<tr>
|
||||
<td>
|
||||
<p class="heading-text">{{ $company->name }}</p>
|
||||
</td>
|
||||
<td>
|
||||
<p class="heading-date-range">{{ $from_date }} - {{ $to_date }}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<p class="sub-heading-text text-center">Sales Report: By Customer</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
{{-- <table class="income-table">
|
||||
<tr>
|
||||
<td>
|
||||
<p class="income-title">Income</p>
|
||||
</td>
|
||||
<td>
|
||||
<p class="income-money">{{ $income }}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table> --}}
|
||||
@foreach ($customers as $customer)
|
||||
<p class="expenses-title">{{ $customer->name }}</p>
|
||||
<div class="expenses-table-container">
|
||||
<table class="expenses-table">
|
||||
@foreach ($customer->invoices as $invoice)
|
||||
<tr>
|
||||
<td>
|
||||
<p class="expense-title">{{ $invoice->formattedInvoiceDate }} ({{ $invoice->invoice_number }})</p>
|
||||
</td>
|
||||
<td>
|
||||
<p class="expense-money">{!! format_money_pdf($invoice->total) !!}</p>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</table>
|
||||
</div>
|
||||
<table class="expense-total-table">
|
||||
<tr>
|
||||
<td class="expense-total-cell">
|
||||
<p class="expense-total">{!! format_money_pdf($customer->totalAmount) !!}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
@endforeach
|
||||
</div>
|
||||
|
||||
|
||||
<table class="profit-table">
|
||||
<tr>
|
||||
<td>
|
||||
<p class="profit-title">TOTAL SALES</p>
|
||||
</td>
|
||||
<td>
|
||||
<p class="profit-money">{!! format_money_pdf($totalAmount) !!}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
257
resources/views/app/pdf/reports/sales-items.blade.php
Normal file
257
resources/views/app/pdf/reports/sales-items.blade.php
Normal file
@ -0,0 +1,257 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Sales Item Report</title>
|
||||
{{-- <link href="https://fonts.googleapis.com/css?family=Poppins&display=swap" rel="stylesheet"> --}}
|
||||
<style type="text/css">
|
||||
body {
|
||||
font-family: 'Roboto', sans-serif;
|
||||
}
|
||||
|
||||
/* html {
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
} */
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
.main-container {
|
||||
/* padding: 30px 80px; */
|
||||
}
|
||||
|
||||
.sub-container{
|
||||
padding: 0px 20px;
|
||||
}
|
||||
|
||||
.header {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.heading-text {
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-size: 24px;
|
||||
color: #5851D8;
|
||||
width: 100%;
|
||||
text-align: left;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.heading-date-range {
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-size: 15px;
|
||||
color: #A5ACC1;
|
||||
width: 100%;
|
||||
text-align: right;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.sub-heading-text {
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-size: 16px;
|
||||
line-height: 21px;
|
||||
color: #595959;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
.income-table {
|
||||
margin-top: 53px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.income-title {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 16px;
|
||||
line-height: 21px;
|
||||
color: #040405;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.income-money {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-size: 16px;
|
||||
line-height: 21px;
|
||||
text-align: right;
|
||||
color: #040405;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.expenses-title {
|
||||
margin-top: 20px;
|
||||
padding-left: 3px;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 16px;
|
||||
line-height: 21px;
|
||||
color: #040405;
|
||||
}
|
||||
|
||||
.expenses-table-container {
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
.expenses-table {
|
||||
width: 100%;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
|
||||
.expense-title {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 14px;
|
||||
line-height: 21px;
|
||||
color: #595959;
|
||||
}
|
||||
|
||||
.expense-money {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 14px;
|
||||
line-height: 21px;
|
||||
text-align: right;
|
||||
color: #595959;
|
||||
}
|
||||
|
||||
.expense-total-table {
|
||||
border-top: 1px solid #EAF1FB;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.expense-total-cell {
|
||||
padding-top: 10px;
|
||||
}
|
||||
|
||||
.expense-total {
|
||||
padding-top: 10px;
|
||||
padding-right: 30px;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
text-align: right;
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-size: 16px;
|
||||
line-height: 21px;
|
||||
text-align: right;
|
||||
color: #040405;
|
||||
}
|
||||
|
||||
.profit-table {
|
||||
width: 100%;
|
||||
margin-top: 40px;
|
||||
padding: 15px 20px;
|
||||
background: #F9FBFF;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.profit-title {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
text-align: left;
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-size: 16px;
|
||||
line-height: 21px;
|
||||
color: #595959;
|
||||
}
|
||||
|
||||
.profit-money {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
text-align: right;
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-size: 20px;
|
||||
line-height: 21px;
|
||||
color: #5851D8;
|
||||
}
|
||||
.text-center {
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="main-container">
|
||||
<div class="sub-container">
|
||||
<table class="header">
|
||||
<tr>
|
||||
<td>
|
||||
<p class="heading-text">{{ $company->name }}</p>
|
||||
</td>
|
||||
<td>
|
||||
<p class="heading-date-range">{{ $from_date }} - {{ $to_date }}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<p class="sub-heading-text text-center">Sales Report: By Item</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
{{-- <table class="income-table">
|
||||
<tr>
|
||||
<td>
|
||||
<p class="income-title">Income</p>
|
||||
</td>
|
||||
<td>
|
||||
<p class="income-money">{{ $income }}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table> --}}
|
||||
<p class="expenses-title">Items</p>
|
||||
@foreach ($items as $item)
|
||||
<div class="expenses-table-container">
|
||||
<table class="expenses-table">
|
||||
<tr>
|
||||
<td>
|
||||
<p class="expense-title">{{ $item->item->name }}</p>
|
||||
</td>
|
||||
<td>
|
||||
<p class="expense-money">{!! format_money_pdf($item->total_amount) !!}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
@endforeach
|
||||
|
||||
<table class="expense-total-table">
|
||||
<tr>
|
||||
<td class="expense-total-cell">
|
||||
<p class="expense-total">{!! format_money_pdf($totalAmount) !!}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
<table class="profit-table">
|
||||
<tr>
|
||||
<td>
|
||||
<p class="profit-title">TOTAL SALES</p>
|
||||
</td>
|
||||
<td>
|
||||
<p class="profit-money">{!! format_money_pdf($totalAmount) !!}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
226
resources/views/app/pdf/reports/tax-summary.blade.php
Normal file
226
resources/views/app/pdf/reports/tax-summary.blade.php
Normal file
@ -0,0 +1,226 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>Tax Summary Report</title>
|
||||
{{-- <link href="https://fonts.googleapis.com/css?family=Poppins&display=swap" rel="stylesheet"> --}}
|
||||
<style type="text/css">
|
||||
body {
|
||||
font-family: 'Roboto', sans-serif;
|
||||
}
|
||||
|
||||
/* html {
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
} */
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
.main-container {
|
||||
/* padding: 30px 60px; */
|
||||
}
|
||||
|
||||
.sub-container{
|
||||
padding: 0px 20px;
|
||||
}
|
||||
|
||||
.header {
|
||||
width: 100%;
|
||||
margin-bottom: 60px
|
||||
}
|
||||
|
||||
.heading-text {
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-size: 24px;
|
||||
color: #5851D8;
|
||||
width: 100%;
|
||||
text-align: left;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.heading-date-range {
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-size: 15px;
|
||||
color: #A5ACC1;
|
||||
width: 100%;
|
||||
text-align: right;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.sub-heading-text {
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-size: 16px;
|
||||
/* line-height: 21px; */
|
||||
color: #595959;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
margin-top: 6px;
|
||||
}
|
||||
|
||||
.types-title {
|
||||
margin-top: 20px;
|
||||
padding-left: 3px;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 16px;
|
||||
line-height: 21px;
|
||||
color: #040405;
|
||||
}
|
||||
|
||||
.tax-title {
|
||||
margin-top: 60px;
|
||||
padding-left: 3px;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 16px;
|
||||
line-height: 21px;
|
||||
color: #040405;
|
||||
}
|
||||
|
||||
.tax-table-container {
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
.tax-table {
|
||||
width: 100%;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
|
||||
.tax-title {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 14px;
|
||||
line-height: 21px;
|
||||
color: #595959;
|
||||
}
|
||||
|
||||
.tax-money {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-size: 14px;
|
||||
line-height: 21px;
|
||||
text-align: right;
|
||||
color: #595959;
|
||||
}
|
||||
|
||||
.tax-total-table {
|
||||
border-top: 1px solid #EAF1FB;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.tax-total-cell {
|
||||
padding-right: 20px;
|
||||
padding-top: 10px;
|
||||
}
|
||||
|
||||
.tax-total {
|
||||
padding-top: 10px;
|
||||
padding-right: 30px;
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
text-align: right;
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-size: 16px;
|
||||
line-height: 21px;
|
||||
text-align: right;
|
||||
color: #040405;
|
||||
}
|
||||
|
||||
.total-tax-table {
|
||||
width: 100%;
|
||||
margin-top: 40px;
|
||||
padding: 15px 20px;
|
||||
background: #F9FBFF;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.total-tax-title {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
text-align: left;
|
||||
font-style: normal;
|
||||
font-weight: 600;
|
||||
font-size: 16px;
|
||||
line-height: 21px;
|
||||
color: #595959;
|
||||
}
|
||||
|
||||
.total-tax-money {
|
||||
padding: 0px;
|
||||
margin: 0px;
|
||||
text-align: right;
|
||||
font-style: normal;
|
||||
font-weight: 500;
|
||||
font-size: 20px;
|
||||
line-height: 21px;
|
||||
color: #5851D8;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="main-container">
|
||||
<div class="sub-container">
|
||||
<table class="header">
|
||||
<tr>
|
||||
<td>
|
||||
<p class="heading-text">{{ $company->name }}</p>
|
||||
</td>
|
||||
<td>
|
||||
<p class="heading-date-range">{{ $from_date }} - {{ $to_date }}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<p class="sub-heading-text">TAX REPORT</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<p class="types-title">Tax Types</p>
|
||||
<div class="tax-table-container">
|
||||
<table class="tax-table">
|
||||
@foreach ($taxTypes as $tax)
|
||||
<tr>
|
||||
<td>
|
||||
<p class="tax-title">{{ $tax->taxType->name }}</p>
|
||||
</td>
|
||||
<td>
|
||||
<p class="tax-money">{!! format_money_pdf($tax->total_tax_amount) !!}</p>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<table class="tax-total-table">
|
||||
<tr>
|
||||
<td class="tax-total-cell">
|
||||
<p class="tax-total">{!! format_money_pdf($totalTaxAmount) !!}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table class="total-tax-table">
|
||||
<tr>
|
||||
<td>
|
||||
<p class="total-tax-title">TOTAL TAX</p>
|
||||
</td>
|
||||
<td>
|
||||
<p class="total-tax-money">{!! format_money_pdf($totalTaxAmount) !!}</p>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
10
resources/views/emails/send/estimate.blade.php
Normal file
10
resources/views/emails/send/estimate.blade.php
Normal file
@ -0,0 +1,10 @@
|
||||
@component('mail::message')
|
||||
Check your estimate.
|
||||
|
||||
@component('mail::button', ['url' => url('/customer/estimates/pdf/'.$data['estimate']['unique_hash'])])
|
||||
Get your estimate
|
||||
@endcomponent
|
||||
|
||||
Thanks,<br>
|
||||
{{ config('app.name') }}
|
||||
@endcomponent
|
||||
10
resources/views/emails/send/invoice.blade.php
Normal file
10
resources/views/emails/send/invoice.blade.php
Normal file
@ -0,0 +1,10 @@
|
||||
@component('mail::message')
|
||||
Thanks for buying.
|
||||
|
||||
@component('mail::button', ['url' => url('/customer/invoices/pdf/'.$data['invoice']['unique_hash'])])
|
||||
Get your invoice
|
||||
@endcomponent
|
||||
|
||||
Thanks,<br>
|
||||
{{ config('app.name') }}
|
||||
@endcomponent
|
||||
11
resources/views/emails/viewed/estimate.blade.php
Normal file
11
resources/views/emails/viewed/estimate.blade.php
Normal file
@ -0,0 +1,11 @@
|
||||
@component('mail::message')
|
||||
# Introduction
|
||||
Customer viewed this Estimate.
|
||||
|
||||
@component('mail::button', ['url' => url('/admin/estimates/'.$data['estimate']['id'].'/view')])
|
||||
Estimate
|
||||
@endcomponent
|
||||
|
||||
Thanks,<br>
|
||||
{{ config('app.name') }}
|
||||
@endcomponent
|
||||
11
resources/views/emails/viewed/invoice.blade.php
Normal file
11
resources/views/emails/viewed/invoice.blade.php
Normal file
@ -0,0 +1,11 @@
|
||||
@component('mail::message')
|
||||
# Introduction
|
||||
Customer viewed this Invoice.
|
||||
|
||||
@component('mail::button', ['url' => url('/admin/invoices/'.$data['invoice']['id'].'/view')])
|
||||
Invoice
|
||||
@endcomponent
|
||||
|
||||
Thanks,<br>
|
||||
{{ config('app.name') }}
|
||||
@endcomponent
|
||||
1
resources/views/vendor/.gitkeep
vendored
Normal file
1
resources/views/vendor/.gitkeep
vendored
Normal file
@ -0,0 +1 @@
|
||||
|
||||
Reference in New Issue
Block a user