Detail.cshtml 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. @page "{id:int}"
  2. @using Domain.Entities.Developers.ValueObject
  3. @model Admin.Pages.Developers.Accounts.DetailModel
  4. @{
  5. ViewData["Title"] = "개발자 계정 상세";
  6. }
  7. <div class="container">
  8. <h3>@ViewData["Title"]</h3>
  9. <hr />
  10. <partial name="_StatusMessage" />
  11. @if (Model.Dev == null)
  12. {
  13. <div class="alert alert-warning">계정을 찾을 수 없습니다.</div>
  14. return;
  15. }
  16. <div class="row">
  17. <div class="col-12 col-md-8">
  18. <table class="table table-bordered">
  19. <tr><th style="width:160px">ID</th><td class="text-start">@Model.Dev.ID</td></tr>
  20. <tr><th>회사명</th><td class="text-start">@Model.Dev.CompanyName</td></tr>
  21. <tr><th>사업자번호</th><td class="text-start"><code>@Model.Dev.BusinessNumber</code></td></tr>
  22. <tr><th>대표자</th><td class="text-start">@Model.Dev.CeoName</td></tr>
  23. <tr><th>담당자</th><td class="text-start">@Model.Dev.ContactName (@Model.Dev.ContactPhone)</td></tr>
  24. <tr><th>이메일</th><td class="text-start">@Model.MemberEmail</td></tr>
  25. <tr><th>회원 이름</th><td class="text-start">@(Model.MemberName ?? "-")</td></tr>
  26. <tr>
  27. <th>본인인증</th>
  28. <td class="text-start">
  29. @if (Model.Dev.KycStatus == KycStatus.None)
  30. {
  31. <span class="badge bg-secondary">미진행</span>
  32. }
  33. else if (Model.Dev.KycStatus == KycStatus.Pending)
  34. {
  35. <span class="badge bg-warning text-dark">대기중</span>
  36. }
  37. else if (Model.Dev.KycStatus == KycStatus.Verified)
  38. {
  39. <span class="badge bg-success">완료</span>
  40. }
  41. else
  42. {
  43. <span class="badge bg-danger">거절</span>
  44. }
  45. @if (Model.Dev.KycVerifiedAt.HasValue)
  46. {
  47. <span class="text-muted ms-2">@Model.Dev.KycVerifiedAt.Value.ToString("yyyy-MM-dd HH:mm")</span>
  48. }
  49. </td>
  50. </tr>
  51. <tr>
  52. <th>승인 상태</th>
  53. <td class="text-start">
  54. @if (Model.Dev.ApprovalStatus == DeveloperApprovalStatus.Approved)
  55. {
  56. <span class="badge bg-success">승인됨</span>
  57. }
  58. else if (Model.Dev.ApprovalStatus == DeveloperApprovalStatus.Pending)
  59. {
  60. <span class="badge bg-warning text-dark">대기중</span>
  61. }
  62. else
  63. {
  64. <span class="badge bg-danger">거절됨</span>
  65. }
  66. </td>
  67. </tr>
  68. @if (!string.IsNullOrEmpty(Model.Dev.ApprovalReason))
  69. {
  70. <tr><th>승인 처리 사유</th><td class="text-start">@Model.Dev.ApprovalReason</td></tr>
  71. }
  72. @if (Model.Dev.ApprovedAt.HasValue)
  73. {
  74. <tr><th>승인일</th><td class="text-start">@Model.Dev.ApprovedAt.Value.ToString("yyyy-MM-dd HH:mm")</td></tr>
  75. }
  76. <tr><th>가입일</th><td class="text-start">@Model.Dev.CreatedAt.ToString("yyyy-MM-dd HH:mm")</td></tr>
  77. </table>
  78. </div>
  79. <div class="col-12 col-md-4">
  80. <form method="post" class="mb-3 ">
  81. <h5>승인 / 거절 / 정지</h5>
  82. <textarea name="Reason" class="form-control mb-2" rows="3" placeholder="거절/정지 사유 (선택)">@Model.Reason</textarea>
  83. @if (Model.Dev.ApprovalStatus != DeveloperApprovalStatus.Approved)
  84. {
  85. <button type="submit" asp-page-handler="Approve" class="btn btn-success w-100 mb-2">승인</button>
  86. }
  87. @if (Model.Dev.ApprovalStatus != DeveloperApprovalStatus.Rejected)
  88. {
  89. <button type="submit" asp-page-handler="Reject" class="btn btn-danger w-100 mb-2">거절</button>
  90. }
  91. @if (Model.Dev.ApprovalStatus == DeveloperApprovalStatus.Approved)
  92. {
  93. <button type="submit" asp-page-handler="Suspend" class="btn btn-warning w-100">정지</button>
  94. }
  95. </form>
  96. </div>
  97. </div>
  98. <hr/>
  99. <div class="text-center">
  100. <a asp-page="/Developers/Accounts/Index" class="btn btn-secondary">목록으로</a>
  101. </div>
  102. </div>