yxj
2023-10-12 6b3eeeb69a30c971ec7ba7afb860cd142eac611a
WebTM/views/ÏîÄ¿¹ÜÀí/¹¤×÷ÈÎÎñ/PM_WorkTaskReportBill.html
@@ -121,8 +121,8 @@
                                            <div class="layui-input-block" style="margin-left: 120px; width: 501px;">
                                                <input type="hidden" name="HProID" id="HProID" lay-verify="HProID" value="0">
                                                <input type="hidden" name="HProjectStageID" id="HProjectStageID" lay-verify="HProjectStageID" value="0">
                                                <input type="hidden" name="HMainSourceBillType" id="HMainSourceBillType" lay-verify="HMainSourceBillType" value="0">
                                                <input type="hidden" name="HMainSourceBillNo" id="HMainSourceBillNo" lay-verify="HMainSourceBillNo" value="0">
                                                <input type="hidden" name="HMainSourceBillType" id="HMainSourceBillType" lay-verify="HMainSourceBillType" value="">
                                                <input type="hidden" name="HMainSourceBillNo" id="HMainSourceBillNo" lay-verify="HMainSourceBillNo" value="">
                                            </div>
                                        </div>
                                    </div>
@@ -254,6 +254,18 @@
        <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
    </script>
    <!--复选框 å®Œæˆæ ‡è®°-->
    <script type="text/html" id="HFinishFlag">
        <div class="layui-input-block" style="margin-left: 20px;">
            <input type="checkbox" name="HFinishFlag" lay-filter="HFinishFlag" id="HFinishFlag{{d.LAY_TABLE_INDEX+1}}" lay-skin="primary">
        </div>
    </script>
    <!--<script type="text/html" id="switchTpl">
         è¿™é‡Œçš„ checked çš„状态只是演示
        <input type="checkbox" name="checkbox" value="{{d.HFinishFlag}}" lay-skin="primary" lay-filter="HFinishFlag" {{ d.HFinishFlag == 1 ? 'checked' : '' }}>
    </script>-->
    <script>
        layui.config({
@@ -337,24 +349,24 @@
                //初始化项目阶段表
                get_InitGrid();
                RoadBillMain(linterid);
            } else if (OperationType == 4 && HProjectStageID != null) {                     //下推
                ////禁用组织选项
                //$("#HOrgID").attr("disabled", true);
            } else if (OperationType == 4) {                     //下推
                //禁用组织选项
                $("#HOrgID").attr("disabled", true);
                //生成并设置主表的内码和单据号
                //createBillNo();
                ////汇报人初始化
                //getHEmpByHUserName();
                createBillNo();
                //汇报人初始化
                getHEmpByHUserName();
                ////初始化制单人和制单时间
                //$("#HMaker").val(sessionStorage["HUserName"]);
                //$("#HMakerDate").val(Format(new Date(), "yyyy-MM-dd"));
                ////初始化日期
                //$("#HDate").val(Format(new Date(), "yyyy-MM-dd"));
                ////初始化项目阶段表
                //get_InitGrid();
                ////下推-页面设置
                //set_WorkTaskReport();
                //初始化制单人和制单时间
                $("#HMaker").val(sessionStorage["HUserName"]);
                $("#HMakerDate").val(Format(new Date(), "yyyy-MM-dd"));
                //初始化日期
                $("#HDate").val(Format(new Date(), "yyyy-MM-dd"));
                //初始化项目阶段表
                get_InitGrid();
                //下推-页面设置
                set_WorkTaskReport();
            }
            //#endregion
@@ -433,16 +445,18 @@
                var NewRow =
                {
                    "RowID": (table.cache["mainTable"].length + 1) * 10
                    , 'HProNumber': ''
                    , 'HProjectStageID': '0'
                    , 'HProjectStageName': ''
                    , 'HName': ''
                    , 'HTaskNote': ''
                    , 'HType': ''
                    , 'HRelTimes': '0'
                    , 'HReportNote': ''
                    , 'HAdv': ''
                    , 'HRemarkSub': ''
                    , "HProjectID": "0"
                    , "HProNumber": ""
                    , "HProjectStageID": "0"
                    , "HProjectStageName": ""
                    , "HName": ""
                    , "HTaskNote": ""
                    , "HType": ""
                    , "HRelTimes": "0"
                    , "HReportNote": ""
                    , "HFinishFlag": false
                    , "HAdv": ""
                    , "HRemarkSub": ""
                    , "HSourceInterID": "0"
                    , "HSourceEntryID": "0"
                    , "HSourceBillNo": ""
@@ -453,6 +467,16 @@
                        table.cache["mainTable"].push(NewRow);
                        option.data = table.cache["mainTable"];
                        table.render(option);
                        CheckedSet_tableSub();
                        for (var i = 1; i <= option.data.length; i++) {
                            //完成标记
                            if (option.data[i - 1].HFinishFlag) {
                                $('#HFinishFlag' + i + '').attr("checked", true);
                            }
                        }
                        form.render('select');
                        form.render('checkbox');
                        break;
                    case 'btn-CopyLine':
                        var copydata = JSON.stringify(data);
@@ -468,6 +492,16 @@
                            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++) {
                                //完成标记
                                if (option.data[i - 1].HFinishFlag) {
                                    $('#HFinishFlag' + i + '').attr("checked", true);
                                }
                            }
                            form.render('checkbox');
                            form.render('select');
                        }
                        break;
                    //列设置
@@ -512,7 +546,7 @@
            //#endregion
            //
            form.on('submit(Cancel)', function () {
                //sessionStorage["SourceFlag"] = false;
@@ -556,7 +590,7 @@
                                Organization += '<option  style="color:blue;" value="' + data[i].ID + '">' + data[i].Name + '</option>';
                            }
                            $("#HOrgID").append(Organization);
                            if (OperationType == 1) {
                            if (OperationType == 1 || OperationType == 4) {
                                HOrgIDBar = sessionStorage["OrganizationID"];
                            }
                            $("#HOrgID").val(HOrgIDBar);
@@ -578,6 +612,16 @@
                    vars[hash[0]] = hash[1];
                }
                return vars;
            }
            //#endregion
            //#region èŽ·å–å‚æ•°_传递的JSON格式参数
            function getUrlVars_JSON() {
                var datajson;
                var str = window.location.search; //获取链接中传递的参数
                var arr = str.substring(str.indexOf("=") + 7);
                datajson = $.parseJSON(decodeURI(arr));
                return datajson;
            }
            //#endregion
@@ -612,14 +656,17 @@
                        { type: 'checkbox', totalRowText: '合计行' }
                        , { type: 'numbers', title: '序号', style: 'background-color: #f9f9f9;' }
                        , { field: 'RowID', title: '行号', hide: true, style: 'background-color: #f9f9f9;' }                                                   //行标识,用于下一行、上一行识别所在行
                        , { field: 'HProNumber', title: '项目代码', style: 'background-color: #f9f9f9;'}
                        , { field: 'HProjectID', title: '项目ID', hide: true, style: 'background-color: #f9f9f9;' }
                        , { field: 'HProNumber', title: '项目代码', style: 'background-color: #f9f9f9;' }
                        , { field: 'HProjectStageID', title: '项目阶段ID', hide: true, style: 'background-color: #f9f9f9;' }
                        , { field: 'HProjectStageName', title: '项目阶段', style: 'background-color: #f9f9f9;' }     //f7
                        , { field: 'HName', title: '任务名称', edit: 'text', event: "HName" }
                        , { field: 'HTaskNote', title: '任务描述', style: 'background-color: #f9f9f9;' }
                        , { field: 'HType', title: '任务类型', style: 'background-color: #f9f9f9;'}
                        , { field: 'HType', title: '任务类型', style: 'background-color: #f9f9f9;' }
                        , { field: 'HRelTimes', title: '耗用工时', edit: 'text', totalRow: true }
                        , { field: 'HReportNote', title: '汇报内容', edit: 'text' }
                        , { field: 'HFinishFlag', title: '完成标记', templet: "#HFinishFlag" }//checkbox
                        //, { field: 'HFinishFlag', title: '完成标记', width: 100, templet: '#switchTpl', unresize: false }
                        , { field: 'HAdv', title: '优化建议', edit: 'text' }
                        , { field: 'HRemarkSub', title: '备注', edit: 'text' }
                        , { field: 'HSourceInterID', title: '源单内码', hide: true, style: 'background-color: #f9f9f9;' }     //f7
@@ -633,16 +680,18 @@
                var rowdata = [
                    {
                        "RowID": 10
                        , 'HProNumber': ''
                        , 'HProjectStageID': '0'
                        , 'HProjectStageName': ''
                        , 'HName': ''
                        , 'HTaskNote': ''
                        , 'HType': ''
                        , 'HRelTimes': '0'
                        , 'HReportNote': ''
                        , 'HAdv': ''
                        , 'HRemarkSub': ''
                        , "HProjectID": "0"
                        , "HProNumber": ""
                        , "HProjectStageID": "0"
                        , "HProjectStageName": ""
                        , "HName": ""
                        , "HTaskNote": ""
                        , "HType": ""
                        , "HRelTimes": "0"
                        , "HReportNote": ""
                        , "HFinishFlag": false
                        , "HAdv": ""
                        , "HRemarkSub": ""
                        , "HSourceInterID": "0"
                        , "HSourceEntryID": "0"
                        , "HSourceBillNo": ""
@@ -651,7 +700,21 @@
                ];
                option.data = rowdata;
                table.render(option);
                CheckedSet_tableSub();
            }
            //#endregion
            //#region å®Œæˆæ ‡è®°
            form.on('checkbox(HFinishFlag)', function (data) {
                //获取下拉框选中的值
                var elem = data.othis.parents('tr');
                var dataindex = elem.attr("data-index");
                $.each(option.data, function (index, value) {
                    if (value.LAY_TABLE_INDEX == dataindex) {
                        value.HFinishFlag = data.elem.checked;//把选中下拉框id值赋值给表格缓存
                    }
                });
            });
            //#endregion
            //#region æ±‡æŠ¥äººé€‰æ‹©é¡µé¢
@@ -706,7 +769,7 @@
                //获取表头数据并序列化
                var sMainStr = JSON.stringify(data.field);              //主表数据
                //子表数据序列化
                var sSubStr = JSON.stringify(num);
                var sSubStr = JSON.stringify(num);
                //拼接序列化的数据
                var sMainSub = sMainStr + ';' + sSubStr + ';' + OperationType + ";" + sessionStorage["HUserName"];
@@ -783,6 +846,8 @@
                        }
                        option.data = tableSub;
                        table.render(option);
                        CheckedSet_tableSub();
                        form.render('select');
                    }
                })
            }
@@ -790,35 +855,66 @@
            //#region ä¸‹æŽ¨-页面赋值
            function set_WorkTaskReport() {
                $.ajax({
                    url: GetWEBURL() + "/PM_ProjectBill/set_WorkTaskReport",
                    type: "GET",
                    async: false,
                    data: { "HInterID": linterid, "HProjectStageID": HProjectStageID, "user": sessionStorage["HUserName"] },
                    success: function (result) {
                        var tableMain = result.data[0];
                        var tableSub = result.data[1];
                var data = getUrlVars_JSON().data;
                var dataArray = [];
                for (var i = 0; i < data.length; i++) {
                    var NewRow =
                    {
                        "RowID": (i + 1) * 10
                        , "HProjectID": data[i].HProjectID
                        , "HProNumber": data[i].HProNumber
                        , "HProjectStageID": data[i].HProjectStageID
                        , "HProjectStageName": data[i].HProjectStageName
                        , "HName": data[i].HName
                        , "HTaskNote": data[i].HTaskNote
                        , "HType": data[i].HType
                        , "HRelTimes": "0"
                        , "HReportNote": ""
                        , "HFinishFlag": false
                        , "HAdv": ""
                        , "HRemarkSub": ""
                        , "HSourceInterID": data[i].HSourceInterID
                        , "HSourceEntryID": data[i].HSourceEntryID
                        , "HSourceBillNo": data[i].HSourceBillNo
                        , "HSourceBillType": data[i].HSourceBillType
                    };
                    dataArray.push(NewRow);
                }
                        //主表 èµ‹å€¼
                        form.val("formData", { //formTest å³ class="layui-form" æ‰€åœ¨å…ƒç´ å±žæ€§ lay-filter="" å¯¹åº”的值
                            "HOrgID": tableMain[0]["HOrgID"]
                            , "HProID": tableMain[0]["HInterID"]
                            , "HProjectStageID": tableMain[0]["HProjectStageID"]
                            , "HMainSourceBillNo": tableMain[0]["单据号"]
                            , "HMainSourceBillType": tableMain[0]["单据类型"]
                        });
                option.data = dataArray;
                table.render(option);
                CheckedSet_tableSub();
                        //组织的值HOrgID变化,重新渲染
                        HOrgIDBar = tableMain[0]["HOrgID"];
                        //子表  èµ‹å€¼
                        for (var i = 0; i < tableSub.length; i++) {
                            tableSub[i].RowID = (i + 1) * 10;
                        }
                        option.data = tableSub;
                        table.render(option);
                    }
                })
                //$.ajax({
                //    url: GetWEBURL() + "/PM_ProjectBill/set_WorkTaskReport",
                //    type: "GET",
                //    async: false,
                //    data: { "HInterID": linterid, "HProjectStageID": HProjectStageID, "user": sessionStorage["HUserName"] },
                //    success: function (result) {
                //        var tableMain = result.data[0];
                //        var tableSub = result.data[1];
                //        //主表 èµ‹å€¼
                //        form.val("formData", { //formTest å³ class="layui-form" æ‰€åœ¨å…ƒç´ å±žæ€§ lay-filter="" å¯¹åº”的值
                //            "HOrgID": tableMain[0]["HOrgID"]
                //            , "HProID": tableMain[0]["HInterID"]
                //            , "HProjectStageID": tableMain[0]["HProjectStageID"]
                //            , "HMainSourceBillNo": tableMain[0]["单据号"]
                //            , "HMainSourceBillType": tableMain[0]["单据类型"]
                //        });
                //        //组织的值HOrgID变化,重新渲染
                //        HOrgIDBar = tableMain[0]["HOrgID"];
                //        //子表  èµ‹å€¼
                //        for (var i = 0; i < tableSub.length; i++) {
                //            tableSub[i].RowID = (i + 1) * 10;
                //        }
                //        option.data = tableSub;
                //        table.render(option);
                //    }
                //})
            }
            //#endregion
@@ -945,6 +1041,13 @@
                var num = [];
                for (var i = 0; i < option.data.length; i++) {
                    if (option.data[i] != "") {
                        //项目非空检验
                        if (option.data[i]["HProjectID"] == "0") {
                            layer.msg("第" + (i + 1) + "行:项目不能为空!");
                            return false;
                        }
                        //项目阶段非空检验
                        if (option.data[i]["HProjectStageID"] == "0") {
                            layer.msg("第" + (i + 1) + "行:项目阶段不能为空!");
@@ -976,7 +1079,7 @@
                //#region å­è¡¨å…³é”®å­—段重复检验
                var num = [];
                for (var i = 0; i < option.data.length; i++) {
                    temp = option.data[i]["HProNumber"] + "|" + option.data[i]["HProjectStageID"] + "|" + option.data[i]["HName"];
                    temp = option.data[i]["HProjectID"] + "|" + option.data[i]["HProjectStageID"] + "|" + option.data[i]["HName"];
                    if ($.inArray(temp, num) != -1) {
                        layer.msg("第" + (i + 1) + "行:项目代码、项目阶段、任务名称重复,请重新选择!");
                        return false;
@@ -1003,6 +1106,7 @@
                            option.data[i - 1] = data[0];
                            option.data[i] = tables[0];
                            table.render(option);
                            CheckedSet_tableSub();
                            break;
                        }
                    }
@@ -1025,6 +1129,7 @@
                            option.data[i + 1] = data[0];
                            option.data[i] = tables[0];
                            table.render(option);
                            CheckedSet_tableSub();
                            break;
                        }
                    }
@@ -1046,6 +1151,7 @@
                            oldData.splice(obj.tr.data('index'), 1)
                            option.data = oldData;//将数据绑定到data上
                            table.render(option);
                            CheckedSet_tableSub();
                            layer.close(index);
                        }
                    });
@@ -1146,6 +1252,7 @@
                                            "HName": checkStatus.data[0].任务名称
                                            , "HTaskNote": checkStatus.data[0].任务描述
                                            , "HType": checkStatus.data[0].任务类型
                                            , "HProjectID": checkStatus.data[0].HProjectID
                                            , "HProNumber": checkStatus.data[0].项目代码
                                            , "HProjectStageID": checkStatus.data[0].HProjectStageID
                                            , "HProjectStageName": checkStatus.data[0].项目阶段
@@ -1214,7 +1321,7 @@
                    success: function (data1) {
                        if (data1.data.length != 0) {
                            var dataCol = [];//数据库查询出的列数据
                            var titleData = ["行号","项目阶段ID"];//不需要显示的字段 å¯æ‰©å±•
                            var titleData = ["行号", "项目阶段ID", "源单内码", "源单子内码", "源单单号", "源单类型"];//不需要显示的字段 å¯æ‰©å±•
                            dataCol = data1.data[0].HGridString.split(',');
@@ -1277,8 +1384,10 @@
                                }
                            }
                            table.render(option);
                            CheckedSet_tableSub();
                        } else {
                            table.render(option);
                            CheckedSet_tableSub();
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
@@ -1287,6 +1396,19 @@
            }
            //#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
            //#region æ ¹æ®ç™»å½•账户获取相应职员
            function getHEmpByHUserName() {
                var Czybm = sessionStorage["Czybm"];