feat:바로빌 API 검증 건너뛰기 옵션 UI 추가

- 회원사 등록 모달에 "바로빌 API 검증 건너뛰기" 체크박스 추가
- 이미 바로빌에 등록된 회원사를 로컬 DB에만 저장 가능
- 수정 시에는 체크박스 숨김 처리

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
pro
2026-01-22 18:03:12 +09:00
parent 1fa1e632ca
commit 1543be88c9
2 changed files with 22 additions and 0 deletions

View File

@@ -145,6 +145,8 @@ class="w-full px-4 py-2 border border-gray-300 text-gray-700 rounded-lg hover:bg
document.getElementById('barobillIdField').classList.remove('hidden'); // 아이디 표시
document.getElementById('pwdRequired').classList.remove('hidden'); // 필수 표시
document.getElementById('pwdHint').classList.add('hidden'); // 힌트 숨김
// API 검증 건너뛰기 체크박스 표시 (신규 등록 시에만)
document.getElementById('skipApiField').classList.remove('hidden');
this.modal.classList.remove('hidden');
},
@@ -159,6 +161,8 @@ class="w-full px-4 py-2 border border-gray-300 text-gray-700 rounded-lg hover:bg
document.getElementById('barobillIdField').classList.add('hidden'); // 아이디는 숨김
document.getElementById('pwdRequired').classList.add('hidden'); // 필수 표시 숨김
document.getElementById('pwdHint').classList.remove('hidden'); // 힌트 표시
// API 검증 건너뛰기 체크박스 숨김 (수정 시에는 불필요)
document.getElementById('skipApiField').classList.add('hidden');
// 데이터 로드
fetch(`/api/admin/barobill/members/${id}`, {
@@ -199,6 +203,9 @@ class="w-full px-4 py-2 border border-gray-300 text-gray-700 rounded-lg hover:bg
this.form.reset();
this.form.biz_no.disabled = false;
this.form.barobill_id.disabled = false;
// 체크박스 초기화
const skipApiCheckbox = this.form.querySelector('input[name="skip_api"]');
if (skipApiCheckbox) skipApiCheckbox.checked = false;
},
async submit(e) {
@@ -207,10 +214,14 @@ class="w-full px-4 py-2 border border-gray-300 text-gray-700 rounded-lg hover:bg
const formData = new FormData(this.form);
const data = Object.fromEntries(formData.entries());
// skip_api 체크박스 값을 boolean으로 변환
data.skip_api = this.form.querySelector('input[name="skip_api"]')?.checked || false;
// 수정 시 disabled 필드 제외
if (this.isEditing) {
delete data.biz_no;
delete data.barobill_id;
delete data.skip_api; // 수정 시에는 skip_api 불필요
// 비밀번호가 비어있으면 제외 (서버에서도 빈 값은 무시)
if (!data.barobill_pwd) {
delete data.barobill_pwd;

View File

@@ -119,6 +119,17 @@ class="w-10 h-10 flex items-center justify-center rounded-full text-gray-600 hov
<option value="pending">대기중</option>
</select>
</div>
<!-- 바로빌 API 검증 건너뛰기 (신규 등록 시에만 표시) -->
<div id="skipApiField" class="col-span-2 hidden">
<label class="flex items-center gap-3 p-3 bg-amber-50 border border-amber-200 rounded-lg cursor-pointer hover:bg-amber-100 transition-colors">
<input type="checkbox" name="skip_api" value="1" class="w-5 h-5 rounded border-amber-300 text-amber-600 focus:ring-amber-500">
<div>
<span class="font-bold text-amber-800">바로빌 API 검증 건너뛰기</span>
<p class="text-xs text-amber-600 mt-0.5">이미 바로빌에 등록된 회원사를 로컬 DB에만 저장합니다</p>
</div>
</label>
</div>
</div>
<!-- 버튼 -->