EOS/Scripts/out/files/Ticket_TicketFeedback.js.html
Nidhi Bhargava f0c1ab20e1 code push
2025-09-04 16:25:07 +05:30

576 lines
23 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Ticket\TicketFeedback.js</title>
<link rel="stylesheet" href="http://yui.yahooapis.com/3.9.1/build/cssgrids/cssgrids-min.css">
<link rel="stylesheet" href="../assets/vendor/prettify/prettify-min.css">
<link rel="stylesheet" href="../assets/css/main.css" id="site_styles">
<link rel="shortcut icon" type="image/png" href="../assets/favicon.png">
<script src="http://yui.yahooapis.com/combo?3.9.1/build/yui/yui-min.js"></script>
</head>
<body class="yui3-skin-sam">
<div id="doc">
<div id="hd" class="yui3-g header">
<div class="yui3-u-3-4">
<h1><img src="../assets/css/logo.png" title=""></h1>
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: </em>
</div>
</div>
<div id="bd" class="yui3-g">
<div class="yui3-u-1-4">
<div id="docs-sidebar" class="sidebar apidocs">
<div id="api-list">
<h2 class="off-left">APIs</h2>
<div id="api-tabview" class="tabview">
<ul class="tabs">
<li><a href="#api-classes">Classes</a></li>
<li><a href="#api-modules">Modules</a></li>
</ul>
<div id="api-tabview-filter">
<input type="search" id="api-filter" placeholder="Type to filter APIs">
</div>
<div id="api-tabview-panel">
<ul id="api-classes" class="apis classes">
<li><a href="../classes/CallFeedbackRating.html">CallFeedbackRating</a></li>
<li><a href="../classes/CloseTicketReport.html">CloseTicketReport</a></li>
<li><a href="../classes/ConsolidatedReport.html">ConsolidatedReport</a></li>
<li><a href="../classes/CustomerReport.html">CustomerReport</a></li>
<li><a href="../classes/DealerWiseCallDetails.html">DealerWiseCallDetails</a></li>
<li><a href="../classes/DeclinedCalls.html">DeclinedCalls</a></li>
<li><a href="../classes/DropDownData.html">DropDownData</a></li>
<li><a href="../classes/EicherPromise.html">EicherPromise</a></li>
<li><a href="../classes/EosCallCount.html">EosCallCount</a></li>
<li><a href="../classes/GeoAnalysis.html">GeoAnalysis</a></li>
<li><a href="../classes/HdBusLmdContrCallFeedbackRatingibution.html">HdBusLmdContrCallFeedbackRatingibution</a></li>
<li><a href="../classes/HdBusLmdContribution.html">HdBusLmdContribution</a></li>
<li><a href="../classes/HistoryTracking.html">HistoryTracking</a></li>
<li><a href="../classes/LiveTracking.html">LiveTracking</a></li>
<li><a href="../classes/ManageEscalation.html">ManageEscalation</a></li>
<li><a href="../classes/ManageFleet.html">ManageFleet</a></li>
<li><a href="../classes/ManageFleet_Detail.html">ManageFleet_Detail</a></li>
<li><a href="../classes/ManageFleet_details.html">ManageFleet_details</a></li>
<li><a href="../classes/ManageOwner.html">ManageOwner</a></li>
<li><a href="../classes/ManageReason.html">ManageReason</a></li>
<li><a href="../classes/ManageVechile.html">ManageVechile</a></li>
<li><a href="../classes/ManageVehicle.html">ManageVehicle</a></li>
<li><a href="../classes/NonVecvUserManagement.html">NonVecvUserManagement</a></li>
<li><a href="../classes/Notifications.html">Notifications</a></li>
<li><a href="../classes/OpenTicketReport.html">OpenTicketReport</a></li>
<li><a href="../classes/OrganizationChart.html">OrganizationChart</a></li>
<li><a href="../classes/PositioningTool.html">PositioningTool</a></li>
<li><a href="../classes/PositioningTool_Report.html">PositioningTool_Report</a></li>
<li><a href="../classes/ReasonForClosure.html">ReasonForClosure</a></li>
<li><a href="../classes/Report.html">Report</a></li>
<li><a href="../classes/ShowDealerMap.html">ShowDealerMap</a></li>
<li><a href="../classes/TicketAdministration.html">TicketAdministration</a></li>
<li><a href="../classes/TicketAdministration_FullDetail.html">TicketAdministration_FullDetail</a></li>
<li><a href="../classes/TicketFeedback.html">TicketFeedback</a></li>
<li><a href="../classes/TicketForDealer.html">TicketForDealer</a></li>
<li><a href="../classes/TicketForDealer_FullDetails.html">TicketForDealer_FullDetails</a></li>
<li><a href="../classes/TicketReassign.html">TicketReassign</a></li>
<li><a href="../classes/TileDashboard.html">TileDashboard</a></li>
<li><a href="../classes/TimeSlotClosure.html">TimeSlotClosure</a></li>
<li><a href="../classes/TollFreeAndOpportunityLoss.html">TollFreeAndOpportunityLoss</a></li>
<li><a href="../classes/VanCoverageDesigner.html">VanCoverageDesigner</a></li>
<li><a href="../classes/VecvUserManagement.html">VecvUserManagement</a></li>
</ul>
<ul id="api-modules" class="apis modules">
<li><a href="../modules/Dashboard.html">Dashboard</a></li>
<li><a href="../modules/DropDownData.html">DropDownData</a></li>
<li><a href="../modules/Geo.html">Geo</a></li>
<li><a href="../modules/Inventory.html">Inventory</a></li>
<li><a href="../modules/Notifications.html">Notifications</a></li>
<li><a href="../modules/ReportModule.html">ReportModule</a></li>
<li><a href="../modules/Ticket.html">Ticket</a></li>
<li><a href="../modules/TrackingModule.html">TrackingModule</a></li>
<li><a href="../modules/UserManagement.html">UserManagement</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="yui3-u-3-4">
<div id="api-options">
Show:
<label for="api-show-inherited">
<input type="checkbox" id="api-show-inherited" checked>
Inherited
</label>
<label for="api-show-protected">
<input type="checkbox" id="api-show-protected">
Protected
</label>
<label for="api-show-private">
<input type="checkbox" id="api-show-private">
Private
</label>
<label for="api-show-deprecated">
<input type="checkbox" id="api-show-deprecated">
Deprecated
</label>
</div>
<div class="apidocs">
<div id="docs-main">
<div class="content">
<h1 class="file-heading">File: Ticket\TicketFeedback.js</h1>
<div class="file">
<pre class="code prettyprint linenums">
/*================================================================================================================\
+
+ Project : GoData-Eicher
+ Filename : TicketFeedback.js
+ Module Name : Ticket
+ Purpose : For ticket feedback and reason for more than 24 hours of closing a ticket
+ Coded By : Parul Gupta
+
+================================================================================================================*/
/**
* For ticketing
* @module Ticket
*/
/**
* This class contains functionality of Ticket Feedback Details for CCE.
* @class TicketFeedback
* @constructor
*/
//Global variables
var suggestionArr = []; //array of suggestions
var complaintArr = []; //array of complaints
/**
* Function call on slide
* @method sliderOnSlide
* @for TicketFeedback
*/
function sliderOnSlide(e) {
//console.log(e);
}
/**
* Function call on change of slider
* @method sliderOnChange
* @for TicketFeedback
*/
function sliderOnChange(e) {
var sliderId = e.sender.element[0].id;
var spanCount = sliderId.split(&quot;_&quot;).pop();
var spanId = &quot;#spanRate_&quot; + spanCount;
$(spanId).text(e.value);
}
/**
* Function call to validate if rating has given or not
* @method checkIfRatingHaveGiven
* @for TicketFeedback
*/
function checkIfRatingHaveGiven() {
var _rating1 = $(&quot;#spanRate_1&quot;).text();
var _rating2 = $(&quot;#spanRate_2&quot;).text();
var _rating3 = $(&quot;#spanRate_3&quot;).text();
var _rating4 = $(&quot;#spanRate_4&quot;).text();
var _rating5 = $(&quot;#spanRate_5&quot;).text();
var _rating6 = $(&quot;#spanRate_6&quot;).text();
var ddSuggestion = $(&quot;#SuggestionComplaintList&quot;).val();
var ddCompalint = $(&quot;#ComplaintList&quot;).val();
var otherSuggestion = $(&quot;#txtOtherSuggestionData&quot;).val();
var otherComplaint = $(&quot;#txtOtherComplaintData&quot;).val();
var ddCallStatustValue = $(&quot;#ddCallStatus&quot;).val();
var otherCallStatus = $(&quot;#txtOtherCallStatusData&quot;).val();
if ((_rating1 == &quot;&quot;) &amp;&amp; (_rating2 == &quot;&quot;) &amp;&amp; (_rating3 == &quot;&quot;) &amp;&amp; (_rating4 == &quot;&quot;) &amp;&amp; (_rating5 == &quot;&quot;) &amp;&amp; (_rating6 == &quot;&quot;) &amp;&amp; (ddSuggestion == null) &amp;&amp; (otherSuggestion == &quot;&quot;) &amp;&amp; (ddCompalint == null) &amp;&amp; (otherComplaint == &quot;&quot;) &amp;&amp; (ddCallStatustValue == &quot;&quot; || ddCallStatustValue == null) &amp;&amp; (otherCallStatus == &quot;&quot;)) {
//jAlert(&quot;Please select Call Status atleast !!&quot;, &quot;Message&quot;);
jAlert(FEEDBACK_MESSAGES.requiredCallStatus, &quot;Message&quot;);
return false;
} else { return true; }
}
/**
* Function call to check validations on feedback data
* @method onBeginFeedback
* @for TicketFeedback
*/
function onBeginFeedback() {
if (checkIfRatingHaveGiven() == true) {
if (($(&quot;#txtOtherSuggestionData&quot;).hasClass(&#x27;requiredField&#x27;) == true) || ($(&quot;#txtOtherComplaintData&quot;).hasClass(&#x27;requiredField&#x27;) == true) || ($(&quot;#txtOtherCallStatusData&quot;).hasClass(&#x27;requiredField&#x27;) == true)) {
//jAlert(&quot;Please fill required data to submit feedback !!&quot;, &#x27;Message&#x27;);
jAlert(FEEDBACK_MESSAGES.requiredFieldFill, &#x27;Message&#x27;);
return false;
} else {
return true;
}
}
}
/**
* Function call to submit feedback data
* @method addFeedbackDetails
* @for TicketFeedback
*/
function addFeedbackDetails() {
//create object of feedback model
var FeedBackModel = {};
if (onBeginFeedback() == true) {
if (($(&quot;#ddCallStatus&quot;).val() != &quot;&quot; &amp;&amp; $(&quot;#ddCallStatus&quot;).val() != null) || ($(&quot;#txtOtherCallStatusData&quot;).val() != &quot;&quot;)) {
FeedBackModel.TicketId = $(&quot;#ticketId&quot;).val();
FeedBackModel.FeedBackEaseOfGettingCall = $(&quot;#spanRate_1&quot;).text();
FeedBackModel.FeedBackResponseOfCallCenter = $(&quot;#spanRate_2&quot;).text();
FeedBackModel.FeedBackTimelyUpdationByDealer = $(&quot;#spanRate_3&quot;).text();
FeedBackModel.FeedBackTotalRepairTime = $(&quot;#spanRate_4&quot;).text();
FeedBackModel.FeedBackEosCharges = $(&quot;#spanRate_5&quot;).text();
FeedBackModel.FeedBackOverAllExperience = $(&quot;#spanRate_6&quot;).text();
FeedBackModel.CreationTime = $(&quot;#creationTime&quot;).val();
if (suggestionArr != null) {
var indexOtherSuggestion = suggestionArr.indexOf(&quot;Other&quot;);
if (indexOtherSuggestion &gt; -1) {
suggestionArr.splice(indexOtherSuggestion, 1);
}
}
if ($(&quot;#txtOtherSuggestionData&quot;).val() != &quot;&quot;) {
suggestionArr.push($(&quot;#txtOtherSuggestionData&quot;).val());
}
FeedBackModel.SuggestionComplaintList = suggestionArr;
if (complaintArr != null) {
var indexOtherComplaint = complaintArr.indexOf(&quot;Other&quot;);
if (indexOtherComplaint &gt; -1) {
complaintArr.splice(indexOtherComplaint, 1);
}
}
if ($(&quot;#txtOtherComplaintData&quot;).val() != &quot;&quot;) {
complaintArr.push($(&quot;#txtOtherComplaintData&quot;).val());
}
FeedBackModel.ComplaintList = complaintArr;
if ($(&quot;#ddCallStatus&quot;).val() == &quot;Other&quot;) {
FeedBackModel.CallStatus = $(&quot;#txtOtherCallStatusData&quot;).val();
} else {
FeedBackModel.CallStatus = $(&quot;#ddCallStatus&quot;).val();
}
FeedBackModel.ReasonMoreThan24Hrs = &quot;&quot;;
$.ajax({
type: &quot;POST&quot;,
url: &quot;/Ticket/TicketAdministration_CreateFeedback/&quot;,
contentType: &#x27;application/json&#x27;,
data: JSON.stringify({ model: FeedBackModel }),
success: function (data) {
//console.log(data);
if (data.success == true) {
//jAlert(&#x27;Feedback Details saved successfully !!&#x27;, &#x27;Message&#x27;, function () {
jAlert(FEEDBACK_MESSAGES.savedFeedbackSuccess, &#x27;Message&#x27;, function () {
$(&quot;#&quot; + data.ticketId + &quot; &gt; td.reasonFeedback &gt; span.feedback&quot;).css(&#x27;background&#x27;, &#x27;green&#x27;);
showFeedback();
});
}
},
error: function (data) {
console.log(data);
}
});
} else {
//jAlert(&quot;Please select Call Status !!&quot;, &#x27;Message&#x27;);
jAlert(FEEDBACK_MESSAGES.requiredCallStatus, &#x27;Message&#x27;);
return false;
}
}
}
/**
* Function call to submit reason data
* @method addReasonDetails
* @for TicketFeedback
*/
function addReasonDetails() {
if ($(&quot;#ddReasonMoreThan24Hrs&quot;).val() == &quot;&quot; || $(&quot;#ddReasonMoreThan24Hrs&quot;).val() == null) {
//jAlert(&quot;Please select reason !!&quot;, &#x27;Message&#x27;);
jAlert(FEEDBACK_MESSAGES.requiredReason, &#x27;Message&#x27;);
return false;
} else {
if ($(&quot;#txtOtherReason&quot;).hasClass(&#x27;requiredField&#x27;) == true) {
//jAlert(&quot;Please fill required data to submit reason !!&quot;, &#x27;Message&#x27;);
jAlert(FEEDBACK_MESSAGES.requiredFieldsSubmitReason, &#x27;Message&#x27;);
return false;
} else {
//create feedback model object
var FeedBackModel = {};
FeedBackModel.TicketId = $(&quot;#ticketId&quot;).val();
FeedBackModel.FeedBackEaseOfGettingCall = &quot;&quot;;
FeedBackModel.FeedBackResponseOfCallCenter = &quot;&quot;;
FeedBackModel.FeedBackTimelyUpdationByDealer = &quot;&quot;;
FeedBackModel.FeedBackTotalRepairTime = &quot;&quot;;
FeedBackModel.FeedBackEosCharges = &quot;&quot;;
FeedBackModel.FeedBackOverAllExperience = &quot;&quot;;
FeedBackModel.CreationTime = $(&quot;#creationTime&quot;).val();
FeedBackModel.SuggestionComplaint = &quot;&quot;;
FeedBackModel.Complaint = &quot;&quot;;
// check 24 hours reason
if ($(&quot;#ddReasonMoreThan24Hrs&quot;).val() == &#x27;Other&#x27;) {
FeedBackModel.ReasonMoreThan24Hrs = $(&quot;#txtOtherReason&quot;).val();
} else {
FeedBackModel.ReasonMoreThan24Hrs = $(&quot;#ddReasonMoreThan24Hrs&quot;).val();
}
$.ajax({
type: &quot;POST&quot;,
url: &quot;/Ticket/TicketAdministration_SubmitReason/&quot;,
data: FeedBackModel,
success: function (data) {
//console.log(data);
if (data.success == true) {
//jAlert(&#x27;Reason saved successfully !!&#x27;, &#x27;Message&#x27;, function () {
jAlert(FEEDBACK_MESSAGES.reasonSavedSuccessfully, &#x27;Message&#x27;, function () {
$(&quot;#&quot; + data.ticketId + &quot; &gt; td.reasonFeedback &gt; span.Hours&quot;).css(&#x27;background&#x27;, &#x27;green&#x27;);
showFeedback();
});
}
},
error: function (data) {
console.log(data);
}
});
}
}
}
/**
* Function call on selection change of drop down data list
* @method onChangeDD
* @for TicketFeedback
*/
function onChangeDD($this) {
var ddId = $this;
var ddValue = $(&quot;#&quot; + ddId).find(&#x27;option:selected&#x27;).text();
if (ddValue == &quot;Other&quot;) {
if (ddId == &quot;ddCallStatus&quot;) {
$(&quot;#txtOtherCallStatusData&quot;).addClass(&quot;requiredField&quot;);
$(&quot;#txtOtherCallStatusData&quot;).attr(&#x27;disabled&#x27;, false);
$(&quot;#txtOtherCallStatusData&quot;).val(&#x27;&#x27;);
} else if (ddId == &quot;ddReasonMoreThan24Hrs&quot;) {
//console.log(ddId);
$(&quot;#txtOtherReason&quot;).addClass(&quot;requiredField&quot;);
$(&quot;#txtOtherReason&quot;).attr(&#x27;disabled&#x27;, false);
$(&quot;#txtOtherReason&quot;).val(&#x27;&#x27;);
}
} else {
if (ddId == &quot;ddCallStatus&quot;) {
$(&quot;#txtOtherCallStatusData&quot;).removeClass(&quot;requiredField&quot;);
$(&quot;#txtOtherCallStatusData&quot;).attr(&#x27;disabled&#x27;, true);
$(&quot;#txtOtherCallStatusData&quot;).val(&#x27;&#x27;);
} else if (ddId == &quot;ddReasonMoreThan24Hrs&quot;) {
//console.log(ddId);
$(&quot;#txtOtherReason&quot;).removeClass(&quot;requiredField&quot;);
$(&quot;#txtOtherReason&quot;).attr(&#x27;disabled&#x27;, true);
$(&quot;#txtOtherReason&quot;).val(&#x27;&#x27;);
}
}
}
/**
* Function call on selection change of multiple suggestions drop down data list
* @method onChangeSuggestion
* @for TicketFeedback
*/
function onChangeSuggestion() {
if ($(&quot;#SuggestionComplaintList&quot;).val() == null) {
$(&quot;#txtOtherSuggestionData&quot;).removeClass(&quot;requiredField&quot;);
$(&quot;#txtOtherSuggestionData&quot;).attr(&#x27;disabled&#x27;, true);
$(&quot;#txtOtherSuggestionData&quot;).val(&#x27;&#x27;);
} else if (($(&quot;#SuggestionComplaintList&quot;).val().indexOf(&quot;Other&quot;) != -1) == true) {
$(&quot;#txtOtherSuggestionData&quot;).addClass(&quot;requiredField&quot;);
$(&quot;#txtOtherSuggestionData&quot;).attr(&#x27;disabled&#x27;, false);
$(&quot;#txtOtherSuggestionData&quot;).val(&#x27;&#x27;);
} else {
$(&quot;#txtOtherSuggestionData&quot;).removeClass(&quot;requiredField&quot;);
$(&quot;#txtOtherSuggestionData&quot;).attr(&#x27;disabled&#x27;, true);
$(&quot;#txtOtherSuggestionData&quot;).val(&#x27;&#x27;);
}
}
/**
* Function call on selection change of multiple complaints drop down data list
* @method onChangeComplaint
* @for TicketFeedback
*/
function onChangeComplaint() {
if ($(&quot;#ComplaintList&quot;).val() == null) {
$(&quot;#txtOtherComplaintData&quot;).removeClass(&quot;requiredField&quot;);
$(&quot;#txtOtherComplaintData&quot;).attr(&#x27;disabled&#x27;, true);
$(&quot;#txtOtherComplaintData&quot;).val(&#x27;&#x27;);
} else if (($(&quot;#ComplaintList&quot;).val().indexOf(&quot;Other&quot;) != -1) == true) {
$(&quot;#txtOtherComplaintData&quot;).addClass(&quot;requiredField&quot;);
$(&quot;#txtOtherComplaintData&quot;).attr(&#x27;disabled&#x27;, false);
$(&quot;#txtOtherComplaintData&quot;).val(&#x27;&#x27;);
} else {
$(&quot;#txtOtherComplaintData&quot;).removeClass(&quot;requiredField&quot;);
$(&quot;#txtOtherComplaintData&quot;).attr(&#x27;disabled&#x27;, true);
$(&quot;#txtOtherComplaintData&quot;).val(&#x27;&#x27;);
}
}
/**
* Function call on close of multiple suggestions drop down data list
* @method onCloseSuggestion
* @for TicketFeedback
*/
function onCloseSuggestion() {
suggestionArr = $(&quot;#SuggestionComplaintList&quot;).val();
}
/**
* Function call on close of multiple complaints drop down data list
* @method onCloseComplaint
* @for TicketFeedback
*/
function onCloseComplaint() {
complaintArr = $(&quot;#ComplaintList&quot;).val();
}
/**
* Function call on select item of multiple suggestions drop down data list
* @method onSelectSuggestion
* @for TicketFeedback
*/
function onSelectSuggestion(e) {
var dataItem = this.dataSource.view()[e.item.index()];
}
/**
* Function call on select item of multiple Complaints drop down data list
* @method onSelectComplaint
* @for TicketFeedback
*/
function onSelectComplaint(e) {
var dataItem = this.dataSource.view()[e.item.index()];
}
/**
* Function call on blur of HTML input type tag
* @method onBlurTextBox
* @for TicketFeedback
*/
function onBlurTextBox($this) {
var inputId = $this;
if ($(&quot;#&quot; + inputId).val() != &quot;&quot;) {
$(&quot;#&quot; + inputId).removeClass(&quot;requiredField&quot;);
} else {
$(&quot;#&quot; + inputId).addClass(&quot;requiredField&quot;);
}
}
/**
* Function to add slider
* @method addSlider
* @param {String} sliderId HTML element id where slider is loaded.
* @param {String} spanId HTML element id where slider text is loaded.
* @for TicketFeedback
*/
function addSlider(sliderId, spanId) {
$(sliderId).kendoSlider({
increaseButtonTitle: &quot;Right&quot;,
decreaseButtonTitle: &quot;Left&quot;,
change: sliderOnChange,
//slide: sliderOnSlide,
min: 0,
max: 5,
smallStep: 1,
largeStep: 1
}).data(&quot;kendoSlider&quot;);
}
</pre>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="../assets/vendor/prettify/prettify-min.js"></script>
<script>prettyPrint();</script>
<script src="../assets/js/yui-prettify.js"></script>
<script src="../assets/../api.js"></script>
<script src="../assets/js/api-filter.js"></script>
<script src="../assets/js/api-list.js"></script>
<script src="../assets/js/api-search.js"></script>
<script src="../assets/js/apidocs.js"></script>
</body>
</html>