You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

159 lines
4.8 KiB
JavaScript

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

var UserTimeHelper = (function ($, window, document, undefined) {
//controller注意全部小写
//子系统
var allowSystem = [
"proposalcustomer",
"riskevaluation",
"liability",
"incomeandexpenses",
"cashflow",
"financialratios",
"cashplan",
"lifeeducationplan",
"consumptionplan",
"startanundertakingplan",
"retirementplan",
"insuranceplan",
"investmentplan",
"taxplan",
"distributionofproperty",
"heritage"
];
//资源
var allowResource = [
"sturesource"
];
//认证考试
var allowExam = [
"eheoryexamine"
];
var timespan = 5 * 60 * 1000 - 5000; //4分钟55秒
var time = timespan;
var flag = true;
var place = { x: 0, y: 0 };
var time_Id_1 = "";
var time_Id_2 = "";
var Init = function(){
//鼠标移动时,不进行倒计时
$(document).mousemove(function (e) {
//没有成功/错误/确认弹出框,才重新计时
var size1 = $("#popConfirm").size();
var size2 = $("#popMsg").size();
if (size1 < 1 && size2 < 1) {
if (place.x != e.pageX || place.y != e.pageY) {
place.x = e.pageX;
place.y = e.pageY;
time = timespan;
flag = true;
}
}
});
//键盘输入时,不进行倒计时
$(window).keydown(function (event) {
time = timespan;
flag = true;
});
//倒计时
time_Id_1 = window.setInterval(countdown,1000);
function countdown() {
var controller = $("#hdController").val();
var SummaryType = 0;
var index = -1;
//子系统
index = $.inArray(controller, allowSystem);
if (index > -1) {
SummaryType = 1;
}
//资源
index = $.inArray(controller, allowResource);
if (index > -1) {
SummaryType = 2;
}
//认证考试
index = $.inArray(controller, allowExam);
if (index > -1) {
SummaryType = 3;
}
if (SummaryType != 0) {
if (time >= 0) {
time = time - 1000;
if (!flag) {
flag = true;
}
} else {
flag = false;
clearInterval(time_Id_1);
clearInterval(time_Id_2);
//弹出窗口,并停止统计时间
dialogHelper.Confirm({
content: "您已超时,是否继续操作?",
success: function () {
flag = true;
time = timespan;
//重启计时
time_Id_1 = window.setInterval(countdown, 1000);
time_Id_2 = window.setInterval(counttime, (1 * 60 * 1000));
},
cancle: function () {
location.href = "/SignIn/SignOut";
}
});
}
}
}
//每1分钟统计一次
time_Id_2 = window.setInterval(counttime,(1 * 60 * 1000));
function counttime(){
if(flag){
//判断是否需要统计的controller
var controller = $("#hdController").val();
var SummaryType = 0;
var index = -1;
//子系统
index = $.inArray(controller, allowSystem);
if (index > -1) {
SummaryType = 1;
}
//资源
index = $.inArray(controller, allowResource);
if (index > -1) {
SummaryType = 2;
}
//认证考试
index = $.inArray(controller, allowExam);
if (index > -1) {
SummaryType = 3;
}
if (SummaryType != 0) {
if (_ajax_backup != null && _ajax_backup != undefined) {
_ajax_backup({
url: "/Student/Common/AddUserTimeSummary",
type: "POST",
async: true,
dataType: "json",
data:
{
SummaryType: SummaryType,
usedTime: 1,
rId: Math.random()
},
success: function (data) {
//成功无需执行任何操作
}
});
}
}
}
}
};
return {
Init: Init,
};
})(jQuery, window, document);