common.js 5.9 KB

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