From e26fb427a00a7feaa176ca26d2323249f09a3b31 Mon Sep 17 00:00:00 2001
From: zrg <z1873@LAPTOP-EAVL132E>
Date: 星期三, 05 十一月 2025 16:01:44 +0800
Subject: [PATCH] 销售出库增加一个excel导入不同页签,测试调试产量汇报下推生产汇报
---
WebTM/layuiadmin/modules/tableSelect.js | 264 ++++++++++++++++++----------------------------------
1 files changed, 94 insertions(+), 170 deletions(-)
diff --git a/WebTM/layuiadmin/modules/tableSelect.js b/WebTM/layuiadmin/modules/tableSelect.js
index e6bf89d..6d7fa06 100644
--- a/WebTM/layuiadmin/modules/tableSelect.js
+++ b/WebTM/layuiadmin/modules/tableSelect.js
@@ -1,3 +1,7 @@
+/**
+ * layui鎵╁睍缁勪欢
+ * 杈撳叆妗嗙殑涓嬫媺琛ㄦ牸閫夋嫨锛堝垎椤碉級
+ * */
layui.define(['table', 'jquery', 'form'], function (exports) {
"use strict";
@@ -6,7 +10,7 @@
table = layui.table,
form = layui.form;
var tableSelect = function () {
- this.v = '1.2.0';
+ this.v = '1.4.0';
};
/**
@@ -16,13 +20,13 @@
var elem = $(opt.elem);
//榛樿璁剧疆
- opt.searchKey = opt.searchKey || 'keyword';
- opt.checkedKey = opt.checkedKey;
+ 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;
}
@@ -37,12 +41,20 @@
tableBox += '</div>';
tableBox = $(tableBox);
$('body').append(tableBox);
- //鏁版嵁缂撳瓨
- var checkedData = [];
//娓叉煋TABLE
opt.table.elem = "#"+tableName;
opt.table.id = tableName;
- opt.table.where['sWhere'] = 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
limitName: 'size' // 姣忛〉鏁版嵁鏉℃暟鐨勫弬鏁板悕锛岄粯璁わ細limit
@@ -55,129 +67,8 @@
"data": res.data // 瑙f瀽鏁版嵁鍒楄〃
};
}
- opt.table.done = function(res, curr, count){
- defaultChecked(res, curr, count);
- setChecked(res, curr, count);
- };
+
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);
- }
- }
-
- //鏇存柊閫変腑鏁伴噺
- 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();
@@ -220,16 +111,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"://鍥炶溅
@@ -239,32 +130,70 @@
}
})
+ // 闃叉姈鍑芥暟
+ 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 + sWhereStr;
+ } else {
+ var sWhere = opt.sWhere + sWhereStr;
+ opt.table.data = opt.ajaxSelect(sWhere);
+ }
+ }
+
//杈撳叆妗嗚緭鍏ユ墽琛�
- elem.off('input').on('input', function (e) {
+ elem.off('input').on('input', debounce(
+ 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
+ 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)
+ });
+ }
- })
- // //鍏抽敭璇嶆悳绱�
- // 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;
- // });
+ },500))
//鍙屽嚮琛岄�変腑
table.on('rowDouble('+tableName+')', function(obj){
@@ -294,32 +223,28 @@
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;
+ if (checkStatus.data.length > 0) {
+ selectDone(checkStatus);
+ } else {
+ tableBox.remove();
+ delete table.cache[tableName];
}
- 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 = [];
+ $(opt.elem).blur();
}
//鐐瑰嚮鍏朵粬鍖哄煙鍏抽棴
@@ -328,7 +253,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