laravel-admin中添加自定义操作项

效果展示

laravel-admin中添加自定义操作项_第1张图片
laravel-admin中添加自定义操作项_第2张图片


添加操作按钮

grid() 方法中添上以下代码

	$grid->actions(function (Grid\Displayers\Actions $actions) {
	    // 添加操作按钮
		$actions->add(new Money);
	});

具体操作 ( 主要的代码功能 )

App\Admin\Actions\Users; 在这里创建 Money.php 文件

具体操作代码如下



namespace App\Admin\Actions\Users;

use Encore\Admin\Actions\RowAction;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Http\Request;
use App\Models\Accounts;

class Money extends RowAction
{
    public $name = '充币';

    public function handle(Model $model, Request $request)
    {
    	// $request 获取 下方 form 表单内容
        switch ($request->get('name')) {
            case 1:
                $currency = '...';
                break;
            case 2:
                $currency = '...';
                break;
        }
        // 处理错误
        try {
        	// $model 获取提交行信息
            $money = Accounts::where('user_id', $model->id)->where('currency', $currency)->get()[0];
            if ($request->get('money') <= 0) throw new \Exception("金额不符合");
            $money->amount = $money->amount + $request->get('money');
            $money->save();
            return $this->response()->success('充币成功')->refresh();
        } catch (\Exception $e) {
            return $this->response()->error('产生错误:' . $e->getMessage());
        }
    }


	// 创建弹出模态框
    public function form()
    {
        // 单选框
        $this->select('name', '充币类型')->options([
            1 => '...',
            2 => '...'
        ]);
        $this->text('money', '金额')->rules('required');
    }
}

你可能感兴趣的:(laravel-admin)