⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 arrangeday.jsp

📁 一段很有意义的源码,看了就知道,不信试一试啊!
💻 JSP
📖 第 1 页 / 共 2 页
字号:
<%@ page language="java" contentType="text/html; charset=gbk"
    pageEncoding="gbk" import="java.util.*" import="com.wondersgroup.basemodule.arrangedate.service.ArrangeDateService"%>
<%@page import="com.wondersgroup.basemodule.arrangedate.service.impl.ArrangeDateServiceImpl"
import="java.sql.Connection,com.wondersgroup.basemodule.arrangedate.web.from.*,com.wondersgroup.basemodule.arrangedate.dao.impl.*,com.wondersgroup.basemodule.arrangedate.web.from.ArrangeDayBean,com.wondersgroup.basemodule.arrangedate.bo.ArrangeDateBo"
 %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>日程安排</title>
<meta http-equiv="Content-Type" content="text/html; charset=GBK" />
<link href="/YZOA/include/text.css" rel="stylesheet" type="text/css"/>
<style type="text/css">
<!--
.STYLE1 {
	color: #333333;
	font-weight: bold;
}
.STYLE2 {color: #000000}
.STYLE3 {color: #000000; font-weight: bold; }
-->
</style>
</head>
<script>
function operatorTable(date_begin,date_end,msg){
    if(date_begin<8||date_end<8)return false;
    else if(date_begin>22||date_end>22)return false;
    var index = 7;
    table = document.getElementById('tablecontent1');
    var cloums = table.rows[date_begin-index].getElementsByTagName('td');
    cloums[1].rowSpan=date_end-date_begin+1;
    cloums[1].bgColor="#FFFFCC"
    cloums[1].innerHTML=msg;
    
    for(var ix = date_begin-index+1;ix<date_end-index+1;++ix){
         cloums = table.rows[ix].getElementsByTagName('td');
         table.rows[ix].removeChild(cloums[1]);
    }
    
}

function window.onload(){

<%	List list=(List)request.getAttribute("find");
	for(int i=0;i<list.size();i++){
		ArrangeDayBean arrangeDayBean=(ArrangeDayBean)list.get(i);
%>
	operatorTable(<%=arrangeDayBean.getStart_time()%>,<%=arrangeDayBean.getEnd_time()%>,'<a href="/YZOA/doArrangeDateAction.do?action=view&id=<%=arrangeDayBean.getId()%>"><%=arrangeDayBean.getName()%></a><br>');
	<%}%>

}
function change(el)
{
	var a = document.getElementById("table1");
	var b = document.getElementById("table2");
	var c = document.getElementById("table3");
	if(el==1)
	{
		a.style.display="block";
		b.style.display="none";
		c.style.display="none";
	}
	if(el==2)
	{
		a.style.display="none";
		b.style.display="block";
		c.style.display="none";
	}
	if(el==3)
	{
		a.style.display="none";
		b.style.display="none";
		c.style.display="block";
	}
}

function owen()
{
	parent.mainFrame.location.href = "rcap_update.html";
}


/*
    日程数据模型
    index :星期几,从星期一开始.
    date_begin:开始时间
    date_end:结束时间
    events:发生的事件  
*/
function Events(indexs,date_begin,date_end,events){
    
    var item = new Array();
    
    var contain = function(indexs,date_begin,items){   //判断是否包含同一天的多个时间段
        for(var ix =0;ix<items.length;++ix){
            if(indexs==items[ix].indexs&&date_begin<=item[ix].date_end)
            return ix;
        }
        return null;
    }
    
    this.push = function(indexs,date_begin,date_end,events){
        
        
        if(date_begin>date_end){
            alert("开始时间不能小于结束时间");
            throw new Error("开始时间不能小于结束时间,非法的操作!");
        }else if(date_begin<8){
        	date_begin=8;
            //alert("开始时间不能小于8点");
            //throw new Error("开始时间不能小于8点,非法的操作!");
        }else if(date_end>22){
        	date_end=23;
            //alert("结束时间不能超过22点");
            //throw new Error("开始时间不能超过22点,非法的操作!");
        }
            
        if(item.length<1){
            item.push(new Events(indexs,date_begin,date_end,events));
        }else{
            var temp = contain(indexs,date_begin,item)
            if(temp==null){
                item.push(new Events(indexs,date_begin,date_end,events));
            }else if(temp!=null){
                item[temp].events+=events;  //合并两个时间段的事件
                if(date_begin<item[temp].data_begin){
                    item[temp].data_begin = date_begin;
                }else if(date_end>item[temp].date_end){
                    item[temp].date_end = date_end;
                }
                
            }
        }
    }
    
    this.pop = function(){
        return item;
    }
    
    this.indexs = indexs;
    this.data_begin = date_begin;
    this.date_end = date_end;
    this.events = events;
}


function check(index,arg,args){
    var count = 0;
    for(var ix = 0;ix<index;++ix){
        if((arg<=args[ix].date_end)&&(arg>args[ix].data_begin))++count;
    }
    return count;
}
var flag = true; //只能执行一次的全局标量
//核心

function operation(){   
    if(flag){
    
    var e = new Events();
    <%List list1=(List)request.getAttribute("weekTime"); 
    ArrangeDateBo adbean ;
    List temp;
    for(int i=0;i<7;i++){
   
    temp = (List)request.getAttribute("dayList"+i);
    
    for(int j=0;j<temp.size();j++){
    //System.out.println("四"+((ArrangeDateBo)temp.get(j)).getStart_time().getHours());
    //System.out.println("四"+((ArrangeDateBo)temp.get(j)).getStart_time().getHours());
    //adbean = (ArrangeDateBo)temp.get(j); 
    	if(((((ArrangeDateBo)temp.get(j)).getStart_time().getHours()))<8||((((ArrangeDateBo)temp.get(j)).getEnd_time().getHours()))>23){
    	    String a;	
    	}else{
 %>
    	 e.push(<%=i+1%>,<%=((ArrangeDateBo)temp.get(j)).getStart_time().getHours() %>,<%=((ArrangeDateBo)temp.get(j)).getEnd_time().getHours() %>,'<a href="/YZOA/doArrangeDateAction.do?action=view&id=<%=((ArrangeDateBo)temp.get(j)).getId()%>"><%=((ArrangeDateBo)temp.get(j)).getName() %></a><br>');    //注意只能通过e.push进行初始化
    <%}}}%>
   
    var events = e.pop(); //返回数据数组
    var table = document.getElementById('weektable');
    for(var ix = 0;ix<events.length;++ix){
        var e = events[ix];
        cloums = table.rows[e.data_begin-7].getElementsByTagName('td');
        offset = check(ix,events[ix].data_begin,events);
        cloums[e.indexs-offset].bgColor="#FFFFCC";
        var count = e.date_end-e.data_begin+1;
        cloums[e.indexs-offset].rowSpan = count;   
        cloums[e.indexs-offset].innerHTML=e.events;
        
        for(var x = e.data_begin-7+1;x<e.date_end-7+1;++x){ //从rowSpan下一行开始删除节点,所以要+1
            cs = table.rows[x].getElementsByTagName('td');
            var of = check(ix,x+7,events);   //check比较的是时间,而非下标量,所以要+7还原成时间量
            table.rows[x].removeChild(cs[e.indexs-of]);
        }
   }
   
   }
   flag = false; //改成flase只能执行一次
   
}


</script>
<body>
<table>
  <tr>
    <td><a href="rcap.html" class="STYLE2"><font size="-1">主页</font></a>&gt;&gt; <font size="-1">日程安排</font></td>
  </tr>
  <tr>
  	<td>&nbsp;</td>
  </tr>
</table>
<table width="100%" height="24" border="0" cellpadding="0" cellspacing="0">
  <tr> 
    <td><table width="390" height="24" border="0" cellpadding="0" cellspacing="0">
        <tr> 
          <td width="6"></td>
          <td width="128"><a href="#" class="STYLE1" onclick="change(1);">今日工作安排</a></td>
          <td width="128"><a href="#" class="STYLE3" onclick="change(2);operation()">本周工作安排</a></td>
          <td width="128"><a href="#" class="STYLE2" onclick="change(3);"><strong>本月工作安排</strong></a></td>
        </tr>
      </table></td>
  </tr>
  <tr> 
    <td height="3" bgcolor="#9FCEDF"></td>
  </tr>
</table>

<div id="table2" style="display:none">
<table id="weektable" width="100%" border="1" align="center" cellpadding="0" cellspacing="0">
	<tr>
		<td width="13%" align="center" bgcolor="#ABB0D3">&nbsp;</td>
		<%
		Iterator it1=list1.iterator();
	for(int i=0;i<7;i++){
		Date date=(Date)it1.next();
%>
		<td width="13%" align="center" bgcolor="#ABB0D3"><%=date.getMonth()+1%>月<%=date.getDate()%>日</td>
		<%} %>
	</tr>
	<tr>
		<td align="center" bgcolor="#f3f3f3">上午08:00</td>
		<td align="center" bgcolor="#f3f3f3">&nbsp;</td>
		<td align="center" bgcolor="#f3f3f3">&nbsp;</td>
		<td align="center" bgcolor="#f3f3f3">&nbsp;</td>
		<td align="center" bgcolor="#f3f3f3">&nbsp;</td>
		<td align="center" bgcolor="#f3f3f3">&nbsp;</td>
		<td align="center" bgcolor="#f3f3f3">&nbsp;</td>
		<td align="center" bgcolor="#f3f3f3">&nbsp;</td>
	</tr>
	<tr>
		<td align="center" bgcolor="#f3f3f3">上午09:00</td>
		<td align="center" bgcolor="#f3f3f3">&nbsp;</td>
		<td align="center" bgcolor="#f3f3f3">&nbsp;</td>
		<td align="center" bgcolor="#f3f3f3">&nbsp;</td>
		<td align="center" bgcolor="#f3f3f3">&nbsp;</td>
		<td align="center" bgcolor="#f3f3f3">&nbsp;</td>
		<td align="center" bgcolor="#f3f3f3">&nbsp;</td>
		<td align="center" bgcolor="#f3f3f3">&nbsp;</td>
	</tr>
	<tr>
		<td align="center" bgcolor="#f3f3f3">上午10:00</td>
		<td align="center" bgcolor="#f3f3f3">&nbsp;</td>
		<td align="center" bgcolor="#f3f3f3">&nbsp;</td>
		<td align="center" bgcolor="#f3f3f3">&nbsp;</td>
		<td align="center" bgcolor="#f3f3f3">&nbsp;</td>
		<td align="center" bgcolor="#f3f3f3">&nbsp;</td>
		<td align="center" bgcolor="#f3f3f3">&nbsp;</td>
		<td align="center" bgcolor="#f3f3f3">&nbsp;</td>
	</tr>
	<tr>
		<td align="center" bgcolor="#f3f3f3">上午11:00</td>
		<td align="center" bgcolor="#f3f3f3">&nbsp;</td>
		<td align="center" bgcolor="#f3f3f3">&nbsp;</td>
		<td align="center" bgcolor="#f3f3f3">&nbsp;</td>
		<td align="center" bgcolor="#f3f3f3">&nbsp;</td>
		<td align="center" bgcolor="#f3f3f3">&nbsp;</td>
		<td align="center" bgcolor="#f3f3f3">&nbsp;</td>
		<td align="center" bgcolor="#f3f3f3">&nbsp;</td>
	</tr>
	<tr>
		<td align="center" bgcolor="#f3f3f3">上午12:00</td>
		<td align="center" bgcolor="#f3f3f3">&nbsp;</td>
		<td align="center" bgcolor="#f3f3f3">&nbsp;</td>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -