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>&nbsp; 鍙戣捣娴佺▼</h5>@*<div class="ibox-tools">
+                                                                                            <a class="collapse-link" onclick="collapseBox(this);"><i class="fa fa-chevron-up" title="鎶樺彔/灞曞紑鏄庣粏"></i></a>&nbsp;&nbsp;
+                                </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