diff --git a/app/config/locale/en-US.json b/app/config/locale/en-US.json index 99d88ac9..d7f282be 100644 --- a/app/config/locale/en-US.json +++ b/app/config/locale/en-US.json @@ -149,6 +149,7 @@ "importStopped": "Import stopped", "importFailed": "Failed", "importRunning": "Running", + "importPending": "Pending", "notImported": "{total} lines not imported", "readFailed": "{total} lines read failed", "selectFile": "Select bind source file", diff --git a/app/config/locale/zh-CN.json b/app/config/locale/zh-CN.json index 33393d47..e6fd3965 100644 --- a/app/config/locale/zh-CN.json +++ b/app/config/locale/zh-CN.json @@ -149,6 +149,7 @@ "importStopped": "导入中止", "importFailed": "导入失败", "importRunning": "导入中", + "importPending": "等待导入", "notImported": "{total}行未导入", "readFailed": "{total}行读取失败", "selectFile": "选择绑定文件", diff --git a/app/pages/Import/TaskCreate/index.tsx b/app/pages/Import/TaskCreate/index.tsx index 1b85c27b..8d1d95ff 100644 --- a/app/pages/Import/TaskCreate/index.tsx +++ b/app/pages/Import/TaskCreate/index.tsx @@ -34,6 +34,7 @@ const TaskCreate = (props: IProps) => { const [modalVisible, setVisible] = useState(false); const history = useHistory(); const { needPwdConfirm = true } = props; + const [loading, setLoading] = useState(false); const routes = [ { path: '/import/tasks', @@ -55,10 +56,12 @@ const TaskCreate = (props: IProps) => { }; const handleStartImport = async (password?: string) => { setVisible(false); + setLoading(true); const code = await importTask({ name: basicConfig.taskName, password }); + setLoading(false); if(code === 0) { message.success(intl.get('import.startImporting')); history.push('/import/tasks'); @@ -193,7 +196,7 @@ const TaskCreate = (props: IProps) => { + } onClick={checkConfig} loading={!needPwdConfirm && loading}>{intl.get('import.runImport')} {needPwdConfirm && { if(isMounted) { timer.current = setTimeout(readLog, 2000); } - } else if (_status.current === ITaskStatus.StatusProcessing) { + } else if ([ITaskStatus.StatusProcessing, ITaskStatus.StatusPending].includes(_status.current)) { if(isMounted) { timer.current = setTimeout(readLog, 2000); } @@ -123,7 +123,7 @@ const LogModal = (props: IProps) => { title={<>
{`${space} ${intl.get('import.task')} - ${intl.get('common.log')}`} - {(loading || status === ITaskStatus.StatusProcessing) &&
{showLogDownload && } - {status !== ITaskStatus.StatusProcessing && + {!loadingStatus.includes(status) && { }; }, []); useEffect(() => { - const needRefresh = taskList.filter(item => item.status === ITaskStatus.StatusProcessing).length > 0; - if(logDimension.id !== undefined && logDimension.status === ITaskStatus.StatusProcessing) { + const loadingStatus = [ITaskStatus.StatusProcessing, ITaskStatus.StatusPending] + const needRefresh = taskList.filter(item => loadingStatus.includes(item.status)).length > 0; + if(logDimension.id !== undefined && loadingStatus.includes(logDimension.status)) { const status = taskList.filter(item => item.id === logDimension.id)[0].status; - if(status !== ITaskStatus.StatusProcessing) { + if(!loadingStatus.includes(status)) { setLogDimension({ id: logDimension.id, space: logDimension.space,