|
|
@@ -266,14 +266,15 @@ function renderCasesTable(cases) {
|
|
266
|
266
|
return;
|
|
267
|
267
|
}
|
|
268
|
268
|
body.innerHTML = cases.map(c => {
|
|
|
269
|
+ const cid = c.case_id ?? '';
|
|
269
|
270
|
const owner = (c.owner || {}).user_name || '—';
|
|
270
|
271
|
const stateName = (c.state || {}).state_name || '—';
|
|
271
|
272
|
const closed = c.close_date ? fmtDate(c.close_date) : '—';
|
|
272
|
|
- return `<tr>
|
|
|
273
|
+ return `<tr style="cursor:pointer" onclick="openCaseDetail(${cid})">
|
|
273
|
274
|
<td></td>
|
|
274
|
275
|
<td>${statusDot({status_name: stateName})}</td>
|
|
275
|
276
|
<td>${owner}</td>
|
|
276
|
|
- <td>${c.case_id ?? ''}</td>
|
|
|
277
|
+ <td>${cid}</td>
|
|
277
|
278
|
<td>${c.case_name || '—'}</td>
|
|
278
|
279
|
<td>${c.case_soc_id || '—'}</td>
|
|
279
|
280
|
<td>—</td>
|
|
|
@@ -292,6 +293,11 @@ function openAlertDetail(alertId, event) {
|
|
292
|
293
|
window.location.href = `/alerts?alert_ids=${alertId}&cid=1`;
|
|
293
|
294
|
}
|
|
294
|
295
|
|
|
|
296
|
+function openCaseDetail(caseId) {
|
|
|
297
|
+ if (!caseId) return;
|
|
|
298
|
+ window.location.href = `/case?cid=${caseId}`;
|
|
|
299
|
+}
|
|
|
300
|
+
|
|
295
|
301
|
function refreshActive() {
|
|
296
|
302
|
activeTab === 'alerts' ? loadAlerts() : loadCases();
|
|
297
|
303
|
}
|
|
|
@@ -312,3 +318,4 @@ window.nextPage = nextPage;
|
|
312
|
318
|
window.sortBy = sortBy;
|
|
313
|
319
|
window.switchTab = switchTab;
|
|
314
|
320
|
window.openAlertDetail = openAlertDetail;
|
|
|
321
|
+window.openCaseDetail = openCaseDetail;
|