feat(dashboard): 筛号器区间新增模式切换:在区间/排除区间

默认在区间模式,点击切换按钮可在两种模式间切换,
排除区间模式下区间内的号码被屏蔽。
This commit is contained in:
2026-04-28 19:30:34 +08:00
parent dd4c234b37
commit b14bebb143
+21 -1
View File
@@ -785,6 +785,8 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
'</div>' + '</div>' +
'<div style="margin-bottom:15px;">' + '<div style="margin-bottom:15px;">' +
' <label style="margin-right:10px;">区间:</label>' + ' <label style="margin-right:10px;">区间:</label>' +
' <button class="btn btn-xs btn-info nf-range-mode" id="nf-range-mode-include" data-mode="include">在区间</button>' +
' <button class="btn btn-xs btn-default nf-range-mode" id="nf-range-mode-exclude" data-mode="exclude">排除区间</button>' +
' <input type="number" id="nf-range-min" class="form-control" value="1" min="1" max="49" style="width:70px;display:inline-block;">' + ' <input type="number" id="nf-range-min" class="form-control" value="1" min="1" max="49" style="width:70px;display:inline-block;">' +
' <span style="margin:0 5px;">—</span>' + ' <span style="margin:0 5px;">—</span>' +
' <input type="number" id="nf-range-max" class="form-control" value="49" min="1" max="49" style="width:70px;display:inline-block;">' + ' <input type="number" id="nf-range-max" class="form-control" value="49" min="1" max="49" style="width:70px;display:inline-block;">' +
@@ -821,6 +823,13 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
Controller.api.applyNumberFilters(layero); Controller.api.applyNumberFilters(layero);
}); });
// 区间模式切换
$('.nf-range-mode', layero).on('click', function () {
$('.nf-range-mode', layero).removeClass('btn-info').addClass('btn-default');
$(this).removeClass('btn-default').addClass('btn-info');
Controller.api.applyNumberFilters(layero);
});
// 区间输入 // 区间输入
$('#nf-range-min, #nf-range-max', layero).on('input', function () { $('#nf-range-min, #nf-range-max', layero).on('input', function () {
Controller.api.applyNumberFilters(layero); Controller.api.applyNumberFilters(layero);
@@ -833,6 +842,8 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
$('.nf-color-btn', layero).removeClass('btn-gray').addClass('btn-default'); $('.nf-color-btn', layero).removeClass('btn-gray').addClass('btn-default');
$('#nf-range-min', layero).val(1); $('#nf-range-min', layero).val(1);
$('#nf-range-max', layero).val(49); $('#nf-range-max', layero).val(49);
$('.nf-range-mode', layero).removeClass('btn-info').addClass('btn-default');
$('#nf-range-mode-include', layero).removeClass('btn-default').addClass('btn-info');
Controller.api.applyNumberFilters(layero); Controller.api.applyNumberFilters(layero);
}); });
} }
@@ -879,6 +890,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
// 区间筛选 // 区间筛选
var rangeMin = parseInt($('#nf-range-min', layero).val()) || 1; var rangeMin = parseInt($('#nf-range-min', layero).val()) || 1;
var rangeMax = parseInt($('#nf-range-max', layero).val()) || 49; var rangeMax = parseInt($('#nf-range-max', layero).val()) || 49;
var rangeMode = $('#nf-range-mode-include', layero).hasClass('btn-info') ? 'include' : 'exclude';
$('.nf-number', layero).each(function () { $('.nf-number', layero).each(function () {
var $num = $(this); var $num = $(this);
@@ -893,10 +905,18 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
if (tailVal !== '' && parseInt(tailVal) === tail) { if (tailVal !== '' && parseInt(tailVal) === tail) {
hidden = true; hidden = true;
} }
// 区间筛选:不在区间内则屏蔽 // 区间筛选
if (rangeMode === 'include') {
// 在区间模式:不在区间内则屏蔽
if (num < rangeMin || num > rangeMax) { if (num < rangeMin || num > rangeMax) {
hidden = true; hidden = true;
} }
} else {
// 排除区间模式:在区间内则屏蔽
if (num >= rangeMin && num <= rangeMax) {
hidden = true;
}
}
// 排除的生肖 // 排除的生肖
if (excludedZodiacs.indexOf(animal) !== -1) { if (excludedZodiacs.indexOf(animal) !== -1) {
hidden = true; hidden = true;