一、详细介绍
最新扫码点餐外卖配送餐饮小程序系统源码
系统功能:
1.支持多平台:微信小程序,支付宝小程序,和H5平台,页面可以后台DIY管理。
2.小程序页面支持后台DIY,后台修改后即可同步到发布的小程序页面。
3.点单模式:支持堂食,外卖,打包自取。
4.下单:支持多人同时,中途加菜,退单等。
5.订单提醒:支持小程序订阅消息,公众号模板消息,小票打印。
6.结算方式:微信,支付宝,余额,餐后线下等。
7.商品管理:单,多规格,起售数量,打包费,库存销量推荐等操作。
8.门店管理:餐桌,店员,口味,云设备,二维码,wifi,预约订桌等管理。
9.会员卡:付费开会员,积分等级,等级折扣,升级赠送,卡面定制等。
10.积分签到:签到赠送积分或余额,添加签到任务等。
11.会员充值:前后台充值操作,充值套餐,充值送余额,充值送优惠券等。
12.优惠券:现金券(满减),折扣券(满折),赠送券(满赠)等
13.财务统计:实时统计,七日趋势,日统计,月统计,指定时间段统计,报表下载,打印等。
14.小票打印:易联云,飞鹅,大趋等品牌打印机。(其它可扩展)
15.第三方配送:河马跑腿,闪送,UU跑腿,顺丰同城,达达配送,码科配送(其它可扩展)
16.小票打印:易联云,飞鹅,大趋。(其它可扩展)
17.云存储:腾云,阿里,七牛(其它可扩展)
18.短信:腾云,阿里,七牛(其它可扩展)
二、效果展示
1.部分代码
代码如下(示例):
public function export_order()
{
$data = $this->postData('data');
$star = strtotime($data['star'].' 00:00:00');
$end = strtotime($data['end'].' 23:59:59');
$model = new OrderModel;
$list = $model->with(['goods' => ['image', 'spec', 'goods'], 'address', 'table','delivery'])
->where('create_time','>',$star)
->where('create_time','<',$end)
->select();
# 实例化 Spreadsheet 对象
$spreadsheet = new Spreadsheet();
# 获取活动工作薄
$sheet = $spreadsheet->getActiveSheet();
//文字左右居中对齐
$styleArray = [
'alignment' => [
'horizontal' => \PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER,
],
];
//黑色边框
$borderStyleArray = [
'borders' => [
'allBorders' => [
'borderStyle' => \PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN//细边框
],
],
];
//设置单元格宽度
$sheet->getColumnDimension('A')->setWidth(8);
$sheet->getColumnDimension('B')->setWidth(30);
$sheet->getColumnDimension('C')->setWidth(8);
$sheet->getColumnDimension('D')->setWidth(8);
$sheet->getColumnDimension('E')->setWidth(8);
$n = 0;
foreach ($list as $vo) {
$n++;
$sheet->mergeCells('A'.$n.':E'.$n); //合并单元格
$title = ' 订单号:' . $vo['order_no'];
$title .= ' 下单时间:' . $vo['create_time'];
$sheet->getCell('A'.$n)->setValue($title);
$n++;
$sheet->mergeCells('A'.$n.':E'.$n); //合并单元格
$title = '# ' . $vo['order_mode']['text'] . ' #';
if($vo['order_mode']['value']==10 and $vo['table_id'] > 0){
$title .= ' 餐桌:' . $vo['table']['table_name'];
}else{
$title .= ' 取餐号:' . $vo['row_no'];
}
$title .= ' 来源:' . $vo['source']['text'];
$sheet->getCell('A'.$n)->setValue($title);
$n++;
$sheet->setCellValue('A'.$n,'编号');
$sheet->setCellValue('B'.$n,'商品');
$sheet->setCellValue('C'.$n,'单价');
$sheet->setCellValue('D'.$n,'数量');
$sheet->setCellValue('E'.$n,'退单');
$sheet->getStyle('A'.$n.':E'.$n)->getFont()->setBold(true);
$y = $n;
$num = 0;//商品列表编号
foreach ($vo['goods'] as $goods) {
$n++;
$num++;
$sheet->setCellValue('A'.$n,$num);
if(empty($goods['goods_attr'])){
$name = $goods['goods_name'];
}else{
$name = $goods['goods_name'] . '/' . $goods['goods_attr'];
}
$sheet->setCellValue('B'.$n,$name);
$sheet->setCellValue('C'.$n,$goods['goods_price']);
$sheet->setCellValue('D'.$n,$goods['total_num']);
$sheet->setCellValue('E'.$n,$goods['refund_num']);
}
$sheet->getStyle('A'.$y.':E'.$n)->applyFromArray($styleArray);
$n++;
$sheet->mergeCells('A'.$n.':E'.$n);
$sheet->getCell('A'.$n)->setValue('顾客留言:'.$vo['message']);
$n++;
$sheet->mergeCells('A'.$n.':E'.$n);
if($vo['order_mode']['value']==20){
$title = '地址:' . $vo['address']['district'] . ' ' . $vo['address']['detail'] . ' ' . $vo['address']['name'] . ' ' .$vo['address']['phone'];
}else{
$title = '用户:' . $vo['user']['nickname'] . ' ID:' . $vo['user']['user_id'];
}
$sheet->getCell('A'.$n)->setValue($title);
$n++;
$sheet->mergeCells('A'.$n.':E'.$n);
$sheet->getCell('A'.$n)->setValue('付款状态:'.$vo['pay_status']['text'].' 应付金额:¥' . $vo['pay_price']);
$sheet->getStyle('A'.$y.':E'.$n)->applyFromArray($borderStyleArray);
$n++;
$sheet->mergeCells('A'.$n.':E'.$n);
}
2.效果图展示