版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
濟(jì)南大學(xué)畢業(yè)設(shè)計(jì)PAGE—PAGEI—摘要一般的企事業(yè)單位的辦公系統(tǒng)都運(yùn)行在局域網(wǎng)內(nèi),遇到人員出差等可以利用公網(wǎng)電子郵件,但無法通過內(nèi)部辦公系統(tǒng)及時(shí)處理工作。該設(shè)計(jì)通過特定的數(shù)據(jù)格式,使用電子郵件作為通信通道,實(shí)現(xiàn)遠(yuǎn)程辦公,可以突破目前辦公軟件局域網(wǎng)的限制。突破局域網(wǎng)限制還可以從網(wǎng)絡(luò)層入手,但一般需要特殊網(wǎng)絡(luò)設(shè)備,對(duì)于小型公司來講,成本上不合理。本設(shè)計(jì)分為兩大部分,第一部分為一個(gè)簡(jiǎn)單的公司內(nèi)部辦公系統(tǒng),形式為網(wǎng)站。第二部分為一個(gè)windows窗口程序,用辦公郵箱登陸。利用第三方的郵件服務(wù),實(shí)現(xiàn)第一部分和第二部分間的相互通信。運(yùn)用C#可以方便的實(shí)現(xiàn)郵件發(fā)送與接收,能快速的開發(fā)出小型企業(yè)網(wǎng)站。系統(tǒng)實(shí)現(xiàn)了工作任務(wù)的申請(qǐng)、布置、提交、審核等等。員工在外出差時(shí),利用windows窗口程序可以進(jìn)行任務(wù)的處理和申請(qǐng)。當(dāng)然網(wǎng)站端還有基本的賬戶管理。本設(shè)計(jì)是針對(duì)具體的辦公系統(tǒng),實(shí)現(xiàn)的遠(yuǎn)程辦公,雖然失去了一定的通用性,但其實(shí)用性大大提高。同時(shí),作為畢業(yè)設(shè)計(jì),其最重要的功能是可以熟悉使用C#進(jìn)行電子郵件編程,熟悉使用開發(fā)簡(jiǎn)單的公司的辦公系統(tǒng)。提升自己的分析問題、解決問題、動(dòng)手實(shí)踐的能力。關(guān)鍵詞:遠(yuǎn)程辦公;小型企業(yè)網(wǎng)站;SMTP協(xié)議;郵件客戶端ABSTRACTMostofthecompany'sofficesystemcanonlyrunattheLANwhichtheyin.Whensomeoneofthemisonabusinesstrip,theycanusepublicemail,butcouldn’tgetworkdoneefficiently.Thisdesignthroughtheparticulardataformat,useemailasacommunicationchannel,torealizetheremoteoffice,canbreakthroughthelimitsoftheLAN.Wecanalsobreakthroughthelimitfromnetworklayer,butthatneedspecialnetworkequipment,forthesmallcompanyterms,thecostisnotreasonable.Thisdesignhastwoparts.Thefirstpartisawebsite,astheofficesystem.ThesecondpartisaWindowApplicationProgram,withofficeE-maillanded.Itusesothermailservicetoconnectthefirstpartandthesecondpart.C#canrealizemailsendingandreceivingconveniently.Acandevelopsmallwebsiterapidly.Itcanapply,layout,submit,examinemissionandsoon.Whenemployeesonbusinesstrips,theycanusethesecondpartapplyforandprocessingthetask.Ofcourse,thewebsitehasthebasicaccountmanagementfunctions.Thisdesignisforthespecificofficesystem,althoughlostsomegenerality,butthepracticalityisgreatlyincreased.Atthesametime,asthegraduationdesign,themostimportantfunctionisthatitletmelearnmoreaboutC#foremailprogrammingandfamiliarwithusedevelopcompany'sofficesystem.Improvemyselftoanalyzeandsolveproblems,andimprovetheabilityofpractice.Keywords:Telecommuting;Smallbusinesssite;TheSMTPprotocol;Mailclient
目錄摘要 IABSTRACT II1前言 11.1選題背景與意義 11.2相關(guān)技術(shù)介紹 12需求分析 32.1系統(tǒng)中存在的角色 32.2分角色分析 32.3輸入輸出要求 42.4遠(yuǎn)程通信要求 53概要設(shè)計(jì) 63.1系統(tǒng)簡(jiǎn)介 63.2網(wǎng)站和windows窗口程序的關(guān)系 63.3網(wǎng)站部分介紹 63.4窗口程序部分介紹 74數(shù)據(jù)庫部分的設(shè)計(jì) 84.1E-R簡(jiǎn)圖 84.2基本表與參照關(guān)系 84.3工具類 145網(wǎng)站詳細(xì)設(shè)計(jì) 155.1工程文件結(jié)構(gòu) 155.2按模塊介紹 165.2.1登陸模塊 165.2.2員工增刪改 185.2.3個(gè)人信息維護(hù) 245.2.4任務(wù)申請(qǐng) 255.2.5任務(wù)布置 275.2.6任務(wù)提交 295.2.7任務(wù)審核 325.2.8任務(wù)匯總查看 335.3母版頁使用介紹 345.3.1基本使用 345.3.2相對(duì)路徑與絕對(duì)路徑的問題 355.4獨(dú)立小功能介紹 365.4.1運(yùn)用javascript關(guān)閉當(dāng)前頁 365.4.2判斷當(dāng)前機(jī)器是否聯(lián)網(wǎng) 365.4.2輸入日期時(shí)彈出日歷控件 366窗口程序詳細(xì)設(shè)計(jì) 396.1工程文件結(jié)構(gòu) 396.2模塊介紹 406.2.1任務(wù)查看 406.2.2任務(wù)申請(qǐng) 416.2.3任務(wù)提交 426.3補(bǔ)充介紹 437遠(yuǎn)程通信設(shè)計(jì) 457.1簡(jiǎn)介 457.2網(wǎng)站端發(fā)送消息 457.2.1布置任務(wù)時(shí)同時(shí)發(fā)送 457.2.2刷新任務(wù)池時(shí),取出符合條件的發(fā)送 467.3窗口程序接消息 487.4窗口程序發(fā)消息 497.4.1申請(qǐng)時(shí)發(fā)送 497.4.2提交時(shí)發(fā)送 497.5網(wǎng)站端解析消息 498一個(gè)簡(jiǎn)單的流程測(cè)試 528.1簡(jiǎn)介 528.2測(cè)試 52結(jié)論 60參考文獻(xiàn) 61致謝 62—PAGE71—1前言1.1選題背景與意義目前市場(chǎng)上有很多實(shí)現(xiàn)遠(yuǎn)程辦公的商業(yè)軟件。當(dāng)公司內(nèi)部信息系統(tǒng)在internet上無法訪問時(shí),這些軟件就大有用武之地,軟件相當(dāng)于一個(gè)小工具,突破局域網(wǎng)限制,安裝運(yùn)行方便快捷,成本低,目前有:GoToMyCloud、51Mypc遠(yuǎn)程辦公等等,其中也有免費(fèi)版本,不過作為一個(gè)公司,考慮到安全性商業(yè)保密等等,一般會(huì)選擇使用付費(fèi)、有后期維護(hù)及升級(jí)的軟件。所以從市場(chǎng)需求這方面考慮,此選題很有意義。解決遠(yuǎn)程辦公有很多思路,用電子郵件作為通信通道是一個(gè)傳統(tǒng)的解決方案,但其中又不乏創(chuàng)新。傳統(tǒng)的使用電子郵件通信不能夠讓員工及時(shí)處理任務(wù),郵件客戶端與公司的工作流程又有一定的區(qū)別,聯(lián)系不夠緊密。本設(shè)計(jì)是針對(duì)具體的辦公系統(tǒng),實(shí)現(xiàn)的遠(yuǎn)程辦公,雖然失去了一定的通用性,但其實(shí)用性大大提高。同時(shí),作為畢業(yè)設(shè)計(jì),其最重要的功能是可以熟悉使用C#進(jìn)行電子郵件編程,熟悉使用開發(fā)簡(jiǎn)單的公司的辦公系統(tǒng),提升自己的分析問題、解決問題、動(dòng)手實(shí)踐的能力。1.2相關(guān)技術(shù)介紹基于電子郵件傳輸?shù)倪h(yuǎn)程辦公系統(tǒng)設(shè)計(jì)采用的開發(fā)集成環(huán)境為VisualStudio2010,F(xiàn)ramework版本為.NETFramework4.0,數(shù)據(jù)庫使用的是集成的MicrosoftSQLServer2005。本設(shè)計(jì)中VisualStudio2010運(yùn)行的操作系統(tǒng)環(huán)境為Windows7專業(yè)版。開發(fā)效率和用戶體驗(yàn)都屬一流。VisualStudio是微軟公司推出的開發(fā)環(huán)境。是目前最流行的Windows平臺(tái)應(yīng)用程序開發(fā)環(huán)境。VisualStudio2010版本于2010年4月12日上市,其集成開發(fā)環(huán)境(IDE)的界面被重新設(shè)計(jì)和組織,變得更加簡(jiǎn)單明了。VisualStudio2010同時(shí)帶來了NETFramework4.0、MicrosoftVisualStudio2010CTP(CommunityTechnologyPreview--CTP),并且支持開發(fā)面向Windows7的應(yīng)用程序。除了MicrosoftSQLServer,它還支持IBMDB2和Oracle數(shù)據(jù)庫。目前有五個(gè)版本:專業(yè)版、高級(jí)版、旗艦版、學(xué)習(xí)版和測(cè)試版。我使用的是旗艦版,完整版售價(jià)11899美元,升級(jí)版售價(jià)3799美元。鑒于經(jīng)濟(jì)實(shí)力,我使用的處在免費(fèi)試用期的版本。a.網(wǎng)站采用技術(shù),開發(fā)工具為VisualStudio2010,此集成開發(fā)環(huán)境功能異常強(qiáng)大,有豐富的服務(wù)器控件,還有集成的數(shù)據(jù)庫開發(fā)界面,設(shè)計(jì)基本表,存儲(chǔ)過程,表間參照,視圖等等都十分方便。數(shù)據(jù)庫的連接字符串可以自動(dòng)生成,粘貼到web.config文件中。數(shù)據(jù)庫文件放在專門的App_Data文件夾中。(1)賬戶管理采用GridView控件還用Session對(duì)象技術(shù)。(2)工作空間采用GridView控件,DropDownList控件,文件上傳下載技術(shù),Session對(duì)象技術(shù),郵件的收發(fā)技術(shù)。(3)整體網(wǎng)站采用了母版頁技術(shù)、JavaScript技術(shù),還有外部樣式表,也可以采用主題技術(shù)。b.窗口程序部分,也是用VisualStudio2010開發(fā),語言選擇都是C#,其提供的控件也豐富方便。(1)任務(wù)處理部分使用TreeView控件,webBrowser控件,contextMenuStrip控件技術(shù),文件上傳下載技術(shù),郵件接收技術(shù)。(2)任務(wù)申請(qǐng)部分使用了openFileDialog控件,文件上傳技術(shù),郵件發(fā)送技術(shù)。(3)整體窗體間通信使用自定義的類,來記住當(dāng)前用戶信息。2需求分析2.1系統(tǒng)中存在的角色本系統(tǒng)是一個(gè)整合的小型企業(yè)辦公系統(tǒng),包含內(nèi)部的信息系統(tǒng),和外部的遠(yuǎn)程辦公小工具。這個(gè)企業(yè)是虛擬出的企業(yè),他是一家服務(wù)性企業(yè),產(chǎn)品除了服務(wù)以外也有實(shí)物產(chǎn)品,經(jīng)營形式較靈活。目標(biāo)客戶人群主要是大中城市的退休人員。這個(gè)企業(yè)名字為《暢享有限責(zé)任公司》。在本設(shè)計(jì)中用的是其別名怡然部落有限責(zé)任公司。具體詳情不做過多介紹,它的來源為:第七屆“挑戰(zhàn)杯”濟(jì)南大學(xué)學(xué)生創(chuàng)業(yè)計(jì)劃大賽,本人也是其中的參與者之一,在此要感謝他們。系統(tǒng)中角色簡(jiǎn)單的分為:系統(tǒng)管理員、總經(jīng)理、部門經(jīng)理、員工。還有一個(gè)“任務(wù)”實(shí)體。當(dāng)公司業(yè)務(wù)擴(kuò)展時(shí),還可以增添角色類型。2.2分角色分析a、員工可以對(duì)自己的賬戶信息進(jìn)行維護(hù),如修改聯(lián)系方式,密碼等等。對(duì)于其登陸所用的類似于工號(hào)的用戶名不允許修改。員工可以進(jìn)行任務(wù)申請(qǐng),與自己相關(guān)的任務(wù)查看。b、部門經(jīng)理,對(duì)自己部門下的員工進(jìn)行管理,對(duì)他們申請(qǐng)的任務(wù)提交的任務(wù)進(jìn)行審核,為他們布置任務(wù),維護(hù)自己的賬戶信息。c、總經(jīng)理,對(duì)所有的下屬提交的任務(wù)和申請(qǐng)的任務(wù)進(jìn)行審核,對(duì)下屬反映上來的問題進(jìn)行查看,對(duì)自己賬戶的管理,d、管理員具有最高權(quán)限,但不是所有權(quán)限。作為管理員要對(duì)數(shù)據(jù)庫基本表進(jìn)行維護(hù),對(duì)整個(gè)系統(tǒng)的賬戶進(jìn)行維護(hù),為員工分配工號(hào)等等。其不能修改員工的密碼,以及員工提交的任務(wù)。e、任務(wù)的狀態(tài)有申請(qǐng)、建立、提交、審核、完成五種,按時(shí)間順序轉(zhuǎn)化如下圖申請(qǐng)申請(qǐng)建立提交審核完成圖2.1任務(wù)的生命周期圖注:這里的“審核”是一個(gè)狀態(tài),而審核過程包含兩種,一種是申請(qǐng)轉(zhuǎn)化到建立,一種是提交以后工作流程圖如下:?jiǎn)T工員工部門經(jīng)理總經(jīng)理申請(qǐng)的任務(wù)提交的任務(wù)任務(wù)池圖2.2辦公流程圖管理員在辦公流程中,員工和部門經(jīng)理都可以申請(qǐng)和提交任務(wù),總經(jīng)理和部門經(jīng)理可以審核下屬提交或申請(qǐng)的任務(wù),也可以為下屬布置任務(wù)。員工或部門經(jīng)理,登錄系統(tǒng)可以查看自己的已建立的任務(wù),已建立意思就是需要完成之意。剛申請(qǐng)的任務(wù)必需要上級(jí)批準(zhǔn)才能變成以建立狀態(tài)。處理任務(wù)時(shí)有時(shí)會(huì)關(guān)聯(lián)很多文件,所以系統(tǒng)要提供文件的上傳下載功能。2.3輸入輸出要求由于員工對(duì)數(shù)據(jù)的存儲(chǔ)的格式不了解,他們只是了解自己的辦公流程,以及基本的windows操作系統(tǒng)的使用。所以在輸入時(shí)要對(duì)員工填入的數(shù)據(jù)進(jìn)行格式調(diào)整或者驗(yàn)證提示,例如,輸入日期的時(shí)候要輸入“yyyy-MM-dd”,當(dāng)輸入不符合要求時(shí),要有對(duì)話框提示,這個(gè)可以使用javascript實(shí)現(xiàn)。對(duì)于輸出,要求能對(duì)所有任務(wù)在網(wǎng)頁上查看,包括任務(wù)的狀態(tài),關(guān)聯(lián)的員工,起止時(shí)間等等。對(duì)于單個(gè)員工,要求他能查看自己的任務(wù),查看自己任務(wù)的狀態(tài)。老板能夠看所有員工的情況,每月完成的任務(wù)量,聯(lián)系方式等等。關(guān)于輸出的響應(yīng)時(shí)間,由于系統(tǒng)規(guī)模較小,網(wǎng)站內(nèi)部的響應(yīng)速度在目前主流企業(yè)小型服務(wù)器上基本不會(huì)出現(xiàn)問題。員工和老板的基本操作響應(yīng)一般預(yù)計(jì)不會(huì)超過3秒2.4遠(yuǎn)程通信要求a、在網(wǎng)站端安排任務(wù)時(shí),會(huì)同時(shí)發(fā)送相關(guān)郵件消息到員工工作郵箱,郵件延時(shí)取決于郵件服務(wù)的狀態(tài)。一般不會(huì)出現(xiàn)大的延時(shí)。b、windows程序端能夠根據(jù)員工登陸時(shí)的郵箱來從郵箱中提取出符合要求的郵件數(shù)據(jù)。c、員工在外提交的郵件消息,網(wǎng)站可以用設(shè)定好的郵箱(Boss郵箱)接收,然后解析判斷,組合成記錄存入相應(yīng)數(shù)據(jù)庫基本表。BBoss郵箱甲員工郵箱乙員工郵箱丙員工郵箱圖2.3通信郵箱結(jié)構(gòu)網(wǎng)站W(wǎng)indows程序注:這些郵箱都是同類型的,在本設(shè)計(jì)中都使用的是163郵箱。3概要設(shè)計(jì)3.1系統(tǒng)簡(jiǎn)介本設(shè)計(jì)分為兩大部分,第一部分為一個(gè)簡(jiǎn)單的公司內(nèi)部辦公系統(tǒng),形式為網(wǎng)站。第二部分為一個(gè)windows窗口程序,用辦公郵箱登陸。利用第三方的郵件服務(wù),實(shí)現(xiàn)第一部分和第二部分間的相互通信。運(yùn)用C#可以方便的實(shí)現(xiàn)郵件發(fā)送與接收,能快速的開發(fā)出小型企業(yè)網(wǎng)站。系統(tǒng)實(shí)現(xiàn)了工作任務(wù)的申請(qǐng)、布置、提交、審核等等。員工在外出差時(shí),利用windows窗口程序可以進(jìn)行任務(wù)的處理和申請(qǐng)。當(dāng)然網(wǎng)站端還有基本的賬戶管理。3.2網(wǎng)站和windows窗口程序的關(guān)系企業(yè)內(nèi)部網(wǎng)站企業(yè)內(nèi)部網(wǎng)站外部郵件服務(wù)遠(yuǎn)程辦公助手(窗口程序)SMTPSMTPPOP3POP3圖3.1整個(gè)系統(tǒng)的架構(gòu)3.3網(wǎng)站部分介紹網(wǎng)站部分分為“賬戶管理模塊”和“工作空間模塊”。賬戶管理有四種身份,分別是管理員、老板、部門經(jīng)理和員工。根據(jù)身份的不同,配置不同的操作權(quán)限。例如老板和管理員有一切權(quán)限,而員工只能對(duì)自己某些的信息進(jìn)行修改更新。工作空間中有任務(wù)申請(qǐng)、我的任務(wù)、任務(wù)布置、任務(wù)審核、任務(wù)池匯總等部分。不同的模塊針對(duì)不同的用戶,任務(wù)申請(qǐng)和我的任務(wù)是針對(duì)員工的,其余的是針對(duì)部門經(jīng)理和老板。具體結(jié)構(gòu)如下圖:企業(yè)網(wǎng)站企業(yè)網(wǎng)站工作空間賬戶管理個(gè)人信息更新密碼修改增刪改員工信息任務(wù)申請(qǐng)我的任務(wù)任務(wù)布置任務(wù)審核任務(wù)池匯總圖3.2網(wǎng)站的結(jié)構(gòu)3.4窗口程序部分介紹windows窗口程序部分分為兩大模塊,一個(gè)為“任務(wù)處理”,一個(gè)為“任務(wù)申請(qǐng)”。關(guān)于賬戶的管理部分可以在后期添加。任務(wù)處理部分簡(jiǎn)單地分為任務(wù)查看、任務(wù)編輯、任務(wù)提交、刪除過期任務(wù)。任務(wù)申請(qǐng)部分沒有子模塊。結(jié)構(gòu)如下圖:窗口程序窗口程序任務(wù)處理任務(wù)申請(qǐng)任務(wù)查看任務(wù)編輯任務(wù)提交過期任務(wù)刪除圖3.3窗口程序的結(jié)構(gòu)4數(shù)據(jù)庫部分的設(shè)計(jì)4.1E-R簡(jiǎn)圖公司內(nèi)部上級(jí)對(duì)下級(jí)是管理關(guān)系,公司所有成員與任務(wù)的關(guān)系是處理關(guān)系,人員對(duì)部門的關(guān)系是隸屬。在后期的表設(shè)計(jì)中,一些實(shí)體合并了,具體見下一節(jié)表設(shè)計(jì)。總經(jīng)理總經(jīng)理部門經(jīng)理員工管理管理管理處理人任務(wù)圖4.1系統(tǒng)E-R圖上圖中的“人”,是員工和部門經(jīng)理、總經(jīng)理的合并。他們?nèi)叨即娣旁谝粡埍恚║sertable)中,上圖中實(shí)體的屬性已略去,詳見下一節(jié)表設(shè)計(jì)的截圖。4.2基本表與參照關(guān)系本系統(tǒng)中使用了五張基本表,Department(部門表)、MissionPool(任務(wù)表)、MissionStateTable(任務(wù)狀態(tài)表)、Usertable(用戶表)、RoleTable(角色表)。數(shù)據(jù)庫名稱為yirandata,是怡然的拼音加上data構(gòu)成。數(shù)據(jù)庫中有一個(gè)查重的存儲(chǔ)過程,有兩張參照關(guān)系圖。如下:圖4.2基本表、參照和存儲(chǔ)過程a、Department(部門表)設(shè)計(jì)截圖:圖4.3部門表部門表只設(shè)計(jì)了兩個(gè)字段,一個(gè)是主鍵部門號(hào)(DepartmentNumber),一個(gè)是部門名稱(DepartmentName)。數(shù)據(jù)類型如上圖所示,主鍵DepartmentNumber為int型,DepartmentName為varchar(50)。b、MissionPool(任務(wù)表)設(shè)計(jì)截圖:圖4.4任務(wù)表此表未設(shè)主鍵,MissionId(任務(wù)號(hào))可以被設(shè)置為主鍵。*TargetStaff(目標(biāo)員工)為外鍵,參照Usertable(用戶表)的Email字段。記錄的是此條任務(wù)關(guān)聯(lián)的執(zhí)行員工,在布置任務(wù)時(shí),領(lǐng)導(dǎo)必須指定期望執(zhí)行的員工。*MissionSubject(任務(wù)主題),在系統(tǒng)中配合MissionState(任務(wù)狀態(tài))作為任務(wù)的標(biāo)示,區(qū)分不同的任務(wù)。*MissionName(任務(wù)名)是一個(gè)保留字段,為將來其他功能的擴(kuò)充做準(zhǔn)備。在本設(shè)計(jì)中可以去掉。*MissionContent(任務(wù)內(nèi)容)是任務(wù)的主體,員工通過瀏覽此內(nèi)容而進(jìn)行辦公安排。*MissionState(任務(wù)狀態(tài)),參照MissionStateTable(任務(wù)狀態(tài)表)的MisStateId字段。*Attachmentpath(附件路徑),存放的是與任務(wù)相關(guān)聯(lián)的文件的文件名,注意是文件名,并不是文件在服務(wù)器上的完整路徑。在服務(wù)器上有個(gè)專門存放關(guān)聯(lián)文件的文件夾,詳細(xì)設(shè)計(jì)里會(huì)提到。*BuiltTime(建立時(shí)間)記錄的是任務(wù)建立的時(shí)間,為員工辦公提供參考。*DeadlineTime(截止時(shí)間)記錄的是任務(wù)失效的時(shí)間或是提交截止時(shí)間,為員工辦公提供參考。*IsPosted(發(fā)送標(biāo)記)標(biāo)記任務(wù)是否被發(fā)送到目標(biāo)員工的辦公郵箱。當(dāng)然,并不是所有任務(wù)都需要發(fā)送,任務(wù)池刷新時(shí),只會(huì)將符合條件的任務(wù)發(fā)到目標(biāo)員工的辦公郵箱。“1”代表已發(fā)送,“0”代表未發(fā)送。c、MissionStateTable(任務(wù)狀態(tài)表)設(shè)計(jì)截圖圖4.5任務(wù)狀態(tài)表MissionStateTable(任務(wù)狀態(tài)表)設(shè)計(jì)比較簡(jiǎn)單,主鍵為MisStateId(任務(wù)狀態(tài)號(hào)),等二個(gè)字段為MisStateName(任務(wù)狀態(tài)名),這個(gè)表的設(shè)計(jì)是為了顯示給用戶的時(shí)候更容易理解。而沒直接在將任務(wù)表中的狀態(tài)字段設(shè)計(jì)為文本是為了將來添加任務(wù)狀態(tài)功能擴(kuò)展時(shí)更加方便??巩惓5姆€(wěn)定性也更好。有了這個(gè)表實(shí)現(xiàn)員工按任務(wù)狀態(tài)查詢與自己相關(guān)的任務(wù)也方便許多。d、Usertable(用戶表)設(shè)計(jì)截圖圖4.6用戶表此表的UserID字段在設(shè)計(jì)中也未被使用,用作其他功能添加的保留。*UserName(用戶名),目前的主鍵,用以標(biāo)識(shí)用戶,也是相應(yīng)使用者的登陸名。*DepartID(部門號(hào)),參照Department(部門表)的DepartmentNumber字段。*UserType(用戶類型),區(qū)別用戶為普通員工還是領(lǐng)導(dǎo)等等,用以確定其操作權(quán)限。*PassWord(密碼),登陸公司辦公系統(tǒng)的密碼,密碼為空也可以登陸。注意這里的密碼和窗口程序端登陸用的密碼沒有關(guān)聯(lián)性,可以憑用戶自己設(shè)置。*Email(辦公郵箱),存放員工辦公用的郵箱地址,用戶可以自己修改。*PhoneNumber(手機(jī)號(hào)碼),這個(gè)不用解釋。*IsInService(登錄標(biāo)記),可以利用此字段判斷此用戶有沒有登錄。*RealName(真實(shí)姓名),方便使用,提升操作的可理解性。在布置任務(wù)時(shí),選擇員工的名字就可以得到其辦公郵箱,而不用“領(lǐng)導(dǎo)”記住員工的郵箱。*Remain(保留),為以后功能添加所保留,目前也可以作為備注。e、RoleTable(角色表)設(shè)計(jì)截圖圖4.7角色表上表主鍵為RoleNumber(角色號(hào)),RoleName(角色名),目前有4條記錄,管理員的角色號(hào)為“0”.f、Diagram1(參照?qǐng)D一)設(shè)計(jì)截圖:圖4.8參照關(guān)系一g、Diagram2(參照?qǐng)D二)設(shè)計(jì)截圖圖4.9參照關(guān)系二h、存儲(chǔ)過程代碼:ALTERPROCEDUREdbo.StoredProcedure1 @user1varchar(50)AS selectcount(*)fromUsertablewhereUserName=@user1 RETURN4.3工具類獲得數(shù)據(jù)庫字符連接串的類Tools:namespacePublic{publicclassTools{publicTools(){}///<summary>///獲得數(shù)據(jù)庫字符連接串///</summary>///<returns></returns>staticpublicstringGetConnectionString(){returnSystem.Configuration.ConfigurationManager.ConnectionStrings["CorpMgrConnectionString"].ConnectionString;}}}5網(wǎng)站詳細(xì)設(shè)計(jì)5.1工程文件結(jié)構(gòu)網(wǎng)站的名稱叫做怡然部落信息管理系統(tǒng),公司背景在上文中(2.1)有提到。本網(wǎng)站的開發(fā)由于大量使用服務(wù)器標(biāo)準(zhǔn)控件,于是沒有使用MVC開發(fā)模式。網(wǎng)站所在的解決方安中有三個(gè)項(xiàng)目,分別是網(wǎng)站本身(bishe1hao),KSMISUsers和Net。后兩個(gè)項(xiàng)目是類庫輸出型項(xiàng)目,網(wǎng)站bishe1hao引用了他們。項(xiàng)目KSMISUsers是指導(dǎo)老師提供的,我的設(shè)計(jì)對(duì)其內(nèi)部的類進(jìn)行了少許修改,登錄功能依賴于此項(xiàng)目。在此項(xiàng)目中有一個(gè)User類,此類加session技術(shù)完成了網(wǎng)頁間的通信,也可以完成權(quán)限的判斷布置,具體見4.2.1。項(xiàng)目Net是從網(wǎng)上找到的免費(fèi)開源的關(guān)于電子郵件編程的基礎(chǔ)類庫。當(dāng)然其功能遠(yuǎn)遠(yuǎn)不止電子郵件編程,但本網(wǎng)站使用的只有其中接收郵件的類,發(fā)送郵件在System.Net.Mail中本來就含有。當(dāng)然后繼這兩個(gè)項(xiàng)目都可以在生成網(wǎng)站時(shí)移除,只需要將他們生成的.dll文件放入網(wǎng)站的Bin文件夾中即可。這樣.cs文件中對(duì)他們的引用就不會(huì)出現(xiàn)問題。下面我們來仔細(xì)看一下網(wǎng)站bishe1hao的文件組織結(jié)構(gòu),如下圖:圖5.1網(wǎng)站文件結(jié)構(gòu)App_Code文件夾中有一個(gè)自定義類,用來獲取web.config中的數(shù)據(jù)庫連接字符串(見3.3)。App_Data文件夾中是數(shù)據(jù)庫文件,Bin文件夾是自動(dòng)生成和添加的.dll文件。bosspages文件夾中是一系列的員工沒有權(quán)限的頁面,具體見圖4.2。css文件夾中是網(wǎng)站的外部樣式表,本系統(tǒng)中基本沒有使用。fileshare文件夾中是存放附件的服務(wù)器文件夾。images文件夾中的是網(wǎng)站的相關(guān)的圖片。staffpages文件夾中是一系列的員工頁面,具體見圖4.3。。再往下面就是一個(gè)個(gè)的具體頁,在后文中會(huì)有介紹。rilishiyan.aspx是測(cè)試頁面和Default.aspx是登陸頁面。圖5.2bosspages文件夾圖5.3staffpages文件夾5.2按模塊介紹5.2.1登陸模塊登陸界面采用簡(jiǎn)明的設(shè)計(jì)如下圖:圖5.4登陸頁這些控件都是服務(wù)器控件,他們被放在一個(gè)htmltable控件中,這個(gè)table又被放在一個(gè)div中。這樣方便布局,可以指定合適的背景圖片。登錄的過程為,先new一個(gè)KSMISUsers.User類的user對(duì)象,用這個(gè)對(duì)象調(diào)用Login函數(shù),這個(gè)函數(shù)會(huì)返回一個(gè)枚舉值,反應(yīng)登錄的結(jié)果。Login函數(shù)先將輸入的用戶名與數(shù)據(jù)庫中的Usertable(用戶表)中的記錄比對(duì),看有沒有這樣的用戶名的用戶記錄,有的話就將之各個(gè)字段賦值給user對(duì)象的一些屬性。然后再將用戶輸入的密碼與user.Pwd對(duì)比,判斷密碼是否正確。這樣就可以區(qū)分出到底是用戶名錯(cuò)誤還是密碼錯(cuò)誤。登錄相關(guān)代碼如下:protectedvoidbtnLogin_Click(objectsender,EventArgse){KSMISUsers.Useruser=newKSMISUsers.User(true);//true代表會(huì)生成權(quán)限列表KSMISUsers.LoginResultlr=user.Login(tbLoginName.Text,tbPwd.Text,Public.Tools.GetConnectionString());if(lr==KSMISUsers.LoginResult.Success){user.IsLogin=true;Session["LoginUser"]=user;KSHelper.UI.JsScripts.Redirect("Mainpage.aspx",Response);return;}if(lr==KSMISUsers.LoginResult.DbError||lr==KSMISUsers.LoginResult.NoUser||lr==KSMISUsers.LoginResult.PwdErr){KSHelper.UI.JsScripts.Prompt(user.GetLoginPrompt(lr),Response);return;}}說明:登陸地具體過程基本上完全在KSMISUsers.User類中完成,LoginResult是命名空間下的一個(gè)枚舉變量,記錄登錄返回的結(jié)果。KSHelper.UI.JsScripts類也是指導(dǎo)老師提供的.dll文件,整個(gè)設(shè)計(jì)中,我僅僅是在這個(gè)登錄按鈕事件中使用了它,在這里他起了頁面跳轉(zhuǎn)和輸出提示的作用。KSMISUsers.User類中Login函數(shù)代碼如下:publicLoginResultLogin(stringstrLoginName,stringstrPwd,stringstrConnectionString){SqlConnectionconn=newSqlConnection(strConnectionString);stringstrSql=string.Format(@"Select*FromUsertableWhereUserName='{0}'",strLoginName);SqlCommandcmd=newSqlCommand(strSql,conn);try{conn.Open();SqlDataReadersdr=cmd.ExecuteReader();if(!sdr.Read()){sdr.Close();conn.Close();returnLoginResult.NoUser;}ReadAUser(sdr);//將數(shù)據(jù)庫中讀到的符合條件的記錄存到User的相應(yīng)的成員中。if(!this.IsPasswordCorrect(strPwd))returnLoginResult.PwdErr;sdr.Close();conn.Close();}catch{if(conn.State!=ConnectionState.Closed)conn.Close();returnLoginResult.DbError;}returnLoginResult.Success;}KSMISUsers.User類中Login函數(shù)中使用的其它函數(shù)如ReadAUser(sdr),IsPasswordCorrect(strPwd),不再一一介紹,具體參見工程文件,在畢業(yè)答辯結(jié)束后我將會(huì)在網(wǎng)上免費(fèi)公開。5.2.2員工增刪改涉及到這個(gè)模塊的頁面有3個(gè),分別是Add_staff.aspx,Delete_staff.aspx,Update_staffinfo.aspx,從頁面名稱可以看出其功能。(1)、增加員工截圖如下圖5.5增加員工手機(jī)和郵箱輸入框加了服務(wù)器驗(yàn)證控件RegularExpressionValidator,只需要設(shè)置ControlToValidate、ErrorMessage、ValidationExpression屬性即可,ValidationExpression屬性可以從網(wǎng)上獲得正則表達(dá)式,也可以直接在開發(fā)環(huán)境中選取。用戶名輸入框含有非空驗(yàn)證,而且有一個(gè)焦點(diǎn)變化時(shí)數(shù)據(jù)庫查重操作,代碼如下:protectedvoiduser_name_TextChanged(objectsender,EventArgse){stringstrConnectionString=Public.Tools.GetConnectionString();SqlConnectionconn=newSqlConnection(strConnectionString);-conn.Open();//使用存儲(chǔ)過程查重,不讓用戶名發(fā)生重復(fù)。SqlCommandcmd=newSqlCommand();cmd.CommandType=CommandType.StoredProcedure;cmd.CommandText="StoredProcedure1";//存儲(chǔ)過程參見4.2hcmd.Connection=conn;SqlParameterparauser1=newSqlParameter("@user1",user_name.Text.Trim());cmd.Parameters.Add(parauser1);Int32count=(Int32)cmd.ExecuteScalar();//返回的是首行首列if(count>0){Response.Write("<scriptlanguage='javascript'>alert('你輸入的用戶名已被使用,請(qǐng)您換一個(gè)!');history.back();</script>");}conn.Close();conn.Dispose();}添加按鈕click事件代碼如下protectedvoidButton1_Click(objectsender,EventArgse){if(user_name.Text==""){Response.Write("<scriptlanguage='javascript'>alert('用??戶?ì名?不?能¨1為a空?!ê?');location.href='Add_staff.aspx';</script>");}inti,j;i=Int32.Parse(department.Text); //部門DropDownList未與數(shù)據(jù)庫中的部門表綁定,但text和value與表中的記錄對(duì)應(yīng),department.Text得到的是value.j=Int32.Parse(role.Text); //和上面類似stringConnectionString=Public.Tools.GetConnectionString();SqlConnectionconn=newSqlConnection(ConnectionString);stringstrSql="insertintoUsertable(UserName,DepartID,UserType,PassWord,Email,PhoneNumber,RealName)values('"+user_name.Text+"',"+i+","+j+",'"+pass_word.Text+"','"+email_address.Text+"','"+phone_number.Text+"','"+real_name.Text+"')";SqlCommandcmd=newSqlCommand(strSql,conn);try{conn.Open();if(cmd.ExecuteNonQuery()==1){Response.Write("<scriptlanguage='javascript'>alert('添?¨a加¨?成¨|功|!ê?');location.href='Add_staff.aspx';</script>");}conn.Close();}catch{if(conn.State!=ConnectionState.Closed)conn.Close();}}(2)、刪除員工部分做的較簡(jiǎn)潔,本來可以將修改和刪除都整合到一起用GridView實(shí)現(xiàn),但顯得較單調(diào)。圖5.6刪除員工刪除相關(guān)代碼:protectedvoidButton1_Click(objectsender,EventArgse){Response.Write("<scriptlanguage='javascript'>confirm('areyousuretodothis?');</script>");stringConnectionString=Public.Tools.GetConnectionString();SqlConnectionconn=newSqlConnection(ConnectionString);stringstrSql=string.Format("DeleteFromUsertableWhereUserName='{0}'",TextBox1.Text.Trim());SqlCommandcmd=newSqlCommand(strSql,conn);try{conn.Open(); if(cmd.ExecuteNonQuery()==1){Response.Write("<scriptlanguage='javascript'>alert('刪除成功!');location.href='Delete_staff.aspx';</script>");}else{Response.Write("<scriptlanguage='javascript'>alert(‘未找到符合條件的員工!’);location.href='Delete_staff.aspx';</script>");}conn.Close();}catch(Exceptionex){if(conn.State!=ConnectionState.Closed)conn.Close();Response.Write("<scriptlanguage='javascript'>alert(‘操作失敗!’);location.href='Delete_staff.aspx';</script>");}}(3)、Update_staffinfo.aspx頁面使用了GridView控件,效果截圖如下圖5.7員工信息修改這個(gè)修改是從“領(lǐng)導(dǎo)”的角度進(jìn)行的,第一行處于編輯狀態(tài),可以看到一些能夠修改的項(xiàng)。部門和職位顯示的是聯(lián)合查詢出的字段,相關(guān)設(shè)置如下:數(shù)據(jù)源SELECT語句為SELECTUsertable.UserName,Usertable.Email,Usertable.PhoneNumber,Usertable.Remain,Usertable.RealName,RoleTable.RoleName,Department.DepartmentName,Usertable.DepartID,Usertable.UserTypeFROMUsertableINNERJOINRoleTableONUsertable.UserType=RoleTable.RoleNumberINNERJOINDepartment數(shù)據(jù)源的UPDATE語句為UPDATEUsertableSETUserName=@UserName,RealName=@RealName,Email=@Email,PhoneNumber=@PhoneNumber,Remain=@Remain,DepartID=@DepartID,UserType=@UserTypeWHERE(UserName=@oril_UserName)上述語句都是在界面化的查詢生成器中自動(dòng)生成的。也可以直接寫好,粘貼入相應(yīng)的地方。數(shù)據(jù)源的要注意的屬性如下圖:圖5.8數(shù)據(jù)源屬性注意第二個(gè)變黑的屬性,他將與SQL語句中的@oril_UserName相對(duì)應(yīng)。此處UserName是參數(shù)@UserName。在GridView中對(duì)應(yīng)使用了原值作為篩選的必須要設(shè)置下圖屬性:圖5.9GridView屬性原值使用了幾個(gè),DataKeyNames中就需要幾個(gè)值,而且要對(duì)應(yīng)上。這樣員工信息的修改就十分方便了!5.2.3個(gè)人信息維護(hù)本模塊涉及到兩個(gè)頁面Pwd_change.aspx以及Self_info_alter.aspx。這兩個(gè)頁面設(shè)計(jì)的都較簡(jiǎn)單,頁面截圖如下圖5.10個(gè)人信息修改圖5.11密碼修改用戶名文本框Enabled屬性為false,這樣用戶名就不會(huì)被隨便修改了,當(dāng)然實(shí)在想換用戶名可以聯(lián)系系統(tǒng)管理員修改。個(gè)人信息修改相關(guān)代碼如下:privatevoidget_user(){KSMISUsers.Useruser=newKSMISUsers.User(false);//true代表需要導(dǎo)入權(quán)限Listuser=(KSMISUsers.User)Session["LoginUser"];(Master.FindControl("lblUserName")asLabel).Text=user.RealName.ToString();TextBox1.Text=user.UserName;TextBox2.Text=user.RealName;TextBox3.Text=user.MobilePhone;TextBox4.Text=user.Email;}protectedvoidPage_Load(objectsender,EventArgse){if(IsPostBack)return;get_user();}protectedvoidButton1_Click(objectsender,EventArgse){user=(KSMISUsers.User)Session["LoginUser"]; user.UserName=TextBox1.Text;user.RealName=TextBox2.Text;user.MobilePhone=TextBox3.Text;user.Email=TextBox4.Text;Session["LoginUser"]=user;stringConnectionString=Public.Tools.GetConnectionString();SqlConnectionconn=newSqlConnection(ConnectionString);stringstrSql="updateUsertablesetRealName='"+TextBox2.Text+"',PhoneNumber='"+TextBox3.Text+"',Email='"+TextBox4.Text+"'whereUserName='"+user.UserName+"'";SqlCommandcmd=newSqlCommand(strSql,conn);try{conn.Open();if(cmd.ExecuteNonQuery()==1){Label7.Text="信息修改成功!";this.get_user();}else{Response.Write("<scriptlanguage='javascript'>alert('修改密碼失?。?);location.href='history.back()';</script>");}conn.Close();}catch{if(conn.State!=ConnectionState.Closed)conn.Close();Response.Write("<scriptlanguage='javascript'>alert('數(shù)據(jù)庫操作異常!');history.back();</script>");}}5.2.4任務(wù)申請(qǐng)任務(wù)申請(qǐng)是下級(jí)對(duì)上級(jí)的一個(gè)申請(qǐng),涉及到的數(shù)據(jù)庫基本表為MissionPool(任務(wù)表),頁面為Work_apply.aspx,截圖如下:圖5.12員工申請(qǐng)任務(wù)說明,任務(wù)申請(qǐng)時(shí),上傳的附件被按一定規(guī)則重命名了,重命名的附件名前加上了員工工作郵箱的“@”符前面部分。申請(qǐng)任務(wù)代碼如下:protectedvoidButton1_Click(objectsender,EventArgse){//附件重命名Randomrdm=newRandom();intsuijishu;suijishu=rdm.Next(1000);//生成1000以下的隨機(jī)非負(fù)整數(shù),種子值為當(dāng)前時(shí)間stringuesrname=user.UserName;stringmissionname=TextBox1.Text.Trim()+suijishu.ToString();stringnewfilename="";//保存附件到服務(wù)器if(FileUpload1.FileName!=""){newfilename=uesrname+"_"+suijishu.ToString()+FileUpload1.FileName.ToString();try{FileUpload1.PostedFile.SaveAs(Server.MapPath("../fileshare/"+newfilename));//Image1.ImageUrl="images/"+newfilename+"";}catch(Exceptionex){Response.Write(ex.ToString());return;}}//將任務(wù)插入MissionPoolinti,j;i=1;j=0;stringstrdate;strdate=DateTime.Today.ToString();stringConnectionString=Public.Tools.GetConnectionString();SqlConnectionconn=newSqlConnection(ConnectionString);stringstrSql="insertintoMissionPool(MissionName,MissionContent,TargetStaff,MissionState,Attachmentpath,IsPosted)values('"+missionname+"','"+TextBox2.Text+"','"+user.Email+"',"+i+",'"+newfilename+"',"+j+")";SqlCommandcmd=newSqlCommand(strSql,conn);try{conn.Open();if(cmd.ExecuteNonQuery()==1){Response.Write("<scriptlanguage='javascript'>alert('申請(qǐng)成功請(qǐng)耐心等待審核!');location.href='Work_apply.aspx';</script>");}conn.Close();}catch(Exceptionex){if(conn.State!=ConnectionState.Closed)conn.Close();Response.Write(ex.ToString());}}5.2.5任務(wù)布置布置任務(wù)是上級(jí)對(duì)下級(jí)的一項(xiàng)工作,涉及到的數(shù)據(jù)庫基本表為MissionPool(任務(wù)表),頁面為Add_mission.aspx與任務(wù)申請(qǐng)頁面相似。截圖如下:圖5.13布置任務(wù)注意:任務(wù)布置后就立馬成為已建立狀態(tài),不需要經(jīng)過申請(qǐng)傳化為已建立的這一道審核手續(xù)。插入數(shù)據(jù)庫的同時(shí),還會(huì)和員工郵箱通信,通信這部分會(huì)在第六章中介紹。期望執(zhí)行員工的控件和數(shù)據(jù)庫中的Usertable(用戶表)綁定,顯示的是用戶姓名,值是用戶的辦公郵箱。布置任務(wù)關(guān)鍵代碼如下inti,j;i=2;j=1;stringstrdate;strdate=DateTime.Today.ToString();stringConnectionString=Public.Tools.GetConnectionString();SqlConnectionconn=newSqlConnection(ConnectionString);stringstrSql="insertintoMissionPool(MissionName,MissionContent,TargetStaff,MissionState,Attachmentpath,BuiltTime,DeadlineTime,IsPosted)values('"+TextBox1.Text+"','"+TextBox2.Text+"','"+DropDownList1.Text.Trim()+"',"+i+",'"+newfilename2+"','"+strdate+"','"+TextBox3.Text+"',"+j+")";SqlCommandcmd=newSqlCommand(strSql,conn);try{conn.Open();if(cmd.ExecuteNonQuery()==1){Mark=1;//用變量記住插入成功}conn.Close();}catch(Exceptionex){//異常處理}5.2.6任務(wù)提交這個(gè)過程涉及到多個(gè)頁面,有Mywork_pool.aspx,Aboutdownload.aspx,等,涉及到的數(shù)據(jù)庫基本表為MissionPool(任務(wù)表),由于網(wǎng)站并不是這個(gè)設(shè)計(jì)的主體(內(nèi)容分量上是主體,但研究上不是主體),這個(gè)流程目前還不夠完善,晚上思路是,再添加一個(gè)頁面,將編輯好的數(shù)據(jù)重新存入數(shù)據(jù)庫,將狀態(tài)改為已提交,覆蓋掉原先的已建立狀態(tài)的先關(guān)任務(wù)。目前員工可以查看任務(wù),編輯任務(wù)數(shù)據(jù),就差一個(gè)提交頁面。Mywork_pool.aspx實(shí)現(xiàn)的是任務(wù)查看,用的是GridView控件,其中SELECT語句中有一個(gè)參數(shù)來至于頁面DropDownList控件的值,一個(gè)來源于session。DropDownList傳的是任務(wù)狀態(tài),他和MissionStateTable(任務(wù)狀態(tài)表)相綁定。session傳的是當(dāng)前用戶的辦公郵箱地址。頁面截圖如下:圖5.14員工任務(wù)查看注意上述測(cè)試數(shù)據(jù)是在未添加附件時(shí)測(cè)試的,所以附件這一欄為空,后期又做了測(cè)試,附件模塊基板功能能夠?qū)崿F(xiàn)但還有待完善。關(guān)于GridView部分的設(shè)置參見4.2.2節(jié)第三個(gè)部分。查看完任務(wù)后,選著其中的一條,然后再到Aboutdownload.aspx頁面尋找相關(guān)的附件下載到當(dāng)?shù)?。Aboutdownload.aspx頁面截圖如下:圖5.15附件下載說明:上截圖是員工1號(hào)的附件,這個(gè)頁面是動(dòng)態(tài)顯示的,不同的員工來到這個(gè)頁面能夠看到的文件是不一養(yǎng)的,同一員工在不同的工作流程階段來到這個(gè)頁面看到的文件也是不同的。其實(shí)還有一種簡(jiǎn)單的實(shí)現(xiàn)方式,就是在Mywork_pool.aspx的頁面中的GridView上添加一個(gè)包含LinkButton的模板列,設(shè)置好相關(guān)屬性和事件關(guān)聯(lián)即可實(shí)現(xiàn)附件下載。這個(gè)頁面還有一個(gè)作用,就是當(dāng)當(dāng)前用戶為空時(shí),可以查看網(wǎng)站文件夾fileshare中全部的文件。本頁面運(yùn)用了PlaceHolder控件。下載代碼節(jié)選:stringforename="";KSMISUsers.Useruser=newKSMISUsers.User(false);if(Session["LoginUser"]!=null){user=(KSMISUsers.User)Session["LoginUser"];(Master.FindControl("lblUserName")asLabel).Text=user.RealName.ToString();intindex=user.Email.IndexOf("@");forename+=user.Email.Substring(0,index);//獲得郵件地址@符前的字符串}//構(gòu)建PlaceHolder1,根據(jù)員工郵箱名稱stringfile_folder=this.Server.MapPath("./fileshare/");DirectoryInfoinfo=newDirectoryInfo(file_folder);foreach(FileInfofiininfo.GetFiles()){if(forename=="")//若當(dāng)前用戶為空,則將所有文件都顯示出來{LinkButtonl=newLinkButton();l.Text=fi.Name;l.ToolTip="下載";l.Font.Bold=true;l.Click+=newEventH
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版石油化工安全評(píng)價(jià)與隱患排查合同3篇
- 二零二五年度品牌推廣活動(dòng)策劃與執(zhí)行合同3篇
- 二零二五版工藝品展覽館建設(shè)與運(yùn)營管理合同3篇
- 二零二五年度電力工程建設(shè)項(xiàng)目融資合同2篇
- 二零二五年度4S店汽車租賃與綠色出行倡導(dǎo)合同3篇
- 二零二五版房地產(chǎn)開發(fā)項(xiàng)目掛靠合作保密協(xié)議合同3篇
- 2025年度特色餐飲品牌店面全面轉(zhuǎn)讓合同范本2篇
- 二零二五版物業(yè)公司應(yīng)急處理合同3篇
- 二零二五版數(shù)據(jù)中心建設(shè)工程施工合同2篇
- 基于2025年度區(qū)塊鏈技術(shù)的電子勞動(dòng)合同信任機(jī)制合同3篇
- 高二物理競(jìng)賽霍爾效應(yīng) 課件
- 金融數(shù)學(xué)-(南京大學(xué))
- 基于核心素養(yǎng)下的英語寫作能力的培養(yǎng)策略
- 現(xiàn)場(chǎng)安全文明施工考核評(píng)分表
- 亞什蘭版膠衣操作指南
- 四年級(jí)上冊(cè)數(shù)學(xué)教案 6.1口算除法 人教版
- DB32-T 3129-2016適合機(jī)械化作業(yè)的單體鋼架塑料大棚 技術(shù)規(guī)范-(高清現(xiàn)行)
- 6.農(nóng)業(yè)產(chǎn)值與增加值核算統(tǒng)計(jì)報(bào)表制度(2020年)
- 人工挖孔樁施工監(jiān)測(cè)監(jiān)控措施
- 供應(yīng)商物料質(zhì)量問題賠償協(xié)議(終端)
- 物理人教版(2019)必修第二冊(cè)5.2運(yùn)動(dòng)的合成與分解(共19張ppt)
評(píng)論
0/150
提交評(píng)論