📄 coursepanel.aspx
字号:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="CoursePanel.aspx.cs" Inherits="CoursePanel" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajaxToolkit" %>
<html xmlns:v="urn:schemas-microsoft-com:vml">
<head runat="server">
<title>课程面板</title>
<STYLE>
v\:* { Behavior: url(#default#VML)
</STYLE>
<link href="../StyleSheet.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
/**********************以下为绘制底板部份脚本******************************/
var darkLineColor="#000000";
var lightLineColor="#cccccc";
var dateTexts=new Array();
var dayTexts=new Array();
var amTexts=new Array();
var pmTexts=new Array();
var widthOffset=3;
var selectedID=0;
var currentYear=0;
var currentMonth=0;
function changeGroupSize()
{
moveText(currentYear,currentMonth);
}
function drawScale()
{
// if(tabClass.rows.length==0)
// return;
getSelectedID();
course.innerHTML="";
getCurrentMonth();
drawLine(currentYear,currentMonth);
drawText(currentYear,currentMonth);
moveText(currentYear,currentMonth);
GetCourseInfo(selectedID,currentYear,currentMonth+1);
}
//如果界面进行了缩放,所有文本进行同步缩放
function moveText(year,month)
{
var days=getDayCount(year,month);
var firstDate=new Date(year,month,1);
var width=document.body.clientWidth-widthOffset-230;
if(width<600)
width=600;
var height=document.documentElement.clientHeight;
if(height==0)
height=document.body.clientHeight;
height-=2;
course.style.width=width;
course.style.height=height;
course.coordsize.y=height*100;
var unitWidth=755160/days;
var unitHeight=1500;
var currentDate=new Date(year,month,1);
var unitWidth=width/days;
var weekIndex=0;
var zoom=unitWidth/25;
if(zoom>1)
zoom=1;
for(var i=0;i<days;i++)
{
currentDate.setDate(i+1);
var left=width*i/days;
if(currentDate.getDay()==0 && (days-currentDate.getDate())>2)
{
var dateText=dateTexts[weekIndex];
dateText.style.left=left+5;
dateText.style.width="100%";
dateText.style.zoom=zoom;
weekIndex++;
}
var dayText=dayTexts[i];
dayText.style.zoom=zoom;
dayText.style.left=left+(unitWidth-10)/2;
var amText=amTexts[i];
var pmText=pmTexts[i];
amText.style.zoom=zoom;
pmText.style.zoom=zoom;
amText.style.left=left+(unitWidth/2-8)/2
pmText.style.left=left+unitWidth/2+(unitWidth/2-8)/2;
}
}
//画线
function drawLine(year,month)
{
var days=getDayCount(year,month);
var firstDate=new Date(year,month,1);
var width=document.body.clientWidth-widthOffset-200;
if(width<600)
width=600;
var height=document.documentElement.clientHeight;
if(height==0)
height=document.body.clientHeight;
height-=2;
course.style.width=width;
course.style.height=height;
course.coordsize.y=height*100;
var unitWidth=755160/days;
var unitHeight=1800;
var currentDate=new Date(year,month,1);
//画竖线
var left=0
for(var i=0;i<days;i++)
{
currentDate.setDate(i+1);
left=unitWidth*i;
var dayLine;
if(currentDate.getDay()==0)
{
dayLine=document.createElement("<v:line from='"+left+",0' to='"+left+",100000' strokecolor='"+darkLineColor+"' style='z-index:1;position:absolute' strokeweight='1px'/>");
}
else
{
dayLine=document.createElement("<v:line from='"+left+","+unitHeight*3+"' to='"+left+",100000' style='z-index:1;position:absolute' strokecolor='"+lightLineColor+"' strokeweight='1px'/>");
var titleDayLine=document.createElement("<v:line from='"+left+","+unitHeight+"' to='"+left+","+unitHeight*3+"' strokecolor='"+darkLineColor+"' style='z-index:1;position:absolute' strokeweight='1pt'/>");
course.insertBefore(titleDayLine);
}
var titleNoonLine=document.createElement("<v:line from='"+(left+unitWidth/2)+","+unitHeight*2+"' to='"+(left+unitWidth/2)+","+unitHeight*3+"' strokecolor='"+darkLineColor+"' style='z-index:1;position:absolute' strokeweight='1pt'/>");
var noonLine=document.createElement("<v:line from='"+(left+unitWidth/2)+","+unitHeight*3+"' to='"+(left+unitWidth/2)+",100000' style='z-index:1;position:absolute' strokecolor='"+lightLineColor+"' strokeweight='1px'/>");
course.insertBefore(dayLine);
course.insertBefore(titleNoonLine);
course.insertBefore(noonLine);
}
//最后一条竖线
var lastLine=document.createElement("<v:line from='"+(left+unitWidth)+",0' to='"+(left+unitWidth)+",100000' strokecolor='"+darkLineColor+"' style='z-index:1;position:absolute' strokeweight='1px'/>");
course.insertBefore(lastLine);
//画横线
var hLine1=document.createElement("<v:line from='0,"+unitHeight+"' to='755160,"+unitHeight+"' strokecolor='"+darkLineColor+"' style='z-index:1;position:absolute' strokeweight='1pt'/>");
var hLine2=document.createElement("<v:line from='0,"+unitHeight*2+"' to='755160,"+unitHeight*2+"' strokecolor='"+darkLineColor+"' style='z-index:1;position:absolute' strokeweight='1pt'/>");
var hLine3=document.createElement("<v:line from='0,"+unitHeight*3+"' to='755160,"+unitHeight*3+"' strokecolor='"+darkLineColor+"' style='z-index:1;position:absolute' strokeweight='1pt'/>");
course.insertBefore(hLine1);
course.insertBefore(hLine2);
course.insertBefore(hLine3);
}
//输出文本
function drawText(year,month)
{
var zoom=unitWidth/25;
if(zoom>1)
zoom=1;
var daysLable=new Array();
daysLable[0]="日";
daysLable[1]="一";
daysLable[2]="二";
daysLable[3]="三";
daysLable[4]="四";
daysLable[5]="五";
daysLable[6]="六";
var days=getDayCount(year,month);
var firstDate=new Date(year,month,1);
var width=document.body.clientWidth-widthOffset;
if(width<600)
width=600;
var height=document.documentElement.clientHeight;
if(height==0)
height=document.body.clientHeight;
height-=30;
var unitWidth=755160/days;
var unitHeight=1500;
var currentDate=new Date(year,month,1);
var unitWidth=width/days;
var weekIndex=0;
for(var i=0;i<days;i++)
{
currentDate.setDate(i+1);
var left=width*i/days;
if(currentDate.getDay()==0 && (days-currentDate.getDate())>2)
{
var dateText=document.createElement("<v:Textbox style='LEFT:"+(left+5)+";TOP:4;FONT-SIZE:12;ZOOM:"+zoom+";FONT-FAMILY:宋体;POSITION:absolute'/>");
dateText.innerText=year+"年"+(month+1)+"月"+(i+1)+"日";
course.insertBefore(dateText);
dateTexts[weekIndex]=dateText;
weekIndex++;
}
var dayText=document.createElement("<v:Textbox style='LEFT:"+(left+(unitWidth-10)/2)+";TOP:24;FONT-SIZE:11;ZOOM:"+zoom+";FONT-FAMILY:宋体;POSITION:absolute'/>");
dayText.innerText=daysLable[currentDate.getDay()];
course.insertBefore(dayText);
var amText=document.createElement("<v:Textbox style='LEFT:"+(left+(unitWidth/2-8)/2)+";TOP:40;FONT-SIZE:11;ZOOM:"+zoom+";FONT-FAMILY:宋体;POSITION:absolute'/>");
amText.innerText="上";
course.insertBefore(amText);
var pmText=document.createElement("<v:Textbox style='LEFT:"+(left+unitWidth/2+(unitWidth/2-8)/2)+";TOP:40;FONT-SIZE:11;ZOOM:"+zoom+";FONT-FAMILY:宋体;POSITION:absolute'/>");
pmText.innerText="下";
course.insertBefore(pmText);
currentDate.setDate(i+2);
dayTexts[i]=dayText;
amTexts[i]=amText;
pmTexts[i]=pmText;
}
}
function getDayCount(year,month)
{
var date=new Date(year, month+1, 0);
return date.getDate();
}
/**********************以下为绘制授课任务条脚本******************************/
function GetCourseInfo(clsID,year,month)
{
PageMethods.GetCourseInfo(clsID,year,month,OnRequestComplete);
}
function OnRequestComplete(plans)
{
var days=getDayCount(currentYear,currentMonth);
var daysLeft=new Array();
daysLeft.length=days;
var unitWidth=755160/days;
for(var i=0;i<days;i++)
{
daysLeft[i]=unitWidth*i;
}
var top=5000;
for(var i=0;i<plans.length;i++)
{
top+=3000;
var plan=plans[i];
for(var j=0;j<plan.DaysPlan.length; j++)
{
var left=daysLeft[plan.DaysPlan[j].Date.getDate()-1];
var title="";
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -