migrate to gtea from bistbucket
This commit is contained in:
208
Modules/Business/resources/views/parties/create.blade.php
Normal file
208
Modules/Business/resources/views/parties/create.blade.php
Normal file
@@ -0,0 +1,208 @@
|
||||
@extends('layouts.business.master')
|
||||
|
||||
@section('title')
|
||||
{{ request('type') !== 'Supplier' ? __('Create Customer') : __('Create Supplier') }}
|
||||
@endsection
|
||||
|
||||
@php
|
||||
$file = base_path('lang/countrylist.json');
|
||||
|
||||
if (file_exists($file)) {
|
||||
$countries = json_decode(file_get_contents($file), true);
|
||||
} else {
|
||||
$countries = [];
|
||||
}
|
||||
$type = request('type') !== 'Supplier' ? 'Customer' : 'Supplier';
|
||||
@endphp
|
||||
|
||||
@section('main_content')
|
||||
<div class="erp-table-section">
|
||||
<div class="container-fluid">
|
||||
<div class="card border-0">
|
||||
<div class="card-bodys ">
|
||||
<div class="table-header p-16">
|
||||
@php
|
||||
$type = ucfirst(request('type'));
|
||||
@endphp
|
||||
|
||||
<h4>{{ __('Add new :type', ['type' => __($type)]) }}</h4>
|
||||
|
||||
@usercan('parties.read')
|
||||
<a href="{{ route('business.parties.index', ['type' => request('type')]) }}"
|
||||
class="add-order-btn rounded-2 {{ Route::is('business.parties.create') ? 'active' : '' }}">
|
||||
<i class="far fa-list" aria-hidden="true"></i>{{ __(':type List', ['type' => __($type)]) }}
|
||||
</a>
|
||||
@endusercan
|
||||
</div>
|
||||
|
||||
<div class="order-form-section p-16">
|
||||
<form action="{{ route('business.parties.store') }}" method="POST" class="ajaxform_instant_reload">
|
||||
@csrf
|
||||
<div class="add-suplier-modal-wrapper d-block">
|
||||
<div class="row">
|
||||
<div class="row col-lg-9">
|
||||
<div class="col-lg-6 mb-2">
|
||||
<label>{{ __($type . ' Name') }}</label>
|
||||
<input type="text" name="name" required class="form-control" placeholder="{{ __('Enter '.$type.' Name') }}">
|
||||
</div>
|
||||
<div class="col-lg-6 mb-2">
|
||||
<label>{{ __('Phone Number') }}</label>
|
||||
<input type="number" name="phone" class="form-control" placeholder="{{ __('Enter Phone Number') }}">
|
||||
</div>
|
||||
@if (request('type') !== 'Supplier')
|
||||
<div class="col-lg-6 mb-2">
|
||||
<label>{{ __('Party Type') }}</label>
|
||||
<div class="gpt-up-down-arrow position-relative">
|
||||
<select name="type" class="form-control table-select w-100" required>
|
||||
<option value=""> {{ __('Select one') }}</option>
|
||||
<option value="Retailer">{{ __('Customer') }}</option>
|
||||
<option value="Dealer">{{ __('Dealer') }}</option>
|
||||
<option value="Wholesaler">{{ __('Wholesaler') }}</option>
|
||||
</select>
|
||||
<span></span>
|
||||
</div>
|
||||
</div>
|
||||
@else
|
||||
<div>
|
||||
<input type="hidden" name="type" value="Supplier">
|
||||
</div>
|
||||
@endif
|
||||
<div class="col-lg-6 mb-2">
|
||||
<div class="form-group">
|
||||
<label>{{ __('Balance') }}</label>
|
||||
<div class="input-select-wrapper">
|
||||
<input type="number" step="any" name="opening_balance"
|
||||
placeholder="Ex: 500">
|
||||
<select name="opening_balance_type">
|
||||
<option value="due">{{__('Due')}}</option>
|
||||
<option value="advance">{{__('Advance')}}</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-6 mb-2">
|
||||
<label>{{ __('Email') }}</label>
|
||||
<input type="email" name="email" class="form-control"
|
||||
placeholder="{{ __('Enter Email') }}">
|
||||
</div>
|
||||
@if (request('type') !== 'Supplier')
|
||||
<div class="col-lg-6 mb-2">
|
||||
<label>{{ __('Party Credit Limit') }}</label>
|
||||
<input type="number" name="credit_limit" step="any" class="form-control" placeholder="{{ __('Ex: 800') }}">
|
||||
</div>
|
||||
@endif
|
||||
<div class="col-lg-6 mb-2">
|
||||
<label>{{ __('Address') }}</label>
|
||||
<input type="text" name="address" class="form-control" placeholder="{{ __('Enter Address') }}">
|
||||
</div>
|
||||
<div class="accordion" id="customAccordion">
|
||||
<div class="accordion-item border-0">
|
||||
<h2 class="accordion-header">
|
||||
<button class="accordion-button address-accordion collapsed text-primary fw-medium bg-transparent shadow-none" type="button" data-bs-toggle="collapse" data-bs-target="#collapseOne" aria-expanded="false" aria-controls="collapseOne">
|
||||
<span class="icon me-2">+</span> {{ __('Billing Address') }}
|
||||
</button>
|
||||
</h2>
|
||||
<div id="collapseOne" class="accordion-collapse collapse show"
|
||||
data-bs-parent="#customAccordion">
|
||||
<div class="accordion-body fst-italic text-secondary p-0">
|
||||
<div class="row">
|
||||
<div class="col-lg-6 mb-2">
|
||||
<label>{{ __('Address line 1') }}</label>
|
||||
<input type="text" name="billing_address[address]" class="form-control" placeholder="{{ __('Enter address') }}">
|
||||
</div>
|
||||
<div class="col-lg-6 mb-2">
|
||||
<label>{{ __('City') }}</label>
|
||||
<input type="text" name="billing_address[city]" class="form-control" placeholder="{{ __('Enter city') }}">
|
||||
</div>
|
||||
<div class="col-lg-6 mb-2">
|
||||
<label>{{ __('State') }}</label>
|
||||
<input type="text" name="billing_address[state]" class="form-control" placeholder="{{ __('Enter state') }}">
|
||||
</div>
|
||||
<div class="col-lg-6 mb-2">
|
||||
<label>{{ __('Zip Code') }}</label>
|
||||
<input type="text" name="billing_address[zip_code]" class="form-control" placeholder="{{ __('Enter zip code') }}">
|
||||
</div>
|
||||
<div class="col-lg-6 mb-2">
|
||||
<label>{{ __('Country') }}</label>
|
||||
<select name="billing_address[country]" class="form-control">
|
||||
<option value="">{{ __('Select a country') }}</option>
|
||||
@foreach ($countries as $country)
|
||||
<option value="{{ $country['name'] }}">{{ __($country['name']) }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="accordion-item border-0">
|
||||
<h2 class="accordion-header">
|
||||
<button class="accordion-button address-accordion fw-medium text-dark bg-transparent shadow-none" type="button" data-bs-toggle="collapse" data-bs-target="#collapseTwo" aria-expanded="true" aria-controls="collapseTwo">
|
||||
<span class="icon me-2">−</span> {{ __('Shipping Address') }}
|
||||
</button>
|
||||
</h2>
|
||||
<div id="collapseTwo" class="accordion-collapse collapse "
|
||||
data-bs-parent="#customAccordion">
|
||||
<div class="accordion-body fst-italic text-secondary ">
|
||||
<div class="row">
|
||||
<div class="col-lg-6 mb-2">
|
||||
<label>{{ __('Address line 1') }}</label>
|
||||
<input type="text" name="shipping_address[address]" class="form-control" placeholder="{{ __('Enter address') }}">
|
||||
</div>
|
||||
<div class="col-lg-6 mb-2">
|
||||
<label>{{ __('City') }}</label>
|
||||
<input type="text" name="shipping_address[city]" class="form-control" placeholder="{{ __('Enter city') }}">
|
||||
</div>
|
||||
<div class="col-lg-6 mb-2">
|
||||
<label>{{ __('State') }}</label>
|
||||
<input type="text" name="shipping_address[state]" class="form-control" placeholder="{{ __('Enter state') }}">
|
||||
</div>
|
||||
<div class="col-lg-6 mb-2">
|
||||
<label>{{ __('Zip Code') }}</label>
|
||||
<input type="text" name="shipping_address[zip_code]" class="form-control" placeholder="{{ __('Enter zip code') }}">
|
||||
</div>
|
||||
<div class="col-lg-6 mb-2">
|
||||
<label>{{ __('Country') }}</label>
|
||||
<select name="shipping_address[country]" class="form-control">
|
||||
<option value="">{{ __('Select a country') }}</option>
|
||||
@foreach ($countries as $country)
|
||||
<option value="{{ $country['name'] }}">{{ __($country['name']) }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-3">
|
||||
<h6 class="img-title">{{__('Image')}} <span>{{__('(PNG & JPG)')}}</span></h6>
|
||||
<div id="uploadBox">
|
||||
<div id="previewArea">
|
||||
<div id="iconArea">
|
||||
<img src="{{ asset('assets/images/icons/img.png') }}" alt="icon" />
|
||||
</div>
|
||||
<p>{{__('Drag & drop your Image')}}</p>
|
||||
<p>or <span class="browse-text">{{__('Browse')}}</span></p>
|
||||
</div>
|
||||
</div>
|
||||
<input type="file" name="image" id="fileInput" accept="image/*">
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-12">
|
||||
<div class="button-group text-center mt-5">
|
||||
<button type="reset" class="theme-btn border-btn m-2">{{ __('Reset') }}</button>
|
||||
@usercan('parties.create')
|
||||
<button class="theme-btn m-2 submit-btn">{{ __('Save') }}</button>
|
||||
@endusercan
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
95
Modules/Business/resources/views/parties/datas.blade.php
Normal file
95
Modules/Business/resources/views/parties/datas.blade.php
Normal file
@@ -0,0 +1,95 @@
|
||||
<div class="responsive-table m-0">
|
||||
<table class="table" id="datatable">
|
||||
<thead>
|
||||
<tr>
|
||||
@usercan('parties.delete')
|
||||
<th class="w-60">
|
||||
<div class="d-flex align-items-center gap-3">
|
||||
<input type="checkbox" class="select-all-delete multi-delete">
|
||||
</div>
|
||||
</th>
|
||||
@endusercan
|
||||
<th> {{ __('SL') }}. </th>
|
||||
<th> {{ __('Image') }} </th>
|
||||
<th> {{ __('Name') }} </th>
|
||||
<th> {{ __('Type') }} </th>
|
||||
<th> {{ __('Phone') }} </th>
|
||||
<th> {{ __('Due') }} </th>
|
||||
<th> {{ __('Credit Limit') }} </th>
|
||||
<th> {{ __('Action') }} </th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach ($parties as $party)
|
||||
<tr>
|
||||
@usercan('parties.delete')
|
||||
<td class="w-60 checkbox">
|
||||
<input type="checkbox" name="ids[]" class="delete-checkbox-item multi-delete"
|
||||
value="{{ $party->id }}" @if (!$party->canBeDeleted()) disabled @endif>
|
||||
</td>
|
||||
@endusercan
|
||||
<td>{{ ($parties->currentPage() - 1) * $parties->perPage() + $loop->iteration }}</td>
|
||||
<td>
|
||||
<img src="{{ asset($party->image ?? 'assets/images/logo/upload2.jpg') }}" alt="Img"
|
||||
class="table-product-img">
|
||||
</td>
|
||||
<td>{{ $party->name }}</td>
|
||||
@if ($party->type == 'Retailer')
|
||||
<td>{{ __('Customer') }}</td>
|
||||
@else
|
||||
<td>{{ $party->type }}</td>
|
||||
@endif
|
||||
<td>{{ $party->phone }}</td>
|
||||
<td class="text-danger">
|
||||
{{ currency_format($party->due, currency: business_currency()) }}
|
||||
</td>
|
||||
<td class="text-success">
|
||||
{{ currency_format($party->credit_limit, currency: business_currency()) }}
|
||||
</td>
|
||||
<td class="d-print-none">
|
||||
<div class="dropdown table-action">
|
||||
<button type="button" data-bs-toggle="dropdown">
|
||||
<i class="far fa-ellipsis-v"></i>
|
||||
</button>
|
||||
<ul class="dropdown-menu">
|
||||
<li>
|
||||
@usercan('parties.read')
|
||||
<a href="#parties-view" class="parties-view-btn" data-bs-toggle="modal"
|
||||
data-name="{{ $party->name }}" data-email="{{ $party->email }}"
|
||||
data-phone="{{ $party->phone }}" data-type="{{ $party->type }}"
|
||||
data-due="{{ currency_format($party->due, currency: business_currency()) }}"
|
||||
data-address="{{ $party->address }}">
|
||||
<i class="fal fa-eye"></i>
|
||||
{{ __('View') }}
|
||||
</a>
|
||||
@endusercan
|
||||
</li>
|
||||
<li>
|
||||
<a
|
||||
href="{{ route('business.parties.edit', [$party->id, 'type' => request('type')]) }}"><i
|
||||
class="fal fa-edit"></i>{{ __('Edit') }}</a>
|
||||
</li>
|
||||
<li>
|
||||
@usercan('parties.delete')
|
||||
@if ($party->canBeDeleted())
|
||||
<a href="{{ route('business.parties.destroy', $party->id) }}"
|
||||
class="confirm-action" data-method="DELETE">
|
||||
<i class="fal fa-trash-alt"></i>
|
||||
{{ __('Delete') }}
|
||||
</a>
|
||||
@endif
|
||||
@endusercan
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="mt-3">
|
||||
{{ $parties->links('vendor.pagination.bootstrap-5') }}
|
||||
</div>
|
||||
294
Modules/Business/resources/views/parties/edit.blade.php
Normal file
294
Modules/Business/resources/views/parties/edit.blade.php
Normal file
@@ -0,0 +1,294 @@
|
||||
@extends('layouts.business.master')
|
||||
|
||||
@section('title')
|
||||
{{ request('type') !== 'Supplier' ? __('Edit Customer') : __('Edit Supplier') }}
|
||||
@endsection
|
||||
|
||||
@php
|
||||
$file = base_path('lang/countrylist.json');
|
||||
|
||||
if (file_exists($file)) {
|
||||
$countries = json_decode(file_get_contents($file), true);
|
||||
} else {
|
||||
$countries = [];
|
||||
}
|
||||
$type = request('type') !== 'Supplier' ? 'Customer' : 'Supplier';
|
||||
@endphp
|
||||
|
||||
@section('main_content')
|
||||
<div class="erp-table-section">
|
||||
<div class="container-fluid">
|
||||
<div class="card border-0">
|
||||
<div class="card-bodys ">
|
||||
<div class="table-header p-16">
|
||||
@php
|
||||
$type = ucfirst(request('type'));
|
||||
@endphp
|
||||
|
||||
<h4>{{ __('Edit :type', ['type' => __($type)]) }}</h4>
|
||||
|
||||
@usercan('parties.read')
|
||||
<a href="{{ route('business.parties.index', ['type' => request('type')]) }}"
|
||||
class="add-order-btn rounded-2 {{ Route::is('business.parties.create') ? 'active' : '' }}">
|
||||
<i class="far fa-list" aria-hidden="true"></i>{{ __(':type List', ['type' => __($type)]) }}
|
||||
</a>
|
||||
@endusercan
|
||||
</div>
|
||||
<div class="order-form-section p-16">
|
||||
<form action="{{ route('business.parties.update', $party->id) }}" method="POST"
|
||||
class="ajaxform_instant_reload">
|
||||
@csrf
|
||||
@method('put')
|
||||
<div class="add-suplier-modal-wrapper d-block">
|
||||
<div class="row">
|
||||
<div class="row col-lg-9">
|
||||
<div class="col-lg-6 mb-2">
|
||||
<label>{{ __($type . ' Name') }}</label>
|
||||
<input type="text" value="{{ $party->name }}" name="name" required class="form-control" placeholder="{{ __('Enter '.$type.' Name') }}">
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 mb-2">
|
||||
<label>{{ __('Phone') }}</label>
|
||||
<input type="number" value="{{ $party->phone }}" name="phone"
|
||||
class="form-control" placeholder="{{ __('Enter phone number') }}">
|
||||
</div>
|
||||
|
||||
@if (request('type') !== 'Supplier')
|
||||
<div class="col-lg-6 mb-2">
|
||||
<label>{{ __('Party Type') }}</label>
|
||||
<div class="gpt-up-down-arrow position-relative">
|
||||
<select name="type" class="form-control table-select w-100" required>
|
||||
<option value=""> {{ __('Select one') }}</option>
|
||||
<option @selected($party->type == 'Retailer') value="Retailer">
|
||||
{{ __('Customer') }}</option>
|
||||
<option @selected($party->type == 'Dealer') value="Dealer">
|
||||
{{ __('Dealer') }}
|
||||
</option>
|
||||
<option @selected($party->type == 'Wholesaler') value="Wholesaler">
|
||||
{{ __('Wholesaler') }}</option>
|
||||
</select>
|
||||
<span></span>
|
||||
</div>
|
||||
</div>
|
||||
@else
|
||||
<div>
|
||||
<input type="hidden" name="type" value="Supplier">
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@php
|
||||
$branch_logic = $party->branch_id != (auth()->user()->active_branch?->id);
|
||||
@endphp
|
||||
|
||||
<div class="col-lg-6 mb-2">
|
||||
<div class="form-group">
|
||||
<label>{{ __('Balance') }}</label>
|
||||
<div class="input-select-wrapper">
|
||||
<input type="number" step="any" name="opening_balance" value="{{ $branch_logic ? 0 : $party->opening_balance }}" id="opening_balance" class="form-control" value="{{ $party->opening_balance }}" placeholder="Ex: 500" @readonly($branch_logic)>
|
||||
<select name="opening_balance_type" @disabled($branch_logic)>
|
||||
<option value="due" {{ $party->opening_balance_type == 'due' ? 'selected' : '' }}>{{__('Due') }}</option>
|
||||
<option value="advance" {{ $party->opening_balance_type == 'advance' ? 'selected' : '' }}>{{__('Advance')}}</option>
|
||||
</select>
|
||||
</div>
|
||||
@if ($branch_logic)
|
||||
<small class="text-warning fw-bold">{{__('This party is from another branch, you can not change the opening from here.') }}</small>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 mb-2">
|
||||
<label>{{ __('Email') }}</label>
|
||||
<input type="email" value="{{ $party->email }}" name="email"
|
||||
class="form-control" placeholder="{{ __('Enter Email') }}">
|
||||
</div>
|
||||
|
||||
@if (request('type') !== 'Supplier')
|
||||
<div class="col-lg-6 mb-2">
|
||||
<label>{{ __('Party Credit Limit') }}</label>
|
||||
<input type="number" name="credit_limit" value="{{ $party->credit_limit }}"
|
||||
step="any" class="form-control" placeholder="{{ __('Ex: 800') }}">
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="col-lg-6 mb-2">
|
||||
<label>{{ __('Address') }}</label>
|
||||
<input type="text" value="{{ $party->address }}" name="address"
|
||||
class="form-control" placeholder="{{ __('Enter Address') }}">
|
||||
</div>
|
||||
|
||||
<div class="accordion" id="customAccordion">
|
||||
<div class="accordion-item border-0">
|
||||
<h2 class="accordion-header">
|
||||
<button
|
||||
class="accordion-button address-accordion collapsed fw-medium text-primary bg-transparent shadow-none"
|
||||
type="button" data-bs-toggle="collapse"
|
||||
data-bs-target="#collapseOne" aria-expanded="false"
|
||||
aria-controls="collapseOne">
|
||||
<span class="icon me-2">+</span> {{ __('Billing Address') }}
|
||||
</button>
|
||||
</h2>
|
||||
<div id="collapseOne" class="accordion-collapse collapse show"
|
||||
data-bs-parent="#customAccordion">
|
||||
<div class="accordion-body fst-italic text-secondary p-0">
|
||||
<div class="row">
|
||||
<div class="col-lg-6 mb-2">
|
||||
<label>{{ __('Address') }}</label>
|
||||
<input type="text" name="billing_address[address]"
|
||||
value="{{ $party->billing_address['address'] ?? '' }}"
|
||||
class="form-control"
|
||||
placeholder="{{ __('Enter address') }}">
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 mb-2">
|
||||
<label>{{ __('City') }}</label>
|
||||
<input type="text" name="billing_address[city]"
|
||||
value="{{ $party->billing_address['city'] ?? '' }}"
|
||||
class="form-control"
|
||||
placeholder="{{ __('Enter city') }}">
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 mb-2">
|
||||
<label>{{ __('State') }}</label>
|
||||
<input type="text" name="billing_address[state]"
|
||||
value="{{ $party->billing_address['state'] ?? '' }}"
|
||||
class="form-control"
|
||||
placeholder="{{ __('Enter state') }}">
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 mb-2">
|
||||
<label>{{ __('Zip Code') }}</label>
|
||||
<input type="text" name="billing_address[zip_code]"
|
||||
value="{{ $party->billing_address['zip_code'] ?? '' }}"
|
||||
class="form-control"
|
||||
placeholder="{{ __('Enter zip code') }}">
|
||||
</div>
|
||||
|
||||
@php
|
||||
$billing = is_array($party->billing_address) ? $party->billing_address : json_decode($party->billing_address, true) ?? [];
|
||||
@endphp
|
||||
|
||||
<div class="col-lg-6 mb-2">
|
||||
<label>{{ __('Country') }}</label>
|
||||
<select name="billing_address[country]"
|
||||
class="form-control">
|
||||
<option value="">{{ __('Select a country') }}
|
||||
</option>
|
||||
@foreach ($countries as $country)
|
||||
<option value="{{ $country['name'] }}"
|
||||
@selected(($billing['country'] ?? '') == $country['name'])>
|
||||
{{ __($country['name']) }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Accordion #2 -->
|
||||
<div class="accordion-item border-0">
|
||||
<h2 class="accordion-header">
|
||||
<button
|
||||
class="accordion-button address-accordion fw-medium text-dark bg-transparent shadow-none"
|
||||
type="button" data-bs-toggle="collapse"
|
||||
data-bs-target="#collapseTwo" aria-expanded="true"
|
||||
aria-controls="collapseTwo">
|
||||
<span class="icon me-2">−</span> {{ __('Shipping Address') }}
|
||||
</button>
|
||||
</h2>
|
||||
<div id="collapseTwo" class="accordion-collapse collapse "
|
||||
data-bs-parent="#customAccordion">
|
||||
<div class="accordion-body fst-italic text-secondary ">
|
||||
<div class="row">
|
||||
<div class="col-lg-6 mb-2">
|
||||
<label>{{ __('Address') }}</label>
|
||||
<input type="text" name="shipping_address[address]"
|
||||
value="{{ $party->billing_address['address'] ?? '' }}"
|
||||
class="form-control"
|
||||
placeholder="{{ __('Enter address') }}">
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 mb-2">
|
||||
<label>{{ __('City') }}</label>
|
||||
<input type="text" name="shipping_address[city]"
|
||||
value="{{ $party->billing_address['city'] ?? '' }}"
|
||||
class="form-control"
|
||||
placeholder="{{ __('Enter city') }}">
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 mb-2">
|
||||
<label>{{ __('State') }}</label>
|
||||
<input type="text" name="shipping_address[state]"
|
||||
value="{{ $party->billing_address['state'] ?? '' }}"
|
||||
class="form-control"
|
||||
placeholder="{{ __('Enter state') }}">
|
||||
</div>
|
||||
|
||||
<div class="col-lg-6 mb-2">
|
||||
<label>{{ __('Zip Code') }}</label>
|
||||
<input type="text" name="shipping_address[zip_code]"
|
||||
value="{{ $party->billing_address['zip_code'] ?? '' }}"
|
||||
class="form-control"
|
||||
placeholder="{{ __('Enter zip code') }}">
|
||||
</div>
|
||||
|
||||
@php
|
||||
$shipping = is_array($party->shipping_address) ? $party->shipping_address : json_decode($party->shipping_address, true) ?? [];
|
||||
@endphp
|
||||
|
||||
<div class="col-lg-6 mb-2">
|
||||
<label>{{ __('Country') }}</label>
|
||||
<select name="shipping_address[country]"
|
||||
class="form-control">
|
||||
<option value="">{{ __('Select a country') }}
|
||||
</option>
|
||||
@foreach ($countries as $country)
|
||||
<option value="{{ $country['name'] }}"
|
||||
@selected(($shipping['country'] ?? '') == $country['name'])>
|
||||
{{ __($country['name']) }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-lg-3">
|
||||
<h6 class="img-title">{{__('Image')}} <span>{{__('(PNG & JPG)')}}</span></h6>
|
||||
<div id="uploadBox">
|
||||
<div id="previewArea">
|
||||
<div id="iconArea">
|
||||
<img src="{{ asset( $party->image ?? 'assets/images/icons/img.png') }}" alt="icon" />
|
||||
</div>
|
||||
<p>{{__('Drag & drop your Image')}}</p>
|
||||
<p>or <span class="browse-text">{{__('Browse')}}</span></p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input type="file" name="image" id="fileInput" accept="image/*">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-lg-12">
|
||||
<div class="button-group text-center mt-5">
|
||||
<a href="{{ route('business.parties.index') }}"
|
||||
class="theme-btn border-btn m-2">{{ __('Cancel') }}</a>
|
||||
@usercan('parties.update')
|
||||
<button class="theme-btn m-2 submit-btn">{{ __('Save') }}</button>
|
||||
@endusercan
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
79
Modules/Business/resources/views/parties/index.blade.php
Normal file
79
Modules/Business/resources/views/parties/index.blade.php
Normal file
@@ -0,0 +1,79 @@
|
||||
@extends('layouts.business.master')
|
||||
|
||||
@section('title')
|
||||
{{ request('type') !== 'Supplier' ? __('Customer List') : __('Supplier List') }}
|
||||
@endsection
|
||||
|
||||
@section('main_content')
|
||||
<div class="erp-table-section">
|
||||
<div class="container-fluid">
|
||||
<div class="card ">
|
||||
<div class="card-bodys">
|
||||
<div class="table-header p-16">
|
||||
@php
|
||||
$type = ucfirst(request('type'));
|
||||
@endphp
|
||||
|
||||
<h4>{{ __(':type List', ['type' => __($type)]) }}</h4>
|
||||
|
||||
@usercan('parties.create')
|
||||
<a type="button" href="{{ route('business.parties.create', ['type' => request('type')]) }}"
|
||||
class="add-order-btn rounded-2 {{ Route::is('business.parties.create') ? 'active' : '' }}">
|
||||
<i class="fas fa-plus-circle me-1"></i>{{ __('Add new :type', ['type' => __($type)]) }}
|
||||
</a>
|
||||
@endusercan
|
||||
</div>
|
||||
|
||||
<div class="table-top-form p-16-0">
|
||||
<form action="{{ route('business.parties.index') }}" method="GET" class="filter-form" table="#parties-data">
|
||||
|
||||
@if(request('type'))
|
||||
<input type="hidden" name="type" value="{{ request('type') }}">
|
||||
@endif
|
||||
|
||||
<div class="table-top-left d-flex gap-3 margin-l-16">
|
||||
<div class="gpt-up-down-arrow position-relative">
|
||||
<select name="per_page" class="form-control">
|
||||
<option @selected(request('per_page') == 20) value="20">{{ __('Show 20') }}</option>
|
||||
<option @selected(request('per_page') == 50) value="50">{{ __('Show 50') }}</option>
|
||||
<option @selected(request('per_page') == 100) value="100">{{ __('Show 100') }}</option>
|
||||
<option @selected(request('per_page') == 500) value="500">{{ __('Show 500') }}</option>
|
||||
</select>
|
||||
<span></span>
|
||||
</div>
|
||||
|
||||
<div class="table-search position-relative">
|
||||
<input class="form-control searchInput" type="text" name="search" placeholder="{{ __('Search...') }}" value="{{ request('search') }}">
|
||||
<span class="position-absolute">
|
||||
<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M14.582 14.582L18.332 18.332" stroke="#4D4D4D" stroke-width="1.25" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M16.668 9.16797C16.668 5.02584 13.3101 1.66797 9.16797 1.66797C5.02584 1.66797 1.66797 5.02584 1.66797 9.16797C1.66797 13.3101 5.02584 16.668 9.16797 16.668C13.3101 16.668 16.668 13.3101 16.668 9.16797Z" stroke="#4D4D4D" stroke-width="1.25" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="delete-item delete-show d-none">
|
||||
<div class="delete-item-show">
|
||||
<p class="fw-bold"><span class="selected-count"></span> {{ __('items show') }}</p>
|
||||
<button data-bs-toggle="modal" class="trigger-modal" data-bs-target="#multi-delete-modal" data-url="{{ route('business.parties.delete-all') }}">{{ __('Delete') }}</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="parties-data">
|
||||
@include('business::parties.datas')
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endsection
|
||||
|
||||
@push('modal')
|
||||
@include('business::component.delete-modal')
|
||||
@include('business::parties.view')
|
||||
@endpush
|
||||
|
||||
48
Modules/Business/resources/views/parties/view.blade.php
Normal file
48
Modules/Business/resources/views/parties/view.blade.php
Normal file
@@ -0,0 +1,48 @@
|
||||
<div class="modal fade p-0" id="parties-view">
|
||||
<div class="modal-dialog modal-dialog-centered modal-md">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<h1 class="modal-title fs-5">{{ __('View') }}</h1>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body order-form-section">
|
||||
<div class="">
|
||||
<table class="info-table">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>{{ __('Name') }}</td>
|
||||
<td>:</td>
|
||||
<td id="parties_name"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{ __('Phone') }}</td>
|
||||
<td>:</td>
|
||||
<td id="parties_phone"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{ __('Email') }}</td>
|
||||
<td>:</td>
|
||||
<td id="parties_email"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{ __('Type') }}</td>
|
||||
<td>:</td>
|
||||
<td id="parties_type"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{ __('Address') }}</td>
|
||||
<td>:</td>
|
||||
<td id="parties_address"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{ __('Due') }}</td>
|
||||
<td>:</td>
|
||||
<td id="parties_due"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
Reference in New Issue
Block a user