create.ipd.html.hook.php 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. <?php
  2. if($model == 'kanban') return;
  3. $charter = '<tr>';
  4. $charter .= "<th class='w-120px'>";
  5. $charter .= $lang->project->charter;
  6. $charter .= '</th>';
  7. $charter .= '<td>';
  8. $charter .= html::select('charter', $charters, $copyedCharter, "class='form-control chosen'");
  9. $charter .= '</td>';
  10. $charter .= '</tr>';
  11. $category = '<tr>';
  12. $category .= '<th>';
  13. $category .= $lang->project->category;
  14. $category .= '</th>';
  15. $category .= '<td>';
  16. $category .= html::select('category', $lang->project->categoryList, '', "class='form-control chosen'");
  17. $category .= '</td>';
  18. $category .= "<td id='hasProductBox' class='hidden'>";
  19. $category .= html::radio('hasProduct', $lang->project->projectTypeList, 1);
  20. $category .= '</td>';
  21. $category .= '</tr>';
  22. $productRoadmap = '<tr id="productRoadmap">';
  23. $productRoadmap .= '<th>';
  24. $productRoadmap .= $lang->project->manageProductRoadmap;
  25. $productRoadmap .= '</th>';
  26. $productRoadmap .= '<td>';
  27. $productRoadmap .= '<div class="input-group">';
  28. $productRoadmap .= '<span class="input-group-addon">' . $lang->product->common . '</span>';
  29. $productRoadmap .= html::input('productName', '', "class='form-control' disabled");
  30. $productRoadmap .= html::hidden('products[0]', 0, "class='roadmapProduct'");
  31. $productRoadmap .= html::hidden('branch[0][]', 0);
  32. $productRoadmap .= '</div>';
  33. $productRoadmap .= '</td>';
  34. $productRoadmap .= '<td>';
  35. $productRoadmap .= '<div class="input-group">';
  36. $productRoadmap .= '<span class="input-group-addon">' . $lang->roadmap->common . '</span>';
  37. $productRoadmap .= html::input('roadmapName', '', "class='form-control' disabled");
  38. $productRoadmap .= '</div>';
  39. $productRoadmap .= '</td>';
  40. if($model != 'kanban')
  41. {
  42. $linkStoryHtml = '<td>';
  43. $linkStoryHtml .= html::checkbox('isLinkStory', array('checked' => $lang->project->linkStoryToProject), 'checked');
  44. $linkStoryHtml .= '</td>';
  45. $productRoadmap .= $linkStoryHtml;
  46. }
  47. $productRoadmap .= '</tr>';
  48. ?>
  49. <script>
  50. $(function()
  51. {
  52. $('#dataform > .table').prepend(<?php echo json_encode($charter);?>);
  53. $('#charter').chosen();
  54. /* If is IPD peoject replace projectType. */
  55. if(model == 'ipd')
  56. {
  57. $('#PM').closest('tr').before(<?php echo json_encode($category);?>);
  58. $('#category').chosen();
  59. $('#projectType').closest('tr').remove();
  60. $('#category').change(function()
  61. {
  62. var category = $(this).val();
  63. toggleHasProduct(category);
  64. })
  65. }
  66. $('#charter').change(function()
  67. {
  68. var charterID = $('#charter').val();
  69. $('#categoryHide').remove();
  70. $('#productRoadmap').remove();
  71. $('tr.newLine').remove();
  72. if(charterID != '0' && charterID != null)
  73. {
  74. $('.productsBox').closest('tr').addClass('hidden');
  75. $('.productsBox').closest('tr').after(<?php echo json_encode($productRoadmap);?>);
  76. var link = createLink('charter', 'ajaxGetCharterInfo', 'id=' + charterID);
  77. $.get(link, function(data)
  78. {
  79. data = JSON.parse(data);
  80. if(!$('#name').val()) $('#name').val(data.name);
  81. $('#category').val(data.category).attr('disabled', true).trigger("chosen:updated").chosen();
  82. $('#category').after("<input type='hidden' name='category' id='categoryHide' value='" + data.category + "'/>");
  83. $('#budget').val(data.budget);
  84. $('#budgetUnit').val(data.budgetUnit);
  85. $('#productRoadmap #productName').val(data.productName);
  86. $('#roadmapName').val(data.roadmapName);
  87. $('.roadmapProduct').val(data.product);
  88. toggleHasProduct(data.category);
  89. })
  90. }
  91. else
  92. {
  93. $('.productsBox').closest('tr').removeClass('hidden');
  94. $('#name').val('');
  95. $('#budget').val('');
  96. $('#budgetUnit').val('CNY');
  97. $('#category').val('IPD').attr('disabled', false).trigger("chosen:updated").chosen();
  98. }
  99. })
  100. if($('#charter').val() != '0') $('#charter').trigger('change');
  101. })
  102. function toggleHasProduct(category)
  103. {
  104. hasCharter = $('#charter').val();
  105. if(category == 'CPD' && hasCharter == '0')
  106. {
  107. $('#hasProductBox').removeClass('hidden');
  108. }
  109. else
  110. {
  111. $('#hasProductBox').find("input[name='hasProduct'][value='1']").prop('checked', true);
  112. $('#hasProductBox').addClass('hidden');
  113. $('#productTitle, #linkPlan').closest('tr').show();
  114. }
  115. }
  116. </script>