common.js 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. //js点击添加html
  2. // var is_pc = $(".is_pc").html();
  3. var is_not_set=$(".is_not_set").html();
  4. //js添加html
  5. var table = document.getElementById("table");
  6. if (table!==null&&table!==undefined)
  7. {
  8. var rows = table.rows.length;
  9. if(rows>0){
  10. var num = table.rows[0].cells.length;
  11. if(num>3){
  12. var html = '<div class="title-menu none"> ' + '<div class="title-content">'+ ' </div>' +
  13. '<div class="save-box" id="save-box"><button class="cancel btn">重置</button> <button class="save btn">保存</button></div>'
  14. +' </div>';
  15. $("body").append(html);
  16. for (i=0;i<num;i++) {
  17. var value = table.rows[0].cells[i].innerHTML;
  18. var valueclass = table.rows[0].cells[i].getAttribute("class");
  19. // alert(valueclass);
  20. var len=strlen(value);
  21. var btn_font="btn-font-"+len;
  22. if (len>10) btn_font="btn-font-10";
  23. // alert(btn_font);
  24. $(".title-content").append('<button id="'+valueclass+'" class="btn checked '+valueclass+' '+btn_font+' ">'+value+'</button>');
  25. }
  26. var yu= num%4;
  27. if (yu>0) {
  28. for (x=0;x<yu;x++)$(".title-content").append('<button class="btn visibility-hidden"></button>');
  29. }
  30. }
  31. }
  32. }else {
  33. is_not_set="1";
  34. }
  35. //选择选项
  36. $(".title-content .btn").click(function () {
  37. if($(this).hasClass("checked")){
  38. $(this).removeClass("checked");
  39. }else {
  40. $(this).addClass("checked");
  41. }
  42. // alert($(this).attr("class"));
  43. });
  44. //点击重置
  45. $(".cancel").click(function () {
  46. $(".title-content .btn").each(function (i, o) {
  47. if(!$(o).hasClass("checked")){
  48. $(o).addClass("checked");
  49. }
  50. });
  51. var columnValueStr= ColumnSave();
  52. $(".condition-box").removeClass("none");
  53. $(".title-menu").addClass("none");
  54. alert(columnValueStr);
  55. });
  56. function JumpColumn() {
  57. if (is_not_set==="1")
  58. {
  59. alert("当前界面无法设置");
  60. }
  61. $(".condition-box").addClass("none");
  62. $(".title-menu").removeClass("none");
  63. return;
  64. }
  65. function SetColumn(columns) {
  66. if (columns!==null&&columns!==undefined)
  67. {
  68. ColumnSave(columns.split(","));
  69. }
  70. return columns;
  71. }
  72. function ColumnSave(columns){
  73. var colspans = [];
  74. var columnValues=[];
  75. $(".title-content .btn").each(function (i, o) {
  76. var columnValue=$(o).html();
  77. if (columns!==null&&columns!==undefined)
  78. {
  79. if (columns.indexOf(columnValue)!==-1)
  80. {
  81. $(o).removeClass("checked");
  82. }
  83. }
  84. var valueclass = $(o).attr("class");
  85. var useclass = valueclass.split(" ");
  86. var is_checked=$(o).hasClass("checked");
  87. for(i=0;i<useclass.length;i++)
  88. {
  89. if (useclass[i].indexOf("reportFormTableColumn_")==0)
  90. {
  91. if (is_checked)
  92. {
  93. $(".condition-box ." + useclass[i] + " ").removeClass("none");
  94. }else
  95. {
  96. $( ".condition-box ."+ useclass[i] + " ").addClass("none");
  97. columnValues.push(columnValue);
  98. }
  99. }else if (useclass[i].indexOf("reportFormTableColumnMany_") == 0) {
  100. var useManyclass = useclass[i].split("@");
  101. if (useManyclass.length > 1) {
  102. if (!colspans.hasOwnProperty(useManyclass[0])) {
  103. colspans[useManyclass[0]] = 0;
  104. }
  105. if (is_checked)
  106. {
  107. var colspan=parseInt(useManyclass[1]);
  108. colspans[useManyclass[0]] =colspans[useManyclass[0]]+colspan;
  109. }
  110. }
  111. }
  112. }
  113. });
  114. for( var key in colspans){
  115. // alert(key+"=>"+colspans[key]);
  116. if (colspans[key]==0)
  117. {
  118. $( ".condition-box ."+key+" ").addClass("none");
  119. }else {
  120. $( ".condition-box ."+key+" ").attr("colspan",colspans[key]);
  121. $( ".condition-box ."+key+" ").removeClass("none");
  122. }
  123. }
  124. return "ColumnSave@"+columnValues.join(',');
  125. }
  126. //点击保存显示
  127. $(".save").click(function () {
  128. //判断button里面哪个含有checked;
  129. var columnValueStr=ColumnSave();
  130. $(".condition-box").removeClass("none");
  131. $(".title-menu").addClass("none");
  132. alert(columnValueStr);
  133. });
  134. //长按事件
  135. $.fn.longPress = function(fn) {
  136. var timeout = undefined;
  137. var $this = this;
  138. for(var i = 0; i < $this.length; i++) {
  139. (function(target) {
  140. var timeout;
  141. target.addEventListener('touchstart', function(event) {
  142. timeout = setTimeout(function() {
  143. //fn.apply(target);
  144. fn(event);
  145. }, 500);
  146. }, false);
  147. target.addEventListener('touchend', function(event) {
  148. clearTimeout(timeout);
  149. }, false);
  150. })($this[i]);
  151. }
  152. };
  153. //长按
  154. $("#condition,#title").longPress(function(e){
  155. JumpColumn();
  156. });
  157. //双击头部显示
  158. $("#condition,#title").dblclick(function () {
  159. JumpColumn();
  160. });
  161. //获取中文 长度
  162. function strlen(str){
  163. var len = 0;
  164. for (var i=0; i<str.length; i++) {
  165. var c = str.charCodeAt(i);
  166. //单字节加1
  167. if ((c >= 0x0001 && c <= 0x007e) || (0xff60<=c && c<=0xff9f)) {
  168. len+=0.5;
  169. }else {
  170. len++;
  171. }
  172. }
  173. if (len>parseInt(len))
  174. {
  175. len++;
  176. }
  177. return len;
  178. }