browse.html.php 4.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <?php
  2. /**
  3. * The browse view file of company 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 Mengyi Liu <liumengyi@easycorp.ltd>
  7. * @package company
  8. * @link https://www.zentao.net
  9. */
  10. namespace zin;
  11. featureBar
  12. (
  13. set::current($browseType),
  14. set::linkParams("browseType={key}"),
  15. li(searchToggle(set::open($type == 'bysearch'), set::module('user')))
  16. );
  17. $canCreate = hasPriv('user', 'create');
  18. $canBatchCreate = hasPriv('user', 'batchCreate');
  19. $createItem = array('text' => $lang->user->create, 'url' => createLink('user', 'create', "deptID={$deptID}&type={$browseType}"));
  20. $batchCreateItem = array('text' => $lang->user->batchCreate, 'url' => createLink('user', 'batchCreate', "deptID={$deptID}&type={$browseType}"));
  21. toolbar(btn
  22. (
  23. set::icon('cog-outline'),
  24. setClass('btn ghost'),
  25. set::url(createLink('custom', 'set', 'module=user&field=roleList')),
  26. setData('app', 'admin'),
  27. $lang->company->manageRole
  28. ), $canCreate && $canBatchCreate ? btnGroup
  29. (
  30. btn
  31. (
  32. setClass('btn primary create-user-btn'),
  33. set::icon('plus'),
  34. set::url(createLink('user', 'create', "deptID={$deptID}&type={$browseType}")),
  35. $lang->user->create
  36. ),
  37. dropdown
  38. (
  39. btn(setClass('btn primary dropdown-toggle'), setStyle(array('padding' => '6px', 'border-radius' => '0 2px 2px 0'))),
  40. set::items
  41. (
  42. array
  43. (
  44. array('text' => $lang->user->create, 'url' => createLink('user', 'create', "deptID={$deptID}&type={$browseType}"), 'className' => '.create-user-btn'),
  45. array('text' => $lang->user->batchCreate, 'url' => createLink('user', 'batchCreate', "deptID={$deptID}&type={$browseType}")),
  46. )
  47. ),
  48. set::placement('bottom-end')
  49. )
  50. ) : null, $canCreate && !$canBatchCreate ? item(set($createItem + array('class' => 'btn primary', 'icon' => 'plus'))) : null, !$canCreate && $canBatchCreate ? item(set($batchCreateItem + array('class' => 'btn primary', 'icon' => 'plus'))) : null);
  51. $settingLink = createLink('dept', 'browse');
  52. $closeLink = createLink('company', 'browse', "browseType={$browseType}&param=0&type={$type}");
  53. sidebar
  54. (
  55. moduleMenu(set(array
  56. (
  57. 'modules' => $deptTree,
  58. 'activeKey' => $type == 'bydept' ? $param : 0,
  59. 'settingLink' => $settingLink,
  60. 'closeLink' => $closeLink,
  61. 'showDisplay' => false,
  62. 'filterMap' => array(),
  63. 'settingText' => $lang->dept->manage
  64. )))
  65. );
  66. $footToolbar = common::hasPriv('user', 'batchEdit') ? array(
  67. 'items' => array(array('text' => $lang->edit, 'className' => 'secondary open-url', 'data-load' => 'post', 'data-url' => createLink('user', 'batchEdit', "deptID={$deptID}&type={$browseType}"), 'data-data-map' => 'userIdList[]: #userList~checkedIDList')),
  68. 'btnProps' => array('size' => 'sm', 'btnType' => 'secondary')
  69. ) : null;
  70. if(common::hasPriv('user', 'batchEdit')) $this->config->company->user->dtable->fieldList['id']['type'] = 'checkID';
  71. foreach($users as $user)
  72. {
  73. if(!$user->last) $user->last = '';
  74. }
  75. $tableData = initTableData($users, $this->config->company->user->dtable->fieldList, $this->loadModel('user'));
  76. dtable
  77. (
  78. setID('userList'),
  79. set::orderBy($orderBy),
  80. set::sortLink(createLink('company', 'browse', "browseType={$browseType}&param={$param}&type={$type}&orderBy={name}_{sortType}&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}&pageID={$pager->pageID}")),
  81. set::cols($this->config->company->user->dtable->fieldList),
  82. set::data($tableData),
  83. set::userMap($userPairs),
  84. set::checkable(common::hasPriv('user', 'batchEdit')),
  85. set::fixedLeftWidth('0.2'),
  86. set::onRenderCell(jsRaw('window.onRenderCell')),
  87. set::footToolbar($footToolbar),
  88. set::footPager(usePager())
  89. );
  90. render();