IMMREX7
@extends('schools.school_layout')
@section('content')
<div class="row clearfix">
<div class="col-sm-12">
<div class="card">
<div class="header">
<h2><strong>@if(isset($feehead))Edit @else Add @endif</strong> Fee Header</h2>
</div>
<div class="body">
@if(isset($feehead))
{!! Form::model($feehead, ['method' => 'PATCH', 'action' => ['School\Hostel\FeeheadController@update', $feehead->idFeehead], 'class' => 'form-horizontal']) !!}
@else
{!! Form::open(['url' => 'school/hsfeeheads', 'class' => 'form-horizontal','id'=>'feehead_form']) !!}
@endif
<div class="row clearfix">
<div class="col-sm-2 form-control-label required">
<label for="classname">Select Class</label>
</div>
<div class="col-sm-3">
<div class="form-group">
{!! Form::select('idClass',$classes,null,['class' => 'form-control show-tick ms select2']) !!}
@if ($errors->has('idClass'))
<label id="minmaxlength-error" class="error" for="minmaxlength">
<strong>{{ $errors->first('idClass') }}</strong>
</label>
@endif
<span id='classerror'></span>
</div>
</div>
<div class="col-sm-2 form-control-label required">
<label for="classname">Select Section</label>
</div>
<div class="col-sm-3">
<div class="form-group">
@if(isset($feehead))
{!! Form::select('idSection',$section,null,['class' => 'form-control show-tick ms select2']) !!}
@else
<div id="idSection" style="border:1px solid #ccc; width:200px; height: 110px; overflow-y: scroll;">
</div>
@if ($errors->has('idSection'))
<label id="minmaxlength-error" class="error" for="minmaxlength">
<strong>{{ $errors->first('idSection') }}</strong>
</label>
@endif
<span id='sectionerror'></span>
@endif
</div>
</div>
</div>
<div class="row clearfix">
<div class="col-sm-2 form-control-label required">
<label for="classname">Header Name</label>
</div>
<div class="col-sm-3">
<div class="form-group">
{!! Form::text('feeheadName',null,['class' => 'form-control']) !!}
<span id='feeheaderror'></span>
</div>
</div>
<div class="col-sm-2 form-control-label required">
<label for="classname">Student Category</label>
</div>
<div class="col-sm-3">
<div class="form-group">
@if(isset($feehead))
<div class="checkbox-inline" style="padding-left:10px;"><input type="checkbox" name="studentCategory" value="{{$feehead->studentCategory}}" class="categoryclass" checked disabled>
<label> {{$feehead->studentCategory}} </label>
</div>
@else
<div id="idCategory" style="border:1px solid #ccc; width:200px; height: 110px; overflow-y: scroll;">
<div class="checkbox-inline" style="padding-left:10px;"><input type="checkbox" name="studentCategory[]" value="All" class="categoryclass">
<label> All </label>
</div>
@foreach($categories as $var)
<div class="checkbox-inline" style="padding-left:10px;"><input type="checkbox" name="studentCategory[]" value="{{$var}}" class="categoryclass"><label> {{$var}} </label></div>
@endforeach
</div>
@endif
@if ($errors->has('studentCategory'))
<label id="minmaxlength-error" class="error" for="minmaxlength">
<strong>{{ $errors->first('studentCategory') }}</strong>
</label>
@endif
<span id='categoryerror'></span>
</div>
</div>
</div>
<div class="row clearfix">
<div class="col-sm-2 form-control-label required">
<label for="classname">From Date</label>
</div>
<div class="col-sm-3">
<div class="form-group">
{!! Form::text('fromDate',null,['class' => 'form-control datepicker']) !!}
@if ($errors->has('fromDate'))
<label id="minmaxlength-error" class="error" for="minmaxlength">
<strong>{{ $errors->first('fromDate') }}</strong>
</label>
@endif
<span id='fdate_error'></span>
</div>
</div>
<div class="col-sm-2 form-control-label required">
<label for="classname">To Date</label>
</div>
<div class="col-sm-3">
<div class="form-group">
{!! Form::text('toDate',null,['class' => 'form-control datepicker']) !!}
@if ($errors->has('toDate'))
<label id="minmaxlength-error" class="error" for="minmaxlength">
<strong>{{ $errors->first('toDate') }}</strong>
</label>
@endif
<span id='todate_error'></span>
</div>
</div>
</div>
<div class="row clearfix">
<div class="col-sm-2 form-control-label required">
<label for="classname">Amount</label>
</div>
<div class="col-sm-3">
<div class="form-group">
{!! Form::text('amount',null,['class' => 'form-control','onkeypress'=>'return onlyNumbersandSpecialChar(event)']) !!}
@if ($errors->has('amount'))
<label id="minmaxlength-error" class="error" for="minmaxlength">
<strong>{{ $errors->first('amount') }}</strong>
</label>
@endif
<span id='amounterror'></span>
</div>
</div>
<div class="col-sm-2 form-control-label">
<input type="radio" name="fines" value="per" class="fineradio"> <label for="classname">Fine Per Day</label>
</div>
<div class="col-sm-3">
<div class="form-group">
{!! Form::text('fine',null,['class' => 'form-control','onkeypress'=>'return onlyNumbersandSpecialChar(event)']) !!}
@if ($errors->has('fine'))
<label id="minmaxlength-error" class="error" for="minmaxlength">
<strong>{{ $errors->first('fine') }}</strong>
</label>
@endif
<span id='fineerror'></span>
</div>
</div>
</div>
<div class="row clearfix">
<div class="col-sm-2 form-control-label">
<label for="classname">EC No.</label>
</div>
<div class="col-sm-3">
<div class="form-group">
@if(isset($feehead))
{!! Form::select('idStudent',$student,null,['class' => 'form-control show-tick ms']) !!}
@else
<span style="color:red; font-size: 12px;">Please don't select this list if you want to save a structure on entire class or section.</span>
<div id="idStudent" style="border:1px solid #ccc; width:250px; height: 140px; overflow-y: scroll;">
</div>
@if ($errors->has('ecNO'))
<label id="minmaxlength-error" class="error" for="minmaxlength">
<strong>{{ $errors->first('ecNO') }}</strong>
</label>
@endif
@endif
</div>
</div>
<div class="col-sm-2 form-control-label">
<input type="radio" name="fines" value="flat" class="fineradio">
<label for="classname">Flat Fine</label>
</div>
<div class="col-sm-3">
<div class="form-group">
{!! Form::text('flatFine',null,['class' => 'form-control','onkeypress'=>'return onlyNumbersandSpecialChar(event)']) !!}
@if ($errors->has('flatFine'))
<label id="minmaxlength-error" class="error" for="minmaxlength">
<strong>{{ $errors->first('flatFine') }}</strong>
</label>
@endif
<span id='flatfineerror'></span>
</div>
</div>
</div>
<div class="row clearfix">
<div class="col-sm-2 form-control-label">
<label for="classname">Description</label>
</div>
<div class="col-sm-5">
<div class="form-group">
{!! Form::textarea('description',null,['class' => 'form-control','size'=>'30x2']) !!}
@if ($errors->has('description'))
<label id="minmaxlength-error" class="error" for="minmaxlength">
<strong>{{ $errors->first('description') }}</strong>
</label>
@endif
</div>
</div>
</div>
<div class="row clearfix">
<div class="col-sm-8 offset-sm-2">
@if(isset($feehead))
{!! Form::submit('UPDATE',['class' => 'btn btn-raised btn-primary btn-round waves-effect']) !!}
@else
{!! Form::submit('SAVE',['class' => 'btn btn-raised btn-primary btn-round waves-effect','id'=>'submit-btn']) !!}
@endif
{!! Form::close() !!}
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row clearfix">
<div class="col-sm-12">
<div class="card">
<div class="header">
<h2><strong>List Of Fee Header</strong></h2>
</div>
<div class="body table-responsive">
{!! Form::open(['method' => 'GET', 'action' => ['School\Hostel\FeeheadController@index'], 'class' => 'form-horizontal']) !!}
<div class="row clearfix">
<div class="col-sm-3 form-control-label">
<label for="classname">Financial Year</label>
</div>
<div class="col-sm-5">
<div class="form-group">
{!! Form::select('idFinancialYear',fys(),null,['class' => 'form-control show-tick ms']) !!}
</div>
</div>
<div class="col-sm-2">
{!! Form::submit('Search',['class' => 'btn btn-raised btn-primary btn-round waves-effect']) !!}
</div>
</div>
{!! Form::close() !!}
<br>
<table class="table table-bordered table-striped table-hover dataTable" id='tableexp'>
<thead>
<tr>
<th>S. No.</th>
<th>Class</th>
<th>EC No.</th>
<th>Section</th>
<th>Category</th>
<th>Header</th>
<th>Amount</th>
<th>Date</th>
<th>Fine Per Day</th>
<th>Flat Fine</th>
<th>Description</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<?php $i = 1; ?>
@foreach($feeheads as $value)
<tr>
<th scope="row">{{$i}}</th>
<td>{{$value->classM->className}}</td>
<td>{{$value->student->ecNo or ''}}</td>
<td>{{$value->section->sectionName or ''}}</td>
<td>{{$value->studentCategory}}</td>
<td>{{$value->feeheadName}}</td>
<td>{{$value->amount}}</td>
<td>{{$value->fromDate}} To {{$value->toDate}}</td>
<td>{{$value->fine}}</td>
<td>{{$value->flatFine}}</td>
<td>{{$value->description}}</td>
<td>
<a href="{{ url('school/hsfeeheads/' . $value->idHostelFeehead . '/edit') }}" class="btn btn-raised btn-info waves-effect btn-round">Edit </a>
<button class="btn btn-raised btn-danger waves-effect btn-round js-sweetalert" data-id="{{$value->idFeehead}}" data-type="confirm">DELETE</button>
</td>
</tr>
<?php $i++; ?>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>
@stop
@section('script')
<script>
// ADvance Search script
$(document).on('click', '.classsearch_ids', function(){
//var checkAll = this.checked;
var classIds = [];
$("input:checkbox[name='classes[]']:checked").each(function () {
classIds.push($(this).val());
});
if (classIds.length > 0) {
$.ajax({
url: "{{url('/school/schclass') }}"+'/' +classIds + "/sections",
type: "GET",
dataType: "json",
success:function(data) {
$('#idSearchSection').empty();
$('#idSearchSection').append('<div class="checkbox-inline" style="padding-left:10px;padding-top:5px;"><input type="checkbox" class="select-all" id="selectall"><label><strong>Select All</label></strong></div>');
$.each(data, function(key, value) {
$('#idSearchSection').append('<div class="checkbox-inline" style="padding-left:10px;"><input type="checkbox" name="sections[]" value="'+key+'" class="sectionsearchclass"><label>'+value+'</label></div>');
});
}
});
}
});
$(document).on('click', '.select-all', function(){
var checkAll = this.checked;
if(checkAll === true){
$('.sectionsearchclass').each(function () {
this.checked = checkAll;
});
}else{
$('.sectionsearchclass').each(function () {
this.checked = checkAll;
});
}
});
$(function () {
$('#tableexp').DataTable({
dom: 'Bfrtip',
scrollY: "500px",
scrollX: true,
scrollCollapse: true,
fixedColumns: {
left: 1
},
buttons: [
{ extend: 'csv', footer: true, text: 'Export to Excel',title:'Feeheaders',
exportOptions: {
columns: [0,1,2,3,4,5,6,7,8,9]
}}
]
});
});
$(document).ready(function() {
$('input[type=text][name=fine]').hide();
$('input[type=text][name=flatFine]').hide();
$('select[name="idClass"]').on('change', function() {
var classID = $(this).val();
if(classID) {
$.ajax({
url: "{{url('/school/class') }}"+'/' +classID + "/sections",
type: "GET",
dataType: "json",
success:function(data) {
$('#idSection').empty();
$('#idSection').append('<div class="checkbox-inline" style="padding-left:10px;padding-top:5px;"><label style="margin-right:42px;"><input type="checkbox" class="select-all" id="selectall"><strong>Select All</label></strong></div>');
$.each(data, function(key, value) {
$('#idSection').append('<div class="checkbox-inline" style="padding-left:10px;"><input type="checkbox" name="sections[]" value="'+key+'" class="sectionclass"><label style="margin-right:100px;">'+value+'</label></div>');
});
}
});
}else{
$('select[name="idSection"]').empty();
}
});
});
$(document).on('click', '.select-all', function(){
var checkAll = this.checked;
if(checkAll === true){
$("input:checkbox[name='sections[]']").each(function () {
this.checked = checkAll;
});
var sectionIds = [];
$("input:checkbox[name='sections[]']:checked").each(function () {
sectionIds.push($(this).val());
});
if (sectionIds.length > 0) {
$.ajax({
url: "{{url('/school/sec') }}"+'/' +sectionIds + "/students",
type: "GET",
dataType: "json",
success:function(data) {
$('#idStudent').empty();
$('#idStudent').append('<div class="checkbox-inline" style="padding-left:10px;padding-top:5px;"><label style="margin-right:42px;"><input type="checkbox" class="select-allstd" id="selectallstd"><strong>Select All</label></strong></div>');
$.each(data, function(key, value) {
$('#idStudent').append('<div class="checkbox-inline" style="padding-left:10px;"><input type="checkbox" name="students[]" value="'+key+'" class="stdallselect"><label>'+value+'</label></div>');
});
}
});
}
}else{
$('#idStudent').empty();
$('input[type=checkbox]').each(function () {
this.checked = checkAll;
});
}
});
$(document).on('click', '.sectionclass', function(){
var sectionIds = [];
$("input:checkbox[name='sections[]']:checked").each(function () {
sectionIds.push($(this).val());
});
if (sectionIds.length > 0) {
$.ajax({
url: "{{url('/school/sec') }}"+'/' +sectionIds + "/students",
type: "GET",
dataType: "json",
success:function(data) {
$('#idStudent').empty();
$('#idStudent').append('<div class="checkbox-inline" style="padding-left:10px;padding-top:5px;"><input type="checkbox" class="select-allstd" id="selectallstd"><label style="margin-right:42px;"><strong>Select All</label></strong></div>');
$.each(data, function(key, value) {
$('#idStudent').append('<div class="checkbox-inline" style="padding-left:10px;"><input type="checkbox" name="students[]" value="'+key+'" class="stdallselect"><label>'+value+'</label></div>');
});
}
});
}else{
$('#idStudent').empty();
}
});
// 11 july 2019
$(document).ready(function() {
$('select[name="idSection"]').on('change', function() {
var sectionID = $(this).val();
if(sectionID) {
$.ajax({
url: "{{url('/school/section') }}"+'/' +sectionID + "/students",
type: "GET",
dataType: "json",
success:function(data) {
$('#idStudent').empty();
$('#idStudent').append('<div class="checkbox-inline" style="padding-left:10px;padding-top:5px;"><input type="checkbox" class="select-allstd" id="selectallstd"><label style="margin-right:42px;"><strong>Select All</label></strong></div>');
$.each(data, function(key, value) {
$('#idStudent').append('<div class="checkbox-inline" style="padding-left:10px;"><input type="checkbox" name="students[]" value="'+key+'" class="stdallselect"><label>'+value+'</label></div>');
});
}
});
}else{
$('#idStudent').empty();
}
});
});
$(document).on('click', '.select-allstd', function(){
var checkAllstd = this.checked;
if(checkAllstd === true){
$("input:checkbox[name='students[]']").each(function () {
this.checked = checkAllstd;
});
}else{
$('.stdallselect').each(function () {
this.checked = checkAllstd;
});
}
});
$(document).on('change', '.fineradio', function() {
if (this.value == 'flat') {
$('input[type=text][name=flatFine]').show();
$('input[type=text][name=fine]').hide();
}
else if (this.value == 'per') {
$('input[type=text][name=fine]').show();
$('input[type=text][name=flatFine]').hide();
}
});
$(document).on('change', '.categoryclass', function() {
if($(this).val() == 'All') {
if($(this).is(':checked')){
$("input:checkbox[name='studentCategory[]']").each(function () {
if($(this).val() != 'All')
{
this.disabled = "disabled";
this.checked =false;
}
});
}else{
$("input:checkbox[name='studentCategory[]']").each(function () {
if($(this).val() != 'All')
this.disabled = "";
});
}
}
});
$(document).on('click', '.categoryclass', function(){
var sectionIds = [];
var catVal = [];
var singleCatVal="None";
$("input:checkbox[name='sections[]']:checked").each(function () {
sectionIds.push($(this).val());
});
$("input:checkbox[name='studentCategory[]']:checked").each(function () {
if($(this).val() == 'All')
{
singleCatVal=$(this).val();
}
else
{
catVal.push($(this).val());
}
});
if(singleCatVal == 'All' && sectionIds.length > 0) {
$.ajax({
url: "{{url('/school/sec') }}"+'/' +sectionIds + "/students",
type: "GET",
dataType: "json",
success:function(data) {
$('#idStudent').empty();
$('#idStudent').append('<div class="checkbox-inline" style="padding-left:10px;padding-top:5px;"><label style="margin-right:42px;"><strong>Select All</label></strong><input type="checkbox" class="select-allstd" id="selectallstd"></div>');
$.each(data, function(key, value) {
$('#idStudent').append('<div class="checkbox-inline" style="padding-left:10px;"><label style="margin-right:50px;">'+value+'</label><input type="checkbox" name="students[]" value="'+key+'" class="stdallselect"></div>');
});
}
});
}else
if (catVal.length > 0 && sectionIds.length > 0) {
$.ajax({
url: "{{url('/school/sec') }}"+'/' +sectionIds +'/' +catVal+"/student",
type: "GET",
dataType: "json",
success:function(data) {
$('#idStudent').empty();
$('#idStudent').append('<div class="checkbox-inline" style="padding-left:10px;padding-top:5px;"><label style="margin-right:42px;"><strong>Select All</label></strong><input type="checkbox" class="select-allstd" id="selectallstd"></div>');
$.each(data, function(key, value) {
$('#idStudent').append('<div class="checkbox-inline" style="padding-left:10px;"><label style="margin-right:50px;">'+value+'</label><input type="checkbox" name="students[]" value="'+key+'" class="stdallselect"></div>');
});
}
});
}else{
$('#idStudent').empty();
}
});
// Delete Feehead
$(document).on('click', '.js-sweetalert', function (e) {
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
e.preventDefault();
var id = $(this).data('id');
swal({
title: "Are you sure?",
text: "Are You sure you want to delete this feeheader!",
type: "warning",
showCancelButton: true,
confirmButtonColor: "#DD6B55",
confirmButtonText: "Yes, delete it!",
closeOnConfirm: true
},
function() {
// console.log('here');
$.ajax({
type: "DELETE",
url: "{{url('/school/hsfeeheads/')}}" +"/"+id,
data: {id:id}
})
.done(function(data) {
swal({
title: "Deleted",
text: "Feehead has been successfully deleted",
type: "success"
},function() {
location.reload();
});
})
.error(function(data) {
swal("Oops", "We couldn't connect to the server!", "error");
});
return false;
});
});
// Saving form data
$('#feehead_form').on('submit',function(e){
$.ajaxSetup({
header:$('meta[name="_token"]').attr('content')
});
var formData = new FormData($('#feehead_form')[0]);
$("#submit-btn").prop('disabled', true);
$.ajax({
type:"POST",
url: "{{url('school/hsfeeheads') }}",
processData: false,
contentType: false,
data:formData,
dataType: 'json',
success:function(data){
if( data[Object.keys(data)[0]] === 'SUCCESS' ){
$("#submit-btn").prop('disabled', true);
window.location = "{{url('school/hsfeeheads')}}";
}
else { //False Case: With error msg
$("#msg").html(data); //$msg is the id of empty msg
}
},
error: function(data){
if( data.status === 422 ) {
$("#submit-btn").prop('disabled', false);
var errors = data.responseJSON.errors;
var errorHtml = '<div class="alert alert-danger"><ul>';
$('#formerrors').html(errorHtml);
if(errors['idClass']=== undefined){
$( '#classerror' ).empty();
}else{
errorname = '<span class="help-block"><strong>'+errors['idClass']+'</strong></span>';
$( '#classerror' ).html( errorname );
}
if(errors['studentCategory']=== undefined){
$( '#categoryerror' ).empty();
}else{
errorname = '<span class="help-block"><strong>'+errors['studentCategory']+'</strong></span>';
$( '#categoryerror' ).html( errorname );
}
if(errors['idSection']=== undefined){
$( '#sectionerror' ).empty();
}else{
errorname = '<span class="help-block"><strong>'+errors['idSection']+'</strong></span>';
$( '#sectionerror' ).html( errorname );
}
if(errors['feeheadName']=== undefined){
$( '#feeheaderror' ).empty();
}else{
errorname = '<span class="help-block"><strong>'+errors['feeheadName']+'</strong></span>';
$( '#feeheaderror' ).html( errorname );
}
if(errors['fromDate']=== undefined){
$( '#fdate_error' ).empty();
}else{
errorname = '<span class="help-block"><strong>'+errors['fromDate']+'</strong></span>';
$( '#fdate_error' ).html( errorname );
}
if(errors['toDate']=== undefined){
$( '#todate_error' ).empty();
}else{
errorname = '<span class="help-block"><strong>'+errors['toDate']+'</strong></span>';
$( '#todate_error' ).html( errorname );
}
if(errors['amount']=== undefined){
$( '#amounterror' ).empty();
}else{
errorname = '<span class="help-block"><strong>'+errors['amount']+'</strong></span>';
$( '#amounterror' ).html( errorname );
}
if(errors['fine']=== undefined){
$( '#fineerror' ).empty();
}else{
errorname = '<span class="help-block"><strong>'+errors['fine']+'</strong></span>';
$( '#fineerror' ).html( errorname );
}
if(errors['flatFine']=== undefined){
$( '#flatfineerror' ).empty();
}else{
errorname = '<span class="help-block"><strong>'+errors['flatFine']+'</strong></span>';
$( '#flatfineerror' ).html( errorname );
}
}
}
});
return false;
});
</script>
@stop
Copyright © 2021 -