diff --git a/apps/server/src/queue/types.ts b/apps/server/src/queue/types.ts index d986daa..88acd7f 100755 --- a/apps/server/src/queue/types.ts +++ b/apps/server/src/queue/types.ts @@ -1,4 +1,4 @@ -import { VisitType } from 'packages/common/dist'; +import { VisitType } from '@nice/common'; export enum QueueJobType { UPDATE_STATS = 'update_stats', FILE_PROCESS = 'file_process', diff --git a/apps/web/src/components/layout/element/usermenu.tsx b/apps/web/src/components/layout/element/usermenu.tsx index 6363dfb..2fab536 100644 --- a/apps/web/src/components/layout/element/usermenu.tsx +++ b/apps/web/src/components/layout/element/usermenu.tsx @@ -120,7 +120,7 @@ export function UserMenu() { {/* 用户信息,显示在 Avatar 右侧 */} -
+
{user?.showname || user?.username} diff --git a/apps/web/src/components/layout/main/Header.tsx b/apps/web/src/components/layout/main/Header.tsx index 5289417..ade7a88 100644 --- a/apps/web/src/components/layout/main/Header.tsx +++ b/apps/web/src/components/layout/main/Header.tsx @@ -7,28 +7,24 @@ import { UserOutlined } from "@ant-design/icons"; import { UserMenu } from "../element/usermenu"; import SineWavesCanvas from "../../animation/sine-wave"; interface HeaderProps { - onSearch?: (query: string) => void; + onSearch?: (query: string) => void; } export const Header = memo(function Header({ onSearch }: HeaderProps) { - const { isAuthenticated } = useAuth() - return ( -
-
-
-
-
- - 领导机关信箱 -
-
- -
-
- - { - !isAuthenticated ? +
+
+
+
领导机关信箱
+
+ +
+
+ {!isAuthenticated ? ( + - + - 登录 - : - - - } -
-
-
- -
-
- ); -}); \ No newline at end of file + 登录 + + ) : ( + + )} +
+
+ + + + + ); +}); diff --git a/apps/web/src/components/models/staff/staff-form.tsx b/apps/web/src/components/models/staff/staff-form.tsx index 0577c3f..070a9f5 100644 --- a/apps/web/src/components/models/staff/staff-form.tsx +++ b/apps/web/src/components/models/staff/staff-form.tsx @@ -6,6 +6,7 @@ import { api } from "@nice/client"; import { StaffEditorContext } from "./staff-editor"; import { useAuth } from "@web/src/providers/auth-provider"; import AvatarUploader from "../../common/uploader/AvatarUploader"; +import { StaffDto } from "@nice/common"; export default function StaffForm() { const { create, update } = useStaff(); // Ensure you have these methods in your hooks const { @@ -18,7 +19,13 @@ export default function StaffForm() { canManageAnyStaff, setEditId, } = useContext(StaffEditorContext); - const { data, isLoading } = api.staff.findFirst.useQuery( + const { + data, + isLoading, + }: { + data: StaffDto; + isLoading: boolean; + } = api.staff.findFirst.useQuery( { where: { id: editId } }, { enabled: !!editId } ); @@ -33,6 +40,7 @@ export default function StaffForm() { phoneNumber, officerId, enabled, + photoUrl, } = values; setFormLoading(true); try { @@ -48,6 +56,9 @@ export default function StaffForm() { phoneNumber, officerId, enabled, + meta: { + photoUrl, + }, }, }); } else { @@ -60,6 +71,9 @@ export default function StaffForm() { password, officerId, phoneNumber, + meta: { + photoUrl, + }, }, }); form.resetFields(); @@ -85,6 +99,7 @@ export default function StaffForm() { form.setFieldValue("officerId", data.officerId); form.setFieldValue("phoneNumber", data.phoneNumber); form.setFieldValue("enabled", data.enabled); + form.setFieldValue("photoUrl", data?.meta?.photoUrl); } }, [data]); useEffect(() => { @@ -107,53 +122,68 @@ export default function StaffForm() { requiredMark="optional" autoComplete="off" onFinish={handleFinish}> - - - +
+
+ + + +
+
+ + + + + + + + + +
+
{canManageAnyStaff && ( )} - - - - - - - - -