common.js 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. /**
  2. * 通用方法封装处理
  3. * Copyright (c) 2018 ruoyi
  4. */
  5. $(function() {
  6. // select2复选框事件绑定
  7. if ($.fn.select2 !== undefined) {
  8. $("select.form-control:not(.noselect2)").each(function () {
  9. $(this).select2().on("change", function () {
  10. $(this).valid();
  11. })
  12. })
  13. }
  14. // checkbox 事件绑定
  15. if ($(".check-box").length > 0) {
  16. $(".check-box").iCheck({
  17. checkboxClass: 'icheckbox-blue',
  18. radioClass: 'iradio-blue',
  19. })
  20. }
  21. // radio 事件绑定
  22. if ($(".radio-box").length > 0) {
  23. $(".radio-box").iCheck({
  24. checkboxClass: 'icheckbox-blue',
  25. radioClass: 'iradio-blue',
  26. })
  27. }
  28. // laydate 时间控件绑定
  29. if ($(".select-time").length > 0) {
  30. layui.use('laydate', function() {
  31. var laydate = layui.laydate;
  32. var startDate = laydate.render({
  33. elem: '#startTime',
  34. max: $('#endTime').val(),
  35. theme: 'molv',
  36. trigger: 'click',
  37. done: function(value, date) {
  38. // 结束时间大于开始时间
  39. if (value !== '') {
  40. endDate.config.min.year = date.year;
  41. endDate.config.min.month = date.month - 1;
  42. endDate.config.min.date = date.date;
  43. } else {
  44. endDate.config.min.year = '';
  45. endDate.config.min.month = '';
  46. endDate.config.min.date = '';
  47. }
  48. }
  49. });
  50. var endDate = laydate.render({
  51. elem: '#endTime',
  52. min: $('#startTime').val(),
  53. theme: 'molv',
  54. trigger: 'click',
  55. done: function(value, date) {
  56. // 开始时间小于结束时间
  57. if (value !== '') {
  58. startDate.config.max.year = date.year;
  59. startDate.config.max.month = date.month - 1;
  60. startDate.config.max.date = date.date;
  61. } else {
  62. startDate.config.max.year = '';
  63. startDate.config.max.month = '';
  64. startDate.config.max.date = '';
  65. }
  66. }
  67. });
  68. });
  69. }
  70. // tree 关键字搜索绑定
  71. if ($("#keyword").length > 0) {
  72. $("#keyword").bind("focus", function focusKey(e) {
  73. if ($("#keyword").hasClass("empty")) {
  74. $("#keyword").removeClass("empty");
  75. }
  76. }).bind("blur", function blurKey(e) {
  77. if ($("#keyword").val() === "") {
  78. $("#keyword").addClass("empty");
  79. }
  80. $.tree.searchNode(e);
  81. }).bind("input propertychange", $.tree.searchNode);
  82. }
  83. // 复选框后按钮样式状态变更
  84. $("#bootstrap-table").on("check.bs.table uncheck.bs.table check-all.bs.table uncheck-all.bs.table", function () {
  85. var ids = $("#bootstrap-table").bootstrapTable("getSelections");
  86. $('#toolbar .btn-del').toggleClass('disabled', !ids.length);
  87. });
  88. });
  89. /** 创建选项卡 */
  90. function createMenuItem(dataUrl, menuName) {
  91. dataIndex = $.common.random(1,100),
  92. flag = true;
  93. if (dataUrl == undefined || $.trim(dataUrl).length == 0) return false;
  94. var topWindow = $(window.parent.document);
  95. // 选项卡菜单已存在
  96. $('.menuTab', topWindow).each(function() {
  97. if ($(this).data('id') == dataUrl) {
  98. if (!$(this).hasClass('active')) {
  99. $(this).addClass('active').siblings('.menuTab').removeClass('active');
  100. $('.page-tabs-content').animate({ marginLeft: ""}, "fast");
  101. // 显示tab对应的内容区
  102. $('.mainContent .RuoYi_iframe', topWindow).each(function() {
  103. if ($(this).data('id') == dataUrl) {
  104. $(this).show().siblings('.RuoYi_iframe').hide();
  105. return false;
  106. }
  107. });
  108. }
  109. flag = false;
  110. return false;
  111. }
  112. });
  113. // 选项卡菜单不存在
  114. if (flag) {
  115. var str = '<a href="javascript:;" class="active menuTab" data-id="' + dataUrl + '">' + menuName + ' <i class="fa fa-times-circle"></i></a>';
  116. $('.menuTab', topWindow).removeClass('active');
  117. // 添加选项卡对应的iframe
  118. var str1 = '<iframe class="RuoYi_iframe" name="iframe' + dataIndex + '" width="100%" height="100%" src="' + dataUrl + '" frameborder="0" data-id="' + dataUrl + '" seamless></iframe>';
  119. $('.mainContent', topWindow).find('iframe.RuoYi_iframe').hide().parents('.mainContent').append(str1);
  120. // 添加选项卡
  121. $('.menuTabs .page-tabs-content', topWindow).append(str);
  122. }
  123. return false;
  124. }
  125. /** 设置全局ajax超时处理 */
  126. $.ajaxSetup({
  127. complete: function(XMLHttpRequest, textStatus) {
  128. if (textStatus == "parsererror") {
  129. $.modal.confirm("登陆超时!请重新登陆!", function() {
  130. window.location.href = ctx + "login";
  131. })
  132. }
  133. }
  134. });