2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩48頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、<p>  畢 業(yè) 論 文</p><p> 學(xué)生姓名學(xué) 號</p><p> 學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院</p><p> 專 業(yè)軟件工程</p><p> 題 目醫(yī)院預(yù)約掛號管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)</p><p>  摘 要:當(dāng)今的社會科技高速發(fā)展,信息技術(shù)日新月異,計(jì)算機(jī)化的醫(yī)院預(yù)約掛號管理系統(tǒng)

2、已成為現(xiàn)代化醫(yī)院運(yùn)營過程中必不可少的一部分。 本文介紹了醫(yī)院預(yù)約掛號管理系統(tǒng)的基本設(shè)計(jì)方法,詳細(xì)闡述了整個應(yīng)用系統(tǒng)的設(shè)計(jì)思路,本系統(tǒng)主要具備: 醫(yī)生信息管理、病人信息管理、醫(yī)生科室查詢、預(yù)約管理等功能模塊。</p><p>  關(guān) 鍵 詞: 醫(yī)院系統(tǒng)的實(shí)現(xiàn),SQL數(shù)據(jù)庫系統(tǒng),ASP.NET</p><p>  Abstract:Today's society rapid devel

3、opment of science and technology, information technology, computerized hospital appointment register management system management system has become an essential part of modern hospital operation process. Hospital appoint

4、ment register management system management system were introduced in this paper, the basic design method in detail elaborated the design idea of the whole application system, this system mainly have: physician informatio

5、n management, informatio</p><p>  Keywords:the realization of the HIS hospital system, SQL database system,ASP.NET</p><p><b>  目 錄</b></p><p>  1 緒論.....................

6、...............................4</p><p>  1.1 研究背景與意義......................................4</p><p>  1.2 研究動機(jī)與目的......................................4</p><p>  1.3 數(shù)據(jù)庫系統(tǒng)簡介........

7、..............................4</p><p>  1.4 ASP.NE簡述................. ........................5</p><p>  2 可行性研究與應(yīng)用需求分析................................5</p><p>  2.1 可行性研究.........

8、.................................5</p><p>  2.2 需求分析............................................6</p><p>  3 系統(tǒng)分析................................................7</p><p>  3.1 工作流程圖

9、..........................................7</p><p>  3.2 系統(tǒng)功能圖..........................................8</p><p>  3.3 系統(tǒng)簡介............................................8</p><p>  4 數(shù)

10、據(jù)庫設(shè)計(jì)..............................................9</p><p>  4.1 E-R 圖..............................................9</p><p>  4.2 主要數(shù)據(jù)庫表設(shè)計(jì)...................................10</p><p&

11、gt;  5 系統(tǒng)實(shí)現(xiàn)及編碼11</p><p>  5.1 系統(tǒng)后臺的實(shí)現(xiàn)及其登錄模塊的實(shí)現(xiàn)11</p><p>  5.2 醫(yī)生資料操作模塊..................................23</p><p>  5.3 預(yù)約管理模塊......................................24</p>

12、<p>  5.4 用戶管理界面管理..................................31</p><p>  5.5 病人管理模塊......................................33</p><p>  5.6 病人登錄模塊的實(shí)現(xiàn)................................33</p>&l

13、t;p>  5.7 病人預(yù)約模塊......................................35</p><p>  5.8 查詢模塊..........................................38</p><p>  6 系統(tǒng)測試...............................................43</p

14、><p>  總 結(jié)....................................................44</p><p>  參 考 文 獻(xiàn)..............................................45</p><p>  致 謝..........................................

15、..........46</p><p><b>  1 緒論</b></p><p>  1.1研究背景與意義</p><p>  在手工業(yè)時(shí)代,企業(yè)對醫(yī)院的各項(xiàng)管理的運(yùn)作是停留在以紙、筆為主要工具的階段。到后來,隨著信息量的快速增長,這種傳統(tǒng)的手工操作的方法已無法迅速、準(zhǔn)確的完成各項(xiàng)管理工作。當(dāng)醫(yī)院意識到這點(diǎn)之后,紛紛開始重視醫(yī)院管理。進(jìn)

16、入20世紀(jì)之后,隨著系統(tǒng)、信息技術(shù)、管理工具的進(jìn)步以及計(jì)算機(jī)的普及,許多醫(yī)院開始利用計(jì)算機(jī)進(jìn)行預(yù)約管理。從而提高了處理的速度與精度。在計(jì)算機(jī)飛速發(fā)展的今天,將計(jì)算機(jī)這一信息處理利器應(yīng)用于醫(yī)院的日常管理已是勢必所然,這也將為醫(yī)院預(yù)約掛號管理提供了很多的便利。醫(yī)院預(yù)約掛號管理的科學(xué)化和現(xiàn)代化給醫(yī)院和老百姓都帶來了很大的便利。主要體現(xiàn)在:極大提高了醫(yī)院工作人員的工作效率,同時(shí)降低了管理中的漏洞,解決了異地和不便出家門的患者看病難的問題,大大減

17、少了人們等掛號的時(shí)間等等。</p><p>  1.2研究動機(jī)與目的</p><p>  醫(yī)院預(yù)約掛號管理系統(tǒng)是每一個醫(yī)療機(jī)構(gòu)管理平常掛號業(yè)務(wù)流程不可或缺的一個管理信息系統(tǒng),它的存在解決了病人掛號難、看病難等問題,所以醫(yī)院預(yù)約掛號管理系統(tǒng)應(yīng)該能夠?yàn)槊恳粋€需要看病的患者提供充足的信息和快捷的查詢手段,大大的方便了求醫(yī)困難的廣大人民群眾。醫(yī)院預(yù)約掛號管理是現(xiàn)代化醫(yī)院的核心環(huán)節(jié)之一,它在整個醫(yī)院

18、管理中占有越來越重要的地位。從前,醫(yī)院預(yù)約與查詢管理都非常的耗時(shí)耗力,同時(shí)由于采用手工操作,查詢和統(tǒng)計(jì)的方式各不相同,不可避免造成一些錯記漏記的錯誤。</p><p>  因此,開發(fā)這樣一套醫(yī)院預(yù)約掛號管理軟件成為很有必要的事情,對于我們這些即將畢業(yè)的計(jì)算機(jī)專業(yè)學(xué)生來說,也是一次將專業(yè)知識應(yīng)用于現(xiàn)實(shí)的很有意義的實(shí)踐活動。</p><p>  1.3 數(shù)據(jù)庫系統(tǒng)簡介</p>&

19、lt;p>  本人設(shè)計(jì)的是一個醫(yī)院預(yù)約掛號管理的數(shù)據(jù)庫系統(tǒng),通過這個系統(tǒng)管理員可以簡捷、方便的對用戶、醫(yī)生資料進(jìn)行增加、刪除、查詢等功能。</p><p>  本系統(tǒng)采用SQL建立數(shù)據(jù)庫,然后建立數(shù)據(jù)源的鏈接,并且生成醫(yī)院預(yù)約掛號管理的數(shù)據(jù)庫應(yīng)用程序從而實(shí)現(xiàn)數(shù)據(jù)庫的管理功能。</p><p>  SQL(Structured Query Language,結(jié)構(gòu)查詢語言)是一個功能強(qiáng)大

20、的數(shù)據(jù)庫語言。SQL語句通常用于完成一些數(shù)據(jù)庫的操作任務(wù),比如在數(shù)據(jù)庫中更新數(shù)據(jù),或者從數(shù)據(jù)庫中檢索數(shù)據(jù)。使用SQL的常見關(guān)系數(shù)據(jù)庫管理系統(tǒng)有:Oracle、 Sybase、 Microsoft SQL Server、 Access、 Ingres等等。</p><p>  數(shù)據(jù)庫系統(tǒng)本質(zhì)上是一個用計(jì)算機(jī)存儲記錄的系統(tǒng)。系統(tǒng)用戶可以對這些文件執(zhí)行插</p><p>  入數(shù)據(jù)、檢索數(shù)據(jù)、更

21、改數(shù)據(jù)、刪除數(shù)據(jù)等一系列操作。圖1-1是一個數(shù)據(jù)庫系統(tǒng)的簡圖。</p><p>  圖1-1 數(shù)據(jù)庫系統(tǒng)簡圖</p><p>  1.4 ASP.NET 簡述</p><p>  Asp.net是建立在通用語言運(yùn)行時(shí)刻庫(CLR)上的應(yīng)用程序框架。他用來在服務(wù)器端構(gòu)建功能強(qiáng)大的web應(yīng)用程序。Asp.net提供了幾個超越以前web開發(fā)模式的優(yōu)點(diǎn): <

22、/p><p><b>  ·增強(qiáng)的性能 </b></p><p><b>  ·強(qiáng)大而富有彈性</b></p><p><b>  ·簡單</b></p><p><b>  ·易于管理</b></p&g

23、t;<p>  ·可伸縮性和有效利用性</p><p><b>  ·可訂制和擴(kuò)展</b></p><p><b>  ·安全性</b></p><p>  ASP.NET一般分為兩種開發(fā)語言,VB.NET和C#,C#相對比較常用,因?yàn)槭?NET獨(dú)有的語言,VB.NET則為以前V

24、B程序設(shè)計(jì),適合于以前VB程序員。ASP.net是運(yùn)行一些很平常的任務(wù)如表單的提交客戶端的身份驗(yàn)證、分布系統(tǒng)和網(wǎng)站配置變得非常簡單。另外,通用語言簡化開發(fā)使把代碼結(jié)合成軟件簡單的就像吃飯。ASP.net使用一種字符基礎(chǔ)的,分級的配置系統(tǒng),使你服務(wù)器環(huán)境和應(yīng)用程序的設(shè)置更加簡單。因?yàn)榕渲眯畔⒍急4嬖诤唵挝谋局?,新的設(shè)置有可能都不需要啟動本地的管理員工具就可以實(shí)現(xiàn)。</p><p>  2 可行性研究與應(yīng)用需求分析&

25、lt;/p><p><b>  2.1 可行性研究</b></p><p>  該階段通過對系統(tǒng)目標(biāo)的初步調(diào)研和分析,提出可行性方案并進(jìn)行論證。我們在這里主要從技術(shù)、經(jīng)濟(jì)、使用等方面來分析解決問題的可行性。</p><p>  2.1.1技術(shù)可行性</p><p>  通過在學(xué)校的學(xué)習(xí),積累了一定的知識與經(jīng)驗(yàn),在擁有的配置不

26、低的開發(fā)工具與硬件與軟件方面的資源,滿足了本系統(tǒng)的要求。雖然開發(fā)人的技術(shù)水平不高,但是通過網(wǎng)上插好資料與借閱學(xué)校的圖書資源自主學(xué)習(xí)ASP.NET,SQL Server 2005等基本課程,以及導(dǎo)師和同學(xué)的幫助,在規(guī)定的期限內(nèi)能夠基本完成本系統(tǒng)所需的開發(fā)任務(wù)。</p><p>  2.1.2經(jīng)濟(jì)可行性</p><p>  開發(fā)人在同學(xué)的幫助下在私人筆記本上安裝并且完善了所需要的開發(fā)工具和環(huán)境

27、,大大降低了開發(fā)經(jīng)費(fèi)。本系統(tǒng)不需要專門培訓(xùn)系統(tǒng)操作人員,大大減少了投入的成本,避免了人員與金錢、時(shí)間的浪費(fèi)。</p><p>  2.1.3使用可行性</p><p>  本系統(tǒng)主要從操作方式能否被廣大人民所接受使用的角度考慮。開發(fā)人盡量的簡化操作步驟,開發(fā)出便捷的操作方法與美化友好的操作界面使用戶能盡快上手,功能符合醫(yī)生與患者的需求。本系統(tǒng)對用戶要求極低,只需具備基本的計(jì)算機(jī)操作知識與素

28、養(yǎng),不需要特殊的技術(shù)能力。管理員只需定期維護(hù)后臺,并且具備SQL的使用能力即可。</p><p>  2.1.4社會可行性</p><p>  本系統(tǒng)是通過大量的調(diào)查研究,根據(jù)醫(yī)院預(yù)約掛號的實(shí)際工作流程開發(fā)研制的。</p><p>  綜上所述,本系統(tǒng)從技術(shù)、經(jīng)濟(jì)、使用、社會上看都是完全可靠的。</p><p><b>  2.2

29、需求分析</b></p><p>  本系統(tǒng)需求分析可以從使用的人群與模塊的功能兩部分考慮,并且對系統(tǒng)的性能和硬件環(huán)境方面做了簡要說明。</p><p>  2.2.1面向的用戶群</p><p>  1)求醫(yī)的人群:只要有一臺聯(lián)網(wǎng)的電腦,需要求醫(yī)的患者通過登錄網(wǎng)址進(jìn)入網(wǎng)頁,注冊成為用戶,用戶可以通過查詢醫(yī)生或者科室找到醫(yī)生資料,選擇醫(yī)生進(jìn)行預(yù)約掛號,還

30、可以修改密碼,查找預(yù)約信息和個人資料。</p><p>  2)系統(tǒng)管理員:管理員可以對自己的信息進(jìn)行修改,還可以添加別的管理員。管理員不僅可以對醫(yī)生信息進(jìn)行編輯,還可以管理病人的資料以及通過身份證號查詢病人是否存在。同時(shí)管理員還可以對預(yù)約信息進(jìn)行處理。</p><p>  2.2.2 主要的模塊功能分析</p><p>  本系統(tǒng)主要實(shí)現(xiàn)的功能及其特點(diǎn)分析:<

31、;/p><p>  第一:醫(yī)院預(yù)約掛號管理系統(tǒng)需要各種數(shù)據(jù)的應(yīng)用,需要各種數(shù)據(jù)的管理,這里將以SQL Server作為數(shù)據(jù)庫開發(fā)工具來設(shè)計(jì)數(shù)據(jù)庫。包括各種基本表的建立,包括醫(yī)生信息表,預(yù)約掛號表,病人信息表,管理員信息表,以及各個表間的連接等等。</p><p>  第二:每個系統(tǒng)都需要管理員進(jìn)行管理,設(shè)置用戶,這里將設(shè)置一個用戶管理模塊,實(shí)現(xiàn)對用戶的管理。所有權(quán)負(fù)責(zé)人有權(quán)對預(yù)約信息管理員和預(yù)

32、約人進(jìn)行添加、修改和刪除,以及查看用戶的資料等。</p><p>  第三:為了提供醫(yī)生資料的詳細(xì)信息,專門有功能提供醫(yī)生資料的輸入及管理。</p><p>  第四:病人資料的錄入方便了系統(tǒng)對病人相關(guān)資料的管理</p><p>  第五:為了方便醫(yī)生的查找,病人可以通過輸入醫(yī)生姓名或者所需要預(yù)約掛號的科室查找所求的醫(yī)生,并且選擇日期進(jìn)行預(yù)約。</p>

33、<p>  第六:管理員根據(jù)醫(yī)生的工作時(shí)間,設(shè)置病人可以預(yù)約到醫(yī)生的時(shí)間段,病人必須在改時(shí)間段內(nèi)選擇預(yù)約醫(yī)生的日期。</p><p><b>  3 系統(tǒng)分析</b></p><p><b>  3.1工作流程圖 </b></p><p><b>  3.2系統(tǒng)功能圖</b></p

34、><p><b>  3.3系統(tǒng)簡介</b></p><p>  科學(xué)技術(shù)的飛速發(fā)展,使得各行業(yè)的競爭非常激烈,醫(yī)院這個行業(yè)也不例外,為了提高管理的效率和操作的簡單化,制作這預(yù)約掛號管理系統(tǒng)是順應(yīng)而生并且還是十分必要的。該系統(tǒng)特別適用中小型醫(yī)院,針對醫(yī)院規(guī)模不大,人手不足等特點(diǎn),并且解決了病人“求醫(yī)難、掛號難”等問題,實(shí)現(xiàn)了不走出家門,不用去醫(yī)院排隊(duì)也能預(yù)約醫(yī)生,充分利用

35、了時(shí)間,便利了廣大的求醫(yī)群眾,合理安排了看病時(shí)間。本系統(tǒng)操作滿足了醫(yī)院預(yù)約掛號的日常需求,操作易于上手,無需培訓(xùn)操作人員,節(jié)約了人力成本。</p><p>  我的目標(biāo)就是開發(fā)一個功能實(shí)用、操作靈便、簡單明了且低成本的醫(yī)院預(yù)約掛號管理系統(tǒng)。</p><p>  本系統(tǒng)基于ASP.NET技術(shù),采用SQL Server2005據(jù)庫。在設(shè)計(jì)時(shí)力求作到界面簡潔,風(fēng)格統(tǒng)一,操作簡便,易于上手等特點(diǎn)。

36、</p><p>  本系統(tǒng)主要包括:醫(yī)生資料管理、病人資料管理、用戶管理、預(yù)約管理等。</p><p><b>  具體特點(diǎn):</b></p><p>  極大地提高了醫(yī)務(wù)人員的工作效率,加快了病人就診的速度,有效地解決了“看病難</p><p>  、掛號難”的問題。提高了醫(yī)院的綜合管理水平和服務(wù)質(zhì)量。</p&

37、gt;<p><b>  4 數(shù)據(jù)庫設(shè)計(jì)</b></p><p><b>  4.1 E-R圖</b></p><p>  醫(yī)生與病人、管理員之間的E-R圖:</p><p>  4.2主要數(shù)據(jù)庫表設(shè)計(jì)</p><p>  通過各種渠道分析醫(yī)院預(yù)約掛號管理的基本流程,以及醫(yī)生與病人之

38、間的聯(lián)系得出E-R圖4-1,本系統(tǒng)采用SQL Server 2005數(shù)據(jù)庫管理系統(tǒng),并建立了名為yuyue的數(shù)據(jù)庫,本系統(tǒng)所要使用的所有數(shù)據(jù)信息都存儲在這個數(shù)據(jù)庫里。</p><p>  在設(shè)計(jì)過程中需要考慮數(shù)據(jù)完整性約束。數(shù)據(jù)庫上的完整性的約束條件一般有兩類:</p><p><b>  1)屬性值的約束</b></p><p>  這類約束

39、是對屬性取值的類型、范圍、精度等的限制,和屬性的語義有關(guān)。 </p><p>  2)數(shù)據(jù)之間聯(lián)系的約束</p><p>  這類約束反映了數(shù)據(jù)之間存在的聯(lián)系,在關(guān)系數(shù)據(jù)模型中指多個屬性或多個元組之間聯(lián)系的約束。比如,屬性之間的函數(shù)依賴、多值依賴。在許多數(shù)據(jù)模型中都是表明了數(shù)據(jù)之間的某些依賴關(guān)系的,或者是隱式的或者是顯式的。</p><p>  以下列舉部分?jǐn)?shù)據(jù)表:

40、</p><p>  1.管理員表tb_user</p><p>  表4-1管理員表tb_user</p><p>  2.預(yù)約表yuyue</p><p>  表4-2預(yù)約表yuyue</p><p><b>  3.病人表sick</b></p><p>  表4-3

41、病人表sick</p><p>  4.醫(yī)生表doctor</p><p>  表4-4醫(yī)生表doctor</p><p><b>  5 系統(tǒng)實(shí)現(xiàn)及編碼</b></p><p>  5.1 系統(tǒng)后臺的實(shí)現(xiàn)及其登錄模塊的實(shí)現(xiàn)</p><p>  5.1.1 系統(tǒng)后臺實(shí)現(xiàn)代碼</p>

42、<p>  1)后臺公共函數(shù)編寫:</p><p>  // 描述 : 公用js函數(shù)庫</p><p>  var oPopup = window.createPopup();</p><p>  /*****************************************************</p><p&

43、gt;<b>  取指定對象的x坐標(biāo)</b></p><p>  *****************************************************/</p><p>  function getx(e){</p><p>  var l=e.offsetLeft;</p><p>  while

44、(e=e.offsetParent){</p><p>  l+=e.offsetLeft;</p><p><b>  }</b></p><p>  return(l);</p><p><b>  }</b></p><p>  /*******************

45、**********************************</p><p><b>  取指定對象的y坐標(biāo)</b></p><p>  *****************************************************/</p><p>  function gety(e){</p><p&

46、gt;  var t=e.offsetTop;</p><p>  while(e=e.offsetParent){</p><p>  t+=e.offsetTop;</p><p><b>  }</b></p><p>  return(t);</p><p><b>  }<

47、;/b></p><p>  /*****************************************************</p><p><b>  顯示popup窗體</b></p><p><b>  c:窗體內(nèi)容obj</b></p><p>  x:相對o的x坐標(biāo)距離

48、</p><p>  y:相對o的y坐標(biāo)距離</p><p><b>  w:寬度</b></p><p>  h:高度,如果設(shè)置為則自行獲取默認(rèn)高度</p><p><b>  o:相對于何obj</b></p><p>  ************************

49、*****************************/</p><p>  function showpopup(c,x,y,w,h,o)</p><p><b>  {</b></p><p>  oPopup.document.body.innerHTML = c.innerHTML;</p><p>  oP

50、opup.document.createStyleSheet(document.styleSheets[0].href );</p><p>  var popupBody = oPopup.document.body;</p><p>  oPopup.show(0, 0, w, 0);</p><p>  h=h==0?popupBody.scrollHeigh

51、t:h;</p><p>  oPopup.hide();</p><p>  oPopup.show(x, y, w, h, o);</p><p><b>  }</b></p><p>  /*****************************************************</p>

52、;<p><b>  提取xml根節(jié)點(diǎn)</b></p><p>  *****************************************************/</p><p>  function getxmldoc(url)</p><p><b>  {</b></p>&

53、lt;p>  var oXMLDoc = new ActiveXObject('MSXML');</p><p>  oXMLDoc.url = url;</p><p>  var ooRoot=oXMLDoc.root;</p><p>  return ooRoot;</p><p><b>  }<

54、;/b></p><p>  /*****************************************************</p><p>  所有g(shù)if圖片鼠標(biāo)經(jīng)過效果,鼠標(biāo)經(jīng)過后顯示的圖片文件名在原圖片名后加_over</p><p>  ***************************************************

55、**/</p><p>  function imgover(obj)</p><p><b>  {</b></p><p>  if(obj.locked == "true") return; //如果對象被鎖定,則不觸發(fā)事件</p><p>  if(typeof(obj)!="obj

56、ect")return false;</p><p>  if(obj.tagName!="IMG") //不是img對象則退出</p><p>  return false;</p><p>  var r, re; // 聲明變量。</p><p>  var ss =

57、obj.src;</p><p>  re = /.gif$\b/i; // 創(chuàng)建正則表達(dá)式模式。</p><p>  r = ss.replace(re, "_over.gif"); //加上_over</p><p>  obj.src=r;</p><p>  obj.behave=&#

58、39;over';</p><p><b>  }</b></p><p>  /*****************************************************</p><p>  所有g(shù)if圖片鼠標(biāo)按下效果,鼠標(biāo)按下后顯示的圖片文件名在原圖片名后加_down</p><p>  **

59、***************************************************/</p><p>  function imgdown(obj)</p><p><b>  {</b></p><p>  if(obj.locked == "true") return; //如果對象被鎖定,則不觸發(fā)事

60、件</p><p>  if(obj.tagName!="IMG") //不是img對象則退出</p><p>  return false;</p><p>  var r, re; // 聲明變量。</p><p>  var ss = obj.src;</p>&l

61、t;p>  if(obj.behave=='over')</p><p><b>  {</b></p><p>  re = /_over.gif$\b/i; </p><p>  r = ss.replace(re, "_down.gif"); </p><

62、;p><b>  }</b></p><p>  if(obj.behave=='')</p><p><b>  {</b></p><p>  re = /.gif$\b/i; // 創(chuàng)建正則表達(dá)式模式。</p><p>  r = ss.repla

63、ce(re, "_down.gif"); //加上_down</p><p><b>  }</b></p><p>  obj.src=r;</p><p>  obj.behave='down';</p><p><b>  }</b></p>

64、;<p>  /*****************************************************</p><p>  所有g(shù)if圖片鼠標(biāo)按下效果,鼠標(biāo)經(jīng)過后顯示的圖片文件名在原圖片名后加_over</p><p>  *****************************************************/</p>&

65、lt;p>  function imgup(obj)</p><p><b>  {</b></p><p>  if(obj.locked == "true") return; //如果對象被鎖定,則不觸發(fā)事件</p><p>  if(typeof(obj)!="object")return f

66、alse;</p><p>  if(obj.tagName!="IMG") //不是img對象則退出</p><p>  return false;</p><p>  var r, re; // 聲明變量。</p><p>  var ss = obj.src;</p>

67、<p>  re = /_down.gif$\b/i; // 創(chuàng)建正則表達(dá)式模式。</p><p>  r = ss.replace(re, "_over.gif"); </p><p>  obj.src=r;</p><p>  obj.behave='over';</p>

68、<p><b>  }</b></p><p>  /*****************************************************</p><p>  所有g(shù)if圖片鼠標(biāo)移出效果,鼠標(biāo)經(jīng)過后顯示的圖片文件名在原圖片名后去掉_over</p><p>  ************************

69、*****************************/</p><p>  function imgout(obj)</p><p><b>  {</b></p><p>  if(typeof(obj)!="object")return false;</p><p>  if(obj.tag

70、Name!="IMG")//不是img對象則退出</p><p>  return false;</p><p>  var r, re; // 聲明變量。</p><p>  var r = ss = obj.src;</p><p>  if(obj.behave=='o

71、ver')</p><p><b>  {</b></p><p>  re = /_over.gif$\b/i; </p><p>  r = ss.replace(re, ".gif"); </p><p><b>  }</b><

72、/p><p>  if(obj.behave=='down')</p><p><b>  {</b></p><p>  re = /_down.gif$\b/i; </p><p>  r = ss.replace(re, ".gif"); </p>

73、<p><b>  }</b></p><p>  obj.src=r; </p><p>  obj.behave='';</p><p><b>  }</b></p><p>  /*******************************

74、**********************</p><p>  所有樣式表鼠標(biāo)經(jīng)過效果,鼠標(biāo)經(jīng)過后原樣式表在后加over</p><p>  *****************************************************/</p><p>  function classover(obj)</p><p><

75、;b>  {</b></p><p>  if(obj.locked == "true") return; //如果對象被鎖定,則不觸發(fā)事件</p><p>  if(typeof(obj)!="object")return false;</p><p>  if(obj.behave=='over&

76、#39;)return;</p><p>  var ss = obj.className;</p><p>  var r = ss+"_over"; //加上over</p><p>  obj.className=r;</p><p>  obj.behave='over';</p>

77、<p><b>  }</b></p><p>  /*****************************************************</p><p>  所有樣式表鼠標(biāo)移出效果,鼠標(biāo)移出后原樣式表在后去掉over</p><p>  ***********************************

78、******************/</p><p>  function classout(obj)</p><p><b>  {</b></p><p>  if(obj.locked == "true") return; //如果對象被鎖定,則不觸發(fā)事件</p><p>  if(typeo

79、f(obj)!="object")return false;</p><p>  var r, re; // 聲明變量。</p><p>  var ss = obj.className;</p><p>  if(obj.behave=='over')</p><p>

80、;<b>  {</b></p><p>  re = /_over$\b/i; // 創(chuàng)建正則表達(dá)式模式。</p><p>  r = ss.replace(re, ""); </p><p><b>  }</b></p><p>  if(ob

81、j.behave=='down')</p><p><b>  {</b></p><p>  re = /_down$\b/i; // 創(chuàng)建正則表達(dá)式模式。</p><p>  r = ss.replace(re, ""); </p><p><b

82、>  }</b></p><p>  obj.className=r; </p><p>  obj.behave='';</p><p><b>  }</b></p><p>  /**************************************

83、***************</p><p>  所有樣式表鼠標(biāo)按下效果,鼠標(biāo)按下后原樣式表在后加上down</p><p>  *****************************************************/</p><p>  function classdown(obj)</p><p><b>

84、  {</b></p><p>  if(obj.locked == "true") return; //如果對象被鎖定,則不觸發(fā)事件</p><p>  if(typeof(obj)!="object")return false;</p><p>  var r, re; /

85、/ 聲明變量。</p><p>  var ss = obj.className;</p><p>  re = /_over$\b/i; // 創(chuàng)建正則表達(dá)式模式。</p><p>  r = ss.replace(re, "_down"); </p><p>  obj.className

86、=r; </p><p>  obj.behave='down';</p><p><b>  }</b></p><p>  /*****************************************************</p><p>  所有樣式表鼠標(biāo)釋放效果

87、,鼠標(biāo)釋放后原樣式表在后</p><p>  *****************************************************/</p><p>  function classup(obj)</p><p><b>  {</b></p><p>  if(obj.locked == &quo

88、t;true") return; //如果對象被鎖定,則不觸發(fā)事件</p><p>  if(typeof(obj)!="object")return false;</p><p>  var r, re; // 聲明變量。</p><p>  var ss = obj.className;<

89、/p><p>  re = /_down$\b/i; // 創(chuàng)建正則表達(dá)式模式。</p><p>  r = ss.replace(re, "_over"); </p><p>  obj.className=r;</p><p>  obj.behave='over';</p

90、><p><b>  }</b></p><p>  /*****************************************************</p><p><b>  檢查日期正確性</b></p><p>  **********************************

91、*******************/</p><p>  function chkDateTime(str){</p><p>  var reg = /^(\d{1,4})-(\d{1,2})-(\d{1,2})$/; </p><p>  var r = str.match(reg); </p><p>  if(r==null)re

92、turn false; </p><p>  var d= new Date(r[1], --r[2],r[3]); </p><p>  if(d.getFullYear()!=r[1])return false;</p><p>  if(d.getMonth()!=r[2])return false;</p><p>  if(d.ge

93、tDate()!=r[3])return false;</p><p>  return true;</p><p><b>  }</b></p><p>  2)多文檔窗口代碼實(shí)現(xiàn)</p><p>  最終呈現(xiàn)的界面如下圖所示:</p><p>  圖5-1后臺管理主界面</p>

94、<p>  // 描述 : 多文檔窗口</p><p>  function mywin()</p><p><b>  {</b></p><p>  this.winlist = new Array(); //窗口列表</p><p>  this.maxWins = 20;/

95、/最大窗口數(shù)</p><p>  this.tagTitleWidth = 150;//標(biāo)簽寬度</p><p>  this.indentWidth = 10;//標(biāo)簽縮進(jìn)寬度</p><p>  this.currentwin = null;</p><p>  this.addwin = addwin;

96、 //新建窗口方法</p><p>  this.removewin = removewin; //移除窗體</p><p>  this.removeall = removeall; //移除所有窗體</p><p> 

97、 this.activewin = activewin; //激活窗口</p><p>  this.container = container;</p><p>  this.padLeft = padLeft;// 標(biāo)題離左邊緣的距離</p><p>  this.padRight = padRight;

98、// 標(biāo)題離右邊緣的距離</p><p>  this.scrollWidth = scrollWidth;</p><p>  function container(url,title)</p><p><b>  {</b></p><p>  for(var i=0;i<this.winlist.len

99、gth;i++)</p><p><b>  {</b></p><p>  if(this.winlist[i].title == title && this.winlist[i].url == url)</p><p><b>  {</b></p><p><b> 

100、 return i;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  return -1;</p><p><b>  }</b></p><p>  function active

101、win(oEl) //激活窗口</p><p><b>  {</b></p><p>  if(oEl == null){</p><p>  this.currentwin = null;</p><p><b>  return</b></p>&

102、lt;p><b>  }</b></p><p>  var tempzindex = this.currentwin.style.zIndex;</p><p>  this.currentwin.wintitle.style.zIndex = this.currentwin.index;</p><p>  this.currentw

103、in.style.display = "none";</p><p>  this.currentwin.wintitle.style.backgroundImage = 'url(images/tab1.gif)';</p><p>  oEl.wintitle.style.zIndex = tempzindex;</p><p&g

104、t;  oEl.style.display = "";</p><p>  oEl.wintitle.style.backgroundImage = 'url(images/tab2.gif)';</p><p>  this.currentwin = oEl;</p><p>  //如果不在顯示區(qū)域內(nèi)</p>&

105、lt;p>  var mleft = parseInt(titlelist.style.marginLeft);</p><p>  if (isNaN(mleft))</p><p>  mleft = 0;</p><p>  var padleft = this.padLeft(oEl);</p><p>  var padrig

106、ht = this.padRight(oEl);</p><p>  var clientwidth = titlelist.parentElement.clientWidth</p><p>  if(padleft + mleft > clientwidth)</p><p><b>  {</b></p><p&

107、gt;  titlelist.style.marginLeft = clientwidth - padleft;</p><p><b>  }</b></p><p>  if(padright < clientwidth && mleft < 0)</p><p><b>  {</b>

108、;</p><p>  mleft = clientwidth - this.scrollWidth();</p><p>  if(mleft>0)</p><p>  mleft = 0;</p><p>  titlelist.style.marginLeft = mleft;</p><p><b&

109、gt;  }</b></p><p>  if(padleft + mleft < this.tagTitleWidth)</p><p><b>  {</b></p><p>  titlelist.style.marginLeft = - (padleft - this.tagTitleWidth);</p>

110、<p><b>  }</b></p><p><b>  }</b></p><p>  function padLeft(oEl)</p><p><b>  {</b></p><p>  var padleft = oEl.index * this.tag

111、TitleWidth - this.indentWidth*(oEl.index-1);</p><p>  return padleft;</p><p><b>  }</b></p><p>  function padRight(oEl)</p><p><b>  {</b></p&

112、gt;<p>  var count = (this.winlist.length - oEl.index) + 1;</p><p>  var padright = this.tagTitleWidth * count - this.indentWidth*(count-1);</p><p>  return padright;</p><p>

113、<b>  }</b></p><p>  function addwin(url,title) //方法的具體實(shí)現(xiàn)</p><p><b>  {</b></p><p>  var con = this.container(url,title

114、);</p><p>  if(con>-1)</p><p><b>  {</b></p><p>  this.activewin(this.winlist[con]);</p><p><b>  return;</b></p><p><b>  }

115、</b></p><p>  if(this.winlist.length >= this.maxWins)</p><p><b>  {</b></p><p>  alert("超過最大窗口數(shù)限制("+this.maxWins+"),請先關(guān)閉部分窗口");</p>&

116、lt;p>  return false;</p><p><b>  }</b></p><p>  oDIV = window.document.createElement( "TABLE" );</p><p>  this.winlist[this.winlist.length] = oDIV;

117、 //往列表內(nèi)添加窗體對象</p><p>  oDIV.url = url;</p><p>  oDIV.title = title;</p><p>  oDIV.index = this.winlist.length;</p><p>  oDIV.className = "win";</p>

118、;<p>  oDIV.width = "100%";</p><p>  oDIV.height = "100%";</p><p>  oDIV.cellSpacing=0;</p><p>  oDIV.insertRow().insertCell().innerHTML = "<ifram

119、e src='"+url+"' class = 'win1' width='100%' height='100%' frameborder='0'></iframe>";</p><p>  var oTitle = window.document.createElement( &quo

120、t;SPAN" );</p><p>  oTitle.className ='wintitle';</p><p>  oTitle.style.width = this.tagTitleWidth;</p><p>  oTitle.style.backgroundImage = 'url(images/tab2.gif)

121、9;;</p><p>  oTitle.style.left = this.winlist.length == 1 ? 0 : this.winlist[this.winlist.length-2].wintitle.style.pixelLeft - this.indentWidth;</p><p>  oTitle.title = title;</p><p&g

122、t;  title = subStr(title,16);</p><p>  oTitle.innerHTML= title == null ? "unkown windows" : title;</p><p>  oTitle.win=oDIV;</p><p>  oTitle.onclick = new Function("w

123、in.activewin(this.win)")</p><p>  if(this.currentwin != null) {</p><p>  this.currentwin.wintitle.style.backgroundImage = 'url(images/tab1.gif)';</p><p>  this.currentw

124、in.style.display = "none";</p><p>  this.currentwin.wintitle.style.zIndex = this.currentwin.index;</p><p><b>  }</b></p><p>  oDIV.style.zIndex = this.maxWins+

125、1;</p><p>  oTitle.style.zIndex = this.maxWins+1;</p><p>  oDIV.wintitle = oTitle;</p><p>  titlelist.insertAdjacentElement( "beforeEnd" , oTitle );</p><p>  

126、var scrollwidth = this.scrollWidth();</p><p>  if(scrollwidth > titlelist.parentElement.clientWidth)</p><p><b>  {</b></p><p>  titlelist.style.marginLeft = titlelist

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論