duhe
2025-06-19 f2ff5a79bc4eb7bc321f181e9cc63334b4e9460f
WebTM/views/ÏîÄ¿¹ÜÀí/¹¤×÷ÈÎÎñ/PM_WorkTaskReportBill.html
@@ -14,6 +14,7 @@
    <script src="../../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
    <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
    <script src="../../../layuiadmin/PubCustom.js"></script>
    <script src="../../../layuiadmin/PageTitle.js"></script>
    <!--<style>
        .main-btn { /*头部主按钮*/
            padding: 0 2px; /*调整按钮左右空隙大小*/
@@ -65,6 +66,7 @@
                        <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">
                        <h1 style="text-align: center; padding: 10px 0;"><b>任务汇报</b></h1>
                        <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>
@@ -225,6 +227,7 @@
                        </div>
                    </div>
                    <div class="layui-tab" lay-filter="tab-POStockInBill">
                        <ul class="layui-tab-title" lay-filter="tab-all">
                            <li lay-id="1" style="padding:1px;" class="layui-this">项目阶段</li>
                        </ul>
@@ -238,7 +241,7 @@
                                        <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-CopyLine"><i class="layui-icon layui-icon-form"></i>复制一行</button>
                                        <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn"><i class="layui-icon layui-icon-form"></i>列设置</button>
                                        <!--<button type="button" class="layui-btn layui-btn-sm" lay-event="btn_up"><i class="layui-icon layui-icon-form"></i>上一行</button>
                                        <button type="button" class="layui-btn layui-btn-sm" lay-event="btn_under"><i class="layui-icon layui-icon-form"></i>下一行</button>-->
                    <button type="button" class="layui-btn layui-btn-sm" lay-event="btn_under"><i class="layui-icon layui-icon-form"></i>下一行</button>-->
                                    </div>
                                </script>
                            </div>
@@ -291,11 +294,23 @@
            var params = getUrlVars();
            var OperationType = params[params[0]]; //从参数中获取 æ•°æ®ç±»åž‹  1添加 ä¿å­˜  2复制  3 ç¼–辑
            var linterid = params[params[1]]; //从参数中获取 å•据内码
            var HProjectStageID = params[params[3]]; //阶段内码
            var HEntryID = params[params[3]]; //从参数中获取 å•据内码
            //var HProjectStageID = params[params[3]]; //阶段内码
            //全局变量
            window.OptionData = [];
            //#endregion
            //#region è¿›å…¥é¡µé¢å³åŠ è½½
            //#region ã€åŠ¨æ€èŽ·å–æ¨¡å—åç§°ã€‘
            var HModuleType = "4754";
            //通过单据类型,从数据库动态获取单据模块命名,引用js文件 PageTitle.js
            var HPageTitle = get_PageTitle(HModuleType) == "" ? $("h1").html() : get_PageTitle(HModuleType);
            $("h1").html('<b>' + HPageTitle + '</b>');
            //#endregion
            //#region åˆ¤æ–­æ˜¯å¦ç™»å½• æœªç™»å½•则跳到登录页
            if (sessionStorage.login != "login") {
                layer.confirm("登录失效,请重新登录!", {
@@ -326,30 +341,32 @@
                $("#HDate").val(Format(new Date(), "yyyy-MM-dd"));
                //初始化项目阶段表
                get_InitGrid();
                DisPlay_HideColumn();
            }
            //else if (OperationType == 2) {                                      //复制
            //    //禁用组织选项
            //    //$("#HOrgID").attr("disabled", true);
            //    RoadBillMain(linterid);
            //    $.ajax({
            //        url: GetWEBURL() + "/Web/GetMAXNum",
            //        type: "GET",
            //        async: false,
            //        data: { "HBillType": '4750' },
            //        success: function (d) {
            //            $("#HInterID").val(d.data[0].HInterID);
            //            $("#HBillNo").val(d.data[0].HBillNo);
            //            $("#HDate").val(Format(new Date(), "yyyy-MM-dd"));
            //        }
            //    });
            //}
            else if (OperationType == 2) {      //我的任务模块下推
                ////禁用组织选项
                //$("#HOrgID").attr("disabled", true);
                //生成并设置主表的内码和单据号
                createBillNo();
                //汇报人初始化
                getHEmpByHUserName();
                //初始化制单人和制单时间
                $("#HMaker").val(sessionStorage["HUserName"]);
                $("#HMakerDate").val(Format(new Date(), "yyyy-MM-dd"));
                //初始化日期
                $("#HDate").val(Format(new Date(), "yyyy-MM-dd"));
                //初始化项目阶段表
                get_InitGrid();
                get_Display();
            }
            else if (OperationType == 3) {//如果修改则走下面 new                                        //编辑
                ////禁用组织选项
                //$("#HOrgID").attr("disabled", true);
                //初始化项目阶段表
                get_InitGrid();
                DisPlay_HideColumn();
                RoadBillMain(linterid);
            } else if (OperationType == 4) {                     //下推
                //禁用组织选项
@@ -369,6 +386,7 @@
                get_InitGrid();
                //下推-页面设置
                set_WorkTaskReport();
            }
            //#endregion
@@ -469,6 +487,7 @@
                        table.cache["mainTable"].push(NewRow);
                        option.data = table.cache["mainTable"];
                        table.render(option);
                        CheckedSet_tableSub();
                        for (var i = 1; i <= option.data.length; i++) {
                            //完成标记
@@ -493,6 +512,7 @@
                            table.cache["mainTable"].push(JSON.parse(copyrow));//将复制的行强转成json追加到表格上
                            option.data = table.cache["mainTable"];//将数据绑定到data上
                            table.render(option);//将数据渲染到表格上
                            CheckedSet_tableSub();
                            for (var i = 1; i <= option.data.length; i++) {
                                //完成标记
@@ -590,7 +610,7 @@
                                Organization += '<option  style="color:blue;" value="' + data[i].ID + '">' + data[i].Name + '</option>';
                            }
                            $("#HOrgID").append(Organization);
                            if (OperationType == 1 || OperationType == 4) {
                            if (OperationType == 1 || OperationType == 4 || OperationType == 2) {
                                HOrgIDBar = sessionStorage["OrganizationID"];
                            }
                            $("#HOrgID").val(HOrgIDBar);
@@ -700,6 +720,7 @@
                ];
                option.data = rowdata;
                table.render(option);
                CheckedSet_tableSub();
            }
            //#endregion
            
@@ -725,7 +746,7 @@
                    , area: ['90%', '90%']//大小
                    , title: '员工表'//标题
                    , shift: 2//弹出动画
                    , content: ['../../基础资料/公用基础资料/Gy_EmployeeList.html?openType=2&HOrgID=' + HOrgID, 'yes']
                    , content: ['../../基础资料/公用基础资料/Gy_EmployeeList.html?openType=HReport&HOrgID=' + HOrgID, 'yes']
                    , btn: ['确定', '取消']
                    , btn1: function (index, layero) {//按钮【按钮一】的回调
                        var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
@@ -742,6 +763,7 @@
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) { }
                    , end: function () {}
                })
            }
            //#endregion
@@ -756,6 +778,7 @@
                        num.push(table.cache["mainTable"][i])
                    }
                }
                //获取组织数据
                data.field.HPRDORGID = sessionStorage["OrganizationID"];//组织
                //若为编辑-保存,则更新修改人和修改时间
@@ -785,6 +808,8 @@
                            $('#btnSave').addClass("layui-btn-disabled").attr("disabled", true);
                            layer.close(index);
                            layer.msg("提交成功");
                            var datas = num;
                            UpdateState(datas);
                        }
                        else {
                            layer.close(index);
@@ -799,6 +824,40 @@
            }
            //#endregion
            //循环子表数据,查看是否完成,完成就更新状态为已结束
            function UpdateState(datas) {
                var data = datas;
                for (var i = 0; i < data.length; i++) {
                    if (data[i].HFinishFlag == true) {
                        var InterID = data[i].HSourceInterID;
                        var nums = 2;
                        $.ajax({
                            type: "GET",
                            url: GetWEBURL() + "/PM_WorkTaskBill/BeginPM_WorkTaskBill", //方法所在页面和方法名
                            data: { "HInterID": InterID, "Type": nums, "user": sessionStorage["HUserName"] },
                            success: function (result) {
                                if (result.count == 1) {
                                    layer.msg(result.Message, { time: 1 * 1000, icon: 1 }, function () {
                                        // å¾—到frame索引
                                        var index = layer.getFrameIndex(window.name);
                                        //关闭当前frame
                                        layer.close(index);
                                        //修改为功后刷新界面
                                        $("#btnSearch").trigger('click');
                                    });
                                } else {
                                    layer.alert(result.code + result.Message, { icon: 5 });
                                }
                            }, error: function () {
                                layer.alert("接口请求失败!", { icon: 5 });
                            }
                        });
                    }
                }
            }
            //#region ç¼–辑 é¡µé¢èµ‹å€¼
            function RoadBillMain(linterid)//加载表头
            {
@@ -845,13 +904,7 @@
                        }
                        option.data = tableSub;
                        table.render(option);
                        for (var i = 0; i < tableSub.length; i++) {
                            if (tableSub[i].HFinishFlag) {
                                $('#HFinishFlag' + (i + 1)).attr("checked", true);
                            }
                        }
                        form.render('checkbox');
                        CheckedSet_tableSub();
                        form.render('select');
                    }
                })
@@ -888,6 +941,7 @@
                option.data = dataArray;
                table.render(option);
                CheckedSet_tableSub();
                //$.ajax({
@@ -1069,7 +1123,11 @@
                        if (HRelTimes.substring(HRelTimes.length - 1, HRelTimes.length) == ".") {
                            layer.msg("第" + (i + 1) + "行:耗用工时末尾不能为.!");
                            return;
                        } else {
                        } else if (HRelTimes == "0") {
                            layer.msg("第" + (i + 1) + "行:耗用工时不能为0!");
                            return;
                        }
                        else {
                            var ref = /^[0-9]+\.?[0-9]*$/;
                            if (!ref.test(HRelTimes)) {
                                layer.msg("第" + (i + 1) + "行:耗用工时请输正确入数字!");
@@ -1083,9 +1141,9 @@
                //#region å­è¡¨å…³é”®å­—段重复检验
                var num = [];
                for (var i = 0; i < option.data.length; i++) {
                    temp = option.data[i]["HProjectID"] + "|" + option.data[i]["HProjectStageID"] + "|" + option.data[i]["HName"];
                    temp = option.data[i]["HProjectID"] + "|" + option.data[i]["HProjectStageID"] + "|" + option.data[i]["HName"] + "|" + option.data[i]["HSourceInterID"] + "|" + option.data[i]["HSourceEntryID"];
                    if ($.inArray(temp, num) != -1) {
                        layer.msg("第" + (i + 1) + "行:项目代码、项目阶段、任务名称重复,请重新选择!");
                        layer.msg("第" + (i + 1) + "行:任务重复,请重新选择!");
                        return false;
                    }
                    num.push(temp);
@@ -1110,6 +1168,7 @@
                            option.data[i - 1] = data[0];
                            option.data[i] = tables[0];
                            table.render(option);
                            CheckedSet_tableSub();
                            break;
                        }
                    }
@@ -1132,6 +1191,7 @@
                            option.data[i + 1] = data[0];
                            option.data[i] = tables[0];
                            table.render(option);
                            CheckedSet_tableSub();
                            break;
                        }
                    }
@@ -1153,6 +1213,7 @@
                            oldData.splice(obj.tr.data('index'), 1)
                            option.data = oldData;//将数据绑定到data上
                            table.render(option);
                            CheckedSet_tableSub();
                            layer.close(index);
                        }
                    });
@@ -1268,12 +1329,75 @@
                                    layer.close(index);//关闭弹窗
                                }
                                , btn2: function (index, layero) { }
                                , end: function () {
                                    if (OptionData[0].关闭人 == null || OptionData[0].关闭人 == "") {
                                        //更新表格缓存的数据
                                        obj.update({
                                            "HName": OptionData[0].任务名称
                                            , "HTaskNote": OptionData[0].任务描述
                                            , "HType": OptionData[0].任务类型
                                            , "HProjectID": OptionData[0].HProjectID
                                            , "HProNumber": OptionData[0].项目代码
                                            , "HProjectStageID": OptionData[0].HProjectStageID
                                            , "HProjectStageName": OptionData[0].项目阶段
                                            , "HSourceInterID": OptionData[0].HInterID
                                            , "HSourceEntryID": OptionData[0].HEntryID
                                            , "HSourceBillNo": OptionData[0].单据号
                                            , "HSourceBillType": OptionData[0].单据类型
                                        })
                                    } else {
                                        layer.msg("该任务已关闭,请重新选择!");
                                    }
                                }
                            })
                        }
                        obj.event = "";
                        return false;
                    }
                })
            }
            //#endregion
            //#region æŸ¥è¯¢  æˆ‘的任务下推查询数据
            function get_Display() {
                var ajaxLoad = layer.load();
                $.ajax({
                    url: GetWEBURL() + '/PM_WorkTaskBill/XTList',
                    type: "GET",
                    async: false,
                    data: { "HInterID": linterid, "user": sessionStorage["HUserName"]},
                    success: function (data1) {
                        if (data1.count == 1) {
                            var rowdata = [];
                            for (var i = 0; i < data1.data.length; i++) {
                                rowdata.push(
                                    {
                                        "HName": data1.data[i].任务名称
                                        , "HTaskNote": data1.data[i].任务描述
                                        , "HType": data1.data[i].任务类型
                                        , "HProjectID": data1.data[i].HProjectID
                                        , "HProNumber": data1.data[i].项目代码
                                        , "HProjectStageID": data1.data[i].HProjectStageID
                                        , "HProjectStageName": data1.data[i].项目阶段
                                        , "HSourceInterID": data1.data[i].HInterID
                                        , "HSourceEntryID": data1.data[i].HEntryID
                                        , "HSourceBillNo": data1.data[i].单据号
                                        , "HSourceBillType": data1.data[i].单据类型
                                        , "HRelTimes": data1.data[i].已耗用工时
                                    });
                            }
                            option.data = rowdata;
                            table.render(option);
                            CheckedSet_tableSub();
                            form.render('select');
                        }
                    }, error: function () {
                        layer.close(ajaxLoad);
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            }
            //#endregion
@@ -1385,13 +1509,28 @@
                                }
                            }
                            table.render(option);
                            CheckedSet_tableSub();
                        } else {
                            table.render(option);
                            CheckedSet_tableSub();
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                })
            }
            //#endregion
            //#region åˆ·æ–°è®¾ç½®å¤é€‰æ¡†çŠ¶æ€
            function CheckedSet_tableSub() {
                var tableSub = option.data;
                //对子表中的复选框进行选中
                for (var i = 0; i < tableSub.length; i++) {
                    if (tableSub[i].HFinishFlag) {
                        $('#HFinishFlag' + (i + 1)).attr("checked", true);
                    }
                }
                form.render('checkbox');
            }
            //#endregion
@@ -1428,8 +1567,15 @@
        });
        //子表f7 å·¥ä½œä»»åŠ¡
        function GetWorkTaskValue(obj) {
            OptionData = obj;
        }
        //汇报人
        function GetHReportValue(obj) {
            $("#HReportEmpID").val(obj[0].HItemID);//客户id
            $("#HReportEmpName").val(obj[0].职员名称);//客户名称
        }
    </script>
</body>
</html>