📄 arrangeday.jsp
字号:
<%@ 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>>> <font size="-1">日程安排</font></td>
</tr>
<tr>
<td> </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"> </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"> </td>
<td align="center" bgcolor="#f3f3f3"> </td>
<td align="center" bgcolor="#f3f3f3"> </td>
<td align="center" bgcolor="#f3f3f3"> </td>
<td align="center" bgcolor="#f3f3f3"> </td>
<td align="center" bgcolor="#f3f3f3"> </td>
<td align="center" bgcolor="#f3f3f3"> </td>
</tr>
<tr>
<td align="center" bgcolor="#f3f3f3">上午09:00</td>
<td align="center" bgcolor="#f3f3f3"> </td>
<td align="center" bgcolor="#f3f3f3"> </td>
<td align="center" bgcolor="#f3f3f3"> </td>
<td align="center" bgcolor="#f3f3f3"> </td>
<td align="center" bgcolor="#f3f3f3"> </td>
<td align="center" bgcolor="#f3f3f3"> </td>
<td align="center" bgcolor="#f3f3f3"> </td>
</tr>
<tr>
<td align="center" bgcolor="#f3f3f3">上午10:00</td>
<td align="center" bgcolor="#f3f3f3"> </td>
<td align="center" bgcolor="#f3f3f3"> </td>
<td align="center" bgcolor="#f3f3f3"> </td>
<td align="center" bgcolor="#f3f3f3"> </td>
<td align="center" bgcolor="#f3f3f3"> </td>
<td align="center" bgcolor="#f3f3f3"> </td>
<td align="center" bgcolor="#f3f3f3"> </td>
</tr>
<tr>
<td align="center" bgcolor="#f3f3f3">上午11:00</td>
<td align="center" bgcolor="#f3f3f3"> </td>
<td align="center" bgcolor="#f3f3f3"> </td>
<td align="center" bgcolor="#f3f3f3"> </td>
<td align="center" bgcolor="#f3f3f3"> </td>
<td align="center" bgcolor="#f3f3f3"> </td>
<td align="center" bgcolor="#f3f3f3"> </td>
<td align="center" bgcolor="#f3f3f3"> </td>
</tr>
<tr>
<td align="center" bgcolor="#f3f3f3">上午12:00</td>
<td align="center" bgcolor="#f3f3f3"> </td>
<td align="center" bgcolor="#f3f3f3"> </td>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -