zentaobiz.ui.js 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. window.renderRowData = function($row, index, row)
  2. {
  3. index = index + 1;
  4. $.each(['projectApproval', 'completeApproval', 'cancelApproval'], function(i, value)
  5. {
  6. itemHTML = '';
  7. if(row)
  8. {
  9. if(row[value])
  10. {
  11. $.each(row[value], function(key, itemObject)
  12. {
  13. itemHTML += "<div class='flex pb-2'><input class='form-control' type='hidden' name='index[" + index + "][" + value + "][]' value='" + itemObject.index + "'/><input class='form-control' name='name[" + index + "][" + value + "][]' value='" + itemObject.name + "'/><button type='button' class='form-batch-btn btn square ghost size-sm ml-1' data-on='click' data-call='addNode' data-params='event'><i class='icon icon-plus'></i></button><button type='button' class='form-batch-btn btn square ghost size-sm " + (row[value].length <= 1 ? 'opacity-0 cursor-default' : '') + "' data-type='remove' data-on='click' data-call='removeNode' data-params='event'><i class='icon icon-trash'></i></button></div>";
  14. });
  15. }
  16. else
  17. {
  18. itemHTML += "<div class='flex pb-2'><input class='form-control' type='hidden' name='index[" + index + "][" + value + "][]'/><input class='form-control' name='name[" + index + "][" + value + "][]'/><button type='button' class='form-batch-btn btn square ghost size-sm ml-1' data-on='click' data-call='addNode' data-params='event'><i class='icon icon-plus'></i></button><button type='button' class='form-batch-btn btn square ghost size-sm' data-type='remove' data-on='click' data-call='removeNode' data-params='event'><i class='icon icon-trash'></i></button></div>";
  19. itemHTML += "<div class='flex pb-2'><input class='form-control' type='hidden' name='index[" + index + "][" + value + "][]'/><input class='form-control' name='name[" + index + "][" + value + "][]'/><button type='button' class='form-batch-btn btn square ghost size-sm ml-1' data-on='click' data-call='addNode' data-params='event'><i class='icon icon-plus'></i></button><button type='button' class='form-batch-btn btn square ghost size-sm' data-type='remove' data-on='click' data-call='removeNode' data-params='event'><i class='icon icon-trash'></i></button></div>";
  20. }
  21. }
  22. else
  23. {
  24. itemHTML += "<div class='flex pb-2'><input class='form-control' type='hidden' name='index[" + index + "][" + value + "][]'/><input class='form-control' name='name[" + index + "][" + value + "][]'/><button type='button' class='form-batch-btn btn square ghost size-sm ml-1' data-on='click' data-call='addNode' data-params='event'><i class='icon icon-plus'></i></button><button type='button' class='form-batch-btn btn square ghost size-sm' data-type='remove' data-on='click' data-call='removeNode' data-params='event'><i class='icon icon-trash'></i></button></div>";
  25. itemHTML += "<div class='flex pb-2'><input class='form-control' type='hidden' name='index[" + index + "][" + value + "][]'/><input class='form-control' name='name[" + index + "][" + value + "][]'/><button type='button' class='form-batch-btn btn square ghost size-sm ml-1' data-on='click' data-call='addNode' data-params='event'><i class='icon icon-plus'></i></button><button type='button' class='form-batch-btn btn square ghost size-sm' data-type='remove' data-on='click' data-call='removeNode' data-params='event'><i class='icon icon-trash'></i></button></div>";
  26. }
  27. if($row.find('[data-name=' + value + ']').find('.itemHTML').length <= 0)
  28. {
  29. $row.find('[data-name=' + value + ']').empty().append("<div class='itemHTML'>" + itemHTML + '</div>');
  30. }
  31. else
  32. {
  33. $row.find('[data-name=' + value + '] input[name^=index]').attr('name', "index[" + index + "][" + value + "][]");
  34. $row.find('[data-name=' + value + '] input[name^=name]').attr('name', "name[" + index + "][" + value + "][]");
  35. }
  36. });
  37. }
  38. window.addNode = function(event)
  39. {
  40. $row = $(event.target).closest('td');
  41. $(event.target).closest('div').after($(event.target).closest('div').prop('outerHTML'));
  42. $(event.target).closest('div').next().find('input').val('');
  43. checkBtn($row);
  44. }
  45. window.removeNode = function(event)
  46. {
  47. if($(event.target).closest('button').hasClass('opacity-0')) return false;
  48. $row = $(event.target).closest('td');
  49. $(event.target).closest('div').remove();
  50. checkBtn($row);
  51. }
  52. window.checkBtn = function(row)
  53. {
  54. if($(row).find('div.flex').length >= 2)
  55. {
  56. $(row).find('.form-batch-btn[data-type=remove]').removeClass('opacity-0 cursor-default');
  57. }
  58. else
  59. {
  60. $(row).find('.form-batch-btn[data-type=remove]').addClass('opacity-0 cursor-default');
  61. }
  62. }