diff --git a/web/src/api/memory.ts b/web/src/api/memory.ts index 9a464893..1ec2d7dc 100644 --- a/web/src/api/memory.ts +++ b/web/src/api/memory.ts @@ -2,7 +2,7 @@ * @Author: ZhaoYing * @Date: 2026-02-03 14:00:06 * @Last Modified by: ZhaoYing - * @Last Modified time: 2026-03-19 18:35:10 + * @Last Modified time: 2026-03-24 17:48:01 */ import { request } from '@/utils/request' import type { AxiosRequestConfig } from 'axios' @@ -87,12 +87,13 @@ export const getUserSummary = (end_user_id: string) => { export const getNodeStatistics = (end_user_id: string) => { return request.get(`/memory-storage/analytics/node_statistics`, { end_user_id }) } -// Basic information -export const getEndUserProfile = (end_user_id: string) => { - return request.get(`/memory-storage/read_end_user/profile`, { end_user_id }) +// 查询用户别名及信息 +export const getEndUserInfo = (end_user_id: string) => { + return request.get(`/memory-storage/end_user_info`, { end_user_id }) } -export const updatedEndUserProfile = (values: EndUser) => { - return request.post(`/memory-storage/updated_end_user/profile`, values) +// 更新用户别名及信息 +export const updatedEndUserInfo = (values: EndUser) => { + return request.post(`/memory-storage/end_user_info/updated`, values) } // User Memory - Relationship network export const getMemorySearchEdges = (end_user_id: string, config?: AxiosRequestConfig) => { diff --git a/web/src/views/UserMemoryDetail/components/EndUserProfile.tsx b/web/src/views/UserMemoryDetail/components/EndUserProfile.tsx index d2364001..0533efc8 100644 --- a/web/src/views/UserMemoryDetail/components/EndUserProfile.tsx +++ b/web/src/views/UserMemoryDetail/components/EndUserProfile.tsx @@ -2,7 +2,7 @@ * @Author: ZhaoYing * @Date: 2026-02-03 18:33:30 * @Last Modified by: ZhaoYing - * @Last Modified time: 2026-02-11 14:51:00 + * @Last Modified time: 2026-03-24 17:55:02 */ /** * End User Profile Component @@ -18,7 +18,7 @@ import clsx from 'clsx' import RbCard from '@/components/RbCard/Card' import { - getEndUserProfile, + getEndUserInfo, } from '@/api/memory' import EndUserProfileModal from './EndUserProfileModal' import type { EndUser, EndUserProfileModalRef, EndUserProfileRef } from '../types' @@ -31,7 +31,7 @@ interface EndUserProfileProps { className?: string; } -const EndUserProfile = forwardRef(({ onDataLoaded, className }, ref) => { +const EndUserProfile = forwardRef(({ className }, ref) => { const { t } = useTranslation() const { id } = useParams() const endUserProfileModalRef = useRef(null) @@ -47,13 +47,9 @@ const EndUserProfile = forwardRef(({ onD const getData = () => { if (!id) return setLoading(true) - getEndUserProfile(id).then((res) => { + getEndUserInfo(id).then((res) => { const userData = res as EndUser setData(userData) - onDataLoaded?.({ - other_name: userData.other_name, - id: userData.id - }) setLoading(false) }) .finally(() => { @@ -62,10 +58,10 @@ const EndUserProfile = forwardRef(({ onD } /** Format profile items for display */ const formatItems = useCallback(() => { - return ['other_name', 'position', 'department', 'contact', 'phone', 'hire_date'].map(key => ({ + return ['other_name'].map(key => ({ key, label: t(`userMemory.${key}`), - children: key === 'hire_date' && data?.[key] ? dayjs(data[key as keyof EndUser]).format('YYYY-MM-DD') : String(data?.[key as keyof EndUser] || '-'), + children: String(data?.[key as keyof EndUser] || '-'), })) }, [data]) /** Open edit modal */ @@ -102,7 +98,7 @@ const EndUserProfile = forwardRef(({ onD ))}
- {t('userMemory.updated_at')}: {data?.updatetime_profile ? dayjs(data?.updatetime_profile).format('YYYY/MM/DD HH:mm:ss') : ''} + {t('userMemory.updated_at')}: {data?.updated_at ? dayjs(data?.updated_at).format('YYYY/MM/DD HH:mm:ss') : ''}
} diff --git a/web/src/views/UserMemoryDetail/components/EndUserProfileModal.tsx b/web/src/views/UserMemoryDetail/components/EndUserProfileModal.tsx index 9e3fe8f8..5139cd6e 100644 --- a/web/src/views/UserMemoryDetail/components/EndUserProfileModal.tsx +++ b/web/src/views/UserMemoryDetail/components/EndUserProfileModal.tsx @@ -1,8 +1,8 @@ /* * @Author: ZhaoYing * @Date: 2026-02-03 18:33:21 - * @Last Modified by: ZhaoYing - * @Last Modified time: 2026-02-03 18:33:21 + * @Last Modified by: ZhaoYing + * @Last Modified time: 2026-03-24 17:58:43 */ /** * End User Profile Modal @@ -10,13 +10,12 @@ */ import { forwardRef, useImperativeHandle, useState } from 'react'; -import { Form, Input, App, DatePicker } from 'antd'; +import { Form, Input, App } from 'antd'; import { useTranslation } from 'react-i18next'; -import dayjs from 'dayjs'; import type { EndUser, EndUserProfileModalRef } from '../types' import RbModal from '@/components/RbModal' -import { updatedEndUserProfile, } from '@/api/memory' +import { updatedEndUserInfo } from '@/api/memory' const FormItem = Form.Item; @@ -35,6 +34,7 @@ const EndUserProfileModal = forwardRef(); const [loading, setLoading] = useState(false) + const [editVo, setEditVo] = useState(null) const values = Form.useWatch([], form); @@ -47,11 +47,8 @@ const EndUserProfileModal = forwardRef { - form.setFieldsValue({ - ...user, - end_user_id: user.id, - hire_date: user.hire_date ? dayjs(user.hire_date) : undefined - }); + setEditVo(user) + form.setFieldsValue(user); setVisible(true); }; /** Save profile changes */ @@ -60,9 +57,10 @@ const EndUserProfileModal = forwardRef { setLoading(true) - updatedEndUserProfile({ + updatedEndUserInfo({ + ...editVo, ...values, - hire_date: values.hire_date?.valueOf() || null + // hire_date: values.hire_date?.valueOf() || null }) .then(() => { setLoading(false) @@ -105,7 +103,7 @@ const EndUserProfileModal = forwardRef - @@ -134,7 +132,7 @@ const EndUserProfileModal = forwardRef - + */} ); diff --git a/web/src/views/UserMemoryDetail/types.ts b/web/src/views/UserMemoryDetail/types.ts index 72e896ad..9e56bb5d 100644 --- a/web/src/views/UserMemoryDetail/types.ts +++ b/web/src/views/UserMemoryDetail/types.ts @@ -2,15 +2,13 @@ * @Author: ZhaoYing * @Date: 2026-02-03 17:57:15 * @Last Modified by: ZhaoYing - * @Last Modified time: 2026-03-13 11:49:52 + * @Last Modified time: 2026-03-24 17:58:54 */ /** * User Memory Detail Types * Type definitions for user memory detail views including nodes, edges, and statistics */ -import type { Dayjs } from "dayjs"; - /** * User memory data structure */ @@ -171,15 +169,13 @@ export interface NodeStatisticsItem { * End user profile */ export interface EndUser { - end_user_id: string; - id: string; other_name: string; - position: string; - department: string; - contact: string; - phone: string; - hire_date: string | number | Dayjs | null; - updatetime_profile?: number; + aliases: string | null; + meta_data: Record; + end_user_info_id: string; + end_user_id: string; + created_at: string; + updated_at: string; } /** * End user profile modal ref