fix: 支持设置为search:false时初始化时传入的搜索参数持久的保留在表单中,否则点击之后初始化的搜索项会丢失

This commit is contained in:
augushong
2025-04-23 14:33:29 +08:00
parent 691f9c2202
commit 1fdcd74956

View File

@@ -637,77 +637,83 @@
d.searchValue = ''; d.searchValue = '';
} }
if (d.field !== false && d.search !== false) { if (d.field !== false) {
switch (d.search) { if(d.search !== false){
case true:
formHtml += '\t<div class="layui-form-item layui-inline ' + formSearchHideClass + ' ">\n' +
'<label class="layui-form-label">' + d.title + '</label>\n' +
'<div class="layui-input-inline">\n' +
'<input id="c-' + d.elemIdName + '" name="' + d.fieldAlias + '" data-search-op="' + d.searchOp + '" value="' + d.searchValue + '" placeholder="' + d.searchTip + '" class="layui-input">\n' +
'</div>\n' +
'</div>';
break;
case 'select':
d.searchOp = '=';
var selectHtml = '';
$.each(d.selectList, function (sI, sV) { switch (d.search) {
var selected = ''; case true:
if (sI === d.searchValue) { formHtml += '\t<div class="layui-form-item layui-inline ' + formSearchHideClass + ' ">\n' +
selected = 'selected=""'; '<label class="layui-form-label">' + d.title + '</label>\n' +
} '<div class="layui-input-inline">\n' +
selectHtml += '<option value="' + sI + '" ' + selected + '>' + sV + '</option>/n'; '<input id="c-' + d.elemIdName + '" name="' + d.fieldAlias + '" data-search-op="' + d.searchOp + '" value="' + d.searchValue + '" placeholder="' + d.searchTip + '" class="layui-input">\n' +
}); '</div>\n' +
formHtml += '\t<div class="layui-form-item layui-inline ' + formSearchHideClass + ' ">\n' + '</div>';
'<label class="layui-form-label">' + d.title + '</label>\n' + break;
'<div class="layui-input-inline">\n' + case 'select':
'<select class="layui-select" id="c-' + d.elemIdName + '" name="' + d.fieldAlias + '" data-search-op="' + d.searchOp + '" >\n' + d.searchOp = '=';
'<option value="">- 全部 -</option> \n' + var selectHtml = '';
selectHtml +
'</select>\n' + $.each(d.selectList, function (sI, sV) {
'</div>\n' + var selected = '';
'</div>'; if (sI === d.searchValue) {
break; selected = 'selected=""';
case 'range': }
d.searchOp = 'range'; selectHtml += '<option value="' + sI + '" ' + selected + '>' + sV + '</option>/n';
formHtml += '\t<div class="layui-form-item layui-inline ' + formSearchHideClass + ' ">\n' + });
'<label class="layui-form-label">' + d.title + '</label>\n' + formHtml += '\t<div class="layui-form-item layui-inline ' + formSearchHideClass + ' ">\n' +
'<div class="layui-input-inline">\n' + '<label class="layui-form-label">' + d.title + '</label>\n' +
'<input id="c-' + d.elemIdName + '" name="' + d.fieldAlias + '" data-search-op="' + d.searchOp + '" value="' + d.searchValue + '" placeholder="' + d.searchTip + '" class="layui-input">\n' + '<div class="layui-input-inline">\n' +
'</div>\n' + '<select class="layui-select" id="c-' + d.elemIdName + '" name="' + d.fieldAlias + '" data-search-op="' + d.searchOp + '" >\n' +
'</div>'; '<option value="">- 全部 -</option> \n' +
break; selectHtml +
case 'time': '</select>\n' +
d.searchOp = '='; '</div>\n' +
formHtml += '\t<div class="layui-form-item layui-inline ' + formSearchHideClass + ' ">\n' + '</div>';
'<label class="layui-form-label">' + d.title + '</label>\n' + break;
'<div class="layui-input-inline">\n' + case 'range':
'<input id="c-' + d.elemIdName + '" name="' + d.fieldAlias + '" data-search-op="' + d.searchOp + '" value="' + d.searchValue + '" placeholder="' + d.searchTip + '" class="layui-input">\n' + d.searchOp = 'range';
'</div>\n' + formHtml += '\t<div class="layui-form-item layui-inline ' + formSearchHideClass + ' ">\n' +
'</div>'; '<label class="layui-form-label">' + d.title + '</label>\n' +
break; '<div class="layui-input-inline">\n' +
case 'time_limit': '<input id="c-' + d.elemIdName + '" name="' + d.fieldAlias + '" data-search-op="' + d.searchOp + '" value="' + d.searchValue + '" placeholder="' + d.searchTip + '" class="layui-input">\n' +
d.searchOp = '='; '</div>\n' +
formHtml += '\t<div class="layui-form-item form-item-time-limit layui-inline ' + formSearchHideClass + ' ">\n' + '</div>';
'<label class="layui-form-label">' + d.title + '</label>\n' + break;
'<div class="layui-input-inline">\n' + case 'time':
'<input id="c-' + d.elemIdName + '-min_date" name="[' + d.fieldAlias + ']min_date" data-search-op="min_date" value="' + a + '" placeholder="最小值" class="layui-input">\n' + d.searchOp = '=';
'<input id="c-' + d.elemIdName + '-max_date" name="[' + d.fieldAlias + ']max_date" data-search-op="max_date" value="' + b + '" placeholder="最大值" class="layui-input">\n' + formHtml += '\t<div class="layui-form-item layui-inline ' + formSearchHideClass + ' ">\n' +
'</div>\n' + '<label class="layui-form-label">' + d.title + '</label>\n' +
'</div>'; '<div class="layui-input-inline">\n' +
break; '<input id="c-' + d.elemIdName + '" name="' + d.fieldAlias + '" data-search-op="' + d.searchOp + '" value="' + d.searchValue + '" placeholder="' + d.searchTip + '" class="layui-input">\n' +
case 'number_limit': '</div>\n' +
d.searchOp = '='; '</div>';
formHtml += '\t<div class="layui-form-item form-item-number-limit layui-inline ' + formSearchHideClass + ' ">\n' + break;
'<label class="layui-form-label">' + d.title + '</label>\n' + case 'time_limit':
'<div class="layui-input-inline">\n' + d.searchOp = '=';
'<input id="c-' + d.elemIdName + '-min" name="[' + d.fieldAlias + ']min" data-search-op="min" type="text" value="' + a + '" placeholder="最小值" class="layui-input">\n' + formHtml += '\t<div class="layui-form-item form-item-time-limit layui-inline ' + formSearchHideClass + ' ">\n' +
'<input id="c-' + d.elemIdName + '-max" name="[' + d.fieldAlias + ']max" data-search-op="max" type="text" value="' + b + '" placeholder="最大值" class="layui-input">\n' + '<label class="layui-form-label">' + d.title + '</label>\n' +
'</div>\n' + '<div class="layui-input-inline">\n' +
'</div>'; '<input id="c-' + d.elemIdName + '-min_date" name="[' + d.fieldAlias + ']min_date" data-search-op="min_date" value="' + a + '" placeholder="最小值" class="layui-input">\n' +
break; '<input id="c-' + d.elemIdName + '-max_date" name="[' + d.fieldAlias + ']max_date" data-search-op="max_date" value="' + b + '" placeholder="最大值" class="layui-input">\n' +
'</div>\n' +
'</div>';
break;
case 'number_limit':
d.searchOp = '=';
formHtml += '\t<div class="layui-form-item form-item-number-limit layui-inline ' + formSearchHideClass + ' ">\n' +
'<label class="layui-form-label">' + d.title + '</label>\n' +
'<div class="layui-input-inline">\n' +
'<input id="c-' + d.elemIdName + '-min" name="[' + d.fieldAlias + ']min" data-search-op="min" type="text" value="' + a + '" placeholder="最小值" class="layui-input">\n' +
'<input id="c-' + d.elemIdName + '-max" name="[' + d.fieldAlias + ']max" data-search-op="max" type="text" value="' + b + '" placeholder="最大值" class="layui-input">\n' +
'</div>\n' +
'</div>';
break;
}
newCols.push(d);
}else{
// TODO支持更多种类型的初始化比如number_limit、time_limit
formHtml += '<input type="hidden" name="' + d.fieldAlias + '" value="'+d.searchValue+'">'
} }
newCols.push(d);
} }
}); });