work on ui part
This commit is contained in:
parent
de746ed6b8
commit
7f3b71c0c0
|
|
@ -23,6 +23,7 @@
|
|||
"dependencies": {
|
||||
"laravel-echo": "^1.11.3",
|
||||
"laravel-vue-pagination": "^2.3.1",
|
||||
"moment": "^2.29.1",
|
||||
"pusher-js": "^7.0.3",
|
||||
"vee-validate": "^2.2.15"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,7 +5,8 @@ import Vue from 'vue';
|
|||
import VeeValidate from 'vee-validate';
|
||||
import './bootstrap';
|
||||
import Echo from 'laravel-echo';
|
||||
import pagination from 'laravel-vue-pagination'
|
||||
import pagination from 'laravel-vue-pagination';
|
||||
import moment from 'moment';
|
||||
|
||||
/**
|
||||
* Lang imports.
|
||||
|
|
@ -45,6 +46,7 @@ window.eventBus = new Vue();
|
|||
window.VeeValidate = VeeValidate;
|
||||
window.Pusher = require('pusher-js');
|
||||
window.Echo = Echo;
|
||||
Vue.prototype.moment = moment;
|
||||
|
||||
/**
|
||||
* Global components.
|
||||
|
|
|
|||
|
|
@ -147,6 +147,7 @@ export default {
|
|||
});
|
||||
|
||||
Echo.channel('notification').listen('.update-notification', (e) => {
|
||||
console.log(e);
|
||||
this.notifications.forEach((notification)=>{
|
||||
if(notification.order_id == e.id){
|
||||
notification.order.status = e.status;
|
||||
|
|
|
|||
|
|
@ -261,7 +261,7 @@
|
|||
}
|
||||
tbody td {
|
||||
color: rgba(255, 255, 255, 0.8);
|
||||
|
||||
border-bottom: 1px solid $seprator;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -316,10 +316,10 @@
|
|||
}
|
||||
ul{
|
||||
li{
|
||||
a:link{
|
||||
a{
|
||||
color: rgba(255,255,255,.8);
|
||||
&:hover{
|
||||
color: #0041FF;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -461,18 +461,20 @@
|
|||
}
|
||||
|
||||
.sale-container {
|
||||
.sale-section {
|
||||
.secton-title {
|
||||
color: rgba(255,255,255,.8);
|
||||
border-bottom: 1px solid #24384c;
|
||||
}
|
||||
.section-content {
|
||||
.row {
|
||||
.title {
|
||||
color: rgba(255,255,255,.8);
|
||||
}
|
||||
.value {
|
||||
color: rgba(255,255,255,.8);
|
||||
.sale{
|
||||
.sale-section {
|
||||
.secton-title {
|
||||
color: rgba(255,255,255,.8);
|
||||
border-bottom: 1px solid #24384c;
|
||||
}
|
||||
.section-content {
|
||||
.row {
|
||||
.title {
|
||||
color: rgba(255,255,255,.8);
|
||||
}
|
||||
.value {
|
||||
color: rgba(255,255,255,.8);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -760,7 +760,7 @@ body {
|
|||
margin-bottom: 0;
|
||||
margin-left: 0px;
|
||||
padding: 0px;
|
||||
margin-top: 35px;
|
||||
margin-top: 16px;
|
||||
}
|
||||
|
||||
.page-title {
|
||||
|
|
@ -813,3 +813,63 @@ body {
|
|||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 411px){
|
||||
.content-container {
|
||||
|
||||
.content {
|
||||
|
||||
.page-header {
|
||||
|
||||
.control-group {
|
||||
width: 385px;
|
||||
display: block;
|
||||
margin-bottom: 0;
|
||||
margin-left: 0px;
|
||||
padding: 0px;
|
||||
margin-top: 16px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 385px){
|
||||
.content-container {
|
||||
|
||||
.content {
|
||||
|
||||
.page-header {
|
||||
|
||||
.control-group {
|
||||
width: 350px;
|
||||
display: block;
|
||||
margin-bottom: 0;
|
||||
margin-left: 0px;
|
||||
padding: 0px;
|
||||
margin-top: 16px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 320px){
|
||||
.content-container {
|
||||
|
||||
.content {
|
||||
|
||||
.page-header {
|
||||
|
||||
.control-group {
|
||||
width: 295px;
|
||||
display: block;
|
||||
margin-bottom: 0;
|
||||
margin-left: 0px;
|
||||
padding: 0px;
|
||||
margin-top: 16px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,38 +1,45 @@
|
|||
.sale-container {
|
||||
.sale-section {
|
||||
font-size: 16px;
|
||||
|
||||
.secton-title {
|
||||
font-size: 18px;
|
||||
color: #8e8e8e;
|
||||
padding: 15px 0;
|
||||
border-bottom: 1px solid $border-color;
|
||||
}
|
||||
.sale{
|
||||
display: flex;
|
||||
column-gap: 20px;
|
||||
|
||||
.section-content {
|
||||
display: block;
|
||||
padding: 20px 0;
|
||||
|
||||
.row {
|
||||
.sale-section {
|
||||
font-size: 16px;
|
||||
width: 50%;
|
||||
|
||||
.secton-title {
|
||||
font-size: 18px;
|
||||
color: #8e8e8e;
|
||||
padding: 15px 0;
|
||||
border-bottom: 1px solid $border-color;
|
||||
}
|
||||
|
||||
.section-content {
|
||||
display: block;
|
||||
padding: 7px 0;
|
||||
|
||||
.title {
|
||||
width: 200px;
|
||||
color: $font-color;
|
||||
letter-spacing: -0.26px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.value {
|
||||
color: $font-color;
|
||||
letter-spacing: -0.26px;
|
||||
display: inline-block;
|
||||
padding: 20px 0;
|
||||
|
||||
.row {
|
||||
display: block;
|
||||
padding: 7px 0;
|
||||
|
||||
.title {
|
||||
width: 200px;
|
||||
color: $font-color;
|
||||
letter-spacing: -0.26px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.value {
|
||||
color: $font-color;
|
||||
letter-spacing: -0.26px;
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.table {
|
||||
.qty-row {
|
||||
display: block;
|
||||
|
|
@ -119,4 +126,29 @@
|
|||
span {
|
||||
margin-left: 2px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@media only screen and (max-width: 768px){
|
||||
.sale-container {
|
||||
|
||||
.sale{
|
||||
display: block;
|
||||
|
||||
.sale-section {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.summary-comment-container{
|
||||
.comment-container{
|
||||
width: 100%;
|
||||
form{
|
||||
.control-group{
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -598,6 +598,7 @@ return [
|
|||
'save' => 'Save',
|
||||
'cancel' => 'Cancel',
|
||||
'saved-inventory-message' => 'Product inventory saved successfully.',
|
||||
'image-size' => 'Image resolution should be like 640px X 640px'
|
||||
],
|
||||
|
||||
'attributes' => [
|
||||
|
|
@ -700,6 +701,8 @@ return [
|
|||
'image' => 'Image',
|
||||
'filterable-attributes' => 'Filterable Attributes',
|
||||
'attributes' => 'Attributes',
|
||||
'image-size' => 'Image resolution should be like 300px X 168px',
|
||||
'image-size-logo' => 'Image resolution should be like 20px X 20px'
|
||||
],
|
||||
],
|
||||
|
||||
|
|
@ -878,6 +881,8 @@ return [
|
|||
'maintenance-mode' => 'Maintenance Mode',
|
||||
'maintenance-mode-text' => 'Message',
|
||||
'allowed-ips' => 'Allowed IPs',
|
||||
'logo-size' => 'Image resolution should be like 192px X 50px',
|
||||
'favicon-size' => 'Image resolution should be like 16px X 16px'
|
||||
],
|
||||
|
||||
'sliders' => [
|
||||
|
|
@ -898,6 +903,7 @@ return [
|
|||
'delete-fail' => 'Slider item successfully deleted',
|
||||
'expired-at' => 'Expire Date',
|
||||
'sort-order' => 'Sort Order',
|
||||
'image-size' => 'Image resolution should be like 1920px X 550px'
|
||||
],
|
||||
|
||||
'tax-categories' => [
|
||||
|
|
@ -1558,6 +1564,9 @@ return [
|
|||
'set-order-status' => 'Set the order status after creating the invoice to',
|
||||
'generate-invoice-applicable' => 'Applicable if automatic generate invoice is enabled',
|
||||
'records-found' => 'Record(s) found',
|
||||
'logo-size' => 'Image resolution should be like 112px X 41px',
|
||||
'favicon-size' => 'Image resolution should be like 16px X 16px',
|
||||
'invoice-logo-size' => 'Image resolution should be like 192px X 50px'
|
||||
],
|
||||
],
|
||||
|
||||
|
|
|
|||
|
|
@ -100,6 +100,8 @@
|
|||
@php echo str_replace($key, 'Image', $message[0]); @endphp
|
||||
@endforeach
|
||||
</span>
|
||||
|
||||
<span class="control-info mt-10">{{ __('admin::app.catalog.categories.image-size') }}</span>
|
||||
</div>
|
||||
|
||||
{!! view_render_event('bagisto.admin.catalog.category.create_form_accordian.description_images.controls.after') !!}
|
||||
|
|
|
|||
|
|
@ -20,6 +20,8 @@
|
|||
@endphp
|
||||
@endforeach
|
||||
</span>
|
||||
|
||||
<span class="control-info mt-10">{{ __('admin::app.catalog.products.image-size') }}</span>
|
||||
</div>
|
||||
|
||||
{!! view_render_event('bagisto.admin.catalog.product.edit_form_accordian.images.controls.after', ['product' => $product]) !!}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,10 @@
|
|||
@if (core()->getConfigData('general.design.admin_logo.logo_image', core()->getCurrentChannelCode()))
|
||||
<img src="{{ \Illuminate\Support\Facades\Storage::url(core()->getConfigData('general.design.admin_logo.logo_image', core()->getCurrentChannelCode())) }}" alt="{{ config('app.name') }}" style="height: 40px; width: 110px;"/>
|
||||
@else
|
||||
<img src="{{ asset('vendor/webkul/ui/assets/images/logo.png') }}" alt="{{ config('app.name') }}"/>
|
||||
<default-image
|
||||
light-theme-image-url="{{ asset('vendor/webkul/ui/assets/images/logo.png') }}"
|
||||
dark-theme-image-url="{{ asset('vendor/webkul/ui/assets/images/logo_light.png') }}"
|
||||
></default-image>
|
||||
@endif
|
||||
</a>
|
||||
</div>
|
||||
|
|
@ -36,43 +39,7 @@
|
|||
view-all-title="{{ __('admin::app.notification.view-all') }}"
|
||||
get-read-all-url="{{ route('admin.notification.read-all') }}"
|
||||
read-all-title="{{ __('admin::app.notification.read-all') }}">
|
||||
</notification>
|
||||
|
||||
<div class="profile-info">
|
||||
@php
|
||||
$allLocales = core()->getAllLocales()->pluck('name', 'code');
|
||||
|
||||
$currentLocaleCode = core()->getRequestedLocaleCode('admin_locale');
|
||||
@endphp
|
||||
|
||||
<div class="dropdown-toggle">
|
||||
<div style="display: inline-block; vertical-align: middle;">
|
||||
<span class="name">
|
||||
{{ __('admin::app.datagrid.locale') }}
|
||||
</span>
|
||||
|
||||
<span class="role">
|
||||
{{ $allLocales[$currentLocaleCode] }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<i class="icon arrow-down-icon active"></i>
|
||||
</div>
|
||||
|
||||
<div class="dropdown-list bottom-right">
|
||||
<div class="dropdown-container">
|
||||
<ul>
|
||||
@foreach ($allLocales as $code => $name)
|
||||
<li>
|
||||
<a href="{{ url()->current() . '?' . http_build_query(array_merge(request()->all(), ['admin_locale' => $code])) }}">
|
||||
{{ $name }}
|
||||
</a>
|
||||
</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</notification>
|
||||
|
||||
<div class="profile-info">
|
||||
<div class="dropdown-toggle">
|
||||
|
|
@ -94,9 +61,6 @@
|
|||
<div class="dropdown-container">
|
||||
<label>{{ __('admin::app.layouts.account-title') }}</label>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="{{ route('shop.home.index') }}" target="_blank">{{ __('admin::app.layouts.visit-shop') }}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{{ route('admin.account.edit') }}">{{ __('admin::app.layouts.my-account') }}</a>
|
||||
</li>
|
||||
|
|
|
|||
|
|
@ -31,191 +31,193 @@
|
|||
<accordian :title="'{{ __('admin::app.sales.orders.order-and-account') }}'" :active="true">
|
||||
<div slot="body">
|
||||
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.order-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.invoices.order-id') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
<a href="{{ route('admin.sales.orders.view', $order->id) }}">#{{ $order->increment_id }}</a>
|
||||
</span>
|
||||
<div class="sale">
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.order-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.order-date') }}
|
||||
</span>
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.invoices.order-id') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->created_at }}
|
||||
</span>
|
||||
</div>
|
||||
<span class="value">
|
||||
<a href="{{ route('admin.sales.orders.view', $order->id) }}">#{{ $order->increment_id }}</a>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.order-status') }}
|
||||
</span>
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.order-date') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->status_label }}
|
||||
</span>
|
||||
</div>
|
||||
<span class="value">
|
||||
{{ $order->created_at }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.channel') }}
|
||||
</span>
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.order-status') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->channel_name }}
|
||||
</span>
|
||||
<span class="value">
|
||||
{{ $order->status_label }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.channel') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->channel_name }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.account-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.customer-name') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->customer_full_name }}
|
||||
</span>
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.account-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.email') }}
|
||||
</span>
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.customer-name') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->customer_email }}
|
||||
</span>
|
||||
<span class="value">
|
||||
{{ $order->customer_full_name }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.email') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->customer_email }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</accordian>
|
||||
|
||||
<accordian :title="'{{ __('admin::app.sales.orders.address') }}'" :active="true">
|
||||
<div slot="body">
|
||||
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.billing-address') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
|
||||
@include ('admin::sales.address', ['address' => $order->billing_address])
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if ($order->shipping_address)
|
||||
<div class="sale">
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.shipping-address') }}</span>
|
||||
<span>{{ __('admin::app.sales.orders.billing-address') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
|
||||
@include ('admin::sales.address', ['address' => $order->shipping_address])
|
||||
@include ('admin::sales.address', ['address' => $order->billing_address])
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@if ($order->shipping_address)
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.shipping-address') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
|
||||
@include ('admin::sales.address', ['address' => $order->shipping_address])
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</accordian>
|
||||
|
||||
<accordian :title="'{{ __('admin::app.sales.orders.payment-and-shipping') }}'" :active="true">
|
||||
<div slot="body">
|
||||
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.payment-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.payment-method') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ core()->getConfigData('sales.paymentmethods.' . $order->payment->method . '.title') }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.currency') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->order_currency_code }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@php $additionalDetails = \Webkul\Payment\Payment::getAdditionalDetails($order->payment->method); @endphp
|
||||
|
||||
@if (! empty($additionalDetails))
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ $additionalDetails['title'] }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $additionalDetails['value'] }}
|
||||
</span>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if ($order->shipping_address)
|
||||
<div class="sale">
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.shipping-info') }}</span>
|
||||
<span>{{ __('admin::app.sales.orders.payment-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.shipping-method') }}
|
||||
{{ __('admin::app.sales.orders.payment-method') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->shipping_title }}
|
||||
{{ core()->getConfigData('sales.paymentmethods.' . $order->payment->method . '.title') }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.shipping-price') }}
|
||||
{{ __('admin::app.sales.orders.currency') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ core()->formatBasePrice($order->base_shipping_amount) }}
|
||||
{{ $order->order_currency_code }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@php $additionalDetails = \Webkul\Payment\Payment::getAdditionalDetails($order->payment->method); @endphp
|
||||
|
||||
@if (! empty($additionalDetails))
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ $additionalDetails['title'] }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $additionalDetails['value'] }}
|
||||
</span>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@if ($order->shipping_address)
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.shipping-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.shipping-method') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->shipping_title }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.shipping-price') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ core()->formatBasePrice($order->base_shipping_amount) }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</accordian>
|
||||
|
||||
|
|
@ -223,55 +225,56 @@
|
|||
<div slot="body">
|
||||
|
||||
<div class="table">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{ __('admin::app.sales.orders.SKU') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.product-name') }}</th>
|
||||
<th>{{ __('admin::app.sales.invoices.qty-ordered') }}</th>
|
||||
<th>{{ __('admin::app.sales.invoices.qty-to-invoice') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<div class="table-responsive">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{ __('admin::app.sales.orders.SKU') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.product-name') }}</th>
|
||||
<th>{{ __('admin::app.sales.invoices.qty-ordered') }}</th>
|
||||
<th>{{ __('admin::app.sales.invoices.qty-to-invoice') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<tbody>
|
||||
|
||||
@foreach ($order->items as $item)
|
||||
@if ($item->qty_to_invoice > 0)
|
||||
<tr>
|
||||
<td>{{ $item->getTypeInstance()->getOrderedItem($item)->sku }}</td>
|
||||
<td>
|
||||
{{ $item->name }}
|
||||
@foreach ($order->items as $item)
|
||||
@if ($item->qty_to_invoice > 0)
|
||||
<tr>
|
||||
<td>{{ $item->getTypeInstance()->getOrderedItem($item)->sku }}</td>
|
||||
<td>
|
||||
{{ $item->name }}
|
||||
|
||||
@if (isset($item->additional['attributes']))
|
||||
<div class="item-options">
|
||||
@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
|
||||
@foreach ($item->additional['attributes'] as $attribute)
|
||||
<b>{{ $attribute['attribute_name'] }} : </b>{{ $attribute['option_label'] }}</br>
|
||||
@endforeach
|
||||
|
||||
</div>
|
||||
@endif
|
||||
</td>
|
||||
<td>{{ $item->qty_ordered }}</td>
|
||||
<td>
|
||||
<div class="control-group" :class="[errors.has('invoice[items][{{ $item->id }}]') ? 'has-error' : '']">
|
||||
<input type="text" v-validate="'required|numeric|min:0'" class="control" id="invoice[items][{{ $item->id }}]" name="invoice[items][{{ $item->id }}]" value="{{ $item->qty_to_invoice }}" data-vv-as=""{{ __('admin::app.sales.invoices.qty-to-invoice') }}""/>
|
||||
|
||||
<span class="control-error" v-if="errors.has('invoice[items][{{ $item->id }}]')">
|
||||
@verbatim
|
||||
{{ errors.first('invoice[items][<?php echo $item->id ?>]') }}
|
||||
@endverbatim
|
||||
</span>
|
||||
</div>
|
||||
@endif
|
||||
</td>
|
||||
<td>{{ $item->qty_ordered }}</td>
|
||||
<td>
|
||||
<div class="control-group" :class="[errors.has('invoice[items][{{ $item->id }}]') ? 'has-error' : '']">
|
||||
<input type="text" v-validate="'required|numeric|min:0'" class="control" id="invoice[items][{{ $item->id }}]" name="invoice[items][{{ $item->id }}]" value="{{ $item->qty_to_invoice }}" data-vv-as=""{{ __('admin::app.sales.invoices.qty-to-invoice') }}""/>
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@endforeach
|
||||
|
||||
<span class="control-error" v-if="errors.has('invoice[items][{{ $item->id }}]')">
|
||||
@verbatim
|
||||
{{ errors.first('invoice[items][<?php echo $item->id ?>]') }}
|
||||
@endverbatim
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@endforeach
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</accordian>
|
||||
|
||||
|
|
|
|||
|
|
@ -40,130 +40,131 @@
|
|||
<div class="sale-container">
|
||||
<accordian :title="'{{ __('admin::app.sales.orders.order-and-account') }}'" :active="true">
|
||||
<div slot="body">
|
||||
<div class="sale">
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.order-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.order-info') }}</span>
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.invoices.order-id') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
<a href="{{ route('admin.sales.orders.view', $order->id) }}">#{{ $order->increment_id }}</a>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
{!! view_render_event('sales.invoice.increment_id.after', ['order' => $order]) !!}
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.order-date') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->created_at }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
{!! view_render_event('sales.invoice.created_at.after', ['order' => $order]) !!}
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.order-status') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->status_label }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
{!! view_render_event('sales.invoice.status_label.after', ['order' => $order]) !!}
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.invoices.status') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $invoice->status_label }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.channel') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->channel_name }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
{!! view_render_event('sales.invoice.channel_name.after', ['order' => $order]) !!}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.invoices.order-id') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
<a href="{{ route('admin.sales.orders.view', $order->id) }}">#{{ $order->increment_id }}</a>
|
||||
</span>
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.account-info') }}</span>
|
||||
</div>
|
||||
|
||||
{!! view_render_event('sales.invoice.increment_id.after', ['order' => $order]) !!}
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">{{ __('admin::app.sales.orders.customer-name') }}</span>
|
||||
<span class="value">{{ $invoice->order->customer_full_name }}</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.order-date') }}
|
||||
</span>
|
||||
{!! view_render_event('sales.invoice.customer_name.after', ['order' => $order]) !!}
|
||||
|
||||
<span class="value">
|
||||
{{ $order->created_at }}
|
||||
</span>
|
||||
<div class="row">
|
||||
<span class="title">{{ __('admin::app.sales.orders.email') }}</span>
|
||||
<span class="value">{{ $invoice->order->customer_email }}</span>
|
||||
</div>
|
||||
|
||||
{!! view_render_event('sales.invoice.customer_email.after', ['order' => $order]) !!}
|
||||
</div>
|
||||
|
||||
{!! view_render_event('sales.invoice.created_at.after', ['order' => $order]) !!}
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.order-status') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->status_label }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
{!! view_render_event('sales.invoice.status_label.after', ['order' => $order]) !!}
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.invoices.status') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $invoice->status_label }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.channel') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->channel_name }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
{!! view_render_event('sales.invoice.channel_name.after', ['order' => $order]) !!}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.account-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">{{ __('admin::app.sales.orders.customer-name') }}</span>
|
||||
<span class="value">{{ $invoice->order->customer_full_name }}</span>
|
||||
</div>
|
||||
|
||||
{!! view_render_event('sales.invoice.customer_name.after', ['order' => $order]) !!}
|
||||
|
||||
<div class="row">
|
||||
<span class="title">{{ __('admin::app.sales.orders.email') }}</span>
|
||||
<span class="value">{{ $invoice->order->customer_email }}</span>
|
||||
</div>
|
||||
|
||||
{!! view_render_event('sales.invoice.customer_email.after', ['order' => $order]) !!}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</accordian>
|
||||
|
||||
|
||||
@if ($order->billing_address || $order->shipping_address)
|
||||
<accordian :title="'{{ __('admin::app.sales.orders.address') }}'" :active="true">
|
||||
<div slot="body" style="display: flex; overflow:auto;">
|
||||
<div slot="body">
|
||||
<div class="sale">
|
||||
@if ($order->billing_address)
|
||||
<div class="sale-section">
|
||||
<div class="secton-title" >
|
||||
<span>{{ __('admin::app.sales.orders.billing-address') }}</span>
|
||||
</div>
|
||||
|
||||
@if ($order->billing_address)
|
||||
<div class="sale-section">
|
||||
<div class="secton-title" style="width: 380px;">
|
||||
<span>{{ __('admin::app.sales.orders.billing-address') }}</span>
|
||||
<div class="section-content">
|
||||
@include ('admin::sales.address', ['address' => $order->billing_address])
|
||||
|
||||
{!! view_render_event('sales.invoice.billing_address.after', ['order' => $order]) !!}
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="section-content" style="width: 380px;">
|
||||
@include ('admin::sales.address', ['address' => $order->billing_address])
|
||||
@if ($order->shipping_address)
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.shipping-address') }}</span>
|
||||
</div>
|
||||
|
||||
{!! view_render_event('sales.invoice.billing_address.after', ['order' => $order]) !!}
|
||||
<div class="section-content">
|
||||
@include ('admin::sales.address', ['address' => $order->shipping_address])
|
||||
|
||||
{!! view_render_event('sales.invoice.shipping_address.after', ['order' => $order]) !!}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@if ($order->shipping_address)
|
||||
<div class="sale-section" style="margin: 0 0 0 300px;">
|
||||
<div class="secton-title" style="width: 400px;">
|
||||
<span>{{ __('admin::app.sales.orders.shipping-address') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content" style="width: 400px;">
|
||||
@include ('admin::sales.address', ['address' => $order->shipping_address])
|
||||
|
||||
{!! view_render_event('sales.invoice.shipping_address.after', ['order' => $order]) !!}
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</accordian>
|
||||
@endif
|
||||
|
|
@ -172,60 +173,62 @@
|
|||
<div slot="body">
|
||||
|
||||
<div class="table">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{ __('admin::app.sales.orders.SKU') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.product-name') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.price') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.qty') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.subtotal') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.tax-amount') }}</th>
|
||||
@if ($invoice->base_discount_amount > 0)
|
||||
<th>{{ __('admin::app.sales.orders.discount-amount') }}</th>
|
||||
@endif
|
||||
<th>{{ __('admin::app.sales.orders.grand-total') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
|
||||
@foreach ($invoice->items as $item)
|
||||
<div class="table-responsive">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>{{ $item->getTypeInstance()->getOrderedItem($item)->sku }}</td>
|
||||
|
||||
<td>
|
||||
{{ $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>{{ core()->formatBasePrice($item->base_price) }}</td>
|
||||
|
||||
<td>{{ $item->qty }}</td>
|
||||
|
||||
<td>{{ core()->formatBasePrice($item->base_total) }}</td>
|
||||
|
||||
<td>{{ core()->formatBasePrice($item->base_tax_amount) }}</td>
|
||||
|
||||
<th>{{ __('admin::app.sales.orders.SKU') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.product-name') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.price') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.qty') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.subtotal') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.tax-amount') }}</th>
|
||||
@if ($invoice->base_discount_amount > 0)
|
||||
<td>{{ core()->formatBasePrice($item->base_discount_amount) }}</td>
|
||||
<th>{{ __('admin::app.sales.orders.discount-amount') }}</th>
|
||||
@endif
|
||||
|
||||
<td>{{ core()->formatBasePrice($item->base_total + $item->base_tax_amount - $item->base_discount_amount) }}</td>
|
||||
<th>{{ __('admin::app.sales.orders.grand-total') }}</th>
|
||||
</tr>
|
||||
@endforeach
|
||||
</thead>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
<tbody>
|
||||
|
||||
@foreach ($invoice->items as $item)
|
||||
<tr>
|
||||
<td>{{ $item->getTypeInstance()->getOrderedItem($item)->sku }}</td>
|
||||
|
||||
<td>
|
||||
{{ $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>{{ core()->formatBasePrice($item->base_price) }}</td>
|
||||
|
||||
<td>{{ $item->qty }}</td>
|
||||
|
||||
<td>{{ core()->formatBasePrice($item->base_total) }}</td>
|
||||
|
||||
<td>{{ core()->formatBasePrice($item->base_tax_amount) }}</td>
|
||||
|
||||
@if ($invoice->base_discount_amount > 0)
|
||||
<td>{{ core()->formatBasePrice($item->base_discount_amount) }}</td>
|
||||
@endif
|
||||
|
||||
<td>{{ core()->formatBasePrice($item->base_total + $item->base_tax_amount - $item->base_discount_amount) }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<table class="sale-summary">
|
||||
|
|
|
|||
|
|
@ -64,95 +64,97 @@
|
|||
<accordian :title="'{{ __('admin::app.sales.orders.order-and-account') }}'" :active="true">
|
||||
<div slot="body">
|
||||
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.order-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.order-date') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->created_at }}
|
||||
</span>
|
||||
<div class="sale">
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.order-info') }}</span>
|
||||
</div>
|
||||
|
||||
{!! view_render_event('sales.order.created_at.after', ['order' => $order]) !!}
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.order-status') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->status_label }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
{!! view_render_event('sales.order.status_label.after', ['order' => $order]) !!}
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.channel') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->channel_name }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
{!! view_render_event('sales.order.channel_name.after', ['order' => $order]) !!}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.account-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.customer-name') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->customer_full_name }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
{!! view_render_event('sales.order.customer_full_name.after', ['order' => $order]) !!}
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.email') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->customer_email }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
{!! view_render_event('sales.order.customer_email.after', ['order' => $order]) !!}
|
||||
|
||||
@if (! is_null($order->customer) && ! is_null($order->customer->group))
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.customers.customers.customer_group') }}
|
||||
{{ __('admin::app.sales.orders.order-date') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->customer->group->name }}
|
||||
{{ $order->created_at }}
|
||||
</span>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
{!! view_render_event('sales.order.customer_group.after', ['order' => $order]) !!}
|
||||
{!! view_render_event('sales.order.created_at.after', ['order' => $order]) !!}
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.order-status') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->status_label }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
{!! view_render_event('sales.order.status_label.after', ['order' => $order]) !!}
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.channel') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->channel_name }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
{!! view_render_event('sales.order.channel_name.after', ['order' => $order]) !!}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.account-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.customer-name') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->customer_full_name }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
{!! view_render_event('sales.order.customer_full_name.after', ['order' => $order]) !!}
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.email') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->customer_email }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
{!! view_render_event('sales.order.customer_email.after', ['order' => $order]) !!}
|
||||
|
||||
@if (! is_null($order->customer) && ! is_null($order->customer->group))
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.customers.customers.customer_group') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->customer->group->name }}
|
||||
</span>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
{!! view_render_event('sales.order.customer_group.after', ['order' => $order]) !!}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</accordian>
|
||||
|
|
@ -160,35 +162,35 @@
|
|||
@if ($order->billing_address || $order->shipping_address)
|
||||
<accordian :title="'{{ __('admin::app.sales.orders.address') }}'" :active="true">
|
||||
<div slot="body">
|
||||
<div class="sale">
|
||||
@if($order->billing_address)
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.billing-address') }}</span>
|
||||
</div>
|
||||
|
||||
@if($order->billing_address)
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.billing-address') }}</span>
|
||||
<div class="section-content">
|
||||
@include ('admin::sales.address', ['address' => $order->billing_address])
|
||||
|
||||
{!! view_render_event('sales.order.billing_address.after', ['order' => $order]) !!}
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="section-content">
|
||||
@include ('admin::sales.address', ['address' => $order->billing_address])
|
||||
@if ($order->shipping_address)
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.shipping-address') }}</span>
|
||||
</div>
|
||||
|
||||
{!! view_render_event('sales.order.billing_address.after', ['order' => $order]) !!}
|
||||
<div class="section-content">
|
||||
@include ('admin::sales.address', ['address' => $order->shipping_address])
|
||||
|
||||
{!! view_render_event('sales.order.shipping_address.after', ['order' => $order]) !!}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@if ($order->shipping_address)
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.shipping-address') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
@include ('admin::sales.address', ['address' => $order->shipping_address])
|
||||
|
||||
{!! view_render_event('sales.order.shipping_address.after', ['order' => $order]) !!}
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</accordian>
|
||||
@endif
|
||||
|
|
@ -196,167 +198,171 @@
|
|||
<accordian :title="'{{ __('admin::app.sales.orders.payment-and-shipping') }}'" :active="true">
|
||||
<div slot="body">
|
||||
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.payment-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.payment-method') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ core()->getConfigData('sales.paymentmethods.' . $order->payment->method . '.title') }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.currency') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->order_currency_code }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@php $additionalDetails = \Webkul\Payment\Payment::getAdditionalDetails($order->payment->method); @endphp
|
||||
|
||||
@if (! empty($additionalDetails))
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ $additionalDetails['title'] }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $additionalDetails['value'] }}
|
||||
</span>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
{!! view_render_event('sales.order.payment-method.after', ['order' => $order]) !!}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if ($order->shipping_address)
|
||||
<div class="sale">
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.shipping-info') }}</span>
|
||||
<span>{{ __('admin::app.sales.orders.payment-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.shipping-method') }}
|
||||
{{ __('admin::app.sales.orders.payment-method') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->shipping_title }}
|
||||
{{ core()->getConfigData('sales.paymentmethods.' . $order->payment->method . '.title') }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.shipping-price') }}
|
||||
{{ __('admin::app.sales.orders.currency') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ core()->formatBasePrice($order->base_shipping_amount) }}
|
||||
{{ $order->order_currency_code }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
{!! view_render_event('sales.order.shipping-method.after', ['order' => $order]) !!}
|
||||
@php $additionalDetails = \Webkul\Payment\Payment::getAdditionalDetails($order->payment->method); @endphp
|
||||
|
||||
@if (! empty($additionalDetails))
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ $additionalDetails['title'] }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $additionalDetails['value'] }}
|
||||
</span>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
{!! view_render_event('sales.order.payment-method.after', ['order' => $order]) !!}
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@if ($order->shipping_address)
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.shipping-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.shipping-method') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->shipping_title }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.shipping-price') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ core()->formatBasePrice($order->base_shipping_amount) }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
{!! view_render_event('sales.order.shipping-method.after', ['order' => $order]) !!}
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</accordian>
|
||||
|
||||
<accordian :title="'{{ __('admin::app.sales.orders.products-ordered') }}'" :active="true">
|
||||
<div slot="body">
|
||||
|
||||
<div class="table">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{ __('admin::app.sales.orders.SKU') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.product-name') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.price') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.item-status') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.subtotal') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.tax-percent') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.tax-amount') }}</th>
|
||||
@if ($order->base_discount_amount > 0)
|
||||
<th>{{ __('admin::app.sales.orders.discount-amount') }}</th>
|
||||
@endif
|
||||
<th>{{ __('admin::app.sales.orders.grand-total') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
|
||||
@foreach ($order->items as $item)
|
||||
|
||||
<div class="table-responsive">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>
|
||||
{{ $item->getTypeInstance()->getOrderedItem($item)->sku }}
|
||||
</td>
|
||||
|
||||
<td>
|
||||
{{ $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>{{ core()->formatBasePrice($item->base_price) }}</td>
|
||||
|
||||
<td>
|
||||
<span class="qty-row">
|
||||
{{ $item->qty_ordered ? __('admin::app.sales.orders.item-ordered', ['qty_ordered' => $item->qty_ordered]) : '' }}
|
||||
</span>
|
||||
|
||||
<span class="qty-row">
|
||||
{{ $item->qty_invoiced ? __('admin::app.sales.orders.item-invoice', ['qty_invoiced' => $item->qty_invoiced]) : '' }}
|
||||
</span>
|
||||
|
||||
<span class="qty-row">
|
||||
{{ $item->qty_shipped ? __('admin::app.sales.orders.item-shipped', ['qty_shipped' => $item->qty_shipped]) : '' }}
|
||||
</span>
|
||||
|
||||
<span class="qty-row">
|
||||
{{ $item->qty_refunded ? __('admin::app.sales.orders.item-refunded', ['qty_refunded' => $item->qty_refunded]) : '' }}
|
||||
</span>
|
||||
|
||||
<span class="qty-row">
|
||||
{{ $item->qty_canceled ? __('admin::app.sales.orders.item-canceled', ['qty_canceled' => $item->qty_canceled]) : '' }}
|
||||
</span>
|
||||
</td>
|
||||
|
||||
<td>{{ core()->formatBasePrice($item->base_total) }}</td>
|
||||
|
||||
<td>{{ $item->tax_percent }}%</td>
|
||||
|
||||
<td>{{ core()->formatBasePrice($item->base_tax_amount) }}</td>
|
||||
|
||||
<th>{{ __('admin::app.sales.orders.SKU') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.product-name') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.price') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.item-status') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.subtotal') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.tax-percent') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.tax-amount') }}</th>
|
||||
@if ($order->base_discount_amount > 0)
|
||||
<td>{{ core()->formatBasePrice($item->base_discount_amount) }}</td>
|
||||
<th>{{ __('admin::app.sales.orders.discount-amount') }}</th>
|
||||
@endif
|
||||
|
||||
<td>{{ core()->formatBasePrice($item->base_total + $item->base_tax_amount - $item->base_discount_amount) }}</td>
|
||||
<th>{{ __('admin::app.sales.orders.grand-total') }}</th>
|
||||
</tr>
|
||||
@endforeach
|
||||
</table>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
|
||||
@foreach ($order->items as $item)
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
{{ $item->getTypeInstance()->getOrderedItem($item)->sku }}
|
||||
</td>
|
||||
|
||||
<td>
|
||||
{{ $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>{{ core()->formatBasePrice($item->base_price) }}</td>
|
||||
|
||||
<td>
|
||||
<span class="qty-row">
|
||||
{{ $item->qty_ordered ? __('admin::app.sales.orders.item-ordered', ['qty_ordered' => $item->qty_ordered]) : '' }}
|
||||
</span>
|
||||
|
||||
<span class="qty-row">
|
||||
{{ $item->qty_invoiced ? __('admin::app.sales.orders.item-invoice', ['qty_invoiced' => $item->qty_invoiced]) : '' }}
|
||||
</span>
|
||||
|
||||
<span class="qty-row">
|
||||
{{ $item->qty_shipped ? __('admin::app.sales.orders.item-shipped', ['qty_shipped' => $item->qty_shipped]) : '' }}
|
||||
</span>
|
||||
|
||||
<span class="qty-row">
|
||||
{{ $item->qty_refunded ? __('admin::app.sales.orders.item-refunded', ['qty_refunded' => $item->qty_refunded]) : '' }}
|
||||
</span>
|
||||
|
||||
<span class="qty-row">
|
||||
{{ $item->qty_canceled ? __('admin::app.sales.orders.item-canceled', ['qty_canceled' => $item->qty_canceled]) : '' }}
|
||||
</span>
|
||||
</td>
|
||||
|
||||
<td>{{ core()->formatBasePrice($item->base_total) }}</td>
|
||||
|
||||
<td>{{ $item->tax_percent }}%</td>
|
||||
|
||||
<td>{{ core()->formatBasePrice($item->base_tax_amount) }}</td>
|
||||
|
||||
@if ($order->base_discount_amount > 0)
|
||||
<td>{{ core()->formatBasePrice($item->base_discount_amount) }}</td>
|
||||
@endif
|
||||
|
||||
<td>{{ core()->formatBasePrice($item->base_total + $item->base_tax_amount - $item->base_discount_amount) }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="summary-comment-container">
|
||||
<div class="comment-container">
|
||||
|
|
|
|||
|
|
@ -30,83 +30,83 @@
|
|||
|
||||
<accordian :title="'{{ __('admin::app.sales.orders.order-and-account') }}'" :active="true">
|
||||
<div slot="body">
|
||||
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.order-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.refunds.order-id') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
<a href="{{ route('admin.sales.orders.view', $order->id) }}">#{{ $order->increment_id }}</a>
|
||||
</span>
|
||||
<div class="sale">
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.order-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.order-date') }}
|
||||
</span>
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.refunds.order-id') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->created_at }}
|
||||
</span>
|
||||
</div>
|
||||
<span class="value">
|
||||
<a href="{{ route('admin.sales.orders.view', $order->id) }}">#{{ $order->increment_id }}</a>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.order-status') }}
|
||||
</span>
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.order-date') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->status_label }}
|
||||
</span>
|
||||
</div>
|
||||
<span class="value">
|
||||
{{ $order->created_at }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.channel') }}
|
||||
</span>
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.order-status') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->channel_name }}
|
||||
</span>
|
||||
<span class="value">
|
||||
{{ $order->status_label }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.channel') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->channel_name }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.account-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.customer-name') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->customer_full_name }}
|
||||
</span>
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.account-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.email') }}
|
||||
</span>
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.customer-name') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->customer_email }}
|
||||
</span>
|
||||
<span class="value">
|
||||
{{ $order->customer_full_name }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.email') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->customer_email }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</accordian>
|
||||
|
||||
|
|
@ -114,93 +114,95 @@
|
|||
<accordian :title="'{{ __('admin::app.sales.orders.address') }}'" :active="true">
|
||||
<div slot="body">
|
||||
|
||||
@if ($order->billing_address)
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.billing-address') }}</span>
|
||||
<div class="sale">
|
||||
@if ($order->billing_address)
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.billing-address') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
|
||||
@include ('admin::sales.address', ['address' => $order->billing_address])
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="section-content">
|
||||
@if ($order->shipping_address)
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.shipping-address') }}</span>
|
||||
</div>
|
||||
|
||||
@include ('admin::sales.address', ['address' => $order->billing_address])
|
||||
<div class="section-content">
|
||||
|
||||
@include ('admin::sales.address', ['address' => $order->shipping_address])
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@if ($order->shipping_address)
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.shipping-address') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
|
||||
@include ('admin::sales.address', ['address' => $order->shipping_address])
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</accordian>
|
||||
@endif
|
||||
|
||||
<accordian :title="'{{ __('admin::app.sales.orders.payment-and-shipping') }}'" :active="true">
|
||||
<div slot="body">
|
||||
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.payment-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.payment-method') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ core()->getConfigData('sales.paymentmethods.' . $order->payment->method . '.title') }}
|
||||
</span>
|
||||
<div class="sale">
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.payment-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.currency') }}
|
||||
</span>
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.payment-method') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->order_currency_code }}
|
||||
</span>
|
||||
<span class="value">
|
||||
{{ core()->getConfigData('sales.paymentmethods.' . $order->payment->method . '.title') }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.currency') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->order_currency_code }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.shipping-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.shipping-method') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->shipping_title }}
|
||||
</span>
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.shipping-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.shipping-price') }}
|
||||
</span>
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.shipping-method') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ core()->formatBasePrice($order->base_shipping_amount) }}
|
||||
</span>
|
||||
<span class="value">
|
||||
{{ $order->shipping_title }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.shipping-price') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ core()->formatBasePrice($order->base_shipping_amount) }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -225,94 +227,96 @@
|
|||
<script type="text/x-template" id="refund-items-template">
|
||||
<div>
|
||||
<div class="table">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{ __('admin::app.sales.orders.SKU') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.product-name') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.price') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.item-status') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.subtotal') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.tax-amount') }}</th>
|
||||
@if ($order->base_discount_amount > 0)
|
||||
<th>{{ __('admin::app.sales.orders.discount-amount') }}</th>
|
||||
@endif
|
||||
<th>{{ __('admin::app.sales.orders.grand-total') }}</th>
|
||||
<th>{{ __('admin::app.sales.refunds.qty-ordered') }}</th>
|
||||
<th>{{ __('admin::app.sales.refunds.qty-to-refund') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
@foreach ($order->items as $item)
|
||||
<div class="table-responsive">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>{{ Webkul\Product\Helpers\ProductType::hasVariants($item->type) ? $item->child->sku : $item->sku }}</td>
|
||||
|
||||
<td>
|
||||
{{ $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>{{ core()->formatBasePrice($item->base_price) }}</td>
|
||||
|
||||
<td>
|
||||
<span class="qty-row">
|
||||
{{ $item->qty_ordered ? __('admin::app.sales.orders.item-ordered', ['qty_ordered' => $item->qty_ordered]) : '' }}
|
||||
</span>
|
||||
|
||||
<span class="qty-row">
|
||||
{{ $item->qty_invoiced ? __('admin::app.sales.orders.item-invoice', ['qty_invoiced' => $item->qty_invoiced]) : '' }}
|
||||
</span>
|
||||
|
||||
<span class="qty-row">
|
||||
{{ $item->qty_shipped ? __('admin::app.sales.orders.item-shipped', ['qty_shipped' => $item->qty_shipped]) : '' }}
|
||||
</span>
|
||||
|
||||
<span class="qty-row">
|
||||
{{ $item->qty_refunded ? __('admin::app.sales.orders.item-refunded', ['qty_refunded' => $item->qty_refunded]) : '' }}
|
||||
</span>
|
||||
|
||||
<span class="qty-row">
|
||||
{{ $item->qty_canceled ? __('admin::app.sales.orders.item-canceled', ['qty_canceled' => $item->qty_canceled]) : '' }}
|
||||
</span>
|
||||
</td>
|
||||
|
||||
<td>{{ core()->formatBasePrice($item->base_total) }}</td>
|
||||
|
||||
<td>{{ core()->formatBasePrice($item->base_tax_amount) }}</td>
|
||||
|
||||
<th>{{ __('admin::app.sales.orders.SKU') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.product-name') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.price') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.item-status') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.subtotal') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.tax-amount') }}</th>
|
||||
@if ($order->base_discount_amount > 0)
|
||||
<td>{{ core()->formatBasePrice($item->base_discount_amount) }}</td>
|
||||
<th>{{ __('admin::app.sales.orders.discount-amount') }}</th>
|
||||
@endif
|
||||
|
||||
<td>{{ core()->formatBasePrice($item->base_total + $item->base_tax_amount - $item->base_discount_amount) }}</td>
|
||||
|
||||
<td>{{ $item->qty_ordered }}</td>
|
||||
|
||||
<td>
|
||||
<div class="control-group" :class="[errors.has('refund[items][{{ $item->id }}]') ? 'has-error' : '']">
|
||||
<input type="text" v-validate="'required|numeric|min:0'" class="control" id="refund[items][{{ $item->id }}]" name="refund[items][{{ $item->id }}]" v-model="refund.items[{{ $item->id }}]" data-vv-as=""{{ __('admin::app.sales.refunds.qty-to-refund') }}""/>
|
||||
|
||||
<span class="control-error" v-if="errors.has('refund[items][{{ $item->id }}]')">
|
||||
@verbatim
|
||||
{{ errors.first('refund[items][<?php echo $item->id ?>]') }}
|
||||
@endverbatim
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
<th>{{ __('admin::app.sales.orders.grand-total') }}</th>
|
||||
<th>{{ __('admin::app.sales.refunds.qty-ordered') }}</th>
|
||||
<th>{{ __('admin::app.sales.refunds.qty-to-refund') }}</th>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
@foreach ($order->items as $item)
|
||||
<tr>
|
||||
<td>{{ Webkul\Product\Helpers\ProductType::hasVariants($item->type) ? $item->child->sku : $item->sku }}</td>
|
||||
|
||||
<td>
|
||||
{{ $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>{{ core()->formatBasePrice($item->base_price) }}</td>
|
||||
|
||||
<td>
|
||||
<span class="qty-row">
|
||||
{{ $item->qty_ordered ? __('admin::app.sales.orders.item-ordered', ['qty_ordered' => $item->qty_ordered]) : '' }}
|
||||
</span>
|
||||
|
||||
<span class="qty-row">
|
||||
{{ $item->qty_invoiced ? __('admin::app.sales.orders.item-invoice', ['qty_invoiced' => $item->qty_invoiced]) : '' }}
|
||||
</span>
|
||||
|
||||
<span class="qty-row">
|
||||
{{ $item->qty_shipped ? __('admin::app.sales.orders.item-shipped', ['qty_shipped' => $item->qty_shipped]) : '' }}
|
||||
</span>
|
||||
|
||||
<span class="qty-row">
|
||||
{{ $item->qty_refunded ? __('admin::app.sales.orders.item-refunded', ['qty_refunded' => $item->qty_refunded]) : '' }}
|
||||
</span>
|
||||
|
||||
<span class="qty-row">
|
||||
{{ $item->qty_canceled ? __('admin::app.sales.orders.item-canceled', ['qty_canceled' => $item->qty_canceled]) : '' }}
|
||||
</span>
|
||||
</td>
|
||||
|
||||
<td>{{ core()->formatBasePrice($item->base_total) }}</td>
|
||||
|
||||
<td>{{ core()->formatBasePrice($item->base_tax_amount) }}</td>
|
||||
|
||||
@if ($order->base_discount_amount > 0)
|
||||
<td>{{ core()->formatBasePrice($item->base_discount_amount) }}</td>
|
||||
@endif
|
||||
|
||||
<td>{{ core()->formatBasePrice($item->base_total + $item->base_tax_amount - $item->base_discount_amount) }}</td>
|
||||
|
||||
<td>{{ $item->qty_ordered }}</td>
|
||||
|
||||
<td>
|
||||
<div class="control-group" :class="[errors.has('refund[items][{{ $item->id }}]') ? 'has-error' : '']">
|
||||
<input type="text" v-validate="'required|numeric|min:0'" class="control" id="refund[items][{{ $item->id }}]" name="refund[items][{{ $item->id }}]" v-model="refund.items[{{ $item->id }}]" data-vv-as=""{{ __('admin::app.sales.refunds.qty-to-refund') }}""/>
|
||||
|
||||
<span class="control-error" v-if="errors.has('refund[items][{{ $item->id }}]')">
|
||||
@verbatim
|
||||
{{ errors.first('refund[items][<?php echo $item->id ?>]') }}
|
||||
@endverbatim
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="width: 100%; display: inline-block">
|
||||
|
|
|
|||
|
|
@ -27,180 +27,181 @@
|
|||
|
||||
<accordian :title="'{{ __('admin::app.sales.orders.order-and-account') }}'" :active="true">
|
||||
<div slot="body">
|
||||
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.order-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.refunds.order-id') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
<a href="{{ route('admin.sales.orders.view', $order->id) }}">#{{ $order->increment_id }}</a>
|
||||
</span>
|
||||
<div class="sale">
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.order-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.order-date') }}
|
||||
</span>
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.refunds.order-id') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->created_at }}
|
||||
</span>
|
||||
</div>
|
||||
<span class="value">
|
||||
<a href="{{ route('admin.sales.orders.view', $order->id) }}">#{{ $order->increment_id }}</a>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.order-status') }}
|
||||
</span>
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.order-date') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->status_label }}
|
||||
</span>
|
||||
</div>
|
||||
<span class="value">
|
||||
{{ $order->created_at }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.channel') }}
|
||||
</span>
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.order-status') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->channel_name }}
|
||||
</span>
|
||||
<span class="value">
|
||||
{{ $order->status_label }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.channel') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->channel_name }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.account-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.customer-name') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $refund->order->customer_full_name }}
|
||||
</span>
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.account-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.email') }}
|
||||
</span>
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.customer-name') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $refund->order->customer_email }}
|
||||
</span>
|
||||
<span class="value">
|
||||
{{ $refund->order->customer_full_name }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.email') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $refund->order->customer_email }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</accordian>
|
||||
|
||||
@if ($order->billing_address || $order->shipping_address)
|
||||
<accordian :title="'{{ __('admin::app.sales.orders.address') }}'" :active="true">
|
||||
<div slot="body">
|
||||
<div class="sale">
|
||||
@if ($order->billing_address)
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.billing-address') }}</span>
|
||||
</div>
|
||||
|
||||
@if ($order->billing_address)
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.billing-address') }}</span>
|
||||
<div class="section-content">
|
||||
|
||||
@include ('admin::sales.address', ['address' => $order->billing_address])
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="section-content">
|
||||
@if ($order->shipping_address)
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.shipping-address') }}</span>
|
||||
</div>
|
||||
|
||||
@include ('admin::sales.address', ['address' => $order->billing_address])
|
||||
<div class="section-content">
|
||||
|
||||
@include ('admin::sales.address', ['address' => $order->shipping_address])
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@if ($order->shipping_address)
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.shipping-address') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
|
||||
@include ('admin::sales.address', ['address' => $order->shipping_address])
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</accordian>
|
||||
@endif
|
||||
|
||||
<accordian :title="'{{ __('admin::app.sales.orders.payment-and-shipping') }}'" :active="true">
|
||||
<div slot="body">
|
||||
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.payment-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.payment-method') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ core()->getConfigData('sales.paymentmethods.' . $order->payment->method . '.title') }}
|
||||
</span>
|
||||
<div class="sale">
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.payment-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.currency') }}
|
||||
</span>
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.payment-method') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->order_currency_code }}
|
||||
</span>
|
||||
<span class="value">
|
||||
{{ core()->getConfigData('sales.paymentmethods.' . $order->payment->method . '.title') }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.currency') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->order_currency_code }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.shipping-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.shipping-method') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->shipping_title }}
|
||||
</span>
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.shipping-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.shipping-price') }}
|
||||
</span>
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.shipping-method') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ core()->formatBasePrice($order->base_shipping_amount) }}
|
||||
</span>
|
||||
<span class="value">
|
||||
{{ $order->shipping_title }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.shipping-price') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ core()->formatBasePrice($order->base_shipping_amount) }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</accordian>
|
||||
|
||||
|
|
@ -208,62 +209,65 @@
|
|||
<div slot="body">
|
||||
|
||||
<div class="table">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{ __('admin::app.sales.orders.SKU') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.product-name') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.price') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.qty') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.subtotal') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.tax-amount') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.discount-amount') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.grand-total') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
|
||||
@foreach ($refund->items as $item)
|
||||
<div class="table-responsive">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>{{ $item->child ? $item->child->sku : $item->sku }}</td>
|
||||
|
||||
<td>
|
||||
{{ $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>{{ core()->formatBasePrice($item->base_price) }}</td>
|
||||
|
||||
<td>{{ $item->qty }}</td>
|
||||
|
||||
<td>{{ core()->formatBasePrice($item->base_total) }}</td>
|
||||
|
||||
<td>{{ core()->formatBasePrice($item->base_tax_amount) }}</td>
|
||||
|
||||
<td>{{ core()->formatBasePrice($item->base_discount_amount) }}</td>
|
||||
|
||||
<td>{{ core()->formatBasePrice($item->base_total + $item->base_tax_amount - $item->base_discount_amount) }}</td>
|
||||
<th>{{ __('admin::app.sales.orders.SKU') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.product-name') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.price') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.qty') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.subtotal') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.tax-amount') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.discount-amount') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.grand-total') }}</th>
|
||||
</tr>
|
||||
@endforeach
|
||||
</thead>
|
||||
|
||||
@if (! $refund->items->count())
|
||||
<tr>
|
||||
<td class="empty" colspan="7">{{ __('admin::app.common.no-result-found') }}</td>
|
||||
<tr>
|
||||
@endif
|
||||
<tbody>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
@foreach ($refund->items as $item)
|
||||
<tr>
|
||||
<td>{{ $item->child ? $item->child->sku : $item->sku }}</td>
|
||||
|
||||
<td>
|
||||
{{ $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>{{ core()->formatBasePrice($item->base_price) }}</td>
|
||||
|
||||
<td>{{ $item->qty }}</td>
|
||||
|
||||
<td>{{ core()->formatBasePrice($item->base_total) }}</td>
|
||||
|
||||
<td>{{ core()->formatBasePrice($item->base_tax_amount) }}</td>
|
||||
|
||||
<td>{{ core()->formatBasePrice($item->base_discount_amount) }}</td>
|
||||
|
||||
<td>{{ core()->formatBasePrice($item->base_total + $item->base_tax_amount - $item->base_discount_amount) }}</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>
|
||||
|
||||
<table class="sale-summary">
|
||||
|
|
|
|||
|
|
@ -30,183 +30,184 @@
|
|||
|
||||
<accordian :title="'{{ __('admin::app.sales.orders.order-and-account') }}'" :active="true">
|
||||
<div slot="body">
|
||||
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.order-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.shipments.order-id') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
<a href="{{ route('admin.sales.orders.view', $order->id) }}">#{{ $order->increment_id }}</a>
|
||||
</span>
|
||||
<div class="sale">
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.order-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.order-date') }}
|
||||
</span>
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.shipments.order-id') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->created_at }}
|
||||
</span>
|
||||
</div>
|
||||
<span class="value">
|
||||
<a href="{{ route('admin.sales.orders.view', $order->id) }}">#{{ $order->increment_id }}</a>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.order-status') }}
|
||||
</span>
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.order-date') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->status_label }}
|
||||
</span>
|
||||
</div>
|
||||
<span class="value">
|
||||
{{ $order->created_at }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.channel') }}
|
||||
</span>
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.order-status') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->channel_name }}
|
||||
</span>
|
||||
<span class="value">
|
||||
{{ $order->status_label }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.channel') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->channel_name }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.account-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.customer-name') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->customer_full_name }}
|
||||
</span>
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.account-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.email') }}
|
||||
</span>
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.customer-name') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->customer_email }}
|
||||
</span>
|
||||
<span class="value">
|
||||
{{ $order->customer_full_name }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.email') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->customer_email }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</accordian>
|
||||
|
||||
<accordian :title="'{{ __('admin::app.sales.orders.address') }}'" :active="true">
|
||||
<div slot="body">
|
||||
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.billing-address') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
|
||||
@include ('admin::sales.address', ['address' => $order->billing_address])
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if ($order->shipping_address)
|
||||
<div class="sale">
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.shipping-address') }}</span>
|
||||
<span>{{ __('admin::app.sales.orders.billing-address') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
|
||||
@include ('admin::sales.address', ['address' => $order->shipping_address])
|
||||
@include ('admin::sales.address', ['address' => $order->billing_address])
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@if ($order->shipping_address)
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.shipping-address') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
|
||||
@include ('admin::sales.address', ['address' => $order->shipping_address])
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</accordian>
|
||||
|
||||
<accordian :title="'{{ __('admin::app.sales.orders.payment-and-shipping') }}'" :active="true">
|
||||
<div slot="body">
|
||||
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.payment-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.payment-method') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ core()->getConfigData('sales.paymentmethods.' . $order->payment->method . '.title') }}
|
||||
</span>
|
||||
<div class="sale">
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.payment-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.currency') }}
|
||||
</span>
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.payment-method') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->order_currency_code }}
|
||||
</span>
|
||||
<span class="value">
|
||||
{{ core()->getConfigData('sales.paymentmethods.' . $order->payment->method . '.title') }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.currency') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->order_currency_code }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.shipping-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.shipping-method') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->shipping_title }}
|
||||
</span>
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.shipping-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.shipping-price') }}
|
||||
</span>
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.shipping-method') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ core()->formatBasePrice($order->base_shipping_amount) }}
|
||||
</span>
|
||||
</div>
|
||||
<span class="value">
|
||||
{{ $order->shipping_title }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group" style="margin-top: 40px">
|
||||
<label for="shipment[carrier_title]">{{ __('admin::app.sales.shipments.carrier-title') }}</label>
|
||||
<input type="text" class="control" id="shipment[carrier_title]" name="shipment[carrier_title]"/>
|
||||
</div>
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.shipping-price') }}
|
||||
</span>
|
||||
|
||||
<div class="control-group">
|
||||
<label for="shipment[track_number]">{{ __('admin::app.sales.shipments.tracking-number') }}</label>
|
||||
<input type="text" class="control" id="shipment[track_number]" name="shipment[track_number]"/>
|
||||
<span class="value">
|
||||
{{ core()->formatBasePrice($order->base_shipping_amount) }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group" style="margin-top: 40px">
|
||||
<label for="shipment[carrier_title]">{{ __('admin::app.sales.shipments.carrier-title') }}</label>
|
||||
<input type="text" class="control" id="shipment[carrier_title]" name="shipment[carrier_title]"/>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label for="shipment[track_number]">{{ __('admin::app.sales.shipments.tracking-number') }}</label>
|
||||
<input type="text" class="control" id="shipment[track_number]" name="shipment[track_number]"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -230,119 +231,118 @@
|
|||
@push('scripts')
|
||||
|
||||
<script type="text/x-template" id="order-item-list-template">
|
||||
|
||||
<div>
|
||||
<div class="control-group" :class="[errors.has('shipment[source]') ? 'has-error' : '']">
|
||||
<label for="shipment[source]" class="required">{{ __('admin::app.sales.shipments.source') }}</label>
|
||||
<div class="control-group" :class="[errors.has('shipment[source]') ? 'has-error' : '']">
|
||||
<label for="shipment[source]" class="required">{{ __('admin::app.sales.shipments.source') }}</label>
|
||||
|
||||
<select v-validate="'required'" class="control" name="shipment[source]" id="shipment[source]" data-vv-as=""{{ __('admin::app.sales.shipments.source') }}"" v-model="source">
|
||||
<option value="">{{ __('admin::app.sales.shipments.select-source') }}</option>
|
||||
<select v-validate="'required'" class="control" name="shipment[source]" id="shipment[source]" data-vv-as=""{{ __('admin::app.sales.shipments.source') }}"" v-model="source">
|
||||
<option value="">{{ __('admin::app.sales.shipments.select-source') }}</option>
|
||||
|
||||
@foreach ($order->channel->inventory_sources as $key => $inventorySource)
|
||||
<option value="{{ $inventorySource->id }}">{{ $inventorySource->name }}</option>
|
||||
@endforeach
|
||||
|
||||
</select>
|
||||
|
||||
<span class="control-error" v-if="errors.has('shipment[source]')">
|
||||
@{{ errors.first('shipment[source]') }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="table">
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{ __('admin::app.sales.orders.SKU') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.product-name') }}</th>
|
||||
<th>{{ __('admin::app.sales.shipments.qty-ordered') }}</th>
|
||||
<th>{{ __('admin::app.sales.shipments.qty-invoiced') }}</th>
|
||||
<th>{{ __('admin::app.sales.shipments.qty-to-ship') }}</th>
|
||||
<th>{{ __('admin::app.sales.shipments.available-sources') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
|
||||
@foreach ($order->items as $item)
|
||||
@if ($item->qty_to_ship > 0 && $item->product)
|
||||
<tr>
|
||||
<td>{{ $item->getTypeInstance()->getOrderedItem($item)->sku }}</td>
|
||||
<td>
|
||||
{{ $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>{{ $item->qty_ordered }}</td>
|
||||
<td>{{ $item->qty_invoiced }}</td>
|
||||
<td>{{ $item->qty_to_ship }}</td>
|
||||
<td>
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{ __('admin::app.sales.shipments.source') }}</th>
|
||||
<th>{{ __('admin::app.sales.shipments.qty-available') }}</th>
|
||||
<th>{{ __('admin::app.sales.shipments.qty-to-ship') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
@foreach ($order->channel->inventory_sources as $key => $inventorySource)
|
||||
<tr>
|
||||
<td>
|
||||
{{ $inventorySource->name }}
|
||||
</td>
|
||||
|
||||
<td>
|
||||
@php
|
||||
$product = $item->getTypeInstance()->getOrderedItem($item)->product;
|
||||
|
||||
$sourceQty = $product->type == 'bundle' ? $item->qty_ordered : $product->inventory_source_qty($inventorySource->id);
|
||||
@endphp
|
||||
|
||||
{{ $sourceQty }}
|
||||
</td>
|
||||
|
||||
<td>
|
||||
@php
|
||||
$inputName = "shipment[items][$item->id][$inventorySource->id]";
|
||||
@endphp
|
||||
|
||||
<div class="control-group" :class="[errors.has('{{ $inputName }}') ? 'has-error' : '']">
|
||||
|
||||
<input type="text" v-validate="'required|numeric|min_value:0|max_value:{{$sourceQty}}'" class="control" id="{{ $inputName }}" name="{{ $inputName }}" value="{{ $item->qty_to_ship }}" data-vv-as=""{{ __('admin::app.sales.shipments.qty-to-ship') }}"" :disabled="source != '{{ $inventorySource->id }}'"/>
|
||||
|
||||
<span class="control-error" v-if="errors.has('{{ $inputName }}')">
|
||||
@verbatim
|
||||
{{ errors.first('<?php echo $inputName; ?>') }}
|
||||
@endverbatim
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@foreach ($order->channel->inventory_sources as $key => $inventorySource)
|
||||
<option value="{{ $inventorySource->id }}">{{ $inventorySource->name }}</option>
|
||||
@endforeach
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</select>
|
||||
|
||||
<span class="control-error" v-if="errors.has('shipment[source]')">
|
||||
@{{ errors.first('shipment[source]') }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="table">
|
||||
<div class="table-responsive">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{ __('admin::app.sales.orders.SKU') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.product-name') }}</th>
|
||||
<th>{{ __('admin::app.sales.shipments.qty-ordered') }}</th>
|
||||
<th>{{ __('admin::app.sales.shipments.qty-invoiced') }}</th>
|
||||
<th>{{ __('admin::app.sales.shipments.qty-to-ship') }}</th>
|
||||
<th>{{ __('admin::app.sales.shipments.available-sources') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
|
||||
@foreach ($order->items as $item)
|
||||
@if ($item->qty_to_ship > 0 && $item->product)
|
||||
<tr>
|
||||
<td>{{ $item->getTypeInstance()->getOrderedItem($item)->sku }}</td>
|
||||
<td>
|
||||
{{ $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>{{ $item->qty_ordered }}</td>
|
||||
<td>{{ $item->qty_invoiced }}</td>
|
||||
<td>{{ $item->qty_to_ship }}</td>
|
||||
<td>
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{ __('admin::app.sales.shipments.source') }}</th>
|
||||
<th>{{ __('admin::app.sales.shipments.qty-available') }}</th>
|
||||
<th>{{ __('admin::app.sales.shipments.qty-to-ship') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
@foreach ($order->channel->inventory_sources as $key => $inventorySource)
|
||||
<tr>
|
||||
<td>
|
||||
{{ $inventorySource->name }}
|
||||
</td>
|
||||
|
||||
<td>
|
||||
@php
|
||||
$product = $item->getTypeInstance()->getOrderedItem($item)->product;
|
||||
|
||||
$sourceQty = $product->type == 'bundle' ? $item->qty_ordered : $product->inventory_source_qty($inventorySource->id);
|
||||
@endphp
|
||||
|
||||
{{ $sourceQty }}
|
||||
</td>
|
||||
|
||||
<td>
|
||||
@php
|
||||
$inputName = "shipment[items][$item->id][$inventorySource->id]";
|
||||
@endphp
|
||||
|
||||
<div class="control-group" :class="[errors.has('{{ $inputName }}') ? 'has-error' : '']">
|
||||
|
||||
<input type="text" v-validate="'required|numeric|min_value:0|max_value:{{$sourceQty}}'" class="control" id="{{ $inputName }}" name="{{ $inputName }}" value="{{ $item->qty_to_ship }}" data-vv-as=""{{ __('admin::app.sales.shipments.qty-to-ship') }}"" :disabled="source != '{{ $inventorySource->id }}'"/>
|
||||
|
||||
<span class="control-error" v-if="errors.has('{{ $inputName }}')">
|
||||
@verbatim
|
||||
{{ errors.first('<?php echo $inputName; ?>') }}
|
||||
@endverbatim
|
||||
</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
@endif
|
||||
@endforeach
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<script>
|
||||
|
|
|
|||
|
|
@ -26,212 +26,213 @@
|
|||
|
||||
<accordian :title="'{{ __('admin::app.sales.orders.order-and-account') }}'" :active="true">
|
||||
<div slot="body">
|
||||
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.order-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.shipments.order-id') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
<a href="{{ route('admin.sales.orders.view', $order->id) }}">#{{ $order->increment_id }}</a>
|
||||
</span>
|
||||
<div class="sale">
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.order-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.order-date') }}
|
||||
</span>
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.shipments.order-id') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->created_at }}
|
||||
</span>
|
||||
</div>
|
||||
<span class="value">
|
||||
<a href="{{ route('admin.sales.orders.view', $order->id) }}">#{{ $order->increment_id }}</a>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.order-status') }}
|
||||
</span>
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.order-date') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->status_label }}
|
||||
</span>
|
||||
</div>
|
||||
<span class="value">
|
||||
{{ $order->created_at }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.channel') }}
|
||||
</span>
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.order-status') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->channel_name }}
|
||||
</span>
|
||||
<span class="value">
|
||||
{{ $order->status_label }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.channel') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->channel_name }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.account-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.customer-name') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $shipment->order->customer_full_name }}
|
||||
</span>
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.account-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.email') }}
|
||||
</span>
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.customer-name') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $shipment->order->customer_email }}
|
||||
</span>
|
||||
<span class="value">
|
||||
{{ $shipment->order->customer_full_name }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.email') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $shipment->order->customer_email }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</accordian>
|
||||
|
||||
@if ($order->billing_address || $order->shipping_address)
|
||||
<accordian :title="'{{ __('admin::app.sales.orders.address') }}'" :active="true">
|
||||
<div slot="body">
|
||||
<div class="sale">
|
||||
@if ($order->billing_address)
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.billing-address') }}</span>
|
||||
</div>
|
||||
|
||||
@if ($order->billing_address)
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.billing-address') }}</span>
|
||||
<div class="section-content">
|
||||
|
||||
@include ('admin::sales.address', ['address' => $order->billing_address])
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="section-content">
|
||||
@if ($order->shipping_address)
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.shipping-address') }}</span>
|
||||
</div>
|
||||
|
||||
@include ('admin::sales.address', ['address' => $order->billing_address])
|
||||
<div class="section-content">
|
||||
|
||||
@include ('admin::sales.address', ['address' => $order->shipping_address])
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@if ($order->shipping_address)
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.shipping-address') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
|
||||
@include ('admin::sales.address', ['address' => $order->shipping_address])
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</accordian>
|
||||
@endif
|
||||
|
||||
<accordian :title="'{{ __('admin::app.sales.orders.payment-and-shipping') }}'" :active="true">
|
||||
<div slot="body">
|
||||
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.payment-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.payment-method') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ core()->getConfigData('sales.paymentmethods.' . $order->payment->method . '.title') }}
|
||||
</span>
|
||||
<div class="sale">
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.payment-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.currency') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->order_currency_code }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.shipping-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.shipping-method') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->shipping_title }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.shipping-price') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ core()->formatBasePrice($order->base_shipping_amount) }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@if ($shipment->inventory_source || $shipment->inventory_source_name)
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.shipments.inventory-source') }}
|
||||
{{ __('admin::app.sales.orders.payment-method') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $shipment->inventory_source ? $shipment->inventory_source->name : $shipment->inventory_source_name }}
|
||||
{{ core()->getConfigData('sales.paymentmethods.' . $order->payment->method . '.title') }}
|
||||
</span>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.shipments.carrier-title') }}
|
||||
</span>
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.currency') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $shipment->carrier_title }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.shipments.tracking-number') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $shipment->track_number }}
|
||||
</span>
|
||||
<span class="value">
|
||||
{{ $order->order_currency_code }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.shipping-info') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.shipping-method') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->shipping_title }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.shipping-price') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ core()->formatBasePrice($order->base_shipping_amount) }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@if ($shipment->inventory_source || $shipment->inventory_source_name)
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.shipments.inventory-source') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $shipment->inventory_source ? $shipment->inventory_source->name : $shipment->inventory_source_name }}
|
||||
</span>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.shipments.carrier-title') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $shipment->carrier_title }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.shipments.tracking-number') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $shipment->track_number }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</accordian>
|
||||
|
||||
|
|
@ -239,44 +240,44 @@
|
|||
<div slot="body">
|
||||
|
||||
<div class="table">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>{{ __('admin::app.sales.orders.SKU') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.product-name') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.qty') }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
|
||||
@foreach ($shipment->items as $item)
|
||||
<div class="table-responsive">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<td>{{ $item->sku }}</td>
|
||||
<td>
|
||||
{{ $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>{{ $item->qty }}</td>
|
||||
<th>{{ __('admin::app.sales.orders.SKU') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.product-name') }}</th>
|
||||
<th>{{ __('admin::app.sales.orders.qty') }}</th>
|
||||
</tr>
|
||||
@endforeach
|
||||
</thead>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
<tbody>
|
||||
|
||||
@foreach ($shipment->items as $item)
|
||||
<tr>
|
||||
<td>{{ $item->sku }}</td>
|
||||
<td>
|
||||
{{ $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>{{ $item->qty }}</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</accordian>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -24,81 +24,83 @@
|
|||
|
||||
<accordian :title="'{{ __('admin::app.sales.transactions.transaction-data') }}'" :active="true">
|
||||
<div slot="body">
|
||||
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.transactions.transaction-data') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.transactions.transaction-id') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $transaction->transaction_id }}
|
||||
</span>
|
||||
<div class="sale">
|
||||
<div class="sale-section" style="width:100%">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.transactions.transaction-data') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.transactions.order-id') }}
|
||||
</span>
|
||||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.transactions.transaction-id') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $transaction->transaction_id }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.transactions.order-id') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
<a href="{{ route('admin.sales.orders.view', $transaction->order_id)}}">
|
||||
{{ $transaction->order_id }}
|
||||
</a>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@if($transaction->invoice_id)
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.transactions.invoice-id') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
<a href="{{ route('admin.sales.invoices.view', $transaction->invoice_id)}}">
|
||||
{{ $transaction->invoice_id }}
|
||||
</a>
|
||||
</span>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.transactions.payment-method') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ core()->getConfigData('sales.paymentmethods.' . $transaction->payment_method . '.title') }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.transactions.status') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $transaction->status }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.transactions.created-at') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $transaction->created_at }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<span class="value">
|
||||
<a href="{{ route('admin.sales.orders.view', $transaction->order_id)}}">
|
||||
{{ $transaction->order_id }}
|
||||
</a>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
@if($transaction->invoice_id)
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.transactions.invoice-id') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
<a href="{{ route('admin.sales.invoices.view', $transaction->invoice_id)}}">
|
||||
{{ $transaction->invoice_id }}
|
||||
</a>
|
||||
</span>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.transactions.payment-method') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ core()->getConfigData('sales.paymentmethods.' . $transaction->payment_method . '.title') }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.transactions.status') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $transaction->status }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.transactions.created-at') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $transaction->created_at }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</accordian>
|
||||
|
||||
|
|
@ -108,26 +110,29 @@
|
|||
$transData = json_decode(json_encode(json_decode($transaction['data'])), true);
|
||||
@endphp
|
||||
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.transactions.transaction-details') }}</span>
|
||||
<div class="sale">
|
||||
<div class="sale-section" style="width: 100%;">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.transactions.transaction-details') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
@foreach ($transactionDeatilsData as $key => $data)
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ $key }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $data }}
|
||||
</span>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
@foreach ($transactionDeatilsData as $key => $data)
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ $key }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $data }}
|
||||
</span>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</accordian>
|
||||
|
||||
|
|
|
|||
|
|
@ -168,12 +168,16 @@
|
|||
<label>{{ __('admin::app.settings.channels.logo') }}</label>
|
||||
|
||||
<image-wrapper :button-label="'{{ __('admin::app.catalog.products.add-image-btn-title') }}'" input-name="logo" :multiple="false"></image-wrapper>
|
||||
|
||||
<span class="control-info mt-10">{{ __('admin::app.settings.channels.logo-size') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label>{{ __('admin::app.settings.channels.favicon') }}</label>
|
||||
|
||||
<image-wrapper :button-label="'{{ __('admin::app.catalog.products.add-image-btn-title') }}'" input-name="logo" :multiple="false"></image-wrapper>
|
||||
|
||||
<span class="control-info mt-10">{{ __('admin::app.settings.channels.favicon-size') }}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -205,12 +205,16 @@
|
|||
<label>{{ __('admin::app.settings.channels.logo') }}</label>
|
||||
|
||||
<image-wrapper :button-label="'{{ __('admin::app.catalog.products.add-image-btn-title') }}'" input-name="logo" :multiple="false" :images='"{{ $channel->logo_url }}"'></image-wrapper>
|
||||
|
||||
<span class="control-info mt-10">{{ __('admin::app.settings.channels.logo-size') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label>{{ __('admin::app.settings.channels.favicon') }}</label>
|
||||
|
||||
<image-wrapper :button-label="'{{ __('admin::app.catalog.products.add-image-btn-title') }}'" input-name="favicon" :multiple="false" :images='"{{ $channel->favicon_url }}"'></image-wrapper>
|
||||
|
||||
<span class="control-info mt-10">{{ __('admin::app.settings.channels.favicon-size') }}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -83,7 +83,8 @@
|
|||
|
||||
<div class="control-group {!! $errors->has('image.*') ? 'has-error' : '' !!}">
|
||||
<label class="required">{{ __('admin::app.catalog.categories.image') }}</label>
|
||||
|
||||
<span class="control-info mt-10">{{ __('admin::app.settings.sliders.image-size') }}</span>
|
||||
|
||||
<image-wrapper :button-label="'{{ __('admin::app.settings.sliders.image') }}'" input-name="image" :multiple="false"></image-wrapper>
|
||||
|
||||
<span class="control-error" v-if="{!! $errors->has('image.*') !!}">
|
||||
|
|
|
|||
|
|
@ -86,7 +86,8 @@
|
|||
|
||||
<div class="control-group {!! $errors->has('image.*') ? 'has-error' : '' !!}">
|
||||
<label class="required">{{ __('admin::app.catalog.categories.image') }}</label>
|
||||
|
||||
<span class="control-info mt-10">{{ __('admin::app.settings.sliders.image-size') }}</span>
|
||||
|
||||
<image-wrapper :button-label="'{{ __('admin::app.settings.sliders.image') }}'" input-name="image" :multiple="false" :images='"{{ Storage::url($slider->path) }}"'></image-wrapper>
|
||||
|
||||
<span class="control-error" v-if="{!! $errors->has('image.*') !!}">
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ class NotificationController extends Controller
|
|||
if(isset($params) && $params != NULL){
|
||||
$searchResults = $this->notificationRepository->getParamsData($params);
|
||||
}else{
|
||||
$searchResults = $this->notificationRepository->with('order')->latest()->paginate(5);
|
||||
$searchResults = $this->notificationRepository->with('order')->latest()->paginate(10);
|
||||
}
|
||||
|
||||
return [
|
||||
|
|
|
|||
|
|
@ -46,7 +46,8 @@ class Order
|
|||
public function updateOrder($order)
|
||||
{
|
||||
$orderArray =[
|
||||
'id' => $order->id
|
||||
'id' => $order->id,
|
||||
'status' => $order->status
|
||||
];
|
||||
|
||||
event(new UpdateOrderNotification($orderArray));
|
||||
|
|
|
|||
|
|
@ -28,17 +28,17 @@ class NotificationRepository extends Repository
|
|||
$qry->whereHas('order',function ($q) use ($params) {
|
||||
$q->where(['status' => $params['status']]);
|
||||
});
|
||||
})->where('order_id',$params['id'])->with('order')->paginate(5) : $this->model->where('order_id',$params['id'])->with('order')->paginate(5) ;
|
||||
})->where('order_id',$params['id'])->with('order')->paginate(10) : $this->model->where('order_id',$params['id'])->with('order')->paginate(10) ;
|
||||
}elseif (isset($params['status'])) {
|
||||
return $params['status'] != 'All' ? $this->model->where(function($qry)use ($params){
|
||||
$qry->whereHas('order',function ($q) use ($params) {
|
||||
$q->where(['status' => $params['status']]);
|
||||
});
|
||||
})->with('order')->paginate(5): $this->model->with('order')->latest()->paginate(5);
|
||||
})->with('order')->paginate(10): $this->model->with('order')->latest()->paginate(10);
|
||||
}elseif(isset($params['limit'])){
|
||||
return $this->model->limit($params['limit'])->with('order')->latest()->paginate(5);
|
||||
return $this->model->limit($params['limit'])->with('order')->latest()->paginate(10);
|
||||
}elseif(isset($params['id'])){
|
||||
return $this->model->where('order_id',$params['id'])->with('order')->paginate(5);
|
||||
return $this->model->where('order_id',$params['id'])->with('order')->paginate(10);
|
||||
}
|
||||
|
||||
return [];
|
||||
|
|
|
|||
|
|
@ -307,6 +307,8 @@ class OrderRepository extends Repository
|
|||
*/
|
||||
public function updateOrderStatus($order, $orderState = null)
|
||||
{
|
||||
Event::dispatch('sales.order.update-status.before', $order);
|
||||
|
||||
if (! empty($orderState)) {
|
||||
$status = $orderState;
|
||||
} else {
|
||||
|
|
@ -325,6 +327,8 @@ class OrderRepository extends Repository
|
|||
|
||||
$order->status = $status;
|
||||
$order->save();
|
||||
|
||||
Event::dispatch('sales.order.update-status.after', $order);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ import ImageWrapper from "./components/image/image-wrapper";
|
|||
import Modal from "./components/modal";
|
||||
import OverlayLoader from "./components/overlay-loader";
|
||||
import SwatchPicker from "./components/swatch-picker";
|
||||
import DefaultImage from "./components/default-image";
|
||||
import Tab from "./components/tabs/tab";
|
||||
import Tabs from "./components/tabs/tabs";
|
||||
import TimeComponent from "./components/time";
|
||||
|
|
@ -57,6 +58,7 @@ Vue.component("swatch-picker", SwatchPicker);
|
|||
Vue.directive("debounce", Debounce);
|
||||
Vue.component("overlay-loader", OverlayLoader);
|
||||
Vue.component("multiselect", Multiselect);
|
||||
Vue.component("default-image", DefaultImage);
|
||||
|
||||
/* filter section */
|
||||
Vue.filter("truncate", function(value, limit, trail) {
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -0,0 +1,13 @@
|
|||
<template>
|
||||
<img :src="this.$root.isDarkMode ? darkThemeImageUrl: lightThemeImageUrl"/>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
export default {
|
||||
props: [
|
||||
'lightThemeImageUrl',
|
||||
'darkThemeImageUrl'
|
||||
],
|
||||
};
|
||||
</script>
|
||||
|
|
@ -1243,6 +1243,14 @@ modal {
|
|||
left: 10%;
|
||||
margin-left: 0px;
|
||||
}
|
||||
|
||||
.control-group {
|
||||
width: 100%;
|
||||
|
||||
.control {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.label {
|
||||
|
|
|
|||
|
|
@ -1,71 +1,70 @@
|
|||
@import 'main/mixins';
|
||||
@import "main/mixins";
|
||||
|
||||
.grid-container {
|
||||
display: block;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.datagrid-filters {
|
||||
display: inline-flex;
|
||||
width: 100%;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-bottom: 20px;
|
||||
.grid-top {
|
||||
display: grid;
|
||||
grid-template-rows: auto auto auto;
|
||||
row-gap: 8px;
|
||||
align-items: center;
|
||||
|
||||
.filter-left {
|
||||
float: left;
|
||||
}
|
||||
.datagrid-filters {
|
||||
display: grid;
|
||||
grid-template-columns: auto auto;
|
||||
column-gap: 10px;
|
||||
|
||||
.filter-right {
|
||||
float: right;
|
||||
}
|
||||
.grid-right {
|
||||
justify-self: end;
|
||||
display: grid;
|
||||
grid-template-columns: auto auto;
|
||||
column-gap: 10px;
|
||||
align-items: end;
|
||||
}
|
||||
|
||||
.dropdown-filters {
|
||||
display: inline-block;
|
||||
.dropdown-filters {
|
||||
display: inline-block;
|
||||
|
||||
&.per-page {
|
||||
margin-right: 10px;
|
||||
&.per-page {
|
||||
|
||||
.control-group {
|
||||
|
||||
label {
|
||||
margin-top: 7px;
|
||||
margin-right: 10px;
|
||||
flex: auto;
|
||||
}
|
||||
|
||||
.control-group {
|
||||
label {
|
||||
width: auto;
|
||||
float: left;
|
||||
margin-top: 7px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.control {
|
||||
width: auto;
|
||||
margin: 0;
|
||||
.control {
|
||||
width: 100%;
|
||||
margin: 0;
|
||||
flex: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.records-count-container {
|
||||
float: right;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 1192px) {
|
||||
.datagrid-filters {
|
||||
margin-bottom: unset;
|
||||
|
||||
.filter-left {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
display: grid;
|
||||
grid-template-columns: auto auto;
|
||||
column-gap: 10px;
|
||||
align-items: end;
|
||||
|
||||
.filter-right {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
justify-self: end;
|
||||
display: grid;
|
||||
grid-template-columns: auto auto;
|
||||
column-gap: 10px;
|
||||
align-items: end;
|
||||
|
||||
@media only screen and (max-width: 720px) {
|
||||
.datagrid-filters {
|
||||
.dropdown-filters {
|
||||
margin-bottom: 5px;
|
||||
.control-group{
|
||||
.control{
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -78,51 +77,52 @@
|
|||
}
|
||||
|
||||
.search-filter {
|
||||
border-radius: 3px;
|
||||
height: 36px;
|
||||
max-width: 300px;
|
||||
|
||||
.control {
|
||||
font-size: 15px;
|
||||
border: 2px solid $control-border-color;
|
||||
border: 1px solid $control-border-color;
|
||||
border-right: none;
|
||||
border-top-left-radius: 3px;
|
||||
border-bottom-left-radius: 3px;
|
||||
height: 36px;
|
||||
width: 280px;
|
||||
width: calc(100% - 36px);
|
||||
padding-left: 10px;
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
box-shadow: 0px 0px 0px 1px $selection-color;
|
||||
}
|
||||
|
||||
.contorl:focus {
|
||||
border-color: $brand-color;
|
||||
}
|
||||
|
||||
.icon-wrapper {
|
||||
border: 2px solid $control-border-color;
|
||||
border: 1px solid $control-border-color;
|
||||
border-radius: 3px;
|
||||
border-top-left-radius: 0px;
|
||||
border-bottom-left-radius: 0px;
|
||||
height: 36px;
|
||||
width: 36px;
|
||||
padding: 3px;
|
||||
padding: 5px;
|
||||
float: right;
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 720px) {
|
||||
.search-filter {
|
||||
.control {
|
||||
width: 100px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.grid-dropdown-header {
|
||||
display: inline-flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
height: 36px;
|
||||
width: 200px;
|
||||
border: 2px solid $control-border-color;
|
||||
width: 100%;
|
||||
min-width: 200px;
|
||||
border: 1px solid $control-border-color;
|
||||
border-radius: 3px;
|
||||
color: #8e8e8e;
|
||||
background-color: $white-color;
|
||||
padding: 0px 5px 0px 5px;
|
||||
|
||||
.arrow-icon-down {
|
||||
|
|
@ -139,7 +139,13 @@
|
|||
li {
|
||||
.control-group {
|
||||
margin-bottom: 15px;
|
||||
display: block;
|
||||
|
||||
.control{
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -148,6 +154,11 @@
|
|||
width: 100%;
|
||||
}
|
||||
}
|
||||
.filter-advance{
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
|
||||
.filter-tag {
|
||||
display: flex;
|
||||
|
|
@ -160,36 +171,44 @@
|
|||
margin-right: 20px;
|
||||
|
||||
.wrapper {
|
||||
margin-left: 10px;
|
||||
padding: 5px 10px 5px 10px;
|
||||
margin-left: 4px;
|
||||
padding: 5px 10px 5px 16px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
background: #e7e7e7;
|
||||
background: #E7E7E7;
|
||||
border: 1px solid #E7E7E7;
|
||||
font-size: 14px;
|
||||
height: 40px;
|
||||
color: #000311;
|
||||
letter-spacing: -0.22px;
|
||||
@include border-radius(2px);
|
||||
@include border-radius(24px);
|
||||
|
||||
.icon.cross-icon {
|
||||
margin-left: 10px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
background: $white-color;
|
||||
border: 1px solid #E7E7E7;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.rtl {
|
||||
.search-filter {
|
||||
|
||||
.control {
|
||||
padding-right: 10px;
|
||||
border-left: 0;
|
||||
border-right: 2px solid #c7c7c7;
|
||||
border-right: 1px solid #C7C7C7;
|
||||
border-top-right-radius: 3px;
|
||||
border-bottom-right-radius: 3px;
|
||||
border-top-left-radius: 0;
|
||||
border-bottom-left-radius: 0;
|
||||
}
|
||||
|
||||
.icon-wrapper {
|
||||
float: left;
|
||||
border-top-right-radius: 0px;
|
||||
|
|
@ -197,19 +216,26 @@
|
|||
border-top-left-radius: 3px;
|
||||
border-bottom-left-radius: 3px;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
box-shadow: 0px 0px 0px 1px $selection-color;
|
||||
}
|
||||
}
|
||||
|
||||
.dropdown-filters {
|
||||
display: inline-block;
|
||||
|
||||
|
||||
&.per-page {
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.filtered-tags {
|
||||
.filter-tag {
|
||||
|
||||
.wrapper,
|
||||
.cross-icon {
|
||||
margin-right: 10px;
|
||||
|
|
@ -217,9 +243,39 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
.records-count-container {
|
||||
float: left;
|
||||
padding: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@media only screen and (max-width: 1040px) {
|
||||
.grid-container {
|
||||
|
||||
.grid-top{
|
||||
.datagrid-filters {
|
||||
grid-template-columns: 100%;
|
||||
row-gap: 0px;
|
||||
|
||||
.search-filter{
|
||||
max-width: 100% !important;
|
||||
|
||||
}
|
||||
|
||||
.filter-left {
|
||||
display: grid;
|
||||
grid-template-columns: 49.5% 49%;
|
||||
column-gap: 5px;
|
||||
}
|
||||
|
||||
.filter-right {
|
||||
display: grid;
|
||||
grid-template-columns: 49.5% 49%;
|
||||
column-gap: 5px;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.grid-dropdown-header {
|
||||
min-width: 122px;
|
||||
}
|
||||
}
|
||||
|
|
@ -31,8 +31,8 @@
|
|||
<div class="grid-container">
|
||||
|
||||
<div class="grid-top">
|
||||
<div class="datagrid-filters">
|
||||
|
||||
<div class="datagrid-filters">
|
||||
<div class="filter-left">
|
||||
@if (isset($results['extraFilters']['channels']))
|
||||
<div class="dropdown-filters per-page">
|
||||
|
|
@ -93,15 +93,14 @@
|
|||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="datagrid-filters" id="datagrid-filters">
|
||||
<div class="filter-left">
|
||||
<div class="datagrid-filters" id="datagrid-filters">
|
||||
<div>
|
||||
<div class="search-filter">
|
||||
<input type="search" id="search-field" class="control"
|
||||
placeholder="{{ __('ui::app.datagrid.search') }}" v-model="searchValue"
|
||||
v-on:keyup.enter="searchCollection(searchValue)"/>
|
||||
|
||||
<div class="icon-wrapper">
|
||||
<span class="icon search-icon search-btn"
|
||||
v-on:click="searchCollection(searchValue)"></span>
|
||||
|
|
@ -243,30 +242,31 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="filter-advance">
|
||||
<div class="filtered-tags">
|
||||
<span class="filter-tag" v-if="filters.length > 0" v-for="filter in filters" style="text-transform: capitalize;">
|
||||
<span v-if="filter.column == 'perPage'">perPage</span>
|
||||
<span v-else>@{{ filter.label }}</span>
|
||||
|
||||
<div class="filtered-tags">
|
||||
<span class="filter-tag" v-if="filters.length > 0" v-for="filter in filters" style="text-transform: capitalize;">
|
||||
<span v-if="filter.column == 'perPage'">perPage</span>
|
||||
<span v-else>@{{ filter.label }}</span>
|
||||
|
||||
<span class="wrapper" v-if="filter.prettyValue">
|
||||
@{{ filter.prettyValue }}
|
||||
<span class="icon cross-icon" v-on:click="removeFilter(filter)"></span>
|
||||
</span>
|
||||
<span class="wrapper" v-else>
|
||||
@{{ decodeURIComponent(filter.val) }}
|
||||
<span class="icon cross-icon" v-on:click="removeFilter(filter)"></span>
|
||||
</span>
|
||||
<span class="wrapper" v-if="filter.prettyValue">
|
||||
@{{ filter.prettyValue }}
|
||||
<span class="icon cross-icon" v-on:click="removeFilter(filter)"></span>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="records-count-container">
|
||||
<span class="wrapper" v-else>
|
||||
@{{ decodeURIComponent(filter.val) }}
|
||||
<span class="icon cross-icon" v-on:click="removeFilter(filter)"></span>
|
||||
</span>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="records-count-container">
|
||||
<span class="datagrid-count">
|
||||
{{ $results['records']->total() }} {{ __('admin::app.admin.system.records-found') }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="table-responsive">
|
||||
<table class="table">
|
||||
|
|
|
|||
|
|
@ -103,7 +103,7 @@ return [
|
|||
'slider-path' => 'Slider Path',
|
||||
'category-logo' => 'Category logo',
|
||||
'product-policy' => 'Product Policy',
|
||||
'update-meta-data' => 'Update Meta Data',
|
||||
'update-meta-data' => 'Update',
|
||||
'product-view-image' => 'Product View Image',
|
||||
'advertisement-two' => 'Advertisement Two Images',
|
||||
'advertisement-one' => 'Advertisement One Images',
|
||||
|
|
@ -113,6 +113,16 @@ return [
|
|||
'images' => 'Images',
|
||||
'general' => 'General',
|
||||
'add-image-btn-title' => 'Add Image',
|
||||
'image-four-resolution' => 'First image resolutions should be like 427px X 410px ,
|
||||
Second images resolutions should be like 397px X 180px ,
|
||||
Third images resolutions should be like 397px X 180px ,
|
||||
Fouth image resolutions should be like 427px X 410px',
|
||||
'image-three-resolution' => 'First image resolution should be like 635px X 465px ,
|
||||
Second image resolutions should be like 620px X 225px,
|
||||
Third image resolutions should be like 620px X 225px',
|
||||
'image-two-resolution' => 'First image resolution should be like 953px X 447px ,
|
||||
Second image resolution should be like 303px X 446px',
|
||||
'image-locale-resolution' => 'Image resolution should be like 20px X 20px',
|
||||
'footer-middle' => [
|
||||
'about-us' => 'About Us',
|
||||
'customer-service' => 'Customer Service',
|
||||
|
|
@ -125,6 +135,16 @@ return [
|
|||
]
|
||||
],
|
||||
'category' => [
|
||||
'image-four-resolution' => 'First image resolutions should be like 427px X 410px ,
|
||||
Second images resolutions should be like 397px X 180px ,
|
||||
Third images resolutions should be like 397px X 180px ,
|
||||
Fouth image resolutions should be like 427px X 410px',
|
||||
'image-three-resolution' => 'First image resolution should be like 635px X 465px ,
|
||||
Second image resolutions should be like 620px X 225px,
|
||||
Third image resolutions should be like 620px X 225px',
|
||||
'image-two-resolution' => 'First image resolution should be like 953px X 447px ,
|
||||
Second image resolution should be like 303px X 446px',
|
||||
'image-locale-resolution' => 'Image resolution should be like 20px X 20px',
|
||||
'save-btn-title' => 'Save Menu',
|
||||
'title' => 'Category Menu List',
|
||||
'add-title' => 'Add Menu Content',
|
||||
|
|
|
|||
|
|
@ -15,4 +15,6 @@
|
|||
:button-label="'{{ __('admin::app.catalog.products.add-image-btn-title') }}'">
|
||||
</image-wrapper>
|
||||
@endif
|
||||
|
||||
<span class="control-info mt-10">{{ __('admin::app.catalog.categories.image-size-logo') }}</span>
|
||||
</div>
|
||||
|
|
@ -10,6 +10,20 @@
|
|||
$channelLocales = core()->getAllLocalesByRequestedChannel()['locales'];
|
||||
@endphp
|
||||
|
||||
@push('css')
|
||||
|
||||
<style>
|
||||
|
||||
@media only screen and (max-width: 768px){
|
||||
.content-container .content .page-header .page-title{
|
||||
margin-bottom: 30px !important;
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
@endpush
|
||||
|
||||
@section('content')
|
||||
<div class="content">
|
||||
<form
|
||||
|
|
@ -117,9 +131,6 @@
|
|||
value="{{ $metaData ? $metaData->header_content_count : '5' }}" />
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="control-group">
|
||||
<label style="width:100%;">
|
||||
{{ __('velocity::app.admin.meta-data.home-page-content') }}
|
||||
|
|
@ -217,6 +228,8 @@
|
|||
:button-label="'{{ __('velocity::app.admin.meta-data.add-image-btn-title') }}'">
|
||||
</image-wrapper>
|
||||
@endif
|
||||
|
||||
<span class="control-info mt-10">{{ __('velocity::app.admin.meta-data.image-four-resolution') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
|
|
@ -258,6 +271,7 @@
|
|||
:button-label="'{{ __('velocity::app.admin.meta-data.add-image-btn-title') }}'">
|
||||
</image-wrapper>
|
||||
@endif
|
||||
<span class="control-info mt-10">{{ __('velocity::app.admin.meta-data.image-three-resolution') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
|
|
@ -296,6 +310,7 @@
|
|||
:button-label="'{{ __('velocity::app.admin.meta-data.add-image-btn-title') }}'">
|
||||
</image-wrapper>
|
||||
@endif
|
||||
<span class="control-info mt-10">{{ __('velocity::app.admin.meta-data.image-two-resolution') }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</accordian>
|
||||
|
|
|
|||
|
|
@ -14,4 +14,6 @@
|
|||
:button-label="'{{ __('admin::app.catalog.products.add-image-btn-title') }}'">
|
||||
</image-wrapper>
|
||||
@endif
|
||||
|
||||
<span class="control-info mt-10">{{ __('velocity::app.admin.meta-data.image-locale-resolution') }}</span>
|
||||
</div>
|
||||
Loading…
Reference in New Issue