Web应用项目实时跟踪

=-=最近学到HTML5的localStorage 弄了一个实例玩玩

<!DOCTYPE html>

<html lang="en" manifest="monkeeTime.manifest">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>明镜止水</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="Desktop/jquery-1.8.3/jquery-1.8.3/jquery.min.js"></script>
<script src="js/monkeeTime.js"></script>
</head>
<body>
<div id="about" class="hidden">
<p><strong></p>
<p><button type="button" id="closeButton"> Close</button> </p>
</div>
<div id="clearLog-message" title="Clear Log" class="hidden">
确定要清除所有数据?
</div>
<div id="emptyFields-message" title="Missing Required Fields" class="hidden">
必须提供相应数据。
</div>
<header>
<button type="button" id="aboutButton">About</button>
<h1>DEMO</h1>
<form id="logForm">
<input type="text" name="project" value="Project Name" οnfοcus="if(this.value == 'Project Name') this.value ='';"οnblur="if(this.value=='')this.value='Project Name';">
<input type="number" name="hours" value="Hours" class="shortField" οnfοcus="if(this.value=='Hours') this.value='';"οnblur="if(this.value=='')this.value='Hours';">
<input type="text" name="date" value="Date" id="date" class="shortField" οnfοcus="if(this.value=='Date') this.value='';"οnblur="if(this.value=='')this.value='Date';">
<input type="submit" value="Log Time">
</form>
</header>
<section>
<header>
<p>总时长:<span>0</span>hours</p>
</header>
<ul id="thelog">
<li class="empty">Loading&hellip;</li>
</ul>
<button type="button" id="clearLog">Clear Log</button>
</section>
<footer>
<p>demo</p>
</footer>
</body>

</html>

js:$(document).ready(function(){
if(typeof(localStorage)=='undefined'){
alert('Your browser dose not support HTML5 localStorage.Try upgrading.');
}else{
getAllItems();
$("logForm").submit(function(){
var newDate=new Date();
var itemId=newDate.getTime();
var values=new Array();
var project=$("input[name='project']").val();
var hours=$("input[name='hours']").val();
var date=$("input[name='date']").val();
project=project.replace(/(<([^>]+)>)/ig,"");
values.push(project);
values.push(hours);
values.push(date);
if(project==""||project=="Prpject Name"||hours==""||hours=="Hours"||date==""||date=="Date"){
$("#emptyFields-message").dialog({
resizable:false,
height:140,
modal:true,
show:'fold',
buttons:{
OK:function(){
$(this).dialog('close');
}
}
});

}else{
try{
localStorage.setItem(itemId,values.join(';'));
}catch(e){
if(e==QUOTA_EXCEEDED_ERR){
alert('Quota exceeded!');
}
}
getAllItems();
}

}
);
$("#clearLog").click(function(){
$("#clearLog-message").dialog({
resizable:false,
height:140,
modal:true,
show:'fold',
buttons:{
'Delet all items':function(){
localStorage.clear();
getAllItems();
$(this).dialog('close');
},
Cancel:function(){
$(this).dialog('close');
}
}
});

});
$("#aboutButton").click(function(){
$("#about").slideDown("slow");

});
$("#closeButton").click(function(){
$("#about").slideUp("slow");
});
}

});


function getAllItems() {
var timeLog="";
var i=0;
var logLength=localStorage.length-1;
var totalHours=0.0;
for(i=0;i<logLength;i++){
var itemKey=localStorage.key(i);
var values=localStorage.getItem(itemKey);
values=values.split(";");
var project=values[0];
var hours=values[1];
var date=values[2];
timeLog += '<li><strong>' + project +'</strong>:'+ hours +'hours<span class="delete">&times;<span class="hidden" title="Delete Time" id="'+itemKey+'">Are you sure you want to delete' +project+ ' form the log?</span></span> <span class="date">'+date+'</span></li>';
totalHours=totalHours+parseInt(hours);
}
if(timeLog=="")
timeLog='<li class="empty">Log Currently Empty</li>';
//显示总小时数
$("section header p span").html(totalHours);
//更新了所有项目的日志
$("#theLog").html(timeLog);
//最后移除底部边框
$("ul li:last-child").css("border",0);
deleteItem();//在最新名单中,绑定每个项目对话框
}


function deleteItem() {
var deleteItemDialog = new Array();
$(".delete").each(function(){
var id = $(this).find("span").attr("id");
deleteItemDialog[id] = $("#"+id).dialog({
autoOpen:false,
resizable:false,
height:140,
modal:true,
show:'fold',
buttons:{
'Delete Time':function(){
localStorage.removeItem(id);
getAllItems();
$(this).dialog("close");
},
Cancle:function(){
$(this).dialog("close");
}
}
});
$(this).click(function(){
deleteItemDialog[id].dialog("open");
return false;
});

});

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
随着信息产业的不断壮大,对软件的需求也越来越多,推动了软件开发行业的迅猛发展,团体开发软件已经是非常重要的软件开发手段,为了加强团体协作的高效性和对软件开发的同步和准确性,实现对软件开发过程的有效的管理和对开发事务的有效及时的处理,就需要一款适合软件开发团队协作使用的事务跟踪和管理系统。 系统主要基于.NET Framework的体系结构,应用ASP.NET开发技术以及C#语言和ADO.NET,实现了基于ASP.NET的事务跟踪系统,首先分析了团体开发软件时的协作中碰到的同步性、时效性等问题,分析并获取了本事务跟踪系统的原始需求,在设计系统时采用了表现层USL、业务逻辑层BLL、数据访问层DAL以及数据访问层接口IDAL的三层模型,另外采用了Log4net为系统的管理并记录日志。实现了对事务的及时跟踪,使得对信息的管理更加及时、高效,提高了工作效率,该系统的主要功能的功能有人员注册、密码修改及找回,项目的创建、人员配置、人员锁定解锁,任务的创建、状态修改、任务的搜索、关注,邮件提醒,以及后台线程对数据库的操作实现历史任务信息的自动存档功能。 系统布署上线以后运行良好,经过对使用者的使用调查,加入了任务留言时邮件提醒、新增了对任务类别的管理及搜索,使得系统有更好的用户体验。 关键词:ASP.NET,ADO.NET,C#,Log4net,IDAL,事务跟踪

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值