File: /home/cafsindia/uds.cafsinfotech.in/application/views_bk/employees/import.php
<script src="dist/jquery.progressBarTimer.js" type="text/javascript" charset="utf-8"></script>
<div class="import_excel_div">
<?php echo form_open("$controller_name/save_import/",array("id"=>'save_import',"class"=>"form-inline")); ?>
<fieldset id='FundBasicInfo' style='margin:0px;padding:8px;'>
<div class="form-group">
<?php
echo form_input( array('name'=>'module_id', 'id'=>'module_id', 'type'=>'Hidden','value'=>$module_id));
$imp_list = array(""=>"---- Select one ----",1=>"New",2=>"Amendment");
echo form_label("Import Type", 'import_type', array('class' => 'required'));
// echo form_dropdown(array('name' => 'import_type','id' =>'import_type','class' => 'form-control input-sm select2', 'readonly' =>'readonly'),$imp_list, 2);
echo form_dropdown(array('name' => 'import_type','id' =>'import_type','class' => 'form-control input-sm select2'),$imp_list);
?>
</div>
<div class="form-group">
<?php
/*echo form_input( array('name'=>'module_id', 'id'=>'module_id', 'type'=>'Hidden','value'=>$module_id));*/
echo form_label($this->lang->line('mod_excel_format'), 'excel_format', array('class' => 'required'));
echo form_dropdown(array( 'name' => 'excel_format', 'id' => 'excel_format', 'class' => 'form-control input-sm select2'));
?>
</div>
<div class="form-group">
<?php
echo form_label($this->lang->line('excel_select_file'), 'excel_select_file', array('class' => 'required'));
echo form_upload(array('name' => 'excel_select_file','id' => 'excel_select_file','class' => 'form-control input-sm','value' =>'','accept' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel,text/comma-separated-values, text/csv, application/csv' ));
?>
<a id="link" style="display: none;" href="#" title='Export All Data'><span class="fa fa-user-exit"> </span> Export Mapping Format </a>
<input type='hidden' id='excel_file_path' name='excel_file_path' value=''>
<span id='loader' style='color:#CC3366'></span>
</div>
<div class="form-group">
<?php
echo form_label("Excel Sheet Name", 'excel_sheet_name', array('class' => 'required'));
echo form_dropdown(array( 'name' => 'excel_sheet_name', 'id' => 'excel_sheet_name', 'class' => 'form-control input-sm select2'), $excel_sheet_name);
?>
</div>
<div class="form-group">
<?php
echo form_label("Excel Start Row", 'excel_start_row', array('class' => 'required'));
echo form_input(array( 'name' => 'excel_start_row', 'id' => 'excel_start_row', 'class' => 'form-control input-sm number', 'value' => '2'));
?>
</div>
<div class="form-group">
<?php
echo form_label("Excel End Row", 'excel_end_row', array('class' => ''));
echo form_input(array( 'name' => 'excel_end_row', 'id' => 'excel_end_row', 'class' => 'form-control input-sm number', 'value' => ''));
?>
</div>
</fieldset>
<?php echo form_close();?>
<div class="myProgress" style ="z-index: 10000; text-align: center;display:none;padding:50px;color:#4b6fa2;">
<i class="fa fa-spinner fa-spin fa-2x fa-fw" ></i>Please wait processing....
</div>
<hr class="left"/>
<p style="color:blue;margin-left:10px;">Please map the date format like this (DD-MM-YYYY) only...</p>
<div id='imp_table_info' style='padding:8px;overflow: auto;'>
</div>
</div>
<script type="text/javascript">
$(document).ready(function(){
select();
$('#imp_loader').hide();
var send_url = '<?php echo base_url("$controller_name/import_file");?>';
$('#save_import').validate($.extend({
submitHandler: function (form){
//Encrypted
let formData = new FormData(form);
// Convert FormData to JSON object
let jsonData = Object.fromEntries(formData.entries());
var key = '<?php echo $encKey; ?>';
var encData = encrypt(key,jsonData);
$("#submit").html("<i class='fa fa-spinner fa-spin'></i> Processing...");
$('#submit').attr('disabled','disabled');
$('#imp_loader').show();
$('.myProgress').show();
$.ajax({
url : $(form).attr('action'),
type : 'POST',
contentType : 'text/plain',
data : encData,
success: function (response){
$('.myProgress').hide();
$('#submit').attr('disabled',false);
$("#submit").html("Submit");
if(response.success){
toastr.success(response.message);
$("#imp_table_info").html(response.table_info);
$("#excel_select_file").val(null);
}else{
toastr.error(response.message);
$("#imp_table_info").html(response.table_info);
$("#excel_select_file").val(null);
//$('.modal').modal('toggle');
}
$table = $('#table_details').DataTable({
processing: true,
lengthMenu: [[10,25,50,100,500,1000,-1],[10,25,50,100,500,1000,"All"]],
"order": [],
// fixedColumns:{leftColumns: 4},
scrollX: true,
dom: '<"top"fi>rt<"bottom"lp><"clear">',
// scrollY:"360px",
// 'bSort': false,
language:{
lengthMenu:"<span style='margin-top:12px;margin-left:10px;'>Display</span> _MENU_ <span style='margin-top:12px;'>Records</span>",
searchPlaceholder: "Search records",
search: "",
},
});
$('input[type=search]').addClass('form-control input-sm');
$("select[name='table_length']" ).addClass('form-control input-sm');
$('#imp_loader').hide();
},
dataType: 'json'
});
},
rules:{
excel_format: "required",
excel_select_file: "required",
excel_sheet_name: "required",
excel_start_row:{
required: true,
min:1,
number:true,
},
}
}));
$('#excel_select_file').change(function() {
$("#loader").html("<i class='fa fa-spinner fa-spin'></i> Processing...");
$('#submit').attr('disabled','disabled');
var file_data = $('#excel_select_file').prop('files')[0];
if(file_data){
var fileName = file_data.name;
var size = file_data.size;
var key = '<?php echo $encKey; ?>';
var encData = encrypt(key,{send_from:'<?php echo $controller_name; ?>',send_for:'import',fileName:fileName,size:size});
var form_data = new FormData();
form_data.append('excel_select_file', file_data);
form_data.append('Payload', encData);
$.ajax({
url: send_url,
cache: false,
contentType: false,
processData: false,
data: form_data,
type: 'post',
success: function(result_data){
$("#loader").html("");
$('#submit').attr('disabled',false);
var rslt = JSON.parse(result_data);
if(rslt['success']){
$('#excel_file_path').val(rslt['path']);
get_excel(rslt['path']);
}else{
toastr.error(rslt['msg']);
}
}
});
}else{
toastr.error('Please select file to upload');
$("#loader").html("");
$('#submit').attr('disabled',false);
}
});
//End row checking with valid row end number
$('#excel_end_row').change(function(){
var start_row = $('#excel_start_row').val();
var end_row = $('#excel_end_row').val();
if(parseInt(end_row) < parseInt(start_row)){
toastr.error('End rows always higherthen or equal start rows?');
}
});
$('#import_type').change(function(){
var import_type = $('#import_type').val();
var module_id = $('#module_id').val();
// Encryption
var encKey = '<?php echo $encKey; ?>';
var data = {module_id:module_id,import_type:import_type};
var encData = encrypt(encKey,data);
if(import_type){
$.ajax({
type: "POST",
url: '<?php echo site_url($controller_name . "/get_excel_template"); ?>',
data:encData,
contentType: 'text/plain',
beforeSend: function () {
$("#excel_format").next('span').attr('id', 'excel_format_span');
$('#excel_format_span').html('<span style="color:#CC3366;"><i class="fa fa-spinner fa-spin fa-2x fa-fw"></i><br/>Loading...</span>');
},
success: function(data) {
var rslt = JSON.parse(data);
$('#excel_format_span').empty();
$('#excel_format').empty();
select();
var option = "";
$.each(rslt.excel_format_drop, function( key, value ) {
option += '<option value="' + key + '">' + value + '</option>';
});
$('#excel_format').append(option);
}
});
}
});
$('#excel_format').change(function(){
var module_id = $('#module_id').val();
var excel_format = $('#excel_format').val();
var controller_name = '<?php echo $controller_name; ?>';
var key = '<?php echo $encKey; ?>';
var Payload = encodeURIComponent(window.btoa(encrypt(key,{module_id:module_id,excel_format:excel_format})));
if(excel_format){
$('#link').show();
$('#link').attr("href","index.php/<?php echo $controller_name; ?>/emp_excel/"+Payload);
}else{
$('#link').hide();
}
});
//DR CODE FOR EMPLOYEE AMENMENT IMPORT EXCEL FORMAT CODE 3AUG22
var import_type = $('#import_type').val();
var module_id = $('#module_id').val();
if(import_type){
get_excel_template(import_type,module_id);
}
});
function get_excel(){
file_path = $('#excel_file_path').val();
var import_url = '<?php echo site_url("$controller_name/sheet_name");?>'
if(file_path){
var key = '<?php echo $encKey; ?>';
var encData = encrypt(key,{file_path:file_path});
var import_url = '<?php echo site_url("$controller_name/sheet_name");?>'
$.ajax({
type: 'POST',
url: import_url,
contentType : 'text/plain',
data:encData,
beforeSend: function () {
$("#excel_sheet_name").next('span').attr('id', 'excel_sheet_name_span');
$('#excel_sheet_name_span').html('<span style="color:#CC3366;"><i class="fa fa-spinner fa-spin fa-2x fa-fw"></i><br/>Loading...</span>');
},
success: function(data) {
var rslt = JSON.parse(data);
$('#excel_sheet_name_span').empty();
select();
var option = "<option value=''>-- Select Sheet Name --</option>";
for(i = 0; i < rslt.sheet_name.length; i++) {
sheet_name = rslt.sheet_name[i];
option += "<option value='"+i+"'>"+sheet_name+"</option>";
}
$("#excel_sheet_name").html(option);
}
});
}
}
//DR CODE FOR EMPLOYEE AMENMENT IMPORT EXCEL FUNCTION CODE 3AUG22
function get_excel_template(import_type,module_id){
$.ajax({
type: "POST",
url: '<?php echo site_url($controller_name . "/get_excel_template"); ?>',
data: {module_id:module_id,import_type:import_type},
beforeSend: function () {
$("#excel_format").next('span').attr('id', 'excel_format_span');
$('#excel_format_span').html('<span style="color:#CC3366;"><i class="fa fa-spinner fa-spin fa-2x fa-fw"></i><br/>Loading...</span>');
},
success: function(data) {
var rslt = JSON.parse(data);
$('#excel_format_span').empty();
select();
var option = "";
$.each(rslt.excel_format_drop, function( key, value ) {
option += '<option value="' + key + '">' + value + '</option>';
});
$('#excel_format').append(option);
}
});
}
function select(){
$('.select2').select2({
placeholder: '---- Select ----',
allowClear: true,
dropdownParent: $('.modal-dialog'),
});
$('.select2-tags').select2({
tags: true,
tokenSeparators: [',']
});
}
</script>
<style>
hr.left {
text-align: left;
margin-left:10px;
width: 5%;
border: 0.5px solid blue;
margin-bottom: 5px;
}
.import_excel_div{
height: 400px;
overflow-y: scroll !important;
}
.modal{
overflow-y: hidden !important;
}
</style>