Former-commit-id: 72bcb5dd9030a00fe60074366b83e5837c790251
Former-commit-id: 9841cfaccc70602d19b288d5df88fdd8aec5678b
1.0
wanggang 5 years ago
parent f728a29fa5
commit 3dc4fd2288

@ -12,99 +12,111 @@
<div class="card card-info"> <div class="card card-info">
<form action="@url" method="post" class="form-horizontal"> <form action="@url" method="post" class="form-horizontal">
<div class="card-body"> <div class="card-body">
@Html.AntiForgeryToken() <div class="row">
<div class="form-group row"> @Html.AntiForgeryToken()
<div class="col-sm-2 col-form-label"></div> <div class="col-sm-6">
@Html.ValidationSummary(true, "错误:", new { @class = "text-danger col-sm-6" }, "div") <div class="form-group row">
<div class="col-sm-4"></div> <div class="col-sm-4 col-form-label"></div>
@Html.ValidationSummary(true, "错误:", new { @class = "text-danger col-sm-6" }, "div")
<div class="col-sm-4"></div>
</div>
</div>
</div> </div>
@foreach (var prop in props) <div class="row">
{ @foreach (var prop in props)
var metadata = prop as Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.DefaultModelMetadata;
var isReadOnly = metadata.Attributes.Attributes.Any(o => o.GetType() == typeof(ReadOnlyAttribute));
var isDisplayOnly = metadata.Attributes.Attributes.Any(o => o.GetType() == typeof(DisplayOnlyAttribute));
var isHidden = metadata.Attributes.Attributes.Any(o => o.GetType() == typeof(HiddenInputAttribute));
if(prop.PropertyName.EndsWith("Checked"))
{
continue;
}
if (isHidden)
{
@Html.Hidden(prop.PropertyName)
continue;
}
if (action == "Edit")
{ {
isReadOnly = isReadOnly || metadata.Attributes.Attributes.Any(o => o.GetType() == typeof(ReadOnlyForEditAttribute)); var metadata = prop as Microsoft.AspNetCore.Mvc.ModelBinding.Metadata.DefaultModelMetadata;
} var isReadOnly = metadata.Attributes.Attributes.Any(o => o.GetType() == typeof(ReadOnlyAttribute));
if (scope != null && scope == ControllerScopeType.Organ && prop.PropertyName == "OrganId") var isDisplayOnly = metadata.Attributes.Attributes.Any(o => o.GetType() == typeof(DisplayOnlyAttribute));
{ var isHidden = metadata.Attributes.Attributes.Any(o => o.GetType() == typeof(HiddenInputAttribute));
@Html.Hidden(prop.PropertyName) if (prop.PropertyName.EndsWith("Checked"))
continue; {
} continue;
if (prop.HideSurroundingHtml || isDisplayOnly) }
{ if (isHidden)
@Html.Hidden(prop.PropertyName) {
continue; @Html.Hidden(prop.PropertyName)
} continue;
var uihit = prop.DataTypeName ?? prop.TemplateHint; }
<div class="form-group row @prop.ModelType.Name @uihit"> if (action == "Edit")
@Html.Label(prop.PropertyName, prop.GetDisplayName() + "", new { @class = "col-sm-4 col-form-label" }) {
<div class="col-sm-4"> isReadOnly = isReadOnly || metadata.Attributes.Attributes.Any(o => o.GetType() == typeof(ReadOnlyForEditAttribute));
@if (isReadOnly) }
{ if (scope != null && scope == ControllerScopeType.Organ && prop.PropertyName == "OrganId")
<div class="form-control" style="border-color:transparent;height:auto;padding-left:0;"> {
@Html.Hidden(prop.PropertyName) @Html.Hidden(prop.PropertyName)
@Html.Display(prop.PropertyName, uihit) continue;
</div> }
} if (prop.HideSurroundingHtml || isDisplayOnly)
else {
{ @Html.Hidden(prop.PropertyName)
var checkedProp = props.FirstOrDefault(o => o.PropertyName == prop.PropertyName + "Checked"); continue;
}
var uihit = prop.DataTypeName ?? prop.TemplateHint;
<div class="col-sm-6">
<div class="form-group row @prop.ModelType.Name @uihit">
@Html.Label(prop.PropertyName, prop.GetDisplayName() + "", new { @class = "col-sm-3 col-form-label" })
<div class="col-sm-4">
@if (isReadOnly)
{
<div class="form-control" style="border-color:transparent;height:auto;padding-left:0;">
@Html.Hidden(prop.PropertyName)
@Html.Display(prop.PropertyName, uihit)
</div>
}
else
{
var checkedProp = props.FirstOrDefault(o => o.PropertyName == prop.PropertyName + "Checked");
@Html.Editor(prop.PropertyName, uihit) @Html.Editor(prop.PropertyName, uihit)
@if (checkedProp != null) @if (checkedProp != null)
{
@Html.CheckBox(checkedProp.PropertyName, new { disabled = "disabled" })
}
}
@Html.ValidationMessage(prop.PropertyName, new { @class = "text-danger" })
</div>
<div class="col-sm-3">
@{
if (metadata != null)
{
var attr = metadata.Attributes.Attributes.OfType<DescriptionAttribute>().FirstOrDefault() as DescriptionAttribute;
if (attr != null && attr.Description != null)
{
<span class="form-control form-control-display">@attr.Description</span>
}
}
}
</div>
</div>
</div>
}
<div id="ajax">
@(await Html.PartialAsync("_Ajax", Model as object))
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="form-group row">
<div class="col-sm-3"> </div>
<div class="col-sm-9">
@if (!DisableBackUrl && string.IsNullOrEmpty(BackUrl))
{ {
@Html.CheckBox(checkedProp.PropertyName,new { disabled= "disabled" }) BackUrl = Url.Action("Index", null);
<a class="btn btn-default" href="@BackUrl">
返回
</a>
} }
} <button class="btn btn-primary" type="submit">
@Html.ValidationMessage(prop.PropertyName, new { @class = "text-danger" }) 确定
</div> </button>
<div class="col-sm-4"> @if (AfterSubmit)
@{
if (metadata != null)
{ {
var attr = metadata.Attributes.Attributes.OfType<DescriptionAttribute>().FirstOrDefault() as DescriptionAttribute; @(await Html.PartialAsync("_AfterSubmit", Model as object))
if (attr != null && attr.Description != null)
{
<span class="form-control form-control-display">@attr.Description</span>
}
} }
} </div>
</div> </div>
</div> </div>
}
<div id="ajax">
@(await Html.PartialAsync("_Ajax", Model as object))
</div>
<div class="form-group row">
<div class="col-sm-4"> </div>
<div class="col-sm-8">
@if (!DisableBackUrl && string.IsNullOrEmpty(BackUrl))
{
BackUrl = Url.Action("Index", null);
<a class="btn btn-default" href="@BackUrl">
返回
</a>
}
<button class="btn btn-primary" type="submit">
确定
</button>
@if (AfterSubmit)
{
@(await Html.PartialAsync("_AfterSubmit", Model as object))
}
</div>
</div> </div>
</div> </div>
</form> </form>

@ -9,7 +9,6 @@ using Microsoft.Extensions.Logging;
using System; using System;
using System.Globalization; using System.Globalization;
using System.Linq; using System.Linq;
using System.Text.RegularExpressions;
using TeacherExt.Entities; using TeacherExt.Entities;
using TeacherExt.Models; using TeacherExt.Models;

@ -520,7 +520,8 @@ namespace TeacherExt.Models
[SkipSearch, SkipList] [SkipSearch, SkipList]
[Required(ErrorMessage = "必填项")] [Required(ErrorMessage = "必填项")]
[Display(Order = 560, Name = "现家庭详细地址(街道-门牌号)")] [Header("现家庭详细地址(街道-门牌号)")]
[Display(Order = 560, Name = "详细地址(街道-门牌号)")]
public string CurrentAddressStreat { get; set; } public string CurrentAddressStreat { get; set; }
[SkipSearch, SkipList] [SkipSearch, SkipList]

@ -1,50 +1,53 @@
<script> @{
$("[data-my-group='JobAsMaxTitle1']").parents('.form-group').hide(); var cls = "col-sm-6";
$("[data-my-group='JobAsMaxTitle2']").parents('.form-group').hide(); }
<script>
$("[data-my-group='JobAsMaxTitle1']").parents('.@cls').hide();
$("[data-my-group='JobAsMaxTitle2']").parents('.@cls').hide();
$('#IsJobAsMaxTitle').change(function () { $('#IsJobAsMaxTitle').change(function () {
if ($(this).val() === "true") { if ($(this).val() === "true") {
$("[data-my-group='JobAsMaxTitle2']").parents('.form-group').hide(); $("[data-my-group='JobAsMaxTitle2']").parents('.@cls').hide();
$("[data-my-group='JobAsMaxTitle1']").parents('.form-group').show(); $("[data-my-group='JobAsMaxTitle1']").parents('.@cls').show();
} }
else { else {
$("[data-my-group='JobAsMaxTitle1']").parents('.form-group').hide(); $("[data-my-group='JobAsMaxTitle1']").parents('.@cls').hide();
$("[data-my-group='JobAsMaxTitle2']").parents('.form-group').show(); $("[data-my-group='JobAsMaxTitle2']").parents('.@cls').show();
} }
}); });
// //
$("#EducationGradeDate").parents('.form-group').hide(); $("#EducationGradeDate").parents('.@cls').hide();
$('#EducationGrade').change(function () { $('#EducationGrade').change(function () {
if ($(this).val()) { if ($(this).val()) {
$("#EducationGradeDate").parents('.form-group').show(); $("#EducationGradeDate").parents('.@cls').show();
} }
else { else {
$("#EducationGradeDate").val('').parents('.form-group').hide(); $("#EducationGradeDate").val('').parents('.@cls').hide();
} }
}); });
// //
$("[data-my-group='HasPosition1']").parents('.form-group').hide(); $("[data-my-group='HasPosition1']").parents('.@cls').hide();
$("[data-my-group='HasPosition2']").parents('.form-group').hide(); $("[data-my-group='HasPosition2']").parents('.@cls').hide();
$('#HasPosition').change(function () { $('#HasPosition').change(function () {
if ($(this).val() === "true") { if ($(this).val() === "true") {
$("[data-my-group='HasPosition2']").parents('.form-group').hide(); $("[data-my-group='HasPosition2']").parents('.@cls').hide();
$("[data-my-group='HasPosition1']").parents('.form-group').show(); $("[data-my-group='HasPosition1']").parents('.@cls').show();
} }
else { else {
$("[data-my-group='HasPosition1']").parents('.form-group').hide(); $("[data-my-group='HasPosition1']").parents('.@cls').hide();
$("[data-my-group='HasPosition2']").parents('.form-group').show(); $("[data-my-group='HasPosition2']").parents('.@cls').show();
} }
}); });
// //
$("[data-my-group='HasPosition11']").parents('.form-group').hide(); $("[data-my-group='HasPosition11']").parents('.@cls').hide();
$("[data-my-group='HasPosition12']").parents('.form-group').hide(); $("[data-my-group='HasPosition12']").parents('.@cls').hide();
$('#IsMiddleLevel').change(function () { $('#IsMiddleLevel').change(function () {
if ($(this).val() === "true") { if ($(this).val() === "true") {
$("[data-my-group='HasPosition12']").parents('.form-group').hide(); $("[data-my-group='HasPosition12']").parents('.@cls').hide();
$("[data-my-group='HasPosition11']").parents('.form-group').show(); $("[data-my-group='HasPosition11']").parents('.@cls').show();
} }
else { else {
$("[data-my-group='HasPosition11']").parents('.form-group').hide(); $("[data-my-group='HasPosition11']").parents('.@cls').hide();
$("[data-my-group='HasPosition12']").parents('.form-group').show(); $("[data-my-group='HasPosition12']").parents('.@cls').show();
} }
}); });
</script> </script>

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save