MOON
Server: Apache
System: Linux nserver.cafsindia.com 4.18.0-553.104.1.lve.el8.x86_64 #1 SMP Tue Feb 10 20:07:30 UTC 2026 x86_64
User: cafsindia (1002)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: /home/cafsindia/uds.cafsinfotech.in/application/views_bk/pay_structure_dynamic/manage.php
<?php 
	$this->load->view("partial/header"); 

	$access_data    = $this->session->userdata('access_data');
	$access_add     = (int)$access_data[$controller_name]['access_add'];
	$access_update  = (int)$access_data[$controller_name]['access_update'];
	$access_delete  = (int)$access_data[$controller_name]['access_delete'];
	$access_search  = (int)$access_data[$controller_name]['access_search']; 
	$access_export  = (int)$access_data[$controller_name]['access_export'];
	$access_import  = (int)$access_data[$controller_name]['access_import'];
	
	$page_name      = ucwords(str_replace("_"," ",$controller_name));
	$uniqueId       = "prime_".$controller_name."_id";
	$category       = $this->session->userdata('logged_role');
	$employee_code  = $this->session->userdata('logged_emp_code');
	$user_role      = $this->session->userdata('logged_user_role');
	
	$import_url     = site_url($controller_name ."/import/");

	if($access_import === 1){
		$breadcrumb .= "<li>
							<a class='btn btn-xs btn-primary import' data-btn-submit= 'Submit' title='Import $page_name' href='$import_url' data_form='$controller_name' > <span class='fa fa-cloud-upload'>&nbsp</span> Import $page_name
							</a>
						</li>";
	}
?>

<div class='row title_content'>
	<div class='col-md-2 col-xs-4'>
		<h1 class='page_txt'><?php echo $page_name;?></h1>
	</div>
	<div class='col-md-10 col-xs-6'>
		<ol class="breadcrumb">
			<?php  echo $breadcrumb; ?>	
		</ol>
	</div>
</div>
<div id="holder" class="form-inline" style="margin-top:20px;">
	<div class="col-md-12">
	<!-- FOR DYNAMIC PAY STRUCTURE BUILD FORM CODE -->
	<?php 
		foreach($pay_filter_setting as $setting){
			$prime_form_id   = (int)$setting->prime_form_id;
			$label_id        = $setting->label_name;
			$label_name      = ucwords($setting->view_name);
			$pick_list_type  = (int)$setting->pick_list_type;
			$pick_list       = $setting->pick_list;
			$pick_table      = $setting->pick_table;

			$drop_down_array = array("name" => $label_id,"id" => $label_id,"class" =>'form-control input-sm select2');

			$form_dropdown   =  form_dropdown($drop_down_array,$pay_filter_pick_column[$label_id]);
			$form_label      = form_label($label_name, $label_id, array('class' => "control-label required"));	
			echo $input_box  = "<div class='form-group'>$form_label $form_dropdown</div>";
			if($label_id){
				$validation_rule .=  "$label_id:{required: true },";
			}
		}
		if($validation_rule){
			$validation_rule = rtrim($validation_rule,',');
		}
		//jquery validation for pay structure filter column function start
		$pay_filter_check_col  = "";
		$ajax_post_data	       = "";
		$vaildation_chk        = "";
		foreach($pay_filter_setting as $setting){
			$label_name              = $setting->label_name;
			$pay_filter_check_col   .= "var $label_name"."_val = $('#$label_name').val(); \n";
			$vaildation_chk	        .= "$label_name && ";
			$ajax_post_data	        .= "$label_name:$label_name"."_val,";
		}
		$vaildation_chk       = rtrim($vaildation_chk,' && ');
		$ajax_post_data       = rtrim($ajax_post_data,',');
		//------------------- end -----------
		?>
		
		<div class='form-group' style="margin-top: 24px;">
			<button class='btn btn-primary btn-sm' id="add">Add</button>
		<!-- </div>
		<div class="col-md-2" style="margin-top: 24px;"> -->
			<button class='btn btn-primary btn-sm' id="search">Search</button>
		</div>
	</div>
</div>
<div class="row">
	<div style="margin:20px !important; padding:15px;display: none;" id="search_pay_struct_data">	
		<table id="search_pay_struct_table" width="100%" class='table table-hover'></table>
	</div>
</div>

	<!-- margin-top: 20px;position: relative; -->
<div class="row">
	<div style="margin:20px !important; padding:15px;display: none;" id="add_pay_struct_data">
		<table id="add_pay_struct_table" width="70%" class='table table-hover'>
			<thead class="thead-dark">
				<tr>
					<th scope="col">Category</th>
					<th scope="col">From Date</th>
					<th scope="col">To Date</th>
					<th scope="col">Effective Date</th>
					<th scope="col">Day Condition</th>
					<th scope="col" id="day_count_head" style="display:none;">Day Count</th>
					<th scope="col">PF Limit</th>
					<th scope="col">ESI Limit</th>	
					<th scope="col" style="display:none;">Prime Pay Id</th>	
					<th scope="col">Save</th>	
				</tr>
			</thead>
			<tbody>
				<tr>
					<td><select id="category" name="category" class='form-control select2'><?php echo $category_list ?></select></td>
					<td><div class="controls" style="position: relative"><input type='text' id='from_date' name='from_date' value ='' class='form-control input-sm datepicker' placeholder = "From Date" size="5"></div></td>
					<td><div class="controls" style="position: relative"><input type='text' id='to_date' name='to_date' value ='' class='form-control datepicker' placeholder = "To Date" size="5"></div></td>
					<td><div class="controls" style="position: relative"><input type='text' id='effective_date' name='effective_date' value ='' class='form-control datepicker' placeholder = "Effective Date" size="5"></div></td>
					<td><select id="day_condition" name="day_condition" class='form-control select2'><?php echo $day_cond_list ?></select></td>
					<td style="display:none;"><select id="day_count" name="day_count" class='form-control select2'><?php echo $day_count_list ?></select></td>
					<td><select id="pf_limit" name="pf_limit" class='form-control select2'><?php echo $status_list ?></select></td>
					<td><select id="esi_limit" name="esi_limit" class='form-control select2'><?php echo $status_list ?></select></td>
					<td style="display:none;"><div class="controls" style="position: relative;"><input type='hidden' id='prime_id' name='prime_id' value ='0' class='form-control' size="5"></div></td>
					<td><input type='button' id='save' name='save' value = 'Save' class='btn btn-primary btn-sm'></td>
				</tr>
			</tbody>
		</table>
    </div>
</div>
<div id = "ear_ded_button" style = "display: none;margin-bottom:20px">
	<button class='btn btn-primary btn-sm' id="ear_ded_save" name='ear_ded_save'>Save</button>
</div>	
<div class="row" id = "ear_ded_pay_struct_data" style = "display: none;">
	<div class="col-md-7">
		<div style="margin:10px 0px 15px; !important; padding:25px;" id="ear_pay_struct_data">	
		</div>
	</div>
	<div class="col-md-5">
		<div style="margin:10px 0px 15px; !important; padding:25px;" id="ded_pay_struct_data">	
		</div>
	</div>
</div>
<!-- 
<script type="text/javascript" src="dist/excel_xlsx.full.min.js"></script> -->
<script type="text/javascript">
$(document).ready(function (){
	var category_list   = <?php echo json_encode($category_list); ?>;
	var status_list     = <?php echo json_encode($status_list); ?>;
	var day_cond_list   = <?php echo json_encode($day_cond_list); ?>;
	var day_count_list  = <?php echo json_encode($day_count_list); ?>;

	var category_arr    = <?php echo json_encode($category_arr); ?>;
	var status_arr      = <?php echo json_encode($status_arr); ?>;
	var day_cond_arr    = <?php echo json_encode($day_cond_arr); ?>;
	var day_count_arr   = <?php echo json_encode($day_count_arr); ?>;

	$(function(){
		$(".datepicker").datetimepicker({
			format: 'DD-MM-YYYY',
			//debug: true
		});
	});
	$(function(){
		$('.select2').select2({allowClear: true,placeholder: "--- Select ---",});
		$('.select2-tags').select2({
			allowClear: true,
			tags: true,
			placeholder: "--- Select ---",
			tokenSeparators: [',']
		});
		$(".select2_user").select2({
			placeholder: "--- Select ---",
			allowClear: true,
			tags: true
		});
	});

	//from date and to date on change condition
	$("#from_date,#to_date,#effective_date").on("dp.hide",function (e) {
		var from_date          = $('#from_date').val();
		var to_date            = $('#to_date').val();	
		var effective_date     = $('#effective_date').val();
		date_check_validation(from_date,to_date,effective_date);	
	});

	// select_call();
	//autocomplete box
	// $('#wbs_element_val').autocomplete({
	// 	minChars:2,
	// 	autoFocus: true,
	// 	delay:5,
	// 	appendTo: '.append_div',
	// 	source: function (request, response) {
	// 		$.ajax({
	// 			url: '<?php echo site_url("$controller_name/auto_search"); ?>',
	// 			type: 'get',
	// 			data: {term:request.term},
	// 			success: function (data) {
	// 				var rslt = JSON.parse(data);
	// 				response($.map(rslt, function (el) {
	// 					if(el.value === '0'){
	// 						$('#wbs_element_val').val('');
	// 					}else{
	// 						return {
	// 							value: el.value,
	// 							label: el.label,
	// 							display_name:el.display_name
	// 							// display_obj_id:el.display_obj_id
	// 						};
	// 					}
	// 				}));
	// 			}
	// 		});
	// 	},
	// 	select: function(e, ui) {
	// 		e.preventDefault();
	// 		value = ui.item.value;
	// 		label = ui.item.label;
	// 		$('#wbs_element').val(ui.item.value);
	// 		$('#wbs_element_val').val(ui.item.label);
	// 		// $('#object_id').val(ui.item.display_obj_id);
	// 	}
	// });
	//day count restrictions updated
	$("#day_count > option").slice(1,20).remove();

	//day condition on change
	$('#add_pay_struct_table #day_condition').on('change',function(e){
	// $("#day_condition").on('change', function(e){
		var day_condition   = $("#add_pay_struct_table #day_condition").val();
		var change_tab_id   = "#add_pay_struct_table";
		//for variable
		day_cond_hide_show(day_condition,change_tab_id);
	});

	$('#search_pay_struct_table #day_condition').on('change',function(e){
	// $("#day_condition").on('change', function(e){
		var day_condition   = $("#search_pay_struct_table #day_condition").val();
		var change_tab_id   = "#search_pay_struct_table";
		//for variable
		day_cond_hide_show(day_condition,change_tab_id);
	});

	//search  on click function 
	$("#search").on('click', function(e){
		search_pay_structure();
	});
	$("#add").on('click', function(e){
		//for dynamic filter column from(pay structure table) 
		<?php echo $pay_filter_check_col ?>;
		
		if(<?php echo $vaildation_chk ?>){
			$("#add_pay_struct_data #category,#from_date,#to_date,#effective_date,#day_condition,#day_count,#pf_limit,#esi_limit,#prime_id").val('');
			select_call();
			$("#add_pay_struct_data").show()
			$("#search_pay_struct_data,#ear_ded_pay_struct_data,#ear_ded_button").hide();
		}else{
			toastr.error("Please Choose All Mandatory Fields..!");
		}
	});

	// $("#edit").click(function() {
	// 	//function for save a pay structure
	// 	var click_details      = $(this);
	// 	let action             = "edit";
	// 	save_pay_structure(click_details,action);
	// });

	$("#save").on("click",function() {
		var click_details      = $(this);
		let action             = "save";
		var prime_id           = $(click_details).closest("tr").find("#prime_id").val();
		//function for save a pay structure
		save_pay_structure(click_details,action,prime_id);
	});

	$("#ear_ded_save").on("click",function() {
		let ear_table = $("#ear_pay_struct_data tbody");
		let ded_table = $("#ded_pay_struct_data tbody");
		var ear_obj   = {};
		var ded_obj   = {};

		ear_table.find("tr").each(function(index, element) {
			if($(element).find("td").find("#wage_code").val()){
				ear_obj[index] = {
					wage_code: $(element).find("td").find("#wage_code").val(),
					wage_name: $(element).find("td").find("#wage_name").val(),
					hrms_field_name: $(element).find("td").find("#hrms_field_name").val(),
					amount: $(element).find("td").find("#amount").val(),
					pf_applicable: $(element).find("td").find("#pf_applicable").val(),
					esi_applicable: $(element).find("td").find("#esi_applicable").val(),
					pt_applicable: $(element).find("td").find("#pt_applicable").val(),
					prime_pay_line_id: $(element).find("td").find("#prime_pay_line_id").val(),
					prime_pay_struct_id: $(element).find("td").find("#prime_pay_struct_id").val()
				};
			}
    	});
		ded_table.find("tr").each(function(index, element) {
			if($(element).find("td").find("#wage_code").val()){
				ded_obj[index] = {
					wage_code: $(element).find("td").find("#wage_code").val(),
					wage_name: $(element).find("td").find("#wage_name").val(),
					hrms_field_name: $(element).find("td").find("#hrms_field_name").val(),
					amount: $(element).find("td").find("#amount").val(),
					pf_applicable: "",
					esi_applicable: "",
					pt_applicable: "",
					prime_pay_line_id: $(element).find("td").find("#prime_pay_line_id").val(),
					prime_pay_struct_id: $(element).find("td").find("#prime_pay_struct_id").val()
				};
			}
    	});
		//JSON to string conversion
		var json_ear_obj   = JSON.stringify(ear_obj);
		var json_ded_obj   = JSON.stringify(ded_obj);
		//function for save a pay structure
		save_pay_structure_line(json_ear_obj,json_ded_obj);
	});

	//onclick function for add pf and esi gross based on onclick by a amount and pf and esi yes no option
	$(document).on('focusin', '#amount', function(e){
    	$(this).data('val', $(this).val());
	}).on('change','#amount', function(e){
		var click_id     = $(this).attr("id");
		var click_row    = $(this);
		var old_val      = Number($(this).data("val"));

		//function for save a pay structure
		add_pf_esi_gross(click_id,click_row,old_val);
	});

	//onclick function for add pf and esi gross based on onclick by a amount and pf and esi yes no option
    $(document).on('change','#pf_applicable,#esi_applicable', function (e) {
		var click_id     = $(this).attr("id");
		var click_row    = $(this);
		var new_val      = $(this).val();
		var old_val      = $(this).attr('data-val');

		$(this).attr('data-val', new_val);
		//function for save a pay structure
		add_pf_esi_gross(click_id,click_row,old_val);
	});

	$("a.import").click(function(event){
		event.preventDefault();
		var action      = $(this).attr('data-btn-submit');
		var title       = $(this).attr('title');
		var control     = $(this).attr('href');
		var form_id     = "save_import";
		view_form_data(action,title,control,form_id);
	});
});

//save pay structure function
function save_pay_structure(click_details,action,prime_id){
	var status_list     = <?php echo json_encode($status_list); ?>;
	var category_arr    = <?php echo json_encode($category_arr); ?>;
	var status_arr      = <?php echo json_encode($status_arr); ?>;
	var day_cond_arr    = <?php echo json_encode($day_cond_arr); ?>;
	var day_count_arr   = <?php echo json_encode($day_count_arr); ?>;

	var send_url        = '<?php echo site_url("$controller_name/save_pay_structure");?>'
	var category        = $(click_details).closest("tr").find("#category").val();
	var from_date       = $(click_details).closest("tr").find("#from_date").val();
	var to_date         = $(click_details).closest("tr").find("#to_date").val();
	var effective_date  = $(click_details).closest("tr").find("#effective_date").val();
	var day_condition   = $(click_details).closest("tr").find("#day_condition").val();
	var day_count       = $(click_details).closest("tr").find("#day_count").val();
	var pf_limit        = $(click_details).closest("tr").find("#pf_limit").val();
	var esi_limit       = $(click_details).closest("tr").find("#esi_limit").val();
	//for dynamic filter column from(pay structure table) based on pay structure filter setting
	<?php echo $pay_filter_check_col ?>;

	//for only work for edit operation (because we click a edit button then same add table list but data are fetched and table inputs are editable) 
	if(action === "edit"){
		$("#add_pay_struct_data").show();
		$("#search_pay_struct_data").hide();
		if(category_arr){
			$("#add_pay_struct_data #category").val(category_arr[category]);
			category  = category_arr[category];
		}
		$("#add_pay_struct_data #from_date").val(from_date);
		$("#add_pay_struct_data #to_date").val(to_date);
		$("#add_pay_struct_data #effective_date").val(effective_date);
		if(day_cond_arr){
			$("#add_pay_struct_data #day_condition").val(day_cond_arr[day_condition]);
			day_condition   = day_cond_arr[day_condition];
		}
		if(day_count_arr){
			$("#add_pay_struct_data #day_count").val(day_count_arr[day_count]);
			day_count       = day_count_arr[day_count];
		}
		if(status_arr){
			$("#add_pay_struct_data #pf_limit").val(status_arr[pf_limit]);
			$("#add_pay_struct_data #esi_limit").val(status_arr[esi_limit]);
			pf_limit       = status_arr[pf_limit];
			esi_limit      = status_arr[esi_limit];
		}
		$("#add_pay_struct_data #prime_id").val(prime_id);
	}

	//for day condition based hide and show
	var change_tab_id   = "#add_pay_struct_table";
	day_cond_hide_show(day_condition,change_tab_id);
	select_call();

	if(category && from_date && to_date && effective_date && day_condition && pf_limit && esi_limit){
		if(parseInt(day_condition) === 1){
			if(!parseInt(day_count)){
				toastr.error("Please Choose all Fields From Table..!");
				return false;
			}
		}
		$.ajax({
			type: 'POST',
			url: send_url,
			data:{action:action,prime_id:prime_id,category:category,from_date:from_date,to_date:to_date,effective_date:effective_date,day_condition:day_condition,day_count:day_count,pf_limit:pf_limit,esi_limit:esi_limit,<?php echo $ajax_post_data ?>},
			success: function(data) {
				var rslt = JSON.parse(data);
				if(rslt.success){	
					toastr.success(rslt.message);
					$("#ear_ded_pay_struct_data,#ear_ded_button").show();  
					$("#ear_pay_struct_data").html(rslt.ear_table_rslt);  
					$("#ded_pay_struct_data").html(rslt.ded_table_rslt); 
					$("#ear_pay_struct_data .select2").append(status_list); 
					$("#add_pay_struct_data #prime_id").val(rslt.prime_id); 
					// if(action === "edit"){
						var drop_select_arr = rslt.drop_select_arr;
						//for select a pt and esi and pf dropdown data
						$("#ear_pay_struct_data tbody").find("tr").each(function(index, element) {
							var prime_line_id   =  $(element).find("td").find("#prime_pay_line_id").val();
							//only for earnings(formula type 1)
							// if(parseInt(drop_select_arr[prime_line_id]['formula_type']) === 1){
								$(element).find("td").find("#pf_applicable").val(drop_select_arr[prime_line_id]['pf_applicable']);
								$(element).find("td").find("#esi_applicable").val(drop_select_arr[prime_line_id]['esi_applicable']);
								$(element).find("td").find("#pt_applicable").val(drop_select_arr[prime_line_id]['pt_applicable']);
							// }
						});
						//Add readonly option for last two row 
						table_rows_readonly();
					// }
				}else{
					toastr.error(rslt.message);
				}
			}
		});
	}else{
		toastr.error("Please Choose all Fields From Table..!");
		return false;
	}
	select_call();
}

function save_pay_structure_line(json_ear_obj,json_ded_obj){
	var status_list     = <?php echo json_encode($status_list); ?>;
	var category_arr    = <?php echo json_encode($category_arr); ?>;
	var status_arr      = <?php echo json_encode($status_arr); ?>;
	var send_url = '<?php echo site_url("$controller_name/save_pay_structure_line");?>'
	$.ajax({
		type: 'POST',
		url: send_url,
		data:{ json_ear_obj:json_ear_obj, json_ded_obj:json_ded_obj },
		success: function(data) {
			var rslt = JSON.parse(data);
			if(rslt.success){	
				toastr.success(rslt.message);
				$("#ear_pay_struct_data").html(rslt.ear_table_rslt);  
				$("#ded_pay_struct_data").html(rslt.ded_table_rslt); 
				$("#ear_pay_struct_data .select2").append(status_list); 

				var drop_select_arr = rslt.drop_select_arr;
				//for select a pt and esi and pf dropdown data
				$("#ear_pay_struct_data tbody").find("tr").each(function(index, element) {
					var prime_line_id   =  $(element).find("td").find("#prime_pay_line_id").val();
					//only for earnings(formula type 1)
					// if(parseInt(drop_select_arr[prime_line_id]['formula_type']) === 1){
						$(element).find("td").find("#pf_applicable").val(drop_select_arr[prime_line_id]['pf_applicable']);
						$(element).find("td").find("#esi_applicable").val(drop_select_arr[prime_line_id]['esi_applicable']);
						$(element).find("td").find("#pt_applicable").val(drop_select_arr[prime_line_id]['pt_applicable']);
					// }
    			});
				//Add readonly option for last two row 
				table_rows_readonly();
			}else{
				toastr.error(rslt.message);
			}
		}
	});
}


//add pf and esi gross based on onclick by a amount and pf esi yes no option
function add_pf_esi_gross(click_id,click_row,old_val){
	var amount          = Number(($(click_row).closest("tr").find("#amount").val()));
	var pf_applicable   = $(click_row).closest("tr").find("#pf_applicable").val();
	var esi_applicable  = $(click_row).closest("tr").find("#esi_applicable").val();
	// var fpf_gross         = parseInt($(click_row).closest("tr").find("#fpf_gross").val());
	// var esi_gross         = parseInt($(click_row).closest("tr").find("#esi_gross").val());
	var table_name      = $(click_row).closest("table").attr("id");

	var len             = $('#'+table_name+' tr').length;
	//code for get a last and before last row 
	var pf_gross_amt    = Number(($('#'+table_name+' tr').eq(len - 2).find("td").find("#amount").val()));
	var esi_gross_amt   = Number(($('#'+table_name+' tr').eq(len - 1).find("td").find("#amount").val()));

	if(click_id){
		var tot_pf_gross_amt   = 0;
		var tot_esi_gross_amt  = 0;
		if(click_id === "amount"){
			var sum_amt      =   amount - old_val;		
			if(pf_applicable === "1"){
				tot_pf_gross_amt   = pf_gross_amt + sum_amt;
				$('#'+table_name+' tr').eq(len - 2).find("td").find("#amount").val(tot_pf_gross_amt);
				$('#'+table_name+' tr').eq(len - 1).find("td").find("#amount").val(tot_esi_gross_amt);
			}
			if(esi_applicable === "1"){
				tot_esi_gross_amt  = esi_gross_amt + sum_amt;
				$('#'+table_name+' tr').eq(len - 2).find("td").find("#amount").val(tot_pf_gross_amt);
				$('#'+table_name+' tr').eq(len - 1).find("td").find("#amount").val(tot_esi_gross_amt);
			}
		}else
		if(click_id === "pf_applicable"){
			if(pf_applicable === "1"){
				tot_pf_gross_amt   = pf_gross_amt + amount;
				$('#'+table_name+' tr').eq(len - 2).find("td").find("#amount").val(tot_pf_gross_amt);
			}else
			if(pf_applicable === "2" && old_val === "1"){
				tot_pf_gross_amt   = pf_gross_amt - amount;
				$('#'+table_name+' tr').eq(len - 2).find("td").find("#amount").val(tot_pf_gross_amt);
			}
		}else
		if(click_id === "esi_applicable"){
			if(esi_applicable === "1"){
				tot_esi_gross_amt   = esi_gross_amt + amount;
				$('#'+table_name+' tr').eq(len - 1).find("td").find("#amount").val(tot_esi_gross_amt);
			}else
			if(esi_applicable === "2" && old_val === "1"){
				tot_esi_gross_amt   = esi_gross_amt - amount;
				$('#'+table_name+' tr').eq(len - 1).find("td").find("#amount").val(tot_esi_gross_amt);
			}
		}		
	}
}

//Add readonly option for last two row 
function table_rows_readonly(){
	var len     = $('#ear_pay_struct_table tr').length;
	$('#ear_pay_struct_table tr').eq(len - 2).each(function(index, element) {
		$(element).find("td").find("#wage_code").attr("readonly","readonly");
		$(element).find("td").find("#wage_name").attr("readonly","readonly");
		$(element).find("td").find("#amount").attr("readonly","readonly");
		$(element).find("td").find("#pf_applicable").attr("readonly","readonly");
		$(element).find("td").find("#esi_applicable").attr("readonly","readonly");
		$(element).find("td").find("#pt_applicable").attr("readonly","readonly");	
	});
	$('#ear_pay_struct_table tr').eq(len - 1).each(function(index, element) {
		$(element).find("td").find("#wage_code").attr("readonly","readonly");
		$(element).find("td").find("#wage_name").attr("readonly","readonly");
		$(element).find("td").find("#amount").attr("readonly","readonly");
		$(element).find("td").find("#pf_applicable").attr("readonly","readonly");
		$(element).find("td").find("#esi_applicable").attr("readonly","readonly");
		$(element).find("td").find("#pt_applicable").attr("readonly","readonly");	
	});
}

function search_pay_structure(){	
	var send_url = '<?php echo site_url("$controller_name/search_pay_structure");?>'
	//for dynamic filter column based data get from(pay structure table) based on pay structure filter settings
	<?php echo $pay_filter_check_col ?>;
	//for dynamic filter column based validation from(pay structure table) based on pay structure filter settings
	if(<?php echo $vaildation_chk ?>){
		$("#add_pay_struct_data,#ear_ded_pay_struct_data,#ear_ded_button").hide();
		$("#search_pay_struct_data").show();
		// search_pay_structure(personal_code,wbs_element,position);
		$.ajax({
			type: 'POST',
			url: send_url,
			data:{<?php echo $ajax_post_data ?>},//for dynamic filter column based to post a data from(pay structure table) based on pay structure filter settings
			success: function(data) {
				var rslt = JSON.parse(data);
				if(rslt.success){ 
					var table = $('#search_pay_struct_table').DataTable( {
						destroy: true,
						paging : false,
						language:{				                    
							searchPlaceholder: "Search records",
							search: "",
						},
						data: rslt.table_rslt,
						columns: [
							{ title: "Category",data: "category",
								render:function(value) {
									return "<input type='text' class='form-control' id='category' name='category' value ='"+value+"' class='form-control' readonly = 'readonly'>"}},

							{ title: "From Date",data: "from_date", 
								render:function(value) {
									return "<input type='text' class='form-control' id='from_date' name='from_date' value ='"+moment(value ,"YYYY-MM-DD").format('DD-MM-YYYY')+"' class='form-control' readonly = 'readonly'>"}},
									
							{ title: "To Date",data: "to_date", 
								render:function(value) {
									return "<input type='text' class='form-control' id='to_date' name='to_date' value ='"+moment(value ,"YYYY-MM-DD").format('DD-MM-YYYY')+"' class='form-control' readonly = 'readonly'>"}},

							{ title: "Effective Date",data: "effective_date", 
								render:function(value) {
									return "<input type='text' class='form-control' id='effective_date' name='effective_date' value ='"+moment(value ,"YYYY-MM-DD").format('DD-MM-YYYY')+"' class='form-control' readonly = 'readonly'>"}},

							{ title: "Day Condition",data: "day_condition",
								render:function(value) {
									return "<input type='text' class='form-control' id='day_condition' name='day_condition' value ='"+value+"' class='form-control' readonly = 'readonly'>"}},
						
							{ title: "Day Count",data: "day_count",id: "day_count_head",
								render:function(value) {
									return "<input type='text' class='form-control' id='day_count' name='day_count' value ='"+value+"' class='form-control' readonly = 'readonly'>"}},

							{ title: "PF Limit",data: "pf_limit",
								render:function(value) {
									return "<input type='text' class='form-control' id='pf_limit' name='pf_limit' value ='"+value+"' class='form-control' readonly = 'readonly'>"}},

							{ title: "ESI Limit",data: "esi_limit",
								render:function(value) {
									return "<input type='text' class='form-control' id='esi_limit' name='esi_limit' value ='"+value+"' class='form-control' readonly = 'readonly'>"}},
							{ title: "Edit",data: "prime_id",
								render:function(value) {
									return "<input type='button' id='edit' name='edit' value = 'Edit' class='btn btn-xs btn-edit' onclick = save_pay_structure($(this),'edit',"+value+")>"}}
						]
					});	
					$("input[type='search']").addClass('form-control');		
					select_call();    
				}else{
					toastr.error(rslt.message);
				}
			}
		});
	}else{
		toastr.error("Please Choose All Mandatory Fields..!");
	}
	var send_url = '<?php echo site_url("$controller_name/search_pay_structure");?>'
}
// function get_filter_column_fun(){ 
// 	var filter_col_arr = [];
// 	<?php 
// 		$pay_filter_check_col  = "";
// 		$ajax_post_data	       = "";
// 		$vaildation_chk        = "";
// 		foreach($pay_filter_setting as $setting){
// 			$label_name              = $setting->label_name;
// 			$pay_filter_check_col   .= "var $label_name"."_val = $('#$label_name').val(); \n";
// 			$vaildation_chk	        .= "$label_name && ";
// 			$ajax_post_data	        .= "$label_name:$label_name"."_val,";
// 		}
// 		$vaildation_chk = '"'.$vaildation_chk;
// 		$ajax_post_data = '"'.$ajax_post_data;
// 	?>
// 	filter_col_arr[0]    = <?php echo $pay_filter_check_col;?>;
// 	filter_col_arr[1]    = <?php echo rtrim($vaildation_chk,' && ').'"';?>;
// 	filter_col_arr[2]    = <?php echo rtrim($ajax_post_data,',').'"';?>;
// 	return filter_col_arr;
// }
function view_form_data(action,title,control,form_id){
	$('.modal').modal({backdrop: 'static', keyboard: false});
	$('.modal-body').html('<div style="text-align: center;padding:50px;color:#4b6fa2;"><i class="fa fa-spinner fa-spin fa-2x fa-fw"></i><br/>Please wait processing....</div>');
	$.ajax({
		type: 'POST',
		url: control,
		dataType: "html",
		success: function (response){					
			$('.modal-title').html('<h4 class="modal-title">'+title+'</h4>');
			$('.modal-body').html(response);
			var btn_info = '<a class="btn btn-danger" data-dismiss="modal" onclick="close_formfun()">Close</a>';
			if(action === "Submit"){
				btn_info += '<button class="btn btn-primary" id="submit" style="margin-left: 15px;">Submit</button>';
			}
			btn_info = '<div class="col-md-12" style="background-color:#FFFFFF;padding: 10px 20px; text-align: right; border-top: 1px solid #e5e5e5;">'+btn_info+'</div>';
			$('#'+form_id).append(btn_info);
		}
	});
}
function select_call(){
	setTimeout(function(){ 
		$('.select2').select2({allowClear: true,placeholder: "--- Select ---",});
		$('.select2-tags').select2({
			allowClear: true,
			tags: true,
			placeholder: "--- Select ---",
			tokenSeparators: [',']
		});
		$(".select2_user").select2({
			placeholder: "--- Select ---",
			allowClear: true,
			tags: true
		});
	}, 500);
}
//date greater and lesser validation
function date_check_validation(from_date,to_date,effective_date){
	var check_from_date    = moment(from_date, 'DD-MM-YYYY').format('YYYY-MM-DD');	
	var check_to_date      = moment(to_date, 'DD-MM-YYYY').format('YYYY-MM-DD');	
	var check_effect_date  = moment(effective_date, 'DD-MM-YYYY').format('YYYY-MM-DD');	

	if(from_date && to_date){
		if(check_from_date > check_to_date){
			toastr.error("To Date Should be Greater than From Date");
			$('#to_date').val('');
			return false;
		}else{
			if(effective_date){
				if(check_from_date > check_effect_date || check_to_date < check_effect_date){
					toastr.error("Effective Date Choose Only in Between From Date and To Date..!");
					$('#effective_date').val('');
					return false;
				}
			}
		}
	}
}
//date condition hide and show
function day_cond_hide_show(day_condition,change_tab_id){
	if(parseInt(day_condition) === 1){
		$('#day_count_head').show();
		$(''+change_tab_id+' #day_count').parent().show();
		// $('#day_count').removeClass('ignore');
	}else{
		$('#day_count_head').hide();
		$(''+change_tab_id+' #day_count').parent().hide();
		// $('#day_count').addClass('ignore');
		$(''+change_tab_id+' #day_count').val('');
		select_call();
	}
}

</script>
<style>
	.pull-right.search {
		display: none !important;
	}
	.columns.columns-right.btn-group.pull-right {
		display: none !important;
	}

	.floatright {
		float:right;
		display: inline;
	    padding: 0 1.5em;
	}
	.btn-sm {
		width: 50px !important;
	}
	#ear_ded_save {
		position: absolute;
		right: 32px;
	}
	<?php 
		if($access_search === 1){
			echo ".pull-right.search { display: block !important; }";
		}
		if($access_export === 1){
			echo ".columns.columns-right.btn-group.pull-right{display: block !important;}";
		}
	?>
</style>
<?php $this->load->view("partial/footer"); ?>