链街Dcat后台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

72 lines
1.8 KiB

5 years ago
  1. <?php
  2. namespace App\Admin\Actions\Tools;
  3. use App\Admin\Common\LinkUrl;
  4. use Dcat\Admin\Admin;
  5. use Dcat\Admin\Grid\Tools\AbstractTool;
  6. class DataReportDate extends AbstractTool
  7. {
  8. protected $route;
  9. public function __construct($route)
  10. {
  11. $this->route = $route;
  12. parent::__construct();
  13. }
  14. protected function script()
  15. {
  16. return <<<JS
  17. var app= new Vue({
  18. el:"#date_time",
  19. data:{
  20. value1: '',
  21. value2: '',
  22. pickerOptions: {
  23. disabledDate(time) {
  24. return time.getTime() > Date.now();
  25. },
  26. shortcuts: [{
  27. text: '今天',
  28. onClick(picker) {
  29. picker.\$emit('pick', new Date());
  30. }
  31. }, {
  32. text: '昨天',
  33. onClick(picker) {
  34. const date = new Date();
  35. date.setTime(date.getTime() - 3600 * 1000 * 24);
  36. picker.\$emit('pick', date);
  37. }
  38. }, {
  39. text: '一周前',
  40. onClick(picker) {
  41. const date = new Date();
  42. date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);
  43. picker.\$emit('pick', date);
  44. }
  45. }]
  46. },
  47. },
  48. });
  49. JS;
  50. }
  51. public function render()
  52. {
  53. Admin::js(LinkUrl::VUE_JS);
  54. Admin::js(LinkUrl::ELEMENT_UI_JS);
  55. Admin::css(LinkUrl::ELEMENT_UI_CSS);
  56. Admin::css('css/data_report.css');
  57. Admin::script($this->script());
  58. return view('admin.tools.data_report_date');
  59. }
  60. }