tips.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289
  1. var tips = {
  2. subStr:function(str,len){
  3. if(!len){
  4. len=10;
  5. }
  6. if (str.length>len) {
  7. return str.substring(0,len)+"...";
  8. }
  9. return str;
  10. },
  11. demo: function () {
  12. var nav = $(window.parent.document).find('.J_menuTabs .page-tabs-content ');
  13. $(window.parent.document).find('.J_menuTabs .page-tabs-content ').find(".J_menuTab.active").removeClass("active");
  14. $(window.parent.document).find('.J_mainContent').find("iframe").css("display", "none");
  15. var iframe = '<iframe class="J_iframe" name="iframe10000" width="100%" height="100%" src="' + url + '" frameborder="0" data-id="' + url
  16. + '" seamless="" style="display: inline;"></iframe>';
  17. $(window.parent.document).find('.J_menuTabs .page-tabs-content ').append(
  18. ' <a href="javascript:;" class="J_menuTab active" data-id="' + url + '">' + title + ' <i class="fa fa-times-circle"></i></a>');
  19. $(window.parent.document).find('.J_mainContent').append(iframe);
  20. },
  21. page: function (url, title) {
  22. var wpd = $(window.parent.document);
  23. var mainContent = wpd.find('.J_mainContent');
  24. var thisIframe = mainContent.find("iframe[data-id='" + url + "']");
  25. var pageTabs = wpd.find('.J_menuTabs .page-tabs-content ');
  26. pageTabs.find(".J_menuTab.active").removeClass("active");
  27. mainContent.find("iframe").css("display", "none");
  28. if (thisIframe.length > 0) { // 选项卡已打开
  29. thisIframe.css("display", "inline");
  30. pageTabs.find(".J_menuTab[data-id='" + url + "']").addClass("active");
  31. } else {
  32. var menuItem = wpd.find("a.J_menuItem[href='" + url + "']");
  33. var dataIndex = title == undefined ? menuItem.attr("data-index") : '9999';
  34. var _title = title == undefined ? menuItem.find('.nav-label').text() : title;
  35. var iframe = '<iframe class="J_iframe" name="iframe' + dataIndex + '" width="100%" height="100%" src="' + url + '" frameborder="0" data-id="' + url
  36. + '" seamless="" style="display: inline;"></iframe>';
  37. pageTabs.append(
  38. ' <a href="javascript:;" class="J_menuTab active" data-id="' + url + '">' + _title + ' <i class="fa fa-times-circle"></i></a>');
  39. mainContent.append(iframe);
  40. //显示loading提示
  41. var loading = parent.layer.load();
  42. mainContent.find('iframe:visible').load(function () {
  43. //iframe加载完成后隐藏loading提示
  44. parent.layer.close(loading);
  45. });
  46. }
  47. },
  48. getFormValues: function (formId) {
  49. var data = {};
  50. var formVal = $(formId).serializeArray();
  51. var temp = {};
  52. $.each(formVal, function (inx, val) {
  53. temp[val.name] = val.value;
  54. $.extend(data, temp);
  55. });
  56. return data;
  57. }
  58. ,
  59. ajax: function (config) {
  60. var loadIndex;
  61. if (!config.hasOwnProperty('type')) {
  62. config.type = 'get';
  63. }
  64. if (!config.hasOwnProperty('url')) {
  65. config.url = '';
  66. }
  67. if (!config.hasOwnProperty('data')) {
  68. config.data = {};
  69. }
  70. if (!config.hasOwnProperty('success')) {
  71. config.success = function (result) {
  72. layer.msg(result.message, {icon: 6, time: 1500}, function () {
  73. if (config.hasOwnProperty('tableRefresh')) {
  74. tips.tableRefresh(config.tableRefresh);
  75. }
  76. });
  77. };
  78. }
  79. $.ajax({
  80. type: config.type,
  81. url: config.url,
  82. data: config.data,
  83. beforeSend: function () {
  84. loadIndex = layer.load();
  85. },
  86. complete: function () {
  87. layer.close(loadIndex);
  88. },
  89. success: config.success,
  90. error: function (XMLHttpRequest) {
  91. if (XMLHttpRequest.status === 500) {
  92. layer.alert("异步请求失败", {icon: 5});
  93. return;
  94. }
  95. if (XMLHttpRequest.status === 422 && typeof config.p !== 'undefined') {
  96. config.p();
  97. }
  98. layer.alert(JSON.parse(XMLHttpRequest.responseText).message, {icon: 0});
  99. }
  100. });
  101. }
  102. ,
  103. bootstrapTable: function (config) {
  104. if (typeof config !== 'object') {
  105. layer.alert("参数必须为js对象", {icon: 5});
  106. return;
  107. }
  108. if (!config.hasOwnProperty('url')) {
  109. config.url = '';
  110. }
  111. if (!config.hasOwnProperty('picker')) {
  112. config.picker = '#table';
  113. }
  114. if (!config.hasOwnProperty('columns')) {
  115. config.columns = [];
  116. }
  117. if (!config.hasOwnProperty('queryParams')) {
  118. config.queryParams = function (params) {
  119. if (config.hasOwnProperty('otherParams')) {
  120. $.extend(params, config.otherParams);
  121. }
  122. params.page = params.pageNumber;
  123. params.size = params.pageSize;
  124. var formValues = tips.getFormValues("#searchForm");
  125. // $.each(formValues, function (inx, val) {
  126. // if (val.length > 0) {
  127. // params.page = 1;
  128. // }
  129. // });
  130. $.extend(params, formValues);
  131. return params;
  132. }
  133. }
  134. if (!config.hasOwnProperty('pageSize')) {
  135. config.pageSize = 10;
  136. }
  137. if (!config.hasOwnProperty('showColumns')) {
  138. config.showColumns = false;
  139. }
  140. if (!config.hasOwnProperty('paginationDetailHAlign')) {
  141. config.paginationDetailHAlign = 'left';
  142. }
  143. if (!config.hasOwnProperty('onLoadSuccess')) {
  144. config.onLoadSuccess = function (data) {
  145. };
  146. }
  147. if (!config.hasOwnProperty('onLoadError')) {
  148. config.onLoadError = function (status, jqXHR) {
  149. $(".no-records-found td").text('数据接口请求异常');
  150. };
  151. }
  152. $(config.picker).bootstrapTable({
  153. classes: 'table,table-hover,table-borderless', //bootstrap的表格样式
  154. sidePagination: 'server', //获取数据方式【从服务器获取数据】
  155. url: config.url,//ajax链接
  156. pagination: true, //分页
  157. pageNumber: 1, //页码【第X页】
  158. pageSize: config.pageSize, //每页显示多少条数据
  159. sortName: 'id', //排序字段
  160. sortOrder: 'DESC',//排序方式
  161. queryParamsType: '', // limit
  162. striped: true,
  163. queryParams: config.queryParams,
  164. columns: config.columns,
  165. onLoadSuccess: config.onLoadSuccess,
  166. onLoadError: config.onLoadError,
  167. showColumns: config.showColumns,
  168. paginationDetailHAlign: config.paginationDetailHAlign,
  169. pageList:[10,25,50,100,500]
  170. });
  171. $(config.picker).bootstrapTable1({
  172. classes: 'table,table-hover,table-borderless', //bootstrap的表格样式
  173. sidePagination: 'server', //获取数据方式【从服务器获取数据】
  174. url: config.url,//ajax链接
  175. pagination: true, //分页
  176. pageNumber: 1, //页码【第X页】
  177. pageSize: config.pageSize, //每页显示多少条数据
  178. sortName: 'id', //排序字段
  179. sortOrder: 'DESC',//排序方式
  180. queryParamsType: '', // limit
  181. striped: true,
  182. queryParams: config.queryParams,
  183. columns: config.columns,
  184. onLoadSuccess: config.onLoadSuccess,
  185. onLoadError: config.onLoadError,
  186. showColumns: config.showColumns,
  187. paginationDetailHAlign: config.paginationDetailHAlign,
  188. pageList:[10,25,50,100,500]
  189. });
  190. }
  191. ,
  192. selectPage: function (picker) {
  193. if (picker === undefined) {
  194. picker = '#table';
  195. }
  196. $(picker).bootstrapTable('refresh',{pageNumber: 1})
  197. }
  198. ,
  199. tableRefresh: function (picker) {
  200. if (picker === undefined) {
  201. picker = '#table';
  202. }
  203. $(picker).bootstrapTable('refresh');
  204. }
  205. ,
  206. closeParentLayer: function () {
  207. var index = parent.layer.getFrameIndex(window.name); //获取窗口索引
  208. parent.layer.close(index);
  209. }
  210. ,
  211. fileUpload: function (_this, config) {
  212. if (!$(_this)[0].files[0]) {
  213. return;
  214. }
  215. var formData = new FormData();
  216. formData.append('file', $(_this)[0].files[0]);
  217. if (config.hasOwnProperty('formData')) {
  218. $.each(config.formData, function (inx, val) {
  219. formData.append(val.key, val.val);
  220. });
  221. }
  222. if (!config.hasOwnProperty('url')) {
  223. config.url = '/admin/project/process/file-upload';
  224. }
  225. if (!config.hasOwnProperty('success')) {
  226. config.success = function (result) {
  227. layer.msg(result.message, {icon: 6, time: 1500});
  228. }
  229. }
  230. var ln;
  231. $.ajax({
  232. url: config.url,
  233. type: 'POST',
  234. cache: false,
  235. data: formData,
  236. processData: false,
  237. contentType: false,
  238. beforeSend: function () {
  239. ln = layer.load();
  240. },
  241. complete: function () {
  242. layer.close(ln);
  243. },
  244. success: config.success,
  245. error: function (XMLHttpRequest) {
  246. if (XMLHttpRequest.status === 500) {
  247. layer.alert("异步请求失败", {icon: 5});
  248. return;
  249. }
  250. layer.alert(JSON.parse(XMLHttpRequest.responseText).message, {icon: 0});
  251. }
  252. });
  253. }
  254. }
  255. ;