2026-06-03 06:26:54 +03:30
|
|
|
@page
|
|
|
|
|
@model JobsMedical.Web.Pages.Employer.IndexModel
|
|
|
|
|
@{
|
|
|
|
|
ViewData["Title"] = "پنل کارفرما";
|
|
|
|
|
string TypeLabel(FacilityType t) => t switch
|
|
|
|
|
{
|
|
|
|
|
FacilityType.Hospital => "بیمارستان",
|
|
|
|
|
FacilityType.Clinic => "کلینیک",
|
|
|
|
|
_ => "درمانگاه",
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
<div class="page-head">
|
|
|
|
|
<div class="container">
|
|
|
|
|
<h1>پنل مرکز درمانی</h1>
|
|
|
|
|
<p class="muted">شیفتها و موقعیتهای استخدامی مرکز خود را مدیریت کن.</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="container section">
|
|
|
|
|
@if (Model.Facilities.Count == 0)
|
|
|
|
|
{
|
|
|
|
|
<div class="card empty-state">
|
|
|
|
|
<p>هنوز مرکزی ثبت نکردهای.</p>
|
|
|
|
|
<a class="btn btn-accent btn-lg" asp-page="/Employer/RegisterFacility">ثبت مرکز درمانی</a>
|
|
|
|
|
</div>
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
<div class="rec-banner">
|
|
|
|
|
<div>
|
|
|
|
|
<h2 style="margin:0 0 4px;">انتشار فرصت جدید</h2>
|
|
|
|
|
<span style="opacity:.9; font-size:14px;">شیفت یا موقعیت استخدامی منتشر کن</span>
|
|
|
|
|
</div>
|
|
|
|
|
<div style="display:flex; gap:8px;">
|
|
|
|
|
<a class="btn btn-outline" asp-page="/Employer/PostShift">+ شیفت</a>
|
|
|
|
|
<a class="btn btn-outline" asp-page="/Employer/PostJob">+ استخدام</a>
|
|
|
|
|
<a class="btn btn-outline" asp-page="/Employer/RegisterFacility">+ مرکز</a>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="grid grid-3">
|
|
|
|
|
@foreach (var c in Model.Facilities)
|
|
|
|
|
{
|
|
|
|
|
<div class="card card-pad">
|
|
|
|
|
<div class="row" style="display:flex; justify-content:space-between; align-items:center;">
|
|
|
|
|
<span class="facility" style="font-weight:800; font-size:16px;">@c.Facility.Name</span>
|
2026-06-04 16:26:15 +03:30
|
|
|
@switch (c.Facility.Verification)
|
2026-06-03 06:26:54 +03:30
|
|
|
{
|
2026-06-04 16:26:15 +03:30
|
|
|
case JobsMedical.Web.Models.VerificationStatus.Verified:
|
|
|
|
|
<span class="badge badge-verified">✓ تأیید شده</span>
|
|
|
|
|
break;
|
|
|
|
|
case JobsMedical.Web.Models.VerificationStatus.Pending:
|
|
|
|
|
<span class="badge badge-type">در حال بررسی</span>
|
|
|
|
|
break;
|
|
|
|
|
case JobsMedical.Web.Models.VerificationStatus.Rejected:
|
|
|
|
|
<span class="badge badge-gender">رد شده</span>
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
<span class="badge badge-type">تأیید نشده</span>
|
|
|
|
|
break;
|
2026-06-03 06:26:54 +03:30
|
|
|
}
|
|
|
|
|
</div>
|
|
|
|
|
<p class="muted" style="margin:8px 0;">
|
|
|
|
|
@TypeLabel(c.Facility.Type) — 📍 @c.Facility.City?.Name@(c.Facility.District is not null ? "، " + c.Facility.District.Name : "")
|
|
|
|
|
</p>
|
|
|
|
|
<div class="info-row"><span class="k">شیفتهای باز</span><span class="v">@JalaliDate.ToPersianDigits(c.OpenShifts.ToString())</span></div>
|
|
|
|
|
<div class="info-row"><span class="k">موقعیتهای استخدامی</span><span class="v">@JalaliDate.ToPersianDigits(c.OpenJobs.ToString())</span></div>
|
|
|
|
|
<div class="info-row"><span class="k">اعلام تمایلها</span><span class="v" style="color:var(--accent)">@JalaliDate.ToPersianDigits(c.Applicants.ToString())</span></div>
|
|
|
|
|
<a class="btn btn-outline btn-block" style="margin-top:12px;" asp-page="/Employer/Listings" asp-route-facilityId="@c.Facility.Id">مدیریت آگهیها و متقاضیان</a>
|
2026-06-04 16:26:15 +03:30
|
|
|
@if (c.Facility.Verification != JobsMedical.Web.Models.VerificationStatus.Verified)
|
|
|
|
|
{
|
|
|
|
|
<a class="btn btn-outline btn-block" style="margin-top:8px;" asp-page="/Employer/Verify" asp-route-id="@c.Facility.Id">
|
|
|
|
|
@(c.Facility.Verification == JobsMedical.Web.Models.VerificationStatus.Pending ? "مشاهده/افزودن مدارک تأیید" : "درخواست تأیید و بارگذاری مدارک")
|
|
|
|
|
</a>
|
|
|
|
|
}
|
2026-06-03 06:26:54 +03:30
|
|
|
</div>
|
|
|
|
|
}
|
|
|
|
|
</div>
|
|
|
|
|
}
|
|
|
|
|
</div>
|