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({
@@ -296,17 +308,15 @@
            //DisPlay_HideColumn();
            //#endregion
            //#region åˆå§‹åŒ–组织
            Organ();
            //#endregion
            //#region åˆ¤æ–­å¹¶è®¾ç½®æ“ä½œç±»åž‹ã€é¡µé¢åˆå§‹åŒ–
            if (OperationType == null || OperationType == 1) {                            //新增
                //禁用组织选项
                $("#HOrgID").attr("disabled", true);
                ////禁用组织选项
                //$("#HOrgID").attr("disabled", true);
                OperationType = 1;
                //生成并设置主表的内码和单据号
                createBillNo();
                //汇报人初始化
                getHEmpByHUserName();
                //初始化制单人和制单时间
                $("#HMaker").val(sessionStorage["HUserName"]);
@@ -316,6 +326,7 @@
                $("#HDate").val(Format(new Date(), "yyyy-MM-dd"));
                //初始化项目阶段表
                get_InitGrid();
                DisPlay_HideColumn();
            }
            //else if (OperationType == 2) {                                      //复制
            //    //禁用组织选项
@@ -334,16 +345,21 @@
            //    });
            //}
            else if (OperationType == 3) {//如果修改则走下面 new                                        //编辑
                //禁用组织选项
                $("#HOrgID").attr("disabled", true);
                ////禁用组织选项
                //$("#HOrgID").attr("disabled", true);
                //初始化项目阶段表
                get_InitGrid();
                DisPlay_HideColumn();
                RoadBillMain(linterid);
            } else if (OperationType == 4 && HProjectStageID != null) {
            } else if (OperationType == 4) {                     //下推
                //禁用组织选项
                $("#HOrgID").attr("disabled", true);
                //生成并设置主表的内码和单据号
                createBillNo();
                //汇报人初始化
                getHEmpByHUserName();
                //初始化制单人和制单时间
                $("#HMaker").val(sessionStorage["HUserName"]);
                $("#HMakerDate").val(Format(new Date(), "yyyy-MM-dd"));
@@ -354,6 +370,10 @@
                //下推-页面设置
                set_WorkTaskReport();
            }
            //#endregion
            //#region åˆå§‹åŒ–组织
            Organ();
            //#endregion
            //#region åˆå§‹åŒ–表格
@@ -427,22 +447,37 @@
                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": ""
                    , "HSourceBillType": ""
                };
                switch (obj.event) {
                    case 'btn-AddLine':
                        table.cache["mainTable"].push(NewRow);
                        option.data = table.cache["mainTable"];
                        table.render(option);
                        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);
@@ -458,6 +493,15 @@
                            table.cache["mainTable"].push(JSON.parse(copyrow));//将复制的行强转成json追加到表格上
                            option.data = table.cache["mainTable"];//将数据绑定到data上
                            table.render(option);//将数据渲染到表格上
                            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;
                    //列设置
@@ -502,7 +546,7 @@
            //#endregion
            //
            form.on('submit(Cancel)', function () {
                //sessionStorage["SourceFlag"] = false;
@@ -546,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);
@@ -568,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
@@ -602,16 +656,23 @@
                        { 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
                        , { field: 'HSourceEntryID', title: '源单子内码', hide: true, style: 'background-color: #f9f9f9;' }     //f7
                        , { field: 'HSourceBillNo', title: '源单单号', hide: true, style: 'background-color: #f9f9f9;' }     //f7
                        , { field: 'HSourceBillType', title: '源单类型', hide: true, style: 'background-color: #f9f9f9;' }     //f7
                        , { fixed: 'right', title: '操作', toolbar: '#barDemo' }
                    ]]
                }
@@ -619,32 +680,52 @@
                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": ""
                        , "HSourceBillType": ""
                    }
                ];
                option.data = rowdata;
                table.render(option);
            }
            //#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 æ±‡æŠ¥äººé€‰æ‹©é¡µé¢
            function get_checkSearchHReportEmp() {
                var HOrgID = $("#HOrgID").val();
                layer.open({
                    type: 2//弹窗类型
                    , skin: 'layui-layer-rim' //加上边框
                    , area: ['90%', '90%']//大小
                    , title: '员工表'//标题
                    , shift: 2//弹出动画
                    , content: ['../../Baseset/基础资料/Gy_EmployeeList.html', 'yes']
                    , content: ['../../基础资料/公用基础资料/Gy_EmployeeList.html?openType=2&HOrgID=' + HOrgID, 'yes']
                    , btn: ['确定', '取消']
                    , btn1: function (index, layero) {//按钮【按钮一】的回调
                        var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
@@ -654,9 +735,9 @@
                        }
                        //获取数据
                        $("#HReportEmpID").val(checkStatus.data[0].HItemID);//客户id
                        $("#HReportEmpName").val(checkStatus.data[0].HName);//客户名称
                        $("#HReportEmpName").val(checkStatus.data[0].职员名称);//客户名称
                        if ($("#HReportEmpName").val() == "") {
                            $("#HReportEmpName").val(checkStatus.data[0].HNumber);
                            $("#HReportEmpName").val(checkStatus.data[0].职员代码);
                        }
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
@@ -687,7 +768,7 @@
                //获取表头数据并序列化
                var sMainStr = JSON.stringify(data.field);              //主表数据
                //子表数据序列化
                var sSubStr = JSON.stringify(num);
                var sSubStr = JSON.stringify(num);
                //拼接序列化的数据
                var sMainSub = sMainStr + ';' + sSubStr + ';' + OperationType + ";" + sessionStorage["HUserName"];
@@ -764,6 +845,14 @@
                        }
                        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');
                        form.render('select');
                    }
                })
            }
@@ -771,35 +860,65 @@
            //#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);
                        //组织的值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
@@ -926,6 +1045,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) + "行:项目阶段不能为空!");
@@ -957,7 +1083,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;
@@ -1099,6 +1225,7 @@
                            })
                        }
                        if (obj.event == "HName") {
                            var HOrgID = $("#HOrgID").val();
                            //工作任务代码
                            //打开工作任务小窗体
                            layer.open({
@@ -1109,7 +1236,7 @@
                                , shift: 2                                          //弹出动画
                                , area: ["90%", "90%"]                              //窗体大小
                                , maxmin: true                                      //设置最大最小按钮是否显示
                                , content: ["../../项目管理/工作任务/PM_WorkTaskBillList.html", "yes"]
                                , content: ['../../项目管理/工作任务/PM_WorkTaskBillList.html?openType=2&HOrgID=' + HOrgID, "yes"]
                                , btn: ["确定", "取消"]
                                , btn1: function (index, laero) {
                                    //按钮一  çš„回调
@@ -1126,9 +1253,14 @@
                                            "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].项目阶段
                                            , "HSourceInterID": checkStatus.data[0].HInterID
                                            , "HSourceEntryID": checkStatus.data[0].HEntryID
                                            , "HSourceBillNo": checkStatus.data[0].单据号
                                            , "HSourceBillType": checkStatus.data[0].单据类型
                                        })
                                    } else {
                                        layer.msg("该任务已关闭,请重新选择!");
@@ -1190,7 +1322,7 @@
                    success: function (data1) {
                        if (data1.data.length != 0) {
                            var dataCol = [];//数据库查询出的列数据
                            var titleData = ["行号","项目阶段ID"];//不需要显示的字段 å¯æ‰©å±•
                            var titleData = ["行号", "项目阶段ID", "源单内码", "源单子内码", "源单单号", "源单类型"];//不需要显示的字段 å¯æ‰©å±•
                            dataCol = data1.data[0].HGridString.split(',');
@@ -1263,6 +1395,33 @@
            }
            //#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 HReportEmpID = result.data[0]["HEmpID"];
                            var HReportEmpName = result.data[0]["HEmpName"];
                            $("#HReportEmpID").val(HReportEmpID);
                            $("#HReportEmpName").val(HReportEmpName);
                            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