zhengcaioa/.vs/zhengcaioa/v16/.suo | 补丁 | 查看 | 原始文档 | blame | 历史 | |
zhengcaioa/Services/WfApplytypeService.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zhengcaioa/zhengcaioa/Controllers/AdmManagement/SigninController.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zhengcaioa/zhengcaioa/Controllers/OA/WfApplytypeController.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zhengcaioa/zhengcaioa/Startup.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zhengcaioa/zhengcaioa/Views/Signin/AskLeave.cshtml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zhengcaioa/zhengcaioa/Views/Signin/AskLeaveOff.cshtml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
zhengcaioa/zhengcaioa/Views/WfApplytype/Index.cshtml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
zhengcaioa/.vs/zhengcaioa/v16/.suoBinary files differ
zhengcaioa/Services/WfApplytypeService.cs
@@ -162,7 +162,7 @@ { var listRole = _context.WfApplytypes.Where(r => r.RecStatus == "A").ToList(); var listRole = _context.WfApplytypes.Where(r => r.RecStatus == "A").OrderBy(x=>x.Sort).ToList(); var list = _mapper.Map<List<WfApplytypeDTO>>(listRole); return list; zhengcaioa/zhengcaioa/Controllers/AdmManagement/SigninController.cs
@@ -196,7 +196,7 @@ } #endregion #region 请假与销假 public IActionResult AskLeave(string id="", DateTime? StratTimeName = null, DateTime? EndTimeName = null) public IActionResult AskLeave(string id="", string StratTimeName = "", string EndTimeName = "") { var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); @@ -220,14 +220,35 @@ if (StratTimeName.HasValue) if (!string.IsNullOrWhiteSpace(StratTimeName)) { admAskLeaveDTO.StratTimeName = StratTimeName.Value.AddHours(double.Parse(admAttendanceRuleDTO.WorkingStart.Split('.')[0])).AddMinutes(double.Parse(admAttendanceRuleDTO.WorkingStart.Split('.')[1])).ToString("yyyy-MM-dd HH:mm"); DateTime StratTimeName1; if(DateTime.TryParse(StratTimeName, out StratTimeName1)) { admAskLeaveDTO.StratTimeName = StratTimeName1.AddHours(double.Parse(admAttendanceRuleDTO.WorkingStart.Split('.')[0])).AddMinutes(double.Parse(admAttendanceRuleDTO.WorkingStart.Split('.')[1])).ToString("yyyy-MM-dd HH:mm"); } if (EndTimeName.HasValue) } else { admAskLeaveDTO.EndTimeName = EndTimeName.Value.AddHours(double.Parse(admAttendanceRuleDTO.OffworkEnd.Split('.')[0])).AddMinutes(double.Parse(admAttendanceRuleDTO.OffworkEnd.Split('.')[1])).ToString("yyyy-MM-dd HH:mm"); admAskLeaveDTO.StratTimeName =DateTime.Now.Date.AddHours(double.Parse(admAttendanceRuleDTO.WorkingStart.Split('.')[0])).AddMinutes(double.Parse(admAttendanceRuleDTO.WorkingStart.Split('.')[1])).ToString("yyyy-MM-dd HH:mm"); } if (!string.IsNullOrWhiteSpace(EndTimeName)) { DateTime EndTimeName1; if (DateTime.TryParse(EndTimeName, out EndTimeName1)) { admAskLeaveDTO.EndTimeName = EndTimeName1.AddHours(double.Parse(admAttendanceRuleDTO.OffworkEnd.Split('.')[0])).AddMinutes(double.Parse(admAttendanceRuleDTO.OffworkEnd.Split('.')[1])).ToString("yyyy-MM-dd HH:mm"); } } else { admAskLeaveDTO.EndTimeName = DateTime.Now.Date.AddHours(double.Parse(admAttendanceRuleDTO.OffworkEnd.Split('.')[0])).AddMinutes(double.Parse(admAttendanceRuleDTO.OffworkEnd.Split('.')[1])).ToString("yyyy-MM-dd HH:mm"); } AdmAskLeaveDTO admAsk = jisianChecktime(DateTime.Parse(admAskLeaveDTO.StratTimeName), DateTime.Parse(admAskLeaveDTO.EndTimeName)); @@ -693,7 +714,7 @@ return admAsk; } public IActionResult AskLeaveOff(string id = "", DateTime? StratTimeName = null, DateTime? EndTimeName = null) public IActionResult AskLeaveOff(string id = "", string StratTimeName = "", string EndTimeName = "") { var curentuser = JsonConvert.DeserializeObject<PltUser>(HttpContext.Session.GetString("User")); ViewData["curentuser"] = curentuser; @@ -718,14 +739,35 @@ if (StratTimeName.HasValue) if (!string.IsNullOrWhiteSpace(StratTimeName)) { askLeaveOffDTO.StratTimeName = StratTimeName.Value.AddHours(double.Parse(admAttendanceRuleDTO.WorkingStart.Split('.')[0])).AddMinutes(double.Parse(admAttendanceRuleDTO.WorkingStart.Split('.')[1])).ToString("yyyy-MM-dd HH:mm"); DateTime StratTimeName1; if (DateTime.TryParse(StratTimeName, out StratTimeName1)) { askLeaveOffDTO.StratTimeName = StratTimeName1.AddHours(double.Parse(admAttendanceRuleDTO.WorkingStart.Split('.')[0])).AddMinutes(double.Parse(admAttendanceRuleDTO.WorkingStart.Split('.')[1])).ToString("yyyy-MM-dd HH:mm"); } if (EndTimeName.HasValue) } else { askLeaveOffDTO.EndTimeName = EndTimeName.Value.AddHours(double.Parse(admAttendanceRuleDTO.OffworkEnd.Split('.')[0])).AddMinutes(double.Parse(admAttendanceRuleDTO.OffworkEnd.Split('.')[1])).ToString("yyyy-MM-dd HH:mm"); askLeaveOffDTO.StratTimeName = DateTime.Now.Date.AddHours(double.Parse(admAttendanceRuleDTO.WorkingStart.Split('.')[0])).AddMinutes(double.Parse(admAttendanceRuleDTO.WorkingStart.Split('.')[1])).ToString("yyyy-MM-dd HH:mm"); } if (!string.IsNullOrWhiteSpace(EndTimeName)) { DateTime EndTimeName1; if (DateTime.TryParse(EndTimeName, out EndTimeName1)) { askLeaveOffDTO.EndTimeName = EndTimeName1.AddHours(double.Parse(admAttendanceRuleDTO.OffworkEnd.Split('.')[0])).AddMinutes(double.Parse(admAttendanceRuleDTO.OffworkEnd.Split('.')[1])).ToString("yyyy-MM-dd HH:mm"); } } else { askLeaveOffDTO.EndTimeName = DateTime.Now.Date.AddHours(double.Parse(admAttendanceRuleDTO.OffworkEnd.Split('.')[0])).AddMinutes(double.Parse(admAttendanceRuleDTO.OffworkEnd.Split('.')[1])).ToString("yyyy-MM-dd HH:mm"); } ResultDataEntity<SysAttachmentDTO> results = new ResultDataEntity<SysAttachmentDTO>(); zhengcaioa/zhengcaioa/Controllers/OA/WfApplytypeController.cs
New file @@ -0,0 +1,39 @@ using DTO; using IServices; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Logging; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Linq; using System.Net.Http; using System.Net.Http.Headers; using System.Threading.Tasks; using zhengcaioa.IService; using zhengcaioa.Models; namespace zhengcaioa.Controllers.OA { public class WfApplytypeController : Controller { private readonly ILogger<WfApplytypeController> _logger; private readonly IWfApplytypeService _wfApplytypeService; public WfApplytypeController(ILogger<WfApplytypeController> logger, IWfApplytypeService wfApplytypeService) { _logger = logger; _wfApplytypeService = wfApplytypeService; } public IActionResult Index() { ViewBag.wfApplytypeDTOs = _wfApplytypeService.GetList(); return View(); } } } zhengcaioa/zhengcaioa/Startup.cs
@@ -131,6 +131,8 @@ services.AddScoped(typeof(ICusFangwenjiluService), typeof(CusFangwenjiluService)); services.AddScoped(typeof(ILZhuanjiahuidumService), typeof(LZhuanjiahuidumService)); services.AddScoped(typeof(IWfApplytypeService), typeof(WfApplytypeService)); //定时执行 services.AddHostedService<TimedBackgroundService>(); zhengcaioa/zhengcaioa/Views/Signin/AskLeave.cshtml
@@ -184,6 +184,8 @@ </form> <script type="text/javascript"> var hh = document.body.clientHeight - $('.ibox-title').height() - $("#top").height() * 2 - 95; $("#div_content").height(hh); @@ -285,7 +287,9 @@ _pageAutoClose();//自动关闭页面方法 } catch (err) { parent._CloseTab1("/Signin/AskLeave/"); var pathname = window.location.pathname; var search = window.location.search; parent._CloseTab1(pathname + search); } } zhengcaioa/zhengcaioa/Views/Signin/AskLeaveOff.cshtml
@@ -347,7 +347,9 @@ _pageAutoClose();//自动关闭页面方法 } catch (err) { parent._CloseTab1("/Signin/AskLeave/"); var pathname = window.location.pathname; var search = window.location.search; parent._CloseTab1(pathname + search); } } zhengcaioa/zhengcaioa/Views/WfApplytype/Index.cshtml
New file @@ -0,0 +1,171 @@ @using DTO; @{ Layout = null; List<WfApplytypeDTO> wfApplytypeDTOs = ViewData["wfApplytypeDTOs"] as List<WfApplytypeDTO>; //流程 } <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"> <meta name="description" content=""> <meta name="author" content="ThemeBucket"> <title>@(SiteConfig.SiteName)</title> <link href="~/css/bootstrap.min.css" rel="stylesheet"> <link href="~/css/font-awesome.min.css" rel="stylesheet"> <link href="~/css/animate.min.css" rel="stylesheet"> @*<link href="~/css/plugins/iCheck/custom.css" rel="stylesheet">*@ <link href="~/css/style.min.css" rel="stylesheet"> <link href="~/css/plugins/chosen/chosen.css" rel="stylesheet"> @*<link href="~/js/plugins/layer/skin/layer.css" rel="stylesheet">*@ @*<link href="~/css/plugins/datapicker/datepicker3.css" rel="stylesheet">*@ <link href="~/css/style.min.css" rel="stylesheet"> <link href="~/css/plugins/toastr/toastr.min.css" rel="stylesheet" /> <link href="~/css/plugins/webuploader/webuploader.css" rel="stylesheet" /> <style type="text/css"> .webuploader-pick { position: relative; display: inline-block; cursor: pointer; background: #00b7ee; padding: 8px 14px 7px 14px; color: #fff; text-align: center; border-radius: 3px; overflow: hidden; } div.clearfix > label { padding-top: 8px; } .chosen-container { border-radius: 1px; border: 1px solid #e5e6e7; } .col-md-1.control-label { padding-right: 0px; font-weight: 400; } </style> <!-- jqgrid--> @*<link href="~/css/plugins/jqgrid/ui.jqgrid.css" rel="stylesheet">*@ <script language="javascript" src="~/js/jquery.min.js" type="text/javascript"></script> <script src="~/js/bootstrap.min.js"></script> @*<script src="~/js/plugins/bootstro/bootstro.js"></script>*@ <!--容器--> @*<script language="javascript" src="~/js/datehelper.js" type="text/javascript"></script>*@ @*<script language="javascript" src="~/js/plugins/query/jquery.query-object.js" type="text/javascript"></script>*@ @*<script language="javascript" src="~/js/plugins/iCheck/icheck.min.js" type="text/javascript"></script>*@ <script language="javascript" src="~/js/plugins/chosen/chosen.jquery.js" type="text/javascript"></script> @*<script language="javascript" src="~/js/plugins/datapicker/bootstrap-datepicker.js" type="text/javascript"></script>*@ <script language="javascript" src="~/js/plugins/layer/layer.js" type="text/javascript"></script> @*<script src="~/js/plugins/jqgrid/jquery.jqGrid.min.js" type="text/javascript"></script>*@ @*<script src="~/js/plugins/jqgrid/i18n/grid.locale-cn.js" type="text/javascript"></script>*@ <script src="~/js/plugins/toastr/toastr.min.js" type="text/javascript"></script> <script src="~/js/plugins/webuploader/webuploader.min.js"></script> <script language="javascript" src="~/js/common-layout.js" type="text/javascript"></script> @*<script src="~/js/plugins/layer/laydate/laydate.js" type="text/javascript"></script>*@ @*<script src="~/js/plugins/iTexbox/itextbox.js" type="text/javascript"></script>*@ @*<script src="~/js/plugins/iuploader/iuploader.js"></script>*@ <script src="~/js/TUJS.js"></script> </head> <body class="gray-bg" style="overflow:hidden"> <form id="formtest"> <div class="wrapper wrapper-content" id="ibox-content" style="padding:15px;"> <div class="row"> <div class="col-sm-12"> <div class="ibox float-e-margins"> <div class="ibox-title"> <h5> <i class="fa fa-list"></i> 发起流程</h5>@*<div class="ibox-tools"> <a class="collapse-link" onclick="collapseBox(this);"><i class="fa fa-chevron-up" title="折叠/展开明细"></i></a> </div>*@ </div> <div id="div_content" class="ibox-content" style="background-color:white;overflow-y:auto;"> <div class="row"> @if (wfApplytypeDTOs != null && wfApplytypeDTOs.Count > 0) { foreach (var wfApplytypeDTO in wfApplytypeDTOs) { <div class="col-sm-3 col-md-3" grouptype="Vdata" style="padding-bottom:15px;"> <a class="J_menuItem" title="@wfApplytypeDTO.Applytiye" href="@wfApplytypeDTO.Deelurl" data-index="0">@wfApplytypeDTO.Applytiye</a> </div> } } </div> </div> </div> </div> </div> </div> <div class="wrapper wrapper-content" style="margin-top:0px"></div> <div class="ibox-content" id="top" style="z-index:100; position:fixed; height:50px; width:100%;bottom:0; text-align: right; padding-top:8px "> <div class="" style="float:right;" data-bootstro-width="500px" data-bootstro-content="功能按钮:“保存”,“删除”"> </div> </div> </form> <script type="text/javascript"> var hh = document.body.clientHeight - $('.ibox-title').height() - $("#top").height()*2 - 95; $("#div_content").height(hh); toastr.options = { "closeButton": true, "debug": false, "progressBar": true, "positionClass": "toast-bottom-right", "onclick": null, "showDuration": "300", "hideDuration": "600", "timeOut": "4500", "extendedTimeOut": "600", "showEasing": "swing", "hideEasing": "linear", "showMethod": "fadeIn", "hideMethod": "fadeOut" }; function _pageAutoClose() { parent.window._reloadPageData(); var index = parent.layer.getFrameIndex(window.name); parent.layer.isRefresh = true; parent.layer.closeAll('loading'); parent.layer.close(index); return false; } </script> </body> </html>