From 56d00fba492deeb5708727356821528447f51971 Mon Sep 17 00:00:00 2001 From: yu <191972707@qq.com> Date: Mon, 2 Nov 2026 15:33:00 +0800 Subject: [PATCH] =?UTF-8?q?revert:=20=E7=A7=BB=E9=99=A4=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E6=89=B9=E9=87=8F=E5=88=A0=E9=99=A4=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 还原 TasksPage/App/app.css 至 1bb28e3 状态(5795c39 及其未提交的布局调整一并撤销) - 应用户要求移除复选框/全选/删除所选 --- src/renderer/src/App.tsx | 21 ------------- src/renderer/src/pages/TasksPage.tsx | 46 ++-------------------------- src/renderer/src/styles/app.css | 22 ------------- 3 files changed, 2 insertions(+), 87 deletions(-) diff --git a/src/renderer/src/App.tsx b/src/renderer/src/App.tsx index a97c410..0253066 100644 --- a/src/renderer/src/App.tsx +++ b/src/renderer/src/App.tsx @@ -175,26 +175,6 @@ export function App() { } }; - const deleteTasks = async (ids: string[]) => { - if (!ids.length) return; - if (ids.length >= flows.length) { - showToast("至少保留一个任务", "error"); - return; - } - if (!window.confirm(`确定删除选中的 ${ids.length} 个任务吗?删除后不可恢复。`)) return; - try { - for (const id of ids) await window.rpa.flows.delete(id); - await refreshFlows(); - if (activeFlowId && ids.includes(activeFlowId)) { - setActiveFlowId(null); - setPage("tasks"); - } - showToast(`已删除 ${ids.length} 个任务`); - } catch (deleteError) { - showToast(deleteError instanceof Error ? deleteError.message : String(deleteError), "error"); - } - }; - const runTask = async (id: string) => { try { const flow = await window.rpa.flows.get(id); @@ -280,7 +260,6 @@ export function App() { onOpenEditor={(id) => void openEditor(id)} onRun={(id) => void runTask(id)} onDelete={(id) => void deleteTask(id)} - onDeleteMany={(ids) => void deleteTasks(ids)} onRefresh={() => refreshFlows()} onToast={showToast} /> diff --git a/src/renderer/src/pages/TasksPage.tsx b/src/renderer/src/pages/TasksPage.tsx index 083f140..152c748 100644 --- a/src/renderer/src/pages/TasksPage.tsx +++ b/src/renderer/src/pages/TasksPage.tsx @@ -23,7 +23,6 @@ interface TasksPageProps { onOpenEditor: (id: string) => void; onRun: (id: string) => void; onDelete: (id: string) => void; - onDeleteMany: (ids: string[]) => void; onRefresh: () => void | Promise; onToast: (message: string, kind?: "ok" | "error") => void; } @@ -47,10 +46,9 @@ function formatDuration(value?: number): string { const RUN_LABEL = { succeeded: "成功", failed: "失败", cancelled: "已取消", never: "未运行" } as const; -export function TasksPage({ flows, onCreate, onCreateExamples, onOpenEditor, onRun, onDelete, onDeleteMany, onRefresh, onToast }: TasksPageProps) { +export function TasksPage({ flows, onCreate, onCreateExamples, onOpenEditor, onRun, onDelete, onRefresh, onToast }: TasksPageProps) { const [query, setQuery] = useState(""); const [selectedId, setSelectedId] = useState(flows[0]?.id || null); - const [checkedIds, setCheckedIds] = useState([]); const [refreshing, setRefreshing] = useState(false); const handleRefresh = async () => { @@ -72,30 +70,12 @@ export function TasksPage({ flows, onCreate, onCreateExamples, onOpenEditor, onR if (!selectedId || !flows.some((flow) => flow.id === selectedId)) setSelectedId(flows[0].id); }, [flows, selectedId]); - // 勾选集合随任务列表变化裁剪,避免残留已删除任务的 id - useEffect(() => { - setCheckedIds((previous) => { - const alive = new Set(flows.map((flow) => flow.id)); - const next = previous.filter((id) => alive.has(id)); - return next.length === previous.length ? previous : next; - }); - }, [flows]); - const filtered = useMemo(() => { const keyword = query.trim().toLowerCase(); if (!keyword) return flows; return flows.filter((flow) => flow.name.toLowerCase().includes(keyword)); }, [flows, query]); - const toggleChecked = (id: string) => { - setCheckedIds((previous) => (previous.includes(id) ? previous.filter((item) => item !== id) : [...previous, id])); - }; - - const allFilteredChecked = filtered.length > 0 && filtered.every((flow) => checkedIds.includes(flow.id)); - const toggleAllFiltered = () => { - setCheckedIds(allFilteredChecked ? [] : filtered.map((flow) => flow.id)); - }; - const selected = flows.find((flow) => flow.id === selectedId) || filtered[0] || null; const enabledCount = flows.filter((flow) => flow.enabled !== false).length; const failedCount = flows.filter((flow) => flow.lastRunStatus === "failed").length; @@ -132,11 +112,6 @@ export function TasksPage({ flows, onCreate, onCreateExamples, onOpenEditor, onR 任务列表 按最近修改时间排序 - {checkedIds.length > 0 && ( - - )}