ry-ui.js 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. /**
  2. * 通用方法封装处理
  3. * Copyright (c) 2018 ruoyi
  4. */
  5. $(function(){
  6. // 消息窗体
  7. $.modalMsg = function(content, type) {
  8. if (type != undefined) {
  9. var icon = "";
  10. if (type == modal_status.WARNING) {
  11. icon = 0;
  12. }
  13. else if (type == modal_status.SUCCESS) {
  14. icon = 1;
  15. }
  16. else if (type == modal_status.FAIL) {
  17. icon = 2;
  18. }
  19. layer.msg(content, { icon: icon, time: 2000, shift: 0 });
  20. $(".layui-layer-msg").find('i.' + icon).parents('.layui-layer-msg').addClass('layui-layer-msg-' + type);
  21. } else {
  22. layer.msg(content);
  23. }
  24. }
  25. // 弹出窗体
  26. $.modalAlert = function(content, type) {
  27. var icon = "";
  28. if (type == modal_status.WARNING) {
  29. icon = 0;
  30. } else if (type == modal_status.SUCCESS) {
  31. icon = 1;
  32. } else if (type == modal_status.FAIL) {
  33. icon = 2;
  34. } else {
  35. icon = 3;
  36. }
  37. layer.alert(content, {
  38. icon: icon,
  39. title: "系统提示",
  40. btn: ['确认'],
  41. btnclass: ['btn btn-primary'],
  42. });
  43. }
  44. // 确认窗体
  45. $.modalConfirm = function (content, callBack) {
  46. layer.confirm(content, {
  47. icon: 3,
  48. title: "系统提示",
  49. btn: ['确认', '取消'],
  50. btnclass: ['btn btn-primary', 'btn btn-danger'],
  51. }, function () {
  52. callBack(true);
  53. }, function () {
  54. // callBack(false)
  55. });
  56. }
  57. // 关闭窗体
  58. $.modalClose = function () {
  59. var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
  60. var $IsdialogClose = top.$("#layui-layer" + index).find('.layui-layer-btn').find("#IsdialogClose");
  61. var IsClose = $IsdialogClose.is(":checked");
  62. if ($IsdialogClose.length == 0) {
  63. IsClose = true;
  64. }
  65. if (IsClose) {
  66. parent.layer.close(index);
  67. } else {
  68. parent.location.reload();
  69. }
  70. }
  71. // 刷新父窗体
  72. $.parentReload = function () {
  73. parent.location.reload();
  74. return false;
  75. }
  76. // 初始bootstrap table数据
  77. $.initTable = function (_columns, _url) {
  78. $('.bootstrap-table').bootstrapTable({
  79. method: 'get', // 请求方式(*)
  80. dataType: "json", // 返回格式(*)
  81. url: _url, // 请求后台的URL(*)
  82. pagination: true, // 是否显示分页(*)
  83. pageSize: 10, // 每页的记录行数(*)
  84. pageNumber: 1, // 初始化加载第一页,默认第一页
  85. pageList: [10, 25, 50], // 可供选择的每页的行数(*)
  86. search: true, // 是否显示搜索框功能
  87. singleSelect: false, // 是否禁止多选
  88. iconSize: 'outline', // 图标大小:undefined默认的按钮尺寸 xs超小按钮sm小按钮lg大按钮
  89. toolbar: '#tableToolbar', // 指定工作栏
  90. sidePagination: "server", // 启用服务端分页
  91. showRefresh: true, // 是否显示刷新按钮
  92. showColumns: true, // 是否显示隐藏某列下拉框
  93. showToggle: true, // 是否显示详细视图和列表视图的切换按钮
  94. cache: false, // 是否使用缓存
  95. showExport: true, // 是否支持导出文件
  96. queryParams: function(params) {
  97. return {
  98. // 传递参数查询参数
  99. pageSize: params.limit,
  100. pageNum: params.offset / params.limit + 1,
  101. searchValue: params.search,
  102. orderByColumn: params.sort,
  103. isAsc: params.order
  104. };
  105. },
  106. columns: _columns
  107. });
  108. }
  109. // 初始bootstrap table 自定义参数
  110. $.initTableParams = function (_columns, _url, _queryParams) {
  111. $('.bootstrap-table').bootstrapTable({
  112. method: 'get', // 请求方式(*)
  113. dataType: "json", // 返回格式(*)
  114. url: _url, // 请求后台的URL(*)
  115. pagination: true, // 是否显示分页(*)
  116. pageSize: 10, // 每页的记录行数(*)
  117. pageNumber: 1, // 初始化加载第一页,默认第一页
  118. pageList: [10, 25, 50], // 可供选择的每页的行数(*)
  119. search: true, // 是否显示搜索框功能
  120. singleSelect: false, // 是否禁止多选
  121. iconSize: 'outline', // 图标大小:undefined默认的按钮尺寸 xs超小按钮sm小按钮lg大按钮
  122. toolbar: '#tableToolbar', // 指定工作栏
  123. sidePagination: "server", // 启用服务端分页
  124. showRefresh: true, // 是否显示刷新按钮
  125. showColumns: true, // 是否显示隐藏某列下拉框
  126. showToggle: true, // 是否显示详细视图和列表视图的切换按钮
  127. cache: false, // 是否使用缓存
  128. showExport: true, // 是否支持导出文件
  129. queryParams: _queryParams,
  130. columns: _columns
  131. });
  132. }
  133. //初始化表格树,并展开树
  134. $.initTreeTable = function (_id, _parentId, _columns, _url) {
  135. $.initTreeTable(_id, _parentId, _columns, _url, true);
  136. }
  137. //初始化表格树,_expandAll true展开 false 不展开
  138. $.initTreeTable = function (_id, _parentId, _columns, _url, _expandAll) {
  139. $('.bootstrap-table').bootstrapTreeTable({
  140. code : _id, // 用于设置父子关系
  141. parentCode : _parentId, // 用于设置父子关系
  142. type: 'get', // 请求方式(*)
  143. url: _url, // 请求后台的URL(*)
  144. ajaxParams : {}, // 请求数据的ajax的data属性
  145. expandColumn : '0', // 在哪一列上面显示展开按钮
  146. striped : false, // 是否各行渐变色
  147. bordered : true, // 是否显示边框
  148. expandAll : _expandAll, // 是否全部展开
  149. showRefresh: true, // 是否显示刷新按钮
  150. columns: _columns
  151. });
  152. }
  153. // 刷新bootstrap table数据
  154. $.refreshTable = function () {
  155. $('.bootstrap-table').bootstrapTable('refresh');
  156. }
  157. // 获取bootstrap table选中项
  158. $.getSelections = function (_id) {
  159. return $.map($('.bootstrap-table').bootstrapTable('getSelections'), function (row) {
  160. return row[_id];
  161. });
  162. }
  163. // 获取选中复选框项
  164. $.getCheckeds = function (_name) {
  165. var checkeds = "";
  166. $('input:checkbox[name="' + _name + '"]:checked').each(function(i) {
  167. if (0 == i) {
  168. checkeds = $(this).val();
  169. } else {
  170. checkeds += ("," + $(this).val());
  171. }
  172. });
  173. return checkeds;
  174. }
  175. // 获取选中复选框项
  176. $.getSelects = function (_name) {
  177. var selects = "";
  178. $('#' + _name + ' option:selected').each(function (i) {
  179. if (0 == i) {
  180. selects = $(this).val();
  181. } else {
  182. selects += ("," + $(this).val());
  183. }
  184. });
  185. return selects;
  186. }
  187. // 复选框事件绑定
  188. if ($.fn.select2 !== undefined) {
  189. $("select.form-control:not(.noselect2)").each(function () {
  190. $(this).select2().on("change", function () {
  191. $(this).valid();
  192. })
  193. })
  194. }
  195. });