Files
sam-manage/resources/views/barobill/config/partials/modal-form.blade.php
pro 861192a606 feat:바로빌 회원사관리 멀티테넌트 지원
- 전체 테넌트 보기 토글 추가 (바로빌본사용)
- 테이블에 테넌트 컬럼 표시 (전체 모드에서)
- 회원사 등록 시 테넌트 선택 기능 추가
- 통계 API에도 전체 테넌트 모드 적용
- 컨트롤러에서 tenant_id 직접 지정 지원

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 18:58:39 +09:00

120 lines
6.7 KiB
PHP

<!-- 바로빌 설정 등록/수정 모달 -->
<div id="configModal" class="fixed inset-0 z-50 hidden">
<!-- 배경 오버레이 -->
<div class="fixed inset-0 bg-black/50" onclick="ConfigModal.close()"></div>
<!-- 모달 컨테이너 -->
<div class="fixed inset-0 flex items-center justify-center p-4">
<div class="bg-white rounded-xl shadow-xl w-full max-w-lg max-h-[90vh] overflow-y-auto" onclick="event.stopPropagation()">
<!-- 헤더 -->
<div class="flex items-center justify-between px-6 py-4 border-b border-gray-100">
<h3 id="modalTitle" class="text-lg font-semibold text-gray-800">바로빌 설정 추가</h3>
<button type="button" onclick="ConfigModal.close()" class="text-gray-400 hover:text-gray-600">
<svg class="w-5 h-5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
</svg>
</button>
</div>
<!-- -->
<form id="configForm" onsubmit="ConfigModal.submit(event)" class="p-6 space-y-4">
<!-- 테스트 데이터 버튼 -->
<div class="flex gap-2 mb-4">
<button type="button" onclick="ConfigModal.fillTestData('test')" class="px-3 py-1 text-xs bg-yellow-100 text-yellow-700 rounded hover:bg-yellow-200">
테스트 서버 기본값
</button>
<button type="button" onclick="ConfigModal.fillTestData('production')" class="px-3 py-1 text-xs bg-green-100 text-green-700 rounded hover:bg-green-200">
운영 서버 기본값
</button>
</div>
<!-- 설정 이름 -->
<div>
<label class="block text-sm font-medium text-gray-700 mb-1">
설정 이름 <span class="text-red-500">*</span>
</label>
<input type="text" name="name" required maxlength="50"
placeholder="예: 테스트서버 기본, 운영서버 v2"
class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500">
</div>
<!-- 환경 선택 -->
<div>
<label class="block text-sm font-medium text-gray-700 mb-1">
환경 <span class="text-red-500">*</span>
</label>
<select name="environment" required
class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500">
<option value="test">테스트서버</option>
<option value="production">운영서버</option>
</select>
</div>
<!-- 인증키 (CERTKEY) -->
<div>
<label class="block text-sm font-medium text-gray-700 mb-1">
인증키 (CERTKEY) <span class="text-red-500">*</span>
</label>
<input type="text" name="cert_key" required maxlength="100"
placeholder="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 font-mono">
<p class="mt-1 text-xs text-gray-500">바로빌 개발자센터에서 발급받은 인증키를 입력하세요.</p>
</div>
<!-- 서버 URL -->
<div>
<label class="block text-sm font-medium text-gray-700 mb-1">
서버 URL <span class="text-red-500">*</span>
</label>
<input type="url" name="base_url" required maxlength="255"
placeholder="https://testws.baroservice.com"
class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500">
</div>
<!-- 파트너 사업자번호 -->
<div>
<label class="block text-sm font-medium text-gray-700 mb-1">
파트너 사업자번호
</label>
<input type="text" name="corp_num" maxlength="20"
placeholder="1234567890 (하이픈 제외)"
class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500">
<p class="mt-1 text-xs text-gray-500">코드브릿지엑스 사업자번호 (선택사항)</p>
</div>
<!-- 설명 -->
<div>
<label class="block text-sm font-medium text-gray-700 mb-1">
설명
</label>
<textarea name="description" rows="2" maxlength="500"
placeholder="설정에 대한 메모를 입력하세요"
class="w-full px-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 resize-none"></textarea>
</div>
<!-- 활성화 여부 -->
<div class="flex items-center gap-3 p-4 bg-gray-50 rounded-lg">
<input type="checkbox" name="is_active" id="is_active"
class="w-4 h-4 text-blue-600 border-gray-300 rounded focus:ring-blue-500">
<label for="is_active" class="text-sm text-gray-700">
<span class="font-medium"> 설정을 활성화</span>
<span class="block text-xs text-gray-500">환경당 하나의 설정만 활성화할 있습니다.</span>
</label>
</div>
<!-- 버튼 영역 -->
<div class="flex gap-3 pt-4">
<button type="button" onclick="ConfigModal.close()"
class="flex-1 px-4 py-2.5 border border-gray-300 text-gray-700 rounded-lg hover:bg-gray-50 transition">
취소
</button>
<button type="submit" id="submitBtn"
class="flex-1 px-4 py-2.5 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition">
등록하기
</button>
</div>
</form>
</div>
</div>
</div>