You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

132 lines
3.3 KiB

1 year ago
  1. var location_url = window.location.href;
  2. var parameter_str = location_url.split('?')[1];
  3. if (parameter_str !== undefined) {
  4. parameter_str = parameter_str.split('#')[0];
  5. var $_GET = {};
  6. var parameter_arr = parameter_str.split('&');
  7. var tmp_arr;
  8. for (var i = 0, len = parameter_arr.length; i <= len - 1; i++) {
  9. tmp_arr = parameter_arr[i].split('=');
  10. $_GET[tmp_arr[0]] = decodeURIComponent(tmp_arr[1]);
  11. }
  12. window.$_GET = $_GET;
  13. } else {
  14. window.$_GET = [];
  15. }
  16. function searchSubmit(){
  17. $('#listTable').bootstrapTable('refresh');
  18. return false;
  19. }
  20. function searchClear(){
  21. $('#searchToolbar').find('input[name]').each(function() {
  22. $(this).val('');
  23. });
  24. $('#searchToolbar').find('select[name]').each(function() {
  25. $(this).find('option:first').prop("selected", 'selected');
  26. });
  27. $('#listTable').bootstrapTable('refresh');
  28. }
  29. function updateToolbar(){
  30. $('#searchToolbar').find(':input[name]').each(function() {
  31. var name = $(this).attr('name');
  32. if(typeof window.$_GET[name] != 'undefined')
  33. $(this).val(window.$_GET[name]);
  34. })
  35. }
  36. function updateQueryStr(obj){
  37. var arr = [];
  38. for (var p in obj){
  39. if (obj.hasOwnProperty(p) && typeof obj[p] != 'undefined' && obj[p] != '') {
  40. arr.push(p + "=" + encodeURIComponent(obj[p]));
  41. }
  42. }
  43. history.replaceState({}, null, '?'+arr.join("&"));
  44. }
  45. if (typeof $.fn.bootstrapTable !== "undefined") {
  46. $.fn.bootstrapTable.custom = {
  47. method: 'post',
  48. contentType: "application/x-www-form-urlencoded",
  49. sortable: true,
  50. pagination: true,
  51. sidePagination: 'server',
  52. pageNumber: 1,
  53. pageSize: 20,
  54. pageList: [10, 15, 20, 30, 50, 100],
  55. loadingFontSize: '18px',
  56. toolbar: '#searchToolbar',
  57. showColumns: true,
  58. minimumCountColumns: 2,
  59. showToggle: true,
  60. showFullscreen: true,
  61. paginationPreText: '前页',
  62. paginationNextText: '后页',
  63. showJumpTo: true,
  64. paginationLoop: false,
  65. queryParamsType: '',
  66. queryParams: function(params) {
  67. $('#searchToolbar').find(':input[name]').each(function() {
  68. params[$(this).attr('name')] = $(this).val()
  69. })
  70. updateQueryStr(params);
  71. params.offset = params.pageSize * (params.pageNumber-1);
  72. params.limit = params.pageSize;
  73. return params;
  74. },
  75. formatLoadingMessage: function(){
  76. return '';
  77. },
  78. formatShowingRows: function(t,n,r,e){
  79. return '显示第 '+t+' 到第 '+n+' 条, 总共 <b>'+r+'</b> 条';
  80. },
  81. formatRecordsPerPage: function(t){
  82. return '每页显示 '+t+' 条';
  83. },
  84. formatNoMatches: function(){
  85. return '没有找到匹配的记录';
  86. }
  87. };
  88. $.extend($.fn.bootstrapTable.defaults, $.fn.bootstrapTable.custom);
  89. }
  90. function httpGet(url, callback){
  91. $.ajax({
  92. url: url,
  93. type: 'get',
  94. dataType: 'json',
  95. success: function (res) {
  96. callback(res)
  97. },
  98. error: function () {
  99. if (typeof layer !== "undefined") {
  100. layer.closeAll();
  101. layer.msg('服务器错误');
  102. }
  103. }
  104. });
  105. }
  106. function httpPost(url, data, callback){
  107. $.ajax({
  108. url: url,
  109. type: 'post',
  110. data: data,
  111. dataType: 'json',
  112. success: function (res) {
  113. callback(res)
  114. },
  115. error: function () {
  116. if (typeof layer !== "undefined") {
  117. layer.closeAll();
  118. layer.msg('服务器错误');
  119. }
  120. }
  121. });
  122. }
  123. var isMobile = function(){
  124. if( /Android|SymbianOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini|Windows Phone|Midp/i.test(navigator.userAgent)) {
  125. return true;
  126. }
  127. return false;
  128. }