基于PHP的餐廳管理系統(tǒng)APP設(shè)計與實現(xiàn)_第1頁
基于PHP的餐廳管理系統(tǒng)APP設(shè)計與實現(xiàn)_第2頁
基于PHP的餐廳管理系統(tǒng)APP設(shè)計與實現(xiàn)_第3頁
基于PHP的餐廳管理系統(tǒng)APP設(shè)計與實現(xiàn)_第4頁
基于PHP的餐廳管理系統(tǒng)APP設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩59頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

本科論文目錄TOC\o"1-2"\h\z\u6958摘要 I28024Abstract II9821引言 191051相關(guān)技術(shù) 3201551.1MVC 3219181.2ThinkPHP 355671.3MySQL數(shù)據(jù)庫 3197631.4uni-app 473571.5本章小結(jié) 4297252系統(tǒng)分析 5258462.1功能需求 547872.2用例分析 764162.3非功能需求 8260942.4本章小結(jié) 8295423系統(tǒng)設(shè)計 9294283.1系統(tǒng)總體設(shè)計 9122473.2系統(tǒng)詳細(xì)設(shè)計 10277023.3本章小結(jié) 16115094系統(tǒng)的實現(xiàn) 17236394.1開發(fā)環(huán)境 17163234.2開發(fā)規(guī)范 17116384.3數(shù)據(jù)庫實現(xiàn) 1757404.4核心功能實現(xiàn) 1860284.5本章小結(jié) 22106425系統(tǒng)測試 2358895.1測試目的 23310085.2測試計劃 23216725.3測試用例 23309335.4本章小結(jié) 2429364結(jié)論 2529139致謝 263703參考文獻 272551附錄源程序清單 29本科論文摘要隨著智能手機的日益興起以及人民的生活水平的提高,使生活、工作都趨于智能化。如今大部分的餐廳都還在使用人工點餐以及人工管理的方式經(jīng)營,就造成了工作忙、賺錢少的現(xiàn)狀。針對這一現(xiàn)狀開發(fā)了基于PHP的餐廳管理系統(tǒng)APP設(shè)計與實現(xiàn)。此餐廳管理系統(tǒng)完成了對餐廳管理的網(wǎng)絡(luò)化、簡便化,該系統(tǒng)下有兩個子系統(tǒng)分別是點餐子系統(tǒng)、餐廳管理APP子系統(tǒng)。點餐子系統(tǒng)主要有點餐、查看商家信息等功能,餐廳管理APP子系統(tǒng)主要功能有訂單管理、菜單管理、數(shù)據(jù)管理、店鋪信息管理等幾個模塊。此餐廳管理系統(tǒng)主要包括后端對數(shù)據(jù)庫的搭建和對數(shù)據(jù)處理以及前端開發(fā),此系統(tǒng)采用PHP語言搭建ThinkPHP5作為服務(wù)端開發(fā)框架,MySQL數(shù)據(jù)庫作為后端數(shù)據(jù)庫。對于前端開發(fā)要求界面做到使用方便快捷,功能齊全,易操作。此系統(tǒng)使用uni-app前端框架實現(xiàn)頁面間的交互和美化、以及對服務(wù)端的接口調(diào)用實現(xiàn)前后端分離。本餐廳管理系統(tǒng)的適應(yīng)性較強、擴展性較好。經(jīng)過具體的編碼實現(xiàn)和系統(tǒng)測試,餐廳管理系統(tǒng)中各模塊均已成功實現(xiàn),可以滿足大部分餐廳管理者使用。關(guān)鍵詞:餐廳管理系統(tǒng);掃碼點餐;MySQL;ThinkPHP5.0

AbstractWiththeriseofsmartphonesandtheimprovementofpeople'slivingstandards,lifeandworktendtobeintelligent.Today,mostrestaurantsarestillintheuseofmanualfoodandmanualmanagementofthewayofoperation,resultinginbusywork,lessmoney.Inviewofthissituation,theAPPdesignandimplementationofrestaurantmanagementsystembasedonPHParedeveloped.Thisrestaurantmanagementsystemhascompletedthenetworkingandsimplificationoftherestaurantmanagement.Therearetwosubsystemsunderthissystem,namelytheorderingsubsystemandtherestaurantmanagementAPPsubsystem.Themainfunctionsoftheorderingsubsystemarescanningcodeordering,ordering,etc.ThemainfunctionsoftherestaurantmanagementAPPsubsystemareordermanagement,menumanagement,datamanagement,storeinformationmanagementandothermodules.Thisrestaurantmanagementsystemmainlyincludestheback-enddatabaseconstructionanddataprocessingandfront-enddevelopment.ThissystemusesPHPlanguagetobuildThinkPHP5astheserver-sidedevelopmentframework,andtheMySQLdatabaseastheback-enddatabase.Forfront-enddevelopment,theinterfaceneedstobeeasytouse,complete,andeasytooperate.Thissystemusestheuni-appfront-endframeworktorealizetheinteractionandbeautificationofthepages,andtheinterfacecalltotheservertoachievetheseparationofthefrontandbackends.Therestaurantmanagementsystemhasstrongadaptabilityandgoodscalability.Afterspecificcodingimplementationandsystemtesting,eachmoduleintherestaurantmanagementsystemhasbeensuccessfullyimplemented,whichcansatisfymostrestaurantmanagers.Keywords:restaurantmanagementsystem;codeorder;MySQL;ThinkPHP5.0引言隨著餐飲業(yè)的不斷發(fā)展[1],近年來餐飲業(yè)的管理也隨著時代的變化逐步趨近電子化。傳統(tǒng)的用手來抄寫菜單的點餐方式很多年來一直被使用,在街邊的餐館內(nèi)也經(jīng)??梢钥匆?。點餐之后需要服務(wù)員將菜單送到廚房,在結(jié)賬之前有需要加菜的地方還需要跑到廚房寫在菜單上。點菜環(huán)節(jié)過多,導(dǎo)致出錯率極高,漏單,結(jié)錯賬的可能性極大。為了使餐飲業(yè)實現(xiàn)管理的自動化、人性化,專門針對餐飲企業(yè)的點餐、管理業(yè)務(wù)而開發(fā)了餐廳管理系統(tǒng)APP。本文的主要工作是[2]為了闡述“基于PHP的餐廳管理系統(tǒng)的設(shè)計與實現(xiàn)”,分為五章內(nèi)容闡述,結(jié)構(gòu)如下:第1章是相關(guān)技術(shù)分析,本章介紹項目中使用的相關(guān)技術(shù),項目采用MVC模式對項目進行前后端分離開發(fā),此項目的后臺核心技術(shù)是ThinkPHP5框架技術(shù),數(shù)據(jù)庫使用MySQL數(shù)據(jù)庫,前端使用uni-app開發(fā),使用了UCharts高性能跨全端圖表分析店鋪數(shù)據(jù)信息。第2章是對餐廳管理系統(tǒng)進行系統(tǒng)分析,主要講需求分析,需求分析內(nèi)容包括功能需求,用于表述餐廳管理系統(tǒng)的需求的功能有哪些;用例分析,用于將功能需求中提出的功能用用例圖的方式進行組織和表述,使功能需求看起來更有組織性,更條理化;非功能需求,分析關(guān)于界面的要求,系統(tǒng)結(jié)構(gòu)組織的要求,可維護性和可擴展性的要求,系統(tǒng)運行實時性的要求等等。第3章是餐廳管理系統(tǒng)的系統(tǒng)設(shè)計,“包括系統(tǒng)總體設(shè)計和系統(tǒng)詳細(xì)設(shè)計兩部分。其中系統(tǒng)總體設(shè)計主要”[3]介紹了本系統(tǒng)的整體架構(gòu)圖以及本系統(tǒng)的功能結(jié)構(gòu)圖。系統(tǒng)詳細(xì)設(shè)計主要介紹了顧客實體關(guān)系圖、商家實體關(guān)系圖、數(shù)據(jù)庫設(shè)計以及功能設(shè)計。第4章是餐廳管理系統(tǒng)的系統(tǒng)實現(xiàn),主要介紹[4]的內(nèi)容包括開發(fā)環(huán)境的介紹、開發(fā)規(guī)范的介紹、數(shù)據(jù)庫實現(xiàn)以及核心功能實現(xiàn)的介紹。展示了系統(tǒng)主要功能實時接收訂單功能實現(xiàn)、菜單管理的分類修改功能實現(xiàn)和數(shù)據(jù)管理的折線圖顯示實現(xiàn)的頁面和主要邏輯代碼。第5章是系統(tǒng)測試,內(nèi)容包括測試目的、測試計劃、測試用例三個方面。以主要功能實時接收訂單功能、分類修改功能和折線圖顯示功能為例,詳細(xì)介紹測試過程,得出測試結(jié)果。結(jié)論,對此餐廳管理系統(tǒng)的總體研究進行總結(jié)。說明完成情況,對系統(tǒng)進行評價。并說明了系統(tǒng)存在的缺陷與不足以及它存在的價值和能給使用者帶來什么好處。

1相關(guān)技術(shù)1.1MVC“MVC模式指將一個應(yīng)用的輸入、處理、輸出流程按照model、view、controller的方式進行分離,分為3個層。(1)視圖(view)層:即用戶交互視圖。(2)模型(model)層:即業(yè)務(wù)流程/狀態(tài)的處理以及業(yè)務(wù)規(guī)則的制定。(3)控制(controller)層:即從用戶接收請求,將model與view匹配在一起,共同完成用戶的請求。”[5]MVC模式分為三層非常適合本餐廳管理系統(tǒng)所使用的前后端分離開發(fā)。MVC[6]模式可以做到在不同的編譯器使用不同的語言開發(fā)同一個項目。視圖層用來做前端的可視化頁面,模型層用來處理數(shù)據(jù)庫的數(shù)據(jù),控制層來處理視圖層的請求并返回數(shù)據(jù)庫的數(shù)據(jù)。1.2ThinkPHPThinkPHP是一個開源輕量級的PHP開發(fā)框架[7]。本餐廳管理系統(tǒng)的后端接口開發(fā)使用的就是ThinkPHP5.0,ThinkPHP在搭建項目時只需要下載框架文件,將文件放入所要開發(fā)的項目中即可使用。使用非常方便快捷,輕便、高效性是它的特點。它不斷地更新,給開發(fā)者們帶來更加高效的開發(fā)環(huán)境。ThinkPHP5.0版本是ThinkPHP[8]中的一個版本,經(jīng)過多年的開發(fā)與進步,對比于ThinkPHP3.0有很大的區(qū)別,它徹底顛覆了原來的架構(gòu)思想,使用起來更加高效,是新項目的首選。其中對數(shù)據(jù)庫的時間查詢是本餐廳管理系統(tǒng)需要的重要功能,非常適合本餐廳管理系統(tǒng)項目的開發(fā),所以選擇ThinkPHP5.0為本系統(tǒng)后端開發(fā)框架。1.3MySQL數(shù)據(jù)庫MySQL安裝簡單、部署迅速相對于Oracle這樣大型的數(shù)據(jù)庫安裝更快,適合大批量的快速部署。在如今的互聯(lián)網(wǎng)市場上使用廣泛,幾乎大部分互聯(lián)網(wǎng)公司都使用MySQL數(shù)據(jù)庫。MySQL適合多種語言,但在PHP中的使用是最普遍的。為了配合本餐廳管理系統(tǒng)后臺使用的ThinkPHP框架,又因為其體積小、速度快,尤其是開源[9]型,不需要支付額外費用,成本低,所以本項目決定采用MySQL作為存儲數(shù)據(jù)庫。同時也可以使用在中小型規(guī)模應(yīng)用中。1.4uni-appuni-app是一個基于Vue.js開發(fā)的前端框架[10],其特點是可以通過一套源碼開發(fā)出應(yīng)用在很多平臺上的應(yīng)用,使開發(fā)效率更高。如果開發(fā)者想在不同平臺開發(fā)出同樣的應(yīng)用,不用把每個平臺的開發(fā)語言都學(xué)習(xí)一遍,只需要學(xué)會uni-app一種即可達到同樣的效果。如果不是多平臺開發(fā),作為單平臺的應(yīng)用程序開發(fā)框架也是一個很好的選擇。使用uni-app開發(fā)項目還可以使項目后期的維護更加方便,即使本次開發(fā)是按照APP的配置開發(fā),在很久以后也可以做到只對代碼以及配置進行簡單的修改即可在各種平臺使用。為了考慮項目的可維護性本餐廳管理系統(tǒng)使用uni-app作為前端開發(fā)框架進行開發(fā)。同時使用了支持uni-app的UCharts高性能跨全端圖表來分析店鋪數(shù)據(jù)信息。1.5本章小結(jié)本章主要介紹了餐廳管理系統(tǒng)項目所應(yīng)用到的MVC模式、uni-app、ThinkPHP5框架、MySQ數(shù)據(jù)庫等相關(guān)技術(shù)介紹。并深入學(xué)習(xí)項目中所用到的技術(shù),為餐廳管理系統(tǒng)項目的實現(xiàn)打下良好的基礎(chǔ)。2系統(tǒng)分析2.1功能需求本餐廳管理系統(tǒng)共分為小程序端點餐系統(tǒng)和APP端管理系統(tǒng)兩個端,其中小程序客戶端有掃碼點餐模塊、查看商家信息模塊。APP商家管理端分為登錄注冊模塊、訂單管理模塊[11]、菜單管理模塊、數(shù)據(jù)管理模塊、店鋪信息管理模塊五大功能模塊。其中訂單管理模塊包括未接單、已接單、已完成三部分。菜單管理模塊包括分類管理和分類下的菜品管理兩部分。數(shù)據(jù)管理模塊還包括客流量數(shù)據(jù)管理和收入支出管理兩部分。店鋪信息管理包括優(yōu)惠券管理、wifi管理、店鋪資料管理、記事本、輪播圖管理等五個部分。小程序查看商家信息:顧客可以通過小程序查看商家基本信息。如果在店內(nèi)可通過掃描二維碼[12]進入首頁查看店鋪名稱、店鋪地址、聯(lián)系電話、WiFi名稱、WiFi密碼等信息。如果不在店內(nèi)可通過搜索小程序查找。小程序點餐模塊:顧客通過掃描二維碼或者搜索小程序方式進入小程序,點擊小程序首頁的開始點餐按鈕,進入選擇就餐方式頁選擇就餐方式,可以選擇是否是預(yù)約點餐,是否打包,選擇后進入自助點餐頁選擇分類下的菜品,選好菜品后點擊選好了進入結(jié)算中心,結(jié)算中心可根據(jù)顧客所選擇的就餐方式填相關(guān)信息,點擊提交后商家就可接收到訂單。訂單管理:是餐廳管理系統(tǒng)的核心功能之一。登錄APP后的首頁就是訂單管理頁,當(dāng)顧客下單后APP端就會實時更新數(shù)據(jù),并給出提示音,在未接單選項下查看訂單信息,點擊接單按鈕接單,點擊取消訂單按鈕取消訂單。上完菜并結(jié)完賬后在已接單下點擊按鈕完成上菜并在已完成選項中查看已完成訂單。菜單管理:是餐廳管理系統(tǒng)的核心功能之一。用于管理小程序端的菜單。用戶登錄APP后點擊底部菜單管理選項進入菜單分類管理頁,點擊加號填寫相關(guān)信息點擊提交添加菜單分類。添加完成后可以點擊相對應(yīng)的分類盒子,就可以進入菜單菜品管理頁,點擊添加新菜填入菜品名稱,菜品價格,菜品描述以及菜品圖片點擊提交即可添加菜品。添加完菜品后點擊菜品盒子查看所添加的菜品信息,如需修改可以修改對應(yīng)字段點擊修改按鈕更新數(shù)據(jù),如需刪除菜品,則點擊刪除按鈕刪除菜品。修改菜品信息只能相對應(yīng)分類下的菜品。在分類管理頁長按已存在的分類即可刪除對應(yīng)的分類。數(shù)據(jù)管理:是餐廳管理系統(tǒng)的核心功能之一。用于查看本周收入、支出、利潤數(shù)據(jù)圖以及當(dāng)日的支出客流量等數(shù)據(jù)。登錄APP后點擊下方數(shù)據(jù)管理,默認(rèn)顯示當(dāng)前日期所在周的收入、支出、利潤數(shù)據(jù)折線圖,當(dāng)日的客流量以及當(dāng)日總收入。點擊日期可選擇想要查找的日期選擇后可根據(jù)選擇的日期更改頁面上對應(yīng)的數(shù)據(jù)即查找的日期所在周的收入、支出、利潤折線圖,查找日期的客流量及總收入??土髁抗芾恚和ㄟ^數(shù)據(jù)管理頁的當(dāng)日客流量數(shù)據(jù)框進入頁面,默認(rèn)顯示數(shù)據(jù)管理頁所選擇的日期時間的客流量數(shù)據(jù),可以對客流量數(shù)據(jù)進行增加修改操作。下方是選擇日期的客流量餅狀圖可以更加直觀的觀察當(dāng)日總訂單數(shù)量、當(dāng)日退單數(shù)、當(dāng)日成交單數(shù)、當(dāng)日線下單數(shù)量等。收入支出管理:通過數(shù)據(jù)管理頁的當(dāng)日總收入數(shù)據(jù)框進入頁面,默認(rèn)顯示數(shù)據(jù)管理頁所選擇的日期時間的日收入管理信息、日支出管理信息、日收支對比圖、當(dāng)前日所在月固定支出信息??梢詫θ帐杖牍芾淼钠渌杖脒M行增加修改操作,對日支出管理的采購項進行增加操作,對每月固定支出可進行增加修改操作。店鋪資料管理:登錄APP后點擊我的頁面,可查看店鋪的綁定郵箱、店鋪名稱、店鋪logo等信息。點擊編輯按鈕進入店鋪資料管理頁,默認(rèn)顯示店鋪已經(jīng)添加的信息,輸入要修改的信息包括店鋪名稱、店鋪聯(lián)系方式、營業(yè)時間、店鋪地址、詳細(xì)地址等信息點擊提交修改店鋪信息。優(yōu)惠券管理:登錄APP后點擊我的頁面,點擊優(yōu)惠券管理按鈕進入優(yōu)惠券管理頁,默認(rèn)顯示已經(jīng)存在的優(yōu)惠券,長按可選擇刪除對應(yīng)優(yōu)惠券,也可輸入滿多少元減多少元的信息再添加優(yōu)惠。WI-FI管理:登錄APP后點擊我的頁面,點擊WI-FI管理進入WI-FI管理頁面,若數(shù)據(jù)庫存在WI-FI數(shù)據(jù)默認(rèn)顯示已存在的數(shù)據(jù)并且可以修改名稱和密碼提交修改WI-FI信息,若沒有則輸入WI-FI名稱及WI-FI秘密插入WI-FI信息。記事本功能:登錄APP后點擊我的頁面,點擊記事本按鈕進入記事本頁面,默認(rèn)顯示已經(jīng)存在的筆記,長按可選擇刪除對應(yīng)筆記,也可輸入想要記住的筆記信息再添加筆記。2.2用例分析用例分析是從用例模型到分析模型的過程,是需求與設(shè)計之間的橋梁[13]。餐廳管理系統(tǒng)項目分為顧客和商家兩個角色,顧客有查看店鋪資料、點餐的功能。商家有登錄、注冊、修改密碼、WI-FI管理、優(yōu)惠券管理、修改餐廳資料、記事本、收入管理、支出管理、客流量管理、按日期查找數(shù)據(jù)、菜單分類管理、菜品管理、訂單管理等功能。其中點餐、訂單管理、收入管理、支出管理、菜品管理是本系統(tǒng)的核心功能。餐廳管理系統(tǒng)總用例圖如圖2.1所示。圖2.1餐廳管理系統(tǒng)總用例圖核心用例詳細(xì)描述:(1)接單用戶:商家前提條件:登錄手機APP、顧客或商家完成下單流程。異常:登錄失敗,填寫訂單信息有誤。用例描述:顧客下單后,商家端實時接收訂單信息給出提示音,點擊接單按鈕接單或點擊取消訂單按鈕退單。(2)收入支出管理用戶:商家前提條件:登錄手機APP。異常:登錄失敗。用例描述:默認(rèn)計算出當(dāng)日掃碼點餐的收入金額和已存在采購項列表和本月固定支出,需要商家手動輸入當(dāng)日其他收入金額點擊提交管理收入,若有新的采購項需要商家添加新采購項記錄采購支出,若固定支出有變動可修改固定支出金額。(3)菜品管理用戶:商家前提條件:登錄手機APP,完成菜單分類流程。異常:登錄失敗,無菜單分類。用例描述:點擊菜單分類進入菜品管理,對菜品進行增加、修改、刪除、查詢操作。2.3非功能需求當(dāng)今社會,一個好的管理系統(tǒng)已經(jīng)不滿足于它的實用性、全面性,還有重要的是美觀性、易用性、交互性。界面美觀大方可以給用戶更加舒適的體驗,讓用戶在工作之余、吃飯之余看到軟件時可以心情愉悅。易用性是指用戶在操作系統(tǒng)時能很快理解系統(tǒng)所要傳達給用戶的用途,并且輕松學(xué)會使用本系統(tǒng)。餐廳管理系統(tǒng)的界面簡單大方,商家端主要以藍色為主色調(diào),使人看到APP是可以給人帶來一種平靜、穩(wěn)定、和諧輕松愉快的心情,不會使工作人員看到這個APP感到壓抑。小程序端使用綠色為主色調(diào),綠色可以很好的保護眼睛,緩解眼部疲勞,讓顧客再使用本系統(tǒng)時雖然看著手機點餐,但也不會給眼睛帶來負(fù)擔(dān)。餐廳管理系統(tǒng)的界面非常簡單,用戶不用過多思考,隨便用手點一點就可以操作,若有需要長摁的地方需要在界面上給與提示。2.4本章小結(jié)本章是系統(tǒng)分析部分,主要包含了項目的功能需求、用例分析以及非功能需求。使用用例分析方法,對系統(tǒng)參與者相關(guān)的用例進行了分析,并對幾個核心功能進行了詳細(xì)分析。以便后面的系統(tǒng)實現(xiàn)以及測試使用。3系統(tǒng)設(shè)計3.1系統(tǒng)總體設(shè)計餐廳管理系統(tǒng)是基于APP和小程序開發(fā)的,所以本系統(tǒng)采用了C/S兩層架構(gòu)。顧客和商家都在客戶機[14]設(shè)備上進行操作,通過HTTP協(xié)議發(fā)起業(yè)務(wù)請求;服務(wù)器端接收客戶機的所有請求進行處理將結(jié)果返回給客戶機?;炯軜?gòu)以及流程如圖3.1所示。圖3.1餐廳管理系統(tǒng)整體架構(gòu)圖餐廳管理系統(tǒng)主要是提供給商家端使用,商家通過APP發(fā)送數(shù)據(jù)到后臺。包括訂單管理、菜單管理、數(shù)據(jù)管理、店鋪信息管理等。詳細(xì)的項目功能結(jié)構(gòu)圖如圖3.2所示。圖3.2餐廳管理系統(tǒng)功能結(jié)構(gòu)圖3.2系統(tǒng)詳細(xì)設(shè)計3.2.1數(shù)據(jù)庫設(shè)計根據(jù)需求分析以及餐廳管理系統(tǒng)的需求,對項目數(shù)據(jù)庫進行了設(shè)計,可得到一個映射信息數(shù)據(jù)需求概念的實體關(guān)系圖模型,設(shè)計繪制出的顧客實體關(guān)系圖如圖3.3所示,商家實體關(guān)系圖如圖3.4所示。圖3.3顧客實體關(guān)系圖圖3.4商家實體關(guān)系圖數(shù)據(jù)庫設(shè)計是MVC設(shè)計模式的Model層的實現(xiàn),是整個餐廳管理系統(tǒng)的數(shù)據(jù)核心層[15]。本餐廳管理系統(tǒng)的數(shù)據(jù)庫設(shè)計選擇了MySQL數(shù)據(jù)庫,MySQL數(shù)據(jù)庫體型小、占有資源少、存儲速度快搭配PHP系統(tǒng)后臺,組成一個高效的開發(fā)環(huán)境。本餐廳管理系統(tǒng)的數(shù)據(jù)庫表主要包括商家用戶表、優(yōu)惠券管理表、圖片表、收入表、支出表、菜單分類表、菜品表、記事本表、線下單數(shù)表、訂單表、訂單詳情表、店鋪基本信息表、輪播圖表、wifi表。主要數(shù)據(jù)表詳情如表3.1所示。表3.1數(shù)據(jù)庫列表序號表名描述1manage_user商家用戶表2coupon_manage優(yōu)惠券管理表3restaurant_data店鋪基本信息表4income收入表5spending支出表6menu_classify菜單分類表7menu菜品表8offline_num線下單數(shù)表9order訂單表10order_detail訂單詳情表商家用戶表(manage_user)是用來存儲商家的登錄注冊信息的,其中信息包括商家用戶名、用戶密碼、注冊郵箱、用戶唯一標(biāo)識token等。商家用戶表以商家編號作為主鍵。表內(nèi)商家用戶名、用戶密碼、注冊郵箱、用戶唯一標(biāo)識token均不能為空,對郵箱和用戶唯一標(biāo)識[16]token進行唯一約束如表3.2所示。表3.2商家用戶表列名數(shù)據(jù)類型約束條件描述IdINT(10)PRIMARYKEY商家編號user_nameVARCHAR(45)NOTNULL用戶名user_psdVARCHAR(45)NOTNULL密碼user_emailVARCHAR(45)NOTNULL注冊郵箱tokenVARCHAR(45)NOTNULL用戶唯一標(biāo)識優(yōu)惠券管理表(coupon_manage)主要用來存儲優(yōu)惠券信息,在優(yōu)惠券管理表中包括了優(yōu)惠券編號、優(yōu)惠券滿多少元、優(yōu)惠券減多少元等信息。優(yōu)惠券管理表以優(yōu)惠券編號作為唯一自增長主鍵約束。優(yōu)惠券管理表內(nèi)的優(yōu)惠券編號、優(yōu)惠券滿多少元、優(yōu)惠券減多少元等信息均不能為空,如表3.3所示。表3.3優(yōu)惠券管理表列名數(shù)據(jù)類型約束條件描述idcoupon_manageINT(11)PRIMARYKEY優(yōu)惠券編號fullINT(11)NOTNULL優(yōu)惠券滿多少元minusINT(11)NOTNULL優(yōu)惠券減多少元店鋪基本信息表(restaurant_data)用來存儲店鋪的信息,信息包括店鋪信息編號、店鋪logo、店鋪聯(lián)系方式、店鋪名稱、營業(yè)時間、店鋪地址省、店鋪地址市、店鋪地址區(qū)、店鋪詳細(xì)地址等。以店鋪信息編號作為主鍵。表內(nèi)店鋪信息編號、店鋪logo、店鋪聯(lián)系方式、店鋪名稱、營業(yè)時間、店鋪地址省、店鋪地址市、店鋪地址區(qū)、店鋪詳細(xì)地址等信息均不能為空,具體如表3.4所示。表3.4店鋪基本信息表列名數(shù)據(jù)類型約束條件描述idINT(11)PRIMARYKEY店鋪信息編號logoVARCHAR(45)NOTNULL店鋪logophoneVARCHAR(45)NOTNULL店鋪聯(lián)系方式nameVARCHAR(45)NOTNULL店鋪名稱timeVARCHAR(45)NOTNULL營業(yè)時間adr_provinceVARCHAR(45)NOTNULL店鋪地址省adr_cityVARCHAR(45)NOTNULL店鋪地址市adr_areaVARCHAR(45)NOTNULL店鋪地址區(qū)adr_detailVARCHAR(45)NOTNULL店鋪詳細(xì)地址收入表(income)用來存儲收入的數(shù)據(jù),信息包括收入編號、收入金額、時間和收入類型等。收入表以收入編號作為唯一主鍵約束。表內(nèi)括收入編號、收入金額、時間和收入類型等字段均不能為空,如表3.5所示。表3.5收入表列名數(shù)據(jù)類型約束條件描述idINT(11)PRIMARYKEY編號moneyVARCHAR(45)NOTNULL收入金額timeVARCHAR(45)NOTNULL時間typeVARCHAR(45)NOTNULL收入類型支出表(spending)是用來存儲支出的數(shù)據(jù)信息,表內(nèi)信息包括支出編號、支出金額、支出人token、支出時間、支出類型、支出備注、發(fā)票圖片。該表以支出編號為自增長作為唯一主鍵約束。表內(nèi)支出編號、支出金額、支出人唯一標(biāo)識token、指出時間、支出類型、支出備注字段均不能為空,如表3.6所示。表3.6支出表列名數(shù)據(jù)類型約束條件描述idINT(11)PRIMARYKEY編號moneyVARCHAR(45)NOTNULL支出金額tokenVARCHAR(45)NOTNULL支出人tokentimeCHAR(10)NOTNULL支出時間typeVARCHAR(45)NOTNULL支出類型noteVARCHAR(255)NOTNULL支出備注imgTEXTNULL發(fā)票圖片菜單分類表(menu_classify)用來存儲菜單分類的信息,信息包括分類編號、分類名稱、用戶唯一標(biāo)識token。該表以分類編號為主鍵。表內(nèi)分類編號、分類名稱、用戶唯一標(biāo)識token等信息均不能為空。如表3.7所示。表3.7菜單分類表列名數(shù)據(jù)類型約束條件描述idINT(11)PRIMARYKEY編號classify_nameVARCHAR(45)NOTNULL主題tokenVARCHAR(45)NOTNULL內(nèi)容菜品表(menu)用來存儲所有菜品的信息[17],信息包括菜品編號、菜品名稱、菜品價格、菜品備注、菜品所屬分類、用戶唯一標(biāo)識token、菜品個數(shù)。該表以菜品編號為主鍵。表內(nèi)菜品編號、菜品名稱、菜品價格、菜品備注、菜品所屬分類、用戶唯一標(biāo)識token、菜品個數(shù)不能為空,如表3.8所示。表3.8菜品表列名數(shù)據(jù)類型約束條件描述idmenuINT(11)PRIMARYKEY編號menu_nameVARCHAR(45)NOTNULL菜品名稱menu_priceINT(11)NOTNULL菜品價格remarkVARCHAR(45)NOTNULL菜品備注menu_classifyidINT(11)NOTNULL菜品所屬分類tokenVARCHAR(45)NOTNULL用戶唯一標(biāo)識numINT(11)NOTNULL菜品個數(shù)線下單數(shù)表(offline_num)用來存儲線下單數(shù)信息,信息包括線下單數(shù)編號、線下單數(shù)量、線下單數(shù)量所屬的時間。該表以線下單數(shù)編號為主鍵。表內(nèi)的線下單數(shù)編號、線下單數(shù)量、線下單數(shù)量所屬的時間均不能為空,如表3.9所示。表3.9線下單數(shù)表列名數(shù)據(jù)類型約束條件描述idINT(11)PRIMARYKEY編號numVARCHAR(45)NOTNULL線下單數(shù)量timeVARCHAR(45)NOTNULL線下單數(shù)量所屬的時間訂單表(order)用來存儲所有訂單的信息,信息包括訂單編號、桌號、下單時間、聯(lián)系電話、預(yù)約時間、點餐方式、就餐方式、是否使用優(yōu)惠、使用優(yōu)惠金額、總錢數(shù)、訂單狀態(tài)、結(jié)算金額、訂單備注等字段。以訂單編號為主鍵,表內(nèi)訂單編號、桌號、下單時間、聯(lián)系電話、預(yù)約時間、點餐方式、就餐方式、是否使用優(yōu)惠、使用優(yōu)惠金額、總錢數(shù)、訂單狀態(tài)、結(jié)算金額均不能為空,如表3.10所示。表3.10訂單表列名數(shù)據(jù)類型約束條件描述order_idINT(11)PRIMARYKEY編號table_numVARCHAR(45)NOTNULL桌號timeCHAR(10)NOTNULL下單時間phoneVARCHAR(45)NOTNULL聯(lián)系電話表3.10(續(xù)表)order_timeCHAR(10)NOTNULL預(yù)約時間order_way1INT(11)NOTNULL點餐方式order_way2INT(11)NOTNULL就餐方式discount_or_notINT(11)NOTNULL是否使用優(yōu)惠coupon_moneyVARCHAR(45)NOTNULL使用優(yōu)惠金額total_moneyVARCHAR(45)NOTNULL總錢數(shù)statusVARCHAR(45)NOTNULL訂單狀態(tài)final_priceVARCHAR(45)NOTNULL結(jié)算金額order_remarkVARCHAR(45)訂單備注訂單詳情表(order_detail)用來存儲訂單里的菜單列表信息,信息包括訂單詳情信息編號、訂單編號、菜品編號、菜品名稱、菜品單價、菜品數(shù)量等字段。該表以訂單詳情信息編號為主鍵。表內(nèi)訂單詳情信息編號、訂單編號[18]、菜品編號[19]、菜品名稱、菜品單價、菜品數(shù)量[20]均不能為空,如表3.11所示。表3.11訂單詳情表列名數(shù)據(jù)類型約束條件描述idINT(11)PRIMARYKEY詳情編號idmenuINT(11)NOTNULL菜品編號dish_numINT(11)NOTNULL菜品數(shù)量order_idVARCHAR(45)NOTNULL訂單編號menu_nameVARCHAR(45)NOTNULL菜品名稱menu_priceVARCHAR(45)NOTNULL菜品單價3.2.2功能設(shè)計本系統(tǒng)的核心功能為訂單管理的實時接收訂單、菜單管理的分類修改以及數(shù)據(jù)管理的折線圖顯示。在介紹核心功能的同時也要了解在什么對象之間的交互,在什么時間以什么樣的順序傳遞什么樣的信息返回哪些數(shù)據(jù),因此也需要介紹每個功能的時序圖是什么樣的。以下介紹為本系統(tǒng)的核心功能設(shè)計。訂單管理的實時接收訂單功能,完成商家登錄APP進入首頁可查詢到訂單數(shù)據(jù),當(dāng)有新增訂單時給出提示音并更新數(shù)據(jù)。訂單管理的實時接收訂單功能描述,首先商家進入接單界面,即restaurant項目下的index/index1.vue頁面,用戶在restaurant-order下的index/settleaccounts.vue下單。頁面會使用uni.request把請求的操作發(fā)送給后臺,后臺的UserController會接收操作數(shù)據(jù)。UserController傳遞給takeOrderList方法,然后通過MySQL語句查詢數(shù)據(jù),最后將查詢結(jié)果逐步返回給接單頁面并給出提示音。訂單管理的實時接收訂單功能的時序圖如圖3.5所示。圖3.5訂單管理的實時接收訂單功能時序圖菜單管理的分類修改功能,商家登錄餐廳管理系統(tǒng)APP,進入首頁后,點擊菜單管理,即可進入分類管理界面,長按已經(jīng)添加的分類,選擇修改分類,輸入要修改的分類名稱即可修改分類。菜單管理的分類修改功能描述,首先商家進入菜單管理界面,即restaurant項目下的menu/index.vue頁面,按照要求在修改彈窗輸入要修改的分類名稱,點擊修改按鈕,頁面會使用uni.request把請求的操作發(fā)送給后臺,后臺的AdminController會接收操作數(shù)據(jù)。AdminController傳遞給classifyEdit方法,然后通過MySQL語句更新數(shù)據(jù),最后將成功結(jié)果逐步返回給分類管理頁面提示修改成功。菜單管理的分類修改功能的時序圖如圖3.6所示。圖3.6菜單管理的分類修改功能時序圖數(shù)據(jù)管理的折線圖顯示功能,商家登錄餐廳管理系統(tǒng)APP,進入首頁后,點擊數(shù)據(jù)管理,即可進入數(shù)據(jù)管理界面查看折線圖。數(shù)據(jù)管理的折線圖顯示功能描述,首先商家進入數(shù)據(jù)管理界面,即restaurant項目下的money/index.vue頁面,頁面會使用uni.request把請求的請求發(fā)送給后臺,后臺的ChartsController會接收操作數(shù)據(jù)。ChartsController傳遞給data方法,然后通過MySQL語句查詢數(shù)據(jù),將查詢結(jié)果經(jīng)過處理逐步返回給數(shù)據(jù)管理頁面顯示出折線圖。數(shù)據(jù)管理的折線圖顯示功能的時序圖如圖3.7所示。圖3.7數(shù)據(jù)管理的折線圖顯示功能時序圖3.3本章小結(jié)本章主要介紹了餐廳管理系統(tǒng)的系統(tǒng)設(shè)計,其中包含了總體設(shè)計和詳細(xì)設(shè)計,在詳細(xì)設(shè)計中介紹了數(shù)據(jù)庫的設(shè)計以及主要功能設(shè)計。通過本章介紹了餐廳管理系統(tǒng)的整體架構(gòu),使用實體關(guān)系圖更加清楚明了的展示出了項目的功能需求,以及系統(tǒng)處理方式,詳細(xì)介紹了數(shù)據(jù)表結(jié)構(gòu)。

4系統(tǒng)的實現(xiàn)4.1開發(fā)環(huán)境餐廳管理系統(tǒng)的操作系統(tǒng)為Windows10家庭中文版64-bit操作系統(tǒng)[21],開發(fā)環(huán)境的CPU為Intel(R)Core(TM)i7-6700HQCPU@2.60GHz2.59GHz,內(nèi)存為8G。開發(fā)環(huán)境為VisualStudioCode、HBuilderX,使用了ThinkPHP5.0框架技術(shù)以及uniapp前端框架技術(shù)。使用MySQL[22]數(shù)據(jù)庫進行數(shù)據(jù)存儲操作,使用PHP[23]語言編寫項目后臺源代碼。通過Tomcat服務(wù)器對項目部署。4.2開發(fā)規(guī)范確保源碼具有可維護性,使大部分開發(fā)人員經(jīng)過研究后可以直觀的看懂所寫代碼,具有一定規(guī)律性,有一定的注釋。命名使用英文翻譯,不可使用中文拼音命名,縮進以四個空格為單位,當(dāng)多個地方使用同一個函數(shù)時應(yīng)放在公共文件中封裝起來使用。本餐廳管理系統(tǒng)ThinkPHP5.0所寫的項目接口源碼全部在項目的index模塊下,控制器命名規(guī)范使用駝峰法,數(shù)據(jù)庫字段使用小寫字母加下劃線命名規(guī)則。公共函數(shù)寫在應(yīng)用目錄下的common.php文件下。每個.php文件內(nèi)的接口一定是相同模塊或具有相同特性,使開發(fā)者容易找到。本餐廳管理系統(tǒng)的前端uni-app項目文件分為兩個,一個用來運行小程序端,另一個用來運行APP端。項目文件中的common文件夾為公共文件。pages文件夾為頁面代碼文件。頁面文件遵循Vue單文件組件(SFC)規(guī)范。每個.vue文件包含三種類型的頂級語言塊:①最多包含一個<template></template>模板模塊②最多包含一個<script></script>腳本模塊③可以包含一個或多個<style></style>樣式模塊,包含css、sass、less等多種封裝模式。4.3數(shù)據(jù)庫實現(xiàn)根據(jù)數(shù)據(jù)庫部分設(shè)計可知,餐廳管理系統(tǒng)共使用商家用戶表、優(yōu)惠券管理表、圖片表、收入表、支出表、菜單分類表、菜品表、記事本表、線下單數(shù)表、訂單表、訂單詳情表、店鋪基本信息表、輪播圖表、wifi表等15張數(shù)據(jù)表。如圖4.1所示。圖4.1餐廳管理系統(tǒng)數(shù)據(jù)表4.4核心功能實現(xiàn)商家打開手機APP首先看到的是登錄注冊頁面;如圖4.2所示。圖4.2餐廳管理系統(tǒng)登錄頁面4.4.1實時接收訂單功能實現(xiàn)登錄餐廳管理系統(tǒng)APP進入首頁,也是訂單管理頁,在圖的上方展示了餐廳管理系統(tǒng)商家端的3個導(dǎo)航按鈕,分別為未接單、已接單、已完成,點擊按鈕會自動展示出對應(yīng)的內(nèi)容,如圖4.3所示。圖4.3餐廳管理系統(tǒng)訂單管理頁面主要代碼如下:let_this=this;letinterval=setInterval(()=>{ uni.request({ url:_this.$common.baseUrl+'user/takeOrderList', data:'', header:{ 'Content-Type':'application/x-www-form-urlencoded', }, sslVerify:false, method:'POST', success:(response)=>{ constresult=response.data if(result.status==200){ result.data=result.data.reverse(); this.list=result.data; this.list1=result.data; this.list2=result.data; this.list3=result.data; }else{ _this.showToast(result.msg); } }, fail:(error)=>{ if(error&&error.response){ showError(error.response); } }, });},5000);4.4.2菜單管理的分類修改功能實現(xiàn)商家點擊首頁底部的菜單管理頁面進入分類管理頁,長按要修改的分類按鈕,修改分類提交,即可修改信息,修改后提示修改成功并更新數(shù)據(jù)。實現(xiàn)效果如圖4.4所示。圖4.4菜單管理的分類修改功能實現(xiàn)效果主要代碼如下://商戶修改分類PublicfunctionclassifyEdit() { $input=input(''); $data=['classify_name'=>$input['classify_name']]; Db::name('menu_classify') ->where(array('id'=>$input['id'],'token'=>$input['token'])) ->update($data); $retVal=ajaxdatas('200',','修改成功!'); Return$retVal;}4.4.3數(shù)據(jù)管理的折線圖顯示實現(xiàn)商家點擊首頁底部的數(shù)據(jù)管理頁面進入數(shù)據(jù)管理頁,默認(rèn)顯示當(dāng)天所在周數(shù)據(jù)折線圖,若想查看其它日期數(shù)據(jù),選擇想要查看的數(shù)據(jù)所在日期即可查看其它日期折線圖。實現(xiàn)效果如圖4.5所示。圖4.5數(shù)據(jù)管理的折線圖顯示實現(xiàn)效果主要代碼如下://需要先獲取圖表數(shù)據(jù)再調(diào)用折線圖chars(time){newPromise((resolve,reject)=>{//異步 this.$common.data({//獲取圖表數(shù)據(jù) begin_time:time },res=>{ letresult=res.data; _self.charList=result; resolve(1); }); }).then((res)=>{ _self.cWidth=uni.upx2px(650);//折線圖大小 _self.cHeight=uni.upx2px(600); _self.getServerData(); //調(diào)用折線圖 varanimation=uni.createAnimation({//初始化一個動畫 transformOrigin:"50%50%", duration:1000, timingFunction:"ease", }) _self.animation=animation });},getServerData(){ uni.request({ url:'/data.json', data:{}, success:function(res){ letLineA={categories:[],series:[]}; LineA.categories=res.data.data.LineA.categories; LineA.series=res.data.data.LineA.series; LineA={ categories:_self.charList.categories, series:[{ name:'收入', data:_self.charList.series.income_data, color:'#000000' },{ name:'支出', data:_self.charList.series.spend_data },{ name:'利潤', data:_self.charLfit_data }] } _self.showLineA("canvasLineA",LineA); },fail:()=>{_self.tips="網(wǎng)絡(luò)錯誤"},});}4.5本章小結(jié)本章介紹餐廳管理系統(tǒng)部分實現(xiàn),介紹項目的核心功能,并且截圖展示,介紹了項目的開發(fā)環(huán)境VisualStudioCode、HBuilderX,開發(fā)規(guī)范,開發(fā)所使用的技術(shù)。并且詳細(xì)介紹了系統(tǒng)的核心功能。

5系統(tǒng)測試5.1測試目的測試是項目中必不可少的一個環(huán)節(jié),是對用戶負(fù)責(zé)的一個表現(xiàn),開發(fā)中的開發(fā)者不能很好地發(fā)現(xiàn)一些隱性的bug,所以需要測試是為了發(fā)現(xiàn)更多存在的缺陷,然后進行修正更改。5.2測試計劃功能測試也就是黑盒測試[24]。在本餐廳管理系統(tǒng)的測試計劃[25]中,按照項目需求測試了系統(tǒng)中的所有功能,要求可以流暢運行,沒有報錯提示。計劃以核心功能:實時接收訂單功能、菜單管理的分類修改功能、數(shù)據(jù)管理的折線圖顯示功能為例,如表5.1所示。表5.1測試計劃安排表功能測試內(nèi)容完成標(biāo)準(zhǔn)實時接收訂單通過APP前端界面,測試主題信息查詢功能,是否可以正常的進行??梢哉5倪M行實時接收訂單功能,不會提示錯誤。分類修改通過APP前端界面,測試菜單管理的分類修改功能是否可以正常的進行??梢哉]斎胄薷臈l件,提交時條件不能為空,不提示錯誤。折線圖顯示通過APP前端界面,測試折線圖顯示功能是否可以正常的進行??梢哉2榭?,并且選擇日期后沒有異常。5.3測試用例5.3.1實時接收訂單功能測試商家登錄餐廳管理系統(tǒng),進入首頁后,進入小程序下單,下單成功后可以看到APP的訂單管理頁數(shù)據(jù)更新并有“您有新的訂單,請及時處理”的提示音。測試實時接收訂單功能[26]的結(jié)果如表5.2所示。表5.2實時接收訂單功能測試表編號測試方法預(yù)期結(jié)果實際結(jié)果1在小程序下單。在APP的訂單管理頁數(shù)據(jù)更新并有“您有新的訂單,請及時處理”的提示音。數(shù)據(jù)更新也有“您有新的訂單,請及時處理”的提示音。2點擊接單。提示已接單,并且點擊所在列表轉(zhuǎn)移到已接單列表中。提示已接單,并且點擊所在列表轉(zhuǎn)移到已接單列表中。3點擊取消訂單。提示訂單已取消并更新數(shù)據(jù)。提示訂單已取消并更新數(shù)據(jù)。5.3.2分類修改功能測試商家點擊首頁底部的菜單管理頁面進入分類管理頁,長按要修改的分類按鈕,修改分類提交,即可修改信息,修改后提示修改成功并更新數(shù)據(jù)。若修改數(shù)據(jù)為空則提示不能為空。測試查詢主題功能結(jié)果如表5.3所示。表5.3分類修改功能測試表編號測試方法預(yù)期結(jié)果實際結(jié)果1讓修改內(nèi)容為空,點擊修改。提示修改內(nèi)容不能為空。提示修改內(nèi)容不能為空。2讓修改內(nèi)容為修改后的內(nèi)容,點擊修改。修改成功!提示修改成功!5.3.3折線圖顯示功能測試進入數(shù)據(jù)管理頁之后可以看到默認(rèn)的當(dāng)前時間數(shù)據(jù),并核對數(shù)據(jù)庫,數(shù)據(jù)是否正確。選擇指定日期,再次查看是否顯示指定日期的數(shù)據(jù)。測試查詢團游功能結(jié)果如表5.4所示。表5.4折線圖顯示功能測試表編號測試方法預(yù)期結(jié)果實際結(jié)果1點擊數(shù)據(jù)管理核對數(shù)據(jù)庫數(shù)據(jù)。正確。2更改日期。頁面沒有異常。無異常。3更改日期。數(shù)據(jù)更改為指定日期數(shù)據(jù)。正確。5.4本章小結(jié)本章主要對餐廳管理系統(tǒng)進行測試操作,制定測試計劃,完成實時接收訂單功能、菜單管理的分類修改功能、數(shù)據(jù)管理的折線圖顯示功能的測試,得到項目的測試結(jié)果,以保證整個系統(tǒng)的流暢的運行。結(jié)論管理工作是餐廳經(jīng)營的重要組成部分,其準(zhǔn)確快速的執(zhí)行對于餐廳的管理有重要的意義。為此,本文針對餐廳管理的迫切需求,設(shè)計并實現(xiàn)了餐廳管理系統(tǒng)。本文首先分析了餐廳管理系統(tǒng)的開發(fā)背景及意義,然后分析了構(gòu)建餐廳管理系統(tǒng)所需要解決的一些問題,最后對餐廳管理系統(tǒng)的設(shè)計及實現(xiàn)方法進行了詳細(xì)的說明和探討。本文所開發(fā)的餐廳管理系統(tǒng)已經(jīng)具備基本的功能,可以初步滿足餐廳管理對于餐廳管理的業(yè)務(wù)需求。本文系統(tǒng)在設(shè)計與實現(xiàn)的過程中充分考慮了可擴展性、可維護性等要求,具有代碼格式統(tǒng)一、代碼重用性強的特點,所采用的uniapp技術(shù)保證了系統(tǒng)具有可擴展到全平臺使用的優(yōu)勢。實際應(yīng)用效果說明了本系統(tǒng)設(shè)計的簡潔性、易用性。本系統(tǒng)的設(shè)計與實現(xiàn)有效的提高了餐廳的數(shù)據(jù)管理以及減少了使用成本,增強了工作效率,對于其他的大型餐廳管理系統(tǒng)具有廣泛的借鑒意義和參考價值。由于微信支付、登錄等功能需要商業(yè)支持,本文系統(tǒng)還存在一定的不足。比如點餐模塊存在不能查看訂單詳情、不能支付等細(xì)節(jié)問題,這是將來需要進一步完善的工作。致謝經(jīng)過三個月以來的努力學(xué)習(xí)、從對ThinkPHP5.0的不認(rèn)識,到現(xiàn)在的熟悉,我做了很大的努力去完成本餐廳管理系統(tǒng),終于完美落幕了。我相信這段時間將使我的技術(shù)向前邁進一大步,為我的職業(yè)生涯做鋪墊。在研究學(xué)習(xí)的生活中,我得到同學(xué)、同事、朋友的幫助,大家在忙于工作,忙于自己的畢業(yè)設(shè)計的同時,還能抽出空余時間傾聽我的問題,并提出解決方法。使得我的設(shè)計可以順利完成。本文是在導(dǎo)師高麗、聶菲的悉心教導(dǎo)下完成的,雖然有繁忙的工作,卻也能抽出時間,用老師多年的經(jīng)驗幫助我糾錯改正,一次又一次的把關(guān)。她認(rèn)真負(fù)責(zé)的態(tài)度給了我很大的感觸,使我能夠克服重重困難,在今后的生活中也會認(rèn)真對待每一件事。同時也感謝實習(xí)指導(dǎo)教師的傳授,他在工作的過程中教會了我很多以前沒有接觸過的思想以及技術(shù),使得我能夠順利的完成此餐廳管理系統(tǒng)的設(shè)計與實現(xiàn)。最后,感謝百忙之中參與論文評閱和答辯的各位專家與老師!

參考文獻[1]可可.魅惑空間之秀色餐廳[J].商業(yè)文化,2009(10):88-89[2]呂忠文.基于PHP的醫(yī)院管理信息系統(tǒng)的設(shè)計與實現(xiàn)[D].吉林大學(xué),2014[3]宋伊文.電力公司紀(jì)檢工作辦公系統(tǒng)的設(shè)計與實現(xiàn)[D].西安電子科技大學(xué),2017[4]薛冰.營口供電公司安全監(jiān)督與管理系統(tǒng)設(shè)計與實現(xiàn)[D].大連理工大學(xué),2018[5]陳旭創(chuàng),潘遠文,王肖文,程捷.基于MVC模式的Web醫(yī)療設(shè)備租賃系統(tǒng)應(yīng)用[J].醫(yī)療裝備,2020,33(01):24-27[6]JunKeChen.TheDesignofOnlineEducationPlatformanditsOperationMechanismBasedonMVC[J].AppliedMechanicsandMaterials,2014,3634[7]郭柏喬.基于ThinkPHP框架的高校自主招生網(wǎng)上報名系統(tǒng)設(shè)計與實現(xiàn)[J].廣州城市職業(yè)學(xué)院學(xué)報,2014,8(02):66-69[8]LiuYe,SunZhiyong,ChenJiaHui.AFilmCriticismWebsiteBasedon“ThinkPHP”[J].InternationalJournalofAdvancedPervasiveandUbiquitousComputing(IJAPUC),2017,9(1)[9]蔡鵬,馮小亮,王干,朱澤民.開源電子商務(wù)系統(tǒng)的比較分析[J].信息與電腦(理論版),2014(01):38-39[10]陳思,冷雪.微信小程序開發(fā)方式對比[J].電子制作,2020(02):52-53+22[11]侯遠峰.基于Android智能手機的體育館預(yù)定系統(tǒng)的研究[D].華中科技大學(xué),2017[12]范國婷,任樂琦,周靈輝,王妮.基于微信小程序的二維碼點餐系統(tǒng)設(shè)計研究[J].赤峰學(xué)院學(xué)報(自然科學(xué)版),2019,35(12):59-62[13]陳小明.基于Android的餐廳點菜與管理系統(tǒng)的設(shè)計與實現(xiàn)[D].湖南大學(xué),2015[14]胡勝文,梁玉新,郭瑞鋒,李伶,何強,陳滿瑜,李淑慧,徐祖敏.基于C/S結(jié)構(gòu)的放療信息系統(tǒng)研發(fā)[J].中國數(shù)字醫(yī)學(xué),2020,15(03):63-65[15]朱希鵬.連鎖餐廳智能管理系統(tǒng)的設(shè)計與實現(xiàn)[D].北京交通大學(xué),2016[16]池博溁.基于Android的葡萄酒交易平臺[D].華南理工大學(xué),2016[17]吳艷玲.基于ASP.Net的網(wǎng)上訂餐系統(tǒng)設(shè)計與實現(xiàn)[D].吉林大學(xué),2012[18]張偉鈺.自出版平臺運營管理系統(tǒng)的設(shè)計與實現(xiàn)[D].華中科技大學(xué),2017[19]陳禹航.網(wǎng)上訂餐系統(tǒng)的設(shè)計實現(xiàn)[J].電腦知識與技術(shù),2014,10(21):5136-5140+5142[20]謝舒文.基于ASP.NET的網(wǎng)上訂餐管理系統(tǒng)的設(shè)計與實現(xiàn)[D].廈門大學(xué),2017[21]馮靜菊.風(fēng)電場維修三維可視化管理系統(tǒng)的設(shè)計與實現(xiàn)[D].華北電力大學(xué)(北京),2018[22]Sheldon,Robert.IntegrateMySQLandSQLServer[J].SQLServerMagazine,2008,10(11)[23]AhmadA.Saifan,MahmoudBaniAta.MutationTestingforEvaluatingPHPWebApplications[J].InternationalJournalofSoftwareInnovation(IJSI),2019,7(4)[24]范海燕.動態(tài)軟件測試中的白盒測試和黑盒測試探討[J].南方農(nóng)機,2018,49(18):76[25]淡海英.軟件項目中系統(tǒng)測試概述[J].工業(yè)儀表與自動化裝置,2014(06):15-16+42[26]郝立峰.電商平臺增值稅電子發(fā)票開具系統(tǒng)設(shè)計與實現(xiàn)[D].哈爾濱工業(yè)大學(xué),2017附錄源程序清單//restaurant=>page=>index=>index1.vue訂單管理前端部分代碼<template> <viewclass="content":style="indexSearchBar"> <viewclass="hello":style="paddingTop"> Hi,{{shopkeeper}} <viewclass="">{{currentTime}}</view> <viewclass="top"> <viewv-for="(item,index)intabList":key="index":class="item.class"@click="tab(index)"> {{item.text}} </view> </view> </view> <viewclass="all"v-if="key==0"> <viewclass="box"v-for="(item,index)inlist1":key="index"v-if="item.status==1"> <viewclass="TableNum"> <viewclass="inmoney"> <text>實付:</text> <text>¥</text> <text>{{item.final_price}}</text> </view> <viewclass="time"> {{item.time}} </view> <viewclass=""> {{item.table_num==-1?'外帶':item.table_num}}<text>號桌</text> </view> </view> <viewclass="dishescolor"> <viewclass="">菜名</view> <viewclass=""style="text-align:right;">數(shù)量(份)</view> <viewclass=""style="text-align:right;">總錢數(shù)(元)</view> </view> <viewclass="dishes"v-for="(a,b)initem.order_detail":key="b"> <viewclass="">{{a.menu_name}}</view> <viewstyle="text-align:right;">×{{a.dish_num}}</view> <viewstyle="text-align:right;">¥{{a.menu_price}}</view> </view> <viewclass="remark"> <textclass="color">備注:</text> <text>{{item.order_remark==null?'此訂單沒有備注哦':item.order_remark}}</text> </view> <viewclass="remark"v-if="item.order_time!='NOW'"> <textclass="color">預(yù)約時間:</text> <text>{{item.order_time}}</text> </view> <viewclass="remark"v-if="item.discount_or_not==1"> <textclass="color">優(yōu)惠金額:</text> <text>{{item.coupon_money}}元</text> </view> <viewclass="phone"@click="call(item.phone)"> <imagesrc="../../static/img/phone.png"mode=""></image> <text>撥打電話{{item.phone}}</text> </view> <viewclass="btn"> <buttontype="primary"class="cancel"style="background-color:#9a9a9a;"@click="cancelOrder(item.order_id)">取消訂單</button> <buttontype="primary"class="cancel"@click="takeOrder(item.order_id)">接單</button> </view> </view> </view> <viewclass="all"v-if="key==1"> <viewclass="box"v-for="(item,index)inlist2":key="index"v-if="item.status==2"> <viewclass="TableNum"> <viewclass="inmoney"> <text>實付:</text> <text>¥</text> <text>{{item.final_price}}</text> </view> <viewclass="time"> {{item.time}} </view> <viewclass=""> {{item.table_num==-1?'外帶':item.table_num}}<text>號桌</text> </view> </view> <viewclass="dishescolor"> <viewclass="">菜名</view> <viewclass=""style="text-align:right;">數(shù)量(份)</view> <viewclass=""style="text-align:right;">總錢數(shù)(元)</view> </view> <viewclass="dishes"v-for="(a,b)initem.order_detail":key="b"> <viewclass="">{{a.menu_name}}</view> <viewstyle="text-align:right;">×{{a.dish_num}}</view> <viewstyle="text-align:right;">¥{{a.menu_price}}</view> </view> <viewclass="remark"> <textclass="color">備注:</text> <text>{{item.order_remark==null?'此訂單沒有備注哦':item.order_remark}}</text> </view> <viewclass="remark"v-if="item.order_time!='NOW'"> <textclass="color">預(yù)約時間:</text> <text>{{item.order_time}}</text> </view> <viewclass="remark"v-if="item.discount_or_not==1"> <textclass="color">優(yōu)惠金額:</text> <text>{{item.coupon_money}}元</text> </view> <viewclass="phone"@click="call(item.phone)"> <imagesrc="../../static/img/phone.png"mode=""></image> <text>撥打電話{{item.phone}}</text> </view> <viewclass="btn"> <buttontype="primary"class="cancel"style="width:50%;"@click="finish(item.order_id)">上完菜+結(jié)完賬啦</button> </view> </view> </view> <viewclass="all"v-if="key==2"> <viewclass="box"v-for="(item,index)inlist3":key="index"v-if="item.status==3"> <viewclass="TableNum"> <viewclass="inmoney"> <text>實付:</text> <text>¥</text> <text>{{item.final_price}}</text> </view> <viewclass="time"> {{item.time}} </view> <viewclass=""> {{item.table_num==-1?'外帶':item.table_num}}<text>號桌</text> </view> </view> <viewclass="dishescolor"> <viewclass="">菜名</view> <viewclass=""style="text-align:right;">數(shù)量(份)</view> <viewclass=""style="text-align:right;">總錢數(shù)(元)</view> </view> <viewclass="dishes"v-for="(a,b)initem.order_detail":key="b"> <viewclass="">{{a.menu_name}}</view> <viewstyle="text-align:right;">×{{a.dish_num}}</view> <viewstyle="text-align:right;">¥{{a.menu_price}}</view> </view> <viewclass="remark"> <textclass="color">備注:</text> <text>{{item.order_remark==null?'此訂單沒有備注哦':item.order_remark}}</text> </view> <viewclass="remark"v-if="item.order_time!='NOW'"> <textclass="color">預(yù)約時間:</text> <text>{{item.order_time}}</text> </view> <viewclass="remark"v-if="item.discount_or_not==1"> <textclass="color">優(yōu)惠金額:</text> <text>{{item.coupon_money}}元</text> </view> <viewclass="phone"@click="call(item.phone)"> <imagesrc="../../static/img/phone.png"mode=""></image> <text>撥打電話{{item.phone}}</text> </view> </view> </view> </view></template><script> exportdefault{ data(){ return{ title:'Hello', indexSearchBar:'margin-top:'+uni.getSystemInfoSync().statusBarHeight+'px', paddingTop:'padding-top:'+uni.getSystemInfoSync().statusBarHeight+'px', key:0, tabList:[{ text:'未接單', class:'top2', i:0 },{ text:'已接單', class:'top1', i:1 },{ text:'已完成', class:'top1', i:2 }], currentTime:'2020', shopkeeper:'夏天來啦', list:[], list1:[], list2:[], list3:[], } }, onLoad(){ console.log(uni.getStorageSync('token')); varaData=newDate(); this.currentTime=aData.getFullYear()+"-"+(aData.getMonth()+1)+"-"+aData.getDate(); this.$common.takeOrderList('',res=>{ //console.log(res); res.data=res.data.reverse(); this.list=res.data; this.list1=res.data; this.list2=res.data; this.list3=res.data; }); this.run(); }, watch:{ 'list':{ handler:function(val,oldval){ //console.log('修改后',val,'修改前',oldval); if(val.length!=oldval.length){ this.ScanAudio(); } }, } }, methods:{ tab(index){ this.key=index; for(leti=0;i<this.tabList.length;i++){ if(this.tabList[i].i==index){ this.tabList[i].class='top2' }els

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論