220 lines
7.3 KiB
JavaScript
220 lines
7.3 KiB
JavaScript
/*================================================================================================================\
|
|
+
|
|
+ Project : GoData-Eicher
|
|
+ Filename : reportTicketKamClose.js
|
|
+ Module Name : Report
|
|
+ Purpose : For reporting
|
|
+ Coded By : Parul Gupta
|
|
+
|
|
+================================================================================================================*/
|
|
|
|
|
|
/**
|
|
* For reporting
|
|
* @module ReportModule
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
* This class contains functionality of Ticket report(Close)
|
|
* @class KamCloseTicketReport
|
|
* @constructor
|
|
*/
|
|
|
|
var xhr_exportExport;
|
|
|
|
|
|
|
|
//Global variables
|
|
var slaMetImagePath = "../../Content/css/images/icons/green_circle.png";
|
|
var slaNotMetImagePath = "../../Content/css/images/icons/red_circle.png";
|
|
|
|
|
|
/**
|
|
* Function to display close ticket details
|
|
* @method showKamTicketDetails
|
|
* @for KamCloseTicketReport
|
|
*/
|
|
function showKamTicketDetails(e) {
|
|
var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
|
|
// console.log(dataItem.Id);
|
|
|
|
$.ajax({
|
|
type: "POST",
|
|
url: "/Report/Ticket_GetOpencloseTicketFullDetails/",
|
|
data: { ticketId: dataItem.Id, ticketStatus: "close" },
|
|
success: function (data) {
|
|
$("#divTicketDetails").html(data);
|
|
|
|
//open window in new dialog box
|
|
$("#divTicketDetails").data("kendoWindow").open();
|
|
openKendoWindowInCenter("#divTicketDetails");
|
|
},
|
|
error: function (data) {
|
|
console.log(data);
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
* Function to get close tickets history
|
|
* @method getKamCloseTicketHistory
|
|
* @for KamCloseTicketReport
|
|
*/
|
|
function getKamCloseTicketHistory(currentPage) {
|
|
var startDate, endDate;
|
|
var userID = userId;
|
|
startDate = $("#startDate").val();
|
|
endDate = $("#endtDate").val();
|
|
//send ajax request
|
|
$.ajax({
|
|
type: "POST",
|
|
url: "/Report/Report_KamTickets_Close_Grid/",
|
|
data: { userId: userID, startDate: startDate, endDate: endDate, ticketStatus: "close" },
|
|
success: function (data) {
|
|
$("#divGrid").html(data);
|
|
if (document.getElementById('KamCloseTicket') !== null) {
|
|
setTimeout(function () {
|
|
//console.log($("#KamCloseTicket .k-grid-content table tbody tr").length);
|
|
if ($("#KamCloseTicket .k-grid-content table tbody tr").length > 0) {
|
|
$('.excelIcon').show();
|
|
} else {
|
|
$('.excelIcon').hide();
|
|
}
|
|
}, 1000);
|
|
} else {
|
|
$('.excelIcon').hide();
|
|
}
|
|
},
|
|
complete: function () {
|
|
//console.log(currentPage);
|
|
//if (currentPage) {
|
|
// setTimeout(function () { $("#KamCloseTicket").data('kendoGrid').dataSource.page(currentPage); }, 1000);
|
|
//}
|
|
startDateParam = "";
|
|
endDateParam = "";
|
|
},
|
|
error: function (data) {
|
|
console.log(data);
|
|
}
|
|
});
|
|
|
|
}
|
|
|
|
/**
|
|
* Function call on row bound of close tickets table
|
|
* @method onRowBound
|
|
* @for KamCloseTicketReport
|
|
*/
|
|
function onRowBound(e) {
|
|
|
|
//if (_userRole.toLowerCase().trim() == 'cce' || _userRole.toLowerCase().trim() == 'cce_admin') {
|
|
// $('.k-grid-EditTicketFeedback').text("").removeClass("k-button k-button-icontext").html("<span class='k-icon k-edit'></span>").show();
|
|
// $('.k-grid-TicketDetails').hide();
|
|
//} else {
|
|
$('.k-grid-TicketDetails').text("").removeClass("k-button k-button-icontext").html("<span class='k-icon k-justifyFull'></span>").show();
|
|
// $('.k-grid-EditTicketFeedback').hide();
|
|
//}
|
|
|
|
//$('.k-grid-feedback').text("").removeClass("k-button k-button-icontext").html("<span class='k-icon k-justifyFull'></span>");
|
|
//$('.k-grid-Performance').text("").removeClass("k-button k-button-icontext").html("<span class='k-icon k-performance'></span>");
|
|
|
|
// called common file function to show title on mouse hover.
|
|
addTitleAttribute();
|
|
|
|
// sla met or not met functionality
|
|
var data = this.dataSource.view();
|
|
//console.log(this.dataSource.view());
|
|
for (var i = 0; i < data.length; i++) {
|
|
|
|
//get uid of row
|
|
var uid = data[i].uid;
|
|
// get default sla time of row
|
|
var defaultSla = data[i].DefaultSlaTime;
|
|
// get total ticket life cycle sla value
|
|
var totalLifeCycleSla = data[i].TotalTicketLifeCycleTimeSlab;
|
|
|
|
// get feedback of row
|
|
var feedback = data[i].DefaultCol2;
|
|
// get age of row
|
|
var age = parseFloat(data[i].Age, 10);
|
|
//console.log(age);
|
|
// get 24 hrs reason of row
|
|
var reasonFor24Hrs = data[i].DefaultCol3;
|
|
|
|
// get feedback of row
|
|
var feedbackCallStatus = data[i].CallStatus;
|
|
//console.log(feedbackCallStatus);
|
|
var row = this.table.find("tr[data-uid='" + uid + "']");
|
|
|
|
if (defaultSla > totalLifeCycleSla) {
|
|
//row.find('.k-grid-feedback').text("").removeClass("k-button k-button-icontext").html("<span style='background: green;' class='feedback'>F</span>");
|
|
row.find('.k-grid-resolutionSla').text("").removeClass("k-button k-button-icontext").html("<img src='" + slaMetImagePath + "' title='SLA met'>");
|
|
} else {
|
|
// row.find('.k-grid-feedback').text("").removeClass("k-button k-button-icontext").html("<img src='" + slaMetImagePath + "' title='SLA met'>");
|
|
row.find('.k-grid-resolutionSla').text("").removeClass("k-button k-button-icontext").html("<img src='" + slaNotMetImagePath + "' title='SLA not met'>");
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
/**
|
|
* To get filter parameters and export report.
|
|
* @method exportReport
|
|
* @for KamCloseTicketReport
|
|
*/
|
|
function exportReport() {
|
|
var userID = userId;
|
|
var startDate = $("#startDate").val();
|
|
var endDate = $("#endtDate").val();
|
|
// sending ajax request to export ICR Unique Users and Data Usage to Excel, and hadling its completion
|
|
if (xhr_exportExport && xhr_exportExport.readystate != 4) {
|
|
xhr_exportExport.abort();
|
|
}
|
|
xhr_exportExport = $.ajax({
|
|
type: "POST",
|
|
url: "/Report/Report_KamTickets_Close_ExportToExcel/",
|
|
data: { userId: userID, startDate: startDate, endDate: endDate, ticketStatus: "close" },
|
|
success: function (data) {
|
|
// making the generated Excel available for downloading.
|
|
window.location.href = data;
|
|
},
|
|
complete: function () {
|
|
},
|
|
error: function (data) {
|
|
console.log("Error in Export to Excel");
|
|
}
|
|
});
|
|
}
|
|
|
|
var assignedTo, startDateParam, endDateParam, responseTime, vehicleTag, age;
|
|
|
|
/**
|
|
* To get refresh reports on close of ticket details.
|
|
* @method getRefresh
|
|
* @for KamCloseTicketReport
|
|
*/
|
|
function getRefresh() {
|
|
$(".k-i-close").click(function () {
|
|
var currentPage = $("#KamCloseTicket").data('kendoGrid').dataSource.page();
|
|
//getKamCloseTicketHistory(currentPage);
|
|
$('#KamCloseTicket').data('kendoGrid').dataSource.read();
|
|
$('#KamCloseTicket').data('kendoGrid').refresh();
|
|
|
|
});
|
|
}
|
|
|
|
//============================= document ready function ===============================//
|
|
|
|
$(document).ready(function () {
|
|
$('.excelIcon').hide();
|
|
|
|
getKamCloseTicketHistory();
|
|
|
|
addKendoWindow("#divTicketDetails", "Ticket Details", "1000px", 150, 120);
|
|
$("#divTicketDetails").parent().addClass("TicketReportDetails_Window");
|
|
}); |