zrg
2024-01-26 6b8a9aef84d4d4ba8dd08b911ade7cfa6cc4fa4a
周总结
2个文件已修改
1个文件已添加
1061 ■■■■■ 已修改文件
WebTM/WebTM.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/WebTM.csproj.user 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/项目管理/周计划/PM_WorkReportWeekBillMain.html 1058 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/WebTM.csproj
@@ -1565,6 +1565,7 @@
    <Content Include="views\销售管理\销售订单\Add_Edit_Xs_SeOrderBillList.html" />
    <Content Include="views\项目管理\业绩指标\PM_YearEmployeeMoneyBillList.html" />
    <Content Include="views\项目管理\业绩指标\PM_YearEmployeeMoneyBill.html" />
    <Content Include="views\项目管理\周计划\PM_WorkReportWeekBillMain.html" />
    <Content Include="views\项目管理\周计划\PM_WorkTaskWeekBillList.html" />
    <Content Include="views\项目管理\周计划\PM_WorkTaskWeekBill.html" />
    <Content Include="views\项目管理\工作任务\PM_WorkTaskReportBillList.html" />
WebTM/WebTM.csproj.user
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <NameOfLastUsedPublishProfile>D:\网站发布\后端代码\MES-WEB-TM\MESWMS-LayUI\WebTM\Properties\PublishProfiles\JFTM.pubxml</NameOfLastUsedPublishProfile>
    <NameOfLastUsedPublishProfile>D:\智云迈思\MES\MES-WEB-LayUI\WebTM\Properties\PublishProfiles\JFTM.pubxml</NameOfLastUsedPublishProfile>
    <ProjectView>ProjectFiles</ProjectView>
    <LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
    <UseIISExpress>true</UseIISExpress>
WebTM/views/ÏîÄ¿¹ÜÀí/Öܼƻ®/PM_WorkReportWeekBillMain.html
New file
@@ -0,0 +1,1058 @@
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>新增/编辑工作总结</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
    <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
    <script src="../../../layuiadmin/zgqCustom/zgqCustom.js"></script>
    <script src="../../../layuiadmin/layui/layui.js"></script>
    <script src="../../../layuiadmin/Scripts/json2.js"></script>
    <script src="../../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
    <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
    <script src="../../../layuiadmin/PubCustom.js"></script>
</head>
<body>
    <div class="layui-fluid" style="padding: 0;">
        <div class="layui-card" style="padding: 2px;background-color: #efefef;">
            <div class="layui-card-body" style="padding: 1px;">
                <form class="layui-form" action="" lay-filter="formData" style="background-color:white;">
                    <div style="padding: 2px; ">
                        <button type="button" class="layui-btn layui-btn-normal" lay-submit=""  id="btn_LookDown" lay-filter="btn_LookDown">引出</button>
                        <button type="button" class="layui-btn layui-btn-normal" lay-submit=""  id="btn_print" lay-filter="btn_print">打印</button>
                        <button type="button" class="layui-btn layui-btn-normal" lay-submit=""  id="btn_view" lay-filter="btn_view">预览</button>
                        <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnSave" id="btnSave">保存</button>
                        <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnEdit" id="btnEdit">退出</button>
                        <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="set_CheckBill" id="set_CheckBill">审核</button>
                        <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="set_AbandonCheck" id="set_AbandonCheck">反审核</button>
                        <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="set_CloseBill" id="set_CloseBill">关闭</button>
                        <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="set_CancelCloseBill" id="set_CancelCloseBill">反关闭</button>
                    </div>
                    <div class="layui-tab" lay-filter="tab-POStockInBill" style="height:800px;">
                        <ul class="layui-tab-title" lay-filter="tab-all">
                            <li lay-id="1" style="padding:1px;" class="layui-this">基本信息</li>
                            <li lay-id="2" style="padding:1px;">其他信息</li>
                        </ul>
                        <div class="layui-tab-content">
                            <!--基本信息-->
                            <div class="layui-tab-item layui-show">
                                <div class="layui-row" style="margin-top:10px;">
                                    <div class="layui-inline">
                                        <label class="layui-form-label" style="width: 85px;">单据号:</label>
                                        <div class="layui-input-block" style="margin-left: 120px;width:180px;">
                                            <input type="text" class="layui-input" name="HBillNo" lay-verify="HBillNo" id="HBillNo" style="background-color:#efefef4d;" readonly>
                                            <input type="hidden" name="HInterID" id="HInterID" lay-verify="HInterID">
                                        </div>
                                    </div>
                                    <div class="layui-inline">
                                        <label class="layui-form-label" style="width: 85px;">日期:</label>
                                        <div class="layui-input-block" style="margin-left: 120px; width:180px;">
                                            <input type="date" class="layui-input" lay-verify="HDate" name="HDate" id="HDate" style="padding-left: 80px;">
                                        </div>
                                    </div>
                                    <div class="layui-inline">
                                        <label class="layui-form-label" style="width: 85px;padding: 9px 18px;">总结人:</label>
                                        <div class="layui-input-block" style="margin-left: 77px; width:270px;">
                                            <input type="text" class="layui-input" lay-verify="HPlanEmpName" name="HPlanEmpName" id="HPlanEmpName" style="background-color:#efefef4d; width:180px; display: inline-block;" readonly>
                                            <input type="hidden" name="HPlanEmpID" id="HPlanEmpID" lay-verify="HPlanEmpID" value="0">
                                            <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearchHPlanEmp" id="btnSearchHPlanEmp" style="padding: 0 10px;float: right;margin-right: 3px;">
                                                <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
                                            </button>
                                        </div>
                                    </div>
                                </div>
                                <div class="layui-row" style="margin-top:10px;">
                                    <div class="layui-inline">
                                        <label class="layui-form-label" style="width: 85px;">å¹´:</label>
                                        <div class="layui-input-block" style="margin-left: 120px; width: 180px;">
                                            <select name="HYear" id="HYear" lay-filter="HYear" style="width:190px;">
                                                <option style="color:blue;" selected="selected" value="2023">2023</option>
                                                <option style="color:blue;" value="2024">2024</option>
                                            </select>
                                        </div>
                                    </div>
                                    <div class="layui-inline">
                                        <label class="layui-form-label" style="width: 85px;">周:</label>
                                        <div class="layui-input-block" style="margin-left: 120px; width: 180px;">
                                            <select name="HWeek" id="HWeek" lay-filter="HWeek" style="width:190px;">
                                                <option style="color:blue;" selected="selected" value="1">1</option>
                                                <option style="color:blue;" value="1">1</option>
                                            </select>
                                        </div>
                                    </div>
                                </div>
                                <div class="layui-row" style="margin-top:10px;">
                                    <div class="layui-inline" style="width:500px;">
                                        <label class="layui-form-label" style="width: 85px;">开始日期:</label>
                                        <div class="layui-input-block" style="margin-left: 120px; width: 180px; ">
                                            <input type="date" class="layui-input" lay-verify="HBeginDate" name="HBeginDate" id="HBeginDate" style="padding-left: 80px;">
                                        </div>
                                    </div>
                                    <div class="layui-inline" style="width:500px;">
                                        <label class="layui-form-label" style="width: 85px;">结束日期:</label>
                                        <div class="layui-input-block" style="margin-left: 120px; width: 180px; ">
                                            <input type="date" class="layui-input" lay-verify="HEndDate" name="HEndDate" id="HEndDate" style="padding-left: 80px;">
                                        </div>
                                    </div>
                                </div>
                                <div class="layui-row" style="margin-top:10px;">
                                    <div class="layui-inline">
                                        <label class="layui-form-label" style="width: 85px;">计划工时:</label>
                                        <div class="layui-input-block" style="margin-left: 120px;">
                                            <input type="text" class="layui-input" lay-verify="HPlanTimes" name="HPlanTimes" id="HPlanTimes" value="0">
                                        </div>
                                    </div>
                                    <div class="layui-inline">
                                        <label class="layui-form-label" style="width: 85px;">消耗工时:</label>
                                        <div class="layui-input-block" style="margin-left: 120px;">
                                            <input type="text" class="layui-input" lay-verify="HUseTimes" name="HUseTimes" id="HUseTimes" value="0">
                                        </div>
                                    </div>
                                    <div class="layui-inline">
                                        <label class="layui-form-label" style="width: 85px;">有效工时:</label>
                                        <div class="layui-input-block" style="margin-left: 120px;">
                                            <input type="text" class="layui-input" lay-verify="HRelUseTimes" name="HRelUseTimes" id="HRelUseTimes" value="0">
                                        </div>
                                    </div>
                                </div>
                                <div class="layui-row" style="margin-top:10px;">
                                    <div class="layui-inline">
                                        <label class="layui-form-label" style="width: 85px;">延期任务:</label>
                                        <div class="layui-input-block" style="margin-left: 120px;">
                                            <input type="text" class="layui-input" lay-verify="HDelayTasks" name="HDelayTasks" id="HDelayTasks" value="0">
                                        </div>
                                    </div>
                                    <div class="layui-inline">
                                        <label class="layui-form-label" style="width: 85px;">超前任务:</label>
                                        <div class="layui-input-block" style="margin-left: 120px;">
                                            <input type="text" class="layui-input" lay-verify="HFineTasks" name="HFineTasks" id="HFineTasks" value="0">
                                        </div>
                                    </div>
                                    <div class="layui-inline">
                                        <label class="layui-form-label" style="width: 85px;">达成率:</label>
                                        <div class="layui-input-block" style="margin-left: 120px;">
                                            <input type="text" class="layui-input" lay-verify="HFinishRate" name="HFinishRate" id="HFinishRate" value="0">
                                        </div>
                                    </div>
                                </div>
                                <div class="layui-row" style="margin-top:10px;">
                                    <div class="layui-inline" style="width:1300px;">
                                        <label class="layui-form-label" style="width: 85px;">本周工作总结:</label>
                                        <div class="layui-input-block" style="width: 860px; margin-left: 120px">
                                            <textarea class="layui-textarea" name="HWorkReport" id="HWorkReport" lay-verify="HWorkReport"></textarea>
                                        </div>
                                    </div>
                                </div>
                                <div class="layui-row" style="margin-top:10px;">
                                    <div class="layui-inline" style="width:1300px;">
                                        <label class="layui-form-label" style="width: 85px;">主导项目的情况及下一次计划:</label>
                                        <div class="layui-input-block" style="width: 860px; margin-left: 120px">
                                            <textarea class="layui-textarea" name="HNextPlan" id="HNextPlan" lay-verify="HNextPlan"></textarea>
                                        </div>
                                    </div>
                                </div>
                                <div class="layui-row" style="margin-top:10px;">
                                    <div class="layui-inline" style="width:1300px;">
                                        <label class="layui-form-label" style="width: 85px;">工作心得:</label>
                                        <div class="layui-input-block" style="width: 860px; margin-left: 120px">
                                            <textarea class="layui-textarea" name="HWorkGain" id="HWorkGain" lay-verify="HWorkGain"></textarea>
                                        </div>
                                    </div>
                                </div>
                                <div class="layui-row" style="margin-top:10px;">
                                    <div class="layui-inline" style="width:1300px;">
                                        <label class="layui-form-label" style="width: 85px;">备  æ³¨</label>
                                        <div class="layui-input-block" style="margin-left: 120px; width:480px;">
                                            <input type="text" class="layui-input" lay-verify="HRemark" name="HRemark" id="HRemark" style="width:700px;">
                                        </div>
                                    </div>
                                </div>
                                <div class="layui-row" style="margin-top:10px;">
                                    <div class="layui-inline">
                                        <label class="layui-form-label" style="width: 85px;">组织</label>
                                        <div class="layui-input-block" style="margin-left: 120px; width: 700px;">
                                            <select name="HOrgID" id="HOrgID" lay-verify="HOrgID">
                                                <!--动态渲染组织-->
                                            </select>
                                        </div>
                                    </div>
                                </div>
                            </div>
                            <!--其他信息-->
                            <div class="layui-tab-item">
                                <div class="layui-row" style="margin-top:10px;">
                                    <div class="layui-inline">
                                        <label class="layui-form-label" style="width: 85px;">制单人</label>
                                        <div class="layui-input-block" style="margin-left: 120px;">
                                            <input type="text" class="layui-input" name="HMaker" id="HMaker" style="background-color:#efefef4d;" readonly>
                                        </div>
                                    </div>
                                    <div class="layui-inline">
                                        <label class="layui-form-label" style="width: 85px;">修改人</label>
                                        <div class="layui-input-block" style="margin-left: 120px;">
                                            <input type="text" class="layui-input" name="HUpDater" id="HUpDater" style="background-color:#efefef4d;" readonly>
                                        </div>
                                    </div>
                                    <div class="layui-inline">
                                        <label class="layui-form-label" style="width: 85px;">审核人</label>
                                        <div class="layui-input-block" style="margin-left: 120px;">
                                            <input type="text" class="layui-input" name="HChecker" id="HChecker" style="background-color:#efefef4d;" readonly>
                                        </div>
                                    </div>
                                </div>
                                <div class="layui-row" style="margin-top:10px;">
                                    <div class="layui-inline">
                                        <label class="layui-form-label" style="width: 85px;">制单日期</label>
                                        <div class="layui-input-block" style="margin-left: 120px;">
                                            <input type="text" class="layui-input" name="HMakeDate" id="HMakeDate" style="background-color:#efefef4d;" readonly>
                                        </div>
                                    </div>
                                    <div class="layui-inline">
                                        <label class="layui-form-label" style="width: 85px;">修改日期</label>
                                        <div class="layui-input-block" style="margin-left: 120px;">
                                            <input type="text" class="layui-input" name="HUpDateDate" id="HUpDateDate" style="background-color:#efefef4d;" readonly>
                                        </div>
                                    </div>
                                    <div class="layui-inline">
                                        <label class="layui-form-label" style="width: 85px;">审核日期</label>
                                        <div class="layui-input-block" style="margin-left: 120px;">
                                            <input type="text" class="layui-input" name="HCheckDate" id="HCheckDate" style="background-color:#efefef4d;" readonly>
                                        </div>
                                    </div>
                                </div>
                                <div class="layui-row" style="margin-top:10px;">
                                    <div class="layui-inline">
                                        <label class="layui-form-label" style="width: 85px;">关闭人</label>
                                        <div class="layui-input-block" style="margin-left: 120px;">
                                            <input type="text" class="layui-input" name="HCloseMan" id="HCloseMan" style="background-color:#efefef4d;" readonly>
                                        </div>
                                    </div>
                                    <div class="layui-inline">
                                        <label class="layui-form-label" style="width: 85px;">作废人</label>
                                        <div class="layui-input-block" style="margin-left: 120px;">
                                            <input type="text" class="layui-input" name="HDeleteMan" id="HDeleteMan" style="background-color:#efefef4d;" readonly>
                                        </div>
                                    </div>
                                    <div class="layui-inline">
                                        <label class="layui-form-label" style="width: 85px;">退回人</label>
                                        <div class="layui-input-block" style="margin-left: 120px;">
                                            <input type="text" class="layui-input" name="HBacker" id="HBacker" style="background-color:#efefef4d;" readonly>
                                        </div>
                                    </div>
                                </div>
                                <div class="layui-row" style="margin-top:10px;">
                                    <div class="layui-inline">
                                        <label class="layui-form-label" style="width: 85px;">关闭日期</label>
                                        <div class="layui-input-block" style="margin-left: 120px;">
                                            <input type="text" class="layui-input" name="HCloseDate" id="HCloseDate" style="background-color:#efefef4d;" readonly>
                                        </div>
                                    </div>
                                    <div class="layui-inline">
                                        <label class="layui-form-label" style="width: 85px;">作废日期</label>
                                        <div class="layui-input-block" style="margin-left: 120px;">
                                            <input type="text" class="layui-input" name="HDeleteDate" id="HDeleteDate" style="background-color:#efefef4d;" readonly>
                                        </div>
                                    </div>
                                    <div class="layui-inline">
                                        <label class="layui-form-label" style="width: 85px;">退回日期</label>
                                        <div class="layui-input-block" style="margin-left: 120px;">
                                            <input type="text" class="layui-input" name="HBackDate" id="HBackDate" style="background-color:#efefef4d;" readonly>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </form>
            </div>
        </div>
    </div>
    <script>
        layui.config({
            base: '../../../layuiadmin/' //静态资源所在路径
        }).extend({
            index: 'lib/index' //主入口模块
        }).use(['index', 'form', 'laydate', 'table', 'element'], function () {
            //#region å…¬å…±å˜é‡
            var $ = layui.$
                , admin = layui.admin
                , layer = layui.layer
                , table = layui.table
                , form = layui.form
                , element = layui.element;
            //模块名
            var HBillType = "4757";
            //表格渲染参数
            //记录组织的值
            var HOrgIDBar = 0;
            //获取参数
            var params = getUrlVars();
            var OperationType = params[params[0]]; //从参数中获取 æ•°æ®ç±»åž‹  1添加 ä¿å­˜  2复制  3 ç¼–辑
            var linterid = params[params[1]]; //从参数中获取 å•据内码
            //#endregion
            //#region è¿›å…¥é¡µé¢å³åŠ è½½
            //#region åˆ¤æ–­æ˜¯å¦ç™»å½• æœªç™»å½•则跳到登录页
            if (sessionStorage.login != "login") {
                layer.confirm("登录失效,请重新登录!", {
                    icon: 4, skin: 'layui-layer-lan', title: "温馨提示", closeBtn: 0, btn: ['重新登录']
                }, function () { window.location.href = "../../user/login.html"; });
            }
            //#endregion
            //#region åˆ¤æ–­å¹¶è®¾ç½®æ“ä½œç±»åž‹ã€é¡µé¢åˆå§‹åŒ–
            if (OperationType == null || OperationType == 1) {                            //新增
                //标记操作类型
                OperationType = 1;
                $("#HPlanEmpName").val(sessionStorage["HUserName"]);
                //禁用按钮
                var num = 1;
                HfBtn(num);
                //初始化组织
                Organ();
                //生成并设置主表的内码和单据号
                createBillNo();
                //初始化日期
                $("#HDate").val(Format(new Date(), "yyyy-MM-dd"));
                //初始化年和周、开始日期、结束日期
                Init_selectYearAndWeek();
                //计划人初始化
                getHEmpByHUserName();
                //根据登录账户初始化查询总结人工时
                getHUserNameHours();
                ////禁用组织选项
                //$("#HOrgID").attr("disabled", true);
                //初始化制单人和制单时间
                $("#HMaker").val(sessionStorage["HUserName"]);
                $("#HMakeDate").val(Format(new Date(), "yyyy-MM-dd"));
            }
            else if (OperationType == 3) {                                                 //编辑
            }
            //#endregion
            //#endregion
            //#region è§¦å‘事件:包括form.on(){}格式的所有点击事件、选择事件等
            //#region å¼¹çª—选择触发事件
            //#region é€‰æ‹©è®¡åˆ’人按钮
            form.on('submit(btnSearchHPlanEmp)', function () {
                get_checkSearchHPlanEmp();
            });
            //#endregion
            //#endregion
            //#region æ“ä½œæŒ‰é’®è§¦å‘事件
            //#region ä¿å­˜æäº¤
            form.on('submit(btnSave)', function (data) {//提交
                if (AllowLoadData(data)) {
                    set_AddNew(data);
                }
            });
            //#endregion
            //#region é€€å‡º
            form.on('submit(btnEdit)', function (data) {
                if (params[1] != null) {
                    Pub_Close(1);
                } else if (params[1] == null) {
                    Pub_Close(2);
                }
            });
            //审核
            form.on('submit(set_CheckBill)', function (data) {
                set_CheckBill(0);
            });
            //反审核
            form.on('submit(set_AbandonCheck)', function (data) {
                set_CheckBill(1);
            });
            //关闭
            form.on('submit(set_CloseBill)', function (data) {
            });
            //反关闭
            form.on('submit(set_CancelCloseBill)', function (data) {
            });
            //#endregion
            //#endregion
            //#region æ­¤é¡µé¢æ‰€æœ‰çš„æ–¹æ³•
            //#region èŽ·å–å‚æ•°
            function getUrlVars() {
                var vars = [], hash;
                var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
                for (var i = 0; i < hashes.length; i++) {
                    hash = hashes[i].split('=');
                    vars.push(hash[0]);
                    vars[hash[0]] = hash[1];
                }
                return vars;
            }
            //#endregion
            //#region ç”Ÿæˆå•据号
            function createBillNo() {
                $.ajax({
                    url: GetWEBURL() + "/Web/GetMAXNum",
                    type: "GET",
                    data: { "HBillType": HBillType },
                    success: function (d) {
                        $("#HInterID").val(d.data[0].HInterID);
                        $("#HBillNo").val(d.data[0].HBillNo);
                    }
                });
            }
            //#endregion
            //#region ä¸‹æ‹‰åˆ—表初始化
            function Init_selectYearAndWeek() {
                // é¡µé¢åˆå§‹éœ€è¦çš„周和月的数据
                const date = new Date();
                //初始化年下拉列表
                var Year = date.getFullYear();
                var YearList = [];
                var YearSelect = "";
                for (var i = Year - 5; i < Year + 5; i++) {
                    YearList.push(i);
                }
                for (var i = 0; i < YearList.length; i++) {
                    YearSelect += '<option  style="color:blue;" value="' + YearList[i] + '">' + YearList[i] + '</option>';
                }
                $("#HYear").empty();
                $("#HYear").append(YearSelect);
                $("#HYear").val(Year);
                form.render('select');
                //初始化周下拉列表
                var Week = getYearWeek(date.getFullYear(), Number(date.getMonth()) + 1, date.getDate());            // èŽ·å–å½“å‰ç¬¬å‡ å‘¨
                var lastWeek = getYearWeek(date.getFullYear(), 12, 31);                                             //获取本年最后一周
                var WeekList = [];
                var WeekSelect = "";
                for (var i = 1; i <= lastWeek; i++) {
                    WeekList.push(i);
                }
                for (var i = 0; i < WeekList.length; i++) {
                    WeekSelect += '<option  style="color:blue;" value="' + WeekList[i] + '">' + WeekList[i] + '</option>';
                }
                $("#HWeek").empty();
                $("#HWeek").append(WeekSelect);
                $("#HWeek").val(Week);
                form.render('select');
                //初始化开始日期、结束日期
                var YearWeek = date.getFullYear() + "-" + Week;
                var wStartEnd = week_date(YearWeek);    //获取周的开始结束日期
                $("#HBeginDate").val(wStartEnd[0]);
                $("#HEndDate").val(wStartEnd[1]);
            }
            //#region èŽ·å–å½“å‰æ˜¯æœ¬å¹´ç¬¬å‡ å‘¨ã€‚a为年 b为月 c为日
            function getYearWeek(a, b, c) {
                //a为年 b为月 c为日
                /*
                    date1是当前日期
                    date2是当年第一天
                    d是当前日期是今年第多少天
                    ç”¨d + å½“前年的第一天的周差距的和在除以7就是本年第几周
                */
                var date1 = new Date(a, parseInt(b) - 1, c),
                    date2 = new Date(a, 0, 1),
                    d = Math.round((date1.valueOf() - date2.valueOf()) / 86400000);
                return Math.ceil((d + (date2.getDay() + 1 - 1)) / 7);
            }
            //#endregion
            //#region èŽ·å–å‘¨çš„å¼€å§‹å’Œç»“æŸæ—¥æœŸ
            function week_date(weekstr) {
                let year = weekstr.split("-")[0];
                let weekNo = weekstr.split("-")[1];
                // æ­¤å¹´1号是星期几
                // console.log('调用时传的',year,weekNo);
                let oneday = new Date(year + "-01-01").getDay(); //0-6
                // console.log(oneday);
                // æ–¹ä¾¿è®¡ç®—,当为星期天时为7
                if (oneday == 0) {
                    oneday = 7;
                }
                let one_fistday;
                let one_lastday;
                // å¦‚æžœ1号刚好是星期一
                if (oneday == 1) {
                    one_fistday = year + "-01-01";
                    one_lastday = year + "-01-07";
                } else {
                    let jj = 8 - oneday;
                    one_fistday =
                        year -
                        1 +
                        "-12-" +
                        (31 - oneday + 2 > 9 ? 31 - oneday + 2 : "0" + (31 - oneday + 2));
                    one_lastday = year + "-01-" + (jj > 9 ? jj : "0" + jj);
                }
                let fistday;
                let lastday;
                // å¦‚果刚好是第一周
                if (weekNo == 1) {
                    // åœ¨åŽŸæ–‡æ¡£è¿›è¡Œäº†ä¿®æ”¹
                    //fistday = addDate(one_fistday, 7);
                    //lastday = addDate(one_lastday, 7);
                    fistday = one_fistday;
                    lastday = one_lastday;
                } else {
                    // åœ¨åŽŸæ–‡æ¡£è¿›è¡Œäº†ä¿®æ”¹
                    //fistday = addDate(one_lastday, (weekNo - 1) * 7 + 1);
                    //lastday = addDate(one_lastday, weekNo * 7);
                    fistday = addDate(one_fistday, (weekNo - 1) * 7);
                    lastday = addDate(one_lastday, (weekNo - 1) * 7);
                }
                console.log(fistday, lastday);
                return [fistday, lastday];
            }
            //#endregion
            //#region æ—¥æœŸåŠ å‡æ³•  date参数为计算开始的日期,days为需要加的天数
            //格式:addDate('2017-1-11',20)
            function addDate(date, days) {
                var d = new Date(date);
                d.setDate(d.getDate() + days);
                var m = d.getMonth() + 1;
                return (
                    d.getFullYear() +
                    "-" +
                    (m > 9 ? m : "0" + m) +
                    "-" +
                    (d.getDate() > 9 ? d.getDate() : "0" + d.getDate())
                );
            }
            //#endregion
            //#endregion
            //#region æ ¹æ®ç™»å½•账户初始化总结人
            function getHEmpByHUserName() {
                var Czybm = sessionStorage["Czybm"];
                var wait = layer.load();
                $.ajax({
                    url: GetWEBURL() + '/PM_WorkTaskReportBill/getHEmpByHUserName',
                    type: "GET",
                    data: { "Czybm": Czybm, "user": sessionStorage["HUserName"] },
                    success: function (result) {
                        if (result.count == 1) {
                            var HPlanEmpID = result.data[0]["HEmpID"];
                            var HPlanEmpName = result.data[0]["HEmpName"];
                            $("#HPlanEmpID").val(HPlanEmpID);
                            $("#HPlanEmpName").val(HPlanEmpName);
                            layer.close(wait);
                        } else {
                            layer.alert(result.code + result.Message, { icon: 5 });
                            layer.close(wait);
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                        layer.close(wait);
                    }
                });
            }
            //#endregion
             //#region æ ¹æ®ç™»å½•账户初始化查询总结人工时
            function getHUserNameHours() {
                var HOrgID = $("#HOrgID").val();  //组织id
                var User = $("#HPlanEmpName").val();  //组织id
                var HYear = $("#HYear").val();  //å¹´
                var HWeek = $("#HWeek").val();  //周
                var HBeginDate = $("#HBeginDate").val(); //开始日期
                var HEndDate = $("#HEndDate").val();  //结束日期
                var wait = layer.load();
                $.ajax({
                    url: GetWEBURL() + 'PM_WorkTaskWeekBill/PM_WorkReportWeekBillMainList',
                    type: "GET",
                    data: { "HOrgID": HOrgID, "user": User, "HYear": HYear, "HWeek": HWeek, "HBeginDate": HBeginDate, "HEndDate": HEndDate },
                    success: function (data) {
                        if (data.count == 1) {
                            var HPlanTimes = data.data[0]["计划工时"];
                            var HUseTimes = data.data[0]["消耗工时"];
                            var HRelUseTimes = data.data[0]["有效工时"];
                            var HDelayTasks = data.data[0]["延期任务"];
                            var HFineTasks = data.data[0]["超前任务"];
                            var HFinishRate = data.data[0]["达成率"];
                            $("#HPlanTimes").val(HPlanTimes);
                            $("#HUseTimes").val(HUseTimes);
                            $("#HRelUseTimes").val(HRelUseTimes);
                            $("#HDelayTasks").val(HDelayTasks);
                            $("#HFineTasks").val(HFineTasks);
                            $("#HFinishRate").val(HFinishRate);
                            layer.close(wait);
                        } else {
                            layer.alert(data.code + data.Message, { icon: 5 });
                            layer.close(wait);
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                        layer.close(wait);
                    }
                });
            }
            //#endregion
            //#region èŽ·å–ç»„ç»‡
            function Organ() {
                //获取登录页组织列
                var Organization = '';
                $.ajax({
                    type: "get",
                    async: false,
                    url: GetWEBURL() + "/Web/GetOrganizations",
                    success: function (result) {
                        if (result.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                            var data = result.data;
                            for (var i = 0; i < data.length; i++) {
                                Organization += '<option  style="color:blue;" value="' + data[i].ID + '">' + data[i].Name + '</option>';
                            }
                            $("#HOrgID").append(Organization);
                            if (OperationType == 1 || OperationType == 4) {
                                HOrgIDBar = sessionStorage["OrganizationID"];
                            }
                            $("#HOrgID").val(HOrgIDBar);
                            form.render('select');
                        }
                        layer.closeAll("loading");
                    }
                })
            }
            //#endregion
            //#region æ€»ç»“人选择页面
            function get_checkSearchHPlanEmp() {
                var HOrgID = $("#HOrgID").val();
                layer.open({
                    type: 2//弹窗类型
                    , skin: 'layui-layer-rim' //加上边框
                    , area: ['90%', '90%']//大小
                    , title: '员工表'//标题
                    , shift: 2//弹出动画
                    , content: ['../../基础资料/公用基础资料/Gy_EmployeeList.html?openType=2&HOrgID=' + HOrgID, 'yes']
                    , btn: ['确定', '取消']
                    , btn1: function (index, layero) {//按钮【按钮一】的回调
                        var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
                        var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');//获取table的elem:"#test"
                        if (checkStatus.data.length === 0) {
                            return layer.msg('请选择数据');
                        }
                        //获取数据
                        $("#HPlanEmpID").val(checkStatus.data[0].HItemID);//客户id
                        $("#HPlanEmpName").val(checkStatus.data[0].职员名称);//客户名称
                        if ($("#HPlanEmpName").val() == "") {
                            $("#HPlanEmpName").val(checkStatus.data[0].职员代码);
                        }
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                        getHUserNameHours();
                    }
                    , btn2: function (index, layero) { }
                })
            }
            //#endregion
            //#region æ•°æ®æ ¡éªŒ
            function AllowLoadData(data) {
                //#region è¡¨å¤´æ•°æ®æ£€éªŒ
                if ($("#HBillNo").val() == "") {
                    layer.msg("单据号不能为空!");
                    return false;
                }
                if ($("#HDate").val() == "") {
                    layer.msg("日期不能为空!");
                    return false;
                }
                if ($("#HPlanEmpID").val() == "0") {
                    layer.msg("计划人未选择!");
                    return false;
                }
                //#endregion
                return true;
            }
            //#endregion
            //#region ä¿å­˜
            function set_AddNew(data) {
                //记录操作类型
                var refSav = "";
                if (OperationType == 1 || OperationType == 2) {
                    refSav = "Add";
                }
                if (OperationType == 3) {
                    refSav = "Update";
                }
                //若为编辑-保存,则更新修改人和修改时间
                if (OperationType == 3) {
                    data.field.HUpDater = sessionStorage["HUserName"];
                    data.field.HUpDateDate = Format(new Date(), "yyyy-MM-dd");
                    $("#HUpDater").val(sessionStorage["HUserName"]);
                    $("#HUpDateDate").val(Format(new Date(), "yyyy-MM-dd"));
                }
                if (data.field.HFinishRate) {
                     data.field.HFinishRate = data.field.HFinishRate.replace(/%/g, ''); // å°†ç™¾åˆ†å·æ›¿æ¢ä¸ºç©ºå­—符串
                }
                //获取表头数据并序列化
                var sMainStr = JSON.stringify(data.field);
                //拼接需要传给后端的数据
                var sMainSub = sMainStr + ';' + refSav + ";" + sessionStorage["HUserName"];
                var index = layer.load();
                $.ajax({
                    type: "POST",
                    url: GetWEBURL() + "/PM_WorkTaskWeekBill/SavePM_WorkReportWeekBillMain",
                    async: true,
                    data: { "msg": sMainSub },
                    dataType: "json",
                    success: function (data) {
                        if (data.count == 1) {
                            $('#btnSave').addClass("layui-btn-disabled").attr("disabled", true);
                            layer.close(index);
                            layer.msg("提交成功");
                            var num = 2;
                            HfBtn(num);
                        }
                        else {
                            layer.close(index);
                            layer.msg(data.Message, { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                        }
                    },
                    error: function (err) {
                        layer.close(index);
                        layer.msg("错误:" + err, { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    }
                });
            }
            //#endregion
            //按钮恢复
            function HfBtn(num) {
                //新增 æ—¶  ç¦ç”¨å…¶ä»–按钮
                if (num==1) {
                    $('#btn_LookDown').addClass("layui-btn-disabled").attr("disabled", true);
                    $('#btn_print').addClass("layui-btn-disabled").attr("disabled", true);
                    $('#btn_view').addClass("layui-btn-disabled").attr("disabled", true);
                    $('#set_CheckBill').addClass("layui-btn-disabled").attr("disabled", true);
                    $('#set_AbandonCheck').addClass("layui-btn-disabled").attr("disabled", true);
                    $('#set_CloseBill').addClass("layui-btn-disabled").attr("disabled", true);
                    $('#set_CancelCloseBill').addClass("layui-btn-disabled").attr("disabled", true);
                } else if (num==2) {
                    //每次恢复按钮
                    $('#btn_LookDown').addClass("layui-btn-disabled").attr("disabled", true);
                    $('#btn_print').addClass("layui-btn-disabled").attr("disabled", true);
                    $('#btn_view').addClass("layui-btn-disabled").attr("disabled", true);
                    $('#set_CheckBill').addClass("layui-btn-disabled").attr("disabled", true);
                    $('#set_AbandonCheck').addClass("layui-btn-disabled").attr("disabled", true);
                    $('#set_CloseBill').addClass("layui-btn-disabled").attr("disabled", true);
                    $('#set_CancelCloseBill').addClass("layui-btn-disabled").attr("disabled", true);
                }
            }
            //#region ç¼–辑获取表头
            function set_EditForm(linterid) {
                $.ajax({
                    url: GetWEBURL() + "PM_WorkTaskWeekBill/PM_WorkTaskWeekBillgetEditMainData",
                    async: false,
                    type: "GET",
                    data: {
                        "HInterID": linterid
                    },
                    success: function (result) {
                        if (result.code == 1) {
                            data = result.data;
                            //主表 èµ‹å€¼
                            form.val("formData", { //formTest å³ class="layui-form" æ‰€åœ¨å…ƒç´ å±žæ€§ lay-filter="" å¯¹åº”的值
                                "HInterID": data[0]["HInterID"]
                                , "HBillNo": data[0]["HBillNo"]
                                , "HYear": data[0]["HYear"]
                                , "HWeek": data[0]["HWeek"]
                                , "HDate": Format(new Date(data[0]["HDate"]), "yyyy-MM-dd")
                                , "HBeginDate": Format(new Date(data[0]["HBeginDate"]), "yyyy-MM-dd")
                                , "HEndDate": Format(new Date(data[0]["HEndDate"]), "yyyy-MM-dd")
                                , "HPlanEmpID": data[0]["HPlanEmpID"] == null ? 0 : data[0]["HPlanEmpID"]
                                , "HPlanEmpName": data[0]["HPlanEmpName"]
                                , "HRemark": data[0]["HRemark"]
                                , "HOrgID": data[0]["HOrgID"]
                                , "HMaker": data[0]["HMaker"]
                                , "HUpDater": data[0]["HUpDater"]
                                , "HChecker": data[0]["HChecker"]
                                , "HMakeDate": data[0]["HMakeDate"] == null ? "" : Format(new Date(data[0]["HMakeDate"]), "yyyy-MM-dd")
                                , "HUpDateDate": data[0]["HUpDateDate"] == null ? "" : Format(new Date(data[0]["HUpDateDate"]), "yyyy-MM-dd")
                                , "HCheckDate": data[0]["HCheckDate"] == null ? "" : Format(new Date(data[0]["HCheckDate"]), "yyyy-MM-dd")
                                , "HCloseMan": data[0]["HCloseMan"]
                                , "HDeleteMan": data[0]["HDeleteMan"]
                                , "HBacker": data[0]["HBacker"]
                                , "HCloseDate": data[0]["HCloseDate"] == null ? "" : Format(new Date(data[0]["HCloseDate"]), "yyyy-MM-dd")
                                , "HDeleteDate": data[0]["HDeleteDate"] == null ? "" : Format(new Date(data[0]["HDeleteDate"]), "yyyy-MM-dd")
                                , "HBackDate": data["HBackDate"] == null ? "" : Format(new Date(data[0]["HBackDate"]), "yyyy-MM-dd")
                            });
                            //组织的值HOrgID变化,重新渲染
                            HOrgIDBar = data[0]["HOrgID"];
                        } else {
                            layer.alert(result.code + result.Message, { icon: 5 });
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            }
            //#endregion
            //#region ç¼–辑获取表体
            function set_EditGrid(linterid) {
                $("#HInterID").val(linterid);//修改时主表ID
                //编辑加载数据
                $.ajax({
                    url: GetWEBURL() + 'PM_WorkTaskWeekBill/PM_WorkTaskWeekBillgetEditSubData',
                    async: false,
                    type: "GET",
                    data: { "HInterID": linterid },
                    success: function (result) {
                        if (result.count == 1) {
                            option.data = dealEditData(result.data);
                            table.render(option);
                            CheckedSet_tableSub();
                        } else {
                            layer.alert(result.code + result.Message, { icon: 5 });
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            }
            //#endregion
            //#region å¤„理编辑数据
            function dealEditData(data) {
                var tables = [];
                var HSno = 0;                               //标记同一任务,同一任务的不同记录的HSno一致
                for (var i = 0; i < data.length; i++) {
                    if (data[i]["HSno"] != HSno) {
                        HSno = data[i]["HSno"];
                        var NewRow =
                        {
                            "HProjectID": data[i]["HProjectID"]
                            , "HProNumber": data[i]["HProNumber"]
                            , "HProName": data[i]["HProName"]
                            , "HProjectStageID": data[i]["HProjectStageID"]
                            , "HProjectStageName": data[i]["HProjectStageName"]
                            , "HName": data[i]["HName"]
                            , "HTaskNote": data[i]["HTaskNote"]
                            , "HPlanTimes": data[i]["HPlanTimes"]
                            , "HReportTimes": data[i]["HReportTimes"]
                            , "HMonday": false
                            , "HTuesday": false
                            , "HWednesday": false
                            , "HThursday": false
                            , "HFriday": false
                            , "HSaturday": false
                            , "HSunday": false
                            , "HSourceInterID": data[i]["HSourceInterID"]
                            , "HSourceEntryID": data[i]["HSourceEntryID"]
                            , "HSourceBillNo": data[i]["HSourceBillNo"]
                            , "HSourceBillType": data[i]["HSourceBillType"]
                        };
                        tables.push(NewRow);
                    }
                    switch (data[i]["HWeekDay"] + "") {
                        case "1":
                            tables[tables.length - 1]["HMonday"] = true;
                            break;
                        case "2":
                            tables[tables.length - 1]["HTuesday"] = true;
                            break;
                        case "3":
                            tables[tables.length - 1]["HWednesday"] = true;
                            break;
                        case "4":
                            tables[tables.length - 1]["HThursday"] = true;
                            break;
                        case "5":
                            tables[tables.length - 1]["HFriday"] = true;
                            break;
                        case "6":
                            tables[tables.length - 1]["HSaturday"] = true;
                            break;
                        case "7":
                            tables[tables.length - 1]["HSunday"] = true;
                            break;
                    }
                }
                return tables;
            }
            //#endregion
            //#region ç¼–辑 é¡µé¢èµ‹å€¼
            function RoadBillMain(linterid)//加载表头
            {
                var wait = layer.load();
                Init_selectYearAndWeek();
                set_EditForm(linterid);
                set_EditGrid(linterid)
                getOption1Date();
                layer.close(wait);
            }
            //#endregion
            //#region å®¡æ ¸ åå®¡æ ¸ å…³é—­ åå…³é—­
            //审核
            function set_CheckBill(num) {
                layer.confirm("确认要审核吗?", function (index) {
                    var wait = layer.load();
                    $.ajax({
                        url: GetWEBURL() + '/PM_WorkTaskWeekBill/CheckPM_WorkReportWeekBillMain',
                        type: "GET",
                        data: {"HInterID": $("#HInterID").val(), "IsAudit": num, "user": sessionStorage["HUserName"] },
                        success: function (result) {
                            if (result.count == 1) {
                                layer.msg(result.Message, { icon: 1 });
                                layer.close(wait);
                            } else {
                                layer.alert(result.code + result.Message, { icon: 5 });
                                layer.close(wait);
                            }
                        }, error: function () {
                            layer.alert("接口请求失败!", { icon: 5 });
                            layer.close(wait);
                        }
                    });
                })
            }
            //反审核
            function set_AbandonCheck() {
                layer.confirm("确认要反审核吗?", function (index) {
                    var wait = layer.load();
                    $.ajax({
                        url: GetWEBURL() + '/Sc_ICMOBill/CheckSc_ICMOReportBill',
                        type: "GET",
                        data: { "HInterID": $("#HInterID").val(), "Type": 2, "user": sessionStorage["HUserName"] },
                        success: function (result) {
                            if (result.count == 1) {
                                HfBtn();
                                layer.msg(result.Message, { icon: 1 });
                                layer.close(wait);
                            } else {
                                layer.alert(result.code + result.Message, { icon: 5 });
                                layer.close(wait);
                            }
                        }, error: function () {
                            layer.alert("接口请求失败!", { icon: 5 });
                            layer.close(wait);
                        }
                    });
                })
            }
            //关闭
            function set_CloseBill() {
                layer.confirm("确认要关闭吗?", function (index) {
                    var wait = layer.load();
                    $.ajax({
                        url: GetWEBURL() + '/Sc_ICMOBill/CloseSc_ICMOReportBill',
                        type: "GET",
                        data: { "HInterID": $("#HInterID").val(), "Type": 1, "user": sessionStorage["HUserName"] },
                        success: function (result) {
                            if (result.count == 1) {
                                $('#set_CloseBill').addClass("layui-btn-disabled").attr("disabled", true);
                                $('#set_AbandonCheck').addClass("layui-btn-disabled").attr("disabled", true);
                                $('#set_CheckBill').addClass("layui-btn-disabled").attr("disabled", true);
                                $('#set_CancelCloseBill').removeClass("layui-btn-disabled").attr("disabled", false);
                                layer.msg(result.Message, { icon: 1 });
                                layer.close(wait);
                            } else {
                                layer.alert(result.code + result.Message, { icon: 5 });
                                layer.close(wait);
                            }
                        }, error: function () {
                            layer.alert("接口请求失败!", { icon: 5 });
                            layer.close(wait);
                        }
                    });
                })
            }
            //反关闭
            function set_CancelCloseBill() {
                layer.confirm("确认要反关闭吗?", function (index) {
                    var wait = layer.load();
                    $.ajax({
                        url: GetWEBURL() + '/Sc_ICMOBill/CloseSc_ICMOReportBill',
                        type: "GET",
                        data: { "HInterID": $("#HInterID").val(), "Type": 2, "user": sessionStorage["HUserName"] },
                        success: function (result) {
                            if (result.count == 1) {
                                HfBtn();
                                layer.msg(result.Message, { icon: 1 });
                                layer.close(wait);
                            } else {
                                layer.alert(result.code + result.Message, { icon: 5 });
                                layer.close(wait);
                            }
                        }, error: function () {
                            layer.alert("接口请求失败!", { icon: 5 });
                            layer.close(wait);
                        }
                    });
                })
            }
            //#endregion
            //#endregion
        });
    </script>
</body>
</html>