HEX
Server: Apache/2.4.46 (Ubuntu)
System: Linux localhost 5.11.0-49-generic #55-Ubuntu SMP Wed Jan 12 17:36:34 UTC 2022 x86_64
User: root (0)
PHP: 7.4.16
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/html/hrms-production/resources/views/components/employee-loan-allowance-modal.blade.php
{{-- Add Loan Allowance Detail --}}
<div class="modal fade" id="addEmpLoanAllowance">
    <div class="modal-dialog modal-lg">
        <div class="modal-content">
            <div class="modal-header">
                <h4 class="modal-title">Loan Allowance Detail </h4>
                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                    <span aria-hidden="true">&times;</span>
                </button>
            </div>
            <div class="modal-body">
                <!-- Main content -->
                <form id="addLoanAllowanceDetailform">
                    <input type="hidden" name="_token" id="loan_token" value="{{ csrf_token() }}">
                    <div class="card-body">
                        <div class="row">
                            <div class="col-md-6">
                                <div class="form-group mb-2">
                                    <label class="mb-0" for="EmployeeCode">Employee Code. <span
                                            class="text-danger">*</span></label>
                                    <select class="form-control form-control-sm select2" style="width: 100%;"
                                        aria-hidden="true" name="EmployeeCode" id="LoanAllowanceEmployeeCode"
                                        data-placeholder="Employee Code" required>
                                        <option selected="selected" disabled>Employee Code</option>
                                    </select>
                                </div>
                            </div>
                            <div class="col-md-6">
                                <div class="form-group mb-2">
                                    <label class="mb-0" for="EmployeeName">Employee Name </label>
                                    <input type="text" class="form-control form-control-sm" name="EmployeeName"
                                        id="LoanAllowanceEmployeeName" readonly>
                                </div>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-md-4">
                                <div class="form-group mb-2">
                                    <label class="mb-0" for="LoanCategory">Loan Category <span
                                            class="text-danger">*</span></label>
                                    <select class="form-control form-control-sm select2" style="width: 100%;"
                                        aria-hidden="true" name="LoanCategory" id="LoanCategory"
                                        data-placeholder="Select Category" required>
                                        <option selected="selected" disabled>Select Category</option>
                                    </select>
                                </div>
                            </div>
                            <div class="col-md-4">
                                <div class="form-group mb-2">
                                    <label class="mb-0" for="OrderNo">Order No. </label>
                                    <input type="text" class="form-control form-control-sm" name="LoanOrderNumber"
                                        id="LoanOrderNumber">
                                </div>
                            </div>
                            <div class="col-md-4">
                                <div class="form-group mb-2">
                                    <label class="mb-0" for="date">Loan Order Date </label>
                                    <div class="form-group mb-2">
                                        <div class="input-group date" data-target-input="nearest">
                                            <input type="text" id="OrderDate" name="OrderDate"
                                                class="form-control form-control-sm datetimepicker-input"
                                                data-target="#OrderDate" placeholder="DD/MM/YYYY" required />
                                            <div class="input-group-append" data-target="#OrderDate"
                                                data-toggle="datetimepicker">
                                                <div class="input-group-text"><i class="fa fa-calendar"></i>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-md-4">
                                <div class="form-group mb-2">
                                    <label class="mb-0" for="LoanAmount">Loan Amount </label>
                                    <input type="text" class="form-control form-control-sm" name="LoanAmount"
                                        id="LoanAmount">
                                </div>
                            </div>
                            <div class="col-md-4">
                                <div class="form-group mb-2">
                                    <label class="mb-0" for="TenurePeriod">Tenure Period (In Month) </label>
                                    <input type="text" class="form-control form-control-sm" name="LoanTenurePeriod"
                                        id="LoanTenurePeriod">
                                </div>
                            </div>
                            <div class="col-md-4">
                                <div class="form-group mb-2">
                                    <label class="mb-0" for="EmiAmount">EMI Amount</label>
                                    <input type="text" class="form-control form-control-sm" name="EmiAmount"
                                        id="EmiAmount">
                                </div>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-md-12">
                                <div class="form-group mt-0 mb-2">
                                    <label for="LoanAllowanceOrderFile" class="mb-0">Upload Order</label>
                                    <div class="input-group input-group-sm">
                                        <div class="custom-file">
                                            <input type="file" class="custom-file-input" name="LoanAllowanceOrderFile"
                                                id="LoanAllowanceOrderFile" accept="image/*, .pdf">
                                            <label class="custom-file-label" for="LoanAllowanceOrderFile">Choose
                                                file</label>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-md-12">
                                <div class="form-group mt-0">
                                    <label class="mb-0" for="LoanDescription">Loan Allowance Description <span
                                            class="text-danger">*</span></label>
                                    <textarea name="LoanDescription" id="LoanDescription"
                                        class="form-control form-control-sm" cols="30" rows="3"></textarea>
                                </div>
                            </div>
                        </div>

                        <hr />
                        <div class="row">
                            <div class="col-12">
                                <div class="d-flex align-items-center justify-content-center">
                                    <button type="button" class="btn btn-sm btn-outline-secondary mx-1"
                                        data-dismiss="modal" aria-label="Close">Cancel</button>
                                    <button type="submit" name="Save" value="Save"
                                        class="btn btn-sm btn-info mx-1">Save</button>
                                </div>
                            </div>
                        </div>
                    </div>
                </form>
            </div>
        </div>
        <!-- /.modal-content -->
    </div>
    <!-- /.modal-dialog -->
</div>
<!-- /.modal -->

{{-- Update Loan Allowance Detail --}}
<div class="modal fade" id="UpdateLoanAllowanceDetail">
    <div class="modal-dialog modal-lg">
        <div class="modal-content">
            <div class="modal-header">
                <h4 class="modal-title">Edit Allowance Detail <span id="EditLoanAllowanceEmployeeName"
                        class="text-info"></span></h4>
                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                    <span aria-hidden="true">&times;</span>
                </button>
            </div>
            <div class="modal-body">
                <!-- Main content -->
                <form id="updateLoanAllowanceDetailform">
                    <input type="hidden" name="_token" id="token_update_loan" value="{{ csrf_token() }}">
                    <input type="hidden" name="LoanAllowanceDetailId" id="EditLoanAllowanceId">
                    <div class="card-body">
                        <div class="row">
                            <div class="col-md-4">
                                <div class="form-group mb-2">
                                    <label class="mb-0" for="LoanCategory">Loan Category <span
                                            class="text-danger">*</span></label>
                                    <select class="form-control form-control-sm select2" style="width: 100%;"
                                        aria-hidden="true" name="LoanCategory" id="EditLoanCategory"
                                        data-placeholder="Select Category" required>
                                        <option selected="selected" disabled>Select Category</option>
                                    </select>
                                </div>
                            </div>
                            <div class="col-md-4">
                                <div class="form-group mb-2">
                                    <label class="mb-0" for="OrderNo">Order No. </label>
                                    <input type="text" class="form-control form-control-sm" name="LoanOrderNumber"
                                        id="EditLoanOrderNumber">
                                </div>
                            </div>
                            <div class="col-md-4">
                                <div class="form-group mb-2">
                                    <label class="mb-0" for="date">Loan Order Date </label>
                                    <div class="form-group mb-2">
                                        <div class="input-group date" data-target-input="nearest">
                                            <input type="text" id="EditOrderDate" name="OrderDate"
                                                class="form-control form-control-sm datetimepicker-input"
                                                data-target="#EditOrderDate" placeholder="DD/MM/YYYY" required />
                                            <div class="input-group-append" data-target="#EditOrderDate"
                                                data-toggle="datetimepicker">
                                                <div class="input-group-text"><i class="fa fa-calendar"></i>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-md-4">
                                <div class="form-group mb-2">
                                    <label class="mb-0" for="LoanAmount">Loan Amount </label>
                                    <input type="text" class="form-control form-control-sm" name="LoanAmount"
                                        id="EditLoanAmount">
                                </div>
                            </div>
                            <div class="col-md-4">
                                <div class="form-group mb-2">
                                    <label class="mb-0" for="TenurePeriod">Tenure Period (In Month) </label>
                                    <input type="text" class="form-control form-control-sm" name="LoanTenurePeriod"
                                        id="EditLoanTenurePeriod">
                                </div>
                            </div>
                            <div class="col-md-4">
                                <div class="form-group mb-2">
                                    <label class="mb-0" for="EmiAmount">EMI Amount</label>
                                    <input type="text" class="form-control form-control-sm" name="EmiAmount"
                                        id="EditEmiAmount">
                                </div>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-md-12">
                                <div class="form-group mt-0 mb-2">
                                    <label for="LoanAllowanceOrderFile" class="mb-0">Upload Order</label>
                                    <div class="input-group input-group-sm">
                                        <div class="custom-file">
                                            <input type="file" class="custom-file-input" name="LoanAllowanceOrderFile"
                                                id="EditLoanAllowanceOrderFile" accept="image/*, .pdf">
                                            <label class="custom-file-label" for="LoanAllowanceOrderFile">Choose
                                                file</label>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-md-12">
                                <div class="form-group mt-0">
                                    <label class="mb-0" for="LoanDescription">Loan Allowance Description <span
                                            class="text-danger">*</span></label>
                                    <textarea name="EditLoanDescription" id="EditLoanDescription"
                                        class="form-control form-control-sm" cols="30" rows="3"></textarea>
                                </div>
                            </div>
                        </div>
                        <div class="row">
                            <div class="col-md-4">
                                <div class="form-group mb-0">
                                    <div class="clearfix mb-12">
                                        <div class="icheck-danger">
                                            <input type="checkbox" name="IsRecovered" id="IsRecovered">
                                            <label class="mb-0" for="IsRecovered">Is Recovered</label>
                                        </div>
                                    </div>
                                </div>
                            </div>
                            <div class="col-md-8" id="RecoveryAmount_field" style="display: none">
                                <div class="form-group row mb-0">
                                    <label for="RecoveryAmount" class="col-sm-4 col-form-label text-right">Recovery
                                        Amount:</label>
                                    <div class="col-sm-8">
                                        <div class="input-group">
                                            <input type="text" class="form-control form-control-sm"
                                                name="RecoveryAmount" id="EditRecoveryAmount">
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>

                        <hr />
                        <div class="row">
                            <div class="col-12">
                                <div class="d-flex align-items-center justify-content-center">
                                    <button type="button" class="btn btn-sm btn-outline-secondary mx-1"
                                        data-dismiss="modal" aria-label="Close">Cancel</button>
                                    <button type="submit" name="update" value="update"
                                        class="btn btn-sm btn-info mx-1">Update</button>
                                </div>
                            </div>
                        </div>
                    </div>
                </form>
            </div>
        </div>
        <!-- /.modal-content -->
    </div>
    <!-- /.modal-dialog -->
</div>
<!-- /.modal -->

{{-- Recover Loan Allowance Detail --}}
<div class="modal fade" id="RecoverLoanAllowanceDetail">
    <div class="modal-dialog modal-lg">
        <div class="modal-content">
            <div class="modal-header">
                <h4 class="modal-title">Recovery Allowance Detail <span id="EditRecoveryLoanAllowanceEmployeeName"
                        class="text-info"></span></h4>
                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                    <span aria-hidden="true">&times;</span>
                </button>
            </div>
            <div class="modal-body">
                <!-- Main content -->
                <form id="recoverLoanAllowanceDetailform">
                    <input type="hidden" name="_token" id="token_recover_loan" value="{{ csrf_token() }}">
                    <input type="hidden" name="LoanAllowanceDetailId" id="EditRecoveryLoanAllowanceId">
                    <div class="card-body">
                        <div class="row">
                            <div class="col-md-4">
                                <div class="form-group mb-2">
                                    <label class="mb-0" for="LoanAmount">Loan Amount </label>
                                    <input type="text" class="form-control form-control-sm" name="LoanAmount"
                                        id="EditRecoveryLoanAmount" readonly>
                                </div>
                            </div>
                            <div class="col-md-4">
                                <div class="form-group mb-2">
                                    <label class="mb-0" for="TenurePeriod">Tenure Period (In Month) </label>
                                    <input type="text" class="form-control form-control-sm" name="LoanTenurePeriod"
                                        id="EditRecoveryLoanTenurePeriod" readonly>
                                </div>
                            </div>
                            <div class="col-md-4">
                                <div class="form-group mb-2">
                                    <label class="mb-0" for="RecoveryAmount">Recovery Amount <span
                                            class="text-danger">*</span></label>
                                    <input type="text" class="form-control form-control-sm" name="RecoveryAmount"
                                        id="RecoveryAmount">
                                </div>
                            </div>
                        </div>
                        <hr />
                        <div class="row">
                            <div class="col-12">
                                <div class="d-flex align-items-center justify-content-center">
                                    <button type="button" class="btn btn-sm btn-outline-secondary mx-1"
                                        data-dismiss="modal" aria-label="Close">Cancel</button>
                                    <button type="submit" name="Recover" value="Recover"
                                        class="btn btn-sm btn-info mx-1">Recover</button>
                                </div>
                            </div>
                        </div>
                    </div>
                </form>
            </div>
        </div>
        <!-- /.modal-content -->
    </div>
    <!-- /.modal-dialog -->
</div>
<!-- /.modal -->

{{-- JS Start Here --}}

{{-- Employee / Loan Allowance Nature List --}}
<script>
    $(document).ready(function() {
        $.ajax({
          type: "GET",
          url: "{{ url('/employee-list') }}",
          dataType: "json",
          success: function(response) {
            var json = response.EmployeeList;
            $.each(json, function(i, employee) {
              $("#LoanAllowanceEmployeeCode").append("<option value='" + employee.EmployeeId + "'>" + employee.EmployeeCode + " (" + employee.EmployeeName + ") " + "</option>");
              $('#LoanAllowanceEmployeeCode').trigger('change');
            });
          }
        });
    });

    // Get Employee Details
    $('#LoanAllowanceEmployeeCode').on('select2:select', function (e) {
      
        var data = e.params.data;
        var EmployeeId = data.id;
        getEmployeeDetail(EmployeeId);
        // Reset Form field on change Employee Code
        $('#LoanCategory, #LoanCategory').val(null).trigger('change');
    });

    function getEmployeeDetail(EmployeeId)
    {
        var EmployeeId = EmployeeId;
            $.ajax({
            type: "post",
            url: "{{ url('/') }}/get-employee-current-detail",
            dataType: "json",
            data: { 
                    _token: "{{csrf_token()}}",
                    EmployeeId: EmployeeId,
                },
            success: function(response) {
                var json = response.GetEmpCurrentDetail;
                $('#LoanAllowanceEmployeeId').val(json.EmployeeId);
                $('#LoanAllowanceEmployeeName').val(json.EmployeeName);
            }
        });
    }

  // Loan Allowance Nature List
  $(document).ready(function() {
        $.ajax({
          type: "GET",
          url: "{{ url('/loan-allowance-category-list') }}",
          dataType: "json",
          success: function(response) {
            var json = response.AllowanceCategoryList;
            $.each(json, function(i, category) {
              $("#LoanCategory, #EditLoanCategory").append("<option value='" + category.AllowanceCategoryId + "'>" + category.AllowanceCategoryName + "</option>");
              $('#LoanCategory').val(null).trigger('change');
              $('#EditLoanCategory').trigger('change');
            });
          }
        });
    });
</script>

{{-- Display Recovery Amount on Checkbox --}}
<script>
    $(document).ready(function() {
        $("#IsRecovered").click(function() {
            if($('#IsRecovered').is(':checked')) { 
                $("#EditRecoveryAmount").val('');
                $("#RecoveryAmount_field").css('display', '');
                $("#EditRecoveryAmount").prop('required', true);
            } else {
                $("#EditRecoveryAmount").val('');
                $("#RecoveryAmount_field").css('display', 'none');
                $("#EditRecoveryAmount").prop('required', false);
            }
        });
    });
</script>

{{-- Edit Loan Allowance Detail Modal --}}
<script>
    function editEmpLoanAllowance(LoanAllowanceId)
  {
      var LoanAllowanceId = LoanAllowanceId;
      $('#UpdateLoanAllowanceDetail').modal('show');
      $.ajax({
          type: "POST",
          url: "{{ url('/') }}/edit-employee-loan-allowance",
          dataType: 'json',
          data: {
            LoanAllowanceId: LoanAllowanceId,
            _token: "{{ csrf_token() }}",
          },
          success: function (response) {
              $('span#EditLoanAllowanceEmployeeName').html('#' +response.GetLoanAllowance.EmployeeName);
              $('#EditLoanAllowanceId').val(response.GetLoanAllowance.LoanAllowanceId);
            //   $('#EditLoanAllowanceEmployeeCode').val(response.GetLoanAllowance.EmployeeId);
            //   $('#EditLoanAllowanceEmployeeCode').trigger('change');
              $('#EditLoanAllowanceId').val(response.GetLoanAllowance.LoanAllowanceId);
              $('#EditLoanCategory').val(response.GetLoanAllowance.AllowanceCategoryId);
              $('#EditLoanCategory').trigger('change');

              $('#EditLoanOrderNumber').val(response.GetLoanAllowance.LoanOrderNumber);	

              if (response.GetLoanAllowance.LoanOrderDate) {
                var date = new Date(response.GetLoanAllowance.LoanOrderDate);
                $('#EditOrderDate').val(((date.getDate() > 9) ? date.getDate() : ('0' + date.getDate())) + '/' + ((date.getMonth() > 8) ? (date.getMonth() + 1) : ('0' + (date.getMonth() + 1))) + '/' + date.getFullYear());
              }

              $('#EditLoanAmount').val(response.GetLoanAllowance.LoanAmount);	
              $('#EditLoanTenurePeriod').val(response.GetLoanAllowance.LoanTenurePeriod);	
              $('#EditEmiAmount').val(response.GetLoanAllowance.EmiAmount);
              $('#EditLoanDescription').val(response.GetLoanAllowance.LoanDescription);

              if (response.GetLoanAllowance.IsRecovered == '1') {
                $("input#IsRecovered").prop('checked', true);
                $("#EditRecoveryAmount").val(response.GetLoanAllowance.RecoveredAmount);
                $("#RecoveryAmount_field").css('display', '');
                $("#EditRecoveryAmount").prop('required', true);
              } else {
                $("input#IsRecovered").prop('checked', false);
                $("#RecoveryAmount_field").css('display', 'none');
                $("#EditRecoveryAmount").prop('required', false);
              }

          }
      });
  }
</script>

{{-- Validate form and Save data --}}
<script>
    $(function () {
      $.validator.setDefaults({
        submitHandler: function () {
            event.preventDefault();
            // Get Form Data
            var token = $("#loan_token").val();
            var EmployeeId = $("#LoanAllowanceEmployeeCode :selected").val();
            var EmpCode = $('#LoanAllowanceEmployeeCode').find('option:selected').text();
            var EmployeeCode = EmpCode.split(' ')[0];

            var AllowanceCategoryId = $('#LoanCategory :selected').val();
            var LoanOrderNumber = $('#LoanOrderNumber').val();
            var OrderDate = $('#OrderDate').val();
            var LoanAmount = $('#LoanAmount').val();
            var LoanTenurePeriod = $('#LoanTenurePeriod').val();
            var EmiAmount = $('#EmiAmount').val();
            var LoanDescription = $('textarea[name="LoanDescription"]').val();
            var LoanAllowanceOrderFile = $('#LoanAllowanceOrderFile')[0].files;
        
        var fd = new FormData();
            fd.append('_token',token);
            fd.append('EmployeeId',EmployeeId);
            fd.append('EmployeeCode',EmployeeCode);
            fd.append('AllowanceCategoryId',AllowanceCategoryId);
            fd.append('LoanOrderNumber',LoanOrderNumber);
            fd.append('OrderDate',OrderDate);
            fd.append('LoanAmount',LoanAmount);
            fd.append('LoanTenurePeriod',LoanTenurePeriod);
            fd.append('EmiAmount',EmiAmount);
            fd.append('LoanDescription',LoanDescription);
            // files data
            fd.append('LoanAllowanceOrderFile',LoanAllowanceOrderFile[0]);
        $.ajax({
                type: "post",
                url: "{{ url('store-employee-loan-allowance') }}",
                data: fd,
                contentType: false,
                processData: false,
                success: function(response) {
                  const Toast = Swal.mixin({
                      toast: true,
                      position: 'top-end',
                      showConfirmButton: false,
                      timer: 2000,
                      timerProgressBar: true,
                      didOpen: (toast) => {
                        toast.addEventListener('mouseenter', Swal.stopTimer)
                        toast.addEventListener('mouseleave', Swal.resumeTimer)
                      }
                    })
                    Toast.fire({
                      icon: 'success',
                      title: 'Loan Allowance added successfully!'
                    });
                    setTimeout(function(){
                    window.location.reload(1);
                  }, 2000);
                },
                error: function(data) {
                  const Toast = Swal.mixin({
                      toast: true,
                      position: 'top-end',
                      showConfirmButton: false,
                      timer: 2000,
                      timerProgressBar: true,
                      didOpen: (toast) => {
                        toast.addEventListener('mouseenter', Swal.stopTimer)
                        toast.addEventListener('mouseleave', Swal.resumeTimer)
                      }
                    })
                    Toast.fire({
                      icon: 'error',
                      title: 'Something went wrong!'
                    });
                }
            });
        }
      });
      $('#addLoanAllowanceDetailform').validate({
        rules: {
            EmployeeCode: {
            required: true,
          },
          LoanCategory: {
            required: true,
          },
          LoanOrderNumber: {
            required: true,
          },
          OrderDate: {
            required: true,
          },
          LoanAmount: {
            required: true,
          },
          LoanTenurePeriod: {
            required: true,
          },
          EmiAmount: {
            required: true,
          },
          LoanDescription: {
            required: true,
          },
          LoanAllowanceOrderFile: {
            accept: "image/*, pdf",
          },
        },
        messages: {
            EmployeeCode: {
            required: "Employee Code is required.",
          }, 
          LoanCategory: {
            required: "Please select the category.",
          }, 
          LoanDescription: {
            required: "Description is required.",
          }, 
        },
        errorElement: 'span',
        errorPlacement: function (error, element) {
          error.addClass('invalid-feedback');
          element.closest('.form-group').append(error);
        },
        highlight: function (element, errorClass, validClass) {
          $(element).addClass('is-invalid');
        },
        unhighlight: function (element, errorClass, validClass) {
          $(element).removeClass('is-invalid');
        }
      });
    });
</script>

{{-- Validate form and Update data --}}
<script>
    $(function () {
      $.validator.setDefaults({
        submitHandler: function () {
            event.preventDefault();
            // Get Form Data
            var token = $("#token_update_loan").val();
            var LoanAllowanceId = $("#EditLoanAllowanceId").val();
            var AllowanceCategoryId = $('#EditLoanCategory :selected').val();
            var LoanOrderNumber = $('#EditLoanOrderNumber').val();
            var OrderDate = $('#EditOrderDate').val();
            var LoanAmount = $('#EditLoanAmount').val();
            var LoanTenurePeriod = $('#EditLoanTenurePeriod').val();
            var EmiAmount = $('#EditEmiAmount').val();
            var LoanDescription = $('textarea[name="EditLoanDescription"]').val();
            var LoanAllowanceOrderFile = $('#EditLoanAllowanceOrderFile')[0].files;

            var IsRecovered = '';
            var RecoveryAmount = '';
            if($('#IsRecovered').is(':checked'))
                {
                    var IsRecovered = '1';
                    var RecoveryAmount = $("#EditRecoveryAmount").val();
                } 
            else
                {
                    var IsRecovered = '0';
                    var RecoveryAmount = '0';
                }
        
        var fd = new FormData();
            fd.append('_token',token);
            fd.append('LoanAllowanceId',LoanAllowanceId);
            fd.append('AllowanceCategoryId',AllowanceCategoryId);
            fd.append('LoanOrderNumber',LoanOrderNumber);
            fd.append('OrderDate',OrderDate);
            fd.append('LoanAmount',LoanAmount);
            fd.append('LoanTenurePeriod',LoanTenurePeriod);
            fd.append('EmiAmount',EmiAmount);
            fd.append('LoanDescription',LoanDescription);
            fd.append('IsRecovered',IsRecovered)
            fd.append('RecoveredAmount',RecoveryAmount)
            // files data
            fd.append('LoanAllowanceOrderFile',LoanAllowanceOrderFile[0]);
        $.ajax({
                type: "post",
                url: "{{ url('update-employee-loan-allowance') }}",
                data: fd,
                contentType: false,
                processData: false,
                success: function(response) {
                  const Toast = Swal.mixin({
                      toast: true,
                      position: 'top-end',
                      showConfirmButton: false,
                      timer: 2000,
                      timerProgressBar: true,
                      didOpen: (toast) => {
                        toast.addEventListener('mouseenter', Swal.stopTimer)
                        toast.addEventListener('mouseleave', Swal.resumeTimer)
                      }
                    })
                    Toast.fire({
                      icon: 'success',
                      title: 'Loan Allowance updated successfully!'
                    });
                    setTimeout(function(){
                    window.location.reload(1);
                  }, 2000);
                },
                error: function(data) {
                  const Toast = Swal.mixin({
                      toast: true,
                      position: 'top-end',
                      showConfirmButton: false,
                      timer: 2000,
                      timerProgressBar: true,
                      didOpen: (toast) => {
                        toast.addEventListener('mouseenter', Swal.stopTimer)
                        toast.addEventListener('mouseleave', Swal.resumeTimer)
                      }
                    })
                    Toast.fire({
                      icon: 'error',
                      title: 'Something went wrong!'
                    });
                }
            });
        }
      });
      $('#updateLoanAllowanceDetailform').validate({
        rules: {
          LoanCategory: {
            required: true,
          },
          LoanOrderNumber: {
            required: true,
          },
          OrderDate: {
            required: true,
          },
          LoanAmount: {
            required: true,
          },
          LoanTenurePeriod: {
            required: true,
          },
          EmiAmount: {
            required: true,
          },
          LoanDescription: {
            required: true,
          },
          LoanAllowanceOrderFile: {
            accept: "image/*, pdf",
          },
        },
        messages: {
          LoanCategory: {
            required: "Please select the category.",
          }, 
          LoanDescription: {
            required: "Description is required.",
          }, 
        },
        errorElement: 'span',
        errorPlacement: function (error, element) {
          error.addClass('invalid-feedback');
          element.closest('.form-group').append(error);
        },
        highlight: function (element, errorClass, validClass) {
          $(element).addClass('is-invalid');
        },
        unhighlight: function (element, errorClass, validClass) {
          $(element).removeClass('is-invalid');
        }
      });
    });
</script>

{{-- Delete Loan Allowance Detail --}}
<script>
    function deleteEmpLoanAllowance(LoanAllowanceId) {
        var LoanAllowanceId = LoanAllowanceId;
                Swal.fire({
                    title: "Delete Record?",
                    text: "Are you sure you want to delete this Loan Allowance?",
                    icon: "warning",
                    icon: "warning",
                    showCancelButton: true,
                    confirmButtonColor: "#3085d6",
                    cancelButtonColor: "#d33",
                    confirmButtonText: "Yes, delete it!",
                }).then((result) => {
                    if (result.isConfirmed) {
                        $.ajax({
                            type: "post",
                            url: "{{ url('/') }}/delete-employee-loan-allowance",
                            dataType: "json",
                            data: {
                                _token: "{{csrf_token()}}",
                                LoanAllowanceId: LoanAllowanceId,
                            },
                            success: function (response) {
                                Swal.fire({
                                    icon: "success",
                                    title: "Loan Allowance has been deleted!",
                                    showConfirmButton: false,
                                    timer: 1500,
                                }).then(function () {
                                    location.reload();
                                });
                            },
                        });
                    }
                });
    }
</script>

{{-- Recover Loan Allowance Detail Modal --}}
<script>
    function recoverEmpLoanAllowance(LoanAllowanceId)
  {
      var LoanAllowanceId = LoanAllowanceId;
      $('#RecoverLoanAllowanceDetail').modal('show');
      $.ajax({
          type: "POST",
          url: "{{ url('/') }}/edit-employee-loan-allowance",
          dataType: 'json',
          data: {
            LoanAllowanceId: LoanAllowanceId,
            _token: "{{ csrf_token() }}",
          },
          success: function (response) {
              $('span#EditRecoveryLoanAllowanceEmployeeName').html('#' +response.GetLoanAllowance.EmployeeName);
              $('#EditRecoveryLoanAllowanceId').val(response.GetLoanAllowance.LoanAllowanceId);
            //   $('#EditLoanAllowanceEmployeeCode').val(response.GetLoanAllowance.EmployeeId);
            //   $('#EditLoanAllowanceEmployeeCode').trigger('change');
              $('#EditRecoveryLoanAllowanceId').val(response.GetLoanAllowance.LoanAllowanceId);
              $('#EditRecoveryLoanAmount').val(response.GetLoanAllowance.LoanAmount);	
              $('#EditRecoveryLoanTenurePeriod').val(response.GetLoanAllowance.LoanTenurePeriod);	
          }
      });
  }
</script>

{{-- Validate form and Recover data --}}
<script>
    $(function () {
      $.validator.setDefaults({
        submitHandler: function () {
            event.preventDefault();
            // Get Form Data
            var token = $("#token_recover_loan").val();
            var LoanAllowanceId = $("#EditRecoveryLoanAllowanceId").val();
            var RecoveryAmount = $('#RecoveryAmount').val();
        
        var fd = new FormData();
            fd.append('_token',token);
            fd.append('LoanAllowanceId',LoanAllowanceId);
            fd.append('RecoveryAmount',RecoveryAmount);
        $.ajax({
                type: "post",
                url: "{{ url('recover-employee-loan-allowance') }}",
                data: fd,
                contentType: false,
                processData: false,
                success: function(response) {
                  const Toast = Swal.mixin({
                      toast: true,
                      position: 'top-end',
                      showConfirmButton: false,
                      timer: 2000,
                      timerProgressBar: true,
                      didOpen: (toast) => {
                        toast.addEventListener('mouseenter', Swal.stopTimer)
                        toast.addEventListener('mouseleave', Swal.resumeTimer)
                      }
                    })
                    Toast.fire({
                      icon: 'success',
                      title: 'Loan Allowance recovered successfully!'
                    });
                    setTimeout(function(){
                    window.location.reload(1);
                  }, 2000);
                },
                error: function(data) {
                  const Toast = Swal.mixin({
                      toast: true,
                      position: 'top-end',
                      showConfirmButton: false,
                      timer: 2000,
                      timerProgressBar: true,
                      didOpen: (toast) => {
                        toast.addEventListener('mouseenter', Swal.stopTimer)
                        toast.addEventListener('mouseleave', Swal.resumeTimer)
                      }
                    })
                    Toast.fire({
                      icon: 'error',
                      title: 'Something went wrong!'
                    });
                }
            });
        }
      });
      $('#recoverLoanAllowanceDetailform').validate({
        rules: {
            RecoveryAmount: {
            required: true,
          },
        },
        messages: {
            RecoveryAmount: {
            required: "Recovery amount is required.",
          }, 
        },
        errorElement: 'span',
        errorPlacement: function (error, element) {
          error.addClass('invalid-feedback');
          element.closest('.form-group').append(error);
        },
        highlight: function (element, errorClass, validClass) {
          $(element).addClass('is-invalid');
        },
        unhighlight: function (element, errorClass, validClass) {
          $(element).removeClass('is-invalid');
        }
      });
    });
</script>