Merge branch 'dev' of bitbucket.org:jubilian/nhance into dev

This commit is contained in:
Gowtham M 2025-10-04 18:34:32 +05:30
commit 86d381fe2f
108 changed files with 13480 additions and 10485 deletions

View File

@ -124,6 +124,8 @@ $routes->group("/client", ["filter" => "authMVC"], function ($routes) {
$routes->post("edit", "ClientController::editClientBranch");
$routes->get("list/(:any)", "ClientController::getSingleBranchDataById/$1");
$routes->get("remove/(:any)", "ClientController::removeClientBranch/$1");
$routes->post("auto_fetch_branch","ClientController::auto_fetch_branch");
$routes->post("auto_fetch_branch_details","ClientController::auto_fetch_branch_details");
});
$routes->group("relation", ["filter" => "authMVC"], function ($routes) {
@ -674,6 +676,7 @@ $routes->post('claimStatusCheck','VidalApiController::claimStatusCheck');
$routes->post('newClaim','VidalApiController::newClaim');
$routes->post('enrollment','VidalApiController::enrollment');
// General Tickets
$routes->post("ticketSave", "ThzController::ticketSave");
$routes->get("ticketList", "ThzController::ticketList");

View File

@ -27,7 +27,8 @@ class AppContentManagementController extends AdminController
public function add_image_index()
{
$this->myLogger->logme('error','Addvertisement Image list function called');
$headerData['page_name'] = 'Addvertisement Image List';
$headerData['tab_name'] = 'Addvertisement Images';
$headerData['page_name'] = 'Addvertisement Images';
$data['addImageList'] = $this->addImgModel->findAll();
// dd($data);
@ -86,6 +87,7 @@ class AppContentManagementController extends AdminController
public function frontend_content(){
$data['test'] = $this->feContentModel->findAll();
$headerData['tab_name'] = 'Front-End Content';
$headerData['page_name'] = 'Front-End Content';
echo view('layout/header', $headerData);

View File

@ -180,6 +180,9 @@ class BDSReportController extends AdminController
'BAP-Insurer' => 'bapInsurer',
'Client' => 'client'
];
$data['page_name'] = "IRBA Report";
return $this->loadLayout('irba_report', $data);
} else {
@ -914,6 +917,7 @@ class BDSReportController extends AdminController
$data['default_end'] = $default_start->format('d-m-Y');
$data['default_start'] = $default_start->modify('-60 days')->format('d-m-Y');
$data['issuer'] = [1 => 'JIBS', 2 => 'Nhance'];
$data['tab_name'] = "Renewal Report";
$data['page_name'] = "Renewal Report";
return $this->loadLayout('renewal_search', $data);
} else {
@ -1013,6 +1017,7 @@ class BDSReportController extends AdminController
public function accountMangerStatusBDSReport()
{
$data['tab_name'] = "Account Manager BDS Report";
$data['page_name'] = "Account Manager BDS Report";
$sql = "
@ -1130,6 +1135,7 @@ class BDSReportController extends AdminController
public function getMultiReport($report_type){
$data['tab_name'] = "BDS Report";
$data['page_name'] = "BDS Report";
if ($report_type == 1){

File diff suppressed because it is too large Load Diff

View File

@ -259,7 +259,7 @@ class DashboardController extends AdminController
// dd(get_role_id(),user_team());
// dd($data);
$data['tab_name'] = 'Dashboard';
$data['page_name'] = 'Dashboard';
echo view('layout/header', $data);

View File

@ -135,6 +135,9 @@ class EmployeeController extends AdminController
// dd($this->request->getGet());
$this->myLogger->logme('error', 'list called');
$data['page_name'] = "Members";
$this->loadLayout('employee_list', $data);
}
@ -307,6 +310,7 @@ class EmployeeController extends AdminController
return $this->respond(['dataStatus' => true, 'code' => 200, 'data' => 'file upload success'], 200);
}
$data['tab_name'] = 'View Inception';
$data['page_name'] = 'View Inception';
//for TPA/insurer upload
@ -786,6 +790,9 @@ class EmployeeController extends AdminController
}
$this->myLogger->logme('error', 'list called');
$data['page_name'] = "Endorsement";
$this->loadLayout('endorsement_list', $data);
}
@ -830,6 +837,9 @@ class EmployeeController extends AdminController
// dd($data);
$this->myLogger->logme('error', 'list called');
$data['page_name'] = "Enrollment";
return $this->loadLayout('enrollment_list', $data);
}
@ -3039,6 +3049,8 @@ class EmployeeController extends AdminController
// print_r($data); die;
// }
$data['page_name'] = "Retail Endorsement";
$this->loadLayout('retail_endorsement_list', $data);
}

View File

@ -142,6 +142,7 @@ class LeadsController extends BaseController
public function viewLeadsList()
{
$data['tab_name'] = 'Leads';
$data['page_name'] = 'Leads';
// Set basic data
@ -746,6 +747,7 @@ class LeadsController extends BaseController
}
$data['question_json'] = $lead_data['question_json'];
$data['tab_name'] = $type == 2 ? 'QCR' : 'RFQ';
$data['page_name'] = $type == 2 ? 'QCR' : 'RFQ';
$data['insurer'] = $this->insurerBranchModel->getInsurerBranchesWithInsurerNames();
$data['userList'] = $this->userModel->getUserListForRFQ();

View File

@ -107,7 +107,8 @@ class MasterController extends AdminController
public function insurerList()
{
$this->myLogger->logme('error','Insurer list function called');
$headerData['page_name'] = 'Insurer List';
$headerData['tab_name'] = 'Insurer List';
$headerData['page_name'] = 'Insurers';
$data['insurerList'] = $this->insurerModel->where('is_active',1)->findAll();
$data['insurer_rm'] = $this->insurerRMModel->getAllClientRM();
// echo '<pre>';
@ -154,7 +155,8 @@ class MasterController extends AdminController
{
$this->myLogger->logme('error','Edit Insurer Onboarding function called');
$headerData['page_name'] = 'Edit Insurer Master';
$headerData['tab_name'] = 'Edit Insurer Master';
$headerData['page_name'] = 'Insurers';
$types = array(
(object) array('id' => 'pvt', 'name' => 'PVT'),
@ -245,7 +247,8 @@ class MasterController extends AdminController
{
$this->myLogger->logme('error','Insurer Onboarding function called');
$headerData['page_name'] = 'Insurer Master';
$headerData['tab_name'] = 'Insurer Master';
$headerData['page_name'] = 'Insurers';
$types = array(
(object) array('id' => 'pvt', 'name' => 'PVT'),
@ -504,7 +507,8 @@ class MasterController extends AdminController
public function tpaList()
{
$this->myLogger->logme('error','TPA list function called');
$headerData['page_name'] = 'TPA List';
$headerData['tab_name'] = 'TPA List';
$headerData['page_name'] = 'TPA';
$data['tpaList'] = $this->tpaModel->where('is_active',1)->findAll();
// $data['insurer_rm'] = $this->insurerRMModel->getAllClientRM();
// echo '<pre>';
@ -550,7 +554,8 @@ class MasterController extends AdminController
{
$this->myLogger->logme('error','TPA Onboarding function called');
$headerData['page_name'] = 'TPA Master';
$headerData['tab_name'] = 'TPA Master';
$headerData['page_name'] = 'TPA';
// print_r($data['types']);die();
@ -664,7 +669,8 @@ class MasterController extends AdminController
{
$this->myLogger->logme('error','Edit TPA Onboarding function called');
$headerData['page_name'] = 'Edit TPA Master';
$headerData['tab_name'] = 'Edit TPA Master';
$headerData['page_name'] = 'TPA';
$tpa_data = $this->tpaModel->where(['id' => $id, 'is_active' => 1])->first();
@ -833,7 +839,8 @@ class MasterController extends AdminController
public function kycList()
{
$this->myLogger->logme('error','KYC list function called');
$headerData['page_name'] = 'KYC List';
$headerData['tab_name'] = 'KYC List';
$headerData['page_name'] = 'KYC';
$data['kycList'] = $this->kycEntityTypeModel->where('is_active',1)->findAll();
// $data['insurer_rm'] = $this->insurerRMModel->getAllClientRM();
// echo '<pre>';
@ -879,7 +886,8 @@ class MasterController extends AdminController
{
$this->myLogger->logme('error','KYC Onboarding function called');
$headerData['page_name'] = 'KYC Master';
$headerData['tab_name'] = 'KYC Master';
$headerData['page_name'] = 'KYC';
// print_r($data['types']);die();
@ -944,7 +952,8 @@ class MasterController extends AdminController
{
$this->myLogger->logme('error','Edit KYC Onboarding function called');
$headerData['page_name'] = 'Edit KYC Master';
$headerData['tab_name'] = 'Edit KYC Master';
$headerData['page_name'] = 'KYC';
$editData['kyc'] = $this->kycEntityTypeModel->where(['id' => $id, 'is_active' => 1])->first();
$editData['kyc_docs'] = $this->kycDocsModel->where(['kyc_type_id' => $id, 'is_active' => 1])->findAll();
@ -1022,7 +1031,8 @@ class MasterController extends AdminController
public function policyTypeList()
{
$this->myLogger->logme('error','Policy Type list function called');
$headerData['page_name'] = 'Policy Type List';
$headerData['tab_name'] = 'Policy Type List';
$headerData['page_name'] = 'Policy Type';
$data['policyList'] = $this->policyTypeModel->where('is_active',1)->findAll();
// $data['insurer_rm'] = $this->insurerRMModel->getAllClientRM();
// echo '<pre>';
@ -1068,7 +1078,8 @@ class MasterController extends AdminController
{
$this->myLogger->logme('error','Policy Type Onboarding function called');
$headerData['page_name'] = 'Policy Type Master';
$headerData['tab_name'] = 'Policy Type Master';
$headerData['page_name'] = 'Policy Type';
// print_r($data['types']);die();
@ -1130,7 +1141,8 @@ class MasterController extends AdminController
{
$this->myLogger->logme('error','Edit KYC Onboarding function called');
$headerData['page_name'] = 'Edit Policy Type';
$headerData['tab_name'] = 'Edit Policy Type';
$headerData['page_name'] = 'Policy Type';
$editData['policytype'] = $this->policyTypeModel->where(['id' => $id, 'is_active' => 1])->first();
$editData['policies'] = $this->policesModel->select('policies.*, insurers.name as insurer_name')
@ -1222,7 +1234,8 @@ class MasterController extends AdminController
//start CD Master list
public function CDMasterList()
{
$data['page_name'] = 'CD Master List';
$data['tab_name'] = 'CD Master List';
$data['page_name'] = 'CD Master';
$data['CD_Master_Data'] = $this->CDMasterModel->getCDMasterList();
$data['insurers'] = $this->insurerModel->where('is_active', 1)->findAll();
$data['insurer_branch'] = $this->insurerBranchModel->where('is_active', 1)->findAll();
@ -1605,8 +1618,8 @@ class MasterController extends AdminController
//Vehicle Master data Function
public function VehicleMasterList()
{
$data['page_name'] = 'Vehicle Master List';
{ $data['tab_name'] = 'Vehicle Master';
$data['page_name'] = 'Vehicles';
$data['vehicle_type'] = [
'two_wheeler' => 'Two Wheeler',
'four_wheeler' => 'Four Wheeler',

View File

@ -114,6 +114,7 @@ class PolicyTransactionController extends BaseController
// Policy Transaction Inception
public function viewInception()
{
$data['tab_name'] = 'Policy';
$data['page_name'] = 'Policy';
// Static arrays for dropdowns
@ -1075,6 +1076,7 @@ class PolicyTransactionController extends BaseController
// echo '<pre>';
// !dd($this->getEndorsementDataForEdit(17));
$data['tab_name'] = 'Endorsement';
$data['page_name'] = 'Endorsement';
$data['issuer'] = [1 => 'JIBS', 2 => 'Nhance'];
$data['issuer_branch'] = $this->nhanceBranchModel->where('is_active', 1)->findAll();
@ -1770,7 +1772,7 @@ class PolicyTransactionController extends BaseController
//get BDS Reports data old function
public function reportBDSOld()
{
$data['tab_name'] = 'BDS Report';
$data['page_name'] = 'BDS Report';
$data['issuer'] = [1 => 'JIBS', 2 => 'Nhance'];
@ -1832,6 +1834,7 @@ class PolicyTransactionController extends BaseController
public function reportBDS()
{
$data['tab_name'] = 'BDS Report';
$data['page_name'] = 'BDS Report';
$data['issuer'] = [1 => 'JIBS', 2 => 'Nhance'];
@ -1925,6 +1928,7 @@ class PolicyTransactionController extends BaseController
public function reportVarience()
{
$data['tab_name'] = 'Variance Report';
$data['page_name'] = 'Variance Report';
$data['issuer'] = [1 => 'JIBS', 2 => 'Nhance'];
@ -1974,6 +1978,7 @@ class PolicyTransactionController extends BaseController
public function reportBusinessList()
{
$data['tab_name'] = 'Business Report';
$data['page_name'] = 'Business Report';
$data['issuer'] = [1 => 'JIBS', 2 => 'Nhance'];
@ -2014,6 +2019,7 @@ class PolicyTransactionController extends BaseController
public function reportFinanceList()
{
$data['tab_name'] = 'Finance Report';
$data['page_name'] = 'Finance Report';
$data['issuer'] = [1 => 'JIBS', 2 => 'Nhance'];
@ -2054,6 +2060,7 @@ class PolicyTransactionController extends BaseController
public function reportOutstanding()
{
$data['tab_name'] = 'Outstanding Report';
$data['page_name'] = 'Outstanding Report';
$data['issuer'] = [1 => 'JIBS', 2 => 'Nhance'];
@ -2132,6 +2139,7 @@ class PolicyTransactionController extends BaseController
->findAll();
// dd( $this->insurerStatements->getLastQuery());
$data['tab_name'] = 'Statement Upload';
$data['page_name'] = 'Statement Upload';
$this->loadLayout('insurer_statement_list', $data);
@ -2709,8 +2717,8 @@ class PolicyTransactionController extends BaseController
$data['files'] = array_merge($pt_files, $kyc_files, $batch_files, $files);
// dd($data['files']);
}
$data['page_name'] = 'Documents Search';
$data['tab_name'] = 'Documents Search';
$data['page_name'] = 'Documents';
$data['customers'] = $this->clientModel->select('id,client_name,short_name as display_value')->where('is_active', 1)->get()->getResultarray();
$data['policies'] = $this->clientPolicyModel->select("client_policy.id,client_policy.policy_no,policy_type.policy_type,concat(policy_type.policy_type,' - ',client_policy.policy_no) as display_value")

File diff suppressed because it is too large Load Diff

View File

@ -362,6 +362,7 @@ class TicketController extends BaseController
$data['modeOFIntimate'] = $this->modeOFIntimate;
$data['priorityType'] = $this->priorityType;
$data['claimType'] = $this->claimType;
$data['tab_name'] = "Claims";
if ($this->request->is('get')) {
$data['page_name'] = "Claims";
$data['claim_status'] = $this->claimStatus->select('id,ticket_type,claim_status')->where('is_active', 1)->findAll();
@ -1123,6 +1124,9 @@ class TicketController extends BaseController
// dd($data['ticket_data']);
$data['ticket_type'] = $this->ticketType;
$data['trigger_type'] = $this->triggerType;
$data['page_name'] = "Claims";
return $this->loadLayout('ticket_mail_template', $data);
}
@ -1744,6 +1748,8 @@ class TicketController extends BaseController
'tat_band_wise' => 'TAT Wise Status Report'
];
//
$data['tab_name'] = "Claim Reports";
$data['page_name'] = "Claims";
$this->loadLayout('ticket_reports', $data);
} else {
$received_data = $this->request->getPost();
@ -2187,6 +2193,8 @@ class TicketController extends BaseController
$data['viewer'] = !empty($empView) ? $empView : 0;
// dd($data);
return view('ticket_feedback_form', $data);
}else{
@ -2217,7 +2225,7 @@ class TicketController extends BaseController
public function feedbackList(){
$data['feedback_data'] = $this->ticketMasterModel->select("ticket_master.*,clients.client_name")->join("clients","clients.id = ticket_master.client_id")->where("ticket_master.is_active",1)->where("ticket_master.feedback_json IS NOT NULL", null, false)->where("ticket_master.feedback_json !=", "")->findAll();
$data['page_name'] = "Claims";
// dd($data);
$this->loadLayout("ticket_feedback_list",$data);
}
@ -2610,7 +2618,8 @@ class TicketController extends BaseController
public function claimDumpUpload()
{
$data['page_name'] = "Claim Dupm Upload";
$data['tab_name'] = "Claim Dupm Upload";
$data['page_name'] = "Claims";
if($this->request->is('get')){

View File

@ -55,7 +55,8 @@ class UserController extends AdminController
public function list()
{
$data['page_name'] = 'User';
$data['tab_name'] = 'Users';
$data['page_name'] = 'Users';
$this->myLogger->logme('error','User list function called');
$data['UserList'] = $this->userModel->getUserList();
// echo '<pre>';
@ -588,6 +589,7 @@ class UserController extends AdminController
$data = $this->request->getPost();
if (!empty($data['id'])) {
$text = "update";
$data['updated_by'] = get_session_userid();
$result = $this->partnerStaffModel->update($data['id'], $data);
$updateID = $data['id'];
} else {
@ -595,6 +597,11 @@ class UserController extends AdminController
$data['role_id'] = 1;
$data['created_by'] = get_session_userid();
$insertID = $this->partnerStaffModel->insert($data);
if($insertID){
$details['manager_id'] = $insertID;
$details['updated_by'] = get_session_userid();
$this->partnerStaffModel->update($insertID, $details);
}
$result = true;
}

View File

@ -25,6 +25,7 @@ class ClientBranchModel extends Model
"gst",
"sez",
"units",
"pre_branch_id"
];
public function getBranchAndContactByBranchId($branch_id){

View File

@ -13,6 +13,9 @@ class HRAccessControlModel extends Model
'pre_hr_id',
'post_hr_id',
'post_client_id',
'pre_client_id',
'pre_branch_id',
'post_branch_id',
'allowed_modules',
'allowed_pre_policies',
'allowed_active_policies',

View File

@ -182,21 +182,20 @@
</style>
<p style="color:black;font-size:x-large;margin-left:20px !important;margin-bottom:20px;"><b>Dashboard</b></p>
<?php if(in_array(get_role_id(), [1,2,3,4,5]) || (in_array(ENROLLMENT_TEAM_ID, user_team()) || in_array(CLAIMS_TEAM_ID, user_team()) || in_array(MANAGEMENT_TEAM_ID, user_team()) || in_array(FINANCE_TEAM_ID, user_team()) || in_array(BUSINESS_TEAM_ID, user_team()))) { ?>
<div class="row" id="client_add" style="margin-top: -32px;">
<div class="row" id="client_add" >
<div class="col-12">
<!-- <div class="card"> -->
<div class="card-body">
<ul class="nav nav-pills navtab-bg">
<ul class="nav nav-pills navtab-bg nav-dash" >
<?php if(in_array(get_role_id(), [1,2,3,5])) { ?>
<li class="nav-item d-flex justify-content-center align-items-center">
<a href="#pending-actions-dash-tab" data-toggle="tab" aria-expanded="false"
class="nav-link px-3 py-1 dash-anchor" id="pending_actions_tab">
class="nav-link px-3 py-1 dash-anchor nav-dash" id="pending_actions_tab">
<img src="<?= base_url() . "public"; ?>/assets/images/inactive_pending_actions.png" alt="Logo" height="14" class="inactive_pending" >
<img src="<?= base_url() . "public"; ?>/assets/images/active_pending_actions.png" alt="Logo" height="14"
class="active_pending" style="display:none;">
@ -210,7 +209,7 @@
<?php if(in_array(get_role_id(), [1,2,3,5]) || (get_role_id() == 4 && in_array(MANAGEMENT_TEAM_ID, user_team()) || in_array(FINANCE_TEAM_ID, user_team()) || in_array(BUSINESS_TEAM_ID, user_team()))) { ?>
<li class="nav-item d-flex justify-content-center align-items-center">
<a href="#bds-dash-tab" data-toggle="tab" aria-expanded="true" class="nav-link px-3 py-1 dash-anchor" id="bds_tab">
<a href="#bds-dash-tab" data-toggle="tab" aria-expanded="true" class="nav-link px-3 py-1 dash-anchor nav-dash" id="bds_tab">
<img src="<?= base_url() . "public"; ?>/assets/images/inactive_bds.png" alt="Logo" height="14" class="inactive_bds">
<img src="<?= base_url() . "public"; ?>/assets/images/active_bds.png" alt="Logo" height="14"
class="active_bds " style="display:none;">
@ -226,7 +225,7 @@
$isActive = get_role_id() == STAFF_ROLE_ID && in_array(CLAIMS_TEAM_ID,user_team()) ? 'active show' : '';
?>
<li class="nav-item d-flex justify-content-center align-items-center">
<a href="#claims-dash-tab" data-toggle="tab" aria-expanded="true" class="nav-link px-3 py-1 dash-anchor" id="claims_tab">
<a href="#claims-dash-tab" data-toggle="tab" aria-expanded="true" class="nav-link px-3 py-1 dash-anchor nav-dash" id="claims_tab">
<img src="<?= base_url() . "public"; ?>/assets/images/inactive_claims.png" alt="Logo" height="14" class="inactive_claims">
<img src="<?= base_url() . "public"; ?>/assets/images/active_claims.png" alt="Logo" height="14"
class="active_claims " style="display:none;">
@ -241,7 +240,7 @@
$isActive = get_role_id() == STAFF_ROLE_ID && in_array(ENROLLMENT_TEAM_ID,user_team()) ? 'active show' : '';
?>
<li class="nav-item d-flex justify-content-center align-items-center ">
<a href="#leads-dash-tab " data-toggle="tab" aria-expanded="true" class="nav-link px-3 py-1 dash-anchor" id="leads_tab" >
<a href="#leads-dash-tab " data-toggle="tab" aria-expanded="true" class="nav-link px-3 py-1 dash-anchor nav-dash" id="leads_tab" >
<img src="<?= base_url() . "public"; ?>/assets/images/inactive_leads_and_bds_renewal.png" alt="Logo" height="14" class="inactive_leads">
<img src="<?= base_url() . "public"; ?>/assets/images/active_leads_and_bds_renewal.png" alt="Logo" height="14"
class="active_leads " style="display:none;">

View File

@ -348,12 +348,13 @@ table.dataTable tbody td {
<div class="col-12">
<div class="card">
<div class="card-body maincard">
<div class="row" style="margin-bottom:1rem;">
<!-- <div class="row" style="margin-bottom:1rem;">
<div class="col-6" style="align-self: center;">
<h4 style="position: relative;">Users</h4>
</div>
</div>
</div> -->
<table data-custom-table-css="table" class="table table-sm table-hover m-0 table-centered dt-responsive nowrap w-100" cellspacing="1" id="user-table">
<thead class="bg-light">
<tr>
<th class="font-weight-medium">Name</th>
@ -391,15 +392,15 @@ table.dataTable tbody td {
</table>
<!-- <table data-custom-table-css="table" id="scroll-horizontal-datatable" class="table w-100 nowrap text-custom-black text-custom app-datatable">
<thead class="app-table-head">
<thead class="bg-light">
<tr>
<th>Ticket ID</th>
<th class="app-text-left">Name</th>
<th class="text-left">Name</th>
<th>Policy Number</th>
<th>Ticket Type</th>
<th>Subject</th>
<th>Status</th>
<th class="app-text-left">Assign To</th>
<th class="text-left">Assign To</th>
<th>Created At</th>
<th>Updated At</th>
</tr>
@ -409,18 +410,18 @@ table.dataTable tbody td {
<?php foreach($ticket_data as $index => $row){ ?>
<tr data-id="<?= $row['thz_id']; ?>" style="cursor: pointer;">
<td class="app-text-right"><?php echo $row['thz_id']; ?></td>
<td class="app-text-left">
<td class="text-right"><?php echo $row['thz_id']; ?></td>
<td class="text-left">
<?php echo $row['name']; ?>
<span class="text-custom-grey"><?php if (!empty($row['empcode'])): echo '('.$row['empcode'].')'; endif; ?></span><br>
<span class="text-custom-grey"><?php if (!empty($row['mobile'])): echo $row['mobile']; endif; ?></span>
</td>
<td class="app-text-center"><?php echo (!empty($row['policy_no']) && strtolower($row['policy_no']) !== 'null')
<td class="text-center"><?php echo (!empty($row['policy_no']) && strtolower($row['policy_no']) !== 'null')
? $row['policy_no']
: 'N/A'; ?>
</td>
<td class="app-text-center"><?php echo $row['ticket_type'] ? $row['ticket_type'] : '-'; ?></td>
<td class="app-text-center wrap" title="<?php echo htmlspecialchars($row['subject']); ?>">
<td class="text-center"><?php echo $row['ticket_type'] ? $row['ticket_type'] : '-'; ?></td>
<td class="text-center wrap" title="<?php echo htmlspecialchars($row['subject']); ?>">
<?php
$subject = $row['subject'] ? $row['subject'] : 'N/A';
echo (strlen($subject) > 50)
@ -428,9 +429,9 @@ table.dataTable tbody td {
: htmlspecialchars($subject);
?>
</td>
<td class="app-text-center"><?php echo $row['status'] ? $row['status'] : '-' ; ?></td>
<td class="app-text-left"><?php echo $row['assignee_name'] ? $row['assignee_name'] : '-'; ?></td>
<td class="app-text-left">
<td class="text-center"><?php echo $row['status'] ? $row['status'] : '-' ; ?></td>
<td class="text-left"><?php echo $row['assignee_name'] ? $row['assignee_name'] : '-'; ?></td>
<td class="text-left">
<?php if (!empty($row['created_at'])):
$cd = date("j F Y", strtotime($row['created_at']));
$ct = date("h:i a", strtotime($row['created_at']));
@ -438,7 +439,7 @@ table.dataTable tbody td {
endif;
?>
</td>
<td class="app-text-left">
<td class="text-left">
<?php if (!empty($row['updated_at'])):
$ud = date("j F Y", strtotime($row['updated_at']));
$ut = date("h:i a", strtotime($row['updated_at']));
@ -885,10 +886,14 @@ table.dataTable tbody td {
}
],
paging: true,
pageLength: 25,
pageLength: 10,
language: {
search: "_INPUT_",
searchPlaceholder: "Search..."
search: `
<div class="datatable-search-wrapper">
_INPUT_
<i class="mdi mdi-magnify datatable-search-icon"></i>
</div>`,
searchPlaceholder: "Search"
},
initComplete: function () {
$(".dt-buttons").prepend(`
@ -1439,7 +1444,7 @@ table.dataTable tbody td {
hour12: false
};
let uploaded = date.toLocaleString('en-GB', options).replace(',', '');
let color = file.incentive_file_name ? "app-text-success" : "app-text-black";
let color = file.incentive_file_name ? "app-text-success" : "font-color-black";
let download_url = "<?= base_url('user/download-incentive-file/') ?>" + encodeURIComponent(file.id);
let im = file.incentive_month;
@ -1450,10 +1455,10 @@ table.dataTable tbody td {
<div class="d-flex align-items-center justify-content-between border rounded p-2 bg-white">
<div class="d-flex align-items-center">
<div class="file-icon-box d-flex align-items-center justify-content-center">
<i class="mdi mdi-file-document-outline app-text-black" style="font-size: 24px;"></i>
<i class="mdi mdi-file-document-outline font-color-black" style="font-size: 24px;"></i>
</div>
<div class="ml-2">
<div class="font-weight-bold app-text-black small text-truncate"
<div class="font-weight-bold font-color-black small text-truncate"
title="${file.incentive_file_name}"
style="max-width: 265px;">
${file.incentive_file_name}

View File

@ -24,7 +24,7 @@ table.dataTable thead th {
<div class="card-body">
<div class="row" style="margin-bottom:1rem;">
<div class="col-6" style="align-self: center;">
<h4 style="position: relative;">Advertisement Image List</h4>
<h4 style="position: relative;">Advertisement Images</h4>
</div>
<div class="col-6" style="text-align: right; position: relative;top: 5px;">
<a data-toggle="modal" data-target="#bike_make_login-modal" href="#" type="button" id="btnAdd" class="btn btn-primary waves-effect waves-light" data-toggle="" data-placement="top" title="Add" data-trigger="hover">ADD</a>
@ -75,20 +75,25 @@ table.dataTable thead th {
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-body">
<div class="text-center mt-2 mb-4">
<div class="mt-2 mb-4">
<h4 id="advertise_add_edit">Add Advertise Image </h4>
</div>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<form id="model_form_data" class="px-4">
<input type="text" name="add_image_id" id="add_image_id" value="0" hidden>
<div class="row">
<div class="col-md-8">
<div class="col-md-12">
<div class="form-group">
<label for="branchname">Image</label>
<input class="form-control" name="advertise_image" id="advertise_image" type="file" accept="image/*" onchange="PreviewImage();" required="">
<label for="branchname">Upload Image</label>
<div class="input-icon">
<input type="file" class="form-control" name="advertise_image" id="advertise_image"
accept="image/*" onchange="PreviewImage();" required="">
<i class="mdi mdi-upload additional-icon"></i>
</div>
</div>
<div class="form-group col-md-6 float-left" style="position: relative;top: 0px;">
<div class="form-group col-md-6 float-left" style="position: relative;top: 0px;">
<img src=" " width="100" height="100" id="uploadPreview" class="avatar img-circle img-thumbnail" alt="avatar"/>
</div>
</div>

View File

@ -28,20 +28,20 @@
<table data-custom-table-css="table" id="datatable-buttons" class="table table-hover m-0 table-centered dt-responsive w-100">
<thead class="bg-light">
<tr>
<th class="font-weight-medium">SNO</th>
<th class="font-weight-medium">Batch Code</th>
<th class="font-weight-medium">File Name</th>
<th class="font-weight-medium">Client</th>
<th class="font-weight-medium">Client Branch</th>
<th class="font-weight-medium">Client Policy</th>
<th class="font-weight-medium">Event Type</th>
<th class="font-weight-medium">Insurer/ TPA</th>
<th class="font-weight-medium">Action</th>
<th class="font-weight-medium">Count</th>
<th class="font-weight-medium">()Amount</th>
<th class="font-weight-medium">User/Time</th>
<th class="font-weight-medium">Status</th>
<th class="font-weight-medium">Action</th>
<th class="font-weight-medium">S.No&nbsp;</th>
<th class="font-weight-medium">Batch Code&nbsp;</th>
<th class="font-weight-medium">File Name&nbsp;</th>
<th class="font-weight-medium">Client&nbsp;</th>
<th class="font-weight-medium">Client Branch&nbsp;</th>
<th class="font-weight-medium">Client Policy&nbsp;</th>
<th class="font-weight-medium">Event Type&nbsp;</th>
<th class="font-weight-medium">Insurer/ TPA&nbsp;</th>
<th class="font-weight-medium">Action&nbsp;</th>
<th class="font-weight-medium">Count&nbsp;</th>
<th class="font-weight-medium">()Amount&nbsp;</th>
<th class="font-weight-medium">User/Time&nbsp;</th>
<th class="font-weight-medium">Status&nbsp;</th>
<th class="font-weight-medium">Action&nbsp;</th>
</tr>
</thead>
@ -52,7 +52,7 @@
?>
<tr>
<td><b><?php echo ($key + 1) ?></b></td>
<td class="text-center"><b><?php echo ($key + 1) ?></b></td>
<td><?php echo $file['batch_code'] ?></td>
<td style="overflow: hidden;" class="reload truncate" data-toggle="tooltip" data-placement="top" title="<?php echo $file['file_name'] ?>">
<?php echo $file['file_name']?>
@ -215,24 +215,42 @@
$(document).ready(function() {
$('#datatable-buttons').DataTable({
dom: "<'row'<'col-sm-0'f><'col-sm-9 text-right'B>>" +
dom: "<'row'<'col-12 d-flex justify-content-between align-items-center'<'datatable-search dataTables_filter'f><'datatable-buttons dt-buttons'B>>>" +
"<'row'<'col-sm-12'tr>>" +
"<'row'<'col-sm-5'i><'col-sm-7'p>>",
// buttons: [{
// extend: 'csv',
// text: 'CSV',
// title: 'Batch List',
// className: 'my_class',
// }],
// initComplete: function(settings, json) {
// $('.my_class').css({
// position: "relative",
// left: "50px"
// });
// },
buttons: [{
extend: 'csv',
text: 'CSV',
title: 'Batch List',
className: 'my_class',
}],
initComplete: function(settings, json) {
$('.my_class').css({
position: "relative",
left: "50px"
});
},
extend: 'collection',
text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary ',
buttons: [
{
extend: 'csv',
text: '<i class="mdi mdi-file-delimited " ></i><span class=" btn-custom"> CSV </span>',
title: 'Batch List',
className: 'app-btn-primary ',
}
]
}
],
language: {
search: "_INPUT_",
searchPlaceholder: "Search..."
search: `
<div class="datatable-search-wrapper">
_INPUT_
<i class="mdi mdi-magnify datatable-search-icon"></i>
</div>`,
searchPlaceholder: "Search"
},
paging: true
});

View File

@ -162,7 +162,7 @@
<div class="row d-flex align-items-center">
<div class="StatusTileHide" style="padding-left: 25px;">
<a href="#" onclick="hide_status_show_pending_tile()" ><b><i class="mdi mdi-chevron-left mdi-36px"></i></b> </a>
<a href="#" onclick="hide_status_show_pending_tile()" ><b><i class="mdi mdi-chevron-left mdi-36px chevron-left-dash"></i></b> </a>
</div>
<div class="StatusTileHide" style="display: none;padding-left: 15px;">
<a href="#" id="mainMenuTiles">Current Tile : </a>

View File

@ -22,7 +22,6 @@
</style>
<div class="row">
<div class="col-12" id="second_page">
<div class="card">
<div class="card-body">
@ -82,7 +81,6 @@
</div> <!-- end card-body -->
</div> <!-- end card -->
</div> <!-- end col-12 -->
</div> <!-- end row -->
<script>
$(document).ready(function() {
@ -94,22 +92,32 @@
dom: "<'row'<'col-sm-6'f><'col-sm-6 text-right'B>>" +
"<'row'<'col-sm-12'tr>>" +
"<'row'<'col-sm-5'i><'col-sm-7'p>>",
buttons: [
{
extend: 'collection',
text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary ',
buttons: [
{
extend: 'csv',
text: 'CSV',
text: '<i class="mdi mdi-file-delimited " ></i><span class=" btn-custom"> CSV </span>',
title: 'BDS TAT BAND WISE DATA',
},
{
extend: 'excel',
text: 'Excel',
text: '<i class="mdi mdi-file-excel " ></i><span class=" btn-custom"> EXCEL </span>',
title: 'BDS TAT BAND WISE DATA',
},
]
}
],
language: {
search: "_INPUT_",
searchPlaceholder: "Search..."
search: `
<div class="datatable-search-wrapper">
_INPUT_
<i class="mdi mdi-magnify datatable-search-icon"></i>
</div>`,
searchPlaceholder: "Search"
},
paging: true,
pageLength: 10,

View File

@ -9,8 +9,7 @@ table.dataTable tbody td {
}
</style>
<div class="row" id="inception_list">
<div class="col-12">
<div class="col-12" id="inception_list">
<div class="card">
<div class="card-body">
<div class="row" style="margin-bottom:1rem;">
@ -24,7 +23,7 @@ table.dataTable tbody td {
<thead class="bg-light">
<tr>
<th>
<div class="column-header">S.No.</div>
<div class="column-header">S.No&nbsp;</div>
</th>
<th>
<div class="column-header">Renewal Month</div>
@ -100,7 +99,6 @@ table.dataTable tbody td {
</div>
</div>
</div>
</div><!-- end col -->
</div>
<script>
@ -115,24 +113,34 @@ $(document).ready(function() {
dom: "<'row'<'col-sm-2'f><'col-sm-10 text-right'B>>" + // Filter left, buttons right
"<'row'<'col-sm-12'tr>>" +
"<'row'<'col-sm-5'i><'col-sm-7'p>>", // Pagination at the bottom, without page length selector
buttons: [
{
extend: 'collection',
text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary ',
buttons: [{
extend: 'csv',
text: 'CSV',
text: '<i class="mdi mdi-file-delimited " ></i><span class=" btn-custom"> CSV </span>',
title: 'Renewal-List',
},
{
extend: 'excel',
text: 'Excel',
text: '<i class="mdi mdi-file-excel " ></i><span class=" btn-custom"> EXCEL </span>',
title: 'Renewal-List',
exportOptions: {
orthogonal: 'sort'
},
}
]
}
],
language: {
search: "_INPUT_",
searchPlaceholder: "Search..."
search: `
<div class="datatable-search-wrapper">
_INPUT_
<i class="mdi mdi-magnify datatable-search-icon"></i>
</div>`,
searchPlaceholder: "Search"
},
paging: true, // Enable pagination
pageLength: 20, // Set default number of rows per page (optional)
@ -142,4 +150,39 @@ $(document).ready(function() {
console.error("Table atet found.");
}
});
// Global DataTables defaults
$.extend(true, $.fn.dataTable.defaults, {
language: {
search: "", // remove "Search:" label
searchPlaceholder: "Search"
},
paging: true,
pageLength: 10,
ordering: false
});
// Global init hook
$(document).on('init.dt', function (e, settings) {
let $filter = $(settings.nTableWrapper).find('.dataTables_filter');
let $input = $filter.find('input');
if (!$filter.hasClass('custom-search')) {
// Wrap in Bootstrap input-group
$input
.addClass('form-control')
.wrap('<div class="input-group"></div>');
// Append icon
$input.after(`
<span class="input-group-text bg-white border-0">
<i class="mdi mdi-magnify"></i>
</span>
`);
// Align to right
$filter.addClass('text-right custom-search');
}
});
</script>

View File

@ -75,22 +75,35 @@ table.dataTable tbody td {
"<'row'<'col-sm-5'i><'col-sm-7'p>>", // Pagination at the bottom, without page length selector
buttons: [
{
extend: 'csv',
text: 'CSV',
title: 'Insurer-Wise-Report-List',
},
{
extend: 'excel',
text: 'Excel',
title: 'Insurer-Wise-Report-List',
exportOptions: {
orthogonal: 'sort'
},
extend: 'collection',
text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary ',
buttons: [
{
extend: 'csv',
text: '<i class="mdi mdi-file-delimited " ></i><span class=" btn-custom"> CSV </span>',
className: 'app-btn-primary ',
title: 'Insurer-Wise-Report-List',
},
{
extend: 'excel',
text: '<i class="mdi mdi-file-excel " ></i><span class=" btn-custom"> EXCEL </span>',
title: 'Insurer-Wise-Report-List',
exportOptions: {
orthogonal: 'sort'
},
className: 'app-btn-primary ',
}
]
}
],
language: {
search: "_INPUT_",
searchPlaceholder: "Search..."
search: `
<div class="datatable-search-wrapper">
_INPUT_
<i class="mdi mdi-magnify datatable-search-icon"></i>
</div>`,
searchPlaceholder: "Search"
},
paging: true, // Enable pagination
pageLength: 10, // Set default number of rows per page (optional)

View File

@ -75,22 +75,35 @@ table.dataTable tbody td {
"<'row'<'col-sm-5'i><'col-sm-7'p>>", // Pagination at the bottom, without page length selector
buttons: [
{
extend: 'csv',
text: 'CSV',
title: 'Bap-Wise-Report-List',
},
{
extend: 'excel',
text: 'Excel',
title: 'Bap-Wise-Report-List',
exportOptions: {
orthogonal: 'sort'
},
extend: 'collection',
text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary ',
buttons: [
{
extend: 'csv',
text: '<i class="mdi mdi-file-delimited " ></i><span class=" btn-custom"> CSV </span>',
className: 'app-btn-primary ',
title: 'Bap-Wise-Report-List',
},
{
extend: 'excel',
text: '<i class="mdi mdi-file-excel " ></i><span class=" btn-custom"> EXCEL </span>',
exportOptions: {
orthogonal: 'sort'
},
className: 'app-btn-primary ',
title: 'Bap-Wise-Report-List',
}
]
}
],
language: {
search: "_INPUT_",
searchPlaceholder: "Search..."
search: `
<div class="datatable-search-wrapper">
_INPUT_
<i class="mdi mdi-magnify datatable-search-icon"></i>
</div>`,
searchPlaceholder: "Search"
},
paging: true, // Enable pagination
pageLength: 10, // Set default number of rows per page (optional)

View File

@ -94,22 +94,54 @@
dom: "<'row'<'col-sm-6'f><'col-sm-6 text-right'B>>" +
"<'row'<'col-sm-12'tr>>" +
"<'row'<'col-sm-5'i><'col-sm-7'p>>",
// buttons: [
// {
// extend: 'csv',
// text: 'CSV',
// title: 'BDS TAT BAND WISE DATA',
// },
// {
// extend: 'excel',
// text: 'Excel',
// title: 'BDS TAT BAND WISE DATA',
// },
// ],
buttons: [
{
extend: 'csv',
text: 'CSV',
title: 'BDS TAT BAND WISE DATA',
text: '<i class="mdi mdi-plus" ></i><span class=" btn-custom"> Add </span>',
className: 'btn app-btn-primary mr-2',
action: function(e, dt, node, config) {
openTicket();
}
},
{
extend: 'excel',
text: 'Excel',
title: 'BDS TAT BAND WISE DATA',
},
extend: 'collection',
text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary ',
buttons: [
{
extend: 'csv',
text: '<i class="mdi mdi-file-delimited " ></i><span class=" btn-custom"> CSV </span>',
className: 'app-btn-primary ',
title: 'BDS TAT BAND WISE DATA',
},
{
extend: 'excel',
text: '<i class="mdi mdi-file-excel " ></i><span class=" btn-custom"> EXCEL </span>',
title: 'BDS TAT BAND WISE DATA',
className: 'app-btn-primary ',
}
]
}
],
language: {
search: "_INPUT_",
searchPlaceholder: "Search..."
search: `
<div class="datatable-search-wrapper">
_INPUT_
<i class="mdi mdi-magnify datatable-search-icon"></i>
</div>`,
searchPlaceholder: "Search"
},
paging: true,
pageLength: 10,

View File

@ -1,59 +1,62 @@
<style>
.table th,
.table td {
padding: 8px;
}
.table th,
.table td {
padding: 8px;
}
table.dataTable tbody td {
padding: 4px 4px !important;
}
table.dataTable tbody td {
padding: 4px 4px !important;
}
.col-12 {
.col-12 {
max-width: 98% !important;
}
max-width: 98% !important;
}
.dataTables_filter {
position: absolute;
}
.custom-dropdown-menu {
display: none;
position: absolute;
background-color: #ffffff !important;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 0.25rem;
padding: 0.5rem 0;
min-width: 10rem;
z-index: 9999;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
.dataTables_filter {
position: absolute;
}
.custom-dropdown-menu .dropdown-item {
display: block !important;
width: 100% !important;
padding: 0.5rem 1rem !important;
color: #212529 !important;
text-decoration: none !important;
background-color: transparent !important;
}
.custom-dropdown-menu {
display: none;
position: absolute;
background-color: #ffffff !important;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 0.25rem;
padding: 0.5rem 0;
min-width: 10rem;
z-index: 9999;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
.custom-dropdown-menu .dropdown-item:hover {
background-color: #f8f9fa !important;
color: #16181b !important;
cursor: pointer !important;
}
.custom-dropdown-menu .dropdown-item {
display: block !important;
width: 100% !important;
padding: 0.5rem 1rem !important;
color: #212529 !important;
text-decoration: none !important;
background-color: transparent !important;
}
.custom-dropdown-menu .dropdown-item:hover {
background-color: #f8f9fa !important;
color: #16181b !important;
cursor: pointer !important;
}
</style>
<div class="row">
<div class="col-12" style="margin-top: -12px;">
<div class="col-12">
<div class="card-body">
<div id="accordion" class="mb-3">
<div class="card mb-1">
<h5 class="m-1">
<h4 class="m-1">
<span>Filter</span>
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseOne"
aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</h5>
</h4>
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion">
<div class="card-body">
<div class="form-group">
@ -64,11 +67,11 @@ table.dataTable tbody td {
<select class="form-control" id="client_id" name="client_id">
<option value="0">Select Client</option>
<?php
if (isset($clients) && count($clients)) {
foreach ($clients as $key => $value) {
echo "<option value='" . $value['id'] . "'>" . $value['client_name'] . "</option>";
}
if (isset($clients) && count($clients)) {
foreach ($clients as $key => $value) {
echo "<option value='" . $value['id'] . "'>" . $value['client_name'] . "</option>";
}
}
?>
</select>
</div>
@ -79,9 +82,9 @@ table.dataTable tbody td {
<select class="form-control" id="insurer_id" name="insurer_id">
<option value="0" selected>Select Insurer</option>
<?php if (isset($insurer) && count($insurer)) { ?>
<?php foreach ($insurer as $value) { ?>
<option value="<?= $value['id']?>"><?= $value['name']?></option>
<?php } ?>
<?php foreach ($insurer as $value) { ?>
<option value="<?= $value['id'] ?>"><?= $value['name'] ?></option>
<?php } ?>
<?php } ?>
</select>
</div>
@ -91,11 +94,11 @@ table.dataTable tbody td {
<select class="form-control" id="policy_type_id" name="policy_type_id">
<option value="0">Select Policy Type</option>
<?php
if (isset($policy_types) && count($policy_types)) {
foreach ($policy_types as $key => $value) {
echo "<option value='" . $value['id'] . "'>" . $value['policy_type'] . "</option>";
}
if (isset($policy_types) && count($policy_types)) {
foreach ($policy_types as $key => $value) {
echo "<option value='" . $value['id'] . "'>" . $value['policy_type'] . "</option>";
}
}
?>
</select>
</div>
@ -105,11 +108,11 @@ table.dataTable tbody td {
<select class="form-control" id="issuer" name="issuer" required>
<option value="0">Select Issure</option>
<?php
if (isset($issuer) && count($issuer)) {
foreach ($issuer as $key => $value) {
echo "<option value=" . $key . ">" . $value . "</option>";
}
if (isset($issuer) && count($issuer)) {
foreach ($issuer as $key => $value) {
echo "<option value=" . $key . ">" . $value . "</option>";
}
}
?>
</select>
</div>
@ -124,36 +127,36 @@ table.dataTable tbody td {
onchange="hideDateField()">
<option value="0">Select Date Type</option>
<?php
if (isset($date_type) && count($date_type)) {
foreach ($date_type as $key => $value) {
echo "<option value='" . $key . "'>" . $value . "</option>";
}
if (isset($date_type) && count($date_type)) {
foreach ($date_type as $key => $value) {
echo "<option value='" . $key . "'>" . $value . "</option>";
}
}
?>
</select>
</div>
<div class="form-group col-md-3" style="display: none;" id="date_div">
<label>Date<span class="text-danger"></span></label>
<div id="reportrange" class="form-control"
style="background: #fff; cursor: pointer; padding: 5px 10px; border: 1px solid #ccc; width: 100%">
<i class="mdi mdi-calendar-blank"></i>&nbsp;
<span></span> <i class="mdi mdi-menu-down"></i>
<div class="input-icon">
<input type="text" id="reportrange" class="form-control" readonly style="caret-color: transparent;">
<i class="mdi mdi-calendar-blank-outline additional-icon"></i>
</div>
<input type="hidden" id="startDate">
<input type="hidden" id="endDate">
</div>
<div class="form-group col-md-3 text-right m-b-0" style="margin-top: 29px;">
<a href="<?= base_url("/policy_tranction/report/report-business-list"); ?>"
class="btn btn-secondary" id="clear-filters">Clear</a>
<a href="<?= base_url("/policy_tranction/report/report-business-list"); ?>"
class="btn btn-primary" id="get-emp-list"
onclick="fetchEmpolyeeList(event);">Submit</a>
</div>
</div>
<div class="form-group text-right m-b-0">
<a href="<?= base_url("/policy_tranction/report/report-business-list"); ?>"
class="btn btn-secondary" id="clear-filters">Clear</a>
<a href="<?= base_url("/policy_tranction/report/report-business-list"); ?>"
class="btn btn-primary" id="get-emp-list"
onclick="fetchEmpolyeeList(event);">Submit</a>
</div>
<!-- <div class="form-group text-right m-b-0">
<button type="button" class="btn btn-secondary" id="clear-filters">Clear</button>
<a href="<?= base_url("/policy_tranction/report/list"); ?>"
@ -167,8 +170,10 @@ table.dataTable tbody td {
</div>
</div>
</div>
<div class="col-12" id="second_page">
<div class="card">
<div class="card-body">
@ -182,13 +187,13 @@ table.dataTable tbody td {
<table data-custom-table-css="table" id="scroll-horizontal-datatable" class="table w-100 nowrap">
<thead class="bg-light">
<tr>
<th>S.No</th>
<th>Client Name</th>
<th>Insurer</th>
<th>Policy</th>
<th>Policy No</th>
<th>Endorsement No</th>
<th>Event Type</th>
<th>S.No&nbsp;</th>
<th>Client Name&nbsp;</th>
<th>Insurer&nbsp;</th>
<th>Policy&nbsp;</th>
<th>Policy No&nbsp;</th>
<th>Endorsement No&nbsp;</th>
<th>Event Type&nbsp;</th>
<th>Action</th>
</tr>
</thead>
@ -196,7 +201,7 @@ table.dataTable tbody td {
<?php if (isset($business_list)) { ?>
<?php foreach($business_list as $index => $row){ ?>
<tr>
<td><?= $index + 1 ?></td>
<td class="text-center"><?= $index + 1 ?></td>
<td><?php echo $row['client_name']; ?></td>
<td><?php echo $row['insurer_name']; ?></td>
<td><?php echo $row['policy_type']; ?></td>
@ -217,13 +222,13 @@ table.dataTable tbody td {
echo base_url("/policy_tranction/endorsement/list") . '?pt_id=' . $row['policy_trns_id'];
}
?>" id="get-policy-list" class="dropdown-item btnEdit">
<i class="mdi mdi-pencil mr-2 text-muted font-18 vertical-middle"></i>Edit
</a>
</div>
</div>
</td>
</tr>
<?php } ?>
<i class="mdi mdi-pencil mr-2 text-muted font-18 vertical-middle"></i>Edit
</a>
</div>
</div>
</td>
</tr>
<?php } ?>
<?php } ?>
</tbody>
</table>
@ -236,159 +241,167 @@ table.dataTable tbody td {
</div>
<script>
document.addEventListener("DOMContentLoaded", function () {
const table = document.getElementById("scroll-horizontal-datatable");
document.addEventListener("DOMContentLoaded", function() {
const table = document.getElementById("scroll-horizontal-datatable");
// Create custom dropdown
function createCustomDropdown(row) {
// Get the original dropdown items
const originalDropdown = row.querySelector('.dropdown-menu');
if (!originalDropdown) return null;
// Create new dropdown with proper background and spacing
const customDropdown = document.createElement('div');
customDropdown.className = 'custom-dropdown-menu';
// Copy inner content while maintaining icon alignment
customDropdown.innerHTML = originalDropdown.innerHTML;
return customDropdown;
}
// Create custom dropdown
function createCustomDropdown(row) {
// Get the original dropdown items
const originalDropdown = row.querySelector('.dropdown-menu');
if (!originalDropdown) return null;
let activeDropdown = null;
// Create new dropdown with proper background and spacing
const customDropdown = document.createElement('div');
customDropdown.className = 'custom-dropdown-menu';
// Add click event listener to rows
table.querySelectorAll("tbody tr").forEach(row => {
const customDropdown = createCustomDropdown(row);
if (!customDropdown) return;
// Append the custom dropdown to the body
document.body.appendChild(customDropdown);
// Copy inner content while maintaining icon alignment
customDropdown.innerHTML = originalDropdown.innerHTML;
row.addEventListener("click", function(event) {
// Ignore clicks on the action column
if (event.target.closest('td:last-child')) {
return;
}
return customDropdown;
}
// Hide any active dropdown
if (activeDropdown) {
activeDropdown.style.display = 'none';
}
let activeDropdown = null;
// Get click position
const rect = event.target.getBoundingClientRect();
// Position the dropdown with some offset
customDropdown.style.display = 'block';
customDropdown.style.position = 'fixed';
customDropdown.style.left = `${rect.left}px`;
customDropdown.style.top = `${rect.bottom + 5}px`; // Add 5px gap
// Set as active dropdown
activeDropdown = customDropdown;
event.stopPropagation();
});
// Add click event listener to rows
table.querySelectorAll("tbody tr").forEach(row => {
const customDropdown = createCustomDropdown(row);
if (!customDropdown) return;
// Preserve click handlers and add auto-close
customDropdown.querySelectorAll('.dropdown-item').forEach(item => {
item.addEventListener('click', function(e) {
const onclickAttr = this.getAttribute('onclick');
if (onclickAttr) {
eval(onclickAttr);
}
const href = this.getAttribute('href');
if (href && href !== '#') {
window.location.href = href;
// Append the custom dropdown to the body
document.body.appendChild(customDropdown);
row.addEventListener("click", function(event) {
// Ignore clicks on the action column
if (event.target.closest('td:last-child')) {
return;
}
// Close the dropdown after handling the click
// Hide any active dropdown
if (activeDropdown) {
activeDropdown.style.display = 'none';
activeDropdown = null;
}
e.stopPropagation();
// Get click position
const rect = event.target.getBoundingClientRect();
// Position the dropdown with some offset
customDropdown.style.display = 'block';
customDropdown.style.position = 'fixed';
customDropdown.style.left = `${rect.left}px`;
customDropdown.style.top = `${rect.bottom + 5}px`; // Add 5px gap
// Set as active dropdown
activeDropdown = customDropdown;
event.stopPropagation();
});
// Preserve click handlers and add auto-close
customDropdown.querySelectorAll('.dropdown-item').forEach(item => {
item.addEventListener('click', function(e) {
const onclickAttr = this.getAttribute('onclick');
if (onclickAttr) {
eval(onclickAttr);
}
const href = this.getAttribute('href');
if (href && href !== '#') {
window.location.href = href;
}
// Close the dropdown after handling the click
if (activeDropdown) {
activeDropdown.style.display = 'none';
activeDropdown = null;
}
e.stopPropagation();
});
});
});
});
// Close dropdown when clicking outside
document.addEventListener("click", function() {
if (activeDropdown) {
activeDropdown.style.display = 'none';
activeDropdown = null;
}
// Close dropdown when clicking outside
document.addEventListener("click", function() {
if (activeDropdown) {
activeDropdown.style.display = 'none';
activeDropdown = null;
}
});
});
});
</script>
<script>
// Datatable document ready
$(document).ready(function() {
// Datatable document ready
$(document).ready(function() {
var ticketsTable = $('#scroll-horizontal-datatable');
if (ticketsTable.length) {
ticketsTable.DataTable({
dom: "<'row'<'col-sm-6'f><'col-sm-6 text-right'B>>" + // Filter left, buttons right
"<'row'<'col-sm-12'tr>>" +
"<'row'<'col-sm-5'i><'col-sm-7'p>>", // Pagination at the bottom, without page length selector
buttons: [{
extend: 'csv',
text: 'CSV',
title: 'Policy-Tranction-BDS-List',
},
"<'row'<'col-sm-12'tr>>" +
"<'row'<'col-sm-5'i><'col-sm-7'p>>", // Pagination at the bottom, without page length selector
buttons: [
{
extend: 'excel',
text: 'Excel',
title: 'Policy-Tranction-BDS-List',
customize: function(xlsx) {
var sheet = xlsx.xl.worksheets['sheet1.xml'];
var total = 0;
extend: 'collection',
text: '<span class="btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary',
buttons: [
{
extend: 'csv',
text: '<i class="mdi mdi-file-delimited"></i><span class="btn-custom"> CSV </span>',
title: 'Policy-Tranction-BDS-List'
},
{
extend: 'excel',
text: '<i class="mdi mdi-file-excel"></i><span class="btn-custom"> EXCEL </span>',
title: 'Policy-Tranction-BDS-List',
customize: function(xlsx) {
var sheet = xlsx.xl.worksheets['sheet1.xml'];
var total = 0;
// Find cells in column AB (28th column in Excel)
$('row c[r^="AB"]', sheet).each(function() {
var value = parseFloat($('v', this)
.text()); // Get the value inside the cell
if (!isNaN(value)) {
total += value;
// Sum values in column AB (28th column)
$('row c[r^="AB"]', sheet).each(function() {
var value = parseFloat($('v', this).text());
if (!isNaN(value)) {
total += value;
}
});
// Get last row index and append total row
var lastRow = $('row:last', sheet);
var rowIndex = parseInt(lastRow.attr('r')) + 2;
var totalRow =
'<row r="' + rowIndex + '">' +
'<c t="inlineStr" r="AA' + rowIndex + '"><is><t>Total</t></is></c>' +
'<c t="n" r="AB' + rowIndex + '"><v>' + total.toFixed(2) + '</v></c>' +
'</row>';
$(sheet).find('sheetData').append(totalRow);
}
});
// Get the last row index and append the total row
var lastRow = $('row:last', sheet);
var rowIndex = parseInt(lastRow.attr('r')) +
2; // Find the next row index
var totalRow = '<row r="' + rowIndex + '">' +
'<c t="inlineStr" r="AA' + rowIndex +
'"><is><t>Total</t></is></c>' + // Insert "Total" in AA
'<c t="n" r="AB' + rowIndex + '"><v>' + total.toFixed(2) +
'</v></c>' + // Insert sum in AB
'</row>';
// Append the new total row to the sheet
$(sheet).find('sheetData').append(totalRow);
}
}
]
}
],
language: {
search: "_INPUT_",
searchPlaceholder: "Search..."
search: `
<div class="datatable-search-wrapper">
_INPUT_
<i class="mdi mdi-magnify datatable-search-icon"></i>
</div>`,
searchPlaceholder: "Search"
},
paging: true, // Enable pagination
pageLength: 25, // Set default number of rows per page (optional)
ordering: false,
paging: true,
pageLength: 10,
ordering: false
});
} else {
console.error("Table not found.");
}
});
$(document).ready(function() {
getURLParams()
$('#client_id').select2();
@ -487,7 +500,7 @@ $(function() {
// var end = moment();
function cb(start, end) {
$('#reportrange span').html(start.format('D-MM-YYYY') + ' - ' + end.format('D-MM-YYYY'));
$('#reportrange').html(start.format('D-MM-YYYY') + ' - ' + end.format('D-MM-YYYY'));
$('#startDate').val(start.format('DD-MM-YYYY'));
$('#endDate').val(end.format('DD-MM-YYYY'));
}
@ -495,6 +508,7 @@ $(function() {
$('#reportrange').daterangepicker({
startDate: start,
endDate: end,
locale: { format: 'DD-MM-YYYY' },
ranges: {
'Today': [moment(), moment()],
'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
@ -505,53 +519,174 @@ $(function() {
.endOf('month')
]
}
}, cb);
cb(start, end);
$('#clear-filters').on('click', function() {
// Reset all select dropdowns to the first option
$('#client_id').val('0').change();
$('#insurer_id').val('0').change();
$('#policy_type_id').val('0').change();
$('#date_type').val('0');
$('#issuer').val('0');
$('#date_div').hide()
// Reset the date range picker to default
$('#reportrange').data('daterangepicker').setStartDate(moment().subtract(29, 'days'));
$('#reportrange').data('daterangepicker').setEndDate(moment());
cb(start, end); // Update the displayed date range
});
});
$(document).ready(function() {
getURLParams()
$('#client_id').select2();
$('#insurer_id').select2();
$('#policy_type_id').select2();
})
function hideDateField(input = null) {
let val = $('#date_type').val();
function fetchEmpolyeeList(event) {
event.preventDefault(); // Prevent default action
if (input) {
val = input;
var start_date = $('#startDate').val();
var end_date = $('#endDate').val();
var client_id = $('#client_id').val();
var insurer_id = $('#insurer_id').val();
var policy_type_id = $('#policy_type_id').val();
var date_type = $('#date_type').val();
var issuer = $('#issuer').val();
console.log(start_date + '-' + end_date);
var queryParams = {
start_date: start_date,
end_date: end_date,
client_id: client_id,
insurer_id: insurer_id,
policy_type_id: policy_type_id,
date_type: date_type,
issuer: issuer,
};
const queryString = objectToQueryString(queryParams);
const apiURL = $('#get-emp-list').attr('href') + "?" + queryString;
console.log(apiURL);
window.location.href = apiURL;
}
if (val != 0) {
$('#date_div').show()
} else {
$('#date_div').hide()
function objectToQueryString(obj) {
return Object.keys(obj).map(key => `${encodeURIComponent(key)}=${encodeURIComponent(obj[key])}`).join('&');
}
}
function sendPolicyTransactionID(event, pt_id) {
event.preventDefault(); // Prevent default action
function getURLParams() {
const url = new URL(window.location.href);
const params = new URLSearchParams(url.search);
console.log(pt_id);
const startDate = params.get('start_date') || 0; // Default to 0 if not found
const endDate = params.get('end_date') || 0; // Default to 0 if not found
const client_id = params.get('client_id') || 0; // Default to 0 if not found
const insurer_id = params.get('insurer_id') || 0; // Default to 0 if not found
const policy_type_id = params.get('policy_type_id') || 0; // Default to 0 if not found
const date_type = params.get('date_type') || 0; // Default to 0 if not found
const issuer = params.get('issuer') || 0; // Default to 0 if not found
var queryParams = {
pt_id: pt_id,
};
hideDateField(date_type)
const queryString = objectToQueryString(queryParams);
const apiURL = $('#get-policy-list').attr('href') + "?" + queryString;
console.log(apiURL);
window.location.href = apiURL;
}
console.log('startDate', startDate)
console.log('endDate', endDate)
console.log('client_id', client_id)
console.log('insurer_id', insurer_id)
console.log('policy_type_id', policy_type_id)
console.log('date_type', date_type)
console.log('issuer', issuer)
// Log the values or use them as needed
console.log('Start Date:', startDate);
console.log('End Date:', endDate);
if (startDate != 0 && endDate != 0) {
setTimeout(function() {
$('#start_date').val(startDate)
$('#end_date').val(endDate)
$('#client_id').val(client_id).change()
$('#insurer_id').val(insurer_id).change()
$('#policy_type_id').val(policy_type_id).change()
$('#date_type').val(date_type)
$('#issuer').val(issuer)
}, 1000)
}
}
$(function() {
const url = new URL(window.location.href);
const params = new URLSearchParams(url.search);
// Get start and end dates from URL parameters, or use default values
const startDateParam = params.get('start_date') || moment().subtract(29, 'days').format('DD-MM-YYYY');
const endDateParam = params.get('end_date') || moment().format('DD-MM-YYYY');
// Parse the dates to moment objects
var start = moment(startDateParam, 'DD-MM-YYYY');
var end = moment(endDateParam, 'DD-MM-YYYY');
// var start = moment().subtract(29, 'days');
// var end = moment();
function cb(start, end) {
$('#reportrange').html(start.format('D-MM-YYYY') + ' - ' + end.format('D-MM-YYYY'));
$('#startDate').val(start.format('DD-MM-YYYY'));
$('#endDate').val(end.format('DD-MM-YYYY'));
}
$('#reportrange').daterangepicker({
startDate: start,
endDate: end,
locale: {
format: 'DD-MM-YYYY'
},
ranges: {
'Today': [moment(), moment()],
'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
'Last 7 Days': [moment().subtract(6, 'days'), moment()],
'Last 30 Days': [moment().subtract(29, 'days'), moment()],
'This Month': [moment().startOf('month'), moment().endOf('month')],
'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month')
.endOf('month')
]
}
}, cb);
cb(start, end);
$('#clear-filters').on('click', function() {
// Reset all select dropdowns to the first option
$('#client_id').val('0').change();
$('#insurer_id').val('0').change();
$('#policy_type_id').val('0').change();
$('#date_type').val('0');
$('#issuer').val('0');
$('#date_div').hide()
// Reset the date range picker to default
$('#reportrange').data('daterangepicker').setStartDate(moment().subtract(29, 'days'));
$('#reportrange').data('daterangepicker').setEndDate(moment());
cb(start, end); // Update the displayed date range
});
});
function hideDateField(input = null) {
let val = $('#date_type').val();
if (input) {
val = input;
}
if (val != 0) {
$('#date_div').show()
} else {
$('#date_div').hide()
}
}
function sendPolicyTransactionID(event, pt_id) {
event.preventDefault(); // Prevent default action
console.log(pt_id);
var queryParams = {
pt_id: pt_id,
};
const queryString = objectToQueryString(queryParams);
const apiURL = $('#get-policy-list').attr('href') + "?" + queryString;
console.log(apiURL);
window.location.href = apiURL;
}
</script>

View File

@ -56,41 +56,42 @@ table.dataTable thead th {
<div class="col-12">
<div class="card">
<div class="card-body maincard">
<div class="row" style="margin-bottom:1rem;">
<!-- <div class="row" style="margin-bottom:1rem;">
<div class="col-6" style="align-self: center;">
<h4 style="position: relative;">CD Master</h4>
</div>
<div class="col-6" style="text-align: right; position: relative;top: 56px;">
<!-- <button type="button" id="btnAdd" class="btn btn-primary waves-effect waves-light"
<!- <button type="button" id="btnAdd" class="btn btn-primary waves-effect waves-light"
data-toggle="modal" data-target="#con-close-modal" data-placement="top" title="Add"
data-trigger="hover">ADD</button> -->
data-trigger="hover">ADD</button> ->
</div>
</div>
<table data-custom-table-css="table" id="scroll-horizontal-datatable" class="table w-100 nowrap" >
</div> -->
<table data-custom-table-css="table" id="scroll-horizontal-datatable" class="table w-100 nowrap text-custom-black text-custom app-datatable">
<thead class="bg-light">
<tr>
<th class="font-weight-medium">S.No.</th>
<th class="font-weight-medium">Client Name</th>
<th class="font-weight-medium">Insurer Name</th>
<th class="font-weight-medium">Insurer Branch Name</th>
<th class="font-weight-medium">Opening Date</th>
<th class="font-weight-medium">CD Account No</th>
<th class="font-weight-medium">Opening Amount</th>
<th class="font-weight-medium">Date/User</th>
<th class="font-weight-medium">Action</th>
<th class="font-weight-medium">S.No&nbsp;</th>
<th class="font-weight-medium">Client Name&nbsp;</th>
<th class="font-weight-medium">Insurer Name&nbsp;</th>
<th class="font-weight-medium">Insurer Branch Name&nbsp;</th>
<th class="font-weight-medium">Opening Date&nbsp;</th>
<th class="font-weight-medium">CD Account No&nbsp;</th>
<th class="font-weight-medium">Opening Amount&nbsp;</th>
<th class="font-weight-medium">Date/User&nbsp;</th>
<th class="font-weight-medium">Action&nbsp;</th>
</tr>
</thead>
<tbody>
<tbody class="app-table-body">
<?php foreach($CD_Master_Data as $index => $row){ ?>
<tr>
<td><?= $index + 1; ?></td>
<td class="text-center"><?= $index + 1; ?></td>
<td><?php echo $row['client_name']; ?>( <?= $row['short_name'] ?> )</td>
<td><?php echo $row['insurer_name']; ?></td>
<td><?php echo $row['insurer_branch_name']; ?></td>
<td><?php echo date('d-m-Y', strtotime($row['opening_date'])); ?></td>
<td><?php echo $row['cd_ac_no']; ?></td>
<td><?php echo $row['opening_bal']; ?></td>
<td><?php echo date('d-M-Y h:i A', strtotime($row['created_at'])) ?> by <?php echo $row['user_name']; ?></td>
<td><?php echo date('d-M-Y h:i A', strtotime($row['created_at'])) ?> <br>by <?php echo $row['user_name']; ?></td>
<td>
<div class="btn-group dropdown">
<a href="javascript: void(0);"class="dropdown-toggle arrow-none btn btn-light btn-sm" data-toggle="dropdown"aria-expanded="false"><i class="mdi mdi-dots-horizontal"></i></a>
@ -213,35 +214,82 @@ table.dataTable thead th {
$(document).ready(function() {
$('#scroll-horizontal-datatable').DataTable({
scrollX: true,
dom: "<'row'<'col-sm-6'f><'col-sm-6 text-right'B>>" +
"<'row'<'col-sm-12'tr>>" +
"<'row'<'col-sm-5'i><'col-sm-7'p>>",
buttons: [
{
extend: 'csv',
text: 'CSV',
title: 'CD-Master-List',
className: 'my_class',
exportOptions: {
columns: ':not(:last-child)'
},
},
{
text: 'Add',
className: 'buttons-html5 ',
action: function (e, dt, node, config) {
scrollX: true,
dom: "<'row'<'col-sm-2'f><'col-sm-10 text-right'B>>" +
"<'row'<'col-sm-12'tr>>" +
"<'row'<'col-sm-5'i><'col-sm-7'p>>",
buttons: [
{
text: '<i class="mdi mdi-plus" ></i><span class=" btn-custom"> Add </span>',
className: 'btn app-btn-primary mr-2',
action: function (e, dt, node, config) {
showCdMasterAddModal();
}
}
],
language: {
search: "_INPUT_",
searchPlaceholder: "Search..."
},
paging: true,
}
},
{
extend: 'collection',
text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary ',
buttons: [
{
extend: 'csv',
title: 'CD-Master-List',
text: '<i class="mdi mdi-file-delimited " ></i><span class=" btn-custom"> CSV </span>',
className: 'app-btn-primary my_class',
exportOptions: {
columns: ':not(:last-child)'
},
},
{
extend: 'excel',
text: '<i class="mdi mdi-file-excel " ></i><span class=" btn-custom"> EXCEL </span>',
exportOptions: {
orthogonal: 'sort'
},
className: 'app-btn-primary ',
}
]
}
],
language: {
search: `
<div class="datatable-search-wrapper">
_INPUT_
<i class="mdi mdi-magnify datatable-search-icon"></i>
</div>`,
searchPlaceholder: "Search"
},
paging: true,
pageLength: 10,
order: [[0, 'desc']]
// scrollX: true,
// dom: "<'row'<'col-sm-6'f><'col-sm-6 text-right'B>>" +
// "<'row'<'col-sm-12'tr>>" +
// "<'row'<'col-sm-5'i><'col-sm-7'p>>",
// buttons: [
// {
// extend: 'csv',
// text: 'CSV',
// title: 'CD-Master-List',
// className: 'my_class',
// exportOptions: {
// columns: ':not(:last-child)'
// },
// },
// {
// text: 'Add',
// className: 'buttons-html5 ',
// action: function (e, dt, node, config) {
// showCdMasterAddModal();
// }
// }
// ],
// language: {
// search: "_INPUT_",
// searchPlaceholder: "Search..."
// },
// paging: true,
});
})
$(document).ready(function(){

View File

@ -64,14 +64,14 @@
<div class="card-body">
<div class="row" style="padding-bottom: 10px;">
<div class="col-6" style="align-self: center;">
<h4 style="position: relative;">Files</h4>
<h4 style="position: relative;">Claim Dump Upload</h4>
</div>
</div>
<table data-custom-table-css="table" class="table table-hover m-0 table-centered dt-responsive w-100" cellspacing="0" id="tickets-table">
<thead class="bg-light">
<tr>
<th class="font-weight-medium">SNO</th>
<th class="font-weight-medium">S.No&nbsp;</th>
<th class="font-weight-medium">File name</th>
<th class="font-weight-medium">User/Time</th>
<th class="font-weight-medium">Status</th>
@ -86,21 +86,25 @@
?>
<tr>
<td><b><?php echo ($key + 1) ?></b></td>
<td class="text-center"><b><?php echo ($key + 1) ?></b></td>
<td style="overflow: hidden;" class="reload truncate" data-toggle="tooltip" data-placement="top" title="<?php echo $file['file_name'] ?>">
<?php echo $file['file_name'] ?>
</td>
<td><?php echo change_date_format($file['created_at'], 'Y-m-d H:i:s', 'd M Y h:i a') . ' by <strong>' . $file['user_name'] . '</strong>' ?> </td>
<td>
<?php if ($file['status'] == "failed") { ?>
<?= $file['status'] ?> <span class='col-xl-3 col-lg-4 col-sm-6'>
<span style="color : #BD0707 ;"> <?= $file['status'] ?> </span>
<span class='col-xl-3 col-lg-4 col-sm-6'>
<!-- <a href="<?= base_url('util/claim_dump_excel_error/') . $file['file_id'] ?>" target="_blank" class='fe-alert-circle' data-err="<?= $file['file_id'] ?>"></a> -->
<a href="#" class='fe-alert-circle' onclick="fetchFileError(<?= $file['file_id'] ?>)"></a>
</span>
<?php } else if ($file['status'] == "inprogress") { ?>
<a data-id="<?= $file['status'] ?>" class="reload" href="#"><?= $file['status'] ?></a>
<a data-id="<?= $file['status'] ?>" class="reload" href="#"
style="color : #938e04ff ;">
<?= $file['status'] ?>
</a>
<?php } else { ?>
<?= $file['status'] ?>
<span style="color : #34A853 ;"> <?= $file['status'] ?> </span>
<?php } ?>
</td>
<td>
@ -156,7 +160,7 @@
<!-- &nbsp;[ <a href="#" id="excel_download" data-toggle="tooltip" data-placement="top" title="Download Sample Excel">Sample Excel</a> ] -->
<input type="file" name="claim_dump_list" id="claim_dump_list" accept=" application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel,application/vnd.oasis.opendocument.spreadsheet" required>
</div>
<div class="form-group col-md-3" style="margin-top: 18px;">
<div class="form-group col-md-3" style="margin-top: 40px;">
<button id="claim_form_submit_button" type="submit" class="btn btn-primary waves-effect waves-light justify-content-end">Upload</button>
</div>
</div>
@ -293,8 +297,12 @@
}
],
language: {
search: "_INPUT_",
searchPlaceholder: "Search..."
search: `
<div class="datatable-search-wrapper">
_INPUT_
<i class="mdi mdi-magnify datatable-search-icon"></i>
</div>`,
searchPlaceholder: "Search"
},
paging: true, // Enable pagination
pageLength: 15, // Set default number of rows per page (optional)

View File

@ -19,7 +19,15 @@
<div class="form-group">
<div id="dynamic-form-container"></div>
<div id="dynamic-form-container">
<div align="right">
<a class="btn btn-primary waves-effect waves-light mr-1"
onclick="addHTMLInput(this)">
+ Add
</a>
</div>
</div>
<div class="form-group text-right m-b-0">
<button type="submit" class="btn btn-primary waves-effect waves-light mr-1"
@ -48,10 +56,10 @@
<table data-custom-table-css="table" id="scroll-horizontal-datatable" class="table w-100 nowrap">
<thead class="bg-light">
<tr>
<th>S.No</th>
<th>Docs Name</th>
<th>File Name</th>
<th>Action</th>
<th>S.No&nbsp;</th>
<th>Docs Name&nbsp;</th>
<th>File Name&nbsp;</th>
<th>Action&nbsp;</th>
</tr>
</thead>
<tbody id="table_bd">
@ -191,8 +199,9 @@ function addHTMLInput()
>
</div>
<div class="form-group col-md-2" style="position: relative;top: 28px;">
<a class="btn btn-danger waves-effect waves-light" onclick="removeHTMLInput(this)">x</a>
<a class="btn btn-primary waves-effect waves-light mr-1" onclick="addHTMLInput(this)">+</a>
<a class="btn btn-danger waves-effect waves-light" onclick="removeHTMLInput(this)" style="background-color: #BD0707;">
<i class="mdi mdi-delete" ></i>
</a>
</div>
`;
container.appendChild(newRow);
@ -265,7 +274,7 @@ function create_url_list(data) {
data.forEach((item, index) => {
html += `
<tr>
<td>${index + 1}</td>
<td class="text-center">${index + 1}</td>
<td>${item.doc_name}</td>
<td><a href="${item.url}" target="_blank">${item.url}</a></td>
<td>

View File

@ -202,7 +202,7 @@ $isActive = get_role_id() == STAFF_ROLE_ID && in_array(CLAIMS_TEAM_ID,user_team(
<div class="row d-flex align-items-center">
<div class="goBack" style="padding-left: 25px;">
<a href="#" onclick="hideAndShowTile('2')" ><b><i class="mdi mdi-chevron-left mdi-36px"></i></b> </a>
<a href="#" onclick="hideAndShowTile('2')" ><b><i class="mdi mdi-chevron-left mdi-36px chevron-left-dash"></i></b> </a>
</div>
<div class="goBack" style="display: none;padding-left: 15px;">
<a href="#" id="current_tile">Current Tile : </a>

View File

@ -7,10 +7,6 @@
padding: 4px 4px !important;
}
.col-12 {
max-width: 98% !important;
}
.dataTables_filter {
position: absolute;
}
@ -92,10 +88,24 @@
"<'row'<'col-sm-12'tr>>" +
"<'row'<'col-sm-5'i><'col-sm-7'p>>",
buttons: [
{ extend: 'csv', text: 'CSV', title: 'Insurer-Wise-Report-List' },
{ extend: 'excel', text: 'Excel', title: 'Insurer-Wise-Report-List', exportOptions: { orthogonal: 'sort' } }
{
extend: 'collection',
text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary ',
buttons: [
{ extend: 'csv', text: '<i class="mdi mdi-file-delimited " ></i><span class=" btn-custom"> CSV </span>', title: 'Insurer-Wise-Report-List', className: 'app-btn-primary ' },
{ extend: 'excel', text: '<i class="mdi mdi-file-excel " ></i><span class=" btn-custom"> EXCEL </span>', title: 'Insurer-Wise-Report-List', className: 'app-btn-primary ', exportOptions: { orthogonal: 'sort' } }
],
}
],
language: { search: "_INPUT_", searchPlaceholder: "Search..." },
language: {
search: `
<div class="datatable-search-wrapper">
_INPUT_
<i class="mdi mdi-magnify datatable-search-icon"></i>
</div>`,
searchPlaceholder: "Search"
},
paging: true,
pageLength: 10,
ordering: false

View File

@ -7,9 +7,6 @@
padding: 4px 4px !important;
}
.col-12 {
max-width: 98% !important;
}
.dataTables_filter {
position: absolute;
@ -33,7 +30,8 @@
<thead class="bg-light">
<tr>
<th style="text-align: center;" colspan="8">OPEN</th>
<th style="text-align: center;" colspan="5" >CLEARED</th>
&nbsp;
<th style="text-align: center;" colspan="7" >CLEARED</th>
</tr>
<tr>
<?php foreach ($column_order as $col_name): ?>
@ -88,10 +86,24 @@
"<'row'<'col-sm-12'tr>>" +
"<'row'<'col-sm-5'i><'col-sm-7'p>>",
buttons: [
{ extend: 'csv', text: 'CSV', title: 'Insurer-Wise-Report-List' },
{ extend: 'excel', text: 'Excel', title: 'Insurer-Wise-Report-List', exportOptions: { orthogonal: 'sort' } }
{
extend: 'collection',
text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary ',
buttons: [
{ extend: 'csv', text: '<i class="mdi mdi-file-delimited " ></i><span class=" btn-custom"> CSV </span>', title: 'Insurer-Wise-Report-List',className: 'app-btn-primary ' },
{ extend: 'excel', text: '<i class="mdi mdi-file-excel " ></i><span class=" btn-custom"> EXCEL </span>', title: 'Insurer-Wise-Report-List',className: 'app-btn-primary ', exportOptions: { orthogonal: 'sort' } }
]
}
],
language: { search: "_INPUT_", searchPlaceholder: "Search..." },
language: {
search: `
<div class="datatable-search-wrapper">
_INPUT_
<i class="mdi mdi-magnify datatable-search-icon"></i>
</div>`,
searchPlaceholder: "Search"
},
paging: true,
pageLength: 10,
ordering: false

View File

@ -70,6 +70,13 @@
<div class="row" id="add_branch">
<div class="col-12">
<div class="card-body">
<div class="row float-left" style="position: relative; bottom: 20px; left: 13px;">
<button type="button" id="btnAutoBranchFetch"
class="btn btn-primary waves-effect waves-light btn-sm "> Auto Fetch branch Details</button>
</div>
<div class="row float-right" style="position: relative; bottom: 20px; right: 13px;">
<button type="button" id="btnBranchBack"
class="btn btn-primary waves-effect waves-light btn-sm btnBack"><span class="mdi mdi-format-list-bulleted"
@ -82,7 +89,12 @@
<input type="hidden" class="form-control" value="<?= csrf_hash() ?>" name="<?= csrf_token() ?>" />
<input type="hidden" name="client_id" id="client_id_branch"
value="<?= isset($client['id']) ? $client['id'] : '' ?>" />
<input type="hidden" name="pre_branch_id" id="pre_branch_id"
value="<?= isset($pre_branch_id) ? $pre_branch_id : '' ?>" />
<input type="hidden" name="branch_id_primarykey" id="branch_id_primarykey" />
<div class="form-group">
<div class="form-row">
<div class="form-group col-md-6">

View File

@ -16,14 +16,13 @@
<a href="<?= base_url("client/client_deposit"); ?>" type="button" id="btnAdd" class="btn btn-primary waves-effect waves-light" data-toggle="" data-placement="top" title="Add" data-trigger="hover">ADD</a>
</div> -->
</div>
<table data-custom-table-css="table" class="table table-sm table-hover m-0 table-centered dt-responsive nowrap w-100" cellspacing="0"
id="tickets-table">
<table data-custom-table-css="table" class="table mb-0 nowrap w-100 table-centered" cellspacing="0" id="tickets-table">
<thead class="bg-light">
<tr>
<th class="font-weight-medium">Insurer Name</th>
<th class="font-weight-medium">Insurer Branch Name</th>
<th class="font-weight-medium">CD Account Number</th>
<th class="font-weight-medium">Current Balance</th>
<th class="font-weight-medium">Insurer Name&nbsp;</th>
<th class="font-weight-medium">Insurer Branch Name&nbsp;</th>
<th class="font-weight-medium">CD Account Number&nbsp;</th>
<th class="font-weight-medium">Current Balance&nbsp;</th>
<th class="font-weight-medium">Action</th>
</tr>
</thead>
@ -70,31 +69,43 @@
$(document).ready(function() {
$('#tickets-table').DataTable({
dom: "<'row'<'col-sm-0'f><'col-sm-9 text-right'B>>",
buttons: [{
extend: 'csv',
text: 'CSV',
title: 'Client Deposit Details - ' + ' <?php echo $clientName[0]['client_name'];?>',
className: 'my_class',
exportOptions: {
columns: ':not(:last-child)'
},
},
{
extend: 'pdf',
text: 'PDF',
title: 'Client Deposit Details - ' + ' <?php echo $clientName[0]['client_name'];?>',
exportOptions: {
columns: ':not(:last-child)'
},
}
],
// dom: "<'row'<'col-sm-0'f><'col-sm-9 text-right'B>>",
dom: "<'row'<'col-12 d-flex justify-content-between align-items-center'<'datatable-search dataTables_filter'f><'datatable-buttons dt-buttons'B>>>",
buttons: [
{
extend: 'collection',
text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary ',
buttons: [
{
extend: 'csv',
text: '<i class="mdi mdi-file-delimited " ></i><span class=" btn-custom"> CSV </span>',
title: 'Client Deposit Details - ' + ' <?php echo $clientName[0]['client_name'];?>',
className: 'app-btn-primary ',
exportOptions: {
columns: ':not(:last-child)'
},
},
{
extend: 'pdf',
text: '<i class="mdi mdi-file-pdf " ></i><span class=" btn-custom"> PDF </span>',
title: 'Client Deposit Details - ' + ' <?php echo $clientName[0]['client_name'];?>',
exportOptions: {
columns: ':not(:last-child)'
},
className: 'app-btn-primary ',
}
]
}
],
language: {
search: "_INPUT_",
searchPlaceholder: "Search..."
},
search: `
<div class="datatable-search-wrapper">
_INPUT_
<i class="mdi mdi-magnify datatable-search-icon"></i>
</div>`,
searchPlaceholder: "Search"
},
});

View File

@ -21,8 +21,18 @@
<div class="row" style="padding-top: 20px;margin-bottom: 18px;">
<div class="col-6">
<h4 style="position: relative;left: 18px;top: 2px;">Client Basic Info - <strong> <?= $client['client_name'] ?> (
<?= $client['short_name'] ?> ) </strong></h4>
<h4 style="position: relative; left: 18px; top: 2px;">
<span class="client_info_close fs-6" id="close_btn">
<i class="mdi mdi-chevron-left" style="font-size: 28px;cursor:pointer;"></i>
</span>
<span>
Client Basic Info -
<strong> <?= $client['client_name'] ?> ( <?= $client['short_name'] ?> ) </strong>
</span>
</h4>
</div>
<div class="col-6">
@ -30,8 +40,6 @@
<div class="row">
<div class="col-6" style="position: relative;left: 455px;">
<button id="close_btn"
class="btn btn-primary waves-effect waves-light client_info_close">Close</button>
</div>
<div class="col-1 float-right" style="position: relative;left: 255px;">
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse"
@ -125,28 +133,36 @@
<?php if($value['open_for_enrollment'] == 'Open' ) { ?>
<span
class="badge badge-success"><?= $value['open_for_enrollment'] ?></span>
class="px-2 py-1"
style="background-color: #F9F8CD; color: #000 !important; border-radius:10px !important; "
><?= $value['open_for_enrollment'] ?></span>
<?php } else if($value['open_for_enrollment'] == 'Closed') { ?>
<span
class="badge badge-warning"><?= $value['open_for_enrollment'] ?></span>
class="px-2 py-1"
style="background-color: #C2C2C2; color: #000 !important; border-radius:10px !important;"><?= $value['open_for_enrollment'] ?></span>
<?php } else { ?>
<span
class="badge badge-secondary"><?= $value['open_for_enrollment'] ?></span>
style="background-color: #E26728; color: #000 !important; border-radius:10px !important;"
class="px-2 py-1"><?= $value['open_for_enrollment'] ?></span>
<?php } ?>
</td>
<td>
<?php if($value['policy_status'] == 'Active' ) { ?>
<span class="badge badge-success"><?= $value['policy_status'] ?></span>
<span
style="background-color: #D1F8E7; color: #000 !important; border-radius:10px !important;"
class="px-2 py-1"><?= $value['policy_status'] ?></span>
<?php } else { ?>
<span class="badge badge-danger"><?= $value['policy_status'] ?></span>
<span
style="background-color: #BD0707; color: #000 !important; border-radius:10px !important;"
class="px-2 py-1 "><?= $value['policy_status'] ?></span>
<?php } ?>
</td>

View File

@ -1,49 +1,15 @@
<style>
#kyc_table #tbody td,
#other_docs_table tbody td
{
background-color: white !important;
}
#kyc_table #tbody tr ,
#other_docs_table tbody tr
{
box-shadow: 0px 2px 4px 0px #00000024;
background-color: white;
border-radius: 10px;
}
#kyc_table #tbody tr:hover td ,
#other_docs_table tr:hover td
{
background-color: #e0e0e0 !important;
}
#KYC-DOC-tab .card-body ,
#other_docs_table .card-body
{
background-color: #F5FFFF !important;
border-radius: 10px;
box-shadow: 0px 4px 4px 0px #00000040;
}
#KYC-DOC-tab thead{
padding: 15px !important;
}
</style>
<style> .card-body{ margin-top: 0px !important; } </style>
<div class="tab-pane fade" id="KYC-DOC-tab">
<div class="col-lg-12">
<div class="card">
<div class="card" id="collapseOne">
<div class="card-body">
<div class="table-responsive">
<table data-custom-table-css="table" id="kyc_table" class="table table-sm mb-0">
<table data-custom-table-css="second-table" id="kyc_table" class="table table-sm mb-0">
<thead>
<tr>
<th>S.no</th>
<th>S. No</th>
<th>Document Name</th>
<th>Status</th>
<th>Action</th>
@ -63,7 +29,7 @@
<div class="row" id="others">
<div class="col-12">
<div class="card" style="margin-left: 12px;margin-right: -12px;">
<div class="card" id="collapseOne" style="margin-left: 12px;margin-right: -12px;">
<div class="card-body">
<h3>Additional Documents</h3>
<form role="form" class="parsley-examples" method="post" id="kyc_form"
@ -101,10 +67,10 @@
</div> <!-- end row -->
<div class="col-lg-12" id="other_docs_table">
<div class="card">
<div class="card" id="collapseOne">
<div class="card-body">
<div class="table-responsive">
<table data-custom-table-css="table" id="kyc_table" class="table table-sm mb-0">
<table data-custom-table-css="second-table" id="kyc_table" class="table table-sm mb-0">
<thead>
<tr>
<th>Document Name</th>

View File

@ -1,6 +1,6 @@
<style>
.table th,
/* .table th,
.table td {
padding: 8px;
}
@ -11,7 +11,7 @@ table.dataTable tbody td {
table.dataTable thead th {
padding: 4px 4px !important;
}
} */
.col-12{
@ -74,32 +74,31 @@ table.dataTable thead th {
<div class="col-12">
<div class="card">
<div class="card-body">
<div class="row" style="margin-bottom:1rem;">
<div class="col-6" style="align-self: center;">
<h4 style="position: relative;">Client List</h4>
</div>
<!-- <div class="row" style="margin-bottom:1rem;">-->
<!-- <div class="col-6" style="align-self: center;">
<h4 style="position: relative;">Client</h4>
</div> -->
<!-- <div class="col-2" style="text-align: right; position: relative;top: 56px; left: 303px;">
<a class="btn btn-primary waves-effect waves-light" onclick="showModal()">Add From Lead</a>
</div>
<div class="col-1" style="text-align: right; position: relative;top: 56px; left: 294px;">
<a href="<?= base_url("client/create"); ?>" type="button" id="btnAdd" class="btn btn-primary waves-effect waves-light" data-toggle="" data-placement="top" title="Add" data-trigger="hover">Add</a>
</div> -->
</div>
<table data-custom-table-css="table" class="table table-sm table-hover m-0 table-centered dt-responsive nowrap w-100" cellspacing="0"
id="tickets-table">
<!-- </div>-->
<table data-custom-table-css="table" class="table mb-0 nowrap" cellspacing="0" id="tickets-table">
<thead class="bg-light">
<tr>
<th class="font-weight-medium">S.No</th>
<th class="font-weight-medium">Client Name</th>
<th class="font-weight-medium">Account Manager</th>
<th class="font-weight-medium">Action</th>
<th class="font-weight-medium">S.No&nbsp;</th>
<th class="font-weight-medium">Client Name&nbsp;</th>
<th class="font-weight-medium">Account Manager&nbsp;</th>
<th class="font-weight-medium">Action&nbsp;</th>
</tr>
</thead>
<tbody>
<?php foreach($clientList as $index => $row){ ?>
<tr >
<td><?=$index+1?></td>
<td class="text-center"><?=$index+1?></td>
<td class="client_info" data-id="<?php echo $row->id; ?>"><?php echo $row->client_name; ?> ( <?php echo $row->short_name; ?> ) </td>
<td>
<?php $account_managers = ''; ?>
@ -108,7 +107,9 @@ table.dataTable thead th {
<?php $account_managers .= $client->account_manager . ', '; ?>
<?php endif; ?>
<?php endforeach; ?>
<?php echo rtrim($account_managers, ', '); ?>
<?php
$account_managers = rtrim($account_managers, ', ');
echo $account_managers !== '' ? $account_managers : 'N/A'; ?>
</td>
<td>
<div class="btn-group dropdown">
@ -166,7 +167,8 @@ table.dataTable thead th {
</div>
</div><!-- /.modal-content -->
</div>
</div><!-- /.modal -->
</div>
<!-- /.modal -->
<script>
document.addEventListener("DOMContentLoaded", function () {
@ -296,11 +298,11 @@ table.dataTable thead th {
$(document).ready(function()
{
$('#tickets-table').DataTable({
dom: "<'row'<'col-sm-2'f><'col-sm-10 text-right'B>>" +
"<'row'<'col-sm-12'tr>>" +
"<'row'<'col-sm-5'i><'col-sm-7'p>>",
dom: "<'row'<'col-12 d-flex justify-content-between align-items-center'<'datatable-search dataTables_filter'f><'datatable-buttons dt-buttons'B>>>" +
"<'row'<'col-sm-12'tr>>" +
"<'row'<'col-sm-5'i><'col-sm-7'p>>",
buttons: [
{
text: 'Add From Lead',
className: 'btn-filter add-from-lead', // custom class
@ -309,31 +311,36 @@ $(document).ready(function()
}
},
{
text: '+ create New Client',
className: 'btn-filter buttons-html5', // custom class
text: '<i class="mdi mdi-plus" ></i><span class=" btn-custom"> Add </span>',
className: 'btn app-btn-primary mr-2',
action: function(e, dt, node, config) {
addClient();
}
},
{
extend: 'csv',
text: 'CSV',
title: 'ClientList',
className: 'my_class',
exportOptions: {
columns: ':not(:last-child)'
},
}
],
initComplete: function() {
$('.btn-filter')
.removeClass('btn-secondary')
.addClass('btn btn-primary');
},
{
extend: 'collection',
text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary ',
buttons: [
{
extend: 'csv',
text: '<i class="mdi mdi-file-delimited " ></i><span class=" btn-custom"> CSV </span>',
title: 'Client-List',
className: 'app-btn-primary ',
exportOptions: {
columns: ':not(:last-child)'
},
}
]
}
],
language: {
search: "_INPUT_",
searchPlaceholder: "Search..."
search: `
<div class="datatable-search-wrapper">
_INPUT_
<i class="mdi mdi-magnify datatable-search-icon"></i>
</div>`,
searchPlaceholder: "Search"
},
paging: true ,
// pagingType: 'full_numbers'

View File

@ -1,44 +1,39 @@
<style>
body {
.multiselect-native-select {
position: relative;
/* bottom: 32px; */
select {
border: 0 !important;
clip: rect(0 0 0 0) !important;
height: 1px !important;
margin: -1px -1px -1px -3px !important;
overflow: hidden !important;
padding: 0 !important;
position: absolute !important;
width: 1px !important;
left: 50%;
top: 30px;
}
}
.multiselect-container {
width: 100% !important;
}
.multiselect-selected-text {
float: left !important;
}
body {
.multiselect-native-select {
position: relative;
/* bottom: 32px; */
select {
border: 0 !important;
clip: rect(0 0 0 0) !important;
height: 1px !important;
margin: -1px -1px -1px -3px !important;
overflow: hidden !important;
padding: 0 !important;
position: absolute !important;
width: 1px !important;
left: 50%;
top: 30px;
}
}
.multiselect-container{
width: 100% !important;
}
.multiselect-selected-text{
float: left !important;
}
}
.navtab-bg .nav-link {
margin: 0 5px 10px!important;
}
.readonly-select {
pointer-events: none;
/* background-color: #f0f0f0; */
background-color: #e0e0e0;
color: #666;
}
.readonly-select {
pointer-events: none;
/* background-color: #f0f0f0; */
background-color: #e0e0e0;
color: #666;
}
</style>
<style>
@ -47,10 +42,6 @@ body {
font-size: 14px;
}
.container-fluid {
padding: 12px;
}
.user-card {
background: white;
border-radius: 8px;
@ -90,7 +81,7 @@ body {
font-size: 0.85em;
opacity: 0.9;
margin: 0;
color:rgb(56, 55, 55);
color: rgb(56, 55, 55);
}
.accordion-icon {
@ -259,48 +250,19 @@ body {
border: 1px solid #dee2e6;
}
#client_add .nav-pills ,
#client_add .nav-link
{
background-color: #F5FFFF !important;
color : #00999E !important;
border-radius:10px;
}
#client_add .nav-pills
{
background-color: #F5FFFF !important;
color : #00999E !important;
box-shadow: 0px 2px 4px 0px #00000040;
padding-top: 5px ;
}
#client_add .nav-link.active-tab {
color: white !important;
background-color: #00999E !important;
font-size: small !important;
padding:8px 16px;
border-radius: 10px !important;
box-shadow: 0px 2px 4px 0px #00000040;
}
#hr_activity_history_append_area{
padding-top:0;
margin-top:0;
#hr_activity_history_append_area {
padding-top: 0;
margin-top: 0;
background-color: #F5FFFF !important;
border: 2px solid #F5FFFF;
border-radius: 10px;
box-shadow: 0px 4px 4px 0px #00000040;
}
#hr_activity_history_append_area tbody tr{
#hr_activity_history_append_area tbody tr {
background-color: white !important;
}
</style>
@ -311,78 +273,94 @@ body {
<div class="card-body">
<div class="row" style="padding-bottom: 10px;">
<div class="col-6" style="align-self: center;">
<h4 style="position: relative;">Client Onboarding <?php if(isset($client)) {echo ' - ' . $client['client_name']; } ?></h4>
<h4 style="position: relative;">Client Onboarding <?php if (isset($client)) {
echo ' - ' . $client['client_name'];
} ?></h4>
</div>
<div class="col-6" style="text-align: right;">
<a href="<?= base_url("client/list"); ?>"><i class="mdi mdi-arrow-left" style="font-size: 17px;"></i></a>
</div>
</div>
<br>
<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">General</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="mdi mdi-file"></i></span>
<span class="d-none d-sm-inline-block">KYC Docs</span>
</a>
</li>
<li class="nav-item">
<a href="#RM-tab" data-toggle="tab" aria-expanded="true" class="nav-link px-3 py-2" id="RM_tab">
<span class="mr-1"><i class="mdi mdi-account-switch"></i></span>
<span class="d-none d-sm-inline-block"> Relationship Manager</span>
</a>
</li>
<li class="nav-item">
<a href="#branch-tab" data-toggle="tab" aria-expanded="false" class="nav-link px-3 py-2" id="branch_tab">
<span class="mr-1"><i class="mdi mdi-source-branch"></i></span>
<span class="d-none d-sm-inline-block">Branch & Contacts</span>
</a>
</li>
<li class="nav-item">
<a href="#notification-tab" data-toggle="tab" aria-expanded="false" class="nav-link px-3 py-2" id="notification_tab">
<span class="mr-1"><i class="mdi mdi-bell"></i></span>
<span class="d-none d-sm-inline-block">Notifications</span>
</a>
</li>
<li class="nav-item">
<a href="#police-tab" data-toggle="tab" aria-expanded="false" class="nav-link px-3 py-2" id="policy_tab">
<span class="mr-1"><i class="mdi mdi-book-open-page-variant"></i></span>
<span class="d-none d-sm-inline-block">Policies</span>
</a>
</li>
<li class="nav-item">
<a href="#hr-access-tab" data-toggle="tab" aria-expanded="false" class="nav-link px-3 py-2" id="hr_access_tab" onclick="appendHrAccessControllHtml(this)">
<span class="mr-1"><i class="mdi mdi-book-open-page-variant"></i></span>
<span class="d-none d-sm-inline-block">HR Access Control</span>
</a>
</li>
<li class="nav-item">
<a href="#hr-activity-tab" data-toggle="tab" aria-expanded="false" class="nav-link px-3 py-2" id="hr_activity_tab" onclick="appendHrActivityHistoryHtml(this)">
<span class="mr-1"><i class="mdi mdi-book-open-page-variant"></i></span>
<span class="d-none d-sm-inline-block">HR Activity</span>
</a>
</li>
<!-- <li class="nav-item">
<a href="#api-tab" data-toggle="tab" aria-expanded="false" class="nav-link px-3 py-2" id="api_tab">
<span class="mdi mdi-api"></span>
<span class="d-none d-sm-inline-block">API</span>
</a>
</li> -->
<!-- <li class="nav-item">
<a href="#others-tab" data-toggle="tab" aria-expanded="false" class="nav-link px-3 py-2" id="others_tab">
<span class="mr-1"><i class="mdi mdi-tag-text-outline"></i></span>
<span class="d-none d-sm-inline-block">Others</span>
</a>
</li> -->
</ul>
<div class="tab-wrapper position-relative">
<!-- Left Arrow -->
<ul class="nav nav-pills navtab-bg" id="myTab">
<li class="nav-item ">
<button class="scroll-btn left-btn" type="button">&#9664;</button>
</li>
<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">General</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="mdi mdi-file"></i></span>
<span class="d-none d-sm-inline-block">KYC Docs</span>
</a>
</li>
<li class="nav-item">
<a href="#RM-tab" data-toggle="tab" aria-expanded="true" class="nav-link px-3 py-2" id="RM_tab">
<span class="mr-1"><i class="mdi mdi-account-switch"></i></span>
<span class="d-none d-sm-inline-block"> Relationship Manager</span>
</a>
</li>
<li class="nav-item">
<a href="#branch-tab" data-toggle="tab" aria-expanded="false" class="nav-link px-3 py-2" id="branch_tab">
<span class="mr-1"><i class="mdi mdi-source-branch"></i></span>
<span class="d-none d-sm-inline-block">Branch & Contacts</span>
</a>
</li>
<li class="nav-item">
<a href="#notification-tab" data-toggle="tab" aria-expanded="false" class="nav-link px-3 py-2" id="notification_tab">
<span class="mr-1"><i class="mdi mdi-bell"></i></span>
<span class="d-none d-sm-inline-block">Notifications</span>
</a>
</li>
<li class="nav-item">
<a href="#police-tab" data-toggle="tab" aria-expanded="false" class="nav-link px-3 py-2" id="policy_tab">
<span class="mr-1"><i class="mdi mdi-book-open-page-variant"></i></span>
<span class="d-none d-sm-inline-block">Policies</span>
</a>
</li>
<li class="nav-item">
<a href="#hr-access-tab" data-toggle="tab" aria-expanded="false" class="nav-link px-3 py-2" id="hr_access_tab" onclick="appendHrAccessControllHtml(this)">
<span class="mr-1"><i class="mdi mdi-book-open-page-variant"></i></span>
<span class="d-none d-sm-inline-block">HR Access Control</span>
</a>
</li>
<li class="nav-item">
<a href="#hr-activity-tab" data-toggle="tab" aria-expanded="false" class="nav-link px-3 py-2" id="hr_activity_tab" onclick="appendHrActivityHistoryHtml(this)">
<span class="mr-1"><i class="mdi mdi-book-open-page-variant"></i></span>
<span class="d-none d-sm-inline-block">HR Activity</span>
</a>
</li>
<!-- <li class="nav-item">
<a href="#api-tab" data-toggle="tab" aria-expanded="false" class="nav-link px-3 py-2" id="api_tab">
<span class="mdi mdi-api"></span>
<span class="d-none d-sm-inline-block">API</span>
</a>
</li> -->
<!-- <li class="nav-item">
<a href="#others-tab" data-toggle="tab" aria-expanded="false" class="nav-link px-3 py-2" id="others_tab">
<span class="mr-1"><i class="mdi mdi-tag-text-outline"></i></span>
<span class="d-none d-sm-inline-block">Others</span>
</a>
</li> -->
<li class="nav-item">
<button class="scroll-btn right-btn" type="button">&#9654;</button>
</li>
</ul>
</div>
<div class="tab-content">
<div class="tab-pane fade" id="hr-access-tab">
@ -408,7 +386,8 @@ body {
</div>
<?php include("client_api.php"); ?>
<?php // include('client_others_tab.php'); ?>
<?php // include('client_others_tab.php');
?>
<?php include('notification.php'); ?>
<?php include('client_basic_info.php'); ?>
<?php include('client_kyc.php'); ?>
@ -422,81 +401,141 @@ body {
</div>
<script>
<div class="modal fade" id="autoFetchBranchModal" tabindex="-1" role="dialog" aria-labelledby="autoFetchBranchModalLabel" accesskey=""
aria-hidden="true">
<div class="modal-dialog modal-dialog-centered" style="margin-left: 400px !important;">
<div class="modal-content modal-lg">
<div class="modal-header">
<h5 class="modal-title" id="autoFetchBranchModalLabel">Auto Fetch Branch Details</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>
<div class="modal-body" style="min-height:auto !important;">
<div class="row">
<div class="col-md-6">
<div class="form-group col-md-12">
<label for="auto_fetch_client">Client List<span class="text-danger">*</span></label>
<select class="form-control" id="auto_fetch_client" name="auto_fetch_client" required>
<option value="">Select Client</option>
<?php if (!empty($auto_fetch_client_list)): ?>
<?php foreach ($auto_fetch_client_list as $client_list): ?>
<option value="<?= esc($client_list['id']) ?>">
<?= esc($client_list['client_name']) ?>
</option>
<?php endforeach; ?>
<?php endif; ?>
</select>
</div>
</div>
<div class="col-md-6">
<div class="form-group col-md-12">
<label for="auto_fetch_branch">Branch List<span class="text-danger">*</span></label>
<select class="form-control" id="auto_fetch_branch" name="auto_fetch_branch" required>
<option value="">Select Branch</option>
</select>
</div>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn cancel-btn" data-dismiss="modal">Cancel</button>
<button type="button" class="btn btn-primary submit-btn" id="submitAutoFetch">Submit</button>
</div>
</div>
</div>
</div>
</div>
<script>
let hrAccessControlHtmlAppended = false;
let hrActivityHistoryHtmlAppended = false;
function client_kyc_docs() {
var check_client_id = $('#general_PrimaryKey');
if(check_client_id[0].value == '' || check_client_id[0].value == null || check_client_id[0].value == 0){
if (check_client_id[0].value == '' || check_client_id[0].value == null || check_client_id[0].value == 0) {
$('#btnBranchAdd').hide();
toastr.warning('Please Add the Client!', 'warning',{timeOut: 2000});
}else{
toastr.warning('Please Add the Client!', 'warning', {
timeOut: 2000
});
} else {
if ($('#btnBranchBack')[0].style.display == 'none') {
$('#btnBranchAdd').show();
}
}
}
function client_relationship_manager() {
var check_client_id = $('#general_PrimaryKey');
if(check_client_id[0].value == '' || check_client_id[0].value == null || check_client_id[0].value == 0){
if (check_client_id[0].value == '' || check_client_id[0].value == null || check_client_id[0].value == 0) {
$('#relation_form').hide();
toastr.warning('Please Add the Client!', 'warning',{timeOut: 2000});
}else{
toastr.warning('Please Add the Client!', 'warning', {
timeOut: 2000
});
} else {
$('#relation_form').show();
}
}
function client_policies() {
var check_client_id = $('#general_PrimaryKey').val();
if(check_client_id == '' || check_client_id == null || check_client_id == 0){
if (check_client_id == '' || check_client_id == null || check_client_id == 0) {
$('#BtnAdd').hide();
toastr.warning('Please Add the Client!', 'warning',{timeOut: 2000});
}else{
toastr.warning('Please Add the Client!', 'warning', {
timeOut: 2000
});
} else {
if ($('#btnPolicyBack')[0].style.display == 'none') {
$('#BtnAdd').show();
}
}
}
function client_branch_contact() {
var check_client_id = $('#general_PrimaryKey');
if(check_client_id[0].value == '' || check_client_id[0].value == null || check_client_id[0].value == 0){
if (check_client_id[0].value == '' || check_client_id[0].value == null || check_client_id[0].value == 0) {
$('#btnBranchAdd').hide();
toastr.warning('Please Add the Client!', 'warning',{timeOut: 2000});
}else{
toastr.warning('Please Add the Client!', 'warning', {
timeOut: 2000
});
} else {
if ($('#btnBranchBack')[0].style.display == 'none') {
$('#btnBranchAdd').show();
}
}
}
function client_notification() {
var check_client_id = $('#general_PrimaryKey');
if(check_client_id[0].value == '' || check_client_id[0].value == null || check_client_id[0].value == 0){
if (check_client_id[0].value == '' || check_client_id[0].value == null || check_client_id[0].value == 0) {
$('#notification-tab').hide();
toastr.warning('Please Add the Client!', 'warning',{timeOut: 2000});
}else{
toastr.warning('Please Add the Client!', 'warning', {
timeOut: 2000
});
} else {
if ($('#notification-tab')[0].style.display == 'none') {
$('#notification-tab').show();
}
}
}
document.getElementById("kyc_tab").addEventListener("click", function(event) {
@ -513,7 +552,7 @@ body {
event.preventDefault();
client_policies();
});
document.getElementById("branch_tab").addEventListener("click", function(event) {
event.preventDefault();
client_branch_contact();
@ -525,15 +564,17 @@ body {
});
//HR Access Controll
function appendHrAccessControllHtml(input){
function appendHrAccessControllHtml(input) {
console.log(input.id);
let client_id = $('#general_PrimaryKey').val();
console.log('client_id ', client_id);
let url = '<?= base_url('util/viewHrAccessData') ?>';
let requestData = {client_id : client_id};
let requestData = {
client_id: client_id
};
if(hrAccessControlHtmlAppended == false){
if (hrAccessControlHtmlAppended == false) {
sendAjaxRequestForGlobal(url, 'GET', requestData, function(response) {
console.log('Data fetched successfully:', response);
@ -550,13 +591,13 @@ body {
console.error(xhr.responseText);
hrAccessControlHtmlAppended = false;
});
}else{
} else {
console.log('Already HTML appended');
}
}
//HR Activity History
function appendHrActivityHistoryHtml(input, submit = false){
function appendHrActivityHistoryHtml(input, submit = false) {
console.log(input.id);
let client_id = $('#general_PrimaryKey').val();
let startDate = $('#startDate').val();
@ -565,14 +606,18 @@ body {
console.log('startDate ', startDate);
console.log('endDate ', endDate);
if(submit){
hrActivityHistoryHtmlAppended = false;
if (submit) {
hrActivityHistoryHtmlAppended = false;
}
let url = '<?= base_url('user/getUserActivityHistory') ?>';
let requestData = {client_id : client_id, startDate : startDate, endDate : endDate};
let requestData = {
client_id: client_id,
startDate: startDate,
endDate: endDate
};
if(hrActivityHistoryHtmlAppended == false){
if (hrActivityHistoryHtmlAppended == false) {
sendAjaxRequestForGlobal(url, 'GET', requestData, function(response) {
console.log('Data fetched successfully:', response);
@ -589,20 +634,18 @@ body {
console.error(xhr.responseText);
hrActivityHistoryHtmlAppended = false;
});
}else{
} else {
console.log('Already HTML appended');
}
}
</script>
<script>
function toggleAccordion(header) {
if (event.target.classList.contains('fa-info-circle') ||
event.target.parentElement.classList.contains('fa-info-circle')) {
if (event.target.classList.contains('fa-info-circle') ||
event.target.parentElement.classList.contains('fa-info-circle')) {
getHrActivityHistory();
return; // Do nothing if click was on the info icon
return; // Do nothing if click was on the info icon
}
const card = header.parentElement;
const content = card.querySelector('.card-content');
@ -650,9 +693,8 @@ body {
return Array.from(checkboxes).map(cb => parseInt(cb.value));
}
function getHrActivityHistory()
{
console.log(event.target.dataset.id);//return;
function getHrActivityHistory() {
console.log(event.target.dataset.id); //return;
let ids = event.target.dataset.id.split('-');
console.log('ids', ids)
let client_id = $('#general_PrimaryKey').val();
@ -661,7 +703,12 @@ body {
console.log(url);
let user_type = "hr";
let requestData = {user_id : ids[1], pre_hr_id : ids[0], user_type : user_type, client_id : client_id};
let requestData = {
user_id: ids[1],
pre_hr_id: ids[0],
user_type: user_type,
client_id: client_id
};
console.log('requestData', requestData);
sendAjaxRequestForGlobal(url, 'GET', requestData, function(response) {
@ -703,7 +750,10 @@ body {
allowed_pre_policies: getCheckedValues(`${userId}_pre_policies`),
allowed_active_policies: getCheckedValues(`${userId}_active_policies`),
allowed_cd: getCheckedValues(`${userId}_cd`),
allowed_claims: getCheckedValues(`${userId}_claims`)
allowed_claims: getCheckedValues(`${userId}_claims`),
pre_branch_id: formData.get(`${userId}_pre_branch_id`),
post_branch_id: formData.get(`${userId}_post_branch_id`),
pre_client_id: formData.get(`${userId}_pre_client_id`)
};
users.push(user);
@ -721,7 +771,10 @@ body {
allowed_pre_policies: user.allowed_pre_policies.length ? `[${user.allowed_pre_policies.join(',')}]` : '[]',
allowed_active_policies: user.allowed_active_policies.length ? `[${user.allowed_active_policies.join(',')}]` : '[]',
allowed_cd: user.allowed_cd.length ? `[${user.allowed_cd.join(',')}]` : '[]',
allowed_claims: user.allowed_claims.length ? `[${user.allowed_claims.join(',')}]` : '[]'
allowed_claims: user.allowed_claims.length ? `[${user.allowed_claims.join(',')}]` : '[]',
pre_client_id: user.pre_client_id || "",
pre_branch_id: user.pre_branch_id || "",
post_branch_id: user.post_branch_id || ""
};
});
@ -745,7 +798,10 @@ body {
console.log(output);
let url = '<?= base_url('util/saveHrAccessData') ?>';
let requestData = {json : output, client_id : client_id};
let requestData = {
json: output,
client_id: client_id
};
sendAjaxRequestForGlobal(url, 'POST', requestData, function(response) {
console.log('Data fetched successfully:', response);
@ -771,15 +827,15 @@ body {
return Array.from(checkboxes).map(cb => cb.value);
}
$(document).on('change', '.select-all', function () {
$(document).on('change', '.select-all', function() {
let $this = $(this);
let type = $this.data('type');
let user = $this.data('user');
let group = $this.data('group');
console.log('--- SELECT-ALL CHANGED ---');
console.log('Type:', type); // all / active / inactive
console.log('User:', user); // user index
console.log('Type:', type); // all / active / inactive
console.log('User:', user); // user index
console.log('Group:', group); // pre / post
// Step 1: Uncheck other "select-all" checkboxes in the same user/group
@ -972,19 +1028,131 @@ body {
// console.log('--- END ---');
// });
</script>
<script>
$('#btnAutoBranchFetch').click(function() {
var myModal = new bootstrap.Modal(document.getElementById('autoFetchBranchModal'));
myModal.show();
})
</script>
<script>
$(document).ready(function(){
$('#client_add .nav-link').click(function(){
$('#auto_fetch_client').change(function() {
// change bg color of tab
$('#client_add .nav-link').removeClass('active-tab');
$(this).addClass('active-tab');
$('#auto_fetch_branch').html(`<option value="">Select Branch</option>`);
$.ajax({
url: "<?php echo base_url('client/branch/auto_fetch_branch'); ?>",
type: "POST",
data: {
client_id: $('#auto_fetch_client').val()
},
dataType: "json",
success: function(response, textStatus, xhr) {
if (xhr.status === 200) {
let options = `<option value="">Select Branch</option>`;
response.data.forEach((data) => {
options += `<option value="${data.id}">${data.branch_name}</option>`;
});
$('#auto_fetch_branch').html(options);
} else {
$('#auto_fetch_branch').html('<option value="">No Branch Found</option>');
}
},
error: function(xhr, status, error) {
console.error("Error occurred:", status, error);
},
complete: function() {
console.log("auto_fetch_client call is completed..!!");
}
});
});
});
</script>
<script>
$('#submitAutoFetch').click(function() {
let client_id = $('#auto_fetch_client').val();
let branch_id = $('#auto_fetch_branch').val();
if (client_id == "" || branch_id == "") {
Swal.fire({
icon: 'warning',
title: 'Missing Data',
text: 'Please select both Client and its Branch!',
confirmButtonText: 'OK'
});
return;
}
$.ajax({
url: "<?php echo base_url('client/branch/auto_fetch_branch_details'); ?>",
type: "POST",
data: {
client_id,
branch_id
},
dataType: "json",
success: function(response, textStatus, xhr) {
if (xhr.status === 200) {
let result = response.data[0]??[];
if(response.data[0] == []){
console.log("Empty array ..!!!");
return;
}
let units = JSON.parse(result['units']);
let $select = $('#selected');
$select.empty();
units.forEach(unit => {
// If you want to mark them as selected, set 'selected' attribute
$select.append(`<option value="${unit}" selected>${unit}</option>`);
});
$('#pre_branch_id').val(branch_id);
$('#branch_name').val(result['branch_name']??'');
$('#branch_code').val(result['branch_code']??'');
$('#address1').val(result['address1']??'');
$('#address2').val(result['address2']??'');
$('#state').val(result['state']??'');
$('#district').val(result['district']??'');
$('#branch_city').val(result['city']??'');
$('#pincode').val(result['pincode']??'');
$('#gst').val(result['gst']??'');
$('#sez').val(result['sez']??'');
} else {
console.log("User Error thrown");
console.log("status" + xhr.status);
}
closeModalById('autoFetchBranchModal');
},
error: function(xhr, status, error) {
console.error("Error occurred:", status, error);
},
complete: function() {
console.log("auto_fetch_branch_details call is completed..!!");
}
})
})
</script>

View File

@ -1,90 +1,101 @@
<style>
.col-12 {
.col-12 {
max-width: 98% !important;
}
.autocomplete-suggestions {
border: 1px solid #d4d4d4;
max-height: 150px;
overflow-y: auto;
position: absolute;
background-color: white;
width: inherit;
z-index: 1;
max-width: 98% !important;
}
.autocomplete-suggestions {
border: 1px solid #d4d4d4;
max-height: 150px;
overflow-y: auto;
position: absolute;
background-color: white;
width: inherit;
z-index: 1;
}
.autocomplete-suggestion {
padding: 8px;
cursor: pointer;
}
.autocomplete-suggestion:hover {
background-color: #e9e9e9;
padding: 8px;
cursor: pointer;
}
.autocomplete-suggestion:hover {
background-color: #e9e9e9;
}
</style>
<div class="row">
<div class="col-12" style="margin-top: -12px;">
<div id="accordion" class="mb-3">
<div class="card mb-1">
<h5 class="m-1">
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseOne"
aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</h5>
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion">
<div class="card-body">
<div class="form-group">
<form method="post" action="<?= base_url("/dmsSearch");?>" id='dms_search_form'>
<div class="form-row">
<div class="card-body">
<div id="accordion" class="mb-3">
<div class="card mb-1">
<h4 class="m-1">
<span>Filter</span>
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseOne"
aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</h4>
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion">
<div class="card-body" style="margin-top: 0px;">
<div class="form-group">
<form method="post" action="<?= base_url("/dmsSearch"); ?>" id='dms_search_form'>
<div class="form-row">
<div class="form-group col-md-2">
<label for="customer">Customer</label>
<!-- <div style="position:relative;"> -->
<input type="text" class="form-control" id="customer" placeholder="Enter customer name">
<input type="hidden" name="customer_id" class="form-control" id="customer_id" placeholder="Enter customer name">
<div id="customer_suggestions" class="autocomplete-suggestions" style="display:none;"></div>
<!-- </div> -->
</div>
<div class="form-group col-md-4">
<label for="customer">Customer</label>
<!-- <div style="position:relative;"> -->
<input type="text" class="form-control" id="customer" placeholder="Enter customer name">
<input type="hidden" name="customer_id" class="form-control" id="customer_id" placeholder="Enter customer name">
<div id="customer_suggestions" class="autocomplete-suggestions" style="display:none;"></div>
<!-- </div> -->
</div>
<div class="form-group col-md-2">
<label for="customer">Customer document name</label>
<!-- <div style="position:relative;"> -->
<input type="text" name="cus_doc_name" class="form-control" id="cus_doc_name" placeholder="Enter customer doc name ">
<!-- </div> -->
</div>
<div class="form-group col-md-1" style="text-align: center;">
OR
</div>
<div class="form-group col-md-3">
<label for="customer">Policy</label>
<!-- <div style="position:relative;"> -->
<input type="text" class="form-control" id="policy" placeholder="Enter policy no">
<input type="hidden" name="policy_id" class="form-control" id="policy_id" placeholder="Enter policy no">
<div id="policy_suggestions" class="autocomplete-suggestions" style="display:none;"></div>
<!-- </div> -->
</div>
<div class="form-group col-md-4">
<label for="customer">Customer document name</label>
<!-- <div style="position:relative;"> -->
<input type="text" name="cus_doc_name" class="form-control" id="cus_doc_name" placeholder="Enter customer doc name ">
<!-- </div> -->
</div>
<div class="form-group col-md-4"></div>
<div class="form-group col-md-3">
<label for="customer">Policy document name</label>
<!-- <div style="position:relative;"> -->
<input type="text" name="policy_doc_name" class="form-control" id="policy_doc_name" placeholder="Enter policy doc name ">
<!-- </div> -->
</div>
<div class="form-group col-md-8" style="text-align: center; font-size: small;">
OR
</div>
<div class="form-group col-md-4"></div>
<div class="form-group col-md-4">
<label for="customer">Policy</label>
<!-- <div style="position:relative;"> -->
<input type="text" class="form-control" id="policy" placeholder="Enter policy no">
<input type="hidden" name="policy_id" class="form-control" id="policy_id" placeholder="Enter policy no">
<div id="policy_suggestions" class="autocomplete-suggestions" style="display:none;"></div>
<!-- </div> -->
</div>
<div class="form-group col-md-4">
<label for="customer">Policy document name</label>
<!-- <div style="position:relative;"> -->
<input type="text" name="policy_doc_name" class="form-control" id="policy_doc_name" placeholder="Enter policy doc name ">
<!-- </div> -->
</div>
<div class="form-group col-md-4 d-flex justify-content-end align-items-end">
<button type="button" class="btn app-btn-outline-secondary mr-2" id="clear-filters">Clear</button>
<button type="submit" class="btn btn-primary waves-effect waves-light mr-1" id="get-emp-list" onclick="fetchFileList(event);">Submit</button>
<!-- <input type="submit" class="btn btn-primary waves-effect waves-light mr-1" id="get-emp-list" onclick="fetchFileList(event);" value="submit"> -->
</div>
</div>
</form>
</div>
<div class="form-group text-right m-b-0">
<button type="button" class="btn btn-secondary" id="clear-filters">Clear</button>
<input type="submit" class="btn btn-primary waves-effect waves-light" id="get-emp-list" onclick="fetchFileList(event);" value="submit">
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
@ -94,7 +105,8 @@
<div class="card-body">
<div class="row" style="padding-bottom: 10px;">
<div class="col-6" style="align-self: center;">
<h4 style="position: relative;">File search result</h4>
<h4 style="position: relative;">Files</h4>
<!-- <h4 style="position: relative;">File search result</h4> -->
</div>
</div>
@ -102,17 +114,17 @@
<table data-custom-table-css="table" id="scroll-horizontal-datatable" class="table w-100">
<thead class="bg-light">
<tr>
<th>S.No</th>
<th>Doc name</th>
<th>File name</th>
<th>Action</th>
<th>S.No&nbsp;</th>
<th>Doc name&nbsp;</th>
<th>File name&nbsp;</th>
<th>Action&nbsp;</th>
</tr>
</thead>
<tbody>
<?php if (isset($files)) { ?>
<?php foreach($files as $index => $row){ ?>
<tr>
<td><?= $index + 1 ?></td>
<td class="text-center"><?= $index + 1 ?></td>
<td><?php echo $row['doc_name']; ?></td>
<td><?php echo $row['file_name']; ?></td>
<td>
@ -125,11 +137,13 @@
</a>
</td>
</tr>
</tr>
<?php } ?>
<?php } ?>
<?php } ?>
</tbody>
</table>
</tbody>
</table>
<div>
</div>
@ -140,106 +154,124 @@
<script>
$(document).ready(function() {
// $('#client_id').select2();
// $('#insurer_id').select2();
// $('#policy_type_id').select2();
const customer_suggestions = <?php echo json_encode($customers); ?>;
const policy_suggestions = <?php echo json_encode($policies); ?>;
showSuggestions('customer','customer_suggestions','customer_id',customer_suggestions);
showSuggestions('policy','policy_suggestions','policy_id',policy_suggestions);
$(document).ready(function() {
// $('#client_id').select2();
// $('#insurer_id').select2();
// $('#policy_type_id').select2();
const customer_suggestions = <?php echo json_encode($customers); ?>;
const policy_suggestions = <?php echo json_encode($policies); ?>;
showSuggestions('customer', 'customer_suggestions', 'customer_id', customer_suggestions);
showSuggestions('policy', 'policy_suggestions', 'policy_id', policy_suggestions);
})
})
// Datatable document ready
$(document).ready(function() {
// Datatable document ready
$(document).ready(function() {
var ticketsTable = $('#scroll-horizontal-datatable');
var ticketsTable = $('#scroll-horizontal-datatable');
if (ticketsTable.length) {
ticketsTable.DataTable({
scrollX: true,
language: {
search: "_INPUT_",
searchPlaceholder: "Search..."
},
paging: true, // Enable pagination
pageLength: 25, // Set default number of rows per page (optional)
});
} else {
console.error("Table not found.");
}
});
function showSuggestions(inputID, suggestionBoxID,hiddenInputID,suggestions) {
// console.log('showSuggestions');
// console.log(suggestions);return;
const input = document.getElementById(inputID);
const suggestionBox = document.getElementById(suggestionBoxID);
const hiddenInput = document.getElementById(hiddenInputID);
input.addEventListener('input', function() {
const value = this.value.toLowerCase();
suggestionBox.innerHTML = ''; // Clear previous suggestions
if (value) {
const filteredSuggestions = suggestions.filter(item =>
item.display_value.toLowerCase().includes(value)
);
// console.log(filteredSuggestions);
filteredSuggestions.forEach(suggestion => {
const suggestionItem = document.createElement('div');
suggestionItem.textContent = suggestion.display_value;
suggestionItem.classList.add('autocomplete-suggestion');
suggestionItem.addEventListener('click', function() {
input.value = suggestion.display_value; // Display value in input
hiddenInput.value = suggestion.id; // Store id in hidden input
suggestionBox.innerHTML = ''; // Clear suggestions after selecting
suggestionBox.style.display = 'none';
});
suggestionBox.appendChild(suggestionItem);
suggestionBox.style.display = 'block';
if (ticketsTable.length) {
ticketsTable.DataTable({
scrollX: true,
dom: "<'row'<'col-sm-2'f><'col-sm-10 text-right'B>>" +
"<'row'<'col-sm-12'tr>>" +
"<'row'<'col-sm-5'i><'col-sm-7'p>>",
buttons: [{
extend: 'collection',
text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary ',
buttons: [{
extend: 'csv',
text: '<i class="mdi mdi-file-delimited " ></i><span class=" btn-custom"> CSV </span>',
className: 'app-btn-primary ',
},
{
extend: 'excel',
text: '<i class="mdi mdi-file-excel " ></i><span class=" btn-custom"> EXCEL </span>',
exportOptions: {
orthogonal: 'sort'
},
className: 'app-btn-primary ',
}
]
}],
paging: true,
pageLength: 10,
order: [
[0, 'desc']
]
});
} else {
console.error("Table not found.");
}
});
}
function showSuggestions(inputID, suggestionBoxID, hiddenInputID, suggestions) {
function fetchFileList(event)
{
event.preventDefault();
// console.log('showSuggestions');
// console.log(suggestions);return;
const input = document.getElementById(inputID);
const suggestionBox = document.getElementById(suggestionBoxID);
const hiddenInput = document.getElementById(hiddenInputID);
var customer = document.getElementById('customer').value;
var customer_id = document.getElementById('customer_id').value;
var policy = document.getElementById('policy').value;
var policy_id = document.getElementById('policy_id').value;
var cus_doc_name = document.getElementById('cus_doc_name').value;
var policy_doc_name = document.getElementById('policy_doc_name').value;
input.addEventListener('input', function() {
const value = this.value.toLowerCase();
suggestionBox.innerHTML = ''; // Clear previous suggestions
if(customer == '' && cus_doc_name != '')
{
alert('choose customer');return false;
if (value) {
const filteredSuggestions = suggestions.filter(item =>
item.display_value.toLowerCase().includes(value)
);
// console.log(filteredSuggestions);
filteredSuggestions.forEach(suggestion => {
const suggestionItem = document.createElement('div');
suggestionItem.textContent = suggestion.display_value;
suggestionItem.classList.add('autocomplete-suggestion');
suggestionItem.addEventListener('click', function() {
input.value = suggestion.display_value; // Display value in input
hiddenInput.value = suggestion.id; // Store id in hidden input
suggestionBox.innerHTML = ''; // Clear suggestions after selecting
suggestionBox.style.display = 'none';
});
suggestionBox.appendChild(suggestionItem);
suggestionBox.style.display = 'block';
});
}
});
}
if(policy == '' && policy_doc_name != '')
{
alert('choose policy');return false;
function fetchFileList(event) {
event.preventDefault();
var customer = document.getElementById('customer').value;
var customer_id = document.getElementById('customer_id').value;
var policy = document.getElementById('policy').value;
var policy_id = document.getElementById('policy_id').value;
var cus_doc_name = document.getElementById('cus_doc_name').value;
var policy_doc_name = document.getElementById('policy_doc_name').value;
if (policy == '' && customer == '') {
alert('choose customer or policy');
return false;
}
if (customer == '' && cus_doc_name != '') {
alert('choose customer');
return false;
}
if (policy == '' && policy_doc_name != '') {
alert('choose policy');
return false;
}
console.log('called');
let customEvent = new CustomEvent('fetchFileListCustomEvent');
$('#dms_search_form').submit();
}
if(policy == '' && customer == '')
{
alert('choose customer or policy');return false;
}
console.log('called');
let customEvent = new CustomEvent('fetchFileListCustomEvent');
$('#dms_search_form').submit();
}
</script>

View File

@ -36,7 +36,8 @@
</div>
</div>
<div id="file_table" class="card">
<div id="collapseOne">
<div id="file_table" class="card">
<div class="card-body">
<div class="row" style="padding-bottom: 10px;">
<div class="col-6" style="align-self: center;">
@ -45,13 +46,13 @@
</div>
<div class="table-responsive" style="overflow-x: auto;">
<table data-custom-table-css="table" id="scroll-horizontal-datatable" class="table w-100 nowrap">
<table data-custom-table-css="second-table" id="scroll-horizontal-datatable" class="table w-100 nowrap">
<thead class="bg-light">
<tr>
<th>S.No</th>
<th>Docs Name</th>
<th>File Name</th>
<th>Action</th>
<th>S.No&nbsp;</th>
<th>Docs Name&nbsp;</th>
<th>File Name&nbsp;</th>
<th>Action&nbsp;</th>
</tr>
</thead>
<tbody id="table_bd">
@ -62,6 +63,7 @@
</div>
</div><!-- end col -->
</div>
</div>
</div>

View File

@ -92,33 +92,33 @@
<table data-custom-table-css="table" class="table table-striped mb-0 nowrap" cellspacing="0" id="tickets-table">
<thead class="bg-light">
<tr>
<th class="font-weight-medium">SNO</th>
<th class="font-weight-medium">S.No&nbsp;</th>
<?php if (isset($getData)) {
if ($getData['client_id'] == '0' && $getData['policy_id'] == '0' && $getData['branch_id'] == '0' && ($getData['emp_code'] != "" || $getData['emp_name'] != "" || $getData['status'] != "")) { ?>
<th class="font-weight-medium">Client/Branch</th>
<th class="font-weight-medium">Client/Branch&nbsp;</th>
<?php }
if ($getData['client_id'] != '0' && $getData['branch_id'] == '0') { ?>
<th class="font-weight-medium">Branch</th>
<th class="font-weight-medium">Branch&nbsp;</th>
<?php } } ?>
<th class="font-weight-medium">Name</th>
<th class="font-weight-medium">EMP Code</th>
<th class="font-weight-medium">Relationship</th>
<th class="font-weight-medium">Gender</th>
<th class="font-weight-medium">Email</th>
<th class="font-weight-medium">Mobile</th>
<th class="font-weight-medium">Date of Birth</th>
<th class="font-weight-medium">Policy name</th>
<th class="font-weight-medium">Insurer name</th>
<th class="font-weight-medium">TPA ID</th>
<th class="font-weight-medium">Risk ID</th>
<th class="font-weight-medium">Policy status</th>
<th class="font-weight-medium">()Sum Insured</th>
<th class="font-weight-medium">()Premium</th>
<th class="font-weight-medium" id="rata_premium" data-toggle="tooltip" data-placement="top">()Pro Rata <br> Premium</th>
<th class="font-weight-medium" id="gst" data-toggle="tooltip" data-placement="top">()GST</th>
<th class="font-weight-medium" > Action </th>
<th class="font-weight-medium">Name&nbsp;</th>
<th class="font-weight-medium">EMP Code&nbsp;</th>
<th class="font-weight-medium">Relationship&nbsp;</th>
<th class="font-weight-medium">Gender&nbsp;</th>
<th class="font-weight-medium">Email&nbsp;</th>
<th class="font-weight-medium">Mobile&nbsp;</th>
<th class="font-weight-medium">Date of Birth&nbsp;</th>
<th class="font-weight-medium">Policy name&nbsp;</th>
<th class="font-weight-medium">Insurer name&nbsp;</th>
<th class="font-weight-medium">TPA ID&nbsp;</th>
<th class="font-weight-medium">Risk ID&nbsp;</th>
<th class="font-weight-medium">Policy status&nbsp;</th>
<th class="font-weight-medium">()Sum Insured&nbsp;</th>
<th class="font-weight-medium">()Premium&nbsp;</th>
<th class="font-weight-medium" id="rata_premium" data-toggle="tooltip" data-placement="top">()Pro Rata <br> Premium&nbsp;</th>
<th class="font-weight-medium" id="gst" data-toggle="tooltip" data-placement="top">()GST&nbsp;</th>
<th class="font-weight-medium" > Action &nbsp;</th>
</tr>
</thead>
@ -129,7 +129,7 @@
$gst_total = 0;
foreach ($employees as $key => $employee) { ?>
<tr>
<td><b><?php echo ($key + 1); ?></b></td>
<td class="text-center"><b><?php echo ($key + 1); ?></b></td>
<?php if (isset($getData)) {
if ($getData['client_id'] == '0' && $getData['policy_id'] == '0' && $getData['branch_id'] == '0' && ($getData['emp_code'] != "" || $getData['emp_name'] != "" || $getData['status'] != "")) { ?>
@ -343,18 +343,34 @@
dom: "<'row'<'col-sm-6'f><'col-sm-6 text-right'B>>" + // Filter left, buttons right
"<'row'<'col-sm-12'tr>>" +
"<'row'<'col-sm-5'i><'col-sm-7'p>>", // Pagination at the bottom, without page length selector
buttons: [{
extend: 'csv',
text: 'CSV',
title: 'Member-List',
},{
extend: 'excel',
text: 'Excel',
title: 'Member-List',
}],
buttons: [
{
extend: 'collection',
text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary ',
buttons: [
{
extend: 'csv',
text: '<i class="mdi mdi-file-delimited " ></i><span class=" btn-custom"> CSV </span>',
className: 'app-btn-primary ',
title: 'Member-List',
},
{
extend: 'excel',
text: '<i class="mdi mdi-file-excel " ></i><span class=" btn-custom"> EXCEL </span>',
className: 'app-btn-primary ',
title: 'Member-List',
}
]
}
],
language: {
search: "_INPUT_",
searchPlaceholder: "Search..."
search: `
<div class="datatable-search-wrapper">
_INPUT_
<i class="mdi mdi-magnify datatable-search-icon"></i>
</div>`,
searchPlaceholder: "Search"
},
paging: true, // Enable pagination
pageLength: 25 // Set default number of rows per page (optional)

File diff suppressed because it is too large Load Diff

View File

@ -11,12 +11,23 @@ option:disabled {
<div class="col-xl-12">
<div id="accordion1" class="mb-3">
<div class="card mb-1">
<h5 class="m-1">
<h4 class="m-1">
<span>Filters</span>
<a id="toggleIcon1" class="text-dark float-right" data-toggle="collapse" href="#collapseTwo"
aria-expanded="true">
<i id="icon1" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</h5>
</h4>
<!-- <label id="filterAccordion" class="m-1 d-flex justify-content-between align-items-center">
<span class="font-color-black">Filters</span>
<a id="toggleIcon1" class="text-dark float-right" data-toggle="collapse" href="#collapseTwo"
aria-expanded="true">
<i id="icon1" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</label> -->
<div id="collapseTwo" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion1">
<div class="card-body">
<!-- <div class="text-center"> -->
@ -86,7 +97,7 @@ option:disabled {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<button id="emp_form_submit_button" type="submit"
class=" nav-link-btn px-3 py-1 btn btn-primary waves-effect waves-light justify-content-end">Upload</button>
class=" nav-link-btn px-3 py-2 btn btn-primary waves-effect waves-light justify-content-end">Upload</button>
&nbsp;&nbsp;
@ -94,7 +105,7 @@ option:disabled {
&nbsp;&nbsp;
<a class=" nav-link-btn px-3 py-1 btn btn-primary waves-effect waves-light justify-content-end"
<a class=" nav-link-btn px-3 py-2 btn btn-primary waves-effect waves-light justify-content-end"
id="fetch_enrolled_data" data-toggle="modal"
data-target="#full-width-modal" title="Download Sample Excel">Fetch
Enrolled Data</a>

View File

@ -14,66 +14,70 @@
}
</style>
<div class="container-fluid">
<h2>Endorsement</h2>
<div class="container-fluid-min">
<div class="row">
<div class="col-xl-12">
<div id="accordion" class="mb-3">
<div class="card mb-1">
<h5 class="m-1">
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseOne" aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</h5>
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion">
<div class="card-body">
<!-- <div class="text-center"> -->
<div class="form-row">
<div class="form-group col-md-4">
<label>Client</label> <br />
<select class="form-control" id="clients">
<option value="0">Select</option>
</select>
<div class="card-body">
<div id="accordion" class="mb-3">
<div class="card mb-1">
<h4>
Filter
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseOne"
aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</h4>
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion">
<div class="card-body">
<!-- <div class="text-center"> -->
<div class="form-row">
<div class="form-group col-md-4">
<label>Client</label> <br />
<select class="form-control" id="clients">
<option value="0">Select</option>
</select>
</div>
<div class="form-group col-md-4">
<label>Branch</label> <br />
<select name="branch_id" class="form-control" id="branch_id">
<option value="0">Select</option>
</select>
</div>
<div class="form-group col-md-4">
<label>Policy</label> <br />
<select class="form-control" id="policies">
<option value="0">Select</option>
</select>
</div>
<div class="form-group col-md-4">
<label>Status</label> <br />
<select class="form-control" id="status1">
<option value="0">Select</option>
<?php foreach ($status as $key => $value) { ?>
<option value="<?= $key ?>" <?= (isset($getData) && $getData['status'] == $key) ? 'selected' : '' ?>>
<?= $value ?>
</option>
<?php } ?>
</select>
</div>
</div>
<div class="form-group col-md-4">
<label>Branch</label> <br />
<select name="branch_id" class="form-control" id="branch_id">
<option value="0">Select</option>
</select>
<div class="row">
<div class="col-12" style="text-align: right;">
<a href="<?= base_url("employee/endorsement-list"); ?>" class="btn btn-primary waves-effect waves-light" id="get-emp-list" onclick="fetchEmpolyeeList(event);">Submit</a>
</div>
</div>
<div class="form-group col-md-4">
<label>Policy</label> <br />
<select class="form-control" id="policies">
<option value="0">Select</option>
</select>
</div>
<div class="form-group col-md-4">
<label>Status</label> <br />
<select class="form-control" id="status1">
<option value="0">Select</option>
<?php foreach ($status as $key => $value) { ?>
<option value="<?= $key ?>" <?= (isset($getData) && $getData['status'] == $key) ? 'selected' : '' ?>>
<?= $value ?>
</option>
<?php } ?>
</select>
</div>
<!-- </div> -->
</div>
<div class="row">
<div class="col-12" style="text-align: right;">
<a href="<?= base_url("employee/endorsement-list"); ?>" class="btn btn-primary waves-effect waves-light" id="get-emp-list" onclick="fetchEmpolyeeList(event);">Submit</a>
</div>
</div>
<!-- </div> -->
</div>
</div>
</div>
</div>
</div>
</div>
@ -90,7 +94,7 @@
<table data-custom-table-css="table" class="table table-hover m-0 table-centered dt-responsive w-100" cellspacing="0" id="tickets-table">
<thead class="bg-light">
<tr>
<th class="font-weight-medium">SNO</th>
<th class="font-weight-medium">S.No&nbsp;</th>
<th class="font-weight-medium">Name/code</th>
<th class="font-weight-medium">Policy name</th>
<th class="font-weight-medium">Endorsement ID</th>
@ -108,7 +112,7 @@
foreach ($employees as $key => $employee) { ?>
<tr>
<td><b><?php echo ($key + 1) ?></b></td>
<td class="text-center"><b><?php echo ($key + 1) ?></b></td>
<td><?php echo $employee['name'] ?>( <?php echo $employee['emp_code'] ?> )</td>
<!-- <td><?php echo isset($employee['policy_name']) ? $employee['policy_name'] : '' ?> - <?php echo isset($employee['policy_no']) ? $employee['policy_no'] : '' ?> - <?php echo isset($employee['policy_type']) ? $employee['policy_type'] : '' ?></td> -->
<td><?php echo isset($employee['policy_type']) ? $employee['policy_type'] : '' ?> - <?php echo isset($employee['policy_no']) ? $employee['policy_no'] : '' ?></td>
@ -332,7 +336,7 @@
var option = $('<option>', {
value: item.client_policy_id,
// text: `${item.name ?? ''} - ${item.policy_no ?? ''} - ${item.policy_type ?? ''}`
text:`${item.policy_type ?? ''} - ${item.policy_no ?? ''}`
text: `${item.policy_type ?? ''} - ${item.policy_no ?? ''}`
});
if (PolicyID == item.client_policy_id) {
option.attr('selected', true);
@ -386,7 +390,7 @@
toastr.warning('No policies found for the selected client branch.');
} else {
// console.log('foundPolicies', foundPolicies);
appendPolicies(foundPolicies);
}
@ -590,27 +594,54 @@
$(document).ready(function() {
$('#tickets-table').DataTable({
dom: "<'row'<'col-sm-0'f><'col-sm-9 text-right'B>>" +
dom: "<'row'<'col-12 d-flex justify-content-between align-items-center'<'datatable-search dataTables_filter'f><'datatable-buttons dt-buttons'B>>>" +
"<'row'<'col-sm-12'tr>>" +
"<'row'<'col-sm-5'i><'col-sm-7'p>>",
buttons: [{
extend: 'csv',
text: 'CSV',
title: 'Endorsement-List',
className: 'my_class',
exportOptions: {
columns: ':not(:last-child)',
format: {
body: function (data, row, column, node) {
// Convert data to string to avoid scientific notation in CSV
if (!isNaN(data) && parseFloat(data) > 1e20) {
return `'${data}`;
}
return data.toString();// Ensures all data is treated as strings
}
text: '<i class="mdi mdi-plus" ></i><span class=" btn-custom"> Add </span>',
className: 'btn app-btn-primary mr-2',
action: function(e, dt, node, config) {
openTicket();
}
},
{
extend: 'collection',
text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary ',
buttons: [{
extend: 'csv',
text: '<i class="mdi mdi-file-delimited " ></i><span class=" btn-custom"> CSV </span>',
className: 'app-btn-primary ',
},
{
extend: 'excel',
text: '<i class="mdi mdi-file-excel " ></i><span class=" btn-custom"> EXCEL </span>',
exportOptions: {
orthogonal: 'sort'
},
className: 'app-btn-primary ',
}
]
}
}],
],
// buttons: [{
// extend: 'csv',
// text: 'CSV',
// title: 'Endorsement-List',
// className: 'my_class',
// exportOptions: {
// columns: ':not(:last-child)',
// format: {
// body: function (data, row, column, node) {
// // Convert data to string to avoid scientific notation in CSV
// if (!isNaN(data) && parseFloat(data) > 1e20) {
// return `'${data}`;
// }
// return data.toString();// Ensures all data is treated as strings
// }
// }
// }
// }],
initComplete: function(settings, json) {
$('.my_class').css({
"position": "relative",
@ -618,13 +649,19 @@
});
},
language: {
search: "_INPUT_",
searchPlaceholder: "Search..."
search: `
<div class="datatable-search-wrapper">
_INPUT_
<i class="mdi mdi-magnify datatable-search-icon"></i>
</div>`,
searchPlaceholder: "Search"
},
paging: true,
// pagingType: 'full_numbers'
columnDefs: [
{ type: 'scientific', targets: 0 } // Apply custom sorting type to the first column
columnDefs: [{
type: 'scientific',
targets: 0
} // Apply custom sorting type to the first column
],
});

View File

@ -21,7 +21,7 @@
}
#tickets-table_filter {
float: right;
float: right;
}
.click_hover {
@ -31,212 +31,215 @@
box-shadow: 6px 5px 8px 0 #00000036;
cursor: pointer;
}
.click_hover .text-muted{
.click_hover .text-muted {
color: #fff !important;
}
.click_hover span{
.click_hover span {
color: #fff !important;
}
.card {
border-radius: 10px;
}
.row.visa_status_count_view .card-header{
background-color: #F5FFFF;
padding: 25px;
border: 2px solid #fff;
border-radius: 10px;
/* box-shadow: 2px 2px 2px; */
box-shadow: 0px 1px 1px 0px #00000040;
.row.visa_status_count_view .card-header {
background-color: #F5FFFF;
padding: 25px;
border: 2px solid #fff;
border-radius: 10px;
/* box-shadow: 2px 2px 2px; */
box-shadow: 0px 1px 1px 0px #00000040;
}
.row.visa_status_count_view .card-header #categoryFilter_11 a{
.row.visa_status_count_view .card-header #categoryFilter_11 a {
background-color: #D4F5F6 !important;
font-weight:800;
color:#000 !important;
border : 1px solid #D4F5F6 !important;
font-weight: 800;
color: #000 !important;
border: 1px solid #D4F5F6 !important;
border-radius: 15px;
padding : 5px 10px;
padding: 5px 10px;
}
#categoryFilter_12 a ,
#categoryFilter_13 a ,
#categoryFilter_14 a
{
background-color: #00999E;
box-shadow: 0px 2px 4px 0px #00000040;
#categoryFilter_12 a,
#categoryFilter_13 a,
#categoryFilter_14 a {
background-color: #00999E;
box-shadow: 0px 2px 4px 0px #00000040;
}
}
#statusContent{
background-color: #F5FFFF;
border-radius: 10px;
box-shadow: 0px 1px 1px 0px #00000040;
}
#statusContent {
background-color: #F5FFFF;
border-radius: 10px;
box-shadow: 0px 1px 1px 0px #00000040;
}
#statusContent .statusContent-flex{
display:flex;
flex-flow: row wrap;
}
#statusContent .statusContent-flex {
display: flex;
flex-flow: row wrap;
}
.statusContent-flex .my-2{
color:black !important;
}
#statusContent .custom-card{
min-width:300px;
min-height: 50px;
padding:15px;
background-color: white;
color:black;
margin-right:15px;
margin-top :10px;
border-radius: 10px;
box-shadow: 0px 2px 4px 0px #00000024 !important;
}
.statusContent-flex .my-2 {
color: black !important;
}
#statusContent .custom-card {
min-width: 300px;
min-height: 50px;
padding: 15px;
background-color: white;
color: black;
margin-right: 15px;
margin-top: 10px;
border-radius: 10px;
box-shadow: 0px 2px 4px 0px #00000024 !important;
}
</style>
<div class="container-fluid">
<h2>Enrollment</h2>
<div class="row visa_status_count_view">
<div class="col-12">
<div class="card">
<div class="card-header">
<div class="row" >
<div class="col-3">
<div id="categoryFilter" >
<label for="">Client</label>
<select class="form-control" id="clients" onchange="populateBranches()">
<option value="0">Select Client</option>
<?php foreach ($client_list as $client) { ?>
<option value="<?= $client['id'] ?>"><?= $client['client_name'] ?></option>
<?php } ?>
</select>
</div>
</div>
<div class="col-3">
<div id="categoryFilter_11">
<label for="">Branch</label>
<select name="branch_id" class="form-control" id="branch_id" onchange="populatePolicies()">
<option value="0">Select Branch</option>
</select>
</div>
</div>
<div class="col-3">
<div id="categoryFilter_14">
<label for="">Policy</label>
<select name="client_policy_id" class="form-control" id="client_policy_id">
<option value="0">Select Policy</option>
</select>
</div>
</div>
<div class="col-3">
<div id="categoryFilter_11" >
<a class="btn btn-primary waves-effect waves-light"
style="margin-top:30px !important"
onclick="fetchEmpolyeeList(event);"
data-toggle="tooltip" data-placement="top" title="Search"
id="get-emp-list"><i class="mdi mdi-magnify" aria-hidden="true"></i></a>
</div>
</div>
<div class="col-6" style="margin-right: 15px; margin-top:30px; ">
<span id="categoryFilter_12" style="margin-right: 15px;">
<a class="btn btn-primary waves-effect waves-light" onclick="sendManualReminder(this)" data-toggle="tooltip" data-placement="top" title="Send Reminder"><span >Send Remainder</span></a>
</span>
<span id="categoryFilter_13" style="margin-right: 15px;">
<a class="btn btn-primary waves-effect waves-light" onclick="uploadEnrollmentFile(this)" data-toggle="tooltip" data-placement="top" title="Enrollment File Upload"><span >File Upload</span></a>
</span>
<button id="categoryFilter_14" type="button" class="btn btn-link visa_status_button" onclick="toggleContent()" data-toggle="tooltip" data-placement="top" >
<a class="btn btn-primary waves-effect waves-light" data-toggle="tooltip" data-placement="top" title="View Status"><span >View Status</span></a>
</button>
</div>
</div>
</div>
<div class="card-body status-option" id="statusContent" >
<h4>Status</h4>
<div class="text-center">
<div style="margin-left: 60px; margin-top: 0px;">
<div class="statusContent-flex">
<div class="custom-card d-flex justify-content-between" id="emp_count_view_click">
<div>
<span class="text-muted font-weight-normal mt-0 text-truncate my-2" title="Emp Count">Emp Count</span>
</div>
<div>
<span class="my-2"><span data-plugin="counterup" id="emp_count_view" >0</span>
</div>
</div>
<div class="custom-card d-flex justify-content-between" id="emp_enrolled_view_click">
<div>
<span class="text-muted font-weight-normal mt-0 text-truncate my-2" title="Enrolled">Enroled</span>
</div>
<div>
<span class="my-2"><span data-plugin="counterup" id="emp_enrolled_view" >0</span>
</div>
</div>
<div class="custom-card d-flex justify-content-between" id="emp_not_enrolled_view_click">
<div>
<span class="text-muted font-weight-normal mt-0 text-truncate my-2" title="Not Enrolled">Not Enroled</span>
</div>
<div>
<span class="my-2"><span data-plugin="counterup" id="emp_not_enrolled_view">0</span>
</div>
</div>
<div class="custom-card d-flex justify-content-between" id="emp_logged_in_view_click">
<div>
<span class="text-muted font-weight-normal mt-0 text-truncate my-2" title="Logged-In">Logged-In</span>
</div>
<div>
<span class="my-2"><span data-plugin="counterup" id="emp_logged_in_view">0</span>
</div>
</div>
<div class="custom-card d-flex justify-content-between" id="emp_not_logged_in_view_click">
<div>
<span class="text-muted font-weight-normal mt-0 text-truncate my-2" title="Not Logged-In">Not Logged-In</span>
</div>
<div>
<span class="my-2"><span data-plugin="counterup" id="emp_not_logged_in_view">0</span>
</div>
</div>
</div><!-- end col -->
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row" id="client_list">
<div class="col-12">
<div class="card">
<div class="container-fluid-min">
<div class="row visa_status_count_view">
<div class="col-12">
<div class="card-body">
<table data-custom-table-css="table" class="table table-hover m-0 table-centered dt-responsive w-100" cellspacing="0" id="tickets-table">
<thead class="bg-light">
<tr>
<th class="font-weight-medium">SNO</th>
<th class="font-weight-medium">Name</th>
<th class="font-weight-medium">Emp Code</th>
<th class="font-weight-medium">Relationship</th>
<th class="font-weight-medium">Enroled</th>
<th class="font-weight-medium">Logged-In</th>
</tr>
</thead>
<tbody class="font-12">
<!-- Table body -->
</tbody>
</table>
<div class="card">
<div class="card-header">
<div class="row">
<div class="col-3">
<div id="categoryFilter">
<label for="">Client</label>
<select class="form-control" id="clients" onchange="populateBranches()">
<option value="0">Select Client</option>
<?php foreach ($client_list as $client) { ?>
<option value="<?= $client['id'] ?>"><?= $client['client_name'] ?></option>
<?php } ?>
</select>
</div>
</div>
<div class="col-3">
<div id="categoryFilter_11">
<label for="">Branch</label>
<select name="branch_id" class="form-control" id="branch_id" onchange="populatePolicies()">
<option value="0">Select Branch</option>
</select>
</div>
</div>
<div class="col-3">
<div id="categoryFilter_14">
<label for="">Policy</label>
<select name="client_policy_id" class="form-control" id="client_policy_id">
<option value="0">Select Policy</option>
</select>
</div>
</div>
<div class="col-3">
<div id="categoryFilter_11">
<a class="btn btn-primary waves-effect waves-light"
style="margin-top:30px !important"
onclick="fetchEmpolyeeList(event);"
data-toggle="tooltip" data-placement="top" title="Search"
id="get-emp-list"><i class="mdi mdi-magnify" aria-hidden="true"></i></a>
</div>
</div>
<div class="col-6" style="margin-right: 15px; margin-top:30px; ">
<span id="categoryFilter_12" style="margin-right: 15px;">
<a class="btn btn-primary waves-effect waves-light" onclick="sendManualReminder(this)" data-toggle="tooltip" data-placement="top" title="Send Reminder"><span>Send Remainder</span></a>
</span>
<span id="categoryFilter_13" style="margin-right: 15px;">
<a class="btn btn-primary waves-effect waves-light" onclick="uploadEnrollmentFile(this)" data-toggle="tooltip" data-placement="top" title="Enrollment File Upload"><span>File Upload</span></a>
</span>
<button id="categoryFilter_14" type="button" class="btn btn-link visa_status_button" onclick="toggleContent()" data-toggle="tooltip" data-placement="top">
<a class="btn btn-primary waves-effect waves-light" data-toggle="tooltip" data-placement="top" title="View Status"><span>View Status</span></a>
</button>
</div>
</div>
</div>
<div class="card-body status-option" id="statusContent">
<h4>Status</h4>
<div class="text-center">
<div style="margin-left: 60px; margin-top: 0px;">
<div class="statusContent-flex">
<div class="custom-card d-flex justify-content-between" id="emp_count_view_click">
<div>
<span class="text-muted font-weight-normal mt-0 text-truncate my-2" title="Emp Count">Emp Count</span>
</div>
<div>
<span class="my-2"><span data-plugin="counterup" id="emp_count_view">0</span>
</div>
</div>
<div class="custom-card d-flex justify-content-between" id="emp_enrolled_view_click">
<div>
<span class="text-muted font-weight-normal mt-0 text-truncate my-2" title="Enrolled">Enroled</span>
</div>
<div>
<span class="my-2"><span data-plugin="counterup" id="emp_enrolled_view">0</span>
</div>
</div>
<div class="custom-card d-flex justify-content-between" id="emp_not_enrolled_view_click">
<div>
<span class="text-muted font-weight-normal mt-0 text-truncate my-2" title="Not Enrolled">Not Enroled</span>
</div>
<div>
<span class="my-2"><span data-plugin="counterup" id="emp_not_enrolled_view">0</span>
</div>
</div>
<div class="custom-card d-flex justify-content-between" id="emp_logged_in_view_click">
<div>
<span class="text-muted font-weight-normal mt-0 text-truncate my-2" title="Logged-In">Logged-In</span>
</div>
<div>
<span class="my-2"><span data-plugin="counterup" id="emp_logged_in_view">0</span>
</div>
</div>
<div class="custom-card d-flex justify-content-between" id="emp_not_logged_in_view_click">
<div>
<span class="text-muted font-weight-normal mt-0 text-truncate my-2" title="Not Logged-In">Not Logged-In</span>
</div>
<div>
<span class="my-2"><span data-plugin="counterup" id="emp_not_logged_in_view">0</span>
</div>
</div>
</div><!-- end col -->
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row" id="client_list">
<div class="col-12">
<div class="card">
<div class="card-body">
<table data-custom-table-css="table" class="table table-hover m-0 table-centered dt-responsive w-100" cellspacing="0" id="tickets-table">
<thead class="bg-light">
<tr>
<th class="font-weight-medium">S.No&nbsp;</th>
<th class="font-weight-medium">Name</th>
<th class="font-weight-medium">Emp Code</th>
<th class="font-weight-medium">Relationship</th>
<th class="font-weight-medium">Enroled</th>
<th class="font-weight-medium">Logged-In</th>
</tr>
</thead>
<tbody class="font-12">
<!-- Table body -->
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Center modal content -->
<div class="modal fade" id="upload_enrollment_model" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="false">
@ -247,7 +250,7 @@
<button type="button" id="close_btn" class="close" data-dismiss="modal" aria-hidden="true">×</button>
</div>
<div class="modal-body">
<form class="parsley-examples" method="post" id="uploadForm" action="<?php echo base_url().'employee/upload'?>" enctype="multipart/form-data">
<form class="parsley-examples" method="post" id="uploadForm" action="<?php echo base_url() . 'employee/upload' ?>" enctype="multipart/form-data">
<input type="hidden" id="file_client_id" name="client_id">
<input type="hidden" id="file_branch_id" name="branch_id">
<input type="hidden" id="file_upload_actions" name="upload-action-type" value="enrollment">
@ -256,7 +259,7 @@
<div class="form-group col-md-12">
<label for="policy_id">Client Policy<span class="text-danger">*</span></label>
<select class="form-control" id="policy_id" name="policy_id" required>
<option selected >Select Client Policy</option>
<option selected>Select Client Policy</option>
</select>
</div>
</div>
@ -278,9 +281,7 @@
</div><!-- /.modal -->
<script>
function populateBranches()
{
function populateBranches() {
var clientId = document.getElementById('clients').value;
var branchDropdown = document.getElementById('branch_id');
@ -302,8 +303,7 @@
});
}
function populatePolicies()
{
function populatePolicies() {
console.log('populatePolicies function called');
var clientId = document.getElementById('clients').value;
@ -334,19 +334,17 @@
});
}
function filterTable(columnIndex, filterValue)
{
function filterTable(columnIndex, filterValue) {
var table = $('#tickets-table').DataTable();
// Reset the search filter for all columns
table.columns().search('').draw();
// Apply the filter to the specified column
table.column(columnIndex).search(filterValue).draw();
}
function fetchEmpolyeeList(event)
{
function fetchEmpolyeeList(event) {
event.preventDefault();
var client_id = $('#clients').val();
@ -372,7 +370,7 @@
$('.loader-mask').fadeIn();
},
success: function(response) {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
@ -396,17 +394,17 @@
var loggedIn_count = 0;
data.forEach(function(employee, index) {
if(employee.emp_status !== 'draft'){
if (employee.emp_status !== 'draft') {
var enrolled = 'Yes';
enrolled_count++;
}else{
} else {
var enrolled = 'No';
}
if(employee.user_type === 'employee'){
if (employee.user_type === 'employee') {
var loggedIn = 'Yes';
loggedIn_count++;
}else{
} else {
var loggedIn = 'No';
}
@ -433,7 +431,7 @@
var params = new URLSearchParams(window.location.search);
return params.get(name);
}
},
error: function(xhr, status, error) {
console.error(xhr.responseText);
@ -444,8 +442,7 @@
});
}
$(document).ready(function()
{
$(document).ready(function() {
function getUrlParameter(name) {
var params = new URLSearchParams(window.location.search);
@ -464,22 +461,24 @@
if (branch_id) {
setTimeout(function() { // Ensure branches are populated before setting branch ID
$('#branch_id').val(branch_id).trigger('change');
if($('#branch_id').val() != 0){
if ($('#branch_id').val() != 0) {
$('#get-emp-list').click().trigger();
}
}, 500);
}
if (history.pushState) {
var newUrl = window.location.protocol + "//" + window.location.host + window.location.pathname;
window.history.pushState({path: newUrl}, '', newUrl);
window.history.pushState({
path: newUrl
}, '', newUrl);
}
setTimeout(() => {
// var type = getUrlParameter('type');
console.log("------------------------");
console.log(type);
$('#' + type).click().trigger();
console.log("------------------------");
console.log(type);
$('#' + type).click().trigger();
}, 1000);
$('#clients').select2();
@ -488,39 +487,73 @@
$('#client_policy_id').select2();
var table = $('#tickets-table').DataTable({
dom: 'fBrtip',
buttons: [
{
extend: 'copy',
text: '<i class="mdi mdi-content-copy"></i>',
titleAttr: 'Copy',
filename: 'Enrolment List'
},
{
extend: 'print',
text: '<i class="mdi mdi-printer"></i>',
titleAttr: 'Print',
filename: 'Enrolment List'
},
{
extend: 'pdf',
text: '<i class="mdi mdi-file-pdf"></i>',
titleAttr: 'PDF',
filename: 'Enrolment List'
},
{
extend: 'csv',
text: '<i class="mdi mdi-file-document"></i>',
titleAttr: 'CSV',
filename: 'Enrolment List'
}
],
// buttons: [
// {
// extend: 'copy',
// text: '<i class="mdi mdi-content-copy"></i>',
// titleAttr: 'Copy',
// filename: 'Enrolment List'
// },
// {
// extend: 'print',
// text: '<i class="mdi mdi-printer"></i>',
// titleAttr: 'Print',
// filename: 'Enrolment List'
// },
// {
// extend: 'pdf',
// text: '<i class="mdi mdi-file-pdf"></i>',
// titleAttr: 'PDF',
// filename: 'Enrolment List'
// },
// {
// extend: 'csv',
// text: '<i class="mdi mdi-file-document"></i>',
// titleAttr: 'CSV',
// filename: 'Enrolment List'
// }
// ],
buttons: [{
extend: 'collection',
text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary ',
buttons: [{
extend: 'copy',
text: '<i class="mdi mdi-content-copy"></i>',
titleAttr: 'Copy',
filename: 'Enrolment List'
className: 'app-btn-primary ',
},
{
extend: 'csv',
text: '<i class="mdi mdi-file-document"></i>',
titleAttr: 'CSV',
filename: 'Enrolment List'
className: 'app-btn-primary ',
},
{
extend: 'print',
text: '<i class="mdi mdi-printer"></i>',
titleAttr: 'Print',
filename: 'Enrolment List'
className: 'app-btn-primary ',
},
{
extend: 'pdf',
text: '<i class="mdi mdi-file-pdf"></i>',
titleAttr: 'PDF',
filename: 'Enrolment List'
className: 'app-btn-primary ',
}
]
}],
initComplete: function() {
// Add custom class to the print button
$('.buttons-print').addClass('buttons-html5');
}
});
$('#emp_enrolled_view_click').on('click', function() {
if ($(this).hasClass('click_hover')) {
// $(this).removeClass('click_hover');
@ -528,7 +561,7 @@
$(this).removeClass('click_hover');
});
table.columns().search('').draw(); // Clear all filters and show all data
}else{
} else {
$('.click_hover').each(function() {
$(this).removeClass('click_hover');
});
@ -544,7 +577,7 @@
$(this).removeClass('click_hover');
});
table.columns().search('').draw(); // Clear all filters and show all data
}else{
} else {
$('.click_hover').each(function() {
$(this).removeClass('click_hover');
});
@ -560,7 +593,7 @@
$(this).removeClass('click_hover');
});
table.columns().search('').draw(); // Clear all filters and show all data
}else{
} else {
$('.click_hover').each(function() {
$(this).removeClass('click_hover');
});
@ -576,7 +609,7 @@
$(this).removeClass('click_hover');
});
table.columns().search('').draw(); // Clear all filters and show all data
}else{
} else {
$('.click_hover').each(function() {
$(this).removeClass('click_hover');
});
@ -592,7 +625,7 @@
$(this).removeClass('click_hover');
});
table.columns().search('').draw(); // Clear all filters and show all data
}else{
} else {
$('.click_hover').each(function() {
$(this).removeClass('click_hover');
});
@ -604,8 +637,7 @@
toggleContent();
});
function toggleContent()
{
function toggleContent() {
var content = document.getElementById("statusContent");
var toggleIcon = document.getElementById("toggleIcon");
if (content.style.display === "none") {
@ -622,8 +654,7 @@
//----------------------------------------------------------------------------------------------------
function uploadEnrollmentFile(input)
{
function uploadEnrollmentFile(input) {
console.log('uploadEnrollmentFile called');
var client_id = $('#clients').val()
@ -633,8 +664,8 @@
console.log('client_id', client_id);
console.log('client_branch_id', client_branch_id);
if(client_id == 0 && client_branch_id == 0){
if (client_id == 0 && client_branch_id == 0) {
Swal.fire({
title: "warning!",
text: 'Please select the Client and Client Branch.',
@ -679,8 +710,7 @@
}
function appendpolicy(data)
{
function appendpolicy(data) {
$('#policy_id').empty();
$('#policy_id').append($('<option>', {
@ -692,7 +722,7 @@
$.each(data, function(index, item) {
var option = $('<option>', {
value: item.id,
text:`${item.policy_name ?? ''} - ${item.policy_no ?? ''}`
text: `${item.policy_name ?? ''} - ${item.policy_no ?? ''}`
});
$('#policy_id').append(option);
});
@ -712,7 +742,7 @@
return;
}
if(client_id == 0 && client_branch_id == 0){
if (client_id == 0 && client_branch_id == 0) {
toastr.warning('Select Client and Client Branch');
return false;
}
@ -776,8 +806,7 @@
});
function sendManualReminder(input)
{
function sendManualReminder(input) {
console.log('sendManualReminder function called');
var client_id = $('#clients').val()
@ -816,44 +845,44 @@
return false;
}
Swal.fire({
title: "Do you want to send reminder mail?",
showDenyButton: true,
showCancelButton: false,
confirmButtonText: "Yes,Send",
denyButtonText: "Don't Send"
}).then((result) => {
Swal.fire({
title: "Do you want to send reminder mail?",
showDenyButton: true,
showCancelButton: false,
confirmButtonText: "Yes,Send",
denyButtonText: "Don't Send"
}).then((result) => {
if (result.isConfirmed) {
if (result.isConfirmed) {
$.ajax({
url: '<?= base_url("util/send_manual_reminder/") ?>' + client_id + '/' + client_branch_id + '/' + client_policy_id,
type: "GET",
dataType: 'json',
success: function(res) {
$.ajax({
url: '<?= base_url("util/send_manual_reminder/") ?>' + client_id + '/' + client_branch_id + '/' + client_policy_id,
type: "GET",
dataType: 'json',
success: function(res) {
console.log('send_manual_reminder', res)
console.log('send_manual_reminder', res)
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
if(res.status == false){
toastr.info(res.message, 'INFO');
}else{
toastr.success(res.message, 'SUCCESS');
if (res.status == false) {
toastr.info(res.message, 'INFO');
} else {
toastr.success(res.message, 'SUCCESS');
}
},
error: function(xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
}
},
error: function(xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
}
});
// Swal.fire("Saved!", "", "success");
}
});
});
// Swal.fire("Saved!", "", "success");
}
});
}
</script>
</script>

View File

@ -19,19 +19,18 @@
</div>
</div>
<table data-custom-table-css="table" class="table table-hover m-0 table-centered dt-responsive w-100" cellspacing="0"
id="tickets-table">
<table data-custom-table-css="table" class="table mb-0 nowrap w-100 table-centered" cellspacing="0" id="tickets-table">
<thead class="bg-light">
<tr>
<th class="font-weight-medium">SNO</th>
<th class="font-weight-medium">File name</th>
<th class="font-weight-medium">Client</th>
<th class="font-weight-medium">Client Branch</th>
<th class="font-weight-medium">Policy</th>
<th class="font-weight-medium">Event</th>
<th class="font-weight-medium">User/Time</th>
<th class="font-weight-medium">Status</th>
<th class="font-weight-medium">Action</th>
<th class="font-weight-medium">S.No&nbsp;</th>
<th class="font-weight-medium">File name&nbsp;</th>
<th class="font-weight-medium">Client&nbsp;</th>
<th class="font-weight-medium">Client Branch&nbsp;</th>
<th class="font-weight-medium">Policy&nbsp;</th>
<th class="font-weight-medium">Event&nbsp;</th>
<th class="font-weight-medium">User/Time&nbsp;</th>
<th class="font-weight-medium">Status&nbsp;</th>
<th class="font-weight-medium">Action&nbsp;</th>
</tr>
</thead>
@ -45,7 +44,7 @@
?>
<tr>
<td><b><?php echo ($key + 1) ?></b></td>
<td class="text-center"><b><?php echo ($key + 1) ?></b></td>
<td style="overflow: hidden;" class="reload truncate" data-toggle="tooltip" data-placement="top" title="<?php echo $file['file_name'] ?>">
<?php echo $file['file_name']?>
</td>
@ -461,28 +460,57 @@ $('body').on('click', '.reload', function() {
$(document).ready(function() {
$('#tickets-table').DataTable({
dom: "<'row'<'col-sm-0'f><'col-sm-9 text-right'B>>" +
dom: "<'row'<'col-12 d-flex justify-content-between align-items-center'<'datatable-search dataTables_filter'f><'datatable-buttons dt-buttons'B>>>" +
"<'row'<'col-sm-12'tr>>" +
"<'row'<'col-sm-5'i><'col-sm-7'p>>",
"buttons": [{
"extend": 'csv',
"text": 'CSV',
"title": 'Employee-Upload-List',
"className": 'my_class',
"exportOptions": {
"columns": ':not(:last-child)'
buttons: [{
extend: 'collection',
text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary ',
buttons: [
{
extend: 'csv',
text: '<i class="mdi mdi-file-delimited " ></i><span class=" btn-custom"> CSV </span>',
title: 'Employee-Upload-List',
className: 'app-btn-primary ',
exportOptions: {
columns: ':not(:last-child)'
},
}
]
}
],
language: {
search: `
<div class="datatable-search-wrapper">
_INPUT_
<i class="mdi mdi-magnify datatable-search-icon"></i>
</div>`,
searchPlaceholder: "Search"
},
}],
"initComplete": function(settings, json) {
$('.my_class').css({
"position": "relative",
"left": "79px"
});
},
language: {
search: "_INPUT_",
searchPlaceholder: "Search..."
},
// "buttons": [{
// "extend": 'csv',
// "text": 'CSV',
// "title": 'Employee-Upload-List',
// "className": 'my_class',
// "exportOptions": {
// "columns": ':not(:last-child)'
// },
// }],
// "initComplete": function(settings, json) {
// $('.my_class').css({
// "position": "relative",
// "left": "79px"
// });
// },
// language: {
// search: "_INPUT_",
// searchPlaceholder: "Search..."
// },
paging: true,
});

View File

@ -1,59 +1,62 @@
<style>
.table th,
.table td {
padding: 8px;
}
.table th,
.table td {
padding: 8px;
}
table.dataTable tbody td {
padding: 4px 4px !important;
}
table.dataTable tbody td {
padding: 4px 4px !important;
}
.col-12 {
.col-12 {
max-width: 98% !important;
}
max-width: 98% !important;
}
.dataTables_filter {
position: absolute;
}
.custom-dropdown-menu {
display: none;
position: absolute;
background-color: #ffffff !important;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 0.25rem;
padding: 0.5rem 0;
min-width: 10rem;
z-index: 9999;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
.dataTables_filter {
position: absolute;
}
.custom-dropdown-menu .dropdown-item {
display: block !important;
width: 100% !important;
padding: 0.5rem 1rem !important;
color: #212529 !important;
text-decoration: none !important;
background-color: transparent !important;
}
.custom-dropdown-menu {
display: none;
position: absolute;
background-color: #ffffff !important;
border: 1px solid rgba(0, 0, 0, 0.15);
border-radius: 0.25rem;
padding: 0.5rem 0;
min-width: 10rem;
z-index: 9999;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
.custom-dropdown-menu .dropdown-item:hover {
background-color: #f8f9fa !important;
color: #16181b !important;
cursor: pointer !important;
}
.custom-dropdown-menu .dropdown-item {
display: block !important;
width: 100% !important;
padding: 0.5rem 1rem !important;
color: #212529 !important;
text-decoration: none !important;
background-color: transparent !important;
}
.custom-dropdown-menu .dropdown-item:hover {
background-color: #f8f9fa !important;
color: #16181b !important;
cursor: pointer !important;
}
</style>
<div class="row" id="finance_filter">
<div class="col-12" style="margin-top: -12px;">
<div class="col-12" id="finance_filter">
<div class="card-body">
<div id="accordion" class="mb-3">
<div class="card mb-1">
<h5 class="m-1">
<h4 class="m-1">
<span>Filter</span>
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseOne"
aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</h5>
</h4>
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion">
<div class="card-body">
<div class="form-group">
@ -64,11 +67,11 @@ table.dataTable tbody td {
<select class="form-control" id="client_id" name="client_id">
<option value="0">Select Client</option>
<?php
if (isset($clients) && count($clients)) {
foreach ($clients as $key => $value) {
echo "<option value='" . $value['id'] . "'>" . $value['client_name'] . "</option>";
}
if (isset($clients) && count($clients)) {
foreach ($clients as $key => $value) {
echo "<option value='" . $value['id'] . "'>" . $value['client_name'] . "</option>";
}
}
?>
</select>
</div>
@ -79,9 +82,9 @@ table.dataTable tbody td {
<select class="form-control" id="insurer_id" name="insurer_id">
<option value="0" selected>Select Insurer</option>
<?php if (isset($insurer) && count($insurer)) { ?>
<?php foreach ($insurer as $value) { ?>
<option value="<?= $value['id']?>"><?= $value['name']?></option>
<?php } ?>
<?php foreach ($insurer as $value) { ?>
<option value="<?= $value['id'] ?>"><?= $value['name'] ?></option>
<?php } ?>
<?php } ?>
</select>
</div>
@ -91,11 +94,11 @@ table.dataTable tbody td {
<select class="form-control" id="policy_type_id" name="policy_type_id">
<option value="0">Select Policy Type</option>
<?php
if (isset($policy_types) && count($policy_types)) {
foreach ($policy_types as $key => $value) {
echo "<option value='" . $value['id'] . "'>" . $value['policy_type'] . "</option>";
}
if (isset($policy_types) && count($policy_types)) {
foreach ($policy_types as $key => $value) {
echo "<option value='" . $value['id'] . "'>" . $value['policy_type'] . "</option>";
}
}
?>
</select>
</div>
@ -105,11 +108,11 @@ table.dataTable tbody td {
<select class="form-control" id="issuer" name="issuer" required>
<option value="0">Select Issure</option>
<?php
if (isset($issuer) && count($issuer)) {
foreach ($issuer as $key => $value) {
echo "<option value=" . $key . ">" . $value . "</option>";
}
if (isset($issuer) && count($issuer)) {
foreach ($issuer as $key => $value) {
echo "<option value=" . $key . ">" . $value . "</option>";
}
}
?>
</select>
</div>
@ -124,35 +127,34 @@ table.dataTable tbody td {
onchange="hideDateField()">
<option value="0">Select Date Type</option>
<?php
if (isset($date_type) && count($date_type)) {
foreach ($date_type as $key => $value) {
echo "<option value='" . $key . "'>" . $value . "</option>";
}
if (isset($date_type) && count($date_type)) {
foreach ($date_type as $key => $value) {
echo "<option value='" . $key . "'>" . $value . "</option>";
}
}
?>
</select>
</div>
<div class="form-group col-md-3" style="display: none;" id="date_div">
<label>Date<span class="text-danger"></span></label>
<div id="reportrange" class="form-control"
style="background: #fff; cursor: pointer; padding: 5px 10px; border: 1px solid #ccc; width: 100%">
<i class="mdi mdi-calendar-blank"></i>&nbsp;
<span></span> <i class="mdi mdi-menu-down"></i>
<div class="input-icon">
<input type="text" id="reportrange" class="form-control" readonly style="caret-color: transparent;">
<i class="mdi mdi-calendar-blank-outline additional-icon"></i>
</div>
<input type="hidden" id="startDate">
<input type="hidden" id="endDate">
</div>
<div class="form-group col-md-3 text-right m-b-0" style="margin-top: 29px;">
<a href="<?= base_url("/policy_tranction/report/report-finance-list"); ?>"
class="btn btn-secondary" id="clear-filters">Clear</a>
<a href="<?= base_url("/policy_tranction/report/report-finance-list"); ?>"
class="btn btn-primary" id="get-emp-list"
onclick="fetchEmpolyeeList(event);">Submit</a>
</div>
</div>
<div class="form-group text-right m-b-0">
<a href="<?= base_url("/policy_tranction/report/report-finance-list"); ?>"
class="btn btn-secondary" id="clear-filters">Clear</a>
<a href="<?= base_url("/policy_tranction/report/report-finance-list"); ?>"
class="btn btn-primary" id="get-emp-list"
onclick="fetchEmpolyeeList(event);">Submit</a>
</div>
<!-- <div class="form-group text-right m-b-0">
<button type="button" class="btn btn-secondary" id="clear-filters">Clear</button>
@ -182,48 +184,48 @@ table.dataTable tbody td {
<table data-custom-table-css="table" id="scroll-horizontal-datatable" class="table w-100 nowrap">
<thead class="bg-light">
<tr>
<th>S.No</th>
<th>Client Name</th>
<th>Insurer</th>
<th>Policy</th>
<th>Policy No</th>
<th>Endorsement No</th>
<th>Event Type</th>
<th>Action</th>
<th>S.No&nbsp;</th>
<th>Client Name&nbsp;</th>
<th>Insurer&nbsp;</th>
<th>Policy&nbsp;</th>
<th>Policy No&nbsp;</th>
<th>Endorsement No&nbsp;</th>
<th>Event Type&nbsp;</th>
<th>Action&nbsp;</th>
</tr>
</thead>
<tbody>
<?php if (isset($finance_list)) { ?>
<?php foreach($finance_list as $index => $row){ ?>
<tr>
<td><?= $index + 1 ?></td>
<td><?php echo $row['client_name']; ?></td>
<td><?php echo $row['insurer_name']; ?></td>
<td><?php echo $row['policy_type']; ?></td>
<td><?php echo $row['policy_no']; ?></td>
<td><?php echo $row['endorsement_no']; ?></td>
<td><?php echo $row['action_type_full']; ?></td>
<td>
<div class="btn-group dropdown">
<a href="javascript: void(0);"
class="dropdown-toggle arrow-none btn btn-light btn-sm" data-toggle="dropdown"
aria-expanded="false"><i class="mdi mdi-dots-horizontal"></i></a>
<div class="dropdown-menu dropdown-menu-right">
<a href="
<?php
if ($row['action_type'] == 'I') {
echo base_url("/policy_tranction/inception/list") . '?pt_id=' . $row['id'];
} else {
echo base_url("/policy_tranction/endorsement/list") . '?pt_id=' . $row['id'];
}
<?php foreach ($finance_list as $index => $row) { ?>
<tr>
<td><?= $index + 1 ?></td>
<td><?php echo $row['client_name']; ?></td>
<td><?php echo $row['insurer_name']; ?></td>
<td><?php echo $row['policy_type']; ?></td>
<td><?php echo $row['policy_no']; ?></td>
<td><?php echo $row['endorsement_no']; ?></td>
<td><?php echo $row['action_type_full']; ?></td>
<td>
<div class="btn-group dropdown">
<a href="javascript: void(0);"
class="dropdown-toggle arrow-none btn btn-light btn-sm" data-toggle="dropdown"
aria-expanded="false"><i class="mdi mdi-dots-horizontal"></i></a>
<div class="dropdown-menu dropdown-menu-right">
<a href="
<?php
if ($row['action_type'] == 'I') {
echo base_url("/policy_tranction/inception/list") . '?pt_id=' . $row['id'];
} else {
echo base_url("/policy_tranction/endorsement/list") . '?pt_id=' . $row['id'];
}
?>" id="get-policy-list" class="dropdown-item btnEdit">
<i class="mdi mdi-pencil mr-2 text-muted font-18 vertical-middle"></i>Edit
</a>
</div>
</div>
</td>
</tr>
<?php } ?>
<i class="mdi mdi-pencil mr-2 text-muted font-18 vertical-middle"></i>Edit
</a>
</div>
</div>
</td>
</tr>
<?php } ?>
<?php } ?>
</tbody>
</table>
@ -236,160 +238,170 @@ table.dataTable tbody td {
</div>
<script>
document.addEventListener("DOMContentLoaded", function () {
const table = document.getElementById("scroll-horizontal-datatable");
document.addEventListener("DOMContentLoaded", function() {
const table = document.getElementById("scroll-horizontal-datatable");
// Create custom dropdown
function createCustomDropdown(row) {
// Get the original dropdown items
const originalDropdown = row.querySelector('.dropdown-menu');
if (!originalDropdown) return null;
// Create new dropdown with proper background and spacing
const customDropdown = document.createElement('div');
customDropdown.className = 'custom-dropdown-menu';
// Copy inner content while maintaining icon alignment
customDropdown.innerHTML = originalDropdown.innerHTML;
return customDropdown;
}
// Create custom dropdown
function createCustomDropdown(row) {
// Get the original dropdown items
const originalDropdown = row.querySelector('.dropdown-menu');
if (!originalDropdown) return null;
let activeDropdown = null;
// Create new dropdown with proper background and spacing
const customDropdown = document.createElement('div');
customDropdown.className = 'custom-dropdown-menu';
// Add click event listener to rows
table.querySelectorAll("tbody tr").forEach(row => {
const customDropdown = createCustomDropdown(row);
if (!customDropdown) return;
// Append the custom dropdown to the body
document.body.appendChild(customDropdown);
// Copy inner content while maintaining icon alignment
customDropdown.innerHTML = originalDropdown.innerHTML;
row.addEventListener("click", function(event) {
// Ignore clicks on the action column
if (event.target.closest('td:last-child')) {
return;
}
return customDropdown;
}
// Hide any active dropdown
if (activeDropdown) {
activeDropdown.style.display = 'none';
}
let activeDropdown = null;
// Get click position
const rect = event.target.getBoundingClientRect();
// Position the dropdown with some offset
customDropdown.style.display = 'block';
customDropdown.style.position = 'fixed';
customDropdown.style.left = `${rect.left}px`;
customDropdown.style.top = `${rect.bottom + 5}px`; // Add 5px gap
// Set as active dropdown
activeDropdown = customDropdown;
event.stopPropagation();
});
// Add click event listener to rows
table.querySelectorAll("tbody tr").forEach(row => {
const customDropdown = createCustomDropdown(row);
if (!customDropdown) return;
// Preserve click handlers and add auto-close
customDropdown.querySelectorAll('.dropdown-item').forEach(item => {
item.addEventListener('click', function(e) {
const onclickAttr = this.getAttribute('onclick');
if (onclickAttr) {
eval(onclickAttr);
}
const href = this.getAttribute('href');
if (href && href !== '#') {
window.location.href = href;
// Append the custom dropdown to the body
document.body.appendChild(customDropdown);
row.addEventListener("click", function(event) {
// Ignore clicks on the action column
if (event.target.closest('td:last-child')) {
return;
}
// Close the dropdown after handling the click
// Hide any active dropdown
if (activeDropdown) {
activeDropdown.style.display = 'none';
activeDropdown = null;
}
e.stopPropagation();
// Get click position
const rect = event.target.getBoundingClientRect();
// Position the dropdown with some offset
customDropdown.style.display = 'block';
customDropdown.style.position = 'fixed';
customDropdown.style.left = `${rect.left}px`;
customDropdown.style.top = `${rect.bottom + 5}px`; // Add 5px gap
// Set as active dropdown
activeDropdown = customDropdown;
event.stopPropagation();
});
// Preserve click handlers and add auto-close
customDropdown.querySelectorAll('.dropdown-item').forEach(item => {
item.addEventListener('click', function(e) {
const onclickAttr = this.getAttribute('onclick');
if (onclickAttr) {
eval(onclickAttr);
}
const href = this.getAttribute('href');
if (href && href !== '#') {
window.location.href = href;
}
// Close the dropdown after handling the click
if (activeDropdown) {
activeDropdown.style.display = 'none';
activeDropdown = null;
}
e.stopPropagation();
});
});
});
});
// Close dropdown when clicking outside
document.addEventListener("click", function() {
if (activeDropdown) {
activeDropdown.style.display = 'none';
activeDropdown = null;
}
// Close dropdown when clicking outside
document.addEventListener("click", function() {
if (activeDropdown) {
activeDropdown.style.display = 'none';
activeDropdown = null;
}
});
});
});
</script>
<script>
// Datatable document ready
$(document).ready(function() {
// Datatable document ready
$(document).ready(function () {
var ticketsTable = $('#scroll-horizontal-datatable');
if (ticketsTable.length) {
ticketsTable.DataTable({
dom: "<'row'<'col-sm-6'f><'col-sm-6 text-right'B>>" + // Filter left, buttons right
dom:
"<'row'<'col-sm-6'f><'col-sm-6 text-right'B>>" + // Filter left, buttons right
"<'row'<'col-sm-12'tr>>" +
"<'row'<'col-sm-5'i><'col-sm-7'p>>", // Pagination at the bottom, without page length selector
buttons: [{
extend: 'csv',
text: 'CSV',
title: 'Policy-Tranction-BDS-List',
},
buttons: [
{
extend: 'excel',
text: 'Excel',
title: 'Policy-Tranction-BDS-List',
customize: function(xlsx) {
var sheet = xlsx.xl.worksheets['sheet1.xml'];
var total = 0;
extend: 'collection',
text: '<span class="btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary',
buttons: [
{
extend: 'csv',
text: '<i class="mdi mdi-file-delimited"></i><span class="btn-custom"> CSV </span>',
title: 'Policy-Tranction-BDS-List'
},
{
extend: 'excel',
text: '<i class="mdi mdi-file-excel"></i><span class="btn-custom"> EXCEL </span>',
title: 'Policy-Tranction-BDS-List',
customize: function (xlsx) {
var sheet = xlsx.xl.worksheets['sheet1.xml'];
var total = 0;
// Find cells in column AB (28th column in Excel)
$('row c[r^="AB"]', sheet).each(function() {
var value = parseFloat($('v', this)
.text()); // Get the value inside the cell
if (!isNaN(value)) {
total += value;
// Find cells in column AB (28th column in Excel)
$('row c[r^="AB"]', sheet).each(function () {
var value = parseFloat($('v', this).text());
if (!isNaN(value)) {
total += value;
}
});
// Get the last row index and append the total row
var lastRow = $('row:last', sheet);
var rowIndex = parseInt(lastRow.attr('r')) + 2;
var totalRow =
'<row r="' + rowIndex + '">' +
'<c t="inlineStr" r="AA' + rowIndex + '"><is><t>Total</t></is></c>' +
'<c t="n" r="AB' + rowIndex + '"><v>' + total.toFixed(2) + '</v></c>' +
'</row>';
// Append the new total row to the sheet
$(sheet).find('sheetData').append(totalRow);
}
});
// Get the last row index and append the total row
var lastRow = $('row:last', sheet);
var rowIndex = parseInt(lastRow.attr('r')) +
2; // Find the next row index
var totalRow = '<row r="' + rowIndex + '">' +
'<c t="inlineStr" r="AA' + rowIndex +
'"><is><t>Total</t></is></c>' + // Insert "Total" in AA
'<c t="n" r="AB' + rowIndex + '"><v>' + total.toFixed(2) +
'</v></c>' + // Insert sum in AB
'</row>';
// Append the new total row to the sheet
$(sheet).find('sheetData').append(totalRow);
}
}
]
}
],
language: {
search: "_INPUT_",
searchPlaceholder: "Search..."
search: `
<div class="datatable-search-wrapper">
_INPUT_
<i class="mdi mdi-magnify datatable-search-icon"></i>
</div>`,
searchPlaceholder: "Search"
},
paging: true, // Enable pagination
pageLength: 25, // Set default number of rows per page (optional)
ordering: false,
paging: true,
pageLength: 10,
ordering: false
});
} else {
console.error("Table not found.");
}
});
$(document).ready(function() {
getURLParams()
$('#client_id').select2();
@ -488,7 +500,7 @@ $(function() {
// var end = moment();
function cb(start, end) {
$('#reportrange span').html(start.format('D-MM-YYYY') + ' - ' + end.format('D-MM-YYYY'));
$('#reportrange').html(start.format('D-MM-YYYY') + ' - ' + end.format('D-MM-YYYY'));
$('#startDate').val(start.format('DD-MM-YYYY'));
$('#endDate').val(end.format('DD-MM-YYYY'));
}
@ -496,6 +508,7 @@ $(function() {
$('#reportrange').daterangepicker({
startDate: start,
endDate: end,
locale: { format: 'DD-MM-YYYY' },
ranges: {
'Today': [moment(), moment()],
'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
@ -506,53 +519,174 @@ $(function() {
.endOf('month')
]
}
}, cb);
cb(start, end);
$('#clear-filters').on('click', function() {
// Reset all select dropdowns to the first option
$('#client_id').val('0').change();
$('#insurer_id').val('0').change();
$('#policy_type_id').val('0').change();
$('#date_type').val('0');
$('#issuer').val('0');
$('#date_div').hide()
// Reset the date range picker to default
$('#reportrange').data('daterangepicker').setStartDate(moment().subtract(29, 'days'));
$('#reportrange').data('daterangepicker').setEndDate(moment());
cb(start, end); // Update the displayed date range
});
});
$(document).ready(function() {
getURLParams()
$('#client_id').select2();
$('#insurer_id').select2();
$('#policy_type_id').select2();
})
function hideDateField(input = null) {
let val = $('#date_type').val();
function fetchEmpolyeeList(event) {
event.preventDefault(); // Prevent default action
if (input) {
val = input;
var start_date = $('#startDate').val();
var end_date = $('#endDate').val();
var client_id = $('#client_id').val();
var insurer_id = $('#insurer_id').val();
var policy_type_id = $('#policy_type_id').val();
var date_type = $('#date_type').val();
var issuer = $('#issuer').val();
console.log(start_date + '-' + end_date);
var queryParams = {
start_date: start_date,
end_date: end_date,
client_id: client_id,
insurer_id: insurer_id,
policy_type_id: policy_type_id,
date_type: date_type,
issuer: issuer,
};
const queryString = objectToQueryString(queryParams);
const apiURL = $('#get-emp-list').attr('href') + "?" + queryString;
console.log(apiURL);
window.location.href = apiURL;
}
if (val != 0) {
$('#date_div').show()
} else {
$('#date_div').hide()
function objectToQueryString(obj) {
return Object.keys(obj).map(key => `${encodeURIComponent(key)}=${encodeURIComponent(obj[key])}`).join('&');
}
}
function sendPolicyTransactionID(event, pt_id) {
event.preventDefault(); // Prevent default action
function getURLParams() {
const url = new URL(window.location.href);
const params = new URLSearchParams(url.search);
console.log(pt_id);
const startDate = params.get('start_date') || 0; // Default to 0 if not found
const endDate = params.get('end_date') || 0; // Default to 0 if not found
const client_id = params.get('client_id') || 0; // Default to 0 if not found
const insurer_id = params.get('insurer_id') || 0; // Default to 0 if not found
const policy_type_id = params.get('policy_type_id') || 0; // Default to 0 if not found
const date_type = params.get('date_type') || 0; // Default to 0 if not found
const issuer = params.get('issuer') || 0; // Default to 0 if not found
var queryParams = {
pt_id: pt_id,
};
hideDateField(date_type)
const queryString = objectToQueryString(queryParams);
const apiURL = $('#get-policy-list').attr('href') + "?" + queryString;
console.log(apiURL);
window.location.href = apiURL;
}
console.log('startDate', startDate)
console.log('endDate', endDate)
console.log('client_id', client_id)
console.log('insurer_id', insurer_id)
console.log('policy_type_id', policy_type_id)
console.log('date_type', date_type)
console.log('issuer', issuer)
// Log the values or use them as needed
console.log('Start Date:', startDate);
console.log('End Date:', endDate);
if (startDate != 0 && endDate != 0) {
setTimeout(function() {
$('#start_date').val(startDate)
$('#end_date').val(endDate)
$('#client_id').val(client_id).change()
$('#insurer_id').val(insurer_id).change()
$('#policy_type_id').val(policy_type_id).change()
$('#date_type').val(date_type)
$('#issuer').val(issuer)
}, 1000)
}
}
$(function() {
const url = new URL(window.location.href);
const params = new URLSearchParams(url.search);
// Get start and end dates from URL parameters, or use default values
const startDateParam = params.get('start_date') || moment().subtract(29, 'days').format('DD-MM-YYYY');
const endDateParam = params.get('end_date') || moment().format('DD-MM-YYYY');
// Parse the dates to moment objects
var start = moment(startDateParam, 'DD-MM-YYYY');
var end = moment(endDateParam, 'DD-MM-YYYY');
// var start = moment().subtract(29, 'days');
// var end = moment();
function cb(start, end) {
$('#reportrange').html(start.format('D-MM-YYYY') + ' - ' + end.format('D-MM-YYYY'));
$('#startDate').val(start.format('DD-MM-YYYY'));
$('#endDate').val(end.format('DD-MM-YYYY'));
}
$('#reportrange').daterangepicker({
startDate: start,
endDate: end,
locale: {
format: 'DD-MM-YYYY'
},
ranges: {
'Today': [moment(), moment()],
'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
'Last 7 Days': [moment().subtract(6, 'days'), moment()],
'Last 30 Days': [moment().subtract(29, 'days'), moment()],
'This Month': [moment().startOf('month'), moment().endOf('month')],
'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month')
.endOf('month')
]
}
}, cb);
cb(start, end);
$('#clear-filters').on('click', function() {
// Reset all select dropdowns to the first option
$('#client_id').val('0').change();
$('#insurer_id').val('0').change();
$('#policy_type_id').val('0').change();
$('#date_type').val('0');
$('#issuer').val('0');
$('#date_div').hide()
// Reset the date range picker to default
$('#reportrange').data('daterangepicker').setStartDate(moment().subtract(29, 'days'));
$('#reportrange').data('daterangepicker').setEndDate(moment());
cb(start, end); // Update the displayed date range
});
});
function hideDateField(input = null) {
let val = $('#date_type').val();
if (input) {
val = input;
}
if (val != 0) {
$('#date_div').show()
} else {
$('#date_div').hide()
}
}
function sendPolicyTransactionID(event, pt_id) {
event.preventDefault(); // Prevent default action
console.log(pt_id);
var queryParams = {
pt_id: pt_id,
};
const queryString = objectToQueryString(queryParams);
const apiURL = $('#get-policy-list').attr('href') + "?" + queryString;
console.log(apiURL);
window.location.href = apiURL;
}
</script>

View File

@ -61,11 +61,14 @@
</style>
<div class="container-fluid">
<div class="container-fluid-min">
<div class="row">
<div class="col-12">
<?php if (isset($hr_access_data) && !empty($hr_access_data)) { ?>
<?php if (isset($hr_access_data) && !empty($hr_access_data)) {
$listed_pre = [];
$listed_post = [];
?>
<form id="insuranceForm" onsubmit="submitForm(event)">
<?php foreach ($hr_access_data as $key => $value) {
@ -79,13 +82,17 @@
<input type="hidden" name="<?= 'user' . $key ?>_pre_hr_id" value="<?= $value['pre_hr_id'] ?>">
<input type="hidden" name="<?= 'user' . $key ?>_post_hr_id" value="<?= $value['post_hr_id'] ?>">
<input type="hidden" name="<?= 'user' . $key ?>_post_client_id" value="<?= $value['post_client_id'] ?>">
<input type="hidden" name="<?= 'user' . $key ?>_pre_branch_id" value="<?= $value['pre_branch_id'] ?>">
<input type="hidden" name="<?= 'user' . $key ?>_post_branch_id" value="<?= $value['post_branch_id'] ?>">
<input type="hidden" name="<?= 'user' . $key ?>_pre_client_id" value="<?= $value['pre_client_id'] ?>">
<div class="card-header" onclick="toggleAccordion(this)" style="background-color: #F5FFFF;">
<div class="user-info">
<h5 class="mb-0"><?= $value['hr_name'] ?>
<h5 class="mb-0"> Name -<?= $value['hr_name'] ?>
<!-- <i class="mdi mdi-information-outline" aria-hidden="true" data-id="<?= (!empty($value['pre_hr_id']) ? $value['pre_hr_id'] : 0) . '-' . (!empty($value['post_hr_id']) ? $value['post_hr_id'] : 0) ?>"></i> -->
</h5>
<p class="user-email"><?= $value['hr_mail'] ?></p>
<p style="color: black;"> <b>branch - <?= $value['post_branch_name']?></b></p>
<p class="user-email"> Mail - <?= $value['hr_mail'] ?></p>
</div>
<div class="accordion-icon">
<i class="mdi mdi-chevron-down"></i>
@ -128,6 +135,15 @@
<?php foreach ($pre_policy_data as $key1 => $policies) {
$statusText = $policies['policy_status'] == 1 ? 'Active' : 'In-Active';
$statusClass = $policies['policy_status'] == 1 ? 'active' : 'inactive';
if (
in_array($policies['branch_id'].'-'.$policies['policy_no'], $listed_pre)
&&
$value['pre_branch_id'] != $policies['branch_id']
) {
continue;
} else {
$listed_pre[] = $policies['branch_id'].'-'.$policies['policy_no'];
}
?>
<div class="checkbox-item">
<input type="checkbox" class="policy-checkbox <?= $statusClass ?>" name="<?= 'user' . $key ?>_pre_policies" data-user="<?= $key ?>" data-group="pre" value="<?= $policies['client_policy_id'] ?>"
@ -180,12 +196,26 @@
<?php foreach ($post_policy_data as $key2 => $policies) {
$statusText = $policies['policy_status'] == 1 ? 'Active' : 'In-Active';
$statusClass = $policies['policy_status'] == 1 ? 'active' : 'inactive';
if(
in_array($policies['branch_id'].'-'.$policies['policy_no'] , $listed_post)
&&
$value['post_branch_id'] != $policies['branch_id']
)
{
continue;
}
else
{
$listed_post[] = $policies['branch_id'].'-'.$policies['policy_no'];
}
?>
<div class="checkbox-item">
<input type="checkbox" class="policy-checkbox <?= $statusClass ?>" id="<?= 'user' . $key ?>-gmc2" name="<?= 'user' . $key ?>_active_policies" data-user="<?= $key ?>" data-group="post"
value="<?= $policies['client_policy_id'] ?>" <?php if (in_array($policies['client_policy_id'], $value['allowed_active_policies'])) {
echo 'checked';
} ?>>
&nbsp;&nbsp;
<label for="<?= 'user' . $key ?>-gmc2" style="<?php if ($policies['policy_status'] == 0) {
echo 'color:#ff5757';
} ?>">

View File

@ -44,6 +44,10 @@ table.dataTable tbody td {
box-shadow: 0px 2px 4px 0px #00000024 !important;
}
#hr_activity_history_append_area tbody tr {
background-color: transparent !important;
}
</style>
<!-- <div class="row" style="position: relative;left: 250px;top: 55px;">
@ -60,7 +64,7 @@ table.dataTable tbody td {
</div>
</div> -->
<table data-custom-table-css="table" id="scroll-horizontal-datatable" class="table w-100 nowrap flex-grow">
<table data-custom-table-css="second-table" id="scroll-horizontal-datatable" class="table w-100 nowrap flex-grow">
<thead class="bg-light">
<tr>
<th>S. No</th>
@ -93,15 +97,16 @@ $(document).ready(function () {
if (ticketsTable.length) {
var table = ticketsTable.DataTable({
scrollX: true,
dom: "<'row'<'col-sm-6'f><'col-sm-6 text-right'B>>" + // search left, buttons right
"<'row'<'col-sm-12'tr>>" +
"<'row'<'col-sm-3'i><'col-sm-2'l><'col-sm-7'p>>",
dom: "<'row'<'col-12 d-flex justify-content-between align-items-center'<'datatable-search dataTables_filter'f><'datatable-buttons dt-buttons'B>>>" +
"<'row'<'col-sm-12'tr>>" +
"<'row'<'col-sm-5'i><'col-sm-7'p>>",
language: {
search: "_INPUT_",
searchPlaceholder: "Search..."
},
paging: true,
pageLength: 25,
pageLength: 10,
ordering: false,
buttons: [
{
@ -120,6 +125,17 @@ $(document).ready(function () {
]
});
// run after DataTable is ready
$('.dataTables_filter input').css({
'background': '#F0F0F0',
'border': 'none',
'border-radius': '8px',
'padding-right': '35px'
}).wrap('<div style="position:relative; display:inline-block;"></div>')
.after('<i class="mdi mdi-magnify" ' +
'style="position:absolute; right:10px; top:50%; transform:translateY(-50%); color:#666;"></i>');
// Attach submit handler separately so it works
$(document).on("click", "#submitBtn", function () {
appendHrActivityHistoryHtml(this, true);

View File

@ -10,11 +10,26 @@
<div class="col-xl-12">
<div id="accordion" class="mb-3">
<div class="card mb-1">
<h5 class="m-1">
<h4 class="m-1">
<span>Filters</span>
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseOne" aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</h5>
</h4>
<!-- <h5 class="m-1">
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseOne" aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</h5>
<label id="filterAccordion" class="m-1 d-flex justify-content-between align-items-center">
<span class="font-color-black">Filters</span>
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseOne" aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</label> -->
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion">
<div class="card-body">
<!-- <div class="text-center"> -->
@ -103,15 +118,15 @@
id="hr_tickets_table">
<thead class="bg-light">
<tr>
<th class="font-weight-medium">SNO</th>
<th class="font-weight-medium">File name</th>
<th class="font-weight-medium">Client</th>
<th class="font-weight-medium">Client Branch</th>
<th class="font-weight-medium">Policy</th>
<th class="font-weight-medium">Event</th>
<th class="font-weight-medium">User/Time</th>
<th class="font-weight-medium">Status</th>
<th class="font-weight-medium">Action</th>
<th class="font-weight-medium">S.No&nbsp;</th>
<th class="font-weight-medium">File name&nbsp;</th>
<th class="font-weight-medium">Client&nbsp;</th>
<th class="font-weight-medium">Client Branch&nbsp;</th>
<th class="font-weight-medium">Policy&nbsp;</th>
<th class="font-weight-medium">Event&nbsp;</th>
<th class="font-weight-medium">User/Time&nbsp;</th>
<th class="font-weight-medium">Status&nbsp;</th>
<th class="font-weight-medium">Action&nbsp;</th>
</tr>
</thead>
@ -341,27 +356,33 @@
// for datatable
$(document).ready(function() {
$('#hr_tickets_table').DataTable({
dom: "<'row'<'col-sm-0'f><'col-sm-9 text-right'B>>" +
dom: "<'row'<'col-12 d-flex justify-content-between align-items-center'<'datatable-search dataTables_filter'f><'datatable-buttons dt-buttons'B>>>" +
"<'row'<'col-sm-12'tr>>" +
"<'row'<'col-sm-5'i><'col-sm-7'p>>",
"buttons": [{
"extend": 'csv',
"text": 'CSV',
"title": 'Employee-Upload-List',
"className": 'my_class',
"exportOptions": {
"columns": ':not(:last-child)'
},
}],
"initComplete": function(settings, json) {
$('.my_class').css({
"position": "relative",
"left": "79px"
});
},
buttons: [{
extend: 'collection',
text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary ',
buttons: [
{
extend: 'csv',
text: '<i class="mdi mdi-file-delimited " ></i><span class=" btn-custom"> CSV </span>',
title: 'Employee-Upload-List',
className: 'app-btn-primary ',
exportOptions: {
columns: ':not(:last-child)'
},
}
]
}
],
language: {
search: "_INPUT_",
searchPlaceholder: "Search..."
search: `
<div class="datatable-search-wrapper">
_INPUT_
<i class="mdi mdi-magnify datatable-search-icon"></i>
</div>`,
searchPlaceholder: "Search"
},
paging: true,
});

View File

@ -10,19 +10,17 @@
</style>
<script>
var client_list = ''; // local variable for storing the client branch list
var branch_list = ''; // local variable for storing the client branch list
var policy_list = ''; // local variable for storing the client policy list
var branch_policy = '';
$(document).ready(function(){
$(document).ready(function() {
getClientAndBranchAndPolicy();
})
//featch client and branch and policy
function getClientAndBranchAndPolicy()
{
function getClientAndBranchAndPolicy() {
$.ajax({
url: '<?= base_url("/util/getClientAndBranchAndPolicy") ?>',
type: "GET",
@ -30,7 +28,7 @@
success: function(res) {
console.log('getClientAndBranchAndPolicy', res);
if(res.status == true){
if (res.status == true) {
client_list = res.client_data;
branch_list = res.branch_data;
@ -39,8 +37,8 @@
appendClients(res.client_data);
appendClients2(res.client_data);
appendClients3(res.client_data);
}else{
} else {
console.log('No data found');
}
@ -51,35 +49,42 @@
}
});
}
</script>
<div class="row" id="client_add" style="position: relative; bottom: 25px;">
<div class="col-12">
<div class="card-body">
<h3>Inception</h3>
<br>
<ul class="nav nav-pills navtab-bg">
<li class="nav-item d-flex justify-content-center align-items-center">
<a href="#general-q-tab" data-toggle="tab" aria-expanded="false" class="nav-link px-3 py-1 active-tab" id="general_tab">
<span class="mr-1"><i class="mdi mdi-contacts"></i></span>
<span class="d-none d-sm-inline-block dash-tab-font">Data From Client</span>
</a>
</li>
<li class="nav-item d-flex justify-content-center align-items-center">
<a href="#KYC-DOC-tab" data-toggle="tab" aria-expanded="true" class="nav-link px-3 py-1" id="kyc_tab">
<span class="mr-1"><i class="mdi mdi-file"></i></span>
<span class="d-none d-sm-inline-block dash-tab-font">Insurer or TPA Data</span>
</a>
</li>
<li class="nav-item d-flex justify-content-center align-items-center">
<a href="#HR-DOC-tab" data-toggle="tab" aria-expanded="true" class="nav-link px-3 py-1" id="hr_tab">
<span class="mr-1"><i class="mdi mdi-file"></i></span>
<span class="d-none d-sm-inline-block dash-tab-font">HR Uploaded Files</span>
</a>
</li>
</ul>
<div class="tab-wrapper position-relative">
<ul class="nav nav-pills navtab-bg " id="myTab">
<li class="nav-item d-flex justify-content-center align-items-center">
<button class="scroll-btn left-btn" type="button">&#9664;</button>
</li>
<li class="nav-item d-flex justify-content-center align-items-center">
<a href="#general-q-tab" data-toggle="tab" aria-expanded="false" class="nav-link px-3 py-2 active-tab " 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 d-flex justify-content-center align-items-center">
<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="mdi mdi-file"></i></span>
<span class="d-none d-sm-inline-block ">Insurer or TPA Data</span>
</a>
</li>
<li class="nav-item d-flex justify-content-center align-items-center">
<a href="#HR-DOC-tab" data-toggle="tab" aria-expanded="true" class="nav-link px-3 py-2" id="hr_tab">
<span class="mr-1"><i class="mdi mdi-file"></i></span>
<span class="d-none d-sm-inline-block ">HR Uploaded Files</span>
</a>
</li>
<li class="nav-item d-flex justify-content-center align-items-center">
<!-- Right Arrow -->
<button class="scroll-btn right-btn" type="button">&#9654;</button>
</li>
</ul>
</div>
<div class="tab-content">
<?php include('employee_upload.php'); ?>
<?php include('insurer_or_tpa_data.php'); ?>
@ -107,7 +112,7 @@
function formatTextToCamelCase(str) {
return str
.replace(/_/g, ' ') // replace underscores with spaces
.toLowerCase() // convert everything to lowercase
.toLowerCase() // convert everything to lowercase
.replace(/\b\w/g, char => char.toUpperCase()); // capitalize each word
}
</script>

View File

@ -80,19 +80,19 @@
<thead class="">
<tr>
<th>S.NO</th>
<th>Policy Type</th>
<th>Event Type</th>
<th>Upload/Download</th>
<th>Template</th>
<th>Action</th>
<th>S.NO&nbsp;</th>
<th>Policy Type&nbsp;</th>
<th>Event Type&nbsp;</th>
<th>Upload/Download&nbsp;</th>
<th>Template&nbsp;</th>
<th>Action&nbsp;</th>
</tr>
</thead>
<tbody>
<?php if(isset($insurer_templete_list)){ ?>
<?php foreach($insurer_templete_list as $key => $value ){ ?>
<tr>
<td><?= $key+1; ?></td>
<td class="text-center"><?= $key+1; ?></td>
<td><?= $value['policy_type']; ?></td>
<td><?= $events[$value['event_name']]; ?></td>
<td><?= $value['type_name'] == 'import' ? 'Upload' : 'Download'; ?></td>

View File

@ -1,6 +1,5 @@
<style>
.custom-dropdown-menu {
.custom-dropdown-menu {
display: none;
position: absolute;
background-color: #ffffff !important;
@ -10,311 +9,323 @@
min-width: 10rem;
z-index: 9999;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
}
.custom-dropdown-menu .dropdown-item {
.custom-dropdown-menu .dropdown-item {
display: block !important;
width: 100% !important;
padding: 0.5rem 1rem !important;
color: #212529 !important;
text-decoration: none !important;
background-color: transparent !important;
}
}
.custom-dropdown-menu .dropdown-item:hover {
.custom-dropdown-menu .dropdown-item:hover {
background-color: #f8f9fa !important;
color: #16181b !important;
cursor: pointer !important;
}
}
.btn-color{
background-color: rgba(52, 174, 178, 1);
color: white;
border:1px solid rgba(52, 174, 178, 1);
}
.btn-color {
background-color: rgba(52, 174, 178, 1);
color: white;
border: 1px solid rgba(52, 174, 178, 1);
}
.btn-color:hover{
.btn-color:hover {
background-color: rgba(41, 139, 142, 1);
color: white;
border:1px solid rgba(41, 139, 142, 1);
}
border: 1px solid rgba(41, 139, 142, 1);
}
</style>
<div class="row" id="insurer_list">
<div class="container-fluid-min">
<div class="row" id="insurer_list">
<div class="col-12">
<div class="card">
<div class="card-body maincard">
<div class="row" style="margin-bottom:1rem;">
<div class="card">
<div class="card-body maincard">
<!-- <div class="row" style="margin-bottom:1rem;">
<div class="col-6" style="align-self: center;">
<h4 style="position: relative;">Insurers</h4>
</div>
</div>
<table data-custom-table-css="table" class="table table-sm table-hover m-0 table-centered dt-responsive nowrap w-100" cellspacing="0"
id="tickets-table">
<thead class="bg-light">
<tr>
<th class="font-weight-medium">Name</th>
<th class="font-weight-medium">Type</th>
<th class="font-weight-medium">Action</th>
</tr>
</thead>
</div> -->
<table data-custom-table-css="table" class="table table-sm table-hover m-0 table-centered dt-responsive nowrap w-100" cellspacing="0"
id="tickets-table">
<thead class="bg-light">
<tr>
<th class="font-weight-medium">Name</th>
<th class="font-weight-medium">Type</th>
<th class="font-weight-medium">Action</th>
</tr>
</thead>
<tbody>
<?php if(is_array($insurerList)) {foreach($insurerList as $row){ ?>
<tr>
<td><?php echo $row['name']; ?> ( <?php echo $row['short_name']; ?> ) </td>
<td><?php echo $row['type']; ?></td>
<td>
<div class="btn-group dropdown">
<a href="javascript: void(0);" class="dropdown-toggle arrow-none btn btn-light btn-sm" data-toggle="dropdown"aria-expanded="false"><i class="mdi mdi-dots-horizontal"></i></a>
<div class="dropdown-menu dropdown-menu-right">
<a class="dropdown-item" href="<?= base_url("master/insurer/list/"); ?><?= $row['id'];?>"><i class="mdi mdi-pencil mr-2 text-muted font-18 vertical-middle"></i>Edit</a>
<a class="dropdown-item" data-id="<?= $row['id'];?>" onclick="removeInsurer(this)"><i class="mdi mdi-delete mr-2 text-muted font-18 vertical-middle"></i>Delete</a>
</div>
</div>
</td>
</tr>
<?php }}?>
<tbody>
<?php if (is_array($insurerList)) {
foreach ($insurerList as $row) { ?>
<tr>
<td><?php echo $row['name']; ?> ( <?php echo $row['short_name']; ?> ) </td>
<td><?php echo $row['type']; ?></td>
<td>
<div class="btn-group dropdown">
<a href="javascript: void(0);" class="dropdown-toggle arrow-none btn btn-light btn-sm" data-toggle="dropdown" aria-expanded="false"><i class="mdi mdi-dots-horizontal"></i></a>
<div class="dropdown-menu dropdown-menu-right">
<a class="dropdown-item" href="<?= base_url("master/insurer/list/"); ?><?= $row['id']; ?>"><i class="mdi mdi-pencil mr-2 text-muted font-18 vertical-middle"></i>Edit</a>
<a class="dropdown-item" data-id="<?= $row['id']; ?>" onclick="removeInsurer(this)"><i class="mdi mdi-delete mr-2 text-muted font-18 vertical-middle"></i>Delete</a>
</div>
</div>
</td>
</tr>
<?php }
} ?>
</tbody>
</table>
</div>
</tbody>
</table>
</div>
</div>
</div><!-- end col -->
</div>
</div>
<!-- end row -->
<script>
document.addEventListener("DOMContentLoaded", function () {
document.addEventListener("DOMContentLoaded", function() {
const table = document.getElementById("tickets-table");
// Create custom dropdown
function createCustomDropdown(row) {
// Get the original dropdown items
const originalDropdown = row.querySelector('.dropdown-menu');
if (!originalDropdown) return null;
// Create new dropdown with proper background and spacing
const customDropdown = document.createElement('div');
customDropdown.className = 'custom-dropdown-menu';
// Copy inner content while maintaining icon alignment
customDropdown.innerHTML = originalDropdown.innerHTML;
return customDropdown;
// Get the original dropdown items
const originalDropdown = row.querySelector('.dropdown-menu');
if (!originalDropdown) return null;
// Create new dropdown with proper background and spacing
const customDropdown = document.createElement('div');
customDropdown.className = 'custom-dropdown-menu';
// Copy inner content while maintaining icon alignment
customDropdown.innerHTML = originalDropdown.innerHTML;
return customDropdown;
}
let activeDropdown = null;
// Add click event listener to rows
table.querySelectorAll("tbody tr").forEach(row => {
const customDropdown = createCustomDropdown(row);
if (!customDropdown) return;
document.body.appendChild(customDropdown);
const customDropdown = createCustomDropdown(row);
if (!customDropdown) return;
row.addEventListener("click", function(event) {
// Ignore clicks on the action column
if (event.target.closest('td:last-child')) {
return;
}
document.body.appendChild(customDropdown);
// Hide any active dropdown
if (activeDropdown) {
activeDropdown.style.display = 'none';
}
row.addEventListener("click", function(event) {
// Ignore clicks on the action column
if (event.target.closest('td:last-child')) {
return;
}
// Get click position
const rect = event.target.getBoundingClientRect();
// Position the dropdown with some offset
customDropdown.style.display = 'block';
customDropdown.style.position = 'fixed';
customDropdown.style.left = `${rect.left}px`;
customDropdown.style.top = `${rect.bottom + 5}px`; // Add 5px gap
// Set as active dropdown
activeDropdown = customDropdown;
event.stopPropagation();
});
// Preserve click handlers and add auto-close
customDropdown.querySelectorAll('.dropdown-item').forEach(item => {
item.addEventListener('click', function(e) {
event.preventDefault(e);
const onclickAttr = this.getAttribute('onclick');
if (onclickAttr) {
eval(onclickAttr);
}
const href = this.getAttribute('href');
if (href && href !== '#') {
window.location.href = href;
}
// Close the dropdown after handling the click
if (activeDropdown) {
activeDropdown.style.display = 'none';
activeDropdown = null;
}
e.stopPropagation();
});
// Hide any active dropdown
if (activeDropdown) {
activeDropdown.style.display = 'none';
}
// Get click position
const rect = event.target.getBoundingClientRect();
// Position the dropdown with some offset
customDropdown.style.display = 'block';
customDropdown.style.position = 'fixed';
customDropdown.style.left = `${rect.left}px`;
customDropdown.style.top = `${rect.bottom + 5}px`; // Add 5px gap
// Set as active dropdown
activeDropdown = customDropdown;
event.stopPropagation();
});
// Preserve click handlers and add auto-close
customDropdown.querySelectorAll('.dropdown-item').forEach(item => {
item.addEventListener('click', function(e) {
event.preventDefault(e);
const onclickAttr = this.getAttribute('onclick');
if (onclickAttr) {
eval(onclickAttr);
}
const href = this.getAttribute('href');
if (href && href !== '#') {
window.location.href = href;
}
// Close the dropdown after handling the click
if (activeDropdown) {
activeDropdown.style.display = 'none';
activeDropdown = null;
}
e.stopPropagation();
});
});
});
// Close dropdown when clicking outside
document.addEventListener("click", function() {
if (activeDropdown) {
activeDropdown.style.display = 'none';
activeDropdown = null;
}
if (activeDropdown) {
activeDropdown.style.display = 'none';
activeDropdown = null;
}
});
});
});
</script>
<script>
$(document).ready(function(){
$(document).ready(function() {
$('#tickets-table').DataTable({
dom: "<'row'<'col-sm-0'f><'col-sm-9 text-right'B>>" +
"<'row'<'col-sm-12'tr>>" +
"<'row'<'col-sm-5'i><'col-sm-7'p>>" ,
dom: "<'row'<'col-12 d-flex justify-content-between align-items-center'<'datatable-search dataTables_filter'f><'datatable-buttons dt-buttons'B>>>" +
"<'row'<'col-sm-12'tr>>" +
"<'row'<'col-sm-5'i><'col-sm-7'p>>",
buttons: [
{
extend: 'csv',
text: 'CSV',
title: 'InsurerList',
exportOptions: {
columns: ':not(:last-child)'
}
},
{
text: 'ADD',
className: 'btn btn-color',
action: function () {
window.location.href = "<?= base_url("master/insurer/create"); ?>";
}
}
],
{
text: '<i class="mdi mdi-plus" ></i><span class=" btn-custom"> Add </span>',
className: 'btn app-btn-primary mr-2',
action: function() {
window.location.href = "<?= base_url("master/insurer/create"); ?>";
}
},
{
extend: 'collection',
text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary ',
buttons: [
{
extend: 'csv',
text: '<i class="mdi mdi-file-delimited " ></i><span class=" btn-custom"> CSV </span>',
className: 'app-btn-primary ',
title: 'InsurerList',
exportOptions: {
columns: ':not(:last-child)'
}
}
]
}
],
language: {
search: "_INPUT_",
searchPlaceholder: "Search..."
search: `
<div class="datatable-search-wrapper">
_INPUT_
<i class="mdi mdi-magnify datatable-search-icon"></i>
</div>`,
searchPlaceholder: "Search"
},
paging: true ,
paging: true,
});
})
})
const btnExport = document.querySelector("#btnExport");
const tableElement = document.querySelector("#tickets-table");
const btnExport = document.querySelector("#btnExport");
const tableElement = document.querySelector("#tickets-table");
btnExport.addEventListener("click", () => {
const obj = new csvExport(tableElement);
const csvData = obj.exportCsv();
const blob = new Blob([csvData], { type: "text/csv" });
const url = URL.createObjectURL(blob);
const a = document.createElement("a");
a.href = url;
a.download = "UserList.csv";
a.click();
btnExport.addEventListener("click", () => {
const obj = new csvExport(tableElement);
const csvData = obj.exportCsv();
const blob = new Blob([csvData], {
type: "text/csv"
});
const url = URL.createObjectURL(blob);
const a = document.createElement("a");
a.href = url;
a.download = "UserList.csv";
a.click();
setTimeout(() => {
URL.revokeObjectURL(url);
}, 500);
});
setTimeout(() => {
URL.revokeObjectURL(url);
}, 500);
});
class csvExport {
constructor(table, header = true) {
this.table = table;
this.rows = Array.from(table.querySelectorAll("tr"));
if (!header && this.rows[0].querySelectorAll("th").length) {
this.rows.shift();
}
}
exportCsv() {
const lines = [];
const ncols = this._longestRow();
for (const row of this.rows) {
let line = "";
for (let i = 0; i < ncols - 1; i++) { // Exclude the last column
if (row.children[i] !== undefined) {
line += csvExport.safeData(row.children[i]);
}
line += i !== ncols - 2 ? "," : ""; // Adjusted for the last column exclusion
class csvExport {
constructor(table, header = true) {
this.table = table;
this.rows = Array.from(table.querySelectorAll("tr"));
if (!header && this.rows[0].querySelectorAll("th").length) {
this.rows.shift();
}
lines.push(line);
}
return lines.join("\n");
}
_longestRow() {
return this.rows.reduce((length, row) => (row.childElementCount > length ? row.childElementCount : length), 0);
}
exportCsv() {
const lines = [];
const ncols = this._longestRow();
for (const row of this.rows) {
let line = "";
for (let i = 0; i < ncols - 1; i++) { // Exclude the last column
if (row.children[i] !== undefined) {
line += csvExport.safeData(row.children[i]);
}
line += i !== ncols - 2 ? "," : ""; // Adjusted for the last column exclusion
}
lines.push(line);
}
return lines.join("\n");
}
static safeData(td) {
let data = td.textContent;
//Replace all double quote to two double quotes
data = data.replace(/"/g, `""`);
//Replace , and \n to double quotes
data = /[",\n"]/.test(data) ? `"${data}"` : data;
return data;
_longestRow() {
return this.rows.reduce((length, row) => (row.childElementCount > length ? row.childElementCount : length), 0);
}
static safeData(td) {
let data = td.textContent;
//Replace all double quote to two double quotes
data = data.replace(/"/g, `""`);
//Replace , and \n to double quotes
data = /[",\n"]/.test(data) ? `"${data}"` : data;
return data;
}
}
}
function removeInsurer(element) {
Swal.fire({
title: "Are you sure?",
text: "You need to remove this insurer.",
icon: "info",
showCancelButton: true,
confirmButtonColor: "#3085d6",
confirmButtonText: "Yes",
title: "Are you sure?",
text: "You need to remove this insurer.",
icon: "info",
showCancelButton: true,
confirmButtonColor: "#3085d6",
confirmButtonText: "Yes",
}).then((result) => {
if (result.isConfirmed) {
var id = element.getAttribute('data-id');
var form_action = '<?= base_url("master/insurer/remove/") ?>' + id;
$.ajax({
url: form_action,
type: "GET",
dataType: 'json',
processData: false,
contentType: false,
success: function(res) {
// console.log(res.status == true);
if(res){
if (res.status == true) {
toastr.success('Insurer removed successfully', 'success');
location.reload();
} else {
toastr.warning('Failed to remove insurer', 'warning');
}
}
},
error: function (xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
toastr.warning('Failed to remove insurer', 'warning');
}
});
if (result.isConfirmed) {
var id = element.getAttribute('data-id');
var form_action = '<?= base_url("master/insurer/remove/") ?>' + id;
$.ajax({
url: form_action,
type: "GET",
dataType: 'json',
processData: false,
contentType: false,
success: function(res) {
// console.log(res.status == true);
if (res) {
if (res.status == true) {
toastr.success('Insurer removed successfully', 'success');
location.reload();
} else {
toastr.warning('Failed to remove insurer', 'warning');
}
}
},
error: function(xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
toastr.warning('Failed to remove insurer', 'warning');
}
});
}
});
}
</script>

View File

@ -20,34 +20,44 @@
<span class="title-text ">Insurer</span>
</h4>
</div>
<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-tab active">
<span class="mr-1"><i class="mdi mdi-contacts"></i></span>
<span class="d-none d-sm-inline-block">General</span>
</a>
</li>
<li class="nav-item">
<a href="#branch-tab" data-toggle="tab" aria-expanded="false" class="nav-link px-3 py-2" id="insurer_branch_contacts_id">
<span class="mr-1"><i class="mdi mdi-source-branch"></i></span>
<span class="d-none d-sm-inline-block">Branch & Contacts</span>
</a>
</li>
<?php if(isset($insurer['id'])){ ?>
<div class="tab-wrapper position-relative">
<ul class="nav nav-pills navtab-bg" id="myTab">
<li class="nav-item d-flex justify-content-center align-items-center">
<button class="scroll-btn left-btn" type="button">&#9664;</button>
</li>
<li class="nav-item">
<a href="#template-tab" data-toggle="tab" aria-expanded="false" class="nav-link px-3 py-2" id="insurer_export_templete">
<span class="mr-1"><i class="mdi mdi-file-export font-16"></i></span>
<span class="d-none d-sm-inline-block">Insurer Download Templete</span>
<a href="#general-q-tab" data-toggle="tab" aria-expanded="false"
class="nav-link px-3 py-2 active-tab active">
<span class="mr-1"><i class="mdi mdi-contacts"></i></span>
<span class="d-none d-sm-inline-block">General</span>
</a>
</li>
<li class="nav-item">
<a href="#branch-tab" data-toggle="tab" aria-expanded="false" class="nav-link px-3 py-2" id="insurer_branch_contacts_id">
<span class="mr-1"><i class="mdi mdi-source-branch"></i></span>
<span class="d-none d-sm-inline-block">Branch & Contacts</span>
</a>
</li>
<?php } ?>
<?php if (isset($insurer['id'])) { ?>
<li class="nav-item">
<a href="#template-tab" data-toggle="tab" aria-expanded="false" class="nav-link px-3 py-2" id="insurer_export_templete">
<span class="mr-1"><i class="mdi mdi-file-export font-16"></i></span>
<span class="d-none d-sm-inline-block">Insurer Download Templete</span>
</a>
</li>
<?php } ?>
<li class="nav-item d-flex justify-content-center align-items-center">
<!-- Right Arrow -->
<button class="scroll-btn right-btn" type="button">&#9654;</button>
</li>
</ul>
</div>
</ul>
<div class="tab-content">
<?php include('insurer_basic_info.php'); ?>
<?php include('insurer_branch.php'); ?>
@ -60,17 +70,18 @@
<script>
function insurer_branch_contact() {
var check_insurer_id = $('#insurer_General_PrimaryKey');
if(check_insurer_id[0].value == '' || check_insurer_id[0].value == null || check_insurer_id[0].value == 0){
if (check_insurer_id[0].value == '' || check_insurer_id[0].value == null || check_insurer_id[0].value == 0) {
$('#btnBranchAdd').hide();
toastr.warning('First Add the Insurer!', 'warning',{timeOut: 2000});
}else{
// if ($('#btnBranchBack')[0].style.display == 'none') {
$('#btnBranchAdd').show();
// }
toastr.warning('First Add the Insurer!', 'warning', {
timeOut: 2000
});
} else {
// if ($('#btnBranchBack')[0].style.display == 'none') {
$('#btnBranchAdd').show();
// }
}
}
@ -79,6 +90,4 @@
insurer_branch_contact();
});
</script>
</script>

View File

@ -10,11 +10,21 @@
<div class="col-xl-12">
<div id="accordion" class="mb-3">
<div class="card mb-1">
<h5 class="m-1">
<h4 class="m-1">
<span>Filters</span>
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseOne" aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</h5>
</h4>
<!-- <label id="filterAccordion" class="m-1 d-flex justify-content-between align-items-center">
<span class="font-color-black">Filters</span>
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseOne" aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</label> -->
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion">
<div class="card-body">
<!-- <div class="text-center"> -->
@ -48,7 +58,7 @@
<div class="form-row">
<div class="form-group col-md-4">
<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>
<option value="">Select</option>

File diff suppressed because it is too large Load Diff

View File

@ -1,68 +1,74 @@
<div class="row">
<div class="col-xl-12">
<div id="accordion" class="mb-3">
<div class="card mb-1">
<h5 class="m-1">
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseOne"
aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</h5>
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion">
<div class="card-body">
<!-- <div class="text-center"> -->
<div class="form-row">
<div class="form-group col-md-4" id="date_div">
<label>Date<span class="text-danger"></span></label>
<div id="reportrange" class="form-control" style="background: #fff; cursor: pointer; padding: 5px 10px; border: 1px solid #ccc; width: 100%">
<i class="mdi mdi-calendar-blank"></i>&nbsp;
<span></span> <i class="mdi mdi-menu-down"></i>
<div class="container-fluid-min">
<div class="col-xl-12" id="outstanding_filter">
<div class="card-body">
<div id="accordion" class="mb-3">
<div class="card mb-1">
<h4 class="m-1">
<span>Filter</span>
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseOne"
aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</h4>
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion">
<div class="card-body">
<!-- <div class="text-center"> -->
<div class="form-row">
<div class="form-group col-md-4" id="date_div">
<label>Date<span class="text-danger"></span></label>
<div class="input-icon">
<input type="text" id="reportrange" class="form-control" readonly style="caret-color: transparent;">
<i class="mdi mdi-calendar-blank-outline additional-icon"></i>
</div>
<input type="hidden" id="startDate" value=<?= $default_start ?>>
<input type="hidden" id="endDate" value=<?= $default_end ?>>
</div>
<input type="hidden" id="startDate" value=<?= $default_start ?>>
<input type="hidden" id="endDate" value=<?= $default_end ?>>
<div class="form-group col-md-4">
<label>Category<span class="text-danger"> *</span></label> <br />
<select name="category" class="form-control" id="category" required>
<option value="">Select</option>
<?php foreach ($categories as $category => $key) : ?>
<option value="<?= $key ?>"><?= $category ?></option>
<?php endforeach ?>
</select>
</div>
<div class="form-group col-md-4">
<label>Report Type<span class="text-danger"> *</span></label> <br />
<select class="form-control" id="report_type" required>
<option value="0">Select</option>
<?php foreach ($report_type as $reports => $key) : ?>
<option value="<?= $key ?>"><?= $reports ?></option>
<?php endforeach ?>
</select>
</div>
</div>
<div class="row justify-content-end">
<div class="form-group col-md-4">
<label>Category<span class="text-danger"> *</span></label> <br />
<select name="category" class="form-control" id="category" required>
<option value="">Select</option>
<?php foreach ($categories as $category => $key) : ?>
<option value="<?= $key ?>"><?= $category ?></option>
<?php endforeach ?>
</select>
<div class="col-auto">
<a href="#" class="btn btn-primary waves-effect waves-light" id="get-report-page" onclick="fetchReportPage(event);">Submit</a>
</div>
</div>
<div class="form-group col-md-4">
<label>Report Type<span class="text-danger"> *</span></label> <br />
<select class="form-control" id="report_type" required>
<option value="0">Select</option>
<?php foreach ($report_type as $reports => $key) : ?>
<option value="<?= $key ?>"><?= $reports ?></option>
<?php endforeach ?>
</select>
</div>
<!-- </div> -->
</div>
<div class="row justify-content-end">
<div class="col-auto">
<a href="#" class="btn btn-primary waves-effect waves-light" id="get-report-page" onclick="fetchReportPage(event);">Submit</a>
</div>
</div>
<!-- </div> -->
</div>
</div>
</div>
</div>
</div>
</div>
<div class="card mb-1">
</div>
<div id="report"></div>
</div>
<script>
$(function() {
@ -73,7 +79,7 @@
var end = moment(end, 'DD/MM/YYYY');
function cb(start, end) {
$('#reportrange span').html(start.format('D-MM-YYYY') + ' - ' + end.format('D-MM-YYYY'));
$('#reportrange').html(start.format('D-MM-YYYY') + ' - ' + end.format('D-MM-YYYY'));
$('#startDate').val(start.format('DD-MM-YYYY'));
$('#endDate').val(end.format('DD-MM-YYYY'));
}
@ -81,6 +87,9 @@
$('#reportrange').daterangepicker({
startDate: start,
endDate: end,
locale: {
format: 'DD-MM-YYYY'
},
ranges: {
'Today': [moment(), moment()],
'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
@ -96,16 +105,16 @@
});
</script>
<script>
$('#category').on('click', function(){
$('#category').on('click', function() {
var choosed_option = $('#category').val();
$("#report_type").val('0');
if (choosed_option == 'life' ){
$("#report_type option[value='insurer']").show();
$("#report_type option[value='bap']").hide();
$("#report_type option[value='bapClient']").hide();
$("#report_type option[value='bapInsurer']").hide();
$("#report_type option[value='client']").show();
if (choosed_option == 'life') {
$("#report_type option[value='insurer']").show();
$("#report_type option[value='bap']").hide();
$("#report_type option[value='bapClient']").hide();
$("#report_type option[value='bapInsurer']").hide();
$("#report_type option[value='client']").show();
} else if (choosed_option == 'nonLife') {
$("#report_type option[value='insurer']").show();
@ -138,11 +147,11 @@
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
}else{
} else {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
let message = response.message;
toastr.error(message,'ERROR');
toastr.error(message, 'ERROR');
}

View File

@ -205,24 +205,37 @@ $(document).ready(function() {
dom: "<'row'<'col-sm-6'f><'col-sm-6 text-right'B>>" + // Filter left, buttons right
"<'row'<'col-sm-12'tr>>" +
"<'row'<'col-sm-5'i><'col-sm-7'p>>", // Pagination at the bottom, without page length selector
buttons: [{
extend: 'csv',
text: 'CSV',
title: 'IRDA-BAP-CLIENT-List',
},
{
extend: 'excel',
text: 'Excel',
title: 'IRDA-BAP-CLIENT-List',
exportOptions: {
orthogonal: 'sort'
},
}
],
buttons: [
{
extend: 'collection',
text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary ',
buttons: [
{
extend: 'csv',
text: '<i class="mdi mdi-file-delimited " ></i><span class=" btn-custom"> CSV </span>',
className: 'app-btn-primary ',
title: 'IRDA-BAP-CLIENT-List',
},
{
extend: 'excel',
text: '<i class="mdi mdi-file-excel " ></i><span class=" btn-custom"> EXCEL </span>',
title: 'IRDA-BAP-CLIENT-List',
exportOptions: {
orthogonal: 'sort'
},
className: 'app-btn-primary ',
}
]
}
],
language: {
search: "_INPUT_",
searchPlaceholder: "Search..."
search: `
<div class="datatable-search-wrapper">
_INPUT_
<i class="mdi mdi-magnify datatable-search-icon"></i>
</div>`,
searchPlaceholder: "Search"
},
paging: true, // Enable pagination
pageLength: 20, // Set default number of rows per page (optional)

View File

@ -238,62 +238,128 @@ $(document).ready(function() {
dom: "<'row'<'col-sm-6'f><'col-sm-6 text-right'B>>" + // Filter left, buttons right
"<'row'<'col-sm-12'tr>>" +
"<'row'<'col-sm-5'i><'col-sm-7'p>>", // Pagination at the bottom, without page length selector
buttons: [{
extend: 'csv',
text: 'CSV',
title: 'IRDA-BAP-INSURER-List',
},
{
extend: 'excel',
text: 'Excel',
title: 'IRDA-BAP-INSURER-List',
customize: function(xlsx) {
var sheet = xlsx.xl.worksheets['sheet1.xml'];
var total = 0;
// buttons: [{
// extend: 'csv',
// text: 'CSV',
// title: 'IRDA-BAP-INSURER-List',
// },
// {
// extend: 'excel',
// text: 'Excel',
// title: 'IRDA-BAP-INSURER-List',
// customize: function(xlsx) {
// var sheet = xlsx.xl.worksheets['sheet1.xml'];
// var total = 0;
// Find cells in column AB (28th column in Excel)
$('row c[r^="AB"]', sheet).each(function() {
var value = parseFloat($('v', this)
.text()); // Get the value inside the cell
if (!isNaN(value)) {
total += value;
}
});
// // Find cells in column AB (28th column in Excel)
// $('row c[r^="AB"]', sheet).each(function() {
// var value = parseFloat($('v', this)
// .text()); // Get the value inside the cell
// if (!isNaN(value)) {
// total += value;
// }
// });
// Get the last row index and append the total row
var lastRow = $('row:last', sheet);
var rowIndex = parseInt(lastRow.attr('r')) +
2; // Find the next row index
var totalRow = '<row r="' + rowIndex + '">' +
'<c t="inlineStr" r="AA' + rowIndex +
'"><is><t>Total</t></is></c>' + // Insert "Total" in AA
'<c t="n" r="AB' + rowIndex + '"><v>' + total.toFixed(2) +
'</v></c>' + // Insert sum in AB
'</row>';
// // Get the last row index and append the total row
// var lastRow = $('row:last', sheet);
// var rowIndex = parseInt(lastRow.attr('r')) +
// 2; // Find the next row index
// var totalRow = '<row r="' + rowIndex + '">' +
// '<c t="inlineStr" r="AA' + rowIndex +
// '"><is><t>Total</t></is></c>' + // Insert "Total" in AA
// '<c t="n" r="AB' + rowIndex + '"><v>' + total.toFixed(2) +
// '</v></c>' + // Insert sum in AB
// '</row>';
// Append the new total row to the sheet
$(sheet).find('sheetData').append(totalRow);
},
exportOptions: {
orthogonal: 'sort'
},
customizeData: function(data) {
for (var i = 0; i < data.body.length; i++) {
for (var j = 0; j < data.body[i].length; j++) {
// Check if the column is the 9th index (10th column)
if (j === 9) {
data.body[i][j] = '\u200C' + data.body[i][j];
}
}
}
// // Append the new total row to the sheet
// $(sheet).find('sheetData').append(totalRow);
// },
// exportOptions: {
// orthogonal: 'sort'
// },
// customizeData: function(data) {
// for (var i = 0; i < data.body.length; i++) {
// for (var j = 0; j < data.body[i].length; j++) {
// // Check if the column is the 9th index (10th column)
// if (j === 9) {
// data.body[i][j] = '\u200C' + data.body[i][j];
// }
// }
// }
// }
// }
// ],
buttons: [
{
extend: 'collection',
text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary ',
buttons: [
{
extend: 'csv',
text: '<i class="mdi mdi-file-delimited " ></i><span class=" btn-custom"> CSV </span>',
className: 'app-btn-primary ',
title: 'IRDA-BAP-INSURER-List',
},
{
extend: 'excel',
text: '<i class="mdi mdi-file-excel " ></i><span class=" btn-custom"> EXCEL </span>',
className: 'app-btn-primary ',
title: 'IRDA-BAP-INSURER-List',
customize: function(xlsx) {
var sheet = xlsx.xl.worksheets['sheet1.xml'];
var total = 0;
// Find cells in column AB (28th column in Excel)
$('row c[r^="AB"]', sheet).each(function() {
var value = parseFloat($('v', this)
.text()); // Get the value inside the cell
if (!isNaN(value)) {
total += value;
}
});
// Get the last row index and append the total row
var lastRow = $('row:last', sheet);
var rowIndex = parseInt(lastRow.attr('r')) +
2; // Find the next row index
var totalRow = '<row r="' + rowIndex + '">' +
'<c t="inlineStr" r="AA' + rowIndex +
'"><is><t>Total</t></is></c>' + // Insert "Total" in AA
'<c t="n" r="AB' + rowIndex + '"><v>' + total.toFixed(2) +
'</v></c>' + // Insert sum in AB
'</row>';
// Append the new total row to the sheet
$(sheet).find('sheetData').append(totalRow);
},
exportOptions: {
orthogonal: 'sort'
},
customizeData: function(data) {
for (var i = 0; i < data.body.length; i++) {
for (var j = 0; j < data.body[i].length; j++) {
// Check if the column is the 9th index (10th column)
if (j === 9) {
data.body[i][j] = '\u200C' + data.body[i][j];
}
}
}
}
}
]
}
}
],
],
language: {
search: "_INPUT_",
searchPlaceholder: "Search..."
search: `
<div class="datatable-search-wrapper">
_INPUT_
<i class="mdi mdi-magnify datatable-search-icon"></i>
</div>`,
searchPlaceholder: "Search"
},
paging: true, // Enable pagination
pageLength: 20, // Set default number of rows per page (optional)

View File

@ -78,62 +78,128 @@ $(document).ready(function() {
dom: "<'row'<'col-sm-6'f><'col-sm-6 text-right'B>>" + // Filter left, buttons right
"<'row'<'col-sm-12'tr>>" +
"<'row'<'col-sm-5'i><'col-sm-7'p>>", // Pagination at the bottom, without page length selector
buttons: [{
extend: 'csv',
text: 'CSV',
title: 'IRDA-BAP-CLIENT-List',
},
{
extend: 'excel',
text: 'Excel',
title: 'IRDA-BAP-CLIENT-List',
customize: function(xlsx) {
var sheet = xlsx.xl.worksheets['sheet1.xml'];
var total = 0;
// buttons: [{
// extend: 'csv',
// text: 'CSV',
// title: 'IRDA-BAP-CLIENT-List',
// },
// {
// extend: 'excel',
// text: 'Excel',
// title: 'IRDA-BAP-CLIENT-List',
// customize: function(xlsx) {
// var sheet = xlsx.xl.worksheets['sheet1.xml'];
// var total = 0;
// Find cells in column AB (28th column in Excel)
$('row c[r^="AB"]', sheet).each(function() {
var value = parseFloat($('v', this)
.text()); // Get the value inside the cell
if (!isNaN(value)) {
total += value;
}
});
// // Find cells in column AB (28th column in Excel)
// $('row c[r^="AB"]', sheet).each(function() {
// var value = parseFloat($('v', this)
// .text()); // Get the value inside the cell
// if (!isNaN(value)) {
// total += value;
// }
// });
// Get the last row index and append the total row
var lastRow = $('row:last', sheet);
var rowIndex = parseInt(lastRow.attr('r')) +
2; // Find the next row index
var totalRow = '<row r="' + rowIndex + '">' +
'<c t="inlineStr" r="AA' + rowIndex +
'"><is><t>Total</t></is></c>' + // Insert "Total" in AA
'<c t="n" r="AB' + rowIndex + '"><v>' + total.toFixed(2) +
'</v></c>' + // Insert sum in AB
'</row>';
// // Get the last row index and append the total row
// var lastRow = $('row:last', sheet);
// var rowIndex = parseInt(lastRow.attr('r')) +
// 2; // Find the next row index
// var totalRow = '<row r="' + rowIndex + '">' +
// '<c t="inlineStr" r="AA' + rowIndex +
// '"><is><t>Total</t></is></c>' + // Insert "Total" in AA
// '<c t="n" r="AB' + rowIndex + '"><v>' + total.toFixed(2) +
// '</v></c>' + // Insert sum in AB
// '</row>';
// Append the new total row to the sheet
$(sheet).find('sheetData').append(totalRow);
},
exportOptions: {
orthogonal: 'sort'
},
customizeData: function(data) {
for (var i = 0; i < data.body.length; i++) {
for (var j = 0; j < data.body[i].length; j++) {
// Check if the column is the 9th index (10th column)
if (j === 9) {
data.body[i][j] = '\u200C' + data.body[i][j];
}
}
}
// // Append the new total row to the sheet
// $(sheet).find('sheetData').append(totalRow);
// },
// exportOptions: {
// orthogonal: 'sort'
// },
// customizeData: function(data) {
// for (var i = 0; i < data.body.length; i++) {
// for (var j = 0; j < data.body[i].length; j++) {
// // Check if the column is the 9th index (10th column)
// if (j === 9) {
// data.body[i][j] = '\u200C' + data.body[i][j];
// }
// }
// }
// }
// }
// ],
buttons: [
{
extend: 'collection',
text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary ',
buttons: [
{
extend: 'csv',
text: '<i class="mdi mdi-file-delimited " ></i><span class=" btn-custom"> CSV </span>',
className: 'app-btn-primary ',
title: 'IRDA-BAP-CLIENT-List',
},
{
extend: 'excel',
text: '<i class="mdi mdi-file-excel " ></i><span class=" btn-custom"> EXCEL </span>',
title: 'IRDA-BAP-CLIENT-List',
className: 'app-btn-primary ',
customize: function(xlsx) {
var sheet = xlsx.xl.worksheets['sheet1.xml'];
var total = 0;
// Find cells in column AB (28th column in Excel)
$('row c[r^="AB"]', sheet).each(function() {
var value = parseFloat($('v', this)
.text()); // Get the value inside the cell
if (!isNaN(value)) {
total += value;
}
});
// Get the last row index and append the total row
var lastRow = $('row:last', sheet);
var rowIndex = parseInt(lastRow.attr('r')) +
2; // Find the next row index
var totalRow = '<row r="' + rowIndex + '">' +
'<c t="inlineStr" r="AA' + rowIndex +
'"><is><t>Total</t></is></c>' + // Insert "Total" in AA
'<c t="n" r="AB' + rowIndex + '"><v>' + total.toFixed(2) +
'</v></c>' + // Insert sum in AB
'</row>';
// Append the new total row to the sheet
$(sheet).find('sheetData').append(totalRow);
},
exportOptions: {
orthogonal: 'sort'
},
customizeData: function(data) {
for (var i = 0; i < data.body.length; i++) {
for (var j = 0; j < data.body[i].length; j++) {
// Check if the column is the 9th index (10th column)
if (j === 9) {
data.body[i][j] = '\u200C' + data.body[i][j];
}
}
}
}
}
]
}
}
],
],
language: {
search: "_INPUT_",
searchPlaceholder: "Search..."
search: `
<div class="datatable-search-wrapper">
_INPUT_
<i class="mdi mdi-magnify datatable-search-icon"></i>
</div>`,
searchPlaceholder: "Search"
},
paging: true, // Enable pagination
pageLength: 10, // Set default number of rows per page (optional)

View File

@ -44,11 +44,11 @@
<div class="col-12">
<div class="card">
<div class="card-body maincard">
<div class="row" style="margin-bottom:1rem;">
<!-- <div class="row" style="margin-bottom:1rem;">
<div class="col-6" style="align-self: center;">
<h4 style="position: relative;">KYC</h4>
</div>
</div>
</div> -->
<table data-custom-table-css="table" class="table table-sm table-hover m-0 table-centered dt-responsive nowrap w-100" cellspacing="0"
id="tickets-table">
<thead class="bg-light">
@ -175,31 +175,44 @@
$(document).ready(function(){
$('#tickets-table').DataTable({
dom: "<'row'<'col-sm-0'f><'col-sm-9 text-right'B>>" +
dom: "<'row'<'col-12 d-flex justify-content-between align-items-center'<'datatable-search dataTables_filter'f><'datatable-buttons dt-buttons'B>>>" +
"<'row'<'col-sm-12'tr>>" +
"<'row'<'col-sm-5'i><'col-sm-7'p>>" ,
buttons: [
{
extend: 'csv',
text: 'CSV',
title: 'KYCList',
exportOptions: {
columns: ':not(:last-child)'
}
},
{
text: 'ADD',
className: 'btn btn-color',
action: function () {
window.location.href = "<?= base_url("master/kyc/create"); ?>";
}
}
],
{
text: '<i class="mdi mdi-plus" ></i><span class=" btn-custom"> Add </span>',
className: 'btn app-btn-primary mr-2',
action: function(e, dt, node, config) {
window.location.href = "<?= base_url("master/kyc/create"); ?>";
}
},
{
extend: 'collection',
text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary ',
buttons: [
{
extend: 'csv',
text: '<i class="mdi mdi-file-delimited " ></i><span class=" btn-custom"> CSV </span>',
className: 'app-btn-primary ',
title: 'KYCList',
exportOptions: {
columns: ':not(:last-child)'
}
}
]
}
],
language: {
search: "_INPUT_",
searchPlaceholder: "Search..."
search: `
<div class="datatable-search-wrapper">
_INPUT_
<i class="mdi mdi-magnify datatable-search-icon"></i>
</div>`,
searchPlaceholder: "Search"
},
paging: true ,
});

View File

@ -1,33 +1,32 @@
<style>
body {
.multiselect-native-select {
position: relative;
/* bottom: 32px; */
select {
border: 0 !important;
clip: rect(0 0 0 0) !important;
height: 1px !important;
margin: -1px -1px -1px -3px !important;
overflow: hidden !important;
padding: 0 !important;
position: absolute !important;
width: 1px !important;
left: 50%;
top: 30px;
}
}
.multiselect-container {
width: 100% !important;
}
.multiselect-selected-text {
float: left !important;
}
body {
.multiselect-native-select {
position: relative;
/* bottom: 32px; */
select {
border: 0 !important;
clip: rect(0 0 0 0) !important;
height: 1px !important;
margin: -1px -1px -1px -3px !important;
overflow: hidden !important;
padding: 0 !important;
position: absolute !important;
width: 1px !important;
left: 50%;
top: 30px;
}
}
.multiselect-container{
width: 100% !important;
}
.multiselect-selected-text{
float: left !important;
}
}
</style>
<div class="row" id="insurer_add">
@ -50,21 +49,31 @@ body {
<a href="<?= base_url("master/kyc/list"); ?>" ><i class="mdi mdi-arrow-left" style="font-size: 17px;"></i> </a>
</div>
</div> -->
<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-tab active">
<span class="mr-1"><i class="mdi mdi-contacts"></i></span>
<span class="d-none d-sm-inline-block">General</span>
</a>
</li>
<li class="nav-item">
<a href="#branch-tab" data-toggle="tab" aria-expanded="false" class="nav-link px-3 py-2" id="kyc_docs_id">
<span class="mr-1"><i class="mdi mdi-source-branch"></i></span>
<span class="d-none d-sm-inline-block">KYC Docs</span>
</a>
</li>
</ul>
<div class="tab-wrapper position-relative">
<ul class="nav nav-pills navtab-bg" id="myTab">
<li class="nav-item d-flex justify-content-center align-items-center">
<button class="scroll-btn left-btn" type="button">&#9664;</button>
</li>
<li class="nav-item">
<a href="#general-q-tab" data-toggle="tab" aria-expanded="false"
class="nav-link px-3 py-2 active-tab active">
<span class="mr-1"><i class="mdi mdi-contacts"></i></span>
<span class="d-none d-sm-inline-block">General</span>
</a>
</li>
<li class="nav-item">
<a href="#branch-tab" data-toggle="tab" aria-expanded="false" class="nav-link px-3 py-2" id="kyc_docs_id">
<span class="mr-1"><i class="mdi mdi-source-branch"></i></span>
<span class="d-none d-sm-inline-block">KYC Docs</span>
</a>
</li>
<li class="nav-item d-flex justify-content-center align-items-center">
<!-- Right Arrow -->
<button class="scroll-btn right-btn" type="button">&#9654;</button>
</li>
</ul>
</div>
<div class="tab-content">
<?php include('kyc_entity_type_basic_info.php'); ?>
<?php include('kyc_docs.php'); ?>
@ -79,21 +88,23 @@ body {
<script>
function policy_type_branch_contact() {
var check_policy_type_id = $('#kyc_General_PrimaryKey');
console.log(check_policy_type_id.val());
if(check_policy_type_id[0].value == '' || check_policy_type_id[0].value == null || check_policy_type_id[0].value == 0){
if (check_policy_type_id[0].value == '' || check_policy_type_id[0].value == null || check_policy_type_id[0].value == 0) {
$('#btnBranchAdd').hide();
toastr.warning('First Add the KYC Entity Type!', 'warning',{timeOut: 2000});
}else{
toastr.warning('First Add the KYC Entity Type!', 'warning', {
timeOut: 2000
});
} else {
if ($('#btnBranchBack')[0].style.display == 'none') {
$('#btnBranchAdd').show();
}
}
}
document.getElementById("kyc_docs_id").addEventListener("click", function(event) {
event.preventDefault();
policy_type_branch_contact();
});
</script>
</script>

View File

@ -4,37 +4,35 @@
<?php include(__DIR__ . '/../ticket_type_modal.php'); ?>
<!-- Footer Start -->
<div style="display: block;">
<footer class="footer">
<div class="container-fluid">
<div class="row">
<div class="col-md-6">
<script>
document.write(new Date().getFullYear())
</script> &copy; NHANCE
</div>
<!-- <div class="col-md-6">
<div class="text-md-right footer-links d-none d-sm-block">
<a href="javascript:void(0);">About Us</a>
<a href="javascript:void(0);">Help</a>
<a href="javascript:void(0);">Contact Us</a>
</div>
</div> -->
</div>
</div>
</footer>
</div>
<!-- end Footer -->
</div>
<!-- ============================================================== -->
<!-- End Page content -->
<!-- ============================================================== -->
<!-- Footer Start -->
<div style="background-color: white !important;">
<footer class="footer" style="background-color: white !important;">
<div class="">
<div class="row">
<div class="col-md-6">
<script>
document.write(new Date().getFullYear())
</script> &copy; NHANCE
</div>
<!-- <div class="col-md-6">
<div class="text-md-right footer-links d-none d-sm-block">
<a href="javascript:void(0);">About Us</a>
<a href="javascript:void(0);">Help</a>
<a href="javascript:void(0);">Contact Us</a>
</div>
</div> -->
</div>
</div>
</footer>
</div>
<!-- end Footer -->
</div>
<!-- END wrapper -->
@ -157,8 +155,43 @@
"closeButton": true,
};
</script>
<script>
$(document).ready(function() {
var pageName = "<?= esc($page_name ?? '') ?>";
var titleHtml = (pageName && pageName !== "Dashboard") ?
`<h3 style="margin-right:5px !important;">${pageName}</h3>` :
" ";
if (pageName && pageName == "Dashboard") {
titleHtml = `<h6 style="margin-right:5px !important;">Welcome <?= esc(get_session_userdata()->first_name ?? 'NOT SET') ?></h6>
<h3>Dashboard</h3>`;
}
$(".top-navbar-title").html(titleHtml);
$('#collapseOne').on('show.bs.collapse', function() {
// When open
$('#icon').removeClass('mdi-chevron-down').addClass('mdi-chevron-up');
// $('#filterAccordion').removeAttr("style"); // remove bg/border when open
});
$('#collapseOne').on('hide.bs.collapse', function() {
// When closed
$('#icon').removeClass('mdi-chevron-up').addClass('mdi-chevron-down');
// $('#filterAccordion').css({
// "background-color": "#F5FFFF",
// "border": "2px solid #F5FFFF",
// "border-radius": "10px",
// "box-shadow": "0px 4px 4px 0px #00000040"
// });
});
});
</script>
<script>
var pullNotificationCount = 0;
var pendingActionCount = 0;
@ -175,7 +208,7 @@
// console.log('responce', response)
if(response.status == false){
if (response.status == false) {
$('#notification_count').html('0')
console.log('The session is not set correctly. ')
return;
@ -188,7 +221,7 @@
pullNotificationCount = response.message.length
localStorage.setItem('pullNotificationCount', pullNotificationCount)
@ -332,8 +365,7 @@
// console.log(response[key].length)
// console.log('type', typeof response[key].length)
// console.log('key', response[key])
if(response[key].length != 'undefined' && response[key].length != undefined)
{
if (response[key].length != 'undefined' && response[key].length != undefined) {
pendingActionCount = pendingActionCount + response[key].length;
}
}
@ -342,7 +374,7 @@
let messagesList = $('#messages-list-2');
messagesList.empty();
if (response.inception) {
$.each(response.inception, function(index, item) {
@ -405,7 +437,7 @@
} else {
console.log('response.inception is undefined or null');
}
if (response.correction) {
$.each(response.correction, function(index, item) {
if (item.batch_export_count == 0 || item.batch_import_count == 0) {
@ -476,7 +508,7 @@
}
});
}else{
} else {
console.log('response.correction is undefined or null');
}
@ -554,7 +586,7 @@
}
});
}else{
} else {
console.log('response.deletion is undefined or null');
}
@ -564,46 +596,46 @@
if (item.batch_export_count == 0 || item.batch_import_count == 0) {
var queryParams = {
client_id: item.client_id,
client_policy_id: item.client_policy_id,
client_branch_id: item.branch_id,
event: 'si_enhancement',
actions: 'export',
insurer_or_tpa: 'tpa',
};
var queryParams = {
client_id: item.client_id,
client_policy_id: item.client_policy_id,
client_branch_id: item.branch_id,
event: 'si_enhancement',
actions: 'export',
insurer_or_tpa: 'tpa',
};
const queryString = objectToQueryString(queryParams);
const queryString = objectToQueryString(queryParams);
var url = 'employee/upload?' + queryString + '#KYC-DOC-tab'
////console.log(url)
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 title = 'SI Enhancement Pending';
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 title = 'SI Enhancement Pending';
if (!item.branch_name.toLowerCase().includes('branch')) {
if (!item.branch_name.toLowerCase().includes('branch')) {
//console.log(item.branch_name)
item.branch_name += ' branch';
//console.log(item.branch_name)
item.branch_name += ' branch';
}
}
////console.log(item.branch_name);
////console.log(item.branch_name);
// if (item.batch_export_count > 0) {
// if (item.batch_export_count > 0) {
// title = 'SI Enhancement Import Pending';
// }
// title = 'SI Enhancement Import Pending';
// }
var toast_body_data = item.client_name + '( ' + item.branch_name + ' ) ' + ' - ' + item.policy_name;
////console.log(toast_body_data);
var toast_body_data = item.client_name + '( ' + item.branch_name + ' ) ' + ' - ' + item.policy_name;
////console.log(toast_body_data);
var html = ` <li data-id="" data-url="${url}">
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}" >
@ -625,12 +657,12 @@
</li>`
messagesList.append(html);
messagesList.append(html);
}
}
});
}else{
});
} else {
console.log('response.si_enhancement is undefined or null');
}
@ -665,7 +697,7 @@
//console.log(item.branch_name)
item.branch_name += ' branch';
}
////console.log(item.branch_name);
@ -704,7 +736,7 @@
}
});
}else{
} else {
console.log('response.tpa is undefined or null');
}
@ -713,46 +745,46 @@
$.each(response.uhid, function(index, item) {
if (item.batch_export_count == 0 || item.batch_import_count == 0) {
var queryParams = {
var queryParams = {
client_id: item.client_id,
client_policy_id: item.client_policy_id,
client_branch_id: item.branch_id,
event: 'inception',
insurer_or_tpa: 'insurer',
actions: 'export',
};
client_id: item.client_id,
client_policy_id: item.client_policy_id,
client_branch_id: item.branch_id,
event: 'inception',
insurer_or_tpa: 'insurer',
actions: 'export',
};
const queryString = objectToQueryString(queryParams);
const queryString = objectToQueryString(queryParams);
var url = 'employee/upload?' + queryString + '#KYC-DOC-tab'
//console.log(url)
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 title = 'Insurer Pending';
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 title = 'Insurer Pending';
if (!item.branch_name.toLowerCase().includes('branch')) {
if (!item.branch_name.toLowerCase().includes('branch')) {
//console.log(item.branch_name)
item.branch_name += ' branch';
//console.log(item.branch_name)
item.branch_name += ' branch';
}
}
////console.log(item.branch_name);
////console.log(item.branch_name);
// if (item.batch_export_count > 0) {
// if (item.batch_export_count > 0) {
// title = 'Insurer Import Pending';
// }
// title = 'Insurer Import Pending';
// }
var toast_body_data = item.client_name + '( ' + item.branch_name + ' ) ' + ' - ' + item.policy_name;
////console.log(toast_body_data);
var toast_body_data = item.client_name + '( ' + item.branch_name + ' ) ' + ' - ' + item.policy_name;
////console.log(toast_body_data);
var html = ` <li data-id="" data-url="${url}">
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}" >
@ -774,11 +806,11 @@
</li>`
messagesList.append(html);
messagesList.append(html);
}
});
}else{
} else {
console.log('response.uhid is undefined or null');
}
localStorage.setItem('pendingActionCount', pendingActionCount)
@ -826,9 +858,7 @@
<script>
function formatDate(dateString)
{
function formatDate(dateString) {
// Parse the input date string
let date = new Date(dateString);
@ -856,8 +886,7 @@
return formattedDate;
}
function printCurrentTime()
{
function printCurrentTime() {
var now = new Date();
var hours = now.getHours().toString().padStart(2, '0');
var minutes = now.getMinutes().toString().padStart(2, '0');
@ -867,163 +896,256 @@
return currentTime;
}
</script>
<script>
function checkDuplicateTableFieldValue(tableName, fieldName, value, callback) {
$.ajax({
url: '<?= base_url('util/checkDuplicateTableFieldValue') ?>', // Adjust this to your endpoint in CodeIgniter
type: 'POST',
data: {
table: tableName,
field: fieldName,
value: value
},
dataType: 'json',
success: function(response) {
if (typeof callback === 'function') {
callback(response.isDuplicate); // Pass the result to the callback
}
},
error: function(xhr, status, error) {
console.error('AJAX Error:', error);
}
});
}
function sendAjaxRequestForGlobal(url, method, data = {}, successCallback = null, errorCallback = null) {
$.ajax({
url: url,
method: method,
data: data,
dataType: 'json', // Expected response type
success: function(response) {
// If a success callback is provided, call it with the response
if (successCallback) {
successCallback(response);
}
},
error: function(xhr, status, error) {
// Handle errors if provided error callback
if (errorCallback) {
errorCallback(xhr, status, error);
} else {
function checkDuplicateTableFieldValue(tableName, fieldName, value, callback) {
$.ajax({
url: '<?= base_url('util/checkDuplicateTableFieldValue') ?>', // Adjust this to your endpoint in CodeIgniter
type: 'POST',
data: {
table: tableName,
field: fieldName,
value: value
},
dataType: 'json',
success: function(response) {
if (typeof callback === 'function') {
callback(response.isDuplicate); // Pass the result to the callback
}
},
error: function(xhr, status, error) {
console.error('AJAX Error:', error);
}
}
});
}
function confirmActionSweertAlert(message = "Are you sure?", confirmText = "Yes, Proceed!", cancelText = "Cancel", icon = "warning") {
return Swal.fire({
title: message,
icon: icon,
showCancelButton: true,
confirmButtonColor: "#3085d6",
cancelButtonColor: "#d33",
confirmButtonText: confirmText,
cancelButtonText: cancelText
}).then((result) => {
return result.isConfirmed; // Returns true if confirmed, false otherwise
});
}
});
}
function sendAjaxRequestForGlobal(url, method, data = {}, successCallback = null, errorCallback = null) {
$.ajax({
url: url,
method: method,
data: data,
dataType: 'json', // Expected response type
success: function(response) {
// If a success callback is provided, call it with the response
if (successCallback) {
successCallback(response);
}
},
error: function(xhr, status, error) {
// Handle errors if provided error callback
if (errorCallback) {
errorCallback(xhr, status, error);
} else {
console.error('AJAX Error:', error);
}
}
});
}
function confirmActionSweertAlert(message = "Are you sure?", confirmText = "Yes, Proceed!", cancelText = "Cancel", icon = "warning") {
return Swal.fire({
title: message,
icon: icon,
showCancelButton: true,
confirmButtonColor: "#3085d6",
cancelButtonColor: "#d33",
confirmButtonText: confirmText,
cancelButtonText: cancelText
}).then((result) => {
return result.isConfirmed; // Returns true if confirmed, false otherwise
});
}
</script>
<script>
function restoreDashboardHistoryIfNeeded() {
function restoreDashboardHistoryIfNeeded() {
const dashboardHistoryString = localStorage.getItem('dashboardHistory');
const dashboardHistoryString = localStorage.getItem('dashboardHistory');
if (!dashboardHistoryString) {
console.log("dashboardHistory not found");
return;
}
const dashboardHistory = JSON.parse(dashboardHistoryString);
if (window.location.href === dashboardHistory.dashboard_url) {
const tabSelector = dashboardHistory.tab;
if (tabSelector) {
const tabElement = document.querySelector(`a[href="${tabSelector}"]`);
if (tabElement) {
tabElement.click();
}
}
const functionName = dashboardHistory.function_name;
const params = dashboardHistory.tile_params;
if (functionName && typeof window[functionName] === 'function') {
if(params.majorType == 0 && params.minorType == 0){
window[functionName]();
}else{
window[functionName](params.majorType, params.minorType);
}
}
console.log("inside location match");
}
if (!dashboardHistoryString) {
console.log("dashboardHistory not found");
return;
}
// Run on popstate (back/forward buttons)
window.addEventListener('popstate', restoreDashboardHistoryIfNeeded);
const dashboardHistory = JSON.parse(dashboardHistoryString);
// Run on page load (refresh)
window.addEventListener('DOMContentLoaded', () => {
// slight delay ensures DOM/tab loads completely
setTimeout(restoreDashboardHistoryIfNeeded, 100);
});
if (window.location.href === dashboardHistory.dashboard_url) {
const tabSelector = dashboardHistory.tab;
if (tabSelector) {
const tabElement = document.querySelector(`a[href="${tabSelector}"]`);
if (tabElement) {
tabElement.click();
}
}
const functionName = dashboardHistory.function_name;
const params = dashboardHistory.tile_params;
if (functionName && typeof window[functionName] === 'function') {
if (params.majorType == 0 && params.minorType == 0) {
window[functionName]();
} else {
window[functionName](params.majorType, params.minorType);
}
}
console.log("inside location match");
}
}
// Run on popstate (back/forward buttons)
window.addEventListener('popstate', restoreDashboardHistoryIfNeeded);
// Run on page load (refresh)
window.addEventListener('DOMContentLoaded', () => {
// slight delay ensures DOM/tab loads completely
setTimeout(restoreDashboardHistoryIfNeeded, 100);
});
</script>
<script>
$(document).ready(function() {
$('.img-inactive').on('click', function() {
const activeItem = localStorage.getItem("activeLi");
if (activeItem) {
$('.li-seperate a').removeClass('img-active').addClass('img-inactive');
$('#' + activeItem).children('a').first().removeClass('img-inactive').addClass('img-active');
}
$('.li-seperate').on('click', function() {
// reset all anchors
$('.li-seperate a').removeClass('img-active').addClass('img-inactive');
// only the immediate <a> inside this <li>
$(this).children('a').first().removeClass('img-inactive').addClass('img-active');
localStorage.setItem("activeLi", $(this).attr("id"));
});
});
</script>
<script>
$(document).ready(function() {
$('.nav-link').click(function() {
// change bg color of tab
$('.nav-link').removeClass('active-tab');
$(this).addClass('active-tab');
});
});
$(document).ready(function() {
// find all nav anchors
let $nav = $("ul.nav.nav-pills.navtab-bg");
// check if no anchor has active classes
if ($nav.find("a.active.active-tab").length === 0) {
// add classes to the first anchor
$nav.find("li:first-child a").addClass("active active-tab");
// also need to find the tab name and show only active image
let tab_name = $nav.find("li:first-child a").attr('href').split('-')[0];
tab_name = tab_name.replace('#', '');
switch (tab_name) {
case "leads":
$('.active_leads').show();
$('.inactive_leads').hide();
break;
case "bds":
$('.active_bds').show();
$('.inactive_bds').hide();
break;
case "claims":
$('.active_claims').show();
$('.inactive_claims').hide();
break;
case "pending":
$('.active_pending').show();
$('.inactive_pending').hide();
break;
default:
break;
}
}
});
$(function(){
let $nav = $("#myTab");
$(".left-btn").on("click", function(){
$nav.stop().animate({ scrollLeft: $nav.scrollLeft() - 150 }, 200);
});
$(".right-btn").on("click", function(){
$nav.stop().animate({ scrollLeft: $nav.scrollLeft() + 150 }, 200);
});
});
// function openModal(modalId) {
// console.log('openModal called with ID:', modalId);
// var modalEl = document.getElementById(modalId);
// if (typeof bootstrap !== "undefined" && bootstrap.Modal && typeof bootstrap.Modal.getOrCreateInstance === "function") {
// // ✅ Bootstrap 5
// var modal = bootstrap.Modal.getOrCreateInstance(modalEl);
// modal.show();
// } else if (typeof $ !== "undefined" && typeof $.fn.modal === "function") {
// // ✅ Bootstrap 4
// $('#' + modalId).modal('show');
// } else {
// console.error("No compatible Bootstrap modal found.");
// }
// }
</script>
<script>
$(document).ready(function(){
$('.nav-link').click(function(){
// change bg color of tab
$('.nav-link').removeClass('active-tab');
$(this).addClass('active-tab');
$('.img-c').addClass('img-inactive');
$(this).removeClass('.img-inactive');
$(this).addClass('.img-active');
});
});
</script>
<script>
$(document).ready(function(){
$('.nav-link').click(function(){
function closeModalById(modalId) {
// Get the modal element
var modal = document.getElementById(modalId);
if (!modal) return; // Exit if no modal found
// change bg color of tab
$('.nav-link').removeClass('active-tab');
$(this).addClass('active-tab');
// Hide it by removing "show" or "in" classes and setting display:none
modal.style.display = 'none';
modal.classList.remove('in', 'show'); // 'in' for BS3, 'show' for BS4/5
modal.setAttribute('aria-hidden', 'true');
modal.removeAttribute('aria-modal'); // optional
modal.removeAttribute('role'); // optional
// Remove backdrop if present
var backdrop = document.querySelector('.modal-backdrop');
if (backdrop) backdrop.remove();
});
});
function openModal(modalId) {
var modalEl = document.getElementById(modalId);
if (typeof bootstrap !== "undefined" && bootstrap.Modal) {
// Bootstrap 5
var modal = bootstrap.Modal.getOrCreateInstance(modalEl);
modal.show();
} else if (typeof $ !== "undefined" && typeof $.fn.modal === "function") {
// Bootstrap 4
$('#' + modalId).modal('show');
} else {
console.error("No compatible Bootstrap modal found.");
// Allow page scrolling again
document.body.classList.remove('modal-open');
}
}
</script>
</body>
</html>
</html>

File diff suppressed because it is too large Load Diff

View File

@ -1,369 +1,368 @@
<style>
.col-12 {
max-width: 98% !important;
}
.col-12 {
max-width: 98% !important;
}
</style>
<div class="row" id="lead_filter_div">
<div class="col-12" style="margin-top: -12px;">
<div id="accordion" class="mb-3">
<div class="card mb-1">
<h5 class="m-1">
<div class="row">
<div class="col-md-6" style="position: relative;left: 17px;">
<h4 style="text-align: left; margin-left:30px;">Lead Filter</h4>
</div>
<div class="col-md-6">
<a style="text-align: right;" id="toggleIcon" class="text-dark float-right"
data-toggle="collapse" href="#collapseOne" aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-down mr-1 text-primary"
style="font-size: 28px;"></i>
<div class="container-fluid-min">
<div class="row" id="lead_filter_div">
<div class="col-12" style="margin-top: -12px;">
<div class="card-body">
<div id="accordion" class="mb-3">
<div class="card mb-1">
<h4 class="m-1">
<span>Filter</span>
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseOne"
aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</div>
</div>
</h5>
<div id="collapseOne" class="collapse hide" aria-labelledby="headingOne" data-parent="#accordion">
<div class="card-body">
<div class="form-group">
<div class="form-row">
</h4>
<div class="form-group col-md-3">
<label for="filter_issuer_type"> Issuer Type <span
class="text-danger"></span></label>
<select class="form-control" id="filter_issuer_type" name="filter_issuer_type">
<option value="0">Select</option>
<?php
if (isset($issuer) && count($issuer)) {
foreach ($issuer as $key => $value) {
echo "<option value='" . $key . "'>" . $value . "</option>";
<div id="collapseOne" class="collapse hide" aria-labelledby="headingOne" data-parent="#accordion">
<div class="card-body">
<div class="form-group">
<div class="form-row">
<div class="form-group col-md-3">
<label for="filter_issuer_type"> Issuer Type <span
class="text-danger"></span></label>
<select class="form-control" id="filter_issuer_type" name="filter_issuer_type">
<option value="0">Select</option>
<?php
if (isset($issuer) && count($issuer)) {
foreach ($issuer as $key => $value) {
echo "<option value='" . $key . "'>" . $value . "</option>";
}
}
}
?>
</select>
</div>
?>
</select>
</div>
<div class="form-group col-md-3">
<label for="filter_lead_type"> Lead Type <span class="text-danger"></span></label>
<select class="form-control" id="filter_lead_type" name="filter_lead_type">
<option value="0">Select</option>
<?php
if (isset($lead_type) && count($lead_type)) {
foreach ($lead_type as $key => $value) {
echo "<option value='" . $key . "'>" . $value . "</option>";
<div class="form-group col-md-3">
<label for="filter_lead_type"> Lead Type <span class="text-danger"></span></label>
<select class="form-control" id="filter_lead_type" name="filter_lead_type">
<option value="0">Select</option>
<?php
if (isset($lead_type) && count($lead_type)) {
foreach ($lead_type as $key => $value) {
echo "<option value='" . $key . "'>" . $value . "</option>";
}
}
}
?>
</select>
</div>
?>
</select>
</div>
<div class="form-group col-md-3">
<label for="filter_client_type"> Client Type <span
class="text-danger"></span></label>
<select class="form-control" id="filter_client_type" name="filter_client_type">
<option value="0">Select</option>
<?php
if (isset($client_type) && count($client_type)) {
foreach ($client_type as $key => $value) {
echo "<option value='" . $key . "'>" . $value . "</option>";
<div class="form-group col-md-3">
<label for="filter_client_type"> Client Type <span
class="text-danger"></span></label>
<select class="form-control" id="filter_client_type" name="filter_client_type">
<option value="0">Select</option>
<?php
if (isset($client_type) && count($client_type)) {
foreach ($client_type as $key => $value) {
echo "<option value='" . $key . "'>" . $value . "</option>";
}
}
}
?>
</select>
</div>
?>
</select>
</div>
<div class="form-group col-md-3">
<label for="filter_policy_type"> Policy Type <span
class="text-danger"></span></label>
<select class="form-control" id="filter_policy_type" name="filter_policy_type">
<option value="0">Select</option>
<?php
if (isset($policy_type) && count($policy_type)) {
foreach ($policy_type as $key => $value) {
echo "<option value='" . $value['id'] . "'>" . $value['policy_type'] . "</option>";
<div class="form-group col-md-3">
<label for="filter_policy_type"> Policy Type <span
class="text-danger"></span></label>
<select class="form-control" id="filter_policy_type" name="filter_policy_type">
<option value="0">Select</option>
<?php
if (isset($policy_type) && count($policy_type)) {
foreach ($policy_type as $key => $value) {
echo "<option value='" . $value['id'] . "'>" . $value['policy_type'] . "</option>";
}
}
}
?>
</select>
</div>
<div class="form-group col-md-3">
<label for="filter_client_id">Client<span class="text-danger"></span></label>
<select class="form-control" id="filter_client_id" name="filter_client_id">
<option value="0">Select</option>
</select>
</div>
?>
</select>
</div>
<div class="form-group col-md-3">
<label for="filter_client_id">Client<span class="text-danger"></span></label>
<select class="form-control" id="filter_client_id" name="filter_client_id">
<option value="0">Select</option>
</select>
</div>
<div class="form-group col-md-3">
<label for="filter_client_branch_id">Client Branch<span
class="text-danger"></span></label>
<select class="form-control" id="filter_client_branch_id"
name="filter_client_branch_id">
<option value="0">Select</option>
</select>
</div>
<div class="form-group col-md-3">
<label for="filter_client_branch_id">Client Branch<span
class="text-danger"></span></label>
<select class="form-control" id="filter_client_branch_id"
name="filter_client_branch_id">
<option value="0">Select</option>
</select>
</div>
<div class="form-group col-md-3">
<label for="filter_lead_status">Status<span class="text-danger"></span></label>
<select class="form-control" id="filter_lead_status" name="filter_lead_status">
<option value="0">Select</option>
<?php
if (isset($lead_status) && count($lead_status)) {
foreach ($lead_status as $key => $value) {
echo "<option value=" . $key . ">" . $value . "</option>";
<div class="form-group col-md-3">
<label for="filter_lead_status">Status<span class="text-danger"></span></label>
<select class="form-control" id="filter_lead_status" name="filter_lead_status">
<option value="0">Select</option>
<?php
if (isset($lead_status) && count($lead_status)) {
foreach ($lead_status as $key => $value) {
echo "<option value=" . $key . ">" . $value . "</option>";
}
}
}
?>
</select>
</div>
?>
</select>
</div>
<div class="form-group col-md-12 text-right m-b-0" style="margin-bottom: -15px;">
<a href="<?= base_url("/leads/list"); ?>" class="btn btn-secondary"
id="clear-filters">Clear</a>
<a class="btn btn-primary" id="get-emp-list"
onclick="fetchTicketListData();">Submit</a>
</div>
<div class="form-group col-md-12 text-right m-b-0" style="margin-bottom: -15px;">
<a href="<?= base_url("/leads/list"); ?>" class="btn btn-secondary"
id="clear-filters">Clear</a>
<a class="btn btn-primary" id="get-emp-list"
onclick="fetchTicketListData();">Submit</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- end page title -->
<div id="lead_list_div">
<?php include('leads_list.php'); ?>
</div>
</div>
<!-- end page title -->
<div id="lead_list_div">
<?php include('leads_list.php'); ?>
</div>
<script>
var filter_client_list = [];
var filter_branch_list = [];
var filter_client_list = [];
var filter_branch_list = [];
$(document).ready(function() {
$('#filter_client_id').select2();
$('#filter_client_branch_id').select2();
$('#filter_policy_type').select2();
$(document).ready(function() {
$('#filter_client_id').select2();
$('#filter_client_branch_id').select2();
$('#filter_policy_type').select2();
getfilterClientAndBranch()
});
$(document).ready(function() {
$('#filter_client_id').change(function() {
let client_id = $(this).val();
if (filter_branch_list != '') {
// console.log(branch_list[client_id]);
let data = filter_branch_list[client_id];
appendfilterBranch(data);
}
})
});
//----- AJAX FUNCTIONS --------------------------------------------------------------------------------
function fetchTicketListData() {
var issuer_type = $('#filter_issuer_type').val();
var lead_type = $('#filter_lead_type').val();
var policy_type = $('#filter_policy_type').val();
var client_type = $('#filter_client_type').val();
var status = $('#filter_lead_status').val();
var client_id = $('#filter_client_id').val();
var client_branch_id = $('#filter_client_branch_id').val();
var requestData = {
issuer: issuer_type,
lead_type: lead_type,
policy_type_id: policy_type,
client_type: client_type,
status: status,
client_id: client_id,
client_branch_id: client_branch_id,
};
console.log("requestData", requestData);
var url = '<?= base_url('/leads/list') ?>';
$('.loader').fadeIn();
$('.loader-mask').fadeIn();
sendAjaxRequestForGlobal(url, 'POST', requestData, function(response) {
console.log('Filter Responce', response);
if (response.status == true) {
$('#lead_list_div').empty();
$('#lead_list_div').html(response.html);
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
setTimeout(function(){
additionalDropdown();
}, 1000);
} else {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
let message = response.message;
toastr.error(message, 'ERROR');
}
}, function(xhr, status, error) {
console.error('Error fetching data:', error);
console.error(xhr.responseText);
toastr.error('An error occurred while fetching the data.', 'ERROR');
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
getfilterClientAndBranch()
});
}
//function for fetch client, branch
function getfilterClientAndBranch() {
$.ajax({
url: '<?= base_url("/util/getClientAndBranchAndPolicy") ?>',
type: "GET",
dataType: 'json',
success: function(res) {
$(document).ready(function() {
$('#filter_client_id').change(function() {
console.log('getClientAndBranchAndPolicy', res);
if (res.status == true) {
filter_client_list = res.client_data;
filter_branch_list = res.branch_data;
appendfilterClients(res.client_data);
} else {
console.log('No data found');
let client_id = $(this).val();
if (filter_branch_list != '') {
// console.log(branch_list[client_id]);
let data = filter_branch_list[client_id];
appendfilterBranch(data);
}
},
error: function(xhr, status, error) {
})
});
//----- AJAX FUNCTIONS --------------------------------------------------------------------------------
function fetchTicketListData() {
var issuer_type = $('#filter_issuer_type').val();
var lead_type = $('#filter_lead_type').val();
var policy_type = $('#filter_policy_type').val();
var client_type = $('#filter_client_type').val();
var status = $('#filter_lead_status').val();
var client_id = $('#filter_client_id').val();
var client_branch_id = $('#filter_client_branch_id').val();
var requestData = {
issuer: issuer_type,
lead_type: lead_type,
policy_type_id: policy_type,
client_type: client_type,
status: status,
client_id: client_id,
client_branch_id: client_branch_id,
};
console.log("requestData", requestData);
var url = '<?= base_url('/leads/list') ?>';
$('.loader').fadeIn();
$('.loader-mask').fadeIn();
sendAjaxRequestForGlobal(url, 'POST', requestData, function(response) {
console.log('Filter Responce', response);
if (response.status == true) {
$('#lead_list_div').empty();
$('#lead_list_div').html(response.html);
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
setTimeout(function() {
additionalDropdown();
}, 1000);
} else {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
let message = response.message;
toastr.error(message, 'ERROR');
}
}, function(xhr, status, error) {
console.error('Error fetching data:', error);
console.error(xhr.responseText);
console.error(status, error);
}
});
}
toastr.error('An error occurred while fetching the data.', 'ERROR');
//----- END AJAX FUNCTIONS --------------------------------------------------------------------------------
function appendfilterClients(data) {
$('#filter_client_id').empty();
$('#filter_client_id').append($('<option>', {
value: 0,
text: 'Select'
}));
$.each(data, function(index, item) {
var option = $('<option>', {
value: item.id,
text: item.client_name,
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
});
$('#filter_client_id').append(option);
});
}
function appendfilterBranch(data) {
$('#filter_client_branch_id').empty();
$('#filter_client_branch_id').append($('<option>', {
value: '',
text: 'Select'
}));
$.each(data, function(index, item) {
var option = $('<option>', {
value: item.id,
text: item.branch_name
});
$('#filter_client_branch_id').append(option);
});
}
// -----------------------------------------------------------------------------------------------------------
function additionalDropdown() {
const table = document.getElementById("tickets-table");
if (!table) return; // Prevent errors if the table is not found
let activeDropdown = null;
function handleDropdownClick(row, event) {
// Hide any active dropdown
if (activeDropdown) {
activeDropdown.style.display = 'none';
}
let customDropdown = row.customDropdown;
if (!customDropdown) {
const originalDropdown = row.querySelector('.dropdown-menu');
if (!originalDropdown) return;
customDropdown = document.createElement('div');
customDropdown.className = 'custom-dropdown-menu';
customDropdown.innerHTML = originalDropdown.innerHTML;
document.body.appendChild(customDropdown);
row.customDropdown = customDropdown;
// Preserve click handlers and add auto-close
customDropdown.querySelectorAll('.dropdown-item').forEach(item => {
item.addEventListener('click', function (e) {
const onclickAttr = this.getAttribute('onclick');
if (onclickAttr) eval(onclickAttr);
const href = this.getAttribute('href');
if (href && href !== '#') window.location.href = href;
customDropdown.style.display = 'none';
activeDropdown = null;
e.stopPropagation();
});
});
}
// Get click position
const rect = event.target.getBoundingClientRect();
// Position the dropdown
customDropdown.style.display = 'block';
customDropdown.style.position = 'fixed';
customDropdown.style.left = `${rect.left}px`;
customDropdown.style.top = `${rect.bottom + 5}px`; // Add 5px gap
activeDropdown = customDropdown;
event.stopPropagation();
}
// Add click event listener to rows
table.querySelectorAll("tbody tr").forEach(row => {
row.addEventListener("click", function (event) {
if (!event.target.closest('td:last-child')) {
handleDropdownClick(row, event);
//function for fetch client, branch
function getfilterClientAndBranch() {
$.ajax({
url: '<?= base_url("/util/getClientAndBranchAndPolicy") ?>',
type: "GET",
dataType: 'json',
success: function(res) {
console.log('getClientAndBranchAndPolicy', res);
if (res.status == true) {
filter_client_list = res.client_data;
filter_branch_list = res.branch_data;
appendfilterClients(res.client_data);
} else {
console.log('No data found');
}
},
error: function(xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
}
});
});
}
// Close dropdown when clicking outside
document.addEventListener("click", function () {
if (activeDropdown) {
activeDropdown.style.display = 'none';
activeDropdown = null;
//----- END AJAX FUNCTIONS --------------------------------------------------------------------------------
function appendfilterClients(data) {
$('#filter_client_id').empty();
$('#filter_client_id').append($('<option>', {
value: 0,
text: 'Select'
}));
$.each(data, function(index, item) {
var option = $('<option>', {
value: item.id,
text: item.client_name,
});
$('#filter_client_id').append(option);
});
}
function appendfilterBranch(data) {
$('#filter_client_branch_id').empty();
$('#filter_client_branch_id').append($('<option>', {
value: '',
text: 'Select'
}));
$.each(data, function(index, item) {
var option = $('<option>', {
value: item.id,
text: item.branch_name
});
$('#filter_client_branch_id').append(option);
});
}
// -----------------------------------------------------------------------------------------------------------
function additionalDropdown() {
const table = document.getElementById("tickets-table");
if (!table) return; // Prevent errors if the table is not found
let activeDropdown = null;
function handleDropdownClick(row, event) {
// Hide any active dropdown
if (activeDropdown) {
activeDropdown.style.display = 'none';
}
let customDropdown = row.customDropdown;
if (!customDropdown) {
const originalDropdown = row.querySelector('.dropdown-menu');
if (!originalDropdown) return;
customDropdown = document.createElement('div');
customDropdown.className = 'custom-dropdown-menu';
customDropdown.innerHTML = originalDropdown.innerHTML;
document.body.appendChild(customDropdown);
row.customDropdown = customDropdown;
// Preserve click handlers and add auto-close
customDropdown.querySelectorAll('.dropdown-item').forEach(item => {
item.addEventListener('click', function(e) {
const onclickAttr = this.getAttribute('onclick');
if (onclickAttr) eval(onclickAttr);
const href = this.getAttribute('href');
if (href && href !== '#') window.location.href = href;
customDropdown.style.display = 'none';
activeDropdown = null;
e.stopPropagation();
});
});
}
// Get click position
const rect = event.target.getBoundingClientRect();
// Position the dropdown
customDropdown.style.display = 'block';
customDropdown.style.position = 'fixed';
customDropdown.style.left = `${rect.left}px`;
customDropdown.style.top = `${rect.bottom + 5}px`; // Add 5px gap
activeDropdown = customDropdown;
event.stopPropagation();
}
});
}
// Add click event listener to rows
table.querySelectorAll("tbody tr").forEach(row => {
row.addEventListener("click", function(event) {
if (!event.target.closest('td:last-child')) {
handleDropdownClick(row, event);
}
});
});
// Close dropdown when clicking outside
document.addEventListener("click", function() {
if (activeDropdown) {
activeDropdown.style.display = 'none';
activeDropdown = null;
}
});
}
</script>

View File

@ -193,7 +193,7 @@ $isActive = get_role_id() == STAFF_ROLE_ID && in_array(ENROLLMENT_TEAM_ID, user_
<div class="row d-flex align-items-center">
<div class="status_tile" style="padding-left: 25px;">
<a href="#" onclick="hide_and_show_tile('2')" ><b><i class="mdi mdi-chevron-left mdi-36px"></i></b> </a>
<a href="#" onclick="hide_and_show_tile('2')" ><b><i class="mdi mdi-chevron-left mdi-36px chevron-left-dash"></i></b> </a>
</div>
<div class="status_tile" style="padding-left: 15px;">
<a href="#" id="main_tile">Current Tile : </a>

File diff suppressed because it is too large Load Diff

View File

@ -474,7 +474,7 @@ if (isset($selected_lead_type)) {
// --------------------------------------------------------------------------------------------------------
function addFileField(increment) {
function addFileFieldold(increment) {
console.log('addFileField function called');
@ -519,6 +519,80 @@ if (isset($selected_lead_type)) {
fileIndex++;
}
function addFileField(increment) {
console.log('addFileField function called');
const container = document.getElementById(`multiFileAppendArea_${increment}`);
if (!container) return;
// Remove previous "+" buttons if any
// const prevAddBtns = container.querySelectorAll('.add-file-btn');
// prevAddBtns.forEach(btn => btn.remove());
const div = document.createElement("div");
div.className = "form-row d-flex align-items-end";
div.setAttribute("id", `fileField_${fileIndex}`);
let isFirstField = container.childElementCount === 0; // Check if it's the first field
let placeholder = isFirstField ? 'First file must be Demography.' : '';
let accept = isFirstField ? '.xls,.xlsx' : '';
if(selected_lead_form_type != 1){
placeholder = '';
accept = '';
}
let sample_dwn_btn = "";
if(selected_lead_form_type == 1 && isFirstField == 1){
sample_dwn_btn = `<button type="button"
class="btn app-btn-secondary float-end"
id="excel_download"
data-toggle="tooltip"
data-placement="top"
title="Download Sample Excel"
onclick="window.location.href='<?= base_url("util/download-excel/member_data"); ?>'">
Sample Excel
</button>`;
}
let add_btn = `<button type="button" class="btn app-btn-secondary mr-1 add-file-btn" onclick="addFileField(${increment})">+</button>`;
div.innerHTML = `
<div class="form-group row" id="fileField_${fileIndex}" style="width: 100%;">
<div class="col-auto" style="align-content: center;">
<label class="col-form-label">Document Name</label>
</div>
<div class="col-md-3">
<input type="text" class="form-control" name="docs_name_${increment}[]" placeholder="${placeholder}" style="background: #F5FFFF !important;">
</div>
<div class="col-auto" style="align-content: center;">
<label>File Upload </label>
</div>
<div class="col-md-3">
<div class="input-icon">
<input type="file" class="form-control" id="file_name_${fileIndex}" name="file_name_${increment}[]" accept="${accept}" style="background: #F5FFFF !important;">
<i class="mdi mdi-upload additional-icon"></i>
</div>
</div>
<div class="col-auto">
<button type="button" class="btn btn-danger mr-1" onclick="removeFileField(${fileIndex})"><span class="mdi mdi-trash-can"></span></button>
${add_btn}
${sample_dwn_btn}
</div>
</div>`;
container.appendChild(div);
fileIndex++;
}
function removeFileField(index, lead_file_id = null) {
if(index == 1){

View File

@ -160,23 +160,23 @@ table.dataTable tbody td {
</div>
<div>
<div class="table-responsive">
<table data-custom-table-css="table" class="table table-striped mb-0 nowrap" cellspacing="0" id="tickets-table">
<table data-custom-table-css="table" class="table mb-0 nowrap w-100 table-centered" cellspacing="0" id="tickets-table">
<thead class="bg-light">
<tr>
<th><div class="column-header">S.No.</div></th>
<th><div class="column-header">Lead Type</div></th>
<th><div class="column-header">Issuer</div></th>
<th><div class="column-header">Client Type</div></th>
<th><div class="column-header">Client / Branch</div></th>
<th><div class="column-header">Entity Type</div></th>
<th><div class="column-header">Branch Name</div></th>
<th><div class="column-header">Branch Code</div></th>
<th><div class="column-header">Contact Person Name</div></th>
<th><div class="column-header">Contact Person Mobile</div></th>
<th><div class="column-header">Policy Type</div></th>
<th><div class="column-header">Status</div></th>
<th><div class="column-header">Action</div></th>
<th><div class="column-header">S.No&nbsp;</div></th>
<th><div class="column-header">Lead Type &nbsp;</div></th>
<th><div class="column-header">Issuer &nbsp;</div></th>
<th><div class="column-header">Client Type &nbsp;</div></th>
<th><div class="column-header">Client / Branch &nbsp;</div></th>
<th><div class="column-header">Entity Type &nbsp;</div></th>
<th><div class="column-header">Branch Name &nbsp;</div></th>
<th><div class="column-header">Branch Code &nbsp;</div></th>
<th><div class="column-header">Contact Person Name &nbsp;</div></th>
<th><div class="column-header">Contact Person Mobile &nbsp;</div></th>
<th><div class="column-header">Policy Type &nbsp;</div></th>
<th><div class="column-header">Status &nbsp;</div></th>
<th><div class="column-header">Action &nbsp;</div></th>
</tr>
</thead>
@ -184,7 +184,7 @@ table.dataTable tbody td {
<?php if(isset($lead_data_list)) { ?>
<?php foreach($lead_data_list as $index => $row){ ?>
<tr>
<td><?php echo $index + 1; ?></td>
<td class="text-center"><?php echo $index + 1; ?></td>
<td><?php echo $lead_type[$row['lead_type']] ?? '-'; ?></td>
<td><?php echo $issuer[$row['issuer']] ?? '-'; ?></td>
<td><?php echo $client_type[$row['client_type']] ?? '-'; ?></td>
@ -215,7 +215,7 @@ table.dataTable tbody td {
</a>
<?php } ?>
<?php } ?>
<a class="dropdown-item btnHistory app-text-black"
<a class="dropdown-item btnHistory font-color-black"
data-id="<?= $row['id']; ?>"
title="Click to view Mail History">
<i class="mdi mdi-history mr-2 text-muted font-18 vertical-middle"></i>Email History
@ -244,7 +244,7 @@ table.dataTable tbody td {
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title" id="myCenterModalLabel">Select Leaad Type</h4>
<h4 class="modal-title" id="myCenterModalLabel">Select Lead Type</h4>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
</div>
<div class="modal-body">
@ -420,29 +420,41 @@ document.addEventListener("DOMContentLoaded", function () {
dom: "<'row'<'col-sm-7'f><'col-sm-5 text-right'B>>" + // Filter left, buttons right
"<'row'<'col-sm-12'tr>>" +
"<'row'<'col-sm-5'i><'col-sm-7'p>>", // Pagination at the bottom, without page length selector
buttons: [
buttons: [
{
extend: 'csv',
text: 'CSV',
title: 'Policy-Tranction-Inception-List',
exportOptions: {
columns: ':not(:last-child)'
},
},
text: 'Add',
className: 'btn app-btn-primary mr-2',
action: function(e, dt, node, config) {
openLeadTypeAskModal();
}
},
{
text: 'Add',
className: 'buttons-html5 addbtnStyle',
action: function (e, dt, node, config) {
openLeadTypeAskModal();
extend: 'collection',
text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary ',
buttons: [
{
extend: 'csv',
text: '<i class="mdi mdi-file-delimited " ></i><span class=" btn-custom"> CSV </span>',
title: 'Policy-Tranction-Inception-List',
className: 'app-btn-primary ',
exportOptions: {
columns: ':not(:last-child)'
},
}
]
}
}
],
language: {
search: "_INPUT_",
searchPlaceholder: "Search..."
search: `
<div class="datatable-search-wrapper">
_INPUT_
<i class="mdi mdi-magnify datatable-search-icon"></i>
</div>`,
searchPlaceholder: "Search"
},
paging: true, // Enable pagination
pageLength: 25, // Set default number of rows per page (optional)
pageLength: 10, // Set default number of rows per page (optional)
// ordering: false,
});
} else {
@ -501,14 +513,14 @@ document.addEventListener("DOMContentLoaded", function () {
<thead class="bg-light">
<tr>
<th><div class="column-header">S.No.</div></th>
<th><div class="column-header">From Mail</div></th>
<th><div class="column-header">To Mail</div></th>
<th><div class="column-header">BCC</div></th>
<th><div class="column-header">CC</div></th>
<th><div class="column-header">Type</div></th>
<th><div class="column-header">Status</div></th>
<th><div class="column-header">Date/Time</div></th>
<th><div class="column-header">S.No&nbsp;</div></th>
<th><div class="column-header">From Mail&nbsp;</div></th>
<th><div class="column-header">To Mail&nbsp;</div></th>
<th><div class="column-header">BCC&nbsp;</div></th>
<th><div class="column-header">CC&nbsp;</div></th>
<th><div class="column-header">Type&nbsp;</div></th>
<th><div class="column-header">Status&nbsp;</div></th>
<th><div class="column-header">Date/Time&nbsp;</div></th>
</tr>
</thead>
<tbody>

View File

@ -36,6 +36,16 @@
color: white !important;
margin-right: 5px;
}
/* dont forgot it keep it safe card and card body space remover */ /* bcoz in design */
.card-body{ margin-top: 0px !important; }
/* this css as per design so not declare in golbal */ /* bcoz in design */
#collapseOne{
border: 1px solid #BFF3F5 !important;
border-radius: 10px !important;
border-width: 1px !important;
}
</style>
@ -45,13 +55,19 @@
<div class="card-body">
<div class="row" style="margin-bottom:1rem;">
<div class="col-6" style="align-self: center;">
<!-- <div class="col-6" style="align-self: center;">
<h4 id="page_title" style="position: relative;">Add Lead</h4>
</div>
<div class="col-6" style="text-align: right; position: relative;">
<a href="<?= base_url('leads/list') ?>" type="button" id="btnAdd"
class="btn btn-primary waves-effect waves-light">Back</a>
</div>
</div> -->
<h4 class="d-flex align-items-center" style="gap: 8px;">
<a href="<?= base_url('leads/list') ?>" style="cursor: pointer;" type="button" id="btnAdd">
<i class="mdi mdi-chevron-left" style="font-size: 43px;"></i>
</a>
<span class="title-text" id="page_title" style="position: relative;">Add Lead</span>
</h4>
</div>
<form role="form" class="parsley-examples" method="post" id="leads_non_eb_form_id"
enctype="multipart/form-data">
@ -59,135 +75,147 @@
<input type="hidden" name="id" id="leads_primarykey">
<input type="hidden" name="lead_form_type" id="lead_form_type_id" value="2">
<div class="form-row">
<div class="card" id="collapseOne">
<div class="card-body">
<div class="form-row">
<div class="form-group col-md-3">
<label for="lead_type">Lead Type<span class="text-danger">*</span></label>
<select class="form-control" id="lead_type" name="lead_type" required>
<option value="">Select Lead Type</option>
<?php
if (isset($lead_type) && count($lead_type)) {
foreach ($lead_type as $key => $value) {
if ($key == 1) {
echo "<option value=" . $key . " selected>" . $value . "</option>";
} else {
<div class="form-group col-md-4">
<label for="lead_type">Lead Type<span class="text-danger">*</span></label>
<select class="form-control" id="lead_type" name="lead_type" required>
<option value="">Select Lead Type</option>
<?php
if (isset($lead_type) && count($lead_type)) {
foreach ($lead_type as $key => $value) {
if ($key == 1) {
echo "<option value=" . $key . " selected>" . $value . "</option>";
} else {
echo "<option value=" . $key . ">" . $value . "</option>";
}
}
}
?>
</select>
</div>
<div class="form-group col-md-4">
<label for="issuer">Issuer<span class="text-danger">*</span></label>
<select class="form-control" id="issuer" name="issuer" required>
<option value="">Select Issuer</option>
<?php
if (isset($issuer) && count($issuer)) {
foreach ($issuer as $key => $value) {
echo "<option value=" . $key . ">" . $value . "</option>";
}
}
}
?>
</select>
</div>
?>
</select>
</div>
<div class="form-group col-md-3">
<label for="issuer">Issuer<span class="text-danger">*</span></label>
<select class="form-control" id="issuer" name="issuer" required>
<option value="">Select Issuer</option>
<?php
if (isset($issuer) && count($issuer)) {
foreach ($issuer as $key => $value) {
echo "<option value=" . $key . ">" . $value . "</option>";
}
}
?>
</select>
</div>
</div>
</div>
<hr>
<!-- <hr> --> <!-- bcoz removed in design -->
<!-- client row -->
<div class="form-row">
<div class="card" id="collapseOne">
<div class="card-body">
<div class="form-row">
<div class="form-group col-md-3 freshFields">
<label class="switch" style="position: relative;top: 33px;left: 0px;">
<input id="exixting_client" type="checkbox" name="exixting_client">
<span class="slider round" style="height: 27px;"></span>
</label>
<div class="form-group offset-md-10 col-md-2 freshFields" style="float:right;">
<label class="switch">
<input id="exixting_client" type="checkbox" name="exixting_client">
<span class="slider round" style="height: 27px;"></span>
</label>
<label for="exixting_client" style="position: relative;top: 39px;left: 20px;">Existing Client</label>
<label for="exixting_client" style="position: relative;top: 2px;">Existing Client</label>
</div>
</div>
<div class="form-row">
<div class="form-group col-md-4 renewalFields" style="display: none;">
<label for="client_id">Client<span class="text-danger">*</span></label>
<select class="form-control" id="client_id" name="client_id">
<option value="">Select Client</option>
</select>
</div>
<div class="form-group col-md-4 renewalFields" style="display: none;">
<label for="client_branch_id">Branch<span class="text-danger">*</span></label>
<select class="form-control" id="client_branch_id" name="client_branch_id"
onchange="getBranchData(this,1)">
<option value="">Select Branch</option>
</select>
</div>
<div class="form-group col-md-4 freshFields">
<label for="client_type">Client Type<span class="text-danger">*</span></label>
<select class="form-control" id="client_type" name="client_type" required>
<option value="">Select Client type</option>
<?php
if (isset($client_type) && count($client_type)) {
foreach ($client_type as $key => $value) {
echo "<option value='" . $key . "' >" . $value . "</option>";
}
}
?>
</select>
</div>
<div class="form-group col-md-4 freshFields">
<label for="entity_type_id">Entity Type<span class="text-danger">*</span></label>
<select class="form-control" id="entity_type_id" name="entity_type_id" required>
<option value="" selected>Select Entity</option>
<?php
if (isset($entity) && count($entity)) {
foreach ($entity as $key => $value) {
echo "<option value=" . $value['id'] . ">" . $value['name'] . "</option>";
}
}
?>
</select>
</div>
<div class="form-group col-md-4 freshFields">
<label for="client_name">Client Name<span class="text-danger">*</span></label>
<input type="text" class="form-control" id="client_name" name="client_name"
placeholder="Enter Client Name" required>
</div>
<div class="form-group col-md-4 freshFields">
<label for="client_short_name">Client Short Name<span class="text-danger">*</span></label>
<input type="text" class="form-control" id="client_short_name" name="client_short_name"
placeholder="Enter Client Short Name" onkeyup="validateInput(this, 'clients', 'short_name')" required>
</div>
<div class="form-group col-md-4 renewalFields" style="display: none;">
<label for="source_policy_id"> Source Policy <span id="base_danger"
class="text-danger">*</span></label>
<select class="form-control" id="source_policy_id" name="source_policy_id" onchange="getPolicyData(this)">
<option value="" selected>Select Source Policy</option>
</select>
</div>
<div class="form-group col-md-4">
<label for="pan">PAN<span class="text-danger"></span></label>
<input type="text" class="form-control" id="pan" placeholder="Enter PAN Number"
data-parsley-error-message="Invalid PAN Number. Example: ABCDE1234F" name="pan"
data-parsley-trigger="change" data-parsley-pattern="^[A-Z]{5}[0-9]{4}[A-Z]$">
</div>
</div>
</div>
<div class="form-group col-md-3 renewalFields" style="display: none;">
<label for="client_id">Client<span class="text-danger">*</span></label>
<select class="form-control" id="client_id" name="client_id">
<option value="">Select Client</option>
</select>
</div>
<div class="form-group col-md-3 renewalFields" style="display: none;">
<label for="client_branch_id">Branch<span class="text-danger">*</span></label>
<select class="form-control" id="client_branch_id" name="client_branch_id"
onchange="getBranchData(this,1)">
<option value="">Select Branch</option>
</select>
</div>
<div class="form-group col-md-3 freshFields">
<label for="client_type">Client Type<span class="text-danger">*</span></label>
<select class="form-control" id="client_type" name="client_type" required>
<option value="">Select Client type</option>
<?php
if (isset($client_type) && count($client_type)) {
foreach ($client_type as $key => $value) {
echo "<option value='" . $key . "' >" . $value . "</option>";
}
}
?>
</select>
</div>
<div class="form-group col-md-3 freshFields">
<label for="entity_type_id">Entity Type<span class="text-danger">*</span></label>
<select class="form-control" id="entity_type_id" name="entity_type_id" required>
<option value="" selected>Select Entity</option>
<?php
if (isset($entity) && count($entity)) {
foreach ($entity as $key => $value) {
echo "<option value=" . $value['id'] . ">" . $value['name'] . "</option>";
}
}
?>
</select>
</div>
<div class="form-group col-md-3 freshFields">
<label for="client_name">Client Name<span class="text-danger">*</span></label>
<input type="text" class="form-control" id="client_name" name="client_name"
placeholder="Enter Client Name" required>
</div>
<div class="form-group col-md-3 freshFields">
<label for="client_short_name">Client Short Name<span class="text-danger">*</span></label>
<input type="text" class="form-control" id="client_short_name" name="client_short_name"
placeholder="Enter Client Short Name" onkeyup="validateInput(this, 'clients', 'short_name')" required>
</div>
<div class="form-group col-md-3 renewalFields" style="display: none;">
<label for="source_policy_id"> Source Policy <span id="base_danger"
class="text-danger">*</span></label>
<select class="form-control" id="source_policy_id" name="source_policy_id" onchange="getPolicyData(this)">
<option value="" selected>Select Source Policy</option>
</select>
</div>
<div class="form-group col-md-3">
<label for="pan">PAN<span class="text-danger"></span></label>
<input type="text" class="form-control" id="pan" placeholder="Enter PAN Number"
data-parsley-error-message="Invalid PAN Number. Example: ABCDE1234F" name="pan"
data-parsley-trigger="change" data-parsley-pattern="^[A-Z]{5}[0-9]{4}[A-Z]$">
</div>
</div>
<!-- end client row -->
<hr>
<!-- <hr> --> <!-- bcoz removed in design -->
<!-- branch row-->
<div class="card" id="collapseOne">
<div class="card-body">
<div class="form-row">
<div class="form-group col-md-3">
<div class="form-group col-md-4">
<label for="gst">GST<span class="text-danger">*</span></label>
<input type="text" class="form-control" id="gst" placeholder="Enter GST Number"
data-parsley-error-message="Invalid GST Number. Example: 12ABCDE1234F5Z6" name="gst"
@ -195,19 +223,19 @@
data-parsley-pattern="^\d{2}[A-Z]{5}\d{4}[A-Z]{1}[A-Z\d]{1}[Z]{1}[A-Z\d]{1}$" required>
</div>
<div class="form-group col-md-3">
<div class="form-group col-md-4">
<label for="client_branch">Branch Name<span class="text-danger">*</span></label>
<input type="text" class="form-control" id="branch_name" name="branch_name"
placeholder="Enter Branch Name" required>
</div>
<div class="form-group col-md-3">
<div class="form-group col-md-4">
<label for="client_branch">Branch Code<span class="text-danger">*</span></label>
<input type="text" class="form-control" id="branch_code" name="branch_code"
placeholder="Enter Branch Code" required>
</div>
<div class="form-group col-md-3">
<div class="form-group col-md-4">
<label for="contact_person_summary">Contact Person's</label>
<select class="form-control" name="contact_person_summary" id="contact_person_summary">
<option value="">Select a Person</option>
@ -215,20 +243,20 @@
</div>
<div class="form-group col-md-3">
<div class="form-group col-md-4">
<label for="client_branch">Contact Person Name<span class="text-danger">*</span></label>
<input type="text" class="form-control" id="contact_person_name" name="contact_person_name"
placeholder="Enter Contact Name" required>
</div>
<div class="form-group col-md-3">
<div class="form-group col-md-4">
<label for="contact_person_mobile">Contact Person Mobile<span
class="text-danger">*</span></label>
<input type="text" class="form-control" id="contact_person_mobile"
name="contact_person_mobile" placeholder="Enter Contact Mobile" required>
</div>
<div class="form-group col-md-3">
<div class="form-group col-md-4">
<label for="contact_person_email">Contact Person Email<span
class="text-danger">*</span></label>
<input type="text" class="form-control" id="contact_person_email"
@ -236,13 +264,17 @@
</div>
</div>
</div>
</div>
<hr>
<!-- <hr> --> <!-- bcoz removed in design -->
<!-- policy row -->
<div class="card" id="collapseOne">
<div class="card-body">
<div class="form-row" id="dynamic-form-container">
<div class="form-group col-md-3">
<div class="form-group col-md-4">
<label for="policy_type_id">Policy Type <span class="text-danger">*</span></label>
<select class="form-control" id="policy_type_id" name="policy_type_id"
onchange="getPolicyTypeFields(this)" required>
@ -259,7 +291,7 @@
</select>
</div>
<div class="form-group col-md-3">
<div class="form-group col-md-4">
<label for="insurer">Insurer <span class="text-danger"></span></label>
<select class="form-control" id="insurer" name="insurer">
<option value="">Select Insurer</option>
@ -293,78 +325,96 @@
</select>
</div> -->
<div class="form-group col-md-3">
<div class="form-group col-md-4">
<label for="">Date of Commencement <span class="text-danger">*</span></label>
<input type="text" class="form-control policy_start_date" id="policy_start_date" name="policy_start_date"
placeholder="Enter DOC" required>
<div class="input-icon">
<input type="text" class="form-control policy_start_date" id="policy_start_date" name="policy_start_date"
placeholder="Enter DOC" required>
<i class="mdi mdi-calendar-blank-outline additional-icon"></i>
</div>
</div>
<div class="form-group col-md-3">
<div class="form-group col-md-4">
<label for="">Date of Expiry <span class="text-danger">*</span></label>
<input type="text" class="form-control policy_end_date" id="policy_end_date" name="policy_end_date"
placeholder="Enter DOE" required>
<div class="input-icon">
<input type="text" class="form-control policy_end_date" id="policy_end_date" name="policy_end_date"
placeholder="Enter DOE" required>
<i class="mdi mdi-calendar-blank-outline additional-icon"></i>
</div>
</div>
</div>
<div id="appendArea"></div>
<div id="appendAreaForClaim">
</div>
<hr>
<!-- <hr> --> <!-- bcoz removed in design -->
<div id="multiFileAppendArea_1"></div>
<hr>
<!-- other row -->
<div class="form-row">
<!-- <div class="form-group col-md-3">
<label for="file_upload">File Upload<span class="text-danger"></span></label>
<input type="file" class="form-control" id="file_name" name="file_name" accept=".xls,.xlsx">
<span class="text-danger" id="file_name_display"></span>
</div> -->
<div class="form-group col-md-3">
<label for="salse_person_id">Sales Person<span class="text-danger">*</span></label>
<select class="form-control" id="salse_person_id" name="salse_person_id" multiple required>
<option value="">Select Sales Person</option>
<?php if (isset($salse_team)) { ?>
<?php foreach ($salse_team as $value) { ?>
<option value="<?= $value['id']; ?>">
<?= $value['first_name']; ?>
</option>
<?php } ?>
<?php } ?>
</select>
<div class="card" style="width:100%; background-color: transparent;">
<div class="card-body" style="background-color: #fff !important; border: 0px !important;">
<div id="multiFileAppendArea_1"></div>
</div>
<div class="form-group col-md-3">
<label for="status"> Status <span id="base_danger" class="text-danger">*</span></label>
<select class="form-control" id="lead_status" name="status" required>
<option value="" selected>Select Status</option>
<?php
if (isset($lead_status) && count($lead_status)) {
foreach ($lead_status as $key => $value) {
if ($key == 'queued') {
echo "<option value=" . $key . " selected>" . $value . "</option>";
} else {
echo "<option value=" . $key . ">" . $value . "</option>";
}
}
}
?>
</select>
</div>
</div>
<div class="form-row">
<div class="form-group col-md-12">
<label for="notes">Remarks</label>
<textarea class="form-control" id="notes" name="notes" rows="4"></textarea>
</div>
</div>
<!-- <hr> --> <!-- bcoz removed in design -->
<!-- other row -->
<div class="card" id="collapseOne">
<div class="card-body">
<div class="form-row">
<!-- <div class="form-group col-md-3">
<label for="file_upload">File Upload<span class="text-danger"></span></label>
<input type="file" class="form-control" id="file_name" name="file_name" accept=".xls,.xlsx">
<span class="text-danger" id="file_name_display"></span>
</div> -->
<div class="form-group col-md-4">
<label for="salse_person_id">Sales Person<span class="text-danger">*</span></label>
<select class="form-control" id="salse_person_id" name="salse_person_id" multiple required>
<option value="">Select Sales Person</option>
<?php if (isset($salse_team)) { ?>
<?php foreach ($salse_team as $value) { ?>
<option value="<?= $value['id']; ?>">
<?= $value['first_name']; ?>
</option>
<?php } ?>
<?php } ?>
</select>
</div>
<div class="form-group col-md-4">
<label for="status"> Status <span id="base_danger" class="text-danger">*</span></label>
<select class="form-control" id="lead_status" name="status" required>
<option value="" selected>Select Status</option>
<?php
if (isset($lead_status) && count($lead_status)) {
foreach ($lead_status as $key => $value) {
if ($key == 'queued') {
echo "<option value=" . $key . " selected>" . $value . "</option>";
} else {
echo "<option value=" . $key . ">" . $value . "</option>";
}
}
}
?>
</select>
</div>
</div>
<div class="form-row">
<div class="form-group col-md-12">
<label for="notes">Remarks</label>
<textarea class="form-control" id="notes" name="notes" rows="4"></textarea>
</div>
</div>
</div>
</div>

View File

@ -23,16 +23,16 @@ table.dataTable tbody td {
<table data-custom-table-css="table" class="table table-striped mb-0 nowrap" cellspacing="0" id="tickets-table">
<thead class="bg-light">
<tr>
<th>S.No.</th>
<th>Log File</th>
<th>Actions</th>
<th>S.No&nbsp;</th>
<th>Log File&nbsp;</th>
<th>Actions&nbsp;</th>
</tr>
</thead>
<tbody>
<?php if (!empty($logs)): ?>
<?php foreach ($logs as $index => $log): ?>
<tr>
<td><?= $index + 1 . '.' ?></td>
<td class="text-center"><?= $index + 1 . '.' ?></td>
<td><?= esc($log) ?></td>
<td>
<a href="<?= base_url('util/view_log/' . urlencode($log)) ?>">View</a> |

View File

@ -161,4 +161,28 @@
</body>
</html>
</html>
<script>
document.addEventListener("DOMContentLoaded", function() {
<?php
$isLoggedIn = check_session();
$hasCookie = check_cookie();
?>
// Safely inject PHP boolean into JavaScript
let alreadyLogin = <?= ($isLoggedIn && $hasCookie) ? 'true' : 'false' ?>;
console.log(typeof alreadyLogin);
console.log(alreadyLogin);
if (!alreadyLogin) {
localStorage.clear();
console.log("Local storage cleared (no session/cookie).");
} else {
console.log("Session & cookie found, local storage kept.");
}
});
</script>

View File

@ -1,443 +1,460 @@
<style>
.table th,
.table td {
padding: 8px;
}
.table th,
.table td {
padding: 8px;
}
table.dataTable tbody td {
padding: 4px 4px !important;
}
table.dataTable tbody td {
padding: 4px 4px !important;
}
.col-12 {
max-width: 98% !important;
}
.dataTables_filter {
position: absolute;
}
.dataTables_filter {
position: absolute;
}
.right-align-input {
text-align: right;
}
.right-align-input {
text-align: right;
}
.center-align-input {
text-align: center;
}
.center-align-input {
text-align: center;
}
</style>
<div class="row" id="outstanding_filter">
<div class="col-12" style="margin-top: -12px;">
<div id="accordion" class="mb-3">
<div class="card mb-1">
<h5 class="m-1">
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseOne"
aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</h5>
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion">
<div class="card-body">
<div class="form-group">
<div class="form-row">
<div class="container-fluid-min">
<div class="col-12" id="outstanding_filter">
<div class="card-body">
<div id="accordion" class="mb-3">
<div class="card mb-1">
<h4 class="m-1">
<span>Filter</span>
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseOne"
aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</h4>
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion">
<div class="card-body">
<div class="form-group">
<div class="form-row">
<!-- <div class="form-group col-md-3">
<!-- <div class="form-group col-md-3">
<label for="client_branch">Client<span class="text-danger"></span></label>
<select class="form-control" id="client_id" name="client_id">
<option value="0">Select Client</option>
<?php
if (isset($clients) && count($clients)) {
foreach ($clients as $key => $value) {
echo "<option value='" . $value['id'] . "'>" . $value['client_name'] . "</option>";
}
if (isset($clients) && count($clients)) {
foreach ($clients as $key => $value) {
echo "<option value='" . $value['id'] . "'>" . $value['client_name'] . "</option>";
}
}
?>
</select>
</div> -->
<div class="form-group col-md-3">
<label for="addon_policy"> Insurer <span id="base_danger"
class="text-danger"></span></label>
<select class="form-control" id="insurer_id" name="insurer_id">
<option value="0" selected>Select Insurer</option>
<?php if(isset($insurer) && count($insurer)){ ?>
<?php foreach ($insurer as $value) { ?>
<option value="<?= $value['id']?>"><?= $value['name']?></option>
<?php } ?>
<?php } ?>
</select>
</div>
<div class="form-group col-md-4">
<label for="addon_policy"> Insurer <span id="base_danger"
class="text-danger"></span></label>
<select class="form-control" id="insurer_id" name="insurer_id">
<option value="0" selected>Select Insurer</option>
<?php if (isset($insurer) && count($insurer)) { ?>
<?php foreach ($insurer as $value) { ?>
<option value="<?= $value['id'] ?>"><?= $value['name'] ?></option>
<?php } ?>
<?php } ?>
</select>
</div>
<div class="form-group col-md-3">
<label for="addon_policy"> Insurer Branch<span id="base_danger"
class="text-danger"></span></label>
<select class="form-control" id="insurer_id" name="insurer_id">
<option value="0" selected>Select Insurer</option>
<?php if(isset($insurer) && count($insurer)){ ?>
<?php foreach ($insurer as $value) { ?>
<option value="<?= $value['id']?>"><?= $value['name']?></option>
<?php } ?>
<?php } ?>
</select>
</div>
<div class="form-group col-md-4">
<label for="addon_policy"> Insurer Branch<span id="base_danger"
class="text-danger"></span></label>
<select class="form-control" id="insurer_id" name="insurer_id">
<option value="0" selected>Select Insurer Branch</option>
<?php if (isset($insurer) && count($insurer)) { ?>
<?php foreach ($insurer as $value) { ?>
<option value="<?= $value['id'] ?>"><?= $value['name'] ?></option>
<?php } ?>
<?php } ?>
</select>
</div>
<!-- <div class="form-group col-md-3">
<!-- <div class="form-group col-md-3">
<label for="email"> Policy Type <span class="text-danger"></span></label>
<select class="form-control" id="policy_type_id" name="policy_type_id">
<option value="0">Select Policy Type</option>
<?php
if (isset($policy_types) && count($policy_types)) {
foreach ($policy_types as $key => $value) {
echo "<option value='" . $value['id'] . "'>" . $value['policy_type'] . "</option>";
}
if (isset($policy_types) && count($policy_types)) {
foreach ($policy_types as $key => $value) {
echo "<option value='" . $value['id'] . "'>" . $value['policy_type'] . "</option>";
}
}
?>
</select>
</div> -->
<!-- <div class="form-group col-md-3">
<!-- <div class="form-group col-md-3">
<label for="client_branch">Issuer<span class="text-danger">*</span></label>
<select class="form-control" id="issuer" name="issuer" required>
<option value="0">Select Issure</option>
<?php
if (isset($issuer) && count($issuer)) {
foreach ($issuer as $key => $value) {
echo "<option value=" . $key . ">" . $value . "</option>";
}
if (isset($issuer) && count($issuer)) {
foreach ($issuer as $key => $value) {
echo "<option value=" . $key . ">" . $value . "</option>";
}
}
?>
</select>
</div> -->
<!-- </div>
<!-- </div>
<div class="form-row"> -->
<!-- <div class="form-group col-md-3">
<!-- <div class="form-group col-md-3">
<label>Date Type<span class="text-danger"></span></label>
<select class="form-control" id="date_type" name="date_type"
onchange="hideDateField()">
<option value="0">Select Date Type</option>
<?php
if (isset($date_type) && count($date_type)) {
foreach ($date_type as $key => $value) {
echo "<option value='" . $key . "'>" . $value . "</option>";
}
if (isset($date_type) && count($date_type)) {
foreach ($date_type as $key => $value) {
echo "<option value='" . $key . "'>" . $value . "</option>";
}
}
?>
</select>
</div> -->
<div class="form-group col-md-3" style="display: true;" id="date_div">
<label>Statement Month<span class="text-danger"></span></label>
<div class="form-group col-md-4" style="display: true;" id="date_div">
<label>Statement Month<span class="text-danger"></span></label>
<div class="input-icon">
<input type="text" id="reportrange" class="form-control" readonly style="caret-color: transparent;">
<i class="mdi mdi-calendar-blank-outline additional-icon"></i>
</div>
<!--
codeword : ***1***
if you cross check means also uncomment "star2star" (***2***)
<div id="reportrange" class="form-control"
style="background: #fff; cursor: pointer; padding: 5px 10px; border: 1px solid #ccc; width: 100%">
<i class="mdi mdi-calendar-blank"></i>&nbsp;
<span></span> <i class="mdi mdi-menu-down"></i>
</div> -->
<input type="hidden" id="startDate">
<input type="hidden" id="endDate">
</div>
<input type="hidden" id="startDate">
<input type="hidden" id="endDate">
</div>
</div>
<div class="form-group text-right m-b-0">
<a href="<?= base_url("/policy_tranction/report/report-outstanding-list"); ?>"
class="btn btn-secondary" id="clear-filters">Clear</a>
<a href="<?= base_url("/policy_tranction/report/report-outstanding-list"); ?>"
class="btn btn-primary" id="get-emp-list"
onclick="fetchEmpolyeeList(event);">Submit</a>
<div class="form-group text-right m-b-0">
<a href="<?= base_url("/policy_tranction/report/report-outstanding-list"); ?>"
class="btn btn-secondary" id="clear-filters">Clear</a>
<a href="<?= base_url("/policy_tranction/report/report-outstanding-list"); ?>"
class="btn btn-primary" id="get-emp-list"
onclick="fetchEmpolyeeList(event);">Submit</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-12" id="outstanding_list">
<div class="card">
<div class="card-body">
<div class="row" style="padding-bottom: 10px;">
<div class="col-6" style="align-self: center;">
<h4 style="position: relative;">Outstanding Report</h4>
</div>
</div>
<div class="table-responsive">
<table data-custom-table-css="table" id="scroll-horizontal-datatable" class="table w-100 nowrap">
<thead class="bg-light">
<tr>
<th>S.No&nbsp;</th>
<!-- <th>Client Name</th> -->
<th>Insurer&nbsp;</th>
<th>Insurer<br> Branch&nbsp;</th>
<th>Statement<br> Month&nbsp;</th>
<th>Statement<br> No&nbsp;</th>
<th>Invoice No&nbsp;</th>
<th>Invoice Status&nbsp;</th>
<th>Invoice Date&nbsp;</th>
<th>Invoice Amount&nbsp;</th>
<th>Realization <br>Amount&nbsp;</th>
<th>Outstanding <br>Amount&nbsp;</th>
</tr>
</thead>
<tbody>
<?php
// dd($outstanting_list);
if (isset($outstanting_list)) { ?>
<?php foreach ($outstanting_list as $index => $row) { ?>
<tr>
<td class="text-center"><?= $index + 1 ?></td>
<td><?php echo $row['short_name']; ?></td>
<td><?php echo $row['branch_name']; ?></td>
<td><?php echo change_date_format($row['month'],'Y-m-d','Y-m') ?></td>
<td><?php echo $row['stmt_sno']; ?></td>
<td><?php echo $row['invoice_no']; ?></td>
<td class="center-align-input"><?php echo isset($row['invoice_status']) ? $row['invoice_status'] : ' - '; ?></td>
<td><?php echo change_date_format($row['invoice_date'],'Y-m-d','d-M-Y'); ?></td>
<td class="right-align-input"><?php echo isset($row['invoice_amount']) ? $row['invoice_amount'] : '0.00'; ?></td>
<td class="right-align-input"><?php echo isset($row['total_paid']) ? $row['total_paid'] : '0.00'; ?></td>
<td class="right-align-input"><?php echo isset($row['outstanding_amount']) ? $row['outstanding_amount'] : '0.00'; ?></td>
</tr>
<?php } ?>
<?php } ?>
</tbody>
</table>
<div>
</div>
</div>
</div><!-- end col -->
</div>
</div>
</div>
<div class="col-12" id="outstanding_list">
<div class="card">
<div class="card-body">
<div class="row" style="padding-bottom: 10px;">
<div class="col-6" style="align-self: center;">
<h4 style="position: relative;">Outstanding Report</h4>
</div>
</div>
<div class="table-responsive">
<table data-custom-table-css="table" id="scroll-horizontal-datatable" class="table w-100 nowrap">
<thead class="bg-light">
<tr>
<th>S.No</th>
<!-- <th>Client Name</th> -->
<th>Insurer</th>
<th>Insurer<br> Branch</th>
<th>Statement<br> Month</th>
<th>Statement<br> No</th>
<th>Invoice No</th>
<th>Invoice Status</th>
<th>Invoice Date</th>
<th>Invoice Amount</th>
<th>Realization <br>Amount</th>
<th>Outstanding <br>Amount</th>
</tr>
</thead>
<tbody>
<?php
// dd($outstanting_list);
if (isset($outstanting_list)) { ?>
<?php foreach($outstanting_list as $index => $row){ ?>
<tr>
<td><?= $index + 1 ?></td>
<td><?php echo $row['short_name']; ?></td>
<td><?php echo $row['branch_name']; ?></td>
<td><?php echo change_date_format($row['month'],'Y-m-d','Y-m') ?></td>
<td><?php echo $row['stmt_sno']; ?></td>
<td><?php echo $row['invoice_no']; ?></td>
<td class="center-align-input"><?php echo isset($row['invoice_status']) ? $row['invoice_status'] : ' - '; ?></td>
<td><?php echo change_date_format($row['invoice_date'],'Y-m-d','d-M-Y'); ?></td>
<td class="right-align-input"><?php echo isset($row['invoice_amount']) ? $row['invoice_amount'] : '0.00'; ?></td>
<td class="right-align-input"><?php echo isset($row['total_paid']) ? $row['total_paid'] : '0.00'; ?></td>
<td class="right-align-input"><?php echo isset($row['outstanding_amount']) ? $row['outstanding_amount'] : '0.00'; ?></td>
</tr>
<?php } ?>
<?php } ?>
</tbody>
</table>
<div>
</div>
</div>
</div><!-- end col -->
</div>
</div>
<script>
// Datatable document ready
$(document).ready(function() {
$(document).ready(function() {
var ticketsTable = $('#scroll-horizontal-datatable');
var ticketsTable = $('#scroll-horizontal-datatable');
if (ticketsTable.length) {
ticketsTable.DataTable({
scrollX: true,
dom: "<'row'<'col-sm-6'f><'col-sm-6 text-right'B>>" + // Filter left, buttons right
"<'row'<'col-sm-12'tr>>" +
"<'row'<'col-sm-5'i><'col-sm-7'p>>", // Pagination at the bottom, without page length selector
buttons: [{
extend: 'csv',
text: 'CSV',
title: 'Policy-Tranction-BDS-List',
},
{
extend: 'excel',
text: 'Excel',
title: 'Policy-Tranction-BDS-List',
customize: function(xlsx) {
var sheet = xlsx.xl.worksheets['sheet1.xml'];
var total = 0;
if (ticketsTable.length) {
ticketsTable.DataTable({
scrollX: true,
dom: "<'row'<'col-sm-6'f><'col-sm-6 text-right'B>>" + // Filter left, buttons right
"<'row'<'col-sm-12'tr>>" +
"<'row'<'col-sm-5'i><'col-sm-7'p>>", // Pagination at the bottom, without page length selector
buttons: [{
extend: 'collection',
text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary ',
buttons: [{
extend: 'csv',
text: '<i class="mdi mdi-file-delimited " ></i><span class=" btn-custom"> CSV </span>',
title: 'Policy-Tranction-BDS-List',
},
{
extend: 'excel',
text: '<i class="mdi mdi-file-excel " ></i><span class=" btn-custom"> EXCEL </span>',
title: 'Policy-Tranction-BDS-List',
customize: function(xlsx) {
var sheet = xlsx.xl.worksheets['sheet1.xml'];
var total = 0;
// Find cells in column AB (28th column in Excel)
$('row c[r^="AB"]', sheet).each(function() {
var value = parseFloat($('v', this)
.text()); // Get the value inside the cell
if (!isNaN(value)) {
total += value;
// Find cells in column AB (28th column in Excel)
$('row c[r^="AB"]', sheet).each(function() {
var value = parseFloat($('v', this)
.text()); // Get the value inside the cell
if (!isNaN(value)) {
total += value;
}
});
// Get the last row index and append the total row
var lastRow = $('row:last', sheet);
var rowIndex = parseInt(lastRow.attr('r')) +
2; // Find the next row index
var totalRow = '<row r="' + rowIndex + '">' +
'<c t="inlineStr" r="AA' + rowIndex +
'"><is><t>Total</t></is></c>' + // Insert "Total" in AA
'<c t="n" r="AB' + rowIndex + '"><v>' + total.toFixed(2) +
'</v></c>' + // Insert sum in AB
'</row>';
// Append the new total row to the sheet
$(sheet).find('sheetData').append(totalRow);
}
});
// Get the last row index and append the total row
var lastRow = $('row:last', sheet);
var rowIndex = parseInt(lastRow.attr('r')) +
2; // Find the next row index
var totalRow = '<row r="' + rowIndex + '">' +
'<c t="inlineStr" r="AA' + rowIndex +
'"><is><t>Total</t></is></c>' + // Insert "Total" in AA
'<c t="n" r="AB' + rowIndex + '"><v>' + total.toFixed(2) +
'</v></c>' + // Insert sum in AB
'</row>';
// Append the new total row to the sheet
$(sheet).find('sheetData').append(totalRow);
}
}
],
language: {
search: "_INPUT_",
searchPlaceholder: "Search..."
},
paging: true, // Enable pagination
pageLength: 25 // Set default number of rows per page (optional)
});
} else {
console.error("Table not found.");
}
});
$(document).ready(function() {
getURLParams()
$('#client_id').select2();
$('#insurer_id').select2();
$('#policy_type_id').select2();
})
function fetchEmpolyeeList(event) {
event.preventDefault(); // Prevent default action
var start_date = $('#startDate').val();
var end_date = $('#endDate').val();
var client_id = $('#client_id').val();
var insurer_id = $('#insurer_id').val();
var policy_type_id = $('#policy_type_id').val();
var date_type = $('#date_type').val();
var issuer = $('#issuer').val();
console.log(start_date + '-' + end_date);
var queryParams = {
start_date: start_date,
end_date: end_date,
client_id: client_id,
insurer_id: insurer_id,
policy_type_id: policy_type_id,
date_type: date_type,
issuer: issuer,
};
const queryString = objectToQueryString(queryParams);
const apiURL = $('#get-emp-list').attr('href') + "?" + queryString;
console.log(apiURL);
window.location.href = apiURL;
}
function objectToQueryString(obj) {
return Object.keys(obj).map(key => `${encodeURIComponent(key)}=${encodeURIComponent(obj[key])}`).join('&');
}
function getURLParams() {
const url = new URL(window.location.href);
const params = new URLSearchParams(url.search);
const startDate = params.get('start_date') || 0; // Default to 0 if not found
const endDate = params.get('end_date') || 0; // Default to 0 if not found
const client_id = params.get('client_id') || 0; // Default to 0 if not found
const insurer_id = params.get('insurer_id') || 0; // Default to 0 if not found
const policy_type_id = params.get('policy_type_id') || 0; // Default to 0 if not found
const date_type = params.get('date_type') || 0; // Default to 0 if not found
const issuer = params.get('issuer') || 0; // Default to 0 if not found
hideDateField(date_type)
console.log('startDate', startDate)
console.log('endDate', endDate)
console.log('client_id', client_id)
console.log('insurer_id', insurer_id)
console.log('policy_type_id', policy_type_id)
console.log('date_type', date_type)
console.log('issuer', issuer)
// Log the values or use them as needed
console.log('Start Date:', startDate);
console.log('End Date:', endDate);
if (startDate != 0 && endDate != 0) {
setTimeout(function() {
$('#start_date').val(startDate)
$('#end_date').val(endDate)
$('#client_id').val(client_id).change()
$('#insurer_id').val(insurer_id).change()
$('#policy_type_id').val(policy_type_id).change()
$('#date_type').val(date_type)
$('#issuer').val(issuer)
}, 1000)
}
}
$(function() {
const url = new URL(window.location.href);
const params = new URLSearchParams(url.search);
// Get start and end dates from URL parameters, or use default values
const startDateParam = params.get('start_date') || moment().subtract(29, 'days').format('DD-MM-YYYY');
const endDateParam = params.get('end_date') || moment().format('DD-MM-YYYY');
// Parse the dates to moment objects
var start = moment(startDateParam, 'DD-MM-YYYY');
var end = moment(endDateParam, 'DD-MM-YYYY');
// var start = moment().subtract(29, 'days');
// var end = moment();
function cb(start, end) {
$('#reportrange span').html(start.format('D-MM-YYYY') + ' - ' + end.format('D-MM-YYYY'));
$('#startDate').val(start.format('DD-MM-YYYY'));
$('#endDate').val(end.format('DD-MM-YYYY'));
}
$('#reportrange').daterangepicker({
startDate: start,
endDate: end,
ranges: {
'This Month': [moment().startOf('month'), moment().endOf('month')],
'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month')
.endOf('month')
]
}
]
}],
language: {
search: "_INPUT_",
searchPlaceholder: "Search..."
},
paging: true, // Enable pagination
pageLength: 25 // Set default number of rows per page (optional)
});
} else {
console.error("Table not found.");
}
}, cb);
cb(start, end);
$('#clear-filters').on('click', function() {
// Reset all select dropdowns to the first option
$('#client_id').val('0').change();
$('#insurer_id').val('0').change();
$('#policy_type_id').val('0').change();
$('#date_type').val('0');
$('#issuer').val('0');
$('#date_div').hide()
// Reset the date range picker to default
$('#reportrange').data('daterangepicker').setStartDate(moment().subtract(29, 'days'));
$('#reportrange').data('daterangepicker').setEndDate(moment());
cb(start, end); // Update the displayed date range
});
});
$(document).ready(function() {
getURLParams()
$('#client_id').select2();
$('#insurer_id').select2();
$('#policy_type_id').select2();
})
function hideDateField(input = null) {
let val = $('#date_type').val();
function fetchEmpolyeeList(event) {
event.preventDefault(); // Prevent default action
if (input) {
val = input;
var start_date = $('#startDate').val();
var end_date = $('#endDate').val();
var client_id = $('#client_id').val();
var insurer_id = $('#insurer_id').val();
var policy_type_id = $('#policy_type_id').val();
var date_type = $('#date_type').val();
var issuer = $('#issuer').val();
console.log(start_date + '-' + end_date);
var queryParams = {
start_date: start_date,
end_date: end_date,
client_id: client_id,
insurer_id: insurer_id,
policy_type_id: policy_type_id,
date_type: date_type,
issuer: issuer,
};
const queryString = objectToQueryString(queryParams);
const apiURL = $('#get-emp-list').attr('href') + "?" + queryString;
console.log(apiURL);
window.location.href = apiURL;
}
if (val != 0) {
$('#date_div').show()
} else {
$('#date_div').hide()
function objectToQueryString(obj) {
return Object.keys(obj).map(key => `${encodeURIComponent(key)}=${encodeURIComponent(obj[key])}`).join('&');
}
function getURLParams() {
const url = new URL(window.location.href);
const params = new URLSearchParams(url.search);
const startDate = params.get('start_date') || 0; // Default to 0 if not found
const endDate = params.get('end_date') || 0; // Default to 0 if not found
const client_id = params.get('client_id') || 0; // Default to 0 if not found
const insurer_id = params.get('insurer_id') || 0; // Default to 0 if not found
const policy_type_id = params.get('policy_type_id') || 0; // Default to 0 if not found
const date_type = params.get('date_type') || 0; // Default to 0 if not found
const issuer = params.get('issuer') || 0; // Default to 0 if not found
hideDateField(date_type)
console.log('startDate', startDate)
console.log('endDate', endDate)
console.log('client_id', client_id)
console.log('insurer_id', insurer_id)
console.log('policy_type_id', policy_type_id)
console.log('date_type', date_type)
console.log('issuer', issuer)
// Log the values or use them as needed
console.log('Start Date:', startDate);
console.log('End Date:', endDate);
if (startDate != 0 && endDate != 0) {
setTimeout(function() {
$('#start_date').val(startDate)
$('#end_date').val(endDate)
$('#client_id').val(client_id).change()
$('#insurer_id').val(insurer_id).change()
$('#policy_type_id').val(policy_type_id).change()
$('#date_type').val(date_type)
$('#issuer').val(issuer)
}, 1000)
}
}
$(function() {
const url = new URL(window.location.href);
const params = new URLSearchParams(url.search);
// Get start and end dates from URL parameters, or use default values
const startDateParam = params.get('start_date') || moment().subtract(29, 'days').format('DD-MM-YYYY');
const endDateParam = params.get('end_date') || moment().format('DD-MM-YYYY');
// Parse the dates to moment objects
var start = moment(startDateParam, 'DD-MM-YYYY');
var end = moment(endDateParam, 'DD-MM-YYYY');
// var start = moment().subtract(29, 'days');
// var end = moment();
function cb(start, end) {
// codeword : ***2***
// if you cross check means also uncomment "star1star" (***1***)
// $('#reportrange span').html(start.format('D-MM-YYYY') + ' - ' + end.format('D-MM-YYYY'));
$('#reportrange').html(start.format('D-MM-YYYY') + ' - ' + end.format('D-MM-YYYY'));
$('#startDate').val(start.format('DD-MM-YYYY'));
$('#endDate').val(end.format('DD-MM-YYYY'));
}
$('#reportrange').daterangepicker({
startDate: start,
endDate: end,
// autoUpdateInput: false,
locale: {
format: 'DD-MM-YYYY' // 👈 force input format
},
ranges: {
'This Month': [moment().startOf('month'), moment().endOf('month')],
'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')]
}
}, cb);
cb(start, end);
$('#clear-filters').on('click', function() {
// Reset all select dropdowns to the first option
$('#client_id').val('0').change();
$('#insurer_id').val('0').change();
$('#policy_type_id').val('0').change();
$('#date_type').val('0');
$('#issuer').val('0');
$('#date_div').hide()
// Reset the date range picker to default
$('#reportrange').data('daterangepicker').setStartDate(moment().subtract(29, 'days'));
$('#reportrange').data('daterangepicker').setEndDate(moment());
cb(start, end); // Update the displayed date range
});
});
function hideDateField(input = null) {
let val = $('#date_type').val();
if (input) {
val = input;
}
if (val != 0) {
$('#date_div').show()
} else {
$('#date_div').hide()
}
}
}
function sendPolicyTransactionID(event, pt_id) {
event.preventDefault(); // Prevent default action
function sendPolicyTransactionID(event, pt_id) {
event.preventDefault(); // Prevent default action
console.log(pt_id);
console.log(pt_id);
var queryParams = {
pt_id: pt_id,
};
var queryParams = {
pt_id: pt_id,
};
const queryString = objectToQueryString(queryParams);
const apiURL = $('#get-policy-list').attr('href') + "?" + queryString;
console.log(apiURL);
window.location.href = apiURL;
}
const queryString = objectToQueryString(queryParams);
const apiURL = $('#get-policy-list').attr('href') + "?" + queryString;
console.log(apiURL);
window.location.href = apiURL;
}
</script>

View File

@ -98,6 +98,22 @@
color: #000;
}
/** newly implemented */
#insurerTable thead th:first-child {
border-top: 0px solid #fff !important;
border-bottom: 0px solid #fff !important;
background-color: transparent !important;
}
#insurerTable tbody td {
border-top: 0px solid #fff !important;
border-bottom: 0px solid #fff !important;
background-color: transparent !important;
}
#insurerTable th{
color: black !important;
background-color: transparent !important;
}
</style>
<div class="row" id="endorsement_form" style="display: none;">
@ -129,15 +145,18 @@
<div class="row">
<!-- Section 1 -->
<div class="col-md-12">
<div class="form-section">
<!-- <div class="form-section"> -->
<div id="accordion_0" class="mb-0">
<div class="card mb-0">
<h4 class="m-1">Client Details
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseOne" aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</h4>
<label id="policyAccordion" class="m-1 d-flex justify-content-between align-items-center">
<span class="font-color-black">Client Details</span>
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseOne"
aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-up mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</label>
<div class="card mb-1">
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion_0">
<div class="card-body">
<div class="row">
<div class="form-group col-md-3">
@ -172,10 +191,11 @@
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- </div> -->
</div>
</div>
@ -327,15 +347,167 @@
<!-- Premium Details -->
<div class="row">
<div class="col-md-12">
<div class="form-section">
<div id="accordion_2" class="mb-0">
<label id="policyAccordion" class="m-1 d-flex justify-content-between align-items-center">
<span class="font-color-black">Endorsement</span>
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseThree"
aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-up mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</label>
<div class="card mb-1">
<div id="collapseThree" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion_2">
<div class="card-body">
<div class="row">
<div class="form-group col-md-3" id="tpa_endorse_div">
<label for="tpa"> TPA <span id="tpa_danger"class="text-danger"></span></label>
<select class="form-control readonly-select" id="tpa" name="tpa" >
<option value="" selected>Select TPA</option>
<?php foreach ($tpa as $value) { ?>
<option value="<?= $value['id'] . '-' . $value['tpa_id'] ?>">
<?= $value['tpa_short_name'] . '-' . $value['branch_code'] ?>
</option>
<?php } ?>
</select>
</div>
<div class="form-group col-md-3">
<label for="addon_policy">Policy No<span id="base_danger"class="text-danger"></span></label>
<input type="text" class="form-control" id="policy_no" name="policy_no"placeholder="Enter Policy No" readonly>
</div>
<div class="form-group col-md-3">
<label for="bp_cgst">D.O.C <span id="base_danger" class="text-danger"></span></label>
<input id="policy_start_date" type="text" class="form-control" placeholder="DD/MM/YYYY" readonly>
</div>
<div class="form-group col-md-3">
<label for="bp_igst">D.O.E <span id="base_danger" class="text-danger"></span></label>
<input id="policy_end_date" type="text" class="form-control" placeholder="DD/MM/YYYY" readonly>
</div>
<div class="form-group col-md-3">
<label for="addon_policy">Policy Issue Month<span id="base_danger" class="text-danger">*</span></label>
<input type="text" class="form-control" id="month" name="month" placeholder="MM/YYYY" >
</div>
<div class="form-group col-md-3">
<label for="addon_policy"> Endorsement Type <span id="base_danger" class="text-danger">*</span></label>
<select class="form-control" id="action_type" name="action_type" required>
<option value="" selected>Select Endorsement Type</option>
<?php
if (isset($action_type) && count($action_type)) {
foreach ($action_type as $key => $value) {
echo "<option value=" . $key . ">" . $value . "</option>";
}
}
?>
</select>
</div>
<div class="form-group col-md-3">
<label for="addon_policy">Endorsement No<span id="base_danger" class="text-danger"></span></label>
<input type="text" class="form-control" id="endorsement_no" name="endorsement_no" placeholder="Enter Endorsement No" onchange="validateInput(this, 'policy_transaction', 'endorsement_no')">
</div>
<div class="form-group col-md-3">
<label for="addon_policy">Data Received Date<span id="base_danger" class="text-danger">*</span></label>
<input type="text" class="form-control" id="data_received_date" name="data_received_date" placeholder="DD/MM/YYYY" required>
</div>
<div class="form-group col-md-3">
<label for="policy_issue_date">Date of Issue<span id="base_danger" class="text-danger">*</span></label>
<input type="text" class="form-control" id="policy_issue_date" name="policy_issue_date" placeholder="DD/MM/YYYY" required>
</div>
<div class="form-group col-md-3">
<label for="endorse_eff_date">Endorsement Effective Date<span id="base_danger" class="text-danger"></span></label>
<input type="text" class="form-control" id="endorse_eff_date" name="endorse_eff_date" placeholder="DD/MM/YYYY" >
</div>
<div class="form-group col-md-3" id="no_of_insured_endorse_div">
<label for="addon_policy">No of Insured<span id="base_danger"class="text-danger"></span></label>
<input type="text" class="form-control" id="emp_count" name="emp_count" placeholder="Enter Employeee" onkeypress="return onlyNumbers(event)">
</div>
<div class="form-group col-md-3" id="no_of_dependents_endorse_div">
<label for="addon_policy">No of Dependents<span id="base_danger" class="text-danger"></span></label>
<input type="text" class="form-control" id="dependent_count" name="dependent_count" placeholder="Enter Dependent" onkeypress="return onlyNumbers(event)">
</div>
</div>
<hr>
<div class="row">
<div class="form-group col-md-3">
<label for="addon_policy"> Status <span id="base_danger"class="text-danger">*</span></label>
<select class="form-control" id="policy_status" name="status" required>
<option value="" selected>Select Status</option>
<?php
if (isset($policy_status) && count($policy_status)) {
foreach ($policy_status as $key => $value) {
if($key == 'pending'){
echo "<option value=" . $key . " selected>" . $value . "</option>";
}else{
echo "<option value=" . $key . ">" . $value . "</option>";
}
}
}
?>
</select>
</div>
<div class="form-group col-md-3">
<label for="last_action_date">Latest Action Date</label>
<input id="last_action_date" type="text" class="form-control" name="last_action_date" placeholder="DD/MM/YYYY">
</div>
<div class="form-group col-md-3 install_due_date_div" style="display: none;">
<label for="install_due_date">Installment due Date</label>
<input id="install_due_date" type="text" class="form-control" name="install_due_date" placeholder="DD/MM/YYYY">
</div>
<!-- <div class="form-group col-md-3">
<label class="switch" style="position: relative;top: 32px;left: 20px;">
<input id="policy_with_corr" type="checkbox" name="policy_with_corr">
<span class="slider round" style="height: 27px;"></span>
</label>
<label for="policy_with_corr" style="position: relative;top: 33px;left: 25px;"> Policy with Correction</label>
</div> -->
<!-- <div class="form-group col-md-3">
<label class="switch" style="position: relative;top: 32px;left: 20px;">
<input id="is_cd_reduce_from_bds" type="checkbox" name="is_cd_reduce_from_bds">
<span class="slider round" style="height: 27px;"></span>
</label>
<label for="is_cd_reduce_from_bds" style="position: relative;top: 33px;left: 25px;">Make Entry in CD &nbsp;&nbsp; <i class="mdi mdi-information-outline" data-toggle="tooltip" title="Enabling this will affect ( Credit/Debit ) the CD transaction. ( GMC, GPA, EDLI and GTLI, CD transaction from CRM )"></i></label>
</div> -->
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Premium Details -->
<div class="col-md-12">
<!-- <div class="form-section"> -->
<div id="accordion_3" class="mb-0">
<label id="policyAccordion" class="m-1 d-flex justify-content-between align-items-center">
<span class="font-color-black">Premium Details</span>
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseTwo"
aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-up mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</label>
<div class="card mb-0">
<h4 class="m-1">Premium Details
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseFour" aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</h4>
<div id="collapseFour" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion_3">
<div id="collapseTwo" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion_3">
<div class="card-body">
<div class="row d-none" id="add_more_row">
<div class="col-md-2">
<input type="number" id="setInsurerCount" class="form-control" placeholder="Enter count">
@ -349,10 +521,10 @@
</div>
<div id="insurerTableContainer" style="overflow: auto;">
<table data-custom-table-css="table" class="table table-bordered co_share_table" id="insurerTable">
<table data-custom-table-css="table" class="table co_share_table" id="insurerTable">
<thead>
<tr>
<th>Premium Details</th>
<th><span class="font-color-black">Premium Details</span></th>
</tr>
</thead>
<tbody>
@ -494,19 +666,16 @@
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- </div> -->
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="form-group text-right m-b-0" id="submitButton">
<div class="form-group text-right mt-3 m-b-0" id="submitButton">
<button type="submit" class="btn btn-primary waves-effect waves-light mr-1" id="btnSubmit">Submit</button>
</div>
@ -1713,8 +1882,10 @@ function addInsurerColumn() {
// Update header
$('#insurerTable thead tr').append(`
<th>
<span style="display:flex; justify-content:space-between; align-items:center;">
Insurer ${insurerCount}
${insurerCount > 1 ? `<a class="text-danger mdi mdi-delete delete-insurer" data-count="${insurerCount}" style="margin-left: 135px;"></a>` : ''}
</span>
</th>
`);

File diff suppressed because it is too large Load Diff

View File

@ -141,6 +141,22 @@
font-size: 24px;
}
/** newly implemented */
#insurerTable thead th:first-child {
border-top: 0px solid #fff !important;
border-bottom: 0px solid #fff !important;
background-color: transparent !important;
}
#insurerTable tbody td {
border-top: 0px solid #fff !important;
border-bottom: 0px solid #fff !important;
background-color: transparent !important;
}
#insurerTable th{
color: black !important;
background-color: transparent !important;
}
</style>
<div class="tab-pane fade active show" id="form">
@ -184,15 +200,18 @@
<div class="row">
<!-- Section 1 -->
<div class="col-md-12">
<div class="form-section">
<div id="accordion_0" class="mb-0">
<div class="card mb-0">
<h4 class="m-1">Client Details
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseOne" aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</h4>
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion_0">
<label id="policyAccordion" class="m-1 d-flex justify-content-between align-items-center">
<span class="font-color-black">Client Details</span>
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseOne"
aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-up mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</label>
<div class="card mb-1">
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion_0">
<div class="card-body">
<div class="row">
<div class="form-group col-md-3">
<label for="email"> Policy Type <span class="text-danger">*</span></label>
@ -281,15 +300,15 @@
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row" id="vehicle_row_div">
</div>
<!-- Client Section -->
<div class="row" id="client_row_div">
</div>
@ -297,16 +316,18 @@
<!-- Pre sales Row -->
<div class="row" id="pre_sales_row">
<div class="col-md-12">
<div class="form-section">
<div id="accordion_1" class="mb-0">
<div class="card mb-0">
<h4 class="m-1">Pre Sales
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseTwo" aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</h4>
<div id="collapseTwo" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion_1">
<label id="policyAccordion" class="m-1 d-flex justify-content-between align-items-center">
<span class="font-color-black">Pre Sales</span>
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseTwo"
aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-up mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</label>
<div class="card mb-1">
<div id="collapseTwo" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion_1">
<div class="card-body">
<div class="row" id="policyholdernamediv" style="display: none;">
<div class="form-group col-md-3">
<label for="bp_igst">Policyholder Name</label>
@ -495,24 +516,28 @@
</div> -->
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- sales Row -->
<div class="row" id="sales_row" style="display: none;">
<div class="col-md-12">
<div class="form-section">
<div id="accordion_2" class="mb-0">
<div class="card mb-0">
<h4 class="m-1">Sales
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseThree" aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</h4>
<div id="collapseThree" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion_2">
<label id="policyAccordion" class="m-1 d-flex justify-content-between align-items-center">
<span class="font-color-black">Sales</span>
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseThree"
aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-up mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</label>
<div class="card mb-1">
<div id="collapseThree" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion_2">
<div class="card-body">
<div class="row">
<div class="form-group col-md-3" id="base_policy_id" style="display: none;">
@ -652,20 +677,27 @@
</div>
</div>
<hr>
</div>
</div>
</div>
</div> <!-- accordion_2 div closed here -->
</div><!-- 1st col-md-12 div closed here -->
<!-- Premium Details -->
<div class="row">
<!-- Premium Details -->
<div class="col-md-12">
<div class="form-section">
<div id="accordion_3" class="mb-0">
<label id="policyAccordion" class="m-1 d-flex justify-content-between align-items-center">
<span class="font-color-black">Premium Details</span>
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseFour"
aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-up mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</label>
<div class="card mb-0">
<h4 class="m-1">Premium Details
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseFour" aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</h4>
<div id="collapseFour" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion_3">
<div id="collapseFour" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion_3">
<div class="card-body">
<div class="row d-none" id="add_more_row">
<div class="col-md-2">
<!-- <label for="setInsurerCount">Insurer Count : </label> -->
@ -681,7 +713,7 @@
</div>
<div id="insurerTableContainer" style="overflow: auto;">
<table data-custom-table-css="table" class="table table-bordered co_share_table" id="insurerTable">
<table data-custom-table-css="table" class="table co_share_table" id="insurerTable">
<thead>
<tr>
<th>Premium Details</th>
@ -821,22 +853,18 @@
</tr>
</tbody>
</table>
</div>
</div> <!-- insurerTableContainer div closed here-->
</div>
</div> <!-- collapseFour div closed here -->
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div> <!-- accordion_3 div closed here -->
</div> <!-- 2nd col-md-12 closed here -->
</div> <!-- sales_row div closed here -->
<div class="form-group text-right m-b-0" id="submitButton">
<div class="form-group text-right mt-1 m-b-0" id="submitButton">
<button type="submit" class="btn btn-primary waves-effect waves-light mr-1"
id="btnSubmit">Submit</button>
</div>
@ -4089,8 +4117,10 @@
// Update header
$('#insurerTable thead tr').append(`
<th>
<span style="display:flex; justify-content:space-between; align-items:center;">
Insurer ${insurerCount}
${insurerCount > 1 ? `<a data-count="${insurerCount}" class="text-danger mdi mdi-delete delete-insurer" style="margin-left: 135px;"></a>` : ''}
</span>
</th>
`);

View File

@ -146,15 +146,16 @@ table.dataTable tbody td {
</style>
<div class="row" id="inception_filter">
<div class="col-12" style="margin-top: -12px;">
<div class="col-12">
<div id="accordion" class="mb-3">
<div class="card mb-1">
<h4 class="m-1">
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseOne"
aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</h4>
<h4 class="m-1">
<span>Filter</span>
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseOne"
aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</h4>
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion">
<div class="card-body">
<div class="form-group">
@ -256,7 +257,11 @@ table.dataTable tbody td {
<input type="hidden" id="endDate">
</div>
<div class="form-group col-md-3 text-right m-b-0" style="margin-top: 29px;">
</div>
<div class="form-row">
<div class="form-group col-md-12 text-right m-b-0">
<a href="<?= base_url("/policy_tranction/inception/list"); ?>" class="btn btn-secondary" id="clear-filters">Clear</a>
<a href="<?= base_url("/policy_tranction/inception/list"); ?>" class="btn btn-primary" id="get-emp-list" onclick="fetchEmpolyeeList(event);">Submit</a>
</div>
@ -309,21 +314,21 @@ table.dataTable tbody td {
<tbody>
<?php foreach($inception_data_list as $index => $row){ ?>
<tr>
<td><?php echo $index+1; ?></td>
<td class="text-center"><?php echo $index+1; ?></td>
<td><?php echo $issuer[$row['issuer']]; ?></td>
<td><?php echo $issuing_type[$row['issue_type']]; ?></td>
<td><?php echo $client_type[$row['client_type']] ?? '-'; ?></td>
<td><?php echo $issuing_type[$row['issue_type']] ?: 'N/A'; ?></td>
<td><?php echo $client_type[$row['client_type']] ?? 'N/A'; ?></td>
<td><?php echo $row['client_type'] == 2 ? $row['client_name'] . " - " . (!empty($row['pan']) ? $row['pan'] : 'N/A') : $row['client_short_name'] . ' - ' . $row['client_branch_name']; ?></td>
<td><?php echo $row['insurer_short_name']; ?></td>
<td><?php echo $row['policy_type']; ?></td>
<td><?php echo $row['policy_no']; ?></td>
<td><?php echo empty($row['policy_issue_date']) ? '' : date('d/m/Y', strtotime($row['policy_issue_date'])); ?></td>
<td><?php echo empty($row['policy_issue_date']) ? '' : date('d/m/Y', strtotime($row['policy_start_date'])); ?></td>
<td><?php echo empty($row['policy_issue_date']) ? '' : date('d/m/Y', strtotime($row['policy_end_date'])); ?></td>
<td class="right-align-input"><?php echo $row['emp_count']; ?></td>
<td class="right-align-input"><?php echo $row['dependent_count']; ?></td>
<td><?php echo $policy_status[$row['status']]; ?></td>
<td><?php echo $row['user_name']; ?></td>
<td><?php echo $row['insurer_short_name'] ?: 'N/A'; ?></td>
<td><?php echo $row['policy_type'] ?: 'N/A'; ?></td>
<td><?php echo $row['policy_no'] ?: 'N/A'; ?></td>
<td><?php echo empty($row['policy_issue_date']) ? 'N/A' : date('d/m/Y', strtotime($row['policy_issue_date'])); ?></td>
<td><?php echo empty($row['policy_issue_date']) ? 'N/A' : date('d/m/Y', strtotime($row['policy_start_date'])); ?></td>
<td><?php echo empty($row['policy_issue_date']) ? 'N/A' : date('d/m/Y', strtotime($row['policy_end_date'])); ?></td>
<td class="right-align-input"><?php echo $row['emp_count'] ?: '0'; ?></td>
<td class="right-align-input"><?php echo $row['dependent_count'] ?: '0'; ?></td>
<td><?php echo $policy_status[$row['status']] ?: 'N/A'; ?></td>
<td><?php echo $row['user_name'] ?: 'N/A'; ?></td>
<td>
<div class="btn-group dropdown">
<a href="javascript: void(0);" class="dropdown-toggle arrow-none btn btn-light btn-sm" data-toggle="dropdown" aria-expanded="false"><i class="mdi mdi-dots-horizontal"></i></a>
@ -556,33 +561,44 @@ $(document).ready(function() {
if (ticketsTable.length) {
ticketsTable.DataTable({
scrollX: true,
dom: "<'row'<'col-sm-7'f><'col-sm-5 text-right'B>>" + // Filter left, buttons right
"<'row'<'col-sm-12'tr>>" +
"<'row'<'col-sm-5'i><'col-sm-7'p>>", // Pagination at the bottom, without page length selector
buttons: [
{
extend: 'csv',
text: 'CSV',
title: 'Policy-Tranction-Inception-List',
exportOptions: {
columns: ':not(:last-child)'
dom: "<'row'<'col-sm-1'f><'col-sm-11 text-right'B>>" + // Filter left, buttons right
"<'row'<'col-sm-12'tr>>" +
"<'row'<'col-sm-5'i><'col-sm-7'p>>", // Pagination at the bottom, without page length selector
buttons: [
{
text: '<i class="mdi mdi-plus" ></i><span class=" btn-custom"> Add </span>',
className: 'btn app-btn-primary mr-2',
action: function (e, dt, node, config) {
hide_list_show_add();
}
},
},
{
text: 'Add',
className: 'buttons-html5 addbtnStyle',
action: function (e, dt, node, config) {
hide_list_show_add();
{
extend: 'collection',
text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary ',
buttons: [
{
extend: 'csv',
text: '<i class="mdi mdi-file-delimited " ></i><span class=" btn-custom"> CSV </span>',
className: 'app-btn-primary ',
title: 'Policy-Tranction-Inception-List',
exportOptions: {
columns: ':not(:last-child)'
},
}
]
}
}
],
],
language: {
search: "_INPUT_",
searchPlaceholder: "Search..."
search: `
<div class="datatable-search-wrapper">
_INPUT_
<i class="mdi mdi-magnify datatable-search-icon"></i>
</div>`,
searchPlaceholder: "Search"
},
paging: true, // Enable pagination
pageLength: 25, // Set default number of rows per page (optional)
pageLength: 10, // Set default number of rows per page (optional)
// ordering: false,
});
} else {

View File

@ -1,17 +1,17 @@
<style>
.custom-dropdown-menu {
.custom-dropdown-menu {
display: none;
position: fixed;
background-color: #ffffff !important;
border: 1px solid rgba(0,0,0,.15);
border: 1px solid rgba(0, 0, 0, .15);
border-radius: 0.25rem;
padding: 0.5rem 0;
min-width: 10rem;
z-index: 9999;
box-shadow: 0 0 10px rgba(0,0,0,0.1);
}
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
.custom-dropdown-menu .dropdown-item {
.custom-dropdown-menu .dropdown-item {
display: block !important;
width: 100% !important;
padding: 0.5rem 1rem !important;
@ -24,25 +24,25 @@
border: 0 !important;
text-decoration: none !important;
position: relative !important;
}
}
.custom-dropdown-menu .dropdown-item:hover {
.custom-dropdown-menu .dropdown-item:hover {
background-color: #f8f9fa !important;
color: #16181b !important;
cursor: pointer !important;
}
}
.custom-dropdown-menu .dropdown-item i {
.custom-dropdown-menu .dropdown-item i {
margin-right: 8px !important;
vertical-align: middle !important;
}
}
.table tbody tr {
.table tbody tr {
cursor: pointer;
}
}
/* Ensure the dropdown menu has a solid background */
.custom-dropdown-menu::before {
/* Ensure the dropdown menu has a solid background */
.custom-dropdown-menu::before {
content: '';
position: absolute;
top: 0;
@ -51,26 +51,28 @@
bottom: 0;
background: #ffffff;
z-index: -1;
}
}
/* Add a subtle backdrop effect */
.custom-dropdown-menu::after {
/* Add a subtle backdrop effect */
.custom-dropdown-menu::after {
content: '';
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0,0,0,0.05);
background: rgba(0, 0, 0, 0.05);
z-index: -2;
pointer-events: none;
}
}
</style>
<div class="row" id="policy_list">
<div class="container-fluid-min">
<div class="row" id="policy_list">
<div class="col-12">
<div class="card">
<div class="card-body maincard">
<!-- <div class="row" style="margin-bottom:1rem;">
<div class="card">
<div class="card-body maincard">
<!-- <div class="row" style="margin-bottom:1rem;">
<div class="col-6" style="align-self: center;">
<h4 style="position: relative;">Policy Type List</h4>
</div>
@ -78,32 +80,32 @@
<a href="<?= base_url("master/policy/create"); ?>" type="button" id="btnAdd" class="btn btn-primary waves-effect waves-light" data-toggle="" data-placement="top" title="Add" data-trigger="hover">ADD</a>
</div>
</div> -->
<div class="row" style="margin-bottom:1rem;">
<!-- <div class="row" style="margin-bottom:1rem;">
<div class="col-6" style="align-self: center;">
<h4 style="position: relative;">Policy</h4>
</div>
</div>
<table data-custom-table-css="table" class="table table-sm table-hover m-0 table-centered dt-responsive nowrap w-100" cellspacing="0"
id="tickets-table">
<thead class="bg-light">
<tr>
<th class="font-weight-medium">Policy Type</th>
<th class="font-weight-medium">Policy Long Name</th>
<th class="font-weight-medium">BAP</th>
<th class="font-weight-medium">Category</th>
<th class="font-weight-medium">BAP Category</th>
<th class="font-weight-medium">Action</th>
</tr>
</thead>
</div> -->
<table data-custom-table-css="table" class="table table-sm table-hover m-0 table-centered dt-responsive nowrap w-100" cellspacing="0"
id="tickets-table">
<thead class="bg-light">
<tr>
<th class="font-weight-medium">Policy Type</th>
<th class="font-weight-medium">Policy Long Name</th>
<th class="font-weight-medium">BAP</th>
<th class="font-weight-medium">Category</th>
<th class="font-weight-medium">BAP Category</th>
<th class="font-weight-medium">Action</th>
</tr>
</thead>
<tbody>
<?php if(is_array($policyList)) {foreach($policyList as $row){ ?>
<tr>
<td><?php echo $row['policy_type']; ?> </td>
<td><?php echo $row['long_name']; ?> </td>
<td><?php echo $row['bap']; ?></td>
<td><?php echo $row['allocg']; ?></td>
<td><?php echo $row['alloci']; ?></td>
<td><?php echo $row['policy_type'] ?: 'N/A'; ?> </td>
<td><?php echo $row['long_name'] ?: 'N/A'; ?> </td>
<td><?php echo $row['bap'] ?: 'N/A'; ?></td>
<td><?php echo $row['allocg'] ?: 'N/A'; ?></td>
<td><?php echo $row['alloci'] ?: 'N/A'; ?></td>
<td>
<div class="btn-group dropdown">
<a href="javascript: void(0);" class="dropdown-toggle arrow-none btn btn-light btn-sm" data-toggle="dropdown"aria-expanded="false"><i class="mdi mdi-dots-horizontal"></i></a>
@ -116,232 +118,254 @@
</tr>
<?php }}?>
</tbody>
</table>
</div>
</tbody>
</table>
</div>
</div>
</div><!-- end col -->
</div>
</div>
<!-- end row -->
<script>
document.addEventListener("DOMContentLoaded", function () {
document.addEventListener("DOMContentLoaded", function() {
const table = document.getElementById("tickets-table");
// Create custom dropdown
function createCustomDropdown(row) {
// Get the original dropdown items
const originalDropdown = row.querySelector('.dropdown-menu');
if (!originalDropdown) return null;
// Create new dropdown with proper background and spacing
const customDropdown = document.createElement('div');
customDropdown.className = 'custom-dropdown-menu';
// Copy inner content while maintaining icon alignment
customDropdown.innerHTML = originalDropdown.innerHTML;
return customDropdown;
// Get the original dropdown items
const originalDropdown = row.querySelector('.dropdown-menu');
if (!originalDropdown) return null;
// Create new dropdown with proper background and spacing
const customDropdown = document.createElement('div');
customDropdown.className = 'custom-dropdown-menu';
// Copy inner content while maintaining icon alignment
customDropdown.innerHTML = originalDropdown.innerHTML;
return customDropdown;
}
let activeDropdown = null;
// Add click event listener to rows
table.querySelectorAll("tbody tr").forEach(row => {
const customDropdown = createCustomDropdown(row);
if (!customDropdown) return;
document.body.appendChild(customDropdown);
const customDropdown = createCustomDropdown(row);
if (!customDropdown) return;
row.addEventListener("click", function(event) {
// Ignore clicks on the action column
if (event.target.closest('td:last-child')) {
return;
}
document.body.appendChild(customDropdown);
// Hide any active dropdown
if (activeDropdown) {
activeDropdown.style.display = 'none';
}
row.addEventListener("click", function(event) {
// Ignore clicks on the action column
if (event.target.closest('td:last-child')) {
return;
}
// Get click position
const rect = event.target.getBoundingClientRect();
// Hide any active dropdown
if (activeDropdown) {
activeDropdown.style.display = 'none';
}
// Position the dropdown with some offset
customDropdown.style.display = 'block';
customDropdown.style.position = 'fixed';
customDropdown.style.left = `${rect.left}px`;
customDropdown.style.top = `${rect.bottom + 5}px`; // Add 5px gap
// Get click position
const rect = event.target.getBoundingClientRect();
// Set as active dropdown
activeDropdown = customDropdown;
// Position the dropdown with some offset
customDropdown.style.display = 'block';
customDropdown.style.position = 'fixed';
customDropdown.style.left = `${rect.left}px`;
customDropdown.style.top = `${rect.bottom + 5}px`; // Add 5px gap
event.stopPropagation();
});
// Preserve click handlers
customDropdown.querySelectorAll('.dropdown-item').forEach(item => {
item.addEventListener('click', function(e) {
e.preventDefault();
const onclickAttr = this.getAttribute('onclick');
if (onclickAttr) {
eval(onclickAttr);
}
const href = this.getAttribute('href');
if (href && href !== '#') {
window.location.href = href;
}
e.stopPropagation();
});
// Set as active dropdown
activeDropdown = customDropdown;
event.stopPropagation();
});
// Preserve click handlers
customDropdown.querySelectorAll('.dropdown-item').forEach(item => {
item.addEventListener('click', function(e) {
e.preventDefault();
const onclickAttr = this.getAttribute('onclick');
if (onclickAttr) {
eval(onclickAttr);
}
const href = this.getAttribute('href');
if (href && href !== '#') {
window.location.href = href;
}
e.stopPropagation();
});
});
});
// Close dropdown when clicking outside
document.addEventListener("click", function() {
if (activeDropdown) {
activeDropdown.style.display = 'none';
activeDropdown = null;
}
if (activeDropdown) {
activeDropdown.style.display = 'none';
activeDropdown = null;
}
});
});
});
</script>
<script>
$(document).ready(function(){
$('#tickets-table').DataTable({
dom: "<'row'<'col-sm-0'f><'col-sm-9 text-right'B>>" +
"<'row'<'col-sm-12'tr>>" +
"<'row'<'col-sm-5'i><'col-sm-7'p>>" ,
dom: "<'row'<'col-12 d-flex justify-content-between align-items-center'<'datatable-search dataTables_filter'f><'datatable-buttons dt-buttons'B>>>" +
"<'row'<'col-sm-12'tr>>" +
"<'row'<'col-sm-5'i><'col-sm-7'p>>",
// buttons: [
// {
// extend: 'csv',
// text: 'CSV',
// title: 'PolicyTypeList',
// exportOptions: {
// columns: ':not(:last-child)'
// }
// }
// ],
buttons: [
{
extend: 'csv',
text: 'CSV',
title: 'PolicyTypeList',
exportOptions: {
columns: ':not(:last-child)'
}
}
],
{
extend: 'collection',
text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary ',
buttons: [
{
extend: 'csv',
text: '<i class="mdi mdi-file-delimited " ></i><span class=" btn-custom"> CSV </span>',
className: 'app-btn-primary ',
title: 'PolicyTypeList',
exportOptions: {
columns: ':not(:last-child)'
}
}
]
}
],
language: {
search: "_INPUT_",
searchPlaceholder: "Search..."
search: `
<div class="datatable-search-wrapper">
_INPUT_
<i class="mdi mdi-magnify datatable-search-icon"></i>
</div>`,
searchPlaceholder: "Search"
},
paging: true ,
});
})
})
const btnExport = document.querySelector("#btnExport");
const tableElement = document.querySelector("#tickets-table");
const btnExport = document.querySelector("#btnExport");
const tableElement = document.querySelector("#tickets-table");
btnExport.addEventListener("click", () => {
const obj = new csvExport(tableElement);
const csvData = obj.exportCsv();
const blob = new Blob([csvData], { type: "text/csv" });
const url = URL.createObjectURL(blob);
const a = document.createElement("a");
a.href = url;
a.download = "PolicyTypeList.csv";
a.click();
btnExport.addEventListener("click", () => {
const obj = new csvExport(tableElement);
const csvData = obj.exportCsv();
const blob = new Blob([csvData], {
type: "text/csv"
});
const url = URL.createObjectURL(blob);
const a = document.createElement("a");
a.href = url;
a.download = "PolicyTypeList.csv";
a.click();
setTimeout(() => {
URL.revokeObjectURL(url);
}, 500);
});
setTimeout(() => {
URL.revokeObjectURL(url);
}, 500);
});
class csvExport {
constructor(table, header = true) {
this.table = table;
this.rows = Array.from(table.querySelectorAll("tr"));
if (!header && this.rows[0].querySelectorAll("th").length) {
this.rows.shift();
}
}
exportCsv() {
const lines = [];
const ncols = this._longestRow();
for (const row of this.rows) {
let line = "";
for (let i = 0; i < ncols - 1; i++) { // Exclude the last column
if (row.children[i] !== undefined) {
line += csvExport.safeData(row.children[i]);
}
line += i !== ncols - 2 ? "," : ""; // Adjusted for the last column exclusion
class csvExport {
constructor(table, header = true) {
this.table = table;
this.rows = Array.from(table.querySelectorAll("tr"));
if (!header && this.rows[0].querySelectorAll("th").length) {
this.rows.shift();
}
lines.push(line);
}
return lines.join("\n");
exportCsv() {
const lines = [];
const ncols = this._longestRow();
for (const row of this.rows) {
let line = "";
for (let i = 0; i < ncols - 1; i++) { // Exclude the last column
if (row.children[i] !== undefined) {
line += csvExport.safeData(row.children[i]);
}
line += i !== ncols - 2 ? "," : ""; // Adjusted for the last column exclusion
}
lines.push(line);
}
return lines.join("\n");
}
_longestRow() {
return this.rows.reduce((length, row) => (row.childElementCount > length ? row.childElementCount : length), 0);
}
static safeData(td) {
let data = td.textContent;
//Replace all double quote to two double quotes
data = data.replace(/"/g, `""`);
//Replace , and \n to double quotes
data = /[",\n"]/.test(data) ? `"${data}"` : data;
return data;
}
}
_longestRow() {
return this.rows.reduce((length, row) => (row.childElementCount > length ? row.childElementCount : length), 0);
}
static safeData(td) {
let data = td.textContent;
//Replace all double quote to two double quotes
data = data.replace(/"/g, `""`);
//Replace , and \n to double quotes
data = /[",\n"]/.test(data) ? `"${data}"` : data;
return data;
}
}
function removePolciyType(element) {
function removePolciyType(element) {
Swal.fire({
title: "Are you sure?",
text: "You need to remove this!",
icon: "info",
showCancelButton: true,
confirmButtonColor: "#3085d6",
confirmButtonText: "Yes",
title: "Are you sure?",
text: "You need to remove this!",
icon: "info",
showCancelButton: true,
confirmButtonColor: "#3085d6",
confirmButtonText: "Yes",
}).then((result) => {
if (result.isConfirmed) {
var id = element.getAttribute('data-id');
var form_action = '<?= base_url("master/policy/remove/") ?>' + id;
$.ajax({
url: form_action,
type: "GET",
dataType: 'json',
processData: false,
contentType: false,
success: function(res) {
// console.log(res.status == true);
if(res){
if (res.status == true) {
toastr.success('Policy type removed successfully', 'success');
location.reload();
} else {
toastr.warning('Failed to remove policy type', 'warning');
}
}
},
error: function (xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
toastr.warning('Failed to remove policy type', 'warning');
}
});
}
if (result.isConfirmed) {
var id = element.getAttribute('data-id');
var form_action = '<?= base_url("master/policy/remove/") ?>' + id;
$.ajax({
url: form_action,
type: "GET",
dataType: 'json',
processData: false,
contentType: false,
success: function(res) {
// console.log(res.status == true);
if (res) {
if (res.status == true) {
toastr.success('Policy type removed successfully', 'success');
location.reload();
} else {
toastr.warning('Failed to remove policy type', 'warning');
}
}
},
error: function(xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
toastr.warning('Failed to remove policy type', 'warning');
}
});
}
});
}
}
</script>

View File

@ -1,33 +1,32 @@
<style>
body {
.multiselect-native-select {
position: relative;
/* bottom: 32px; */
select {
border: 0 !important;
clip: rect(0 0 0 0) !important;
height: 1px !important;
margin: -1px -1px -1px -3px !important;
overflow: hidden !important;
padding: 0 !important;
position: absolute !important;
width: 1px !important;
left: 50%;
top: 30px;
}
}
.multiselect-container {
width: 100% !important;
}
.multiselect-selected-text {
float: left !important;
}
body {
.multiselect-native-select {
position: relative;
/* bottom: 32px; */
select {
border: 0 !important;
clip: rect(0 0 0 0) !important;
height: 1px !important;
margin: -1px -1px -1px -3px !important;
overflow: hidden !important;
padding: 0 !important;
position: absolute !important;
width: 1px !important;
left: 50%;
top: 30px;
}
}
.multiselect-container{
width: 100% !important;
}
.multiselect-selected-text{
float: left !important;
}
}
</style>
<div id="policy_add">
@ -50,22 +49,32 @@ body {
<span class="title-text ">Policy Type</span>
</h4>
</div>
<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-tab active">
<span class="mr-1"><i class="mdi mdi-contacts"></i></span>
<div class="tab-wrapper position-relative">
<ul class="nav nav-pills navtab-bg" id="myTab">
<li class="nav-item d-flex justify-content-center align-items-center">
<button class="scroll-btn left-btn" type="button">&#9664;</button>
</li>
<li class="nav-item">
<a href="#general-q-tab" data-toggle="tab" aria-expanded="false"
class="nav-link px-3 py-2 active-tab active">
<span class="mr-1"><i class="mdi mdi-contacts"></i></span>
<span class="d-none d-sm-inline-block">General</span>
</a>
</li>
<!-- <li class="nav-item">
<span class="d-none d-sm-inline-block">General</span>
</a>
</li>
<!-- <li class="nav-item">
<a href="#branch-tab" data-toggle="tab" aria-expanded="false" class="nav-link px-3 py-2" id="policy_id_type">
<span class="mr-1"><i class="mdi mdi-source-branch"></i></span>
<span class="d-none d-sm-inline-block">Policies</span>
</a>
</li> -->
</ul>
<li class="nav-item d-flex justify-content-center align-items-center">
<!-- Right Arrow -->
<button class="scroll-btn right-btn" type="button">&#9654;</button>
</li>
</ul>
</div>
<div class="tab-content">
<?php include('policy_type_basic_info.php'); ?>
<?php include('policies.php'); ?>
@ -79,22 +88,23 @@ body {
<script>
function policy_type_branch_contact() {
var check_policy_type_id = $('#policytype_General_PrimaryKey');
if(check_policy_type_id[0].value == '' || check_policy_type_id[0].value == null || check_policy_type_id[0].value == 0){
if (check_policy_type_id[0].value == '' || check_policy_type_id[0].value == null || check_policy_type_id[0].value == 0) {
$('#btnBranchAdd').hide();
toastr.warning('First Add the Policy Type!', 'warning',{timeOut: 2000});
}else{
toastr.warning('First Add the Policy Type!', 'warning', {
timeOut: 2000
});
} else {
if ($('#btnBranchBack')[0].style.display == 'none') {
$('#btnBranchAdd').show();
}
}
}
document.getElementById("policy_id_type").addEventListener("click", function(event) {
event.preventDefault();
policy_type_branch_contact();
});
</script>
</script>

View File

@ -1,37 +1,47 @@
<div class="row" id="pt_onboarding" style="position: relative; bottom: 25px; display:none;">
<div class="col-xl-12">
<div class="card-body">
<ul class="nav nav-pills navtab-bg">
<li class="nav-item">
<a href="#form" 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">Policy</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_tab2">
<span class="mr-1"><i class="mdi mdi-file"></i></span>
<span class="d-none d-sm-inline-block">KYC Docs</span>
</a>
</li>
<li class="nav-item" id="hide_file_upload" style="display: none;">
<a href="#fileupload" data-toggle="tab" aria-expanded="true" class="nav-link px-3 py-2" id="kyc_tab">
<span class="mr-1"><i class="mdi mdi-file"></i></span>
<span class="d-none d-sm-inline-block">File Upload</span>
</a>
</li>
<li class="nav-item" id="hide_vehicle_tab" style="display: none;">
<a href="#vehicle-docs-tab" data-toggle="tab" aria-expanded="true" class="nav-link px-3 py-2" id="vehicle_tab">
<span class="mr-1"><i class="mdi mdi-file"></i></span>
<span class="d-none d-sm-inline-block">Vehicle Docs</span>
</a>
</li>
</ul>
<div class="tab-wrapper position-relative">
<ul class="nav nav-pills navtab-bg" id="myTab">
<li class="nav-item d-flex justify-content-center align-items-center">
<button class="scroll-btn left-btn" type="button">&#9664;</button>
</li>
<li class="nav-item">
<a href="#form" 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">Policy</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_tab2">
<span class="mr-1"><i class="mdi mdi-file"></i></span>
<span class="d-none d-sm-inline-block">KYC Docs</span>
</a>
</li>
<li class="nav-item" id="hide_file_upload" style="display: none;">
<a href="#fileupload" data-toggle="tab" aria-expanded="true" class="nav-link px-3 py-2" id="kyc_tab">
<span class="mr-1"><i class="mdi mdi-file"></i></span>
<span class="d-none d-sm-inline-block">File Upload</span>
</a>
</li>
<li class="nav-item" id="hide_vehicle_tab" style="display: none;">
<a href="#vehicle-docs-tab" data-toggle="tab" aria-expanded="true" class="nav-link px-3 py-2" id="vehicle_tab">
<span class="mr-1"><i class="mdi mdi-file"></i></span>
<span class="d-none d-sm-inline-block">Vehicle Docs</span>
</a>
</li>
<li class="nav-item d-flex justify-content-center align-items-center">
<!-- Right Arrow -->
<button class="scroll-btn right-btn" type="button">&#9654;</button>
</li>
</ul>
</div>
<div class="tab-content">
<?php include('policy_transaction_inception_form.php'); ?>
<?php include('drive_file_upload.php'); ?>
<?php include('client_kyc.php'); ?>
<?php include('vehicle_docs.php'); ?>
<?php include('drive_file_upload.php'); ?>
<?php include('client_kyc.php'); ?>
<?php include('vehicle_docs.php'); ?>
</div>
</div>
</div>
@ -39,45 +49,42 @@
<script>
$(document).ready(function() {
$(document).ready(function() {
$('#kyc_tab').on('click', function(e) {
var ptId = $('#policy_tranction_primarykey').val();
$('#kyc_tab').on('click', function(e) {
var ptId = $('#policy_tranction_primarykey').val();
if (!ptId) { // Check if ptId is empty or null
e.preventDefault(); // Prevent the tab from opening
$('#g_drive_file_upload_sbt_btn').hide()
toastr.warning('Please create Policy before proceeding to File Upload.');
} else {
$('#g_drive_file_upload_sbt_btn').show()
}
});
if (!ptId) { // Check if ptId is empty or null
e.preventDefault(); // Prevent the tab from opening
$('#g_drive_file_upload_sbt_btn').hide()
toastr.warning('Please create Policy before proceeding to File Upload.');
}else{
$('#g_drive_file_upload_sbt_btn').show()
}
$('#kyc_tab2').on('click', function(e) {
var ptId = $('#policy_tranction_primarykey').val();
if (!ptId) { // Check if ptId is empty or null
e.preventDefault(); // Prevent the tab from opening
$('#btn_other_docs').hide()
toastr.warning('Please create Policy before proceeding to File Upload.');
} else {
$('#btn_other_docs').show()
}
});
$('#vehicle_tab').on('click', function(e) {
var ptId = $('#policy_tranction_primarykey').val();
if (!ptId) { // Check if ptId is empty or null
e.preventDefault(); // Prevent the tab from opening
$('#vehicle_file_upload_sbt_btn').hide()
toastr.warning('Please create Policy before proceeding to File Upload.');
} else {
$('#vehicle_file_upload_sbt_btn').show()
}
});
});
$('#kyc_tab2').on('click', function(e) {
var ptId = $('#policy_tranction_primarykey').val();
if (!ptId) { // Check if ptId is empty or null
e.preventDefault(); // Prevent the tab from opening
$('#btn_other_docs').hide()
toastr.warning('Please create Policy before proceeding to File Upload.');
}else{
$('#btn_other_docs').show()
}
});
$('#vehicle_tab').on('click', function(e) {
var ptId = $('#policy_tranction_primarykey').val();
if (!ptId) { // Check if ptId is empty or null
e.preventDefault(); // Prevent the tab from opening
$('#vehicle_file_upload_sbt_btn').hide()
toastr.warning('Please create Policy before proceeding to File Upload.');
}else{
$('#vehicle_file_upload_sbt_btn').show()
}
});
});
</script>

View File

@ -1,236 +1,248 @@
<div class="row">
<div class="container-fluid-min">
<div class="col-xl-12">
<div id="accordion" class="mb-3">
<div class="card mb-1">
<h5 class="m-1">
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseOne"
aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</h5>
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion">
<div class="card-body">
<!-- <div class="text-center"> -->
<div class="form-row">
<div class="form-group col-md-3" id="date_div">
<label>Date<span class="text-danger"></span></label>
<div id="reportrange" class="form-control"
<div class="card-body">
<div id="accordion" class="mb-3">
<div class="card mb-1">
<h4 class="m-1">
<span>Filter</span>
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseOne"
aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</h4>
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion">
<div class="card-body">
<!-- <div class="text-center"> -->
<div class="form-row">
<div class="form-group col-md-3" id="date_div">
<label>Date<span class="text-danger"></span></label>
<!-- <div id="reportrange" class="form-control"
style="background: #fff; cursor: pointer; padding: 5px 10px; border: 1px solid #ccc; width: 100%">
<i class="mdi mdi-calendar-blank"></i>&nbsp;
<span></span> <i class="mdi mdi-menu-down"></i>
</div> -->
<div class="input-icon">
<input type="text" id="reportrange" class="form-control" readonly style="caret-color: transparent;">
<i class="mdi mdi-calendar-blank-outline additional-icon"></i>
</div>
<input type="hidden" id="startDate" value=<?= $default_start ?>>
<input type="hidden" id="endDate" value=<?= $default_end ?>>
</div>
<input type="hidden" id="startDate" value=<?= $default_start ?>>
<input type="hidden" id="endDate" value=<?= $default_end ?>>
</div>
<div class="form-group col-md-3">
<label for="client_branch">Issuer<span class="text-danger"></span></label>
<select class="form-control" id="issuer" name="issuer">
<option value="">Select Issuer</option>
<?php
<div class="form-group col-md-3">
<label for="client_branch">Issuer<span class="text-danger"></span></label>
<select class="form-control" id="issuer" name="issuer">
<option value="">Select Issuer</option>
<?php
if (isset($issuer) && count($issuer)) {
foreach ($issuer as $key => $value) {
echo "<option value=" . $key . ">" . $value . "</option>";
}
}
?>
</select>
?>
</select>
</div>
<div class="form-group col-md-3 client_type_div">
<label for="client_type">Client Type<span class="text-danger"></span></label>
<select class="form-control" id="client_type" name="client_type">
<option value="">Select Client type</option>
<option value="1">Group</option>
<option value="2">Individual</option>
</select>
</div>
<div class="form-group col-md-3">
<label for="client_branch">Client<span class="text-danger"></span></label>
<select class="form-control" id="client_id" name="client_id">
<option value="">Select Client</option>
</select>
</div>
</div>
<div class="row justify-content-end">
<div class="form-group col-md-3 client_type_div">
<label for="client_type">Client Type<span class="text-danger"></span></label>
<select class="form-control" id="client_type" name="client_type">
<option value="">Select Client type</option>
<option value="1">Group</option>
<option value="2">Individual</option>
</select>
<div class="col-auto">
<a href="#" class="btn btn-primary waves-effect waves-light" id="get-report-page"
onclick="fetchReportPage(event);">Submit</a>
</div>
</div>
<div class="form-group col-md-3">
<label for="client_branch">Client<span class="text-danger"></span></label>
<select class="form-control" id="client_id" name="client_id">
<option value="">Select Client</option>
</select>
</div>
<!-- </div> -->
</div>
<div class="row justify-content-end">
<div class="col-auto">
<a href="#" class="btn btn-primary waves-effect waves-light" id="get-report-page"
onclick="fetchReportPage(event);">Submit</a>
</div>
</div>
<!-- </div> -->
</div>
</div>
</div>
</div>
</div>
<div id="report"></div>
</div>
<div id="report"></div>
<script>
let client_list = [];
let client_list = [];
$(document).ready(function() {
getClientAndBranchAndPolicy();
$('#client_id').select2();
})
$(document).ready(function() {
getClientAndBranchAndPolicy();
$('#client_id').select2();
})
$(function() {
$(function() {
var start = $('#startDate').val();
var end = $('#endDate').val();
var start = $('#startDate').val();
var end = $('#endDate').val();
var start = moment(start, 'DD/MM/YYYY');
var end = moment(end, 'DD/MM/YYYY');
var start = moment(start, 'DD/MM/YYYY');
var end = moment(end, 'DD/MM/YYYY');
function cb(start, end) {
$('#reportrange span').html(start.format('D-MM-YYYY') + ' - ' + end.format('D-MM-YYYY'));
$('#startDate').val(start.format('DD-MM-YYYY'));
$('#endDate').val(end.format('DD-MM-YYYY'));
}
$('#reportrange').daterangepicker({
startDate: start,
endDate: end,
ranges: {
'Today': [moment(), moment()],
'Next 7 Days': [moment(), moment().add(6, 'days')], // Next 7 Days
'Next 30 Days': [moment(), moment().add(29, 'days')], // Next 30 Days
'Next Month': [moment().add(1, 'month').startOf('month'), moment().add(1, 'month').endOf(
'month')], // Next Month
'Next Year': [moment().add(1, 'year').startOf('year'), moment().add(1, 'year').endOf(
'year')], // Next Year
'Current Year': [moment().startOf('year'), moment().endOf('year')] // Current Year
}
}, cb);
cb(start, end);
});
// ----------------------------------------------------------------------------------------------
function fetchReportPage() {
var fromDate = $('#startDate').val();
var toDate = $('#endDate').val();
var client_id = $('#client_id').val();
var client_type = $('#client_type').val();
var issuer = $('#issuer').val();
var requestData = {
fromDate: fromDate,
toDate: toDate,
client_id: client_id,
client_type: client_type,
issuer: issuer,
};
console.log(typeof fromDate);
var url = '<?= base_url('/bdsReport/renewal_report') ?>';
$('.loader').fadeIn();
$('.loader-mask').fadeIn();
sendAjaxRequestForGlobal(url, 'POST', requestData, function(response) {
if (response.status == true) {
$('#report').html(response.html);
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
} else {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
let message = response.message;
toastr.error(message, 'ERROR');
function cb(start, end) {
$('#reportrange').html(start.format('D-MM-YYYY') + ' - ' + end.format('D-MM-YYYY'));
$('#startDate').val(start.format('DD-MM-YYYY'));
$('#endDate').val(end.format('DD-MM-YYYY'));
}
$('#reportrange').daterangepicker({
startDate: start,
endDate: end,
locale: {
format: 'DD-MM-YYYY'
},
ranges: {
'Today': [moment(), moment()],
'Next 7 Days': [moment(), moment().add(6, 'days')], // Next 7 Days
'Next 30 Days': [moment(), moment().add(29, 'days')], // Next 30 Days
'Next Month': [moment().add(1, 'month').startOf('month'), moment().add(1, 'month').endOf(
'month')], // Next Month
'Next Year': [moment().add(1, 'year').startOf('year'), moment().add(1, 'year').endOf(
'year')], // Next Year
'Current Year': [moment().startOf('year'), moment().endOf('year')] // Current Year
}, function(xhr, status, error) {
console.error('Error fetching data:', error);
console.error(xhr.responseText);
toastr.error('An error occurred while fetching the report page.', 'ERROR');
}
}, cb);
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
cb(start, end);
});
}
// ----------------------------------------------------------------------------------------------
// ----------------------------------------------------------------------------------------------
//get client , branch, policy data
function getClientAndBranchAndPolicy() {
$.ajax({
url: '<?= base_url("/util/getClientAndBranchAndPolicy") ?>',
type: "GET",
dataType: 'json',
success: function(res) {
function fetchReportPage() {
var fromDate = $('#startDate').val();
var toDate = $('#endDate').val();
var client_id = $('#client_id').val();
var client_type = $('#client_type').val();
var issuer = $('#issuer').val();
var requestData = {
fromDate: fromDate,
toDate: toDate,
client_id: client_id,
client_type: client_type,
issuer: issuer,
};
console.log(typeof fromDate);
var url = '<?= base_url('/bdsReport/renewal_report') ?>';
$('.loader').fadeIn();
$('.loader-mask').fadeIn();
sendAjaxRequestForGlobal(url, 'POST', requestData, function(response) {
if (response.status == true) {
$('#report').html(response.html);
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
console.log('getClientAndBranchAndPolicy', res);
if (res.status == true) {
client_list = res.client_data;
appendClients(res.client_data);
} else {
console.log('No data found');
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
let message = response.message;
toastr.error(message, 'ERROR');
}
},
error: function(xhr, status, error) {
}, function(xhr, status, error) {
console.error('Error fetching data:', error);
console.error(xhr.responseText);
console.error(status, error);
}
});
}
toastr.error('An error occurred while fetching the report page.', 'ERROR');
//append the clients data
function appendClients(data) {
$('#client_id').empty();
$('#client_id').append($('<option>', {
value: '0',
text: 'Select Client'
}));
$.each(data, function(index, item) {
var option = $('<option>', {
value: item.id,
text: item.client_name,
'data-name': item.client_name,
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
});
}
$('#client_id').append(option).select2();
});
// ----------------------------------------------------------------------------------------------
}
//get client , branch, policy data
function getClientAndBranchAndPolicy() {
$.ajax({
url: '<?= base_url("/util/getClientAndBranchAndPolicy") ?>',
type: "GET",
dataType: 'json',
success: function(res) {
$('#client_type').on('change', function() {
var selectedClientType = $(this).val();
// console.log('selectedClientType', selectedClientType);
// Clear and add default options for client
$('#client_id').empty().append($('<option>', {
value: '',
text: 'Select Client'
}))
// Populate client options based on selected client type
if (selectedClientType) {
$.each(client_list, function(index, item) {
if (item.client_type == selectedClientType) {
var option = $('<option>', {
value: item.id,
text: item.client_name,
});
$('#client_id').append(option);
console.log('getClientAndBranchAndPolicy', res);
if (res.status == true) {
client_list = res.client_data;
appendClients(res.client_data);
} else {
console.log('No data found');
}
},
error: function(xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
}
});
}
//append the clients data
function appendClients(data) {
$('#client_id').empty();
$('#client_id').append($('<option>', {
value: '0',
text: 'Select Client'
}));
$.each(data, function(index, item) {
var option = $('<option>', {
value: item.id,
text: item.client_name,
'data-name': item.client_name,
});
$('#client_id').append(option).select2();
});
}
// Initialize or refresh Select2 for both dropdowns
$('#client_id').select2();
});
$('#client_type').on('change', function() {
var selectedClientType = $(this).val();
// console.log('selectedClientType', selectedClientType);
// Clear and add default options for client
$('#client_id').empty().append($('<option>', {
value: '',
text: 'Select Client'
}))
// Populate client options based on selected client type
if (selectedClientType) {
$.each(client_list, function(index, item) {
if (item.client_type == selectedClientType) {
var option = $('<option>', {
value: item.id,
text: item.client_name,
});
$('#client_id').append(option);
}
});
}
// Initialize or refresh Select2 for both dropdowns
$('#client_id').select2();
});
</script>

View File

@ -20,6 +20,21 @@ table.dataTable tbody td {
.right-align-input {
text-align: right;
}
.badge-container {
background: #F0F0F0;
padding: 6px 12px;
border-radius: 6px;
font-size: 14px;
display: inline-block;
}
#totals {
display: flex;
flex-wrap: wrap;
gap: 8px;
}
</style>
<div class="col-12" id="second_page">
@ -32,14 +47,34 @@ table.dataTable tbody td {
</div>
<div class="table-responsive">
<div id="totals" style="margin-bottom: 10px;">
<strong>Total Premium:</strong> <span id="total_premium">0.00</span> |
<strong>Total Rewards:</strong> <span id="total_rewards">0.00</span> |
<strong>Total IRDA Revenue INR:</strong> <span id="total_irda">0.00</span> |
<strong>Total Billed Amount:</strong> <span id="total_billed">0.00</span> |
<strong>Total Unbilled Amount:</strong> <span id="total_unbilled">0.00</span> |
<strong>Total Policy Count:</strong> <span id="total_policy_count"><?= $policy_count ?></span>
</div>
<div id="totals" class="d-flex flex-wrap gap-2 mb-2">
<div class="badge-container">
Total Premium: <span class="text-primary" id="total_premium">0.00</span>
</div>
<div class="badge-container">
Total Rewards: <span class="text-primary" id="total_rewards">0.00</span>
</div>
<div class="badge-container">
Total IRDA Revenue INR: <span class="text-primary" id="total_irda">0.00</span>
</div>
<div class="badge-container">
Total Billed Amount: <span class="text-primary" id="total_billed">0.00</span>
</div>
<div class="badge-container">
Total Unbilled Amount: <span class="text-primary" id="total_unbilled">0.00</span>
</div>
<div class="badge-container">
Total Policy Count: <span class="text-primary"><?= $policy_count ?></span>
</div>
</div>
<table data-custom-table-css="table" id="scroll-horizontal-datatable" class="table w-100 nowrap">
<thead class="bg-light">
<tr>
@ -82,25 +117,25 @@ table.dataTable tbody td {
<?php foreach($report_list as $index => $row){ ?>
<tr>
<td><?= $index + 1 ?></td>
<td><?php echo $row['user_name']; ?></td>
<td><?php echo $row['policy_issue_month']; ?></td>
<td><?php echo $row['revenue_type']; ?></td>
<td><?php echo $row['client_type']; ?></td>
<td><?php echo $row['client_name']; ?></td>
<td><?php echo $row['action_type']; ?></td>
<td><?php echo $row['policy_type']; ?></td>
<td><?php echo $row['bap']; ?></td>
<td><?php echo $row['vehicle_no'] ?? 'N.A'; ?></td>
<td><?php echo $row['policy_no']; ?></td>
<td><?php echo $row['endorsement_no']; ?></td>
<td><?php echo $row['insurer_name']; ?> </td>
<td><?php echo $row['insurer_branch_name']; ?></td>
<td><?php echo $row['user_name'] ?: 'N/A'; ?></td>
<td><?php echo $row['policy_issue_month'] ?: 'N/A'; ?></td>
<td><?php echo $row['revenue_type'] ?: 'N/A'; ?></td>
<td><?php echo $row['client_type'] ?: 'N/A'; ?></td>
<td><?php echo $row['client_name'] ?: 'N/A'; ?></td>
<td><?php echo $row['action_type'] ?: 'N/A'; ?></td>
<td><?php echo $row['policy_type'] ?: 'N/A'; ?></td>
<td><?php echo $row['bap'] ?: 'N/A'; ?></td>
<td><?php echo $row['vehicle_no'] ?: 'N/A'; ?></td>
<td><?php echo $row['policy_no'] ?: 'N/A'; ?></td>
<td><?php echo $row['endorsement_no'] ?: 'N/A'; ?></td>
<td><?php echo $row['insurer_name'] ?: 'N/A'; ?> </td>
<td><?php echo $row['insurer_branch_name'] ?: 'N/A'; ?></td>
<td><?php echo $row['tpa_name']; ?></td>
<td><?php echo empty($row['endorse_eff_date']) ? '' : date('d/m/Y', strtotime($row['endorse_eff_date'])) ?></td>
<td><?php echo empty($row['policy_start_date']) ? '' : date('d/m/Y', strtotime($row['policy_start_date'])); ?></td>
<td><?php echo empty($row['policy_end_date']) ? '' : date('d/m/Y', strtotime($row['policy_end_date'])); ?></td>
<td><?php echo $row['ref']; ?></td>
<td><?php echo $row['remarks']; ?></td>
<td><?php echo empty($row['endorse_eff_date']) ? 'N/A' : date('d/m/Y', strtotime($row['endorse_eff_date'])) ?></td>
<td><?php echo empty($row['policy_start_date']) ? 'N/A' : date('d/m/Y', strtotime($row['policy_start_date'])); ?></td>
<td><?php echo empty($row['policy_end_date']) ? 'N/A' : date('d/m/Y', strtotime($row['policy_end_date'])); ?></td>
<td><?php echo $row['ref'] ?: 'N/A'; ?></td>
<td><?php echo $row['remarks'] ?: 'N/A'; ?></td>
<td class="right-align-input"><?php echo $row['bp_amt']; ?></td>
<td class="right-align-input"><?php echo $row['tp_or_ter']; ?></td>
<td class="right-align-input"><?php echo $row['premium_wo_gst']; ?></td>
@ -227,10 +262,15 @@ $(document).ready(function() {
// }
// }
// ],
buttons: [
{
extend: 'collection',
text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary ',
buttons: [
{
extend: 'csv',
text: 'CSV',
text: '<i class="mdi mdi-file-delimited " ></i><span class=" btn-custom"> CSV </span>',
title: 'Policy-Tranction-BDS-List',
exportOptions: {
columns: ':visible', // or specify exact columns [0,1,2,...]
@ -251,8 +291,9 @@ $(document).ready(function() {
},
{
extend: 'excel',
text: 'Excel',
title: 'Policy-Tranction-BDS-List',
text: '<i class="mdi mdi-file-excel " ></i><span class=" btn-custom"> EXCEL </span>',
className: 'app-btn-primary ',
// customize: function (xlsx) {
// var sheet = xlsx.xl.worksheets['sheet1.xml'];
// var total = 0;
@ -360,14 +401,19 @@ $(document).ready(function() {
}
}
}
]
}
],
language: {
search: "_INPUT_",
searchPlaceholder: "Search..."
search: `
<div class="datatable-search-wrapper">
_INPUT_
<i class="mdi mdi-magnify datatable-search-icon"></i>
</div>`,
searchPlaceholder: "Search"
},
paging: true, // Enable pagination
pageLength: 25, // Set default number of rows per page (optional)
pageLength: 10, // Set default number of rows per page (optional)
ordering: false,
"footerCallback": function(row, data, start, end, display) {
var api = this.api();

File diff suppressed because it is too large Load Diff

View File

@ -193,7 +193,7 @@ $(document).ready(function() {
searchPlaceholder: "Search..."
},
paging: true, // Enable pagination
pageLength: 25, // Set default number of rows per page (optional)
pageLength: 10, // Set default number of rows per page (optional)
ordering: false,
});
} else {

View File

@ -12,82 +12,90 @@
position: relative;
left: 79px;
}
.emp_data_model {
font-size: 17px; /* keep fixed size */
font-size: 17px;
/* keep fixed size */
color: #555 !important;
cursor: pointer;
transition: transform 0.2s, color 0.2s; /* smooth hover effect */
display: inline-block; /* important for transform */
transition: transform 0.2s, color 0.2s;
/* smooth hover effect */
display: inline-block;
/* important for transform */
}
.emp_data_model:hover {
color: #00999E !important;
transform: scale(1.5);
color: #00999E !important;
transform: scale(1.5);
}
</style>
<div class="container-fluid">
<h2>Retail Endorsement</h2>
<div class="container-fluid-min">
<div class="row">
<div class="col-xl-12">
<div id="accordion" class="mb-3">
<div class="card mb-1">
<h5 class="m-1">
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseOne" aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</h5>
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion">
<div class="card-body">
<!-- <div class="text-center"> -->
<div class="form-row">
<div class="form-group col-md-4">
<label>Client</label> <br />
<select class="form-control" id="clients">
<option value="0">Select</option>
<?php foreach ($client as $key => $value) { ?>
<option value="<?= $value['id'] ?>" <?= (($getData['client_id'] ?? '') == $value['id']) ? 'selected' : '' ?>>
<?= $value['client_name'] . (!empty($value['short_name']) ? ' ( ' . $value['short_name'] . ' )' : '') ?>
</option>
<?php } ?>
</select>
</div>
<div class="card-body">
<div id="accordion" class="mb-3">
<div class="card mb-1">
<h4>
Filter
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseOne"
aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</h4>
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion">
<div class="card-body">
<!-- <div class="text-center"> -->
<div class="form-row">
<div class="form-group col-md-4">
<label>Client</label> <br />
<select class="form-control" id="clients">
<option value="0">Select</option>
<?php foreach ($client as $key => $value) { ?>
<option value="<?= $value['id'] ?>" <?= (($getData['client_id'] ?? '') == $value['id']) ? 'selected' : '' ?>>
<?= $value['client_name'] . (!empty($value['short_name']) ? ' ( ' . $value['short_name'] . ' )' : '') ?>
</option>
<?php } ?>
</select>
</div>
<div class="form-group col-md-4">
<label>Insurer</label> <br />
<select class="form-control" id="insurer">
<option value="0">Select</option>
<?php foreach ($insurer as $key => $value) { ?>
<option value="<?= $value['id'] ?>" <?= (($getData['insurer_id'] ?? '') == $value['id']) ? 'selected' : '' ?>>
<?= $value['name'] . (!empty($value['short_name']) ? ' ( ' . $value['short_name'] . ' )' : '') ?>
</option>
<?php } ?>
</select>
</div>
<div class="form-group col-md-4">
<label>Insurer</label> <br />
<select class="form-control" id="insurer">
<option value="0">Select</option>
<?php foreach ($insurer as $key => $value) { ?>
<option value="<?= $value['id'] ?>" <?= (($getData['insurer_id'] ?? '') == $value['id']) ? 'selected' : '' ?>>
<?= $value['name'] . (!empty($value['short_name']) ? ' ( ' . $value['short_name'] . ' )' : '') ?>
</option>
<?php } ?>
</select>
</div>
<div class="form-group col-md-4">
<label>Status</label> <br />
<select class="form-control" id="status1">
<option value="0">Select</option>
<?php foreach ($status as $key => $value) { ?>
<option value="<?= $key ?>" <?= (($getData['status'] ?? '') == $key) ? 'selected' : '' ?>>
<?= $value ?>
</option>
<?php } ?>
</select>
</div>
<div class="form-group col-md-4">
<label>Status</label> <br />
<select class="form-control" id="status1">
<option value="0">Select</option>
<?php foreach ($status as $key => $value) { ?>
<option value="<?= $key ?>" <?= (($getData['status'] ?? '') == $key) ? 'selected' : '' ?>>
<?= $value ?>
</option>
<?php } ?>
</select>
</div>
</div>
<div class="row">
<div class="col-12" style="text-align: right;">
<a href="<?= base_url("employee/retail-endorsement-list"); ?>" class="btn btn-primary waves-effect waves-light" id="get-emp-list" onclick="fetchEmpolyeeList(event);">Submit</a>
</div>
</div>
<!-- </div> -->
</div>
<div class="row">
<div class="col-12" style="text-align: right;">
<a href="<?= base_url("employee/retail-endorsement-list"); ?>" class="btn btn-primary waves-effect waves-light" id="get-emp-list" onclick="fetchEmpolyeeList(event);">Submit</a>
</div>
</div>
<!-- </div> -->
</div>
</div>
</div>
</div>
</div>
</div>
@ -103,17 +111,17 @@
<table data-custom-table-css="table" class="table table-hover m-0 table-centered dt-responsive w-100" cellspacing="0" id="tickets-table">
<thead class="bg-light">
<tr>
<th class="font-weight-medium">SNO</th>
<th class="font-weight-medium">Policy number</th>
<th class="font-weight-medium">Endorsement Number</th>
<th class="font-weight-medium">Description</th>
<th class="font-weight-medium">Client</th>
<th class="font-weight-medium">Insurer name</th>
<th class="font-weight-medium">Agent</th>
<th class="font-weight-medium">Mananger</th>
<th class="font-weight-medium">Created At</th>
<th class="font-weight-medium">Status</th>
<th class="font-weight-medium">Action</th>
<th class="font-weight-medium">S.No&nbsp;</th>
<th class="font-weight-medium">Policy number&nbsp;</th>
<th class="font-weight-medium">Endorsement Number&nbsp;</th>
<th class="font-weight-medium">Description&nbsp;</th>
<th class="font-weight-medium">Client&nbsp;</th>
<th class="font-weight-medium">Insurer name&nbsp;</th>
<th class="font-weight-medium">Agent&nbsp;</th>
<th class="font-weight-medium">Mananger&nbsp;</th>
<th class="font-weight-medium">Created At&nbsp;</th>
<th class="font-weight-medium">Status&nbsp;</th>
<th class="font-weight-medium">Action&nbsp;</th>
</tr>
</thead>
@ -126,26 +134,26 @@
<td class="text-center"><?php echo $employee['policy_number'] ?></td>
<td class="text-center"><?php echo $employee['endorsement_no'] ?></td>
<td class="text-center"><?php echo $employee['endorsement_description'] ?></td>
<td class="text-center"><?php echo $employee['client_name'] ? $employee['client_name'] .' ( '. $employee['client_short_name'] .' ) ' : 'N/A' ?></td>
<td class="text-center"><?php echo $employee['insurer_name'] ? $employee['insurer_name'] .' ( '. $employee['insurer_short_name'] .' ) ' : 'N/A' ?></td>
<td class="text-center"><?php echo $employee['client_name'] ? $employee['client_name'] . ' ( ' . $employee['client_short_name'] . ' ) ' : 'N/A' ?></td>
<td class="text-center"><?php echo $employee['insurer_name'] ? $employee['insurer_name'] . ' ( ' . $employee['insurer_short_name'] . ' ) ' : 'N/A' ?></td>
<td class="text-center"><?php echo $employee['agent_name'] ?? 'N/A' ?></td>
<td class="text-center"><?php echo $employee['manager_name'] ?? 'N/A' ?></td>
<td class="text-center"><?php if (!empty($employee['created_at'])):
$cd = date("j F Y", strtotime($employee['created_at']));
$ct = date("h:i a", strtotime($employee['created_at']));
echo $cd . "<br><span class='time'> " . $ct . "</span>";
endif; ?></td>
$cd = date("j F Y", strtotime($employee['created_at']));
$ct = date("h:i a", strtotime($employee['created_at']));
echo $cd . "<br><span class='time'> " . $ct . "</span>";
endif; ?></td>
<td class="text-center"><?php if ($employee['status'] == 'open') {
echo '<span class="badge badge-primary">' . $employee['status'] . '</span>';
} elseif ($employee['status'] == 'inprogress') {
echo '<span class="badge badge-warning">' . $employee['status'] . '</span>';
} elseif ($employee['status'] == 'complete') {
echo '<span class="badge badge-success">' . $employee['status'] . '</span>';
}
?>
echo '<span class="badge badge-primary">' . $employee['status'] . '</span>';
} elseif ($employee['status'] == 'inprogress') {
echo '<span class="badge badge-warning">' . $employee['status'] . '</span>';
} elseif ($employee['status'] == 'complete') {
echo '<span class="badge badge-success">' . $employee['status'] . '</span>';
}
?>
</td>
<td class="text-center"><a href="#" data-id="<?php echo $employee['id'] ?>" data-eno="<?php echo $employee['endorsement_no'] ?>" data-status="<?php echo $employee['status'] ?>"
class="mdi mdi-pencil text-muted vertical-middle emp_data_model" aria-hidden="true" data-toggle="modal" data-target="#centermodal"></a>
<td class="text-center"><a href="#" data-id="<?php echo $employee['id'] ?>" data-eno="<?php echo $employee['endorsement_no'] ?>" data-status="<?php echo $employee['status'] ?>"
class="mdi mdi-pencil text-muted vertical-middle emp_data_model" aria-hidden="true" data-toggle="modal" data-target="#centermodal"></a>
</td>
</tr>
<?php }
@ -163,47 +171,47 @@
<div class="modal fade app-text-black " id="centermodal" tabindex="-1" role="dialog" aria-hidden="true" data-backdrop="static">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<form id="retailEndorsementForm">
<div class="modal-header">
<h4 class="modal-title title-text" id="myCenterModalLabel" style="font-size:27px !important">Edit Endorsement Details <span id="heading"></span></h4>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
</div>
<div class="modal fade font-color-black " id="centermodal" tabindex="-1" role="dialog" aria-hidden="true" data-backdrop="static">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<form id="retailEndorsementForm">
<div class="modal-header">
<h4 class="modal-title title-text" id="myCenterModalLabel" style="font-size:27px !important">Edit Endorsement Details <span id="heading"></span></h4>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
</div>
<div class="modal-body">
<div class="form-row">
<input type="hidden" id="edit_id" name="id">
<input type="hidden" id="updated_by" name="updated_by" value="<?= get_session_userid(); ?>">
<input type="hidden" value="<?= csrf_hash() ?>" name="<?= csrf_token() ?>"/>
<div class="form-group col-md-12">
<label for="endorsement_no" class="sub-title-text ">Endorsement Number<span class="text-danger">*</span></label>
<input type="text" class="form-control" id="endorsement_no" placeholder="Enter Endorsement Number" name="endorsement_no" required>
</div>
<div class="modal-body">
<div class="form-row">
<input type="hidden" id="edit_id" name="id">
<input type="hidden" id="updated_by" name="updated_by" value="<?= get_session_userid(); ?>">
<input type="hidden" value="<?= csrf_hash() ?>" name="<?= csrf_token() ?>" />
<div class="form-group col-md-12">
<label for="edit_status" class="sub-title-text ">Status<span class="text-danger">*</span></label>
<select class="form-control" id="edit_status" name="status" required>
<option value="">Select Status</option>
<?php foreach ($status as $key => $value) { ?>
<option value="<?= $key ?>"><?= $value ?></option>
<?php } ?>
</select>
</div>
</div>
<div class="form-group col-md-12">
<label for="endorsement_no" class="sub-title-text ">Endorsement Number<span class="text-danger">*</span></label>
<input type="text" class="form-control" id="endorsement_no" placeholder="Enter Endorsement Number" name="endorsement_no" required>
</div>
<div class="form-group col-md-12">
<label for="edit_status" class="sub-title-text ">Status<span class="text-danger">*</span></label>
<select class="form-control" id="edit_status" name="status" required>
<option value="">Select Status</option>
<?php foreach ($status as $key => $value) { ?>
<option value="<?= $key ?>"><?= $value ?></option>
<?php } ?>
</select>
</div>
</div>
</div>
<div class="modal-footer">
<button class="btn app-btn-outline-secondary mr-2 " type="button" data-dismiss="modal" aria-hidden="true">Cancel</button>
<button type="submit" class="btn app-btn-secondary" id="btnSubmit" onclick="submitRetailEndorsement(event)">Save</button>
</div>
</form>
</div>
<div class="modal-footer">
<button class="btn app-btn-outline-secondary mr-2 " type="button" data-dismiss="modal" aria-hidden="true">Cancel</button>
<button type="submit" class="btn app-btn-secondary" id="btnSubmit" onclick="submitRetailEndorsement(event)">Save</button>
</div>
</form>
</div>
</div>
</div>
@ -222,7 +230,7 @@
console.log("window loaded");
});
// Function to convert object to query parameters
function objectToQueryString(obj) {
return Object.keys(obj).map(key => `${encodeURIComponent(key)}=${encodeURIComponent(obj[key])}`).join('&');
@ -234,7 +242,7 @@
var client_id = $('#clients').val();
var insurer_id = $('#insurer').val();
var status = $('#status1').val();
var queryParams = {
client_id: client_id,
insurer_id: insurer_id,
@ -260,7 +268,7 @@
var eno = $(this).data('eno');
var status = $(this).data('status');
// console.log(val);
fetchRetailEndorsementData(id,eno,status)
fetchRetailEndorsementData(id, eno, status)
});
@ -276,19 +284,19 @@
var endorsement_no = document.getElementById('endorsement_no').value.trim();
var edit_status = document.getElementById('edit_status').value.trim();
if (endorsement_no === "" || edit_status === "") {
toastr.warning('Please fill all required fields.', 'Warning');
form.classList.add('was-validated');
return;
}
$.ajax({
url: "<?= base_url('/employee/retail-endorsement-save') ?>",
type: "POST",
data: formData,
processData: false,
contentType: false,
processData: false,
contentType: false,
dataType: 'json',
success: function(response) {
if (response.status === "success") {
@ -311,17 +319,17 @@
});
}
function fetchRetailEndorsementData(id,eno,status) {
function fetchRetailEndorsementData(id, eno, status) {
$('.loader').fadeIn();
$('.loader-mask').fadeIn();
var form = document.getElementById('retailEndorsementForm');
form.reset();
form.reset();
$("#edit_id").val(id);
$("#endorsement_no").val(eno);
$("#edit_status").val(status);
$("#edit_id").val(id);
$("#endorsement_no").val(eno);
$("#edit_status").val(status);
setTimeout(function() {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
@ -332,26 +340,49 @@
$(document).ready(function() {
$('#tickets-table').DataTable({
dom: "<'row'<'col-sm-0'f><'col-sm-9 text-right'B>>" +
dom: "<'row'<'col-12 d-flex justify-content-between align-items-center'<'datatable-search dataTables_filter'f><'datatable-buttons dt-buttons'B>>>" +
"<'row'<'col-sm-12'tr>>" +
"<'row'<'col-sm-5'i><'col-sm-7'p>>",
// buttons: [{
// extend: 'csv',
// text: 'CSV',
// title: 'Retail-Endorsement-List',
// className: 'my_class',
// exportOptions: {
// columns: ':not(:last-child)',
// format: {
// body: function (data, row, column, node) {
// // Convert data to string to avoid scientific notation in CSV
// if (!isNaN(data) && parseFloat(data) > 1e20) {
// return `'${data}`;
// }
// return data.toString();// Ensures all data is treated as strings
// }
// }
// }
// }],
buttons: [{
extend: 'csv',
text: 'CSV',
title: 'Retail-Endorsement-List',
className: 'my_class',
exportOptions: {
columns: ':not(:last-child)',
format: {
body: function (data, row, column, node) {
// Convert data to string to avoid scientific notation in CSV
if (!isNaN(data) && parseFloat(data) > 1e20) {
return `'${data}`;
extend: 'collection',
text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary ',
buttons: [{
extend: 'csv',
text: '<i class="mdi mdi-file-delimited " ></i><span class=" btn-custom"> CSV </span>',
className: 'app-btn-primary ',
title: 'Retail-Endorsement-List',
exportOptions: {
columns: ':not(:last-child)',
format: {
body: function(data, row, column, node) {
// Convert data to string to avoid scientific notation in CSV
if (!isNaN(data) && parseFloat(data) > 1e20) {
return `'${data}`;
}
return data.toString(); // Ensures all data is treated as strings
}
return data.toString();// Ensures all data is treated as strings
}
}
}
}, ]
}],
initComplete: function(settings, json) {
$('.my_class').css({
@ -360,13 +391,19 @@
});
},
language: {
search: "_INPUT_",
searchPlaceholder: "Search..."
search: `
<div class="datatable-search-wrapper">
_INPUT_
<i class="mdi mdi-magnify datatable-search-icon"></i>
</div>`,
searchPlaceholder: "Search"
},
paging: true,
// pagingType: 'full_numbers'
columnDefs: [
{ type: 'scientific', targets: 0 } // Apply custom sorting type to the first column
columnDefs: [{
type: 'scientific',
targets: 0
} // Apply custom sorting type to the first column
],
});

View File

@ -130,21 +130,21 @@
<div class="form-row">
<div class="form-group col-md-3">
<div class="form-group col-md-4">
<label for="incept_emp_count" class="emp_title"> No of Employees at Inception <span
class="text-danger"></span></label>
<input value="<?= isset($lead_edit_data['incept_emp_count']) ? $lead_edit_data['incept_emp_count'] : '' ?>" type="text" class="form-control" id="incept_emp_count" name="incept_emp_count[]"
placeholder="Enter Lives" required oninput="calculateTotalLives(this)">
</div>
<div class="form-group col-md-3">
<div class="form-group col-md-4">
<label for="incept_dept_count" class="depnd_title"> No of Dependents at Inception <span
class="text-danger"></span></label>
<input value="<?= isset($lead_edit_data['incept_dept_count']) ? $lead_edit_data['incept_dept_count'] : '' ?>" type="text" class="form-control" id="incept_dept_count" name="incept_dept_count[]"
placeholder="Enter Lives" required oninput="calculateTotalLives(this)">
</div>
<div class="form-group col-md-3">
<div class="form-group col-md-4">
<label for="incept_no_of_lives" class="total_title"> Total Lives at Inception <span
class="text-danger"></span></label>
<input value="<?= isset($lead_edit_data['incept_no_of_lives']) ? $lead_edit_data['incept_no_of_lives'] : '' ?>" type="text" class="form-control" id="incept_no_of_lives" name="incept_no_of_lives[]"
@ -155,20 +155,20 @@
<div class="form-row">
<div class="form-group col-md-3 renewalFields" style="display: none;">
<div class="form-group col-md-4 renewalFields" style="display: none;">
<label for="exp_emp_count"> No of Employees at Expiry <span class="text-danger"></span></label>
<input value="<?= isset($lead_edit_data['exp_emp_count']) ? $lead_edit_data['exp_emp_count'] : '' ?>" type="text" class="form-control" id="exp_emp_count" name="exp_emp_count[]"
placeholder="Enter Lives">
</div>
<div class="form-group col-md-3 renewalFields" style="display: none;">
<div class="form-group col-md-4 renewalFields" style="display: none;">
<label for="exp_dept_count"> No of Dependents at Expiry <span
class="text-danger"></span></label>
<input value="<?= isset($lead_edit_data['exp_dept_count']) ? $lead_edit_data['exp_dept_count'] : '' ?>" type="text" class="form-control" id="exp_dept_count" name="exp_dept_count[]"
placeholder="Enter Lives">
</div>
<div class="form-group col-md-3 renewalFields" style="display: none;">
<div class="form-group col-md-4 renewalFields" style="display: none;">
<label for="exp_no_of_lives"> Total Lives at Expiry <span class="text-danger"></span></label>
<input value="<?= isset($lead_edit_data['exp_no_of_lives']) ? $lead_edit_data['exp_no_of_lives'] : '' ?>" type="text" class="form-control" id="exp_no_of_lives" name="exp_no_of_lives[]"
placeholder="Enter Lives">
@ -178,21 +178,21 @@
<div class="form-row">
<div class="form-group col-md-3 renewalFields" style="display: none;">
<div class="form-group col-md-4 renewalFields" style="display: none;">
<label for="renewal_emp_count"> No of Employees at Renewal <span
class="text-danger"></span></label>
<input value="<?= isset($lead_edit_data['renewal_emp_count']) ? $lead_edit_data['renewal_emp_count'] : '' ?>" type="text" class="form-control" id="renewal_emp_count" name="renewal_emp_count[]"
placeholder="Enter Lives">
</div>
<div class="form-group col-md-3 renewalFields" style="display: none;">
<div class="form-group col-md-4 renewalFields" style="display: none;">
<label for="renewal_dept_count"> No of Dependents at Renewal <span
class="text-danger"></span></label>
<input value="<?= isset($lead_edit_data['renewal_dept_count']) ? $lead_edit_data['renewal_dept_count'] : '' ?>" type="text" class="form-control" id="renewal_dept_count" name="renewal_dept_count[]"
placeholder="Enter Lives">
</div>
<div class="form-group col-md-3 renewalFields" style="display: none;">
<div class="form-group col-md-4 renewalFields" style="display: none;">
<label for="renewal_no_of_lives"> Total Lives at Renewal <span
class="text-danger"></span></label>
<input value="<?= isset($lead_edit_data['renewal_no_of_lives']) ? $lead_edit_data['renewal_no_of_lives'] : '' ?>" type="text" class="form-control" id="renewal_no_of_lives" name="renewal_no_of_lives[]"

View File

@ -2,32 +2,32 @@
<div class="form-row" >
<div class="form-group col-md-3">
<div class="form-group col-md-4">
<label for="incept_emp_count" class="emp_title"> No of Employees at Inception <span class="text-danger">*</span></label>
<input value="<?= isset($lead_edit_data['incept_emp_count']) ? $lead_edit_data['incept_emp_count'] : '' ?>" type="text" class="form-control" id="incept_emp_count" name="incept_emp_count[]" placeholder="Enter Lives" required>
</div>
<div class="form-group col-md-3">
<div class="form-group col-md-4">
<label for="total_lives_at_incept" class="total_title"> Total Lives at Inception <span class="text-danger"></span></label>
<input value="<?= isset($lead_edit_data['total_lives_at_incept']) ? $lead_edit_data['total_lives_at_incept'] : '' ?>" type="text" class="form-control" id="total_lives_at_incept" name="total_lives_at_incept[]" placeholder="Enter Lives" disabled>
</div>
<div class="form-group col-md-3 renewalFields">
<div class="form-group col-md-4 renewalFields">
<label for="total_si_at_incept"> Total Sum Insured at Inception <span class="text-danger">*</span></label>
<input value="<?= isset($lead_edit_data['total_si_at_incept']) ? $lead_edit_data['total_si_at_incept'] : '' ?>" type="text" class="form-control" id="total_si_at_incept" name="total_si_at_incept[]" placeholder="Enter Sum Insured" required>
</div>
<div class="form-group col-md-3 renewalFields">
<div class="form-group col-md-4 renewalFields">
<label for="premium_at_incept"> Premium at inception <span class="text-danger">*</span></label>
<input value="<?= isset($lead_edit_data['premium_at_incept']) ? $lead_edit_data['premium_at_incept'] : '' ?>" type="text" class="form-control" id="premium_at_incept" name="premium_at_incept[]" placeholder="Enter Premium" required>
</div>
<div class="form-group col-md-3 renewalFields">
<div class="form-group col-md-4 renewalFields">
<label for="renewal_emp_count"> No of Employees at Renewal <span class="text-danger">*</span></label>
<input value="<?= isset($lead_edit_data['renewal_emp_count']) ? $lead_edit_data['renewal_emp_count'] : '' ?>" type="text" class="form-control" id="renewal_emp_count" name="renewal_emp_count[]" placeholder="Enter Lives" >
</div>
<div class="form-group col-md-3 renewalFields">
<div class="form-group col-md-4 renewalFields">
<label for="total_si_at_renewal"> Total Sum Insured at Renewal <span class="text-danger">*</span></label>
<input value="<?= isset($lead_edit_data['total_si_at_renewal']) ? $lead_edit_data['total_si_at_renewal'] : '' ?>" type="text" class="form-control" id="total_si_at_renewal" name="total_si_at_renewal[]" placeholder="Enter Sum Insured" >
</div>

View File

@ -12,36 +12,71 @@ $increment = 1;
?>
<div class="form-row d-flex align-items-end" id="fileField_<?= $displayIndex ?>">
<div class="form-group row" style="width: 100%;">
<input type="hidden" name="leads_file_id[]" value="<?= htmlspecialchars($value['id']) ?>" id="file_id_<?= $displayIndex ?>">
<div class="form-group col-md-5">
<label>Document Name</label>
<div class="col-auto" style="align-content: center;">
<label class="col-form-label">Document Name</label>
</div>
<div class="col-md-3">
<input type="text" class="form-control" name="docs_name_<?= $increment ?>[]"
placeholder="<?= $placeholder ?>"
placeholder="<?= $placeholder ?>" style="background: #F5FFFF !important;"
value="<?= htmlspecialchars($value['docs_name']) ?>" id="docs_name_<?= $displayIndex ?>">
</div>
<div class="form-group col-md-5">
<div class="col-auto" style="align-content: center;">
<label>
File Upload<br>
<small id="file_name_display_<?= $displayIndex ?>" class="text-muted">
<?= !empty($value['file_name']) ? htmlspecialchars($value['file_name']) : 'No file chosen' ?>
</small>
</label>
<input type="file" class="form-control" id="file_name_<?= $displayIndex ?>"
name="file_name_<?= $increment ?>[]" accept="<?= $accept ?>"
onchange="showFileName(this, <?= $displayIndex ?>)">
</div>
<div class="col-md-3">
<div class="input-icon">
<input type="file" class="form-control" id="file_name_<?= $displayIndex ?>" name="file_name_<?= $increment ?>[]" accept="<?= $accept ?>" onchange="showFileName(this, <?= $displayIndex ?>)" style="background: #F5FFFF !important;">
<i class="mdi mdi-upload additional-icon"></i>
</div>
</div>
<div class="col-md-2" style="position: relative; bottom: 16px;">
<button type="button" class="btn btn-danger" onclick="removeFileField(<?= $displayIndex ?>, <?= htmlspecialchars($value['id']) ?>)">x</button>
<button type="button" class="btn btn-primary" onclick="addFileField(<?= $increment ?>)">+</button>
<div class="col-auto">
<button type="button" class="btn btn-danger" onclick="removeFileField(<?= $displayIndex ?>, <?= htmlspecialchars($value['id']) ?>)"><span class="mdi mdi-trash-can"></span></button>
<button type="button" class="btn app-btn-secondary" onclick="addFileField(<?= $increment ?>)">+</button>
</div>
</div>
</div>
<?php } } else { ?>
<?php } }else { ?>
<!-- Default field if no file data exists -->
<div class="form-row d-flex align-items-end" id="fileField_1">
<div class="form-group row" style="width: 100%;">
<input type="hidden" name="leads_file_id[]" value="">
<div class="col-auto" style="align-content: center;">
<label class="col-form-label">Document Name</label>
</div>
<div class="col-md-3">
<input type="text" class="form-control" name="docs_name_1[]"
placeholder="First file must be Demography." id="docs_name_1" style="background: #F5FFFF !important;">
</div>
<div class="col-auto" style="align-content: center;">
<label>File Upload<br>
<small id="file_name_display_1" class="text-muted">No file chosen</small></label>
</div>
<div class="col-md-3">
<div class="input-icon">
<input type="file" class="form-control" id="file_name_1"
name="file_name_1[]" accept=".xls,.xlsx" onchange="showFileName(this, 1)" style="background: #F5FFFF !important;">
<i class="mdi mdi-upload additional-icon"></i>
</div>
</div>
<div class="col-auto">
<button type="button" class="btn btn-danger" onclick="removeFileField(1, '')"><span class="mdi mdi-trash-can"></span></button>
<button type="button" class="btn app-btn-secondary" onclick="addFileField(1)">+</button>
</div>
</div>
</div>
<!-- <div class="form-row d-flex align-items-end" id="fileField_1">
<input type="hidden" name="leads_file_id[]" value="">
<div class="form-group col-md-5">
@ -63,5 +98,5 @@ $increment = 1;
<button type="button" class="btn btn-danger" onclick="removeFileField(1, '')">x</button>
<button type="button" class="btn btn-primary" onclick="addFileField(1)">+</button>
</div>
</div>
</div> -->
<?php } ?>

View File

@ -8,10 +8,7 @@
padding: 4px 4px !important;
}
.col-12 {
max-width: 98% !important;
}
.dataTables_filter {
position: absolute;
@ -103,21 +100,45 @@
dom: "<'row'<'col-sm-6'f><'col-sm-6 text-right'B>>" + // Filter left, buttons right
"<'row'<'col-sm-12'tr>>" +
"<'row'<'col-sm-5'i><'col-sm-7'p>>", // Pagination at the bottom, without page length selector
buttons: [{
extend: 'csv',
text: 'CSV',
title: 'TAT BAND WISE DATA',
},
// buttons: [{
// extend: 'csv',
// text: 'CSV',
// title: 'TAT BAND WISE DATA',
// },
// {
// extend: 'excel',
// text: 'Excel',
// title: 'TAT BAND WISE DATA',
// }
// ],
buttons: [
{
extend: 'excel',
text: 'Excel',
title: 'TAT BAND WISE DATA',
extend: 'collection',
text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary ',
buttons: [
{
extend: 'csv',
text: '<i class="mdi mdi-file-delimited " ></i><span class=" btn-custom"> CSV </span>',
className: 'app-btn-primary ',
title: 'TAT BAND WISE DATA',
},
{
extend: 'excel',
text: '<i class="mdi mdi-file-excel " ></i><span class=" btn-custom"> EXCEL </span>',
className: 'app-btn-primary ',
title: 'TAT BAND WISE DATA',
}
]
}
],
language: {
search: "_INPUT_",
searchPlaceholder: "Search..."
search: `
<div class="datatable-search-wrapper">
_INPUT_
<i class="mdi mdi-magnify datatable-search-icon"></i>
</div>`,
searchPlaceholder: "Search"
},
paging: true, // Enable pagination
pageLength: 10, // Set default number of rows per page (optional)

View File

@ -138,22 +138,22 @@ th:first-child, td:first-child {
<table data-custom-table-css="table" class="table table-striped mb-0 nowrap" cellspacing="0" id="tickets-table">
<thead class="bg-light">
<tr>
<th><input type="checkbox" id="selectAll" onclick="toggleAll(this)"></th>
<th class="font-weight-medium">SNO</th>
<th><input type="checkbox" id="selectAll" onclick="toggleAll(this)">&nbsp;</th>
<th class="font-weight-medium">S.No&nbsp;</th>
<?php if (isset($getData)) {
if ($getData['client_id'] == '0' && $getData['policy_id'] == '0' && $getData['branch_id'] == '0' && ($getData['emp_code'] != "" || $getData['emp_name'] != "" || $getData['status'] != "")) { ?>
<th class="font-weight-medium">Client/Branch</th>
<th class="font-weight-medium">Client/Branch&nbsp;</th>
<?php }
if ($getData['client_id'] != '0' && $getData['branch_id'] == '0') { ?>
<th class="font-weight-medium">Branch</th>
<th class="font-weight-medium">Branch&nbsp;</th>
<?php } } ?>
<th class="font-weight-medium">Name</th>
<th class="font-weight-medium">EMP Code</th>
<th class="font-weight-medium">Relationship</th>
<th class="font-weight-medium">Gender</th>
<th class="font-weight-medium">Date of Birth</th>
<th class="font-weight-medium">Existing Policy Count</th>
<th class="font-weight-medium">Name&nbsp;</th>
<th class="font-weight-medium">EMP Code&nbsp;</th>
<th class="font-weight-medium">Relationship&nbsp;</th>
<th class="font-weight-medium">Gender&nbsp;</th>
<th class="font-weight-medium">Date of Birth&nbsp;</th>
<th class="font-weight-medium">Existing Policy Count&nbsp;</th>
<!-- <th class="font-weight-medium">Policy name</th>
<th class="font-weight-medium">Insurer name</th>
<th class="font-weight-medium">TPA ID</th>
@ -557,8 +557,12 @@ document.addEventListener("DOMContentLoaded", function () {
className:"unmapEmployees"
}],
language: {
search: "_INPUT_",
searchPlaceholder: "Search..."
search: `
<div class="datatable-search-wrapper">
_INPUT_
<i class="mdi mdi-magnify datatable-search-icon"></i>
</div>`,
searchPlaceholder: "Search"
},
paging: true, // Enable pagination
pageLength: 25 // Set default number of rows per page (optional)

View File

@ -1,21 +1,29 @@
<style>
.table th,
.table td {
padding: 8px;
}
table.dataTable tbody td {
padding: 4px 4px !important;
}
.col-12 {
max-width: 98% !important;
}
.right-align-input {
text-align: right;
.dataTables_filter {
position: absolute;
}
.text-custom {
font-weight: 400;
font-style: normal;
font-size: 11px;
line-height: 1.44;
letter-spacing: -0.02em;
.column-header {
margin-right: 10px;
}
.btn {
font-size: 0.9rem;
padding: 0.5rem 1rem;
}
</style>
@ -27,90 +35,85 @@
color: #6c757d !important;
}
table.dataTable td.wrap {
white-space: normal !important;
word-break: break-word;
}
</style>
<div class="row" id="ticket_list">
<div class="col-12">
<div class="card">
<div class="card-body">
<div>
<div class="table-responsive">
<table data-custom-table-css="table" class="table mb-0 nowrap w-100 table-centered" cellspacing="0" id="tickets-table">
<div class="col-12">
<div class="card">
<div class="card-body maincard">
<div class="row">
<div class="col-6" style="align-self: center;">
<p class="title-text font-color-black" style="position: relative;">Tickets </p>
</div>
</div>
<div>
<table data-custom-table-css="table" id="scroll-horizontal-datatable" class="table w-100 nowrap text-custom-black text-custom app-datatable">
<thead class="app-table-head">
<tr>
<th>Ticket ID</th>
<th class="app-text-left">Name</th>
<th>Policy Number</th>
<th>Ticket Type</th>
<th>Subject</th>
<th>Status</th>
<th class="app-text-left">Assign To</th>
<th>Created At</th>
<th>Updated At</th>
</tr>
</thead>
<tbody class="app-table-body">
<?php if (isset($ticket_data)) { ?>
<?php foreach($ticket_data as $index => $row){ ?>
<thead class="bg-light">
<tr>
<th><div class="column-header">Ticket ID&nbsp;</div></th>
<th class="text-left"><div class="column-header">Name &nbsp;</div></th>
<th><div class="column-header">Policy Number &nbsp;</div></th>
<th><div class="column-header">Ticket Type &nbsp;</div></th>
<th><div class="column-header">Subject &nbsp;</div></th>
<th><div class="column-header">Status &nbsp;</div></th>
<th class="text-left"><div class="column-header">Assign To &nbsp;</div></th>
<th><div class="column-header">Created At &nbsp;</div></th>
<th><div class="column-header">Updated At &nbsp;</div></th>
</tr>
</thead>
<tr data-id="<?= $row['thz_id']; ?>" style="cursor: pointer;">
<td class="app-text-right"><?php echo $row['thz_id']; ?></td>
<td class="app-text-left">
<?php echo $row['name']; ?>
<span class="text-custom-grey"><?php if (!empty($row['empcode'])): echo '('.$row['empcode'].')'; endif; ?></span><br>
<span class="text-custom-grey"><?php if (!empty($row['mobile'])): echo $row['mobile']; endif; ?></span>
</td>
<td class="app-text-center"><?php echo (!empty($row['policy_no']) && strtolower($row['policy_no']) !== 'null')
<tbody class="app-table-body">
<?php if(isset($ticket_data)) { ?>
<?php foreach($ticket_data as $index => $row){ ?>
<tr data-id="<?= $row['thz_id']; ?>" style="cursor: pointer;">
<td class="text-center"><?php echo $row['thz_id']; ?></td>
<td class="text-left"><?php echo $row['name']; ?>
<span class="text-custom-grey"><?php if (!empty($row['empcode'])): echo '('.$row['empcode'].')'; endif; ?></span><br>
<span class="text-custom-grey"><?php if (!empty($row['mobile'])): echo $row['mobile']; endif; ?></span>
</td>
<td class="text-center"><?php echo (!empty($row['policy_no']) && strtolower($row['policy_no']) !== 'null')
? $row['policy_no']
: 'N/A'; ?>
</td>
<td class="app-text-center"><?php echo $row['ticket_type'] ? $row['ticket_type'] : '-'; ?></td>
<td class="app-text-center wrap" title="<?php echo htmlspecialchars($row['subject']); ?>">
<td class="text-center"><?php echo $row['ticket_type'] ? $row['ticket_type'] : 'N/A'; ?></td>
<td class="text-center wrap" title="<?php echo htmlspecialchars($row['subject']); ?>">
<?php
$subject = $row['subject'] ? $row['subject'] : 'N/A';
echo (strlen($subject) > 50)
? htmlspecialchars(substr($subject, 0, 50)) . "..."
echo (strlen($subject) > 18)
? htmlspecialchars(substr($subject, 0, 18)) . "..."
: htmlspecialchars($subject);
?>
</td>
<td class="app-text-center"><?php echo $row['status'] ? $row['status'] : '-' ; ?></td>
<td class="app-text-left"><?php echo $row['assignee_name'] ? $row['assignee_name'] : '-'; ?></td>
<td class="app-text-left">
<td class="text-center"><?php echo $row['status'] ? $row['status'] : 'N/A' ; ?></td>
<td class="text-left"><?php echo $row['assignee_name'] ? $row['assignee_name'] : 'N/A'; ?></td>
<td class="text-left">
<?php if (!empty($row['created_at'])):
$cd = date("j F Y", strtotime($row['created_at']));
$cd = date("j M Y", strtotime($row['created_at']));
$ct = date("h:i a", strtotime($row['created_at']));
echo $cd . "<br><span class='time'> " . $ct . "</span>";
endif;
?>
</td>
<td class="app-text-left">
<td class="text-left">
<?php if (!empty($row['updated_at'])):
$ud = date("j F Y", strtotime($row['updated_at']));
$ud = date("j M Y", strtotime($row['updated_at']));
$ut = date("h:i a", strtotime($row['updated_at']));
echo $ud . "<br><span class='time'> " . $ut . "</span>";
endif;
?>
</td>
</tr>
<?php } ?>
<?php } ?>
</tbody>
</table>
<div>
</tr>
<?php } ?>
<?php } else { ?>
<tr>
<td colspan="9" class="text-center">No data available</td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
</div>
</div>
</div><!-- end col -->
</div>
</div>
</div><!-- end col -->
</div>
<div class="modal fade " id="ticketModal" tabindex="-1" role="dialog" aria-hidden="true">
@ -244,7 +247,7 @@ table.dataTable td.wrap {
<!-- <div class="form-group col-md-12 ">
<label for="subject">Subject<span class="text-danger">*</span></label>
<small id="subjectCounter" class="form-text text-muted app-text-right">0/150</small>
<small id="subjectCounter" class="form-text text-muted text-right">0/150</small>
</div> -->
<div class="form-group col-md-12 ">
<div class="d-flex justify-content-between">
@ -257,7 +260,7 @@ table.dataTable td.wrap {
<div class="form-group col-md-12 ">
<div class="d-flex justify-content-between">
<label for="message">Message<span class="text-danger">*</span></label>
<small id="messageCounter" class="form-text text-muted text-end app-text-right">0/1500</small>
<small id="messageCounter" class="form-text text-muted text-end text-right">0/1500</small>
</div>
<!-- <input type="text" class="form-control" id="message" name="message" placeholder="Enter Message"> -->
<textarea class="form-control" id="message" name="message" placeholder="Enter Message" rows="3" required maxlength="1500"></textarea>
@ -306,8 +309,69 @@ table.dataTable td.wrap {
</div>
<script>
// Datatable document ready
$(document).ready(function() {
var ticketsTable = $('#tickets-table');
if (ticketsTable.length) {
ticketsTable.DataTable({
scrollX: true,
dom: "<'row'<'col-sm-7'f><'col-sm-5 text-right'B>>" + // Filter left, buttons right
"<'row'<'col-sm-12'tr>>" +
"<'row'<'col-sm-5'i><'col-sm-7'p>>", // Pagination at the bottom, without page length selector
buttons: [
{
text: '<i class="mdi mdi-plus" ></i><span class=" btn-custom"> Add </span>',
className: 'btn app-btn-primary mr-2',
action: function(e, dt, node, config) {
openTicket();
}
},
{
extend: 'collection',
text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary ',
buttons: [
{
extend: 'csv',
text: '<i class="mdi mdi-file-delimited " ></i><span class=" btn-custom"> CSV </span>',
className: 'app-btn-primary ',
title: 'Tickets',
},
{
extend: 'excel',
text: '<i class="mdi mdi-file-excel " ></i><span class=" btn-custom"> EXCEL </span>',
exportOptions: {
orthogonal: 'sort'
},
className: 'app-btn-primary ',
title: 'Tickets'
}
]
}
],
language: {
search: `
<div class="datatable-search-wrapper">
_INPUT_
<i class="mdi mdi-magnify datatable-search-icon"></i>
</div>`,
searchPlaceholder: "Search"
},
paging: true,
pageLength: 10,
order: [[0, 'desc']]
});
} else {
console.error("Table not found.");
}
});
function openTicket(){
var form = document.getElementById('ticketForm');
form.reset();
@ -344,10 +408,10 @@ table.dataTable td.wrap {
var ticketType = document.getElementById('ticket_type').value.trim();
// Validation checks
if (name === "" || mobile === "" || email === "" || ticketType === "") {
toastr.warning('Please fill all required fields.', 'Warning');
form.classList.add('was-validated');
return;
if (message.length === 0) {
toastr.error('Message cannot be empty', 'Warning');
form.classList.add('was-validated');
return;
}
if (message.length > 1500) {
@ -356,6 +420,12 @@ table.dataTable td.wrap {
return;
}
if (subject.length === 0) {
toastr.error('Subject cannot be empty', 'Warning');
form.classList.add('was-validated');
return;
}
if (subject.length > 150) {
toastr.error('Subject cannot exceed 150 characters', 'Warning');
form.classList.add('was-validated');
@ -376,6 +446,12 @@ table.dataTable td.wrap {
return;
}
if (name === "" || mobile === "" || email === "" || ticketType === "" || subject === "" || message === "") {
toastr.warning('Please fill all required fields.', 'Warning');
form.classList.add('was-validated');
return;
}
var form = document.getElementById("ticketForm"); // your form ID
var formData = new FormData(form);
@ -583,53 +659,6 @@ $(document).ready(function() {
$("#modal_assignee").select2();
hideandshowpolicy();
var ticketsTable = $('#scroll-horizontal-datatable');
if (ticketsTable.length) {
ticketsTable.DataTable({
scrollX: true,
dom: "<'row'<'col-sm-2'f><'col-sm-10 text-right'B>>" +
"<'row'<'col-sm-12'tr>>" +
"<'row'<'col-sm-5'i><'col-sm-7'p>>",
buttons: [
{
text: '<i class="mdi mdi-plus" ></i><span class=" btn-custom"> Create New Ticket </span>',
className: 'btn app-btn-primary mr-2',
action: function(e, dt, node, config) {
openTicket();
}
},
{
extend: 'collection',
text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary ',
buttons: [
{
extend: 'csv',
text: '<i class="mdi mdi-file-delimited " ></i><span class=" btn-custom"> CSV </span>',
className: 'app-btn-primary ',
},
{
extend: 'excel',
text: '<i class="mdi mdi-file-excel " ></i><span class=" btn-custom"> EXCEL </span>',
exportOptions: {
orthogonal: 'sort'
},
className: 'app-btn-primary ',
}
]
}
],
paging: true,
pageLength: 25,
order: [[0, 'desc']]
});
} else {
console.error("Table Not found.");
}
const subjectInput = document.getElementById("subject");
const subjectCounter = document.getElementById("subjectCounter");

View File

@ -1,5 +1,4 @@
<style>
.notes-box {
display: flex;
align-items: center;
@ -15,6 +14,10 @@
resize: none;
padding: 8px;
font-size: 14px;
background-color: transparent !important;
border-radius: 0px !important;
box-shadow: 0px 0px 0px 0px transparent !important;
border-color: transparent !important;
}
.icon-buttons {
@ -72,10 +75,12 @@
.conversation-card,
.conversation-card .card-header,
.conversation-card .card-body {
background: #F5FFFF !important;
}
.conversation-card{
box-shadow: 0 2px 4px 0 #00000040;
border-radius : 15px !important;
}
.master-card{
border-radius: 15px !important;
box-shadow: 0 2px 4px 0 #00000040;
@ -129,146 +134,134 @@ hr{
}
</style>
<div class="row" id="notespage">
<h3 class="secondary-title">
<a href="#" onclick="history.back(); return false;">
<i class="mdi mdi-chevron-left" title="Back"></i>
</a>
<span>Ticket ID - <?= $master[0]['thz_id']; ?></span>
</h3>
<div class="col-12">
<div class="card ">
<div class="card-body maincard">
<!-- Title -->
<div class="row" id="notes-title" style="padding-bottom: 10px;">
<!-- <div class="col-6" style="align-self: center;">
<h4 style="position: relative;"><span onclick="history.back()"><i class="mdi mdi-chevron-left" style="font-size: 24px;"></i></span> Ticket ID-<?php echo $master[0]['thz_id']; ?></h4>
</div> -->
<h4 class="d-flex align-items-center" style="gap: 8px;">
<span onclick="history.back()" style="cursor: pointer;">
<i class="mdi mdi-chevron-left" style="font-size: 43px;"></i>
</span>
<span class="title-text ">Ticket ID-<?= $master[0]['thz_id']; ?></span>
</h4>
</div>
<!-- Body -->
<div class="row" id="notes-body">
<!-- Left Details -->
<div class="col-5" id="notes-body-left">
<div class="card master-card" style="background:#F5FFFF;">
<div class="card-header d-flex justify-content-between align-items-center" style="background:none; border:none;">
<p class="sub-title-text mb-0">Details</p>
<?php if($master[0]['status'] !== "Closed") : ?>
<a href="javascript:void(0);" onclick="openEditTicket()">
<i class="mdi mdi-pencil edit-icon" title="Edit"></i>
<!-- <i class="mdi mdi-pencil"
title="Edit"
style="font-size:15px; color:#555; cursor:pointer; transition:0.2s;"
onmouseover="this.style.color='#02a8b5'; this.style.fontSize='17px';"
onmouseout="this.style.color='#555'; this.style.fontSize='15px';">
</i> -->
</a>
<?php endif; ?>
</div>
<div class="card-body card-scroll sub-title-text " style="padding:0 27px !important; background:#F5FFFF;">
<div class="row mb-2 ml-o">
<div class="col-4 app-subtitle app-text-grey ">Ticket ID</div>
<div class="col-8 app-text app-text-black text-end " style="font-weight: 500 !important;"><?= $master[0]['thz_id'];?></div>
<div class="col-12">
<div class="card">
<div class="card-body">
<div class="row" id="notes-body">
<!-- Left Details -->
<div class="col-5" id="notes-body-left">
<div class="card master-card" style="background:#F5FFFF; border-radius: 15px;">
<div class="card-header d-flex justify-content-between align-items-center" style="background:none; border:none;">
<h3 class="mb-0">Details</h3>
<?php if($master[0]['status'] !== "Closed") : ?>
<a href="javascript:void(0);" onclick="openEditTicket()">
<i class="mdi mdi-pencil edit-icon" title="Edit"></i>
<!-- <i class="mdi mdi-pencil"
title="Edit"
style="font-size:15px; color:#555; cursor:pointer; transition:0.2s;"
onmouseover="this.style.color='#02a8b5'; this.style.fontSize='17px';"
onmouseout="this.style.color='#555'; this.style.fontSize='15px';">
</i> -->
</a>
<?php endif; ?>
</div>
<div class="row mb-2">
<div class="col-4 app-subtitle app-text-grey ">Name</div>
<div class="col-8 app-text app-text-black text-end " style="font-weight: 500 !important;"><?= $master[0]['name'];?></div>
</div>
<div class="row mb-2">
<div class="col-4 app-subtitle app-text-grey ">Mobile</div>
<div class="col-8 app-text app-text-black text-end " style="font-weight: 500 !important;"><?= $master[0]['mobile'];?></div>
</div>
<div class="row mb-2">
<div class="col-4 app-subtitle app-text-grey ">Policy Number</div>
<div class="col-8 app-text text-end app-text-black" style="font-weight: 500 !important;">
<?= (!empty($master[0]['policy_no']) && strtolower($master[0]['policy_no']) !== 'null')
? '<u class="app-text-black">
<a href="javascript:void(0);"
class="app-text-black"
data-toggle="modal"
data-target="#PolicyModal"
title="Click to view Policy Terms"
data-id="'.$master[0]['policy_id'].'">'
.$master[0]['policy_no'].'
</a>
</u>'
: 'N/A'; ?>
<div class="card-body card-scroll " style="padding:0 27px !important; background:#F5FFFF; border-radius: 15px !important;">
<div class="row mb-2 ml-o">
<div class="col-4 app-subtitle app-text-grey ">Ticket ID</div>
<div class="col-8 font-color-black text-end " style="font-weight: 500 !important;"><?= $master[0]['thz_id'];?></div>
</div>
</div>
<div class="row mb-2">
<div class="col-4 app-subtitle app-text-grey ">Assigned To</div>
<div class="col-8 app-text app-text-black text-end " style="font-weight: 500 !important;"><?= $master[0]['assignee_name'];?></div>
</div>
<div class="row mb-2">
<div class="col-4 app-subtitle app-text-grey ">Status</div>
<div class="col-8 app-text app-text-black text-end " style="font-weight: 500 !important;">
<?= (!empty($master[0]['status']) && strtolower($master[0]['status']) !== 'null')
? '<u class="app-text-black">
<div class="row mb-2">
<div class="col-4 app-subtitle app-text-grey ">Name</div>
<div class="col-8 font-color-black text-end " style="font-weight: 500 !important;"><?= $master[0]['name'];?></div>
</div>
<div class="row mb-2">
<div class="col-4 app-subtitle app-text-grey ">Mobile</div>
<div class="col-8 font-color-black text-end " style="font-weight: 500 !important;"><?= $master[0]['mobile'];?></div>
</div>
<div class="row mb-2">
<div class="col-4 app-subtitle app-text-grey ">Policy Number</div>
<div class="col-8 text-end font-color-black" style="font-weight: 500 !important;">
<?= (!empty($master[0]['policy_no']) && strtolower($master[0]['policy_no']) !== 'null')
? '<u class="font-color-black">
<a href="javascript:void(0);"
class="app-text-black"
onclick="statusHistory('.$master[0]['thz_id'].')"
class="font-color-black"
data-toggle="modal"
data-target="#StatusModal"
title="Click to view Status History">'
.$master[0]['status'].'
data-target="#PolicyModal"
title="Click to view Policy Terms"
data-id="'.$master[0]['policy_id'].'">'
.$master[0]['policy_no'].'
</a>
</u>'
: 'N/A'; ?>
</div>
</div>
</div>
<div class="row mb-2">
<div class="col-4 app-subtitle app-text-grey ">Ticket Type</div>
<div class="col-8 app-text app-text-black text-end " style="font-weight: 500 !important;"><?= $master[0]['ticket_type'];?></div>
</div>
<div class="row mb-2">
<div class="col-4 app-subtitle app-text-grey ">Subject</div>
<div class="col-8 app-text app-text-black text-end " style="font-weight: 500 !important; text-align: justify;"><?= $master[0]['subject'];?></div>
</div>
<div class="row mb-2">
<div class="col-4 app-subtitle app-text-grey ">Message</div>
<div class="col-8 app-text app-text-black text-end " style="font-weight: 500 !important; text-align: justify;"><?= $master[0]['message'];?></div>
</div>
<div class="row mb-2">
<div class="col-4 app-subtitle app-text-grey ">Related Tickets</div>
<div class="col-8 app-text text-end " style="font-weight: 500 !important;">
<u class="text-warning">
<a href="javascript:void(0);"
class="text-warning"
data-toggle="modal"
data-target="#relatedTicketModal"
title="<?= empty($master[0]['created_by']) ? 'No related tickets' : 'Click to view related tickets'; ?>"
data-id="<?= $master[0]['created_by']; ?>">
View
</a>
</u>
<div class="row mb-2">
<div class="col-4 app-subtitle app-text-grey ">Assigned To</div>
<div class="col-8 font-color-black text-end " style="font-weight: 500 !important;"><?= $master[0]['assignee_name'];?></div>
</div>
<div class="row mb-2">
<div class="col-4 app-subtitle app-text-grey ">Status</div>
<div class="col-8 font-color-black text-end " style="font-weight: 500 !important;">
<?= (!empty($master[0]['status']) && strtolower($master[0]['status']) !== 'null')
? '<u class="font-color-black">
<a href="javascript:void(0);"
class="font-color-black"
onclick="statusHistory('.$master[0]['thz_id'].')"
data-toggle="modal"
data-target="#StatusModal"
title="Click to view Status History">'
.$master[0]['status'].'
</a>
</u>'
: 'N/A'; ?>
</div>
</div>
<div class="row mb-2">
<div class="col-4 app-subtitle app-text-grey ">Ticket Type</div>
<div class="col-8 font-color-black text-end " style="font-weight: 500 !important;"><?= $master[0]['ticket_type'];?></div>
</div>
<div class="row mb-2">
<div class="col-4 app-subtitle app-text-grey ">Subject</div>
<div class="col-8 font-color-black text-end " style="font-weight: 500 !important; text-align: justify;"><?= $master[0]['subject'];?></div>
</div>
<div class="row mb-2">
<div class="col-4 app-subtitle app-text-grey ">Message</div>
<div class="col-8 font-color-black text-end " style="font-weight: 500 !important; text-align: justify;"><?= $master[0]['message'];?></div>
</div>
<div class="row mb-2">
<div class="col-4 app-subtitle app-text-grey ">Related Tickets</div>
<div class="col-8 text-end " style="font-weight: 500 !important;">
<u class="text-warning">
<a href="javascript:void(0);"
class="text-warning"
data-toggle="modal"
data-target="#relatedTicketModal"
title="<?= empty($master[0]['created_by']) ? 'No related tickets' : 'Click to view related tickets'; ?>"
data-id="<?= $master[0]['created_by']; ?>">
View
</a>
</u>
</div>
</div>
<!-- add more fields -->
</div>
<!-- add more fields -->
</div>
</div>
</div>
<!-- Right Conversation -->
<div class="col-7">
<!-- Conversation Card -->
<div class="card mb-3 conversation-card">
<div class="card-header d-flex justify-content-between align-items-center" style="background:none; border:none; padding-bottom: 0px;">
<p class="sub-title-text app-text-black" >Conversation</p>
</div>
<div class="card-body recard-scroll" style="padding:0 27px !important; margin:0 !important; background:#F5FFFF;">
<!-- Right Conversation -->
<div class="col-7" id="notes-body-right">
<!-- Conversation Card -->
<div class="card mb-3 conversation-card" style="background:#F5FFFF; border-radius: 15px !important;">
<div class="card-header d-flex justify-content-between align-items-center" style="background:none; border:none; padding-bottom: 0px; border-radius: 15px !important;">
<h3 class="font-color-black" >Conversation</h3>
</div>
<div class="card-body recard-scroll" style="padding:0 27px !important; margin:0 !important; background:#F5FFFF; border-radius: 15px !important;">
<?php if(!empty($notes)): ?>
<?php foreach($notes as $i => $conv): ?>
<div style="border:none; padding: 0px; margin: 0px;">
<hr/>
<!-- Top Row: Message + Badge -->
<div class="d-flex justify-content-between align-items-start app-text app-text-black ">
<div class="d-flex justify-content-between align-items-start font-color-black ">
<p class="mb-1 ml-0 mr-0 " style="font-weight: 400 !important;"><?= $conv['notes'] ?></p>
<!-- <?php if(!empty($conv['notes_by'])): ?>
<span class="badge bg-warning text-dark"><?= $conv['notes_by'] ?></span>
@ -294,7 +287,7 @@ hr{
<p class="text-center font-color-black"><i>No Data Found</i></p>
</div>
<?php endif; ?>
</div>
</div>
</div>
<!-- Input Card -->
@ -313,24 +306,27 @@ hr{
<button type="button" class="btn-icon" onclick="submitConverstionTicket('External', this)"><i class="mdi mdi-email"></i></button>
</div>
</div>
<small id="messageCounter" class="form-text text-muted text-end app-text-right">0/1500</small>
<small id="messageCounter" class="form-text text-muted text-end text-right">0/1500</small>
</form>
</div>
</div>
</div>
</div> <!-- /notes-body -->
</div>
</div>
</div>
</div>
<div class="modal fade app-text-black " id="EditModal" tabindex="-1" role="dialog" aria-hidden="true">
<div class="modal fade font-color-black " id="EditModal" tabindex="-1" role="dialog" aria-hidden="true"
data-backdrop="static"
data-keyboard="false"
data-bs-backdrop="static"
data-bs-keyboard="false">
<div class="modal-dialog modal-dialog-centered">
<div class="modal-content">
<form id="ticketForm">
<div class="modal-header">
<h4 class="modal-title title-text" id="EditModalLabel" style="font-size:27px !important">Update</h4>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true" data-bs-dismiss="modal">×</button>
</div>
<div class="modal-body">
@ -339,7 +335,7 @@ hr{
<input type="hidden" id="updated_by" name="updated_by" value="<?= get_session_userid(); ?>">
<div class="form-group col-md-12">
<label for="ticket_type" class="sub-title-text ">Ticket Type<span class="text-danger">*</span></label>
<label for="ticket_type">Ticket Type<span class="text-danger">*</span></label>
<select class="form-control" id="ticket_type" name="ticket_type" required>
<option value="">Select Ticket Type</option>
<!-- <option value="Sales">Sales</option>
@ -356,7 +352,7 @@ hr{
<div class="form-group col-md-12">
<label for="status" class="sub-title-text ">Status</label>
<label for="status">Status</label>
<select class="form-control" id="status" name="status">
<option value="">Select Status</option>
<option value="Open">Open</option>
@ -370,7 +366,7 @@ hr{
// 2,3,4 dropdown data'va varannum but dropdown hide pannanum -->
<?php if(in_array(get_role_id(), [1,5]) ) { ?>
<div class="form-group col-md-12">
<label for="assign_to" class="sub-title-text ">Assign To</label>
<label for="assign_to">Assign To</label>
<select class="form-control" id="assign_to" name="assign_to">
<option value="">Select Assign To</option>
<?php if(isset($assignee)) { ?>
@ -386,7 +382,7 @@ hr{
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn app-btn-secondary " onclick="submitTicket()">Save</button>
<button type="button" class="btn app-btn-secondary" onclick="submitTicket()">Save</button>
</div>
</form>
</div>
@ -399,7 +395,7 @@ hr{
<div class="modal-header" style="border-bottom-width:0;">
<h4 class="modal-title title-text " style="font-size:27px !important">Related Tickets</h4>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true" data-bs-dismiss="modal">×</button>
</div>
<div class="modal-body card-scroll" style="padding-top:5px!important;">
@ -446,7 +442,7 @@ hr{
<div class="modal-header" style="border-bottom-width:0;">
<h4 class="modal-title title-text ">Policy Terms</h4>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true" data-bs-dismiss="modal">×</button>
</div>
<div class="modal-body card-scroll" style="padding-top:5px!important;">
@ -471,7 +467,7 @@ hr{
<div class="modal-header" style="border-bottom-width:0;">
<h4 class="modal-title title-text ">Status History</h4>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true" data-bs-dismiss="modal">×</button>
</div>
<div class="modal-body card-scroll history-container" style="padding:5px 11px 11px 11px!important;">
@ -481,15 +477,12 @@ hr{
</div>
</div>
<script>
$(document).ready(function() {
// Initialize select2
$("#ticket_type").select2();
$("#status").select2();
$("#assign_to").select2();
// Initialize select2
$("#ticket_type, #status, #assign_to").select2();
const messageInput = document.getElementById("notes");
const messageCounter = document.getElementById("messageCounter");
@ -504,20 +497,35 @@ hr{
messageInput.classList.remove('is-invalid');
}
});
const btn = document.querySelector("button[onclick='submitTicket()']");
$("#ticket_type, #status, #assign_to").on('change', function() {
if (btn.disabled) {
btn.disabled = false;
btn.innerText = "Save";
}
});
});
function openEditTicket() {
var form = document.getElementById('ticketForm');
form.reset();
form.classList.remove('was-validated'); // remove Bootstrap validation styling
var btn = document.querySelector("button[onclick='submitTicket()']");
btn.disabled = false;
btn.innerText = "Save";
var masterData = <?= json_encode($master[0]); ?>;
console.log(masterData);
$("#edit_thz_id").val(masterData.thz_id);
$("#ticket_type").val(masterData.ticket_type).trigger("change");
// $("#updated_by").val("<?= get_session_userid(); ?>");
$("#ticket_type").val(masterData.ticket_type).trigger("change");
$("#status").val(masterData.status).trigger("change");
$("#assign_to").val(masterData.assign_to).trigger("change");
@ -633,13 +641,13 @@ function statusHistory(thzId) {
let table = `
<div class="table-responsive">
<table data-custom-table-css="table" class="table w-100 nowrap text-custom-black text-custom app-datatable">
<thead class="app-table-head">
<thead class="bg-light">
<tr>
<th class="app-text app-text-white">S.No</th>
<th class="app-text app-text-white">Old Status</th>
<th class="app-text app-text-white">New Status</th>
<th class="app-text app-text-white">Updated By</th>
<th class="app-text app-text-white">Date/Time</th>
<th class="app-text-white">S.No</th>
<th class="app-text-white">Old Status</th>
<th class="app-text-white">New Status</th>
<th class="app-text-white">Updated By</th>
<th class="app-text-white">Date/Time</th>
</tr>
</thead>
<tbody class="app-table-body">

View File

@ -1,12 +1,37 @@
<style>
.bg-staff {
background-color: #FFF5E5;
}
.bg-staff {
background-color: #FFF5E5;
}
.label-font-size{
font-size:0.875rem;
}
.label-font-size {
font-size: 0.875rem;
}
.nav-pills,
.nav-link {
background-color: #F5FFFF !important;
color: #00999E !important;
border-radius: 10px;
}
.nav-pills {
background-color: #F5FFFF !important;
color: #00999E !important;
box-shadow: 0px 2px 4px 0px #00000040;
padding-top: 5px;
}
.nav-link.active-tab {
color: white !important;
background-color: #00999E !important;
font-size: small !important;
padding: 8px 16px;
border-radius: 10px !important;
box-shadow: 0px 2px 4px 0px #00000040;
}
</style>
<div class="row">
<div class="col-12">
@ -25,75 +50,85 @@
</div>
<!-- Navigation Tabs -->
<ul class="nav nav-pills navtab-bg">
<li class="nav-item">
<a href="#general-tab" data-toggle="tab" class="nav-link px-2 py-1 active label-font-size" id="general_tab"
aria-expanded="true">
<i class="mdi mdi-ticket-account"></i>
<span class="d-none d-sm-inline-block ">General</span>
</a>
</li>
<li class="nav-item">
<a href="#reply-tab" data-toggle="tab" class="nav-link px-2 py-1 label-font-size" id="reply_tab"
aria-expanded="false">
<i class="mdi mdi-message-processing"></i>
<span class="d-none d-sm-inline-block">Reply</span>
</a>
</li>
<li class="nav-item">
<a href="#note-tab" data-toggle="tab" class="nav-link px-2 py-1 label-font-size" id="note_tab"
aria-expanded="false">
<i class="mdi mdi-note-text"></i>
<span class="d-none d-sm-inline-block">Notes</span>
</a>
</li>
<li class="nav-item">
<a href="#history-tab" data-toggle="tab" class="nav-link px-2 py-1 label-font-size" id="history_tab"
aria-expanded="false">
<i class="mdi mdi-history"></i>
<span class="d-none d-sm-inline-block">History</span>
</a>
</li>
<?php if(in_array($ticket_data['ticket_type_id'], [1,2,3,4,5,6,7])){ ?>
<li class="nav-item">
<a href="#autoQuery-tab" data-toggle="tab" class="nav-link px-2 py-1 label-font-size" id="auto_query_tab"
aria-expanded="false">
<i class="mdi mdi-robot mr-1"></i>
<span class="d-none d-sm-inline-block">Auto Query Content</span>
</a>
</li>
<?php } ?>
<li class="nav-item">
<a href="#uploads-tab" data-toggle="tab" class="nav-link px-2 py-1 label-font-size" id="uploads_tab"
aria-expanded="false">
<i class="mdi mdi-file mr-1"></i>
<span class="d-none d-sm-inline-block">Claim Files</span>
</a>
</li>
<?php if(in_array($ticket_data['ticket_type_id'], [1,2,3,4,5,6,7])){ ?>
<li class="nav-item">
<a href="#viewpolicyterms-tab" data-toggle="tab" class="nav-link px-2 py-1 label-font-size" id="viewpolicyterms_tab"
aria-expanded="false">
<i class="mdi mdi-eye mr-1"></i>
<span class="d-none d-sm-inline-block">View Policy Terms</span>
</a>
</li>
<?php } ?>
</ul>
<div class="tab-wrapper position-relative">
<ul class="nav nav-pills navtab-bg" id="myTab">
<li class="nav-item d-flex justify-content-center align-items-center">
<button class="scroll-btn left-btn" type="button">&#9664;</button>
</li>
<li class="nav-item">
<a href="#general-tab" data-toggle="tab" class="nav-link px-3 py-2 active label-font-size" id="general_tab"
aria-expanded="true">
<i class="mdi mdi-ticket-account"></i>
<span class="d-none d-sm-inline-block ">General</span>
</a>
</li>
<li class="nav-item">
<a href="#reply-tab" data-toggle="tab" class="nav-link px-3 py-2 label-font-size" id="reply_tab"
aria-expanded="false">
<i class="mdi mdi-message-processing"></i>
<span class="d-none d-sm-inline-block">Reply</span>
</a>
</li>
<li class="nav-item">
<a href="#note-tab" data-toggle="tab" class="nav-link px-3 py-2 label-font-size" id="note_tab"
aria-expanded="false">
<i class="mdi mdi-note-text"></i>
<span class="d-none d-sm-inline-block">Notes</span>
</a>
</li>
<li class="nav-item">
<a href="#history-tab" data-toggle="tab" class="nav-link px-3 py-2 label-font-size" id="history_tab"
aria-expanded="false">
<i class="mdi mdi-history"></i>
<span class="d-none d-sm-inline-block">History</span>
</a>
</li>
<?php if (in_array($ticket_data['ticket_type_id'], [1, 2, 3, 4, 5, 6, 7])) { ?>
<li class="nav-item">
<a href="#autoQuery-tab" data-toggle="tab" class="nav-link px-3 py-2 label-font-size" id="auto_query_tab"
aria-expanded="false">
<i class="mdi mdi-robot mr-1"></i>
<span class="d-none d-sm-inline-block">Auto Query Content</span>
</a>
</li>
<?php } ?>
<li class="nav-item">
<a href="#uploads-tab" data-toggle="tab" class="nav-link px-3 py-2 label-font-size" id="uploads_tab"
aria-expanded="false">
<i class="mdi mdi-file mr-1"></i>
<span class="d-none d-sm-inline-block">Claim Files</span>
</a>
</li>
<?php if (in_array($ticket_data['ticket_type_id'], [1, 2, 3, 4, 5, 6, 7])) { ?>
<li class="nav-item">
<a href="#viewpolicyterms-tab" data-toggle="tab" class="nav-link px-3 py-2 label-font-size" id="viewpolicyterms_tab"
aria-expanded="false">
<i class="mdi mdi-eye mr-1"></i>
<span class="d-none d-sm-inline-block">View Policy Terms</span>
</a>
</li>
<?php } ?>
<li class="nav-item d-flex justify-content-center align-items-center">
<!-- Right Arrow -->
<button class="scroll-btn right-btn" type="button">&#9654;</button>
</li>
</ul>
</div>
<!-- Tab Content -->
<div class="tab-content">
<div class="tab-pane fade show active" id="general-tab">
<?php
<?php
if ($ticket_data['ticket_type_id'] == 1) {
include('ticket_form_gmc.php');
} else if($ticket_data['ticket_type_id'] == 8){
include('ticket_form_motor.php');
include('ticket_form_gmc.php');
} else if ($ticket_data['ticket_type_id'] == 8) {
include('ticket_form_motor.php');
} else {
include('ticket_form_gpa.php');
}
?>
include('ticket_form_gpa.php');
}
?>
</div>
<div class="tab-pane fade" id="reply-tab">
<?php include('ticket_reply.php'); ?>
@ -104,18 +139,18 @@
<div class="tab-pane fade" id="history-tab">
<?php include('ticket_history.php'); ?>
</div>
<?php if(in_array($ticket_data['ticket_type_id'], [1,2,3,4,5,6,7])){ ?>
<div class="tab-pane fade" id="autoQuery-tab">
<?php include('ticket_auto_query.php'); ?>
</div>
<?php if (in_array($ticket_data['ticket_type_id'], [1, 2, 3, 4, 5, 6, 7])) { ?>
<div class="tab-pane fade" id="autoQuery-tab">
<?php include('ticket_auto_query.php'); ?>
</div>
<?php } ?>
<div class="tab-pane fade" id="uploads-tab">
<?php include('claim_files_upload.php'); ?>
</div>
<?php if(in_array($ticket_data['ticket_type_id'], [1,2,3,4,5,6,7])){ ?>
<div class="tab-pane fade" id="viewpolicyterms-tab">
<?php include('view_policy_terms.php'); ?>
</div>
<?php if (in_array($ticket_data['ticket_type_id'], [1, 2, 3, 4, 5, 6, 7])) { ?>
<div class="tab-pane fade" id="viewpolicyterms-tab">
<?php include('view_policy_terms.php'); ?>
</div>
<?php } ?>
</div>
</div>
@ -137,18 +172,18 @@
<select class="form-control" onchange="setMemberData(this)">
<option value="0">Select Insured Member</option>
<?php if (!empty($member_data)) : ?>
<?php foreach ($member_data as $value) : ?>
<option value="<?= isset($value['emp_code']) ? $value['emp_code'] : '' ?>"
data-empID="<?= isset($value['emp_id']) ? $value['emp_id'] : '' ?>"
data-empName="<?= isset($value['emp_name']) ? htmlspecialchars($value['emp_name'], ENT_QUOTES, 'UTF-8') : '' ?>"
data-policyNo="<?= isset($value['policy_no']) ? $value['policy_no'] : '' ?>"
data-tpaNo="<?= isset($value['tpa_no']) ? $value['tpa_no'] : '' ?>"
data-relationship="<?= isset($value['emp_relationship']) ? htmlspecialchars($value['emp_relationship'], ENT_QUOTES, 'UTF-8') : '' ?>">
<?= isset($value['emp_name']) && isset($value['emp_relationship'])
? htmlspecialchars($value['emp_name'] . ' - ' . $value['emp_relationship'], ENT_QUOTES, 'UTF-8')
: 'Unknown Member' ?>
</option>
<?php endforeach; ?>
<?php foreach ($member_data as $value) : ?>
<option value="<?= isset($value['emp_code']) ? $value['emp_code'] : '' ?>"
data-empID="<?= isset($value['emp_id']) ? $value['emp_id'] : '' ?>"
data-empName="<?= isset($value['emp_name']) ? htmlspecialchars($value['emp_name'], ENT_QUOTES, 'UTF-8') : '' ?>"
data-policyNo="<?= isset($value['policy_no']) ? $value['policy_no'] : '' ?>"
data-tpaNo="<?= isset($value['tpa_no']) ? $value['tpa_no'] : '' ?>"
data-relationship="<?= isset($value['emp_relationship']) ? htmlspecialchars($value['emp_relationship'], ENT_QUOTES, 'UTF-8') : '' ?>">
<?= isset($value['emp_name']) && isset($value['emp_relationship'])
? htmlspecialchars($value['emp_name'] . ' - ' . $value['emp_relationship'], ENT_QUOTES, 'UTF-8')
: 'Unknown Member' ?>
</option>
<?php endforeach; ?>
<?php endif; ?>
</select>
@ -166,153 +201,153 @@
<?php include("ticket_conversation.php") ?>
</div>
<?php //include("ticket_form_handler.php") ?>
<?php //include("ticket_form_handler.php")
?>
<script>
function submitClaimForm(event, form) {
function submitClaimForm(event, form) {
event.preventDefault();
event.preventDefault();
var isValid = $('#ticket_form_data').parsley().validate();
var isValid = $('#ticket_form_data').parsley().validate();
if (!isValid) {
toastr.warning('Form validation failed. Please check the required fields.', 'WARNING');
return false;
}
const formAction = '<?= base_url("ticket/update"); ?>';
// Show loader
$('.loader').fadeIn();
$('.loader-mask').fadeIn();
// Collect IDs and form data
const formData = new FormData(form);
// AJAX request
$.ajax({
data: formData,
url: formAction,
type: "POST",
dataType: 'json',
processData: false,
contentType: false,
success: function(response) {
// Hide loader
console.log('Form submitted response:', response);
if (response.status === true) {
location.reload();
toastr.success(response.message, 'SUCCESS');
} else {
toastr.error(response.message, 'ERROR');
}
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
},
error: function(xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
// Hide loader
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
}
});
}
function openFetchEmpDataodal() {
var myModal = new bootstrap.Modal(document.getElementById('member_data_modal'));
myModal.show();
}
function setMemberData(input) {is_head_approved
var selectedOption = $(input).find(':selected');
// Retrieve the data-* attributes
var empId = selectedOption.data('empid');
var empName = selectedOption.data('empname');
var policyNo = selectedOption.data('policyno');
var tpaNo = selectedOption.data('tpano');
var relationship = selectedOption.data('relationship');
$('#tpa_no').val(tpaNo);
$('#insured_emp_id').val(empId);
$('#insured_name').val(empName);
$('#policy_no').val(policyNo);
$('#relationship option').each(function() {
if ($(this).text() === relationship) {
$(this).prop('selected', true);
}
});
}
function showConfirmationModal(event) {
Swal.fire({
title: "Approve Claim Rejection",
// text: "Do you want to save this?",
icon: "warning",
showCancelButton: true,
showDenyButton: true,
confirmButtonColor: "#3085d6",
cancelButtonColor: "#6c757d",
denyButtonColor: "#d33",
confirmButtonText: "Approve",
denyButtonText: "Reject",
cancelButtonText: "Cancel"
}).then((result) => {
if (result.isConfirmed) {
$('#is_head_approved').val(1);
console.log($('#ticket_form_data')[0])
submitClaimForm(event, $('#ticket_form_data')[0]); // Fixed selector
} else if (result.isDenied) {
// Show second Swal for rejection reason
Swal.fire({
title: "Rejection Reason",
text: "Please provide a reason for rejection",
input: "textarea",
inputPlaceholder: "Enter your reason here...",
icon: "info",
showCancelButton: true,
confirmButtonColor: "#3085d6",
cancelButtonColor: "#6c757d",
confirmButtonText: "Submit",
cancelButtonText: "Back"
}).then((reasonResult) => {
if (reasonResult.isConfirmed) {
// Check if reason is not empty
if (reasonResult.value && reasonResult.value.trim() !== "") {
$('#is_head_approved').val(2);
$('#rejection_reason').val(reasonResult.value.trim());
console.log($('#ticket_form_data')[0]);
$('#head_rejection_reason').val(reasonResult.value.trim());
submitClaimForm(event, $('#ticket_form_data')[0]);
} else {
// Alert if reason is empty
Swal.fire({
title: "Error",
text: "Rejection reason cannot be empty",
icon: "error",
confirmButtonColor: "#3085d6"
}).then(() => {
// Go back to the rejection reason dialog
showConfirmationModal(event);
});
}
} else {
// If canceled, go back to first Swal
showConfirmationModal(event);
}
});
} else {
$('#is_head_approved').val(0);
if (!isValid) {
toastr.warning('Form validation failed. Please check the required fields.', 'WARNING');
return false;
}
});
}
const formAction = '<?= base_url("ticket/update"); ?>';
// Show loader
$('.loader').fadeIn();
$('.loader-mask').fadeIn();
// Collect IDs and form data
const formData = new FormData(form);
// AJAX request
$.ajax({
data: formData,
url: formAction,
type: "POST",
dataType: 'json',
processData: false,
contentType: false,
success: function(response) {
// Hide loader
console.log('Form submitted response:', response);
if (response.status === true) {
location.reload();
toastr.success(response.message, 'SUCCESS');
} else {
toastr.error(response.message, 'ERROR');
}
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
},
error: function(xhr, status, error) {
console.error(xhr.responseText);
console.error(status, error);
// Hide loader
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
}
});
}
function openFetchEmpDataodal() {
var myModal = new bootstrap.Modal(document.getElementById('member_data_modal'));
myModal.show();
}
function setMemberData(input) {
is_head_approved
var selectedOption = $(input).find(':selected');
// Retrieve the data-* attributes
var empId = selectedOption.data('empid');
var empName = selectedOption.data('empname');
var policyNo = selectedOption.data('policyno');
var tpaNo = selectedOption.data('tpano');
var relationship = selectedOption.data('relationship');
$('#tpa_no').val(tpaNo);
$('#insured_emp_id').val(empId);
$('#insured_name').val(empName);
$('#policy_no').val(policyNo);
$('#relationship option').each(function() {
if ($(this).text() === relationship) {
$(this).prop('selected', true);
}
});
}
function showConfirmationModal(event) {
Swal.fire({
title: "Approve Claim Rejection",
// text: "Do you want to save this?",
icon: "warning",
showCancelButton: true,
showDenyButton: true,
confirmButtonColor: "#3085d6",
cancelButtonColor: "#6c757d",
denyButtonColor: "#d33",
confirmButtonText: "Approve",
denyButtonText: "Reject",
cancelButtonText: "Cancel"
}).then((result) => {
if (result.isConfirmed) {
$('#is_head_approved').val(1);
console.log($('#ticket_form_data')[0])
submitClaimForm(event, $('#ticket_form_data')[0]); // Fixed selector
} else if (result.isDenied) {
// Show second Swal for rejection reason
Swal.fire({
title: "Rejection Reason",
text: "Please provide a reason for rejection",
input: "textarea",
inputPlaceholder: "Enter your reason here...",
icon: "info",
showCancelButton: true,
confirmButtonColor: "#3085d6",
cancelButtonColor: "#6c757d",
confirmButtonText: "Submit",
cancelButtonText: "Back"
}).then((reasonResult) => {
if (reasonResult.isConfirmed) {
// Check if reason is not empty
if (reasonResult.value && reasonResult.value.trim() !== "") {
$('#is_head_approved').val(2);
$('#rejection_reason').val(reasonResult.value.trim());
console.log($('#ticket_form_data')[0]);
$('#head_rejection_reason').val(reasonResult.value.trim());
submitClaimForm(event, $('#ticket_form_data')[0]);
} else {
// Alert if reason is empty
Swal.fire({
title: "Error",
text: "Rejection reason cannot be empty",
icon: "error",
confirmButtonColor: "#3085d6"
}).then(() => {
// Go back to the rejection reason dialog
showConfirmationModal(event);
});
}
} else {
// If canceled, go back to first Swal
showConfirmationModal(event);
}
});
} else {
$('#is_head_approved').val(0);
return false;
}
});
}
</script>

View File

@ -63,10 +63,10 @@ table.dataTable tbody td {
<?php if (isset($feedback_data)) { ?>
<?php foreach($feedback_data as $data){ ?>
<tr onclick="viewFeedbackForm(<?php echo $data['id']; ?>)">
<td><?php echo $data['claim_number']; ?></td>
<td><?php echo $data['emp_code']; ?></td>
<td><?php echo $data['emp_name']; ?></td>
<td><?php echo $data['client_name']; ?></td>
<td><?php echo $data['claim_number'] ?: 'N/A'; ?></td>
<td><?php echo $data['emp_code'] ?: 'N/A'; ?></td>
<td><?php echo $data['emp_name'] ?: 'N/A'; ?></td>
<td><?php echo $data['client_name'] ?: 'N/A'; ?></td>
</tr>
<?php } ?>
<?php } ?>
@ -98,26 +98,54 @@ $(document).ready(function() {
dom: "<'row'<'col-sm-6'f><'col-sm-6 text-right'B>>" + // Filter left, buttons right
"<'row'<'col-sm-12'tr>>" +
"<'row'<'col-sm-5'i><'col-sm-7'p>>", // Pagination at the bottom, without page length selector
buttons: [{
extend: 'csv',
text: 'CSV',
title: 'Claim-List',
},
{
extend: 'excel',
text: 'Excel',
title: 'claim-List',
exportOptions: {
orthogonal: 'sort'
},
},
],
// buttons: [{
// extend: 'csv',
// text: 'CSV',
// title: 'Claim-List',
// },
// {
// extend: 'excel',
// text: 'Excel',
// title: 'claim-List',
// exportOptions: {
// orthogonal: 'sort'
// },
// },
// ],
buttons: [
{
extend: 'collection',
text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary ',
buttons: [
{
extend: 'csv',
text: '<i class="mdi mdi-file-delimited " ></i><span class=" btn-custom"> CSV </span>',
className: 'app-btn-primary ',
title: 'Claim-List',
},
{
extend: 'excel',
text: '<i class="mdi mdi-file-excel " ></i><span class=" btn-custom"> EXCEL </span>',
exportOptions: {
orthogonal: 'sort'
},
title: 'claim-List',
className: 'app-btn-primary ',
}
]
}
],
language: {
search: "_INPUT_",
searchPlaceholder: "Search..."
search: `
<div class="datatable-search-wrapper">
_INPUT_
<i class="mdi mdi-magnify datatable-search-icon"></i>
</div>`,
searchPlaceholder: "Search"
},
paging: true, // Enable pagination
pageLength: 25, // Set default number of rows per page (optional)
pageLength: 10, // Set default number of rows per page (optional)
ordering: false,
});
} else {

View File

@ -24,425 +24,453 @@
font-size: 24px;
}
.label-font-size{
font-size:0.875rem;
.label-font-size {
font-size: 0.875rem;
}
</style>
<div class="row">
<div class="col-12">
<div class="<?= !isset($ticket_data) ? "card" : "" ?>" style="margin-right: 23px;">
<div class="card-body">
<?php if (!isset($ticket_data)) { ?>
<!-- Header Section -->
<div class="row mb-3">
<div class="col-6 d-flex align-items-center">
<h4 class="mb-0">Claim GMC</h4>
<div class="container-fluid-min">
<div class="row">
<div class="col-12">
<div class="<?= !isset($ticket_data) ? "card" : "" ?>" >
<div class="card-body">
<?php if (!isset($ticket_data)) { ?>
<!-- Header Section -->
<div class="row mb-3">
<div class="col-6 d-flex align-items-center">
<h4 class="mb-0">Claim GMC</h4>
</div>
<div class="col-6 text-right">
<a href="<?= base_url('ticket/list'); ?>" aria-label="Back to ticket list">
<i class="mdi mdi-arrow-left" style="font-size: 17px;"></i>
</a>
</div>
</div>
<div class="col-6 text-right">
<a href="<?= base_url('ticket/list'); ?>" aria-label="Back to ticket list">
<i class="mdi mdi-arrow-left" style="font-size: 17px;"></i>
</a>
</div>
</div>
<?php } ?>
<form role="form" class="parsley-examples" method="post" id="ticket_form_data" onsubmit="submitClaimForm(event, this)" enctype="multipart/form-data">
<?php } ?>
<form role="form" class="parsley-examples" method="post" id="ticket_form_data" onsubmit="submitClaimForm(event, this)" enctype="multipart/form-data">
<input type="hidden" id="ticket_type_id" name="ticket_type_id" value="1">
<input type="hidden" id="ticket_master_id" name="ticket_master_id" value="<?= isset($ticket_data['id']) ? $ticket_data['id'] : '' ?>">
<input type="hidden" id="is_head_approved" name="is_head_approved" value="<?= isset($ticket_data['is_head_approved']) ? $ticket_data['is_head_approved'] : '' ?>">
<input type="hidden" id="extra_fields_array_for_validate" name="extra_fields_array_for_validate" value='<?= isset($extra_fields_array_for_validate) && !empty($extra_fields_array_for_validate) ? json_encode($extra_fields_array_for_validate) : "[]" ?>'>
<input type="hidden" id="head_rejection_reason" name="head_rejection_reason">
<input type="hidden" id="ticket_type_id" name="ticket_type_id" value="1">
<input type="hidden" id="ticket_master_id" name="ticket_master_id" value="<?= isset($ticket_data['id']) ? $ticket_data['id'] : '' ?>">
<input type="hidden" id="is_head_approved" name="is_head_approved" value="<?= isset($ticket_data['is_head_approved']) ? $ticket_data['is_head_approved'] : '' ?>">
<input type="hidden" id="extra_fields_array_for_validate" name="extra_fields_array_for_validate" value='<?= isset($extra_fields_array_for_validate) && !empty($extra_fields_array_for_validate) ? json_encode($extra_fields_array_for_validate) : "[]" ?>'>
<input type="hidden" id="head_rejection_reason" name="head_rejection_reason">
<div class="form-group">
<h4>Employee Details</h4>
<hr>
<div id="accordion1" class="mb-3">
<div class="card mb-1">
<h4 class="m-1">
Employee details
<a id="toggleIcon1" class="text-dark float-right" data-toggle="collapse" href="#collapseOne" aria-expanded="true">
<i id="icon1" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</h4>
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion1">
<div class="card-body">
<!-- first_data_points -->
<div class="form-row">
<!-- first_data_points -->
<div class="form-row">
<div class="form-group col-md-3">
<label for="emp_code" class="label-font-size">Employee ID <span class="text-danger">*</span> &nbsp; &nbsp; <i class="mdi mdi-magnify text-danger"
aria-hidden="true" onclick="openFetchEmpDataodal(this)"></i> <span
class="text-danger"></span></label>
<input type="text" class="form-control" id="emp_code" placeholder="Enter Employee ID"
value="<?= isset($ticket_data['emp_code']) ? $ticket_data['emp_code'] : '' ?>"
name="emp_code" required>
</div>
<div class="form-group col-md-3">
<label for="emp_code" class="label-font-size">Employee ID <span class="text-danger">*</span> &nbsp; &nbsp; <i class="mdi mdi-magnify text-danger"
aria-hidden="true" onclick="openFetchEmpDataodal(this)"></i> <span
class="text-danger"></span></label>
<input type="text" class="form-control" id="emp_code" placeholder="Enter Employee ID"
value="<?= isset($ticket_data['emp_code']) ? $ticket_data['emp_code'] : '' ?>"
name="emp_code" required>
</div>
<div class="form-group col-md-3">
<label for="emp_name" class="label-font-size">Employee Name <span class="text-danger">*</span></label>
<input type=hidden id="emp_id" name="emp_id" value="<?= isset($ticket_data['emp_id']) ? $ticket_data['emp_id'] : '' ?>">
<input type="text" class="form-control" id="emp_name" placeholder="Enter Employee Name"
value="<?= isset($ticket_data['emp_name']) ? $ticket_data['emp_name'] : '' ?>"
name="emp_name" required>
</div>
<div class="form-group col-md-3">
<label for="emp_name" class="label-font-size">Employee Name <span class="text-danger">*</span></label>
<input type=hidden id="emp_id" name="emp_id" value="<?= isset($ticket_data['emp_id']) ? $ticket_data['emp_id'] : '' ?>">
<input type="text" class="form-control" id="emp_name" placeholder="Enter Employee Name"
value="<?= isset($ticket_data['emp_name']) ? $ticket_data['emp_name'] : '' ?>"
name="emp_name" required>
</div>
<div class="form-group col-md-3">
<label for="insured_name" class="label-font-size"> Insured Name <span class="text-danger">*</span></label>
<input type=hidden id="insured_emp_id" name="insured_emp_id" value="<?= isset($ticket_data['insured_emp_id']) ? $ticket_data['insured_emp_id'] : '' ?>">
<input class="form-control" id="insured_name" name="insured_name" value="<?= isset($ticket_data['insured_name']) ? $ticket_data['insured_name'] : '' ?>" required>
</div>
<div class="form-group col-md-3">
<label for="insured_name" class="label-font-size"> Insured Name <span class="text-danger">*</span></label>
<input type=hidden id="insured_emp_id" name="insured_emp_id" value="<?= isset($ticket_data['insured_emp_id']) ? $ticket_data['insured_emp_id'] : '' ?>">
<input class="form-control" id="insured_name" name="insured_name" value="<?= isset($ticket_data['insured_name']) ? $ticket_data['insured_name'] : '' ?>" required>
</div>
<div class="form-group col-md-3">
<label for="relationship" class="label-font-size"> Relationship <span class="text-danger">*</span></label>
<select class="form-control" id="relationship" name="relationship" required>
<option value="">Select Relationship</option>
<?php
if (isset($relationshipType) && count($relationshipType)) {
foreach ($relationshipType as $key => $value) {
$selected = (isset($ticket_data) && $ticket_data['relationship'] == $key) ? 'selected' : '';
echo "<option value='$key' $selected>$value</option>";
}
}
?>
</select>
</div>
<div class="form-group col-md-3">
<label for="relationship" class="label-font-size"> Relationship <span class="text-danger">*</span></label>
<select class="form-control" id="relationship" name="relationship" required>
<option value="">Select Relationship</option>
<?php
if (isset($relationshipType) && count($relationshipType)) {
foreach ($relationshipType as $key => $value) {
$selected = (isset($ticket_data) && $ticket_data['relationship'] == $key) ? 'selected' : '';
echo "<option value='$key' $selected>$value</option>";
}
}
?>
</select>
</div>
<div class="form-group col-md-3">
<label for="policy_no" class="label-font-size">Policy No <span class="text-danger"></span></label>
<input type="text" class="form-control" id="policy_no"
value="<?= isset($ticket_data['policy_no']) ? $ticket_data['policy_no'] : '' ?>"
name="policy_no" placeholder="Policy Number">
</div>
<div class="form-group col-md-3">
<label for="tpa_no" class="label-font-size">TPA ID <span class="text-danger"></span></label>
<input type="text" class="form-control" id="tpa_no" placeholder="Enter TPA ID"
value="<?= isset($ticket_data['tpa_no']) ? $ticket_data['tpa_no'] : '' ?>"
name="tpa_no">
</div>
<div class="form-group col-md-3">
<label for="policy_no" class="label-font-size">Policy No <span class="text-danger"></span></label>
<input type="text" class="form-control" id="policy_no"
value="<?= isset($ticket_data['policy_no']) ? $ticket_data['policy_no'] : '' ?>"
name="policy_no" placeholder="Policy Number">
</div>
<div class="form-group col-md-3">
<label for="tpa_no" class="label-font-size">TPA ID <span class="text-danger"></span></label>
<input type="text" class="form-control" id="tpa_no" placeholder="Enter TPA ID"
value="<?= isset($ticket_data['tpa_no']) ? $ticket_data['tpa_no'] : '' ?>"
name="tpa_no">
</div>
<div class="form-group col-md-3">
<label for="emp_mobile" class="label-font-size">Employee Mobile No <span class="text-danger">*</span></label>
<input type="text" class="form-control" id="emp_mobile" placeholder="Enter EMP Mobile"
value="<?= isset($ticket_data['emp_mobile']) ? $ticket_data['emp_mobile'] : '' ?>"
name="emp_mobile" required>
</div>
<div class="form-group col-md-3">
<label for="emp_mobile" class="label-font-size">Employee Mobile No <span class="text-danger">*</span></label>
<input type="text" class="form-control" id="emp_mobile" placeholder="Enter EMP Mobile"
value="<?= isset($ticket_data['emp_mobile']) ? $ticket_data['emp_mobile'] : '' ?>"
name="emp_mobile" required>
</div>
<div class="form-group col-md-3">
<label for="emp_mail" class="label-font-size">Employee Mail ID <span class="text-danger">*</span></label>
<input type="text" class="form-control" id="emp_mail" placeholder="Enter EMP Mail"
value="<?= isset($ticket_data['emp_mail']) ? $ticket_data['emp_mail'] : '' ?>"
name="emp_mail" required>
</div>
<div class="form-group col-md-3">
<label for="emp_mail" class="label-font-size">Employee Mail ID <span class="text-danger">*</span></label>
<input type="text" class="form-control" id="emp_mail" placeholder="Enter EMP Mail"
value="<?= isset($ticket_data['emp_mail']) ? $ticket_data['emp_mail'] : '' ?>"
name="emp_mail" required>
</div>
<div class="form-group col-md-3">
<label for="emp_personal_mail" class="label-font-size">Employee Personal Mail ID</label>
<input type="text" class="form-control" id="emp_personal_mail" placeholder="Enter EMP Personal Mail"
value="<?= isset($ticket_data['emp_personal_mail']) ? $ticket_data['emp_personal_mail'] : '' ?>"
name="emp_personal_mail">
</div>
<div class="form-group col-md-3">
<label for="emp_personal_mail" class="label-font-size">Employee Personal Mail ID</label>
<input type="text" class="form-control" id="emp_personal_mail" placeholder="Enter EMP Personal Mail"
value="<?= isset($ticket_data['emp_personal_mail']) ? $ticket_data['emp_personal_mail'] : '' ?>"
name="emp_personal_mail">
</div>
<div class="form-group col-md-3">
<label for="client_name" class="label-font-size">Corporate Name <span class="text-danger">*</span></label>
<input type="hidden" id="client_id" name="client_id" value="<?= isset($ticket_data['client_id']) ? $ticket_data['client_id'] : '' ?>">
<input type="text" class="form-control" id="client_name" placeholder="Client" value="<?= isset($ticket_data['client_name']) ? $ticket_data['client_name'] : '' ?>" readonly required>
</div>
<div class="form-group col-md-3">
<label for="client_name" class="label-font-size">Corporate Name <span class="text-danger">*</span></label>
<input type="hidden" id="client_id" name="client_id" value="<?= isset($ticket_data['client_id']) ? $ticket_data['client_id'] : '' ?>">
<input type="text" class="form-control" id="client_name" placeholder="Client" value="<?= isset($ticket_data['client_name']) ? $ticket_data['client_name'] : '' ?>" readonly required>
</div>
<div class="form-group col-md-3">
<label for="insurer_id" class="label-font-size">Insurer <span class="text-danger">*</span></label>
<input type=hidden id="insurer_id" name="insurer_id" value="<?= isset($ticket_data['insurer_id']) ? $ticket_data['insurer_id'] : '' ?>">
<input type=text class="form-control" id="insurer_name" placeholder="Insurer" value="<?= isset($ticket_data['insurer_name']) ? $ticket_data['insurer_name'] : '' ?>" readonly required>
</div>
<input type="hidden" id="empIDHidden" onchange="getClientPolicy()">
<div class="col-md-3">
<div class="form-group">
<label class="label-font-size">Policy <span class="text-danger">*</span></label>
<select id="emp_client_policy" name="client_policy_id"
class="form-control custom-select" required onchange="setMinDateDOA(this.value); setInsurerAndTPAData(this)">
<?php if (!empty($ticket_data['client_policy_id'])) { ?>
<option value="<?= $ticket_data['client_policy_id'] ?>"><?= $ticket_data['client_policy_id_text'] ?></option>
<?php } else { ?>
<option value="">Policy</option>
<?php } ?>
</select>
<div class="form-group col-md-3">
<label for="insurer_id" class="label-font-size">Insurer <span class="text-danger">*</span></label>
<input type=hidden id="insurer_id" name="insurer_id" value="<?= isset($ticket_data['insurer_id']) ? $ticket_data['insurer_id'] : '' ?>">
<input type=text class="form-control" id="insurer_name" placeholder="Insurer" value="<?= isset($ticket_data['insurer_name']) ? $ticket_data['insurer_name'] : '' ?>" readonly required>
</div>
<input type="hidden" id="empIDHidden" onchange="getClientPolicy()">
<div class="col-md-3">
<div class="form-group">
<label class="label-font-size">Policy <span class="text-danger">*</span></label>
<select id="emp_client_policy" name="client_policy_id"
class="form-control custom-select" required onchange="setMinDateDOA(this.value); setInsurerAndTPAData(this)">
<?php if (!empty($ticket_data['client_policy_id'])) { ?>
<option value="<?= $ticket_data['client_policy_id'] ?>"><?= $ticket_data['client_policy_id_text'] ?></option>
<?php } else { ?>
<option value="">Policy</option>
<?php } ?>
</select>
</div>
</div>
<div class="form-group col-md-3">
<label class="label-font-size" for="tpa_name">TPA <span class="text-danger"></span></label>
<input type=hidden id="tpa_id" name="tpa_id" value="<?= isset($ticket_data['tpa_id']) ? $ticket_data['tpa_id'] : '' ?>">
<input type=text class="form-control" id="tpa_name" placeholder="TPA" value="<?= isset($ticket_data['tpa_name']) ? $ticket_data['tpa_name'] : '' ?>" readonly>
</div>
<div class="form-group col-md-3">
<label class="label-font-size" for="acm_id">Account Manager <span class="text-danger">*</span></label>
<select class="form-control" id="acm_id" name="acm_id" required>
<!-- <option value="0">Select Account Manager</option> -->
<?php
if (isset($acms) && count($acms)) {
foreach ($acms as $key => $value) {
$selected = (isset($ticket_data) && $ticket_data['acm_id'] == $value['id']) ? 'selected' : '';
echo "<option value=" . $value['id'] . " $selected >" . $value['first_name'] . "</option>";
}
}
?>
</select>
</div>
</div>
<!-- end first_data_points -->
<!-- </div> -->
</div>
</div>
</div>
<div class="form-group col-md-3">
<label class="label-font-size" for="tpa_name">TPA <span class="text-danger"></span></label>
<input type=hidden id="tpa_id" name="tpa_id" value="<?= isset($ticket_data['tpa_id']) ? $ticket_data['tpa_id'] : '' ?>">
<input type=text class="form-control" id="tpa_name" placeholder="TPA" value="<?= isset($ticket_data['tpa_name']) ? $ticket_data['tpa_name'] : '' ?>" readonly>
</div>
<div class="form-group col-md-3">
<label class="label-font-size" for="acm_id">Account Manager <span class="text-danger">*</span></label>
<select class="form-control" id="acm_id" name="acm_id" required>
<!-- <option value="0">Select Account Manager</option> -->
<?php
if (isset($acms) && count($acms)) {
foreach ($acms as $key => $value) {
$selected = (isset($ticket_data) && $ticket_data['acm_id'] == $value['id']) ? 'selected' : '';
echo "<option value=" . $value['id'] . " $selected >" . $value['first_name'] . "</option>";
}
}
?>
</select>
</div>
</div>
<!-- end first_data_points -->
<br><br>
<div style="display: flex; align-items: center; gap: 10px;">
<h5 style="margin: 0;">
Claim Details
<i id="infoIcon" class="mdi mdi-information-outline info-icon" title="Click for more details" style="margin-left: 5px;"></i>
<?= isset($ticket_data['claim_number']) && !empty($ticket_data['claim_number']) ? '( Claim No : ' . $ticket_data['claim_number'] . ' )' : '' ?>
</h5>
</div>
<hr>
<div id="accordion2" class="mb-3">
<div class="card mb-1">
<h4 class="m-1">
Claim Details
<i id="infoIcon" class="mdi mdi-information-outline info-icon" title="Click for more details" style="margin-left: 5px;"></i>
<?= isset($ticket_data['claim_number']) && !empty($ticket_data['claim_number']) ? '( Claim No : ' . $ticket_data['claim_number'] . ' )' : '' ?>
<!-- second_data_points -->
<div class="form-row">
<div class="form-group col-md-3">
<label class="label-font-size" for="claim_status">Status <span class="text-danger">*</span></label>
<select class="form-control" id="claim_status_id" name="claim_status_id" required>
<!-- <option value="0">Select status</option> -->
<?php
if (isset($claim_status) && count($claim_status)) {
foreach ($claim_status as $key => $value) {
$selected = (isset($ticket_data) && $ticket_data['claim_status_id'] == $value['id']) ? 'selected' : '';
echo "<option value=" . $value['id'] . " $selected>" . $value['claim_status'] . "</option>";
}
}
?>
</select>
<a id="toggleIcon1" class="text-dark float-right" data-toggle="collapse" href="#collapseTwo" aria-expanded="true">
<i id="icon1" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</h4>
<div id="collapseTwo" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion2">
<div class="card-body">
<!-- second_data_points -->
<div class="form-row">
<div class="form-group col-md-3">
<label class="label-font-size" for="claim_status">Status <span class="text-danger">*</span></label>
<select class="form-control" id="claim_status_id" name="claim_status_id" required>
<!-- <option value="0">Select status</option> -->
<?php
if (isset($claim_status) && count($claim_status)) {
foreach ($claim_status as $key => $value) {
$selected = (isset($ticket_data) && $ticket_data['claim_status_id'] == $value['id']) ? 'selected' : '';
echo "<option value=" . $value['id'] . " $selected>" . $value['claim_status'] . "</option>";
}
}
?>
</select>
</div>
<div class="form-group col-md-3">
<label class="label-font-size" for="priority">Priority <span class="text-danger">*</span></label>
<select class="form-control" id="priority" name="priority" required>
<!-- <option value="0">Select Priority</option> -->
<?php
if (isset($priorityType) && count($priorityType)) {
foreach ($priorityType as $key => $value) {
$selected = (isset($ticket_data) && $ticket_data['priority'] == $key) ? 'selected' : '';
echo "<option value=" . $key . " $selected>" . $value . "</option>";
}
}
?>
</select>
</div>
<div class="form-group col-md-3">
<label class="label-font-size" for="mode_of_intimation"> Mode of Submission <span
class="text-danger">*</span></label>
<select class="form-control" id="mode_of_intimation" name="mode_of_intimation" required>
<!-- <option value="0">Select Mode</option> -->
<?php
if (isset($modeOFIntimate) && count($modeOFIntimate)) {
foreach ($modeOFIntimate as $key => $value) {
$selected = (isset($ticket_data) && $ticket_data['mode_of_intimation'] == $key) ? 'selected' : '';
echo "<option value='" . $key . "' $selected>" . $value . "</option>";
}
}
?>
</select>
</div>
<div class="form-group col-md-3">
<label class="label-font-size" for="claim_type"> Claim Type <span class="text-danger">*</span></label>
<select class="form-control" id="claim_type" name="claim_type" required>
<!-- <option value="0">Select claim Type</option> -->
<?php
if (isset($claim_type) && count($claim_type)) {
foreach ($claim_type as $key => $value) {
$selected = (isset($ticket_data) && $ticket_data['claim_type'] == $key) ? 'selected' : '';
echo "<option value='" . $key . "' $selected>" . $value . "</option>";
}
}
?>
</select>
</div>
<div class="form-group col-md-3">
<label class="label-font-size" for="hospital_name">Hospital Name <span class="text-danger">*</span></label>
<input type="text" class="form-control" id="hospital_name"
placeholder="Enter Hospital Name"
value="<?= isset($ticket_data['hospital_name']) ? $ticket_data['hospital_name'] : '' ?>"
name="hospital_name" required>
</div>
<div class="form-group col-md-3">
<label class="label-font-size" for="doa">DOA <span class="text-danger">*</span></label>
<input type="text" class="form-control" id="doa" placeholder="Enter DOA"
value="<?= isset($ticket_data['doa']) ? $ticket_data['doa'] : '' ?>"
name="doa" required>
</div>
<div class="form-group col-md-3">
<label class="label-font-size" for="dod">DOD <span class="text-danger">*</span></label>
<input type="text" class="form-control" id="dod" placeholder="Enter DOD"
value="<?= isset($ticket_data['dod']) ? $ticket_data['dod'] : '' ?>" name="dod" required>
</div>
<div class="form-group col-md-3">
<label class="label-font-size" for="claim_amount">Claim Amount <span class="text-danger">*</span></label>
<input type="text" class="form-control" id="claim_amount"
placeholder="Enter Claim Amount"
value="<?= isset($ticket_data['claim_amount']) ? $ticket_data['claim_amount'] : '' ?>"
name="claim_amount" required>
</div>
<div class="form-group col-md-3">
<label class="label-font-size" id="pod_no_label_1" for="pod_no">POD No with Courier Name <span id="pod_no_label_1_span" class="text-danger"></span></label>
<input type="text" class="form-control" id="pod_no" placeholder="Enter POD NO"
value="<?= isset($ticket_data['pod_no']) ? $ticket_data['pod_no'] : '' ?>"
name="pod_no">
</div>
</div>
<!-- end second_data_points -->
</div>
</div>
</div>
<div class="form-group col-md-3">
<label class="label-font-size" for="priority">Priority <span class="text-danger">*</span></label>
<select class="form-control" id="priority" name="priority" required>
<!-- <option value="0">Select Priority</option> -->
<?php
if (isset($priorityType) && count($priorityType)) {
foreach ($priorityType as $key => $value) {
$selected = (isset($ticket_data) && $ticket_data['priority'] == $key) ? 'selected' : '';
echo "<option value=" . $key . " $selected>" . $value . "</option>";
}
}
?>
</select>
</div>
<div class="form-group col-md-3">
<label class="label-font-size" for="mode_of_intimation"> Mode of Submission <span
class="text-danger">*</span></label>
<select class="form-control" id="mode_of_intimation" name="mode_of_intimation" required>
<!-- <option value="0">Select Mode</option> -->
<?php
if (isset($modeOFIntimate) && count($modeOFIntimate)) {
foreach ($modeOFIntimate as $key => $value) {
$selected = (isset($ticket_data) && $ticket_data['mode_of_intimation'] == $key) ? 'selected' : '';
echo "<option value='" . $key . "' $selected>" . $value . "</option>";
}
}
?>
</select>
</div>
<div class="form-group col-md-3">
<label class="label-font-size" for="claim_type"> Claim Type <span class="text-danger">*</span></label>
<select class="form-control" id="claim_type" name="claim_type" required>
<!-- <option value="0">Select claim Type</option> -->
<?php
if (isset($claim_type) && count($claim_type)) {
foreach ($claim_type as $key => $value) {
$selected = (isset($ticket_data) && $ticket_data['claim_type'] == $key) ? 'selected' : '';
echo "<option value='" . $key . "' $selected>" . $value . "</option>";
}
}
?>
</select>
</div>
<div class="form-group col-md-3">
<label class="label-font-size" for="hospital_name">Hospital Name <span class="text-danger">*</span></label>
<input type="text" class="form-control" id="hospital_name"
placeholder="Enter Hospital Name"
value="<?= isset($ticket_data['hospital_name']) ? $ticket_data['hospital_name'] : '' ?>"
name="hospital_name" required>
</div>
<div class="form-group col-md-3">
<label class="label-font-size" for="doa">DOA <span class="text-danger">*</span></label>
<input type="text" class="form-control" id="doa" placeholder="Enter DOA"
value="<?= isset($ticket_data['doa']) ? $ticket_data['doa'] : '' ?>"
name="doa" required>
</div>
<div class="form-group col-md-3">
<label class="label-font-size" for="dod">DOD <span class="text-danger">*</span></label>
<input type="text" class="form-control" id="dod" placeholder="Enter DOD"
value="<?= isset($ticket_data['dod']) ? $ticket_data['dod'] : '' ?>" name="dod" required>
</div>
<div class="form-group col-md-3">
<label class="label-font-size" for="claim_amount">Claim Amount <span class="text-danger">*</span></label>
<input type="text" class="form-control" id="claim_amount"
placeholder="Enter Claim Amount"
value="<?= isset($ticket_data['claim_amount']) ? $ticket_data['claim_amount'] : '' ?>"
name="claim_amount" required>
</div>
<div class="form-group col-md-3">
<label class="label-font-size" id="pod_no_label_1" for="pod_no">POD No with Courier Name <span id="pod_no_label_1_span" class="text-danger"></span></label>
<input type="text" class="form-control" id="pod_no" placeholder="Enter POD NO"
value="<?= isset($ticket_data['pod_no']) ? $ticket_data['pod_no'] : '' ?>"
name="pod_no">
</div>
</div>
<!-- end second_data_points -->
<br><br>
<h5>Additional Details</h5>
<hr>
<!-- third_data_points -->
<div class="form-row">
<div id="accordion3" class="mb-3">
<div class="card mb-1">
<h4 class="m-1">
Additional Documents
<a id="toggleIcon1" class="text-dark float-right" data-toggle="collapse" href="#collapseThree" aria-expanded="true">
<i id="icon1" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</h4>
<div id="collapseThree" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion3">
<div class="card-body">
<!-- third_data_points -->
<div class="form-row">
<div class="form-group col-md-3 up_cnu" style="display: none;">
<label class="label-font-size" for="claim_number">Claim Number <span class="text-danger"></span></label>
<input type="text" class="form-control" id="claim_number" placeholder="Enter Claim NO"
value="<?= isset($ticket_data['claim_number']) ? $ticket_data['claim_number'] : '' ?>"
name="claim_number">
<div class="form-group col-md-3 up_cnu" style="display: none;">
<label class="label-font-size" for="claim_number">Claim Number <span class="text-danger"></span></label>
<input type="text" class="form-control" id="claim_number" placeholder="Enter Claim NO"
value="<?= isset($ticket_data['claim_number']) ? $ticket_data['claim_number'] : '' ?>"
name="claim_number">
</div>
<div class="form-group col-md-3 up_cnu" style="display: none;">
<label class="label-font-size" for="registration_date">Registration Date</label>
<input type="text" class="form-control datepicker" id="registration_date" placeholder="Select Registration Date"
value="<?= isset($ticket_data['registration_date']) ? $ticket_data['registration_date'] : '' ?>" name="registration_date">
</div>
<div class="form-group col-md-3 cda_ir" style="display: none;">
<label class="label-font-size" for="raised_date">Raised Date</label>
<input type="text" class="form-control datepicker" id="raised_date" placeholder="Select Raised Date"
value="<?= isset($ticket_data['raised_date']) ? $ticket_data['raised_date'] : '' ?>" name="raised_date">
</div>
<div class="form-group col-md-3 up_qdr" style="display: none;">
<label class="label-font-size" for="query_received_date">Query Received Date</label>
<input type="text" class="form-control datepicker" id="query_received_date" placeholder="Select Query Received Date"
value="<?= isset($ticket_data['query_received_date']) ? $ticket_data['query_received_date'] : '' ?>" name="query_received_date">
</div>
<div class="form-group col-md-3 rejected" style="display: none;">
<label class="label-font-size" for="denial_reason">Denial Reason</label>
<input type="text" class="form-control" id="denial_reason" placeholder="Enter Denial Reason"
value="<?= isset($ticket_data['denial_reason']) ? $ticket_data['denial_reason'] : '' ?>" name="denial_reason">
</div>
<div class="form-group col-md-3 rejected" style="display: none;">
<label class="label-font-size" for="denial_date">Denial Date</label>
<input type="text" class="form-control datepicker" id="denial_date" placeholder="Select Denial Date"
value="<?= isset($ticket_data['denial_date']) ? $ticket_data['denial_date'] : '' ?>" name="denial_date">
</div>
<div class="form-group col-md-3 approved" style="display: none;">
<label class="label-font-size" for="approved_amount">Approved Amount</label> #
<input type="text" class="form-control" id="approved_amount" placeholder="Enter Approved Amount"
value="<?= isset($ticket_data['approved_amount']) ? $ticket_data['approved_amount'] : '' ?>" name="approved_amount">
</div>
<div class="form-group col-md-3 approved" style="display: none;">
<label class="label-font-size" for="approved_date">Approved Date</label>
<input type="text" class="form-control datepicker" id="approved_date" placeholder="Select Approved Date"
value="<?= isset($ticket_data['approved_date']) ? $ticket_data['approved_date'] : '' ?>" name="approved_date">
</div>
<div class="form-group col-md-6 approved" style="display: none;">
<label class="label-font-size" for="approved_letter">Approved Letter</label>
<input type="text" class="form-control" id="approved_letter" placeholder="Enter Approved Letter"
value="<?= isset($ticket_data['approved_letter']) ? $ticket_data['approved_letter'] : '' ?>" name="approved_letter">
</div>
<div class="form-group col-md-6 approved" style="display: none;">
<label class="label-font-size" for="approved_description">Approved Description</label>
<input type="text" class="form-control" id="approved_description" placeholder="Enter Approved Description"
value="<?= isset($ticket_data['approved_description']) ? $ticket_data['approved_description'] : '' ?>" name="approved_description">
</div>
<div class="form-group col-md-3 settled" style="display: none;">
<label class="label-font-size" for="utr_details">UTR Details</label>
<input type="text" class="form-control" id="utr_details" placeholder="Enter UTR Details"
value="<?= isset($ticket_data['utr_details']) ? $ticket_data['utr_details'] : '' ?>" name="utr_details">
</div>
<div class="form-group col-md-3 settled" style="display: none;">
<label class="label-font-size" for="settled_date">Settled Date</label>
<input type="text" class="form-control datepicker" id="settled_date" placeholder="Select Settled Date"
value="<?= isset($ticket_data['settled_date']) ? $ticket_data['settled_date'] : '' ?>" name="settled_date">
</div>
<div class="form-group col-md-6 settled" style="display: none;">
<label class="label-font-size" for="settle_letter">Settle Letter</label>
<input type="text" class="form-control" id="settle_letter" placeholder="Enter Settle Letter"
value="<?= isset($ticket_data['settle_letter']) ? $ticket_data['settle_letter'] : '' ?>" name="settle_letter">
</div>
<div class="form-group col-md-3 payment" style="display: none;">
<label class="label-font-size" for="pay_initiate_date">Payment Initiate Date</label>
<input type="text" class="form-control datepicker" id="pay_initiate_date" placeholder="Select Payment Initiate Date"
value="<?= isset($ticket_data['pay_initiate_date']) ? $ticket_data['pay_initiate_date'] : '' ?>" name="pay_initiate_date">
</div>
<div class="form-group col-md-3 canceled" style="display: none;">
<label class="label-font-size" for="cancel_remark">Cancel Remark</label>
<textarea class="form-control" id="cancel_remark" rows="1" placeholder="Enter Cancel Remark" name="cancel_remark"><?= isset($ticket_data['cancel_remark']) ? $ticket_data['cancel_remark'] : '' ?></textarea>
</div>
<div class="form-group col-md-3 returned" style="display: none;">
<label class="label-font-size" for="return_remark">Return Remark</label>
<textarea class="form-control" id="return_remark" rows="1" placeholder="Enter Return Remark" name="return_remark"><?= isset($ticket_data['return_remark']) ? $ticket_data['return_remark'] : '' ?></textarea>
</div>
<div class="form-group col-md-6 returned" style="display: none;">
<label class="label-font-size" for="awb_no_courier_name">Return AWB No with Courier Name</label>
<input type="text" class="form-control" id="awb_no_courier_name" placeholder="eg : 0001/ST Courier"
value="<?= isset($ticket_data['awb_no_courier_name']) ? $ticket_data['awb_no_courier_name'] : '' ?>" name="awb_no_courier_name">
</div>
<div class="form-group col-md-3 non_id" style="display: none;">
<label class="label-font-size" for="non_id_reason">Non ID Reason <span id="non_id_reason_lable_id" class="text-danger"></span></label>
<select class="form-control" id="non_id_reason" name="non_id_reason">
<option value="">Select Reason</option>
<?php
if (isset($nonIDReason) && count($nonIDReason)) {
foreach ($nonIDReason as $key => $value) {
$selected = (isset($ticket_data) && $ticket_data['non_id_reason'] == $key) ? 'selected' : '';
echo "<option value='" . $key . "' $selected>" . $value . "</option>";
}
}
?>
</select>
</div>
</div>
<!-- end third_data_points -->
</div>
</div>
</div>
<div class="form-group col-md-3 up_cnu" style="display: none;">
<label class="label-font-size" for="registration_date">Registration Date</label>
<input type="text" class="form-control datepicker" id="registration_date" placeholder="Select Registration Date"
value="<?= isset($ticket_data['registration_date']) ? $ticket_data['registration_date'] : '' ?>" name="registration_date">
</div>
<div class="form-group col-md-3 cda_ir" style="display: none;">
<label class="label-font-size" for="raised_date">Raised Date</label>
<input type="text" class="form-control datepicker" id="raised_date" placeholder="Select Raised Date"
value="<?= isset($ticket_data['raised_date']) ? $ticket_data['raised_date'] : '' ?>" name="raised_date">
</div>
<div class="form-group col-md-3 up_qdr" style="display: none;">
<label class="label-font-size" for="query_received_date">Query Received Date</label>
<input type="text" class="form-control datepicker" id="query_received_date" placeholder="Select Query Received Date"
value="<?= isset($ticket_data['query_received_date']) ? $ticket_data['query_received_date'] : '' ?>" name="query_received_date">
</div>
<div class="form-group col-md-3 rejected" style="display: none;">
<label class="label-font-size" for="denial_reason">Denial Reason</label>
<input type="text" class="form-control" id="denial_reason" placeholder="Enter Denial Reason"
value="<?= isset($ticket_data['denial_reason']) ? $ticket_data['denial_reason'] : '' ?>" name="denial_reason">
</div>
<div class="form-group col-md-3 rejected" style="display: none;">
<label class="label-font-size" for="denial_date">Denial Date</label>
<input type="text" class="form-control datepicker" id="denial_date" placeholder="Select Denial Date"
value="<?= isset($ticket_data['denial_date']) ? $ticket_data['denial_date'] : '' ?>" name="denial_date">
</div>
<div class="form-group col-md-3 approved" style="display: none;">
<label class="label-font-size" for="approved_amount">Approved Amount</label>
<input type="text" class="form-control" id="approved_amount" placeholder="Enter Approved Amount"
value="<?= isset($ticket_data['approved_amount']) ? $ticket_data['approved_amount'] : '' ?>" name="approved_amount">
</div>
<div class="form-group col-md-3 approved" style="display: none;">
<label class="label-font-size" for="approved_date">Approved Date</label>
<input type="text" class="form-control datepicker" id="approved_date" placeholder="Select Approved Date"
value="<?= isset($ticket_data['approved_date']) ? $ticket_data['approved_date'] : '' ?>" name="approved_date">
</div>
<div class="form-group col-md-6 approved" style="display: none;">
<label class="label-font-size" for="approved_letter">Approved Letter</label>
<input type="text" class="form-control" id="approved_letter" placeholder="Enter Approved Letter"
value="<?= isset($ticket_data['approved_letter']) ? $ticket_data['approved_letter'] : '' ?>" name="approved_letter">
</div>
<div class="form-group col-md-6 approved" style="display: none;">
<label class="label-font-size" for="approved_description">Approved Description</label>
<input type="text" class="form-control" id="approved_description" placeholder="Enter Approved Description"
value="<?= isset($ticket_data['approved_description']) ? $ticket_data['approved_description'] : '' ?>" name="approved_description">
</div>
<div class="form-group col-md-3 settled" style="display: none;">
<label class="label-font-size" for="utr_details">UTR Details</label>
<input type="text" class="form-control" id="utr_details" placeholder="Enter UTR Details"
value="<?= isset($ticket_data['utr_details']) ? $ticket_data['utr_details'] : '' ?>" name="utr_details">
</div>
<div class="form-group col-md-3 settled" style="display: none;">
<label class="label-font-size" for="settled_date">Settled Date</label>
<input type="text" class="form-control datepicker" id="settled_date" placeholder="Select Settled Date"
value="<?= isset($ticket_data['settled_date']) ? $ticket_data['settled_date'] : '' ?>" name="settled_date">
</div>
<div class="form-group col-md-6 settled" style="display: none;">
<label class="label-font-size" for="settle_letter">Settle Letter</label>
<input type="text" class="form-control" id="settle_letter" placeholder="Enter Settle Letter"
value="<?= isset($ticket_data['settle_letter']) ? $ticket_data['settle_letter'] : '' ?>" name="settle_letter">
</div>
<div class="form-group col-md-3 payment" style="display: none;">
<label class="label-font-size" for="pay_initiate_date">Payment Initiate Date</label>
<input type="text" class="form-control datepicker" id="pay_initiate_date" placeholder="Select Payment Initiate Date"
value="<?= isset($ticket_data['pay_initiate_date']) ? $ticket_data['pay_initiate_date'] : '' ?>" name="pay_initiate_date">
</div>
<div class="form-group col-md-3 canceled" style="display: none;">
<label class="label-font-size" for="cancel_remark">Cancel Remark</label>
<textarea class="form-control" id="cancel_remark" rows="1" placeholder="Enter Cancel Remark" name="cancel_remark"><?= isset($ticket_data['cancel_remark']) ? $ticket_data['cancel_remark'] : '' ?></textarea>
</div>
<div class="form-group col-md-3 returned" style="display: none;">
<label class="label-font-size" for="return_remark">Return Remark</label>
<textarea class="form-control" id="return_remark" rows="1" placeholder="Enter Return Remark" name="return_remark"><?= isset($ticket_data['return_remark']) ? $ticket_data['return_remark'] : '' ?></textarea>
</div>
<div class="form-group col-md-6 returned" style="display: none;">
<label class="label-font-size" for="awb_no_courier_name">Return AWB No with Courier Name</label>
<input type="text" class="form-control" id="awb_no_courier_name" placeholder="eg : 0001/ST Courier"
value="<?= isset($ticket_data['awb_no_courier_name']) ? $ticket_data['awb_no_courier_name'] : '' ?>" name="awb_no_courier_name">
</div>
<div class="form-group col-md-3 non_id" style="display: none;">
<label class="label-font-size" for="non_id_reason">Non ID Reason <span id="non_id_reason_lable_id" class="text-danger"></span></label>
<select class="form-control" id="non_id_reason" name="non_id_reason">
<option value="">Select Reason</option>
<?php
if (isset($nonIDReason) && count($nonIDReason)) {
foreach ($nonIDReason as $key => $value) {
$selected = (isset($ticket_data) && $ticket_data['non_id_reason'] == $key) ? 'selected' : '';
echo "<option value='" . $key . "' $selected>" . $value . "</option>";
}
}
?>
</select>
</div>
</div>
<!-- end third_data_points -->
</div>
<div class="form-group col-md-12 text-right m-b-0" style="margin-top: 29px;">
<button type="submit" class="btn btn-primary waves-effect waves-light mr-1" id="btnSubmit">Submit</button>
<?php if (get_role_id() == 5 && isset($ticket_data) && $ticket_data['claim_status_id'] == 8) { ?>
<a class="btn btn-secondary waves-effect waves-light mr-1" onclick="showConfirmationModal(event)">Approve Claim Rejection</a>
<?php } ?>
<!-- <button type="button" class="btn btn-primary waves-effect waves-light mr-1" id="btnApprove" >Approve</button> -->
</div>
<div class="form-group col-md-12 text-right m-b-0" style="margin-top: 29px;">
<button type="submit" class="btn btn-primary waves-effect waves-light mr-1" id="btnSubmit">Submit</button>
<?php if (get_role_id() == 5 && isset($ticket_data) && $ticket_data['claim_status_id'] == 8) { ?>
<a class="btn btn-secondary waves-effect waves-light mr-1" onclick="showConfirmationModal(event)">Approve Claim Rejection</a>
<?php } ?>
<!-- <button type="button" class="btn btn-primary waves-effect waves-light mr-1" id="btnApprove" >Approve</button> -->
</div>
</div>
</form>
</div>
</form>
</div>
</div>
</div>
<!-- Info Modal -->
<div class="modal fade" id="moreInfoModal" tabindex="-1" role="dialog" aria-labelledby="fullWidthModalLabel" aria-hidden="true">
<div class="modal-dialog modal-xl" role="document">
@ -635,17 +663,17 @@
console.log('Selected Value:', selectedVal);
console.log('Element ID:', elementId);
if(selectedVal == 2 || selectedVal == 14){
if (selectedVal == 2 || selectedVal == 14) {
$field = $('#non_id_reason')
$field.prop('required', false);
}else if(selectedVal == 1){
} else if (selectedVal == 1) {
if($('#tpa_no').val() != ""){
if ($('#tpa_no').val() != "") {
$field = $('#non_id_reason')
$field.prop('required', false);
var $parentDiv = $field.closest("div");
$parentDiv.find("label[for='non_id_reason'] .text-danger").remove();
}else{
} else {
$field = $('#non_id_reason')
$field.prop('required', true);
}
@ -805,7 +833,7 @@
$field.prop('required', false);
var $parentDiv = $field.closest("div");
$parentDiv.find("label[for='approved_description'] .text-danger").remove();
});
// function addRequiredFieldSymbol(field_name) {
@ -1059,11 +1087,11 @@
if (ticket_type == 1 && item.policy_type_id != 1) {
$('#emp_client_policy').append($('<option>', {
value: item.client_policy_value,
text: item.client_policy_name,
'data-insurerid' : item.insurer_id ?? "",
'data-tpaid' : item.tpa_id ?? "",
'data-insurername' : item.insurer_name ?? "",
'data-tpaname' : item.tpa_name ?? "",
text: item.client_policy_name,
'data-insurerid': item.insurer_id ?? "",
'data-tpaid': item.tpa_id ?? "",
'data-insurername': item.insurer_name ?? "",
'data-tpaname': item.tpa_name ?? "",
}));
$("#policy_no").val("");
if (policyCount == 1) {
@ -1173,7 +1201,6 @@
$('#tpa_id').val(tap_id);
$('#tpa_name').val(tap_name);
}
</script>
<script>
$("#infoIcon").click(function() {

View File

@ -60,9 +60,13 @@ if (ticketsTable.length) {
// ],
language: {
search: "_INPUT_",
searchPlaceholder: "Search..."
},
search: `
<div class="datatable-search-wrapper">
_INPUT_
<i class="mdi mdi-magnify datatable-search-icon"></i>
</div>`,
searchPlaceholder: "Search"
},
paging: true, // Enable pagination
pageLength: 10, // Set default number of rows per page (optional)
ordering: false,

View File

@ -54,17 +54,17 @@ table.dataTable tbody td {
</div>
<div class="table-responsive">
<table data-custom-table-css="table" id="scroll-horizontal-datatable" class="table w-100 nowrap">
<table data-custom-table-css="table" class="table mb-0 nowrap w-100 table-centered" cellspacing="0" id="scroll-horizontal-datatable">
<thead class="bg-light">
<tr>
<th>Status</th>
<th>Policy Type</th>
<th>Claim number</th>
<th>TPA ID</th>
<th>Emp ID</th>
<th>Emp name</th>
<th>Insured Name</th>
<th>Corporate name</th>
<th>Status&nbsp;</th>
<th>Policy Type&nbsp;</th>
<th>Claim number&nbsp;</th>
<th>TPA ID&nbsp;</th>
<th>Emp ID&nbsp;</th>
<th>Emp name&nbsp;</th>
<th>Insured Name&nbsp;</th>
<th>Corporate name&nbsp;</th>
<th style="display: none;">ACM</th>
<th style="display: none;">Insurer</th>
@ -161,13 +161,13 @@ table.dataTable tbody td {
</span>
</td>
<td><?php echo str_replace("Claim-", "", $ticket_type[$row['ticket_type_id']] ?? ""); ?></td>
<td><?php echo $row['claim_no']; ?></td>
<td><?php echo $row['tpa_no']; ?></td>
<td><?php echo $row['emp_code']; ?></td>
<td><?php echo $row['emp_name']; ?></td>
<td><?php echo $row['insured_name']; ?></td>
<td><?php echo $row['short_name']; ?></td>
<td><?php echo str_replace("Claim-", "", $ticket_type[$row['ticket_type_id']] ?? 'N/A'); ?></td>
<td><?php echo $row['claim_no'] ?: 'N/A' ; ?></td>
<td><?php echo $row['tpa_no'] ?: 'N/A'; ?></td>
<td><?php echo $row['emp_code'] ?: 'N/A'; ?></td>
<td><?php echo $row['emp_name'] ?: 'N/A'; ?></td>
<td><?php echo $row['insured_name'] ?: 'N/A'; ?></td>
<td><?php echo $row['short_name'] ?: 'N/A'; ?></td>
<td style="display: none;"><?php echo $row['acm_name']; ?></td>
<td style="display: none;"><?php echo $row['insurer_name']; ?></td>
@ -271,33 +271,68 @@ $(document).ready(function() {
dom: "<'row'<'col-sm-6'f><'col-sm-6 text-right'B>>" + // Filter left, buttons right
"<'row'<'col-sm-12'tr>>" +
"<'row'<'col-sm-5'i><'col-sm-7'p>>", // Pagination at the bottom, without page length selector
buttons: [{
extend: 'csv',
text: 'CSV',
title: 'Claim-List',
},
{
extend: 'excel',
text: 'Excel',
title: 'claim-List',
exportOptions: {
orthogonal: 'sort'
},
},
{
text: 'New Claim',
className: 'buttons-html5 addbtnStyle',
action: function(e, dt, node, config) {
openTicketTypeAskModal()
}
}
],
// buttons: [{
// extend: 'csv',
// text: 'CSV',
// title: 'Claim-List',
// },
// {
// extend: 'excel',
// text: 'Excel',
// title: 'claim-List',
// exportOptions: {
// orthogonal: 'sort'
// },
// },
// {
// text: 'New Claim',
// className: 'buttons-html5 addbtnStyle',
// action: function(e, dt, node, config) {
// openTicketTypeAskModal()
// }
// }
// ],
buttons: [
{
text: '<i class="mdi mdi-plus" ></i><span class=" btn-custom"> Add </span>',
className: 'btn app-btn-primary mr-2',
action: function(e, dt, node, config) {
openTicketTypeAskModal()
}
},
{
extend: 'collection',
text: '<span class=" btn-custom"> Export </span><i class="mdi mdi-menu-down"></i>',
className: 'btn app-btn-secondary ',
buttons: [
{
extend: 'csv',
text: '<i class="mdi mdi-file-delimited " ></i><span class=" btn-custom"> CSV </span>',
className: 'app-btn-primary ',
title: 'Claim-List',
},
{
extend: 'excel',
text: '<i class="mdi mdi-file-excel " ></i><span class=" btn-custom"> EXCEL </span>',
title: 'claim-List',
exportOptions: {
orthogonal: 'sort'
},
className: 'app-btn-primary ',
}
]
}
],
language: {
search: "_INPUT_",
searchPlaceholder: "Search..."
},
search: `
<div class="datatable-search-wrapper">
_INPUT_
<i class="mdi mdi-magnify datatable-search-icon"></i>
</div>`,
searchPlaceholder: "Search"
},
paging: true, // Enable pagination
pageLength: 25, // Set default number of rows per page (optional)
pageLength: 10, // Set default number of rows per page (optional)
ordering: false,
});
} else {

View File

@ -8,10 +8,7 @@
padding: 4px 4px !important;
}
.col-12 {
max-width: 98% !important;
}
.dataTables_filter {
position: absolute;
@ -55,8 +52,8 @@
/* strongest, beats most parent rules and pasted styles on wrappers */
.jodit-container .jodit-wysiwyg,
.jodit-container .jodit-wysiwyg * {
color: #000 !important;
background-color: #fff !important; /* optional: ensure white background */
color: #000 !important;
background-color: #fff !important; /* optional: ensure white background */
}
</style>
@ -193,17 +190,17 @@
<input type="text" readonly id="claim_status_for_template" class="form-control" />
</div>
</div>
<div class="form-row">
<div class="form-group col-md-12">
<label for="template_subject">Subject</label>
<input type="text" id="template_subject" name="subject" class="form-control"
placeholder="Subject" required>
<div class="form-group col-md-6">
<label for="template_subject">Subject</label>
<input type="text" id="template_subject" name="subject" class="form-control"
placeholder="Subject" required>
</div>
</div>
<hr>
<div class="form-row">
@ -264,15 +261,19 @@
text: 'Add Template',
className: 'buttons-html5 addbtnStyle',
action: function(e, dt, node, config) {
openModal()
openModal('new_mail_template')
}
}],
language: {
search: "_INPUT_",
searchPlaceholder: "Search..."
search: `
<div class="datatable-search-wrapper">
_INPUT_
<i class="mdi mdi-magnify datatable-search-icon"></i>
</div>`,
searchPlaceholder: "Search"
},
paging: true, // Enable pagination
pageLength: 25, // Set default number of rows per page (optional)
pageLength: 10, // Set default number of rows per page (optional)
ordering: false,
});
} else {
@ -507,7 +508,7 @@
if (res) {
if (res.status == true) {
// Open the modal
openModal();
openModal('new_mail_template');
// Populate the form fields
$('#template_subject').val(res.data.subject);

View File

@ -1,68 +1,74 @@
<div class="row">
<div class="col-xl-12">
<div id="accordion" class="mb-3">
<div class="card mb-1">
<h5 class="m-1">
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseOne"
aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</h5>
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion">
<div class="card-body">
<!-- <div class="text-center"> -->
<div class="form-row">
<div class="form-group col-md-4" id="date_div">
<label>Date<span class="text-danger"></span></label>
<div id="reportrange" class="form-control" style="background: #fff; cursor: pointer; padding: 5px 10px; border: 1px solid #ccc; width: 100%">
<i class="mdi mdi-calendar-blank"></i>&nbsp;
<span></span> <i class="mdi mdi-menu-down"></i>
<div class="container-fluid-min">
<div class="row">
<!-- <h3 class="ml-3">Claim Reports</h3> -->
<div class="col-xl-12">
<div class="card-body">
<div id="accordion" class="mb-3">
<div class="card mb-1">
<h4 class="m-1">
<span>Filter</span>
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseOne"
aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</h4>
<div id="collapseOne" class="collapse show" aria-labelledby="headingOne" data-parent="#accordion">
<div class="card-body">
<!-- <div class="text-center"> -->
<div class="form-row">
<div class="form-group col-md-4" id="date_div">
<label>Date<span class="text-danger"></span></label>
<div id="reportrange" class="form-control" style="background: #fff; cursor: pointer; padding: 5px 10px; border: 1px solid #ccc; width: 100%">
<i class="mdi mdi-calendar-blank"></i>&nbsp;
<span></span> <i class="mdi mdi-menu-down"></i>
</div>
<input type="hidden" id="startDate" value=<?= $default_start ?>>
<input type="hidden" id="endDate" value=<?= $default_end ?>>
</div>
<div class="form-group col-md-4">
<label>Policy Type<span class="text-danger"> *</span></label> <br />
<select name="policy_type" class="form-control" id="policy_type" required>
<option value="">Select</option>
<?php foreach ($policy_type as $policy => $key) : ?>
<option value="<?= $policy ?>"><?= $key ?></option>
<?php endforeach ?>
</select>
</div>
<div class="form-group col-md-4">
<label>Report Type<span class="text-danger"> *</span></label> <br />
<select class="form-control" id="report_type" required>
<option value="0">Select</option>
<?php foreach ($report_type as $reports => $key) : ?>
<option value="<?= $reports ?>"><?= $key ?></option>
<?php endforeach ?>
</select>
</div>
</div>
<input type="hidden" id="startDate" value=<?= $default_start ?>>
<input type="hidden" id="endDate" value=<?= $default_end ?>>
</div>
<div class="row justify-content-end">
<div class="form-group col-md-4">
<label>Policy Type<span class="text-danger"> *</span></label> <br />
<select name="policy_type" class="form-control" id="policy_type" required>
<option value="">Select</option>
<?php foreach ($policy_type as $policy => $key) : ?>
<option value="<?= $policy ?>"><?= $key ?></option>
<?php endforeach ?>
</select>
</div>
<div class="form-group col-md-4">
<label>Report Type<span class="text-danger"> *</span></label> <br />
<select class="form-control" id="report_type" required>
<option value="0">Select</option>
<?php foreach ($report_type as $reports => $key) : ?>
<option value="<?= $reports ?>"><?= $key ?></option>
<?php endforeach ?>
</select>
</div>
</div>
<div class="row justify-content-end">
<div class="col-auto">
<a href="#" class="btn btn-primary waves-effect waves-light" id="get-report-page" onclick="fetchReportPage(event);">Submit</a>
<div class="col-auto">
<a href="#" class="btn btn-primary waves-effect waves-light submit-btn" id="get-report-page" onclick="fetchReportPage(event);">Submit</a>
</div>
</div>
<!-- </div> -->
</div>
</div>
<!-- </div> -->
</div>
</div>
</div>
</div>
</div>
<div class="row" id="report"></div>
</div>
<div class="card mb-1">
<div id="report"></div>
</div>
<script>
$(function() {
@ -97,44 +103,43 @@
});
</script>
<script>
function fetchReportPage() {
function fetchReportPage() {
var fromDate = $('#startDate').val();
var toDate = $('#endDate').val();
var policy_type = $('#policy_type').val();
var report_type = $('#report_type').val();
var requestData = {
fromDate: fromDate,
toDate: toDate,
policy_type: policy_type,
report_type: report_type
};
// console.log(requestData);
var url = '<?= base_url('/ticket/ticket_reports') ?>';
$('.loader').fadeIn();
$('.loader-mask').fadeIn();
sendAjaxRequestForGlobal(url, 'POST', requestData, function(response) {
if (response.status == true) {
$('#report').html(response.html);
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
} else {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
let message = response.message;
toastr.error(message, 'ERROR');
}
}, function(xhr, status, error) {
console.error('Error fetching data:', error);
console.error(xhr.responseText);
toastr.error('An error occurred while fetching the report page.', 'ERROR');
var fromDate = $('#startDate').val();
var toDate = $('#endDate').val();
var policy_type = $('#policy_type').val();
var report_type = $('#report_type').val();
var requestData = {
fromDate: fromDate,
toDate: toDate,
policy_type: policy_type,
report_type: report_type
};
// console.log(requestData);
var url = '<?= base_url('/ticket/ticket_reports') ?>';
$('.loader').fadeIn();
$('.loader-mask').fadeIn();
sendAjaxRequestForGlobal(url, 'POST', requestData, function(response) {
if (response.status == true) {
$('#report').html(response.html);
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
}else{
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
let message = response.message;
toastr.error(message,'ERROR');
}
}, function(xhr, status, error) {
console.error('Error fetching data:', error);
console.error(xhr.responseText);
toastr.error('An error occurred while fetching the report page.', 'ERROR');
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
});
}
});
}
</script>

View File

@ -1,259 +1,258 @@
<style>
.col-12 {
.col-12 {
max-width: 98% !important;
}
max-width: 98% !important;
}
</style>
<div class="row">
<div class="col-12" style="margin-top: -12px;">
<div id="accordion" class="mb-3">
<div class="card mb-1">
<h5 class="m-1">
<br>
<div class="row ml-4">
<div class="col-md-6">
<h4 style="text-align: left;">Claim Filter</h4>
</div>
<div class="col-md-6">
<a style="text-align: right;" id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseOne"
aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i>
</a></div>
</div>
</h5>
<div id="collapseOne" class="collapse hide" aria-labelledby="headingOne" data-parent="#accordion">
<div class="card-body">
<div class="form-group">
<div class="form-row">
<div class="container-fluid-min">
<div class="row">
<div class="col-12" style="margin-top: -12px;">
<div class="card-body">
<div id="accordion" class="mb-3">
<div class="card mb-1">
<h4>
Filter
<a id="toggleIcon" class="text-dark float-right" data-toggle="collapse" href="#collapseOne"
aria-expanded="true">
<i id="icon" class="mdi mdi-chevron-down mr-1 text-primary" style="font-size: 28px;"></i>
</a>
</h4>
<div id="collapseOne" class="collapse hide" aria-labelledby="headingOne" data-parent="#accordion">
<div class="card-body">
<div class="form-group">
<div class="form-row">
<div class="form-group col-md-3">
<label for="ticket_type"> Claim Type <span class="text-danger"></span></label>
<select class="form-control" id="ticket_type" name="ticket_type">
<option value="0">Select claim Type</option>
<?php
if (isset($ticket_type) && count($ticket_type)) {
foreach ($ticket_type as $key => $value) {
echo "<option value='" . $key . "'>" . $value . "</option>";
<div class="form-group col-md-3">
<label for="ticket_type"> Claim Type <span class="text-danger"></span></label>
<select class="form-control" id="ticket_type" name="ticket_type">
<option value="0">Select claim Type</option>
<?php
if (isset($ticket_type) && count($ticket_type)) {
foreach ($ticket_type as $key => $value) {
echo "<option value='" . $key . "'>" . $value . "</option>";
}
}
}
?>
</select>
</div>
?>
</select>
</div>
<!-- <div class="form-group col-md-3">
<!-- <div class="form-group col-md-3">
<label for="pod_no">POD No<span class="text-danger"></span></label>
<input type="text" class="form-control" id="pod_no" name="pod_no">
</div> -->
<div class="form-group col-md-3">
<label for="insurer_id">Insurer<span class="text-danger"></span></label>
<select class="form-control" id="insurer_id" name="insurer_id">
<option value="0">Select Insurer</option>
<?php
if (isset($insurer_list) && count($insurer_list)) {
foreach ($insurer_list as $key => $value) {
echo "<option value='" . $value['id'] . "'>" . $value['name'] . "</option>";
<div class="form-group col-md-3">
<label for="insurer_id">Insurer<span class="text-danger"></span></label>
<select class="form-control" id="insurer_id" name="insurer_id">
<option value="0">Select Insurer</option>
<?php
if (isset($insurer_list) && count($insurer_list)) {
foreach ($insurer_list as $key => $value) {
echo "<option value='" . $value['id'] . "'>" . $value['name'] . "</option>";
}
}
}
?>
</select>
</div>
?>
</select>
</div>
<div class="form-group col-md-3">
<label for="tpa_id">TPA<span class="text-danger"></span></label>
<select class="form-control" id="tpa_id" name="tpa_id">
<option value="0">Select TPA</option>
<?php
if (isset($tpa_list) && count($tpa_list)) {
foreach ($tpa_list as $key => $value) {
echo "<option value='" . $value['id'] . "'>" . $value['name'] . "</option>";
<div class="form-group col-md-3">
<label for="tpa_id">TPA<span class="text-danger"></span></label>
<select class="form-control" id="tpa_id" name="tpa_id">
<option value="0">Select TPA</option>
<?php
if (isset($tpa_list) && count($tpa_list)) {
foreach ($tpa_list as $key => $value) {
echo "<option value='" . $value['id'] . "'>" . $value['name'] . "</option>";
}
}
}
?>
</select>
</div>
?>
</select>
</div>
<div class="form-group col-md-3">
<label for="claim_no">Claim No<span class="text-danger"></span></label>
<input type="text" class="form-control" id="claim_no" name="claim_no">
</div>
<div class="form-group col-md-3">
<label for="claim_no">Claim No<span class="text-danger"></span></label>
<input type="text" class="form-control" id="claim_no" name="claim_no">
</div>
<div class="form-group col-md-3">
<label for="client_id"> Corporate Name <span class="text-danger"></span></label>
<select class="form-control" id="client_id" name="client_id">
<option value="0">Select Corporate</option>
<?php
if (isset($client_list) && count($client_list)) {
foreach ($client_list as $key => $value) {
echo "<option value='" . $value['id'] . "'>" . $value['client_name'] . "</option>";
<div class="form-group col-md-3">
<label for="client_id"> Corporate Name <span class="text-danger"></span></label>
<select class="form-control" id="client_id" name="client_id">
<option value="0">Select Corporate</option>
<?php
if (isset($client_list) && count($client_list)) {
foreach ($client_list as $key => $value) {
echo "<option value='" . $value['id'] . "'>" . $value['client_name'] . "</option>";
}
}
}
?>
</select>
</div>
?>
</select>
</div>
<div class="form-group col-md-3">
<label for="emp_code">Employee ID<span class="text-danger"></span></label>
<input type="text" class="form-control" id="emp_code" name="emp_code">
</div>
<div class="form-group col-md-3">
<label for="emp_code">Employee ID<span class="text-danger"></span></label>
<input type="text" class="form-control" id="emp_code" name="emp_code">
</div>
<!-- <div class="form-group col-md-3">
<!-- <div class="form-group col-md-3">
<label for="tpa_id">TPA ID<span class="text-danger"></span></label>
<input type="text" class="form-control" id="tpa_id" name="tpa_id">
</div> -->
<div class="form-group col-md-3">
<label for="emp_mobile_no">Employee Mobile No<span
class="text-danger"></span></label>
<input type="text" class="form-control" id="emp_mobile_no" name="emp_mobile_no">
</div>
<div class="form-group col-md-3">
<label for="emp_mobile_no">Employee Mobile No<span
class="text-danger"></span></label>
<input type="text" class="form-control" id="emp_mobile_no" name="emp_mobile_no">
</div>
<div class="form-group col-md-3">
<label for="claim_status">Status<span class="text-danger"></span></label>
<select class="form-control" id="claim_status" name="claim_status">
<option value="0">Select status</option>
<?php /*
<div class="form-group col-md-3">
<label for="claim_status">Status<span class="text-danger"></span></label>
<select class="form-control" id="claim_status" name="claim_status">
<option value="0">Select status</option>
<?php /*
if (isset($claim_status) && count($claim_status)) {
foreach ($claim_status as $key => $value) {
echo "<option value=" . $value['id'] . ">" . $value['status'] . "</option>";
}
}
*/ ?>
</select>
</div>
</select>
</div>
<div class="form-group col-md-12 text-right m-b-0" style="margin-bottom: -15px;">
<a href="#" class="btn btn-secondary" id="clear-filters">Clear</a>
<a class="btn btn-primary" id="get-emp-list" onclick="fetchTicketListData();">Submit</a>
</div>
<div class="form-group col-md-12 text-right m-b-0" style="margin-bottom: -15px;">
<a href="#" class="btn btn-secondary" id="clear-filters">Clear</a>
<a class="btn btn-primary" id="get-emp-list" onclick="fetchTicketListData();">Submit</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row" id="ticket_list_div">
<?php include('ticket_list.php'); ?>
</div>
</div>
<!-- end page title -->
<div class="row" id="ticket_list_div">
<?php include('ticket_list.php'); ?>
</div>
<script>
$(document).ready(function() {
$(document).ready(function() {
// Initialize select2
$('#client_id').select2();
$('#claim_status').select2();
$('#insurer_id').select2();
$('#tpa_id').select2();
});
$('#ticket_type').on('change',function(){
$('#ticket_type').on('change', function() {
var ticket_type = $('#ticket_type').val();
var claim_status = <?= json_encode($claim_status) ?>;
$('#claim_status').empty();
$('#claim_status').append($('<option>', {
value: '',
text: 'Select Claim Status'
}));
value: '',
text: 'Select Claim Status'
}));
// console.log('Claim Status:', claim_status);
for (var i = 0;i<claim_status.length;i++){
if(claim_status[i]['ticket_type'] == ticket_type){
for (var i = 0; i < claim_status.length; i++) {
if (claim_status[i]['ticket_type'] == ticket_type) {
$('#claim_status').append($('<option>', {
value: claim_status[i]['id'], // Use 'id' as the value
text: claim_status[i]['claim_status'] // Use 'claim_status' as the text
value: claim_status[i]['id'], // Use 'id' as the value
text: claim_status[i]['claim_status'] // Use 'claim_status' as the text
}));
}
}
})
function fetchTicketListData() {
function fetchTicketListData() {
var ticket_type = $('#ticket_type').val();
var pod_no = $('#pod_no').val();
var claim_no = $('#claim_no').val();
var emp_code = $('#emp_code').val();
var claim_status = $('#claim_status').val();
var emp_mobile_no = $('#emp_mobile_no').val();
var tpa_id = $('#tpa_id').val();
var client_id = $('#client_id').val();
var insurer_id = $('#insurer_id').val();
var tpa_id = $('#tpa_id').val();
var ticket_type = $('#ticket_type').val();
var pod_no = $('#pod_no').val();
var claim_no = $('#claim_no').val();
var emp_code = $('#emp_code').val();
var claim_status = $('#claim_status').val();
var emp_mobile_no = $('#emp_mobile_no').val();
var tpa_id = $('#tpa_id').val();
var client_id = $('#client_id').val();
var insurer_id = $('#insurer_id').val();
var tpa_id = $('#tpa_id').val();
var requestData = {
ticket_type_id: ticket_type,
pod_no: pod_no,
claim_number: claim_no,
emp_code: emp_code,
claim_status_id: claim_status,
emp_mobile: emp_mobile_no,
tpa_id: tpa_id,
client_id: client_id,
insurer_id: insurer_id,
tpa_id: tpa_id,
};
var requestData = {
ticket_type_id: ticket_type,
pod_no: pod_no,
claim_number: claim_no,
emp_code: emp_code,
claim_status_id: claim_status,
emp_mobile: emp_mobile_no,
tpa_id: tpa_id,
client_id: client_id,
insurer_id: insurer_id,
tpa_id: tpa_id,
};
let filterData = requestData;
localStorage.setItem('filterData', JSON.stringify(filterData));
let filterData = requestData;
localStorage.setItem('filterData', JSON.stringify(filterData));
console.log("requestData", requestData);
console.log("requestData", requestData);
var url = '<?= base_url('/ticket/list') ?>';
$('.loader').fadeIn();
$('.loader-mask').fadeIn();
var url = '<?= base_url('/ticket/list') ?>';
$('.loader').fadeIn();
$('.loader-mask').fadeIn();
sendAjaxRequestForGlobal(url, 'POST', requestData, function(response) {
sendAjaxRequestForGlobal(url, 'POST', requestData, function(response) {
console.log('Filter Responce', response);
console.log('Filter Responce', response);
if (response.status == true) {
$('#ticket_list_div').empty();
$('#ticket_list_div').html(response.html);
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
} else {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
let message = response.message;
toastr.error(message, 'ERROR');
}
}, function(xhr, status, error) {
console.error('Error fetching data:', error);
console.error(xhr.responseText);
toastr.error('An error occurred while fetching the data.', 'ERROR');
if (response.status == true) {
$('#ticket_list_div').empty();
$('#ticket_list_div').html(response.html);
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
} else {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
let message = response.message;
toastr.error(message, 'ERROR');
}
}, function(xhr, status, error) {
console.error('Error fetching data:', error);
console.error(xhr.responseText);
toastr.error('An error occurred while fetching the data.', 'ERROR');
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
});
});
}
}
</script>
<script>
$(document).ready(function(){
$(document).ready(function() {
let filterData = localStorage.getItem('filterData');
filterData = filterData ? JSON.parse(filterData) : null;
console.log('Filter Data', filterData);
if(filterData){
if (filterData) {
var url = '<?= base_url('/ticket/list') ?>';
$('.loader').fadeIn();
@ -261,29 +260,29 @@ function fetchTicketListData() {
sendAjaxRequestForGlobal(url, 'POST', filterData, function(response) {
console.log('Filter Responce', response);
if (response.status == true) {
$('#ticket_list_div').empty();
$('#ticket_list_div').html(response.html);
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
} else {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
let message = response.message;
toastr.error(message, 'ERROR');
}
}, function(xhr, status, error) {
console.error('Error fetching data:', error);
console.error(xhr.responseText);
toastr.error('An error occurred while fetching the data.', 'ERROR');
console.log('Filter Responce', response);
if (response.status == true) {
$('#ticket_list_div').empty();
$('#ticket_list_div').html(response.html);
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
});
} else {
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
let message = response.message;
toastr.error(message, 'ERROR');
}
}, function(xhr, status, error) {
console.error('Error fetching data:', error);
console.error(xhr.responseText);
toastr.error('An error occurred while fetching the data.', 'ERROR');
$('.loader').fadeOut();
$('.loader-mask').delay(350).fadeOut('slow');
});
$('#ticket_type').val(filterData.ticket_type_id);
$('#pod_no').val(filterData.pod_no);
@ -301,9 +300,9 @@ function fetchTicketListData() {
</script>
<script>
$(document).on('click', '#clear-filters', function (e) {
$(document).on('click', '#clear-filters', function(e) {
e.preventDefault(); // Stops the browser from following the link
e.preventDefault(); // Stops the browser from following the link
console.log('Clear Filters Area');
@ -318,9 +317,7 @@ function fetchTicketListData() {
$('#tpa_id').val('0');
$('#client_id').val('0');
$('#insurer_id').val('0');
window.location.href = "<?= base_url("/ticket/list")?>";
});
window.location.href = "<?= base_url("/ticket/list") ?>";
});
</script>

View File

@ -446,7 +446,7 @@ $(document).ready(function () {
if (data.length === 0) {
tpaBranchTableInsert += `
<tr>
<td colspan="3" class="text-center app-text-black">No data available in table</td>
<td colspan="3" class="text-center font-color-black">No data available in table</td>
</tr>
`;
} else {
@ -575,7 +575,7 @@ $(document).ready(function () {
if (data.length === 0) {
branchTable += `
<tr>
<td colspan="3" class="text-center app-text-black ">No data available in table</td>
<td colspan="3" class="text-center font-color-black ">No data available in table</td>
</tr>
`;
} else {

Some files were not shown because too many files have changed in this diff Show More