Reload.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. namespace UCore\DcatAdmin\Metrics\Examples;
  3. use Dcat\Admin\Admin;
  4. use Dcat\Admin\Widgets\Metrics\Card;
  5. use Dcat\Admin\Widgets\Metrics\RadialBar;
  6. use Dcat\Admin\Widgets\Widget;
  7. use Illuminate\Http\Request;
  8. class Reload extends Widget
  9. {
  10. protected $title = 'Reload';
  11. protected $view = 'admin_core.metrics.reload';
  12. /**
  13. * 刷新时间
  14. * @var int
  15. */
  16. protected $sRoload = 60 ;
  17. /**
  18. * 弹出提示
  19. *
  20. * @var bool
  21. */
  22. public $notice = false;
  23. public function __construct()
  24. {
  25. $ms = $this->sRoload * 1000;
  26. $script = <<<JS
  27. // js
  28. if(typeof reloadindex == 'undefined'){
  29. var reloads = {$this->sRoload};
  30. var notice = '{$this->notice}';
  31. var reloadindex = setInterval(function(){
  32. if(reloads < 0){
  33. window.location.reload();
  34. }
  35. reloads --;
  36. $('.reload_2').html(reloads);
  37. console.log('reloads:', reloads)
  38. }, 1000);
  39. if(notice){
  40. Dcat.warning('页面将在 {$this->sRoload} 秒后自动刷新', null, {
  41. timeOut: 5000, // 5秒后自动消失
  42. });
  43. }
  44. }
  45. JS;
  46. Admin::script($script);
  47. }
  48. }