primary(), $color->alpha('blue2', 0.5)]; $this->title('订单比例'); $this->subTitle('近30天内'); $this->chartLabels($this->labels); // 设置图表颜色 $this->chartColors($colors); } /** * 渲染模板 * * @return string */ public function render() { $this->fill(); return parent::render(); } /** * 写入数据. * * @return void */ public function fill() { $start_time = Carbon::now()->subDays(29)->startOfDay(); $end_time = Carbon::now()->endOfDay(); $mini_count = $this->miniprogramOrderCount($start_time, $end_time); $admin_count = $this->adminOrderCount($start_time, $end_time); $all_count = $mini_count+$admin_count; $mini_rate = number_format(($all_count==0 ? 0:($mini_count/$all_count*100)), 2); $admin_rate = number_format(($all_count==0 ? 0:($admin_count/$all_count*100)), 2); $this->withContent($admin_rate, $mini_rate); // 图表数据 $this->withChart([floatval($admin_rate), floatval($mini_rate)]); } /** * 设置图表数据. * * @param array $data * * @return $this */ public function withChart(array $data) { return $this->chart([ 'series' => $data ]); } /** * 设置卡片头部内容. * * @param mixed $desktop * @param mixed $mobile * * @return $this */ protected function withContent($desktop, $mobile) { $blue = Admin::color()->alpha('blue2', 0.5); $style = 'margin-bottom: 8px'; $labelWidth = 120; return $this->content( <<