kanban.html.php 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. /**
  3. * The kanban view file of project 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 Yuting Wang <wangyuting@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. 'canStartProject' => common::hasPriv('project', 'start'),
  16. 'canActivateProject' => common::hasPriv('project', 'activate'),
  17. 'canCloseProject' => common::hasPriv('project', 'close'),
  18. );
  19. foreach($kanbanList as $current => $region)
  20. {
  21. foreach($region['items'] as $index => $group)
  22. {
  23. $group['draggable'] = true;
  24. $group['colWidth'] = 'auto';
  25. $group['getCol'] = jsRaw('window.getCol');
  26. $group['getItem'] = jsRaw('window.getItem');
  27. $group['itemRender'] = jsRaw('window.itemRender');
  28. $group['canDrop'] = jsRaw('window.canDrop');
  29. $group['onDrop'] = jsRaw('window.onDrop');
  30. $kanbanList[$current]['items'][$index] = $group;
  31. }
  32. }
  33. jsVar('privs', $privs);
  34. jsVar('delayed', $lang->project->statusList['delay']);
  35. if(empty($kanbanList))
  36. {
  37. panel
  38. (
  39. div
  40. (
  41. setClass('dtable-empty-tip'),
  42. div(setClass('row gap-4 items-center'), span
  43. (
  44. setClass('text-gray'),
  45. $lang->noData
  46. ))
  47. )
  48. );
  49. }
  50. else
  51. {
  52. zui::kanbanList
  53. (
  54. set::key('kanban'),
  55. set::items($kanbanList),
  56. set::height('calc(100vh - 60px)')
  57. );
  58. }