From 1543be88c91c8ebe896a4d93a906ea99ed790781 Mon Sep 17 00:00:00 2001 From: pro Date: Thu, 22 Jan 2026 18:03:12 +0900 Subject: [PATCH] =?UTF-8?q?feat:=EB=B0=94=EB=A1=9C=EB=B9=8C=20API=20?= =?UTF-8?q?=EA=B2=80=EC=A6=9D=20=EA=B1=B4=EB=84=88=EB=9B=B0=EA=B8=B0=20?= =?UTF-8?q?=EC=98=B5=EC=85=98=20UI=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 회원사 등록 모달에 "바로빌 API 검증 건너뛰기" 체크박스 추가 - 이미 바로빌에 등록된 회원사를 로컬 DB에만 저장 가능 - 수정 시에는 체크박스 숨김 처리 Co-Authored-By: Claude Opus 4.5 --- resources/views/barobill/members/index.blade.php | 11 +++++++++++ .../barobill/members/partials/modal-form.blade.php | 11 +++++++++++ 2 files changed, 22 insertions(+) diff --git a/resources/views/barobill/members/index.blade.php b/resources/views/barobill/members/index.blade.php index 43724d57..3764fed0 100644 --- a/resources/views/barobill/members/index.blade.php +++ b/resources/views/barobill/members/index.blade.php @@ -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; diff --git a/resources/views/barobill/members/partials/modal-form.blade.php b/resources/views/barobill/members/partials/modal-form.blade.php index 67111801..57802c3b 100644 --- a/resources/views/barobill/members/partials/modal-form.blade.php +++ b/resources/views/barobill/members/partials/modal-form.blade.php @@ -119,6 +119,17 @@ class="w-10 h-10 flex items-center justify-center rounded-full text-gray-600 hov + + +