common.js 6.4 KB

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