exportweeklyreport.html.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. /**
  3. * The exportweeklyreport template view file of weekly module of ZenTaoPMS.
  4. * @copyright Copyright 2009-2023 禅道软件(青岛)有限公司(ZenTao Software (Qingdao) Co., Ltd. www.zentao.net)
  5. * @license ZPL(https://zpl.pub/page/zplv12.html) or AGPL(https://www.gnu.org/licenses/agpl-3.0.en.html)
  6. * @author Yidong Wang <wangyidong@chandao.com>
  7. * @package weekly
  8. * @link https://www.zentao.net
  9. */
  10. namespace zin;
  11. formPanel
  12. (
  13. set::title($lang->export),
  14. set::target('_self'),
  15. set::action($this->createLink('weekly', 'exportweeklyreport', "module={$module}&projectID={$project->id}&productID={$productID}")),
  16. on::submit('setDownloading'),
  17. formGroup
  18. (
  19. set::label($lang->setFileName),
  20. set::name('fileName'),
  21. set::value(sprintf($lang->weekly->exportWeekly, $project->name))
  22. ),
  23. formHidden('selectedWeekBegin', ''),
  24. set::actions(array('submit')),
  25. set::submitBtnText($lang->export)
  26. );
  27. h::js
  28. (
  29. <<<'JAVASCRIPT'
  30. $(function()
  31. {
  32. const $exportWeeklyBtn = $('#exportWeeklyBtn');
  33. $('input[name=selectedWeekBegin]').val($exportWeeklyBtn.length > 0 ? $exportWeeklyBtn.data('selectedweekbegin') : '');
  34. })
  35. window.setDownloading = function(event)
  36. {
  37. /* Opera don't support, omit it. */
  38. if(navigator.userAgent.toLowerCase().indexOf("opera") > -1) return true;
  39. $.cookie.set('downloading', 0, {expires:config.cookieLife, path:config.webRoot});
  40. $('.upload-btn').attr('disabled', 'disabled').addClass('disabled loading');
  41. var time = setInterval(function()
  42. {
  43. if($.cookie.get('downloading') == 1)
  44. {
  45. const modal = zui.Modal.query(event.target);
  46. if(modal) modal.hide();
  47. if(!modal) parent.$.closeModal();
  48. $.cookie.set('downloading', null, {expires:config.cookieLife, path:config.webRoot});
  49. clearInterval(time);
  50. }
  51. }, 300);
  52. return true;
  53. };
  54. JAVASCRIPT
  55. );