123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- <?php
- namespace App\Admin\Metrics\Examples;
- use App\Models\Team;
- use App\Models\UserFeedback;
- use App\Models\UserReport;
- use Dcat\Admin\Widgets\Metrics\Card;
- use Illuminate\Contracts\Support\Renderable;
- use Illuminate\Http\Request;
- class Feedback extends Card
- {
- /**
- * 卡片底部内容.
- *
- * @var string|Renderable|\Closure
- */
- protected $footer;
- /**
- * 初始化卡片.
- */
- protected function init()
- {
- parent::init();
- $this->title(trans('admin-home.Pending_feedback'));
- }
- /**
- * 处理请求.
- *
- * @param Request $request
- *
- * @return void
- */
- public function handle(Request $request)
- {
- $total_team = UserFeedback::query()->where(['status'=>0])->count();
- $this->content($total_team);
- }
- /**
- * @param int $percent
- *
- * @return $this
- */
- public function up($percent)
- {
- return $this->footer(
- "<i class=\"feather icon-trending-up text-success\"></i> {$percent}% Increase"
- );
- }
- /**
- * @param int $percent
- *
- * @return $this
- */
- public function down($percent)
- {
- return $this->footer(
- "<i class=\"feather icon-trending-down text-danger\"></i> {$percent}% Decrease"
- );
- }
- /**
- * 设置卡片底部内容.
- *
- * @param string|Renderable|\Closure $footer
- *
- * @return $this
- */
- public function footer($footer)
- {
- $this->footer = $footer;
- return $this;
- }
- /**
- * 渲染卡片内容.
- *
- * @return string
- */
- public function renderContent()
- {
- $content = parent::renderContent();
- return <<<HTML
- <div class="d-flex justify-content-between align-items-center mt-1" style="margin-bottom: 2px;cursor: pointer" onclick="location.href='/admin/feedback'">
- <h2 class="ml-1 font-lg-1" style="font-size: 48px!important;">{$content}</h2>
- </div>
- HTML;
- }
- /**
- * 渲染卡片底部内容.
- *
- * @return string
- */
- public function renderFooter()
- {
- return $this->toString($this->footer);
- }
- }
|