view order page updates
This commit is contained in:
parent
4eb858aed7
commit
fb5ee7c6d7
|
|
@ -19,6 +19,7 @@
|
|||
"vue-carousel": "^0.18.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"accounting": "^0.4.1",
|
||||
"bootstrap-sass": "^3.4.1",
|
||||
"font-awesome": "^4.7.0",
|
||||
"material-icons": "^0.3.1",
|
||||
|
|
|
|||
|
|
@ -232,7 +232,7 @@
|
|||
content: "\E92E";
|
||||
}
|
||||
|
||||
.rango-eye-visible:before, .table .action .eye-icon:before {
|
||||
.rango-eye-visible:before, .account-content .account-layout .account-table-content #datagrid-filters ~ table.table tbody tr .action .eye-icon:before {
|
||||
content: "\E92F";
|
||||
}
|
||||
|
||||
|
|
@ -886,7 +886,7 @@
|
|||
background-color: #111111;
|
||||
}
|
||||
|
||||
.customer-rating .theme-btn.light, .customer-rating .cart-details .light.continue-shopping-btn, .cart-details .customer-rating .light.continue-shopping-btn, .customer-rating .account-content .account-layout .bottom-toolbar .pagination .page-item, .account-content .account-layout .bottom-toolbar .pagination .customer-rating .page-item {
|
||||
.customer-rating .theme-btn.light, .customer-rating .cart-details .light.continue-shopping-btn, .cart-details .customer-rating .light.continue-shopping-btn, .customer-rating .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.light.btn, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .customer-rating button.light.btn, .customer-rating .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .quantity button.light, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .quantity .customer-rating button.light, .customer-rating .quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.light, .quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .customer-rating button.light, .customer-rating .quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination button.page-item, .quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination .customer-rating button.page-item, .customer-rating .quantity .account-content .account-layout .bottom-toolbar .pagination .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.page-item, .quantity .account-content .account-layout .bottom-toolbar .pagination .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .customer-rating button.page-item, .customer-rating .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination .quantity button.page-item, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination .quantity .customer-rating button.page-item, .customer-rating .account-content .account-layout .bottom-toolbar .pagination .quantity .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.page-item, .account-content .account-layout .bottom-toolbar .pagination .quantity .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .customer-rating button.page-item, .customer-rating .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination button.btn.page-item, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination .customer-rating button.btn.page-item, .customer-rating .account-content .account-layout .bottom-toolbar .pagination .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.btn.page-item, .account-content .account-layout .bottom-toolbar .pagination .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .customer-rating button.btn.page-item, .customer-rating .account-content .account-layout .bottom-toolbar .pagination .page-item, .account-content .account-layout .bottom-toolbar .pagination .customer-rating .page-item {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
|
|
@ -1026,12 +1026,12 @@
|
|||
}
|
||||
|
||||
.product-card-new .product-image-container {
|
||||
height: 225px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.product-card-new .product-image-container img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.product-card-new .card-current-price {
|
||||
|
|
@ -1123,7 +1123,7 @@
|
|||
height: 35px;
|
||||
border-radius: 0px;
|
||||
vertical-align: top;
|
||||
padding: 0 10px !important;
|
||||
padding: 0 6px !important;
|
||||
font-size: 24px !important;
|
||||
font-weight: 600 !important;
|
||||
color: #000000 !important;
|
||||
|
|
@ -1136,7 +1136,7 @@
|
|||
}
|
||||
|
||||
.quantity input {
|
||||
max-width: 28px;
|
||||
max-width: 40px;
|
||||
cursor: default;
|
||||
font-size: 16px !important;
|
||||
border-left: 0px !important;
|
||||
|
|
@ -1488,7 +1488,6 @@
|
|||
.account-content .sidebar .customer-sidebar .navigation li {
|
||||
width: 100%;
|
||||
padding: 10px 15px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.account-content .sidebar .customer-sidebar .navigation li:hover, .account-content .sidebar .customer-sidebar .navigation li.active {
|
||||
|
|
@ -1598,10 +1597,10 @@
|
|||
|
||||
.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters {
|
||||
right: 0;
|
||||
padding: 0;
|
||||
width: 220px;
|
||||
border: unset;
|
||||
position: relative;
|
||||
padding: 10px 15px;
|
||||
border: 1px solid #CCCCCC;
|
||||
}
|
||||
|
||||
.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .grid-dropdown-header {
|
||||
|
|
@ -1612,13 +1611,73 @@
|
|||
list-style: none;
|
||||
}
|
||||
|
||||
.account-content .account-layout .account-items-list.wishlist-container .col-3 {
|
||||
padding-left: 0;
|
||||
.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-toggle {
|
||||
margin-right: 13px;
|
||||
vertical-align: top;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.account-content .account-layout .account-items-list.wishlist-container .col-3 .product-card-new {
|
||||
margin: 0;
|
||||
width: 22rem;
|
||||
.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-toggle:after {
|
||||
border: unset;
|
||||
}
|
||||
|
||||
.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container {
|
||||
display: inline-block !important;
|
||||
}
|
||||
|
||||
.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.btn, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .quantity button, .quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button {
|
||||
display: block;
|
||||
font-size: 14px;
|
||||
margin-top: 10px;
|
||||
font-weight: 600;
|
||||
padding: 5px 10px;
|
||||
}
|
||||
|
||||
.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container li:not(:last-child) {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .control-group {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.account-content .account-layout .account-table-content #datagrid-filters ~ table.table tbody tr .badge {
|
||||
padding: 10px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.account-content .account-layout .account-table-content #datagrid-filters ~ table.table tbody tr .action .eye-icon {
|
||||
font-size: 24px;
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
.account-content .account-layout .account-table-content #datagrid-filters ~ table.table tbody tr .action .eye-icon:hover {
|
||||
color: #4D7EA8;
|
||||
}
|
||||
|
||||
.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters:nth-child(2) {
|
||||
top: 25px;
|
||||
width: 100%;
|
||||
display: block;
|
||||
padding-left: 30px;
|
||||
}
|
||||
|
||||
.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters:nth-child(2) .dropdown-container {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters:nth-child(2) .dropdown-container li {
|
||||
width: 150px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.account-content .account-layout .account-items-list.wishlist-container {
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.account-content .account-layout .account-items-list.wishlist-container .product-card-new {
|
||||
width: 19rem;
|
||||
}
|
||||
|
||||
.account-content .account-layout .max-sm-img-dimention {
|
||||
|
|
@ -1672,6 +1731,69 @@
|
|||
content: "\E907";
|
||||
}
|
||||
|
||||
.account-content .account-layout .sale-container {
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.account-content .account-layout .sale-container .tabs ul {
|
||||
font-weight: 600;
|
||||
font-size: 20px;
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
.account-content .account-layout .sale-container .tabs ul li {
|
||||
padding: 10px 15px;
|
||||
display: inline-block;
|
||||
border-bottom: 2px solid transparent;
|
||||
}
|
||||
|
||||
.account-content .account-layout .sale-container .tabs ul li.active {
|
||||
border-bottom: 2px solid #26A37C;
|
||||
}
|
||||
|
||||
.account-content .account-layout .sale-container .tabs-content .sale-section {
|
||||
padding: 20px 0 10px 0;
|
||||
border-bottom: 1px solid #CCCCCC;
|
||||
}
|
||||
|
||||
.account-content .account-layout .sale-container .tabs-content .sale-section .section-title {
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
padding-bottom: 10px;
|
||||
color: #9e9e9e;
|
||||
}
|
||||
|
||||
.account-content .account-layout .sale-container .tabs-content .sale-section .section-content label + span {
|
||||
font-weight: 600;
|
||||
color: #9e9e9e;
|
||||
}
|
||||
|
||||
.account-content .account-layout .sale-container .tabs-content .sale-section .section-content .totals {
|
||||
width: 100%;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.account-content .account-layout .sale-container .tabs-content .sale-section .section-content .totals .sale-summary {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.account-content .account-layout .sale-container .order-box-container {
|
||||
padding: 10px 0;
|
||||
}
|
||||
|
||||
.account-content .account-layout .sale-container .order-box-container .box {
|
||||
width: 24%;
|
||||
vertical-align: top;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.account-content .account-layout .sale-container .order-box-container .box .box-title {
|
||||
font-size: 18px;
|
||||
padding: 10px 0;
|
||||
font-weight: 600;
|
||||
color: #9e9e9e;
|
||||
}
|
||||
|
||||
.account-content .select-icon {
|
||||
left: 95%;
|
||||
top: -28px;
|
||||
|
|
@ -1720,7 +1842,7 @@
|
|||
padding-top: 25px;
|
||||
}
|
||||
|
||||
.checkout-process .order-summary-container .theme-btn, .checkout-process .order-summary-container .cart-details .continue-shopping-btn, .cart-details .checkout-process .order-summary-container .continue-shopping-btn, .checkout-process .order-summary-container .account-content .account-layout .bottom-toolbar .pagination .page-item, .account-content .account-layout .bottom-toolbar .pagination .checkout-process .order-summary-container .page-item {
|
||||
.checkout-process .order-summary-container .theme-btn, .checkout-process .order-summary-container .cart-details .continue-shopping-btn, .cart-details .checkout-process .order-summary-container .continue-shopping-btn, .checkout-process .order-summary-container .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.btn, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .checkout-process .order-summary-container button.btn, .checkout-process .order-summary-container .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .quantity button, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .quantity .checkout-process .order-summary-container button, .checkout-process .order-summary-container .quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button, .quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .checkout-process .order-summary-container button, .checkout-process .order-summary-container .account-content .account-layout .bottom-toolbar .pagination .page-item, .account-content .account-layout .bottom-toolbar .pagination .checkout-process .order-summary-container .page-item {
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
|
@ -1908,15 +2030,6 @@
|
|||
font-size: 16px;
|
||||
}
|
||||
|
||||
.table .badge {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.table .action .eye-icon {
|
||||
font-size: 24px;
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
.search-result-status {
|
||||
width: 100%;
|
||||
display: -webkit-box;
|
||||
|
|
@ -3664,7 +3777,7 @@ body::after {
|
|||
background-position: right;
|
||||
}
|
||||
|
||||
.theme-btn, .cart-details .continue-shopping-btn, .account-content .account-layout .bottom-toolbar .pagination .page-item {
|
||||
.theme-btn, .cart-details .continue-shopping-btn, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.btn, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .quantity button, .quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button, .account-content .account-layout .bottom-toolbar .pagination .page-item {
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
font-weight: 600;
|
||||
|
|
@ -3674,7 +3787,7 @@ body::after {
|
|||
background-color: #26A37C !important;
|
||||
}
|
||||
|
||||
.theme-btn.light, .cart-details .light.continue-shopping-btn, .account-content .account-layout .bottom-toolbar .pagination .page-item {
|
||||
.theme-btn.light, .cart-details .light.continue-shopping-btn, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.light.btn, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .quantity button.light, .quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.light, .quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination button.page-item, .quantity .account-content .account-layout .bottom-toolbar .pagination .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.page-item, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination .quantity button.page-item, .account-content .account-layout .bottom-toolbar .pagination .quantity .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.page-item, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination button.btn.page-item, .account-content .account-layout .bottom-toolbar .pagination .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.btn.page-item, .account-content .account-layout .bottom-toolbar .pagination .page-item {
|
||||
color: #26A37C !important;
|
||||
background-color: #FFFFFF !important;
|
||||
-webkit-box-shadow: 0 1px 0 0 #CFCFCF;
|
||||
|
|
@ -3682,17 +3795,17 @@ body::after {
|
|||
border: 1px solid rgba(0, 0, 0, 0.12);
|
||||
}
|
||||
|
||||
.theme-btn.light:hover, .cart-details .light.continue-shopping-btn:hover, .account-content .account-layout .bottom-toolbar .pagination .page-item:hover {
|
||||
.theme-btn.light:hover, .cart-details .light.continue-shopping-btn:hover, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.light.btn:hover, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .quantity button.light:hover, .quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.light:hover, .quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination button.page-item:hover, .quantity .account-content .account-layout .bottom-toolbar .pagination .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.page-item:hover, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination .quantity button.page-item:hover, .account-content .account-layout .bottom-toolbar .pagination .quantity .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.page-item:hover, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination button.btn.page-item:hover, .account-content .account-layout .bottom-toolbar .pagination .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.btn.page-item:hover, .account-content .account-layout .bottom-toolbar .pagination .page-item:hover {
|
||||
background-color: #f5f5f5 !important;
|
||||
}
|
||||
|
||||
.theme-btn:hover, .cart-details .continue-shopping-btn:hover, .account-content .account-layout .bottom-toolbar .pagination .page-item:hover,
|
||||
.theme-btn:hover, .cart-details .continue-shopping-btn:hover, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.btn:hover, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .quantity button:hover, .quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button:hover, .account-content .account-layout .bottom-toolbar .pagination .page-item:hover,
|
||||
.btn-add-to-cart:hover {
|
||||
border-color: #247959 !important;
|
||||
background-color: #247959 !important;
|
||||
}
|
||||
|
||||
.theme-btn:hover.light, .cart-details .continue-shopping-btn:hover.light, .account-content .account-layout .bottom-toolbar .pagination .page-item:hover,
|
||||
.theme-btn:hover.light, .cart-details .continue-shopping-btn:hover.light, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.btn:hover.light, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .quantity button:hover.light, .quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button:hover.light, .quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination button.page-item:hover, .quantity .account-content .account-layout .bottom-toolbar .pagination .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.page-item:hover, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination .quantity button.page-item:hover, .account-content .account-layout .bottom-toolbar .pagination .quantity .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.page-item:hover, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .bottom-toolbar .pagination button.btn.page-item:hover, .account-content .account-layout .bottom-toolbar .pagination .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.btn.page-item:hover, .account-content .account-layout .bottom-toolbar .pagination .page-item:hover,
|
||||
.btn-add-to-cart:hover.light,
|
||||
.account-content .account-layout .bottom-toolbar .pagination .btn-add-to-cart.page-item:hover {
|
||||
border: 1px solid rgba(0, 0, 0, 0.12) !important;
|
||||
|
|
@ -4038,7 +4151,7 @@ ul.circle-list li.circle:not(:last-child) {
|
|||
color: #4D7EA8;
|
||||
}
|
||||
|
||||
a.unset, .account-content .account-layout .bottom-toolbar .pagination a.page-item, .table .action a {
|
||||
a.unset, .account-content .account-layout .account-table-content #datagrid-filters ~ table.table tbody tr .action a, .account-content .account-layout .bottom-toolbar .pagination a.page-item {
|
||||
color: unset !important;
|
||||
text-decoration: none !important;
|
||||
}
|
||||
|
|
@ -4167,9 +4280,9 @@ button[disabled] {
|
|||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.rango-default, .account-content .sidebar .customer-sidebar .navigation li i.icon, .account-content .account-layout .bottom-toolbar .pagination .page-item.next .angle-right-icon,
|
||||
.rango-default, .account-content .sidebar .customer-sidebar .navigation li i.icon, .account-content .account-layout .account-table-content #datagrid-filters ~ table.table tbody tr .action .eye-icon, .account-content .account-layout .bottom-toolbar .pagination .page-item.next .angle-right-icon,
|
||||
.account-content .account-layout .bottom-toolbar .pagination .page-item.next .angle-left-icon, .account-content .account-layout .bottom-toolbar .pagination .page-item.previous .angle-right-icon,
|
||||
.account-content .account-layout .bottom-toolbar .pagination .page-item.previous .angle-left-icon, .table .action .eye-icon, header #search-form .btn-group .selectdiv, header #search-form .quantity .selectdiv {
|
||||
.account-content .account-layout .bottom-toolbar .pagination .page-item.previous .angle-left-icon, header #search-form .btn-group .selectdiv, header #search-form .quantity .selectdiv {
|
||||
speak: none;
|
||||
line-height: 1;
|
||||
font-style: normal;
|
||||
|
|
@ -13241,7 +13354,7 @@ body {
|
|||
position: absolute !important;
|
||||
}
|
||||
|
||||
#top #account + .account-modal .theme-btn, #top #account + .account-modal .cart-details .continue-shopping-btn, .cart-details #top #account + .account-modal .continue-shopping-btn, #top #account + .account-modal .account-content .account-layout .bottom-toolbar .pagination .page-item, .account-content .account-layout .bottom-toolbar .pagination #top #account + .account-modal .page-item {
|
||||
#top #account + .account-modal .theme-btn, #top #account + .account-modal .cart-details .continue-shopping-btn, .cart-details #top #account + .account-modal .continue-shopping-btn, #top #account + .account-modal .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button.btn, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container #top #account + .account-modal button.btn, #top #account + .account-modal .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .quantity button, .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container .quantity #top #account + .account-modal button, #top #account + .account-modal .quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container button, .quantity .account-content .account-layout .account-table-content #datagrid-filters .dropdown-filters .dropdown-container #top #account + .account-modal button, #top #account + .account-modal .account-content .account-layout .bottom-toolbar .pagination .page-item, .account-content .account-layout .bottom-toolbar .pagination #top #account + .account-modal .page-item {
|
||||
padding: .5rem .9rem;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1081,12 +1081,15 @@ module.exports = __webpack_require__(76);
|
|||
Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
|
||||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue__ = __webpack_require__(4);
|
||||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_vue__);
|
||||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_carousel__ = __webpack_require__(16);
|
||||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_vue_carousel___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_vue_carousel__);
|
||||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vue_toast_notification__ = __webpack_require__(17);
|
||||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vue_toast_notification___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_vue_toast_notification__);
|
||||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vue_toast_notification_dist_index_css__ = __webpack_require__(18);
|
||||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vue_toast_notification_dist_index_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_vue_toast_notification_dist_index_css__);
|
||||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_accounting__ = __webpack_require__(79);
|
||||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_accounting___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_accounting__);
|
||||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vue_carousel__ = __webpack_require__(16);
|
||||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_vue_carousel___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_vue_carousel__);
|
||||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vue_toast_notification__ = __webpack_require__(17);
|
||||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_vue_toast_notification___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_vue_toast_notification__);
|
||||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_vue_toast_notification_dist_index_css__ = __webpack_require__(18);
|
||||
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_vue_toast_notification_dist_index_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_vue_toast_notification_dist_index_css__);
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -1097,14 +1100,18 @@ window.VeeValidate = __webpack_require__(41);
|
|||
window.jQuery = window.$ = __webpack_require__(42);
|
||||
window.BootstrapSass = __webpack_require__(43);
|
||||
|
||||
__WEBPACK_IMPORTED_MODULE_0_vue___default.a.use(__WEBPACK_IMPORTED_MODULE_2_vue_toast_notification___default.a);
|
||||
__WEBPACK_IMPORTED_MODULE_0_vue___default.a.use(__WEBPACK_IMPORTED_MODULE_3_vue_toast_notification___default.a);
|
||||
__WEBPACK_IMPORTED_MODULE_0_vue___default.a.use(VeeValidate);
|
||||
__WEBPACK_IMPORTED_MODULE_0_vue___default.a.use(__WEBPACK_IMPORTED_MODULE_1_vue_carousel___default.a);
|
||||
__WEBPACK_IMPORTED_MODULE_0_vue___default.a.use(__WEBPACK_IMPORTED_MODULE_2_vue_carousel___default.a);
|
||||
__WEBPACK_IMPORTED_MODULE_0_vue___default.a.use(BootstrapSass);
|
||||
__WEBPACK_IMPORTED_MODULE_0_vue___default.a.prototype.$http = axios;
|
||||
|
||||
__WEBPACK_IMPORTED_MODULE_0_vue___default.a.filter('currency', function (value, argument) {
|
||||
return __WEBPACK_IMPORTED_MODULE_1_accounting___default.a.formatMoney(value, argument);
|
||||
});
|
||||
|
||||
window.Vue = __WEBPACK_IMPORTED_MODULE_0_vue___default.a;
|
||||
window.Carousel = __WEBPACK_IMPORTED_MODULE_1_vue_carousel___default.a;
|
||||
window.Carousel = __WEBPACK_IMPORTED_MODULE_2_vue_carousel___default.a;
|
||||
|
||||
// UI components
|
||||
__WEBPACK_IMPORTED_MODULE_0_vue___default.a.component("vue-slider", __webpack_require__(44));
|
||||
|
|
@ -1229,7 +1236,7 @@ $(document).ready(function () {
|
|||
|
||||
new __WEBPACK_IMPORTED_MODULE_0_vue___default.a({
|
||||
el: "#app",
|
||||
VueToast: __WEBPACK_IMPORTED_MODULE_2_vue_toast_notification___default.a,
|
||||
VueToast: __WEBPACK_IMPORTED_MODULE_3_vue_toast_notification___default.a,
|
||||
|
||||
data: function data() {
|
||||
return {
|
||||
|
|
@ -1323,11 +1330,13 @@ $(document).ready(function () {
|
|||
},
|
||||
|
||||
addFlashMessages: function addFlashMessages() {
|
||||
var flashes = this.$refs.flashes;
|
||||
// const flashes = this.$refs.flashes;
|
||||
|
||||
flashMessages.forEach(function (flash) {
|
||||
flashes.addFlash(flash);
|
||||
}, this);
|
||||
// flashMessages.forEach(function (flash) {
|
||||
// flashes.addFlash(flash);
|
||||
// }, this);
|
||||
|
||||
if (window.flashMessages.alertMessage) window.alert(window.flashMessages.alertMessage);
|
||||
},
|
||||
|
||||
showModal: function showModal(id) {
|
||||
|
|
@ -35833,7 +35842,7 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
|
|||
//
|
||||
|
||||
/* harmony default export */ __webpack_exports__["default"] = ({
|
||||
props: ['active'],
|
||||
props: ['active', 'addClass'],
|
||||
data: function data() {
|
||||
return {
|
||||
isActive: this.active
|
||||
|
|
@ -35852,7 +35861,7 @@ var render = function() {
|
|||
return _c(
|
||||
"i",
|
||||
{
|
||||
class: "material-icons",
|
||||
class: "material-icons " + _vm.addClass,
|
||||
on: {
|
||||
mouseover: function($event) {
|
||||
_vm.isActive ? (_vm.isActive = !_vm.isActive) : ""
|
||||
|
|
@ -37034,5 +37043,426 @@ if (false) {
|
|||
|
||||
// removed by extract-text-webpack-plugin
|
||||
|
||||
/***/ }),
|
||||
/* 77 */,
|
||||
/* 78 */,
|
||||
/* 79 */
|
||||
/***/ (function(module, exports, __webpack_require__) {
|
||||
|
||||
/*!
|
||||
* accounting.js v0.4.1
|
||||
* Copyright 2014 Open Exchange Rates
|
||||
*
|
||||
* Freely distributable under the MIT license.
|
||||
* Portions of accounting.js are inspired or borrowed from underscore.js
|
||||
*
|
||||
* Full details and documentation:
|
||||
* http://openexchangerates.github.io/accounting.js/
|
||||
*/
|
||||
|
||||
(function(root, undefined) {
|
||||
|
||||
/* --- Setup --- */
|
||||
|
||||
// Create the local library object, to be exported or referenced globally later
|
||||
var lib = {};
|
||||
|
||||
// Current version
|
||||
lib.version = '0.4.1';
|
||||
|
||||
|
||||
/* --- Exposed settings --- */
|
||||
|
||||
// The library's settings configuration object. Contains default parameters for
|
||||
// currency and number formatting
|
||||
lib.settings = {
|
||||
currency: {
|
||||
symbol : "$", // default currency symbol is '$'
|
||||
format : "%s%v", // controls output: %s = symbol, %v = value (can be object, see docs)
|
||||
decimal : ".", // decimal point separator
|
||||
thousand : ",", // thousands separator
|
||||
precision : 2, // decimal places
|
||||
grouping : 3 // digit grouping (not implemented yet)
|
||||
},
|
||||
number: {
|
||||
precision : 0, // default precision on numbers is 0
|
||||
grouping : 3, // digit grouping (not implemented yet)
|
||||
thousand : ",",
|
||||
decimal : "."
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
/* --- Internal Helper Methods --- */
|
||||
|
||||
// Store reference to possibly-available ECMAScript 5 methods for later
|
||||
var nativeMap = Array.prototype.map,
|
||||
nativeIsArray = Array.isArray,
|
||||
toString = Object.prototype.toString;
|
||||
|
||||
/**
|
||||
* Tests whether supplied parameter is a string
|
||||
* from underscore.js
|
||||
*/
|
||||
function isString(obj) {
|
||||
return !!(obj === '' || (obj && obj.charCodeAt && obj.substr));
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests whether supplied parameter is a string
|
||||
* from underscore.js, delegates to ECMA5's native Array.isArray
|
||||
*/
|
||||
function isArray(obj) {
|
||||
return nativeIsArray ? nativeIsArray(obj) : toString.call(obj) === '[object Array]';
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests whether supplied parameter is a true object
|
||||
*/
|
||||
function isObject(obj) {
|
||||
return obj && toString.call(obj) === '[object Object]';
|
||||
}
|
||||
|
||||
/**
|
||||
* Extends an object with a defaults object, similar to underscore's _.defaults
|
||||
*
|
||||
* Used for abstracting parameter handling from API methods
|
||||
*/
|
||||
function defaults(object, defs) {
|
||||
var key;
|
||||
object = object || {};
|
||||
defs = defs || {};
|
||||
// Iterate over object non-prototype properties:
|
||||
for (key in defs) {
|
||||
if (defs.hasOwnProperty(key)) {
|
||||
// Replace values with defaults only if undefined (allow empty/zero values):
|
||||
if (object[key] == null) object[key] = defs[key];
|
||||
}
|
||||
}
|
||||
return object;
|
||||
}
|
||||
|
||||
/**
|
||||
* Implementation of `Array.map()` for iteration loops
|
||||
*
|
||||
* Returns a new Array as a result of calling `iterator` on each array value.
|
||||
* Defers to native Array.map if available
|
||||
*/
|
||||
function map(obj, iterator, context) {
|
||||
var results = [], i, j;
|
||||
|
||||
if (!obj) return results;
|
||||
|
||||
// Use native .map method if it exists:
|
||||
if (nativeMap && obj.map === nativeMap) return obj.map(iterator, context);
|
||||
|
||||
// Fallback for native .map:
|
||||
for (i = 0, j = obj.length; i < j; i++ ) {
|
||||
results[i] = iterator.call(context, obj[i], i, obj);
|
||||
}
|
||||
return results;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check and normalise the value of precision (must be positive integer)
|
||||
*/
|
||||
function checkPrecision(val, base) {
|
||||
val = Math.round(Math.abs(val));
|
||||
return isNaN(val)? base : val;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Parses a format string or object and returns format obj for use in rendering
|
||||
*
|
||||
* `format` is either a string with the default (positive) format, or object
|
||||
* containing `pos` (required), `neg` and `zero` values (or a function returning
|
||||
* either a string or object)
|
||||
*
|
||||
* Either string or format.pos must contain "%v" (value) to be valid
|
||||
*/
|
||||
function checkCurrencyFormat(format) {
|
||||
var defaults = lib.settings.currency.format;
|
||||
|
||||
// Allow function as format parameter (should return string or object):
|
||||
if ( typeof format === "function" ) format = format();
|
||||
|
||||
// Format can be a string, in which case `value` ("%v") must be present:
|
||||
if ( isString( format ) && format.match("%v") ) {
|
||||
|
||||
// Create and return positive, negative and zero formats:
|
||||
return {
|
||||
pos : format,
|
||||
neg : format.replace("-", "").replace("%v", "-%v"),
|
||||
zero : format
|
||||
};
|
||||
|
||||
// If no format, or object is missing valid positive value, use defaults:
|
||||
} else if ( !format || !format.pos || !format.pos.match("%v") ) {
|
||||
|
||||
// If defaults is a string, casts it to an object for faster checking next time:
|
||||
return ( !isString( defaults ) ) ? defaults : lib.settings.currency.format = {
|
||||
pos : defaults,
|
||||
neg : defaults.replace("%v", "-%v"),
|
||||
zero : defaults
|
||||
};
|
||||
|
||||
}
|
||||
// Otherwise, assume format was fine:
|
||||
return format;
|
||||
}
|
||||
|
||||
|
||||
/* --- API Methods --- */
|
||||
|
||||
/**
|
||||
* Takes a string/array of strings, removes all formatting/cruft and returns the raw float value
|
||||
* Alias: `accounting.parse(string)`
|
||||
*
|
||||
* Decimal must be included in the regular expression to match floats (defaults to
|
||||
* accounting.settings.number.decimal), so if the number uses a non-standard decimal
|
||||
* separator, provide it as the second argument.
|
||||
*
|
||||
* Also matches bracketed negatives (eg. "$ (1.99)" => -1.99)
|
||||
*
|
||||
* Doesn't throw any errors (`NaN`s become 0) but this may change in future
|
||||
*/
|
||||
var unformat = lib.unformat = lib.parse = function(value, decimal) {
|
||||
// Recursively unformat arrays:
|
||||
if (isArray(value)) {
|
||||
return map(value, function(val) {
|
||||
return unformat(val, decimal);
|
||||
});
|
||||
}
|
||||
|
||||
// Fails silently (need decent errors):
|
||||
value = value || 0;
|
||||
|
||||
// Return the value as-is if it's already a number:
|
||||
if (typeof value === "number") return value;
|
||||
|
||||
// Default decimal point comes from settings, but could be set to eg. "," in opts:
|
||||
decimal = decimal || lib.settings.number.decimal;
|
||||
|
||||
// Build regex to strip out everything except digits, decimal point and minus sign:
|
||||
var regex = new RegExp("[^0-9-" + decimal + "]", ["g"]),
|
||||
unformatted = parseFloat(
|
||||
("" + value)
|
||||
.replace(/\((.*)\)/, "-$1") // replace bracketed values with negatives
|
||||
.replace(regex, '') // strip out any cruft
|
||||
.replace(decimal, '.') // make sure decimal point is standard
|
||||
);
|
||||
|
||||
// This will fail silently which may cause trouble, let's wait and see:
|
||||
return !isNaN(unformatted) ? unformatted : 0;
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Implementation of toFixed() that treats floats more like decimals
|
||||
*
|
||||
* Fixes binary rounding issues (eg. (0.615).toFixed(2) === "0.61") that present
|
||||
* problems for accounting- and finance-related software.
|
||||
*/
|
||||
var toFixed = lib.toFixed = function(value, precision) {
|
||||
precision = checkPrecision(precision, lib.settings.number.precision);
|
||||
var power = Math.pow(10, precision);
|
||||
|
||||
// Multiply up by precision, round accurately, then divide and use native toFixed():
|
||||
return (Math.round(lib.unformat(value) * power) / power).toFixed(precision);
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Format a number, with comma-separated thousands and custom precision/decimal places
|
||||
* Alias: `accounting.format()`
|
||||
*
|
||||
* Localise by overriding the precision and thousand / decimal separators
|
||||
* 2nd parameter `precision` can be an object matching `settings.number`
|
||||
*/
|
||||
var formatNumber = lib.formatNumber = lib.format = function(number, precision, thousand, decimal) {
|
||||
// Resursively format arrays:
|
||||
if (isArray(number)) {
|
||||
return map(number, function(val) {
|
||||
return formatNumber(val, precision, thousand, decimal);
|
||||
});
|
||||
}
|
||||
|
||||
// Clean up number:
|
||||
number = unformat(number);
|
||||
|
||||
// Build options object from second param (if object) or all params, extending defaults:
|
||||
var opts = defaults(
|
||||
(isObject(precision) ? precision : {
|
||||
precision : precision,
|
||||
thousand : thousand,
|
||||
decimal : decimal
|
||||
}),
|
||||
lib.settings.number
|
||||
),
|
||||
|
||||
// Clean up precision
|
||||
usePrecision = checkPrecision(opts.precision),
|
||||
|
||||
// Do some calc:
|
||||
negative = number < 0 ? "-" : "",
|
||||
base = parseInt(toFixed(Math.abs(number || 0), usePrecision), 10) + "",
|
||||
mod = base.length > 3 ? base.length % 3 : 0;
|
||||
|
||||
// Format the number:
|
||||
return negative + (mod ? base.substr(0, mod) + opts.thousand : "") + base.substr(mod).replace(/(\d{3})(?=\d)/g, "$1" + opts.thousand) + (usePrecision ? opts.decimal + toFixed(Math.abs(number), usePrecision).split('.')[1] : "");
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Format a number into currency
|
||||
*
|
||||
* Usage: accounting.formatMoney(number, symbol, precision, thousandsSep, decimalSep, format)
|
||||
* defaults: (0, "$", 2, ",", ".", "%s%v")
|
||||
*
|
||||
* Localise by overriding the symbol, precision, thousand / decimal separators and format
|
||||
* Second param can be an object matching `settings.currency` which is the easiest way.
|
||||
*
|
||||
* To do: tidy up the parameters
|
||||
*/
|
||||
var formatMoney = lib.formatMoney = function(number, symbol, precision, thousand, decimal, format) {
|
||||
// Resursively format arrays:
|
||||
if (isArray(number)) {
|
||||
return map(number, function(val){
|
||||
return formatMoney(val, symbol, precision, thousand, decimal, format);
|
||||
});
|
||||
}
|
||||
|
||||
// Clean up number:
|
||||
number = unformat(number);
|
||||
|
||||
// Build options object from second param (if object) or all params, extending defaults:
|
||||
var opts = defaults(
|
||||
(isObject(symbol) ? symbol : {
|
||||
symbol : symbol,
|
||||
precision : precision,
|
||||
thousand : thousand,
|
||||
decimal : decimal,
|
||||
format : format
|
||||
}),
|
||||
lib.settings.currency
|
||||
),
|
||||
|
||||
// Check format (returns object with pos, neg and zero):
|
||||
formats = checkCurrencyFormat(opts.format),
|
||||
|
||||
// Choose which format to use for this value:
|
||||
useFormat = number > 0 ? formats.pos : number < 0 ? formats.neg : formats.zero;
|
||||
|
||||
// Return with currency symbol added:
|
||||
return useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(number), checkPrecision(opts.precision), opts.thousand, opts.decimal));
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* Format a list of numbers into an accounting column, padding with whitespace
|
||||
* to line up currency symbols, thousand separators and decimals places
|
||||
*
|
||||
* List should be an array of numbers
|
||||
* Second parameter can be an object containing keys that match the params
|
||||
*
|
||||
* Returns array of accouting-formatted number strings of same length
|
||||
*
|
||||
* NB: `white-space:pre` CSS rule is required on the list container to prevent
|
||||
* browsers from collapsing the whitespace in the output strings.
|
||||
*/
|
||||
lib.formatColumn = function(list, symbol, precision, thousand, decimal, format) {
|
||||
if (!list) return [];
|
||||
|
||||
// Build options object from second param (if object) or all params, extending defaults:
|
||||
var opts = defaults(
|
||||
(isObject(symbol) ? symbol : {
|
||||
symbol : symbol,
|
||||
precision : precision,
|
||||
thousand : thousand,
|
||||
decimal : decimal,
|
||||
format : format
|
||||
}),
|
||||
lib.settings.currency
|
||||
),
|
||||
|
||||
// Check format (returns object with pos, neg and zero), only need pos for now:
|
||||
formats = checkCurrencyFormat(opts.format),
|
||||
|
||||
// Whether to pad at start of string or after currency symbol:
|
||||
padAfterSymbol = formats.pos.indexOf("%s") < formats.pos.indexOf("%v") ? true : false,
|
||||
|
||||
// Store value for the length of the longest string in the column:
|
||||
maxLength = 0,
|
||||
|
||||
// Format the list according to options, store the length of the longest string:
|
||||
formatted = map(list, function(val, i) {
|
||||
if (isArray(val)) {
|
||||
// Recursively format columns if list is a multi-dimensional array:
|
||||
return lib.formatColumn(val, opts);
|
||||
} else {
|
||||
// Clean up the value
|
||||
val = unformat(val);
|
||||
|
||||
// Choose which format to use for this value (pos, neg or zero):
|
||||
var useFormat = val > 0 ? formats.pos : val < 0 ? formats.neg : formats.zero,
|
||||
|
||||
// Format this value, push into formatted list and save the length:
|
||||
fVal = useFormat.replace('%s', opts.symbol).replace('%v', formatNumber(Math.abs(val), checkPrecision(opts.precision), opts.thousand, opts.decimal));
|
||||
|
||||
if (fVal.length > maxLength) maxLength = fVal.length;
|
||||
return fVal;
|
||||
}
|
||||
});
|
||||
|
||||
// Pad each number in the list and send back the column of numbers:
|
||||
return map(formatted, function(val, i) {
|
||||
// Only if this is a string (not a nested array, which would have already been padded):
|
||||
if (isString(val) && val.length < maxLength) {
|
||||
// Depending on symbol position, pad after symbol or at index 0:
|
||||
return padAfterSymbol ? val.replace(opts.symbol, opts.symbol+(new Array(maxLength - val.length + 1).join(" "))) : (new Array(maxLength - val.length + 1).join(" ")) + val;
|
||||
}
|
||||
return val;
|
||||
});
|
||||
};
|
||||
|
||||
|
||||
/* --- Module Definition --- */
|
||||
|
||||
// Export accounting for CommonJS. If being loaded as an AMD module, define it as such.
|
||||
// Otherwise, just add `accounting` to the global object
|
||||
if (true) {
|
||||
if (typeof module !== 'undefined' && module.exports) {
|
||||
exports = module.exports = lib;
|
||||
}
|
||||
exports.accounting = lib;
|
||||
} else if (typeof define === 'function' && define.amd) {
|
||||
// Return the library as an AMD module:
|
||||
define([], function() {
|
||||
return lib;
|
||||
});
|
||||
} else {
|
||||
// Use accounting.noConflict to restore `accounting` back to its original value.
|
||||
// Returns a reference to the library's `accounting` object;
|
||||
// e.g. `var numbers = accounting.noConflict();`
|
||||
lib.noConflict = (function(oldAccounting) {
|
||||
return function() {
|
||||
// Reset the value of the root's `accounting` variable:
|
||||
root.accounting = oldAccounting;
|
||||
// Delete the noConflict method:
|
||||
lib.noConflict = undefined;
|
||||
// Return reference to the library to re-assign it:
|
||||
return lib;
|
||||
};
|
||||
})(root.accounting);
|
||||
|
||||
// Declare `fx` on the root (global/window) object:
|
||||
root['accounting'] = lib;
|
||||
}
|
||||
|
||||
// Root will be `window` in browser or `global` on the server:
|
||||
}(this));
|
||||
|
||||
|
||||
/***/ })
|
||||
/******/ ]);
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<i
|
||||
:class="`material-icons`"
|
||||
:class="`material-icons ${addClass}`"
|
||||
@mouseover="isActive ? isActive = !isActive : ''"
|
||||
@mouseout="active !== '' && !isActive ? isActive = !isActive : ''">
|
||||
|
||||
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
<script type="text/javascript">
|
||||
export default {
|
||||
props: ['active'],
|
||||
props: ['active', 'addClass'],
|
||||
data: function () {
|
||||
return {
|
||||
isActive: this.active
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
import Vue from 'vue';
|
||||
import accounting from 'accounting';
|
||||
import VueCarousel from 'vue-carousel';
|
||||
import VueToast from 'vue-toast-notification';
|
||||
import 'vue-toast-notification/dist/index.css';
|
||||
|
|
@ -14,6 +15,10 @@ Vue.use(VueCarousel);
|
|||
Vue.use(BootstrapSass);
|
||||
Vue.prototype.$http = axios;
|
||||
|
||||
Vue.filter('currency', function (value, argument) {
|
||||
return accounting.formatMoney(value, argument);
|
||||
})
|
||||
|
||||
window.Vue = Vue;
|
||||
window.Carousel = VueCarousel;
|
||||
|
||||
|
|
@ -230,11 +235,14 @@ $(document).ready(function () {
|
|||
},
|
||||
|
||||
addFlashMessages: function () {
|
||||
const flashes = this.$refs.flashes;
|
||||
// const flashes = this.$refs.flashes;
|
||||
|
||||
flashMessages.forEach(function (flash) {
|
||||
flashes.addFlash(flash);
|
||||
}, this);
|
||||
// flashMessages.forEach(function (flash) {
|
||||
// flashes.addFlash(flash);
|
||||
// }, this);
|
||||
|
||||
if (window.flashMessages.alertMessage)
|
||||
window.alert(window.flashMessages.alertMessage);
|
||||
},
|
||||
|
||||
showModal: function (id) {
|
||||
|
|
|
|||
|
|
@ -220,11 +220,11 @@
|
|||
margin: 0 5px 10px 10px;
|
||||
|
||||
.product-image-container {
|
||||
height: 225px;
|
||||
position: relative;
|
||||
|
||||
img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -337,7 +337,7 @@
|
|||
height: 35px;
|
||||
border-radius: 0px;
|
||||
vertical-align: top;
|
||||
padding: 0 10px !important;
|
||||
padding: 0 6px !important;
|
||||
font-size: 24px !important;
|
||||
font-weight: 600 !important;
|
||||
color: $dark-color !important;
|
||||
|
|
@ -350,7 +350,7 @@
|
|||
}
|
||||
|
||||
input {
|
||||
max-width: 28px;
|
||||
max-width: 40px;
|
||||
cursor: default;
|
||||
font-size: 16px !important;
|
||||
border-left: 0px !important;
|
||||
|
|
@ -725,7 +725,6 @@
|
|||
li {
|
||||
width: 100%;
|
||||
padding: 10px 15px;
|
||||
margin-bottom: 10px;
|
||||
|
||||
&:hover,
|
||||
&.active {
|
||||
|
|
@ -846,10 +845,10 @@
|
|||
#datagrid-filters {
|
||||
.dropdown-filters {
|
||||
right: 0;
|
||||
padding: 0;
|
||||
width: 220px;
|
||||
border: unset;
|
||||
position: relative;
|
||||
padding: 10px 15px;
|
||||
border: 1px solid $border-common;
|
||||
|
||||
.grid-dropdown-header {
|
||||
display: inline-block;
|
||||
|
|
@ -860,19 +859,98 @@
|
|||
list-style: none;
|
||||
}
|
||||
}
|
||||
|
||||
.dropdown-toggle {
|
||||
margin-right: 13px;
|
||||
vertical-align: top;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.dropdown-toggle:after {
|
||||
border: unset;
|
||||
}
|
||||
|
||||
.dropdown-container {
|
||||
display: inline-block !important;
|
||||
|
||||
button {
|
||||
&.btn {
|
||||
@extend .theme-btn;
|
||||
|
||||
display: block;
|
||||
font-size: 14px;
|
||||
margin-top: 10px;
|
||||
font-weight: 600;
|
||||
padding: 5px 10px;
|
||||
}
|
||||
}
|
||||
|
||||
li:not(:last-child) {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.control-group {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
~ table {
|
||||
&.table {
|
||||
tbody {
|
||||
tr {
|
||||
.badge {
|
||||
padding: 10px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.action {
|
||||
a {
|
||||
@extend .unset;
|
||||
}
|
||||
|
||||
.eye-icon {
|
||||
@extend .rango-default;
|
||||
@extend .rango-eye-visible;
|
||||
|
||||
font-size: 24px;
|
||||
padding-left: 10px;
|
||||
|
||||
&:hover {
|
||||
color: $link-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.dropdown-filters:nth-child(2) {
|
||||
top: 25px;
|
||||
width: 100%;
|
||||
display: block;
|
||||
padding-left: 30px;
|
||||
|
||||
.dropdown-container {
|
||||
width: 100%;
|
||||
|
||||
li {
|
||||
width: 150px;
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.account-items-list {
|
||||
&.wishlist-container {
|
||||
.col-3 {
|
||||
padding-left: 0;
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
|
||||
.product-card-new {
|
||||
margin: 0;
|
||||
width: 22rem;
|
||||
}
|
||||
.product-card-new {
|
||||
width: 19rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -947,6 +1025,75 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
.sale-container {
|
||||
font-size: 16px;
|
||||
|
||||
.tabs {
|
||||
ul {
|
||||
font-weight: 600;
|
||||
font-size: 20px;
|
||||
list-style-type: none;
|
||||
|
||||
li {
|
||||
padding: 10px 15px;
|
||||
display: inline-block;
|
||||
border-bottom: 2px solid transparent;
|
||||
|
||||
&.active {
|
||||
border-bottom: 2px solid $theme-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.tabs-content {
|
||||
.sale-section {
|
||||
padding: 20px 0 10px 0;
|
||||
border-bottom: 1px solid $border-common;
|
||||
|
||||
.section-title {
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
padding-bottom: 10px;
|
||||
color: $light-grey-clr;
|
||||
}
|
||||
|
||||
.section-content {
|
||||
label + span {
|
||||
font-weight: 600;
|
||||
color: $light-grey-clr;
|
||||
}
|
||||
|
||||
.totals {
|
||||
width: 100%;
|
||||
display: inline-block;
|
||||
|
||||
.sale-summary {
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.order-box-container {
|
||||
padding: 10px 0;
|
||||
|
||||
.box {
|
||||
width: 24%;
|
||||
vertical-align: top;
|
||||
display: inline-block;
|
||||
|
||||
.box-title {
|
||||
font-size: 18px;
|
||||
padding: 10px 0;
|
||||
font-weight: 600;
|
||||
color: $light-grey-clr;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.select-icon {
|
||||
|
|
@ -1194,26 +1341,6 @@
|
|||
font-size: 16px;
|
||||
}
|
||||
|
||||
.table {
|
||||
.badge {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.action {
|
||||
a {
|
||||
@extend .unset;
|
||||
}
|
||||
|
||||
.eye-icon {
|
||||
@extend .rango-default;
|
||||
@extend .rango-eye-visible;
|
||||
|
||||
font-size: 24px;
|
||||
padding-left: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.search-result-status {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
|
|
|
|||
|
|
@ -253,6 +253,10 @@ return [
|
|||
'orders' => 'Orders',
|
||||
'downloadables' => 'Downloadable Products',
|
||||
],
|
||||
'wishlist' => [
|
||||
'add-wishlist-text' => 'Add product to wishlist',
|
||||
'remove-wishlist-text' => 'Remove product from wishlist'
|
||||
]
|
||||
],
|
||||
|
||||
'responsive' => [
|
||||
|
|
|
|||
|
|
@ -50,12 +50,17 @@
|
|||
</script>
|
||||
|
||||
<script type="text/x-template" id="quantity-changer-template">
|
||||
<div class="quantity control-group" :class="[errors.has(controlName) ? 'has-error' : '']">
|
||||
<div :class="`quantity control-group ${errors.has(controlName) ? 'has-error' : ''}`">
|
||||
<label class="required">{{ __('shop::app.products.quantity') }}</label>
|
||||
|
||||
<button type="button" class="decrease" @click="decreaseQty()">-</button>
|
||||
|
||||
<input :name="controlName" class="control" :value="qty" :v-validate="validations" data-vv-as=""{{ __('shop::app.products.quantity') }}"" readonly>
|
||||
<input
|
||||
:value="qty"
|
||||
class="control"
|
||||
:name="controlName"
|
||||
:v-validate="validations"
|
||||
data-vv-as=""{{ __('shop::app.products.quantity') }}""
|
||||
readonly />
|
||||
|
||||
<button type="button" class="increase" @click="increaseQty()">+</button>
|
||||
|
||||
|
|
@ -476,7 +481,7 @@
|
|||
<li v-for="(content, index) in headerContent" :key="index">
|
||||
<a
|
||||
v-text="content.title"
|
||||
:href="content['page_link']"
|
||||
:href="`${url}/${content['page_link']}`"
|
||||
v-if="(content['content_type'] == 'link')"
|
||||
:target="content['link_target'] ? '_blank' : '_self'">
|
||||
</a>
|
||||
|
|
@ -553,9 +558,7 @@
|
|||
|
||||
Vue.component('quantity-changer', {
|
||||
template: '#quantity-changer-template',
|
||||
|
||||
inject: ['$validator'],
|
||||
|
||||
props: {
|
||||
controlName: {
|
||||
type: String,
|
||||
|
|
|
|||
|
|
@ -62,6 +62,9 @@
|
|||
this.$emit('onApplyCoupon');
|
||||
this.applied_coupon = this.coupon_code;
|
||||
this.coupon_code = '';
|
||||
|
||||
window.flashMessages = [{'type': 'alert-success', 'message': response.data.message}];
|
||||
|
||||
this.$root.addFlashMessages();
|
||||
|
||||
this.redirectIfCartPage();
|
||||
|
|
|
|||
|
|
@ -81,8 +81,46 @@
|
|||
@include ('shop::products.price', ['product' => $product])
|
||||
</div>
|
||||
|
||||
<div class="row col-12 cursor-pointer">
|
||||
<a href="{{ route('shop.checkout.cart.remove', ['id' => $item->id]) }}" class="unset">
|
||||
<div class="no-padding col-12 cursor-pointer fs16">
|
||||
@auth('customer')
|
||||
@if ($item->parent_id != 'null' ||$item->parent_id != null)
|
||||
<a
|
||||
class="unset"
|
||||
href="{{ route('shop.movetowishlist', $item->id) }}"
|
||||
onclick="removeLink('{{ __('shop::app.checkout.cart.cart-remove-action') }}')">
|
||||
|
||||
<wishlist-component
|
||||
active="false"
|
||||
add-class="align-vertical-top">
|
||||
</wishlist-component>
|
||||
|
||||
<span class="align-vertical-top">
|
||||
{{ __('shop::app.layouts.wishlist') }}
|
||||
</span>
|
||||
</a>
|
||||
@else
|
||||
<a
|
||||
class="unset"
|
||||
href="{{ route('shop.movetowishlist', $item->child->id) }}"
|
||||
onclick="removeLink('{{ __('shop::app.checkout.cart.cart-remove-action') }}')">
|
||||
|
||||
<wishlist-component
|
||||
active="false"
|
||||
add-class="align-vertical-top">
|
||||
</wishlist-component>
|
||||
|
||||
<span class="align-vertical-top">
|
||||
{{ __('shop::app.layouts.wishlist') }}
|
||||
</span>
|
||||
</a>
|
||||
@endif
|
||||
@endauth
|
||||
|
||||
<a
|
||||
class="unset ml30"
|
||||
href="{{ route('shop.checkout.cart.remove', ['id' => $item->id]) }}"
|
||||
onclick="removeLink('{{ __('shop::app.checkout.cart.cart-remove-action') }}')">
|
||||
|
||||
<span class="rango-delete fs24"></span>
|
||||
<span class="align-vertical-top">{{ __('shop::app.checkout.cart.remove') }}</span>
|
||||
</a>
|
||||
|
|
@ -179,12 +217,12 @@
|
|||
<coupon-component></coupon-component>
|
||||
</div>
|
||||
@else
|
||||
<div class="fs16 row col-12">
|
||||
<div class="fs16 col-12">
|
||||
{{ __('shop::app.checkout.cart.empty') }}
|
||||
</div>
|
||||
|
||||
<a
|
||||
class="fs16 mt15 col-12 row remove-decoration"
|
||||
class="fs16 mt15 col-12 remove-decoration"
|
||||
href="{{ route('shop.home.index') }}">
|
||||
|
||||
<button type="button" class="theme-btn remove-decoration">
|
||||
|
|
@ -209,6 +247,11 @@
|
|||
}
|
||||
}
|
||||
})
|
||||
|
||||
function removeLink(message) {
|
||||
if (!confirm(message))
|
||||
event.preventDefault();
|
||||
}
|
||||
})()
|
||||
</script>
|
||||
@endpush
|
||||
|
|
@ -29,7 +29,7 @@
|
|||
</a>
|
||||
|
||||
<a
|
||||
href="{{ route('shop.productOrCategory.index', $item->url_key) }}"
|
||||
href="{{ route('shop.productOrCategory.index', $item->product->url_key) }}"
|
||||
class="unset">
|
||||
|
||||
<div class="product-image"
|
||||
|
|
|
|||
|
|
@ -199,6 +199,8 @@
|
|||
this.$validator.validateAll(scope)
|
||||
.then(result => {
|
||||
if (result) {
|
||||
document.body.style.cursor = 'wait';
|
||||
|
||||
if (scope == 'address-form') {
|
||||
this.saveAddress();
|
||||
} else if (scope == 'shipping-form') {
|
||||
|
|
@ -330,6 +332,8 @@
|
|||
this.completed_step = this.step_numbers[response.data.jump_to_section] + 1;
|
||||
this.current_step = this.step_numbers[response.data.jump_to_section];
|
||||
|
||||
document.body.style.cursor = 'auto';
|
||||
|
||||
this.getOrderSummary();
|
||||
})
|
||||
.catch(error => {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
@extends('shop::customers.account.index')
|
||||
|
||||
@section('page_title')
|
||||
{{ __('shop::app.customer.account.review.index.page-title') }}
|
||||
{{ __('shop::app.customer.account.address.create.page-title') }}
|
||||
@endsection
|
||||
|
||||
@section('page-detail-wrapper')
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
@extends('shop::customers.account.index')
|
||||
|
||||
@section('page_title')
|
||||
{{ __('shop::app.customer.account.review.index.page-title') }}
|
||||
{{ __('shop::app.customer.account.address.edit.page-title') }}
|
||||
@endsection
|
||||
|
||||
@section('page-detail-wrapper')
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
@extends('shop::customers.account.index')
|
||||
|
||||
@section('page_title')
|
||||
{{ __('shop::app.customer.account.review.index.page-title') }}
|
||||
{{ __('shop::app.customer.account.address.index.page-title') }}
|
||||
@endsection
|
||||
|
||||
@section('page-detail-wrapper')
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
@extends('shop::customers.account.index')
|
||||
|
||||
@section('page_title')
|
||||
{{ __('shop::app.customer.account.review.index.page-title') }}
|
||||
{{ __('shop::app.customer.account.downloadable_products.title') }}
|
||||
@endsection
|
||||
|
||||
@section('page-detail-wrapper')
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
@extends('shop::customers.account.index')
|
||||
|
||||
@section('page_title')
|
||||
{{ __('shop::app.customer.account.review.index.page-title') }}
|
||||
{{ __('shop::app.customer.account.order.index.page-title') }}
|
||||
@endsection
|
||||
|
||||
@section('page-detail-wrapper')
|
||||
|
|
|
|||
|
|
@ -0,0 +1,518 @@
|
|||
@extends('shop::customers.account.index')
|
||||
|
||||
@section('page_title')
|
||||
{{ __('shop::app.customer.account.order.view.page-tile', ['order_id' => $order->increment_id]) }}
|
||||
@endsection
|
||||
|
||||
@push('css')
|
||||
<style type="text/css">
|
||||
.account-content .account-layout .account-head {
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
</style>
|
||||
@endpush
|
||||
|
||||
@section('page-detail-wrapper')
|
||||
<div class="account-content">
|
||||
<div class="account-layout">
|
||||
<div class="account-head">
|
||||
<span class="back-icon"><a href="{{ route('customer.account.index') }}"><i class="icon icon-menu-back"></i></a></span>
|
||||
<span class="account-heading">
|
||||
{{ __('shop::app.customer.account.order.view.page-tile', ['order_id' => $order->increment_id]) }}
|
||||
</span>
|
||||
<span></span>
|
||||
</div>
|
||||
|
||||
{!! view_render_event('bagisto.shop.customers.account.orders.view.before', ['order' => $order]) !!}
|
||||
|
||||
<div class="sale-container">
|
||||
<tabs>
|
||||
<tab name="{{ __('shop::app.customer.account.order.view.info') }}" :selected="true">
|
||||
|
||||
<div class="sale-section">
|
||||
<div class="section-content">
|
||||
<div class="row col-12">
|
||||
<label class="mr20">
|
||||
{{ __('shop::app.customer.account.order.view.placed-on') }}
|
||||
</label>
|
||||
|
||||
<span class="value">
|
||||
{{ core()->formatDate($order->created_at, 'd M Y') }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="sale-section">
|
||||
<div class="section-title">
|
||||
<span>{{ __('shop::app.customer.account.order.view.products-ordered') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
<div class="table">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{ __('shop::app.customer.account.order.view.SKU') }}</th>
|
||||
<th>{{ __('shop::app.customer.account.order.view.product-name') }}</th>
|
||||
<th>{{ __('shop::app.customer.account.order.view.price') }}</th>
|
||||
<th>{{ __('shop::app.customer.account.order.view.item-status') }}</th>
|
||||
<th>{{ __('shop::app.customer.account.order.view.subtotal') }}</th>
|
||||
<th>{{ __('shop::app.customer.account.order.view.tax-percent') }}</th>
|
||||
<th>{{ __('shop::app.customer.account.order.view.tax-amount') }}</th>
|
||||
<th>{{ __('shop::app.customer.account.order.view.grand-total') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
|
||||
@foreach ($order->items as $item)
|
||||
<tr>
|
||||
<td data-value="{{ __('shop::app.customer.account.order.view.SKU') }}">
|
||||
{{ $item->getTypeInstance()->getOrderedItem($item)->sku }}
|
||||
</td>
|
||||
|
||||
<td data-value="{{ __('shop::app.customer.account.order.view.product-name') }}">
|
||||
{{ $item->name }}
|
||||
|
||||
@if (isset($item->additional['attributes']))
|
||||
<div class="item-options">
|
||||
|
||||
@foreach ($item->additional['attributes'] as $attribute)
|
||||
<b>{{ $attribute['attribute_name'] }} : </b>{{ $attribute['option_label'] }}</br>
|
||||
@endforeach
|
||||
|
||||
</div>
|
||||
@endif
|
||||
</td>
|
||||
|
||||
<td data-value="{{ __('shop::app.customer.account.order.view.price') }}">
|
||||
{{ core()->formatPrice($item->price, $order->order_currency_code) }}
|
||||
</td>
|
||||
|
||||
<td data-value="{{ __('shop::app.customer.account.order.view.item-status') }}">
|
||||
<span class="qty-row">
|
||||
{{ __('shop::app.customer.account.order.view.item-ordered', ['qty_ordered' => $item->qty_ordered]) }}
|
||||
</span>
|
||||
|
||||
<span class="qty-row">
|
||||
{{ $item->qty_invoiced ? __('shop::app.customer.account.order.view.item-invoice', ['qty_invoiced' => $item->qty_invoiced]) : '' }}
|
||||
</span>
|
||||
|
||||
<span class="qty-row">
|
||||
{{ $item->qty_shipped ? __('shop::app.customer.account.order.view.item-shipped', ['qty_shipped' => $item->qty_shipped]) : '' }}
|
||||
</span>
|
||||
|
||||
<span class="qty-row">
|
||||
{{ $item->qty_refunded ? __('shop::app.customer.account.order.view.item-refunded', ['qty_refunded' => $item->qty_refunded]) : '' }}
|
||||
</span>
|
||||
|
||||
<span class="qty-row">
|
||||
{{ $item->qty_canceled ? __('shop::app.customer.account.order.view.item-canceled', ['qty_canceled' => $item->qty_canceled]) : '' }}
|
||||
</span>
|
||||
</td>
|
||||
|
||||
<td data-value="{{ __('shop::app.customer.account.order.view.subtotal') }}">
|
||||
{{ core()->formatPrice($item->total, $order->order_currency_code) }}
|
||||
</td>
|
||||
|
||||
<td data-value="{{ __('shop::app.customer.account.order.view.tax-percent') }}">
|
||||
{{ number_format($item->tax_percent, 2) }}%
|
||||
</td>
|
||||
|
||||
<td data-value="{{ __('shop::app.customer.account.order.view.tax-amount') }}">
|
||||
{{ core()->formatPrice($item->tax_amount, $order->order_currency_code) }}
|
||||
</td>
|
||||
|
||||
<td data-value="{{ __('shop::app.customer.account.order.view.grand-total') }}">
|
||||
{{ core()->formatPrice($item->total + $item->tax_amount - $item->discount_amount, $order->order_currency_code) }}
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="totals">
|
||||
<table class="sale-summary">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>{{ __('shop::app.customer.account.order.view.subtotal') }}</td>
|
||||
<td>-</td>
|
||||
<td>{{ core()->formatPrice($order->sub_total, $order->order_currency_code) }}</td>
|
||||
</tr>
|
||||
|
||||
@if ($order->haveStockableItems())
|
||||
<tr>
|
||||
<td>{{ __('shop::app.customer.account.order.view.shipping-handling') }}</td>
|
||||
<td>-</td>
|
||||
<td>{{ core()->formatPrice($order->shipping_amount, $order->order_currency_code) }}</td>
|
||||
</tr>
|
||||
@endif
|
||||
|
||||
@if ($order->base_discount_amount > 0)
|
||||
<tr>
|
||||
<td>{{ __('shop::app.customer.account.order.view.discount') }}</td>
|
||||
<td>-</td>
|
||||
<td>{{ core()->formatPrice($order->discount_amount, $order->order_currency_code) }}</td>
|
||||
</tr>
|
||||
@endif
|
||||
|
||||
<tr class="border-bottom">
|
||||
<td>{{ __('shop::app.customer.account.order.view.tax') }}</td>
|
||||
<td>-</td>
|
||||
<td>{{ core()->formatPrice($order->tax_amount, $order->order_currency_code) }}</td>
|
||||
</tr>
|
||||
|
||||
<tr class="fw6">
|
||||
<td>{{ __('shop::app.customer.account.order.view.grand-total') }}</td>
|
||||
<td>-</td>
|
||||
<td>{{ core()->formatPrice($order->grand_total, $order->order_currency_code) }}</td>
|
||||
</tr>
|
||||
|
||||
<tr class="fw6">
|
||||
<td>{{ __('shop::app.customer.account.order.view.total-paid') }}</td>
|
||||
<td>-</td>
|
||||
<td>{{ core()->formatPrice($order->grand_total_invoiced, $order->order_currency_code) }}</td>
|
||||
</tr>
|
||||
|
||||
<tr class="fw6">
|
||||
<td>{{ __('shop::app.customer.account.order.view.total-refunded') }}</td>
|
||||
<td>-</td>
|
||||
<td>{{ core()->formatPrice($order->grand_total_refunded, $order->order_currency_code) }}</td>
|
||||
</tr>
|
||||
|
||||
<tr class="fw6">
|
||||
<td>{{ __('shop::app.customer.account.order.view.total-due') }}</td>
|
||||
<td>-</td>
|
||||
<td>{{ core()->formatPrice($order->total_due, $order->order_currency_code) }}</td>
|
||||
</tr>
|
||||
<tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</tab>
|
||||
|
||||
@if ($order->invoices->count())
|
||||
<tab name="{{ __('shop::app.customer.account.order.view.invoices') }}">
|
||||
|
||||
@foreach ($order->invoices as $invoice)
|
||||
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('shop::app.customer.account.order.view.individual-invoice', ['invoice_id' => $invoice->id]) }}</span>
|
||||
|
||||
<a href="{{ route('customer.orders.print', $invoice->id) }}" class="pull-right">
|
||||
{{ __('shop::app.customer.account.order.view.print') }}
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
<div class="table">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{ __('shop::app.customer.account.order.view.SKU') }}</th>
|
||||
<th>{{ __('shop::app.customer.account.order.view.product-name') }}</th>
|
||||
<th>{{ __('shop::app.customer.account.order.view.price') }}</th>
|
||||
<th>{{ __('shop::app.customer.account.order.view.qty') }}</th>
|
||||
<th>{{ __('shop::app.customer.account.order.view.subtotal') }}</th>
|
||||
<th>{{ __('shop::app.customer.account.order.view.tax-amount') }}</th>
|
||||
<th>{{ __('shop::app.customer.account.order.view.grand-total') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
|
||||
@foreach ($invoice->items as $item)
|
||||
<tr>
|
||||
<td data-value="{{ __('shop::app.customer.account.order.view.SKU') }}">
|
||||
{{ $item->getTypeInstance()->getOrderedItem($item)->sku }}
|
||||
</td>
|
||||
|
||||
<td data-value="{{ __('shop::app.customer.account.order.view.product-name') }}">
|
||||
{{ $item->name }}
|
||||
</td>
|
||||
|
||||
<td data-value="{{ __('shop::app.customer.account.order.view.price') }}">
|
||||
{{ core()->formatPrice($item->price, $order->order_currency_code) }}
|
||||
</td>
|
||||
|
||||
<td data-value="{{ __('shop::app.customer.account.order.view.qty') }}">
|
||||
{{ $item->qty }}
|
||||
</td>
|
||||
|
||||
<td data-value="{{ __('shop::app.customer.account.order.view.subtotal') }}">
|
||||
{{ core()->formatPrice($item->total, $order->order_currency_code) }}
|
||||
</td>
|
||||
|
||||
<td data-value="{{ __('shop::app.customer.account.order.view.tax-amount') }}">
|
||||
{{ core()->formatPrice($item->tax_amount, $order->order_currency_code) }}
|
||||
</td>
|
||||
|
||||
<td data-value="{{ __('shop::app.customer.account.order.view.grand-total') }}">
|
||||
{{ core()->formatPrice($item->total + $item->tax_amount, $order->order_currency_code) }}
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="totals">
|
||||
<table class="sale-summary">
|
||||
<tr>
|
||||
<td>{{ __('shop::app.customer.account.order.view.subtotal') }}</td>
|
||||
<td>-</td>
|
||||
<td>{{ core()->formatPrice($invoice->sub_total, $order->order_currency_code) }}</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>{{ __('shop::app.customer.account.order.view.shipping-handling') }}</td>
|
||||
<td>-</td>
|
||||
<td>{{ core()->formatPrice($invoice->shipping_amount, $order->order_currency_code) }}</td>
|
||||
</tr>
|
||||
|
||||
@if ($order->base_discount_amount > 0)
|
||||
<tr>
|
||||
<td>{{ __('shop::app.customer.account.order.view.discount') }}</td>
|
||||
<td>-</td>
|
||||
<td>{{ core()->formatPrice($order->discount_amount, $order->order_currency_code) }}</td>
|
||||
</tr>
|
||||
@endif
|
||||
|
||||
<tr>
|
||||
<td>{{ __('shop::app.customer.account.order.view.tax') }}</td>
|
||||
<td>-</td>
|
||||
<td>{{ core()->formatPrice($invoice->tax_amount, $order->order_currency_code) }}</td>
|
||||
</tr>
|
||||
|
||||
<tr class="fw6">
|
||||
<td>{{ __('shop::app.customer.account.order.view.grand-total') }}</td>
|
||||
<td>-</td>
|
||||
<td>{{ core()->formatPrice($invoice->grand_total, $order->order_currency_code) }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endforeach
|
||||
|
||||
</tab>
|
||||
@endif
|
||||
|
||||
@if ($order->shipments->count())
|
||||
<tab name="{{ __('shop::app.customer.account.order.view.shipments') }}">
|
||||
|
||||
@foreach ($order->shipments as $shipment)
|
||||
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('shop::app.customer.account.order.view.individual-shipment', ['shipment_id' => $shipment->id]) }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
|
||||
<div class="table">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{ __('shop::app.customer.account.order.view.SKU') }}</th>
|
||||
<th>{{ __('shop::app.customer.account.order.view.product-name') }}</th>
|
||||
<th>{{ __('shop::app.customer.account.order.view.qty') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
|
||||
@foreach ($shipment->items as $item)
|
||||
|
||||
<tr>
|
||||
<td data-value="{{ __('shop::app.customer.account.order.view.SKU') }}">{{ $item->sku }}</td>
|
||||
<td data-value="{{ __('shop::app.customer.account.order.view.product-name') }}">{{ $item->name }}</td>
|
||||
<td data-value="{{ __('shop::app.customer.account.order.view.qty') }}">{{ $item->qty }}</td>
|
||||
</tr>
|
||||
|
||||
@endforeach
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endforeach
|
||||
|
||||
</tab>
|
||||
@endif
|
||||
|
||||
@if ($order->refunds->count())
|
||||
<tab name="{{ __('shop::app.customer.account.order.view.refunds') }}">
|
||||
|
||||
@foreach ($order->refunds as $refund)
|
||||
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('shop::app.customer.account.order.view.individual-refund', ['refund_id' => $refund->id]) }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
<div class="table">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{ __('shop::app.customer.account.order.view.SKU') }}</th>
|
||||
<th>{{ __('shop::app.customer.account.order.view.product-name') }}</th>
|
||||
<th>{{ __('shop::app.customer.account.order.view.price') }}</th>
|
||||
<th>{{ __('shop::app.customer.account.order.view.qty') }}</th>
|
||||
<th>{{ __('shop::app.customer.account.order.view.subtotal') }}</th>
|
||||
<th>{{ __('shop::app.customer.account.order.view.tax-amount') }}</th>
|
||||
<th>{{ __('shop::app.customer.account.order.view.grand-total') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
|
||||
@foreach ($refund->items as $item)
|
||||
<tr>
|
||||
<td data-value="{{ __('shop::app.customer.account.order.view.SKU') }}">{{ $item->child ? $item->child->sku : $item->sku }}</td>
|
||||
<td data-value="{{ __('shop::app.customer.account.order.view.product-name') }}">{{ $item->name }}</td>
|
||||
<td data-value="{{ __('shop::app.customer.account.order.view.price') }}">{{ core()->formatPrice($item->price, $order->order_currency_code) }}</td>
|
||||
<td data-value="{{ __('shop::app.customer.account.order.view.qty') }}">{{ $item->qty }}</td>
|
||||
<td data-value="{{ __('shop::app.customer.account.order.view.subtotal') }}">{{ core()->formatPrice($item->total, $order->order_currency_code) }}</td>
|
||||
<td data-value="{{ __('shop::app.customer.account.order.view.tax-amount') }}">{{ core()->formatPrice($item->tax_amount, $order->order_currency_code) }}</td>
|
||||
<td data-value="{{ __('shop::app.customer.account.order.view.grand-total') }}">{{ core()->formatPrice($item->total + $item->tax_amount, $order->order_currency_code) }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
|
||||
@if (! $refund->items->count())
|
||||
<tr>
|
||||
<td class="empty" colspan="7">{{ __('admin::app.common.no-result-found') }}</td>
|
||||
<tr>
|
||||
@endif
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="totals">
|
||||
<table class="sale-summary">
|
||||
<tr>
|
||||
<td>{{ __('shop::app.customer.account.order.view.subtotal') }}</td>
|
||||
<td>-</td>
|
||||
<td>{{ core()->formatPrice($refund->sub_total, $order->order_currency_code) }}</td>
|
||||
</tr>
|
||||
|
||||
@if ($refund->shipping_amount > 0)
|
||||
<tr>
|
||||
<td>{{ __('shop::app.customer.account.order.view.shipping-handling') }}</td>
|
||||
<td>-</td>
|
||||
<td>{{ core()->formatPrice($refund->shipping_amount, $order->order_currency_code) }}</td>
|
||||
</tr>
|
||||
@endif
|
||||
|
||||
@if ($refund->discount_amount > 0)
|
||||
<tr>
|
||||
<td>{{ __('shop::app.customer.account.order.view.discount') }}</td>
|
||||
<td>-</td>
|
||||
<td>{{ core()->formatPrice($order->discount_amount, $order->order_currency_code) }}</td>
|
||||
</tr>
|
||||
@endif
|
||||
|
||||
@if ($refund->tax_amount > 0)
|
||||
<tr>
|
||||
<td>{{ __('shop::app.customer.account.order.view.tax') }}</td>
|
||||
<td>-</td>
|
||||
<td>{{ core()->formatPrice($refund->tax_amount, $order->order_currency_code) }}</td>
|
||||
</tr>
|
||||
@endif
|
||||
|
||||
<tr>
|
||||
<td>{{ __('shop::app.customer.account.order.view.adjustment-refund') }}</td>
|
||||
<td>-</td>
|
||||
<td>{{ core()->formatPrice($refund->adjustment_refund, $order->order_currency_code) }}</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>{{ __('shop::app.customer.account.order.view.adjustment-fee') }}</td>
|
||||
<td>-</td>
|
||||
<td>{{ core()->formatPrice($refund->adjustment_fee, $order->order_currency_code) }}</td>
|
||||
</tr>
|
||||
|
||||
<tr class="fw6">
|
||||
<td>{{ __('shop::app.customer.account.order.view.grand-total') }}</td>
|
||||
<td>-</td>
|
||||
<td>{{ core()->formatPrice($refund->grand_total, $order->order_currency_code) }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endforeach
|
||||
|
||||
</tab>
|
||||
@endif
|
||||
</tabs>
|
||||
|
||||
<div class="sale-section">
|
||||
<div class="section-content" style="border-bottom: 0">
|
||||
<div class="order-box-container">
|
||||
<div class="box">
|
||||
<div class="box-title">
|
||||
{{ __('shop::app.customer.account.order.view.billing-address') }}
|
||||
</div>
|
||||
|
||||
<div class="box-content">
|
||||
|
||||
@include ('admin::sales.address', ['address' => $order->billing_address])
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if ($order->shipping_address)
|
||||
<div class="box">
|
||||
<div class="box-title">
|
||||
{{ __('shop::app.customer.account.order.view.shipping-address') }}
|
||||
</div>
|
||||
|
||||
<div class="box-content">
|
||||
|
||||
@include ('admin::sales.address', ['address' => $order->shipping_address])
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="box">
|
||||
<div class="box-title">
|
||||
{{ __('shop::app.customer.account.order.view.shipping-method') }}
|
||||
</div>
|
||||
|
||||
<div class="box-content">
|
||||
|
||||
{{ $order->shipping_title }}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="box">
|
||||
<div class="box-title">
|
||||
{{ __('shop::app.customer.account.order.view.payment-method') }}
|
||||
</div>
|
||||
|
||||
<div class="box-content">
|
||||
{{ core()->getConfigData('sales.paymentmethods.' . $order->payment->method . '.title') }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{!! view_render_event('bagisto.shop.customers.account.orders.view.after', ['order' => $order]) !!}
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
@extends('shop::customers.account.index')
|
||||
|
||||
@section('page_title')
|
||||
{{ __('shop::app.customer.account.review.index.page-title') }}
|
||||
{{ __('shop::app.customer.account.profile.index.title') }}
|
||||
@endsection
|
||||
|
||||
@section('page-detail-wrapper')
|
||||
|
|
|
|||
|
|
@ -31,18 +31,12 @@
|
|||
$currentMode = $toolbarHelper->getCurrentMode();
|
||||
@endphp
|
||||
|
||||
@if ($currentMode == "grid")
|
||||
<div class="col-6 no-padding">
|
||||
@endif
|
||||
@include ('shop::products.list.card', [
|
||||
'checkmode' => true,
|
||||
'itemId' => $item->id,
|
||||
'removeWishlist' => true,
|
||||
'product' => $item->product,
|
||||
])
|
||||
@if ($currentMode == "grid")
|
||||
</div>
|
||||
@endif
|
||||
@include ('shop::products.list.card', [
|
||||
'checkmode' => true,
|
||||
'itemId' => $item->id,
|
||||
'removeWishlist' => true,
|
||||
'product' => $item->product,
|
||||
])
|
||||
@endforeach
|
||||
|
||||
<div class="bottom-toolbar">
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@
|
|||
|
||||
<div class="category-container right">
|
||||
<div class="row remove-padding-margin">
|
||||
<div class="col-12">
|
||||
<div class="pl0 col-12">
|
||||
<h1 class="fw6 mb10">{{ $category->name }}</h1>
|
||||
|
||||
@if ($isDisplayMode && $products->count())
|
||||
|
|
|
|||
|
|
@ -156,26 +156,6 @@
|
|||
</form>
|
||||
</script>
|
||||
|
||||
<script type="text/x-template" id="quantity-changer-template">
|
||||
<div :class="`quantity control-group ${errors.has(controlName) ? 'has-error' : ''}`">
|
||||
<label class="required">{{ __('shop::app.products.quantity') }}</label>
|
||||
<button type="button" class="decrease" @click="decreaseQty()">-</button>
|
||||
|
||||
<input
|
||||
:value="qty"
|
||||
class="control"
|
||||
:name="controlName"
|
||||
:v-validate="validations"
|
||||
data-vv-as=""{{ __('shop::app.products.quantity') }}"" readonly>
|
||||
|
||||
<button type="button" class="increase" @click="increaseQty()">+</button>
|
||||
|
||||
<span class="control-error" v-if="errors.has(controlName)">
|
||||
@{{ errors.first(controlName) }}
|
||||
</span>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<script type="text/javascript">
|
||||
Vue.component('product-view', {
|
||||
inject: ['$validator'],
|
||||
|
|
@ -227,62 +207,6 @@
|
|||
}
|
||||
});
|
||||
|
||||
Vue.component('quantity-changer', {
|
||||
inject: ['$validator'],
|
||||
template: '#quantity-changer-template',
|
||||
|
||||
props: {
|
||||
controlName: {
|
||||
type: String,
|
||||
default: 'quantity'
|
||||
},
|
||||
|
||||
quantity: {
|
||||
type: [Number, String],
|
||||
default: 1
|
||||
},
|
||||
|
||||
minQuantity: {
|
||||
type: [Number, String],
|
||||
default: 1
|
||||
},
|
||||
|
||||
validations: {
|
||||
type: String,
|
||||
default: 'required|numeric|min_value:1'
|
||||
}
|
||||
},
|
||||
|
||||
data: function() {
|
||||
return {
|
||||
qty: this.quantity
|
||||
}
|
||||
},
|
||||
|
||||
watch: {
|
||||
quantity: function (val) {
|
||||
this.qty = val;
|
||||
|
||||
this.$emit('onQtyUpdated', this.qty)
|
||||
}
|
||||
},
|
||||
|
||||
methods: {
|
||||
decreaseQty: function() {
|
||||
if (this.qty > this.minQuantity)
|
||||
this.qty = parseInt(this.qty) - 1;
|
||||
|
||||
this.$emit('onQtyUpdated', this.qty)
|
||||
},
|
||||
|
||||
increaseQty: function() {
|
||||
this.qty = parseInt(this.qty) + 1;
|
||||
|
||||
this.$emit('onQtyUpdated', this.qty)
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
$(document).ready(function() {
|
||||
var addTOButton = document.getElementsByClassName('add-to-buttons')[0];
|
||||
// document.getElementById('loader').style.display="none";
|
||||
|
|
|
|||
|
|
@ -22,15 +22,15 @@
|
|||
</div>
|
||||
|
||||
<div class="bundle-summary">
|
||||
<h3>{{ __('shop::app.products.your-customization') }}</h3>
|
||||
<h3 class="mb10">{{ __('shop::app.products.your-customization') }}</h3>
|
||||
|
||||
<quantity-changer></quantity-changer>
|
||||
|
||||
<div class="control-group">
|
||||
<label>{{ __('shop::app.products.total-amount') }}</label>
|
||||
|
||||
<div class="bundle-price">
|
||||
@{{ formated_total_price }}
|
||||
<div class="bundle-price no-margin">
|
||||
@{{ formated_total_price | currency(currency_options) }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
@ -131,9 +131,7 @@
|
|||
|
||||
<script type="text/javascript">
|
||||
Vue.component('bundle-option-list', {
|
||||
|
||||
template: '#bundle-option-list-template',
|
||||
|
||||
inject: ['$validator'],
|
||||
|
||||
data: function() {
|
||||
|
|
|
|||
|
|
@ -10,10 +10,11 @@
|
|||
class="unset wishlist-icon {{ $addWishlistClass ?? '' }}"
|
||||
@if (! $isWished)
|
||||
href="{{ route('customer.wishlist.add', $product->product_id) }}"
|
||||
title="{{ __('velocity::app.shop.wishlist.add-wishlist-text') }}"
|
||||
@elseif (isset($itemId) && $itemId)
|
||||
href="{{ route('customer.wishlist.remove', $itemId) }}"
|
||||
@endif
|
||||
>
|
||||
title="{{ __('velocity::app.shop.wishlist.remove-wishlist-text') }}"
|
||||
@endif>
|
||||
|
||||
<wishlist-component active="{{ !$isWished }}"></wishlist-component>
|
||||
</a>
|
||||
|
|
|
|||
Loading…
Reference in New Issue