Laravel Admin增加自定义按钮,例如导入excel按钮

Laravel增加自定义按钮,例如导入excel

参考网址:

不建议看,因为缺少关键图片
https://laravel-admin.org/docs/zh/model-grid-custom-actions#app

操作步骤一,创建一个普通操作类
php artisan admin:action Post\\你自己业务的关键字 --name="导入按钮的名字"

//示例:
php artisan admin:action Post\\ImportPhoneCase --name="导入手机病例"
  • 生成类文件位置:
app/Admin/Actions/Post/你创建的文件
  • 我的ImportPhoneCase 类,供参考的代码
<?php

namespace App\Admin\Actions\Post;

use Encore\Admin\Actions\Action;
use Illuminate\Http\Request;

class ImportPhoneCase extends Action
{
    public $name = '导入病例';

    protected $selector = '.import-post';

    public function handle(Request $request)
    {
        // 下面的代码获取到上传的文件,然后使用`maatwebsite/excel`等包来处理上传你的文件,保存到数据库
        $oFile = $request->file('file');
        return $this->response()->success('Success message...')->refresh();
    }

    public function form()
    {
        $this->file('file', '请选择文件');
    }

    public function html()
    {
    	//按钮的样式,你可以自定义,包括按钮名称
        return <<<HTML
 <i class="fa fa-plus"></i>
        <a class="btn btn-sm btn-success import-post">导入病例</a>
HTML;
    }
}

控制器中增加以下代码,用于显示按钮
  • 控制器上方,use以下2个命名空间
use App\Admin\Actions\Post\你的按钮类文件
use Encore\Admin\Grid\Tools;

class XXXXController  extends AdminController
{
......
	protected function grid()
	{
		//增加下列代码,刷新页面即可
		 $grid->tools(function (Tools $tools) {
		 	//ImportPhoneCase这是我的类,换成你的;
		     $tools->append(new ImportPhoneCase());
		 });
	}
}
刷新页面效果

在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值