fix(WEB): 마스터데이터 캐시 테넌트 격리 및 상세 템플릿 개선
- masterDataStore: 테넌트별 캐시 격리 로직 강화 - AuthContext: 인증 컨텍스트 안정성 개선 - IntegratedDetailTemplate: 상세 템플릿 동작 수정 - VendorDetail: 거래처 상세 수정 - AttendanceManagement: 타입 정의 추가 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -362,7 +362,7 @@ export function VendorDetail({ mode, vendorId, openModal }: VendorDetailProps) {
|
||||
error={!!validationErrors.businessNumber}
|
||||
/>
|
||||
</div>
|
||||
{renderField('거래처코드', 'vendorCode', formData.vendorCode, { placeholder: '자동생성' })}
|
||||
{renderField('거래처코드', 'vendorCode', formData.vendorCode, { placeholder: '자동생성', disabled: true })}
|
||||
{renderField('거래처명', 'vendorName', formData.vendorName, { required: true })}
|
||||
{renderField('대표자명', 'representativeName', formData.representativeName)}
|
||||
{renderSelectField('거래처 유형', 'category', formData.category, VENDOR_CATEGORY_SELECTOR_OPTIONS, true)}
|
||||
|
||||
@@ -259,7 +259,9 @@ export const HOUR_OPTIONS = Array.from({ length: 24 }, (_, i) => ({
|
||||
|
||||
export const MINUTE_OPTIONS = [
|
||||
{ value: '0', label: '0분' },
|
||||
{ value: '15', label: '15분' },
|
||||
{ value: '30', label: '30분' },
|
||||
{ value: '45', label: '45분' },
|
||||
];
|
||||
|
||||
// 연장 시간 옵션 (0-12시간)
|
||||
|
||||
@@ -232,8 +232,12 @@ function IntegratedDetailTemplateInner<T extends Record<string, unknown>>(
|
||||
setFormData(transformed);
|
||||
}
|
||||
setErrors({});
|
||||
// URL도 view 모드로 변경 (handleEdit와 대칭)
|
||||
if (itemId) {
|
||||
router.push(`/${locale}${config.basePath}/${itemId}?mode=view`);
|
||||
}
|
||||
}
|
||||
}, [onCancel, isCreateMode, navigateToList, initialData, config.transformInitialData]);
|
||||
}, [onCancel, isCreateMode, navigateToList, initialData, config.transformInitialData, itemId, router, locale, config.basePath]);
|
||||
|
||||
// ===== 제출 핸들러 =====
|
||||
const handleSubmit = useCallback(async () => {
|
||||
|
||||
Reference in New Issue
Block a user