From 3073495378f5702355e507d5c91ea241086df901 Mon Sep 17 00:00:00 2001 From: wtt <1985833171@qq.com> Date: 星期六, 18 一月 2025 10:33:28 +0800 Subject: [PATCH] tableSelect组件更新,添加分页与部分也两种模式,删除无用功能 --- WebTM/layuiadmin/modules/tableSelect.js | 163 +++++++++++------------------------------------------ 1 files changed, 35 insertions(+), 128 deletions(-) diff --git a/WebTM/layuiadmin/modules/tableSelect.js b/WebTM/layuiadmin/modules/tableSelect.js index dce9fa1..d0a2659 100644 --- a/WebTM/layuiadmin/modules/tableSelect.js +++ b/WebTM/layuiadmin/modules/tableSelect.js @@ -10,7 +10,7 @@ table = layui.table, form = layui.form; var tableSelect = function () { - this.v = '1.2.0'; + this.v = '1.3.0'; }; /** @@ -21,7 +21,6 @@ //榛樿璁剧疆 opt.searchKey = opt.searchKey || 'keyword'; - opt.checkedKey = opt.checkedKey; opt.table.page = opt.table.page || false; opt.table.height = opt.table.height || 290; elem.off('click').on('click', function(e) { @@ -41,12 +40,15 @@ tableBox += '</div>'; tableBox = $(tableBox); $('body').append(tableBox); - //鏁版嵁缂撳瓨 - var checkedData = []; //娓叉煋TABLE opt.table.elem = "#"+tableName; opt.table.id = tableName; - opt.table.where['sWhere'] = opt.sWhere + //鑻ユ病鏈墂here琛ㄧず涓哄墠绔垎椤� + if (opt.table.url != undefined) { + opt.table.where['sWhere'] = opt.sWhere + } else { + opt.table.data = opt.ajaxSelect(opt.sWhere); + } opt.table.request={//璁剧疆椤靛弬鏁� pageName: 'page', // 椤电爜鐨勫弬鏁板悕绉帮紝榛樿锛歱age limitName: 'size' // 姣忛〉鏁版嵁鏉℃暟鐨勫弬鏁板悕锛岄粯璁わ細limit @@ -59,97 +61,19 @@ "data": res.data // 瑙f瀽鏁版嵁鍒楄〃 }; } - opt.table.done = function(res, curr, count){ - defaultChecked(res, curr, count); - setChecked(res, curr, count); - }; + //鐢╦ump鏇夸唬鍘熸潵琛ㄦ牸pagejump鐢ㄤ簬鏇存柊鎸夐挳閫変腑鏁伴噺姝ゅ姛鑳藉彂鐜版棤鐢ㄥ垹闄� + //opt.table.done = function (res, curr, count, origin) { + // this.page.jump = jump; + //} + var tableSelect_table = table.render(opt.table); - //鍒嗛〉閫変腑淇濆瓨鏁扮粍 - table.on('radio('+tableName+')', function(obj){ - if(opt.checkedKey){ - checkedData = table.checkStatus(tableName).data - } - updataButton(table.checkStatus(tableName).data.length) - }) - table.on('checkbox(' + tableName + ')', function (obj) { - if(opt.checkedKey){ - if(obj.checked){ - for (var i=0;i<table.checkStatus(tableName).data.length;i++){ - checkedData.push(table.checkStatus(tableName).data[i]) - } - }else{ - if(obj.type=='all'){ - for (var j=0;j<table.cache[tableName].length;j++) { - for (var i=0;i<checkedData.length;i++){ - if(checkedData[i][opt.checkedKey] == table.cache[tableName][j][opt.checkedKey]){ - checkedData.splice(i,1) - } - } - } - }else{ - //鍥犱负LAYUI闂锛屾搷浣滃埌鍙樺寲鍏ㄩ�夌姸鎬佹椂鑾峰彇鍒扮殑obj涓虹┖锛岃繖閲岀敤鍑芥暟鑾峰彇鏈�変腑鐨勯」銆� - function nu (){ - var noCheckedKey = ''; - for (var i=0;i<table.cache[tableName].length;i++){ - if(!table.cache[tableName][i].LAY_CHECKED){ - noCheckedKey = table.cache[tableName][i][opt.checkedKey]; - } - } - return noCheckedKey - } - var noCheckedKey = obj.data[opt.checkedKey] || nu(); - for (var i=0;i<checkedData.length;i++){ - if(checkedData[i][opt.checkedKey] == noCheckedKey){ - checkedData.splice(i,1); - } - } - } - } - checkedData = uniqueObjArray(checkedData, opt.checkedKey); - updataButton(checkedData.length) - }else{ - updataButton(table.checkStatus(tableName).data.length) - } - }); - - //娓叉煋琛ㄦ牸鍚庨�変腑 - function setChecked (res, curr, count) { - for(var i=0;i<res.data.length;i++){ - for (var j=0;j<checkedData.length;j++) { - if(res.data[i][opt.checkedKey] == checkedData[j][opt.checkedKey]){ - res.data[i].LAY_CHECKED = true; - var index= res.data[i]['LAY_TABLE_INDEX']; - var checkbox = $('#'+tableName+'').next().find('tr[data-index=' + index + '] input[type="checkbox"]'); - checkbox.prop('checked', true).next().addClass('layui-form-checked'); - var radio = $('#'+tableName+'').next().find('tr[data-index=' + index + '] input[type="radio"]'); - radio.prop('checked', true).next().addClass('layui-form-radioed').find("i").html(''); - radio.closest('tr').addClass('layui-table-click'); - } - } - } - var checkStatus = table.checkStatus(tableName); - if(checkStatus.isAll){ - $('#'+tableName+'').next().find('.layui-table-header th[data-field="0"] input[type="checkbox"]').prop('checked', true); - $('#'+tableName+'').next().find('.layui-table-header th[data-field="0"] input[type="checkbox"]').next().addClass('layui-form-checked'); - } - updataButton(checkedData.length) - } - - //鍐欏叆榛樿閫変腑鍊�(puash checkedData) - function defaultChecked (res, curr, count){ - if(opt.checkedKey && elem.attr('ts-selected')){ - var selected = elem.attr('ts-selected').split(","); - for(var i=0;i<res.data.length;i++){ - for(var j=0;j<selected.length;j++){ - if(res.data[i][opt.checkedKey] == selected[j]){ - checkedData.push(res.data[i]) - } - } - } - checkedData = uniqueObjArray(checkedData, opt.checkedKey); - } - } + //jump鍒嗛〉瑙﹀彂鍑芥暟 + //function jump(obj, first) { + // table.reload(tableName); + // //鏇存柊鎸夐挳 + // updataButton(table.checkStatus(tableName).data.length) + //} //鏇存柊閫変腑鏁伴噺 function updataButton (n) { @@ -247,28 +171,23 @@ elem.off('input').on('input', function (e) { // 闃绘琛ㄥ崟鎻愪氦锛堝鏋滆緭鍏ユ鍦ㄨ〃鍗曞唴锛� e.preventDefault(); - opt.table.where['sWhere'] = opt.sWhere + " and " + opt.searchKey + " like '%" + elem.val() + "%' "; - tableSelect_table.reload({ - where: opt.table.where, - page: { - curr: 1 - } - }); + //鍚庣鍒嗛〉鎼滅储 + if (opt.table.where != undefined) { + opt.table.where['sWhere'] = opt.sWhere + " and " + opt.searchKey + " like '%" + elem.val() + "%' "; + tableSelect_table.reload({ + where: opt.table.where, + page: { + curr: 1 + } + }); + } else { + var sWhere = opt.sWhere + " and " + opt.searchKey + " like '%" + elem.val() + "%' "; + tableSelect_table.reload({ + data: opt.ajaxSelect(sWhere) + }); + } }) - // //鍏抽敭璇嶆悳绱� - // form.on('submit(tableSelect_btn_search)', function(data){ - // // console.log(" and "+opt.searchKey +"='" + data.opt.searchKey +"'") - // console.log(data); - // opt.table.where['sWhere'] = " and "+opt.searchKey +" like '%" + data.field[opt.searchKey] +"%' "; - // tableSelect_table.reload({ - // where: opt.table.where, - // page: { - // curr: 1 - // } - // }); - // return false; - // }); //鍙屽嚮琛岄�変腑 table.on('rowDouble('+tableName+')', function(obj){ @@ -298,32 +217,21 @@ l.LAY_CHECKED = flag; } }); - //鏇存柊鎸夐挳 - updataButton(table.checkStatus(tableName).data.length) + //鏇存柊鎸夐挳锛堟棤鐢ㄥ垹闄わ級 + //updataButton(table.checkStatus(tableName).data.length) } }) //鎸夐挳閫変腑 tableBox.find('.tableSelect_btn_select').on('click', function() { var checkStatus = table.checkStatus(tableName); - if(checkedData.length > 1){ - checkStatus.data = checkedData; - } selectDone(checkStatus); }) //鍐欏�煎洖璋冨拰鍏抽棴 function selectDone (checkStatus){ - if(opt.checkedKey){ - var selected = []; - for(var i=0;i<checkStatus.data.length;i++){ - selected.push(checkStatus.data[i][opt.checkedKey]) - } - elem.attr("ts-selected",selected.join(",")); - } opt.done(elem, checkStatus); tableBox.remove(); delete table.cache[tableName]; - checkedData = []; } //鐐瑰嚮鍏朵粬鍖哄煙鍏抽棴 @@ -332,7 +240,6 @@ if(!userSet_con.is(e.target) && userSet_con.has(e.target).length === 0){ tableBox.remove(); delete table.cache[tableName]; - checkedData = []; } }); }) -- Gitblit v1.9.1