用DOMINO6.5,XML+XSL+javascript实现任务的统计

1,首先是任务的XML文档(实验性数据,以后会通过代理自动生成XML文件)

statics.xml?openpage

===================================

<?xml version="1.0" encoding="gb2312" ?>
<Tasks>
<task>
   <username>xyn</username>
   <fileid>XXXXXXXXXXXXXXXXXXXXX</fileid>
   <tasktitle>how to make statics</tasktitle>
   <content>using xml</content>
   <starttime>2004-08-01</starttime>
   <endtime>2004-08-08</endtime>
   <statu>going well...</statu>
   <hours>20</hours>
   <leaders>jzokay,zzq</leaders>
   <pj>ddddddd</pj> 
</task>
<task>
   <username>chenjun</username>
   <fileid>444444444444444</fileid>
   <tasktitle>SBB,OA</tasktitle>
   <content>SBB,OA</content>
   <starttime>2004-08-01</starttime>
   <endtime>2004-08-08</endtime>
   <statu>done</statu>
   <hours>2</hours>
   <leaders>ww</leaders>
   <pj>well done!!!</pj>
</task> 

<task>
   <username>Administrator</username>
   <fileid>44444444445555555555</fileid>
   <tasktitle>test pertask4sbb.nsf on R6.5</tasktitle>
   <content>it dons't support Chinese very well,be careful!</content>
   <starttime>2004-08-01</starttime>
   <endtime>2004-08-08</endtime>
   <statu>doing</statu>
   <hours>10</hours>
   <leaders>Jzokay</leaders>
   <pj>be careful</pj>
</task>
<task>
   <username>wangqiang</username>
   <fileid>44444444445555555555</fileid>
   <tasktitle>test pertask4sbb.nsf on R6.5</tasktitle>
   <content>it dons't support Chinese very well,be careful!</content>
   <starttime>2004-08-01</starttime>
   <endtime>2004-08-08</endtime>
   <statu>doing</statu>
   <hours>10</hours>
   <leaders>Jzokay</leaders>
   <pj>be careful</pj>
</task>

<task>
   <username>xyn</username>
   <fileid>1111111111111</fileid>
   <tasktitle>the web of our company</tasktitle>
   <content>as so as possibal</content>
   <starttime>2004-08-01</starttime>
   <endtime>2004-08-25</endtime>
   <statu>on the way</statu>
   <hours>10</hours>
   <leaders>xigong</leaders>
   <pj>sooner,better</pj>
</task>

<task>
   <username>xyn</username>
   <fileid>33333333333</fileid>
   <tasktitle>do search in R6.5,get ready for other program</tasktitle>
   <content>do search in R6.5</content>
   <starttime>2004-08-01</starttime>
   <endtime>2004-08-08</endtime>
   <statu>doing</statu>
   <hours>30</hours>
   <leaders>Jzokay</leaders>
   <pj>sooner,better</pj>
</task>

<task>
   <username>wangqiang</username>
   <fileid>11111111111</fileid>
   <tasktitle>XXXXXXX</tasktitle>
   <content>CCCCCCCCCCC</content>
   <starttime>2004-08-01</starttime>
   <endtime>2004-08-08</endtime>
   <statu>done</statu>
   <hours>12</hours>
   <leaders>Jzokay</leaders>
   <pj>OKOKOKOKOKOK</pj>
</task>

<task>
   <username>wangyang</username>
   <fileid>1223344556788</fileid>
   <tasktitle>VVVVVVVVVVVVV</tasktitle>
   <content>MMMMMMMMMMMMMMMMMMMMMMMMMMMMMM</content>
   <starttime>2004-08-01</starttime>
   <endtime>2004-08-08</endtime>
   <statu>done</statu>
   <hours>20</hours>
   <leaders>ww</leaders>
   <pj>good!!</pj>
</task>

<task>
   <username>wangyang</username>
   <fileid>44444444444555766666666</fileid>
   <tasktitle>tttttttttttttt</tasktitle>
   <content>zzzzzzzzzzzzzzzz</content>
   <starttime>2004-08-01</starttime>
   <endtime>2004-08-08</endtime>
   <statu>done</statu>
   <hours>7</hours>
   <leaders>zzq</leaders>
   <pj>OKOKOKOKOKOKOK</pj>
</task>

<task>
   <username>xyn</username>
   <fileid>585858585858585</fileid>
   <tasktitle>UUUUUUUUUUUUUUUUUUUUUUUU</tasktitle>
   <content>SSSSSSSSSSSSSSSSSSSSSSSSSS</content>
   <starttime>2004-08-01</starttime>
   <endtime>2004-08-08</endtime>
   <statu>on its way</statu>
   <hours>10</hours>
   <leaders>Jzokay</leaders>
   <pj>OKKOKOKOKOKOKKO</pj>
</task>
</Tasks>

========================================

2,style2.xsl?openpage

========================================

<?xml version="1.0" encoding="gb2312"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/TR/WD-xsl"  xmlns="http://www.w3.org/TR/REC-html40"><xsl:template match="/">
<html>
<body>
<table width="60%" border="1" cellspacing="0" align="center" bordercolorlight="#000000" bordercolordark="#FFFFFF">
<tr bgcolor="#9acd32">
<th width="10%">
username</th>
<th width="10%">
title</th>
<th width="10%">
fileid</th>
<th width="10%">
content</th>
<th width="10%">
start at</th>
<th width="10%">
end at</th>
<th width="10%">
statu</th>
<th width="10%">
hours</th>
<th width="10%">
leaders</th>
<th width="10%">
pingjia</th>
</tr>
<xsl:for-each select="Tasks/task">
<tr>
<td><xsl:value-of select="username"/></td>
<td><xsl:value-of select="fileid"/></td>
<td><xsl:value-of select="tasktitle"/></td>
<td><xsl:value-of select="content"/></td>
<td><xsl:value-of select="starttime"/></td>
<td><xsl:value-of select="endtime"/></td>
<td><xsl:value-of select="statu"/></td>
<td><xsl:value-of select="hours"/></td>
<td><xsl:value-of select="leaders"/></td>
<td><xsl:value-of select="pj"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>

</xsl:stylesheet>

========================================
3,表单:我的任务|myTask

域:thisuser(当前用户)、auser(指定的一个用户)、time1(查询的开始时间)、time2(查询的结束时间)

jsheader:

var xml = new ActiveXObject("Microsoft.XMLDOM");
xml.async = false;
xml.load("statics.xml?openpage");

//打表头
function writeHeader()
{
 var htm = "<table width='60%' border='1' cellspacing='0' cellpadding='2' align='center'"
 htm = htm +"  bordercolorlight=#000000 bordercolordark=#FFFFFF><tr bgcolor='#9acd32'>"
 htm = htm + "<th>当前用户</th>"
 htm = htm + "<th>任务标题</th>"
 htm = htm + "<th>文档号</th>"
 htm = htm + "<th>任务内容</th>"
 htm = htm + "<th>开始时间</th>"
 htm = htm + "<th>结束时间</th>"
 htm = htm + "<th>当前状态</th>"
 htm = htm + "<th>工作量</th>"
 htm = htm + "<th>负责人</th>"
 htm = htm + "<th>评价</th></tr>"
 return htm
}

//不管如何,打出所有任务记录
function loadAll()
{

var xsl = new ActiveXObject("Microsoft.XMLDOM");
xsl.async = false;
xsl.load("style2.xsl");
var soruce = xml.transformNode(xsl)
 var obj = document.getElementById("d1");
 obj.innerHTML = soruce
}

//打出当前用户的任务记录
function loadByUser()
{
 var obj = document.getElementById("thisuser")
 var items = xml.selectNodes("//Tasks/task[username='"+obj.value+"']");
 var i
 var total=0
 var htmlbody=""
 if(items.length!=0)
 {
  for(i=0;i<items.length;i++)
  {
   htmlbody = htmlbody + "<tr>"
   htmlbody = htmlbody + "<td>" + items.item(i).childNodes.item(0).nodeTypedValue + "</td>"
   htmlbody = htmlbody + "<td>" + items.item(i).childNodes.item(1).nodeTypedValue + "</td>"
   htmlbody = htmlbody + "<td>" + items.item(i).childNodes.item(2).nodeTypedValue + "</td>"
   htmlbody = htmlbody + "<td>" + items.item(i).childNodes.item(3).nodeTypedValue + "</td>"
   htmlbody = htmlbody + "<td>" + items.item(i).childNodes.item(4).nodeTypedValue + "</td>"
   htmlbody = htmlbody + "<td>" + items.item(i).childNodes.item(5).nodeTypedValue + "</td>"
   htmlbody = htmlbody + "<td>" + items.item(i).childNodes.item(6).nodeTypedValue + "</td>"
   htmlbody = htmlbody + "<td>" + items.item(i).childNodes.item(7).nodeTypedValue + "</td>"
   htmlbody = htmlbody + "<td>" + items.item(i).childNodes.item(8).nodeTypedValue + "</td>"
   htmlbody = htmlbody + "<td>" + items.item(i).childNodes.item(9).nodeTypedValue + "</td>"
   htmlbody = htmlbody + "</tr>"
   total = total + parseInt(items.item(i).childNodes.item(7).nodeTypedValue)
  }
  if(htmlbody!="")
  {
   document.getElementById("d1").innerHTML = writeHeader()+htmlbody + "</table>";
  }
  else
  {
   document.write("没有找到符合指定条件的记录!")
  }
  //document.write(htmlbody);
  //document.write("</table>")
  //alert(total)
 }
 else
 {
  document.write("没有找到符合指定条件的记录!")
 }
}

//根据用户名、起止时间,查询某用户在一个时间内的任务记录,并统计工作量

function loadByUser_1(username,time1,time2)
{
 //time1 = time1.replace("-","").replace("-","")
 //time2 = time2.replace("-","").replace("-","") 
 var obj = document.getElementById("auser")
 //alert(time2)
 var items = xml.selectNodes("//Tasks/task[username='"+obj.value+"']");
 //var items = xml.selectNodes("//Tasks/task[username='"+obj.value+"' and endtime>" + time1 + " and endtime<"+time2+"]");
 var i
 var total=0
 var htmlbody=""
 if(items.length!=0)
 {
  for(i=0;i<items.length;i++)
  {
  //if(items.item(i).childNodes.item(5).nodeTypedValue>time1&&items.item(i).childNodes.item(5).nodeTypedValue<time2)
  //{
   if(items.item(i).childNodes.item(5).nodeTypedValue>=time1&&items.item(i).childNodes.item(5).nodeTypedValue<=time2)
   {
    //alert("OK")
   //}
   htmlbody = htmlbody + "<tr>"
   htmlbody = htmlbody + "<td>" + items.item(i).childNodes.item(0).nodeTypedValue + "</td>"
   htmlbody = htmlbody + "<td>" + items.item(i).childNodes.item(1).nodeTypedValue + "</td>"
   htmlbody = htmlbody + "<td>" + items.item(i).childNodes.item(2).nodeTypedValue + "</td>"
   htmlbody = htmlbody + "<td>" + items.item(i).childNodes.item(3).nodeTypedValue + "</td>"
   htmlbody = htmlbody + "<td>" + items.item(i).childNodes.item(4).nodeTypedValue + "</td>"
   htmlbody = htmlbody + "<td>" + items.item(i).childNodes.item(5).nodeTypedValue + "</td>"
   htmlbody = htmlbody + "<td>" + items.item(i).childNodes.item(6).nodeTypedValue + "</td>"
   htmlbody = htmlbody + "<td>" + items.item(i).childNodes.item(7).nodeTypedValue + "</td>"
   htmlbody = htmlbody + "<td>" + items.item(i).childNodes.item(8).nodeTypedValue + "</td>"
   htmlbody = htmlbody + "<td>" + items.item(i).childNodes.item(9).nodeTypedValue + "</td>"
   htmlbody = htmlbody + "</tr>"
   total = total + parseInt(items.item(i).childNodes.item(7).nodeTypedValue)
   }
  }
 
  document.getElementById("d1").innerHTML = writeHeader()+htmlbody + "</table>" + "总共工作量:"+ total;
  //document.write(htmlbody);
  //document.write("</table>")
  //alert(total)
 }
 else
 {
  document.getElementById("d1").innerHTML = "没有找到符合指定条件的记录!"
 }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值