From 96091670f8bf30e926d74fa9bbbfb9237798af90 Mon Sep 17 00:00:00 2001 From: leon <916117771@qq.com> Date: Tue, 28 Apr 2026 19:42:51 +0800 Subject: [PATCH] =?UTF-8?q?feat(dashboard):=20=E5=B0=BE=E5=8F=B7=E7=AD=9B?= =?UTF-8?q?=E9=80=89=E6=94=B9=E4=B8=BA=E5=8F=AF=E6=96=B0=E5=A2=9E=E5=A4=9A?= =?UTF-8?q?=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 点击新增按钮添加尾号下拉选择 - 支持添加多个尾号,任一选中即屏蔽 - 支持删除单个尾号行 - 重置清空所有尾号 --- public/assets/js/backend/history.js | 53 ++++++++++++++++++++++------- 1 file changed, 41 insertions(+), 12 deletions(-) diff --git a/public/assets/js/backend/history.js b/public/assets/js/backend/history.js index 996cbd7..00b9daa 100644 --- a/public/assets/js/backend/history.js +++ b/public/assets/js/backend/history.js @@ -749,15 +749,11 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin '
' + '
' + ' ' + - ' ' + + ' ' + '
' + ' ' + '
' + + '
' + '
' + ' ' + '
' + @@ -801,8 +797,18 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin // 渲染号码网格 Controller.api.renderNumberFilterGrid(layero); - // 尾号下拉选择 - $('#nf-tail', layero).on('change', function () { + // 新增尾号 + $('.btn-nf-add-tail', layero).on('click', function () { + Controller.api.addTailRow(layero, 0); + Controller.api.applyNumberFilters(layero); + }); + + // 尾号输入 & 删除事件委托 + $('#nf-tail-list', layero).on('input change', '.nf-tail-select', function () { + Controller.api.applyNumberFilters(layero); + }); + $('#nf-tail-list', layero).on('click', '.nf-tail-del', function () { + $(this).closest('.nf-tail-row').remove(); Controller.api.applyNumberFilters(layero); }); @@ -846,7 +852,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin // 重置按钮 $('.btn-nf-reset', layero).on('click', function () { - $('#nf-tail', layero).val(''); + $('#nf-tail-list', layero).html(''); $('.nf-zodiac', layero).removeClass('btn-gray').addClass('btn-default'); $('.nf-color-btn', layero).removeClass('btn-gray').addClass('btn-default'); $('#nf-range-list', layero).html(''); @@ -856,6 +862,22 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin }); }, + /** + * 新增一行尾号筛选 + */ + addTailRow: function (layero, value) { + var rowId = 'nf-tail-' + Date.now() + Math.random().toString(36).substr(2, 5); + var opts = ''; + for (var t = 0; t <= 9; t++) { + opts += ''; + } + var html = '
' + + ' ' + + ' ' + + '
'; + $('#nf-tail-list', layero).append(html); + }, + /** * 新增一行区间筛选 */ @@ -899,7 +921,14 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin * 应用筛号器过滤条件 */ applyNumberFilters: function (layero) { - var tailVal = $('#nf-tail', layero).val(); + // 收集所有选中的尾号 + var excludedTails = []; + $('.nf-tail-select', layero).each(function () { + var val = $(this).val(); + if (val !== '' && excludedTails.indexOf(parseInt(val)) === -1) { + excludedTails.push(parseInt(val)); + } + }); // 收集被点击(置灰)的生肖 var excludedZodiacs = []; $('.nf-zodiac.btn-gray', layero).each(function () { @@ -929,8 +958,8 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin var hidden = false; - // 尾号筛选:选择了具体尾号则屏蔽该尾号 - if (tailVal !== '' && parseInt(tailVal) === tail) { + // 尾号筛选:选中多个尾号,任一命中即屏蔽 + if (excludedTails.length > 0 && excludedTails.indexOf(tail) !== -1) { hidden = true; } // 区间筛选:在区间=白名单(OR)、排除区间=黑名单(OR)