From 4f91d3b4d5fdf596a0697c4fa96da4a3f05b9616 Mon Sep 17 00:00:00 2001
From: llj <132905093+newwwwwwtree@users.noreply.github.com>
Date: 星期三, 24 十二月 2025 17:03:11 +0800
Subject: [PATCH] 1
---
WebTM/layuiadmin/modules/tableSelect.js | 215 +++++++++++++++++++++++++++++++++++++----------------
1 files changed, 150 insertions(+), 65 deletions(-)
diff --git a/WebTM/layuiadmin/modules/tableSelect.js b/WebTM/layuiadmin/modules/tableSelect.js
index d0a2659..1857322 100644
--- a/WebTM/layuiadmin/modules/tableSelect.js
+++ b/WebTM/layuiadmin/modules/tableSelect.js
@@ -10,8 +10,80 @@
table = layui.table,
form = layui.form;
var tableSelect = function () {
- this.v = '1.3.0';
+ this.v = '1.4.0';
};
+
+ //鐗╂枡琛ㄦ牸涓嬫媺鎼滅储妗嗕娇鐢ㄦ渚�
+ //tableSelect.render({
+ // elem: '#HMATERIALNAME',
+ // checkedKey: 'HItemID',
+ // searchKey: '鐗╂枡浠g爜,鐗╂枡鍚嶇О',
+ // sWhere: '',//table鎼滅储sWhere鏉′欢
+ // table: {
+ // url: GetWEBURL() + 'Gy_Material/page',
+ // where: { user: sessionStorage["HMaker"], "Organization": sessionStorage["Organization"] },
+ // cols: [[
+ // { type: 'checkbox', fixed: 'left' },
+ // { field: 'HItemID', title: 'HItemID' },
+ // { field: '鐗╂枡浠g爜', title: '鐗╂枡浠g爜' },
+ // { field: '鐗╂枡鍚嶇О', title: '鐗╂枡鍚嶇О' },
+ // ]],
+ // page: true,
+ // limit: 5,
+ // limits: [5]
+ // },
+ // done: function (elem, data) {
+ // if (data != []) {
+ // //鑾峰彇鏁版嵁
+ // /*$("#HMATERIALNAME").blur();//鍗曞厓鏍煎け鍘荤劍鐐�*/
+ // $("#HMATERIALID").val(data.data[0].HItemID);
+ // $("#HMATERIALNAME").val(data.data[0].鐗╂枡鍚嶇О);
+ // get_FastQuery()
+ // }
+
+ // }
+ //})
+ //宸ュ簭琛ㄦ牸涓嬫媺鎼滅储妗�
+ //tableSelect.render({
+ // elem: 'td[data-field="宸ュ簭"] .layui-table-edit',
+ // searchKey: '宸ュ簭浠g爜,宸ュ簭鍚嶇О',
+ // sWhere: " and 鏄庣粏鏍囪 = 'Y' and 绂佺敤鏍囪 != 'Y'",//table鎼滅储sWhere鏉′欢
+ // ajaxSelect: function (sWhere) {
+ // var data = '';
+ // $.ajax({
+ // url: GetWEBURL() + '/Gy_Process/list',
+ // type: "GET",
+ // data: { "sWhere": sWhere, "user": sessionStorage["HUserName"] },
+ // async: false,
+ // success: function (data1) {
+ // if (data1.count == 1) {
+ // data = data1.data
+ // }
+ // },
+ // error: function () {
+ // layer.alert('鑾峰彇鍒楄〃澶辫触锛�', { icon: 15, title: '閫氫俊閿欒' });
+ // }
+ // });
+ // return data;
+ // },//璁剧疆鍓嶇鍒嗛〉鏃跺彲浠ヨ缃殑
+ // table: {
+ // cols: [[
+ // { type: 'radio', fixed: 'left' },
+ // { field: 'HItemID', title: 'HItemID', hide: true },
+ // { field: '宸ュ簭浠g爜', title: '宸ュ簭浠g爜' },
+ // { field: '宸ュ簭鍚嶇О', title: '宸ュ簭鍚嶇О' },
+ // { field: 'HProcMulID', title: 'HProcMulID', hide: true },
+ // { field: '宸ユ鍚嶇О', title: '宸ユ鍚嶇О' }
+ // ]],
+ // page: true,
+ // limit: 5,
+ // //limits: [5]
+ // },
+ // done: function (elem, data) {
+ // $(".layui-table-edit").blur();//鍗曞厓鏍煎け鍘荤劍鐐�
+ // //setTableByHMater(obj, data);
+ // }
+ //})
/**
* 鍒濆鍖栬〃鏍奸�夋嫨鍣�
@@ -20,12 +92,13 @@
var elem = $(opt.elem);
//榛樿璁剧疆
- opt.searchKey = opt.searchKey || 'keyword';
+ 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,11 +116,16 @@
//娓叉煋TABLE
opt.table.elem = "#"+tableName;
opt.table.id = tableName;
- //鑻ユ病鏈墂here琛ㄧず涓哄墠绔垎椤�
- if (opt.table.url != undefined) {
- opt.table.where['sWhere'] = opt.sWhere
- } else {
- opt.table.data = opt.ajaxSelect(opt.sWhere);
+ //鑻ユ病鏈塽rl琛ㄧず涓哄墠绔垎椤�
+ //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,51 +139,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);
-
- //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();
@@ -148,16 +183,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"://鍥炶溅
@@ -167,13 +202,56 @@
}
})
- //杈撳叆妗嗚緭鍏ユ墽琛�
- elem.off('input').on('input', function (e) {
- // 闃绘琛ㄥ崟鎻愪氦锛堝鏋滆緭鍏ユ鍦ㄨ〃鍗曞唴锛�
- e.preventDefault();
+ // 闃叉姈鍑芥暟
+ function debounce(func, wait) {
+ let timeout;
+ return function () {
+ const context = this, args = arguments;
+ clearTimeout(timeout);
+ timeout = setTimeout(() => func.apply(context, args), wait);
+ };
+ }
+ //鎼滅储鍑芥暟绗竴娆″姞杞�
+ function searchFirst() {
+ 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 + " and " + opt.searchKey + " like '%" + elem.val() + "%' ";
+ opt.table.where['sWhere'] = opt.sWhere + sWhereStr;
+ } else {
+ var sWhere = opt.sWhere + sWhereStr;
+ opt.table.data = opt.ajaxSelect(sWhere);
+ }
+ }
+
+ //杈撳叆妗嗚緭鍏ユ墽琛�
+ elem.off('input').on('input', debounce(
+ function (e) {
+ // 闃绘琛ㄥ崟鎻愪氦锛堝鏋滆緭鍏ユ鍦ㄨ〃鍗曞唴锛�
+ e.preventDefault();
+ 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: {
@@ -181,13 +259,13 @@
}
});
} else {
- var sWhere = opt.sWhere + " and " + opt.searchKey + " like '%" + elem.val() + "%' ";
+ var sWhere = opt.sWhere + sWhereStr;
tableSelect_table.reload({
data: opt.ajaxSelect(sWhere)
});
}
- })
+ },500))
//鍙屽嚮琛岄�変腑
table.on('rowDouble('+tableName+')', function(obj){
@@ -224,7 +302,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];
+ }
+
})
//鍐欏�煎洖璋冨拰鍏抽棴
@@ -232,6 +316,7 @@
opt.done(elem, checkStatus);
tableBox.remove();
delete table.cache[tableName];
+ $(opt.elem).blur();
}
//鐐瑰嚮鍏朵粬鍖哄煙鍏抽棴
--
Gitblit v1.9.1