1
zrg
2025-03-28 c2ab8999607a02b97aa2bbc38d081cfb83d20636
WebTM/layuiadmin/modules/tableSelect.js
@@ -25,7 +25,7 @@
        opt.table.height = opt.table.height || 290;
        elem.off('keyup').on('keyup', function(e) {
            e.stopPropagation();
            if ($('div.tableSelect').length >= 1 || elem.val().length<=2) {
            if ($('div.tableSelect').length >= 1 || elem.val().length <= 2 || event.key == "F7" || event.key == "F8" || event.key == "F6") {
                return false;
            }
@@ -67,7 +67,12 @@
            //}
            var tableSelect_table = table.render(opt.table);
            //让一次加载显示数据
            let executed = false;
            if (elem.val().length == 3 && !executed) {
                executed = true;
                search();
            }
            //jump分页触发函数
            //function jump(obj, first) {
            //    table.reload(tableName);
@@ -176,7 +181,35 @@
                    timeout = setTimeout(() => func.apply(context, args), wait);
                };
            }
            //搜索函数
            function search() {
                var searchKeyList = opt.searchKey.split(',');//获取查找的关键字搜索框
                //拼接sql字符串
                var sWhereStr = " and ("
                searchKeyList.forEach(function (value, index) {
                    if (index == 0) {
                        sWhereStr += (value + " like '%" + elem.val() + "%' ")
                    } else {
                        sWhereStr += ("or " + value + " like '%" + elem.val() + "%' ")
                    }
                })
                sWhereStr += ")"
                //后端分页搜索
                if (opt.table.where != undefined) {
                    opt.table.where['sWhere'] = opt.sWhere + sWhereStr;
                    tableSelect_table.reload({
                        where: opt.table.where,
                        page: {
                            curr: 1
                        }
                    });
                } else {
                    var sWhere = opt.sWhere + sWhereStr;
                    tableSelect_table.reload({
                        data: opt.ajaxSelect(sWhere)
                    });
                }
            }
            //输入框输入执行
            elem.off('input').on('input', debounce(
@@ -261,6 +294,7 @@
                opt.done(elem, checkStatus);
                tableBox.remove();
                delete table.cache[tableName];
                $(opt.elem).blur();
            }
            
            //点击其他区域关闭