ajaxselecttemplate.html.php 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. <?php
  2. /**
  3. * The ajaxSelectTemplate view file of weekly module of ZenTaoPMS.
  4. * @copyright Copyright 2009-2025 禅道软件(青岛)有限公司(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 Shujie Tian <tianshujie@chandao.com>
  7. * @package weekly
  8. * @link https://www.zentao.net
  9. */
  10. namespace zin;
  11. jsVar('projectID', $projectID);
  12. jsVar('module', $module);
  13. modalHeader(set::title($lang->weekly->selectTemplate), set::titleClass('panel-title text-lg'));
  14. featureBar
  15. (
  16. set::current('all'),
  17. set::isModal(true),
  18. set::linkParams("project={$projectID}"),
  19. div
  20. (
  21. set::className('ml-2'),
  22. zui::searchBox
  23. (
  24. set::circle(true),
  25. set::delay(1000),
  26. set::defaultValue($searchName),
  27. set::onChange(jsRaw('window.handleSearchBoxChange'))
  28. )
  29. )
  30. );
  31. $buildScopeCards = function($templates) use ($lang)
  32. {
  33. $cardItems = array();
  34. foreach($templates as $template)
  35. {
  36. $cardDesc = $template->templateDesc ? $template->templateDesc : $lang->reporttemplate->noDesc;
  37. $viewLink = createLink('reporttemplate', 'view', "templateID=$template->id");
  38. $cardItems[] = div
  39. (
  40. on::click()->do("clickCard(event)"),
  41. setClass('doc-space-card-lib p-2 w-1/4 group'),
  42. div
  43. (
  44. setClass('templateCard canvas border rounded py-2 px-3 col gap-1 hover:shadow-lg hover:border-primary relative cursor-pointer'),
  45. setData('templateID', $template->id),
  46. div
  47. (
  48. setClass('flex gap-2 items-center py-2'),
  49. icon
  50. (
  51. setClass('icon-file-archive text-2xl')
  52. ),
  53. div
  54. (
  55. setClass('font-bold text-clip'),
  56. common::hasPriv('reporttemplate', 'view') ? a(set::href($viewLink), $template->title, set::title($template->title), set(array('data-toggle' => 'modal', 'data-size' => 'lg'))) : span($template->title, set::title($template->title))
  57. )
  58. ),
  59. div
  60. (
  61. setClass('text-gray text-clip text-sm py-1'),
  62. set::title($cardDesc),
  63. $cardDesc
  64. )
  65. )
  66. );
  67. }
  68. return $cardItems;
  69. };
  70. div
  71. (
  72. setClass('templateCardPanel ring rounded'),
  73. div
  74. (
  75. setClass('py-2 px-1.5'),
  76. empty($templateList) ? div
  77. (
  78. setClass('flex justify-center emptyBox'),
  79. div
  80. (
  81. setClass('text-gray-500'),
  82. $lang->reporttemplate->noTemplate
  83. )
  84. ) : div
  85. (
  86. setClass('flex flex-wrap'),
  87. $buildScopeCards($templateList)
  88. )
  89. )
  90. );
  91. div
  92. (
  93. setClass('center nextButton fixed bottom-0 left-0 right-0 bg-white py-2 shadow-lg z-10'),
  94. button
  95. (
  96. setClass('btn primary disabled'),
  97. span($lang->weekly->next),
  98. set::onclick('clickNextButton()')
  99. )
  100. );