基于web的餐馆内部营业管理系统实验报告_第1页
基于web的餐馆内部营业管理系统实验报告_第2页
基于web的餐馆内部营业管理系统实验报告_第3页
基于web的餐馆内部营业管理系统实验报告_第4页
基于web的餐馆内部营业管理系统实验报告_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、 C#.net 大型实验报告一、 实验题目:基于 web 的餐馆内部营业管理系统二、 实验目的和要求基于 Visual Studio 实现一个餐厅内部营业管理系统,参观管理系统包括了前台营业、预定服务、外卖服务、员工管理和系统管理等主要功能模块,其具体的功能为:(1) 系统管理-菜单管理:包括新菜品的添加,已有菜品的删除,菜品价格和描述的更改等;(2) 系统管理-库存管理:可以查看餐馆的剩余库存,方便对原料进行及时的补给。库存管理包括入库和出库两个操作,可记录主食、菜品原料、酒水等所有餐馆运营所需的原料;(3) 系统管理-账号管理:有系统管理员进行账户的创建、删除,并且在每个账户创建的同时会赋

2、予不同的权限,按照实际的情况和不同的要求给予权限;(4) 员工管理-员工信息:添加、编辑或者删除员工的基本信息,主要包括员工编号、姓名、性别、职位、基本薪金等;(5) 外卖服务-外卖订单:外卖员接订外卖,记录菜品信息和送货地址,打印外卖信息;(6) 外卖服务-外卖管理:查看外卖订单情况并执行外卖流程操作,在送货之前可以更改外卖信息,如份数、送货地址(一般不允许退菜),最后外卖员送出外卖,把收回的钱交给收银员。收银员更改外卖订单号的状态为已收款;(7) 前台营业-菜单&点菜:根据顾客要求在菜单中点菜,并确定顾客就餐的桌号。可以对顾客的点菜信息再次进行编辑,更改点菜情况(新增菜品、减少菜品、增减某

3、菜品份数等)。三、 实验步骤:1. 母版页设计(1)(2)去掉滚动条,添加 css 样式表文件;分割页面,左侧为导航菜单,右侧上方为快捷按钮,右侧下方为操作区域,大致布局如下图所示;1) 插入表格,划分出左右区域,添加样式;2) 分割左侧单元格,使其成为 logo 区和导航菜单区,添加样式;3) 分割右侧单元格,使其成为快捷按钮区和操作区,添加样式; (3)为各个区域添加所需内容1) 在 logo 区域放图片,作为 logo;2) 在导航菜单区添加 treeview 控件,作为导航菜单,效果如图;3) 为快捷按钮区添加控件: 打开工具箱,找到 Lable 控件,在 HTML 分类下找到Imag

4、e 控件,将其拖放到快捷按钮区域,效果如图(4)母版页设计最终效果如图 2. 创建第一张网页 chy_index.aspx(1)在“解决方案资源管理器”中右键单击网站选择“添加新项” “web 窗体”,取名为:chy_index.aspx,并在“选择母板页”前打勾单击添加。然后进入母板选择对话框;(2)(3)在弹出的对话框中选择前面设计的 MyMasterPage.Master单击确定;在“解决方案资源管理器”中找到新建的index.aspx 文件,右键在浏览器中查看,页面的效果应该跟前面的母板页效果图相同;3. 系统管理菜单管理实现(1)(2)修改原先的母版页:将控件移动到操作区域的一对 d

5、iv 中;ContentPlaceHolder添加新的页面文件 chy_menu_add.aspx1) 插入表在 menu_add.aspx 的设计视图,将鼠标放在的ContentPlaceHolder1白色区域,暂时插入3 行 3 列的表,单元格衬距和单元格间距为0,使用百分比:100%;2) 在表格中设计需要的控件排列和布局 讲第一行设置为功能标题行:将其合并单元格,输入文字“菜单菜品添加”; 设置页面的 title 为“系统管理-菜单管理-菜单添加”; 在第二行第一列中输入“菜品名称”,第二列拖入标准控件textbox,设置ID 为 txt_menuname; 在第三列拖入验证控件 Re

6、quiredFieldValidator; 单击第三行,右键插入行,在第一列输入“菜品定价”,第二列拖入标准控件 textbox,设置 ID 为 txt_price,在 txt_price 右侧拖入验证控件RequiredFieldValidator,同理,在同一个单元格内,添加折扣的输入文本框 txt_discount 和验证控件 添加足够的行,在第一列中分别输入菜品口味、制作材料、菜品描述; 在菜品口味的下一列拖入控件 DropDownList,设置 ID 为 drop_taste; 单击编辑项,在弹出框中输入口味的数据项; 为 drop_taste 设置样式 cssclass=textI

7、nput2; 同理在 drop_taste 后添加菜品类型; 为制作材料添加多行文本框,拖入控件 textbox,设置 ID 为 txt_material,编辑样式,同理添加菜品描述; 在 第 一 行 拖 一 个 linkbutton 控 件 放 在 字 的 左 侧 , id=link_backcssclass=son_link text=“返回菜单管理” 在最后一行的中间两个单元格中拖入两个 imagebutton 控件,id 分别为imgbtn_ok 和 imgbtn_clear; 双击两个新增按钮,创建按钮被单击事件,此时效果如图3) 数据库操作类的定义 在 web.config 文件中

8、编辑数据库连接串,并为项目添加数据库处理文件; 添加数据库操作类:添加新项类命名为“chy_db.cs”,然后打开文件; 添加命名控件 System.Data.SqlClient; 编写数据库操作类的代码 定义数据成员 conn 即数据库连接对象; 编写数据库连接函数; 添加查询功能函数,返回 dataset 对象 添加查询功能函数,返回 SqlDataReader 对象; 添加插入功能函数; 添加修改功能函数; 添加删除功能函数; 关闭数据库;4) Chy_menu_add.aspx 中确定按钮和清空按钮处理代码的实现 确定按钮处理代码 清空按钮处理代码(3)添加新的页面文件 chy_ me

9、nu_manager.aspx1) 修改 title 为“系统管理菜单管理”;2) 插入 3 行 1 列的表格;3) 制作页面: 在第一行单元格输入标题:菜单管理,class=oper_title; 选中第二行单元格,设置属性居中,高为 30px; 在第二行添加文本菜品类型和 DropDownList 控件,设置 ID 为 drop_type,下拉列表内容和添加页面一样; 选中 DropDownList 控件,单击右上角的箭头,单击编辑项,增加一个下拉列表项“全部”,并放在第一个; 在 DropDownList 控件右侧输入文本菜品名称并拖入控件 textbox,设置ID为 txt_searc

10、h; 在 txt_search 控件右侧输入适量空格,然后拖入标准控件imgbutton; 选中第三行,设置属性 valign=top,align=center; 在第三行拖入数据控件 GridView,添加样式; 选中 GridView,单击右上角的箭头,单击选择数据源的下拉列表,选择新建数据源; 在数据源配置界面,单击下拉箭头,选择 conname; 单击下一步,选择需要的数据库,单击右侧的order by 按钮,设置查询结果的排序字段,测试查询; 选中 gridview,单击右上角的箭头,设置启用分页,排序,并修改每页记录条数; 单击 gridview 任务的编辑栏,修改列标题; 在对话

11、框的左上角找到选择,然后单击添加,并设置属性 headtext=“查看 ”; 同理,添加删除列; 运行测试界面如图4) 根据类型分类显示:当类型下拉列表的选中项发生改变时,数据也随之发生改变 选中 drop_type 控件,设置属性 AutoPostBack=true,单击 drop_type 控件控件右上角的箭头,单击“编辑项”,修改第一项的 value 为%; 选中 gridview1,单击右上角的箭头,单击配置数据源,添加where 字句; 5) 按菜品名称查询选择 gridview1,单击右上角的箭头,单击配置数据源,添加where 字句; 6) 编辑功能 源代码界面,在最后一行的上面

12、加入控件 panel; 将 chy_menu_add.aspx 页面中的 table 整个复制过来,放在的前面,并进行参数修改; 选中 gridview1,添加 SelectedIndexChanged 事件; 编写 gridview1 中某记录的详情比单击事件的处理代码 测试。浏览菜单管理页面,单击某记录的“详情”,是否能弹出该记录的编辑界面 设计页面,双击修改按钮和关闭按钮,自动加入事件处理代码 关闭的处理代码编写 修改按钮处理代码7) 删除功能 选中 gridview1,添加 RowDeleting 事件; 编写删除处理代码 选中 gridview1,双 击 RowDataBound,自

13、动添加数据行绑定处理函数,编写函数 运行测试界面 (4)用超链接把相关网页串联起来1) 设置从 chy_menu_manager 转到 chy_menu_add 页面 打开 chy_menu_manager 的设计页面,在搜索按钮的后面拖入 html 分类input(Button)控件,设置属性 ID 为 Btn_add; 在源代码界面,增加 onclick 事件,使按钮单击使跳转到菜品添加页面2) 设置从 chy_menu_add 返回 chy_menu_manager 页面 打开 chy_menu_add.aspx 的设计页面,选中超链接按钮“返回菜单管理”到源码界面将其改为 html 的

14、超链接3) 设置从左侧的菜单打开 chy_menu_manager 页面 打开母版页,选择左侧的treeview,编辑节点,找到节点菜单管理,将右侧属性 navigateurl 设置为 menu_manager.aspx;4. “前台营业”“菜单&点菜”功能的实现(1)(2)添加页面 chy_order_add.aspx,然后进行初步的界面设计;制作界面,并实现菜单数据的读取:1) 修改页面标题 title 为“前台营业-点菜”;2) 插入 12 行 4 列的表格,边距和边框都为 0,width=“98%”;3) 合并第一行,输入标题点菜,css 设置为 oper_title;4) 在你第二行

15、第一列输入订单编号,css:align=right height=25pxwidth=20%5) 第二列 ,然后拖入 lable 控件,设置: ID=L_ordernumFont-Size=12px Text=订单编号数据6) 第三列 然后写入文字“桌号:”,接着拖入 lable 控件,设置:ID=L_tablenum Font-Size=12px Text=未选 7) 第四列,拖入控件buttom,设置ID=Btn_tablechoose CausesValidation=FalseText=选择桌号 CssClass=btn_orange8) 第 三 行 第 一 列 。输入文本“热菜菜谱:

16、”9) 第二列:,第三 列: ,第 四列: 10) 在第三列输入“冷菜菜谱:” 在热菜菜谱的前面拖入html 的image 控件,冷菜菜谱同理;11) 第四行第一列 拖入textbox控件,设置:ID=TextBox1 CssClass=textInput2。然后键入合适的空格,再拖入imagebutton控件,设置ID=imgbtn_add1 第二列设置bgcolor=#F3F3F3 拖入标签,设置如下 第三列:将第一列的2个控件复制过来即可 ,td: align=center 第四列:复制第二列的标签12) 在第五行第一列:,添加 div 并设置属性,如下 13) 在div中拖入控件lis

17、tbox,设置属性ID为ListBox114) Listbox绑定的数据源通过编程实现,讲属于热菜的菜品罗列出来 在cs页面,添加命名空间:using System.Data.SqlClient; 设置全局数据源对象ds1; 编写自定义函数,从数据库获取热菜菜品数据,然后绑定到listbox1中 在page_load函数中调用我们的自定义函数get_data1,使页面加载时,就将热菜数据绑定到listbox1中15) 第五行第二列,添加div并设置属性,加入控件gridview,效果如图 16) 第五行第三列,然后将第一列中的整个div复制过来;17) 第五行第四列,然后将第二列中的整个div

18、复制过来;18) 第六行 第一列:把第三行第一列的内容复制过来修改为酒水类,同时把单元格的样式设置也复制过来 同理把第三行其余的内容和样式复制到第六行对应的列,进行修改;19) 第七行 样式和内容复制第四行的内容; 注意lable控件的id需要修改,分别为L_help3 和L_help4;20) 第八行:样式和内容均复制第五行的内容,修改部分样式与属性;21) 第九行第二列拖入控件button,设置ID为btn_ok2;22) 编写程序实现冷菜,酒水类和主食listbox列表的内容显示 冷菜 酒水类 主食与甜点 在page_load函数中调用新创建的3个自定义函数,加入if判断,只有第一次打开

19、页面时才绑定数据;(3)编程实现点菜过程4) 点菜: 选中textbox1添加属性AutoPostBack为true; 为textbox1添加TextChanged事件 定义暂时存放点菜数据的数据结构:DataTable类型是内存中的表结构,用来暂时存放用于点的菜; 创建自定义函数set_data函数,为gridview1绑定点菜的数据 添加imgbtn_add1的单击事件,并在cs页面编写代码 同理实现订单号的生成:在page_load函数的if语句中编写代码,订单有精确到秒的日期事件加一个1099 的随机数构成,然后再第二行的第一个单元格中添加button控件,设置属性ID为btn_ok1

20、,text为提交订单5) 删除点菜数据 选中gridview1,添加事件RowDeleting 同理处理其他点菜删除的功能;6) 点菜份数更改 选 中 gridview1 , 单 击 右 上 角 任 务 中 的 编 辑 模 板 , 选 中 里 面 的drop_amount1 , 修 改 属 性 AutoPostBack 为 true , 添 加 事 件SelectedIndexChanged 在cs页面先创建一个函数,这个函数为四个gridview共用的方法,要保证四个gridview中的份数下拉列表的控件id都为Drop_amount1 到设计界面,选中gridview1,找到事件RowDa

21、taBound,然后单击右侧的小三角,选择刚刚写的函数gridviewx; 同理管理修改剩余的3个;(4)选择桌号功能的实现1) 添加“选择桌号”按钮的单击事件,并编写代码2) 在table的外面添加panel控件3) 插入3行3列的表格,第一行第二个单元格写入标题:选择座位4) 第二行第二列插入DropDownList控件,修改属性ID为drop_style;5) 第二行第三行拖入button控件,设置text属性和cssclass属性;6) 合并第三行单元格,设置单元格水平居中,然后拖入datalist控件,数据源设置,添加where字句和order by字句;7) 单击datalist控

22、件的属性生成器,设置属性;8) 单击datalist的编辑模板,在模板编辑区域的第一行回车,然后从工具箱拖入button控件,设置button控件属性;9) 根据座位的不同状态给予不同的实现方式:添加事件Itemdatabound 在page_load函数的if语句中添加viewstate,存放选中的桌号id; 编写事件代码,主要目的是根据座位的不同状态用合适的方式显示出来 10) 添加panel1上的确定按钮的单击事件,并编写代码,选定座位11) Panel1确定按钮的右边,加入适当空格后,拖入button控件,座位取消按钮 添加按钮的单击事件,并编写代码 修改选择桌号按钮的处理代码,调用刚

23、刚写好的存储过程,处理下座位的状态,是数据更新到最新情况,然后重新读取座位数据绑定到datalist1,在打开选择座位的界面 (5)设置从左侧的菜单打开 chy_order_add 页面:打开母版页,选择左侧的 treeview,编辑节点,找到节点菜单&点菜,将右侧属性 navigateurl设置为 chy_order_add.aspx;5. 员工管理员工信息实现:与“系统管理菜单管理”功能模块制作相似,两个页面分别是员工信息添加(chy_emmploy_add)和员工信息管理(chy_emmploy_manager);(1) 员工信息添加页面:添加员工的姓名,性别,身份证号,出生年月,聘用日

24、期,职位,基本薪金,联系电话,住址等基本信息;1) 员工性别和职位用的是 dropdownlist 控件,其余使用 textbox 控件,一个确定按钮,一个清空按钮;2) 确定按钮实现事件代码:3) 清空按钮实现事件代码: 4) 运行结果:(2) 员工信息管理页面:显示员工姓名,身份证号码,职位,基本薪金,联系电话,住址等基本信息,查看员工信息详情(可修改员工信息),删除员工信息,根据职位搜索相关职位员工,根据员工姓名搜索员工;1) 显示员工基本信息使用 GridView 控件,根据职位搜索使用 dropdownlist 控件,姓名搜索框为 textbox,搜索按钮为 imagebutton,

25、以及一个添加按钮;2) 点击详情,弹出员工信息查看与详情界面:其界面与员工添加界面相似,确定按钮更改为修改按钮,清空按钮改为关闭按钮;3) 详情被单击事件的处理代码: 4) 删除被单击事件的处理代码:5) 关闭按钮的处理代码:6) 修改按钮处理代码:7) 运行结果图: 四、 实验总结这次实训我选择的是餐厅内部营业管理系统。这次的实训虽然难度较大,但跟着老师发的实验步骤,一步一步的操作,最后还是成功完成了这次实训。在实训过程中,因为需要操作的东西很多,难度较大,有时错一步,就会导致后面的结果无法显示,我总结了这次实训中我遇到的问题与解决方法。1.最开始分割页面时需要插入表格,这里我不能很好的利用设计界面,快捷的插入表格,只能在源代码中通过代码的方式添加,在后续的程序中出现了插入列与行时整张表格不能很好的呈现,之后我问了老师老师告诉我可以通过设计界面的 html分类中的table控件添加表格;2.数据库的连接出现问题:在不同的电脑上数据库的服务器名称,用户名和密码都是不同的,所以在编辑数据库连接串时,经常会忘记更改数据库的服务器名称,有些数据库时直接登录的,不需要用户名和密码,这些都会导致数据库的连接失败,所以在不需要用户名与密码时需要在守护据库连接串中添加integrated security

温馨提示

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

评论

0/150

提交评论