WebTM/layuiadmin/modules/tableSelect.js
@@ -23,9 +23,9 @@
        opt.searchKey = opt.searchKey || 'keyword';//可多个用,分割
        opt.table.page = opt.table.page || false;
        opt.table.height = opt.table.height || 290;
        elem.off('click').on('click', function(e) {
        elem.off('keyup').on('keyup', function(e) {
            e.stopPropagation();
            if($('div.tableSelect').length >= 1){
            if ($('div.tableSelect').length >= 1 || elem.val().length <= 2 || event.key == "F7" || event.key == "F8" || event.key == "F6") {
                return false;
            }
@@ -43,7 +43,7 @@
            //渲染TABLE
            opt.table.elem = "#"+tableName;
            opt.table.id = tableName;
            //若没有where表示为前端分页
            //若没有url表示为前端分页
            if (opt.table.url != undefined) {
                opt.table.where['sWhere'] = opt.sWhere
            } else {
@@ -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);
@@ -148,16 +153,16 @@
                            if (tr.length == 0) {
                                tableElem.find('tr:first').children('td').eq(0).click();
                            } else {
                                tr.children('td').click();
                                tr['prev']().children('td').click();
                                tr.children('td').eq(0).click();
                                tr['prev']().children('td').eq(0).click();
                            }
                            break;
                        case "ArrowDown"://下键
                            if (tr.length == 0) {
                                tr = tableElem.find('tr:first').children('td').eq(0).click();
                                tableElem.find('tr:first').children('td').eq(0).click();
                            } else {
                                tr.children('td').click();
                                tr['next']().children('td').click();
                                tr.children('td').eq(0).click();
                                tr['next']().children('td').eq(0).click();
                            }
                            break;
                        case "Enter"://回车
@@ -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(
@@ -247,7 +280,13 @@
            //按钮选中
            tableBox.find('.tableSelect_btn_select').on('click', function() {
                var checkStatus = table.checkStatus(tableName);
                selectDone(checkStatus);
                if (checkStatus.data.length > 0) {
                    selectDone(checkStatus);
                } else {
                    tableBox.remove();
                    delete table.cache[tableName];
                }
            })
            //写值回调和关闭
@@ -255,6 +294,7 @@
                opt.done(elem, checkStatus);
                tableBox.remove();
                delete table.cache[tableName];
                $(opt.elem).blur();
            }
            
            //点击其他区域关闭