4 Commits

Author SHA1 Message Date
e75797b4ce Merge pull request 'Update' (#4) from improve-case-history into main
Reviewed-on: #4
2025-11-27 01:37:59 +00:00
ca60cd0619 Update 2025-11-27 01:37:39 +00:00
dbbebbaa3b revert f0d83b3cd8
revert Merge pull request 'add-new-case-history-tab' (#1) from add-new-case-history-tab into main

Reviewed-on: #1
2025-11-26 09:50:10 +00:00
f0d83b3cd8 Merge pull request 'add-new-case-history-tab' (#1) from add-new-case-history-tab into main
Reviewed-on: #1
2025-11-26 09:12:20 +00:00

View File

@@ -1,7 +1,7 @@
// ==UserScript==
// @name CoreTabs
// @name CoreTabs1
// @namespace https://git.diasbaskara.id/diasbaskara/userscripts/
// @version 0.4
// @version 0.5
// @description Manage your cases easily.
// @author Dias Baskara
// @match https://coretax.intranet.pajak.go.id/*
@@ -50,6 +50,7 @@
allCaseUsers = [],
caseHistoryData = [],
caseSubProcessData = {},
caseUsersRoleMap = {},
refundReviewData = [],
filteredRefundData = [],
selectedCaseId = null,
@@ -378,9 +379,17 @@
// CaseRoleTypeCode in Performed By column
const roleCell = document.createElement("td");
if (currentCaseRoleTypeCode) {
roleCell.innerHTML = `<strong>Current Role:</strong><br><small style="color: #666;">${currentCaseRoleTypeCode}</small>`;
// Get user names for this role type
const userNames = caseUsersRoleMap[currentCaseRoleTypeCode] || [];
let roleContent = `<strong style="color: #333;">${currentCaseRoleTypeCode}</strong>`;
if (userNames.length > 0) {
roleContent += `<br><small style="color: #888; font-size: 10px;">${userNames.map((name) => `${name}`).join("<br>")}</small>`;
}
roleCell.innerHTML = roleContent;
} else {
roleCell.innerHTML = `<strong>Current Role:</strong><br><small style="color: #666; font-style: italic;">Not available</small>`;
roleCell.innerHTML = `<strong style="color: #666; font-style: italic;">Not available</strong>`;
}
currentRoleRow.appendChild(roleCell);
@@ -600,6 +609,17 @@
(loadedUsersForCaseId = caseId),
populateFilter("users-role-filter", allCaseUsers, "CaseRoleType"),
renderCaseUsersTable());
// Create role-to-users lookup map for Case History tab
caseUsersRoleMap = {};
allCaseUsers.forEach((user) => {
if (user.CaseRoleType && user.FullName) {
if (!caseUsersRoleMap[user.CaseRoleType]) {
caseUsersRoleMap[user.CaseRoleType] = [];
}
caseUsersRoleMap[user.CaseRoleType].push(user.FullName);
}
});
} catch (error) {
handleError(error, responseArea);
}
@@ -642,6 +662,9 @@
// Fetch CaseRoleTypeCode for each ToWorkflowStepIdentifier
await fetchCaseSubProcessData(caseId);
// Fetch user roles for matching with CaseRoleTypeCode
await fetchCaseUsers(caseId);
populateFilter("history-type-filter", caseHistoryData, "CaseType");
renderCaseHistoryTable();
} catch (error) {