You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.3 KiB
55 lines
1.3 KiB
<?php
|
|
|
|
|
|
namespace App\Admin\Actions\Tools;
|
|
|
|
|
|
use App\Admin\Common\LinkUrl;
|
|
use Dcat\Admin\Admin;
|
|
use Dcat\Admin\Grid\Tools\AbstractTool;
|
|
|
|
class DataReportOption extends AbstractTool
|
|
{
|
|
|
|
protected $route;
|
|
protected $option;
|
|
public function __construct($route,$option)
|
|
{
|
|
$this->route = $route;
|
|
$this->option = $option;
|
|
parent::__construct();
|
|
}
|
|
|
|
protected function script()
|
|
{
|
|
$option = json_encode($this->option);
|
|
$market_id = request()->get('market_id',0);
|
|
return <<<JS
|
|
var options = JSON.stringify($option)
|
|
var app= new Vue({
|
|
el:"#option",
|
|
data:{
|
|
options: JSON.parse(options),
|
|
value: $market_id,
|
|
},
|
|
methods:{
|
|
doSomething(url){
|
|
sessionStorage.setItem('market_id',this.value)
|
|
}
|
|
},
|
|
});
|
|
|
|
JS;
|
|
|
|
}
|
|
|
|
public function render()
|
|
{
|
|
Admin::js(LinkUrl::VUE_JS);
|
|
Admin::js(LinkUrl::ELEMENT_UI_JS);
|
|
Admin::css(LinkUrl::ELEMENT_UI_CSS);
|
|
Admin::css('css/data_report.css');
|
|
Admin::script($this->script());
|
|
return view('admin.tools.data_report_option');
|
|
}
|
|
}
|