|
|
|
@ -2,10 +2,13 @@
|
|
|
|
|
using Infrastructure.Extensions;
|
|
|
|
|
using Microsoft.AspNetCore.Authorization;
|
|
|
|
|
using Microsoft.AspNetCore.Mvc;
|
|
|
|
|
using Microsoft.AspNetCore.Mvc.ModelBinding;
|
|
|
|
|
using Microsoft.AspNetCore.Mvc.Rendering;
|
|
|
|
|
using Microsoft.EntityFrameworkCore;
|
|
|
|
|
using Microsoft.Extensions.Hosting;
|
|
|
|
|
using Microsoft.Extensions.Logging;
|
|
|
|
|
using Newtonsoft.Json;
|
|
|
|
|
using Newtonsoft.Json.Serialization;
|
|
|
|
|
using NPOI.SS.UserModel;
|
|
|
|
|
using NPOI.XSSF.UserModel;
|
|
|
|
|
using System;
|
|
|
|
@ -13,20 +16,26 @@ using System.Collections.Generic;
|
|
|
|
|
using System.Globalization;
|
|
|
|
|
using System.IO;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Text;
|
|
|
|
|
using TeacherExt.Entities;
|
|
|
|
|
using TeacherExt.Models;
|
|
|
|
|
|
|
|
|
|
namespace TeacherExt.Controllers
|
|
|
|
|
{
|
|
|
|
|
[Authorize]
|
|
|
|
|
[ApiController]
|
|
|
|
|
[Route("[controller]/[action]")]
|
|
|
|
|
public class HomeController : Controller
|
|
|
|
|
{
|
|
|
|
|
private readonly IHostEnvironment _env;
|
|
|
|
|
|
|
|
|
|
private readonly ILogger<HomeController> _logger;
|
|
|
|
|
|
|
|
|
|
private readonly IRepository<Organ> _organRepo;
|
|
|
|
|
|
|
|
|
|
private readonly IRepository<User> _userRepo;
|
|
|
|
|
|
|
|
|
|
private readonly IRepository<Teacher> _teacherRepo;
|
|
|
|
|
|
|
|
|
|
private readonly IRepository<CheckLog> _checkLogRepo;
|
|
|
|
|
|
|
|
|
|
public HomeController(IHostEnvironment env,
|
|
|
|
@ -44,6 +53,8 @@ namespace TeacherExt.Controllers
|
|
|
|
|
this._checkLogRepo = checkLogRepo;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[HttpGet]
|
|
|
|
|
[Route("/")]
|
|
|
|
|
public IActionResult Index(QueryTeacherModel model)
|
|
|
|
|
{
|
|
|
|
|
var query = Query(model);
|
|
|
|
@ -68,9 +79,10 @@ namespace TeacherExt.Controllers
|
|
|
|
|
model.List.AddRange(list);
|
|
|
|
|
ViewData.SelectList(o => model.RequestEditStatus, () => this.GetRequestEditStatus(model.RequestEditStatus));
|
|
|
|
|
ViewData.SelectList(o => model.CheckStatus, () => this.GetCheckStatus(model.CheckStatus));
|
|
|
|
|
return View(model);
|
|
|
|
|
return Result<EditTeacherModel>(model);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[HttpGet]
|
|
|
|
|
public IActionResult Details(Guid userId)
|
|
|
|
|
{
|
|
|
|
|
var entity = this._userRepo.ReadOnlyTable()
|
|
|
|
@ -88,24 +100,25 @@ namespace TeacherExt.Controllers
|
|
|
|
|
model.RealName = entity.RealName;
|
|
|
|
|
this.EntityToModel(entity.Teacher, model);
|
|
|
|
|
this.ToEditModel(entity.Teacher, model);
|
|
|
|
|
return View(model);
|
|
|
|
|
return Result<EditTeacherModel>(model);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[HttpPost]
|
|
|
|
|
public IActionResult Details(EditTeacherModel model)
|
|
|
|
|
public IActionResult Details([FromForm] EditTeacherModel model)
|
|
|
|
|
{
|
|
|
|
|
ValidEditModel(model);
|
|
|
|
|
var entity = this._userRepo.Table().Include(o => o.Organ).Include(o => o.Teacher).FirstOrDefault(o => o.Id == model.UserId);
|
|
|
|
|
if (ModelState.IsValid)
|
|
|
|
|
{
|
|
|
|
|
if(entity.Teacher.CheckStatus!=model.CheckStatus)
|
|
|
|
|
if (entity.Teacher.CheckStatus != model.CheckStatus)
|
|
|
|
|
{
|
|
|
|
|
this._checkLogRepo.Add( new CheckLog {
|
|
|
|
|
this._checkLogRepo.Add(new CheckLog
|
|
|
|
|
{
|
|
|
|
|
UpdateBy = User.Identity.Name,
|
|
|
|
|
UpdateAt = DateTime.Now,
|
|
|
|
|
UserName = entity.UserName,
|
|
|
|
|
FromStatus = entity.Teacher.CheckStatus,
|
|
|
|
|
ToStatus=model.CheckStatus
|
|
|
|
|
ToStatus = model.CheckStatus
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
entity.Teacher.From(model);
|
|
|
|
@ -114,9 +127,10 @@ namespace TeacherExt.Controllers
|
|
|
|
|
}
|
|
|
|
|
this.EntityToModel(entity?.Teacher, model);
|
|
|
|
|
this.ToEditModel(entity?.Teacher, model);
|
|
|
|
|
return View(model);
|
|
|
|
|
return Result<EditTeacherModel>(model);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[HttpGet]
|
|
|
|
|
public IActionResult Add()
|
|
|
|
|
{
|
|
|
|
|
var model = new EditTeacherModel();
|
|
|
|
@ -124,6 +138,7 @@ namespace TeacherExt.Controllers
|
|
|
|
|
return View(model);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[HttpGet]
|
|
|
|
|
public IActionResult Edit(Guid userId)
|
|
|
|
|
{
|
|
|
|
|
var entity = this._userRepo.ReadOnlyTable()
|
|
|
|
@ -141,11 +156,11 @@ namespace TeacherExt.Controllers
|
|
|
|
|
model.RealName = entity.RealName;
|
|
|
|
|
this.EntityToModel(entity.Teacher, model);
|
|
|
|
|
this.ToEditModel(entity.Teacher, model);
|
|
|
|
|
return View(model);
|
|
|
|
|
return Result<EditTeacherModel>(model);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[HttpPost]
|
|
|
|
|
public IActionResult Add(EditTeacherModel model)
|
|
|
|
|
public IActionResult Add([FromForm] EditTeacherModel model)
|
|
|
|
|
{
|
|
|
|
|
if (ModelState.IsValid)
|
|
|
|
|
{
|
|
|
|
@ -160,7 +175,7 @@ namespace TeacherExt.Controllers
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
[HttpPost]
|
|
|
|
|
public IActionResult Edit(EditTeacherModel model)
|
|
|
|
|
public IActionResult Edit([FromForm] EditTeacherModel model)
|
|
|
|
|
{
|
|
|
|
|
ValidEditModel(model);
|
|
|
|
|
var entity = this._userRepo.Table().Include(o => o.Organ).Include(o => o.Teacher).FirstOrDefault(o => o.Id == model.UserId);
|
|
|
|
@ -179,14 +194,15 @@ namespace TeacherExt.Controllers
|
|
|
|
|
return View(model);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public IActionResult History(QueryHistoryModel model)
|
|
|
|
|
[HttpGet]
|
|
|
|
|
public IActionResult History([FromQuery] QueryHistoryModel model)
|
|
|
|
|
{
|
|
|
|
|
var query = this._checkLogRepo.ReadOnlyTable()
|
|
|
|
|
.Where(o => o.UserName == model.UserName)
|
|
|
|
|
.OrderByDescending(o => o.UpdateAt);
|
|
|
|
|
model.TotalCount = query.Count();
|
|
|
|
|
var list = query.Skip(model.PageSize * (model.PageIndex - 1))
|
|
|
|
|
.OrderByDescending(o=>o.UpdateAt)
|
|
|
|
|
.OrderByDescending(o => o.UpdateAt)
|
|
|
|
|
.Take(model.PageSize)
|
|
|
|
|
.ToList()
|
|
|
|
|
.Select(o =>
|
|
|
|
@ -196,7 +212,60 @@ namespace TeacherExt.Controllers
|
|
|
|
|
})
|
|
|
|
|
.ToList();
|
|
|
|
|
model.List.AddRange(list);
|
|
|
|
|
return View(model);
|
|
|
|
|
return Result<EditTeacherModel>(model);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// https://github.com/nissl-lab/npoi/wiki/How-to-use-NPOI-on-Linux
|
|
|
|
|
/// apt-get install libgdiplus libc6-dev
|
|
|
|
|
/// cd /usr/lib
|
|
|
|
|
/// ln -s libgdiplus.so gdiplus.dll
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
[HttpGet]
|
|
|
|
|
public FileResult Export([FromQuery] QueryTeacherModel model)
|
|
|
|
|
{
|
|
|
|
|
var template = Path.Combine(this._env.ContentRootPath, "wwwroot", "teacher.xlsx");
|
|
|
|
|
using var fs = System.IO.File.OpenRead(template);
|
|
|
|
|
var wk = new XSSFWorkbook(fs);
|
|
|
|
|
var sheet = wk.GetSheetAt(0);
|
|
|
|
|
this.ExportInternal(sheet, model);
|
|
|
|
|
using var ms = new MemoryStream();
|
|
|
|
|
wk.Write(ms);
|
|
|
|
|
return File(ms.ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", $"教师列表_{DateTime.Now.ToString("yyyy_MM-dd_HH_mm_ss")}.xlsx");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private IQueryable<User> Query(QueryTeacherModel model)
|
|
|
|
|
{
|
|
|
|
|
var userName = User.Identity.Name;
|
|
|
|
|
var organId = this._userRepo.ReadOnlyTable().Where(o => o.UserName == userName).Select(o => o.OrganId).FirstOrDefault();
|
|
|
|
|
model.OrganId = model.OrganId.HasValue ? model.OrganId : organId;
|
|
|
|
|
if (User.IsInRole("局管理员"))
|
|
|
|
|
{
|
|
|
|
|
model.Organs = this._organRepo.Table().ToList().Where(o => o.ParentId == null).ToList();
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
model.Organs = this._organRepo.ReadOnlyTable().ToList().Where(o => o.Id == organId).ToList();
|
|
|
|
|
}
|
|
|
|
|
var query = this._userRepo.ReadOnlyTable().Include(o => o.Organ).Include(o => o.Teacher).AsQueryable();
|
|
|
|
|
if (User.IsInRole("局管理员"))
|
|
|
|
|
{
|
|
|
|
|
//全部数据
|
|
|
|
|
}
|
|
|
|
|
else if (User.IsInRole("校管理员"))
|
|
|
|
|
{
|
|
|
|
|
query = query.Where(o => o.OrganId == organId);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
query = query.Where(o => o.UserName == userName);
|
|
|
|
|
}
|
|
|
|
|
query = query
|
|
|
|
|
.WhereIf(!string.IsNullOrEmpty(model.RequestEditStatus), o => o.Teacher.RequestEditStatus == model.RequestEditStatus)
|
|
|
|
|
.WhereIf(!string.IsNullOrEmpty(model.CheckStatus), o => o.Teacher.CheckStatus == model.CheckStatus)
|
|
|
|
|
.WhereIf(!string.IsNullOrEmpty(model.RealName), o => o.RealName.Contains(model.RealName));
|
|
|
|
|
return query;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ValidEditModel(EditTeacherModel model)
|
|
|
|
@ -290,58 +359,6 @@ namespace TeacherExt.Controllers
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// https://github.com/nissl-lab/npoi/wiki/How-to-use-NPOI-on-Linux
|
|
|
|
|
/// apt-get install libgdiplus libc6-dev
|
|
|
|
|
/// cd /usr/lib
|
|
|
|
|
/// ln -s libgdiplus.so gdiplus.dll
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
public FileResult Export(QueryTeacherModel model)
|
|
|
|
|
{
|
|
|
|
|
var template = Path.Combine(this._env.ContentRootPath, "wwwroot", "teacher.xlsx");
|
|
|
|
|
using var fs = System.IO.File.OpenRead(template);
|
|
|
|
|
var wk = new XSSFWorkbook(fs);
|
|
|
|
|
var sheet = wk.GetSheetAt(0);
|
|
|
|
|
this.ExportInternal(sheet, model);
|
|
|
|
|
using var ms = new MemoryStream();
|
|
|
|
|
wk.Write(ms);
|
|
|
|
|
return File(ms.ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", $"教师列表_{DateTime.Now.ToString("yyyy_MM-dd_HH_mm_ss")}.xlsx");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private IQueryable<User> Query(QueryTeacherModel model)
|
|
|
|
|
{
|
|
|
|
|
var userName = User.Identity.Name;
|
|
|
|
|
var organId = this._userRepo.ReadOnlyTable().Where(o => o.UserName == userName).Select(o => o.OrganId).FirstOrDefault();
|
|
|
|
|
model.OrganId = model.OrganId.HasValue ? model.OrganId : organId;
|
|
|
|
|
if (User.IsInRole("局管理员"))
|
|
|
|
|
{
|
|
|
|
|
model.Organs = this._organRepo.Table().ToList().Where(o => o.ParentId == null).ToList();
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
model.Organs = this._organRepo.ReadOnlyTable().ToList().Where(o => o.Id == organId).ToList();
|
|
|
|
|
}
|
|
|
|
|
var query = this._userRepo.ReadOnlyTable().Include(o => o.Organ).Include(o => o.Teacher).AsQueryable();
|
|
|
|
|
if (User.IsInRole("局管理员"))
|
|
|
|
|
{
|
|
|
|
|
//全部数据
|
|
|
|
|
}
|
|
|
|
|
else if (User.IsInRole("校管理员"))
|
|
|
|
|
{
|
|
|
|
|
query = query.Where(o => o.OrganId == organId);
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
query = query.Where(o => o.UserName == userName);
|
|
|
|
|
}
|
|
|
|
|
query = query
|
|
|
|
|
.WhereIf(!string.IsNullOrEmpty(model.RequestEditStatus), o => o.Teacher.RequestEditStatus == model.RequestEditStatus)
|
|
|
|
|
.WhereIf(!string.IsNullOrEmpty(model.CheckStatus), o => o.Teacher.CheckStatus == model.CheckStatus)
|
|
|
|
|
.WhereIf(!string.IsNullOrEmpty(model.RealName), o => o.RealName.Contains(model.RealName));
|
|
|
|
|
return query;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void ExportInternal(ISheet sheet, QueryTeacherModel model)
|
|
|
|
|
{
|
|
|
|
|
var style = sheet.Workbook.CreateCellStyle();
|
|
|
|
@ -353,7 +370,7 @@ namespace TeacherExt.Controllers
|
|
|
|
|
.ToList()
|
|
|
|
|
.Select(o =>
|
|
|
|
|
{
|
|
|
|
|
var m = o.Teacher != null ? o.Teacher.To<EditTeacherModel>() : new EditTeacherModel { Id=Guid.Empty};
|
|
|
|
|
var m = o.Teacher != null ? o.Teacher.To<EditTeacherModel>() : new EditTeacherModel { Id = Guid.Empty };
|
|
|
|
|
if (o.Teacher != null)
|
|
|
|
|
{
|
|
|
|
|
this.EntityToModel(o.Teacher, m);
|
|
|
|
@ -378,21 +395,21 @@ namespace TeacherExt.Controllers
|
|
|
|
|
row.Order(02).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.UserType);
|
|
|
|
|
row.Order(03).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.RealName);
|
|
|
|
|
row.Order(04).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.Sex);
|
|
|
|
|
row.Order(05).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.Birthday.HasValue? teacher.Birthday.Value.ToString("yyyy-MM"):"");
|
|
|
|
|
row.Order(06).CreateCell(++colIndex).SetStyle(style).SetType(CellType.Numeric).SetCellValue(teacher.Age.HasValue? teacher.Age.Value:0);
|
|
|
|
|
row.Order(05).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.Birthday.HasValue ? teacher.Birthday.Value.ToString("yyyy-MM") : "");
|
|
|
|
|
row.Order(06).CreateCell(++colIndex).SetStyle(style).SetType(CellType.Numeric).SetCellValue(teacher.Age.HasValue ? teacher.Age.Value : 0);
|
|
|
|
|
row.Order(07).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.Nation);
|
|
|
|
|
row.Order(08).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.NativePlace);
|
|
|
|
|
row.Order(09).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.PhoneNumber);
|
|
|
|
|
row.Order(10).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.IdNumber);
|
|
|
|
|
row.Order(11).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.JobStart.HasValue? teacher.JobStart.Value.ToString("yyyy-MM"):"");
|
|
|
|
|
row.Order(12).CreateCell(++colIndex).SetStyle(style).SetType(CellType.Numeric).SetCellValue(teacher.JobAge.HasValue?teacher.JobAge.Value:0);
|
|
|
|
|
row.Order(11).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.JobStart.HasValue ? teacher.JobStart.Value.ToString("yyyy-MM") : "");
|
|
|
|
|
row.Order(12).CreateCell(++colIndex).SetStyle(style).SetType(CellType.Numeric).SetCellValue(teacher.JobAge.HasValue ? teacher.JobAge.Value : 0);
|
|
|
|
|
row.Order(13).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.TeachDate.HasValue ? teacher.TeachDate.Value.ToString("yyyy-MM") : "");
|
|
|
|
|
row.Order(14).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.CurrentJobStart.HasValue ? teacher.CurrentJobStart.Value.ToString("yyyy-MM") : "");
|
|
|
|
|
row.Order(15).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.Politics);
|
|
|
|
|
row.Order(16).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.JoinPartyDate.HasValue ? teacher.JoinPartyDate.Value.ToString("yyyy-MM") : "");
|
|
|
|
|
row.Order(17).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.MaxTitle);
|
|
|
|
|
row.Order(18).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.MaxTitleStart.HasValue? teacher.MaxTitleStart.Value.ToString("yyyy-MM"):"");
|
|
|
|
|
if(teacher.IsJobAsMaxTitle.HasValue)
|
|
|
|
|
row.Order(18).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.MaxTitleStart.HasValue ? teacher.MaxTitleStart.Value.ToString("yyyy-MM") : "");
|
|
|
|
|
if (teacher.IsJobAsMaxTitle.HasValue)
|
|
|
|
|
{
|
|
|
|
|
if (teacher.IsJobAsMaxTitle.Value)
|
|
|
|
|
{
|
|
|
|
@ -442,7 +459,7 @@ namespace TeacherExt.Controllers
|
|
|
|
|
row.Order(44).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.MainTeachGrade);
|
|
|
|
|
row.Order(45).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.OtherTeachPeriod);
|
|
|
|
|
row.Order(46).CreateCell(++colIndex).SetStyle(style).SetType(CellType.String).SetCellValue(teacher.OtherTeachSubject);
|
|
|
|
|
if(teacher.HasPosition.HasValue)
|
|
|
|
|
if (teacher.HasPosition.HasValue)
|
|
|
|
|
{
|
|
|
|
|
if (teacher.HasPosition.Value)
|
|
|
|
|
{
|
|
|
|
@ -531,7 +548,7 @@ namespace TeacherExt.Controllers
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public void EntityToModel(Teacher entity, EditTeacherModel model)
|
|
|
|
|
private void EntityToModel(Teacher entity, EditTeacherModel model)
|
|
|
|
|
{
|
|
|
|
|
if (entity != null)
|
|
|
|
|
{
|
|
|
|
@ -548,8 +565,7 @@ namespace TeacherExt.Controllers
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public void ToEditModel(Teacher entity, EditTeacherModel model)
|
|
|
|
|
private void ToEditModel(Teacher entity, EditTeacherModel model)
|
|
|
|
|
{
|
|
|
|
|
ViewData.SelectList(o => model.RequestEditStatus, () => this.GetRequestEditStatus(model.RequestEditStatus));
|
|
|
|
|
ViewData.SelectList(o => model.CheckStatus, () => this.GetCheckStatus(model.CheckStatus));
|
|
|
|
@ -615,6 +631,7 @@ namespace TeacherExt.Controllers
|
|
|
|
|
"女",
|
|
|
|
|
}.ToSelectList(selected);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private SelectList GetNation(string selected)
|
|
|
|
|
{
|
|
|
|
|
return new string[] {
|
|
|
|
@ -695,6 +712,7 @@ namespace TeacherExt.Controllers
|
|
|
|
|
"其他民主党派",
|
|
|
|
|
}.ToSelectList(selected);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private SelectList GetTitle(string selected)
|
|
|
|
|
{
|
|
|
|
|
return new string[] {
|
|
|
|
@ -730,6 +748,7 @@ namespace TeacherExt.Controllers
|
|
|
|
|
"十二级",
|
|
|
|
|
}.ToSelectList(selected);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private SelectList GetEducationGrade(string selected)
|
|
|
|
|
{
|
|
|
|
|
return new string[] {
|
|
|
|
@ -737,6 +756,7 @@ namespace TeacherExt.Controllers
|
|
|
|
|
"专技十二级",
|
|
|
|
|
}.ToSelectList(selected);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private SelectList GetFullTimeSchoolType(string selected)
|
|
|
|
|
{
|
|
|
|
|
return new string[] {
|
|
|
|
@ -746,6 +766,7 @@ namespace TeacherExt.Controllers
|
|
|
|
|
"非师范院校非师范专业",
|
|
|
|
|
}.ToSelectList(selected);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private SelectList GetEducation(string selected)
|
|
|
|
|
{
|
|
|
|
|
return new string[] {
|
|
|
|
@ -760,6 +781,7 @@ namespace TeacherExt.Controllers
|
|
|
|
|
"其他",
|
|
|
|
|
}.ToSelectList(selected);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private SelectList GetDegree(string selected)
|
|
|
|
|
{
|
|
|
|
|
return new string[] {
|
|
|
|
@ -768,6 +790,7 @@ namespace TeacherExt.Controllers
|
|
|
|
|
"博士学位",
|
|
|
|
|
}.ToSelectList(selected);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private SelectList GetTeachPeriod(string selected)
|
|
|
|
|
{
|
|
|
|
|
return new string[] {
|
|
|
|
@ -776,6 +799,7 @@ namespace TeacherExt.Controllers
|
|
|
|
|
"普通初中",
|
|
|
|
|
}.ToSelectList(selected);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private SelectList GetTeachSubject(string selected)
|
|
|
|
|
{
|
|
|
|
|
return new string[] {
|
|
|
|
@ -800,6 +824,7 @@ namespace TeacherExt.Controllers
|
|
|
|
|
"无",
|
|
|
|
|
}.ToSelectList(selected);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private SelectList GetTeachGrade(string selected)
|
|
|
|
|
{
|
|
|
|
|
return new string[] {
|
|
|
|
@ -817,6 +842,7 @@ namespace TeacherExt.Controllers
|
|
|
|
|
"幼儿园小班",
|
|
|
|
|
}.ToSelectList(selected);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private SelectList GetPosition(string selected)
|
|
|
|
|
{
|
|
|
|
|
return new string[] {
|
|
|
|
@ -835,6 +861,7 @@ namespace TeacherExt.Controllers
|
|
|
|
|
"总务副主任",
|
|
|
|
|
}.ToSelectList(selected);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private SelectList GetTeacherCardType(string selected)
|
|
|
|
|
{
|
|
|
|
|
return new string[] {
|
|
|
|
@ -847,6 +874,7 @@ namespace TeacherExt.Controllers
|
|
|
|
|
"高等学校教师资格",
|
|
|
|
|
}.ToSelectList(selected);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private SelectList GetLangLevel(string selected)
|
|
|
|
|
{
|
|
|
|
|
return new string[] {
|
|
|
|
@ -857,6 +885,7 @@ namespace TeacherExt.Controllers
|
|
|
|
|
"三级甲等",
|
|
|
|
|
}.ToSelectList(selected);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private SelectList GetAddressArea(string selected)
|
|
|
|
|
{
|
|
|
|
|
return new string[] {
|
|
|
|
@ -867,5 +896,19 @@ namespace TeacherExt.Controllers
|
|
|
|
|
}.ToSelectList(selected);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private IActionResult Result<TEditModel>(object model)
|
|
|
|
|
{
|
|
|
|
|
if (this.IsJsonRequest())
|
|
|
|
|
{
|
|
|
|
|
return Json(new
|
|
|
|
|
{
|
|
|
|
|
schema = this.GetJsonSchema<TEditModel>(),
|
|
|
|
|
model,
|
|
|
|
|
errors = ModelState.Where(o => o.Value.ValidationState == ModelValidationState.Invalid),
|
|
|
|
|
data = ViewData
|
|
|
|
|
}, new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver(), ReferenceLoopHandling = ReferenceLoopHandling.Ignore });
|
|
|
|
|
}
|
|
|
|
|
return View(model);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|