order-food-admin/app/Admin/Actions/RowActions/OrderPickUpNotice.php

59 lines
1.3 KiB
PHP

<?php
namespace App\Admin\Actions\RowActions;
use Dcat\Admin\Grid\RowAction;
use App\Models\Order;
use Illuminate\Http\Request;
use Illuminate\Database\Eloquent\Model;
use App\Jobs\SendPickUpOrderNotice;
class OrderPickUpNotice extends RowAction
{
/**
* 标题
*
* @return string
*/
public function title()
{
return '提醒取餐';
}
/**
* 设置确认弹窗信息,如果返回空值,则不会弹出弹窗
*
* 允许返回字符串或数组类型
*
* @return array|string|void
*/
public function confirm()
{
return [
// 确认弹窗 title
$this->row->order_number,
// 确认弹窗 content
"您确定要该订单餐品已制作完成吗?",
];
}
/**
* 处理请求
*
* @param Request $request
*
* @return \Dcat\Admin\Actions\Response
*/
public function handle(Request $request)
{
// 获取当前行ID
$id = $this->getKey();
$order = Order::findOrFail($id);
$order->pickup_notice = 1;
$order->save();
SendPickUpOrderNotice::dispatch($order);
// 返回响应结果并刷新页面
return $this->response()->success("提醒成功")->refresh();
}
}