![]() Server : Apache/2.4.62 (Unix) OpenSSL/1.0.2k-fips System : Linux server1.richineiserver.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64 User : fdshops ( 1003) PHP Version : 8.2.21 Disable Function : NONE Directory : /home/fdshops/public_html/resources/views/contact/ |
@extends('layouts.app') @section('title', __('contact.view_contact')) @section('content') <!-- Main content --> <section class="content no-print"> <div class="row no-print"> <div class="col-md-4"> <h3>@lang('contact.view_contact')</h3> </div> <div class="col-md-4 col-xs-12 mt-15 pull-right"> {!! Form::select('contact_id', $contact_dropdown, $contact->id , ['class' => 'form-control select2', 'id' => 'contact_id']); !!} </div> </div> <div class="hide print_table_part"> <style type="text/css"> .info_col { width: 25%; float: left; padding-left: 10px; padding-right: 10px; } </style> <div style="width: 100%;"> <div class="info_col"> @include('contact.contact_basic_info') </div> <div class="info_col"> @include('contact.contact_more_info') </div> @if( $contact->type != 'customer') <div class="info_col"> @include('contact.contact_tax_info') </div> @endif <div class="info_col"> @include('contact.contact_payment_info') </div> </div> </div> <input type="hidden" id="sell_list_filter_customer_id" value="{{$contact->id}}"> <input type="hidden" id="purchase_list_filter_supplier_id" value="{{$contact->id}}"> <br> <div class="row"> <div class="col-md-12"> <div class="box box-solid"> <div class="box-body"> @include('contact.partials.contact_info_tab') </div> </div> </div> </div> <div class="row"> <div class="col-md-12"> <div class="nav-tabs-custom"> <ul class="nav nav-tabs nav-justified"> <li class=" @if(!empty($view_type) && $view_type == 'ledger') active @else '' @endif"> <a href="#ledger_tab" data-toggle="tab" aria-expanded="true"><i class="fas fa-scroll" aria-hidden="true"></i> @lang('lang_v1.ledger')</a> </li> @if(in_array($contact->type, ['both', 'supplier'])) <li class=" @if(!empty($view_type) && $view_type == 'purchase') active @else '' @endif"> <a href="#purchases_tab" data-toggle="tab" aria-expanded="true"><i class="fas fa-arrow-circle-down" aria-hidden="true"></i> @lang( 'purchase.purchases')</a> </li> <li class=" @if(!empty($view_type) && $view_type == 'stock_report') active @else '' @endif"> <a href="#stock_report_tab" data-toggle="tab" aria-expanded="true"><i class="fas fa-hourglass-half" aria-hidden="true"></i> @lang( 'report.stock_report')</a> </li> @endif @if(in_array($contact->type, ['both', 'customer'])) <li class=" @if(!empty($view_type) && $view_type == 'sales') active @else '' @endif"> <a href="#sales_tab" data-toggle="tab" aria-expanded="true"><i class="fas fa-arrow-circle-up" aria-hidden="true"></i> @lang( 'sale.sells')</a> </li> @if(in_array('subscription', $enabled_modules)) <li class=" @if(!empty($view_type) && $view_type == 'subscriptions') active @else '' @endif"> <a href="#subscriptions_tab" data-toggle="tab" aria-expanded="true"><i class="fas fa-recycle" aria-hidden="true"></i> @lang( 'lang_v1.subscriptions')</a> </li> @endif @endif <li class=" @if(!empty($view_type) && $view_type == 'documents_and_notes') active @else '' @endif "> <a href="#documents_and_notes_tab" data-toggle="tab" aria-expanded="true"><i class="fas fa-paperclip" aria-hidden="true"></i> @lang('lang_v1.documents_and_notes')</a> </li> <li class=" @if(!empty($view_type) && $view_type == 'payments') active @else '' @endif"> <a href="#payments_tab" data-toggle="tab" aria-expanded="true"><i class="fas fa-money-bill-alt" aria-hidden="true"></i> @lang('sale.payments')</a> </li> @if( in_array($contact->type, ['customer', 'both']) && session('business.enable_rp')) <li class=" @if(!empty($view_type) && $view_type == 'reward_point') active @else '' @endif"> <a href="#reward_point_tab" data-toggle="tab" aria-expanded="true"><i class="fas fa-gift" aria-hidden="true"></i> {{ session('business.rp_name') ?? __( 'lang_v1.reward_points')}}</a> </li> @endif <li class=" @if(!empty($view_type) && $view_type == 'activities') active @else '' @endif"> <a href="#activities_tab" data-toggle="tab" aria-expanded="true"><i class="fas fa-pen-square" aria-hidden="true"></i> @lang('lang_v1.activities')</a> </li> @if(!empty($contact_view_tabs)) @foreach($contact_view_tabs as $key => $tabs) @foreach ($tabs as $index => $value) @if(!empty($value['tab_menu_path'])) @php $tab_data = !empty($value['tab_data']) ? $value['tab_data'] : []; @endphp @include($value['tab_menu_path'], $tab_data) @endif @endforeach @endforeach @endif </ul> <div class="tab-content"> <div class="tab-pane @if(!empty($view_type) && $view_type == 'ledger') active @else '' @endif" id="ledger_tab"> @include('contact.partials.ledger_tab') </div> @if(in_array($contact->type, ['both', 'supplier'])) <div class="tab-pane @if(!empty($view_type) && $view_type == 'purchase') active @else '' @endif" id="purchases_tab"> <div class="row"> <div class="col-md-3"> <div class="form-group"> {!! Form::label('purchase_list_filter_date_range', __('report.date_range') . ':') !!} {!! Form::text('purchase_list_filter_date_range', null, ['placeholder' => __('lang_v1.select_a_date_range'), 'class' => 'form-control', 'readonly']); !!} </div> </div> <div class="col-md-12"> @include('purchase.partials.purchase_table') </div> </div> </div> <div class="tab-pane @if(!empty($view_type) && $view_type == 'stock_report') active @else '' @endif" id="stock_report_tab"> @include('contact.partials.stock_report_tab') </div> @endif @if(in_array($contact->type, ['both', 'customer'])) <div class="tab-pane @if(!empty($view_type) && $view_type == 'sales') active @else '' @endif" id="sales_tab"> <div class="row"> <div class="col-md-12"> @component('components.widget') @include('sell.partials.sell_list_filters', ['only' => ['sell_list_filter_payment_status', 'sell_list_filter_date_range', 'only_subscriptions']]) @endcomponent </div> </div> <div class="row"> <div class="col-md-12"> @include('sale_pos.partials.sales_table') </div> </div> </div> @if(in_array('subscription', $enabled_modules)) @include('contact.partials.subscriptions') @endif @endif <div class="tab-pane @if(!empty($view_type) && $view_type == 'documents_and_notes') active @else '' @endif" id="documents_and_notes_tab"> @include('contact.partials.documents_and_notes_tab') </div> <div class="tab-pane @if(!empty($view_type) && $view_type == 'payments') active @else '' @endif" id="payments_tab"> <div id="contact_payments_div" style="height: 500px;overflow-y: scroll;"></div> </div> @if( in_array($contact->type, ['customer', 'both']) && session('business.enable_rp')) <div class="tab-pane @if(!empty($view_type) && $view_type == 'reward_point') active @else '' @endif" id="reward_point_tab"> <br> <div class="row"> @if($reward_enabled) <div class="col-md-3"> <div class="info-box bg-yellow"> <span class="info-box-icon"><i class="fa fa-gift"></i></span> <div class="info-box-content"> <span class="info-box-text">{{session('business.rp_name')}}</span> <span class="info-box-number">{{$contact->total_rp ?? 0}}</span> </div> <!-- /.info-box-content --> </div> </div> @endif <div class="col-md-12"> <div class="table-responsive"> <table class="table table-bordered table-striped" id="rp_log_table" width="100%"> <thead> <tr> <th>@lang('messages.date')</th> <th>@lang('sale.invoice_no')</th> <th>@lang('lang_v1.earned')</th> <th>@lang('lang_v1.redeemed')</th> </tr> </thead> </table> </div> </div> </div> </div> @endif <div class="tab-pane" id="activities_tab"> @include('activity_log.activities') </div> @if(!empty($contact_view_tabs)) @foreach($contact_view_tabs as $key => $tabs) @foreach ($tabs as $index => $value) @if(!empty($value['tab_content_path'])) @php $tab_data = !empty($value['tab_data']) ? $value['tab_data'] : []; @endphp @include($value['tab_content_path'], $tab_data) @endif @endforeach @endforeach @endif </div> </div> </div> </div> </section> <!-- /.content --> <div class="modal fade payment_modal" tabindex="-1" role="dialog" aria-labelledby="gridSystemModalLabel"> </div> <div class="modal fade edit_payment_modal" tabindex="-1" role="dialog" aria-labelledby="gridSystemModalLabel"> </div> <div class="modal fade pay_contact_due_modal" tabindex="-1" role="dialog" aria-labelledby="gridSystemModalLabel"></div> <div class="modal fade" id="edit_ledger_discount_modal" tabindex="-1" role="dialog" aria-labelledby="gridSystemModalLabel"> </div> @include('ledger_discount.create') @stop @section('javascript') <script type="text/javascript"> $(document).ready( function(){ $('#ledger_date_range').daterangepicker( dateRangeSettings, function (start, end) { $('#ledger_date_range').val(start.format(moment_date_format) + ' ~ ' + end.format(moment_date_format)); } ); $('#ledger_date_range, #ledger_location').change( function(){ get_contact_ledger(); }); get_contact_ledger(); rp_log_table = $('#rp_log_table').DataTable({ processing: true, serverSide: true, fixedHeader:false, aaSorting: [[0, 'desc']], ajax: '/sells?customer_id={{ $contact->id }}&rewards_only=true', columns: [ { data: 'transaction_date', name: 'transactions.transaction_date' }, { data: 'invoice_no', name: 'transactions.invoice_no'}, { data: 'rp_earned', name: 'transactions.rp_earned'}, { data: 'rp_redeemed', name: 'transactions.rp_redeemed'}, ] }); supplier_stock_report_table = $('#supplier_stock_report_table').DataTable({ processing: true, serverSide: true, fixedHeader:false, 'ajax': { url: "{{action([\App\Http\Controllers\ContactController::class, 'getSupplierStockReport'], [$contact->id])}}", data: function (d) { d.location_id = $('#sr_location_id').val(); } }, columns: [ { data: 'product_name', name: 'p.name' }, { data: 'sub_sku', name: 'v.sub_sku' }, { data: 'purchase_quantity', name: 'purchase_quantity', searchable: false}, { data: 'total_quantity_sold', name: 'total_quantity_sold', searchable: false}, { data: 'total_quantity_transfered', name: 'total_quantity_transfered', searchable: false}, { data: 'total_quantity_returned', name: 'total_quantity_returned', searchable: false}, { data: 'current_stock', name: 'current_stock', searchable: false}, { data: 'stock_price', name: 'stock_price', searchable: false} ], fnDrawCallback: function(oSettings) { __currency_convert_recursively($('#supplier_stock_report_table')); }, }); $('#sr_location_id').change( function() { supplier_stock_report_table.ajax.reload(); }); $('#contact_id').change( function() { if ($(this).val()) { window.location = "{{url('/contacts')}}/" + $(this).val(); } }); $('a[href="#sales_tab"]').on('shown.bs.tab', function (e) { sell_table.ajax.reload(); }); //Date picker $('#discount_date').datetimepicker({ format: moment_date_format + ' ' + moment_time_format, ignoreReadonly: true, }); $(document).on('submit', 'form#add_discount_form, form#edit_discount_form', function(e) { e.preventDefault(); var form = $(this); var data = form.serialize(); $.ajax({ method: 'POST', url: $(this).attr('action'), dataType: 'json', data: data, success: function(result) { if (result.success === true) { $('div#add_discount_modal').modal('hide'); $('div#edit_ledger_discount_modal').modal('hide'); toastr.success(result.msg); form[0].reset(); form.find('button[type="submit"]').removeAttr('disabled'); get_contact_ledger(); } else { toastr.error(result.msg); } }, }); }); $(document).on('click', 'button.delete_ledger_discount', function() { swal({ title: LANG.sure, icon: 'warning', buttons: true, dangerMode: true, }).then(willDelete => { if (willDelete) { var href = $(this).data('href'); var data = $(this).serialize(); $.ajax({ method: 'DELETE', url: href, dataType: 'json', data: data, success: function(result) { if (result.success == true) { toastr.success(result.msg); get_contact_ledger(); } else { toastr.error(result.msg); } }, }); } }); }); }); $(document).on('shown.bs.modal', '#edit_ledger_discount_modal', function(e){ $('#edit_ledger_discount_modal').find('#edit_discount_date').datetimepicker({ format: moment_date_format + ' ' + moment_time_format, ignoreReadonly: true, }); }) $("input.transaction_types, input#show_payments").on('ifChanged', function (e) { get_contact_ledger(); }); $(document).on('change', 'input[name="ledger_format"]', function(){ get_contact_ledger(); }) $(document).one('shown.bs.tab', 'a[href="#payments_tab"]', function(){ get_contact_payments(); }) $(document).on('click', '#contact_payments_pagination a', function(e){ e.preventDefault(); get_contact_payments($(this).attr('href')); }) function get_contact_payments(url = null) { if (!url) { url = "{{action([\App\Http\Controllers\ContactController::class, 'getContactPayments'], [$contact->id])}}"; } $.ajax({ url: url, dataType: 'html', success: function(result) { $('#contact_payments_div').fadeOut(400, function(){ $('#contact_payments_div') .html(result).fadeIn(400); }); }, }); } function get_contact_ledger() { var start_date = ''; var end_date = ''; var transaction_types = $('input.transaction_types:checked').map(function(i, e) {return e.value}).toArray(); var show_payments = $('input#show_payments').is(':checked'); var location_id = $('#ledger_location').val(); if($('#ledger_date_range').val()) { start_date = $('#ledger_date_range').data('daterangepicker').startDate.format('YYYY-MM-DD'); end_date = $('#ledger_date_range').data('daterangepicker').endDate.format('YYYY-MM-DD'); } var format = $('input[name="ledger_format"]:checked').val(); var data = { start_date: start_date, transaction_types: transaction_types, show_payments: show_payments, end_date: end_date, format: format, location_id: location_id } $.ajax({ url: '/contacts/ledger?contact_id={{$contact->id}}', data: data, dataType: 'html', success: function(result) { $('#contact_ledger_div') .html(result); __currency_convert_recursively($('#contact_ledger_div')); $('#ledger_table').DataTable({ searching: false, ordering:false, paging:false, fixedHeader:false, dom: 't' }); }, }); } $(document).on('click', '#send_ledger', function() { var start_date = $('#ledger_date_range').data('daterangepicker').startDate.format('YYYY-MM-DD'); var end_date = $('#ledger_date_range').data('daterangepicker').endDate.format('YYYY-MM-DD'); var format = $('input[name="ledger_format"]:checked').val(); var location_id = $('#ledger_location').val(); var url = "{{action([\App\Http\Controllers\NotificationController::class, 'getTemplate'], [$contact->id, 'send_ledger'])}}" + '?start_date=' + start_date + '&end_date=' + end_date + '&format=' + format + '&location_id=' + location_id; $.ajax({ url: url, dataType: 'html', success: function(result) { $('.view_modal') .html(result) .modal('show'); }, }); }) $(document).on('click', '#print_ledger_pdf', function() { var start_date = $('#ledger_date_range').data('daterangepicker').startDate.format('YYYY-MM-DD'); var end_date = $('#ledger_date_range').data('daterangepicker').endDate.format('YYYY-MM-DD'); var format = $('input[name="ledger_format"]:checked').val(); var location_id = $('#ledger_location').val(); var url = $(this).data('href') + '&start_date=' + start_date + '&end_date=' + end_date + '&format=' + format + '&location_id=' + location_id; window.open(url); }); </script> @include('sale_pos.partials.sale_table_javascript') <script src="{{ asset('js/payment.js?v=' . $asset_v) }}"></script> @if(in_array($contact->type, ['both', 'supplier'])) <script src="{{ asset('js/purchase.js?v=' . $asset_v) }}"></script> @endif <!-- document & note.js --> @include('documents_and_notes.document_and_note_js') @if(!empty($contact_view_tabs)) @foreach($contact_view_tabs as $key => $tabs) @foreach ($tabs as $index => $value) @if(!empty($value['module_js_path'])) @include($value['module_js_path']) @endif @endforeach @endforeach @endif <script type="text/javascript"> $(document).ready( function(){ $('#purchase_list_filter_date_range').daterangepicker( dateRangeSettings, function (start, end) { $('#purchase_list_filter_date_range').val(start.format(moment_date_format) + ' ~ ' + end.format(moment_date_format)); purchase_table.ajax.reload(); } ); $('#purchase_list_filter_date_range').on('cancel.daterangepicker', function(ev, picker) { $('#purchase_list_filter_date_range').val(''); purchase_table.ajax.reload(); }); }); </script> @include('sale_pos.partials.subscriptions_table_javascript', ['contact_id' => $contact->id]) @endsection