From b0728aba5c01842e24da3cff04e44be06c6bb655 Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期四, 19 三月 2026 13:38:38 +0800
Subject: [PATCH] #AI.去除多余mcp

---
 rsf-admin/src/page/system/aiPrompt/AiPromptList.jsx |   45 ++++++++++++++++++++++++---------------------
 1 files changed, 24 insertions(+), 21 deletions(-)

diff --git a/rsf-admin/src/page/system/aiPrompt/AiPromptList.jsx b/rsf-admin/src/page/system/aiPrompt/AiPromptList.jsx
index 325b6dc..089af71 100644
--- a/rsf-admin/src/page/system/aiPrompt/AiPromptList.jsx
+++ b/rsf-admin/src/page/system/aiPrompt/AiPromptList.jsx
@@ -10,6 +10,7 @@
     useListContext,
     useNotify,
     useRefresh,
+    useTranslate,
 } from "react-admin";
 import {
     Box,
@@ -31,14 +32,15 @@
 import MyExportButton from "@/page/components/MyExportButton";
 import AiPromptForm from "./AiPromptForm";
 import AiConfigDialog from "../aiShared/AiConfigDialog";
+import AiRuntimeSummary from "../aiShared/AiRuntimeSummary";
 
 const filters = [
     <SearchInput source="condition" alwaysOn />,
-    <TextInput source="code" label="缂栫爜" />,
-    <TextInput source="scene" label="鍦烘櫙" />,
+    <TextInput source="code" label="ai.prompt.fields.code" />,
+    <TextInput source="scene" label="ai.prompt.fields.scene" />,
     <SelectInput
         source="status"
-        label="鐘舵��"
+        label="common.field.status"
         choices={[
             { id: "1", name: "common.enums.statusTrue" },
             { id: "0", name: "common.enums.statusFalse" },
@@ -60,6 +62,7 @@
 };
 
 const AiPromptCards = ({ onView, onEdit, onDelete, deleting }) => {
+    const translate = useTranslate();
     const { data, isLoading } = useListContext();
     const records = useMemo(() => (Array.isArray(data) ? data : []), [data]);
 
@@ -75,9 +78,9 @@
         return (
             <Box px={2} py={6}>
                 <Card variant="outlined" sx={{ p: 3, textAlign: "center", borderStyle: "dashed" }}>
-                    <Typography variant="subtitle1">鏆傛棤 Prompt 閰嶇疆</Typography>
+                    <Typography variant="subtitle1">{translate("ai.prompt.list.emptyTitle")}</Typography>
                     <Typography variant="body2" color="text.secondary" mt={1}>
-                        鏂板缓涓�寮� Prompt 鍗$墖鍚庯紝AI 瀵硅瘽浼氬姩鎬佸姞杞借繖閲岀殑鍐呭銆�
+                        {translate("ai.prompt.list.emptyDescription")}
                     </Typography>
                 </Card>
             </Box>
@@ -110,29 +113,27 @@
                                     <Chip
                                         size="small"
                                         color={record.statusBool ? "success" : "default"}
-                                        label={record.statusBool ? "鍚敤" : "鍋滅敤"}
+                                        label={translate(record.statusBool ? "ai.common.enabled" : "ai.common.disabled")}
                                     />
                                 </Stack>
                                 <Stack direction="row" spacing={1} flexWrap="wrap" useFlexGap mt={1.5}>
-                                    <Chip size="small" variant="outlined" label={`Scene: ${record.scene || "--"}`} />
+                                    <Chip size="small" variant="outlined" label={translate("ai.prompt.list.sceneValue", { value: record.scene || "--" })} />
                                 </Stack>
                                 <Divider sx={{ my: 1.5 }} />
-                                <Typography variant="caption" color="text.secondary">System Prompt</Typography>
+                                <Typography variant="caption" color="text.secondary">{translate("ai.prompt.fields.systemPrompt")}</Typography>
                                 <Typography variant="body2" sx={{ mt: 0.5 }}>
                                     {truncateText(record.systemPrompt)}
                                 </Typography>
-                                <Typography variant="caption" color="text.secondary" display="block" mt={1.5}>
-                                    User Prompt Template
-                                </Typography>
+                                <Typography variant="caption" color="text.secondary" display="block" mt={1.5}>{translate("ai.prompt.fields.userPromptTemplate")}</Typography>
                                 <Typography variant="body2">{truncateText(record.userPromptTemplate, 100)}</Typography>
                             </CardContent>
                             <CardActions sx={{ px: 2, pb: 2, pt: 0, justifyContent: "space-between" }}>
                                 <Stack direction="row" spacing={1}>
                                     <Button size="small" startIcon={<VisibilityOutlinedIcon />} onClick={() => onView(record.id)}>
-                                        璇︽儏
+                                        {translate("ai.common.detail")}
                                     </Button>
                                     <Button size="small" startIcon={<EditOutlinedIcon />} onClick={() => onEdit(record.id)}>
-                                        缂栬緫
+                                        {translate("common.button.edit")}
                                     </Button>
                                 </Stack>
                                 <Button
@@ -142,7 +143,7 @@
                                     onClick={() => onDelete(record)}
                                     disabled={deleting}
                                 >
-                                    鍒犻櫎
+                                    {translate("ai.common.delete")}
                                 </Button>
                             </CardActions>
                         </Card>
@@ -154,6 +155,7 @@
 };
 
 const AiPromptList = () => {
+    const translate = useTranslate();
     const notify = useNotify();
     const refresh = useRefresh();
     const [deleteOne, { isPending: deleting }] = useDelete();
@@ -163,7 +165,7 @@
     const closeDialog = () => setDialogState({ open: false, mode: "create", recordId: null });
 
     const handleDelete = (record) => {
-        if (!record?.id || !window.confirm(`纭鍒犻櫎鈥�${record.name}鈥濆悧锛焋)) {
+        if (!record?.id || !window.confirm(translate("ai.common.confirmDelete", { name: record.name }))) {
             return;
         }
         deleteOne(
@@ -171,20 +173,20 @@
             { id: record.id },
             {
                 onSuccess: () => {
-                    notify("鍒犻櫎鎴愬姛");
+                    notify(translate("ai.common.deleteSuccess"));
                     refresh();
                 },
                 onError: (error) => {
-                    notify(error?.message || "鍒犻櫎澶辫触", { type: "error" });
+                    notify(error?.message || translate("ai.common.deleteFailed"), { type: "error" });
                 },
             }
         );
     };
 
     const dialogTitle = {
-        create: "鏂板缓 Prompt",
-        edit: "缂栬緫 Prompt",
-        show: "鏌ョ湅 Prompt 璇︽儏",
+        create: translate("ai.prompt.dialog.create"),
+        edit: translate("ai.prompt.dialog.edit"),
+        show: translate("ai.prompt.dialog.show"),
     }[dialogState.mode];
 
     return (
@@ -197,12 +199,13 @@
                     <TopToolbar>
                         <FilterButton />
                         <Button variant="contained" startIcon={<AddRoundedIcon />} onClick={() => openDialog("create")}>
-                            鏂板缓
+                            {translate("ai.common.new")}
                         </Button>
                         <MyExportButton />
                     </TopToolbar>
                 )}
             >
+                <AiRuntimeSummary />
                 <AiPromptCards
                     onView={(id) => openDialog("show", id)}
                     onEdit={(id) => openDialog("edit", id)}

--
Gitblit v1.9.1