using Mini.Common; using Air.Model.AirAdminViewModel; using System; using Mini.Services.Bas; using Microsoft.AspNetCore.Mvc; using Mini.Web.WebHelper; using Mini.Model.Entity; using Microsoft.AspNetCore.Authorization; namespace Mini.Web.Areas.Admin.Controllers { public class InnerUserController : BaseController { ValidationErrors errors = new ValidationErrors(); private readonly IBasInnerUserService _basInnerUserService; private readonly IBasInnerUserSaltService _basInnerUserSaltService; public InnerUserController(IBasInnerUserService basInnerUserService, IBasInnerUserSaltService basInnerUserSaltService) { this._basInnerUserService = basInnerUserService; this._basInnerUserSaltService = basInnerUserSaltService; } [Area("Admin")] #region 首页 [AuthorizeRedirect(Roles = InitRights.CONST_员工管理)] public ActionResult Index() { //ToolBar ToolBar tool = new ToolBar(); string[] toolbtn = new ToolButtonView().ToolButtonRight(InitRights.员工管理, userRightId); tool.AllowButton(toolbtn); tool.AddOtherButton("Other4", "确认员工离职", "icon-edit", "DismissChange_Click", true); ViewBag.ToolBar = tool; Pager pager = new Pager() { page = 1, rows = 10 }; string tableId = "tablist"; Table tab = new Table(tableId); tab.AddHiddenHeadCol("uid", "ID");//影藏列 tab.AddHeadCol("eid", "", "工号", true); tab.AddHeadCol("uname", "", "姓名", true); tab.AddHeadCol("gender", "", "性别"); tab.AddHeadCol("birthday", "", "生日", true); tab.AddHeadCol("isDismiss", "", "是否离职"); tab.AddHeadRow(); ViewBag.gridTable = tab.GetHead() + Pagination.GetPage(pager, tableId, "5,8,10,15"); ViewBag.type =HttpContext.Request.Query["type"].ToString(); return View(); } #endregion #region 列表 /// /// 按照条件获取数据 /// /// /// /// [AuthorizeRedirect(Roles = InitRights.CONST_员工管理)] [Area("Admin")] public JsonResult GetHtmlList(Pager pager, string columns, int? eId, string uName, int? isDismiss) { Table table = new Table(columns, true); table.gridPager = pager; var list = _basInnerUserService.GetList(ref pager, eId, uName, isDismiss); foreach (var model in list) { table.AddHiddenCol(model.uid); table.AddCol(model.eid); table.AddCol(model.uname); table.AddCol(model.gender == "m" ? "男" : "女"); table.AddCol(model.birthday.HasValue ? model.birthday.Value.ToString("yyyy.MM.dd") : string.Empty); table.AddCol((model.isdismiss == 1 ? "是" : "否")); table.AddRow(); } var json = new { totalPages = pager.totalPages, totalRows = pager.totalRows, rowsList = table.GetRows() }; return Json(json); } #endregion #region 编辑 [HttpGet] [AuthorizeToolBar(InitRights.CONST_员工管理, InitToolBar.CONST_Edit)] [Area("Admin")] public ActionResult Edit(int? uId) { var model = new Bas_InnerUserEidtModel(); model.passwd = string.Empty; model.passwd2 = string.Empty; model.birthday = DateTime.Now; if (!uId.HasValue) { model.gender = "m"; model.isdismiss = 0; } else { var info = _basInnerUserService.GetBasInnerUser(uId.Value); model = new Bas_InnerUserEidtModel() { uid = info.uid, uname = info.uname, eid = info.eid, isdismiss = info.isdismiss, birthday= info.birthday, gender = info.gender, createUser = info.createUser, ctime = info.ctime, updateuser = info.updateuser, utime = info.utime }; } return View(model); } [HttpPost] [AuthorizeToolBar(InitRights.CONST_员工管理, InitToolBar.CONST_Edit)] [Area("Admin")] public JsonResult Edit(Bas_InnerUserEidtModel model) { if (!ModelState.IsValid) return JsonHandler.ValidateFailMessage(); if (model.uid == 0) { model.ctime = DateTime.Now; model.createUser = UserId; string user_salt = Utility.CreateRandomSatl(8); if (!string.IsNullOrEmpty(model.passwd)) { model.passwd = Utility.Sha512(model.passwd + user_salt); } var info = new Bas_InnerUser() { uname = model.uname, eid = model.eid, passwd = model.passwd, gender = model.gender, isdismiss = model.isdismiss, birthday = model.birthday, createUser = model.createUser, ctime = model.ctime }; var pkid = _basInnerUserService.AddBasInnerUser(info); if (pkid > 0) { var userSaltModel = new Bas_InnerUserSalt(); userSaltModel.InnerUserId = pkid; userSaltModel.Eid = model.eid; userSaltModel.PwdSalt = user_salt; userSaltModel.CTime = DateTime.Now; userSaltModel.CreateUser = UserId; _basInnerUserSaltService.Create(userSaltModel); } bool scucced = true; if (pkid == 0) scucced = false; return JsonHandler.InsertMessage(errors, scucced); } else { model.utime = DateTime.Now; model.updateuser = UserId; bool scucced = _basInnerUserService.Update(model); return JsonHandler.UpdateMessage(errors, scucced); } } #endregion #region 删除 /// /// 删除数据 /// /// /// [AuthorizeToolBar(InitRights.CONST_员工管理, InitToolBar.CONST_Delete)] [Area("Admin")] public JsonResult Delete(Bas_InnerUser user) { if (user == null) return JsonHandler.ManageMessage("参数错误", false); _basInnerUserService.Delete(user); return JsonHandler.DeleteMessage(errors, true); } #endregion #region 修改个人信息 [HttpGet] [Authorize] [Area("Admin")] public ActionResult ChangeUserIfo() { //var info = _basInnerUserService.GetBasInnerUser(uId.Value); BasUpdatePwd pwdinfo = new BasUpdatePwd() { uid=UserId}; return View(pwdinfo); } [HttpPost] [Authorize] [Area("Admin")] public ActionResult ChangeUserIfo(BasUpdatePwd ChangeModel) { bool scucced = _basInnerUserService.UpdatePwd(ChangeModel, ref errors); return JsonHandler.UpdateMessage(errors, scucced); } #endregion } }