医院预约挂号管理系统的设计与实现-毕业论文_第1页
医院预约挂号管理系统的设计与实现-毕业论文_第2页
医院预约挂号管理系统的设计与实现-毕业论文_第3页
医院预约挂号管理系统的设计与实现-毕业论文_第4页
医院预约挂号管理系统的设计与实现-毕业论文_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

文学姓名

号学专

院业

计算机科学与技术学软件工程题

目院预约挂号管理系统的设计与实现指教师(姓

名)(业技术职称/学位)

摘要:今的社会科技高速发展,信息技术日新月异,计算机化的医院预约挂号管理系统已成为现代化医院运营过程中必不可少的一部分。本文介绍了医院预约挂号管理系统的基本设计方法,详细阐述了整个应用系统的设计思路,本系统主要具备:医生信息管理、病人信息管理、医生科室查询、预约管理等功能模块。关键词:院系统的实现,数据库系统,ASP.NET1

rapidofscienceinformationhospitalappointmentregistermanagementsystemhasbecomeanofhospitaloperationHospitalappointmentregistermanagementsystemmanagementwereintroducedinpaper,methodindetailtheideaofthewholeapplicationsystem,systemmainlyphysicianinformationinformationdoctorinquiry,module,:theofhospitalSQLsystem,2

目录1234

论.研究背景与意.研究动机与目.数介ASP.NE5.可行性研究.需求分析析工作流程图.系统功能图.系统简介计图主要数据库表设.5.11系统后台的实现及其登录模块的实

块块理块现块块.6试结.考文献.谢.3

1

绪1.1究景意在手工业时代,企业对医院的各项管理的运作是停留在以纸、笔为主要工具的阶段。到后来,随着信息量的快速增长,这种传统的手工操作的方法已无法迅速、准确的完成各项管理工作。当医院意识到这点之后,纷纷开始重视医院管理。进入20纪之后,随着系统、信息技术、管理工具的进步以及计算机的普及,许多医院开始利用计算机进行预约管理。从而提高了处理的速度与精度。在计算机飞速发展的今天,将计算机这一信息处理利器应用于医院的日常管理已是势必所然,这也将为医院预约挂号管理提供了很多的便利。医院预约挂号管理的科学化和现代化给医院和老百姓都带来了很大的便利。主要体现在:极大提高了医院工作人员的工作效率,同时降低了管理中的漏洞,解决了异地和不便出家门的患者看病难的问题,大大减少了人们等挂号的时间等等。1.2究机目医院预约挂号管理系统是每一个医疗机构管理平常挂号业务流程不可或缺的一个管理信息系统,它的存在解决了病人挂号难、看病难等问题,所以医院预约挂号管理系统应该能够为每一个需要看病的患者提供充足的信息和快捷的查询手段,大大的方便了求医困难的广大人民群众。医院预约挂号管理是现代化医院的核心环节之一,它在整个医院管理中占有越来越重要的地位。从前,医院预约与查询管理都非常的耗时耗力,同时由于采用手工操作,查询和统计的方式各不相同,不可避免造成一些错记漏记的错误。因此,开发这样一套医院预约挂号管理软件成为很有必要的事情,对于我们这些即将毕业的计算机专业学生来说,也是一次将专业知识应用于现实的很有意义的实践活动。1.3数库统介本人设计的是一个医院预约挂号管理的数据库系统,过这个系统管理员可以简捷、方便的对用户、医生资料进行增加、删除、查询等功能。本系统采用SQL建立数据库,然后建立数据源的链接,并且生成医院预约挂号管理的数据库应用程序从而实现数据库的管理功能。SQL(Structured,结构查询语言)是一个功能强大的数据库语言。SQL语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据使用SQL的常见关系数据库管理系统有OracleSybaseMicrosoftSQL、Access、Ingres

等等。数据库系统本质上是一个用计算机存储记录的系统。系统用户可以对这些文件执行插4

入数据、检索数据、更改数据、删除数据等一系列操作。图一个数据库系统的简图。图1-1数据库系统简图1.4简A是建立在通用语言运行时刻库CLR)上的应用程序框架。他用来在服务器端构建功能强大的web应用程序。A提供了几个超越以前web开发模式的优点:·增强的性能·强大而富有弹性·简单·易于管理·可伸缩性和有效利用性·可订制和扩展·安全性ASP.NET一般分为两种开发语言,和C#,C#相对比较常用,因为是NET独有的语言,VB.NET则为以前VB程序设计,适合于以前VB程序员ASP.net是运行一些很平常的任务如表单的提交客户端的身份验证分布系统和网站配置变得非常简单外,通用语言简化开发使把代码结合成软件简单的就像吃饭。使用一种字符基础的,分级的配置系统,使你服务器环境和应用程序的设置更加简单。因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工具就可以实现。2可性究应需分2.1可性究该阶段通过对系统目标的初步调研和分析,提出可行性方案并进行论证。我们在这里5

主要从技术、经济、使用等方面来分析解决问题的可行性。2.1.1技术可性通过在学校的学习,积累了一定的知识与经验,在拥有的配置不低的开发工具与硬件与软件方面的资源,满足了本系统的要求。虽然开发人的技术水平不高,但是通过网上插好资料与借阅学校的图书资源自主学习ASP.NETSQL2005等基本程以及导师和同学的帮助,在规定的期限内能够基本完成本系统所需的开发任务。2.1.2经济可性开发人在同学的帮助下在私人笔记本上安装并且完善了所需要的开发工具和环境,大大降低了开发经费。本系统不需要专门培训系统操作人员,大大减少了投入的成本,避免了人员与金钱、时间的浪费。2.1.3使用可性本系统主要从操作方式能否被广大人民所接受使用的角度考虑。开发人尽量的简化操作步骤,开发出便捷的操作方法与美化友好的操作界面使用户能尽快上手,功能符合医生与患者的需求。本系统对用户要求极低,只需具备基本的计算机操作知识与素养,不需要特殊的技术能力。管理员只需定期维护后台,并且具备使用能力即可。2.1.4社会可性本系统是通过大量的调查研究,根据医院预约挂号的实际工作流程开发研制的。综上所述,本系统从技术、经济、使用、社会上看都是完全可靠的。2.2需分本系统需求分析可以从使用的人群与模块的功能两部分考虑,并且对系统的性能和硬件环境方面做了简要说明。2.2.1面向的户1)求医的群:只要有一台联网的电脑,需要求医的患者通过登录网址进入网页,注册成为用户,用户可以通过查询医生或者科室找到医生资料,选择医生进行预约挂号,还可以修改密码,查找预约信息和个人资料。2)系统管员:管理员可以对自己的信息进行修改,还可以添加别的管理员。管理员不仅可以对医生信息进行编辑,还可以管理病人的资料以及通过身份证号查询病人是否存在。同时管理员还可以对预约信息进行处理。6

2.2.2主的块能析本系统主要实现的功能及其特点分析:第一:医院预约挂号管理系统需要各种数据的应用,需要各种数据的管理,这里将以SQL作为数据库开发工具来设计数据库。包括各种基本表的建立,包括医生信息表,预约挂号表,病人信息表,管理员信息表,以及各个表间的连接等等。第二:每个系统都需要管理员进行管理,设置用户,这里将设置一个用户管理模块,实现对用户的管理。所有权负责人有权对预约信息管理员和预约人进行添加、修改和删除,以及查看用户的资料等。第三:为了提供医生资料的详细信息,专门有功能提供医生资料的输入及管理。第四:病人资料的录入方便了系统对病人相关资料的管理第五:为了方便医生的查找,病人可以通过输入医生姓名或者所需要预约挂号的科室查找所求的医生,并且选择日期进行预约。第六:管理员根据医生的工作时间,设置病人可以预约到医生的时间段,病人必须在改时间段内选择预约医生的日期。3

系分3.1作程预约挂号选择科室3专家查询

选择科室选择专家

选择可预约的医生

选择时段确定预约

7.

预约成功

就诊3修改信息

图预挂号工作流程7

3.2统能医院预约挂号管理系统管理员

病人用户用户管理

医生资料

病人资料

预约信息

用户注册

修改密码

医生资料

个人资料

个人预约管理

管理

管理

查询

查询

信息图3-2系功能结构3.3统介科学技术的飞速发展,使得各行业的竞争非常激烈,医院这个行业也不例外,为了提高管理的效率和操作的简单化,制作这预约挂号管理系统是顺应而生并且还是十分必要的。该系统特别适用中小型医院,针对医院规模不大,人手不足等特点,并且解决了病人“求医难、挂号难”等问题,实现了不走出家门,不用去医院排队也能预约医生,充分利用了时间,便利了广大的求医群众,合理安排了看病时间。本系统操作满足了医院预约挂号的日常需求,操作易于上手,无需培训操作人员,节约了人力成本。我的目标就是开发一个功能实用、操作灵便、简单明了且低成本的医院预约挂号管理系统。本系统基于

ASP.NET技,采用SQLServer2005

据库。在设计时力求作到界面简洁,风格统一,操作简便,易于上手等特点。本系统主要包括:医生资料管理、病人资料管理、用户管理、预约管理等。具体特点:极大地提高了医务人员的工作效率,加快了病人就诊的速度,有效地解决了“看病难、挂号难”的问题。提高了医院的综合管理水平和服务质量。8

4

数库计4.1E-R医生与病人、管理员之间的图:医生姓名管理员编号

医生编号

龄管理员名称

管理员

毕业院校理

从医年限密码科

室管理

称专

长真

预约编号实姓名

病人

预约时间症

预约信息

预约人性

状别

身份

预约医生龄

证号

室专

长图4-1E-R图9

4.2要据表计通过各种渠道分析医院预约挂号管理的基本流程及医生与病人之间的联系得出E-R图4-1,本系统采用SQLServer2005数据库管理系统,并建立了名为yuyue的数据库,本系统所要使用的所有数据信息都存储在这个数据库里。在设计过程中需要考虑数据完整性约束。数据库上的完整性的约束条件一般有两类:1)属性值的约束这类约束是对属性取值的类型、范围、精度等的限制,和属性的语义有关。2)数据之间联系的约束这类约束反映了数据之间存在的联系,在关系数据模型中指多个属性或多个元组之间联系的约束。比如,属性之间的函数依赖、多值依赖。在许多数据模型中都是表明了数据之间的某些依赖关系的,或者是隐式的或者是显式的。以下列举部分数据表:1.管理员表tb_user表4-1管员表tb_user字段名idusertype

数据类型int

长度4505050

主键否是

描述管理员编号管理员名称登录密码评论日期2.预约表yuyue表4-2预表yuyue字段名idsiddid

数据类型int

长度45050

主键否是

描述预约编号病人编号医生编号

503.病人表sick表4-3病表sick字段名idrenamesexzz

数据类型

长度50505050505050

主键否是

描述昵称登录密码真实姓名年龄性别症状身份证号10

4.医生表doctor表生表doctor字段名idbyyxcynxremainoperatorTime

数据类型int

长度45050505050505050505050

主键否是

描述医生编号医生姓名年龄毕业院校从医年限科室职称专长可预约数剩余预约数预约开始时间预约结束时间5系实及码5.1系后的现其录块实5.1.1系后实代1)后台公共函数编写://描述:公用js函数库var=/*****************************************************取指定对象的x坐标*****************************************************/functiongetx(e){varl=e.offsetLeft;while(e=e.offsetParent){}return(l);}/*****************************************************取指定对象的y坐标*****************************************************/functiongety(e){vart=e.offsetTop;while(e=e.offsetParent){}return(t);11

}/*****************************************************显示p体c:窗体内容ox:相对o的x坐标距离y:对o的y坐标距离w:宽度h:高度,如果设置为则自行获取默认高度o:相对于何obj*****************************************************/function{=c.innerHTML;oPopup.document.createStyleSheet(document.styleSheets[0].href);var=0,w,h=h==0?popupBody.scrollHeight:h;w,h,}/*****************************************************提取xml根节点*****************************************************/function{varoXMLDoc=ActiveXObject('MSXML');=url;varooRoot=oXMLDoc.root;}/*****************************************************所有gif图鼠标经过效果,鼠标经过后显示的图片文件名在原图片名后加_over*****************************************************/functionimgover(obj){=="true")return;如果对象被锁定,则不触发事件if(typeof(obj)!="object")return//不是img对象则退出varre;//声明变量。varss=/.gif$\b/i;//创建正则表达式模式。r=//加上overobj.src=r;}/*****************************************************所有gif图鼠标按下效果,鼠标按下后显示的图片文件名在原图片名后加_12

*****************************************************/function{=="true")return;如果对象被锁定,则不触发事件//不是img对象则退出varre;//声明变量。varss=if(obj.behave=='over'){/_over.gif$\b/i;r="_down.gif");}if(obj.behave==''){/.gif$\b/i;//创建正则表达式模式。r="_down.gif");//加上_down}obj.src=r;}/*****************************************************所有gif图鼠标按下效果,鼠标经过后显示的图片文件名在原图片名后加_over*****************************************************/functionimgup(obj){=="true")return;如果对象被锁定,则不触发事件if(typeof(obj)!="object")return//不是img对象则退出varre;//声明变量。varss=/_down.gif$\b/i;//创建正则表达式模式。r=obj.src=r;}/*****************************************************所有gif图鼠标移出效果,鼠标经过后显示的图片文件名在原图片名后去掉_over*****************************************************/functionimgout(obj){if(typeof(obj)!="object")return//不是img对象则退出varre;//声明变量。varr=ss=if(obj.behave=='over')13

{/_over.gif$\b/i;r=".gif");}{/_down.gif$\b/i;r=".gif");}obj.src=r;obj.behave='';}/*****************************************************所有样式表鼠标经过效果,鼠标经过后原样式表在后加ver*****************************************************/function{=="true")return;如果对象被锁定,则不触发事件if(typeof(obj)!="object")returnif(obj.behave=='over')return;varss=obj.className;varr=ss+"_over";//加上overobj.className=r;}/*****************************************************所有样式表鼠标移出效果,鼠标移出后原样式表在后去掉ver*****************************************************/function{=="true")return;如果对象被锁定,则不触发事件if(typeof(obj)!="object")returnvarre;//声明变量。varss=obj.className;if(obj.behave=='over'){/_over$\b/i;//创建正则表达式模式。r="");}{/_down$\b/i;//创建正则表达式模式。r="");}obj.className=r;obj.behave='';}/*****************************************************所有样式表鼠标按下效果,鼠标按下后原样式表在后加上14

*****************************************************/functionclassdown(obj){=="true")return;如果对象被锁定,则不触发事件if(typeof(obj)!="object")returnvarre;//声明变量。varss=obj.className;/_over$\b/i;//创建正则表达式模式。r="_down");obj.className=r;}/*****************************************************所有样式表鼠标释放效果,鼠标释放后原样式表在后*****************************************************/function{=="true")return;如果对象被锁定,则不触发事件if(typeof(obj)!="object")returnvarre;//声明变量。varss=obj.className;/_down$\b/i;//创建正则表达式模式。r="_over");obj.className=r;}/*****************************************************检查日期正确性*****************************************************/functionchkDateTime(str){varreg=/^(\d{1,4})-(\d{1,2})-(\d{1,2})$/;varr=str.match(reg);if(r==null)returnvard=newDate(r[1],if(d.getFullYear()!=r[1])returnfalse;if(d.getDate()!=r[3])returntrue;}15

2)多文档窗口代码实现最终呈现的界面如下图所示:图5-1后管理主界面//描述:多文档窗口function{this.winlist=new//窗口列表this.maxWins=20;//大窗口数this.tagTitleWidth=150;//签宽度this.indentWidth=10;//签缩进宽度this.currentwin=null;=addwin;//建窗口方法this.removewin=removewin;移除窗体=removeall;体this.activewin=activewin;激活窗口=this.padLeft=padLeft;//标题离左边缘的距离this.padRight=padRight;//标题离右边缘的距离=scrollWidth;function{for(vari=0;i<this.winlist.length;i++){==title&&this.winlist[i].url==url)16

移除所有窗

{i;}}-1;}function激活窗口{if(oEl==null){this.currentwin=null;}vartempzindexthis.currentwin.style.zIndex;this.currentwin.wintitle.style.zIndexthis.currentwin.style.display="none";='url(images/tab1.gif)';=oEl.style.display"";oEl.wintitle.style.backgroundImage='url(images/tab2.gif)';this.currentwin=//果不在显示区域内varif(isNaN(mleft))mleft0;varpadleftvarpadrightthis.padRight(oEl);var=titlelist.parentElement.clientWidthif(padleft+mleftclientwidth){=clientwidth-padleft;}if(padright&&mleft{mleft-this.scrollWidth();if(mleft>0)mleft0;=mleft;}if(padleft+mleft{=(padleft-}}functionpadLeft(oEl){varpadleftoEl.index*this.tagTitleWidth-padleft;17

}functionpadRight(oEl){varcount=(this.winlist.length-oEl.index)+1;varpadrightthis.tagTitleWidth*count-this.indentWidth*(count-1);}functionaddwin(url,title)

//法的具体实现{varcon=if(con>-1){}if(this.winlist.length>=this.maxWins){超过最大窗口数限制(先关闭部分窗口");}oDIV=window.document.createElement();this.winlist[this.winlist.length]oDIV;//列表内添加窗体对象oDIV.url=url;=title;oDIV.indexoDIV.className="win";="100%";="100%";="<iframesrc='"+url+"'class='win1'width='100%'varoTitle=window.document.createElement();oTitle.className='wintitle';oTitle.style.width=='url(images/tab2.gif)';oTitle.style.left=this.winlist.length==1?:this.winlist[this.winlist.length-2].wintitle.style.pixelLeft-this.indentWidth;oTitle.title=title;title=subStr(title,16);oTitle.innerHTML===null?windows":title;oTitle.win=oDIV;Function("win.activewin(this.win)")if(this.currentwin!=null){='url(images/tab1.gif)';18

this.currentwin.style.display="none";this.currentwin.wintitle.style.zIndex}=this.maxWins+1;=this.maxWins+1;oDIV.wintitle=oTitle;titlelist.insertAdjacentElement(,oTitle);var=this.scrollWidth();if(scrollwidth>{=titlelist.parentElement.clientWidth},);this.currentwin=oDIV;}functionscrollWidth(){var=var=-this.indentWidth*(n-1);}functionremovewin(obj)//除窗体{if(obj==null)return;vartemparr=newvarafterwin=for(vari=0;i<this.winlist.length;i++){if(afterwin)=this.winlist[i].wintitle.style.pixelLeft+!=obj)temparr[temparr.length]afterwin=true;}this.winlist=if(this.currentwin==obj){}obj.wintitle.removeNode(true)obj.removeNode(true)null;}19

functionremoveall()//除所有窗体{var=this.winlist.length;for(vari=wincount-1;i>=0;i--)this.removewin(this.winlist[i]);}}functiontabScroll(direction){==:tabMoveLeft();}functiontabMoveRight(){tabMove("right",8);}functiontabMoveLeft(){tabMove("left",8);timer=setTimeout(tabMoveLeft,10);}functiontabScrollStop(){timernull;}functiontabMove(direction,speed){varif(isNaN(mleft))mleft0;if(direction=="right"){{}{=mleft-}}20

{+>=0){=0;}{=mleftspeed;}}}var=null;varwin=null;varwins=functioninit(){win=newmywin();}functionAddWin(Url,Title){

新建对象=win.addwin(Url,Title);}function{varstrlength=0;varnewstr"";fori=0;i<str.length;i++){if(str.charCodeAt(i)>=1000)strlength2;strlength1;>{newstr+=break;}{newstr+=}}}21

//加窗体;

5.1.2后台登实系统管理员只有输入正确的用户名及密码之后才可以进入系统的相关界面进行系统的操作,相关说明如下:1.界面:图5-2系登录界面voidloginuser_Click(objectEventArgse){string=TextBox1.Text;stringTextBox2.Text;try{ifcount(*)fromwhere+"'userpwd='"+userpwd"'").ToString(){=}{户名或者密码错误,请重新输入!');history.back()</script>");}}catch(Exceptionex){用户名或者密码错误,重新输入!');history.back()</script>");22

}}5.2生料作块医生资料的录入及编辑删除等操作是系统的核心内容,只有输入正确的医生资料,才能方便用户进行医生预约管理,如下为相关操作的界面:图5-3医管理界面图5-4医资料输入界面23

DeleteCommand="DELETEFROM[doctor][id]@id"INTO[doctor]([name],[age],[byyx],[cynx],[keshi],[zhicheng],[zhuanchang])VALUES@keshi,@zhuanchang)"SelectCommand="SELECT*FROMUpdateCommand="UPDATE[doctor]SET[name]=@name,[age]@age,[byyx]=@byyx,[cynx]=[keshi]=[zhicheng]=@zhicheng,[zhuanchang]=[id]=<DeleteParameters>Name="id"/>Type="String"/>Type="Int32"Type="String"/>Type="String"/>Name="keshi"Type="String"/>Type="String"/>Type="String"/>Name="id"/></UpdateParameters><InsertParameters>Type="String"/>Type="Int32"Type="String"/>Type="String"/>Name="keshi"Type="String"/>Type="String"/>Type="String"/>voidEventArgs{DbHelperSQL.ExecuteSql(string.Format("insertintodoctorvalues('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}')",TextBox1.Text,TextBox2.Text,TextBox3.Text,TextBox5.Text,TextBox6.Text,TextBox8.Text,TextBox9.Text));GridView1.DataBind();=}voide){=!MyDiv.Visible;}5.3预管模管理员可以在预约管理模块对预约信息进行删除修改等方面的操作,预约管理界面如下图所示:24

图5-5预管理模块界面DeleteCommand="DELETEFROMWHEREid=@id"INTO[yuyue]([sid],[date])VALUES(@sid,SelectCommand="selectfrom"><DeleteParameters>Name="id"/><InsertParameters>Name="sid"Type="String"/>Name="did"Type="String"/>Name="date"Type="DateTime"/>由于医生看病的时间很灵活,有时候会因为出差或者其他原因,那几天或几个月不能给病人看病,所以有了医生的预约时间设置。当某医生出现以上这种情况时,管理员,应及时给该医生设置一个可以看病时间段,避免病人因为不知情而预约了该医生。如下图所示:25

图医生间预约设置输入专家姓名后,依次点击选择按钮,会立刻跳出图日期选择,分别正确选择一个日期即可,注意开始与结束时间的顺序。图日期择<html><head>26

<title>选择日期</title><metahttp-equiv="Content-Type"content="text/html;charset=gb2312"/><styletype="text/css">#C1DA90}.today{font-weight:bold;BACKGROUND:white}.sunday{color:red;BACKGROUND:.days{font-size=12px;font-weight:bold;BACKGROUND:rel="stylesheet"/>language="JavaScript">//文月份,如果想显示英文月份,改下面的注释/*var="February?,"April","May","July","August","November","December");*/var=Array("一月","月""三月","四月","五月""六月","七月""八月""九月,"十月","十一月","十二月");vardaysInMonthArray(31,28,30,30,31,30,30,//文周如果想显示英文的,修改下面的注释/*varArray("Sunday","Monday","Wednesday","Thursday","Friday",var=new日"一","二","三"四,"五","六);function{//面的这段代码是判断当前是否是闰年的if==month)((0==4)&&!=%||(0==%?:daysInMonth[month];}functiongetToday(){//到今天的年,月,===this.day=this.now.getDate();}todaygetToday();functionnewCalendar(){todaygetToday();var=[document.all.year.selectedIndex].text);var=Date(parseYear,document.all.month.selectedIndex,1);varday=-1;varstartDay=27

var0;if((today.year==&&(today.month==newCal.getMonth()))daytoday.day;vartableCal=document.all.calendar.tBodies.dayList;varintDaysInMonth=getDays(newCal.getMonth(),newCal.getFullYear());for=0;<tableCal.rows.length;intWeek++)forintDay=<tableCal.rows[intWeek].cells.length;intDay++){varcelltableCal.rows[intWeek].cells[intDay];if((intDay==startDay)&&(0==daily))=1;if(day==daily)//天,调用今天的lass="today";if(intDay==6)//六=if(intDay==0)//日//常if((daily>&&intDaysInMonth)){cell.innerText=daily;daily++;}cell.innerText="";}}functionresetCalendar(){todaygetToday();var=[document.all.year.selectedIndex].text);var=Date(parseYear,document.all.month.selectedIndex,1);varday=-1;varstartDay=var0;if((today.year==&&(today.month==newCal.getMonth()))daytoday.day;vartableCal=document.all.calendar.tBodies.dayList;varintDaysInMonth=getDays(newCal.getMonth(),newCal.getFullYear());for=0;<tableCal.rows.length;intWeek++)forintDay=<tableCal.rows[intWeek].cells.length;intDay++)28

{varcelltableCal.rows[intWeek].cells[intDay];if((intDay==startDay)&&(0==daily))=1;if(day==daily)//天,调用今天的lass="normal";if(intDay==6)//六=if(intDay==0)//日//常if((daily>&&intDaysInMonth)){cell.innerText=daily;daily++;}cell.innerText="";}}functiongetDate(){var//段代码处理鼠标点击的情况ifif(""!={//varkss='=fromstr';varkss='<%=Request.QueryString["InputName"]%>'varmonthStrvardateStr=event.srcElement.innerText;if(monthStr.length==1)=monthStr;ifdateStr"0"sDate=+"-"monthStr+"-"+;vartargetDiv=eval("opener.document.frmAnnounce."+kss);targetDiv.value=sDate;}}</script><bodyscroll="no"leftmargin="3"bgcolor="#F0F9DF"><inputname="ret"value="2003-5-18">29

id="calendar"cellspacing="1"cellpadding="0"border="0"width="100%"><td<selectlanguage="JavaScript">forintLoop=0;intLoop<months.length;intLoop++)VALUE="(intLoop+1)+""+(today.month==intLoop:"")+">"months[intLoop]);</script><td> </td><td<selectid="year"language="JavaScript">forintLoop=intLoop<(today.year+intLoop++)VALUE="intLoop""(today.year==intLoop?:"")">"</script></tr>language="JavaScript">document.write("<TDdays[0]+forintLoop=1;intLoop<days.length-1;intLoop++)document.write("<TD>"days[intLoop]"</TD>");document.write("<TDclass=sunday>"++"</TD>");</script></tr>id="dayList"onclick='javascript:getDate()'ondblclick='javascript:getDate();doOk();'>language="JavaScript">forintWeeks=0;<6;{document.write("<TRforintDays=0;intDays<document.write('<TDwidth=14%document.write("</TR>");}</script><td</tr></tbody>30

border="0"><tdheight="1"bgcolor="#cccccc"></td></tr><tdalign="center"><input确定"onclick="Javascript:doOk();"/><inputname="txtValue"value=""/><inputvalue="取"onclick="Javascript:cancel();"/></td></tr></html>language="JavaScript">window.returnValue="";function{}functionif(event.srcElement.tagName=="TD"){varif(document.all(event.srcElement.id).innerText!=""){ifdocument.all(sValue).style.background="#CFF488";}event.srcElement.style.background="white";}}}</script>5.4

用管界管在该界面中,每个系统都需要管理员进行管理,设置用户,这里将设置一个用户管理模块,实现对用户的管理。所有权负责人有权对预约信息管理员进行添加、修改和删除,以及查看用户的资料,设置用户的权限。用户的信息包括(用户编号,姓名,性别,联系电话,权限等各种管理员对自己密码的修改。界面如下图:31

图5-8用管理界面DeleteCommand="DELETEFROM[tb_user]WHERE[id]=INTO[tb_user]ALUES@userpwd)"SelectCommand="SELECT[id],[username],[userpwd]FROM[tb_user]"UpdateCommand="UPDATESET=[userpwd]=[id]=@id"><DeleteParameters>Name="id"/>Name="username"Type="String"/>Type="String"/>Name="id"/></UpdateParameters><InsertParameters>Name="username"Type="String"/>Type="String"/>voide){mydiv.Visible=!mydiv.Visible;}voidEventArgs{mydiv.Visible=false;}voidEventArgs{DbHelperSQL.ExecuteSql("inserttb_user(username,userpwd)values('"+TextBox1.Text+"','"+TextBox2.Text+"')");mydiv.Visible=false;32

GridView1.DataBind();}5.5病管模该模块实现对病人信息的管理,相关界面如下图所示:图5-9病管理界面ID="SqlDataSource1"runat="server"ConnectionString="<%$SelectCommand="SELECT*FROMID="SqlDataSource2"runat="server"ConnectionString="<%$SelectCommand="SELECT[id],[sex],[Sid],[password][sick]WHERE([Sid]<SelectParameters><asp:ControlParameterType="String"/></SelectParameters>5.6人录块实打开预约管理系统首就会出现一个病人登录界面,如下图所示:33

图5-10病登录界面登录之前若不是本系统的注册用户,可以点击注册按钮进行注册才,从而进入注册页面,如下图所示:图5-11新户登记界面rotectedButton1_Click(objectsender,EventArgs{ifvalues('{0}','{1}','{2}','{3}','{4}','{5}','{6}')",TextBox5.Text,TextBox2.Text,TextBox3.Text,TextBox4.Text,TextBox7.Text))1){注册成功!34

}}5.7人约块病人登记进入系统之后,可以先查看医生的资料,然后对符合要求的医生点击预约,相关界面如下图所示:图5-12医详细信息界面voidPage_Load(object{if{if(Request.QueryString["id"]!=null){=*fromdoctorid="if(sqlred.Read()){Label1.Textsqlred[1].ToString();Label2.Textsqlred[2].ToString();Label3.Textsqlred[3].ToString();Label4.Textsqlred[4].ToString();Label5.Textsqlred[5].ToString();Label6.Textsqlred[6].ToString();Label7.Textsqlred[7].ToString();Label8.Textsqlred[8].ToString();Label9.Textsqlred[9].ToString();}}}}35

voidEventArgs{if!=null){}{对不起,你还未登陆!');</script>");}}voidEventArgs{Response.Redirect("default.aspx");}图5-13预时间选择界面partialyuyue:{voidPage_Load(object{if{if(Request.QueryString["id"]!=null){=DbHelperSQL.ExecuteReader("select*fromwhereid"+if(sqlred.Read()){Label10.Text=Label11.Text=36

}}}}voidEventArgs{if==null){还未登陆);</script>");}if(Request.QueryString["id"]!=null){stringDateTime.Now.ToString("yyyy-MM-dd");if(Calendar1.SelectedDate!=null){Calendar1.SelectedDate.ToString("yyyy-MM-dd");}ifvalues('{0}','{1}','{2}')",date)){约成功!}}{请选择医师}}病人想知道自己的预约信息,可以点击“我的预约下图所示:图-14用预约信息界面37

DeleteCommand="DELETEFROMWHERE[id]@id"INTO([sid],[did],[date])ALUES(@sid,@did,@date)"SelectCommand="selectyuyue.id,yuyue.[date],name,age,byyx,cynx,keshi,zhicheng,zhuanchangfrom([sid]@sid)"><SelectParameters><asp:SessionParameterType="String"/></SelectParameters><DeleteParameters>Name="id"/><InsertParameters>Name="sid"Type="String"/>Name="did"Type="String"/>Name="date"Type="DateTime"/>5.8询块病人想立刻知道能够治疗自己病症的医生,可以点击“我的查询,通过医生姓名或者科室找到相应的医生,如下图所示:图5-15医信息查询界面SelectCommand="SELECT[id],[cynx],[keshi],[zhicheng],[zhuanchang]FROM=<SelectParameters><asp:ControlParameterControlID="医生nType="String"/>SelectCommand="SELECT[id],[cynx],[keshi],[zhicheng],[zhuanchang]FROM([keshi]@keshi2)"><SelectParameters><asp:ControlParameterControlID="DropDownList1"Name="keshi2"38

PropertyName="SelectedValue"Type="String"/>voidPage_Load(object{HttpCookie=Request.Cookies["cook"];if(name1null){string=DateTime.Now.ToString();HttpCookie=HttpCookie("cook",Response.AppendCookie(name2);Response.Redirect(Request.Url.ToString());}Response.Write("现在登录的时间是:"+DateTime.Now.ToString()+Response.Write("上次登录的时间是:"+name1.Value.ToString()+name1.Value=Response.AppendCookie(name1);}voidEventArgs{string=医生try{if(DbHelperSQL.GetSingle("selectcount(*)fromwheredocname=@docname").ToString()=="1"){=docname;Response.Redirect("default.aspx");}{有这个名字的医生,请重新输入!');history.back()</script>");}}catch(Exceptionex){/*没有这个名字的医生,请重新输入!');history.back()</script>");return;*/}}void返回_Click(objectsender,EventArgse)39

{Response.Redirect("default.aspx");}voidEventArgs{stringDropDownList1.Text;try{if(DbHelperSQL.GetSingle("selectcount(*)from='"+"'").ToString()=="1"){keshiname;Response.Redirect("default.aspx");}{有选择科室!');history.back()</script>");}}catch(Exceptionex){没有这个名字的医生,重新

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论