diff --git a/src/apis/user.ts b/src/apis/user.ts index f2ba8c0..f68779d 100644 --- a/src/apis/user.ts +++ b/src/apis/user.ts @@ -23,6 +23,11 @@ export const createUser = (data: any, config?: any) => { return http.post("/user/create_org_user", data, config); }; +// 批量创建用户(单条失败不影响其他条目,返回与入参顺序对应的逐条结果) +export const batchCreateUser = (data: any[]) => { + return http.post("/user/batch_create_org_user", data); +}; + export const getUserOrg = () => { return http.get("/uc/org/find"); }; diff --git a/src/routes/admin/user/-components/EditUserDialog.tsx b/src/components/edit-user-dialog.tsx similarity index 93% rename from src/routes/admin/user/-components/EditUserDialog.tsx rename to src/components/edit-user-dialog.tsx index 74b6799..402527d 100644 --- a/src/routes/admin/user/-components/EditUserDialog.tsx +++ b/src/components/edit-user-dialog.tsx @@ -20,7 +20,7 @@ import { zodResolver } from "@hookform/resolvers/zod"; import { z } from "zod"; import { Spinner } from "@/components/ui/spinner"; import { Input } from "@/components/ui/input"; -import { useSaveUser } from "../-hooks/useSaveUser"; +import { useSaveUser } from "@/hooks/useSaveUser"; import { useEffect, useMemo } from "react"; import { Alert, AlertDescription } from "@/components/ui/alert"; @@ -57,7 +57,9 @@ export function EditUserDialog({ refetch, data, }: EditUserDialogProps) { - const isNewUser = useMemo(() => !data?.id, [data]); + // 用户管理页行主键为 id,机构账号页行主键为 userId + const recordId = data?.userId ?? data?.id; + const isNewUser = useMemo(() => !recordId, [recordId]); const formSchema = useMemo(() => getFormSchema(isNewUser), [isNewUser]); const form = useForm>({ @@ -89,7 +91,7 @@ export function EditUserDialog({ }, [open, data, form]); const onSubmit = (values: z.infer) => { - save({ id: data?.id, ...values }); + save({ id: recordId, ...values }); }; return ( diff --git a/src/routes/admin/user/-hooks/useSaveUser.ts b/src/hooks/useSaveUser.ts similarity index 100% rename from src/routes/admin/user/-hooks/useSaveUser.ts rename to src/hooks/useSaveUser.ts diff --git a/src/routes/admin/org-account/index.tsx b/src/routes/admin/org-account/index.tsx index ee7ae73..ccaae94 100644 --- a/src/routes/admin/org-account/index.tsx +++ b/src/routes/admin/org-account/index.tsx @@ -17,6 +17,7 @@ import { useFetchList } from "./-hooks/useFetchList"; import { useUserStatusActions } from "@/hooks/use-user-status-actions"; import { UserActionConfirmDialog } from "./-components/UserActionConfirmDialog"; import { ResetUserPasswordDialog } from "@/components/reset-user-password-dialog"; +import { EditUserDialog } from "@/components/edit-user-dialog"; import { useUserStore } from "@/stores/user"; import { DateRangePicker } from "@/components/date-range-picker"; @@ -40,6 +41,7 @@ export function useColumns({ handleDisable, handleCancelUser, handleResetPassword, + handleEditUser, }: any) { const currentUserId = useUserStore((state: any) => state.user?.id); return [ @@ -133,6 +135,13 @@ export function useColumns({ } return (
+