From 00a44859a673b388e1dca5f54c4ecaffc5fee30e Mon Sep 17 00:00:00 2001
From: 1 <1@123>
Date: 星期四, 19 三月 2026 10:21:08 +0800
Subject: [PATCH] lsh#0:新增、更新、解禁(只要调用了更新,就代表非禁用了) 1:禁用
---
rsf-admin/src/page/system/aiParam/AiParamCreate.jsx | 180 +++---------------------------------------------------------
1 files changed, 9 insertions(+), 171 deletions(-)
diff --git a/rsf-admin/src/page/system/aiParam/AiParamCreate.jsx b/rsf-admin/src/page/system/aiParam/AiParamCreate.jsx
index 15ed6ac..d6309e9 100644
--- a/rsf-admin/src/page/system/aiParam/AiParamCreate.jsx
+++ b/rsf-admin/src/page/system/aiParam/AiParamCreate.jsx
@@ -1,175 +1,13 @@
import React from "react";
-import {
- CreateBase,
- useTranslate,
- TextInput,
- NumberInput,
- SaveButton,
- SelectInput,
- Toolbar,
- useNotify,
- Form,
-} from 'react-admin';
-import {
- Dialog,
- DialogActions,
- DialogContent,
- DialogTitle,
- Stack,
- Grid,
- Box,
-} from '@mui/material';
-import DialogCloseButton from "@/page/components/DialogCloseButton";
-import StatusSelectInput from "@/page/components/StatusSelectInput";
-import MemoInput from "@/page/components/MemoInput";
+import { Create, SimpleForm } from "react-admin";
+import AiParamForm from "./AiParamForm";
-const yesNoChoices = [
- { id: 1, name: 'common.enums.true' },
- { id: 0, name: 'common.enums.false' },
-];
-
-const providerChoices = [
- { id: 'openai', name: 'OpenAI Compatible' },
- { id: 'mock', name: 'Mock' },
-];
-
-const AiParamCreate = (props) => {
- const { open, setOpen } = props;
-
- const translate = useTranslate();
- const notify = useNotify();
-
- const handleClose = (event, reason) => {
- if (reason !== "backdropClick") {
- setOpen(false);
- }
- };
-
- const handleSuccess = async () => {
- setOpen(false);
- notify('common.response.success');
- };
-
- const handleError = async (error) => {
- notify(error.message || 'common.response.fail', { type: 'error', messageArgs: { _: error.message } });
- };
-
- return (
- <CreateBase
- record={{ defaultFlag: 0, sort: 0, maxContextMessages: 12, status: 1, provider: 'openai' }}
- transform={(data) => {
- return data;
- }}
- mutationOptions={{ onSuccess: handleSuccess, onError: handleError }}
- >
- <Dialog
- open={open}
- onClose={handleClose}
- aria-labelledby="form-dialog-title"
- fullWidth
- disableRestoreFocus
- maxWidth="md"
- >
- <Form>
- <DialogTitle id="form-dialog-title" sx={{
- position: 'sticky',
- top: 0,
- backgroundColor: 'background.paper',
- zIndex: 1000
- }}
- >
- {translate('create.title')}
- <Box sx={{ position: 'absolute', top: 8, right: 8, zIndex: 1001 }}>
- <DialogCloseButton onClose={handleClose} />
- </Box>
- </DialogTitle>
- <DialogContent sx={{ mt: 2 }}>
- <Grid container rowSpacing={2} columnSpacing={2}>
- <Grid item xs={6} display="flex" gap={1}>
- <TextInput label="table.field.aiParam.name" source="name" parse={v => v} fullWidth />
- </Grid>
- <Grid item xs={6} display="flex" gap={1}>
- <TextInput label="table.field.aiParam.modelCode" source="modelCode" parse={v => v} fullWidth />
- </Grid>
- <Grid item xs={6} display="flex" gap={1}>
- <SelectInput
- label="table.field.aiParam.provider"
- source="provider"
- choices={providerChoices}
- fullWidth
- />
- </Grid>
- <Grid item xs={6} display="flex" gap={1}>
- <TextInput
- label="table.field.aiParam.modelName"
- source="modelName"
- parse={v => v}
- helperText="濉啓鐪熷疄妯″瀷鍚嶏紝渚嬪 gpt-4o-mini銆乨eepseek-chat"
- fullWidth
- />
- </Grid>
- <Grid item xs={12} display="flex" gap={1}>
- <TextInput
- label="table.field.aiParam.chatUrl"
- source="chatUrl"
- parse={v => v}
- helperText="鏀寔濉啓 baseUrl锛屽 https://api.openai.com 鎴� https://api.siliconflow.cn锛岀郴缁熶細鑷姩琛ュ叏涓� /v1/chat/completions"
- fullWidth
- />
- </Grid>
- <Grid item xs={12} display="flex" gap={1}>
- <TextInput
- label="table.field.aiParam.apiKey"
- source="apiKey"
- parse={v => v}
- type="password"
- helperText="OpenAI 鎺ュ彛妯″紡涓嬪~鍐� Bearer Token锛屾棤闇�鎵嬪姩鍔� Bearer 鍓嶇紑"
- fullWidth
- />
- </Grid>
- <Grid item xs={6} display="flex" gap={1}>
- <NumberInput label="table.field.aiParam.maxContextMessages" source="maxContextMessages" fullWidth />
- </Grid>
- <Grid item xs={6} display="flex" gap={1}>
- <NumberInput label="table.field.aiParam.sort" source="sort" fullWidth />
- </Grid>
- <Grid item xs={6} display="flex" gap={1}>
- <SelectInput
- label="table.field.aiParam.defaultFlag"
- source="defaultFlag"
- choices={yesNoChoices}
- fullWidth
- />
- </Grid>
- <Grid item xs={6} display="flex" gap={1}>
- <StatusSelectInput fullWidth />
- </Grid>
- <Grid item xs={12} display="flex" gap={1}>
- <TextInput
- label="table.field.aiParam.systemPrompt"
- source="systemPrompt"
- parse={v => v}
- fullWidth
- multiline
- minRows={4}
- />
- </Grid>
- <Grid item xs={12} display="flex" gap={1}>
- <Stack direction="column" spacing={1} width={'100%'}>
- <MemoInput />
- </Stack>
- </Grid>
- </Grid>
- </DialogContent>
- <DialogActions sx={{ position: 'sticky', bottom: 0, backgroundColor: 'background.paper', zIndex: 1000 }}>
- <Toolbar sx={{ width: '100%', justifyContent: 'space-between' }} >
- <SaveButton />
- </Toolbar>
- </DialogActions>
- </Form>
- </Dialog>
- </CreateBase>
- )
-}
+const AiParamCreate = () => (
+ <Create redirect="list">
+ <SimpleForm defaultValues={{ providerType: "OPENAI_COMPATIBLE", temperature: 0.7, topP: 1, timeoutMs: 60000, streamingEnabled: true, status: 1 }}>
+ <AiParamForm />
+ </SimpleForm>
+ </Create>
+);
export default AiParamCreate;
--
Gitblit v1.9.1