duhe
2023-08-31 b4a59b1d60048bbea005573506c150e4cf9e4b54
完善项目管理模块
17个文件已修改
1177 ■■■■ 已修改文件
WebTM/views/基础资料/公用基础资料/Gy_EmployeeList.html 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/基础资料/公用基础资料/Gy_Material.html 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/基础资料/销售基础资料/Gy_Customer.html 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/项目管理/业绩指标/PM_YearEmployeeMoneyBill.html 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/项目管理/业绩指标/PM_YearEmployeeMoneyBillList.html 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/项目管理/工作任务/PM_WorkTaskBill.html 148 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/项目管理/工作任务/PM_WorkTaskBillList.html 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/项目管理/工作任务/PM_WorkTaskReportBill.html 61 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/项目管理/工作任务/PM_WorkTaskReportBillList.html 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/项目管理/工程项目/PM_ProjectBill.html 317 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/项目管理/工程项目/PM_ProjectBillList.html 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/项目管理/项目阶段/Add_Edit_Gy_ProjectStage.html 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/项目管理/项目阶段/Gy_ProjectStage.html 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/项目管理/项目阶段/PM_ProjectReportBill.html 204 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/项目管理/项目阶段/PM_ProjectReportBillList.html 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/项目管理/项目阶段/PM_ProjectStageBill.html 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/项目管理/项目阶段/PM_ProjectStageBillList.html 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/»ù´¡×ÊÁÏ/¹«Óûù´¡×ÊÁÏ/Gy_EmployeeList.html
@@ -134,6 +134,8 @@
            set_InitGrid();
           //加载数据到网格
            //根据页面的打开方式,判断过滤条件是否需要进行额外的添加
            addSWhereByOpenType();
            get_Display(sWhere);
        //#endregion
@@ -242,6 +244,7 @@
          
         //#region å¿«é€Ÿè¿‡æ»¤
            function get_FastQuery(table, option) {
                sWhere = "";
                var HNumber = $("#HNumber").val();
                var HName = $("#HName").val();
                var ColName = $("#ColName").val();//复选框
@@ -763,6 +766,54 @@
            }
            //#endregion
            //#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 æ ¹æ®ç»„织ID获取组织Name
            function Organ(HOrgID) {
                $.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>';
                                if (data[i].ID == HOrgID) {
                                    Organization = data[i].Name;
                                    break;
                                }
                            }
                        }
                    }
                })
            }
            //#endregion
            //#region åˆ¤æ–­æ˜¯ç›´æŽ¥æ‰“开页面还是其它页面通过选择按钮打开,并显示相应数据
            function addSWhereByOpenType() {
                //获取参数
                var params = getUrlVars();
                var openType = params[params[0]]; //从参数中获取 æ‰“开方式  1直接打开 2其它页面通过选择按钮打开
                var HOrgID = params[params[1]];
                if (openType == 2) {
                    sWhere += " and ç¦ç”¨æ ‡è®° = '' ";
                    Organ(HOrgID);
                }
            }
            //#endregion
            //以上是layui模块
        });
        //#endregion
WebTM/views/»ù´¡×ÊÁÏ/¹«Óûù´¡×ÊÁÏ/Gy_Material.html
@@ -263,6 +263,8 @@
                //初始化表格
                set_InitGrid();
                //查询
                //根据页面的打开方式,判断过滤条件sWhere是否需要进行额外的添加
                addSWhereByOpenType();
                get_Display(sWhere);
                get_Display_Tree();
@@ -402,6 +404,7 @@
            //#region å¿«é€Ÿè¿‡æ»¤
            function get_FastQuery() {
                sWhere = "";
                var HNumber = $("#HNumber").val();
                var HName = $("#HName").val();
                var HModel = $("#HModel").val();
@@ -903,6 +906,53 @@
                form.render('select');
            }
            //#endregion
            //#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 æ ¹æ®ç»„织ID获取组织Name
            function Organ(HOrgID) {
                $.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>';
                                if (data[i].ID == HOrgID) {
                                    Organization = data[i].Name;
                                    break;
                                }
                            }
                        }
                    }
                })
            }
            //#endregion
            //#region åˆ¤æ–­æ˜¯ç›´æŽ¥æ‰“开页面还是其它页面通过选择按钮打开,并显示相应数据
            function addSWhereByOpenType() {
                //获取参数
                var params = getUrlVars();
                var openType = params[params[0]]; //从参数中获取 æ‰“开方式  1直接打开 2其它页面通过选择按钮打开
                var HOrgID = params[params[1]];
                if (openType == 2) {
                    sWhere += " and ç¦ç”¨æ ‡è®° = '' ";
                    Organ(HOrgID);
                }
            }
            //#endregion
        });
            //#endregion
    </script>
WebTM/views/»ù´¡×ÊÁÏ/ÏúÊÛ»ù´¡×ÊÁÏ/Gy_Customer.html
@@ -196,6 +196,8 @@
                //初始化表格
                set_InitGrid();
                //查询
                //根据页面的打开方式,判断过滤条件是否需要进行额外的添加
                addSWhereByOpenType();
                get_Display(sWhere);
            }
            //初始化表格
@@ -296,6 +298,7 @@
            }
            //快速查询按钮
            function get_FastQuery() {
                sWhere = "";
                var ajaxLoad = layer.load();
                var HNumber = $("#HNumber").val();
                var HName = $("#HName").val();
@@ -680,6 +683,52 @@
            }
            //#endregion
            //#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 æ ¹æ®ç»„织ID获取组织Name
            function Organ(HOrgID) {
                $.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>';
                                if (data[i].ID == HOrgID) {
                                    Organization = data[i].Name;
                                    break;
                                }
                            }
                        }
                    }
                })
            }
            //#endregion
            //#region åˆ¤æ–­æ˜¯ç›´æŽ¥æ‰“开页面还是其它页面通过选择按钮打开,并显示相应数据
            function addSWhereByOpenType() {
                //获取参数
                var params = getUrlVars();
                var openType = params[params[0]]; //从参数中获取 æ‰“开方式  1直接打开 2其它页面通过选择按钮打开
                var HOrgID = params[params[1]];
                if (openType == 2) {
                    sWhere += " and ç¦ç”¨æ ‡è®° = '' ";
                    Organ(HOrgID);
                }
            }
            //#endregion
            //#endregion
        });
    </script>
WebTM/views/ÏîÄ¿¹ÜÀí/Òµ¼¨Ö¸±ê/PM_YearEmployeeMoneyBill.html
@@ -294,15 +294,10 @@
            }
            //#endregion
            //#region åˆå§‹åŒ–组织
            Organ();
            //#endregion
            //#region åˆ¤æ–­å¹¶è®¾ç½®æ“ä½œç±»åž‹ã€é¡µé¢åˆå§‹åŒ–
            if (OperationType == null || OperationType == 1) {                            //新增
                //禁用组织选项
                $("#HOrgID").attr("disabled", true);
                ////禁用组织选项
                //$("#HOrgID").attr("disabled", true);
                OperationType = 1;
                //生成并设置主表的内码和单据号
                createBillNo();
@@ -330,13 +325,16 @@
            //    });
            //}
            else if (OperationType == 3) {//如果修改则走下面 new                                        //编辑
                //禁用组织选项
                $("#HOrgID").attr("disabled", true);
                ////禁用组织选项
                //$("#HOrgID").attr("disabled", true);
                //初始化项目阶段表
                RoadBillMain(linterid);
            }
            //#endregion
            //#region åˆå§‹åŒ–组织
            Organ();
            //#endregion
            //#endregion
            //#region è§¦å‘事件:包括form.on(){}格式的所有点击事件、选择事件等
@@ -458,13 +456,14 @@
            //#region è´Ÿè´£äººé€‰æ‹©é¡µé¢
            function get_checkSearchHEmp() {
                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]  //获取弹框页面
@@ -474,9 +473,9 @@
                        }
                        //获取数据
                        $("#HEmpID").val(checkStatus.data[0].HItemID);//负责人id
                        $("#HEmpName").val(checkStatus.data[0].HName);//负责人名称
                        $("#HEmpName").val(checkStatus.data[0].职员名称);//负责人名称
                        if ($("#HEmpName").val() == "") {
                            $("#HEmpName").val(checkStatus.data[0].HNumber);
                            $("#HEmpName").val(checkStatus.data[0].职员代码);
                        }
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
WebTM/views/ÏîÄ¿¹ÜÀí/Òµ¼¨Ö¸±ê/PM_YearEmployeeMoneyBillList.html
@@ -259,9 +259,14 @@
            function set_ClearBill() {
                //初始化表格
                set_InitGrid();
                //查询
                get_FastQuery(1);
                //初始化组织
                Organ();
                //查询
                if (addSWhereByOpenType()) {                        //addSWhereByOpenType()方法判断是否其它页面打开本页面,若是则处理过滤条件,并返回true
                    get_FastQuery(2);
                } else {
                    get_FastQuery(1);
                }
            }
            //#endregion
@@ -284,6 +289,7 @@
                //获取登录页组织列
                $.ajax({
                    type: "get",
                    async: false,
                    url: GetWEBURL() + "/Web/GetOrganizations",
                    success: function (result) {
                        var Organization = "";
@@ -438,6 +444,7 @@
                if (HOrgID) {
                    sWhere += " and HOrgID = '" + HOrgID + "'";
                }
                get_Display(sWhere);
                sWhere = "";//调用接口后清空sWhere缓存
            }
@@ -854,6 +861,34 @@
            }
            //#endregion
            //#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 addSWhereByOpenType() {
                //获取参数
                var params = getUrlVars();
                var openType = params[params[0]]; //从参数中获取 æ‰“开方式  1直接打开 2其它页面通过选择按钮打开
                var HOrgID = params[params[1]];
                if (openType == 2) {
                    sWhere += " and ISNULL(关闭人,'') = '' and ISNULL(作废人,'') = '' ";
                    $("#HOrgID").val(HOrgID);
                    form.render("select");
                    return true;
                }
                return false;
            }
            //#endregion
        });
            //#endregion
WebTM/views/ÏîÄ¿¹ÜÀí/¹¤×÷ÈÎÎñ/PM_WorkTaskBill.html
@@ -353,22 +353,19 @@
            }
            //#endregion
            //#region åˆå§‹åŒ–组织
            Organ();
            //#endregion
            //#region ä»»åŠ¡ç±»åž‹ç±»åž‹ä¸‹æ‹‰æ¡†æ˜¾ç¤º
            ColFilter();
            //#endregion
            //#region åˆ¤æ–­å¹¶è®¾ç½®æ“ä½œç±»åž‹ã€é¡µé¢åˆå§‹åŒ–
            if (OperationType == null || OperationType == 1) {                            //新增
                //禁用组织选项
                $("#HOrgID").attr("disabled", true);
                ////禁用组织选项
                //$("#HOrgID").attr("disabled", true);
                OperationType = 1;
                //生成并设置主表的内码和单据号
                createBillNo();
                //初始化派单人
                getHEmpByHUserName();
                //初始化制单人和制单时间
                $("#HMaker").val(sessionStorage["HUserName"]);
@@ -395,11 +392,15 @@
            //    });
            //}
            else if (OperationType == 3) {//如果修改则走下面 new                                        //编辑
                //禁用组织选项
                $("#HOrgID").attr("disabled", true);
                ////禁用组织选项
                //$("#HOrgID").attr("disabled", true);
                //初始化项目阶段表
                RoadBillMain(linterid);
            }
            //#endregion
            //#region åˆå§‹åŒ–组织
            Organ();
            //#endregion
            //#endregion
@@ -571,6 +572,7 @@
            //#region é¡¹ç›®ä»£ç é€‰æ‹©é¡µé¢
            function get_checkSearchHProNumber() {
                var HOrgID = $("#HOrgID").val();
                //打开工程项目小窗体
                layer.open({
                    type: 2
@@ -580,7 +582,7 @@
                    , shift: 2                                          //弹出动画
                    , area: ["90%", "90%"]                              //窗体大小
                    , maxmin: true                                      //设置最大最小按钮是否显示
                    , content: ["../../项目管理/工程项目/PM_ProjectBillList.html", "yes"]
                    , content: ["../../项目管理/工程项目/PM_ProjectBillList.html?openType=2&HOrgID=" + HOrgID, "yes"]
                    , btn: ["确定", "取消"]
                    , btn1: function (index, laero) {
                        //按钮一  çš„回调
@@ -600,9 +602,6 @@
                        } else {
                            layer.msg("该项目已关闭,不可选择!");
                        }
                        layer.close(index);//关闭弹窗
                    }
                    , btn2: function (index, layero) { }
@@ -643,13 +642,14 @@
            //#region æ´¾å•人选择页面
            function get_checkSearchHSendEmp() {
                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]  //获取弹框页面
@@ -658,9 +658,9 @@
                            return layer.msg('请选择数据');
                        }
                        //获取数据
                        $("#HSendEmp").val(checkStatus.data[0].HName);//客户名称
                        $("#HSendEmp").val(checkStatus.data[0].职员名称);//客户名称
                        if ($("#HSendEmp").val() == "") {
                            $("#HSendEmp").val(checkStatus.data[0].HNumber);
                            $("#HSendEmp").val(checkStatus.data[0].职员代码);
                        }
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
@@ -671,13 +671,14 @@
            //#region æŽ¥æ”¶äººé€‰æ‹©é¡µé¢
            function get_checkSearchHReceiveEmp() {
                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]  //获取弹框页面
@@ -686,9 +687,9 @@
                            return layer.msg('请选择数据');
                        }
                        //获取数据
                        $("#HReceiveEmp").val(checkStatus.data[0].HName);//接收人名称
                        $("#HReceiveEmp").val(checkStatus.data[0].职员名称);//接收人名称
                        if ($("#HReceiveEmp").val() == "") {
                            $("#HReceiveEmp").val(checkStatus.data[0].HNumber);
                            $("#HReceiveEmp").val(checkStatus.data[0].职员代码);
                        }
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
@@ -699,29 +700,77 @@
            //#region æŠ„送人选择页面
            function get_checkSearchHCopyEmp() {
                //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('请选择数据');
                //        }
                //        //获取数据
                //        $("#HCopyEmp").val(checkStatus.data[0].职员名称);//抄送人名称
                //        if ($("#HCopyEmp").val() == "") {
                //            $("#HCopyEmp").val(checkStatus.data[0].职员代码);
                //        }
                //        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                //    }
                //    , btn2: function (index, layero) { }
                //})
                //页面层-自定义
                layer.open({
                    type: 2//弹窗类型
                    , skin: 'layui-layer-rim' //加上边框
                    , area: ['90%', '90%']//大小
                    , title: '员工表'//标题
                    , shift: 2//弹出动画
                    , content: ['../../Baseset/基础资料/Gy_EmployeeList.html', 'yes']
                    , btn: ['确定', '取消']
                    , btn1: function (index, layero) {//按钮【按钮一】的回调
                    type: 2,
                    skin: 'layui-layer-rim', //加上边框
                    title: '抄送人列表',
                    closeBtn: 1,
                    shift: 2,
                    area: ['80%', '80%'],
                    maxmin: true,
                    content: ['../../PublicPage/transfer.html', '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) {
                        var checkStatus = iframeWindow.layui.transfer.getData('key123'); //获取已分配数量
                        if (checkStatus.length === 0) {
                            return layer.msg('请选择数据');
                        }
                        //获取数据
                        $("#HCopyEmp").val(checkStatus.data[0].HName);//抄送人名称
                        if ($("#HCopyEmp").val() == "") {
                            $("#HCopyEmp").val(checkStatus.data[0].HNumber);
                        var value = "";
                        var title = "";
                        for (var i = 0; i < checkStatus.length; i++) {
                            value += checkStatus[i].value + ",";
                            title += checkStatus[i].title + ",";
                        }
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                        //去掉最后一个逗号(如果不需要去掉,就不用写)
                        if (value.length > 0) {
                            value = value.substr(0, value.length - 1);
                            title = title.substr(0, title.length - 1);
                        }
                        $("#HCopyEmp").val(title);
                        console.log(checkStatus, value, title);
                        layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) { }
                })
                    , btn2: function (index, layero) {
                        //按钮【按钮二】的回调
                        //return false å¼€å¯è¯¥ä»£ç å¯ç¦æ­¢ç‚¹å‡»è¯¥æŒ‰é’®å…³é—­
                    },
                    end: function () {
                    },
                    success: function (layero, index) {
                    }
                });
            }
            //#endregion
@@ -1093,6 +1142,33 @@
                form.render('select');
            }
            //#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 HSendEmp = result.data[0]["HEmpName"];
                            $("#HSendEmp").val(HSendEmp);
                            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
WebTM/views/ÏîÄ¿¹ÜÀí/¹¤×÷ÈÎÎñ/PM_WorkTaskBillList.html
@@ -253,9 +253,14 @@
            function set_ClearBill() {
                //初始化表格
                set_InitGrid();
                //查询
                get_FastQuery(1);
                //初始化组织
                Organ();
                //查询
                if (addSWhereByOpenType()) {                        //addSWhereByOpenType()方法判断是否其它页面打开本页面,若是则处理过滤条件,并返回true
                    get_FastQuery(2);
                } else {
                    get_FastQuery(1);
                }
            }
            //#endregion
@@ -278,6 +283,7 @@
                //获取登录页组织列
                $.ajax({
                    type: "get",
                    async: false,
                    url: GetWEBURL() + "/Web/GetOrganizations",
                    success: function (result) {
                        var Organization = "";
@@ -787,6 +793,34 @@
            }
            //#endregion
            //#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 addSWhereByOpenType() {
                //获取参数
                var params = getUrlVars();
                var openType = params[params[0]]; //从参数中获取 æ‰“开方式  1直接打开 2其它页面通过选择按钮打开
                var HOrgID = params[params[1]];
                if (openType == 2) {
                    sWhere += " and ISNULL(关闭人,'') = '' and ISNULL(作废人,'') = '' ";
                    $("#HOrgID").val(HOrgID);
                    form.render("select");
                    return true;
                }
                return false;
            }
            //#endregion
        });
            //#endregion
WebTM/views/ÏîÄ¿¹ÜÀí/¹¤×÷ÈÎÎñ/PM_WorkTaskReportBill.html
@@ -296,17 +296,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"]);
@@ -334,14 +332,14 @@
            //    });
            //}
            else if (OperationType == 3) {//如果修改则走下面 new                                        //编辑
                //禁用组织选项
                $("#HOrgID").attr("disabled", true);
                ////禁用组织选项
                //$("#HOrgID").attr("disabled", true);
                //初始化项目阶段表
                get_InitGrid();
                RoadBillMain(linterid);
            } else if (OperationType == 4 && HProjectStageID != null) {
                //禁用组织选项
                $("#HOrgID").attr("disabled", true);
            } else if (OperationType == 4 && HProjectStageID != null) {                     //下推
                ////禁用组织选项
                //$("#HOrgID").attr("disabled", true);
                //生成并设置主表的内码和单据号
                createBillNo();
                //初始化制单人和制单时间
@@ -354,6 +352,10 @@
                //下推-页面设置
                set_WorkTaskReport();
            }
            //#endregion
            //#region åˆå§‹åŒ–组织
            Organ();
            //#endregion
            //#region åˆå§‹åŒ–表格
@@ -638,13 +640,14 @@
            //#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 +657,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内部动态递增计算的
                    }
@@ -1099,6 +1102,7 @@
                            })
                        }
                        if (obj.event == "HName") {
                            var HOrgID = $("#HOrgID").val();
                            //工作任务代码
                            //打开工作任务小窗体
                            layer.open({
@@ -1109,7 +1113,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) {
                                    //按钮一  çš„回调
@@ -1263,6 +1267,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
WebTM/views/ÏîÄ¿¹ÜÀí/¹¤×÷ÈÎÎñ/PM_WorkTaskReportBillList.html
@@ -241,9 +241,14 @@
            function set_ClearBill() {
                //初始化表格
                set_InitGrid();
                //查询
                get_FastQuery(1);
                //初始化组织
                Organ();
                //查询
                if (addSWhereByOpenType()) {                        //addSWhereByOpenType()方法判断是否其它页面打开本页面,若是则处理过滤条件,并返回true
                    get_FastQuery(2);
                } else {
                    get_FastQuery(1);
                }
            }
            //#endregion
@@ -266,6 +271,7 @@
                //获取登录页组织列
                $.ajax({
                    type: "get",
                    async: false,
                    url: GetWEBURL() + "/Web/GetOrganizations",
                    success: function (result) {
                        var Organization = "";
@@ -802,6 +808,34 @@
            }
            //#endregion
            //#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 addSWhereByOpenType() {
                //获取参数
                var params = getUrlVars();
                var openType = params[params[0]]; //从参数中获取 æ‰“开方式  1直接打开 2其它页面通过选择按钮打开
                var HOrgID = params[params[1]];
                if (openType == 2) {
                    sWhere += " and ISNULL(关闭人,'') = '' and ISNULL(作废人,'') = '' ";
                    $("#HOrgID").val(HOrgID);
                    form.render("select");
                    return true;
                }
                return false;
            }
            //#endregion
        });
            //#endregion
WebTM/views/ÏîÄ¿¹ÜÀí/¹¤³ÌÏîÄ¿/PM_ProjectBill.html
@@ -200,8 +200,52 @@
                                                </button>
                                            </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="HLastMoney" name="HLastMoney" id="HLastMoney" value="0">
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-row">
                                        <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="HSumMoney" name="HSumMoney" id="HSumMoney" 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="HProMoney" name="HProMoney" id="HProMoney" 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="HWorkMoney" name="HWorkMoney" id="HWorkMoney" 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="HOtherMoney" name="HOtherMoney" id="HOtherMoney" value="0">
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-row">
                                        <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="HConWorkDays" name="HConWorkDays" id="HConWorkDays" 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="HDepDays" name="HDepDays" id="HDepDays" 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; width: 501px;">
@@ -312,52 +356,6 @@
                                                <input type="text" class="layui-input" name="HBackRemark" id="HBackRemark" 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" lay-verify="HConWorkDays" name="HConWorkDays" id="HConWorkDays" 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="HDepDays" name="HDepDays" id="HDepDays" value="0">
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-row">
                                        <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="HSumMoney" name="HSumMoney" id="HSumMoney" 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="HProMoney" name="HProMoney" id="HProMoney" 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="HWorkMoney" name="HWorkMoney" id="HWorkMoney" value="0">
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-row">
                                        <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="HOtherMoney" name="HOtherMoney" id="HOtherMoney" 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="HLastMoney" name="HLastMoney" id="HLastMoney" value="0">
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
@@ -462,18 +460,14 @@
            }
            //#endregion
            //#region åˆå§‹åŒ–组织
            Organ();
            //#endregion
            //#region é¡¹ç›®éš¾æ˜“类型下拉框显示
            ColFilter();
            //#endregion
            //#region åˆ¤æ–­å¹¶è®¾ç½®æ“ä½œç±»åž‹ã€é¡µé¢åˆå§‹åŒ–
            if (OperationType == null || OperationType == 1) {                            //新增
                //禁用组织选项
                $("#HOrgID").attr("disabled", true);
                ////禁用组织选项
                //$("#HOrgID").attr("disabled", true);
                OperationType = 1;
                //生成并设置主表的内码和单据号
                createBillNo();
@@ -506,12 +500,16 @@
            //    });
            //}
            else if (OperationType == 3) {//如果修改则走下面 new                                        //编辑
                //禁用组织选项
                $("#HOrgID").attr("disabled", true);
                ////禁用组织选项
                //$("#HOrgID").attr("disabled", true);
                //初始化项目阶段表
                get_InitGrid1();
                RoadBillMain(linterid);
            }
            //#endregion
            //#region åˆå§‹åŒ–组织
            Organ();
            //#endregion
            //#region åˆå§‹åŒ–表格
@@ -615,6 +613,64 @@
            //#endregion
            //#endregion
            //#region è¡¨å¤´æ–‡æœ¬æ¡†å€¼å˜åŒ–监听
            $(document).ready(function () {
                //#region å®Œæˆæ•°é‡æ–‡æœ¬æ¡†ç›‘听
                $("#HSumMoney").on('change', function (data) {
                    var ref = /^\d+(\.\d+)?$/;          //判断是否是非负浮点数
                    var currHSumMoney = data.currentTarget.value;
                    var HRate = 0;
                    for (var i = 0; i < option1.data.length; i++) {
                        HRate = option1.data[i]["HRate"];
                        if (ref.test(currHSumMoney) && ref.test(HRate)) {
                            option1.data[i]["HPlanAvgMoney"] = ((currHSumMoney * HRate) / 100).toFixed(8);
                            option1.data[i]["HPlanCountMoney"] = (((currHSumMoney * HRate) / 100) * 0.07).toFixed(8);
                            table.render(option1);
                            CheckedSet_tableSub_Emp();
                        }
                    }
                });
                //#endregion
            });
            //#endregion
            //#region å­è¡¨ï¼šå•元格编辑监听
            //table.on('edit(mainTable1)', function (obj) {
            //    // å•元格编辑之前的值
            //    var oldText = $(this).prev().text();
            //    var value = obj.value //得到修改后的值
            //        , data = obj.data //得到所在行所有键值
            //        , field = obj.field; //得到字段
            //    //正则表达式-校验非负浮点数
            //    var ref = /^\d+(\.\d+)?$/;
            //    switch (field) {
            //        case "HRate":                                            //数量
            //            if (!ref.test(value)) {                             //若输入值格式不正确,则变回原来的值
            //                obj.update({
            //                    HRate: oldText
            //                });
            //                layer.msg("项目占比:数据错误,请输入非负小数")
            //            } else {
            //                var HSumMoney = $("#HSumMoney").val();
            //                if (!(ref.test(value) && ref.test(HSumMoney))) {
            //                    obj.update({
            //                        HPlanAvgMoney: ((HSumMoney * value) / 100).toFixed(8)                   //预计分配业绩=合同总金额*项目占比
            //                        , HPlanCountMoney: (((HSumMoney * value) / 100) * 0.07).toFixed(8)      //(项目提成)预计提成=预计分配业绩*0.07
            //                    });
            //                } else {
            //                    layer.msg("合同总金额格式存在问题,无法计算“预计分配业绩”与“预计提成”");
            //                    obj.update({
            //                        HPlanAvgMoney: 0
            //                        , HPlanCountMoney: 0
            //                    });
            //                }
            //            }
            //            break;
            //        default:
            //    }
            //});
            //#endregion
            //#endregion
            //#region é¡¹ç›®é˜¶æ®µè¡¨ï¼šå¤´å·¥å…·æ äº‹ä»¶
@@ -964,8 +1020,8 @@
                        , { field: 'HEmployeeName', title: '项目成员', edit: 'text', event: "HEmployeeName" }     //f7
                        , { field: 'HIsPM', title: '是否项目经理', templet: "#HIsPM" }
                        , { field: 'HRate', title: '项目占比', edit: 'text' }
                        , { field: 'HPlanAvgMoney', title: '预计分配业绩', style: 'background-color: #f9f9f9;' }
                        , { field: 'HPlanCountMoney', title: '预计提成', style: 'background-color: #f9f9f9;' }
                        , { field: 'HPlanAvgMoney', title: '预计分配业绩', edit: 'text' }
                        , { field: 'HPlanCountMoney', title: '预计提成', edit: 'text' }
                        , { field: 'HRemarkSub', title: '备注', edit: 'text' }
                        , { fixed: 'right', title: '操作', toolbar: '#barDemo1' }
                    ]]
@@ -990,13 +1046,14 @@
            //#region å®¢æˆ·é€‰æ‹©é¡µé¢
            function get_checkSearchHCus() {
                var HOrgID = $("#HOrgID").val();
                layer.open({
                    type: 2//弹窗类型
                    , skin: 'layui-layer-rim' //加上边框
                    , area: ['90%', '90%']//大小
                    , title: '客户表'//标题
                    , shift: 2//弹出动画
                    , content: ['../../Baseset/基础资料/Gy_CustomerList.html', 'yes']
                    , content: ['../../基础资料/销售基础资料/Gy_Customer.html?openType=2&HOrgID=' + HOrgID, 'yes']
                    , btn: ['确定', '取消']
                    , btn1: function (index, layero) {//按钮【按钮一】的回调
                        var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
@@ -1006,9 +1063,9 @@
                        }
                        //获取数据
                        $("#HCusID").val(checkStatus.data[0].HItemID);//客户id
                        $("#HCusName").val(checkStatus.data[0].HName);//客户名称
                        $("#HCusName").val(checkStatus.data[0].客户名称);//客户名称
                        if ($("#HCusName").val() == "") {
                            $("#HCusName").val(checkStatus.data[0].HNumber);
                            $("#HCusName").val(checkStatus.data[0].客户代码);
                        }
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
@@ -1019,13 +1076,14 @@
            //#region é¡¹ç›®ç»ç†é€‰æ‹©é¡µé¢
            function get_checkSearchHPMEmp() {
                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]  //获取弹框页面
@@ -1035,9 +1093,9 @@
                        }
                        //获取数据
                        $("#HPMEmpID").val(checkStatus.data[0].HItemID);//客户id
                        $("#HPMEmpName").val(checkStatus.data[0].HName);//客户名称
                        $("#HPMEmpName").val(checkStatus.data[0].职员名称);//客户名称
                        if ($("#HPMEmpName").val() == "") {
                            $("#HPMEmpName").val(checkStatus.data[0].HNumber);
                            $("#HPMEmpName").val(checkStatus.data[0].职员代码);
                        }
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
@@ -1048,13 +1106,14 @@
            //#region å®žæ–½æ‹…当选择页面
            function get_checkSearchHWorkEmp() {
                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]  //获取弹框页面
@@ -1064,9 +1123,9 @@
                        }
                        //获取数据
                        $("#HWorkEmpID").val(checkStatus.data[0].HItemID);//员工id
                        $("#HWorkEmpName").val(checkStatus.data[0].HName);//员工名称
                        $("#HWorkEmpName").val(checkStatus.data[0].职员名称);//员工名称
                        if ($("#HWorkEmpName").val() == "") {
                            $("#HWorkEmpName").val(checkStatus.data[0].HNumber);
                            $("#HWorkEmpName").val(checkStatus.data[0].职员代码);
                        }
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
@@ -1077,13 +1136,14 @@
            //#region å¼€å‘担当选择页面
            function get_checkSearchHDepEmp() {
                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]  //获取弹框页面
@@ -1093,9 +1153,9 @@
                        }
                        //获取数据
                        $("#HDepEmpID").val(checkStatus.data[0].HItemID);//员工id
                        $("#HDepEmpName").val(checkStatus.data[0].HName);//员工名称
                        $("#HDepEmpName").val(checkStatus.data[0].职员名称);//员工名称
                        if ($("#HDepEmpName").val() == "") {
                            $("#HDepEmpName").val(checkStatus.data[0].HNumber);
                            $("#HDepEmpName").val(checkStatus.data[0].职员代码);
                        }
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
@@ -1106,13 +1166,14 @@
            //#region å¯¹åº”产品选择页面
            function get_checkSearchHMater() {
                var HOrgID = $("#HOrgID").val();
                layer.open({
                    type: 2//弹窗类型
                    , skin: 'layui-layer-rim' //加上边框
                    , area: ['90%', '90%']//大小
                    , title: '产品表'//标题
                    , shift: 2//弹出动画
                    , content: ['../../Baseset/基础资料/Gy_MaterialList.html', 'yes']
                    , content: ['../../基础资料/公用基础资料/Gy_Material.html?openType=2&HOrgID=' + HOrgID, 'yes']
                    , btn: ['确定', '取消']
                    , btn1: function (index, layero) {//按钮【按钮一】的回调
                        var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
@@ -1122,10 +1183,10 @@
                        }
                        //获取数据
                        $("#HMaterID").val(checkStatus.data[0].HItemID);//产品内码
                        $("#HMaterNumber").val(checkStatus.data[0].HNumber);//产品代码
                        $("#HMaterName").val(checkStatus.data[0].HName);//产品名称
                        $("#HMaterNumber").val(checkStatus.data[0].物料代码);//产品代码
                        $("#HMaterName").val(checkStatus.data[0].物料名称);//产品名称
                        if ($("#HMaterName").val() == "") {
                            $("#HMaterName").val(checkStatus.data[0].HNumber);
                            $("#HMaterName").val(checkStatus.data[0].物料代码);
                        }
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
@@ -1136,13 +1197,14 @@
            //#region ç»“算方选择页面
            function get_checkSearchHPayCus() {
                var HOrgID = $("#HOrgID").val();
                layer.open({
                    type: 2//弹窗类型
                    , skin: 'layui-layer-rim' //加上边框
                    , area: ['90%', '90%']//大小
                    , title: '客户表'//标题
                    , shift: 2//弹出动画
                    , content: ['../../Baseset/基础资料/Gy_CustomerList.html', 'yes']
                    , content: ['../../基础资料/销售基础资料/Gy_Customer.html?openType=2&HOrgID=' + HOrgID, 'yes']
                    , btn: ['确定', '取消']
                    , btn1: function (index, layero) {//按钮【按钮一】的回调
                        var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
@@ -1152,9 +1214,9 @@
                        }
                        //获取数据
                        $("#HPayCusID").val(checkStatus.data[0].HItemID);//客户id
                        $("#HPayCusName").val(checkStatus.data[0].HName);//客户名称
                        $("#HPayCusName").val(checkStatus.data[0].客户名称);//客户名称
                        if ($("#HPayCusName").val() == "") {
                            $("#HPayCusName").val(checkStatus.data[0].HNumber);
                            $("#HPayCusName").val(checkStatus.data[0].客户代码);
                        }
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
@@ -1171,7 +1233,7 @@
                    , area: ['90%', '90%']//大小
                    , title: '项目阶段清单列表'//标题
                    , shift: 2//弹出动画
                    , content: ['../../项目管理/项目阶段/PM_ProjectStageBillList.html', 'yes']
                    , content: ['../../项目管理/项目阶段/PM_ProjectStageBillList.html?openType=2', 'yes']
                    , btn: ['确定', '取消']
                    , btn1: function (index, layero) {//按钮【按钮一】的回调
                        var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
@@ -1748,6 +1810,7 @@
                    if (event.key == "F7") {
                        //项目阶段
                        if (obj.event == "HProjectStageName") {
                            var HOrgID = $("#HOrgID").val();
                            //打开项目阶段小窗体
                            layer.open({
                                type: 2
@@ -1757,7 +1820,7 @@
                                , shift: 2                                          //弹出动画
                                , area: ["90%", "90%"]                              //窗体大小
                                , maxmin: true                                      //设置最大最小按钮是否显示
                                , content: ["../../项目管理/项目阶段/Gy_ProjectStage.html", "yes"]
                                , content: ["../../项目管理/项目阶段/Gy_ProjectStage.html?openType=2&HOrgID=" + HOrgID, "yes"]
                                , btn: ["确定", "取消"]
                                , btn1: function (index, laero) {
                                    //按钮一  çš„回调
@@ -1772,13 +1835,20 @@
                                        "HProjectStageID": checkStatus.data[0].HItemID
                                        , "HProjectStageName": checkStatus.data[0].阶段名称
                                        , "HStageNote": checkStatus.data[0].项目阶段详细内容
                                        , "HPMGoodsID": checkStatus.data[0].HPMGoodsID == null ? 0 : checkStatus.data[0].HPMGoodsID
                                        , "HPMGoodsName": checkStatus.data[0].相关交付物
                                        , "HIsKey": checkStatus.data[0].里程碑 == "Y" ? true : false
                                        , "HRate": checkStatus.data[0].理论业绩占比
                                    })
                                    CheckedSet_tableSub();
                                    layer.close(index);//关闭弹窗
                                }
                            })
                        }
                        //阶段负责人
                        if (obj.event == "HEmpName") {
                            var HOrgID = $("#HOrgID").val();
                            //打开员工列表小窗体
                            layer.open({
                                type: 2
@@ -1788,7 +1858,7 @@
                                , shift: 2                                          //弹出动画
                                , area: ["90%", "90%"]                              //窗体大小
                                , maxmin: true                                      //设置最大最小按钮是否显示
                                , content: ["../../Baseset/基础资料/Gy_EmployeeList.html", "yes"]
                                , content: ['../../基础资料/公用基础资料/Gy_EmployeeList.html?openType=2&HOrgID=' + HOrgID, "yes"]
                                , btn: ["确定", "取消"]
                                , btn1: function (index, laero) {
                                    //按钮一  çš„回调
@@ -1801,7 +1871,7 @@
                                    //更新表格缓存的数据
                                    obj.update({
                                        "HEmpID": checkStatus.data[0].HItemID
                                        , "HEmpName": checkStatus.data[0].HName
                                        , "HEmpName": checkStatus.data[0].职员名称
                                    })
                                    layer.close(index);//关闭弹窗
                                }
@@ -1809,6 +1879,7 @@
                        }
                        //阶段审核人
                        if (obj.event == "HCheckEmpName") {
                            var HOrgID = $("#HOrgID").val();
                            //打开员工列表小窗体
                            layer.open({
                                type: 2
@@ -1818,7 +1889,7 @@
                                , shift: 2                                          //弹出动画
                                , area: ["90%", "90%"]                              //窗体大小
                                , maxmin: true                                      //设置最大最小按钮是否显示
                                , content: ["../../Baseset/基础资料/Gy_EmployeeList.html", "yes"]
                                , content: ['../../基础资料/公用基础资料/Gy_EmployeeList.html?openType=2&HOrgID=' + HOrgID, "yes"]
                                , btn: ["确定", "取消"]
                                , btn1: function (index, laero) {
                                    //按钮一  çš„回调
@@ -1831,7 +1902,7 @@
                                    //更新表格缓存的数据
                                    obj.update({
                                        "HCheckEmpID": checkStatus.data[0].HItemID
                                        , "HCheckEmpName": checkStatus.data[0].HName
                                        , "HCheckEmpName": checkStatus.data[0].职员名称
                                    })
                                    layer.close(index);//关闭弹窗
                                }
@@ -1844,8 +1915,85 @@
                        obj.event = "";
                        return false;
                    }
                    }else if (event.key == "F6") {
                        //阶段负责人
                        if (obj.event == "HEmpName") {
                            var HOrgID = $("#HOrgID").val();
                            //打开员工列表小窗体
                            layer.open({
                                type: 2
                                , skin: "layui-layer-rim"                           //加上边框
                                , title: "员工列表"                                 //标题
                                , closeBtn: 1                                       //窗体右上角关闭 çš„ æ ·å¼
                                , shift: 2                                          //弹出动画
                                , area: ["90%", "90%"]                              //窗体大小
                                , maxmin: true                                      //设置最大最小按钮是否显示
                                , content: ['../../基础资料/公用基础资料/Gy_EmployeeList.html?openType=2&HOrgID=' + HOrgID, "yes"]
                                , btn: ["确定", "取消"]
                                , btn1: function (index, laero) {
                                    //按钮一  çš„回调
                                    var iframeWindow = window["layui-layer-iframe" + index];//获取弹框页面
                                    var checkStatus = iframeWindow.layui.table.checkStatus("mainTable");//获取选中的数据
                                    if (checkStatus.data.length != 1) {
                                        return layer.msg("请选择一条数据");
                                    }
                                    //更新子表1数据
                                    var rowIndex = $(obj.tr).attr("data-index");
                                    for (var i = 0; i < option.data.length; i++) {
                                        if (i >= rowIndex) {
                                            option.data[i]["HEmpID"] = checkStatus.data[0].HItemID;
                                            option.data[i]["HEmpName"] = checkStatus.data[0].职员名称;
                                        }
                                    }
                                    table.render(option);
                                    CheckedSet_tableSub();
                                    layer.close(index);//关闭弹窗
                                }
                            })
                        }
                        //阶段审核人
                        if (obj.event == "HCheckEmpName") {
                            var HOrgID = $("#HOrgID").val();
                            //打开员工列表小窗体
                            layer.open({
                                type: 2
                                , skin: "layui-layer-rim"                           //加上边框
                                , title: "员工列表"                                 //标题
                                , closeBtn: 1                                       //窗体右上角关闭 çš„ æ ·å¼
                                , shift: 2                                          //弹出动画
                                , area: ["90%", "90%"]                              //窗体大小
                                , maxmin: true                                      //设置最大最小按钮是否显示
                                , content: ['../../基础资料/公用基础资料/Gy_EmployeeList.html?openType=2&HOrgID=' + HOrgID, "yes"]
                                , btn: ["确定", "取消"]
                                , btn1: function (index, laero) {
                                    //按钮一  çš„回调
                                    var iframeWindow = window["layui-layer-iframe" + index];//获取弹框页面
                                    var checkStatus = iframeWindow.layui.table.checkStatus("mainTable");//获取选中的数据
                                    if (checkStatus.data.length != 1) {
                                        return layer.msg("请选择一条数据");
                                    }
                                    //更新子表1数据
                                    var rowIndex = $(obj.tr).attr("data-index");
                                    for (var i = 0; i < option.data.length; i++) {
                                        if (i >= rowIndex) {
                                            option.data[i]["HCheckEmpID"] = checkStatus.data[0].HItemID;
                                            option.data[i]["HCheckEmpName"] = checkStatus.data[0].职员名称;
                                        }
                                    }
                                    table.render(option);
                                    CheckedSet_tableSub();
                                    layer.close(index);//关闭弹窗
                                }
                            })
                        }
                    }
                })
            }
            //#endregion
@@ -1856,6 +2004,7 @@
                    if (event.key == "F7") {
                        //项目成员
                        if (obj.event == "HEmployeeName") {
                            var HOrgID = $("#HOrgID").val();
                            //打开员工列表小窗体
                            layer.open({
                                type: 2
@@ -1865,7 +2014,7 @@
                                , shift: 2                                          //弹出动画
                                , area: ["90%", "90%"]                              //窗体大小
                                , maxmin: true                                      //设置最大最小按钮是否显示
                                , content: ["../../Baseset/基础资料/Gy_EmployeeList.html", "yes"]
                                , content: ['../../基础资料/公用基础资料/Gy_EmployeeList.html?openType=2&HOrgID=' + HOrgID, "yes"]
                                , btn: ["确定", "取消"]
                                , btn1: function (index, laero) {
                                    //按钮一  çš„回调
@@ -1878,7 +2027,7 @@
                                    //更新表格缓存的数据
                                    obj.update({
                                        "HEmployeeID": checkStatus.data[0].HItemID
                                        , "HEmployeeName": checkStatus.data[0].HName
                                        , "HEmployeeName": checkStatus.data[0].职员名称
                                    })
                                    layer.close(index);//关闭弹窗
                                }
WebTM/views/ÏîÄ¿¹ÜÀí/¹¤³ÌÏîÄ¿/PM_ProjectBillList.html
@@ -263,9 +263,14 @@
            function set_ClearBill() {
                //初始化表格
                set_InitGrid();
                //查询
                get_FastQuery(1);
                //初始化组织
                Organ();
                //查询
                if (addSWhereByOpenType()) {                        //addSWhereByOpenType()方法判断是否其它页面打开本页面,若是则处理过滤条件,并返回true
                    get_FastQuery(2);
                } else {
                    get_FastQuery(1);
                }
            }
            //#endregion
@@ -288,6 +293,7 @@
                //获取登录页组织列
                $.ajax({
                    type: "get",
                    async: false,
                    url: GetWEBURL() + "/Web/GetOrganizations",
                    success: function (result) {
                        var Organization = "";
@@ -893,6 +899,34 @@
            }
            //#endregion
            //#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 addSWhereByOpenType() {
                //获取参数
                var params = getUrlVars();
                var openType = params[params[0]]; //从参数中获取 æ‰“开方式  1直接打开 2其它页面通过选择按钮打开
                var HOrgID = params[params[1]];
                if (openType == 2) {
                    sWhere += " and ISNULL(关闭人,'') = '' and ISNULL(作废人,'') = '' ";
                    $("#HOrgID").val(HOrgID);
                    form.render("select");
                    return true;
                }
                return false;
            }
            //#endregion
        });
            //#endregion
WebTM/views/ÏîÄ¿¹ÜÀí/ÏîÄ¿½×¶Î/Add_Edit_Gy_ProjectStage.html
@@ -184,13 +184,15 @@
            //判断操作类型
            if (OperationType == 1) {//无源单新增
                $("#HItemID").val(0);
                //禁用组织选项
                $("#HUSEORGID").attr("disabled", true);
                ////禁用组织选项
                //$("#HUSEORGID").attr("disabled", true);
                $("#checkboxHStopflag").attr("disabled", true);
            }
            else if (OperationType == 3) {//编辑
                //禁用组织选项
                $("#HUSEORGID").attr("disabled", true);
                ////禁用组织选项
                //$("#HUSEORGID").attr("disabled", true);
                $("#HItemID").val(linterid);//修改时主表ID
                $("#checkboxHStopflag").attr("disabled", true);
                //编辑状态时,根据内码,获取信息并写入界面
                RoadBillMain(linterid);
            } else if (OperationType == 4) {//浏览
WebTM/views/ÏîÄ¿¹ÜÀí/ÏîÄ¿½×¶Î/Gy_ProjectStage.html
@@ -227,9 +227,15 @@
            function set_ClearBill() {
                //初始化表格
                set_InitGrid();
                //查询
                get_FastQuery(1);
                //初始化组织
                Organ();
                //查询
                if (addSWhereByOpenType()) {                        //addSWhereByOpenType()方法判断是否其它页面打开本页面,若是则处理过滤条件,并返回true
                    get_FastQuery(2);
                } else {
                    get_FastQuery(1);
                }
            }
            //#endregion
@@ -253,6 +259,7 @@
                //获取登录页组织列
                $.ajax({
                    type: "get",
                    async: false,
                    url: GetWEBURL() + "/Web/GetOrganizations",
                    success: function (result) {
                        var Organization = "";
@@ -726,8 +733,38 @@
            }
            //#endregion
            //#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 addSWhereByOpenType() {
                //获取参数
                var params = getUrlVars();
                var openType = params[params[0]]; //从参数中获取 æ‰“开方式  1直接打开 2其它页面通过选择按钮打开
                var HOrgID = params[params[1]];
                if (openType == 2) {
                    sWhere += " and ISNULL(禁用人,'') = '' ";
                    $("#HOrgID").val(HOrgID);
                    form.render("select");
                    return true;
                }
                return false;
            }
            //#endregion
        });
            //#endregion
            //以上是layui模块
WebTM/views/ÏîÄ¿¹ÜÀí/ÏîÄ¿½×¶Î/PM_ProjectReportBill.html
@@ -54,15 +54,15 @@
                <form class="layui-form" action="" lay-filter="formData" style="background-color:white;">
                    <div style="padding: 2px; ">
                        <!--<button type="button" id="btnSearch" style="margin-left: 0px" class="layui-btn layui-btn-normal"  lay-submit="" lay-filter="btnSearch" >预览</button>
                        <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnSearch" id="btnSearch">新增</button>
                        <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnSearch" id="btnSearch">修改</button>-->
        <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnSearch" id="btnSearch">新增</button>
        <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnSearch" id="btnSearch">修改</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>-->
        <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">
                        <ul class="layui-tab-title" lay-filter="tab-all">
@@ -301,26 +301,16 @@
                            </div>
                        </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>
                        <div class="layui-tab-content">
                            <!--子表-->
                            <div class="layui-tab-item layui-show">
                                <table class="layui-hide" id="mainTable" lay-filter="mainTable"></table>
                                <script type="text/html" id="toolbarDemo">
                                    <div class="layui-btn-container">
                                        <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-AddLine"><i class="layui-icon layui-icon-form"></i>增加一行</button>
                                        <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>-->
                                    </div>
                                </script>
                            </div>
                    <table class="layui-hide" id="mainTable" lay-filter="mainTable"></table>
                    <script type="text/html" id="toolbarDemo">
                        <div class="layui-btn-container">
                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-AddLine"><i class="layui-icon layui-icon-form"></i>增加一行</button>
                            <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>-->
                        </div>
                    </div>
                    </script>
                </form>
            </div>
        </div>
@@ -374,17 +364,15 @@
            }
            //#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"]);
@@ -412,14 +400,14 @@
            //    });
            //}
            else if (OperationType == 3) {//如果修改则走下面 new                                        //编辑
                //禁用组织选项
                $("#HOrgID").attr("disabled", true);
                ////禁用组织选项
                //$("#HOrgID").attr("disabled", true);
                //初始化项目阶段表
                get_InitGrid1();
                RoadBillMain(linterid);
            } else if (OperationType == 4 && HProjectStageID != null) {
                //禁用组织选项
                $("#HOrgID").attr("disabled", true);
                ////禁用组织选项
                //$("#HOrgID").attr("disabled", true);
                OperationType = 4;
                //生成并设置主表的内码和单据号
                createBillNo();
@@ -436,6 +424,10 @@
                set_ProjectReport_Display();
            }
            //#endregion
            //#region åˆå§‹åŒ–组织
            Organ();
            //#endregion
            //#region åˆå§‹åŒ–表格
@@ -692,9 +684,9 @@
                        , { field: 'HEmpID', title: '成员ID', hide: true, style: 'background-color: #f9f9f9;' }
                        , { field: 'HEmpName', title: '成员', edit: 'text', event: "HEmpName" }     //f7
                        , { field: 'HIsPM', title: '项目经理', templet: "#HIsPM" }
                        , { field: 'HRate', title: '项目占比', totalRow: true, style: 'background-color: #f9f9f9;'}
                        , { field: 'HAvgMoney', title: '分配业绩', totalRow: true, style: 'background-color: #f9f9f9;' }
                        , { field: 'HCountMoney', title: '提成', totalRow: true, style: 'background-color: #f9f9f9;' }
                        , { field: 'HRate', title: '项目占比', totalRow: true, edit: 'text'}
                        , { field: 'HAvgMoney', title: '分配业绩', totalRow: true, edit: 'text' }
                        , { field: 'HCountMoney', title: '提成', totalRow: true, edit: 'text' }
                        , { field: 'HRemarkSub', title: '备注', edit: 'text' }
                        , { fixed: 'right', title: '操作', toolbar: '#barDemo' }
                    ]]
@@ -719,6 +711,7 @@
            //#region é¡¹ç›®ä»£ç é€‰æ‹©é¡µé¢
            function get_checkSearchHProNumber() {
                var HOrgID = $("#HOrgID").val();
                //打开工程项目小窗体
                layer.open({
                    type: 2
@@ -728,7 +721,7 @@
                    , shift: 2                                          //弹出动画
                    , area: ["90%", "90%"]                              //窗体大小
                    , maxmin: true                                      //设置最大最小按钮是否显示
                    , content: ["../../项目管理/工程项目/PM_ProjectBillList.html", "yes"]
                    , content: ["../../项目管理/工程项目/PM_ProjectBillList.html?openType=2&HOrgID=" + HOrgID, "yes"]
                    , btn: ["确定", "取消"]
                    , btn1: function (index, laero) {
                        //按钮一  çš„回调
@@ -803,6 +796,7 @@
            //#region é¡¹ç›®é˜¶æ®µé€‰æ‹©é¡µé¢
            function get_checkSearchHProjectStage() {
                var HOrgID = $("#HOrgID").val();
                //打开项目阶段小窗体
                layer.open({
                    type: 2
@@ -812,7 +806,7 @@
                    , shift: 2                                          //弹出动画
                    , area: ["90%", "90%"]                              //窗体大小
                    , maxmin: true                                      //设置最大最小按钮是否显示
                    , content: ["../../项目管理/项目阶段/Gy_ProjectStage.html", "yes"]
                    , content: ["../../项目管理/项目阶段/Gy_ProjectStage.html?openType=2&HOrgID=" + HOrgID, "yes"]
                    , btn: ["确定", "取消"]
                    , btn1: function (index, laero) {
                        //按钮一  çš„回调
@@ -835,13 +829,14 @@
            //#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]  //获取弹框页面
@@ -851,9 +846,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内部动态递增计算的
                    }
@@ -864,41 +859,91 @@
            //#region æŠ„送人选择页面
            function get_checkSearchHCopyEmp() {
                //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('请选择数据');
                //        }
                //        //获取数据
                //        $("#HCopyEmp").val(checkStatus.data[0].职员名称);//抄送人名称
                //        if ($("#HCopyEmp").val() == "") {
                //            $("#HCopyEmp").val(checkStatus.data[0].职员代码);
                //        }
                //        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                //    }
                //    , btn2: function (index, layero) { }
                //})
                //页面层-自定义
                layer.open({
                    type: 2//弹窗类型
                    , skin: 'layui-layer-rim' //加上边框
                    , area: ['90%', '90%']//大小
                    , title: '员工表'//标题
                    , shift: 2//弹出动画
                    , content: ['../../Baseset/基础资料/Gy_EmployeeList.html', 'yes']
                    , btn: ['确定', '取消']
                    , btn1: function (index, layero) {//按钮【按钮一】的回调
                    type: 2,
                    skin: 'layui-layer-rim', //加上边框
                    title: '抄送人列表',
                    closeBtn: 1,
                    shift: 2,
                    area: ['80%', '80%'],
                    maxmin: true,
                    content: ['../../PublicPage/transfer.html', '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) {
                        var checkStatus = iframeWindow.layui.transfer.getData('key123'); //获取已分配数量
                        if (checkStatus.length === 0) {
                            return layer.msg('请选择数据');
                        }
                        //获取数据
                        $("#HCopyEmp").val(checkStatus.data[0].HName);//抄送人名称
                        if ($("#HCopyEmp").val() == "") {
                            $("#HCopyEmp").val(checkStatus.data[0].HNumber);
                        var value = "";
                        var title = "";
                        for (var i = 0; i < checkStatus.length; i++) {
                            value += checkStatus[i].value + ",";
                            title += checkStatus[i].title + ",";
                        }
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                        //去掉最后一个逗号(如果不需要去掉,就不用写)
                        if (value.length > 0) {
                            value = value.substr(0, value.length - 1);
                            title = title.substr(0, title.length - 1);
                        }
                        $("#HCopyEmp").val(title);
                        console.log(checkStatus, value, title);
                        layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) { }
                })
                    , btn2: function (index, layero) {
                        //按钮【按钮二】的回调
                        //return false å¼€å¯è¯¥ä»£ç å¯ç¦æ­¢ç‚¹å‡»è¯¥æŒ‰é’®å…³é—­
                    },
                    end: function () {
                    },
                    success: function (layero, index) {
                    }
                });
            }
            //#endregion
            //#region æŽ¥æ”¶äººé€‰æ‹©é¡µé¢
            function get_checkSearchHReceiveEmp() {
                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]  //获取弹框页面
@@ -907,9 +952,9 @@
                            return layer.msg('请选择数据');
                        }
                        //获取数据
                        $("#HReceiveEmp").val(checkStatus.data[0].HName);//接收人名称
                        $("#HReceiveEmp").val(checkStatus.data[0].职员名称);//接收人名称
                        if ($("#HReceiveEmp").val() == "") {
                            $("#HReceiveEmp").val(checkStatus.data[0].HNumber);
                            $("#HReceiveEmp").val(checkStatus.data[0].职员代码);
                        }
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
@@ -1110,7 +1155,7 @@
                    return false;
                }
                if ($("#HProID").val() == "0") {
                if ($("#HProNumber").val() == "0") {
                    layer.msg("项目代码未选择!");
                    return false;
                }
@@ -1278,6 +1323,7 @@
                    if (event.key == "F7") {
                        //成员
                        if (obj.event == "HEmpName") {
                            var HOrgID = $("#HOrgID").val();
                            //打开员工列表小窗体
                            layer.open({
                                type: 2
@@ -1287,7 +1333,7 @@
                                , shift: 2                                          //弹出动画
                                , area: ["90%", "90%"]                              //窗体大小
                                , maxmin: true                                      //设置最大最小按钮是否显示
                                , content: ["../../Baseset/基础资料/Gy_EmployeeList.html", "yes"]
                                , content: ['../../基础资料/公用基础资料/Gy_EmployeeList.html?openType=2&HOrgID=' + HOrgID, 'yes']
                                , btn: ["确定", "取消"]
                                , btn1: function (index, laero) {
                                    //按钮一  çš„回调
@@ -1300,7 +1346,7 @@
                                    //更新表格缓存的数据
                                    obj.update({
                                        "HEmpID": checkStatus.data[0].HItemID
                                        , "HEmpName": checkStatus.data[0].HName
                                        , "HEmpName": checkStatus.data[0].职员名称
                                    })
                                    layer.close(index);//关闭弹窗
                                }
@@ -1445,6 +1491,34 @@
                })
            }
            //#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
WebTM/views/ÏîÄ¿¹ÜÀí/ÏîÄ¿½×¶Î/PM_ProjectReportBillList.html
@@ -263,9 +263,14 @@
            function set_ClearBill() {
                //初始化表格
                set_InitGrid();
                //查询
                get_FastQuery(1);
                //初始化组织
                Organ();
                //查询
                if (addSWhereByOpenType()) {                        //addSWhereByOpenType()方法判断是否其它页面打开本页面,若是则处理过滤条件,并返回true
                    get_FastQuery(2);
                } else {
                    get_FastQuery(1);
                }
            }
            //#endregion
@@ -288,6 +293,7 @@
                //获取登录页组织列
                $.ajax({
                    type: "get",
                    async: false,
                    url: GetWEBURL() + "/Web/GetOrganizations",
                    success: function (result) {
                        var Organization = "";
@@ -833,6 +839,33 @@
            }
            //#endregion
            //#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 addSWhereByOpenType() {
                //获取参数
                var params = getUrlVars();
                var openType = params[params[0]]; //从参数中获取 æ‰“开方式  1直接打开 2其它页面通过选择按钮打开
                var HOrgID = params[params[1]];
                if (openType == 2) {
                    sWhere += " and ISNULL(关闭人,'') = '' and ISNULL(作废人,'') = '' ";
                    $("#HOrgID").val(HOrgID);
                    form.render("select");
                    return true;
                }
                return false;
            }
            //#endregion
        });
            //#endregion
WebTM/views/ÏîÄ¿¹ÜÀí/ÏîÄ¿½×¶Î/PM_ProjectStageBill.html
@@ -546,7 +546,7 @@
                        , { field: 'RowID', title: '行号', hide: true, style: 'background-color: #f9f9f9;' }                                                   //行标识,用于下一行、上一行识别所在行
                        , { field: 'HProjectStageID', title: '项目阶段ID', hide: true, style: 'background-color: #f9f9f9;' }
                        , { field: 'HProjectStageName', title: '项目阶段', edit: 'text', event: "HProjectStageName" }     //f7
                        , { field: 'HStageNote', title: '项目阶段详细内容', style: 'background-color: #f9f9f9;' }
                        , { field: 'HStageNote', title: '项目阶段详细内容', edit: 'text' }
                        , { field: 'HPMGoodsID', title: '相关交付物ID', hide: true, style: 'background-color: #f9f9f9;' }
                        , { field: 'HPMGoodsName', title: '相关交付物', edit: 'text', event: "HPMGoodsName" }            //f7
                        , { field: 'HIsKey', title: '里程碑', templet: "#HIsKey" }
@@ -836,7 +836,7 @@
                                , shift: 2                                          //弹出动画
                                , area: ["90%", "90%"]                              //窗体大小
                                , maxmin: true                                      //设置最大最小按钮是否显示
                                , content: ["../../项目管理/项目阶段/Gy_ProjectStage.html", "yes"]
                                , content: ["../../项目管理/项目阶段/Gy_ProjectStage.html?openType=2", "yes"]
                                , btn: ["确定", "取消"]
                                , btn1: function (index, laero) {
                                    //按钮一  çš„回调
@@ -851,7 +851,12 @@
                                        "HProjectStageID": checkStatus.data[0].HItemID
                                        , "HProjectStageName": checkStatus.data[0].阶段名称
                                        , "HStageNote": checkStatus.data[0].项目阶段详细内容
                                        , "HPMGoodsID": checkStatus.data[0].HPMGoodsID == null ? 0 : checkStatus.data[0].HPMGoodsID
                                        , "HPMGoodsName": checkStatus.data[0].相关交付物
                                        , "HRate": checkStatus.data[0].理论业绩占比
                                        , "HIsKey": checkStatus.data[0].里程碑 == "Y" ? true : false
                                    })
                                    CheckedSet_tableSub();
                                    layer.close(index);//关闭弹窗
                                }
                            })
WebTM/views/ÏîÄ¿¹ÜÀí/ÏîÄ¿½×¶Î/PM_ProjectStageBillList.html
@@ -224,6 +224,8 @@
                //初始化表格
                set_InitGrid();
                //查询
                //根据页面的打开方式,判断过滤条件是否需要进行额外的添加
                addSWhereByOpenType();
                get_FastQuery(1);
                //Organ();
            }
@@ -737,6 +739,28 @@
            }
            //#endregion
            //#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 addSWhereByOpenType() {
                //获取参数
                var params = getUrlVars();
                var openType = params[params[0]]; //从参数中获取 æ‰“开方式  1直接打开 2其它页面通过选择按钮打开
                if (openType == 2) {
                    sWhere += " and ISNULL(关闭人,'') = '' and ISNULL(作废人,'') = '' ";
                }
            }
            //#endregion
        });
            //#endregion