fix: 입고 채우기 작성자를 실제 로그인 사용자로 변경
- useAuth (mock 시스템) 대신 localStorage 'user' 키에서 실제 로그인 사용자명 조회 - 채우기 실행 시점마다 localStorage를 읽어 항상 최신 사용자 반영
This commit is contained in:
@@ -14,7 +14,7 @@
|
||||
* 2. 수입검사 정보 - 검사일, 검사결과, 업체 제공 성적서 자료
|
||||
*/
|
||||
|
||||
import { useState, useCallback, useEffect, useRef } from 'react';
|
||||
import { useState, useCallback, useEffect } from 'react';
|
||||
import { useRouter } from 'next/navigation';
|
||||
import { Upload, FileText, Search } from 'lucide-react';
|
||||
import { ItemSearchModal } from '@/components/quotes/ItemSearchModal';
|
||||
@@ -47,7 +47,6 @@ import {
|
||||
import { isNextRedirectError } from '@/lib/utils/redirect-error';
|
||||
import { toast } from 'sonner';
|
||||
import { useDevFill, generateReceivingData } from '@/components/dev';
|
||||
import { useAuth } from '@/contexts/AuthContext';
|
||||
|
||||
interface Props {
|
||||
id: string;
|
||||
@@ -82,9 +81,23 @@ function generateLotNo(): string {
|
||||
return `${yy}${mm}${dd}-${seq}`;
|
||||
}
|
||||
|
||||
// localStorage에서 로그인 사용자명 가져오기
|
||||
function getLoggedInUserName(): string {
|
||||
if (typeof window === 'undefined') return '';
|
||||
try {
|
||||
const userData = localStorage.getItem('user');
|
||||
if (userData) {
|
||||
const parsed = JSON.parse(userData);
|
||||
return parsed.name || '';
|
||||
}
|
||||
} catch {
|
||||
// ignore
|
||||
}
|
||||
return '';
|
||||
}
|
||||
|
||||
export function ReceivingDetail({ id, mode = 'view' }: Props) {
|
||||
const router = useRouter();
|
||||
const { currentUser } = useAuth();
|
||||
const isNewMode = mode === 'new' || id === 'new';
|
||||
const isEditMode = mode === 'edit';
|
||||
const isViewMode = mode === 'view' && !isNewMode;
|
||||
@@ -103,12 +116,6 @@ export function ReceivingDetail({ id, mode = 'view' }: Props) {
|
||||
const [isItemSearchOpen, setIsItemSearchOpen] = useState(false);
|
||||
const [isSupplierSearchOpen, setIsSupplierSearchOpen] = useState(false);
|
||||
|
||||
// currentUser를 ref로 추적 (useCallback 내에서 항상 최신 값 참조)
|
||||
const currentUserRef = useRef(currentUser);
|
||||
useEffect(() => {
|
||||
currentUserRef.current = currentUser;
|
||||
}, [currentUser]);
|
||||
|
||||
// Dev 모드 폼 자동 채우기
|
||||
useDevFill(
|
||||
'receiving',
|
||||
@@ -125,7 +132,7 @@ export function ReceivingDetail({ id, mode = 'view' }: Props) {
|
||||
supplier: data.supplier,
|
||||
receivingQty: data.receivingQty,
|
||||
receivingDate: data.receivingDate,
|
||||
createdBy: currentUserRef.current?.name || '',
|
||||
createdBy: getLoggedInUserName(),
|
||||
status: data.status as ReceivingStatus,
|
||||
remark: data.remark,
|
||||
}));
|
||||
|
||||
Reference in New Issue
Block a user