username@email.com
2021-06-28 fc869b332b437db27ad90ed2221090491de28563
提交
6个文件已修改
2个文件已添加
286 ■■■■■ 已修改文件
zhengcaioa/.vs/zhengcaioa/v16/.suo 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/Services/WfApplytypeService.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Controllers/AdmManagement/SigninController.cs 62 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Controllers/OA/WfApplytypeController.cs 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Startup.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Views/Signin/AskLeave.cshtml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Views/Signin/AskLeaveOff.cshtml 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/zhengcaioa/Views/WfApplytype/Index.cshtml 171 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhengcaioa/.vs/zhengcaioa/v16/.suo
Binary 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>&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>