linkbugs.html.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <?php
  2. /**
  3. * The linkbugs view file of bug 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 Tingting Dai <daitingting@easycorp.ltd>
  7. * @package bug
  8. * @link https://www.zentao.net
  9. */
  10. namespace zin;
  11. $cols = $config->bug->linkBugs->dtable->fieldList;
  12. $cols['product']['map'] = $products;
  13. $footToolbar = array('items' => array());
  14. $footToolbar['items'][] = array('text' => $lang->save, 'btnType' => 'primary', 'className' => 'size-sm', 'data-on' => 'click', 'data-call' => 'fnLinkBugs', 'data-params' => 'event');
  15. if(isInModal())
  16. {
  17. modalHeader
  18. (
  19. set::title($lang->bug->linkBugs),
  20. set::entityText($bug->title),
  21. set::entityID($bug->id)
  22. );
  23. }
  24. searchForm
  25. (
  26. set::module('bug'),
  27. set::simple(true),
  28. set::show(true)
  29. );
  30. dtable
  31. (
  32. set::cols($cols),
  33. set::userMap($users),
  34. set::data($bugs2Link),
  35. set::footPager(usePager()),
  36. set::footToolbar($footToolbar),
  37. set::footer(array('checkbox', 'toolbar'))
  38. );
  39. h::js
  40. (
  41. <<<EOD
  42. window.fnLinkBugs = function(e)
  43. {
  44. const \$relatedBugs = $('#linkBugsBox').find('.picker-box').zui('picker');
  45. var linkedList = \$relatedBugs.$.valueList;
  46. var linkedBugs = \$relatedBugs.options.items;
  47. const dtable = zui.DTable.query(e.target);
  48. const checkedList = dtable.$.getChecks();
  49. if(!checkedList.length) return;
  50. checkedList.forEach(function(id)
  51. {
  52. var bugInfo = dtable.$.getRowInfo(id).data;
  53. linkedList.push(bugInfo.id);
  54. linkedBugs.push({text: bugInfo.title, value: bugInfo.id});
  55. });
  56. \$relatedBugs.render({items: linkedBugs});
  57. \$relatedBugs.$.setValue(linkedList);
  58. zui.Modal.hide('#' + $(e.target).closest('.modal').attr('id'));
  59. }
  60. EOD
  61. );
  62. render();