fix: [card] 품의서 작성 버튼을 실제 품의서 작성 페이지로 이동
- API 호출 방식에서 router.push('/approval/draft/new')로 변경
- 불필요한 isLoadingApproval 상태 및 getApprovalFormUrl import 제거
This commit is contained in:
@@ -40,7 +40,6 @@ import {
|
|||||||
updateCard,
|
updateCard,
|
||||||
deleteCard,
|
deleteCard,
|
||||||
getActiveEmployees,
|
getActiveEmployees,
|
||||||
getApprovalFormUrl,
|
|
||||||
} from './actions';
|
} from './actions';
|
||||||
|
|
||||||
function formatExpiryDate(value: string): string {
|
function formatExpiryDate(value: string): string {
|
||||||
@@ -113,7 +112,6 @@ export function CardDetail({ card, mode: initialMode, isLoading }: CardDetailPro
|
|||||||
const searchParams = useSearchParams();
|
const searchParams = useSearchParams();
|
||||||
const [mode, setMode] = useState(initialMode);
|
const [mode, setMode] = useState(initialMode);
|
||||||
const [isSaving, setIsSaving] = useState(false);
|
const [isSaving, setIsSaving] = useState(false);
|
||||||
const [isLoadingApproval, setIsLoadingApproval] = useState(false);
|
|
||||||
const [employees, setEmployees] = useState<Array<{ id: string; label: string }>>([]);
|
const [employees, setEmployees] = useState<Array<{ id: string; label: string }>>([]);
|
||||||
const [fieldErrors, setFieldErrors] = useState<FieldErrors>({});
|
const [fieldErrors, setFieldErrors] = useState<FieldErrors>({});
|
||||||
|
|
||||||
@@ -216,21 +214,8 @@ export function CardDetail({ card, mode: initialMode, isLoading }: CardDetailPro
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleApprovalForm = async () => {
|
const handleApprovalForm = () => {
|
||||||
if (!card?.id) return;
|
router.push('/ko/approval/draft/new');
|
||||||
setIsLoadingApproval(true);
|
|
||||||
try {
|
|
||||||
const result = await getApprovalFormUrl(card.id);
|
|
||||||
if (result.success && result.data?.url) {
|
|
||||||
window.open(result.data.url, '_blank');
|
|
||||||
} else {
|
|
||||||
toast.error(result.error || '품의서 작성 페이지 URL 조회에 실패했습니다.');
|
|
||||||
}
|
|
||||||
} catch {
|
|
||||||
toast.error('품의서 작성 URL 조회 중 오류가 발생했습니다.');
|
|
||||||
} finally {
|
|
||||||
setIsLoadingApproval(false);
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
if (isLoading) {
|
if (isLoading) {
|
||||||
@@ -353,13 +338,8 @@ export function CardDetail({ card, mode: initialMode, isLoading }: CardDetailPro
|
|||||||
<Button
|
<Button
|
||||||
variant="outline"
|
variant="outline"
|
||||||
onClick={handleApprovalForm}
|
onClick={handleApprovalForm}
|
||||||
disabled={isLoadingApproval}
|
|
||||||
>
|
>
|
||||||
{isLoadingApproval ? (
|
<ExternalLink className="h-4 w-4 mr-2" />
|
||||||
<Loader2 className="h-4 w-4 mr-2 animate-spin" />
|
|
||||||
) : (
|
|
||||||
<ExternalLink className="h-4 w-4 mr-2" />
|
|
||||||
)}
|
|
||||||
품의서 작성
|
품의서 작성
|
||||||
</Button>
|
</Button>
|
||||||
</CardContent>
|
</CardContent>
|
||||||
|
|||||||
Reference in New Issue
Block a user