TreeSelectControl() ->name($name)->label($label) ->showIcon(false) ->labelField($labelField) ->valueField($valueField)->source($apiUrl); } /** * 排序字段 */ public function sortControl($name ='sort', $label = '排序'){ return amisMake()->NumberControl() ->name($name)->label($label) ->displayMode('enhance') ->value(0) ->min(0); } /** * 2位小数输入框 */ public function decimalControl($name ='decimal', $label = '数值'){ return amisMake()->NumberControl() ->name($name)->label($label) ->kilobitSeparator(true) ->percision(2) ->step(0.01) ->value(0.00) ->min(0); } /** * 富文本编辑器 */ public function fuEditorControl($name ='content', $label = '内容', $uploadUrl = ''){ return amisMake()->RichTextControl()->vendor('tinymce') ->options([ "menubar" => false, "min_height" => 500, "toolbar" => "undo redo | bold italic underline strikethrough | fontfamily fontsize blocks | alignleft aligncenter alignright alignjustify | image link | outdent indent | numlist bullist | forecolor backcolor removeformat | charmap emoticons", "help_tabs" => [], "convert_urls" => false, "quickbars_selection_toolbar" => "fontsize forecolor backcolor", "toolbar_mode" => "wrap", "quickbars_insert_toolbar" => false, ]) ->receiver(admin_url('upload_rich')) ->name($name) ->label($label); //froala去除授权提示;(但是保存会有额外内容,需要处理) // } public function enableControl($name = 'is_enable', $label= '状态', $mode = 'horizontal'){ return amisMake()->SwitchControl() ->name($name)->label($label) ->mode($mode) ->onText(__('admin.extensions.status_map.enabled'))->offText(__('admin.extensions.status_map.disabled')); } public function keywordsTagControl($name = 'tags', $label= '标签', $typeKey = ''){ return amisMake()->TagControl() ->name($name)->label($label) ->options(Keyword::getByParentKey($typeKey)->pluck('name', 'id')->toArray()); } /** * 生成统计图config * 折线图或者柱状图 */ public function chartLineBarConfig($title = '', array $x , array $y){ $yAxisData = []; $seriesData = []; if(!isset($y[0])){ $_y = $y; $y = [0=>$_y]; } $i = 0; $tips = '{b0}'; foreach($y as $item) { //tips $tips.= '
{a'.$i.'}: {c'.$i.'}'.($item['unit'] ?? ''); //纵坐标 $yAxisData[] = [ 'name'=>$item['name'].($item['unit'] ?? ''), 'type' =>'value', 'axisTick' => true, 'alignTicks' => true, 'axisLine' => [ 'show' => true, 'lineStyle' => [ 'color' => $item['color'] ?? '' ] ], 'axisLabel'=> [ 'formatter'=>'{value} '.($item['unit'] ?? '') ] ]; //数据 $_series = [ 'name' => $item['name'] ?? '', 'data' => $item['data'] ?? [], 'type' => $item['type'] ?? 'line', 'yAxisIndex' => $i, ]; switch($item['type']){ case 'line': $_series = array_merge($_series, [ 'smooth'=> true, 'symbol'=> 'none', 'lineStyle' => [ 'color' => $item['color'] ?? '' ], 'areaStyle' => [ 'color' => $item['color'] ?? '' ], ]); break; case 'bar': break; } $seriesData[] = $_series; $i++; } return [ 'title' => [ 'text' => $title, ], "tooltip" => [//提示 'trigger'=>'axis',//坐标轴触发 'axisPointer' => [ 'type' => 'cross' ], // 'formatter' => $tips ], 'grid' => [ 'left' => '8%', 'right' => '8%', ], 'xAxis' => [ 'type' => 'category', 'data' => $x, ], 'yAxis' => $yAxisData, 'series' => $seriesData ]; } /** * 生成饼状图config * -todo */ public function chartPieConfig(){ return ; } }