diff --git a/app/Controllers/TicketController.php b/app/Controllers/TicketController.php index d46306d4..7aacb3a8 100644 --- a/app/Controllers/TicketController.php +++ b/app/Controllers/TicketController.php @@ -539,6 +539,7 @@ class TicketController extends BaseController 'tm.emp_personal_mail', 'tm.mode_of_intimation', 'tm.claim_type', + 'tm.tpa_claim_type', 'tm.hospital_name', 'tm.doa', 'tm.dod', @@ -673,6 +674,7 @@ class TicketController extends BaseController 'tm.emp_personal_mail', 'tm.mode_of_intimation', 'tm.claim_type', + 'tm.tpa_claim_type', 'tm.hospital_name', 'tm.doa', 'tm.dod', diff --git a/app/Views/ticket_list.php b/app/Views/ticket_list.php index 9bedf618..2c9d513c 100644 --- a/app/Views/ticket_list.php +++ b/app/Views/ticket_list.php @@ -30,6 +30,22 @@ table.dataTable tbody td { color: #6c757d !important; } +.policy-type-icon { + display: inline-flex; + align-items: center; + margin-right: 6px; + font-size: 0.95rem; + vertical-align: middle; +} + +.policy-type-icon--cashless { + color: #0ea5e9; +} + +.policy-type-icon--reimbursement { + color: #f59e0b; +} + /* Claim source pill — text only, fixed width (DUMP_TPA); hidden when no value */ .claim-source-badge { display: inline-flex; @@ -221,7 +237,19 @@ table.dataTable tbody td { ]; $claimSrcClass = $claimSrcClassMap[$claimSrc] ?? null; $policyTypeLabel = str_replace('Claim-', '', $ticket_type[$row['ticket_type_id']] ?? 'N/A'); - echo esc($policyTypeLabel); + $tpaClaimTypeRaw = trim((string)($row['tpa_claim_type'] ?? '')); + $tpaClaimType = strtolower($tpaClaimTypeRaw); + $policyTypeIconHtml = ''; + + if ($tpaClaimType !== '') { + if (strpos($tpaClaimType, 'cash') !== false) { + $policyTypeIconHtml = ''; + } elseif (strpos($tpaClaimType, 'reimburse') !== false) { + $policyTypeIconHtml = ''; + } + } + + echo $policyTypeIconHtml . esc($policyTypeLabel); if ($claimSrcClass !== null) { echo '
' . esc($claimSrc) . ''; } @@ -368,6 +396,18 @@ function getClaimSourceBadgeHtml(claimCreatedBy) { return '' + escapeHtml(key) + ''; } +function getPolicyTypeIconHtml(tpaClaimType) { + var type = (tpaClaimType || '').toString().trim().toLowerCase(); + if (!type) return ''; + if (type.indexOf('cash') !== -1) { + return ''; + } + if (type.indexOf('reimburse') !== -1) { + return ''; + } + return ''; +} + function getStatusDisplay(row) { var status = row.status || ''; var claimStatusId = Number(row.claim_status_id || 0); @@ -413,6 +453,7 @@ function buildTicketRowHtml(row) { var statusUpdated = row.ticket_updated_date ? '
Updated at ' + escapeHtml(row.ticket_updated_date) + '
' : ''; var claimCreated = row.ticket_created_date ? '
Created at ' + escapeHtml(row.ticket_created_date) + '
' : ''; var policyType = (window.ticketTypeMap[row.ticket_type_id] || '').replace('Claim-', ''); + var policyTypeIcon = getPolicyTypeIconHtml(row.tpa_claim_type); var claimSourceBadge = getClaimSourceBadgeHtml(row.claim_created_by); var modeOfIntimation = window.modeOfIntimateMap[row.mode_of_intimation] || ''; var priority = window.priorityTypeMap[row.priority || 0] || ''; @@ -423,7 +464,7 @@ function buildTicketRowHtml(row) { '' + getStatusDisplay(row) + '' + statusUpdated + '' + - '' + asText(policyType) + (claimSourceBadge ? '
' + claimSourceBadge : '') + '' + + '' + policyTypeIcon + asText(policyType) + (claimSourceBadge ? '
' + claimSourceBadge : '') + '' + '' + asText(row.claim_no) + claimCreated + '' + '' + asText(row.tpa_no) + '' + '' + asText(row.emp_code) + '' +