laravel实现点餐系统

一.效果展示

 没人给我搞个前端,凑合着搞一个吧。功能很简单,选择你要点的菜,点击买单,系统会自动给出你的消费额。

 系统结算消费额:

 本功能借助laravel框架实现,很简单的功能用于练习laravel的使用。

二.实现过程

下面介绍一下实现过程:

1.下载laravel框架

          这个网上教程和资源很足,想必不用多说,如果你连laravel都不会装,那你还是别往下看了0.0。

2.下载phpstuy并配置

          有很多集成环境可供选择,这里我个人比较喜欢phpstuy,比较简单。下载不多比比,这里讲下配置。

     

如图所示,打开phpstudy是这个样子,我们需要配置的地方有:切换版本(换到7.0或以上)、PHP扩展及设置、修改host、站点域名管理。

 (1)版本要求7.0或更高。

(2)在其他选项菜单里面有个php扩展,打开里面的php_mysql、php_mysqli、php_openssl这三个扩展。

 (3)站点域名管理

你可以通过这种方式访问你设定目录下的文件,你输入的网站域可以自己定,但是网站目录需要指向两个地方,一个是指向你phpstuy所在目录下的:C:\phpStudy\PHPTutorial\WWW,他可以让你访问此目录下的文件(此处我的网站域是www.doubleguy.com,记住这个域名,下面改host时要用)。一个是指向laravel框架下的public目录:C:\phpStudy\PHPTutorial\WWW\laravel\public,他可以让你访问laravel框架(此处我的网站域是www.test1.dv)。弄完之后别忘了保存!!!

 (4)修改host

打开host,把127.0.0.1的域名修改为上面我们站点管理指向的两个目录所对应的的域名。我这个www.test.dv是另一个laravel框架,你还可以指向更多框架,方式是一样的。

 

3.定义路由(位于:C:\phpStudy\PHPTutorial\WWW\laravel2\routes\web.php)

<?php

Route::get('/', function () {
    return view('welcome');
});

//点餐系统
	//点菜
	Route::any('add','orderController@add');

	//买单
	Route::any('pay','orderController@pay');

4.写个辣鸡前端 (位于:C:\phpStudy\PHPTutorial\WWW\laravel2\resources\views\order.blade.php)

 

<!doctype <!DOCTYPE html>
<html>
<head>
	<title>订餐系统</title>
	<style type="text/css">
		#header{
			background-color: black;
			color:white;
			text-align:center;
			padding:5px;
		}
		#body{
			background-color: #eeeeee;
		}
		#meet{
			float: left;
			padding: 20px;
			width: 600px;
			text-align: center;
			line-height: 30px;
		}
		#vegtable{
			float: right;
			padding: 20px;
			width: 600px;
			/*text-align: center;*/
			line-height: 30px;
		}
		#fruit{
			float: left;
			clear: left;
			padding: 20px;
			width: 600px;
			text-align: center;
			line-height: 30px;
		}
		#other{
			float: right;
			clear: right;
			padding: 20px;
			width: 600px;
			/*text-align: center;*/
			line-height: 30px;
		}
		#footer{
			clear: both;
			text-align: center;
		}
	</style>
</head>
<body>
	<form action='pay' method="post">
		@csrf
		<div id="header">
			<h1>菜单</h1>
		</div>

		<div id='body'>
			<div id='meet'>
				<h3>肉类</h3>
				<input type="checkbox" name='food[]' value='chicken'>鸡肉 30元<br>
				<input type="checkbox" name='food[]' value='beef'>牛肉 50元<br>
				<input type="checkbox" name='food[]' value='pork'>猪肉 20元<br>
				<input type="checkbox" name='food[]' value='mutton'>羊肉 50元<br>
				<input type="checkbox" name='food[]' value='fish'>鱼肉 50元<br>
				<input type="checkbox" name='food[]' value='rabbit'>兔肉 60元<br>
				<input type="checkbox" name='food[]' value='duck'>鸭肉 30元<br>
				<input type="checkbox" name='food[]' value='donkey'>驴肉 50元<br>
				<input type="checkbox" name='food[]' value='venison'>鹿肉 60元<br>
				<input type="checkbox" name='food[]' value='goose'>鹅肉 40元<br>
			</div>
			<div id='vegtable'>
			<h3>蔬菜</h3>
				<input type="checkbox" name='food[]' value='cabbage'>卷心菜 20元<br>
				<input type="checkbox" name='food[]' value='potato'>土豆 20元<br>
				<input type="checkbox" name='food[]' value='tomato'>番茄 20元<br>
				<input type="checkbox" name='food[]' value='carrot'>胡萝卜 20元<br>
				<input type="checkbox" name='food[]' value='eggplant'>茄子 20元<br>
				<input type="checkbox" name='food[]' value='broccoli'>西蓝花 20元<br>
				<input type="checkbox" name='food[]' value='pepper'>辣椒 20元<br>
				<input type="checkbox" name='food[]' value='cucumber'>黄瓜 20元<br>
			</div>

			<div id='fruit'>
				<h3>水果</h3>
				<input type="checkbox" name='food[]' value='watermelon'>西瓜 15元<br>
				<input type="checkbox" name='food[]' value='apple' >苹果 15元<br>
				<input type="checkbox" name='food[]' value='banana' >香蕉 15元<br>
				<input type="checkbox" name='food[]' value='grape' >葡萄 15元<br>
				<input type="checkbox" name='food[]' value='pineapple' >菠萝 15元<br>
				<input type="checkbox" name='food[]' value='durian' >榴莲 15元<br>
				<input type="checkbox" name='food[]' value='strawberry'>草莓 15元<br>
			</div>
			<div id='other'>
				<h3>其他</h3>
				<input type="checkbox" name='food[]' value='peanut' >花生 15元<br>
				<input type="checkbox" name='food[]' value='bean' >大豆 15元<br>
				<input type="checkbox" name='food[]' value='mushroom' >蘑菇 15元<br>
				<input type="checkbox" name='food[]' value='noddle' >面条 15元<br>
				<input type="checkbox" name='food[]' value='rice' >米饭 10元<br>
				<input type="checkbox" name='food[]' value='cola' >可乐 5元<br>
				<input type="checkbox" name='food[]' value='sprite' >雪碧 5元<br>
				<input type="checkbox" name='food[]' value='milk' >牛奶 5元<br>
			</div>
		</div>

		<div id='footer'>
			<input type='submit' name='submit' value="买单">
		</div>
	</form>
</body>
</html>

5.写个辣鸡后台(位于:C:\phpStudy\PHPTutorial\WWW\laravel2\app\Http\Controllers\orderController.php)

<?php

namespace App\Http\Controllers;

class orderController extends Controller{

	//菜单
	/*//饮料
	$cola = '可乐';
	$sprite = '雪碧';
	$milk = '牛奶';

	//菜	
	$chicken  = '鸡肉';
	$beef     = '牛肉';
	$pork     = '猪肉';
	$mutton   = '羊肉';
	$fish     = '鱼肉';
	$rabbit   = '兔肉';
	$duck     = '鸭肉';
	$donkey   = '驴肉';
	$venison  = '鹿肉';
	$goose    = '鹅肉';
	$cabbage  = '卷心菜';	
	$potato   = '土豆';
	$tomato   = '番茄';
	$carrot   = '胡萝卜';
	$eggplant = '茄子';
	$broccoli = '西蓝花';
	$pepper   = '辣椒';
	$cucumber = '黄瓜';
	$watermelon = '西瓜';
	$peanut   = '花生';
	$bean     = '大豆';
	$mushroom = '蘑菇';
	$noddle   = '面条';
	$rice     = '米饭';
	$apple    = '苹果';
	$banana   = '香蕉';
	$grape    = '葡萄';
	$pineapple = '菠萝';
	$durian   = '榴莲';
	$strawberry = '草莓';*/



	//点菜
	public function add(){

		return view('order');
	}

	//买单
	public function pay(){
		// if($_POST){
		// 	var_dump($_POST['food']);
		// }
		$sum = 0;

		//肉类
		if(in_array('chicken',$_POST['food'],true)){
			$sum += 30;
		}
		if(in_array('beef',$_POST['food'],true)){
			$sum += 50;
		}
		if(in_array('pork',$_POST['food'],true)){
			$sum += 20;
		}
		if(in_array('mutton',$_POST['food'],true)){
			$sum += 50;
		}
		if(in_array('fish',$_POST['food'],true)){
			$sum += 50;
		}
		if(in_array('rabbit',$_POST['food'],true)){
			$sum += 60;
		}
		if(in_array('duck',$_POST['food'],true)){
			$sum += 30;
		}
		if(in_array('donkey',$_POST['food'],true)){
			$sum += 50;
		}
		if(in_array('venison',$_POST['food'],true)){
			$sum += 60;
		}
		if(in_array('goose',$_POST['food'],true)){
			$sum += 40;
		}

		//蔬菜
		if(in_array('cabbage',$_POST['food'],true)){
			$sum += 20;
		}
		if(in_array('potato',$_POST['food'],true)){
			$sum += 20;
		}
		if(in_array('tomato',$_POST['food'],true)){
			$sum += 20;
		}
		if(in_array('carrot',$_POST['food'],true)){
			$sum += 20;
		}
		if(in_array('eggplant',$_POST['food'],true)){
			$sum += 20;
		}
		if(in_array('broccoli',$_POST['food'],true)){
			$sum += 20;
		}
		if(in_array('pepper',$_POST['food'],true)){
			$sum += 20;
		}
		if(in_array('cucumber',$_POST['food'],true)){
			$sum += 20;
		}
		
		//水果
		if(in_array('apple',$_POST['food'],true)){
			$sum += 15;
		}
		if(in_array('banana',$_POST['food'],true)){
			$sum += 15;
		}
		if(in_array('watermelon',$_POST['food'],true)){
			$sum += 15;
		}
		if(in_array('grape',$_POST['food'],true)){
			$sum += 15;
		}
		if(in_array('pineapple',$_POST['food'],true)){
			$sum += 15;
		}
		if(in_array('durian',$_POST['food'],true)){
			$sum += 15;
		}
		if(in_array('strawberry',$_POST['food'],true)){
			$sum += 15;
		}
		
		//其他
		if(in_array('peanut',$_POST['food'],true)){
			$sum += 15;
		}
		if(in_array('bean',$_POST['food'],true)){
			$sum += 15;
		}
		if(in_array('mushroom',$_POST['food'],true)){
			$sum += 15;
		}
		if(in_array('noodle',$_POST['food'],true)){
			$sum += 15;
		}
		if(in_array('rice',$_POST['food'],true)){
			$sum += 10;
		}
		if(in_array('cola',$_POST['food'],true)){
			$sum += 5;
		}
		if(in_array('sprite',$_POST['food'],true)){
			$sum += 5;
		}
		if(in_array('milk',$_POST['food'],true)){
			$sum += 5;
		}

		echo "尊敬的顾客,您好!你的总消费额为:".$sum;
	}
}

ok,竣工!! 访问一下。(注意,如果www.test.dv/add访问不了的话,用http://www.test.dv/add,有时候www.test.dv/add会直接百度搜索。。。  ╮(╯▽╰)╭  。。。)

完美!渍渍。 这是最初的模型,后面可能会完善,emmm~

千味餐厅点餐支付管理系统是以php进行开发的餐厅点餐系统。方便的点菜下单,手机、平板全系列支持;快捷的网络支付,微信及支付宝在线付款;创新的管理模式,全手机操作无小票传递;完善的数据统计,每日营销情况一目了然。 前期配置: 1、使用本系统,您店内必须有Wifi网络。 2、自行架设服务器,安装Php+MySql运行环境。配置服务器,将服务器IP地址设置为固定IP。使用WinXP系统作为服务器请务必使用XP连接数破解补丁,否则最多只能同时在线40人。 3、注册成为本站商户,检查注册时的邮箱,获取登陆商户ID和密码,登陆商户管理,获取通讯密钥。 3、安装本系统,在浏览器地址栏输入//服务器IP地址/Qv/install.php,填写通讯密钥及相关信息,完成安装。 4、使用默认用户名admin密码123456登陆本系统,配置系统。 5、点击右上角设置,基本设置修改餐厅名称,务必将主机地址设置为服务器IP!然后配置餐桌,添加餐品及分类,配置工作人员ID及权限;安装打印控件,测试小票打印机。 6、返回大厅,点击当前员工旁边的二维码,生成各个餐桌的二维码图片,将图片打印,分别粘贴在各个餐桌上。 使用流程: 1、餐厅服务员扫描店员二维码,进入餐厅管理界面;后厨及送餐人员扫描厨房二维码进入后厨管理界面。 2、客人到来后,服务员引导顾客入座,在手机管理界面上点入座。 3、客人连接店内Wifi,扫描桌上二维码,进入顾客自助点餐界面。也可将店内预置的Pad或店员手机给顾客点餐。注意:将店员手机或店内预置Pad给顾客点餐,请务必选择“顾客点餐”选项,这样返回管理界面需要密码,而“点餐”返回时无需密码,防止顾客误操作进入管理界面。返回管理界面点最上面图标。 4、客人选好餐品,下单后,服务员手机端及前台电脑端将收到下单通知,服务员可与客人核对无误后点交厨,提交到后厨处理。 5、后厨接收到前台下单后,点击接收,开始做菜,制作完成后,将菜品交送餐口,点击完成。 6、送餐人员根据厨师送来的菜品,手机上查看应是哪一桌的菜品,然后送餐,送餐完成后点击完成。 7、客人就餐完毕后,呼叫服务员来结账。服务员点击结账,选择可用折扣,自动计算金额。 8、选择支付方式,当选择微信或支付宝支付时,右边出现扫码链接,点击扫码链接,生成支付二维码界面。 9、客人扫描二维码,完成支付,系统自动同步支付数据,并将交易号填写入备注栏待查备用。 10、客人离开,服务员点击清台,餐桌状态转为空桌,迎接下一位顾客。 v5.0更新 1、系统重构,数据传递改用json 2、餐厅管理改为统一登录,手机端也可管理店铺后台 3、更新打印控件,解决新版chrome核浏览器不能打印问题,重写打印组件,解决打空单问题 4、利用微信模板消息实现点餐下单通知,顾客下单可直接发送消息至厨师、店员微信上,不用厨房打印机也可方便接单 5、独立版可实时提现至店主个人微信余额账户 6、集成UU跑腿外卖送餐 7、大厅广播取餐通知功能 8、界面布局调整,更富立体感
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小小的香辛料

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值