From fc869b332b437db27ad90ed2221090491de28563 Mon Sep 17 00:00:00 2001 From: username@email.com <yzy2002yzy@163.com> Date: 星期一, 28 六月 2021 14:21:34 +0800 Subject: [PATCH] 提交 --- zhengcaioa/zhengcaioa/Views/Signin/AskLeave.cshtml | 6 + zhengcaioa/zhengcaioa/Views/WfApplytype/Index.cshtml | 171 ++++++++++++++++++++++++++++++++++ zhengcaioa/zhengcaioa/Controllers/OA/WfApplytypeController.cs | 39 +++++++ zhengcaioa/Services/WfApplytypeService.cs | 2 zhengcaioa/.vs/zhengcaioa/v16/.suo | 0 zhengcaioa/zhengcaioa/Controllers/AdmManagement/SigninController.cs | 62 ++++++++++-- zhengcaioa/zhengcaioa/Startup.cs | 4 zhengcaioa/zhengcaioa/Views/Signin/AskLeaveOff.cshtml | 4 8 files changed, 274 insertions(+), 14 deletions(-) diff --git a/zhengcaioa/.vs/zhengcaioa/v16/.suo b/zhengcaioa/.vs/zhengcaioa/v16/.suo index c1aa1f1..c43e172 100644 --- a/zhengcaioa/.vs/zhengcaioa/v16/.suo +++ b/zhengcaioa/.vs/zhengcaioa/v16/.suo Binary files differ diff --git a/zhengcaioa/Services/WfApplytypeService.cs b/zhengcaioa/Services/WfApplytypeService.cs index 86a9a08..123f7cf 100644 --- a/zhengcaioa/Services/WfApplytypeService.cs +++ b/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; diff --git a/zhengcaioa/zhengcaioa/Controllers/AdmManagement/SigninController.cs b/zhengcaioa/zhengcaioa/Controllers/AdmManagement/SigninController.cs index e10e018..bab1b0c 100644 --- a/zhengcaioa/zhengcaioa/Controllers/AdmManagement/SigninController.cs +++ b/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"); + + } + + } + else + { + 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 (EndTimeName.HasValue) + if (!string.IsNullOrWhiteSpace(EndTimeName)) { - admAskLeaveDTO.EndTimeName = EndTimeName.Value.AddHours(double.Parse(admAttendanceRuleDTO.OffworkEnd.Split('.')[0])).AddMinutes(double.Parse(admAttendanceRuleDTO.OffworkEnd.Split('.')[1])).ToString("yyyy-MM-dd HH:mm"); + 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"); + + } + + } + else + { + 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 (EndTimeName.HasValue) + if (!string.IsNullOrWhiteSpace(EndTimeName)) { - askLeaveOffDTO.EndTimeName = EndTimeName.Value.AddHours(double.Parse(admAttendanceRuleDTO.OffworkEnd.Split('.')[0])).AddMinutes(double.Parse(admAttendanceRuleDTO.OffworkEnd.Split('.')[1])).ToString("yyyy-MM-dd HH:mm"); + 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>(); diff --git a/zhengcaioa/zhengcaioa/Controllers/OA/WfApplytypeController.cs b/zhengcaioa/zhengcaioa/Controllers/OA/WfApplytypeController.cs new file mode 100644 index 0000000..9490308 --- /dev/null +++ b/zhengcaioa/zhengcaioa/Controllers/OA/WfApplytypeController.cs @@ -0,0 +1,39 @@ +锘縰sing 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(); + } + } +} diff --git a/zhengcaioa/zhengcaioa/Startup.cs b/zhengcaioa/zhengcaioa/Startup.cs index a24264a..1ca0ad8 100644 --- a/zhengcaioa/zhengcaioa/Startup.cs +++ b/zhengcaioa/zhengcaioa/Startup.cs @@ -130,7 +130,9 @@ services.AddScoped(typeof(ICusFangwenjiluService), typeof(CusFangwenjiluService)); - services.AddScoped(typeof(ILZhuanjiahuidumService), typeof(LZhuanjiahuidumService)); + services.AddScoped(typeof(ILZhuanjiahuidumService), typeof(LZhuanjiahuidumService)); + + services.AddScoped(typeof(IWfApplytypeService), typeof(WfApplytypeService)); //定时执行 services.AddHostedService<TimedBackgroundService>(); diff --git a/zhengcaioa/zhengcaioa/Views/Signin/AskLeave.cshtml b/zhengcaioa/zhengcaioa/Views/Signin/AskLeave.cshtml index b2ccff1..fca84e4 100644 --- a/zhengcaioa/zhengcaioa/Views/Signin/AskLeave.cshtml +++ b/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); } } diff --git a/zhengcaioa/zhengcaioa/Views/Signin/AskLeaveOff.cshtml b/zhengcaioa/zhengcaioa/Views/Signin/AskLeaveOff.cshtml index 4155779..84f43e1 100644 --- a/zhengcaioa/zhengcaioa/Views/Signin/AskLeaveOff.cshtml +++ b/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); } } diff --git a/zhengcaioa/zhengcaioa/Views/WfApplytype/Index.cshtml b/zhengcaioa/zhengcaioa/Views/WfApplytype/Index.cshtml new file mode 100644 index 0000000..18b8a51 --- /dev/null +++ b/zhengcaioa/zhengcaioa/Views/WfApplytype/Index.cshtml @@ -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> \ No newline at end of file -- Gitblit v1.9.1