distance = $distance; $this->number = $number; parent::__construct($title=null, $icon=null); } /** * 初始化卡片内容 */ protected function init() { parent::init(); $this->height = 160; $this->style('padding-top:0'); $this->chartLabels(['1km以内', '1-3km', '3-5km','5km以上']); } /** * 渲染模板 * * @return string */ public function render() { $this->fill(); Admin::script($this->script()); return parent::render(); } public function script() { return <<withContent($this->distance[0], $this->distance[1],$this->distance[2],$this->distance[3]); // 图表数据 $this->withChart([ $this->distance[0]>0?sprintf("%.2f",($this->distance[0]/$this->number)*100):0, $this->distance[0]>0?sprintf("%.2f",($this->distance[1]/$this->number)*100):0, $this->distance[0]>0?sprintf("%.2f",($this->distance[2]/$this->number)*100):0, $this->distance[0]>0?sprintf("%.2f",($this->distance[3]/$this->number)*100):0, ]); // 总数 $this->chartTotal('订单数', $this->number); } /** * 设置图表数据. * * @param array $data * * @return $this */ public function withChart(array $data) { return $this->chart([ 'series' => $data, ]); } /** * 卡片内容. * * @param int $finished * @param int $pending * @param int $rejected * * @return $this */ public function withContent($d1, $d2, $d3,$d4) { return $this->content( <<
1km以内
{$d1}
1-3km
{$d2}
3-5km
{$d3}
5km以上
{$d4}
HTML ); } }