1
duhe
2023-08-29 34872bc1444d1e2a78228f7faee2e661037cb6bd
WebTM/views/ÏîÄ¿¹ÜÀí/¹¤³ÌÏîÄ¿/PM_ProjectBill.html
@@ -14,7 +14,7 @@
    <script src="../../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
    <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
    <script src="../../../layuiadmin/PubCustom.js"></script>
    <style>
    <!--<style>
        .main-btn { /*头部主按钮*/
            padding: 0 2px; /*调整按钮左右空隙大小*/
            height: 30px;
@@ -44,7 +44,7 @@
        .layui-form-label {
            width: 25%;
        }
    </style>
    </style>-->
</head>
<body>
@@ -75,7 +75,7 @@
                                <div class="layui-form-item" style="padding-top: 10px;">
                                    <div class="layui-row">
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">单据号*</label>
                                            <label class="layui-form-label" style="width: 85px;">单据号<label style="color:red"> * </label></label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HBillNo" lay-verify="HBillNo" id="HBillNo" style="background-color:#efefef4d;" readonly>
                                                <input type="hidden" name="HInterID" id="HInterID" lay-verify="HInterID">
@@ -88,13 +88,13 @@
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">项目名称<label style="color:red"> * </label></label>
                                            <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="HProName" name="HProName" id="HProName">
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;padding: 9px 18px;">客户*</label>
                                            <label class="layui-form-label" style="width: 85px;padding: 9px 18px;">客户<label style="color:red"> * </label></label>
                                            <div class="layui-input-block" style="margin-left: 77px;">
                                                <input type="text" class="layui-input" lay-verify="HCusName" name="HCusName" id="HCusName" style="background-color:#efefef4d;width: 60%;display: inline-block;" readonly>
                                                <input type="hidden" name="HCusID" id="HCusID" lay-verify="HCusID" value="0">
@@ -106,25 +106,25 @@
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">日期</label>
                                            <label class="layui-form-label" style="width: 85px;">日期<label style="color:red"> * </label></label>
                                            <div class="layui-input-block" style="margin-left: 120px; width:180px;">
                                                <input type="date" class="layui-input" lay-verify="HDate" name="HDate" id="HDate" style="padding-left: 80px;">
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">开始日期*</label>
                                            <label class="layui-form-label" style="width: 85px;">开始日期<label style="color:red"> * </label></label>
                                            <div class="layui-input-block" style="margin-left: 120px; width: 185px;">
                                                <input type="date" class="layui-input" lay-verify="HBeginDate" name="HBeginDate" id="HBeginDate" style="padding-left: 80px;">
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">结束日期*</label>
                                            <label class="layui-form-label" style="width: 85px;">结束日期<label style="color:red"> * </label></label>
                                            <div class="layui-input-block" style="margin-left: 120px; width: 185px;">
                                                <input type="date" class="layui-input" lay-verify="HEndDate" name="HEndDate" id="HEndDate" style="padding-left: 80px;">
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;padding: 9px 18px;">项目经理*</label>
                                            <label class="layui-form-label" style="width: 85px;padding: 9px 18px;">项目经理<label style="color:red"> * </label></label>
                                            <div class="layui-input-block" style="margin-left: 77px;">
                                                <input type="text" class="layui-input" lay-verify="HPMEmpName" name="HPMEmpName" id="HPMEmpName" style="background-color:#efefef4d;width: 60%;display: inline-block;" readonly>
                                                <input type="hidden" name="HPMEmpID" id="HPMEmpID" lay-verify="HPMEmpID" value="0">
@@ -136,7 +136,7 @@
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;padding: 9px 18px;">实施担当*</label>
                                            <label class="layui-form-label" style="width: 85px;padding: 9px 18px;">实施担当<label style="color:red"> * </label></label>
                                            <div class="layui-input-block" style="margin-left: 77px;">
                                                <input type="text" class="layui-input" lay-verify="HWorkEmpName" name="HWorkEmpName" id="HWorkEmpName" style="background-color:#efefef4d;width: 60%;display: inline-block;" readonly>
                                                <input type="hidden" name="HWorkEmpID" id="HWorkEmpID" lay-verify="HWorkEmpID" value="0">
@@ -146,7 +146,7 @@
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;padding: 9px 18px;">开发担当*</label>
                                            <label class="layui-form-label" style="width: 85px;padding: 9px 18px;">开发担当<label style="color:red"> * </label></label>
                                            <div class="layui-input-block" style="margin-left: 77px;">
                                                <input type="text" class="layui-input" lay-verify="HDepEmpName" name="HDepEmpName" id="HDepEmpName" style="background-color:#efefef4d;width: 60%;display: inline-block;" readonly>
                                                <input type="hidden" name="HDepEmpID" id="HDepEmpID" lay-verify="HDepEmpID" value="0">
@@ -156,7 +156,7 @@
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;padding: 9px 18px;">对应产品*</label>
                                            <label class="layui-form-label" style="width: 85px;padding: 9px 18px;">对应产品<label style="color:red"> * </label></label>
                                            <div class="layui-input-block" style="margin-left: 77px;">
                                                <input type="text" class="layui-input" lay-verify="HMaterNumber" name="HMaterNumber" id="HMaterNumber" style="background-color:#efefef4d;width: 60%;display: inline-block;" readonly>
                                                <input type="hidden" name="HMaterID" id="HMaterID" lay-verify="HMaterID" value="0">
@@ -174,20 +174,24 @@
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">备注<label style="color:red"> * </label></label>
                                            <div class="layui-input-block" style="margin-left: 120px; width: 501px;">
                                                <input type="text" class="layui-input" lay-verify="HRemark" name="HRemark" id="HRemark">
                                            <label class="layui-form-label" style="width: 85px;padding: 9px 18px;">项目阶段清单</label>
                                            <div class="layui-input-block" style="margin-left: 77px;">
                                                <input type="text" class="layui-input" lay-verify="HProjectStageBillNumber" name="HProjectStageBillNumber" id="HProjectStageBillNumber" style="background-color:#efefef4d;width: 60%;display: inline-block;" readonly>
                                                <input type="hidden" name="HProjectStageBillInterID" id="HProjectStageBillInterID" lay-verify="HProjectStageBillInterID" value="0">
                                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearchHProjectStageBill" id="btnSearchHProjectStageBill" style="padding: 0 10px;float: right;margin-right: 3px;">
                                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
                                                </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;">
                                            <div class="layui-input-block" style="margin-left: 120px; width:180px;">
                                                <select name="HProType" id="HProType" lay-filter="HProType" style="width:190px;">
                                                </select>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;padding: 9px 18px;">结算方</label>
                                            <label class="layui-form-label" style="width: 85px;padding: 9px 18px;">结算方<label style="color:red"> * </label></label>
                                            <div class="layui-input-block" style="margin-left: 77px;">
                                                <input type="text" class="layui-input" lay-verify="HPayCusName" name="HPayCusName" id="HPayCusName" style="background-color:#efefef4d;width: 60%;display: inline-block;" readonly>
                                                <input type="hidden" name="HPayCusID" id="HPayCusID" lay-verify="HPayCusID" value="0">
@@ -199,7 +203,15 @@
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">组织*</label>
                                            <label class="layui-form-label" style="width: 85px;">备注</label>
                                            <div class="layui-input-block" style="margin-left: 120px; width: 501px;">
                                                <input type="text" class="layui-input" lay-verify="HRemark" name="HRemark" id="HRemark">
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">组织<label style="color:red"> * </label></label>
                                            <div class="layui-input-block" style="margin-left: 120px; width: 501px;">
                                                <select name="HOrgID" id="HOrgID" lay-verify="HOrgID">
                                                    <!--动态渲染组织-->
@@ -365,8 +377,8 @@
                                        <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>
                                        <!--<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>
@@ -378,8 +390,8 @@
                                        <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-AddLine1"><i class="layui-icon layui-icon-form"></i>增加一行</button>
                                        <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-CopyLine1"><i class="layui-icon layui-icon-form"></i>复制一行</button>
                                        <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn1"><i class="layui-icon layui-icon-form"></i>列设置</button>
                                        <button type="button" class="layui-btn layui-btn-sm" lay-event="btn_up1"><i class="layui-icon layui-icon-form"></i>上一行</button>
                                        <button type="button" class="layui-btn layui-btn-sm" lay-event="btn_under1"><i class="layui-icon layui-icon-form"></i>下一行</button>
                                        <!--<button type="button" class="layui-btn layui-btn-sm" lay-event="btn_up1"><i class="layui-icon layui-icon-form"></i>上一行</button>
                                        <button type="button" class="layui-btn layui-btn-sm" lay-event="btn_under1"><i class="layui-icon layui-icon-form"></i>下一行</button>-->
                                    </div>
                                </script>
                            </div>
@@ -448,10 +460,6 @@
                    icon: 4, skin: 'layui-layer-lan', title: "温馨提示", closeBtn: 0, btn: ['重新登录']
                }, function () { window.location.href = "../../user/login.html"; });
            }
            //#endregion
            //#region åˆå§‹åŒ–表格
            //DisPlay_HideColumn();
            //#endregion
            //#region åˆå§‹åŒ–组织
@@ -552,6 +560,12 @@
            });
            //#endregion
            //#region é€‰æ‹©é¡¹ç›®é˜¶æ®µæ¸…单按钮
            form.on('submit(btnSearchHProjectStageBill)', function () {
                get_checkSearchHProjectStageBill();
            });
            //#endregion
            //#endregion
            //#region å¤é€‰æ¡† é€‰ä¸­/取消 è§¦å‘事件
@@ -599,30 +613,6 @@
                }
            });
            //#endregion
            //#region å®¡æ ¸
            form.on('submit(set_CheckBill)', function (data) {
                set_CheckBill(data);
            });
            //#endregion
            //#region åå®¡æ ¸
            form.on('submit(set_AbandonCheck)', function (data) {
                set_AbandonCheck(data);
            });
            //#endregion
            //#region å…³é—­
            form.on('submit(set_CloseBill)', function (data) {
                set_CloseBill(data);
            });
            //#endregion
            //#region åå…³é—­
            form.on('submit(set_CancelCloseBill)', function (data) {
                set_CancelCloseBill(data);
            });
            //#endregion
            //#endregion
            //#endregion
@@ -656,6 +646,7 @@
                        table.cache["mainTable"].push(NewRow);
                        option.data = table.cache["mainTable"];
                        table.render(option);
                        CheckedSet_tableSub();
                        break;
                    case 'btn-CopyLine':
                        var copydata = JSON.stringify(data);
@@ -671,6 +662,7 @@
                            table.cache["mainTable"].push(JSON.parse(copyrow));//将复制的行强转成json追加到表格上
                            option.data = table.cache["mainTable"];//将数据绑定到data上
                            table.render(option);//将数据渲染到表格上
                            CheckedSet_tableSub();
                        }
                        break;
                    //列设置
@@ -680,10 +672,12 @@
                    //上一行
                    case 'btn_up':
                        btn_up(data);
                        CheckedSet_tableSub();
                        break;
                    //下一行
                    case 'btn_under':
                        btn_under(data);
                        CheckedSet_tableSub();
                        break;
                }
            });
@@ -711,6 +705,7 @@
                        table.cache["mainTable1"].push(NewRow);
                        option1.data = table.cache["mainTable1"];
                        table.render(option1);
                        CheckedSet_tableSub_Emp();
                        break;
                    case 'btn-CopyLine1':
                        var copydata = JSON.stringify(data);
@@ -726,6 +721,7 @@
                            table.cache["mainTable1"].push(JSON.parse(copyrow));//将复制的行强转成json追加到表格上
                            option1.data = table.cache["mainTable1"];//将数据绑定到data上
                            table.render(option1);//将数据渲染到表格上
                            CheckedSet_tableSub_Emp();
                        }
                        break;
                    //列设置
@@ -735,10 +731,12 @@
                    //上一行
                    case 'btn_up1':
                        btn_up1(data);
                        CheckedSet_tableSub_Emp();
                        break;
                    //下一行
                    case 'btn_under1':
                        btn_under1(data);
                        CheckedSet_tableSub_Emp();
                        break;
                }
            });
@@ -759,7 +757,8 @@
                            //时间选择完成,行数据更新
                            data[field] = nowDate;
                            obj.update(data);
                            checkRefresh();
                            //checkRefresh();
                            CheckedSet_tableSub();
                        }
                    });
                }
@@ -898,28 +897,29 @@
                option = {
                    elem: '#mainTable'
                    , toolbar: '#toolbarDemo'
                    , page: true
                    , limit: 500
                    , limits: [50, 500, 5000, 50000]
                    //, page: true
                    //, limit: 500
                    //, limits: [50, 500, 5000, 50000]
                    , totalRow: true
                    , cellMinWidth: 120
                    , height: 400
                    , cols: [[
                        { type: 'checkbox', totalRowText: '合计行' }
                        , { type: 'numbers', title: '序号', totalRow: true }
                        , { field: 'RowID', title: '行号', hide: true }                                                   //行标识,用于下一行、上一行识别所在行
                        , { field: 'HProjectStageID', title: '项目阶段ID', hide: true }
                        , { type: 'numbers', title: '序号', style: 'background-color: #f9f9f9;'}
                        , { 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: '项目详细内容' }
                        , { field: 'HPMGoodsID', title: '相关交付物ID', hide: true }
                        , { field: 'HStageNote', title: '项目详细内容', style: 'background-color: #f9f9f9;' }
                        , { field: 'HPMGoodsID', title: '相关交付物ID', hide: true, style: 'background-color: #f9f9f9;' }
                        , { field: 'HPMGoodsName', title: '相关交付物', edit: 'text', event: "HPMGoodsName" }            //f7
                        , { field: 'HIsKey', title: '里程碑', templet: "#HIsKey" }
                        , { field: 'HRate', title: '业绩占比', edit: 'text' }
                        , { field: 'HEmpID', title: '阶段负责人ID', hide: true }
                        , { field: 'HRate', title: '业绩占比', edit: 'text', totalRow: true }
                        , { field: 'HEmpID', title: '阶段负责人ID', hide: true, style: 'background-color: #f9f9f9;' }
                        , { field: 'HEmpName', title: '阶段负责人', edit: 'text', event: "HEmpName" }                    //f7
                        , { field: 'HCheckEmpID', title: '阶段审核人ID', hide: true }
                        , { field: 'HCheckEmpID', title: '阶段审核人ID', hide: true, style: 'background-color: #f9f9f9;' }
                        , { field: 'HCheckEmpName', title: '阶段审核人', edit: 'text', event: "HCheckEmpName" }          //f7
                        , { field: 'HFinishDate', title: '预计完成日期', event: "HFinishDate" }
                        , { field: 'HWorkDays', title: '预计人天', edit: 'text' }
                        , { field: 'HWorkDays', title: '预计人天', edit: 'text', totalRow: true }
                        , { field: 'HRemarkSub', title: '备注', edit: 'text' }
                        , { fixed: 'right', title: '操作', toolbar: '#barDemo' }
                    ]]
@@ -958,14 +958,14 @@
                    , height: 400
                    , cols: [[
                        { type: 'checkbox', totalRowText: '合计行' }
                        , { type: 'numbers', title: '序号', totalRow: true }
                        , { field: 'RowID', title: '行号', hide: true }                                                   //行标识,用于下一行、上一行识别所在行
                        , { field: 'HEmployeeID', title: '项目成员ID', hide: true }
                        , { type: 'numbers', title: '序号', style: 'background-color: #f9f9f9;' }
                        , { field: 'RowID', title: '行号', hide: true, style: 'background-color: #f9f9f9;' }                                                   //行标识,用于下一行、上一行识别所在行
                        , { field: 'HEmployeeID', title: '项目成员ID', hide: true, style: 'background-color: #f9f9f9;' }
                        , { field: 'HEmployeeName', title: '项目成员', edit: 'text', event: "HEmployeeName" }     //f7
                        , { field: 'HIsPM', title: '是否项目经理', templet: "#HIsPM" }
                        , { field: 'HRate', title: '项目占比', edit: 'text' }
                        , { field: 'HPlanAvgMoney', title: '预计分配业绩', edit: 'text' }
                        , { field: 'HPlanCountMoney', title: '预计提成', edit: 'text' }
                        , { field: 'HPlanAvgMoney', title: '预计分配业绩', style: 'background-color: #f9f9f9;' }
                        , { field: 'HPlanCountMoney', title: '预计提成', style: 'background-color: #f9f9f9;' }
                        , { field: 'HRemarkSub', title: '备注', edit: 'text' }
                        , { fixed: 'right', title: '操作', toolbar: '#barDemo1' }
                    ]]
@@ -1163,6 +1163,91 @@
            }
            //#endregion
            //#region é¡¹ç›®é˜¶æ®µæ¸…单选择页面
            function get_checkSearchHProjectStageBill() {
                layer.open({
                    type: 2//弹窗类型
                    , skin: 'layui-layer-rim' //加上边框
                    , area: ['90%', '90%']//大小
                    , title: '项目阶段清单列表'//标题
                    , shift: 2//弹出动画
                    , content: ['../../项目管理/项目阶段/PM_ProjectStageBillList.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) {
                            return layer.msg('请选择数据');
                        }
                        //项目阶段清单设置
                        $("#HProjectStageBillInterID").val(checkStatus.data[0].HInterID);//客户id
                        $("#HProjectStageBillNumber").val(checkStatus.data[0].单据号);//客户名称
                        //获取数据
                        var HBillInterID = checkStatus.data[0].HInterID;
                        //获取项目阶段清单中的项目阶段列表
                        $.ajax({
                            url: GetWEBURL() + "/PM_ProjectStageBill/editInit",
                            type: "GET",
                            async: false,
                            data: { "HInterID": HBillInterID, "user": sessionStorage["HUserName"] },
                            success: function (result) {
                                var tableMain = result.data[0];
                                var tableSub = result.data[1];
                                //合并现有子表数据和项目阶段清单的数据
                                var num = [];
                                var len = 0;        //记录num长度,用于作为RowID的系数,为RowID的赋值
                                for (var i = 0; i < tableSub.length; i++) {
                                    var NewRow =
                                    {
                                        "RowID": (i + 1) * 10
                                        , 'HProjectStageID': tableSub[i]["HProjectStageID"]
                                        , 'HProjectStageName': tableSub[i]["HProjectStageName"]
                                        , 'HStageNote': tableSub[i]["HStageNote"]
                                        , 'HPMGoodsID': (tableSub[i]["HPMGoodsID"] != null) ? tableSub[i]["HPMGoodsID"] : '0'
                                        , 'HPMGoodsName': tableSub[i]["HPMGoodsName"]
                                        , 'HIsKey': tableSub[i]["HIsKey"]
                                        , 'HRate': tableSub[i]["HRate"]
                                        , 'HEmpID': '0'
                                        , 'HEmpName': ''
                                        , 'HCheckEmpID': '0'
                                        , 'HCheckEmpName': ''
                                        , 'HFinishDate': ''
                                        , 'HWorkDays': '0'
                                        , 'HRemarkSub': tableSub[i]["HRemarkSub"]
                                    };
                                    num.push(NewRow);
                                }
                                len = num.length;
                                for (var i = 0; i < option.data.length; i++) {
                                    option.data[i].RowID = (len + i + 1) * 10;
                                    num.push(option.data[i]);
                                }
                                //子表  èµ‹å€¼
                                option.data = num;
                                table.render(option);
                                //对子表中的复选框进行选中
                                for (var i = 0; i < num.length; i++) {
                                    if (num[i].HIsKey) {
                                        $('#HIsKey' + (i + 1)).attr("checked", true);
                                    }
                                }
                                form.render('checkbox');
                            }
                        })
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) { }
                })
            }
            //#endregion
            //#region ä¿å­˜HMaker
            function set_AddNew(data) {
                //获取项目阶段表数据
@@ -1286,9 +1371,12 @@
                        });
                        //组织的值HOrgID变化,重新渲染
                        HOrgIDBar = tableMain[0]["HOrgID"];
                        //渲染项目阶段表
                        //设置项目阶段表完成日期的格式
                        for (var i = 0; i < tableSub.length; i++) {
                            tableSub[i]["HFinishDate"] = Format(new Date(tableSub[i]["HFinishDate"]), "yyyy-MM-dd");
                            tableSub[i].RowID = (i + 1) * 10;
                        }
                        option.data = tableSub;
                        table.render(option);
@@ -1299,6 +1387,11 @@
                            }
                        }
                        form.render('checkbox');
                        //渲染项目成员表
                        for (var i = 0; i < tableSub_Emp.length; i++) {
                            tableSub_Emp[i].RowID = (i + 1) * 10;
                        }
                        option1.data = tableSub_Emp;
                        table.render(option1);
                        //对子表中的项目经理复选框进行选中
@@ -1313,106 +1406,6 @@
            }
            //#endregion
            //#region å®¡æ ¸
            function set_CheckBill() {
                layer.confirm("确认要审核吗?", function (index) {
                    var wait = layer.load();
                    $.ajax({
                        url: GetWEBURL() + '/Gy_RoutingBill/AuditGy_RoutingBill',
                        type: "GET",
                        data: { "HInterID": $("#HInterID").val(), "IsAudit": 0, "CurUserName": sessionStorage["HUserName"] },
                        success: function (result) {
                            if (result.count == 1) {
                                layer.msg(result.Message, { icon: 1 });
                                layer.close(wait);
                            } else {
                                layer.alert(result.code + result.Message, { icon: 5 });
                                layer.close(wait);
                            }
                        }, error: function () {
                            layer.alert("接口请求失败!", { icon: 5 });
                            layer.close(wait);
                        }
                    });
                })
            }
            //#endregion
            //#region åå®¡æ ¸
            function set_AbandonCheck() {
                layer.confirm("确认要反审核吗?", function (index) {
                    var wait = layer.load();
                    $.ajax({
                        url: GetWEBURL() + '/Gy_RoutingBill/AuditGy_RoutingBill',
                        type: "GET",
                        data: { "HInterID": $("#HInterID").val(), "IsAudit": 1, "CurUserName": sessionStorage["HUserName"] },
                        success: function (result) {
                            if (result.count == 1) {
                                layer.msg(result.Message, { icon: 1 });
                                layer.close(wait);
                            } else {
                                layer.alert(result.code + result.Message, { icon: 5 });
                                layer.close(wait);
                            }
                        }, error: function () {
                            layer.alert("接口请求失败!", { icon: 5 });
                            layer.close(wait);
                        }
                    });
                })
            }
            //#endregion
            //#region å…³é—­
            function set_CloseBill() {
                layer.confirm("确认要关闭吗?", function (index) {
                    var wait = layer.load();
                    $.ajax({
                        url: GetWEBURL() + '/Gy_RoutingBill/CloseGy_RoutingBill',
                        type: "GET",
                        data: { "HInterID": $("#HInterID").val(), "IsAudit": 0, "CurUserName": sessionStorage["HUserName"] },
                        success: function (result) {
                            if (result.count == 1) {
                                layer.msg(result.Message, { icon: 1 });
                                layer.close(wait);
                            } else {
                                layer.alert(result.code + result.Message, { icon: 5 });
                                layer.close(wait);
                            }
                        }, error: function () {
                            layer.alert("接口请求失败!", { icon: 5 });
                            layer.close(wait);
                        }
                    });
                })
            }
            //#endregion
            //#region åå…³é—­
            function set_CancelCloseBill() {
                layer.confirm("确认要反关闭吗?", function (index) {
                    var wait = layer.load();
                    $.ajax({
                        url: GetWEBURL() + '/Gy_RoutingBill/CloseGy_RoutingBill',
                        type: "GET",
                        data: { "HInterID": $("#HInterID").val(), "IsAudit": 1, "CurUserName": sessionStorage["HUserName"] },
                        success: function (result) {
                            if (result.count == 1) {
                                layer.msg(result.Message, { icon: 1 });
                                layer.close(wait);
                            } else {
                                layer.alert(result.code + result.Message, { icon: 5 });
                                layer.close(wait);
                            }
                        }, error: function () {
                            layer.alert("接口请求失败!", { icon: 5 });
                            layer.close(wait);
                        }
                    });
                })
            }
            //#endregion
            //#region éžç©ºéªŒè¯
            function AllowLoadData(data) {
                //#region è¡¨å¤´æ•°æ®æ£€éªŒ
@@ -1420,56 +1413,54 @@
                    layer.msg("单据号不能为空!");
                    return false;
                }
                if ($("#HProNumber").val() == "") {
                    layer.msg("项目代码不能为空!");
                if ($("#HDate").val() == "") {
                    layer.msg("日期不能为空!");
                    return false;
                }
                if ($("#HProName").val() == "") {
                    layer.msg("项目名称不能为空!");
                if ($("#HBeginDate").val() == "") {
                    layer.msg("开始日期不能为空!");
                    return false;
                }
                if ($("#HCusName").val() == "") {
                    layer.msg("客户没有选择!");
                if ($("#HEndDate").val() == "") {
                    layer.msg("结束日期不能为空!");
                    return false;
                }
                if ($("#HPMEmpName").val() == "") {
                    layer.msg("项目经理没有选择!");
                if ($("#HProID").val() == "0") {
                    layer.msg("项目代码未选择!");
                    return false;
                }
                if ($("#HWorkEmpName").val() == "") {
                    layer.msg("实施担当没有选择");
                if ($("#HCusID").val() == "0") {
                    layer.msg("客户未选择!");
                    return false;
                }
                if ($("#HDepEmpName").val() == "") {
                    layer.msg("开发担当没有选择");
                if ($("#HPMEmpID").val() == "0") {
                    layer.msg("项目经理未选择!");
                    return false;
                }
                if ($("#HMaterName").val() == "") {
                    layer.msg("对应产品没有选择");
                if ($("#HWorkEmpID").val() == "0") {
                    layer.msg("实施担当未选择");
                    return false;
                }
                if ($("#HPayCusName").val() == "") {
                    layer.msg("结算方没有选择");
                if ($("#HDepEmpID").val() == "0") {
                    layer.msg("开发担当未选择");
                    return false;
                }
                if ($("#HMaterID").val() == "0") {
                    layer.msg("对应产品未选择");
                    return false;
                }
                if ($("#HPayCusID").val() == "0") {
                    layer.msg("结算方未选择");
                    return false;
                }
                //#endregion
                //#region é¡¹ç›®é˜¶æ®µè¡¨æ•°æ®æ£€éªŒ
                var num = [];
                for (var i = 0; i < option.data.length; i++) {
                    if (option.data[i] != "") {
                        //项目阶段重复检验
                        if ($.inArray(option.data[i]["HProjectStageID"], num) == -1) {
                            num.push(option.data[i]["HProjectStageID"]);
                        } else {
                            layer.msg("第" + (i + 1) + "行,项目阶段:" + option.data[i]["HProjectStageName"] + "重复!");
                            return false;
                        }
                        //项目阶段非空检验
                        if (option.data[i]["HProjectStageName"] == "") {
                        if (option.data[i]["HProjectStageID"] == "0") {
                            layer.msg("第" + (i + 1) + "行:项目阶段不能为空!");
                            return false;
                        }
@@ -1486,10 +1477,6 @@
                                return;
                            }
                        }
                        ////里程碑内容检验
                        //if (option.data[i]["HIsKey"] != "1" && option.data[i]["HIsKey"] != "0") {
                        //    layer.msg("里程碑请输入0或1!");
                        //}
                        //预计人天格式检验
                        var HWorkDays = option.data[i]["HWorkDays"] + "";
@@ -1505,13 +1492,13 @@
                        }
                        //阶段负责人非空检验
                        if (option.data[i]["HEmpName"] == "") {
                        if (option.data[i]["HEmpID"] == "0") {
                            layer.msg("第" + (i + 1) + "行:阶段负责人不能为空!");
                            return false;
                        }
                        //阶段审核人非空检验
                        if (option.data[i]["HCheckEmpName"] == "") {
                        if (option.data[i]["HCheckEmpID"] == "0") {
                            layer.msg("第" + (i + 1) + "行:阶段审核人不能为空!");
                            return false;
                        }
@@ -1520,19 +1507,10 @@
                //#endregion
                //#region é¡¹ç›®æˆå‘˜è¡¨æ•°æ®æ£€éªŒ
                var num1 = [];
                for (var i = 0; i < option1.data.length; i++) {
                    if (option1.data[i] != "") {
                        //项目成员重复检验
                        if ($.inArray(option1.data[i]["HEmployeeID"], num1) == -1) {
                            num1.push(option1.data[i]["HEmployeeID"]);
                        } else {
                            layer.msg("第" + (i + 1) + "行,项目成员:" + option1.data[i]["HEmployeeName"] + "重复!");
                            return false;
                        }
                        //项目成员非空检验
                        if (option1.data[i]["HEmployeeName"] == "") {
                        if (option1.data[i]["HEmployeeID"] == "0") {
                            layer.msg("第" + (i + 1) + "行:项目成员不能为空!");
                            return false;
                        }
@@ -1549,10 +1527,6 @@
                                return;
                            }
                        }
                        ////是否项目经理检验
                        //if (option1.data[i]["HIsPM"] != "1" && option1.data[i]["HIsPM"] != "0") {
                        //    layer.msg("第" + (i + 1) + "行:是否项目经理请输入0或1!");
                        //}
                        //预计分配业绩格式检验
                        var HPlanAvgMoney = option1.data[i]["HPlanAvgMoney"] + "";
@@ -1583,6 +1557,51 @@
                }
                //#endregion
                //#region å­è¡¨1关键字重复校验
                var num = [];
                for (var i = 0; i < option.data.length; i++) {
                    if ($.inArray(option.data[i]["HProjectStageID"], num) == -1) {
                        num.push(option.data[i]["HProjectStageID"]);
                    } else {
                        layer.msg("第" + (i + 1) + "行,项目阶段:" + option.data[i]["HProjectStageName"] + "重复!");
                        return false;
                    }
                }
                //#endregion
                //#region å­è¡¨2关键字重复校验
                var num1 = [];
                for (var i = 0; i < option1.data.length; i++) {
                    if ($.inArray(option1.data[i]["HEmployeeID"], num1) == -1) {
                        num1.push(option1.data[i]["HEmployeeID"]);
                    } else {
                        layer.msg("第" + (i + 1) + "行,项目成员:" + option1.data[i]["HEmployeeName"] + "重复!");
                        return false;
                    }
                }
                //#endregion
                //#region å­è¡¨1业绩占比合计校验
                var total = 0;
                for (var i = 0; i < option.data.length; i++) {
                    total += option.data[i]["HRate"] * 1;
                }
                if (total > 100) {
                    layer.msg("项目阶段表:业绩占比合计超出100,请检查!!");
                }
                //#endregion
                //#region å­è¡¨2项目占比合计校验
                var total1 = 0;
                for (var i = 0; i < option1.data.length; i++) {
                    total1 += option1.data[i]["HRate"] * 1;
                }
                if (total1 > 100) {
                    layer.msg("项目成员表:项目占比合计超出100,请检查!!");
                    return false;
                }
                //#endregion
                return true;
            }
            //#endregion
@@ -1602,6 +1621,7 @@
                            option.data[i - 1] = data[0];
                            option.data[i] = tables[0];
                            table.render(option);
                            CheckedSet_tableSub();
                            break;
                        }
                    }
@@ -1624,6 +1644,7 @@
                            option1.data[i - 1] = data[0];
                            option1.data[i] = tables[0];
                            table.render(option1);
                            CheckedSet_tableSub_Emp
                            break;
                        }
                    }
@@ -1646,6 +1667,7 @@
                            option.data[i + 1] = data[0];
                            option.data[i] = tables[0];
                            table.render(option);
                            CheckedSet_tableSub();
                            break;
                        }
                    }
@@ -1668,6 +1690,7 @@
                            option1.data[i + 1] = data[0];
                            option1.data[i] = tables[0];
                            table.render(option1);
                            CheckedSet_tableSub_Emp
                            break;
                        }
                    }
@@ -1689,6 +1712,7 @@
                            oldData.splice(obj.tr.data('index'), 1)
                            option.data = oldData;//将数据绑定到data上
                            table.render(option);
                            CheckedSet_tableSub();
                            layer.close(index);
                        }
                    });
@@ -1710,6 +1734,7 @@
                            oldData.splice(obj.tr.data('index'), 1)
                            option1.data = oldData;//将数据绑定到data上
                            table.render(option1);
                            CheckedSet_tableSub_Emp();
                            layer.close(index);
                        }
                    });
@@ -1745,8 +1770,8 @@
                                    //更新表格缓存的数据
                                    obj.update({
                                        "HProjectStageID": checkStatus.data[0].HItemID
                                        , "HProjectStageName": checkStatus.data[0].HName
                                        , "HStageNote": checkStatus.data[0].HStageNote
                                        , "HProjectStageName": checkStatus.data[0].阶段名称
                                        , "HStageNote": checkStatus.data[0].项目阶段详细内容
                                    })
                                    layer.close(index);//关闭弹窗
                                }
@@ -1933,9 +1958,9 @@
                                }
                                //设置内容字体大小
                                if (data1.data[0].HFontSize != 0) {
                                    option.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
                                    option.cols[0][i + 1]["style"] += "font-size:" + data1.data[0].HFontSize + "px;";
                                } else {
                                    option.cols[0][i + 1]["style"] = "font-size:100%";
                                    option.cols[0][i + 1]["style"] += "font-size:100%";
                                }
                                //设置列宽
                                //if (data1.data[0].HColumnWidth != 0) {
@@ -1980,8 +2005,10 @@
                                }
                            }
                            table.render(option);
                            CheckedSet_tableSub();
                        } else {
                            table.render(option);
                            CheckedSet_tableSub();
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
@@ -2055,9 +2082,9 @@
                                }
                                //设置内容字体大小
                                if (data1.data[0].HFontSize != 0) {
                                    option1.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
                                    option1.cols[0][i + 1]["style"] += "font-size:" + data1.data[0].HFontSize + "px;";
                                } else {
                                    option1.cols[0][i + 1]["style"] = "font-size:100%";
                                    option1.cols[0][i + 1]["style"] += "font-size:100%";
                                }
                                //设置列宽
                                //if (data1.data[0].HColumnWidth != 0) {
@@ -2102,8 +2129,10 @@
                                }
                            }
                            table.render(option1);
                            CheckedSet_tableSub_Emp();
                        } else {
                            table.render(option1);
                            CheckedSet_tableSub_Emp();
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
@@ -2112,6 +2141,31 @@
            }
            //#endregion
            //#region é¡¹ç›®é˜¶æ®µè¡¨-刷新设置复选框状态
            function CheckedSet_tableSub() {
                var tableSub = option.data;
                //对子表中的复选框进行选中
                for (var i = 0; i < tableSub.length; i++) {
                    if (tableSub[i].HIsKey) {
                        $('#HIsKey' + (i + 1)).attr("checked", true);
                    }
                }
                form.render('checkbox');
            }
            //#endregion
            //#region é¡¹ç›®æˆå‘˜è¡¨-刷新设置复选框状态
            function CheckedSet_tableSub_Emp() {
                var tableSub_Emp = option1.data;
                //对子表中的项目经理复选框进行选中
                for (var i = 0; i < tableSub_Emp.length; i++) {
                    if (tableSub_Emp[i].HIsPM) {
                        $('#HIsPM' + (i + 1)).attr("checked", true);
                    }
                }
                form.render('checkbox');
            }
            //#endregion
            //#region é¡¹ç›®éš¾æ˜“类型下拉框
            function ColFilter() {
                var Organization = "";