815 lines
38 KiB
PHP
815 lines
38 KiB
PHP
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js"></script>
|
|
<style>
|
|
label.error {
|
|
color : red;
|
|
}
|
|
.np-datepicker {
|
|
border: 1px solid #ced4da;
|
|
}
|
|
.fee-installment-table .installment_amount input {
|
|
border: 1px solid #ced4da;
|
|
font-size: 13px;
|
|
}
|
|
</style>
|
|
<div class="wraper responsive-width">
|
|
<main class="" id="main">
|
|
|
|
<div class="admin_tempblock">
|
|
<div class="admin_tempsec">
|
|
<div class="admin_sec">
|
|
<form id="installmentform" action="<?= base_url() ?>admin/insert_update_feeinstallment/<?= $fees_id ?>" method ="POST">
|
|
<div class="subsec_sec">
|
|
<?php if($fees_id == 0) { ?>
|
|
|
|
<div class="subject_l subject_l_full_width" style="width:45%">
|
|
<div class="subject_lsec">
|
|
<div class="subject_lhead">Create Fee Installment</div>
|
|
<div class="subject_lformarea">
|
|
|
|
<div class="form-group">
|
|
<label for="">Select Batch<span class="text-danger font-weight-bold">*</span></label>
|
|
<?php //print_r($installment); ?>
|
|
<select class="form-control" id="batch_id" name="batch_id" >
|
|
<option selected disabled>Select Batch</option>
|
|
<?php foreach($batch as $cur){
|
|
if($cur['id'] == $cid) { ?>
|
|
<option value="<?= $cur['id']; ?>" selected><?= $cur['b_name'] . ' : ' . batchdateFormatTo($cur['b_from'],$cur['b_end']); ?></option>
|
|
<?php } else { ?>
|
|
<option value="<?= $cur['id']; ?>"> <?= $cur['b_name'] . ' : ' . batchdateFormatTo($cur['b_from'],$cur['b_end']); ?> </option>
|
|
<?php }
|
|
}
|
|
?>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="">Select Course<span class="text-danger font-weight-bold">*</span></label>
|
|
<select class="form-control" name="ficourse" id="ficourse">
|
|
<option selected disbaled value="">Please select batch above</option>
|
|
</select>
|
|
<p id="ficourse_error" style="color:red;"></p>
|
|
<p id="sname_error" style="color:red;"></p>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="">Select Feetype<span class="text-danger font-weight-bold">*</span></label>
|
|
<select class="form-control" name="ft_id" id="ft_id">
|
|
<option selected disabled value="">Select Now</option>
|
|
<option value="1">Please select course above</option>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="hostel-plan form-group" id="hostel_plan_container" style="display:none">
|
|
<label for="">Select Hostel Plan<span class="text-danger font-weight-bold">*</span></label>
|
|
<select class="form-control" onchange="get_hostel_fee(this)" name="hostel_plan" id="hostel_plan">
|
|
<option selected disabled value="">Select Now</option>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="fee-fee_value_name form-group" id="fee_value_name_container" style="display:none">
|
|
<label for="">Select Fee Name<span class="text-danger font-weight-bold">*</span></label>
|
|
<select class="form-control" onchange="get_unique_fee(this)" name="fee_value_name" id="fee_value_name">
|
|
<option selected disabled value="">Select Now</option>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="due-message mb-4" style="display:none">
|
|
|
|
</div>
|
|
|
|
<div class="form-group" style="display:none">
|
|
<label for="">Set Due Date</label>
|
|
<input type="date" name="fibatch_from" id="fibatch_from" class="form-control" value="<?php ?>" placeholder="Enter batch start year">
|
|
<p id="crbatch_from_error" style="color:red;"></p>
|
|
<input type="hidden" name="course-fee_id" id="course_fee_id">
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="">Status<span class="text-danger font-weight-bold">*</span></label>
|
|
<select name="is_active" class="form-control">
|
|
<option selected disabled value="">Choose section status</option>
|
|
<option value="yes">Yes</option>
|
|
<option value="no">No</option>
|
|
</select>
|
|
<label id="is_active-error" class="error" for="is_active" style="display:none"></label>
|
|
</div>
|
|
|
|
<div class="admin_weightagehead">Installment</div>
|
|
<div class="form-group">
|
|
<label for="">Number of Installment<span class="text-danger font-weight-bold">*</span></label>
|
|
<div class="form-group-inner">
|
|
<select id="paymentoption" name="paymentoption[]" class="selectpicker" multiple>
|
|
<option disabled selected value="">Select the number of installment</option>
|
|
<?php foreach ($payment_types as $key => $value) {
|
|
echo '<option value="'.$value['number_of_payment'].'">'.$value['payment_type_name'].'</option>';
|
|
} ?>
|
|
</select>
|
|
<button type = "button" id = "emi" class="subject_addbtn add_btn_white" onclick = "get_fees()">Apply</button>
|
|
</div>
|
|
<label id="paymentoption-error" class="error" for="paymentoption"></label>
|
|
|
|
</div>
|
|
|
|
<table class="table fee-installment-table dataTable table-responsive">
|
|
<thead>
|
|
<tr>
|
|
<th><span style="width:115px;display:block;">Payment method</span></th>
|
|
<th><span style="width:115px;display:block">Amount</span></th>
|
|
<th><span style="width:115px;display:block">Due dates</span></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody id="installment_section">
|
|
</tbody>
|
|
</table>
|
|
<p id="afee_error" class="mb-2" style="color:red;"></p>
|
|
<p id="success" style="color:green;"></p>
|
|
<button type="submit" class="subject_addbtn" >Submit</button>
|
|
<a href="<?= base_url() ?>admin/fee-installment"><button type="button" class="subject_addbtn bg-dark ml-2">Back</button></a>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<?php } ?>
|
|
|
|
<?php if($fees_id > 0) { ?>
|
|
|
|
<div class="subject_l subject_l_full_width" style="width:45%">
|
|
<div class="subject_lsec">
|
|
<div class="subject_lhead">Edit Fee Installment</div>
|
|
<div class="subject_lformarea">
|
|
|
|
<div class="form-group">
|
|
<label for="">Select Batch<span class="text-danger font-weight-bold">*</span></label>
|
|
<?php //print_r($installment); ?>
|
|
<select class="form-control" id="batch_id" name="batch_id" >
|
|
<?php foreach($batch as $cur){
|
|
if($cur['id'] == $batch_id) { ?>
|
|
<option value="<?= $cur['id']; ?>" selected><?= $cur['b_name'] . ' : ' .batchdateFormatTo($cur['b_from'],$cur['b_end']); ?></option>
|
|
<?php } else { ?>
|
|
<option value="<?= $cur['id']; ?>"> <?= $cur['b_name'] . ' : ' .batchdateFormatTo($cur['b_from'],$cur['b_end']); ?> </option>
|
|
<?php }
|
|
}
|
|
?>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="">Select Course<span class="text-danger font-weight-bold">*</span></label>
|
|
<select class="form-control" name="ficourse" id="ficourse">
|
|
<?php foreach($course as $cur){
|
|
if($cur['id'] == $course_id) { ?>
|
|
<option value="<?= $cur['id']; ?>" selected="selected" ><?= $cur['course_name']; ?></option>
|
|
<?php } else { ?>
|
|
<option value="<?= $cur['id']; ?>"> <?= $cur['course_name']; ?> </option>
|
|
<?php }
|
|
}
|
|
?>
|
|
</select>
|
|
<p id="ficourse_error" style="color:red;"></p>
|
|
<p id="sname_error" style="color:red;"></p>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="">Select Feetype<span class="text-danger font-weight-bold">*</span></label>
|
|
<select class="form-control" name="ft_id" id="ft_id">
|
|
<?php foreach($fee_types as $cur){
|
|
if($cur['id'] == $feetype_id) { ?>
|
|
<option value="<?= $cur['id']; ?>" selected="selected" ><?= $cur['feetype_name']; ?></option>
|
|
<?php } else { ?>
|
|
<option value="<?= $cur['id']; ?>"> <?= $cur['feetype_name']; ?> </option>
|
|
<?php }
|
|
}
|
|
?>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="hostel-plan form-group" id="hostel_plan_container" style="display:none">
|
|
<label for="">Select Hostel Plan<span class="text-danger font-weight-bold">*</span></label>
|
|
<select class="form-control" onchange="get_hostel_fee(this)" name="hostel_plan" id="hostel_plan">
|
|
<option selected disabled value="">Select Now</option>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="fee-fee_value_name form-group" id="fee_value_name_container" style="display:none">
|
|
<label for="">Select Fee Name<span class="text-danger font-weight-bold">*</span></label>
|
|
<select class="form-control" onchange="get_unique_fee(this)" name="fee_value_name" id="fee_value_name">
|
|
<option selected disabled value="">Select Now</option>
|
|
</select>
|
|
</div>
|
|
|
|
<div class="due-message mb-4">
|
|
<span class="mb-4" style="font-size : 15px">Note:<p> The due-date for selected course fee is <b class="display_edit_due"></b></p></span>
|
|
|
|
</div>
|
|
|
|
<div class="form-group" style="display:none">
|
|
<label for="">Set Due Date</label>
|
|
<input type="date" name="fibatch_from" value="<?php echo date('Y-m-d', strtotime($due_date)) ?>" id="fibatch_from" class="form-control" value="<?php ?>" placeholder="Enter batch start year">
|
|
<p id="crbatch_from_error" style="color:red;"></p>
|
|
<input type="hidden" name="course-fee_id" value="<?= $cf_id ?>" id="course_fee_id">
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="">Status<span class="text-danger font-weight-bold">*</span></label>
|
|
<select name="is_active" class="form-control">
|
|
<option selected value="<?php echo $installment[0]['is_active'] ?>"><?php echo ucfirst($installment[0]['is_active']) ?></option>
|
|
<?php if($installment[0]['is_active'] == 'yes') { ?>
|
|
<option value="no">No</option>
|
|
<?php } else {?>
|
|
<option value="yes">Yes</option>
|
|
<?php } ?>
|
|
|
|
</select>
|
|
<label id="is_active-error" class="error" for="is_active" style="display:none"></label>
|
|
</div>
|
|
|
|
<div class="admin_weightagehead">Installment</div>
|
|
<div class="form-group">
|
|
<label for="">Number of Installment<span class="text-danger font-weight-bold">*</span></label>
|
|
<div class="form-group-inner">
|
|
<select id="paymentoption" name="paymentoption[]" class="selectpicker" multiple>
|
|
<option value="" >Select the number of installment</option>
|
|
<?php foreach ($payment_types as $key => $value) {
|
|
$matched = false;
|
|
foreach ($pt_keys as $index => $ele) {
|
|
if($ele == $value['number_of_payment']) {
|
|
$matched = true;
|
|
}
|
|
}
|
|
|
|
if($matched) {
|
|
echo '<option selected value="'.$value['number_of_payment'].'">'.$value['payment_type_name'].'</option>';
|
|
} else {
|
|
echo '<option value="'.$value['number_of_payment'].'">'.$value['payment_type_name'].'</option>';
|
|
}
|
|
|
|
} ?>
|
|
</select>
|
|
<button type = "button" id = "emi" class="subject_addbtn add_btn_white" onclick = "get_fees()">Apply</button>
|
|
</div>
|
|
<label id="paymentoption-error" class="error" for="paymentoption"></label>
|
|
|
|
</div>
|
|
|
|
<table class="table fee-installment-table dataTable table-responsive">
|
|
<thead>
|
|
<tr>
|
|
<th><span style="width:115px;display:block;">Payment method</span></th>
|
|
<th><span style="width:115px;display:block">Amount</span></th>
|
|
<th><span style="width:115px;display:block">Due dates</span></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody id="installment_section">
|
|
<?php
|
|
|
|
foreach ($due_info as $key => $value) {
|
|
|
|
$CI = &get_instance();
|
|
$CI->load->model('Admin_model');
|
|
$inst_info = $this->db->get_where('payment_types',array('id'=>$key))->row_array();
|
|
?>
|
|
<tr>
|
|
|
|
<td class="installment_pm">
|
|
<input type="hidden" readOnly name="payment_method[]" class="mb-2" value="<?= $key ?>">
|
|
<?= $inst_info['payment_type_name'] ?>
|
|
</td>
|
|
<td class="installment_amount">
|
|
<?php
|
|
foreach ($value as $index => $ele) { ?>
|
|
|
|
<?php if($key == '1'){?>
|
|
<input type="text" name="amount[one]" class="form-control amount-input mb-2" value=<?= $ele->amount ?>>
|
|
<?php } ?>
|
|
|
|
<?php if($key == '2'){?>
|
|
<input type="text" name="amount[two][<?= $index ?>]" class="form-control amount-input mb-2" value=<?= $ele->amount ?>>
|
|
<?php } ?>
|
|
|
|
<?php if($key == '3'){?>
|
|
<input type="text" name="amount[four][<?= $index ?>]" class="form-control amount-input mb-2" value=<?= $ele->amount ?>>
|
|
<?php } ?>
|
|
|
|
<?php if($key == '4'){?>
|
|
<input type="text" name="amount[six][<?= $index ?>]" class="form-control amount-input mb-2" value=<?= $ele->amount ?>>
|
|
<?php } ?>
|
|
|
|
|
|
<?php }
|
|
?>
|
|
</td>
|
|
<td class="installment_due">
|
|
<?php
|
|
foreach ($value as $index => $ele) {
|
|
$ele->due_date = date('Y-m-d', strtotime($ele->due_date))
|
|
?>
|
|
|
|
<?php if($key == '1'){?>
|
|
<input type="text" readonly name="duedate[one]" class="form-control np-datepicker mb-2" value=<?= $ele->due_date ?>>
|
|
<?php } ?>
|
|
|
|
<?php if($key == '2'){?>
|
|
<input type="text" readonly name="duedate[two][<?= $index ?>]" class="form-control np-datepicker mb-2" value=<?= $ele->due_date ?>>
|
|
<?php } ?>
|
|
|
|
<?php if($key == '3'){?>
|
|
<input type="text" readonly name="duedate[four][<?= $index ?>]" class="form-control np-datepicker mb-2" value=<?= $ele->due_date ?>>
|
|
<?php } ?>
|
|
|
|
<?php if($key == '4'){?>
|
|
<input type="text" readonly name="duedate[six][<?= $index ?>]" class="form-control np-datepicker mb-2" value=<?= $ele->due_date ?>>
|
|
<?php } ?>
|
|
|
|
|
|
<?php }
|
|
?>
|
|
</td>
|
|
</tr>
|
|
<?php }
|
|
|
|
?>
|
|
</tbody>
|
|
</table>
|
|
<p id="afee_error" class="mb-2" style="color:red;"></p>
|
|
<p id="success" style="color:green;"></p>
|
|
<button type="submit" class="subject_addbtn" >Update</button>
|
|
<a href="<?= base_url() ?>admin/fee-installment"><button type="button" class="subject_addbtn bg-dark ml-2">Back</button></a>
|
|
</div>
|
|
</div>
|
|
|
|
<?php } ?>
|
|
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!----admin template section end---->
|
|
</main>
|
|
<!--End right-top side-->
|
|
</div>
|
|
<script defer src="<?php echo base_url(); ?>assets_admin/js/bootstrap-select.min.js"></script>
|
|
|
|
<script>
|
|
var inst_array = Array();
|
|
function reset_fees()
|
|
{
|
|
|
|
$('#installment_section').html('');
|
|
$('#paymentoption').val('');
|
|
|
|
}
|
|
</script>
|
|
|
|
<script>
|
|
<?php if($fees_id == 0) { ?>
|
|
var global_fees = {};
|
|
<?php } else { ?>
|
|
var global_fees = {
|
|
amount : Number(<?php echo $due_amount_total ?>),
|
|
due : moment('<?php echo date('Y-m-d', strtotime($due_date)) ?>').format('YYYY-MM-DD')
|
|
};
|
|
<?php } ?>
|
|
|
|
var selectCount = document.getElementById("paymentoption");
|
|
selectCount.addEventListener("change", numOfCount);
|
|
|
|
// Get all the guest forms into an collection
|
|
var selectForms = document.querySelectorAll(".selectForm");
|
|
|
|
function numOfCount() {
|
|
// Loop through the guest forms based on the number selected
|
|
selectForms.forEach(function(v,i){
|
|
if(i < selectCount.value) {
|
|
v.classList.remove("hidden");
|
|
}
|
|
});
|
|
}
|
|
|
|
function cleanup_install_val(){
|
|
$('#ficourse').val('');
|
|
$('#fibatch_from').val('');
|
|
$('#paymentoption').val('');
|
|
$('#installment_section').html('');
|
|
}
|
|
|
|
$("#batch_id").change(function () {
|
|
var batch_id = this.value;
|
|
|
|
$.ajax({
|
|
type : 'POST',
|
|
url : "<?php echo base_url(); ?>admin/ajax_get_installment_course_batch",
|
|
data : {
|
|
batch : batch_id
|
|
},
|
|
success:function(data){
|
|
|
|
$('#ficourse').empty();
|
|
$('#installment_section').empty();
|
|
$('select[name="paymentoption[]"]').val('');
|
|
$('#ft_id').val('');
|
|
$('#ficourse').append(data);
|
|
|
|
},
|
|
});
|
|
|
|
});
|
|
|
|
$("#ficourse").change(function () {
|
|
var course_id = this.value;
|
|
var batch_id = $('#batch_id').val()
|
|
|
|
$.ajax({
|
|
type : 'POST',
|
|
url : "<?php echo base_url(); ?>admin/ajax_get_installment_course_feetype",
|
|
data : {
|
|
course : course_id,
|
|
batch : batch_id
|
|
},
|
|
success:function(data){
|
|
$('#ft_id').empty();
|
|
$('#ft_id').append(data);
|
|
$('#installment_section').empty();
|
|
$('select[name="paymentoption[]"]').val('');
|
|
},
|
|
});
|
|
|
|
});
|
|
|
|
function resteValues() {
|
|
$('.due-message').hide();
|
|
$('.due-message').empty();
|
|
global_fees = {};
|
|
$('#hostel_plan_container').hide();
|
|
$('#hostel_plan').val('');
|
|
$('#course_fee_id').val('');
|
|
$('#fibatch_from').val('');
|
|
$('#fee_value_name_container').hide();
|
|
$('#fee_value_name').val('');
|
|
}
|
|
|
|
$("#ft_id").change(function () {
|
|
var ft_id = this.value;
|
|
var hostel_id = 3;
|
|
var course_id = $('#ficourse').val();
|
|
var batch_id = $('#batch_id').val();
|
|
|
|
resteValues();
|
|
$('#installment_section').empty();
|
|
$('select[name="paymentoption[]"]').val([]);
|
|
$('.due-message').hide();
|
|
$('.due-message').empty();
|
|
|
|
$.ajax({
|
|
type : 'POST',
|
|
url : "<?php echo base_url(); ?>admin/ajax_get_installment_course_fee_date_id",
|
|
data : {
|
|
course : course_id,
|
|
batch : batch_id,
|
|
fee_id : ft_id
|
|
},
|
|
success:function(data){
|
|
global_fees = {};
|
|
res = JSON.parse(data);
|
|
console.log(res);
|
|
if(res.length < 2) {
|
|
|
|
let x = moment(res[0].due_date).format('YYYY-MM-DD').split('-');
|
|
let [Ryear,Rmonth,Rday] = x;
|
|
|
|
Rmonth = Number(Rmonth)-1;
|
|
Rmonth = NepaliFunctions.GetBsMonth(Number(Rmonth))
|
|
|
|
global_fees.amount = res[0].amount;
|
|
global_fees.due = moment(res[0].due_date).format('YYYY-MM-DD');
|
|
|
|
$('.due-message').show();
|
|
$('.due-message').html('<span class="mb-4" style="font-size : 15px">Note:<p> The due-date for selected course fee is <b>'+ Rday+'-'+Rmonth+'-'+Ryear + ' </b></p></span>');
|
|
$('#course_fee_id').val(res[0].id);
|
|
$('#fibatch_from').val(moment(res[0].due_date).format('YYYY-MM-DD'))
|
|
} else {
|
|
|
|
let url_link;
|
|
|
|
if(ft_id == hostel_id) {
|
|
url_link = "<?php echo base_url(); ?>admin/ajax_get_course_fee_hostel_plan";
|
|
} else {
|
|
url_link = "<?php echo base_url(); ?>admin/ajax_get_course_fee_values";
|
|
}
|
|
|
|
$.ajax({
|
|
type : 'POST',
|
|
url : url_link,
|
|
data : {
|
|
course : course_id,
|
|
batch : batch_id,
|
|
fee_id : ft_id
|
|
},
|
|
success:function(data){
|
|
if(ft_id == hostel_id) {
|
|
$('#hostel_plan').empty();
|
|
$('#hostel_plan').append(data);
|
|
$('#hostel_plan_container').show();
|
|
} else {
|
|
$('#fee_value_name').empty();
|
|
$('#fee_value_name_container').show();
|
|
$('#fee_value_name').append(data);
|
|
}
|
|
},
|
|
});
|
|
}
|
|
},
|
|
});
|
|
// }
|
|
});
|
|
|
|
const get_unique_fee = function(ele) {
|
|
|
|
var course_fee = ele.value;
|
|
$('#installment_section').empty();
|
|
$('select[name="paymentoption[]"]').val([]);
|
|
$('.due-message').hide();
|
|
$('.due-message').empty();
|
|
|
|
$.ajax({
|
|
type : 'POST',
|
|
url : "<?php echo base_url(); ?>admin/ajax_get_complete_course_fee_id",
|
|
data : {
|
|
id : course_fee,
|
|
},
|
|
success:function(data){
|
|
global_fees = {};
|
|
res = JSON.parse(data);
|
|
console.log(res);
|
|
|
|
let x = moment(res[0].due_date).format('YYYY-MM-DD').split('-');
|
|
let [Ryear,Rmonth,Rday] = x;
|
|
|
|
Rmonth = Number(Rmonth)-1;
|
|
Rmonth = NepaliFunctions.GetBsMonth(Number(Rmonth))
|
|
|
|
|
|
|
|
global_fees.amount = res[0].amount;
|
|
global_fees.due = moment(res[0].due_date).format('YYYY-MM-DD');
|
|
|
|
$('.due-message').show();
|
|
$('.due-message').html('<span class="mb-4" style="font-size : 15px">Note:<p> The due-date for selected course fee is <b>'+ Rday+'-'+Rmonth+'-'+Ryear + ' </b></p></span>');
|
|
$('#course_fee_id').val(res[0].id);
|
|
$('#fibatch_from').val(moment(res[0].due_date).format('YYYY-MM-DD'))
|
|
},
|
|
});
|
|
|
|
}
|
|
|
|
const get_hostel_fee = function(ele) {
|
|
var course_id = $('#ficourse').val();
|
|
var batch_id = $('#batch_id').val();
|
|
var ft_id = $('#ft_id').val();
|
|
var plan = ele.value;
|
|
|
|
$('#installment_section').empty();
|
|
$('select[name="paymentoption[]"]').val([]);
|
|
$('.due-message').hide();
|
|
$('.due-message').empty();
|
|
|
|
$.ajax({
|
|
type : 'POST',
|
|
url : "<?php echo base_url(); ?>admin/ajax_get_installment_course_fee_date_id",
|
|
data : {
|
|
course : course_id,
|
|
batch : batch_id,
|
|
fee_id : ft_id,
|
|
plan_id : plan
|
|
},
|
|
success:function(data){
|
|
console.log(data);
|
|
global_fees = {};
|
|
res = JSON.parse(data);
|
|
console.log(res);
|
|
|
|
global_fees.amount = res[0].amount;
|
|
global_fees.due = moment(res[0].due_date).format('YYYY-MM-DD');
|
|
|
|
$('.due-message').show();
|
|
$('.due-message').html('<span class="mb-4" style="font-size : 15px">Note:<p> The due-date for selected course fee is <b>'+ moment(res[0].due_date).format('DD-MMM-YYYY') + ' </b></p></span>');
|
|
$('#course_fee_id').val(res[0].id);
|
|
$('#fibatch_from').val(moment(res[0].due_date).format('YYYY-MM-DD'))
|
|
},
|
|
});
|
|
}
|
|
|
|
|
|
function get_fees(){
|
|
|
|
var course_fee = $('#course_fee_id').val();
|
|
var start = $('#fibatch_from').val();
|
|
var inst = $('#paymentoption').val();
|
|
|
|
if($("#installmentform").valid()) {
|
|
$('#sname_error').html('');
|
|
$.ajax({
|
|
type : 'post',
|
|
url : '<?php echo base_url(); ?>Admin/get_duedates',
|
|
data : { course_fee : course_fee, inst : inst,start:start },
|
|
success:function(data){
|
|
console.log(data);
|
|
data = JSON.parse(data);
|
|
$('#installment_section').html(data.html);
|
|
var mainInput = $(".np-datepicker");
|
|
let NDate = NepaliFunctions.GetCurrentBsDate();
|
|
let todayDate = `${NDate.year}-${NDate.month}-${NDate.day}`;
|
|
// alert(todayDate);
|
|
mainInput.nepaliDatePicker({
|
|
disableBefore: todayDate,
|
|
language : 'english',
|
|
});
|
|
}
|
|
});
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<script>
|
|
$(document).ready(function() {
|
|
if($('.np-datepicker').length > 0) {
|
|
let NnDate = NepaliFunctions.GetCurrentBsDate();
|
|
let todayDateN = `${NnDate.year}-${NnDate.month}-${NnDate.day}`;
|
|
|
|
$('.np-datepicker').nepaliDatePicker({
|
|
language : 'english',
|
|
disableBefore : todayDateN
|
|
});
|
|
|
|
let x = moment(global_fees.due).format('YYYY-MM-DD').split('-');
|
|
let [Ryear,Rmonth,Rday] = x;
|
|
|
|
Rmonth = Number(Rmonth)-1;
|
|
Rmonth = NepaliFunctions.GetBsMonth(Number(Rmonth))
|
|
|
|
$('.display_edit_due').text(Rday+'-'+Rmonth+'-'+Ryear);
|
|
}
|
|
$("#installmentform").validate({
|
|
ignore: ":hidden",
|
|
rules: {
|
|
|
|
batch_id : "required",
|
|
ficourse : "required",
|
|
fibatch_from : "required",
|
|
ft_id : "required",
|
|
'paymentoption[]' : 'required',
|
|
'amount[one]' : 'required',
|
|
<?php for($i = 0; $i <= 8; $i++){ ?>
|
|
'amount[two][<?= $i ?>]' : 'required',
|
|
'amount[four][<?= $i ?>]' : 'required',
|
|
'amount[six][<?= $i ?>]' : 'required',
|
|
<?php } ?>
|
|
|
|
is_active : 'required',
|
|
fee_value_name : 'required',
|
|
hostel_plan : 'required',
|
|
|
|
},
|
|
messages: {
|
|
|
|
batch_id : 'Please select a batch',
|
|
ficourse : 'Please select a course',
|
|
fibatch_from : 'Please select start date of installments',
|
|
'paymentoption[]' : 'Please select one payment option',
|
|
ft_id : "Please select a fee type",
|
|
hostel_plan : "Please select a hostel plan",
|
|
fee_value_name : "Please select a fee name"
|
|
|
|
},
|
|
|
|
submitHandler: function(form,e) {
|
|
e.preventDefault();
|
|
let amountErr;
|
|
let flag = false;
|
|
let Allrows = $('#installment_section tr');
|
|
$('.installment-err').remove();
|
|
$.each(Allrows, function(index,ele) {
|
|
let tdTotal = 0;
|
|
let amountInput = $(this).find('.amount-input');
|
|
console.log(amountInput);
|
|
$.each(amountInput, function(index,ele) {
|
|
console.log(ele);
|
|
tdTotal += Number($(this).val());
|
|
});
|
|
|
|
$('.installment-err').hide();
|
|
if(tdTotal != global_fees.amount) {
|
|
$(this).before('<tr class="installment-err"><td colspan="3"><label class="error">Entered amount does not match with total fees amount: '+global_fees.amount+'</label></td></tr>')
|
|
amountErr = false;
|
|
return false;
|
|
} else {
|
|
amountErr = true;
|
|
}
|
|
|
|
});
|
|
|
|
|
|
$.ajax({
|
|
url : '<?php echo base_url() ?>' + 'admin/ajax_validate_course_installment',
|
|
data : {
|
|
value : $('#course_fee_id').val(),
|
|
id : <?php echo $fees_id ?>
|
|
},
|
|
type : 'POST',
|
|
async : false,
|
|
success: function(data){
|
|
$('#afee_error').empty();
|
|
if(data == 'success'){
|
|
flag = true
|
|
} else {
|
|
$('#afee_error').append('Selected batch, course and fee type already have an installment.')
|
|
flag = false;
|
|
}
|
|
|
|
}
|
|
});
|
|
|
|
|
|
if(flag && amountErr) {
|
|
form.submit();
|
|
}
|
|
}
|
|
});
|
|
|
|
$('#tbl').DataTable( {
|
|
"lengthMenu": [[5,10, 25, 50, -1], [5,10, 25, 50, "All"]]
|
|
} );
|
|
|
|
<?php if($fees_id > 0) { ?>
|
|
|
|
<?php if($feetype_id == 3) { ?>
|
|
|
|
var hostel_plan_id = '<?php echo $hostel_plan_id ?>';
|
|
|
|
if((hostel_plan_id)) {
|
|
$('#hostel_plan_container').show();
|
|
var ft_id = $('#ft_id').val();
|
|
var course_id = $('#ficourse').val();
|
|
var batch_id = $('#batch_id').val();
|
|
|
|
$.ajax({
|
|
type : 'POST',
|
|
url : "<?php echo base_url(); ?>admin/ajax_get_course_fee_hostel_plan",
|
|
data : {
|
|
course : course_id,
|
|
batch : batch_id,
|
|
fee_id : ft_id
|
|
},
|
|
success:function(data){
|
|
console.log(data);
|
|
$('#hostel_plan').empty();
|
|
$('#hostel_plan').append(data);
|
|
$("#hostel_plan").val(hostel_plan_id);
|
|
},
|
|
});
|
|
|
|
}
|
|
|
|
<?php } else { ?>
|
|
|
|
var ft_id = $('#ft_id').val();
|
|
var course_id = $('#ficourse').val();
|
|
var batch_id = $('#batch_id').val();
|
|
|
|
$.ajax({
|
|
type : 'POST',
|
|
url : "<?php echo base_url(); ?>admin/ajax_get_course_fee_values_count_data",
|
|
data : {
|
|
course : course_id,
|
|
batch : batch_id,
|
|
fee_id : ft_id
|
|
},
|
|
success:function(response){
|
|
response = JSON.parse(response);
|
|
console.log(response);
|
|
|
|
if(response.count > 1) {
|
|
$('#fee_value_name_container').show();
|
|
$('#fee_value_name').empty();
|
|
$('#fee_value_name').append(response.data);
|
|
$('#fee_value_name').val('<?php echo $cf_id ?>');
|
|
}
|
|
|
|
},
|
|
});
|
|
|
|
<?php } ?>
|
|
|
|
|
|
|
|
<?php } ?>
|
|
|
|
})
|
|
|
|
$('#paymentoption').change(function(event) {
|
|
$("#paymentoption").multiselect('refresh');
|
|
});
|
|
</script>
|