JPHD-2021-backend/Pages/Sessions/Index.cshtml

168 lines
5.8 KiB
Plaintext

@page
@model _2021_backend.Pages.Sessions.IndexModel
@{
ViewData["Title"] = "活动时间管理";
}
<h5 class="text-red">
<strong>@Html.DisplayFor(model => Model.Errmsg)</strong>
</h5>
<h5><strong>全部活动场次</strong></h5>
<a asp-page="./Create" class="btn btn-outline-info m-2">创建新的场次</a>
<a asp-page="./Export" class="btn btn-outline-info m-2">导出</a>
<form class="form-inline" method="post">
<div class="m-2">
筛选日期
<select asp-for="Day" asp-items="Model.DayList" class="form-control">
<option value="">全部</option>
</select>
</div>
<div class="m-2">
筛选场次
<select asp-for="Room" class="form-control">
<option value="">全部</option>
<option value="200">200</option>
<option value="204">204</option>
</select>
</div>
<div class="m-2">
<label class="form-check-label">
只显示未满场次
<input class="form-check-input" asp-for="onlyShowUnFull" />
</label>
</div>
<input type="submit" value="筛选" class="btn btn-outline-primary m-2" />
<input type="submit" value="自动生成新的排班" class="btn btn-outline-warning m-2" asp-page-handler="Arrange" />
<input type="submit" value="全部清空" class="btn btn-outline-danger m-2" asp-page-handler="ClearAll" />
<input type="submit" value="整理一下" class="btn btn-outline-info m-2" asp-page-handler="Tidy" />
<input type="submit" value="重置全部场次" class="btn btn-outline-danger m-2" asp-page-handler="ResetAll" />
<input type="submit" value="保存当前结果" class="btn btn-outline-danger m-2" asp-page-handler="Save" />
<div class="m-2">
加载存档
<select asp-for="savename" class="form-control" asp-items="Model.Files">
</select>
</div>
<input type="submit" value="Go!" class="btn btn-outline-danger m-2" asp-page-handler="Load" />
@*<input type="submit" value="保存这个结果!" class="btn btn-outline-warning m-2" asp-page-handler="Save"/>
<div class="m-2">
加载以前的结果
<select asp-for="TargetIndex" class="form-control" asp-items="@Model.SaveNames">
</select>
</div>*@
@*<input type="submit" value="Load!" class="btn btn-outline-primary m-2" asp-page-handler="Load"/>*@
</form>
<table class="table">
<thead>
<tr>
<th>
序号
</th>
<th>
@Html.DisplayNameFor(model => model.LoadedSessions[0].Day)
</th>
<th>
@Html.DisplayNameFor(model => model.LoadedSessions[0].BeginTime)
</th>
<th>
@Html.DisplayNameFor(model => model.LoadedSessions[0].Place)
</th>
<th>
@Html.DisplayNameFor(model => model.LoadedSessions[0].Chiefs)
</th>
<th>
容量
</th>
<th>
剩余容量
</th>
<th>
@Html.DisplayNameFor(model => model.LoadedSessions[0].SendSMS)
</th>
<th>
参与者
</th>
<th>
操作
</th>
</tr>
</thead>
<tbody>
@{
var idx = 0;
}
@foreach (var item in Model.LoadedSessions)
{
<tr class="@{
if (item.Day.Date.Add(item.BeginTime.TimeOfDay).CompareTo(DateTime.Now) < 0)
@("table-secondary")
else if (item.Students.Count == item.Capacity)
@("table-warning")
else if(item.Place=="200")
@("table-success")
else
@("table-info")
} ">
<td>
@{
idx++;
@Html.DisplayFor(mi => idx)
}
</td>
<td>
@Html.DisplayFor(modelItem => item.Day)
</td>
<td>
@Html.DisplayFor(modelItem => item.BeginTime)
</td>
<td>
@Html.DisplayFor(modelItem => item.Place)
</td>
<td>
@{
var str = "";
foreach (var i in item.Chiefs)
{
str += Model.Context.Users.Find(i).Name + " ";
}
@Html.DisplayFor(modelItem => str)
;
}
</td>
<td>
@Html.DisplayFor(modelItem => item.Capacity)
</td>
<td>
@{
var cnt = item.Capacity - item.Students.Count;
@Html.DisplayFor(modelItem => cnt)
}
</td>
<td>
@Html.DisplayFor(modelItem => item.SendSMS)
</td>
<td>
@foreach (var it in item.Students)
{
var q = Model.Context.Students.Find(it);
var s = q.Name;
<a asp-page="/Students/Details" asp-route-idstr=@it.ToString()>@Html.DisplayFor(modelItem => s)</a>
@:&nbsp
}
</td>
<td>
<a asp-page="./Edit" asp-route-id="@item.Id">编辑</a> |
<a asp-page="./Delete" asp-route-id="@item.Id">删除</a> |
<a asp-page-handler="Reset" asp-route-id="@item.Id">重置</a>
</td>
</tr>
}
</tbody>
</table>