From d18c23cd5702655905039882f456b8c65d3d61ff Mon Sep 17 00:00:00 2001 From: leon <916117771@qq.com> Date: Wed, 29 Apr 2026 19:25:45 +0800 Subject: [PATCH] =?UTF-8?q?feat(dashboard):=20=E7=AD=9B=E5=8F=B7=E5=99=A8?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=82=B9=E5=87=BB=E5=8F=B7=E7=A0=81=E5=B1=8F?= =?UTF-8?q?=E8=94=BD=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 号码网格支持点击切换屏蔽状态,与其他筛选条件叠加生效,重置按钮清除手动屏蔽 --- public/assets/js/backend/history.js | 49 +++++++++++++++++++++-------- 1 file changed, 36 insertions(+), 13 deletions(-) diff --git a/public/assets/js/backend/history.js b/public/assets/js/backend/history.js index 62eaf67..43b9be8 100644 --- a/public/assets/js/backend/history.js +++ b/public/assets/js/backend/history.js @@ -799,54 +799,69 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin content: html, shadeClose: true, success: function (layero, index) { + // 手动屏蔽的号码列表 + var blockedNums = []; + // 渲染号码网格 Controller.api.renderNumberFilterGrid(layero); + // 号码点击屏蔽 + $('#nf-numbers', layero).on('click', '.nf-number', function () { + var num = parseInt($(this).data('num')); + var idx = blockedNums.indexOf(num); + if (idx === -1) { + blockedNums.push(num); + } else { + blockedNums.splice(idx, 1); + } + Controller.api.applyNumberFilters(layero, blockedNums); + }); + // 新增尾号 $('.btn-nf-add-tail', layero).on('click', function () { Controller.api.addTailRow(layero, 0); - Controller.api.applyNumberFilters(layero); + Controller.api.applyNumberFilters(layero, blockedNums); }); // 尾号输入 & 删除事件委托 $('#nf-tail-list', layero).on('input change', '.nf-tail-select', function () { - Controller.api.applyNumberFilters(layero); + Controller.api.applyNumberFilters(layero, blockedNums); }); $('#nf-tail-list', layero).on('click', '.nf-tail-del', function () { $(this).closest('.nf-tail-row').remove(); - Controller.api.applyNumberFilters(layero); + Controller.api.applyNumberFilters(layero, blockedNums); }); // 生肖按钮点击 $('.nf-zodiac', layero).on('click', function () { var $btn = $(this); $btn.toggleClass('btn-default').toggleClass('btn-gray'); - Controller.api.applyNumberFilters(layero); + Controller.api.applyNumberFilters(layero, blockedNums); }); // 波色按钮点击 $('.nf-color-btn', layero).on('click', function () { var $btn = $(this); $btn.toggleClass('btn-default').toggleClass('btn-gray'); - Controller.api.applyNumberFilters(layero); + Controller.api.applyNumberFilters(layero, blockedNums); }); // 单双按钮点击 $('.nf-parity', layero).on('click', function () { var $btn = $(this); $btn.toggleClass('btn-default').toggleClass('btn-gray'); - Controller.api.applyNumberFilters(layero); + Controller.api.applyNumberFilters(layero, blockedNums); }); // 新增区间 $('.btn-nf-add-range', layero).on('click', function () { Controller.api.addRangeRow(layero, 1, 49, 'include'); - Controller.api.applyNumberFilters(layero); + Controller.api.applyNumberFilters(layero, blockedNums); }); // 区间输入 & 删除事件委托 $('#nf-range-list', layero).on('input change', '.nf-range-min, .nf-range-max', function () { - Controller.api.applyNumberFilters(layero); + Controller.api.applyNumberFilters(layero, blockedNums); }); $('#nf-range-list', layero).on('click', '.nf-range-mode', function () { var $btn = $(this); @@ -855,21 +870,22 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin } else { $btn.removeClass('btn-default').addClass('btn-info'); } - Controller.api.applyNumberFilters(layero); + Controller.api.applyNumberFilters(layero, blockedNums); }); $('#nf-range-list', layero).on('click', '.nf-range-del', function () { $(this).closest('.nf-range-row').remove(); - Controller.api.applyNumberFilters(layero); + Controller.api.applyNumberFilters(layero, blockedNums); }); // 重置按钮 $('.btn-nf-reset', layero).on('click', function () { + blockedNums = []; $('#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-parity', layero).removeClass('btn-gray').addClass('btn-default'); $('#nf-range-list', layero).html(''); - Controller.api.applyNumberFilters(layero); + Controller.api.applyNumberFilters(layero, blockedNums); }); } }); @@ -922,7 +938,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin if (colorRaw.indexOf('红') !== -1) colorLabel = '红'; else if (colorRaw.indexOf('蓝') !== -1) colorLabel = '蓝'; else if (colorRaw.indexOf('绿') !== -1) colorLabel = '绿'; - html += '