Merge remote-tracking branch 'origin/dev' into dev
This commit is contained in:
commit
82f7f34c41
@ -23,6 +23,10 @@ $routes->get('download-e-card/(:segment)', 'EmployeeController::generateIDCardFo
|
||||
$routes->get('download-kyc-docs/(:segment)', 'ClientController::downloadKYCDocument/$1');
|
||||
|
||||
|
||||
$routes->get('get-notification', 'DashboardController::getDashboardNotifications');
|
||||
$routes->get('acknowledge-notification/(:segment)', 'DashboardController::acknowledgeMessage/$1');
|
||||
|
||||
|
||||
|
||||
$routes->group("/user", ["filter" => "authMVC"], function ($routes) {
|
||||
$routes->post("create", "UserController::create");
|
||||
|
||||
@ -653,6 +653,7 @@ class ClientController extends AdminController
|
||||
}
|
||||
|
||||
|
||||
$data['policy_no'] = $this->request->getPost('policy_no');
|
||||
$data['policy_start_date'] = change_date_format($this->request->getPost('policy_start_date'), 'd-m-Y', 'Y-m-d');
|
||||
$data['policy_end_date'] = change_date_format($this->request->getPost('policy_end_date'), 'd-m-Y', 'Y-m-d');
|
||||
$data['created_by'] = get_session_userid();
|
||||
@ -696,6 +697,7 @@ class ClientController extends AdminController
|
||||
$data['tpa_id'] = $tpaId;
|
||||
$data['policy_id'] = $this->request->getPost('policy_id');
|
||||
$data['policy_type_id'] = $this->request->getPost('policy_type_id');
|
||||
$data['policy_no'] = $this->request->getPost('policy_no');
|
||||
$data['policy_start_date'] = change_date_format($this->request->getPost('policy_start_date'), 'd-m-Y', 'Y-m-d');
|
||||
$data['policy_end_date'] = change_date_format($this->request->getPost('policy_end_date'), 'd-m-Y', 'Y-m-d');
|
||||
|
||||
@ -741,6 +743,7 @@ class ClientController extends AdminController
|
||||
|
||||
// dd($data);
|
||||
$data['updated_by'] = get_session_userid();
|
||||
// print_r($data);die;
|
||||
$insert = $this->clientPolicyModel->update($id,$data);
|
||||
$lastQuery = $this->clientPolicyModel->getLastQuery();
|
||||
|
||||
|
||||
@ -7,12 +7,22 @@ use CodeIgniter\HTTP\RequestInterface;
|
||||
use CodeIgniter\HTTP\ResponseInterface;
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
use CodeIgniter\API\ResponseTrait;
|
||||
|
||||
use App\Models\MessageModel;
|
||||
use App\Models\UserMessageModel;
|
||||
|
||||
class DashboardController extends AdminController
|
||||
{
|
||||
|
||||
use ResponseTrait;
|
||||
protected $messageModel;
|
||||
protected $userMessageModel;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
|
||||
$this->messageModel = new MessageModel();
|
||||
$this->userMessageModel = new UserMessageModel();
|
||||
}
|
||||
|
||||
public function dashboard()
|
||||
@ -22,11 +32,26 @@ class DashboardController extends AdminController
|
||||
echo view('layout/footer');
|
||||
}
|
||||
|
||||
public function dashboardNotifications()
|
||||
public function getDashboardNotifications()
|
||||
{
|
||||
//pull notofications to dashboard especially for file upload cases
|
||||
$userId = get_session_userid();
|
||||
$roleId = 5;
|
||||
$teamId = 1;
|
||||
|
||||
$messages = $this->messageModel->getMessagesForUser($userId, $roleId, $teamId);
|
||||
|
||||
return $this->respond($messages);
|
||||
}
|
||||
|
||||
public function acknowledgeMessage($messageId)
|
||||
{
|
||||
$userId = get_session_userid();
|
||||
|
||||
$this->userMessageModel->markAsRead($userId, $messageId);
|
||||
|
||||
return $this->respond(['status' => 'success']);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -22,6 +22,8 @@ use App\Models\BatchFileModel;
|
||||
use App\Models\EmpEndorsementModel;
|
||||
use App\Models\ClientDepositModel;
|
||||
use App\Models\NotificationModel;
|
||||
use App\Models\MessageModel;
|
||||
use App\Models\UserMessageModel;
|
||||
|
||||
use App\Controllers\Jobs;
|
||||
use App\Controllers\JobWorker;
|
||||
@ -48,6 +50,8 @@ class EmpDataServiceController extends BaseController
|
||||
protected $empEndorsementModel;
|
||||
protected $clientDepositModel;
|
||||
protected $notificationModel;
|
||||
protected $messageModel;
|
||||
protected $userMessageModel;
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
@ -64,6 +68,8 @@ class EmpDataServiceController extends BaseController
|
||||
$this->empEndorsementModel = new EmpEndorsementModel();
|
||||
$this->clientDepositModel = new ClientDepositModel();
|
||||
$this->notificationModel = new NotificationModel();
|
||||
$this->messageModel = new MessageModel();
|
||||
$this->userMessageModel = new UserMessageModel();
|
||||
}
|
||||
|
||||
|
||||
@ -638,7 +644,10 @@ class EmpDataServiceController extends BaseController
|
||||
$this->batchFileModel->where('id', $file_id)->set($data)->update();
|
||||
$this->myLogger->logme('error', 'importInceptionFileValidation TPAID already updated');
|
||||
|
||||
return 3;
|
||||
$file_data = $this->getDataByFileId($file_id, 'failure');
|
||||
$this->setPullNotification($file_data);
|
||||
|
||||
return 'The list of employees provided has already been updated with the TPA ID, or this is not the correct file';
|
||||
|
||||
} else if ($insurer_or_tpa == 'insurer') {
|
||||
|
||||
@ -649,7 +658,10 @@ class EmpDataServiceController extends BaseController
|
||||
$this->batchFileModel->where('id', $file_id)->set($data)->update();
|
||||
$this->myLogger->logme('error', 'importInceptionFileValidation UHID already updated');
|
||||
|
||||
return 5;
|
||||
$file_data = $this->getDataByFileId($file_id, 'failure');
|
||||
$this->setPullNotification($file_data);
|
||||
|
||||
return 'The list of employees provided has already been updated with the UHID, or this is not the correct file';
|
||||
}
|
||||
|
||||
$this->myLogger->logme('error', 'importInceptionFileValidation UHID or TPAID already updated or the uploadedfile is not correct');
|
||||
@ -685,7 +697,10 @@ class EmpDataServiceController extends BaseController
|
||||
$this->batchFileModel->where('id', $file_id)->set($data)->update();
|
||||
$this->myLogger->logme('error', 'importInceptionFileValidation excel file count ( {excel} ) exceeds db count ( {db} )', ['db' => $emp_data_count, 'excel' => $excel_data_count]);
|
||||
|
||||
return 6;
|
||||
$file_data = $this->getDataByFileId($file_id, 'failure');
|
||||
$this->setPullNotification($file_data);
|
||||
|
||||
return 'The Excel record count exceeds the DB record count. excel file count : ' . $excel_data_count . 'db count : ' . $emp_data_count;
|
||||
}
|
||||
|
||||
|
||||
@ -877,11 +892,17 @@ class EmpDataServiceController extends BaseController
|
||||
|
||||
if ($insurer_or_tpa == 'tpa') {
|
||||
|
||||
return 2;
|
||||
$file_data = $this->getDataByFileId($file_id, 'failure');
|
||||
$this->setPullNotification($file_data);
|
||||
|
||||
return 'The TPA ID column is either partially or entirely empty.';
|
||||
|
||||
} else if ($insurer_or_tpa == 'insurer') {
|
||||
|
||||
return 4;
|
||||
$file_data = $this->getDataByFileId($file_id, 'failure');
|
||||
$this->setPullNotification($file_data);
|
||||
|
||||
return 'The UHID column is either partially or entirely empty.';
|
||||
}
|
||||
}
|
||||
|
||||
@ -923,6 +944,7 @@ class EmpDataServiceController extends BaseController
|
||||
$job_details = new Jobs();
|
||||
$r = Jobs::addJob(['job_name' => 'importInceptionUpdateTPAandUHID','payload' => ['file_id' => $file_id]]);
|
||||
|
||||
|
||||
// $this->importInceptionUpdateTPAandUHID(['file_id' => $file_id]);
|
||||
|
||||
}
|
||||
@ -945,7 +967,10 @@ class EmpDataServiceController extends BaseController
|
||||
$this->batchFileModel->where('id', $file_id)->set($data)->update();
|
||||
$this->myLogger->logme('error', 'importInceptionUpdateTPAandUHID the Physical file not found - file id : {data}', ['data' => $file_id]);
|
||||
|
||||
return 0; // Return error code if file not found
|
||||
$file_data = $this->getDataByFileId($file_id, 'failure');
|
||||
$this->setPullNotification($file_data);
|
||||
|
||||
return 'importInceptionUpdateTPAandUHID the Physical file not found'; // Return error code if file not found
|
||||
}
|
||||
|
||||
$client_id = $file['client_id'];
|
||||
@ -1051,6 +1076,7 @@ class EmpDataServiceController extends BaseController
|
||||
$this->myLogger->logme('error', 'importInceptionUpdateTPAandUHID total amount for cash deposite : {data}', ['data'=> $totals]);
|
||||
|
||||
|
||||
|
||||
if ($file['insurer_or_tpa'] == 'tpa') {
|
||||
|
||||
$this->myLogger->logme('error', 'importInceptionUpdateTPAandUHID set cashDepositCalculationForInception and sendMailForDownloadingECard in JOB QUEUE');
|
||||
@ -1086,10 +1112,12 @@ class EmpDataServiceController extends BaseController
|
||||
// $this->cashDepositCalculationForInception($depositeData);
|
||||
// $this->sendMailForDownloadingECard($empty_emp_tpa_uh_ids);
|
||||
|
||||
|
||||
}
|
||||
|
||||
return 1;
|
||||
$file_data = $this->getDataByFileId($file_id, 'success');
|
||||
$this->setPullNotification($file_data);
|
||||
|
||||
return 'Import Inception Updated '. $status_val . '- Updated Count : ' . $emp_count;
|
||||
}
|
||||
|
||||
|
||||
@ -2063,10 +2091,12 @@ class EmpDataServiceController extends BaseController
|
||||
|
||||
$this->myLogger->logme('error', 'sendMailForDownloadingECard - inside try');
|
||||
$count = 0;
|
||||
$counts = 0;
|
||||
|
||||
foreach ($ids as $key => $id) {
|
||||
|
||||
$get_emp_email_and_other_details = $this->employeePolicyModel
|
||||
->select('employee_polices.client_policy_id, employees.emp_code, employees.email_corporate,employees.client_id as client_id, employees.name, employee_polices.rand_string, employee_polices.tpa_id')
|
||||
->select('employee_polices.client_policy_id, employees.relationship, employees.emp_code, employees.email_corporate,employees.client_id as client_id, employees.name, employee_polices.rand_string, employee_polices.tpa_id')
|
||||
->join('employees', 'employees.id = employee_polices.employee_id')
|
||||
->where('employees.emp_status', 'active')
|
||||
->where('employees.is_active', '1')
|
||||
@ -2091,19 +2121,28 @@ class EmpDataServiceController extends BaseController
|
||||
$params['notification'] = $notification;
|
||||
$params['notification'] = $notification;
|
||||
$params['get_emp_email_and_other_details'] = $get_emp_email_and_other_details;
|
||||
$wholeData[] = sendMailNotification::sendMailNotification('member_ecard_mail', $params);
|
||||
// $this->myLogger->logme('error', 'sendMailForDownloadingECard - Send Bulk Mail function end ',);
|
||||
|
||||
$count++;
|
||||
if (isset($get_emp_email_and_other_details['email_corporate']) && !empty($get_emp_email_and_other_details['email_corporate']) && $get_emp_email_and_other_details['relationship'] === 'Self') {
|
||||
$wholeData[] = sendMailNotification::sendMailNotification('member_ecard_mail', $params);
|
||||
|
||||
$count++;
|
||||
}
|
||||
$counts++;
|
||||
|
||||
|
||||
if ($count == 20 || $count == count($ids) - 1) {
|
||||
if ($count == 20 || $counts == count($ids) - 1) {
|
||||
if(count($wholeData) > 0){
|
||||
|
||||
$this->myLogger->logme('error', 'sendMailForDownloadingECard - create a job to bulk mail',);
|
||||
$this->myLogger->logme('error', 'sendMailForDownloadingECard - create a job to bulk mail',);
|
||||
|
||||
$job_details = new Jobs();
|
||||
$r = Jobs::addJob(['job_name' => 'bulk_mail', 'payload' => $wholeData]);
|
||||
$wholeData = [];
|
||||
$count = 0;
|
||||
|
||||
}
|
||||
|
||||
$job_details = new Jobs();
|
||||
$r = Jobs::addJob(['job_name' => 'bulk_mail', 'payload' => $wholeData]);
|
||||
$wholeData = [];
|
||||
$count = 0;
|
||||
}
|
||||
|
||||
$this->myLogger->logme('error', 'sendMailForDownloadingECard - Send Bulk Mail function end ',);
|
||||
@ -2174,4 +2213,58 @@ class EmpDataServiceController extends BaseController
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
public function getDataByFileId($file_id, $status = 'success'){
|
||||
|
||||
$data = $this->batchFileModel
|
||||
->select('batch_files.*, clients.client_name, clients.short_name, policies.name as policy_name')
|
||||
->join('clients', 'clients.id = batch_files.client_id')
|
||||
->join('client_policy', 'client_policy.id = batch_files.client_policy_id')
|
||||
->join('policies', 'policies.id = client_policy.policy_id')
|
||||
->where('batch_files.id', $file_id)
|
||||
->first();
|
||||
|
||||
|
||||
if($status == 'success'){
|
||||
|
||||
$msg_txt = $data['short_name'] . ' - ' . $data['policy_name'] . ' - ' . $data['event_type'] . ' - ' . $data['actions'] . ' - ' . $data['insurer_or_tpa'];
|
||||
$msg_title = 'File Upload Success';
|
||||
|
||||
}else if ($status == 'failure'){
|
||||
|
||||
$msg_txt = $data['short_name'] . ' - ' . $data['policy_name'] . ' - ' . $data['event_type'] . ' - ' . $data['actions'] . ' - ' . $data['insurer_or_tpa'];
|
||||
$msg_title = 'File Upload Failure';
|
||||
}
|
||||
|
||||
$user_id = $data['created_by'];
|
||||
$url = 'employee/upload#KYC-DOC-tab';
|
||||
|
||||
return ['msg_txt' => $msg_txt, 'user_id' => $user_id, 'url' => $url, 'status' => $status, 'title' => $msg_title];
|
||||
}
|
||||
|
||||
|
||||
public function setPullNotification($data){
|
||||
|
||||
|
||||
$array = ['message_text' => $data['msg_txt'], 'action_url' => $data['url'], 'msg_status' => $data['status'], 'msg_title' => $data['title']];
|
||||
$jsonEncodeData = json_encode($array);
|
||||
|
||||
$msg_data = [
|
||||
|
||||
'message_text' => $jsonEncodeData,
|
||||
'user_id' => $data['user_id'],
|
||||
'role_id' => NULL,
|
||||
'team_id' => NULL,
|
||||
'message_type' => '1to1',
|
||||
];
|
||||
|
||||
|
||||
$this->messageModel->insert($msg_data);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -928,6 +928,7 @@ class EmployeeController extends AdminController
|
||||
'{CORPORATE_NAME}' =>$value['client_name'],
|
||||
'{AGE}' =>$value['emp_age'],
|
||||
'{TPA_NAME}' =>$value['emp_age'],
|
||||
'{TPA_LOGO}' => base_url() . 'public/uploads/logo/' . $value['tpa_logo'],
|
||||
];
|
||||
|
||||
// Replace placeholders with values in HTML content
|
||||
|
||||
@ -877,7 +877,7 @@ class EmployeeRestController extends AdminController
|
||||
|
||||
if (isset($notification) && $notification['enabled'] == 1) {
|
||||
//trigger
|
||||
if ($dataToInsert[$a]['relationship'] == 'Self') {
|
||||
if ($dataToInsert[$a]['relationship'] == 'Self' && isset($dataToInsert[$a]['email_corporate']) && !empty($dataToInsert[$a]['email_corporate'])) {
|
||||
|
||||
$params['dataToInsert'] = $dataToInsert[$a];
|
||||
$params['notification'] = $notification;
|
||||
@ -887,13 +887,12 @@ class EmployeeRestController extends AdminController
|
||||
$count++;
|
||||
}
|
||||
if($count == 20 || $a == count($dataToInsert)-1){
|
||||
$job_details = new Jobs();
|
||||
$r = Jobs::addJob(['job_name' => 'bulk_mail','payload' => $wholeData]);
|
||||
// $wholeData[]= $r;
|
||||
|
||||
// Mailhelper::bulk_mail($wholeData);
|
||||
$wholeData = [];
|
||||
$count = 0;
|
||||
if (count($wholeData) > 0) {
|
||||
$job_details = new Jobs();
|
||||
$r = Jobs::addJob(['job_name' => 'bulk_mail','payload' => $wholeData]);
|
||||
$wholeData = [];
|
||||
$count = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -427,6 +427,7 @@ class MasterController extends AdminController
|
||||
$data['tpa_logo'] = $file_name;
|
||||
$data['front_card'] = $front_card_file_name;
|
||||
$data['back_card'] = $back_card_file_name;
|
||||
$data['network_hospitals'] = $this->request->getPost('network_hospitals');
|
||||
|
||||
$insert = $this->tpaModel->insert($data);
|
||||
|
||||
@ -566,6 +567,7 @@ class MasterController extends AdminController
|
||||
$data['back_card'] = $back_card_file_name;
|
||||
}
|
||||
|
||||
$data['network_hospitals'] = $this->request->getPost('network_hospitals');
|
||||
$update = $this->tpaModel->update($id,$data);
|
||||
|
||||
|
||||
|
||||
@ -147,11 +147,14 @@ class NotificationController extends AdminController
|
||||
$count++;
|
||||
$temp_whole_data[] = $value;
|
||||
if($count == 20 || $whole_index == count($wholeData)-1 && $index == count($values)-1){
|
||||
$job_details = new Jobs();
|
||||
$r = Jobs::addJob(['job_name' => 'bulk_mail','payload' => $temp_whole_data]);
|
||||
if (count($temp_whole_data) > 0) {
|
||||
$job_details = new Jobs();
|
||||
$r = Jobs::addJob(['job_name' => 'bulk_mail','payload' => $temp_whole_data]);
|
||||
|
||||
$temp_whole_data = [];
|
||||
$count = 0;
|
||||
$temp_whole_data = [];
|
||||
$count = 0;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -57,21 +57,32 @@ class sendMailNotification
|
||||
if ($value['relationship'] != 'Self') {
|
||||
|
||||
$emp_data = $EmployeeModel->where('client_id', $client_data['id'])->where('emp_code', $value['emp_code'])->where('is_active',1)->findAll();
|
||||
|
||||
foreach ($emp_data as $key => $value) {
|
||||
if ($value['relationship'] == 'Self') {
|
||||
$employee_name =$value['name'];
|
||||
$mail_content = str_replace("[[member_name]]", $employee_name, $mail_content);
|
||||
|
||||
$mail = $value['email_corporate'];
|
||||
if(count($emp_data) > 1){
|
||||
$mail ='';
|
||||
foreach ($emp_data as $key => $values) {
|
||||
if ($value['relationship'] == 'Self') {
|
||||
$employee_name =$values['name'];
|
||||
$mail_content = str_replace("[[member_name]]", $employee_name, $mail_content);
|
||||
|
||||
$mail = $values['email_corporate'];
|
||||
}
|
||||
}
|
||||
}else{
|
||||
$mail ='';
|
||||
}
|
||||
|
||||
}else{
|
||||
$employee_name =$value['name'];
|
||||
$mail_content = str_replace("[[member_name]]", $employee_name, $mail_content);
|
||||
$mail = $value['email_corporate'];
|
||||
}
|
||||
if (isset($mail) && !empty($mail)) {
|
||||
$wholeData[] = ['mail' => $mail, 'subject' => $subject,'message'=> $mail_content, 'bcc'=> $client_data['common_mails']];
|
||||
}
|
||||
}
|
||||
if (count($wholeData) < 1) {
|
||||
$wholeData = [];
|
||||
}
|
||||
return $wholeData;
|
||||
}else{
|
||||
@ -194,8 +205,9 @@ class sendMailNotification
|
||||
|
||||
$mail_content = str_replace("[[member_summary]]", $table_content , $mail_content);
|
||||
// $mail = "aadhavanvalli@gmail.com";
|
||||
|
||||
$wholeData[] = ['mail' => $mail, 'subject' => $subject,'message'=> $mail_content, 'bcc'=> $client_data['common_mails']];
|
||||
// if (isset($mail) && !empty($mail)) {
|
||||
$wholeData[] = ['mail' => $mail, 'subject' => $subject,'message'=> $mail_content, 'bcc'=> $client_data['common_mails']];
|
||||
// }
|
||||
|
||||
return $wholeData;
|
||||
|
||||
|
||||
@ -40,7 +40,8 @@ class ClientPolicyModel extends Model
|
||||
"updated_by",
|
||||
"Is_active",
|
||||
"date_of_exit",
|
||||
"reason_for_exit"
|
||||
"reason_for_exit",
|
||||
"policy_no"
|
||||
];
|
||||
|
||||
public function getClientPolicyById($id){
|
||||
|
||||
77
app/Models/MessageModel.php
Normal file
77
app/Models/MessageModel.php
Normal file
@ -0,0 +1,77 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use CodeIgniter\Model;
|
||||
|
||||
class MessageModel extends Model
|
||||
{
|
||||
protected $table = 'messages';
|
||||
protected $primaryKey = 'id';
|
||||
protected $useAutoIncrement = true;
|
||||
protected $returnType = 'array';
|
||||
protected $useSoftDeletes = false;
|
||||
protected $protectFields = true;
|
||||
protected $allowedFields = [
|
||||
|
||||
'id',
|
||||
'message_text',
|
||||
'user_id',
|
||||
'role_id',
|
||||
'team_id',
|
||||
'message_type',
|
||||
'created_at',
|
||||
'action_url',
|
||||
'msg_status',
|
||||
|
||||
];
|
||||
|
||||
protected bool $allowEmptyInserts = false;
|
||||
|
||||
// Dates
|
||||
protected $useTimestamps = false;
|
||||
protected $dateFormat = 'datetime';
|
||||
protected $createdField = 'created_at';
|
||||
protected $updatedField = 'updated_at';
|
||||
protected $deletedField = 'deleted_at';
|
||||
|
||||
// Validation
|
||||
protected $validationRules = [];
|
||||
protected $validationMessages = [];
|
||||
protected $skipValidation = false;
|
||||
protected $cleanValidationRules = true;
|
||||
|
||||
// Callbacks
|
||||
protected $allowCallbacks = true;
|
||||
protected $beforeInsert = [];
|
||||
protected $afterInsert = [];
|
||||
protected $beforeUpdate = [];
|
||||
protected $afterUpdate = [];
|
||||
protected $beforeFind = [];
|
||||
protected $afterFind = [];
|
||||
protected $beforeDelete = [];
|
||||
protected $afterDelete = [];
|
||||
|
||||
|
||||
|
||||
public function getMessagesForUser($userId, $roleId, $teamId)
|
||||
{
|
||||
$builder = $this->db->table($this->table);
|
||||
$builder->select('messages.*');
|
||||
$builder->join('user_messages', 'user_messages.message_id = messages.id AND user_messages.user_id = ' . $this->db->escape($userId), 'left');
|
||||
$builder->groupStart();
|
||||
$builder->where('user_messages.is_read', null);
|
||||
$builder->orWhere('user_messages.is_read', 0);
|
||||
$builder->groupEnd();
|
||||
$builder->groupStart();
|
||||
$builder->orwhere('messages.message_type', 'broadcast');
|
||||
$builder->orWhere('messages.user_id', $userId);
|
||||
$builder->orWhere('messages.role_id', $roleId);
|
||||
$builder->orWhere('messages.team_id', $teamId);
|
||||
$builder->groupEnd();
|
||||
|
||||
$query = $builder->get();
|
||||
return $query->getResult();
|
||||
dd($this->db->getLastQuery());
|
||||
}
|
||||
}
|
||||
@ -15,6 +15,7 @@ class TPAModel extends Model
|
||||
"front_card",
|
||||
"back_card",
|
||||
"tpa_logo",
|
||||
"network_hospitals",
|
||||
"created_by",
|
||||
"updated_by",
|
||||
"is_active",
|
||||
|
||||
69
app/Models/UserMessageModel.php
Normal file
69
app/Models/UserMessageModel.php
Normal file
@ -0,0 +1,69 @@
|
||||
<?php
|
||||
|
||||
namespace App\Models;
|
||||
|
||||
use CodeIgniter\Model;
|
||||
|
||||
class UserMessageModel extends Model
|
||||
{
|
||||
protected $table = 'user_messages';
|
||||
protected $primaryKey = 'id';
|
||||
protected $useAutoIncrement = true;
|
||||
protected $returnType = 'array';
|
||||
protected $useSoftDeletes = false;
|
||||
protected $protectFields = true;
|
||||
protected $allowedFields = [
|
||||
'id',
|
||||
'message_id',
|
||||
'user_id',
|
||||
'is_read',
|
||||
'read_at',
|
||||
];
|
||||
|
||||
protected bool $allowEmptyInserts = false;
|
||||
|
||||
// Dates
|
||||
protected $useTimestamps = false;
|
||||
protected $dateFormat = 'datetime';
|
||||
protected $createdField = 'created_at';
|
||||
protected $updatedField = 'updated_at';
|
||||
protected $deletedField = 'deleted_at';
|
||||
|
||||
// Validation
|
||||
protected $validationRules = [];
|
||||
protected $validationMessages = [];
|
||||
protected $skipValidation = false;
|
||||
protected $cleanValidationRules = true;
|
||||
|
||||
// Callbacks
|
||||
protected $allowCallbacks = true;
|
||||
protected $beforeInsert = [];
|
||||
protected $afterInsert = [];
|
||||
protected $beforeUpdate = [];
|
||||
protected $afterUpdate = [];
|
||||
protected $beforeFind = [];
|
||||
protected $afterFind = [];
|
||||
protected $beforeDelete = [];
|
||||
protected $afterDelete = [];
|
||||
|
||||
|
||||
public function markAsRead($userId, $messageId)
|
||||
{
|
||||
$data = [
|
||||
'is_read' => 1,
|
||||
'read_at' => date('Y-m-d H:i:s')
|
||||
];
|
||||
|
||||
$existingEntry = $this->where('user_id', $userId)
|
||||
->where('message_id', $messageId)
|
||||
->first();
|
||||
|
||||
if ($existingEntry) {
|
||||
return $this->update($existingEntry['id'], $data);
|
||||
} else {
|
||||
$data['user_id'] = $userId;
|
||||
$data['message_id'] = $messageId;
|
||||
return $this->insert($data);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -54,7 +54,7 @@
|
||||
</div>
|
||||
|
||||
<div class="form-group col-md-4" id="base_policy_id" style="display: none;">
|
||||
<label for="addon_policy">Base Policy<span class="text-danger">*</span></label>
|
||||
<label for="addon_policy">Base Policy<span id="base_danger" class="text-danger">*</span></label>
|
||||
<select class="form-control" id="base_policy" name="base_policy">
|
||||
<option value="" selected>Select Base Policy</option>
|
||||
</select>
|
||||
@ -92,15 +92,19 @@
|
||||
</div>
|
||||
|
||||
<div class="form-row" id="second" style="display: none;">
|
||||
<div class="form-group col-md-4">
|
||||
<div class="form-group col-md-3">
|
||||
<label for="policy_no">Policy No<span class="text-danger">*</span></label>
|
||||
<input value="" type="text" class="form-control" placeholder="Enter Policy Number " name="policy_no" id="policy_no" required>
|
||||
</div>
|
||||
<div class="form-group col-md-3">
|
||||
<label for="policy_start_date">Policy Start Date<span class="text-danger">*</span></label>
|
||||
<input value="" type="text" class="form-control" placeholder="Enter Start Date " name="policy_start_date" id="start_date" required>
|
||||
</div>
|
||||
<div class="form-group col-md-4">
|
||||
<div class="form-group col-md-3">
|
||||
<label for="policy_end_date">Policy End Date<span class="text-danger">*</span></label>
|
||||
<input value="" type="text" class="form-control" placeholder="Enter End Date " name="policy_end_date" id="end_date" required>
|
||||
</div>
|
||||
<div class="form-group col-md-4" id="policy_status_field">
|
||||
<div class="form-group col-md-3" id="policy_status_field">
|
||||
<label for="policy_status">Policy Status</label>
|
||||
<input value="" type="text" class="form-control" placeholder="Policy Status" id="policy_status" readonly>
|
||||
</div>
|
||||
@ -196,6 +200,7 @@
|
||||
$('.btnAdd').hide();
|
||||
$('#insurer').val('').change();
|
||||
$('#tpa').val('').change();
|
||||
$('#policy_no').val('').change();
|
||||
$('#start_date').val('').change();
|
||||
$('#end_date').val('').change();
|
||||
$('#policy').html('<option value="" selected>Select Policy</option>').change();
|
||||
@ -222,6 +227,7 @@
|
||||
$('.btnAdd').show();
|
||||
$('#insurer').val('').change();
|
||||
$('#tpa').val('').change();
|
||||
$('#policy_no').val('').change();
|
||||
$('#start_date').val('').change();
|
||||
$('#end_date').val('').change();
|
||||
$('#policy').html('<option value="" selected>Select Policy</option>');
|
||||
@ -250,30 +256,30 @@
|
||||
// console.log('search_term :', search_term)
|
||||
|
||||
var enrollmentStatus = '';
|
||||
if(item.inception_type == 1){
|
||||
if (item.inception_type == 1) {
|
||||
|
||||
enrollmentStatus = 'N/A'
|
||||
enrollmentStatus = 'N/A'
|
||||
|
||||
}else if(item.inception_type == 2){
|
||||
} else if (item.inception_type == 2) {
|
||||
|
||||
if(item.open_for_enrollment == 1){
|
||||
if (item.open_for_enrollment == 1) {
|
||||
|
||||
enrollmentStatus = '<a href="#" data-id="'+ item.id +'" id="' + item.policy_id + '" class="btnOpenEnroll" data-toggle="tooltip" data-placement="left" title="Click To Close Enrollment">Open</a>'
|
||||
enrollmentStatus = '<a href="#" data-id="' + item.id + '" id="' + item.policy_id + '" class="btnOpenEnroll" data-toggle="tooltip" data-placement="left" title="Click To Close Enrollment">Open</a>'
|
||||
|
||||
|
||||
}else if(item.open_for_enrollment == 0){
|
||||
} else if (item.open_for_enrollment == 0) {
|
||||
|
||||
enrollmentStatus = '<a href="#" data-toggle="tooltip" data-placement="top" title="Click To Open Enrollment" data-id="'+ item.id +'" id="' + item.policy_id + '" class="btnOpenEnroll">Closed</a>'
|
||||
|
||||
}
|
||||
enrollmentStatus = '<a href="#" data-toggle="tooltip" data-placement="top" title="Click To Open Enrollment" data-id="' + item.id + '" id="' + item.policy_id + '" class="btnOpenEnroll">Closed</a>'
|
||||
|
||||
}
|
||||
|
||||
var tpaValue = 'TPA Unavailable';
|
||||
}
|
||||
|
||||
if (item.tpa_short && item.tpa_branch_code) {
|
||||
tpaValue = item.tpa_short + '-' + item.tpa_branch_code;
|
||||
}
|
||||
var tpaValue = 'TPA Unavailable';
|
||||
|
||||
if (item.tpa_short && item.tpa_branch_code) {
|
||||
tpaValue = item.tpa_short + '-' + item.tpa_branch_code;
|
||||
}
|
||||
|
||||
|
||||
policyTable += `
|
||||
@ -411,20 +417,20 @@
|
||||
// console.log('search_term :', search_term)
|
||||
|
||||
var enrollmentStatus = '';
|
||||
if(item.inception_type == 1){
|
||||
if (item.inception_type == 1) {
|
||||
|
||||
enrollmentStatus = 'N/A'
|
||||
|
||||
}else if(item.inception_type == 2){
|
||||
} else if (item.inception_type == 2) {
|
||||
|
||||
if(item.open_for_enrollment == 1){
|
||||
if (item.open_for_enrollment == 1) {
|
||||
|
||||
enrollmentStatus = '<a data-toggle="tooltip" data-placement="top" title="Click To Close Enrollment" href="#" data-id="'+ item.id +'" id="' + item.policy_id + '" class="btnOpenEnroll">Open</a>'
|
||||
enrollmentStatus = '<a data-toggle="tooltip" data-placement="top" title="Click To Close Enrollment" href="#" data-id="' + item.id + '" id="' + item.policy_id + '" class="btnOpenEnroll">Open</a>'
|
||||
|
||||
|
||||
}else if(item.open_for_enrollment == 0){
|
||||
} else if (item.open_for_enrollment == 0) {
|
||||
|
||||
enrollmentStatus = '<a data-toggle="tooltip" data-placement="top" title="Click To Open Enrollment" href="#" data-id="'+ item.id +'" id="' + item.policy_id + '" class="btnOpenEnroll">Closed</a>'
|
||||
enrollmentStatus = '<a data-toggle="tooltip" data-placement="top" title="Click To Open Enrollment" href="#" data-id="' + item.id + '" id="' + item.policy_id + '" class="btnOpenEnroll">Closed</a>'
|
||||
|
||||
}
|
||||
|
||||
@ -461,6 +467,7 @@
|
||||
|
||||
$('#insurer').val('');
|
||||
$('#tpa').val('');
|
||||
$('#policy_no').val('');
|
||||
$('#start_date').val('');
|
||||
$('#end_date').val('');
|
||||
$('#policy').html('<option value="" selected>Select Policy</option>');
|
||||
@ -595,9 +602,9 @@
|
||||
// appendPolicyFormFields(2);
|
||||
// }
|
||||
|
||||
if($('#policy_type').val() == 1){
|
||||
if ($('#policy_type').val() == 1) {
|
||||
|
||||
console.log('step 1')
|
||||
console.log('step 1')
|
||||
|
||||
if (dataId == 3) {
|
||||
|
||||
@ -605,7 +612,8 @@
|
||||
|
||||
var displayStatus = $('#base_policy_id').css('display');
|
||||
$('#base_policy_id').show();
|
||||
$('#base_policy').prop('required', true);
|
||||
$('#base_danger').hide();
|
||||
// $('#base_policy').prop('required', true);
|
||||
|
||||
if (displayStatus === 'none') {
|
||||
console.log('step 2.1')
|
||||
@ -621,7 +629,8 @@
|
||||
|
||||
var displayStatus = $('#base_policy_id').css('display');
|
||||
$('#base_policy_id').hide();
|
||||
$('#base_policy').prop('required', false);
|
||||
$('#base_danger').show();
|
||||
// $('#base_policy').prop('required', false);
|
||||
|
||||
if (displayStatus === 'none') {
|
||||
console.log('step 3.1')
|
||||
@ -648,7 +657,7 @@
|
||||
dataType: 'json',
|
||||
success: function(res) {
|
||||
|
||||
console.log(res)
|
||||
console.log('client_policy_res', res)
|
||||
|
||||
setTimeout(function() {
|
||||
$('.loader').fadeOut();
|
||||
@ -681,6 +690,7 @@
|
||||
|
||||
$('#policy_type_id').val(res.data.policy_type_id);
|
||||
$('#policy_PrimaryKey').val(res.data.id);
|
||||
$('#policy_no').val(res.data.policy_no);
|
||||
$('#start_date').val(rearrangeDateFormat(res.data.policy_start_date));
|
||||
$('#end_date').val(rearrangeDateFormat(res.data.policy_end_date));
|
||||
$('#policy_status').val(checkDateStatus(res.data.policy_end_date));
|
||||
@ -714,7 +724,7 @@
|
||||
}
|
||||
|
||||
|
||||
if(res.data.is_addon == 1 && res.data.base_policy > 0){
|
||||
if (res.data.is_addon == 1 && res.data.base_policy > 0) {
|
||||
|
||||
// $("#insurer").next(".select2-container").css({
|
||||
// 'pointer-events': 'none',
|
||||
@ -807,23 +817,23 @@
|
||||
|
||||
Swal.fire({
|
||||
title: "Are you sure?",
|
||||
text: "You need to approve this!",
|
||||
icon: "info",
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: "#3085d6",
|
||||
confirmButtonText: "Yes",
|
||||
text: "You need to approve this!",
|
||||
icon: "info",
|
||||
showCancelButton: true,
|
||||
confirmButtonColor: "#3085d6",
|
||||
confirmButtonText: "Yes",
|
||||
}).then((result) => {
|
||||
|
||||
|
||||
if (result.isConfirmed) {
|
||||
|
||||
var client_policy_id = $(this).attr('data-id');
|
||||
var policy_id = $(this).attr('id');
|
||||
var client_id = $('#client_id_policy').val()
|
||||
var client_policy_id = $(this).attr('data-id');
|
||||
var policy_id = $(this).attr('id');
|
||||
var client_id = $('#client_id_policy').val()
|
||||
|
||||
console.log('client_policy_id', client_policy_id)
|
||||
console.log('policy_id', policy_id)
|
||||
console.log('client_id', client_id)
|
||||
console.log('client_policy_id', client_policy_id)
|
||||
console.log('policy_id', policy_id)
|
||||
console.log('client_id', client_id)
|
||||
|
||||
if (client_policy_id) {
|
||||
$('.loader').fadeIn();
|
||||
@ -1194,7 +1204,7 @@
|
||||
}
|
||||
|
||||
if (input.id == 'gpa_sum_si2') {
|
||||
gpaSumInsureMultiplier(input);
|
||||
gpaSumInsureMultiplier(input);
|
||||
}
|
||||
|
||||
// if(input.id == 'basic_pay'){
|
||||
@ -1254,10 +1264,12 @@
|
||||
|
||||
$('#insurer').val('').change();
|
||||
$('#tpa').val('').change();
|
||||
$('#policy_no').val('');
|
||||
$('#start_date').val('');
|
||||
$('#end_date').val('');
|
||||
$('#base_policy').val('').change();
|
||||
|
||||
|
||||
if ($(this).val() == 2 || $(this).val() == 3) {
|
||||
|
||||
$("#insurer").next(".select2-container").css({
|
||||
@ -1273,6 +1285,12 @@
|
||||
$('#select2-tpa-container').css({
|
||||
'background-color': '#ebebe0',
|
||||
});
|
||||
|
||||
var baseDanger = $('#base_danger');
|
||||
if (baseDanger.css('display') === 'none') {
|
||||
baseDanger.show();
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
$("#insurer").next(".select2-container").css({
|
||||
@ -1426,6 +1444,7 @@
|
||||
|
||||
$('#insurer').val(res.data.insurer_branch_id + '-' + res.data.insurer_id).change();
|
||||
$('#tpa').val(res.data.tpa_branch_id + '-' + res.data.tpa_id).change();
|
||||
$('#policy_no').val(res.data.policy_no).change();
|
||||
$('#start_date').val(rearrangeDateFormat(res.data.policy_start_date)).change();
|
||||
$('#end_date').val(rearrangeDateFormat(res.data.policy_end_date)).change();
|
||||
|
||||
|
||||
@ -1,42 +1,49 @@
|
||||
<style>
|
||||
|
||||
.table th, .table td {
|
||||
.table th,
|
||||
.table td {
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
table.dataTable tbody td {
|
||||
padding: 4px 4px !important;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<div class="row" id="client_add" style="position: relative; bottom: 25px;">
|
||||
<div class="col-12">
|
||||
<div class="card-body">
|
||||
<ul class="nav nav-pills navtab-bg">
|
||||
<li class="nav-item">
|
||||
<a href="#general-q-tab" data-toggle="tab" aria-expanded="false"
|
||||
class="nav-link px-3 py-2 active" id="general_tab">
|
||||
<span class="mr-1"><i class="mdi mdi-contacts"></i></span>
|
||||
<span class="d-none d-sm-inline-block">Data From Client</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="#KYC-DOC-tab" data-toggle="tab" aria-expanded="true" class="nav-link px-3 py-2" id="kyc_tab">
|
||||
<span class="mr-1"><i class="fa fa-file"></i></span>
|
||||
<span class="d-none d-sm-inline-block">Insurer or TPA Data</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tab-content">
|
||||
<?php include('employee_upload.php'); ?>
|
||||
<?php include('insurer_or_tpa_data.php'); ?>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<ul class="nav nav-pills navtab-bg">
|
||||
<li class="nav-item">
|
||||
<a href="#general-q-tab" data-toggle="tab" aria-expanded="false" class="nav-link px-3 py-2 active" id="general_tab">
|
||||
<span class="mr-1"><i class="mdi mdi-contacts"></i></span>
|
||||
<span class="d-none d-sm-inline-block">Data From Client</span>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a href="#KYC-DOC-tab" data-toggle="tab" aria-expanded="true" class="nav-link px-3 py-2" id="kyc_tab">
|
||||
<span class="mr-1"><i class="fa fa-file"></i></span>
|
||||
<span class="d-none d-sm-inline-block">Insurer or TPA Data</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<div class="tab-content">
|
||||
<?php include('employee_upload.php'); ?>
|
||||
<?php include('insurer_or_tpa_data.php'); ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
if (window.location.hash === '#KYC-DOC-tab') {
|
||||
console.log('url hash :', window.location.hash)
|
||||
$('#kyc_tab').click();
|
||||
}
|
||||
|
||||
})
|
||||
</script>
|
||||
@ -7,7 +7,9 @@
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<script>document.write(new Date().getFullYear())</script> © NHANCE
|
||||
<script>
|
||||
document.write(new Date().getFullYear())
|
||||
</script> © NHANCE
|
||||
</div>
|
||||
<!-- <div class="col-md-6">
|
||||
<div class="text-md-right footer-links d-none d-sm-block">
|
||||
@ -31,453 +33,79 @@
|
||||
</div>
|
||||
<!-- END wrapper -->
|
||||
|
||||
<!-- Right Sidebar -->
|
||||
<div class="right-bar">
|
||||
<div data-simplebar class="h-100">
|
||||
<!-- Right Sidebar -->
|
||||
<div class="right-bar">
|
||||
<div data-simplebar class="h-100">
|
||||
|
||||
<!-- Nav tabs -->
|
||||
<ul class="nav nav-tabs nav-bordered nav-justified" role="tablist">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link py-2" data-toggle="tab" href="#chat-tab" role="tab">
|
||||
<i class="mdi mdi-message-text-outline d-block font-22 my-1"></i>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link py-2" data-toggle="tab" href="#tasks-tab" role="tab">
|
||||
<i class="mdi mdi-format-list-checkbox d-block font-22 my-1"></i>
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link py-2 active" data-toggle="tab" href="#settings-tab" role="tab">
|
||||
<i class="mdi mdi-cog-outline d-block font-22 my-1"></i>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- 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>
|
||||
</h6>
|
||||
|
||||
<!-- Tab panes -->
|
||||
<div class="tab-content pt-0">
|
||||
<div class="tab-pane" id="chat-tab" role="tabpanel">
|
||||
|
||||
<form class="search-bar p-3">
|
||||
<div class="position-relative">
|
||||
<input type="text" class="form-control" placeholder="Search...">
|
||||
<span class="mdi mdi-magnify"></span>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<h6 class="font-weight-medium px-3 mt-2 text-uppercase">Group Chats</h6>
|
||||
|
||||
<div class="p-2">
|
||||
<a href="javascript: void(0);" class="text-reset notification-item pl-3 mb-2 d-block">
|
||||
<i class="mdi mdi-checkbox-blank-circle-outline mr-1 text-success"></i>
|
||||
<span class="mb-0 mt-1">App Development</span>
|
||||
</a>
|
||||
|
||||
<a href="javascript: void(0);" class="text-reset notification-item pl-3 mb-2 d-block">
|
||||
<i class="mdi mdi-checkbox-blank-circle-outline mr-1 text-warning"></i>
|
||||
<span class="mb-0 mt-1">Office Work</span>
|
||||
</a>
|
||||
|
||||
<a href="javascript: void(0);" class="text-reset notification-item pl-3 mb-2 d-block">
|
||||
<i class="mdi mdi-checkbox-blank-circle-outline mr-1 text-danger"></i>
|
||||
<span class="mb-0 mt-1">Personal Group</span>
|
||||
</a>
|
||||
|
||||
<a href="javascript: void(0);" class="text-reset notification-item pl-3 d-block">
|
||||
<i class="mdi mdi-checkbox-blank-circle-outline mr-1"></i>
|
||||
<span class="mb-0 mt-1">Freelance</span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<h6 class="font-weight-medium px-3 mt-3 text-uppercase">Favourites <a href="javascript: void(0);" class="font-18 text-danger"><i class="float-right mdi mdi-plus-circle"></i></a></h6>
|
||||
|
||||
<div class="p-2">
|
||||
<a href="javascript: void(0);" class="text-reset notification-item">
|
||||
<div class="media">
|
||||
<div class="position-relative mr-2">
|
||||
<span class="user-status"></span>
|
||||
<img src="<?= base_url()."public"; ?>/assets/images/users/avatar-10.jpg" class="rounded-circle avatar-sm" alt="user-pic">
|
||||
</div>
|
||||
<div class="media-body overflow-hidden">
|
||||
<h6 class="mt-0 mb-1 font-14">Andrew Mackie</h6>
|
||||
<div class="font-13 text-muted">
|
||||
<p class="mb-0 text-truncate">It will seem like simplified English.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="javascript: void(0);" class="text-reset notification-item">
|
||||
<div class="media">
|
||||
<div class="position-relative mr-2">
|
||||
<span class="user-status"></span>
|
||||
<img src="<?= base_url()."public"; ?>/assets/images/users/avatar-1.jpg" class="rounded-circle avatar-sm" alt="user-pic">
|
||||
</div>
|
||||
<div class="media-body overflow-hidden">
|
||||
<h6 class="mt-0 mb-1 font-14">Rory Dalyell</h6>
|
||||
<div class="font-13 text-muted">
|
||||
<p class="mb-0 text-truncate">To an English person, it will seem like simplified</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="javascript: void(0);" class="text-reset notification-item">
|
||||
<div class="media">
|
||||
<div class="position-relative mr-2">
|
||||
<span class="user-status busy"></span>
|
||||
<img src="<?= base_url()."public"; ?>/assets/images/users/avatar-9.jpg" class="rounded-circle avatar-sm" alt="user-pic">
|
||||
</div>
|
||||
<div class="media-body overflow-hidden">
|
||||
<h6 class="mt-0 mb-1 font-14">Jaxon Dunhill</h6>
|
||||
<div class="font-13 text-muted">
|
||||
<p class="mb-0 text-truncate">To achieve this, it would be necessary.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<h6 class="font-weight-medium px-3 mt-3 text-uppercase">Other Chats <a href="javascript: void(0);" class="font-18 text-danger"><i class="float-right mdi mdi-plus-circle"></i></a></h6>
|
||||
|
||||
<div class="p-2 pb-4">
|
||||
<a href="javascript: void(0);" class="text-reset notification-item">
|
||||
<div class="media">
|
||||
<div class="position-relative mr-2">
|
||||
<span class="user-status online"></span>
|
||||
<img src="<?= base_url()."public"; ?>/assets/images/users/avatar-2.jpg" class="rounded-circle avatar-sm" alt="user-pic">
|
||||
</div>
|
||||
<div class="media-body overflow-hidden">
|
||||
<h6 class="mt-0 mb-1 font-14">Jackson Therry</h6>
|
||||
<div class="font-13 text-muted">
|
||||
<p class="mb-0 text-truncate">Everyone realizes why a new common language.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="javascript: void(0);" class="text-reset notification-item">
|
||||
<div class="media">
|
||||
<div class="position-relative mr-2">
|
||||
<span class="user-status away"></span>
|
||||
<img src="<?= base_url()."public"; ?>/assets/images/users/avatar-4.jpg" class="rounded-circle avatar-sm" alt="user-pic">
|
||||
</div>
|
||||
<div class="media-body overflow-hidden">
|
||||
<h6 class="mt-0 mb-1 font-14">Charles Deakin</h6>
|
||||
<div class="font-13 text-muted">
|
||||
<p class="mb-0 text-truncate">The languages only differ in their grammar.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="javascript: void(0);" class="text-reset notification-item">
|
||||
<div class="media">
|
||||
<div class="position-relative mr-2">
|
||||
<span class="user-status online"></span>
|
||||
<img src="<?= base_url()."public"; ?>/assets/images/users/avatar-5.jpg" class="rounded-circle avatar-sm" alt="user-pic">
|
||||
</div>
|
||||
<div class="media-body overflow-hidden">
|
||||
<h6 class="mt-0 mb-1 font-14">Ryan Salting</h6>
|
||||
<div class="font-13 text-muted">
|
||||
<p class="mb-0 text-truncate">If several languages coalesce the grammar of the resulting.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="javascript: void(0);" class="text-reset notification-item">
|
||||
<div class="media">
|
||||
<div class="position-relative mr-2">
|
||||
<span class="user-status online"></span>
|
||||
<img src="<?= base_url()."public"; ?>/assets/images/users/avatar-6.jpg" class="rounded-circle avatar-sm" alt="user-pic">
|
||||
</div>
|
||||
<div class="media-body overflow-hidden">
|
||||
<h6 class="mt-0 mb-1 font-14">Sean Howse</h6>
|
||||
<div class="font-13 text-muted">
|
||||
<p class="mb-0 text-truncate">It will seem like simplified English.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="javascript: void(0);" class="text-reset notification-item">
|
||||
<div class="media">
|
||||
<div class="position-relative mr-2">
|
||||
<span class="user-status busy"></span>
|
||||
<img src="<?= base_url()."public"; ?>/assets/images/users/avatar-7.jpg" class="rounded-circle avatar-sm" alt="user-pic">
|
||||
</div>
|
||||
<div class="media-body overflow-hidden">
|
||||
<h6 class="mt-0 mb-1 font-14">Dean Coward</h6>
|
||||
<div class="font-13 text-muted">
|
||||
<p class="mb-0 text-truncate">The new common language will be more simple.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="javascript: void(0);" class="text-reset notification-item">
|
||||
<div class="media">
|
||||
<div class="position-relative mr-2">
|
||||
<span class="user-status away"></span>
|
||||
<img src="<?= base_url()."public"; ?>/assets/images/users/avatar-8.jpg" class="rounded-circle avatar-sm" alt="user-pic">
|
||||
</div>
|
||||
<div class="media-body overflow-hidden">
|
||||
<h6 class="mt-0 mb-1 font-14">Hayley East</h6>
|
||||
<div class="font-13 text-muted">
|
||||
<p class="mb-0 text-truncate">One could refuse to pay expensive translators.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<div class="text-center mt-3">
|
||||
<a href="javascript:void(0);" class="btn btn-sm btn-white">
|
||||
<i class="mdi mdi-spin mdi-loading mr-2"></i>
|
||||
Load more
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="tab-pane" id="tasks-tab" role="tabpanel">
|
||||
<h6 class="font-weight-medium p-3 m-0 text-uppercase">Working Tasks</h6>
|
||||
<div class="px-2">
|
||||
<a href="javascript: void(0);" class="text-reset item-hovered d-block p-2">
|
||||
<p class="text-muted mb-0">App Development<span class="float-right">75%</span></p>
|
||||
<div class="progress mt-2" style="height: 4px;">
|
||||
<div class="progress-bar bg-success" role="progressbar" style="width: 75%" aria-valuenow="75" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="javascript: void(0);" class="text-reset item-hovered d-block p-2">
|
||||
<p class="text-muted mb-0">Database Repair<span class="float-right">37%</span></p>
|
||||
<div class="progress mt-2" style="height: 4px;">
|
||||
<div class="progress-bar bg-info" role="progressbar" style="width: 37%" aria-valuenow="37" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="javascript: void(0);" class="text-reset item-hovered d-block p-2">
|
||||
<p class="text-muted mb-0">Backup Create<span class="float-right">52%</span></p>
|
||||
<div class="progress mt-2" style="height: 4px;">
|
||||
<div class="progress-bar bg-warning" role="progressbar" style="width: 52%" aria-valuenow="52" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<h6 class="font-weight-medium px-3 mb-0 mt-4 text-uppercase">Upcoming Tasks</h6>
|
||||
|
||||
<div class="p-2">
|
||||
<a href="javascript: void(0);" class="text-reset item-hovered d-block p-2">
|
||||
<p class="text-muted mb-0">Sales Reporting<span class="float-right">12%</span></p>
|
||||
<div class="progress mt-2" style="height: 4px;">
|
||||
<div class="progress-bar bg-danger" role="progressbar" style="width: 12%" aria-valuenow="12" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="javascript: void(0);" class="text-reset item-hovered d-block p-2">
|
||||
<p class="text-muted mb-0">Redesign Website<span class="float-right">67%</span></p>
|
||||
<div class="progress mt-2" style="height: 4px;">
|
||||
<div class="progress-bar bg-primary" role="progressbar" style="width: 67%" aria-valuenow="67" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="javascript: void(0);" class="text-reset item-hovered d-block p-2">
|
||||
<p class="text-muted mb-0">New Admin Design<span class="float-right">84%</span></p>
|
||||
<div class="progress mt-2" style="height: 4px;">
|
||||
<div class="progress-bar bg-success" role="progressbar" style="width: 84%" aria-valuenow="84" aria-valuemin="0" aria-valuemax="100"></div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="p-3 mt-2">
|
||||
<a href="javascript: void(0);" class="btn btn-success btn-block waves-effect waves-light">Create Task</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="tab-pane active" id="settings-tab" role="tabpanel">
|
||||
<h6 class="font-weight-medium px-3 m-0 py-2 font-13 text-uppercase bg-light">
|
||||
<span class="d-block py-1">Theme Settings</span>
|
||||
</h6>
|
||||
|
||||
<div class="p-3">
|
||||
<div class="alert alert-warning" role="alert">
|
||||
<strong>Customize </strong> the overall color scheme, sidebar menu, etc.
|
||||
</div>
|
||||
|
||||
<h6 class="font-weight-medium font-14 mt-4 mb-2 pb-1">Color Scheme</h6>
|
||||
<div class="custom-control custom-switch mb-1">
|
||||
<input type="radio" class="custom-control-input" name="color-scheme-mode" value="light"
|
||||
id="light-mode-check" checked />
|
||||
<label class="custom-control-label" for="light-mode-check">Light Mode</label>
|
||||
</div>
|
||||
|
||||
<div class="custom-control custom-switch mb-1">
|
||||
<input type="radio" class="custom-control-input" name="color-scheme-mode" value="dark"
|
||||
id="dark-mode-check" />
|
||||
<label class="custom-control-label" for="dark-mode-check">Dark Mode</label>
|
||||
</div>
|
||||
|
||||
<!-- Width -->
|
||||
<h6 class="font-weight-medium font-14 mt-4 mb-2 pb-1">Width</h6>
|
||||
<div class="custom-control custom-switch mb-1">
|
||||
<input type="radio" class="custom-control-input" name="width" value="fluid" id="fluid-check" checked />
|
||||
<label class="custom-control-label" for="fluid-check">Fluid</label>
|
||||
</div>
|
||||
<div class="custom-control custom-switch mb-1">
|
||||
<input type="radio" class="custom-control-input" name="width" value="boxed" id="boxed-check" />
|
||||
<label class="custom-control-label" for="boxed-check">Boxed</label>
|
||||
</div>
|
||||
|
||||
<!-- Topbar -->
|
||||
<h6 class="font-weight-medium font-14 mt-4 mb-2 pb-1">Topbar</h6>
|
||||
|
||||
<div class="custom-control custom-switch mb-1">
|
||||
<input type="radio" class="custom-control-input" name="topbar-color" value="dark" id="darktopbar-check"
|
||||
checked />
|
||||
<label class="custom-control-label" for="darktopbar-check">Dark</label>
|
||||
</div>
|
||||
|
||||
<div class="custom-control custom-switch mb-1">
|
||||
<input type="radio" class="custom-control-input" name="topbar-color" value="light" id="lighttopbar-check" />
|
||||
<label class="custom-control-label" for="lighttopbar-check">Light</label>
|
||||
</div>
|
||||
|
||||
<!-- Menu positions -->
|
||||
<h6 class="font-weight-medium font-14 mt-4 mb-2 pb-1">Menus Positon <small>(Leftsidebar and Topbar)</small></h6>
|
||||
|
||||
<div class="custom-control custom-switch mb-1">
|
||||
<input type="radio" class="custom-control-input" name="menus-position" value="fixed" id="fixed-check"
|
||||
checked />
|
||||
<label class="custom-control-label" for="fixed-check">Fixed</label>
|
||||
</div>
|
||||
|
||||
<div class="custom-control custom-switch mb-1">
|
||||
<input type="radio" class="custom-control-input" name="menus-position" value="scrollable"
|
||||
id="scrollable-check" />
|
||||
<label class="custom-control-label" for="scrollable-check">Scrollable</label>
|
||||
</div>
|
||||
|
||||
<!-- Left Sidebar-->
|
||||
<h6 class="font-weight-medium font-14 mt-4 mb-2 pb-1">Left Sidebar Color</h6>
|
||||
|
||||
<div class="custom-control custom-switch mb-1">
|
||||
<input type="radio" class="custom-control-input" name="leftsidebar-color" value="light" id="light-check" checked />
|
||||
<label class="custom-control-label" for="light-check">Light</label>
|
||||
</div>
|
||||
|
||||
<div class="custom-control custom-switch mb-1">
|
||||
<input type="radio" class="custom-control-input" name="leftsidebar-color" value="dark" id="dark-check" />
|
||||
<label class="custom-control-label" for="dark-check">Dark</label>
|
||||
</div>
|
||||
|
||||
<div class="custom-control custom-switch mb-1">
|
||||
<input type="radio" class="custom-control-input" name="leftsidebar-color" value="brand" id="brand-check" />
|
||||
<label class="custom-control-label" for="brand-check">Brand</label>
|
||||
</div>
|
||||
|
||||
<div class="custom-control custom-switch mb-3">
|
||||
<input type="radio" class="custom-control-input" name="leftsidebar-color" value="gradient" id="gradient-check" />
|
||||
<label class="custom-control-label" for="gradient-check">Gradient</label>
|
||||
</div>
|
||||
|
||||
<!-- size -->
|
||||
<h6 class="font-weight-medium font-14 mt-4 mb-2 pb-1">Left Sidebar Size</h6>
|
||||
|
||||
<div class="custom-control custom-switch mb-1">
|
||||
<input type="radio" class="custom-control-input" name="leftsidebar-size" value="default"
|
||||
id="default-size-check" checked />
|
||||
<label class="custom-control-label" for="default-size-check">Default</label>
|
||||
</div>
|
||||
|
||||
<div class="custom-control custom-switch mb-1">
|
||||
<input type="radio" class="custom-control-input" name="leftsidebar-size" value="condensed"
|
||||
id="condensed-check" />
|
||||
<label class="custom-control-label" for="condensed-check">Condensed <small>(Extra Small size)</small></label>
|
||||
</div>
|
||||
|
||||
<div class="custom-control custom-switch mb-1">
|
||||
<input type="radio" class="custom-control-input" name="leftsidebar-size" value="compact"
|
||||
id="compact-check" />
|
||||
<label class="custom-control-label" for="compact-check">Compact <small>(Small size)</small></label>
|
||||
</div>
|
||||
|
||||
<!-- User info -->
|
||||
<h6 class="font-weight-medium font-14 mt-4 mb-2 pb-1">Sidebar User Info</h6>
|
||||
|
||||
<div class="custom-control custom-switch mb-1">
|
||||
<input type="checkbox" class="custom-control-input" name="leftsidebar-user" value="fixed" id="sidebaruser-check" />
|
||||
<label class="custom-control-label" for="sidebaruser-check">Enable</label>
|
||||
</div>
|
||||
|
||||
|
||||
<button class="btn btn-primary btn-block mt-4" id="resetBtn">Reset to Default</button>
|
||||
|
||||
<a href=""
|
||||
class="btn btn-danger btn-block mt-2" target="_blank"><i class="mdi mdi-basket mr-1"></i> Purchase Now</a>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div> <!-- end slimscroll-menu-->
|
||||
<div id="header-bar">
|
||||
<div>
|
||||
<ul class="list-unstyled" id="messages-list"></ul>
|
||||
</div>
|
||||
</div>
|
||||
<!-- /Right-bar -->
|
||||
|
||||
|
||||
|
||||
</div> <!-- end slimscroll-menu-->
|
||||
</div>
|
||||
<!-- /Right-bar -->
|
||||
|
||||
<!-- Right bar overlay-->
|
||||
<div class="rightbar-overlay"></div>
|
||||
|
||||
<!-- Vendor js -->
|
||||
<script src="<?= base_url()."public"; ?>/assets/js/vendor.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/js/vendor.min.js"></script>
|
||||
|
||||
<!-- KNOB JS -->
|
||||
<script src="<?= base_url()."public"; ?>/assets/libs/jquery-knob/jquery.knob.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/jquery-knob/jquery.knob.min.js"></script>
|
||||
<!-- Apex js-->
|
||||
<script src="<?= base_url()."public"; ?>/assets/libs/apexcharts/apexcharts.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/apexcharts/apexcharts.min.js"></script>
|
||||
|
||||
<!-- third party js -->
|
||||
<script src="<?= base_url()."public"; ?>/assets/libs/datatables.net/js/jquery.dataTables.min.js"></script>
|
||||
<script src="<?= base_url()."public"; ?>/assets/libs/datatables.net-bs4/js/dataTables.bootstrap4.min.js"></script>
|
||||
<script src="<?= base_url()."public"; ?>/assets/libs/datatables.net-responsive/js/dataTables.responsive.min.js"></script>
|
||||
<script src="<?= base_url()."public"; ?>/assets/libs/datatables.net-responsive-bs4/js/responsive.bootstrap4.min.js"></script>
|
||||
<script src="<?= base_url()."public"; ?>/assets/libs/datatables.net-buttons/js/dataTables.buttons.min.js"></script>
|
||||
<script src="<?= base_url()."public"; ?>/assets/libs/datatables.net-buttons-bs4/js/buttons.bootstrap4.min.js"></script>
|
||||
<script src="<?= base_url()."public"; ?>/assets/libs/datatables.net-buttons/js/buttons.html5.min.js"></script>
|
||||
<script src="<?= base_url()."public"; ?>/assets/libs/datatables.net-buttons/js/buttons.flash.min.js"></script>
|
||||
<script src="<?= base_url()."public"; ?>/assets/libs/datatables.net-buttons/js/buttons.print.min.js"></script>
|
||||
<script src="<?= base_url()."public"; ?>/assets/libs/datatables.net-keytable/js/dataTables.keyTable.min.js"></script>
|
||||
<script src="<?= base_url()."public"; ?>/assets/libs/datatables.net-select/js/dataTables.select.min.js"></script>
|
||||
<script src="<?= base_url()."public"; ?>/assets/libs/pdfmake/build/pdfmake.min.js"></script>
|
||||
<script src="<?= base_url()."public"; ?>/assets/libs/pdfmake/build/vfs_fonts.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net/js/jquery.dataTables.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net-bs4/js/dataTables.bootstrap4.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net-responsive/js/dataTables.responsive.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net-responsive-bs4/js/responsive.bootstrap4.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net-buttons/js/dataTables.buttons.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net-buttons-bs4/js/buttons.bootstrap4.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net-buttons/js/buttons.html5.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net-buttons/js/buttons.flash.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net-buttons/js/buttons.print.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net-keytable/js/dataTables.keyTable.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/datatables.net-select/js/dataTables.select.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/pdfmake/build/pdfmake.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/pdfmake/build/vfs_fonts.js"></script>
|
||||
<!-- third party js ends -->
|
||||
|
||||
<!-- Datatables init -->
|
||||
<!-- <script src="<?= base_url()."public"; ?>/assets/js/pages/datatables.init.js"></script> -->
|
||||
<!-- <script src="<?= base_url() . "public"; ?>/assets/js/pages/datatables.init.js"></script> -->
|
||||
|
||||
|
||||
<script src="<?= base_url()."public"; ?>/assets/js/pages/tickets.init.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/js/pages/tickets.init.js"></script>
|
||||
|
||||
<!-- Plugins js-->
|
||||
<script src="<?= base_url()."public"; ?>/assets/libs/admin-resources/jquery.vectormap/jquery-jvectormap-1.2.2.min.js"></script>
|
||||
<script src="<?= base_url()."public"; ?>/assets/libs/admin-resources/jquery.vectormap/maps/jquery-jvectormap-us-merc-en.js"></script>
|
||||
<script src="<?= base_url()."public"; ?>/assets/libs/parsleyjs/parsley.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/admin-resources/jquery.vectormap/jquery-jvectormap-1.2.2.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/admin-resources/jquery.vectormap/maps/jquery-jvectormap-us-merc-en.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/libs/parsleyjs/parsley.min.js"></script>
|
||||
|
||||
<!-- Dashboard init-->
|
||||
<script src="<?= base_url()."public"; ?>/assets/js/pages/dashboard-analytics.init.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/js/pages/dashboard-analytics.init.js"></script>
|
||||
|
||||
<!-- Validation init js-->
|
||||
<script src="<?= base_url()."public"; ?>/assets/js/pages/form-validation.init.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/js/pages/form-validation.init.js"></script>
|
||||
|
||||
<!-- App js -->
|
||||
<script src="<?= base_url()."public"; ?>/assets/js/app.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/js/app.min.js"></script>
|
||||
|
||||
|
||||
<!-- Sweet Alert CDN -->
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap-multiselect@1.1.0/dist/js/bootstrap-multiselect.min.js"></script>
|
||||
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-multiselect/0.9.13/css/bootstrap-multiselect.css" />
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-multiselect/0.9.13/css/bootstrap-multiselect.css" />
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/toastr@2.1.4/toastr.min.js"></script>
|
||||
<link href="https://cdn.jsdelivr.net/npm/toastr@2.1.4/build/toastr.min.css" rel="stylesheet">
|
||||
@ -489,16 +117,12 @@
|
||||
<!-- bootstrap datepicker -->
|
||||
<!-- <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.10.0/js/bootstrap-datepicker.min.js"></script> -->
|
||||
|
||||
<script src="<?= base_url()."public"; ?>/assets/js/pages/jquery.xeditable.js"></script>
|
||||
<script src="<?= base_url()."public"; ?>/assets/js/form-xeditable.init.js"></script>
|
||||
<script src="<?= base_url()."public"; ?>/assets/js/bootstrap-editable.min.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/js/pages/jquery.xeditable.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/js/form-xeditable.init.js"></script>
|
||||
<script src="<?= base_url() . "public"; ?>/assets/js/bootstrap-editable.min.js"></script>
|
||||
|
||||
<!-- Jodit Js -->
|
||||
<script src="<?= base_url()."public"; ?>/assets/js/jodit.min.js"></script>
|
||||
|
||||
<script src="<?= base_url()."public"; ?>/assets/libs/quill/quill.min.js"></script>
|
||||
<script src="<?= base_url()."public"; ?>/assets/js/pages/form-quilljs.init.js"></script>
|
||||
|
||||
<script src="<?= base_url() . "public"; ?>/assets/js/jodit.min.js"></script>
|
||||
|
||||
<!-- select2 -->
|
||||
<script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>
|
||||
@ -506,13 +130,174 @@
|
||||
|
||||
|
||||
<script>
|
||||
toastr.options = {
|
||||
"timeOut": 5000,
|
||||
"closeButton": true,
|
||||
};
|
||||
toastr.options = {
|
||||
"timeOut": 5000,
|
||||
"closeButton": true,
|
||||
};
|
||||
</script>
|
||||
|
||||
|
||||
<script>
|
||||
|
||||
|
||||
$(document).ready(function() {
|
||||
|
||||
|
||||
function fetchMessages() {
|
||||
$.ajax({
|
||||
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 = "";
|
||||
|
||||
response.forEach(message => {
|
||||
|
||||
if (!message.is_read) {
|
||||
unreadCount++;
|
||||
}
|
||||
|
||||
var jasonDecodeData = JSON.parse(message.message_text)
|
||||
|
||||
|
||||
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 = 'Success';
|
||||
|
||||
if(jasonDecodeData.msg_status == 'failure'){
|
||||
|
||||
toast_body_css = 'background : #fdcfcf !important;';
|
||||
toast_head_css = 'background-color : rgb(235 105 105 / 85%) !important; color :#000; border-bottom: 0;';
|
||||
toast_icon = 'mdi mdi-information mr-auto'
|
||||
toast_status_word = 'Failure';
|
||||
|
||||
}else if(jasonDecodeData.msg_status == 'success'){
|
||||
|
||||
toast_body_css = 'background : #bfd7eb !important;';
|
||||
toast_head_css = 'background-color : rgb(2, 168, 181) !important; color :#000; border-bottom: 0;';
|
||||
toast_icon = 'mdi mdi-checkbox-marked-circle mr-auto'
|
||||
toast_status_word = 'Success';
|
||||
}
|
||||
|
||||
var html = ` <li data-id="${message.id}" data-url="${jasonDecodeData.action_url != undefined && jasonDecodeData.action_url != "" ? jasonDecodeData.action_url : 'dashboard/view'}">
|
||||
<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>${jasonDecodeData.msg_title ? jasonDecodeData.msg_title : ''}</strong> <br><br>
|
||||
<small style="position: relative;bottom: 8px;">${jasonDecodeData.message_text}</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: 25px;position: relative;top: 2px;">${jasonDecodeData.action_url != undefined && jasonDecodeData.action_url != "" ? 'see more' : ''}</small></a>
|
||||
<small style="position: relative;top: 2px;left: 5px;font-size: 10px;">${formatDate(message.created_at)}</small>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</li>`
|
||||
|
||||
|
||||
messagesList.append(html);
|
||||
$(function() {
|
||||
$('[data-toggle="tooltip"]').tooltip();
|
||||
});
|
||||
});
|
||||
|
||||
$('#notification_count').html(unreadCount);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function acknowledgeMessage(messageId) {
|
||||
$.ajax({
|
||||
url: '<?= base_url('acknowledge-notification/') ?>' + messageId,
|
||||
method: 'GET',
|
||||
success: function(response) {
|
||||
fetchMessages();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
$('#messages-list').on('click', 'li', function(event) {
|
||||
|
||||
console.log('messages-list click li')
|
||||
|
||||
if ($(event.target).closest('.rm_msg').length > 0) {
|
||||
|
||||
console.log('.rm_msg')
|
||||
|
||||
let messageId = $(this).data('id');
|
||||
let url = $(this).data('url');
|
||||
acknowledgeMessage(messageId);
|
||||
|
||||
$(this).delay(300).fadeOut('slow', function() {
|
||||
$(this).remove();
|
||||
});
|
||||
|
||||
} else if ($(event.target).closest('.redirect_page').length > 0){
|
||||
|
||||
console.log('redirect_page')
|
||||
|
||||
let messageId = $(this).data('id');
|
||||
let url = $(this).data('url');
|
||||
console.log('url : ', url)
|
||||
acknowledgeMessage(messageId);
|
||||
|
||||
window.location.href = '<?= base_url() ?>' + url;
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
|
||||
fetchMessages();
|
||||
|
||||
setInterval(fetchMessages, 5000); // Fetch messages every minute
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
<script>
|
||||
function formatDate(dateString) {
|
||||
// Parse the input date string
|
||||
let date = new Date(dateString);
|
||||
|
||||
// Define months array
|
||||
const months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
|
||||
|
||||
// Extract day, month, year, hours, and minutes
|
||||
let day = date.getDate();
|
||||
let month = months[date.getMonth()];
|
||||
let year = date.getFullYear();
|
||||
let hours = date.getHours();
|
||||
let minutes = date.getMinutes();
|
||||
|
||||
// Convert hours to 12-hour format
|
||||
let period = hours >= 12 ? 'pm' : 'am';
|
||||
hours = hours % 12;
|
||||
hours = hours ? hours : 12; // Handle midnight (0 hours)
|
||||
|
||||
// Format the time string
|
||||
let timeString = ('0' + hours).slice(-2) + ':' + ('0' + minutes).slice(-2) + ' ' + period;
|
||||
|
||||
// Format the date string
|
||||
let formattedDate = day + '-' + month + '-' + year + ' ' + timeString;
|
||||
|
||||
return formattedDate;
|
||||
}
|
||||
</script>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@ -43,10 +43,6 @@
|
||||
<!-- Jodit Css -->
|
||||
<link href="<?= base_url()."public"; ?>/assets/css/jodit.css" rel="stylesheet" type="text/css" />
|
||||
|
||||
|
||||
<link href="<?= base_url()."public"; ?>/assets/libs/quill/quill.snow.css" rel="stylesheet" type="text/css" />
|
||||
|
||||
|
||||
|
||||
<!-- JQuery CDN -->
|
||||
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
|
||||
@ -234,6 +230,28 @@
|
||||
.select2-container--default .select2-selection--single .select2-selection__arrow {
|
||||
top: 7px !important;
|
||||
}
|
||||
</style>
|
||||
|
||||
<style>
|
||||
.toast-body {
|
||||
padding: .75rem;
|
||||
background: aliceblue !important;
|
||||
}
|
||||
|
||||
#messages-list li {
|
||||
margin-top: 0;
|
||||
margin-bottom: -25px; /* Adjust this value to reduce the space */
|
||||
}
|
||||
|
||||
.toast-footer {
|
||||
text-align: right;
|
||||
color: #000;
|
||||
border-top: 1px solid aliceblue;
|
||||
margin-top: 11px;
|
||||
margin-bottom: -6px;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
|
||||
<script>
|
||||
@ -245,7 +263,6 @@
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
</head>
|
||||
@ -330,88 +347,12 @@
|
||||
</form>
|
||||
</li>
|
||||
|
||||
<!-- <li class="dropdown notification-list topbar-dropdown">
|
||||
<a class="nav-link dropdown-toggle waves-effect waves-light" data-toggle="dropdown" href="#" role="button" aria-haspopup="false" aria-expanded="false">
|
||||
<li class="dropdown notification-list topbar-dropdown">
|
||||
<a class="nav-link dropdown-toggle right-bar-toggle waves-effect waves-light">
|
||||
<i class="fe-bell noti-icon"></i>
|
||||
<span class="badge badge-danger rounded-circle noti-icon-badge">1</span>
|
||||
<span class="badge badge-danger rounded-circle noti-icon-badge" id="notification_count">0</span>
|
||||
</a>
|
||||
<div class="dropdown-menu dropdown-menu-right dropdown-lg">
|
||||
|
||||
<div class="dropdown-item noti-title">
|
||||
<h5 class="m-0">
|
||||
<span class="float-right">
|
||||
<a href="" class="text-dark">
|
||||
<small>Clear All</small>
|
||||
</a>
|
||||
</span>Notification
|
||||
</h5>
|
||||
</div>
|
||||
|
||||
<div class="noti-scroll" data-simplebar>
|
||||
|
||||
<a href="javascript:void(0);" class="dropdown-item notify-item active">
|
||||
<div class="notify-icon bg-soft-primary text-primary">
|
||||
<i class="mdi mdi-comment-account-outline"></i>
|
||||
</div>
|
||||
<p class="notify-details">Doug Dukes commented on Admin Dashboard
|
||||
<small class="text-muted">1 min ago</small>
|
||||
</p>
|
||||
</a>
|
||||
|
||||
<a href="javascript:void(0);" class="dropdown-item notify-item">
|
||||
<div class="notify-icon">
|
||||
<img src="<?= base_url()."public"; ?>/assets/images/users/avatar-2.jpg" class="img-fluid rounded-circle" alt="" /> </div>
|
||||
<p class="notify-details">Mario Drummond</p>
|
||||
<p class="text-muted mb-0 user-msg">
|
||||
<small>Hi, How are you? What about our next meeting</small>
|
||||
</p>
|
||||
</a>
|
||||
|
||||
<a href="javascript:void(0);" class="dropdown-item notify-item">
|
||||
<div class="notify-icon">
|
||||
<img src="<?= base_url()."public"; ?>/assets/images/users/avatar-4.jpg" class="img-fluid rounded-circle" alt="" /> </div>
|
||||
<p class="notify-details">Karen Robinson</p>
|
||||
<p class="text-muted mb-0 user-msg">
|
||||
<small>Wow ! this admin looks good and awesome design</small>
|
||||
</p>
|
||||
</a>
|
||||
|
||||
<a href="javascript:void(0);" class="dropdown-item notify-item">
|
||||
<div class="notify-icon bg-soft-warning text-warning">
|
||||
<i class="mdi mdi-account-plus"></i>
|
||||
</div>
|
||||
<p class="notify-details">New user registered.
|
||||
<small class="text-muted">5 hours ago</small>
|
||||
</p>
|
||||
</a>
|
||||
|
||||
<a href="javascript:void(0);" class="dropdown-item notify-item">
|
||||
<div class="notify-icon bg-info">
|
||||
<i class="mdi mdi-comment-account-outline"></i>
|
||||
</div>
|
||||
<p class="notify-details">Caleb Flakelar commented on Admin
|
||||
<small class="text-muted">4 days ago</small>
|
||||
</p>
|
||||
</a>
|
||||
|
||||
<a href="javascript:void(0);" class="dropdown-item notify-item">
|
||||
<div class="notify-icon bg-secondary">
|
||||
<i class="mdi mdi-heart"></i>
|
||||
</div>composer create-project laravel/laravel:^11.0 example-app
|
||||
<p class="notify-details">Carlos Crouch liked
|
||||
<b>Admin</b>
|
||||
<small class="text-muted">13 days ago</small>
|
||||
</p>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<a href="javascript:void(0);" class="dropdown-item text-center text-primary notify-item notify-all">
|
||||
View all
|
||||
<i class="fe-arrow-right"></i>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</li> -->
|
||||
</li>
|
||||
|
||||
<li class="dropdown notification-list topbar-dropdown">
|
||||
<a class="nav-link dropdown-toggle nav-user mr-0 waves-effect waves-light" data-toggle="dropdown" href="#" role="button" aria-haspopup="false" aria-expanded="false">
|
||||
|
||||
@ -13,29 +13,33 @@
|
||||
<input type="text" class="form-control" id="tpa_name" placeholder="Enter TPA Name" value="<?= isset($tpa['name']) ? $tpa['name'] : '' ?>" name="name" required>
|
||||
</div>
|
||||
<div class="form-group col-md-4">
|
||||
<label for="short_name">TPA Short Name<span class="text-danger">*</span></label>
|
||||
<label for="tpa_short_name">TPA Short Name<span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="short_name" placeholder="Enter Short Name" value="<?= isset($tpa['short_name']) ? $tpa['short_name'] : '' ?>" name="short_name" required>
|
||||
</div>
|
||||
<div class="form-group col-md-4">
|
||||
<label for="short_name">TPA Logo<span class="text-danger"></span></label>
|
||||
<label for="tpa_logo">TPA Logo<span class="text-danger"></span></label>
|
||||
<input type="file" class="form-control" onchange="PreviewImage();" id="tpa_logo" name="tpa_logo" accept="image/jpeg, image/jpg, image/png">
|
||||
</div>
|
||||
<div class="form-group col-md-4">
|
||||
<label for="tpa_network_hospitals">Network Hospitals<span class="text-danger">*</span></label>
|
||||
<input type="text" class="form-control" id="tpa_network_hospitals" name="network_hospitals" placeholder="Enter Network Hospitals" value="<?= isset($tpa['network_hospitals']) ? $tpa['network_hospitals'] : '' ?>" required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col-md-10">
|
||||
<label for="tpa_name">E-Card Template<span class="text-danger"></span></label>
|
||||
<label for="tpa_ecard_template">E-Card Template<span class="text-danger"></span></label>
|
||||
<textarea style="height: 100px;" class="form-control" id="ecard_content" placeholder="Enter E-card Content" name="ecard_content"><?= isset($template_data) ? $template_data : '' ?></textarea>
|
||||
</div>
|
||||
<div class="form-group col-md-2 float-right" style="position: relative;top: 0px;left: 40px;">
|
||||
<label for="short_name">Logo Preview<span class="text-danger"></span></label>
|
||||
<label for="tpa_logo_preview">Logo Preview<span class="text-danger"></span></label>
|
||||
<img src="<?= isset($tpa['tpa_logo']) && !empty($tpa['tpa_logo']) ? base_url() . "public/uploads/logo/" . $tpa['tpa_logo'] : base_url() . "public/assets/images/avatar_2x.png" ?>" width="100" height="100" id="uploadPreview" class="avatar img-circle img-thumbnail" alt="avatar" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-row" id="view_pre_btn" style="display :none">
|
||||
<div class="form-group col-md-4">
|
||||
<a href="<?= isset($tpa['id']) ? base_url('/util/preview-card/') . $tpa['id'] : '' ?>" class="btn btn-primary" id="preview" target="_blank">Preview</a>
|
||||
</div>
|
||||
@ -43,22 +47,22 @@
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col-md-4">
|
||||
<label for="short_name">Front card Image<span class="text-danger"></span></label>
|
||||
<label for="tpa_front_card_image">Front card Image<span class="text-danger"></span></label>
|
||||
<input type="file" class="form-control" onchange="PreviewImage2();" id="fc" name="fc" accept="image/jpeg, image/jpg, image/png">
|
||||
</div>
|
||||
<div class="form-group col-md-4">
|
||||
<label for="short_name">Back card Image<span class="text-danger"></span></label>
|
||||
<label for="tpa_back_card_image">Back card Image<span class="text-danger"></span></label>
|
||||
<input type="file" class="form-control" onchange="PreviewImage3();" id="bc" name="bc" accept="image/jpeg, image/jpg, image/png">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-row">
|
||||
<div class="form-group col-md-4">
|
||||
<label for="short_name">Front card Preview<span class="text-danger"></span></label>
|
||||
<label for="tpa_front_card_preview">Front card Preview<span class="text-danger"></span></label>
|
||||
<img src="<?= isset($tpa['front_card']) && !empty($tpa['front_card']) ? base_url() . "public/uploads/template_bg/" . $tpa['front_card'] : base_url() . "public/assets/images/avatar_2x.png" ?>" width="100" height="100" id="uploadPreview2" class="avatar img-circle img-thumbnail" alt="avatar" />
|
||||
</div>
|
||||
<div class="form-group col-md-4">
|
||||
<label for="short_name">Back card Preview<span class="text-danger"></span></label>
|
||||
<label for="tpa_back_card_preview">Back card Preview<span class="text-danger"></span></label>
|
||||
<img src="<?= isset($tpa['back_card']) && !empty($tpa['back_card']) ? base_url() . "public/uploads/template_bg/" . $tpa['back_card'] : base_url() . "public/assets/images/avatar_2x.png" ?>" width="100" height="100" id="uploadPreview3" class="avatar img-circle img-thumbnail" alt="avatar" />
|
||||
</div>
|
||||
</div>
|
||||
@ -99,6 +103,11 @@
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
|
||||
if($('#tpa_General_PrimaryKey').val() != ""){
|
||||
|
||||
$('#view_pre_btn').show()
|
||||
}
|
||||
|
||||
$("#tpa_general_form").submit(function(events) {
|
||||
|
||||
events.preventDefault();
|
||||
@ -106,6 +115,7 @@
|
||||
|
||||
var PrimaryKey = $('#tpa_General_PrimaryKey').val();
|
||||
var form_action = '';
|
||||
|
||||
if (isValid) {
|
||||
|
||||
if (PrimaryKey === '') {
|
||||
@ -126,6 +136,12 @@
|
||||
processData: false,
|
||||
contentType: false,
|
||||
success: function(res) {
|
||||
|
||||
if($('#tpa_General_PrimaryKey').val() == ""){
|
||||
|
||||
window.location.href = '<?= base_url("master/tpa/list/"); ?>' + res.data.id;
|
||||
}
|
||||
|
||||
setTimeout(function() {
|
||||
$('.loader').fadeOut();
|
||||
$('.loader-mask').delay(350).fadeOut('slow');
|
||||
|
||||
118
writable/e_card_template/hcl.html
Normal file
118
writable/e_card_template/hcl.html
Normal file
@ -0,0 +1,118 @@
|
||||
<!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>
|
||||
|
||||
<table style="font-size: 14px;margin-top:9px ;margin-left: 20px;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>Card No</td>
|
||||
<td>:</td>
|
||||
<td>CHE-NI-K0674-001-0000003-A</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Name</td>
|
||||
<td>:</td>
|
||||
<td>BHODANADHAN S</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Gender</td>
|
||||
<td>:</td>
|
||||
<td>M</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>age</td>
|
||||
<td>:</td>
|
||||
<td>53 years</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Employee code</td>
|
||||
<td>:</td>
|
||||
<td>1015</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Corporate name</td>
|
||||
<td>:</td>
|
||||
<td>KELD ELLENTOFT INDIA PVT LTD</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Valid form</td>
|
||||
<td>:</td>
|
||||
<td>28-04-2024</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>
|
||||
|
||||
<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 >
|
||||
<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>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
0
writable/e_card_template/md_tpa.html
Normal file
0
writable/e_card_template/md_tpa.html
Normal file
0
writable/e_card_template/tt786.html
Normal file
0
writable/e_card_template/tt786.html
Normal file
0
writable/e_card_template/ttpanh.html
Normal file
0
writable/e_card_template/ttpanh.html
Normal file
Loading…
Reference in New Issue
Block a user