kanban.html.php 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <?php
  2. /**
  3. * The kanban view file of product 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 Sun Guangming<sungunagming@easycorp.ltd>
  7. * @package project
  8. * @link https://www.zentao.net
  9. */
  10. namespace zin;
  11. $privs = array
  12. (
  13. 'canViewExecution' => common::hasPriv('execution', 'task'),
  14. 'canViewProject' => common::hasPriv('project', 'index'),
  15. 'canViewRelease' => common::hasPriv('release', 'view'),
  16. 'canViewPlan' => common::hasPriv('productplan', 'view'),
  17. );
  18. foreach($kanbanList as $current => $region)
  19. {
  20. foreach($region['items'] as $index => $group)
  21. {
  22. $group['draggable'] = true;
  23. $group['colWidth'] = 'auto';
  24. $group['minColWidth'] = 'auto';
  25. $group['maxColWidth'] = 'auto';
  26. $group['maxLaneHeight'] = '300px';
  27. $group['getCol'] = jsRaw('window.getCol');
  28. $group['getItem'] = jsRaw('window.getItem');
  29. $group['itemRender'] = jsRaw('window.itemRender');
  30. $group['canDrop'] = jsRaw('window.canDrop');
  31. $group['onDrop'] = jsRaw('window.onDrop');
  32. $kanbanList[$current]['items'][$index] = $group;
  33. }
  34. }
  35. jsVar('privs', $privs);
  36. jsVar('delayInfo', $lang->project->delayInfo);
  37. featureBar(li
  38. (
  39. setClass('nav-item item'),
  40. a
  41. (
  42. $browseType == 'my' ? setClass('active') : null,
  43. set::href(createLink('program', 'kanban', "browseType=my")),
  44. $lang->program->kanban->typeList['my']
  45. )
  46. ), li
  47. (
  48. setClass('nav-item item'),
  49. set::active($browseType == 'other'),
  50. a
  51. (
  52. $browseType == 'other' ? setClass('active') : null,
  53. set::href(createLink('program', 'kanban', "browseType=other")),
  54. $lang->program->kanban->typeList['others']
  55. )
  56. ));
  57. if(empty($kanbanList))
  58. {
  59. panel
  60. (
  61. div
  62. (
  63. setClass('dtable-empty-tip'),
  64. div(setClass('row gap-4 items-center'), span
  65. (
  66. setClass('text-gray'),
  67. $lang->noData
  68. ))
  69. )
  70. );
  71. }
  72. else
  73. {
  74. zui::kanbanList
  75. (
  76. set('$replace', false),
  77. set::key('kanban'),
  78. set::items($kanbanList),
  79. set::height('calc(100vh - 120px)')
  80. );
  81. }