FEAT_PENDING_ACTION_NOTIFICATION_COMPLETE_WITHOUT_UI : RV
This commit is contained in:
parent
a28cc81245
commit
9e79daeaf8
@ -25,6 +25,7 @@ $routes->get('download-kyc-docs/(:segment)', 'ClientController::downloadKYCDocum
|
||||
|
||||
$routes->get('get-notification', 'DashboardController::getDashboardNotifications');
|
||||
$routes->get('acknowledge-notification/(:segment)', 'DashboardController::acknowledgeMessage/$1');
|
||||
$routes->get('get-pending-action', 'PendingActionsController::getPendingActions');
|
||||
|
||||
|
||||
|
||||
|
||||
@ -893,14 +893,18 @@ class EmployeeController extends AdminController
|
||||
'{DOB}' => date('d-M-Y', strtotime($value['dob'])),
|
||||
'{SELF_NAME}' => $value['self'] ?? $value['name'],
|
||||
'{POLICY_DATE}' => date('d-M-Y', strtotime($value['policy_end_date'])),
|
||||
'{INSURER_NAME}' => $value['insurer_name'],
|
||||
'{POLICY_START_DATE}' => date('d-M-Y', strtotime($value['policy_start_date'])),
|
||||
'{POLICY_NO}' => date('d-M-Y', strtotime($value['policy_start_date'])),
|
||||
'{INSURER_NAME}' => strtoupper($value['insurer_name']),
|
||||
'{INSURER_LOGO}' => base_url() . 'public/uploads/logo/' . $value['insurer_logo'],
|
||||
'{FRONT_CARD}' => base_url() . 'public/uploads/template_bg/' . $value['front_card'],
|
||||
'{BACK_CARD}' => base_url() . 'public/uploads/logo/' . $value['back_card'],
|
||||
'{BACK_CARD}' => base_url() . 'public/uploads/template_bg/' . $value['back_card'],
|
||||
'{EMP_ID}' =>$value['emp_code'],
|
||||
'{CORPORATE_NAME}' =>$value['client_name'],
|
||||
'{AGE}' =>$value['emp_age'],
|
||||
'{TPA_NAME}' =>$value['emp_age'],
|
||||
'{TPA_NAME}' =>$value['tpa_name'],
|
||||
'{INSURER_BRANCH}' =>$value['insurer_branch_city'],
|
||||
'{RELATION}' =>$value['relationship'],
|
||||
'{TPA_LOGO}' => base_url() . 'public/uploads/logo/' . $value['tpa_logo'],
|
||||
];
|
||||
|
||||
@ -1037,7 +1041,30 @@ class EmployeeController extends AdminController
|
||||
}
|
||||
|
||||
|
||||
public function previewTemplate($id = null){
|
||||
|
||||
|
||||
public function previewTemplate($id = null)
|
||||
{
|
||||
|
||||
|
||||
$value = [
|
||||
'tpa_id' => 'TPA12345',
|
||||
'name' => 'John Doe',
|
||||
'uhid' => 'UHID67890',
|
||||
'gender' => 'Male',
|
||||
'dob' => '1985-05-15',
|
||||
'self' => 'John Doe',
|
||||
'policy_end_date' => '2024-12-31',
|
||||
'policy_start_date' => '2023-01-01',
|
||||
'policy_no' => 'POL1234567890',
|
||||
'insurer_name' => 'Example Insurance Company',
|
||||
'emp_code' => 'EMP001122',
|
||||
'client_name' => 'Corporate Client Inc.',
|
||||
'emp_age' => 39,
|
||||
'tpa_name' => 'Example TPA',
|
||||
'insurer_branch_city' => 'New York',
|
||||
'relationship' => 'Self'
|
||||
];
|
||||
|
||||
|
||||
$tpa_id = $this->TPAModel->where('id', $id)->first();
|
||||
@ -1055,8 +1082,26 @@ class EmployeeController extends AdminController
|
||||
$tmplt_data = file_get_contents($final_path);
|
||||
|
||||
$placeholders = [
|
||||
'{TPA_ID}' => $value['tpa_id'],
|
||||
'{NAME}' => $value['name'],
|
||||
'{UHID}' => $value['uhid'],
|
||||
'{GENDER}' => $value['gender'],
|
||||
'{DOB}' => date('d-M-Y', strtotime($value['dob'])),
|
||||
'{SELF_NAME}' => $value['self'] ?? $value['name'],
|
||||
'{POLICY_DATE}' => date('d-M-Y', strtotime($value['policy_end_date'])),
|
||||
'{POLICY_START_DATE}' => date('d-M-Y', strtotime($value['policy_start_date'])),
|
||||
'{POLICY_NO}' => $value['policy_no'],
|
||||
'{INSURER_NAME}' => strtoupper($value['insurer_name']),
|
||||
'{EMP_ID}' => $value['emp_code'],
|
||||
'{CORPORATE_NAME}' => $value['client_name'],
|
||||
'{AGE}' => $value['emp_age'],
|
||||
'{TPA_NAME}' => $value['tpa_name'],
|
||||
'{INSURER_BRANCH}' => $value['insurer_branch_city'],
|
||||
'{RELATION}' => $value['relationship'],
|
||||
'{FRONT_CARD}' => base_url() . 'public/uploads/template_bg/' . $tpa_id['front_card'],
|
||||
'{BACK_CARD}' => base_url() . 'public/uploads/logo/' . $tpa_id['back_card'],
|
||||
'{BACK_CARD}' => base_url() . 'public/uploads/template_bg/' . $tpa_id['back_card'],
|
||||
'{TPA_LOGO}' => base_url() . 'public/uploads/logo/' . $tpa_id['tpa_logo'],
|
||||
'{INSURER_LOGO}' => base_url() . 'public/assets/images/sample_logo_3.png',
|
||||
];
|
||||
|
||||
// Get the values to replace the placeholders
|
||||
@ -1070,8 +1115,6 @@ class EmployeeController extends AdminController
|
||||
|
||||
|
||||
echo $htmlContent;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -7,20 +7,351 @@ use CodeIgniter\HTTP\RequestInterface;
|
||||
use CodeIgniter\HTTP\ResponseInterface;
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
use App\Helpers\DepositHelper;
|
||||
use App\Helpers\MailHelper;
|
||||
use App\Helpers\sendMailNotification;
|
||||
|
||||
|
||||
use App\Models\EmployeeModel;
|
||||
use App\Models\EmployeePolicyModel;
|
||||
use App\Models\ClientModel;
|
||||
use App\Models\ClientPolicyModel;
|
||||
use App\Models\BatchListModel;
|
||||
use App\Models\BatchFileModel;
|
||||
use App\Models\EmpEndorsementModel;
|
||||
|
||||
use App\Controllers\Jobs;
|
||||
use App\Controllers\JobWorker;
|
||||
|
||||
use CodeIgniter\API\ResponseTrait;
|
||||
|
||||
|
||||
|
||||
class PendingActionsController extends AdminController
|
||||
{
|
||||
use ResponseTrait;
|
||||
|
||||
protected $myLogger;
|
||||
protected $employeeModel;
|
||||
protected $employeePolicyModel;
|
||||
protected $clientModel;
|
||||
protected $clientPolicyModel;
|
||||
protected $batchListModel;
|
||||
protected $batchFileModel;
|
||||
protected $empEndorsementModel;
|
||||
protected $db;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
//section
|
||||
set_session_context('PendingActionsController Called');
|
||||
|
||||
//services
|
||||
$this->myLogger = \Config\Services::mylogger();
|
||||
$this->db = \Config\Database::connect();
|
||||
|
||||
//models
|
||||
$this->employeeModel = new EmployeeModel();
|
||||
$this->employeePolicyModel = new EmployeePolicyModel();
|
||||
$this->clientModel = new ClientModel();
|
||||
$this->clientPolicyModel = new ClientPolicyModel();
|
||||
$this->batchListModel = new BatchListModel();
|
||||
$this->batchFileModel = new BatchFileModel();
|
||||
$this->empEndorsementModel = new EmpEndorsementModel();
|
||||
}
|
||||
|
||||
|
||||
public function getPendingActions()
|
||||
{
|
||||
//get pending actions like inception, corrections,deletions,SI enhanccnement to users
|
||||
|
||||
$inception = $this->getPendingActionForInception();
|
||||
$correction = $this->getPendingActionForCorrection();
|
||||
$si_enhancement = $this->getPendingActionForSIEnhancement();
|
||||
$deletion = $this->getPendingActionForDeletion();
|
||||
$tpa = $this->getPendingActionForTPAIDEmpty();
|
||||
$uhid = $this->getPendingActionForUHIDEmpty();
|
||||
|
||||
// dd($inception, $si_enhancement, $correction, $deletion, $tpa, $uhid);
|
||||
|
||||
$data = ['inception' => $inception, 'correction' => $correction, 'si_enhancement' => $si_enhancement, 'deletion' => $deletion, 'tpa' => $tpa, 'uhid' => $uhid];
|
||||
return $this->respond($data);
|
||||
}
|
||||
|
||||
|
||||
public function getPendingActionForInception()
|
||||
{
|
||||
|
||||
// Build the query
|
||||
$builder = $this->db->table('client_policy cp');
|
||||
$builder->select('
|
||||
clients.client_name,
|
||||
policies.name as policy_name,
|
||||
cp.id as client_policy_id,
|
||||
cp.client_id,
|
||||
cp.policy_id,
|
||||
cp.policy_type_id,
|
||||
cp.is_addon,
|
||||
cp.policy_status,
|
||||
cp.open_for_enrollment,
|
||||
cp.inception_type,
|
||||
COUNT(ep.id) AS employee_policy_count
|
||||
');
|
||||
$builder->join('employee_polices ep', 'cp.id = ep.client_policy_id AND ep.is_active = 1', 'left');
|
||||
$builder->join('clients', 'cp.client_id = clients.id');
|
||||
$builder->join('policies', 'cp.policy_id = policies.id');
|
||||
$builder->where('cp.is_active', 1);
|
||||
$builder->where('cp.open_for_enrollment', 1);
|
||||
$builder->where('cp.is_addon', 1);
|
||||
$builder->where('cp.policy_status', 1);
|
||||
$builder->where('cp.inception_type', 1);
|
||||
$builder->whereIn('cp.policy_type_id', [1, 2, 30]);
|
||||
$builder->groupBy('cp.id, cp.client_id, cp.policy_id, cp.policy_type_id, cp.is_addon, cp.policy_status, cp.open_for_enrollment');
|
||||
$builder->having('employee_policy_count = 0 OR employee_policy_count IS NULL');
|
||||
|
||||
// Execute the query
|
||||
$query = $builder->get();
|
||||
|
||||
// Fetch the results
|
||||
$results = $query->getResultArray();
|
||||
|
||||
return $results;
|
||||
}
|
||||
|
||||
|
||||
public function getPendingActionForCorrection()
|
||||
{
|
||||
|
||||
// Subquery builder
|
||||
$subqueryBuilder = $this->db->table('emp_endorsement')
|
||||
->select('
|
||||
|
||||
clients.client_name as client_name,
|
||||
clients.id as client_id,
|
||||
emp_endorsement.id,
|
||||
emp_endorsement.pk,
|
||||
emp_endorsement.endorsement_id,
|
||||
emp_endorsement.group_key,
|
||||
emp_endorsement.emp_code,
|
||||
emp_endorsement.table_name,
|
||||
emp_endorsement.actions,
|
||||
emp_endorsement.name,
|
||||
emp_endorsement.status,
|
||||
employees.name as ename
|
||||
')
|
||||
->join('employees', 'emp_endorsement.pk = employees.id AND employees.is_active = 1 AND employees.emp_status = \'active\'')
|
||||
->join('clients', 'employees.client_id = clients.id AND clients.is_active = 1', 'left')
|
||||
->where([
|
||||
'emp_endorsement.actions' => 'c',
|
||||
'emp_endorsement.is_active' => 1,
|
||||
'emp_endorsement.status' => 'pending',
|
||||
'emp_endorsement.endorsement_id' => null
|
||||
])
|
||||
->groupBy('emp_endorsement.pk, emp_endorsement.emp_code, emp_endorsement.table_name, emp_endorsement.actions, emp_endorsement.name');
|
||||
|
||||
// Main query builder
|
||||
$builder = $this->db->table('clients');
|
||||
$builder->select('
|
||||
subquery.client_name,
|
||||
subquery.client_id,
|
||||
COUNT(subquery.id) AS subquery_count');
|
||||
$builder->join('(' . $subqueryBuilder->getCompiledSelect() . ') AS subquery', 'clients.id = subquery.client_id', 'left');
|
||||
$builder->groupBy('clients.id');
|
||||
|
||||
// Execute the query
|
||||
$query = $builder->get();
|
||||
|
||||
// Fetch the results
|
||||
$results = $query->getResultArray();
|
||||
|
||||
|
||||
$filteredResults = array_filter($results, function($value) {
|
||||
return $value['subquery_count'] != 0;
|
||||
});
|
||||
|
||||
return $filteredResults;
|
||||
}
|
||||
|
||||
|
||||
public function getPendingActionForSIEnhancement()
|
||||
{
|
||||
|
||||
// Build the subquery
|
||||
$subqueryBuilder = $this->db->table('emp_endorsement')
|
||||
->select('
|
||||
clients.client_name as client_name,
|
||||
clients.id as client_id,
|
||||
client_policy.id as client_policy_id,
|
||||
policies.name as policy_name,
|
||||
policies.id as pid,
|
||||
emp_endorsement.id,
|
||||
emp_endorsement.pk,
|
||||
emp_endorsement.endorsement_id,
|
||||
emp_endorsement.group_key,
|
||||
emp_endorsement.emp_code,
|
||||
emp_endorsement.table_name,
|
||||
emp_endorsement.actions,
|
||||
emp_endorsement.name,
|
||||
emp_endorsement.status
|
||||
')
|
||||
->join('employee_polices', 'emp_endorsement.pk = employee_polices.id AND employee_polices.is_active = 1 AND employee_polices.status = \'active\'')
|
||||
->join('client_policy', 'employee_polices.client_policy_id = client_policy.id AND client_policy.is_active = 1 AND client_policy.policy_status = 1')
|
||||
->join('clients', 'client_policy.client_id = clients.id AND clients.is_active = 1')
|
||||
->join('policies', 'client_policy.policy_id = policies.id AND policies.is_active = 1')
|
||||
->where([
|
||||
'emp_endorsement.actions' => 'si',
|
||||
'emp_endorsement.is_active' => 1,
|
||||
'emp_endorsement.status' => 'pending',
|
||||
'emp_endorsement.endorsement_id' => null
|
||||
])
|
||||
->groupBy('emp_endorsement.pk, emp_endorsement.emp_code, emp_endorsement.table_name, emp_endorsement.actions, emp_endorsement.name');
|
||||
|
||||
// Build the main query
|
||||
$builder = $this->db->table('clients');
|
||||
$builder->select('
|
||||
clients.id,
|
||||
subquery.client_name,
|
||||
subquery.client_id,
|
||||
subquery.client_policy_id,
|
||||
subquery.policy_name,
|
||||
COUNT(subquery.id) AS subquery_count');
|
||||
$builder->join('(' . $subqueryBuilder->getCompiledSelect() . ') AS subquery', 'clients.id = subquery.client_id', 'left');
|
||||
$builder->groupBy('clients.id');
|
||||
|
||||
// Execute the query
|
||||
$query = $builder->get();
|
||||
|
||||
// Fetch the results
|
||||
$results = $query->getResultArray();
|
||||
|
||||
|
||||
$filteredResults = array_filter($results, function($value) {
|
||||
return $value['subquery_count'] != 0;
|
||||
});
|
||||
|
||||
return $filteredResults;
|
||||
}
|
||||
|
||||
|
||||
public function getPendingActionForDeletion()
|
||||
{
|
||||
|
||||
// Build the subquery
|
||||
$subqueryBuilder = $this->db->table('emp_endorsement')
|
||||
->select('
|
||||
clients.client_name as client_name,
|
||||
clients.id as client_id,
|
||||
client_policy.id as client_policy_id,
|
||||
policies.name as policy_name,
|
||||
policies.id as pid,
|
||||
emp_endorsement.pk,
|
||||
emp_endorsement.id,
|
||||
emp_endorsement.group_key,
|
||||
emp_endorsement.emp_code,
|
||||
emp_endorsement.table_name,
|
||||
emp_endorsement.actions,
|
||||
emp_endorsement.name,
|
||||
emp_endorsement.status
|
||||
')
|
||||
->join('employee_polices', 'emp_endorsement.pk = employee_polices.id AND employee_polices.is_active = 1 AND employee_polices.status = \'active\' AND emp_endorsement.table_name = \'employee_polices\'', 'left')
|
||||
->join('client_policy', 'employee_polices.client_policy_id = client_policy.id AND client_policy.is_active = 1 AND client_policy.policy_status = 1', 'left')
|
||||
->join('clients', 'client_policy.client_id = clients.id AND clients.is_active = 1', 'left')
|
||||
->join('policies', 'client_policy.policy_id = policies.id AND policies.is_active = 1', 'left')
|
||||
->where([
|
||||
'emp_endorsement.actions' => 'd',
|
||||
'emp_endorsement.is_active' => 1,
|
||||
'emp_endorsement.status' => 'pending',
|
||||
'emp_endorsement.endorsement_id' => null,
|
||||
'emp_endorsement.table_name' => 'employee_polices'
|
||||
])
|
||||
->groupBy('emp_endorsement.pk, emp_endorsement.emp_code, emp_endorsement.actions, emp_endorsement.name');
|
||||
|
||||
// Build the main query
|
||||
$builder = $this->db->table('clients');
|
||||
$builder->select('
|
||||
clients.id,
|
||||
subquery.client_name,
|
||||
subquery.client_id,
|
||||
subquery.client_policy_id,
|
||||
subquery.policy_name,
|
||||
COUNT(subquery.id) AS subquery_count');
|
||||
$builder->join('(' . $subqueryBuilder->getCompiledSelect() . ') AS subquery', 'clients.id = subquery.client_id', 'left');
|
||||
$builder->groupBy('clients.id');
|
||||
|
||||
// Execute the query
|
||||
$query = $builder->get();
|
||||
|
||||
// Fetch the results
|
||||
$results = $query->getResultArray();
|
||||
|
||||
$filteredResults = array_filter($results, function($value) {
|
||||
return $value['subquery_count'] != 0;
|
||||
});
|
||||
|
||||
return $filteredResults;
|
||||
}
|
||||
|
||||
|
||||
public function getPendingActionForUHIDEmpty()
|
||||
{
|
||||
// Build the query
|
||||
$builder = $this->db->table('employee_polices');
|
||||
$builder->select('
|
||||
employee_polices.client_policy_id,
|
||||
employee_polices.uhid,
|
||||
clients.short_name,
|
||||
clients.client_name,
|
||||
policies.name as policy_name,
|
||||
clients.id as client_id
|
||||
');
|
||||
$builder->join('client_policy', 'employee_polices.client_policy_id = client_policy.id AND client_policy.is_active = 1 AND client_policy.policy_status = 1');
|
||||
$builder->join('clients', 'clients.id = client_policy.client_id');
|
||||
$builder->join('policies', 'policies.id = client_policy.policy_id');
|
||||
$builder->where('employee_polices.uhid', null);
|
||||
$builder->where('employee_polices.status', 'active');
|
||||
$builder->where('employee_polices.is_active', 1);
|
||||
$builder->groupBy('employee_polices.client_policy_id');
|
||||
|
||||
// Execute the query
|
||||
$query = $builder->get();
|
||||
|
||||
// Fetch the results
|
||||
$results = $query->getResultArray();
|
||||
|
||||
return $results;
|
||||
}
|
||||
|
||||
|
||||
public function getPendingActionForTPAIDEmpty()
|
||||
{
|
||||
|
||||
// Build the query
|
||||
$builder = $this->db->table('employee_polices');
|
||||
$builder->select('
|
||||
|
||||
employee_polices.client_policy_id,
|
||||
employee_polices.uhid,
|
||||
employee_polices.tpa_id,
|
||||
clients.short_name,
|
||||
clients.client_name,
|
||||
policies.name as policy_name,
|
||||
clients.id as client_id
|
||||
');
|
||||
$builder->join('client_policy', 'employee_polices.client_policy_id = client_policy.id AND client_policy.is_active = 1 AND client_policy.policy_status = 1');
|
||||
$builder->join('clients', 'clients.id = client_policy.client_id');
|
||||
$builder->join('policies', 'policies.id = client_policy.policy_id');
|
||||
$builder->where('employee_polices.tpa_id', null);
|
||||
$builder->where('employee_polices.uhid IS NOT NULL');
|
||||
$builder->where('employee_polices.status', 'active');
|
||||
$builder->where('employee_polices.is_active', 1);
|
||||
$builder->groupBy('employee_polices.client_policy_id');
|
||||
|
||||
// Execute the query
|
||||
$query = $builder->get();
|
||||
|
||||
// Fetch the results
|
||||
$results = $query->getResultArray();
|
||||
|
||||
return $results;
|
||||
}
|
||||
}
|
||||
|
||||
@ -731,6 +731,7 @@ class EmployeePolicyModel extends Model
|
||||
clients.short_name AS client_short_name,
|
||||
|
||||
cp.policy_start_date,
|
||||
cp.policy_no,
|
||||
|
||||
policies.name AS policy_name,
|
||||
|
||||
|
||||
@ -2,6 +2,10 @@
|
||||
.table-responsive {
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
.reload:hover {
|
||||
cursor: pointer;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="col-12">
|
||||
@ -40,7 +44,7 @@
|
||||
<tr>
|
||||
<td><b><?php echo ($key + 1) ?></b></td>
|
||||
<td><?php echo $file['batch_code'] ?></td>
|
||||
<td data-toggle="tooltip" data-placement="top" title="<?php echo $file['file_name'] ?>"><?php echo strlen($file['file_name']) > 5 ? substr($file['file_name'], 0, 10) . "..." : $file['file_name'] ?></td>
|
||||
<td class="reload" data-toggle="tooltip" data-placement="top" title="<?php echo $file['file_name'] ?>"><?php echo strlen($file['file_name']) > 5 ? substr($file['file_name'], 0, 10) . "..." : $file['file_name'] ?></td>
|
||||
<td><?php echo $file['client_short_name'] ?></td>
|
||||
<td><?php echo $file['policy_name'] ?></td>
|
||||
<td><?php echo $file['event_type'] ?></td>
|
||||
|
||||
@ -193,6 +193,7 @@ function appendPolicies(data) {
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
$('#clients').on('change', function() {
|
||||
var selectedClient = $(this).val();
|
||||
console.log('selectedClient', selectedClient);
|
||||
|
||||
@ -166,11 +166,15 @@ $(document).ready(function() {
|
||||
// Initialize select2
|
||||
$("#client_id").select2();
|
||||
$("#policy_id").select2();
|
||||
|
||||
});
|
||||
|
||||
// Declare a global variable to store API response data
|
||||
var clientPolicies = [];
|
||||
|
||||
var client_id_param = 0;
|
||||
var client_policy_param = 0;
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
console.log("document loaded");
|
||||
@ -278,8 +282,42 @@ $(document).ready(function() {
|
||||
});
|
||||
|
||||
$(window).on("load", function() {
|
||||
|
||||
console.log("window loaded");
|
||||
fetchClientPolicies();
|
||||
|
||||
// Get the current page URL
|
||||
const url = window.location.href;
|
||||
|
||||
// Create a new URL object
|
||||
const urlObject = new URL(url);
|
||||
|
||||
// Use URLSearchParams to get the query parameters
|
||||
const params = new URLSearchParams(urlObject.search);
|
||||
|
||||
// Get the value of 'client_id' and 'client_policy_id'
|
||||
client_id_param = params.get('client_id');
|
||||
client_policy_param = params.get('client_policy_id');
|
||||
inception_param = params.get('actions');
|
||||
|
||||
console.log('client_id:', client_id_param);
|
||||
console.log('client_policy_id:', client_policy_param);
|
||||
console.log('inception_param:', inception_param);
|
||||
|
||||
if(inception_param != null){
|
||||
$('#upload-action-type').val('inception').change()
|
||||
|
||||
var selectedValue = inception_param;
|
||||
if (selectedValue !== '') {
|
||||
$('#file_upload').show();
|
||||
var fullURL = '<?= base_url("util/download-excel/"); ?>' + selectedValue;
|
||||
$('#excel_download').attr('href', fullURL);
|
||||
} else {
|
||||
$('#file_upload').hide();
|
||||
$('#excel_download').removeAttr('href');
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
@ -304,6 +342,20 @@ function fetchClientPolicies() {
|
||||
clientPolicies = (response.data);
|
||||
// console.log(clientPolicies);
|
||||
appendClients(clientPolicies);
|
||||
|
||||
|
||||
//this function for reselect the policy
|
||||
setTimeout(function() {
|
||||
if (client_id_param != null ) {
|
||||
var foundPolicies = clientPolicies.find(function(item) {
|
||||
console.log(typeof item.id)
|
||||
return item.id == client_id_param;
|
||||
});
|
||||
appendPolicies(foundPolicies.policies);
|
||||
}
|
||||
}, 500);
|
||||
//end
|
||||
|
||||
} catch (error) {
|
||||
console.error('Error parsing API response data:', error);
|
||||
}
|
||||
@ -462,26 +514,39 @@ function fetchFileError(file_id) {
|
||||
|
||||
|
||||
function appendClients(data) {
|
||||
|
||||
console.log('client_id_param', client_id_param)
|
||||
|
||||
$.each(data, function(index, item) {
|
||||
$('#client_id').append($('<option>', {
|
||||
var option = $('<option>', {
|
||||
value: item.id,
|
||||
text: item.client_name
|
||||
}));
|
||||
});
|
||||
if (client_id_param == item.id) {
|
||||
option.attr('selected', true);
|
||||
}
|
||||
$('#client_id').append(option);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
function appendPolicies(data) {
|
||||
|
||||
$('#policy_id').empty();
|
||||
$('#policy_id').append($('<option>', {
|
||||
value: '',
|
||||
value: '0',
|
||||
text: 'Select'
|
||||
}));
|
||||
|
||||
$.each(data, function(index, item) {
|
||||
$('#policy_id').append($('<option>', {
|
||||
var option = $('<option>', {
|
||||
value: item.id,
|
||||
text: item.name
|
||||
}));
|
||||
});
|
||||
if (client_policy_param == item.id) {
|
||||
option.attr('selected', true);
|
||||
}
|
||||
$('#policy_id').append(option);
|
||||
});
|
||||
}
|
||||
|
||||
@ -510,6 +575,7 @@ function objectToQueryString(obj) {
|
||||
}
|
||||
|
||||
function fetchEmpolyeeList(event) {
|
||||
|
||||
event.preventDefault(); // Prevent default action
|
||||
|
||||
var client_id = $('#client_id').val();
|
||||
|
||||
@ -46,4 +46,7 @@
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
@ -12,11 +12,8 @@
|
||||
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion">
|
||||
<div class="card-body">
|
||||
<!-- <div class="text-center"> -->
|
||||
<form class="parsley-examples" id="import_export_excel_form"
|
||||
action="<?php echo base_url().'util/import-export'?>" method="post"
|
||||
enctype="multipart/form-data">
|
||||
<input type="hidden" name="<?= csrf_token() ?>" value="<?= csrf_hash() ?>"
|
||||
id="csrf_token">
|
||||
<form class="parsley-examples" id="import_export_excel_form" action="<?php echo base_url() . 'util/import-export' ?>" method="post" enctype="multipart/form-data">
|
||||
<input type="hidden" name="<?= csrf_token() ?>" value="<?= csrf_hash() ?>" id="csrf_token">
|
||||
<div class="form-group">
|
||||
<div class="form-row">
|
||||
<div class="form-group col-md-4">
|
||||
@ -27,7 +24,7 @@
|
||||
</div>
|
||||
|
||||
<div class="form-group col-md-4">
|
||||
<label>Policy<span class="text-danger">*</span></label> <br />
|
||||
<label>Policy<span class="text-danger" id="policy_danger">*</span></label> <br />
|
||||
<select name="client_policy_id" class="form-control" id="policy" required>
|
||||
<option value="">Select</option>
|
||||
</select>
|
||||
@ -35,14 +32,11 @@
|
||||
|
||||
<div class="form-group col-md-4">
|
||||
<label>Insurer/TPA Data<span class="text-danger">*</span></label> <br />
|
||||
<select name="insurer_or_tpa" class="form-control" id="insurer_or_tpa"
|
||||
required>
|
||||
<select name="insurer_or_tpa" class="form-control" id="insurer_or_tpa" required>
|
||||
<option value="">Select</option>
|
||||
<?php
|
||||
if(isset($insurer_or_tpa) && count($insurer_or_tpa))
|
||||
{
|
||||
foreach($insurer_or_tpa as $key => $action)
|
||||
{
|
||||
if (isset($insurer_or_tpa) && count($insurer_or_tpa)) {
|
||||
foreach ($insurer_or_tpa as $key => $action) {
|
||||
echo "<option value=" . $key . ">" . $action . "</option>";
|
||||
}
|
||||
}
|
||||
@ -58,10 +52,8 @@
|
||||
<select name="action_type" class="form-control" id="action_type" required>
|
||||
<option value="">Select</option>
|
||||
<?php
|
||||
if(isset($import_or_export) && count($import_or_export))
|
||||
{
|
||||
foreach($import_or_export as $key => $action)
|
||||
{
|
||||
if (isset($import_or_export) && count($import_or_export)) {
|
||||
foreach ($import_or_export as $key => $action) {
|
||||
echo "<option value=" . $key . ">" . $action . "</option>";
|
||||
}
|
||||
}
|
||||
@ -71,14 +63,11 @@
|
||||
|
||||
<div class="form-group col-md-4">
|
||||
<label>Event<span class="text-danger">*</span></label> <br />
|
||||
<select name="event_type" class="form-control" id="upload-action-type"
|
||||
required>
|
||||
<select name="event_type" class="form-control" id="event_type" required>
|
||||
<option value="">Select</option>
|
||||
<?php
|
||||
if(isset($events) && count($events))
|
||||
{
|
||||
foreach($events as $key => $action)
|
||||
{
|
||||
if (isset($events) && count($events)) {
|
||||
foreach ($events as $key => $action) {
|
||||
echo "<option value=" . $key . ">" . $action . "</option>";
|
||||
}
|
||||
}
|
||||
@ -93,25 +82,19 @@
|
||||
<div class="form-row" id="import_excel_btn">
|
||||
<div class="form-group col-md-3">
|
||||
<label>Upload file</label>
|
||||
<input type="file" name="import_file_data" id="import_file"
|
||||
accept=" application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel,application/vnd.oasis.opendocument.spreadsheet"
|
||||
required>
|
||||
<input type="file" name="import_file_data" id="import_file" accept=" application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel,application/vnd.oasis.opendocument.spreadsheet" required>
|
||||
</div>
|
||||
<div class="d-flex align-items-center justify-content-start"
|
||||
style="margin-top: 18px;">
|
||||
<div class="d-flex align-items-center justify-content-start" style="margin-top: 18px;">
|
||||
<div class="form-group col-md-3">
|
||||
<button id="emp_form_submit_button" type="submit"
|
||||
class="btn btn-primary waves-effect waves-light justify-content-end">Upload</button>
|
||||
<button id="emp_form_submit_button" type="submit" class="btn btn-primary waves-effect waves-light justify-content-end">Upload</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row" id="export_excel_btn">
|
||||
<div class="d-flex align-items-center justify-content-start"
|
||||
style="margin-top: 18px;">
|
||||
<div class="d-flex align-items-center justify-content-start" style="margin-top: 18px;">
|
||||
<div class="form-group col-md-3">
|
||||
<button id="emp_form_submit_button_2" type="submit"
|
||||
class="btn btn-primary waves-effect waves-light justify-content-end">Download</button>
|
||||
<button id="emp_form_submit_button_2" type="submit" class="btn btn-primary waves-effect waves-light justify-content-end">Download</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -134,7 +117,6 @@
|
||||
|
||||
|
||||
<script>
|
||||
|
||||
$(document).ready(function() {
|
||||
// Initialize select2
|
||||
$("#client").select2();
|
||||
@ -145,6 +127,9 @@ $(document).ready(function() {
|
||||
// Declare a global variable to store API response data
|
||||
var clientPolicies = [];
|
||||
|
||||
var client_id_param2 = 0;
|
||||
var client_policy_param2 = 0;
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
<?php if (session()->has('error')) : ?>
|
||||
@ -229,7 +214,62 @@ $(document).ready(function() {
|
||||
|
||||
|
||||
$(window).on("load", function() {
|
||||
|
||||
fetchClientPolicies2();
|
||||
|
||||
// Get the current page URL
|
||||
const url = window.location.href;
|
||||
|
||||
// Create a new URL object
|
||||
const urlObject = new URL(url);
|
||||
|
||||
// Use URLSearchParams to get the query parameters
|
||||
const params = new URLSearchParams(urlObject.search);
|
||||
|
||||
|
||||
|
||||
// Get the value of 'client_id' and 'client_policy_id'
|
||||
client_id_param2 = params.get('client_id');
|
||||
client_policy_param2 = params.get('client_policy_id');
|
||||
actions = params.get('actions');
|
||||
insurer_or_tpa = params.get('insurer_or_tpa');
|
||||
event = params.get('event');
|
||||
|
||||
|
||||
|
||||
console.log('client_id2:', client_id_param2);
|
||||
console.log('client_policy_id2:', client_policy_param2);
|
||||
console.log('actions:', actions);
|
||||
console.log('insurer_or_tpa:', insurer_or_tpa);
|
||||
console.log('event:', event);
|
||||
|
||||
|
||||
|
||||
if (inception_param != null) {
|
||||
|
||||
$('#action_type').val(actions).change()
|
||||
$('#event_type').val(event).change()
|
||||
$('#insurer_or_tpa').val(insurer_or_tpa).change()
|
||||
|
||||
var selectedValue = actions;
|
||||
console.log(selectedValue);
|
||||
|
||||
if (selectedValue == '') {
|
||||
$('#import_excel_btn').hide();
|
||||
$('#export_excel_btn').hide();
|
||||
} else if (selectedValue == 'import') {
|
||||
$('#import_file').prop('required', true);
|
||||
$('#import_file').attr('name', 'import_file_data');
|
||||
$('#import_excel_btn').show();
|
||||
$('#export_excel_btn').hide();
|
||||
} else if (selectedValue == 'export') {
|
||||
$('#import_file').removeAttr('name');
|
||||
$('#import_file').prop('required', false);
|
||||
$('#import_excel_btn').hide();
|
||||
$('#export_excel_btn').show();
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
@ -254,6 +294,19 @@ function fetchClientPolicies2() {
|
||||
clientPolicies = (response.data);
|
||||
console.log(clientPolicies);
|
||||
appendClients2(clientPolicies);
|
||||
|
||||
//this function for reselect the policy
|
||||
setTimeout(function() {
|
||||
if (client_id_param2 != null) {
|
||||
var foundPolicies = clientPolicies.find(function(item) {
|
||||
console.log(typeof item.id)
|
||||
return item.id == client_id_param2;
|
||||
});
|
||||
appendPolicies2(foundPolicies.policies);
|
||||
}
|
||||
}, 500);
|
||||
//end
|
||||
|
||||
} catch (error) {
|
||||
console.error('Error parsing API response data:', error);
|
||||
}
|
||||
@ -273,26 +326,39 @@ function fetchClientPolicies2() {
|
||||
|
||||
|
||||
function appendClients2(data) {
|
||||
|
||||
console.log('client_id_param2', client_id_param2)
|
||||
|
||||
$.each(data, function(index, item) {
|
||||
$('#client').append($('<option>', {
|
||||
var option = $('<option>', {
|
||||
value: item.id,
|
||||
text: item.client_name
|
||||
}));
|
||||
});
|
||||
if (client_id_param2 == item.id) {
|
||||
option.attr('selected', true);
|
||||
}
|
||||
$('#client').append(option);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
function appendPolicies2(data) {
|
||||
|
||||
$('#policy').empty();
|
||||
$('#policy').append($('<option>', {
|
||||
value: '',
|
||||
value: '0',
|
||||
text: 'Select'
|
||||
}));
|
||||
|
||||
$.each(data, function(index, item) {
|
||||
$('#policy').append($('<option>', {
|
||||
var option = $('<option>', {
|
||||
value: item.id,
|
||||
text: item.name
|
||||
}));
|
||||
});
|
||||
if (client_policy_param2 == item.id) {
|
||||
option.attr('selected', true);
|
||||
}
|
||||
$('#policy').append(option);
|
||||
});
|
||||
}
|
||||
|
||||
@ -373,5 +439,23 @@ document.getElementById('toggleIcon').addEventListener('click', function() {
|
||||
icon.classList.toggle('mdi-chevron-up');
|
||||
});
|
||||
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
$('#event_type').change(function() {
|
||||
var selectedVal = $(this).val();
|
||||
console.log(selectedVal);
|
||||
|
||||
if (selectedVal === 'correction') {
|
||||
$('#policy').prop('required', false);
|
||||
$('#policy_danger').hide();
|
||||
} else {
|
||||
$('#policy').prop('required', true);
|
||||
$('#policy_danger').show();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
//--------------------------------------------------------------------------------------
|
||||
</script>
|
||||
@ -35,23 +35,31 @@
|
||||
|
||||
<!-- Right Sidebar -->
|
||||
<div class="right-bar">
|
||||
<div data-simplebar class="h-100">
|
||||
|
||||
<!-- Tab panes -->
|
||||
<h6 class="font-weight-medium px-3 m-0 py-2 font-13 text-uppercase bg-light">
|
||||
<i class="mdi mdi-message-text-outline font-22"></i><span class="" style="position: relative;bottom: 5px;left: 60px;">Notification</span>
|
||||
<div class="h-100">
|
||||
<!-- Notifications Header -->
|
||||
<h6 class="font-weight-medium px-3 m-0 py-2 font-13 text-uppercase bg-light fixed-header">
|
||||
<i class="mdi mdi-message-text-outline font-22"></i>
|
||||
<span class="header-title">Notification</span>
|
||||
</h6>
|
||||
|
||||
<div id="header-bar">
|
||||
<div>
|
||||
<ul class="list-unstyled" id="messages-list"></ul>
|
||||
</div>
|
||||
<div class="scrollable-content">
|
||||
<ul class="list-unstyled" id="messages-list">
|
||||
<!-- Notifications list items go here -->
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div> <!-- end slimscroll-menu-->
|
||||
<!-- Pending Action Header -->
|
||||
<h6 class="font-weight-medium px-3 m-0 py-2 font-13 text-uppercase bg-light fixed-header">
|
||||
<i class="mdi mdi-format-list-checks font-22"></i>
|
||||
<span class="header-title">Pending Action</span>
|
||||
</h6>
|
||||
<div class="scrollable-content">
|
||||
<ul class="list-unstyled" id="messages-list-2">
|
||||
<!-- Pending action list items go here -->
|
||||
</ul>
|
||||
</div>
|
||||
</div> <!-- end simplebar -->
|
||||
</div>
|
||||
|
||||
<!-- /Right-bar -->
|
||||
|
||||
<!-- Right bar overlay-->
|
||||
@ -138,30 +146,35 @@
|
||||
|
||||
|
||||
<script>
|
||||
|
||||
var pullNotificationCount = 0;
|
||||
var pendingActionCount = 0;
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
|
||||
function fetchMessages() {
|
||||
|
||||
$.ajax({
|
||||
url: '<?= base_url('get-notification/') ?>',
|
||||
url: '<?= base_url('get-notification') ?>',
|
||||
method: 'GET',
|
||||
success: function(response) {
|
||||
|
||||
console.log('responce', response)
|
||||
|
||||
let unreadCount = 0;
|
||||
let messagesList = $('#messages-list');
|
||||
messagesList.empty();
|
||||
|
||||
var html = "";
|
||||
|
||||
pullNotificationCount = response.length
|
||||
|
||||
localStorage.setItem('pullNotificationCount', pullNotificationCount)
|
||||
|
||||
response.forEach(message => {
|
||||
|
||||
if (!message.is_read) {
|
||||
unreadCount++;
|
||||
}
|
||||
// if (!message.is_read) {
|
||||
// unreadCount++;
|
||||
// }
|
||||
|
||||
var jasonDecodeData = JSON.parse(message.message_text)
|
||||
|
||||
@ -213,10 +226,15 @@
|
||||
$('[data-toggle="tooltip"]').tooltip();
|
||||
});
|
||||
});
|
||||
|
||||
$('#notification_count').html(unreadCount);
|
||||
}
|
||||
});
|
||||
|
||||
let PNCount = parseInt(localStorage.getItem('pullNotificationCount'));
|
||||
let PACount = parseInt(localStorage.getItem('pendingActionCount'));
|
||||
|
||||
totalcount = PNCount + PACount
|
||||
$('#notification_count').html(totalcount);
|
||||
|
||||
}
|
||||
|
||||
function acknowledgeMessage(messageId) {
|
||||
@ -265,6 +283,369 @@
|
||||
setInterval(fetchMessages, 5000); // Fetch messages every minute
|
||||
});
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
function fetchPendingAction() {
|
||||
|
||||
$.ajax({
|
||||
|
||||
url: '<?= base_url('get-pending-action') ?>',
|
||||
method: 'GET',
|
||||
success: function(response) {
|
||||
|
||||
if(response.length == 0){
|
||||
|
||||
pendingActionCount = 0;
|
||||
localStorage.setItem('pendingActionCount', pendingActionCount);
|
||||
}
|
||||
|
||||
for (let key in response) {
|
||||
pendingActionCount += response[key].length;
|
||||
}
|
||||
|
||||
let messagesList = $('#messages-list-2');
|
||||
messagesList.empty();
|
||||
|
||||
console.log(response);
|
||||
|
||||
response.inception.forEach(function(item, index) {
|
||||
|
||||
var queryParams = {
|
||||
client_id: item.client_id,
|
||||
client_policy_id: item.client_policy_id,
|
||||
actions: 'inception'
|
||||
};
|
||||
|
||||
const queryString = objectToQueryString(queryParams);
|
||||
|
||||
var url = 'employee/upload?' + queryString
|
||||
console.log(url)
|
||||
|
||||
|
||||
var toast_body_css = 'background : #bfd7eb !important;';
|
||||
var toast_head_css = 'background-color : rgb(2, 168, 181) !important; color :#000; border-bottom: 0;';
|
||||
var toast_icon = 'mdi mdi-checkbox-marked-circle mr-auto';
|
||||
var toast_status_word = 'Info';
|
||||
|
||||
var toast_body_data = item.client_name + ' - ' + item.policy_name;
|
||||
|
||||
console.log(toast_body_data);
|
||||
|
||||
var html = ` <li data-id="" data-url="${url}">
|
||||
<div class="p-3">
|
||||
<div class="toast fade show" role="alert" aria-live="assertive" aria-atomic="true" data-toggle="toast">
|
||||
<div class="toast-header " style="${toast_head_css}" >
|
||||
<strong class="${toast_icon}"> ${toast_status_word}</strong>
|
||||
<button type="button" class="ml-2 mb-1 close rm_msg" data-dismiss="toast" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="toast-body" style="${toast_body_css}">
|
||||
<strong>Inception Pending</strong><br><br>
|
||||
<small style="position: relative;bottom: 8px;">${toast_body_data}</small>
|
||||
<div class="toast-footer">
|
||||
<a href="#" class="redirect_page" data-toggle="tooltip" data-placement="bottom" title="Click Go to the Page"><small style="margin-right: 142px;position: relative;top: 2px;">see more</small></a>
|
||||
<small style="position: relative;top: 2px;left: 5px;font-size: 10px;"></small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>`
|
||||
|
||||
|
||||
messagesList.append(html);
|
||||
|
||||
});
|
||||
|
||||
response.correction.forEach(function(item, index) {
|
||||
|
||||
var queryParams = {
|
||||
client_id: item.client_id,
|
||||
event: 'correction',
|
||||
actions: 'export',
|
||||
insurer_or_tpa: 'tpa',
|
||||
};
|
||||
|
||||
const queryString = objectToQueryString(queryParams);
|
||||
|
||||
var url = 'employee/upload?' + queryString + '#KYC-DOC-tab'
|
||||
console.log(url)
|
||||
|
||||
|
||||
var toast_body_css = 'background : #bfd7eb !important;';
|
||||
var toast_head_css = 'background-color : rgb(2, 168, 181) !important; color :#000; border-bottom: 0;';
|
||||
var toast_icon = 'mdi mdi-checkbox-marked-circle mr-auto';
|
||||
var toast_status_word = 'Info';
|
||||
|
||||
var toast_body_data = item.client_name;
|
||||
console.log(toast_body_data);
|
||||
|
||||
var html = ` <li data-id="" data-url="${url}">
|
||||
<div class="p-3">
|
||||
<div class="toast fade show" role="alert" aria-live="assertive" aria-atomic="true" data-toggle="toast">
|
||||
<div class="toast-header " style="${toast_head_css}" >
|
||||
<strong class="${toast_icon}"> ${toast_status_word}</strong>
|
||||
<button type="button" class="ml-2 mb-1 close rm_msg" data-dismiss="toast" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="toast-body" style="${toast_body_css}">
|
||||
<strong>Correction Pending</strong><br><br>
|
||||
<small style="position: relative;bottom: 8px;">${toast_body_data}</small>
|
||||
<div class="toast-footer">
|
||||
<a href="#" class="redirect_page" data-toggle="tooltip" data-placement="bottom" title="Click Go to the Page"><small style="margin-right: 142px;position: relative;top: 2px;">see more</small></a>
|
||||
<small style="position: relative;top: 2px;left: 5px;font-size: 10px;"></small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>`
|
||||
|
||||
|
||||
messagesList.append(html);
|
||||
|
||||
});
|
||||
|
||||
response.deletion.forEach(function(item, index) {
|
||||
|
||||
var queryParams = {
|
||||
|
||||
client_id: item.client_id,
|
||||
client_policy_id: item.client_policy_id,
|
||||
event: 'deletion',
|
||||
actions: 'export',
|
||||
insurer_or_tpa: 'tpa',
|
||||
|
||||
};
|
||||
|
||||
const queryString = objectToQueryString(queryParams);
|
||||
|
||||
var url = 'employee/upload?' + queryString + '#KYC-DOC-tab'
|
||||
console.log(url)
|
||||
|
||||
|
||||
var toast_body_css = 'background : #bfd7eb !important;';
|
||||
var toast_head_css = 'background-color : rgb(2, 168, 181) !important; color :#000; border-bottom: 0;';
|
||||
var toast_icon = 'mdi mdi-checkbox-marked-circle mr-auto';
|
||||
var toast_status_word = 'Info';
|
||||
|
||||
var toast_body_data = item.client_name + ' - ' + item.policy_name;
|
||||
console.log(toast_body_data);
|
||||
|
||||
var html = ` <li data-id="" data-url="${url}">
|
||||
<div class="p-3">
|
||||
<div class="toast fade show" role="alert" aria-live="assertive" aria-atomic="true" data-toggle="toast">
|
||||
<div class="toast-header " style="${toast_head_css}" >
|
||||
<strong class="${toast_icon}"> ${toast_status_word}</strong>
|
||||
<button type="button" class="ml-2 mb-1 close rm_msg" data-dismiss="toast" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="toast-body" style="${toast_body_css}">
|
||||
<strong>Deletion Pending</strong><br><br>
|
||||
<small style="position: relative;bottom: 8px;">${toast_body_data}</small>
|
||||
<div class="toast-footer">
|
||||
<a href="#" class="redirect_page" data-toggle="tooltip" data-placement="bottom" title="Click Go to the Page"><small style="margin-right: 142px;position: relative;top: 2px;">see more</small></a>
|
||||
<small style="position: relative;top: 2px;left: 5px;font-size: 10px;"></small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>`
|
||||
|
||||
|
||||
messagesList.append(html);
|
||||
|
||||
});
|
||||
|
||||
response.si_enhancement.forEach(function(item, index) {
|
||||
|
||||
var queryParams = {
|
||||
client_id: item.client_id,
|
||||
client_policy_id: item.client_policy_id,
|
||||
event: 'si_enhancement',
|
||||
actions: 'export',
|
||||
insurer_or_tpa: 'tpa',
|
||||
};
|
||||
|
||||
const queryString = objectToQueryString(queryParams);
|
||||
|
||||
var url = 'employee/upload?' + queryString + '#KYC-DOC-tab'
|
||||
console.log(url)
|
||||
|
||||
|
||||
var toast_body_css = 'background : #bfd7eb !important;';
|
||||
var toast_head_css = 'background-color : rgb(2, 168, 181) !important; color :#000; border-bottom: 0;';
|
||||
var toast_icon = 'mdi mdi-checkbox-marked-circle mr-auto';
|
||||
var toast_status_word = 'Info';
|
||||
|
||||
var toast_body_data = item.client_name + ' - ' + item.policy_name;
|
||||
console.log(toast_body_data);
|
||||
|
||||
var html = ` <li data-id="" data-url="${url}">
|
||||
<div class="p-3">
|
||||
<div class="toast fade show" role="alert" aria-live="assertive" aria-atomic="true" data-toggle="toast">
|
||||
<div class="toast-header " style="${toast_head_css}" >
|
||||
<strong class="${toast_icon}"> ${toast_status_word}</strong>
|
||||
<button type="button" class="ml-2 mb-1 close rm_msg" data-dismiss="toast" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="toast-body" style="${toast_body_css}">
|
||||
<strong>SI Enhancement Pending</strong><br><br>
|
||||
<small style="position: relative;bottom: 8px;">${toast_body_data}</small>
|
||||
<div class="toast-footer">
|
||||
<a href="#" class="redirect_page" data-toggle="tooltip" data-placement="bottom" title="Click Go to the Page"><small style="margin-right: 142px;position: relative;top: 2px;">see more</small></a>
|
||||
<small style="position: relative;top: 2px;left: 5px;font-size: 10px;"></small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>`
|
||||
|
||||
|
||||
messagesList.append(html);
|
||||
|
||||
});
|
||||
|
||||
response.tpa.forEach(function(item, index) {
|
||||
|
||||
var queryParams = {
|
||||
client_id: item.client_id,
|
||||
client_policy_id: item.client_policy_id,
|
||||
event: 'inception',
|
||||
insurer_or_tpa: 'tpa',
|
||||
actions: 'export',
|
||||
};
|
||||
|
||||
const queryString = objectToQueryString(queryParams);
|
||||
|
||||
var url = 'employee/upload?' + queryString + '#KYC-DOC-tab'
|
||||
console.log(url)
|
||||
|
||||
|
||||
var toast_body_css = 'background : #bfd7eb !important;';
|
||||
var toast_head_css = 'background-color : rgb(2, 168, 181) !important; color :#000; border-bottom: 0;';
|
||||
var toast_icon = 'mdi mdi-checkbox-marked-circle mr-auto';
|
||||
var toast_status_word = 'Info';
|
||||
|
||||
var toast_body_data = item.client_name + ' - ' + item.policy_name;
|
||||
console.log(toast_body_data);
|
||||
|
||||
var html = ` <li data-id="" data-url="${url}">
|
||||
<div class="p-3">
|
||||
<div class="toast fade show" role="alert" aria-live="assertive" aria-atomic="true" data-toggle="toast">
|
||||
<div class="toast-header " style="${toast_head_css}" >
|
||||
<strong class="${toast_icon}"> ${toast_status_word}</strong>
|
||||
<button type="button" class="ml-2 mb-1 close rm_msg" data-dismiss="toast" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="toast-body" style="${toast_body_css}">
|
||||
<strong>TPA ID Update Pending</strong><br><br>
|
||||
<small style="position: relative;bottom: 8px;">${toast_body_data}</small>
|
||||
<div class="toast-footer">
|
||||
<a href="#" class="redirect_page" data-toggle="tooltip" data-placement="bottom" title="Click Go to the Page"><small style="margin-right: 142px;position: relative;top: 2px;">see more</small></a>
|
||||
<small style="position: relative;top: 2px;left: 5px;font-size: 10px;"></small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>`
|
||||
|
||||
|
||||
messagesList.append(html);
|
||||
|
||||
});
|
||||
|
||||
response.uhid.forEach(function(item, index) {
|
||||
|
||||
var queryParams = {
|
||||
client_id: item.client_id,
|
||||
client_policy_id: item.client_policy_id,
|
||||
event: 'inception',
|
||||
insurer_or_tpa: 'insurer',
|
||||
actions: 'export',
|
||||
};
|
||||
|
||||
const queryString = objectToQueryString(queryParams);
|
||||
|
||||
var url = 'employee/upload?' + queryString + '#KYC-DOC-tab'
|
||||
console.log(url)
|
||||
|
||||
|
||||
var toast_body_css = 'background : #bfd7eb !important;';
|
||||
var toast_head_css = 'background-color : rgb(2, 168, 181) !important; color :#000; border-bottom: 0;';
|
||||
var toast_icon = 'mdi mdi-checkbox-marked-circle mr-auto';
|
||||
var toast_status_word = 'Info';
|
||||
|
||||
var toast_body_data = item.client_name + ' - ' + item.policy_name;
|
||||
console.log(toast_body_data);
|
||||
|
||||
var html = ` <li data-id="" data-url="${url}">
|
||||
<div class="p-3">
|
||||
<div class="toast fade show" role="alert" aria-live="assertive" aria-atomic="true" data-toggle="toast">
|
||||
<div class="toast-header " style="${toast_head_css}" >
|
||||
<strong class="${toast_icon}"> ${toast_status_word}</strong>
|
||||
<button type="button" class="ml-2 mb-1 close rm_msg" data-dismiss="toast" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="toast-body" style="${toast_body_css}">
|
||||
<strong>UHID Update Pending</strong><br><br>
|
||||
<small style="position: relative;bottom: 8px;">${toast_body_data}</small>
|
||||
<div class="toast-footer">
|
||||
<a href="#" class="redirect_page" data-toggle="tooltip" data-placement="bottom" title="Click Go to the Page"><small style="margin-right: 142px;position: relative;top: 2px;">see more</small></a>
|
||||
<small style="position: relative;top: 2px;left: 5px;font-size: 10px;"></small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>`
|
||||
|
||||
|
||||
messagesList.append(html);
|
||||
|
||||
});
|
||||
|
||||
|
||||
localStorage.setItem('pendingActionCount', pendingActionCount)
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
fetchPendingAction()
|
||||
|
||||
$('#messages-list-2').on('click', 'li', function(event) {
|
||||
|
||||
console.log('messages-list-2 click li')
|
||||
|
||||
if ($(event.target).closest('.rm_msg').length > 0) {
|
||||
|
||||
console.log('.rm_msg')
|
||||
|
||||
$(this).delay(300).fadeOut('slow', function() {
|
||||
$(this).remove();
|
||||
});
|
||||
|
||||
} else if ($(event.target).closest('.redirect_page').length > 0) {
|
||||
|
||||
console.log('redirect_page')
|
||||
|
||||
let url = $(this).data('url');
|
||||
console.log('url : ', url);
|
||||
|
||||
window.location.href = '<?= base_url() ?>' + url;
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
})
|
||||
|
||||
function objectToQueryString(obj) {
|
||||
return Object.keys(obj).map(key => `${encodeURIComponent(key)}=${encodeURIComponent(obj[key])}`).join('&');
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<head>
|
||||
|
||||
<meta charset="utf-8" />
|
||||
@ -71,22 +72,28 @@
|
||||
body[data-sidebar-size=condensed]:not([data-layout=compact]):not(.auth-fluid-pages) {
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
.navbar-custom {
|
||||
top: -10px !important;
|
||||
height: 61px !important;
|
||||
}
|
||||
|
||||
.logo-box {
|
||||
top: -10px !important;
|
||||
height: 61px !important;
|
||||
}
|
||||
|
||||
.content-page {
|
||||
padding: 80px 15px 65px 15px !important;
|
||||
}
|
||||
|
||||
/* Media query for small screens */
|
||||
@media screen and (min-width: 768px) {
|
||||
|
||||
/* Styles for screens with a minimum width of 768px (e.g., tablets and larger devices) */
|
||||
.navbar-custom .button-menu-mobile {
|
||||
display: none; /* Hide the button on larger screens */
|
||||
display: none;
|
||||
/* Hide the button on larger screens */
|
||||
}
|
||||
}
|
||||
|
||||
@ -116,9 +123,11 @@
|
||||
-ms-transform: translateZ(0);
|
||||
transform: translateZ(0);
|
||||
}
|
||||
|
||||
.lead {
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.loader div {
|
||||
background-color: #6ad9cf;
|
||||
display: inline-block;
|
||||
@ -140,11 +149,13 @@
|
||||
}
|
||||
|
||||
@-webkit-keyframes ballPulseDouble {
|
||||
|
||||
0%,
|
||||
100% {
|
||||
-webkit-transform: scale(0);
|
||||
transform: scale(0);
|
||||
}
|
||||
|
||||
50% {
|
||||
-webkit-transform: scale(1);
|
||||
transform: scale(1);
|
||||
@ -152,11 +163,13 @@
|
||||
}
|
||||
|
||||
@keyframes ballPulseDouble {
|
||||
|
||||
0%,
|
||||
100% {
|
||||
-webkit-transform: scale(0);
|
||||
transform: scale(0);
|
||||
}
|
||||
|
||||
50% {
|
||||
-webkit-transform: scale(1);
|
||||
transform: scale(1);
|
||||
@ -197,9 +210,6 @@
|
||||
flex: 1 1 auto; */
|
||||
padding: 2rem !important;
|
||||
}
|
||||
|
||||
|
||||
|
||||
</style>
|
||||
|
||||
<style>
|
||||
@ -209,13 +219,13 @@
|
||||
/* color: #02a8b5 !important; */
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
/* .form-group {
|
||||
margin-bottom: -0.2rem !important;
|
||||
}
|
||||
.form-row{
|
||||
width: 84%;
|
||||
} */
|
||||
|
||||
</style>
|
||||
|
||||
<style>
|
||||
@ -240,7 +250,8 @@
|
||||
|
||||
#messages-list li {
|
||||
margin-top: 0;
|
||||
margin-bottom: -25px; /* Adjust this value to reduce the space */
|
||||
margin-bottom: -25px;
|
||||
/* Adjust this value to reduce the space */
|
||||
}
|
||||
|
||||
.toast-footer {
|
||||
@ -252,6 +263,31 @@
|
||||
}
|
||||
|
||||
|
||||
.right-bar {
|
||||
width: 300px;
|
||||
/* Adjust as needed */
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.fixed-header {
|
||||
position: relative;
|
||||
top: 0;
|
||||
z-index: 1000;
|
||||
background-color: #f8f9fa !important;
|
||||
}
|
||||
|
||||
.scrollable-content {
|
||||
max-height: 42vh;
|
||||
overflow-y: auto;
|
||||
padding-top: 0px;
|
||||
}
|
||||
|
||||
/* Additional styles to enhance appearance */
|
||||
.header-title {
|
||||
position: relative;
|
||||
bottom: 5px;
|
||||
left: 60px;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script>
|
||||
@ -586,5 +622,3 @@
|
||||
|
||||
<!-- Start Content-->
|
||||
<div class="container-fluid">
|
||||
|
||||
|
||||
|
||||
BIN
public/assets/images/sample_logo.png
Normal file
BIN
public/assets/images/sample_logo.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 109 KiB |
BIN
public/assets/images/sample_logo_2.jpeg
Normal file
BIN
public/assets/images/sample_logo_2.jpeg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.5 KiB |
BIN
public/assets/images/sample_logo_3.png
Normal file
BIN
public/assets/images/sample_logo_3.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 13 KiB |
@ -1,119 +1,65 @@
|
||||
<body>
|
||||
|
||||
<div style="display: flex;justify-content: center;gap: 10px; width:840px;margin:0 auto 15px; page-break-after: auto;">
|
||||
<div style="display: flex;gap: 5px;width: 810px;justify-content: center;margin: 0 auto;">
|
||||
<div class="card" style="border: 1px solid #50505059;width: 420px;min-height: 280px; padding:10px 10px 0px 10px;background-image: url('<?php ?>');background-position: center;background-size: cover;">
|
||||
|
||||
<div style="border: 1px solid black;width: 400px;max-height: 300px;background: url('{FRONT_CARD}');background-size: 100% 100%;padding: 10px;">
|
||||
<div style="position: absolute;left: 590px;" ><img src="{INSURER_LOGO}" alt="" width="70px" height="70px"></div>
|
||||
<h6 style="margin-top: 20px;margin-bottom: 26px;font-weight: 700;font-size: 14px;">{INSURER_NAME}</h6>
|
||||
|
||||
<div style="display: flex;">
|
||||
<div><img src="{INSURER_LOGO}" alt="" width="60px"
|
||||
width="60px" style="object-fit: fill;;"></div>
|
||||
<div style="text-align: center;font-family: sans-serif;font-weight: 600;margin-top: 10px;"><span>THE NEW
|
||||
INDIA ASSURANCE CO.LTD.</span> <br><span style="font-size: 15px;">GOOD HEALTH MEDICLAIM
|
||||
POLICY</span></div>
|
||||
</div>
|
||||
|
||||
<table
|
||||
style="font-family: sans-serif;font-size: 14px;width: 100%;margin-top: 20px;margin-left: 20px;line-height: 20px;">
|
||||
<table style="font-size: 14px;margin-top:9px ;margin-left: 20px;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>MDID : {TPA_ID}</td>
|
||||
<td>POLICY NO</td>
|
||||
<td>:</td>
|
||||
<td>{POLICY_NO}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2"><b>{NAME}</b></td>
|
||||
<td>Name</td>
|
||||
<td>:</td>
|
||||
<td>{NAME}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Certificate No : {UHID}</td>
|
||||
<td>TPA ID</td>
|
||||
<td>:</td>
|
||||
<td>{TPA_ID}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><span>Sex : {GENDER} </span> <span style="margin-left: 30px;"> Date of Birth : {DOB}</span>
|
||||
</td>
|
||||
<td>age</td>
|
||||
<td>:</td>
|
||||
<td>{AGE}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2"><b>{SELF_NAME}</b></td>
|
||||
<td>Employee code</td>
|
||||
<td>:</td>
|
||||
<td>{EMP_ID}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Valid form :{POLICY_DATE}</td>
|
||||
<td>Corporate name</td>
|
||||
<td>:</td>
|
||||
<td>{CORPORATE_NAME}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div style="border: 1px solid black;width: 400px;max-height: 300px;padding: 5px;">
|
||||
<div style="font-size: 11px;text-align: center;">The card is for identification purpose only</div>
|
||||
<table style="width: 100%;text-align: center;font-size: 11px;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>General & Claim Enquiry Helpline</td>
|
||||
<td>Cashless Enquiry helpline</td>
|
||||
<td>Valid form</td>
|
||||
<td>:</td>
|
||||
<td>{POLICY_DATE}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div style="position: relative;left: 204px;top: 30px;"><img src="{TPA_LOGO}" alt="" width="170px" height="30px" style="object-fit: fill;"></div>
|
||||
|
||||
<table style="font-size: 11px;width: 100%;text-align: center;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="border: 1px solid black;">Toll Free : 1800-209-7777 <br>Email :
|
||||
citibank_chennai@mdindia.com</td>
|
||||
<td style="border: 1px solid black;">Toll Free : 1800-209-7800 <br>Email:
|
||||
authorisation@mdindia.com</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div style="font-size: 14px;text-align: center;">CITI MDIndia branch contact</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<table style="text-align: center;width: 100%;font-size: 12px;">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="border: 1px solid black;">Center</th>
|
||||
<th style="border: 1px solid black;">Ph.No/Fax.No.</th>
|
||||
<th style="border: 1px solid black;">Center</th>
|
||||
<th style="border: 1px solid black;">Ph.No/Fax.No.</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="border: 1px solid black;">Chennai</td>
|
||||
<td style="border: 1px solid black;">9381819401</td>
|
||||
<td style="border: 1px solid black;">Delhi</td>
|
||||
<td style="border: 1px solid black;">9310596976</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="border: 1px solid black;">Chennai</td>
|
||||
<td style="border: 1px solid black;">9381819501</td>
|
||||
<td style="border: 1px solid black;">Mumbai</td>
|
||||
<td style="border: 1px solid black;">9320373542</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="border: 1px solid black;">Hyderabad</td>
|
||||
<td style="border: 1px solid black;">9390838023</td>
|
||||
<td style="border: 1px solid black;">Pune</td>
|
||||
<td style="border: 1px solid black;">9371644536</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="border: 1px solid black;">Bangalore</td>
|
||||
<td style="border: 1px solid black;">9341555665</td>
|
||||
<td style="border: 1px solid black;">Kolkata</td>
|
||||
<td style="border: 1px solid black;">9333441389</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div>
|
||||
<h6 style="margin: 5px;">TERMS AND CONDITIONS</h6>
|
||||
<ol style="font-size: 11px;padding-left: 15px;margin-top: 0px;">
|
||||
<li>Pre authorisation is compulsary from tpa prior to planned admission within 24hours for
|
||||
emergencies.</li>
|
||||
<li>Admission for Investigation/Evaluation Not covered.</li>
|
||||
<li>All terms and conditions of the policy would be applicable</li>
|
||||
<li>cashless hospitalisation in network hospitals can be obtained in conjunction with this card.an
|
||||
authorisation letter issued by tpa and photo identification and such as Voters ID,Driver
|
||||
Licence,Passport,etc.</li>
|
||||
</ol>
|
||||
</div>
|
||||
<div class="card" style="border: 1px solid #50505059;width:420px;min-height: 280px; padding: 0px 20px 5px 0px;">
|
||||
<h6 style="text-align: center;font-weight: 700;margin: 0px;font-size: 14px;"><u>Terms&conditions</u></h6>
|
||||
<ul style="font-size: 11px;text-align: justify;font-weight: bolder;font-weight: 600;line-height: 13px;margin-bottom: 5px;">
|
||||
<li>Submit this card & photo ID for availing cashless insurrer empanelled hospitals</li>
|
||||
<li>Cashless facility is subject to approved by {TPA_NAME} as per policy terms and conditions</li>
|
||||
<li>Validdity of this card is subject to valid policy renewal of policy</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
||||
|
||||
89
writable/e_card_template/fhpl_tpa.html
Normal file
89
writable/e_card_template/fhpl_tpa.html
Normal file
@ -0,0 +1,89 @@
|
||||
<body>
|
||||
|
||||
|
||||
<div style="display: flex;justify-content: center;gap: 10px;width: 840px;margin: 0 auto;">
|
||||
|
||||
<div style="width: 420px;min-height: 320px; background-image:url({FRONT_CARD});background-size: 100% 100%;border: 1px solid black;line-height: 15px;font-size: 14px;position: relative;">
|
||||
|
||||
<h3 style="font-family: sans-serif;padding-left: 89px;margin-top: 35px;">{INSURER_NAME}</h3>
|
||||
<table style="margin-top: 35px;width: 86%;font-family: sans-serif;padding-left: 20px;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>UHID No</td>
|
||||
<td>:</td>
|
||||
<td>{UHID}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>{NAME}</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Age</td>
|
||||
<td>:</td>
|
||||
<td>{AGE} years</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Relationship</td>
|
||||
<td>:</td>
|
||||
<td>{RELATION}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Plan Period</td>
|
||||
<td>:</td>
|
||||
<td >{POLICY_START_DATE} To {POLICY_DATE}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Policy No</td>
|
||||
<td>:</td>
|
||||
<td>{POLICY_NO}</td>
|
||||
</tr>
|
||||
<td>Insurer</td>
|
||||
<td>:</td>
|
||||
<td>LCO : {TPA_ID} : {INSURER_BRANCH}</td>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div>
|
||||
<img src="{INSURER_LOGO}" alt="" width="70px" height="70px" style="object-fit: fill;position: absolute;top: 6px;left: 15px;">
|
||||
</div>
|
||||
</div>
|
||||
<div style="width: 420px;min-height: 320px; background-image: url('{BACK_CARD}');background-size: 100% 100%;border: 1px solid black;padding-top: 10px;padding-right: 10px;">
|
||||
<h4 style="font-family: sans-serif;padding-left: 20px;margin:0px;">Instructions</h4>
|
||||
<ul style="font-family: sans-serif;font-size: 11px;line-height: 15px;padding-left: 30px;">
|
||||
<li>Card has to be presented to our network hospitals at the time of the admission while availing cashless</li>
|
||||
<li>Free authorizationfrom FHPL it must should be taken before 48 hrs for all planed admissions & emergency admissions within 24 hrs of getting admitted to any network hospitals FHPL</li>
|
||||
<li>The issuance of this card doesnot guarantee cashless benefits /hospitalisation</li>
|
||||
<li>The card is for the identification purpose.in case of without photograph card.Alternative identification proof such as Voter ID/driving license etc...should be produced</li>
|
||||
<li>All insurance claim will be processed as per policy terms & conditions</li>
|
||||
<li>For more details kindly referbook kindly provided</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="margin-left: 20%;margin-top: 50px;">
|
||||
<h4 style="font-family: sans-serif;margin: 0px;margin-left: 30px;">TERMS AND CONDITIONS:</h4>
|
||||
<div style="width: 70%;line-height: 30px;">
|
||||
<ol type="number" style="font-family: sans-serif;">
|
||||
<li>This card is generated as per the details given by your employer/HR. Incase of any errors in the
|
||||
details you may confirm the same through your employer for making required corrections.</li>
|
||||
<li>No physical card will be provided to you. For all requirements you may use this card printed in black
|
||||
and white or colour.</li>
|
||||
<li>You can access our network hospitals list from our website https://www.fhpl.net for any information
|
||||
regarding hospitals available within your location or as required.</li>
|
||||
<li>For the convenience of the members the guide book is made available on our website
|
||||
https://www.fhpl.net for understanding protocols in the event of any hospitalization assistance required
|
||||
for availing cashless service and also to forward any claim where the member has spent on his/her own.</li>
|
||||
<li>All our network hospitals will accept the printed card and seek the preauthorization from FHPL in the
|
||||
event of any in-patient hospitalization.</li>
|
||||
<li>Incase there is no photograph on the ID card, the member has to identify himself/herself with any other
|
||||
photo-card like: credit card, ration card, electoral card, Company ID card etc in conjunction with this card.</li>
|
||||
<li>This card is not transferable and cannot be forwarded further to any other person by email/fax.</li>
|
||||
<li> The card will be visible to any member as long the policy is valid after which this service will be
|
||||
withdrawn or till such time the member is employed with the current employer.</li>
|
||||
<li>Usage of this card after the validity/policy expiry will not be entertained.</li>
|
||||
<li>A fresh card will be generated subjected to the renewal of the policy.</li>
|
||||
<li>For Any further queries, Please feel free to contact us on Toll—Free Helpline :1800 - 103 - 7519</li>
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
@ -1,61 +1,52 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>vidal Ecard</title>
|
||||
<style>
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div style="display: flex;gap: 5px;width: 840px;justify-content: center;margin: 0 auto;">
|
||||
<div class="card" style="border: 1px solid #50505059;width: 420px;min-height: 280px; padding:10px 10px 0px 10px;background-image: url(../image/vidal\ background\ image.jpg);background-position: center;background-size: cover;">
|
||||
|
||||
<div><img src="../image/New_India_Assurance.png" alt="" width="70px" height="70px" style="position: absolute;object-fit: fill;right: 16px;top: 17px;"></div>
|
||||
<h6 style="margin-top: 20px;margin-bottom: 26px;font-weight: 700;font-size: 14px;">THE NEW INDIA COMPANY PRIVATE LIMITED</h6>
|
||||
<div style="position: absolute;left: 590px;" ><img src="{INSURER_LOGO}" alt="" width="70px" height="70px"></div>
|
||||
<h6 style="margin-top: 20px;margin-bottom: 26px;font-weight: 700;font-size: 14px;">{INSURER_NAME}</h6>
|
||||
|
||||
<table style="font-size: 14px;margin-top:9px ;margin-left: 20px;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Card No</td>
|
||||
<td>POLICY NO</td>
|
||||
<td>:</td>
|
||||
<td>CHE-NI-K0674-001-0000003-A</td>
|
||||
<td>{TPA_ID}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Name</td>
|
||||
<td>:</td>
|
||||
<td>BHODANADHAN S</td>
|
||||
<td>{NAME}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Gender</td>
|
||||
<td>:</td>
|
||||
<td>M</td>
|
||||
<td>{NAME}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>age</td>
|
||||
<td>:</td>
|
||||
<td>53 years</td>
|
||||
<td>{AGE}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Employee code</td>
|
||||
<td>:</td>
|
||||
<td>1015</td>
|
||||
<td>{EMP_ID}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Corporate name</td>
|
||||
<td>:</td>
|
||||
<td>KELD ELLENTOFT INDIA PVT LTD</td>
|
||||
<td>{CORPORATE_NAME}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Valid form</td>
|
||||
<td>:</td>
|
||||
<td>28-04-2024</td>
|
||||
<td>{POLICY_DATE}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div style="position: absolute;bottom: 11px;right: 11px;"><img src="../image/logo.png" alt="" width="170px" height="30px" style="object-fit: fill;"></div>
|
||||
<div style="position: relative;left: 225px;top: 30px;"><img src="{TPA_LOGO}" alt="" width="170px" height="30px" style="object-fit: fill;"></div>
|
||||
|
||||
</div>
|
||||
|
||||
@ -63,49 +54,9 @@
|
||||
<h6 style="text-align: center;font-weight: 700;margin: 0px;font-size: 14px;"><u>Terms&conditions</u></h6>
|
||||
<ul style="font-size: 11px;text-align: justify;font-weight: bolder;font-weight: 600;line-height: 13px;margin-bottom: 5px;">
|
||||
<li>Submit this card & photo ID for availing cashless insurrer empanelled hospitals</li>
|
||||
<li>Cashless facility is subject to approved by vidal health as per policy terms and conditions</li>
|
||||
<li>Cashless facility is subject to approved by TPA as per policy terms and conditions</li>
|
||||
<li>Validdity of this card is subject to valid policy renewal of policy</li>
|
||||
<li>imidiate intimation to vidal health is must incase of any hospitalisation</li>
|
||||
<li>Download the vidal health mobile app from android iOS to get an E-Card check your policy claim status, Hospital list and more, Give a missed call to 022-4892-6099 from your registered mobile number, or visit www.vidalhealthpa.com,or scan << Qr code on corner >></li>
|
||||
</ul>
|
||||
<div >
|
||||
<img src="../image/logo.png" alt="" width="100px" height="25px" style="object-fit: fill; rotate: -90deg; position: absolute;left: -34px;bottom: 77px;">
|
||||
</div>
|
||||
<div style="font-size: 10px;font-weight: bold; line-height: 10px;margin-left: 40px;width: 70%;">
|
||||
<div><u>24x7 help line no</u> </div>
|
||||
<div>
|
||||
<div>
|
||||
<span>karnataka/andrapradesh/telangana</span><span style="padding: 0px 5px 0px 5px ;">:</span><span style="font-weight: 400;">080-46267018/1860425051</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>North and east region/gujarat</span><span style="padding: 0px 5px 0px 5px ;">:</span><span style="font-weight: 400;">080-46267021/18604250261</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>Maharastra</span><span style="padding: 0px 5px 0px 5px ;">:</span><span style="font-weight: 400;">080-46267020/18604250254</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>Tamil Nadu</span style="padding: 0px 5px 0px 5px ;">:<span></span><span style="font-weight: 400;">080-46267020/18604250254</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>Kerala</span><span style="padding: 0px 5px 0px 5px ;">:</span><span style="font-weight: 400;">080-46267019/18604250253</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>S.R citizen</span><span style="padding: 0px 5px 0px 5px ;">:</span><span style="font-weight: 400;">080-4626-7070</span>
|
||||
</div>
|
||||
<div>
|
||||
<span style="font-weight: 400;">vidal health insurance <b>TPA</b> pvt limited,tower no 2,</span>
|
||||
<br>
|
||||
<span style="font-weight: 400;">First Floor,<b>SJR </b>ipark,<b>EPIP </b>zone ,whitefield,bangalore,</span>
|
||||
<br>
|
||||
</div>
|
||||
<div>
|
||||
<span style="font-weight: 400;"><b>email:</b>helpvidalhealthpa@gmail.com</span><span style="padding: 0px 5px 0px 5px ;">/</span><span style="font-weight: 400;"><b>website:</b>WWW.vidalhealthp.com</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div><img src="../image/2-play store.png" alt="" width="80px" height="80px" style="position: absolute;top: 158px; right: 90px;"></div>
|
||||
<div><img src="../image/2-appstore.png" alt="" width="76px" height="80px" style="position: absolute;right: 10px;top:158px;"></div>
|
||||
</div>
|
||||
|
||||
|
||||
@ -115,4 +66,3 @@
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@ -1,119 +1,105 @@
|
||||
<body>
|
||||
|
||||
<div style="display: flex;justify-content: center;gap: 10px; width:840px;margin:0 auto 15px; page-break-after: auto;">
|
||||
<div style="display: flex;gap: 5px;width: 810px;justify-content: center;margin: 0 auto;">
|
||||
<div class="card" style="border: 1px solid #50505059;width: 420px;min-height: 280px; padding:10px 10px 0px 10px;background-image: url('{FRONT_CARD}');background-position: center;background-size: cover;">
|
||||
|
||||
<div style="position: absolute;left: 590px;" ><img src="{INSURER_LOGO}" alt="" width="70px" height="70px"></div>
|
||||
<h6 style="margin-top: 20px;margin-bottom: 26px;font-weight: 700;font-size: 14px;">{INSURER_NAME}</h6>
|
||||
|
||||
<table style="font-size: 14px;margin-top:9px ;margin-left: 20px;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Card No</td>
|
||||
<td>:</td>
|
||||
<td>{POLICY_NO}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Name</td>
|
||||
<td>:</td>
|
||||
<td>{NAME}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Gender</td>
|
||||
<td>:</td>
|
||||
<td>{GENDER}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>age</td>
|
||||
<td>:</td>
|
||||
<td>{AGE} years</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Employee code</td>
|
||||
<td>:</td>
|
||||
<td>{EMP_ID}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Corporate name</td>
|
||||
<td>:</td>
|
||||
<td>{CORPORATE_NAME}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Valid form</td>
|
||||
<td>:</td>
|
||||
<td>{POLICY_DATE}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div style="position: relative;left: 204px;top: 30px;"><img src="{TPA_LOGO}" alt="" width="170px" height="30px" style="object-fit: fill;"></div>
|
||||
|
||||
<div style="border: 1px solid black;width: 400px;max-height: 300px;background: url('{FRONT_CARD}');background-size: 100% 100%;padding: 10px;">
|
||||
|
||||
<div style="display: flex;">
|
||||
<div><img src="{INSURER_LOGO}" alt="" width="60px"
|
||||
width="60px" style="object-fit: fill;;"></div>
|
||||
<div style="text-align: center;font-family: sans-serif;font-weight: 600;margin-top: 10px;"><span>THE NEW
|
||||
INDIA ASSURANCE CO.LTD.</span> <br><span style="font-size: 15px;">GOOD HEALTH MEDICLAIM
|
||||
POLICY</span></div>
|
||||
</div>
|
||||
|
||||
<table
|
||||
style="font-family: sans-serif;font-size: 14px;width: 100%;margin-top: 20px;margin-left: 20px;line-height: 20px;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>MDID : {TPA_ID}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2"><b>{NAME}</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Certificate No : {UHID}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><span>Sex : {GENDER} </span> <span style="margin-left: 30px;"> Date of Birth : {DOB}</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2"><b>{SELF_NAME}</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Valid form :{POLICY_DATE}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div style="border: 1px solid black;width: 400px;max-height: 300px;padding: 5px;">
|
||||
<div style="font-size: 11px;text-align: center;">The card is for identification purpose only</div>
|
||||
<table style="width: 100%;text-align: center;font-size: 11px;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>General & Claim Enquiry Helpline</td>
|
||||
<td>Cashless Enquiry helpline</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
<table style="font-size: 11px;width: 100%;text-align: center;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="border: 1px solid black;">Toll Free : 1800-209-7777 <br>Email :
|
||||
citibank_chennai@mdindia.com</td>
|
||||
<td style="border: 1px solid black;">Toll Free : 1800-209-7800 <br>Email:
|
||||
authorisation@mdindia.com</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div style="font-size: 14px;text-align: center;">CITI MDIndia branch contact</div>
|
||||
|
||||
<div class="card" style="border: 1px solid #50505059;width:420px;min-height: 280px; padding: 0px 20px 5px 0px;">
|
||||
<h6 style="text-align: center;font-weight: 700;margin: 0px;font-size: 14px;"><u>Terms&conditions</u></h6>
|
||||
<ul style="font-size: 11px;text-align: justify;font-weight: bolder;font-weight: 600;line-height: 13px;margin-bottom: 5px;">
|
||||
<li>Submit this card & photo ID for availing cashless insurrer empanelled hospitals</li>
|
||||
<li>Cashless facility is subject to approved by vidal health as per policy terms and conditions</li>
|
||||
<li>Validdity of this card is subject to valid policy renewal of policy</li>
|
||||
<li>imidiate intimation to vidal health is must incase of any hospitalisation</li>
|
||||
<li>Download the vidal health mobile app from android iOS to get an E-Card check your policy claim status, Hospital list and more, Give a missed call to 022-4892-6099 from your registered mobile number, or visit www.vidalhealthpa.com,or scan << Qr code on corner >></li>
|
||||
</ul>
|
||||
<div >
|
||||
<table style="text-align: center;width: 100%;font-size: 12px;">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="border: 1px solid black;">Center</th>
|
||||
<th style="border: 1px solid black;">Ph.No/Fax.No.</th>
|
||||
<th style="border: 1px solid black;">Center</th>
|
||||
<th style="border: 1px solid black;">Ph.No/Fax.No.</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="border: 1px solid black;">Chennai</td>
|
||||
<td style="border: 1px solid black;">9381819401</td>
|
||||
<td style="border: 1px solid black;">Delhi</td>
|
||||
<td style="border: 1px solid black;">9310596976</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="border: 1px solid black;">Chennai</td>
|
||||
<td style="border: 1px solid black;">9381819501</td>
|
||||
<td style="border: 1px solid black;">Mumbai</td>
|
||||
<td style="border: 1px solid black;">9320373542</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="border: 1px solid black;">Hyderabad</td>
|
||||
<td style="border: 1px solid black;">9390838023</td>
|
||||
<td style="border: 1px solid black;">Pune</td>
|
||||
<td style="border: 1px solid black;">9371644536</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="border: 1px solid black;">Bangalore</td>
|
||||
<td style="border: 1px solid black;">9341555665</td>
|
||||
<td style="border: 1px solid black;">Kolkata</td>
|
||||
<td style="border: 1px solid black;">9333441389</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<img src="../image/logo.png" alt="" width="100px" height="25px" style="object-fit: fill; rotate: -90deg; position: absolute;left: -34px;bottom: 77px;">
|
||||
</div>
|
||||
<div style="font-size: 10px;font-weight: bold; line-height: 10px;margin-left: 40px;width: 70%;">
|
||||
<div><u>24x7 help line no</u> </div>
|
||||
<div>
|
||||
<div>
|
||||
<span>karnataka/andrapradesh/telangana</span><span style="padding: 0px 5px 0px 5px ;">:</span><span style="font-weight: 400;">080-46267018/1860425051</span>
|
||||
</div>
|
||||
<div>
|
||||
<h6 style="margin: 5px;">TERMS AND CONDITIONS</h6>
|
||||
<ol style="font-size: 11px;padding-left: 15px;margin-top: 0px;">
|
||||
<li>Pre authorisation is compulsary from tpa prior to planned admission within 24hours for
|
||||
emergencies.</li>
|
||||
<li>Admission for Investigation/Evaluation Not covered.</li>
|
||||
<li>All terms and conditions of the policy would be applicable</li>
|
||||
<li>cashless hospitalisation in network hospitals can be obtained in conjunction with this card.an
|
||||
authorisation letter issued by tpa and photo identification and such as Voters ID,Driver
|
||||
Licence,Passport,etc.</li>
|
||||
</ol>
|
||||
<span>North and east region/gujarat</span><span style="padding: 0px 5px 0px 5px ;">:</span><span style="font-weight: 400;">080-46267021/18604250261</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>Maharastra</span><span style="padding: 0px 5px 0px 5px ;">:</span><span style="font-weight: 400;">080-46267020/18604250254</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>Tamil Nadu</span style="padding: 0px 5px 0px 5px ;">:<span></span><span style="font-weight: 400;">080-46267020/18604250254</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>Kerala</span><span style="padding: 0px 5px 0px 5px ;">:</span><span style="font-weight: 400;">080-46267019/18604250253</span>
|
||||
</div>
|
||||
<div>
|
||||
<span>S.R citizen</span><span style="padding: 0px 5px 0px 5px ;">:</span><span style="font-weight: 400;">080-4626-7070</span>
|
||||
</div>
|
||||
<div>
|
||||
<span style="font-weight: 400;">vidal health insurance <b>TPA</b> pvt limited,tower no 2,</span>
|
||||
<br>
|
||||
<span style="font-weight: 400;">First Floor,<b>SJR </b>ipark,<b>EPIP </b>zone ,whitefield,bangalore,</span>
|
||||
<br>
|
||||
</div>
|
||||
<div>
|
||||
<span style="font-weight: 400;"><b>email:</b>helpvidalhealthpa@gmail.com</span><span style="padding: 0px 5px 0px 5px ;">/</span><span style="font-weight: 400;"><b>website:</b>WWW.vidalhealthp.com</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div><img src="../image/2-play store.png" alt="" width="80px" height="80px" style="position: absolute;top: 158px; right: 90px;"></div>
|
||||
<div><img src="../image/2-appstore.png" alt="" width="76px" height="80px" style="position: absolute;right: 10px;top:158px;"></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user