|
|
|
@ -65,22 +65,23 @@
|
|
|
|
|
</div>
|
|
|
|
|
<div class="row">
|
|
|
|
|
<div class="col-12">
|
|
|
|
|
<table>
|
|
|
|
|
<tr>
|
|
|
|
|
<th><label><input type="checkbox" class="select_all" />全选</label></th>
|
|
|
|
|
@{
|
|
|
|
|
var list = typeof(EditTeacherModel).GetProperties()
|
|
|
|
|
.Select(o => o.GetCustomAttribute<ExcelHeaderAttribute>())
|
|
|
|
|
.Where(o=>o!=null)
|
|
|
|
|
.ToList();
|
|
|
|
|
foreach (var item in list)
|
|
|
|
|
{
|
|
|
|
|
var raw = Model.Headers.Contains(item.Header) ? "checked=\"checked\"" : "";
|
|
|
|
|
<td><label><input type="checkbox" name="headers" value="@item.Header" @Html.Raw(raw) />@item.Headers.Last().Key</label></td>
|
|
|
|
|
}
|
|
|
|
|
<div class="row table">
|
|
|
|
|
<div class="col-sm-3"><label class="th"><input type="checkbox" class="select_all" />全选</label></div>
|
|
|
|
|
@{
|
|
|
|
|
var list = typeof(EditTeacherModel).GetProperties()
|
|
|
|
|
.Select(o => o.GetCustomAttribute<ExcelHeaderAttribute>())
|
|
|
|
|
.Where(o => o != null)
|
|
|
|
|
.ToList();
|
|
|
|
|
foreach (var item in list)
|
|
|
|
|
{
|
|
|
|
|
var display = item.Headers.Last().Key.Replace("\r\n", "");
|
|
|
|
|
var raw = Model.Headers.Contains(item.Header) ? "checked=\"checked\"" : "";
|
|
|
|
|
<div class="col-sm-3">
|
|
|
|
|
<label title="@display" class="td" style="width:100%;white-space:nowrap;text-overflow:ellipsis;overflow: hidden;word-break: break-all;"><input type="checkbox" name="headers" value="@item.Header" @Html.Raw(raw) />@display</label>
|
|
|
|
|
</div>
|
|
|
|
|
}
|
|
|
|
|
</tr>
|
|
|
|
|
</table>
|
|
|
|
|
}
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
@ -182,6 +183,47 @@
|
|
|
|
|
</style>
|
|
|
|
|
}
|
|
|
|
|
@section scripts{
|
|
|
|
|
<script>
|
|
|
|
|
$(function () {
|
|
|
|
|
$(function () {
|
|
|
|
|
$('.th :checkbox').change(function () {
|
|
|
|
|
if ($(this).is(':checked')) {
|
|
|
|
|
$(this).parents('.table').find(':checkbox').not(':checked').prop("checked", true);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
$(this).parents('.table').find(':checkbox').filter(':checked').prop("checked", false);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
$('.td :checkbox').change(function () {
|
|
|
|
|
var parent = $(this).parents('.table').find('.th :checkbox');
|
|
|
|
|
var children = $(this).parents('.table').find('.td :checkbox');
|
|
|
|
|
if ($(this).is(':checked')) {
|
|
|
|
|
if (parent.not(':checked')) {
|
|
|
|
|
if (children.not(':checked').length === 0) {
|
|
|
|
|
parent.prop("indeterminate", false);
|
|
|
|
|
parent.prop("checked", true);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
parent.prop("indeterminate", true);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
if (parent.prop("checked") || parent.prop("indeterminate")) {
|
|
|
|
|
if (children.filter(':checked').length === 0) {
|
|
|
|
|
parent.prop("indeterminate", false);
|
|
|
|
|
parent.prop("checked", false);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
parent.prop("indeterminate", true);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
</script>
|
|
|
|
|
<script>
|
|
|
|
|
$('[data-action]').click(function () {
|
|
|
|
|
$(this).parents('form').attr('action', $(this).attr('data-action'));
|
|
|
|
|