selectproduct.html.php 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?php
  2. /**
  3. * The selectlibtype view file of doc 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 Chenxuan Song<songchenxuan@easycorp.ltd>
  7. * @package doc
  8. * @link https://www.zentao.net
  9. */
  10. namespace zin;
  11. // In this page, $objectType = product
  12. // $params may have three key: objectID|docType|libID
  13. $products = $this->loadModel('product')->getPairs();
  14. $objectID = isset($params['objectID']) ? (int)$params['objectID'] : key($products);
  15. $docType = isset($params['docType']) ? $params['docType'] : 'doc';
  16. if($docType == 'doc')
  17. {
  18. $libPairs = $this->doc->getLibs($objectType, '', '', (int)$objectID);
  19. }
  20. else
  21. {
  22. $libs = $this->doc->getApiLibs(0, $objectType, (int)$objectID);
  23. $libPairs = array();
  24. foreach($libs as $libID => $lib) $libPairs[$libID] = $lib->name;
  25. }
  26. $libID = isset($params['libID']) && isset($libPairs[$params['libID']]) ? $params['libID'] : key($libPairs);
  27. $modules = $this->loadModel('tree')->getOptionMenu((int)$libID, 'doc', 0);
  28. $moduleID = key($modules);
  29. form
  30. (
  31. setID('selectLibTypeForm'),
  32. set::submitBtnText($lang->doc->nextStep),
  33. on::change('[name=rootSpace]', "changeSpace"),
  34. on::change('[name=type]', "reloadProduct"),
  35. on::change('[name=product]', "reloadProduct"),
  36. on::change('[name=lib]', "reloadProduct"),
  37. formGroup
  38. (
  39. set::label($lang->doc->selectSpace),
  40. radioList(set::name('rootSpace'), set::items($spaceList), set::value($objectType), set::inline(true))
  41. ),
  42. formRow
  43. (
  44. setID('docType'),
  45. formGroup
  46. (
  47. set::label($lang->doc->type),
  48. radioList(set::name('type'), set::items($typeList), set::value($docType), set::inline(true))
  49. )
  50. ),
  51. formRow
  52. (
  53. formGroup
  54. (
  55. set::width('4/5'),
  56. set::label($lang->doc->product),
  57. set::name('product'),
  58. set::items(createLink('product', 'ajaxGetDropMenu', "objectID=$objectID&module=&method=&extra=selectmode&useLink=0")),
  59. set::value($objectID),
  60. set::required(true)
  61. )
  62. ),
  63. formGroup
  64. (
  65. set::width('4/5'),
  66. set::label($lang->doc->lib),
  67. set::required(true),
  68. set::control(array('control' => 'picker', 'name' => 'lib', 'items' => $libPairs, 'value' => $libID, 'required' => true))
  69. ),
  70. formGroup
  71. (
  72. setClass('moduleBox'),
  73. set::width('4/5'),
  74. set::label($lang->doc->module),
  75. set::required(true),
  76. set::control(array('control' => 'picker', 'name' => 'module', 'items' => $modules, 'value' => $moduleID, 'required' => true))
  77. )
  78. );