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

📄 coursepanel.aspx

📁 这是一个自动排课软件(包含源码,需求分析,详细设计).希望对你有所帮助.
💻 ASPX
📖 第 1 页 / 共 2 页
字号:
<%@ 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 + -