Fix: Hide progress display when clearing order numbers and remove progress text from LogPanel
This commit is contained in:
@@ -1,11 +1,9 @@
|
|||||||
import React, { useEffect, useRef } from 'react'
|
import React, { useEffect, useRef } from 'react'
|
||||||
import { Terminal } from 'lucide-react'
|
import { Terminal } from 'lucide-react'
|
||||||
import type { LogEntry, LogLevel } from '../../stores/extractorStore'
|
import type { LogEntry, LogLevel } from '../../stores/extractorStore'
|
||||||
import type { ExtractionProgress } from '../../stores/extractorStore'
|
|
||||||
|
|
||||||
interface LogPanelProps {
|
interface LogPanelProps {
|
||||||
logs: LogEntry[]
|
logs: LogEntry[]
|
||||||
progress: ExtractionProgress | null
|
|
||||||
onClear: () => void
|
onClear: () => void
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -24,7 +22,7 @@ const getLogColor = (level: LogLevel): string => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const LogPanel: React.FC<LogPanelProps> = ({ logs, progress, onClear }) => {
|
const LogPanel: React.FC<LogPanelProps> = ({ logs, onClear }) => {
|
||||||
const logsEndRef = useRef<HTMLDivElement>(null)
|
const logsEndRef = useRef<HTMLDivElement>(null)
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
@@ -38,15 +36,12 @@ const LogPanel: React.FC<LogPanelProps> = ({ logs, progress, onClear }) => {
|
|||||||
<Terminal size={16} />
|
<Terminal size={16} />
|
||||||
<span>执行日志</span>
|
<span>执行日志</span>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex items-center gap-3">
|
<button
|
||||||
<span className="text-xs text-slate-500">进度: {progress?.progress || 0}%</span>
|
className="text-xs text-slate-400 hover:text-white transition-colors"
|
||||||
<button
|
onClick={onClear}
|
||||||
className="text-xs text-slate-400 hover:text-white transition-colors"
|
>
|
||||||
onClick={onClear}
|
清空
|
||||||
>
|
</button>
|
||||||
清空
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div className="flex-1 p-4 font-mono text-sm overflow-y-auto leading-relaxed">
|
<div className="flex-1 p-4 font-mono text-sm overflow-y-auto leading-relaxed">
|
||||||
{logs.length === 0 ? (
|
{logs.length === 0 ? (
|
||||||
|
|||||||
@@ -94,6 +94,7 @@ export function useExtractor() {
|
|||||||
startExtraction,
|
startExtraction,
|
||||||
clearLogs,
|
clearLogs,
|
||||||
setError,
|
setError,
|
||||||
setComplete
|
setComplete,
|
||||||
|
resetState
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,8 +10,17 @@ const ExtractorPage: React.FC = () => {
|
|||||||
return sessionStorage.getItem('extractor_orderNumbers') || ''
|
return sessionStorage.getItem('extractor_orderNumbers') || ''
|
||||||
})
|
})
|
||||||
|
|
||||||
const { isRunning, progress, error, logs, startExtraction, clearLogs, setError, isComplete } =
|
const {
|
||||||
useExtractor()
|
isRunning,
|
||||||
|
progress,
|
||||||
|
error,
|
||||||
|
logs,
|
||||||
|
startExtraction,
|
||||||
|
clearLogs,
|
||||||
|
setError,
|
||||||
|
isComplete,
|
||||||
|
setComplete
|
||||||
|
} = useExtractor()
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
sessionStorage.setItem('extractor_orderNumbers', orderNumbers)
|
sessionStorage.setItem('extractor_orderNumbers', orderNumbers)
|
||||||
@@ -31,6 +40,7 @@ const ExtractorPage: React.FC = () => {
|
|||||||
const handleReset = () => {
|
const handleReset = () => {
|
||||||
setOrderNumbers('')
|
setOrderNumbers('')
|
||||||
setError(null)
|
setError(null)
|
||||||
|
setComplete(false)
|
||||||
clearLogs()
|
clearLogs()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -93,7 +103,7 @@ const ExtractorPage: React.FC = () => {
|
|||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
<LogPanel logs={logs} progress={progress} onClear={clearLogs} />
|
<LogPanel logs={logs} onClear={clearLogs} />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user