crystal.js 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. function addField(obj)
  2. {
  3. var tbody = $(obj).closest('tbody');
  4. var tr = tbody.find('tr:first');
  5. tbody.append('<tr></tr>');
  6. tbody.find('tr:last').append('<td style="overflow: visible">' + tr.find('td').eq(0).html() + '</td>');
  7. tbody.find('tr:last').append('<td>' + tr.find('td').eq(1).html() + '</td>');
  8. tbody.find('tr:last').append('<td class="text-center">' + tr.find('td').eq(2).html() + '</td>');
  9. tbody.find('tr:last').append('<td style="overflow: visible">' + tr.find('td').eq(3).html() + '</td>');
  10. tbody.find('tr:last').append('<td>' + tr.find('td').eq(4).html() + '</td>');
  11. tbody.find('tr:last').find('td').eq(0).find('.chosen-container').remove();
  12. tbody.find('tr:last').find('td').eq(0).find('select').attr('id', 'repordField' + tbody.find('tr:last').index());
  13. tbody.find('tr:last').find('td').eq(0).find('select').val('');
  14. tbody.find('tr:last').find('td').eq(0).find('input:checkbox').attr('name', 'isUser[reportField][' + tbody.find('tr:last').index() + '][]');
  15. tbody.find('tr:last').find('td').eq(2).find('input:checkbox').attr('name', 'reportTotal[' + tbody.find('tr:last').index() + ']');
  16. tbody.find('tr:last').find('td').eq(3).find('input:checkbox[name^="percent"]').attr('name', 'percent[' + tbody.find('tr:last').index() + ']');
  17. tbody.find('tr:last').find('td').eq(3).find('input:checkbox[name^="showAlone"]').attr('name', 'showAlone[' + tbody.find('tr:last').index() + ']').attr('disabled', 'disabled');
  18. tbody.find('tr:last').find('td').eq(3).find('select').attr('name', 'contrast[' + tbody.find('tr:last').index() + ']').attr('disabled', 'disabled');
  19. tbody.find('tr:last').find('td').eq(3).find('select').val('');
  20. tbody.find('tr:last').find('td').eq(1).find('select').val('');
  21. tbody.find('tr:last').find('td').eq(2).find(':checkbox').removeAttr('checked');
  22. tbody.find('tr:last').find('td').eq(3).find(':checkbox').removeAttr('checked');
  23. tbody.find('tr:last').find('td').eq(0).find('select').chosen();
  24. }
  25. function deleteField(obj)
  26. {
  27. if($(obj).parent().parent().parent().index() == 0) return false;
  28. $(obj).parent().parent().parent().remove();
  29. }
  30. function toggleContrast(obj)
  31. {
  32. if($(obj).prop('checked'))
  33. {
  34. $(obj).parent().parent().parent().find('.contrastField').removeAttr('disabled');
  35. $(obj).parent().parent().parent().find('select').val($(obj).parent().parent().parent().parent().find('select#reportField').val());
  36. }
  37. else
  38. {
  39. $(obj).parent().parent().parent().find('.contrastField').attr('disabled', 'disabled');
  40. }
  41. }
  42. function toggleSumAppend(obj)
  43. {
  44. if($(obj).val() == 'sum')
  45. {
  46. $(obj).parent().find('select').eq(1).removeClass('hidden');
  47. $(obj).parent().find('select').eq(1).val($(obj).parents('td').prev().find('select').val());
  48. }
  49. else if($(obj).val() == 'count')
  50. {
  51. $(obj).parent().find('select').eq(1).addClass('hidden');
  52. }
  53. }
  54. function toggleSelectList(obj)
  55. {
  56. if($(obj).val() == 'select')
  57. {
  58. $(obj).parents('td').find('select').removeClass('hidden');
  59. }
  60. else
  61. {
  62. $(obj).parents('td').find('select').addClass('hidden');
  63. }
  64. }
  65. $(function()
  66. {
  67. $('.sqlForm button:submit').click(function()
  68. {
  69. $.post(createLink('report', 'ajaxCheckVar', 'reportID=' + reportID + '&type=' + type), {'sql': $('.sqlForm #sql').val()}, function(data)
  70. {
  71. if(data)
  72. {
  73. data = eval('(' + data + ')');
  74. var html = $('#setVar table tbody tr:first').html();
  75. $('#setVar table tbody').empty();
  76. for(i in data)
  77. {
  78. $('#setVar table tbody').append('<tr>' + html + '</tr>');
  79. $('#setVar table tbody tr:last td:first').find('span:first').html(data[i]);
  80. $('#setVar table tbody tr:last td:first').find('input:hidden').val(data[i]);
  81. var index = $('#setVar table tbody tr:last').index();
  82. $('#setVar table tbody tr:last td').eq(2).find('input:radio').attr('name', 'requestType[' + index + ']');
  83. }
  84. $('#setVar table #copySql').val($('#sql').val());
  85. $('#setVar').modal('show');
  86. return false;
  87. }
  88. $('.sqlForm button:submit').removeAttr('id');
  89. $('.sqlForm').submit();
  90. return true;
  91. });
  92. return false;
  93. })
  94. $('.sqlForm .addVar').click(function()
  95. {
  96. $('#addVar table #copySql').val($('#sql').val());
  97. $('#addVar').modal('show');
  98. })
  99. })