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

1 year ago
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);