仿签到功能
开发工具:MyEclipse、MySQL
开发语言:javabean+servlet+jsp、layui 、bootstrap
图如下:
jsp代码如下:
//点击签到按钮
function signIn(){
if (daytime==undefined) {
var memberID=${SESSION_USERs.memberID};
var remarks="签到";
var date = new Date();
var seperator1 = "-";
var seperator2 = ":";
var month = date.getMonth() + 1;
var strDate = date.getDate();
if (month >= 1 && month <= 9) {
month = "0" + month;
}
if (strDate >= 0 && strDate <= 9) {
strDate = "0" + strDate;
}
var currentdates = date.getFullYear() + seperator1 + month + seperator1 + strDate
+ " " + date.getHours() + seperator2 + date.getMinutes()
+ seperator2 + date.getSeconds();
var handleTime=currentdates;
if (memberID > 0 && remarks != undefined && remarks != ""&& handleTime != undefined && handleTime != "") {
var layerIndex = layer.load(0);
$.post("${ctx}/servlet/integralServlet?fun=doInsertIntegral", {
memberID: memberID,
remarks: remarks,
handleTime:handleTime
}, function (message) {
layer.close(layerIndex);
layer.msg("签到成功!", { icon: 0, skin: "layui-layer-molv" });
});
}
else {
layer.alert('请填写完整', { icon: 0, title: '提示' });
}
} else {
today = daytime;
today = today.substring(0,10);
if (today==currentdate) {
layer.msg("今天已签到!", { icon: 0, skin: "layui-layer-molv" });
} else {
var memberID=${SESSION_USERs.memberID};
var remarks="签到";
var date = new Date();
var seperator1 = "-";
var seperator2 = ":";
var month = date.getMonth() + 1;
var strDate = date.getDate();
if (month >= 1 && month <= 9) {
month = "0" + month;
}
if (strDate >= 0 && strDate <= 9) {
strDate = "0" + strDate;
}
var currentdates = date.getFullYear() + seperator1 + month + seperator1 + strDate
+ " " + date.getHours() + seperator2 + date.getMinutes()
+ seperator2 + date.getSeconds();
var handleTime=currentdates;
if (memberID > 0 && remarks != undefined && remarks != ""&& handleTime != undefined && handleTime != "") {
var layerIndex = layer.load(0);
$.post("${ctx}/servlet/integralServlet?fun=doInsertIntegral", {
memberID: memberID,
remarks: remarks,
handleTime:handleTime
}, function (message) {
layer.close(layerIndex);
layer.msg("今天已签到!", { icon: 0, skin: "layui-layer-molv" });
});
}
else {
layer.alert('请填写完整', { icon: 0, title: '提示' });
}
}
}
}
//签到日历
function ss(){
var memberID=${SESSION_USERs.memberID};
$.getJSON("${ctx}/servlet/integralServlet?fun=doPersonSelect&memberID=" + memberID+"&YM="+YM, function (data) {
console.log(data);
for(var i=0;i<data.length;i++){
daytime=ChangeDateFormat(data[i].handleTime);
var HandleTime=data[i].handleTime.date;
HandleTime=HandleTime-1;
arrdate.push(HandleTime);
}
var signFun = function() {
var dateArray=arrdate;// 假设已经签到的
var $dateBox = $("#js-qiandao-list"),//日历
$currentDate = $(".current-date"),
$qiandaoBnt = $("#js-just-qiandao"),//被调用的那个id(签到按钮)
_html = '',
_handle = true,
myDate = new Date();
$currentDate.text(myDate.getFullYear() + '年' + parseInt(myDate.getMonth() + 1) + '月' + myDate.getDate() + '日');
var monthFirst = new Date(myDate.getFullYear(), parseInt(myDate.getMonth()), 1).getDay();
var d = new Date(myDate.getFullYear(), parseInt(myDate.getMonth() + 1), 0);
var totalDay = d.getDate(); //获取当前月的天数
for (var i = 0; i < 42; i++) {
_html += ' <li><div class="qiandao-icon"></div></li>';
}
$dateBox.html(_html); //生成日历网格
var $dateLi = $dateBox.find("li");
for (var i = 0; i < totalDay; i++) {
$dateLi.eq(i + monthFirst).addClass("date" + parseInt(i + 1));
for (var j = 0; j < dateArray.length; j++) {
if (i == dateArray[j]) {
$dateLi.eq(i + monthFirst).addClass("qiandao");
}
}
} //生成当月的日历且含已签到
$(".date" + myDate.getDate()).addClass('able-qiandao');
$dateBox.on("click", "li", function() {
if ($(this).hasClass('able-qiandao') && _handle) {
$(this).addClass('qiandao');
qiandaoFun();
}
}); //签到
$qiandaoBnt.on("click", function() {
if (_handle) {
if (daytime!=undefined) {
var daytimess = daytime.substring(0,10);
if(daytimess==currentdate){
qiandaoFun();
layer.msg("今天已签到!", { icon: 0, skin: "layui-layer-molv" });
}else{
signIn();
qiandaoFun();
}
} else {
signIn();
qiandaoFun();
}
}
}); //签到
if (daytime!=undefined) {
var hh=daytime.substring(0,10);
if(hh==currentdate){
$qiandaoBnt.addClass('actived');
_handle = false;
}
} else {
}
function qiandaoFun() {
$qiandaoBnt.addClass('actived');
openLayer("qiandao-active", qianDao);
_handle = false;
}
function qianDao() {
$(".date" + myDate.getDate()).addClass('qiandao');//签到的就画线
}
}();
function openLayer(a, Fun) {
$('.' + a).fadeIn(Fun);
} //打开弹窗
var closeLayer = function() {
$("body").on("click", ".close-qiandao-layer", function() {
$(this).parents(".qiandao-layer").fadeOut();
});
}(); //关闭弹窗
$("#js-qiandao-history").on("click", function() {
openLayer("qiandao-history-layer", myFun);
function myFun() {
console.log(1);
} //打开弹窗返回函数
});
});
}