From 449f08e58b218bd1744d9dcafbaa20f7330474f4 Mon Sep 17 00:00:00 2001
From: leon <916117771@qq.com>
Date: Tue, 28 Apr 2026 20:13:20 +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=E5=8D=95=E5=8F=8C=E7=AD=9B=E9=80=89?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
点击单/双按钮置灰,匹配单双的号码被屏蔽,支持同时选中和重置。
---
public/assets/js/backend/history.js | 26 +++++++++++++++++++++++++-
1 file changed, 25 insertions(+), 1 deletion(-)
diff --git a/public/assets/js/backend/history.js b/public/assets/js/backend/history.js
index 00b9daa..62eaf67 100644
--- a/public/assets/js/backend/history.js
+++ b/public/assets/js/backend/history.js
@@ -780,6 +780,11 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
' ' +
'' +
'
' +
+ ' ' +
+ ' ' +
+ ' ' +
+ '
' +
+ '' +
' ' +
' ' +
'
' +
@@ -826,6 +831,13 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
Controller.api.applyNumberFilters(layero);
});
+ // 单双按钮点击
+ $('.nf-parity', layero).on('click', function () {
+ var $btn = $(this);
+ $btn.toggleClass('btn-default').toggleClass('btn-gray');
+ Controller.api.applyNumberFilters(layero);
+ });
+
// 新增区间
$('.btn-nf-add-range', layero).on('click', function () {
Controller.api.addRangeRow(layero, 1, 49, 'include');
@@ -855,6 +867,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
$('#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);
});
@@ -909,7 +922,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 += '' +
+ html += '
' +
'
' + num + '' +
'
' + animal + '
' +
'
';
@@ -939,6 +952,11 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
$('.nf-color-btn.btn-gray', layero).each(function () {
excludedColors.push($(this).data('color'));
});
+ // 收集被点击(置灰)的单双
+ var excludedParities = [];
+ $('.nf-parity.btn-gray', layero).each(function () {
+ excludedParities.push($(this).data('parity'));
+ });
// 收集所有区间
var ranges = [];
$('.nf-range-row', layero).each(function () {
@@ -956,12 +974,18 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
var animal = $num.data('animal');
var color = $num.data('color');
+ var parity = $num.data('parity');
+
var hidden = false;
// 尾号筛选:选中多个尾号,任一命中即屏蔽
if (excludedTails.length > 0 && excludedTails.indexOf(tail) !== -1) {
hidden = true;
}
+ // 单双筛选:选中单或双,匹配则屏蔽
+ if (excludedParities.indexOf(parity) !== -1) {
+ hidden = true;
+ }
// 区间筛选:在区间=白名单(OR)、排除区间=黑名单(OR)
if (!hidden) {
var includeRanges = [];