diff --git a/src/renderer/src/hooks/useExtractor.ts b/src/renderer/src/hooks/useExtractor.ts index 4e3818d..eeec7ea 100644 --- a/src/renderer/src/hooks/useExtractor.ts +++ b/src/renderer/src/hooks/useExtractor.ts @@ -4,12 +4,14 @@ import { useExtractorStore } from '../stores/extractorStore' export function useExtractor() { const { isRunning, + isComplete, progress, error, logs, setRunning, setProgress, setError, + setComplete, addLog, clearLogs, resetState @@ -79,6 +81,7 @@ export function useExtractor() { } finally { setRunning(false) setProgress(null) + setComplete(true) } } @@ -87,8 +90,10 @@ export function useExtractor() { progress, error, logs, + isComplete, startExtraction, clearLogs, - setError + setError, + setComplete } } diff --git a/src/renderer/src/pages/ExtractorPage.tsx b/src/renderer/src/pages/ExtractorPage.tsx index 51db56f..7f02db3 100644 --- a/src/renderer/src/pages/ExtractorPage.tsx +++ b/src/renderer/src/pages/ExtractorPage.tsx @@ -1,5 +1,5 @@ import React, { useState, useEffect } from 'react' -import { Download, Play } from 'lucide-react' +import { Download, Play, CheckCircle } from 'lucide-react' import OrderNumberInput from '../components/OrderNumberInput' import { useExtractor } from '../hooks/useExtractor' import LogPanel from '../components/ui/LogPanel' @@ -10,7 +10,8 @@ const ExtractorPage: React.FC = () => { return sessionStorage.getItem('extractor_orderNumbers') || '' }) - const { isRunning, progress, error, logs, startExtraction, clearLogs, setError } = useExtractor() + const { isRunning, progress, error, logs, startExtraction, clearLogs, setError, isComplete } = + useExtractor() useEffect(() => { sessionStorage.setItem('extractor_orderNumbers', orderNumbers) @@ -75,6 +76,13 @@ const ExtractorPage: React.FC = () => { + {!isRunning && isComplete && ( +
提取完毕
+