czt
2025-05-30 9bc5f4d58da606c6a465e152d05a1c31b0611f74
igds-dzhwk-web/src/main/resources/static/ruoyi/js/common.js
@@ -1,6 +1,6 @@
/**
 * 通用方法封装处理
 * Copyright (c) 2019 ruoyi
 * Copyright (c) 2019 ruoyi
 */
var startLayDate;
@@ -8,7 +8,7 @@
var isScrollToTop = parent.isScrollToTop;
$(function() {
    //  layer扩展皮肤
    if (window.layer !== undefined) {
        layer.config({
@@ -16,12 +16,12 @@
            skin: 'layer-ext-moon'
        });
    }
    // 回到顶部绑定
    if ($.fn.toTop !== undefined) {
        $('#scroll-up').toTop();
    }
    // select2复选框事件绑定
    if ($.fn.select2 !== undefined) {
        $.fn.select2.defaults.set( "theme", "bootstrap" );
@@ -31,7 +31,7 @@
            })
        })
    }
    // iCheck单选框及复选框事件绑定
    if ($.fn.iCheck !== undefined) {
        $(".check-box:not(.noicheck),.radio-box:not(.noicheck)").each(function() {
@@ -41,17 +41,17 @@
            })
        })
    }
    // 取消回车自动提交表单
    $(document).on("keypress", ":input:not(textarea):not([type=submit])", function(event) {
        if (event.keyCode == 13) {
            event.preventDefault();
        }
    });
    // laydate 时间控件绑定
    if ($(".select-time").length > 0) {
       layui.use('laydate', function() {
        layui.use('laydate', function() {
            var laydate = layui.laydate;
            startLayDate = laydate.render({
                elem: '#startTime',
@@ -94,7 +94,7 @@
            });
        });
    }
    // laydate time-input 时间控件绑定
    if ($(".time-input").length > 0) {
        layui.use('laydate', function () {
@@ -142,7 +142,7 @@
            });
        });
    }
    // tree 关键字搜索绑定
    if ($("#keyword").length > 0) {
        $("#keyword").bind("focus", function focusKey(e) {
@@ -156,7 +156,7 @@
            $.tree.searchNode(e);
        }).bind("input propertychange", $.tree.searchNode);
    }
    // tree表格树 展开/折叠
    var expandFlag;
    $("#expandAllBtn").click(function() {
@@ -169,7 +169,7 @@
        }
        expandFlag = expandFlag ? false: true;
    })
    // 按下ESC按钮关闭弹层
    $('body', document).on('keyup', function(e) {
        if (e.which === 27) {
@@ -232,33 +232,38 @@
/** 关闭选项卡 */
var closeItem = function(dataId){
   var topWindow = $(window.parent.document);
   if ($.common.isNotEmpty(dataId)) {
       window.parent.$.modal.closeLoading();
       // 根据dataId关闭指定选项卡
       $('.menuTab[data-id="' + dataId + '"]', topWindow).remove();
       // 移除相应tab对应的内容区
       $('.mainContent .RuoYi_iframe[data-id="' + dataId + '"]', topWindow).remove();
       return;
   }
   var panelUrl = window.frameElement.getAttribute('data-panel');
   $('.page-tabs-content .active i', topWindow).click();
   if ($.common.isNotEmpty(panelUrl)) {
       $('.menuTab[data-id="' + panelUrl + '"]', topWindow).addClass('active').siblings('.menuTab').removeClass('active');
       $('.mainContent .RuoYi_iframe', topWindow).each(function() {
           if ($(this).data('id') == panelUrl) {
               openToCurrentTab(this);
               return false;
    var topWindow = $(window.parent.document);
    if ($.common.isNotEmpty(dataId)) {
        window.parent.$.modal.closeLoading();
        // 根据dataId关闭指定选项卡
        $('.menuTab[data-id="' + dataId + '"]', topWindow).remove();
        // 移除相应tab对应的内容区
        $('.mainContent .RuoYi_iframe[data-id="' + dataId + '"]', topWindow).remove();
        return;
    }
    var panelUrl = window.frameElement.getAttribute('data-panel');
    $('.page-tabs-content .active i', topWindow).click();
    if ($.common.isNotEmpty(panelUrl)) {
        $('.menuTab[data-id="' + panelUrl + '"]', topWindow).addClass('active').siblings('.menuTab').removeClass('active');
        $('.mainContent .RuoYi_iframe', topWindow).each(function() {
            if ($(this).data('id') == panelUrl) {
                openToCurrentTab(this);
                return false;
            }
        });
    }
}
/** 创建选项卡 */
function createMenuItem(dataUrl, menuName, isRefresh) {
    var panelUrl = window.frameElement.getAttribute('data-id'),
    dataIndex = $.common.random(1, 100),
    flag = true;
function createMenuItem(dataUrl, menuName, isRefresh, panelId) {
    var panelUrl = null;
    if(panelId){
        panelUrl = panelId;
    }else {
        panelUrl = window.frameElement.getAttribute('data-id');
    }
    var dataIndex = $.common.random(1, 100),
        flag = true;
    if (dataUrl == undefined || $.trim(dataUrl).length == 0) return false;
    var topWindow = $(window.parent.document);
    // 选项卡菜单已存在
@@ -295,7 +300,7 @@
        } else {
            $('.mainContent', topWindow).find('iframe.RuoYi_iframe').css({"visibility": "hidden", "position": "absolute"}).parents('.mainContent').append(str1);
        }
        window.parent.$.modal.loading("数据加载中,请稍候...");
        $('.mainContent iframe:visible', topWindow).on('load', function() {
            window.parent.$.modal.closeLoading();
@@ -310,18 +315,18 @@
// 刷新iframe
function refreshTab() {
   var topWindow = $(window.parent.document);
   var currentId = $('.page-tabs-content', topWindow).find('.active').attr('data-id');
   var target = $('.RuoYi_iframe[data-id="' + currentId + '"]', topWindow);
    var topWindow = $(window.parent.document);
    var currentId = $('.page-tabs-content', topWindow).find('.active').attr('data-id');
    var target = $('.RuoYi_iframe[data-id="' + currentId + '"]', topWindow);
    var url = target.attr('src');
   target.attr('src', url).ready();
    target.attr('src', url).ready();
}
// 滚动到指定选项卡
function scrollToTab(element) {
    var topWindow = $(window.parent.document);
    var marginLeftVal = calSumWidth($(element).prevAll()),
    marginRightVal = calSumWidth($(element).nextAll());
        marginRightVal = calSumWidth($(element).nextAll());
    // 可视区域非tab宽度
    var tabOuterWidth = calSumWidth($(".content-tabs", topWindow).children().not(".menuTabs"));
    //可视区域tab宽度
@@ -356,11 +361,11 @@
// 返回当前激活的Tab页面关联的iframe的Windows对象
function activeWindow() {
   var topWindow = $(window.parent.document);
   var currentId = $('.page-tabs-content', topWindow).find('.active').attr('data-id');
   if (!currentId) {
      return window.parent;
   }
    var topWindow = $(window.parent.document);
    var currentId = $('.page-tabs-content', topWindow).find('.active').attr('data-id');
    if (!currentId) {
        return window.parent;
    }
    return $('.RuoYi_iframe[data-id="' + currentId + '"]', topWindow)[0].contentWindow;
}
@@ -414,14 +419,14 @@
/** 重置日期/年月日 */
function resetDate() {
   if ($.common.isNotEmpty(startLayDate) && $.common.isNotEmpty(endLayDate)) {
       endLayDate.config.min.year = '';
       endLayDate.config.min.month = '';
       endLayDate.config.min.date = '';
       startLayDate.config.max.year = '2099';
       startLayDate.config.max.month = '12';
       startLayDate.config.max.date = '31';
   }
    if ($.common.isNotEmpty(startLayDate) && $.common.isNotEmpty(endLayDate)) {
        endLayDate.config.min.year = '';
        endLayDate.config.min.month = '';
        endLayDate.config.min.date = '';
        startLayDate.config.max.year = '2099';
        startLayDate.config.max.month = '12';
        startLayDate.config.max.date = '31';
    }
}
// 日志打印封装处理
@@ -459,47 +464,47 @@
// 主子表操作封装处理
var sub = {
    editRow: function() {
       var dataColumns = [];
      for (var columnIndex = 0; columnIndex < table.options.columns.length; columnIndex++) {
          if (table.options.columns[columnIndex].visible != false) {
             dataColumns.push(table.options.columns[columnIndex]);
          }
       }
      var params = new Array();
      var data = $("#" + table.options.id).bootstrapTable('getData');
       var count = data.length;
       for (var dataIndex = 0; dataIndex < count; dataIndex++) {
           var columns = $('#' + table.options.id + ' tr[data-index="' + dataIndex + '"] td:visible');
           var obj = new Object();
           for (var i = 0; i < columns.length; i++) {
               var inputValue = $(columns[i]).find('input');
               var selectValue = $(columns[i]).find('select');
               var textareaValue = $(columns[i]).find('textarea');
               var key = dataColumns[i].field;
               if ($.common.isNotEmpty(inputValue.val())) {
                   obj[key] = inputValue.val();
               } else if ($.common.isNotEmpty(selectValue.val())) {
                   obj[key] = selectValue.val();
               } else if ($.common.isNotEmpty(textareaValue.val())) {
                   obj[key] = textareaValue.val();
               } else {
                   if (key == "index" && $.common.isNotEmpty(data[dataIndex].index)) {
                       obj[key] = data[dataIndex].index;
                   } else {
                       obj[key] = "";
                   }
               }
           }
           var item = data[dataIndex];
           var extendObj = $.extend({}, item, obj);
           params.push({ index: dataIndex, row: extendObj });
       }
       $("#" + table.options.id).bootstrapTable("updateRow", params);
        var dataColumns = [];
        for (var columnIndex = 0; columnIndex < table.options.columns.length; columnIndex++) {
            if (table.options.columns[columnIndex].visible != false) {
                dataColumns.push(table.options.columns[columnIndex]);
            }
        }
        var params = new Array();
        var data = $("#" + table.options.id).bootstrapTable('getData');
        var count = data.length;
        for (var dataIndex = 0; dataIndex < count; dataIndex++) {
            var columns = $('#' + table.options.id + ' tr[data-index="' + dataIndex + '"] td:visible');
            var obj = new Object();
            for (var i = 0; i < columns.length; i++) {
                var inputValue = $(columns[i]).find('input');
                var selectValue = $(columns[i]).find('select');
                var textareaValue = $(columns[i]).find('textarea');
                var key = dataColumns[i].field;
                if ($.common.isNotEmpty(inputValue.val())) {
                    obj[key] = inputValue.val();
                } else if ($.common.isNotEmpty(selectValue.val())) {
                    obj[key] = selectValue.val();
                } else if ($.common.isNotEmpty(textareaValue.val())) {
                    obj[key] = textareaValue.val();
                } else {
                    if (key == "index" && $.common.isNotEmpty(data[dataIndex].index)) {
                        obj[key] = data[dataIndex].index;
                    } else {
                        obj[key] = "";
                    }
                }
            }
            var item = data[dataIndex];
            var extendObj = $.extend({}, item, obj);
            params.push({ index: dataIndex, row: extendObj });
        }
        $("#" + table.options.id).bootstrapTable("updateRow", params);
    },
    delRow: function(column) {
       sub.editRow();
       var subColumn = $.common.isEmpty(column) ? "index" : column;
       var ids = $.table.selectColumns(subColumn);
        sub.editRow();
        var subColumn = $.common.isEmpty(column) ? "index" : column;
        var ids = $.table.selectColumns(subColumn);
        if (ids.length == 0) {
            $.modal.alertWarning("请至少选择一条记录");
            return;
@@ -507,17 +512,17 @@
        $("#" + table.options.id).bootstrapTable('remove', { field: subColumn, values: ids });
    },
    delRowByIndex: function(value, tableId) {
       var currentId = $.common.isEmpty(tableId) ? table.options.id : tableId;
       sub.editRow();
        var currentId = $.common.isEmpty(tableId) ? table.options.id : tableId;
        sub.editRow();
        $("#" + currentId).bootstrapTable('remove', { field: "index", values: [value] });
        sub.editRow();
    },
    addRow: function(row, tableId) {
       var currentId = $.common.isEmpty(tableId) ? table.options.id : tableId;
       table.set(currentId);
       var count = $("#" + currentId).bootstrapTable('getData').length;
       sub.editRow();
       $("#" + currentId).bootstrapTable('insertRow', { index: count + 1, row: row });
        var currentId = $.common.isEmpty(tableId) ? table.options.id : tableId;
        table.set(currentId);
        var count = $("#" + currentId).bootstrapTable('getData').length;
        sub.editRow();
        $("#" + currentId).bootstrapTable('insertRow', { index: count + 1, row: row });
    }
};
@@ -542,40 +547,40 @@
// 禁止后退键(Backspace)
window.onload = function() {
   document.getElementsByTagName("body")[0].onkeydown = function() {
      // 获取事件对象
      var elem = event.relatedTarget || event.srcElement || event.target || event.currentTarget;
      // 判断按键为backSpace键
      if (event.keyCode == 8) {
         // 判断是否需要阻止按下键盘的事件默认传递
         var name = elem.nodeName;
         var className = elem.className;
         // 屏蔽特定的样式名称
         if (className.indexOf('note-editable') != -1)
         {
            return true;
         }
         if (name != 'INPUT' && name != 'TEXTAREA') {
            return _stopIt(event);
         }
         var type_e = elem.type.toUpperCase();
         if (name == 'INPUT' && (type_e != 'TEXT' && type_e != 'TEXTAREA' && type_e != 'PASSWORD' && type_e != 'FILE' && type_e != 'SEARCH' && type_e != 'NUMBER' && type_e != 'EMAIL' && type_e != 'URL')) {
            return _stopIt(event);
         }
         if (name == 'INPUT' && (elem.readOnly == true || elem.disabled == true)) {
            return _stopIt(event);
         }
      }
   };
    document.getElementsByTagName("body")[0].onkeydown = function() {
        // 获取事件对象
        var elem = event.relatedTarget || event.srcElement || event.target || event.currentTarget;
        // 判断按键为backSpace键
        if (event.keyCode == 8) {
            // 判断是否需要阻止按下键盘的事件默认传递
            var name = elem.nodeName;
            var className = elem.className;
            // 屏蔽特定的样式名称
            if (className.indexOf('note-editable') != -1)
            {
                return true;
            }
            if (name != 'INPUT' && name != 'TEXTAREA') {
                return _stopIt(event);
            }
            var type_e = elem.type.toUpperCase();
            if (name == 'INPUT' && (type_e != 'TEXT' && type_e != 'TEXTAREA' && type_e != 'PASSWORD' && type_e != 'FILE' && type_e != 'SEARCH' && type_e != 'NUMBER' && type_e != 'EMAIL' && type_e != 'URL')) {
                return _stopIt(event);
            }
            if (name == 'INPUT' && (elem.readOnly == true || elem.disabled == true)) {
                return _stopIt(event);
            }
        }
    };
};
function _stopIt(e) {
   if (e.returnValue) {
      e.returnValue = false;
   }
   if (e.preventDefault) {
      e.preventDefault();
   }
   return false;
    if (e.returnValue) {
        e.returnValue = false;
    }
    if (e.preventDefault) {
        e.preventDefault();
    }
    return false;
}
/** 设置全局ajax处理 */