refactor: 회사 폼 UI 개선 및 코드 정리
Some checks failed
Flutter Test & Quality Check / Test on macos-latest (push) Has been cancelled
Flutter Test & Quality Check / Test on ubuntu-latest (push) Has been cancelled
Flutter Test & Quality Check / Build APK (push) Has been cancelled

- 담당자 연락처 필드를 드롭다운 + 입력 방식으로 분리
- 사용자 폼과 동일한 전화번호 UI 패턴 적용
- 미사용 위젯 파일 4개 정리 (branch_card, contact_info_* 등)
- 파일명 통일성 확보 (branch_edit_screen → branch_form, company_form_simplified → company_form)
- 네이밍 일관성 개선으로 유지보수성 향상
This commit is contained in:
JiWoong Sul
2025-08-18 17:57:16 +09:00
parent 93bceb8a6c
commit 6d745051b5
37 changed files with 2743 additions and 2446 deletions

View File

@@ -97,13 +97,35 @@ class PhoneUtils {
return digitsOnly;
}
/// 접두사와 번호를 합쳐 전체 전화번호 생성 (포맷팅 적용)
/// 접두사와 번호를 합쳐 전체 전화번호 생성 (완전한 형태로 포맷팅)
/// 서버 전송용: "010-1234-5678" 또는 "02-123-4567" 형태
static String getFullPhoneNumber(String prefix, String number) {
final remainingNumber = number.replaceAll(RegExp(r'[^\d]'), '');
if (remainingNumber.isEmpty) return '';
// formatPhoneNumberByPrefix를 사용하여 적절한 포맷팅 적용
return formatPhoneNumberByPrefix(prefix, remainingNumber);
// 접두사에 따른 완전한 전화번호 포맷팅
if (prefix.length == 3 && prefix.startsWith('0') && prefix[2] == '0') {
// 0x0 형태 (010, 070, 050 등): 010-1234-5678
if (remainingNumber.length >= 8) {
final trimmed = remainingNumber.length > 8 ? remainingNumber.substring(0, 8) : remainingNumber;
return '$prefix-${trimmed.substring(0, 4)}-${trimmed.substring(4)}';
} else if (remainingNumber.length > 4) {
return '$prefix-${remainingNumber.substring(0, 4)}-${remainingNumber.substring(4)}';
}
return '$prefix-$remainingNumber';
} else {
// 지역번호 (02, 031 등): 02-123-4567 또는 031-1234-5678
if (remainingNumber.length >= 7) {
if (remainingNumber.length == 7) {
return '$prefix-${remainingNumber.substring(0, 3)}-${remainingNumber.substring(3)}';
} else { // 8자리
return '$prefix-${remainingNumber.substring(0, 4)}-${remainingNumber.substring(4)}';
}
} else if (remainingNumber.length > 3) {
return '$prefix-${remainingNumber.substring(0, 3)}-${remainingNumber.substring(3)}';
}
return '$prefix-$remainingNumber';
}
}
/// 자주 사용되는 전화번호 접두사 목록 반환
static List<String> getCommonPhonePrefixes() {