From 1929d432a9cf73c55a2eced06f7d76ecfe07df4c Mon Sep 17 00:00:00 2001 From: wtt <1985833171@qq.com> Date: 星期四, 10 四月 2025 10:00:49 +0800 Subject: [PATCH] tableSelect加载优化减少接口访问次数 --- WebTM/layuiadmin/modules/tableSelect.js | 78 +++++++-------------------------------- 1 files changed, 14 insertions(+), 64 deletions(-) diff --git a/WebTM/layuiadmin/modules/tableSelect.js b/WebTM/layuiadmin/modules/tableSelect.js index 04b4964..6d7fa06 100644 --- a/WebTM/layuiadmin/modules/tableSelect.js +++ b/WebTM/layuiadmin/modules/tableSelect.js @@ -25,6 +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 || event.key == "F7" || event.key == "F8" || event.key == "F6") { return false; } @@ -44,10 +45,15 @@ opt.table.elem = "#"+tableName; opt.table.id = tableName; //鑻ユ病鏈塽rl琛ㄧず涓哄墠绔垎椤� - if (opt.table.url != undefined) { - opt.table.where['sWhere'] = opt.sWhere - } else { - opt.table.data = opt.ajaxSelect(opt.sWhere); + //if (opt.table.url != undefined) { + // opt.table.where['sWhere'] = opt.sWhere + //} else { + // opt.table.data = opt.ajaxSelect(opt.sWhere); + //} + //璁╀竴娆″姞杞芥樉绀烘暟鎹� + //褰撳瓧绗﹂暱搴︾瓑浜�3鏃剁涓�娆″姞杞� + if (elem.val().length == 3) { + searchFirst() } opt.table.request={//璁剧疆椤靛弬鏁� pageName: 'page', // 椤电爜鐨勫弬鏁板悕绉帮紝榛樿锛歱age @@ -61,56 +67,8 @@ "data": res.data // 瑙f瀽鏁版嵁鍒楄〃 }; } - //鐢╦ump鏇夸唬鍘熸潵琛ㄦ牸pagejump鐢ㄤ簬鏇存柊鎸夐挳閫変腑鏁伴噺姝ゅ姛鑳藉彂鐜版棤鐢ㄥ垹闄� - //opt.table.done = function (res, curr, count, origin) { - // this.page.jump = jump; - //} 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); - // //鏇存柊鎸夐挳 - // updataButton(table.checkStatus(tableName).data.length) - //} - - //鏇存柊閫変腑鏁伴噺 - function updataButton (n) { - tableBox.find('.tableSelect_btn_select span').html(n==0?'':'('+n+')') - } - - //鏁扮粍鍘婚噸 - function uniqueObjArray(arr, type){ - var newArr = []; - var tArr = []; - if(arr.length == 0){ - return arr; - }else{ - if(type){ - for(var i=0;i<arr.length;i++){ - if(!tArr[arr[i][type]]){ - newArr.push(arr[i]); - tArr[arr[i][type]] = true; - } - } - return newArr; - }else{ - for(var i=0;i<arr.length;i++){ - if(!tArr[arr[i]]){ - newArr.push(arr[i]); - tArr[arr[i]] = true; - } - } - return newArr; - } - } - } //FIX浣嶇疆濡備綍涓嬮潰鏀句笉涓嬫斁涓婇潰 var overHeight = (elem.offset().top + elem.outerHeight() + tableBox.outerHeight() - $(window).scrollTop()) > $(window).height(); @@ -181,8 +139,8 @@ timeout = setTimeout(() => func.apply(context, args), wait); }; } - //鎼滅储鍑芥暟 - function search() { + //鎼滅储鍑芥暟绗竴娆″姞杞� + function searchFirst() { var searchKeyList = opt.searchKey.split(',');//鑾峰彇鏌ユ壘鐨勫叧閿瓧鎼滅储妗� //鎷兼帴sql瀛楃涓� var sWhereStr = " and (" @@ -197,17 +155,9 @@ //鍚庣鍒嗛〉鎼滅储 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) - }); + opt.table.data = opt.ajaxSelect(sWhere); } } @@ -243,7 +193,7 @@ }); } - },200)) + },500)) //鍙屽嚮琛岄�変腑 table.on('rowDouble('+tableName+')', function(obj){ -- Gitblit v1.9.1