ImportButton.php 2.3 KB
<?php
/**
+-----------------------------------------------------------------------------------------------------------------------
 * 重写 laravel-admin 类
+-----------------------------------------------------------------------------------------------------------------------
 *
 * PHP version 7
 *
 * @category  App\Admin\Rewrite\Grid\Tools
 * @package   App\Admin\Rewrite\Grid\Tools
 * @author    Richer <yangzi1028@163.com>
 * @date      2021年11月8日14:34:40
 * @copyright 2021-2022 Richer (http://www.Richer.com/)
 * @license   http://www.Richer.com/ License
 * @link      http://www.Richer.com/
 */
namespace App\Admin\Rewrite\Grid\Tools;

use App\Admin\Rewrite\Grid;
use Encore\Admin\Grid\Tools\AbstractTool;

/**
 * Class ImportButton
 *
 * @category  App\Admin\Rewrite\Grid\Tools
 * @package   App\Admin\Rewrite\Grid\Tools
 * @author    Richer <yangzi1028@163.com>
 * @date      2021年11月8日14:34:40
 * @copyright 2021-2022 Richer (http://www.Richer.com/)
 * @license   http://www.Richer.com/ License
 * @link      http://www.Richer.com/
 */
class ImportButton extends AbstractTool
{
    /**
     * @var Grid
     */
    protected $grid;

    /**
     * Create a new CreateButton instance.
     *
     * @param Grid $grid
     */
    public function __construct(Grid $grid)
    {
        $this->grid = $grid;
    }

    /**
     * Render CreateButton.
     *
     * @return string
     */
    public function render()
    {

        if (!$this->grid->showImportBtn()) {
            return '';
        }

        $title = trans('admin.import');
        return <<<EOT

<div class="btn-group pull-right grid-import-btn" style="margin-right: 10px">
    <a href="javascript:;" class="btn btn-sm btn-import btn-twitter import-template" title="{$title}" modal="app-admin-extensions-actions-excelimport">
        <i class="fa fa-upload"></i><span class="hidden-xs"> {$title}</span>
    </a>

    <a href="{$this->grid->getImportUrl()}" class="btn btn-sm btn-default grid-row-view" title="{$title}" style="display: none">
        <i class="fa fa-upload"></i><span class="hidden-xs">&nbsp;&nbsp;{$title}</span>
    </a>
</div>
<script>
$(function () {
    $('.btn-import1').click(function () {
        layer_iframe("{$this->grid->getImportUrl()}","{$title}",2, 0.8,['700px'], false, true)
    });
});
</script>
EOT;
    }
}