75 lines
2.8 KiB
Plaintext
75 lines
2.8 KiB
Plaintext
@page
|
|
@model TaxBaik.Web.Pages.Admin.Inquiries.IndexModel
|
|
@{ ViewData["Title"] = "문의"; }
|
|
|
|
<section class="admin-page-shell">
|
|
@await Html.PartialAsync("_AdminPageHeader", new TaxBaik.Web.Models.AdminPageHeaderModel("Customer Requests", "문의 관리", "상담 요청을 상태별로 확인합니다.", "/admin/inquiries/create", "문의 등록"))
|
|
<form method="get" class="card mb-3">
|
|
<div class="card-body">
|
|
<div class="row g-3 align-items-end">
|
|
<div class="col-md-4">
|
|
<label class="form-label" for="Status">상태</label>
|
|
<input class="form-control" id="Status" name="status" value="@Model.Status" placeholder="new / consulting / contracted ..." />
|
|
</div>
|
|
<div class="col-md-2 d-grid">
|
|
<button class="btn btn-primary" type="submit">필터</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
@if (Model.Items.Count == 0)
|
|
{
|
|
<div class="card">
|
|
<div class="card-body">
|
|
@await Html.PartialAsync("_EmptyState", "문의 목록이 없습니다.")
|
|
</div>
|
|
</div>
|
|
}
|
|
else
|
|
{
|
|
<div class="card">
|
|
<div class="table-responsive">
|
|
<table class="table table-vcenter card-table table-hover">
|
|
<thead>
|
|
<tr>
|
|
<th>이름</th>
|
|
<th>전화</th>
|
|
<th>서비스</th>
|
|
<th>상태</th>
|
|
<th>등록일</th>
|
|
<th class="text-end">작업</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
@foreach (var item in Model.Items)
|
|
{
|
|
<tr>
|
|
<td>@item.Name</td>
|
|
<td>@item.Phone</td>
|
|
<td>@item.ServiceType</td>
|
|
<td>@await Html.PartialAsync("_StatusBadge", item.Status)</td>
|
|
<td>@item.CreatedAt.ToString("yyyy-MM-dd")</td>
|
|
<td class="text-end">
|
|
<div class="btn-list flex-nowrap justify-content-end">
|
|
<a class="btn btn-sm btn-outline-secondary" href="/admin/inquiries/@item.Id">상세</a>
|
|
<a class="btn btn-sm btn-primary" href="/admin/inquiries/@item.Id/edit">수정</a>
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
}
|
|
</section>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|