feat(WEB): 작업지시 수정 페이지 및 생산 관리 기능 개선

신규 기능:
- 작업지시 수정 페이지 추가 (/production/work-orders/[id]/edit)
- WorkOrderEdit 컴포넌트 신규 생성
- bulk-actions.ts 일괄 작업 유틸리티 추가
- toast-utils.ts 알림 유틸리티 추가

기능 개선:
- ProductionDashboard 대시보드 액션 및 표시 개선
- WorkOrderCreate 생성 화면 개선
- WorkResultList 작업 결과 목록 타입 및 표시 개선
- EstimateDetailForm 견적 폼 개선
- QuoteRegistration 견적 등록 개선
- client-management-sales-admin 거래처 관리 개선
- error-handler.ts 에러 처리 개선
This commit is contained in:
2026-01-16 15:39:02 +09:00
parent 34deb61632
commit 98b65a6ca4
18 changed files with 1157 additions and 89 deletions

View File

@@ -104,14 +104,31 @@ export const handleApiError = async (response: Response): Promise<never> => {
);
};
/**
* 디버그 모드 설정
* - true: 에러 코드 표시 (개발/테스트)
* - false: 메시지만 표시 (프로덕션)
*
* TODO: 프로덕션 배포 시 false로 변경하거나 환경변수 사용
*/
const SHOW_ERROR_CODE = true;
/**
* 에러 객체에서 사용자 친화적인 메시지 추출
* @param error - 발생한 에러 객체 (ApiError, Error, unknown)
* @param includeCode - 에러 코드 포함 여부 (기본값: SHOW_ERROR_CODE 설정 따름)
* @returns 사용자에게 표시할 에러 메시지
*/
export const getErrorMessage = (error: unknown): string => {
export const getErrorMessage = (error: unknown, includeCode?: boolean): string => {
const showCode = includeCode ?? SHOW_ERROR_CODE;
if (error instanceof DuplicateCodeError) {
return showCode
? `[${error.status}] ${error.message} (코드: ${error.duplicateCode})`
: error.message;
}
if (error instanceof ApiError) {
return error.message;
return showCode ? `[${error.status}] ${error.message}` : error.message;
}
if (error instanceof Error) {
return error.message;