diff --git a/frontend/index.html b/frontend/index.html
index e17b7ae..7cebb1a 100644
--- a/frontend/index.html
+++ b/frontend/index.html
@@ -4,7 +4,7 @@
-
- {['龙钞','马钞','蛇钞','其他'].map(e => (
-
- ))}
+ {['龙钞','马钞','蛇钞'].map(item => {
+ const isSelected = seekForm.edition ? seekForm.edition.split(',').includes(item) : false
+ return (
+
+ )
+ })}
@@ -134,9 +146,32 @@ export default function News() {
))}
-
-
setSeekForm({...seekForm, features: e.target.value})} placeholder="如: 8888/7777/开门号"
- style={{ width: '100%', padding: '8px', marginTop: '6px', background: '#0f172a', border: '1px solid #334155', borderRadius: '6px', color: '#fff', fontSize: '13px', boxSizing: 'border-box' }} />
+
+
+ {[0,1,2,3,4,5,6,7,8,9].map(i => {
+ const isFixed = i < 2
+ const placeholder = isFixed ? (i === 0 ? 'J' : '0') : 'X'
+ return { if (el) el.dataset.index = i }} type="text" maxLength={1}
+ value={isFixed ? placeholder : (seekForm.features?.[i] || '')}
+ readOnly={isFixed}
+ onChange={(e) => {
+ if (i < 2) return
+ const arr = (seekForm.features || 'J0XXXXXXXX').split('')
+ arr[i] = e.target.value.toUpperCase()
+ setSeekForm({...seekForm, features: arr.join('')})
+ // 输入后自动跳转下一个
+ if (e.target.value && i < 9) {
+ setTimeout(() => {
+ const nextInput = document.querySelector(`input[data-index="${i+1}"]`)
+ if (nextInput) nextInput.focus()
+ }, 0)
+ }
+ }}
+ placeholder={placeholder}
+ style={{ width: '32px', height: '36px', textAlign: 'center', padding: '6px', background: '#0f172a', border: '1px solid #334155', borderRadius: '4px', color: isFixed ? '#10b981' : '#fff', fontSize: '14px', boxSizing: 'border-box' }} />
+ })}
+
+
X=任意数字 A=非4 B=非47 C=非347 D=非247 E=非2347 F=非12347 F=非23457 G=非123457
+ style={{ width: '100%', padding: '8px', marginTop: '6px', background: '#0f172a', border: '1px solid #334155', borderRadius: '6px', color: '#fff', fontSize: '13px', boxSizing: 'border-box' }} onChange={(e) => setSeekForm({...seekForm, title: e.target.value})} />
@@ -161,7 +196,7 @@ export default function News() {
{activeTab === 'seek' && (
)}