duhe
2023-07-08 59fd6b2f865844b4cb92b18ebc35fdc7a109ee45
工程项目 及列表
工作任务 及列表
1个文件已修改
2个文件已添加
2671 ■■■■■ 已修改文件
WebTM/views/项目管理/工程项目/PM_ProjectReportBill.html 1926 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/项目管理/工程项目/PM_ProjectReportBillList.html 743 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/项目管理/项目阶段/Gy_ProjectStage.html 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/ÏîÄ¿¹ÜÀí/¹¤³ÌÏîÄ¿/PM_ProjectReportBill.html
New file
@@ -0,0 +1,1926 @@
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>工程项目</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
    <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
    <script src="../../../layuiadmin/zgqCustom/zgqCustom.js"></script>
    <script src="../../../layuiadmin/layui/layui.js"></script>
    <script src="../../../layuiadmin/Scripts/json2.js"></script>
    <script src="../../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
    <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
    <script src="../../../layuiadmin/PubCustom.js"></script>
    <style>
        .main-btn { /*头部主按钮*/
            padding: 0 2px; /*调整按钮左右空隙大小*/
            height: 30px;
            line-height: 30px;
        }
        .btn-title {
            font-size: 16px;
        }
        /* é˜²æ­¢ä¸‹æ‹‰æ¡†çš„下拉列表被隐藏---必须设置--- */
        .layui-table-cell {
            overflow: visible !important;
        }
        /* ä½¿å¾—下拉框与单元格刚好合适 */
        td .layui-form-select {
            margin-top: -10px;
            margin-left: -15px;
            margin-right: -15px;
        }
        .layui-form-item .layui-inline {
            margin-top: 5px;
            margin-bottom: 5px;
            margin-right: 0px;
        }
        .layui-form-label {
            width: 25%;
        }
    </style>
</head>
<body>
    <div class="layui-fluid" style="padding: 0;">
        <div class="layui-card" style="padding: 2px;background-color: #efefef;">
            <div class="layui-card-body" style="padding: 1px;">
                <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="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>
                    </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>
                            <li lay-id="2" style="padding:1px;">其他信息</li>
                        </ul>
                        <div class="layui-tab-content">
                            <!--基本信息-->
                            <div class="layui-tab-item layui-show">
                                <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>
                                            <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">
                                            </div>
                                        </div>
                                        <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;">
                                                <input type="text" class="layui-input" lay-verify="HProNumber" name="HProNumber" id="HProNumber">
                                            </div>
                                        </div>
                                        <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;">
                                                <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>
                                            <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">
                                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearchHCus" id="btnSearchHCus" style="padding: 0 10px;float: right;margin-right: 3px;">
                                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
                                                </button>
                                            </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; 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>
                                            <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>
                                            <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>
                                            <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">
                                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearchHPMEmp" id="btnSearchHPMEmp" style="padding: 0 10px;float: right;margin-right: 3px;">
                                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
                                                </button>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-inline">
                                            <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="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">
                                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearchHWorkEmp" id="btnSearchHWorkEmp" 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;padding: 9px 18px;">开发担当*</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">
                                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearchHDepEmp" id="btnSearchHDepEmp" 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;padding: 9px 18px;">对应产品*</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">
                                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearchHMater" id="btnSearchHMater" 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;">
                                                <input type="text" class="layui-input" name="HMaterName" lay-verify="HMaterName" id="HMaterName" style="background-color:#efefef4d;" readonly>
                                            </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;">
                                                <input type="text" class="layui-input" lay-verify="HRemark" name="HRemark" id="HRemark">
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">项目难易类型</label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <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>
                                            <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">
                                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearchHPayCus" id="btnSearchHPayCus" style="padding: 0 10px;float: right;margin-right: 3px;">
                                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
                                                </button>
                                            </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; width: 501px;">
                                                <select name="HOrgID" id="HOrgID" lay-verify="HOrgID">
                                                    <!--动态渲染组织-->
                                                </select>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                            <!--其他信息-->
                            <div class="layui-tab-item">
                                <div class="layui-form-item">
                                    <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" name="HMaker" id="HMaker" 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" name="HUpDater" id="hupdater" 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" name="HChecker" id="HChecker" style="background-color:#efefef4d;" readonly>
                                            </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" name="HMakerDate" id="HMakerDate" 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" name="HUpDaterDate" id="hupdatedate" 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" name="HCheckerDate" id="HCheckerDate" style="background-color:#efefef4d;" readonly>
                                            </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" name="HCloseMan" id="HCloseMan" 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" name="HDeleteMan" id="HDeleteMan" 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" name="HBacker" id="HBacker" style="background-color:#efefef4d;" readonly>
                                            </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" name="HCloseManDate" id="HCloseManDate" 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" name="HDeleteManDate" id="HDeleteManDate" 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" name="HBackerDate" id="HBackerDate" style="background-color:#efefef4d;" readonly>
                                            </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" 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>
                        </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>
                            <li lay-id="2" style="padding:1px;">项目成员</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>
                            <!--项目成员-->
                            <div class="layui-tab-item">
                                <table class="layui-hide" id="mainTable1" lay-filter="mainTable1"></table>
                                <script type="text/html" id="toolbarDemo1">
                                    <div class="layui-btn-container">
                                        <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>
                                    </div>
                                </script>
                            </div>
                        </div>
                    </div>
                </form>
            </div>
        </div>
    </div>
    <!--项目阶段表:删除-->
    <script type="text/html" id="barDemo">
        <!--<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>-->
        <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
    </script>
    <!--项目成员表:删除-->
    <script type="text/html" id="barDemo1">
        <!--<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>-->
        <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del1">删除</a>
    </script>
    <script>
        layui.config({
            base: '../../../layuiadmin/' //静态资源所在路径
        }).extend({
            index: 'lib/index' //主入口模块
        }).use(['index', 'form', 'laydate', 'table', 'element'], function () {
            //#region å…¬å…±å˜é‡
            var $ = layui.$
                , admin = layui.admin
                , layer = layui.layer
                , table = layui.table
                , form = layui.form
                , element = layui.element;
            //模块名
            var HModName = "Gy_ProjectReportBill";
            //表格渲染参数
            var option = {};            //项目阶段表渲染参数
            var option1 = {};           //项目成员表渲染参数
            //获取参数
            var params = getUrlVars();
            var OperationType = params[params[0]]; //从参数中获取 æ•°æ®ç±»åž‹  1添加 ä¿å­˜  2复制  3 ç¼–辑
            var linterid = params[params[1]]; //从参数中获取 å•据内码
            //#endregion
            //#region è¿›å…¥é¡µé¢å³åŠ è½½
            //#region åˆ¤æ–­æ˜¯å¦ç™»å½• æœªç™»å½•则跳到登录页
            if (sessionStorage.login != "login") {
                layer.confirm("登录失效,请重新登录!", {
                    icon: 4, skin: 'layui-layer-lan', title: "温馨提示", closeBtn: 0, btn: ['重新登录']
                }, function () { window.location.href = "../../user/login.html"; });
            }
            //#endregion
            //#region åˆå§‹åŒ–表格
            //DisPlay_HideColumn();
            //#endregion
            //#region åˆå§‹åŒ–组织
            Organ();
            //#endregion
            //#region é¡¹ç›®éš¾æ˜“类型下拉框显示
            ColFilter();
            //#endregion
            //#region åˆ¤æ–­å¹¶è®¾ç½®æ“ä½œç±»åž‹ã€é¡µé¢åˆå§‹åŒ–
            if (OperationType == null || OperationType == 1) {                            //新增
                //生成并设置主表的内码和单据号
                createBillNo();
                //初始化制单人和制单时间
                $("#HMaker").val(sessionStorage["HUserName"]);
                $("#HMakerDate").val(Format(new Date(), "yyyy-MM-dd"));
                //初始化项目工程主表开始时间和结束时间
                $("#HBeginDate").val(Format(new Date(), "yyyy-MM-dd"));
                $("#HEndDate").val(Format(new Date(), "yyyy-MM-dd"));
                $("#HDate").val(Format(new Date(), "yyyy-MM-dd"));
                //初始化项目阶段表
                get_InitGrid1();
            }
            //else if (OperationType == 2) {                                      //复制
            //    //禁用组织选项
            //    //$("#HOrgID").attr("disabled", true);
            //    RoadBillMain(linterid);
            //    $.ajax({
            //        url: GetWEBURL() + "/Web/GetMAXNum",
            //        type: "GET",
            //        async: false,
            //        data: { "HBillType": '4750' },
            //        success: function (d) {
            //            $("#HInterID").val(d.data[0].HInterID);
            //            $("#HBillNo").val(d.data[0].HBillNo);
            //            $("#HDate").val(Format(new Date(), "yyyy-MM-dd"));
            //        }
            //    });
            //}
            else if (OperationType == 3) {//如果修改则走下面 new                                        //编辑
                //禁用组织选项
                $("#HOrgID").attr("disabled", true);
                //初始化项目阶段表
                get_InitGrid1();
                RoadBillMain(linterid);
            }
            //#endregion
            //#endregion
            //#region è§¦å‘事件:包括form.on(){}格式的所有点击事件、选择事件等
            //#region å¼¹çª—选择触发事件
            //#region é€‰æ‹©å®¢æˆ·ä»£ç æŒ‰é’®
            form.on('submit(btnSearchHCus)', function () {
                get_checkSearchHCus();
            });
            //#endregion
            //#region é€‰æ‹©é¡¹ç›®ç»ç†æŒ‰é’®
            form.on('submit(btnSearchHPMEmp)', function () {
                get_checkSearchHPMEmp();
            });
            //#endregion
            //#region é€‰æ‹©å®žæ–½æ‹…当按钮
            form.on('submit(btnSearchHWorkEmp)', function () {
                get_checkSearchHWorkEmp();
            });
            //#endregion
            //#region é€‰æ‹©å¼€å‘担当按钮
            form.on('submit(btnSearchHDepEmp)', function () {
                get_checkSearchHDepEmp();
            });
            //#endregion
            //#region é€‰æ‹©å¯¹åº”产品按钮
            form.on('submit(btnSearchHMater)', function () {
                get_checkSearchHMater();
            });
            //#endregion
            //#region é€‰æ‹©ç»“算方按钮
            form.on('submit(btnSearchHPayCus)', function () {
                get_checkSearchHPayCus();
            });
            //#endregion
            //#endregion
            //#region æ“ä½œæŒ‰é’®è§¦å‘事件
            //#region ä¿å­˜æäº¤
            form.on('submit(btnSave)', function (data) {//提交
                if (AllowLoadData(data)) {
                    set_AddNew(data);
                }
            });
            //#endregion
            //#region é€€å‡º
            form.on('submit(btnEdit)', function (data) {
                if (params[1] != null) {
                    Pub_Close(1);
                } else if (params[1] == null) {
                    Pub_Close(2);
                }
            });
            //#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
            //#region é¡¹ç›®é˜¶æ®µè¡¨ï¼šå¤´å·¥å…·æ äº‹ä»¶
            table.on('toolbar(mainTable)', function (obj) {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                //新增行表格数据
                var NewRow =
                {
                    "RowID": (table.cache["mainTable"].length + 1) * 10
                    , 'HProjectStageID': '0'
                    , 'HProjectStageName': ''
                    , 'HStageNote': ''
                    , 'HPMGoodsID': '0'
                    , 'HPMGoodsName': ''
                    , 'HIsKey': '0'
                    , 'HRate': '0'
                    , 'HEmpID': '0'
                    , 'HEmpName': ''
                    , 'HCheckEmpID': '0'
                    , 'HCheckEmpName': ''
                    , 'HFinishDate': ''
                    , 'HWorkDays': '0'
                    , 'HRemarkSub': ''
                };
                switch (obj.event) {
                    case 'btn-AddLine':
                        table.cache["mainTable"].push(NewRow);
                        option.data = table.cache["mainTable"];
                        table.render(option);
                        break;
                    case 'btn-CopyLine':
                        var copydata = JSON.stringify(data);
                        if (data.length <= 0) {
                            layer.msg("请选择需要复制的一行!");
                        }
                        else if (data.length > 1) {
                            layer.msg("只能选择复制一行!");
                        }
                        else {
                            var copydata2 = copydata.substring(1, copydata.length);//去除首行字符'['
                            var copyrow = copydata2.substring(0, copydata2.length - 1);//去除末尾字符']'
                            table.cache["mainTable"].push(JSON.parse(copyrow));//将复制的行强转成json追加到表格上
                            option.data = table.cache["mainTable"];//将数据绑定到data上
                            table.render(option);//将数据渲染到表格上
                        }
                        break;
                    //列设置
                    case 'set_HideColumn':
                        //get_HideColumn();
                        break;
                    //上一行
                    case 'btn_up':
                        btn_up(data);
                        break;
                    //下一行
                    case 'btn_under':
                        btn_under(data);
                        break;
                }
            });
            //#endregion
            //#region é¡¹ç›®æˆå‘˜è¡¨ï¼šå¤´å·¥å…·æ äº‹ä»¶
            table.on('toolbar(mainTable1)', function (obj) {
                var checkStatus = table.checkStatus('mainTable1')
                    , data = checkStatus.data;
                //新增行表格数据
                var NewRow =
                {
                    "RowID": (table.cache["mainTable1"].length + 1) * 10
                    , 'HEmployeeID': '0'
                    , 'HEmployeeName': ''
                    , 'HIsPM': '0'
                    , 'HRate': '0'
                    , 'HPlanAvgMoney': '0'
                    , 'HPlanCountMoney': '0'
                    , 'HRemarkSub': ''
                };
                switch (obj.event) {
                    case 'btn-AddLine1':
                        table.cache["mainTable1"].push(NewRow);
                        option1.data = table.cache["mainTable1"];
                        table.render(option1);
                        break;
                    case 'btn-CopyLine1':
                        var copydata = JSON.stringify(data);
                        if (data.length <= 0) {
                            layer.msg("请选择需要复制的一行!");
                        }
                        else if (data.length > 1) {
                            layer.msg("只能选择复制一行!");
                        }
                        else {
                            var copydata2 = copydata.substring(1, copydata.length);//去除首行字符'['
                            var copyrow = copydata2.substring(0, copydata2.length - 1);//去除末尾字符']'
                            table.cache["mainTable1"].push(JSON.parse(copyrow));//将复制的行强转成json追加到表格上
                            option1.data = table.cache["mainTable1"];//将数据绑定到data上
                            table.render(option1);//将数据渲染到表格上
                        }
                        break;
                    //列设置
                    case 'set_HideColumn':
                        //get_HideColumn();
                        break;
                    //上一行
                    case 'btn_up1':
                        btn_up1(data);
                        break;
                    //下一行
                    case 'btn_under1':
                        btn_under1(data);
                        break;
                }
            });
            //#endregion
            //#region é¡¹ç›®é˜¶æ®µè¡¨ï¼šè¡Œå†…事件
            table.on('tool(mainTable)', function (obj) {
                set_GridDelete(obj);   //行内删除
                set_GridCellCheck(obj); //行内快捷键筛选
            });
            //#endregion
            //#region é¡¹ç›®æˆå‘˜è¡¨ï¼šè¡Œå†…事件
            table.on('tool(mainTable1)', function (obj) {
                set_GridDelete1(obj);   //行内删除
                set_GridCellCheck1(obj); //行内快捷键筛选
            });
            //#endregion
            //#region é¡¹ç›®é˜¶æ®µè¡¨ï¼šè¡Œå†…鼠标离开事件:检查项目阶段是否重复
            table.on('edit(mainTable)', function (obj) {
                if (obj.field == "HProjectStageID") {
                    var num = 0;
                    for (var i = 0; i < option.data.length; i++) {
                        if (obj.value == option.data[i]["HProjectStageID"]) {
                            num += 1;
                        }
                        if (num > 1) {
                            layer.msg("项目阶段:" + obj.value + "重复!");
                            return false;
                        }
                    }
                }
            })
            //#endregion
            //#region é¡¹ç›®æˆå‘˜è¡¨ï¼šè¡Œå†…鼠标离开事件:检查项目成员是否重复
            table.on('edit(mainTable1)', function (obj) {
                if (obj.field == "HEmployeeID") {
                    var num = 0;
                    for (var i = 0; i < option1.data.length; i++) {
                        if (obj.value == option1.data[i]["HEmployeeID"]) {
                            num += 1;
                        }
                        if (num > 1) {
                            layer.msg("项目阶段:" + obj.value + "重复!");
                            return false;
                        }
                    }
                }
            })
            //#endregion
            //
            form.on('submit(Cancel)', function () {
                //sessionStorage["SourceFlag"] = false;
                parent.location.href = "../../../views/index.html"
                //window.close();//关闭当前页
            })
            //#region ç›‘听提交
            form.verify({
                numberOrEmpty: function (value, item) {
                    // if (value != '') {
                    if (!/^\d+$/.test(value)) {
                        return '不能为空或数字或者0';
                    }
                    //}
                }
            });
            //#endregion
            //#endregion
            //#region æ­¤é¡µé¢æ‰€æœ‰çš„æ–¹æ³•
            //#region èŽ·å–ç»„ç»‡
            function Organ() {
                //获取登录页组织列
                var Organization = '';
                $.ajax({
                    type: "get",
                    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>';
                            }
                            $("#HOrgID").append(Organization);
                            $("#HOrgID").val(sessionStorage["OrganizationID"])
                            form.render('select');
                        }
                        layer.closeAll("loading");
                    }
                })
            }
            //#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 createBillNo() {
                $.ajax({
                    url: GetWEBURL() + "/Web/GetMAXNum",
                    type: "GET",
                    data: { "HBillType": '4750' },
                    success: function (d) {
                        //console.log(d.data);
                        $("#HInterID").val(d.data[0].HInterID);
                        $("#HBillNo").val(d.data[0].HBillNo);
                        $("#HDate").val(Format(new Date(), "yyyy-MM-dd"));
                    }
                });
            }
            //#endregion
            //#region é¡¹ç›®é˜¶æ®µè¡¨ã€é¡¹ç›®æˆå‘˜è¡¨åˆå§‹åŒ–
            function get_InitGrid1() {
                option = {
                    elem: '#mainTable'
                    , toolbar: '#toolbarDemo'
                    , page: true
                    , limit: 500
                    , limits: [50, 500, 5000, 50000]
                    , cellMinWidth: 120
                    , height: 400
                    , cols: [[
                        { type: 'checkbox', totalRowText: '合计行' }
                        , { type: 'numbers', title: '序号', totalRow: true }
                        , { field: 'RowID', title: '行号', hide: true }                                                   //行标识,用于下一行、上一行识别所在行
                        , { field: 'HProjectStageID', title: '项目阶段ID', hide: true }
                        , { field: 'HProjectStageName', title: '项目阶段', edit: 'text', event: "HProjectStageName" }     //f7
                        , { field: 'HStageNote', title: '项目详细内容', edit: 'text' }
                        , { field: 'HPMGoodsID', title: '相关交付物ID', hide: true }
                        , { field: 'HPMGoodsName', title: '相关交付物', edit: 'text', event: "HPMGoodsName" }            //f7
                        , { field: 'HIsKey', title: '里程碑', edit: 'text' }
                        , { field: 'HRate', title: '业绩占比', edit: 'text' }
                        , { field: 'HEmpID', title: '阶段负责人ID', hide: true }
                        , { field: 'HEmpName', title: '阶段负责人', edit: 'text', event: "HEmpName" }                    //f7
                        , { field: 'HCheckEmpID', title: '阶段审核人ID', hide: true }
                        , { field: 'HCheckEmpName', title: '阶段审核人', edit: 'text', event: "HCheckEmpName" }          //f7
                        , { field: 'HFinishDate', title: '预计完成日期', edit: 'text', type: 'date' }
                        , { field: 'HWorkDays', title: '预计人天', edit: 'text' }
                        , { field: 'HRemarkSub', title: '备注', edit: 'text' }
                        , { fixed: 'right', title: '操作', toolbar: '#barDemo' }
                    ]]
                }
                var rowdata = [
                    {
                        "RowID": 10
                        , 'HProjectStageID': '0'
                        , 'HProjectStageName': ''
                        , 'HStageNote': ''
                        , 'HPMGoodsID': '0'
                        , 'HPMGoodsName': ''
                        , 'HIsKey': '0'
                        , 'HRate': '0'
                        , 'HEmpID': '0'
                        , 'HEmpName': ''
                        , 'HCheckEmpID': '0'
                        , 'HCheckEmpName': ''
                        , 'HFinishDate': ''
                        , 'HWorkDays': '0'
                        , 'HRemarkSub': ''
                    }
                ];
                option.data = rowdata;
                table.render(option);
                option1 = {
                    elem: '#mainTable1'
                    , toolbar: '#toolbarDemo1'
                    , page: true
                    , limit: 500
                    , limits: [50, 500, 5000, 50000]
                    , cellMinWidth: 120
                    , height: 400
                    , cols: [[
                        { type: 'checkbox', totalRowText: '合计行' }
                        , { type: 'numbers', title: '序号', totalRow: true }
                        , { field: 'RowID', title: '行号', hide: true }                                                   //行标识,用于下一行、上一行识别所在行
                        , { field: 'HEmployeeID', title: '项目成员ID', hide: true }
                        , { field: 'HEmployeeName', title: '项目成员', edit: 'text', event: "HEmployeeName" }     //f7
                        , { field: 'HIsPM', title: '是否项目经理', edit: 'text' }
                        , { field: 'HRate', title: '项目占比', edit: 'text' }
                        , { field: 'HPlanAvgMoney', title: '预计分配业绩', edit: 'text' }
                        , { field: 'HPlanCountMoney', title: '预计提成', edit: 'text' }
                        , { field: 'HRemarkSub', title: '备注', edit: 'text' }
                        , { fixed: 'right', title: '操作', toolbar: '#barDemo1' }
                    ]]
                }
                var rowdata1 = [
                    {
                        "RowID": 10
                        , 'HEmployeeID': '0'
                        , 'HEmployeeName': ''
                        , 'HIsPM': '0'
                        , 'HRate': '0'
                        , 'HPlanAvgMoney': '0'
                        , 'HPlanCountMoney': '0'
                        , 'HRemarkSub': ''
                    }
                ];
                option1.data = rowdata1;
                table.render(option1);
            }
            //#endregion
            //#region å®¢æˆ·é€‰æ‹©é¡µé¢
            function get_checkSearchHCus() {
                layer.open({
                    type: 2//弹窗类型
                    , skin: 'layui-layer-rim' //加上边框
                    , area: ['90%', '90%']//大小
                    , title: '客户表'//标题
                    , shift: 2//弹出动画
                    , content: ['../../Baseset/基础资料/Gy_CustomerList.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('请选择数据');
                        }
                        //获取数据
                        $("#HCusID").val(checkStatus.data[0].HItemID);//客户id
                        $("#HCusName").val(checkStatus.data[0].HName);//客户名称
                        if ($("#HCusName").val() == "") {
                            $("#HCusName").val(checkStatus.data[0].HNumber);
                        }
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) { }
                })
            }
            //#endregion
            //#region é¡¹ç›®ç»ç†é€‰æ‹©é¡µé¢
            function get_checkSearchHPMEmp() {
                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) {//按钮【按钮一】的回调
                        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('请选择数据');
                        }
                        //获取数据
                        $("#HPMEmpID").val(checkStatus.data[0].HItemID);//客户id
                        $("#HPMEmpName").val(checkStatus.data[0].HName);//客户名称
                        if ($("#HPMEmpName").val() == "") {
                            $("#HPMEmpName").val(checkStatus.data[0].HNumber);
                        }
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) { }
                })
            }
            //#endregion
            //#region å®žæ–½æ‹…当选择页面
            function get_checkSearchHWorkEmp() {
                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) {//按钮【按钮一】的回调
                        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('请选择数据');
                        }
                        //获取数据
                        $("#HWorkEmpID").val(checkStatus.data[0].HItemID);//员工id
                        $("#HWorkEmpName").val(checkStatus.data[0].HName);//员工名称
                        if ($("#HWorkEmpName").val() == "") {
                            $("#HWorkEmpName").val(checkStatus.data[0].HNumber);
                        }
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) { }
                })
            }
            //#endregion
            //#region å¼€å‘担当选择页面
            function get_checkSearchHDepEmp() {
                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) {//按钮【按钮一】的回调
                        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('请选择数据');
                        }
                        //获取数据
                        $("#HDepEmpID").val(checkStatus.data[0].HItemID);//员工id
                        $("#HDepEmpName").val(checkStatus.data[0].HName);//员工名称
                        if ($("#HDepEmpName").val() == "") {
                            $("#HDepEmpName").val(checkStatus.data[0].HNumber);
                        }
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) { }
                })
            }
            //#endregion
            //#region å¯¹åº”产品选择页面
            function get_checkSearchHMater() {
                layer.open({
                    type: 2//弹窗类型
                    , skin: 'layui-layer-rim' //加上边框
                    , area: ['90%', '90%']//大小
                    , title: '产品表'//标题
                    , shift: 2//弹出动画
                    , content: ['../../Baseset/基础资料/Gy_MaterialList.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('请选择数据');
                        }
                        //获取数据
                        $("#HMaterID").val(checkStatus.data[0].HItemID);//产品内码
                        $("#HMaterNumber").val(checkStatus.data[0].HNumber);//产品代码
                        $("#HMaterName").val(checkStatus.data[0].HName);//产品名称
                        if ($("#HMaterName").val() == "") {
                            $("#HMaterName").val(checkStatus.data[0].HNumber);
                        }
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) { }
                })
            }
            //#endregion
            //#region ç»“算方选择页面
            function get_checkSearchHPayCus() {
                layer.open({
                    type: 2//弹窗类型
                    , skin: 'layui-layer-rim' //加上边框
                    , area: ['90%', '90%']//大小
                    , title: '客户表'//标题
                    , shift: 2//弹出动画
                    , content: ['../../Baseset/基础资料/Gy_CustomerList.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('请选择数据');
                        }
                        //获取数据
                        $("#HPayCusID").val(checkStatus.data[0].HItemID);//客户id
                        $("#HPayCusName").val(checkStatus.data[0].HName);//客户名称
                        if ($("#HPayCusName").val() == "") {
                            $("#HPayCusName").val(checkStatus.data[0].HNumber);
                        }
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) { }
                })
            }
            //#endregion
            //#region ä¿å­˜HMaker
            function set_AddNew(data) {
                //获取项目阶段表数据
                var num = [];
                for (var i = 0; i < table.cache["mainTable"].length; i++) {
                    if (table.cache["mainTable"][i] != "") {
                        table.cache["mainTable"][i].LAY_TABLE_INDEX = i;
                        num.push(table.cache["mainTable"][i])
                    }
                }
                //获取项目成员表数据
                var num1 = [];
                for (var i = 0; i < table.cache["mainTable1"].length; i++) {
                    if (table.cache["mainTable1"][i] != "") {
                        table.cache["mainTable1"][i].LAY_TABLE_INDEX = i;
                        num1.push(table.cache["mainTable1"][i])
                    }
                }
                //获取组织数据
                data.field.HPRDORGID = sessionStorage["OrganizationID"];//组织
                //获取表头数据并序列化
                var sMainStr = JSON.stringify(data.field);              //主表数据
                //项目阶段表、项目成员表数据序列化
                var sSubStr = JSON.stringify(num);
                var sSubStr1 = JSON.stringify(num1);
                //拼接序列化的数据
                var sMainSub = sMainStr + ';' + sSubStr + ';' + sSubStr1 + ';' + OperationType + ";" + sessionStorage["HUserName"];
                var index = layer.load();
                $.ajax({
                    type: "POST",
                    url: GetWEBURL() + "/PM_ProjectBill/AddBill",
                    async: true,
                    data: { "sMainSub": sMainSub },
                    dataType: "json",
                    success: function (data) {
                        if (data.count == 1) {
                            $('#btnSave').addClass("layui-btn-disabled").attr("disabled", true);
                            layer.close(index);
                            layer.msg("提交成功");
                        }
                        else {
                            layer.close(index);
                            layer.msg(data.Message, { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                        }
                    },
                    error: function (err) {
                        layer.close(index);
                        layer.msg("错误:" + err, { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    }
                });
            }
            //#endregion
            //#region ç¼–辑 é¡µé¢èµ‹å€¼
            function RoadBillMain(linterid)//加载表头
            {
                $.ajax({
                    url: GetWEBURL() + "/PM_ProjectBill/editInit",
                    type: "GET",
                    async: false,
                    data: { "HInterID": linterid, "user": sessionStorage["HUserName"] },
                    success: function (result) {
                        var tableMain = result.data[0];
                        var tableSub = result.data[1];
                        var tableSub_Emp = result.data[2];
                        tableMain[0].HBeginDate
                        //主表 èµ‹å€¼
                        form.val("formData", { //formTest å³ class="layui-form" æ‰€åœ¨å…ƒç´ å±žæ€§ lay-filter="" å¯¹åº”的值
                            "HInterID": tableMain[0]["HInterID"]
                            , "HBillNo": tableMain[0]["HBillNo"]
                            , "HProNumber": tableMain[0]["HProNumber"]
                            , "HProName": tableMain[0]["HProName"]
                            , "HCusID": tableMain[0]["HCusID"]
                            , "HCusName": tableMain[0]["HCusName"]
                            , "HBeginDate": Format(new Date(tableMain[0]["HBeginDate"]), "yyyy-MM-dd")
                            , "HEndDate": Format(new Date(tableMain[0]["HEndDate"]), "yyyy-MM-dd")
                            , "HDate": Format(new Date(tableMain[0]["HDate"]), "yyyy-MM-dd")
                            , "HPMEmpID": tableMain[0]["HPMEmpID"]
                            , "HPMEmpName": tableMain[0]["HPMEmpName"]
                            , "HWorkEmpID": tableMain[0]["HWorkEmpID"]
                            , "HWorkEmpName": tableMain[0]["HWorkEmpName"]
                            , "HDepEmpID": tableMain[0]["HDepEmpID"]
                            , "HDepEmpName": tableMain[0]["HDepEmpName"]
                            , "HMaterID": tableMain[0]["HMaterID"]
                            , "HMaterNumber": tableMain[0]["HMaterNumber"]
                            , "HMaterName": tableMain[0]["HMaterName"]
                            , "HPayCusID": tableMain[0]["HPayCusID"]
                            , "HPayCusName": tableMain[0]["HPayCusName"]
                            , "HProType": tableMain[0]["HProType"]
                            , "HRemark": tableMain[0]["HRemark"]
                            , "HOrgID": tableMain[0]["HOrgID"]
                            , "HMaker": tableMain[0]["HMaker"]
                            , "HUpdater": tableMain[0]["HUpdater"]
                            , "HChecker": tableMain[0]["HChecker"]
                            , "HMakerDate": tableMain[0]["HMakerDate"] == null ? "" : Format(new Date(tableMain[0]["HMakerDate"]), "yy-MM-dd")
                            , "HUpdaterDate": tableMain[0]["HUpdaterDate"] == null ? "" : Format(new Date(tableMain[0]["HUpdaterDate"]), "yy-MM-dd")
                            , "HCheckerDate": tableMain[0]["HCheckerDate"] == null ? "" : Format(new Date(tableMain[0]["HCheckerDate"]), "yy-MM-dd")
                            , "HCloseMan": tableMain[0]["HCloseMan"]
                            , "HDeleteMan": tableMain[0]["HDeleteMan"]
                            , "HBacker": tableMain[0]["HBacker"]
                            , "HCloseManDate": tableMain[0]["HCloseManDate"] == null ? "" : Format(new Date(tableMain[0]["HCloseManDate"]), "yyyy-MM-dd")
                            , "HDeleteManDate": tableMain[0]["HDeleteManDate"] == null ? "" : tFormat(new Date(tableMain[0]["HDeleteManDate"]), "yyyy-MM-dd")
                            , "HBackerDate": tableMain[0]["HBackerDate"] == null ? "" : Format(new Date(tableMain[0]["HBackerDate"]), "yyyy-MM-dd")
                            , "HBackRemark": tableMain[0]["HBackRemark"]
                            , "HSumMoney": tableMain[0]["HSumMoney"]
                            , "HProMoney": tableMain[0]["HProMoney"]
                            , "HWorkMoney": tableMain[0]["HWorkMoney"]
                            , "HOtherMoney": tableMain[0]["HOtherMoney"]
                            , "HConWorkDays": tableMain[0]["HConWorkDays"]
                            , "HDepDays": tableMain[0]["HDepDays"]
                            , "HLastMoney": tableMain[0]["HLastMoney"]
                        });
                        //子表  èµ‹å€¼
                        option.data = tableSub;
                        table.render(option);
                        option1.data = tableSub_Emp;
                        table.render(option1);
                    }
                })
            }
            //#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 è¡¨å¤´æ•°æ®æ£€éªŒ
                if ($("#HBillNo").val() == "") {
                    layer.msg("单据号不能为空!");
                    return false;
                }
                if ($("#HProNumber").val() == "") {
                    layer.msg("项目代码不能为空!");
                    return false;
                }
                if ($("#HProName").val() == "") {
                    layer.msg("项目名称不能为空!");
                    return false;
                }
                if ($("#HCusName").val() == "") {
                    layer.msg("客户没有选择!");
                    return false;
                }
                if ($("#HPMEmpName").val() == "") {
                    layer.msg("项目经理没有选择!");
                    return false;
                }
                if ($("#HWorkEmpName").val() == "") {
                    layer.msg("实施担当没有选择");
                    return false;
                }
                if ($("#HDepEmpName").val() == "") {
                    layer.msg("开发担当没有选择");
                    return false;
                }
                if ($("#HMaterName").val() == "") {
                    layer.msg("对应产品没有选择");
                    return false;
                }
                if ($("#HPayCusName").val() == "") {
                    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"] == "") {
                            layer.msg("第" + (i + 1) + "行:项目阶段不能为空!");
                            return false;
                        }
                        //业绩占比格式检验
                        var HRate = option.data[i]["HRate"];
                        if (HRate.substring(HRate.length - 1, HRate.length) == ".") {
                            layer.msg("业绩占比末尾不能为.!");
                            return;
                        } else {
                            var ref = /^[0-9]+\.?[0-9]*$/;
                            if (!ref.test(HRate)) {
                                layer.msg("业绩占比请输正确入数字!");
                                return;
                            }
                        }
                        //里程碑内容检验
                        if (option.data[i]["HIsKey"] != "1" && option.data[i]["HIsKey"] != "0") {
                            layer.msg("里程碑请输入0或1!");
                        }
                        //预计人天格式检验
                        var HWorkDays = option.data[i]["HWorkDays"];
                        if (HWorkDays.substring(HWorkDays.length - 1, HWorkDays.length) == ".") {
                            layer.msg("预计人天末尾不能为.!");
                            return;
                        } else {
                            var ref = /^[0-9]+\.?[0-9]*$/;
                            if (!ref.test(HWorkDays)) {
                                layer.msg("预计人天请输正确入数字!");
                                return;
                            }
                        }
                        //阶段负责人非空检验
                        if (option.data[i]["HEmpName"] == "") {
                            layer.msg("第" + (i + 1) + "行:阶段负责人不能为空!");
                            return false;
                        }
                        //阶段审核人非空检验
                        if (option.data[i]["HCheckEmpName"] == "") {
                            layer.msg("第" + (i + 1) + "行:阶段审核人不能为空!");
                            return false;
                        }
                    }
                }
                //#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"] == "") {
                            layer.msg("第" + (i + 1) + "行:项目成员不能为空!");
                            return false;
                        }
                        //项目占比格式检验
                        var HRate = option1.data[i]["HRate"];
                        if (HRate.substring(HRate.length - 1, HRate.length) == ".") {
                            layer.msg("第" + (i + 1) + "行:项目占比末尾不能为.!");
                            return;
                        } else {
                            var ref = /^[0-9]+\.?[0-9]*$/;
                            if (!ref.test(HRate)) {
                                layer.msg("第" + (i + 1) + "行:项目占比请输正确入数字!");
                                return;
                            }
                        }
                        //是否项目经理检验
                        if (option1.data[i]["HIsPM"] != "1" && option1.data[i]["HIsPM"] != "0") {
                            layer.msg("第" + (i + 1) + "行:是否项目经理请输入0或1!");
                        }
                        //预计分配业绩格式检验
                        var HPlanAvgMoney = option1.data[i]["HPlanAvgMoney"];
                        if (HPlanAvgMoney.substring(HPlanAvgMoney.length - 1, HPlanAvgMoney.length) == ".") {
                            layer.msg("第" + (i + 1) + "行:预计分配业绩末尾不能为.!");
                            return;
                        } else {
                            var ref = /^[0-9]+\.?[0-9]*$/;
                            if (!ref.test(HPlanAvgMoney)) {
                                layer.msg("第" + (i + 1) + "行:预计分配业绩请输正确入数字!");
                                return;
                            }
                        }
                        //预计提成格式检验
                        var HPlanCountMoney = option1.data[i]["HPlanCountMoney"];
                        if (HPlanCountMoney.substring(HPlanCountMoney.length - 1, HPlanCountMoney.length) == ".") {
                            layer.msg("第" + (i + 1) + "行:预计提成末尾不能为.!");
                            return;
                        } else {
                            var ref = /^[0-9]+\.?[0-9]*$/;
                            if (!ref.test(HPlanCountMoney)) {
                                layer.msg("第" + (i + 1) + "行:预计提成请输正确入数字!");
                                return;
                            }
                        }
                    }
                }
                //#endregion
                return true;
            }
            //#endregion
            //#region é¡¹ç›®é˜¶æ®µè¡¨å¤´å·¥å…·æ äº‹ä»¶ï¼šä¸Šä¸€è¡Œ
            function btn_up(data) {
                if (data.length != 1) {
                    layer.msg("请选择一行数据!");
                } else if (option.data[0]["RowID"] == data[0]["RowID"]) {
                    layer.msg("首行数据无法移动!");
                } else {
                    var tables = [];
                    for (var i = 0; i < option.data.length; i++) {
                        if (option.data[i]["RowID"] == data[0]["RowID"]) {
                            tables.push(option.data[i - 1]);
                            data[0].LAY_CHECKED = true;
                            option.data[i - 1] = data[0];
                            option.data[i] = tables[0];
                            table.render(option);
                            break;
                        }
                    }
                }
            }
            //#endregion
            //#region é¡¹ç›®æˆå‘˜è¡¨å¤´å·¥å…·æ äº‹ä»¶ï¼šä¸Šä¸€è¡Œ
            function btn_up1(data) {
                if (data.length != 1) {
                    layer.msg("请选择一行数据!");
                } else if (option1.data[0]["RowID"] == data[0]["RowID"]) {
                    layer.msg("首行数据无法移动!");
                } else {
                    var tables = [];
                    for (var i = 0; i < option1.data.length; i++) {
                        if (option1.data[i]["RowID"] == data[0]["RowID"]) {
                            tables.push(option1.data[i - 1]);
                            data[0].LAY_CHECKED = true;
                            option1.data[i - 1] = data[0];
                            option1.data[i] = tables[0];
                            table.render(option1);
                            break;
                        }
                    }
                }
            }
            //#endregion
            //#region é¡¹ç›®é˜¶æ®µè¡¨å¤´å·¥å…·æ ï¼šä¸‹ä¸€è¡Œ
            function btn_under(data) {
                if (data.length != 1) {
                    layer.msg("请选择一行数据!");
                } else if (option.data[option.data.length - 1]["RowID"] == data[0]["RowID"]) {
                    layer.msg("末行数据无法移动!");
                } else {
                    var tables = [];
                    for (var i = 0; i < option.data.length; i++) {
                        if (option.data[i]["RowID"] == data[0]["RowID"]) {
                            tables.push(option.data[i + 1]);
                            data[0].LAY_CHECKED = true;
                            option.data[i + 1] = data[0];
                            option.data[i] = tables[0];
                            table.render(option);
                            break;
                        }
                    }
                }
            }
            //#endregion
            //#region é¡¹ç›®æˆå‘˜è¡¨å¤´å·¥å…·æ ï¼šä¸‹ä¸€è¡Œ
            function btn_under1(data) {
                if (data.length != 1) {
                    layer.msg("请选择一行数据!");
                } else if (option1.data[option1.data.length - 1]["RowID"] == data[0]["RowID"]) {
                    layer.msg("末行数据无法移动!");
                } else {
                    var tables = [];
                    for (var i = 0; i < option1.data.length; i++) {
                        if (option1.data[i]["RowID"] == data[0]["RowID"]) {
                            tables.push(option1.data[i + 1]);
                            data[0].LAY_CHECKED = true;
                            option1.data[i + 1] = data[0];
                            option1.data[i] = tables[0];
                            table.render(option1);
                            break;
                        }
                    }
                }
            }
            //#endregion
            //#region é¡¹ç›®é˜¶æ®µè¡¨ï¼šåˆ é™¤æŒ‡å®šè¡Œ
            function set_GridDelete(obj) {
                var data = obj.data;
                var rowIndex = $(obj.tr).attr("data-index");
                if (obj.event === 'del') {
                    layer.confirm('真的删除行吗?', function (index) {
                        console.log("索引为:" + rowIndex);
                        if (rowIndex === '0') {
                            layer.msg('首行无法删除!!!');
                        } else {
                            var oldData = table.cache["mainTable"];
                            oldData.splice(obj.tr.data('index'), 1)
                            option.data = oldData;//将数据绑定到data上
                            table.render(option);
                            layer.close(index);
                        }
                    });
                }
            }
            //#endregion
            //#region é¡¹ç›®æˆå‘˜è¡¨ï¼šåˆ é™¤æŒ‡å®šè¡Œ
            function set_GridDelete1(obj) {
                var data = obj.data;
                var rowIndex = $(obj.tr).attr("data-index");
                if (obj.event === 'del1') {
                    layer.confirm('真的删除行吗?', function (index) {
                        console.log("索引为:" + rowIndex);
                        if (rowIndex === '0') {
                            layer.msg('首行无法删除!!!');
                        } else {
                            var oldData = table.cache["mainTable1"];
                            oldData.splice(obj.tr.data('index'), 1)
                            option1.data = oldData;//将数据绑定到data上
                            table.render(option1);
                            layer.close(index);
                        }
                    });
                }
            }
            //#endregion
            //#region é¡¹ç›®é˜¶æ®µè¡¨ï¼šå¿«æ·é”®(F7)打开弹窗
            function set_GridCellCheck(obj) {
                $(document).off('keydown', ".layui-table-edit").on('keydown', '.layui-table-edit', function (e) {
                    if (event.key == "F7") {
                        //项目阶段
                        if (obj.event == "HProjectStageName") {
                            //打开项目阶段小窗体
                            layer.open({
                                type: 2
                                , skin: "layui-layer-rim"                           //加上边框
                                , title: "项目阶段列表"                             //标题
                                , closeBtn: 1                                       //窗体右上角关闭 çš„ æ ·å¼
                                , shift: 2                                          //弹出动画
                                , area: ["90%", "90%"]                              //窗体大小
                                , maxmin: true                                      //设置最大最小按钮是否显示
                                , content: ["../../项目管理/项目阶段/Gy_ProjectStage.html", "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("请选择一条数据");
                                    }
                                    //更新表格缓存的数据
                                    obj.update({
                                        "HProjectStageID": checkStatus.data[0].HItemID
                                        , "HProjectStageName": checkStatus.data[0].HName
                                    })
                                    layer.close(index);//关闭弹窗
                                }
                            })
                        }
                        //阶段负责人
                        if (obj.event == "HEmpName") {
                            //打开员工列表小窗体
                            layer.open({
                                type: 2
                                , skin: "layui-layer-rim"                           //加上边框
                                , title: "员工列表"                                 //标题
                                , closeBtn: 1                                       //窗体右上角关闭 çš„ æ ·å¼
                                , shift: 2                                          //弹出动画
                                , area: ["90%", "90%"]                              //窗体大小
                                , maxmin: true                                      //设置最大最小按钮是否显示
                                , content: ["../../Baseset/基础资料/Gy_EmployeeList.html", "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("请选择一条数据");
                                    }
                                    //更新表格缓存的数据
                                    obj.update({
                                        "HEmpID": checkStatus.data[0].HItemID
                                        , "HEmpName": checkStatus.data[0].HName
                                    })
                                    layer.close(index);//关闭弹窗
                                }
                            })
                        }
                        //阶段审核人
                        if (obj.event == "HCheckEmpName") {
                            //打开员工列表小窗体
                            layer.open({
                                type: 2
                                , skin: "layui-layer-rim"                           //加上边框
                                , title: "员工列表"                                 //标题
                                , closeBtn: 1                                       //窗体右上角关闭 çš„ æ ·å¼
                                , shift: 2                                          //弹出动画
                                , area: ["90%", "90%"]                              //窗体大小
                                , maxmin: true                                      //设置最大最小按钮是否显示
                                , content: ["../../Baseset/基础资料/Gy_EmployeeList.html", "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("请选择一条数据");
                                    }
                                    //更新表格缓存的数据
                                    obj.update({
                                        "HCheckEmpID": checkStatus.data[0].HItemID
                                        , "HCheckEmpName": checkStatus.data[0].HName
                                    })
                                    layer.close(index);//关闭弹窗
                                }
                            })
                        }
                        //对应交付物
                        if (obj.event == "HPMGoodsName") {
                        }
                        obj.event = "";
                        return false;
                    }
                })
            }
            //#endregion
            //#region é¡¹ç›®æˆå‘˜è¡¨ï¼šå¿«æ·é”®(F7)打开弹窗
            function set_GridCellCheck1(obj) {
                $(document).off('keydown', ".layui-table-edit").on('keydown', '.layui-table-edit', function (e) {
                    if (event.key == "F7") {
                        //项目成员
                        if (obj.event == "HEmployeeName") {
                            //打开员工列表小窗体
                            layer.open({
                                type: 2
                                , skin: "layui-layer-rim"                           //加上边框
                                , title: "员工列表"                                 //标题
                                , closeBtn: 1                                       //窗体右上角关闭 çš„ æ ·å¼
                                , shift: 2                                          //弹出动画
                                , area: ["90%", "90%"]                              //窗体大小
                                , maxmin: true                                      //设置最大最小按钮是否显示
                                , content: ["../../Baseset/基础资料/Gy_EmployeeList.html", "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("请选择一条数据");
                                    }
                                    //更新表格缓存的数据
                                    obj.update({
                                        "HEmployeeID": checkStatus.data[0].HItemID
                                        , "HEmployeeName": checkStatus.data[0].HName
                                    })
                                    layer.close(index);//关闭弹窗
                                }
                            })
                        }
                        obj.event = "";
                        return false;
                    }
                })
            }
            //#endregion
            //#region éšè—åˆ—设置
            function get_HideColumn() {
                var colName = "";
                var contentUrl = "";
                for (var i = 1; i < option.cols[0].length - 1; i++) {
                    colName += option.cols[0][i]["title"] + ",";
                }
                var urlStr = window.document.location.pathname;//获取文件路径
                var urlLen = urlStr.split('/');
                for (var i = 0; i < urlLen.length - 4; i++) {
                    contentUrl += "../";
                }
                colName = encodeURI(colName.substring(0, colName.length - 1));//对 URI è¿›è¡Œç¼–码
                contentUrl += '基础资料/隐藏列设置/Gy_GridView_Hide.html?HModName=' + HModName + '&colName=' + colName;
                layer.open({
                    type: 2
                    , skin: "layui-layer-rim" //加上边框
                    , title: "隐藏列设置"  //标题
                    , closeBtn: 1  //窗体右上角关闭 çš„ æ ·å¼
                    , shift: 2 //弹出动画
                    , area: ["50%", "90%"] //窗体大小
                    , maxmin: true //设置最大最小按钮是否显示
                    , content: [contentUrl, "yes"]
                    , btn: ["确定", "取消"]
                    , btn1: function (index, laero) {
                        //刷新表格数据
                        DisPlay_HideColumn();
                        //更新表格缓存的数据
                        layer.close(index);//关闭弹窗
                    }
                })
            }
            //#endregion
            //#region æ˜¾ç¤ºåˆ—数据
            function DisPlay_HideColumn() {
                $.ajax({
                    url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
                    type: "GET",
                    data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
                    async: false,
                    success: function (data1) {
                        if (data1.data.length != 0) {
                            var dataCol = [];//数据库查询出的列数据
                            var titleData = ["程序号", "本工序确认记录", "自动移转", "换单准备时间", "本道准备时间", "上道循环周期", "上道固定天数", "开工余量(固数)", "开工余量(天数)", "标准定额", "报废单价", "不合格单价", "工序工价", "班产定额", "可操作设备数", "标准人数", "流转工序", "下道流转工序", "固定生产天数", "生产周期", "暂放区", "周转箱", "周转箱标准", "换模时间", "转移时间", "排队时间", "准备时间", "产线人数", "产线产能", "产线中心", "良率", "加工数量", "运行时间", "时间单位", "图纸编号", "模具编号", "良品仓", "报废品仓", "不良品仓", "工序类型"];//不需要显示的字段 å¯æ‰©å±•
                            dataCol = data1.data[0].HGridString.split(',');
                            for (var i = 0; i < option.cols[0].length - 2; i++) {
                                var dataCols = dataCol[i].split('|');
                                //隐藏列
                                if (dataCols[1] == 1) {
                                    option.cols[0][i + 1]["hide"] = true;
                                }
                                //设置列宽
                                if (dataCols[3] > 0) {
                                    option.cols[0][i + 1]["width"] = dataCols[3];
                                }
                                //设置内容字体大小
                                if (data1.data[0].HFontSize != 0) {
                                    option.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
                                } else {
                                    option.cols[0][i + 1]["style"] = "font-size:100%";
                                }
                                //设置列宽
                                //if (data1.data[0].HColumnWidth != 0) {
                                //    option.cols[0][i + 1]["width"] = data1.data[0].HColumnWidth + "px;";
                                //} else {
                                //    option.cols[0][i + 1]["width"] = "";
                                //}
                                //显示列
                                if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
                                    option.cols[0][i + 1]["hide"] = false;
                                }
                                //字体所在位置(å·¦ å±…中 å³)
                                switch (dataCols[2]) {
                                    case "L":
                                        option.cols[0][i + 1]["align"] = "left";
                                        break;
                                    case "M":
                                        option.cols[0][i + 1]["align"] = "center";
                                        break;
                                    case "R":
                                        option.cols[0][i + 1]["align"] = "right";
                                        break;
                                }
                            }
                            //取消冻结列
                            for (var i = 1; i < option.cols[0].length - 1; i++) {
                                if (option.cols[0][i]["fixed"] != null) {
                                    option.cols[0][i]["fixed"] = null;
                                }
                                else {
                                    break;
                                }
                            }
                            //冻结列
                            if (data1.data[0].HFixCols != 0) {
                                for (var i = 0; i < data1.data[0].HFixCols; i++) {
                                    if ($.inArray(option.cols[0][i + 1]["title"], titleData) != -1) {
                                        data1.data[0].HFixCols += 1;
                                    }
                                    option.cols[0][i + 1]["fixed"] = "left";
                                }
                            }
                            table.render(option);
                        } else {
                            table.render(option);
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                })
            }
            //#endregion
            //#region é¡¹ç›®éš¾æ˜“类型下拉框
            function ColFilter() {
                var Organization = "";
                var HProTypeList = ["小型", "标准", "综合"];
                for (var i = 0; i < HProTypeList.length; i++) {
                    if (i == 0) {
                        Organization += '<option  style="color:blue;" selected="selected" value="' + HProTypeList[i] + '">' + HProTypeList[i] + '</option>';
                    } else {
                        Organization += '<option  style="color:blue;" value="' + HProTypeList[i] + '">' + HProTypeList[i] + '</option>';
                    }
                }
                $("#HProType").empty();
                $("#HProType").append(Organization);
                form.render('select');
            }
            //#endregion
            //#endregion
        });
    </script>
</body>
</html>
WebTM/views/ÏîÄ¿¹ÜÀí/¹¤³ÌÏîÄ¿/PM_ProjectReportBillList.html
New file
@@ -0,0 +1,743 @@
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>工程项目</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
    <!--<script src="../../../layuiadmin/layui/layui.js"></script>
    <script src="../../../layuiadmin/layui/layui.js"></script>
    <script src="../../../layuiadmin/Scripts/json2.js"></script>
    <script src="../../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
    <script src="../../../layuiadmin/Scripts/webConfig.js"></script>-->
    <script src="../../../layuiadmin/layui/layui.js"></script>
    <script src="../../../layuiadmin/Scripts/json2.js"></script>
    <script src="../../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
    <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
    <script src="../../../layuiadmin/PubCustom.js"></script>
</head>
<body>
    <div class="layui-fluid">
        <div class="layui-col-md12">
            <div class="layui-card" style="padding: 1px">
                <div class="layui-card-body" style="padding: 1px;">
                    <form class="layui-form" action="" lay-filter="component-form-group">
                        <div class="layui-collapse">
                            <div class="layui-colla-item">
                                <div class="layui-colla-title layui-inline">
                                    <div class="layui-inline">
                                        <span>更多</span>
                                    </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" name="HBillNo" id="HBillNo">
                                    </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" name="HProNumber" id="HProNumber">
                                    </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" name="HProName" id="HProName">
                                    </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: 185px;">
                                        <select name="HOrgID" id="HOrgID" lay-verify="HOrgID">
                                            <!--动态渲染组织-->
                                        </select>
                                    </div>
                                </div>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearch" id="btnSearch">
                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
                                </button>
                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnReSearch" id="btnReSearch" style="padding:0 5px">重置</button>
                                <div class="layui-colla-content" style="padding: 0px; margin-left: 6%;">
                                    <div class="layui-row" style="margin-top:5px">
                                        <div class="layui-inline">
                                            <label class="layui-form-label">过滤</label>
                                            <div class="layui-input-block">
                                                <select name="ColName" id="ColName" lay-filter="ColName" style="width:190px;">
                                                </select>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <select name="Comparator" id="Comparator" lay-filter="Comparator" style="width:190px;">
                                                <option value="0" selected="selected"></option>
                                                <option value="=">=</option>
                                                <option value=">=">>=</option>
                                                <option value=">">></option>
                                                <option value="<="><=</option>
                                                <option value="<"><</option>
                                                <option value="<>"><></option>
                                                <option value="7">包含</option>
                                                <option value="8">左包含</option>
                                                <option value="9">右包含</option>
                                                <option value="10">不包含</option>
                                            </select>
                                        </div>
                                        <div class="layui-inline">
                                            <input type="text" class="layui-input" value="" name="ColContent" id="ColContent">
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <table class="" 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="set_AddNew"><i class="layui-icon layui-icon-file-b"></i>新增</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_ShowBill"><i class="layui-icon layui-icon-form"></i>编辑</button>
                                <!--<button type="button" class="layui-btn layui-btn-sm" lay-event="get_view"><i class="layui-icon layui-icon-form"></i>浏览</button>-->
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_DeleteBill"><i class="layui-icon layui-icon-delete"></i>删除</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_Refresh"><i class="layui-icon layui-icon-refresh-3"></i>刷新</button>
                                <!--<button type="button" class="layui-btn layui-btn-sm" lay-event="btn-Audit"><i class="layui-icon layui-icon-radio"></i>审核</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-DeAudit"><i class="layui-icon layui-icon-circle"></i>反审核</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-Stop"><i class="layui-icon layui-icon-radio"></i>禁用</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-DeStop"><i class="layui-icon layui-icon-radio"></i>反禁用</button>-->
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="get_Exit"><i class="layui-icon layui-icon-logout"></i>退出</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn"><i class="layui-icon layui-icon-form"></i>列设置</button>
                            </div>
                        </script>
                    </form>
                </div>
            </div>
        </div>
    </div>
    <script>
        layui.config({
            base: '../../../layuiadmin/' //静态资源所在路径
        }).extend({
            index: 'lib/index', //主入口模块
        }).use(['index', 'form', 'table', 'element', 'laypage', 'laydate'], function () {
            //#region å…¬ç”¨å˜é‡
            var $ = layui.$
                , admin = layui.admin
                , layer = layui.layer
                , table = layui.table
                , form = layui.form
                , element = layui.element
                , laypage = layui.laypage
                , laydate = layui.laydate
            var option = [];
            var sWhere = "";
            var HModName = "PM_ProjectReportBillList";
            //不需要显示的字段 å¯æ‰©å±•
            var titleData = ["HItemID","HProcessID_K3","HUSEORGID"];
            //#endregion
            //#region è¿›å…¥é¡µé¢å³åŠ è½½
            //初始化界面
            set_ClearBill();
            //#endregion
            //#region è§¦å‘事件:包括form.on(){}格式的所有点击事件、选择事件等
            //#region å¤´å·¥å…·æ äº‹ä»¶
            table.on('toolbar(mainTable)', function (obj) {
                switch (obj.event) {
                    //新增
                    case 'set_AddNew': set_AddNew();
                        break;
                    //编辑
                    case 'set_ShowBill': set_ShowBill();
                        break;
                    //删除
                    case 'set_DeleteBill': set_DeleteBill();
                        break;
                    //刷新
                    case 'get_Refresh': get_Refresh();
                        break;
                    ////浏览
                    //case 'get_view': get_view();
                    //    break;
                    ////审核按钮
                    //case 'btn-Audit':
                    //    set_CheckBill(0);
                    //    break;
                    ////反审核按钮
                    //case 'btn-DeAudit':
                    //    set_CheckBill(1);
                    //    break;
                    ////禁用按钮
                    //case 'btn-Stop':
                    //    set_De_Stop(0);
                    //    break;
                    ////反禁用按钮
                    //case 'btn-DeStop':
                    //    set_De_Stop(1);
                    //    break;
                    //退出按钮
                    case 'get_Exit': Pub_Close(2);
                        break;
                    //列设置
                    case 'set_HideColumn': get_HideColumn();
                        break;
                };
            });
            //#endregion
            //#region ç‚¹å‡»è¡Œé€‰ä¸­é«˜äº®
            table.on('row(mainTable)', function (obj) {
                //选中行改变颜色
                var flag = !obj.tr.find(':checkbox:first').prop('checked');
                obj.tr.find(':checkbox').prop('checked', flag);
                if (flag) {
                    obj.tr.find('.layui-form-checkbox').addClass('layui-form-checked');  //设置复选框选中样式
                    $(obj.tr.selector).attr({ "style": "background:#ceedfa;color:black" });//改变当前tr背景颜色和字体颜色
                } else {
                    obj.tr.find('.layui-form-checkbox').removeClass('layui-form-checked');//取消复选框选中样式
                    $(obj.tr.selector).attr({ "style": "background:" });//取消当前tr颜色
                }
                //mainTable ä¸ºè¡¨æ ¼ID   æ³¨æ„æ­¤å¤„如果ID不正确将导致你在监听复选框时获取不到你选择的数据,前面的只是添加或删除选中未选中样式以及设置背景色,字体颜色
                layui.each(table.cache.mainTable, function (i, l) {
                    if (obj.tr.index() == l.LAY_TABLE_INDEX) {
                        l.LAY_CHECKED = flag;
                    }
                });
            })
            //#endregion
            //#region é‡ç½®æŒ‰é’®
            form.on('submit(btnReSearch)', function (data) {
                set_ClearQuery();
            });
            //#endregion
            //#region æŸ¥è¯¢æŒ‰é’®
            form.on('submit(btnSearch)', function (data) {
                get_FastQuery(2);
            });
            //#endregion
            //#endregion
            //#region æœ¬é¡µé¢æ‰€æœ‰è¢«è°ƒç”¨çš„æ–¹æ³•
            //#region åˆå§‹åŒ–界面
            function set_ClearBill() {
                //初始化表格
                set_InitGrid();
                //查询
                get_FastQuery(1);
                Organ();
            }
            //#endregion
            //#region åˆå§‹åŒ–表格方法
            function set_InitGrid() {
                option = {
                    elem: '#mainTable'
                    , toolbar: '#toolbarDemo'
                    , height: 'full-50'
                    , page: true
                    //, cellMinWidth: 90
                    , limit: 50
                    , limits: [50, 500, 5000, 50000]
                };
            }
            //#endregion
            //#region èŽ·å–ç»„ç»‡
            function Organ() {
                //获取登录页组织列
                $.ajax({
                    type: "get",
                    url: GetWEBURL() + "/Web/GetOrganizations",
                    success: function (result) {
                        var Organization = "";
                        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>';
                            }
                            $("#HOrgID").append(Organization);
                            $("#HOrgID").val(sessionStorage["OrganizationID"])
                            form.render('select');
                        }
                        layer.closeAll("loading");
                    }
                })
            }
            //#endregion
            //#region æŸ¥è¯¢
            function get_Display(sWhere) {
                var ajaxLoad = layer.load();
                $.ajax({
                    url: GetWEBURL() + '/PM_ProjectBill/list',
                    type: "GET",
                    data: { "sWhere": sWhere, "user": sessionStorage["HUserName"]},
                    success: function (data1) {
                        if (data1.count == 1) {
                            var data = [];
                            var col = [];
                            //给空的数组赋值
                            for (var key in data1.list) {
                                data.push({ "id": data1.list[key].ColmCols, "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });
                            }
                            //在列表左边添加勾选框
                            col.push({ type: 'checkbox', fixed: 'left' });
                            for (var i = 0; i < data.length; i++) {
                                // if (data[i].name == 'HInterID' || data[i].name == 'HBillType' || data[i].name == 'hmainid') {
                                if ($.inArray(data[i].name, titleData) > -1) {
                                    col.push({ field: data[i].id, title: data[i].name, align: 'center', hide: true }); //隐藏id列
                                }
                                else {
                                    switch (data[i].Type) {
                                        //int
                                        case 'DateTime':
                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, templet: "<div>{{d." + data[i].name + " ==null ?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd')}}</div>", width:120 });
                                            break;
                                        default:
                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 120 });
                                    }
                                }
                            }
                            option.cols = [col];
                            option.data = data1.data;
                            table.render(option);
                            //刷新表格数据
                            DisPlay_HideColumn();
                            layer.close(ajaxLoad);
                            if ($("#Comparator").val() == 0 && $("#ColContent").val() == "") {
                                ColFilter();
                            }
                            //layer.alert("查询成功", { icon: 1 });
                        } else {
                            layer.close(ajaxLoad);
                            layer.alert(data1.code + data1.Message, { icon: 5 });
                        }
                    }, error: function () {
                        layer.close(ajaxLoad);
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            }
            //#endregion
            //#region å¿«é€Ÿè¿‡æ»¤
            function get_FastQuery(number) {
                var HOrgID = "";
                var HBillNo = $("#HBillNo").val();  //单据号
                var HProNumber = $("#HProNumber").val();//项目代码
                var HProName = $("#HProName").val();//项目名称
                //任意字段过滤
                var ColName = $("#ColName").val();//复选框
                var Comparator = $("#Comparator").val()
                var ColContent = $("#ColContent").val();
                if (ColName != 0 && Comparator != 0) {
                    var com = "";
                    switch (Comparator) {
                        case "7":
                            com = "like'%" + ColContent + "%'";
                            break;
                        case "8":
                            com = "like'%" + ColContent + "'";
                            break;
                        case "9":
                            com = "like'" + ColContent + "%'";
                            break;
                        case "10":
                            com = "not like'%" + ColContent + "%'";
                            break;
                        default:
                            com = "" + Comparator + "'" + ColContent + "'";
                            break;
                    }
                    sWhere += " and " + ColName + " " + com;
                }
                if (number == 1) {
                    HOrgID = sessionStorage["OrganizationID"];
                }
                else {
                    HOrgID = $("#HOrgID").val();//组织
                }
                if (HBillNo) {
                    sWhere += " and HBillNo like '%" + HBillNo + "%'";
                }
                if (HProNumber) {
                    sWhere += " and HProNumber like '%" + HProNumber + "%'";
                }
                if (HProName) {
                    sWhere += " and HProName like '%" + HProName + "%'";
                }
                if (HOrgID) {
                    sWhere += " and HOrgID = '" + HOrgID + "'";
                }
                get_Display(sWhere);
                sWhere = "";//调用接口后清空sWhere缓存
            }
            //#endregion
            //#region é‡ç½®è¿‡æ»¤æ¡ä»¶æ–¹æ³•
            function set_ClearQuery() {
                $("#HBillNo").val("");
                $("#HProNumber").val("");
                $("#HProName").val("");
                $("#HOrgID").val(sessionStorage["OrganizationID"]);
                $("#ColContent").val("");
                $("#ColName").val("0");
                $("#Comparator").val("0");
                form.render('select');
                sWhere = "";
            }
            //#endregion
            //#region æ–°å¢ž
            function set_AddNew() {
                layer.open({
                    type: 2
                    , skin: 'layui-layer-rim' //加上边框
                    , area: ['100%', '100%']
                    , title: '项目阶段列表-新增'
                    , shift: 0//弹出动画
                    , content: '../../项目管理/工程项目/PM_ProjectReportBill.html?OperationType=1&linterid=0&HSouceBillType='
                    ,btn: ['确定'],
                    // æŒ‰é’®1 çš„回调
                    btn1: function (index, layero, that) {
                        //刷新页面
                        window.location.reload();
                    }
                })
            }
            //#endregion
            //#region ç¼–辑
            function set_ShowBill() {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (checkStatus.data.length === 1) {
                    var linterid = data[0].HInterID.toString();
                    //if (AllowLoadData(sSubStr) != false) {//非空验证
                    layer.open({
                        type: 2
                        , area: ['100%', '100%']
                        , title: '项目阶段列表-编辑'
                        , shift: 0//弹出动画
                        , content: '../../项目管理/工程项目/PM_ProjectReportBill.html?OperationType=3&linterid=' + linterid + '&HSouceBillType='
                        , btn: ['确定'],
                        // æŒ‰é’®1 çš„回调
                        btn1: function (index, layero, that) {
                            //刷新页面
                            window.location.reload();
                        }
                    })
                } else {
                    layer.msg('请选择一行数据编辑!');
                }
            }
            //#endregion
            //#region æµè§ˆ
            function get_view() {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (checkStatus.data.length === 1) {
                    var linterid = data[0].HItemID.toString();
                    //if (AllowLoadData(sSubStr) != false) {//非空验证
                    layer.open({
                        type: 2
                        , area: ['100%', '100%']
                        , title: '项目阶段列表-浏览'
                        , shift: 0//弹出动画
                        , content: '../../项目管理/项目阶段/Add_Edit_Gy_ProjectStage.html?OperationType=4&linterid=' + linterid + '&HSouceBillType='
                        , btn: ['确定'],
                        // æŒ‰é’®1 çš„回调
                        btn1: function (index, layero, that) {
                            //刷新页面
                            //window.location.reload();
                        }
                    })
                } else {
                    layer.msg('请选择一行数据编辑!');
                }
            }
            //#endregion
            //#region åˆ é™¤
            function set_DeleteBill() {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (checkStatus.data.length === 1) {
                    var HInterID = data[0].HInterID.toString();
                    layer.confirm("确认要删除吗,删除后不能恢复", { title: "删除确认" }, function (index) {
                        var wait = layer.load();
                        //逻辑删除方法
                        $.ajax({
                            url: GetWEBURL() + 'PM_ProjectBill/delete',
                            type: "GET",
                            data: { "HInterID": HInterID, "user": sessionStorage["HUserName"] },
                            success: function (result) {
                                console.log('gouba' + result);
                                if (result.count == 1) {
                                    layer.msg(result.Message, { icon: 1 }, function () {
                                        // å¾—到frame索引
                                        var index = layer.getFrameIndex(window.name);
                                        //关闭当前frame
                                        layer.close(wait);
                                        //修改为功后刷新界面
                                        window.location.reload();
                                    });
                                } else {
                                    layer.alert(result.code + result.Message, { icon: 5 });
                                    layer.close(wait);
                                }
                            }, error: function () {
                                layer.alert("接口请求失败!", { icon: 5 });
                                layer.close(wait);
                            }
                        });
                    })
                }
                else {
                    layer.msg('请选择一行数据删除!');
                }
            }
            //#endregion
            //#region åˆ·æ–°
            function get_Refresh() {
                set_ClearQuery();
                get_FastQuery(1);
            }
            //#endregion
            //#region åå®¡æ ¸/审核数据
            function set_CheckBill(num) {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (checkStatus.data.length === 1) {
                    var InterID = data[0].HItemID.toString();
                    //逻辑审核方法
                    $.ajax({
                        type: "GET",
                        url: GetWEBURL() + "/Gy_Process/AuditGy_Process", //方法所在页面和方法名
                        data: { "HInterID": InterID, "IsAudit": num, "CurUserName": sessionStorage["HUserName"] },
                        success: function (result) {
                            if (result.count == 1) {
                                layer.msg(result.Message, { time: 1 * 1000, icon: 1 }, function () {
                                    // å¾—到frame索引
                                    var index = layer.getFrameIndex(window.name);
                                    //关闭当前frame
                                    layer.close(index);
                                    //修改为功后刷新界面
                                    $("#btnSearch").trigger('click');
                                });
                            } else {
                                layer.alert(result.code + result.Message, { icon: 5 });
                            }
                        }, error: function () {
                            layer.alert("接口请求失败!", { icon: 5 });
                        }
                    });
                }
                else {
                    layer.msg('请选择一行数据审核!');
                }
            }
            //#endregion
            //#region åç¦ç”¨/禁用数据
            function set_De_Stop(num) {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (checkStatus.data.length === 1) {
                    var InterID = data[0].HItemID.toString();
                    //逻辑审核方法
                    $.ajax({
                        type: "GET",
                        url: GetWEBURL() + "/Gy_Process/StopGy_Process", //方法所在页面和方法名
                        data: { "HInterID": InterID, "IsStop": num, "CurUserName": sessionStorage["HUserName"] },
                        success: function (result) {
                            if (result.count == 1) {
                                layer.msg(result.Message, { time: 1 * 1000, icon: 1 }, function () {
                                    // å¾—到frame索引
                                    var index = layer.getFrameIndex(window.name);
                                    //关闭当前frame
                                    layer.close(index);
                                    //修改为功后刷新界面
                                    $("#btnSearch").trigger('click');
                                });
                            } else {
                                layer.alert(result.code + result.Message, { icon: 5 });
                            }
                        }, error: function () {
                            layer.alert("接口请求失败!", { icon: 5 });
                        }
                    });
                }
                else {
                    layer.msg('请选择一行数据审核!');
                }
            }
            //#endregion
            //#region éšè—åˆ—设置
            function get_HideColumn() {
                var colName = "";
                var contentUrl = "";
                for (var i = 1; i < option.cols[0].length; i++) {
                    colName += option.cols[0][i]["title"] + ",";
                }
                var urlStr = window.document.location.pathname;//获取文件路径
                var urlLen = urlStr.split('/');
                for (var i = 0; i < urlLen.length - 4; i++) {
                    contentUrl += "../";
                }
                colName = encodeURI(colName.substring(0, colName.length - 1));//对 URI è¿›è¡Œç¼–码
                contentUrl += '基础资料/隐藏列设置/Gy_GridView_Hide.html?HModName=' + HModName + '&colName=' + colName;
                layer.open({
                    type: 2
                    , skin: "layui-layer-rim" //加上边框
                    , title: "隐藏列设置"  //标题
                    , closeBtn: 1  //窗体右上角关闭 çš„ æ ·å¼
                    , shift: 2 //弹出动画
                    , area: ["50%", "90%"] //窗体大小
                    , maxmin: true //设置最大最小按钮是否显示
                    , content: [contentUrl, "yes"]
                    , btn: ["确定", "取消"]
                    , btn1: function (index, laero) {
                        //刷新表格数据
                        DisPlay_HideColumn();
                        //更新表格缓存的数据
                        layer.close(index);//关闭弹窗
                    }
                })
            }
            //#endregion
            //#region æ˜¾ç¤ºåˆ—数据
            function DisPlay_HideColumn() {
                $.ajax({
                    url: GetWEBURL() + '/Xt_grdAlignment_WMES/grdAlignmentWMESList',
                    type: "GET",
                    data: { "HModName": HModName, "user": sessionStorage["HUserName"] },
                    success: function (data1) {
                        if (data1.data.length != 0) {
                            var dataCol = [];//数据库查询出的列数据
                            //var titleData = ["单据ID", "HMouldID", "hsubid", "HManagerID", "源单主内码", "源单子内码"];//不需要显示的字段 å¯æ‰©å±•
                            dataCol = data1.data[0].HGridString.split(',');
                            for (var i = 0; i < option.cols[0].length - 1; i++) {
                                var dataCols = dataCol[i].split('|');
                                //隐藏列
                                if (dataCols[1] == 1) {
                                    option.cols[0][i + 1]["hide"] = true;
                                }
                                //设置列宽
                                if (dataCols[3] > 0) {
                                    option.cols[0][i + 1]["width"] = dataCols[3];
                                }
                                //设置内容字体大小
                                if (data1.data[0].HFontSize != 0) {
                                    option.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
                                } else {
                                    option.cols[0][i + 1]["style"] = "font-size:100%";
                                }
                                //设置列宽
                                //if (data1.data[0].HColumnWidth != 0) {
                                //    option.cols[0][i + 1]["width"] = data1.data[0].HColumnWidth + "px;";
                                //} else {
                                //    option.cols[0][i + 1]["width"] = "";
                                //}
                                //显示列
                                if (dataCols[1] == 0 && $.inArray(option.cols[0][i + 1]["title"], titleData) == -1) {
                                    option.cols[0][i + 1]["hide"] = false;
                                }
                                //字体所在位置(å·¦ å±…中 å³)
                                switch (dataCols[2]) {
                                    case "L":
                                        option.cols[0][i + 1]["align"] = "left";
                                        break;
                                    case "M":
                                        option.cols[0][i + 1]["align"] = "center";
                                        break;
                                    case "R":
                                        option.cols[0][i + 1]["align"] = "right";
                                        break;
                                }
                            }
                            //取消冻结列
                            for (var i = 1; i < option.cols[0].length - 1; i++) {
                                if (option.cols[0][i]["fixed"] != null) {
                                    option.cols[0][i]["fixed"] = null;
                                }
                                else {
                                    break;
                                }
                            }
                            //冻结列
                            if (data1.data[0].HFixCols != 0) {
                                for (var i = 0; i < data1.data[0].HFixCols; i++) {
                                    if ($.inArray(option.cols[0][i + 1]["title"], titleData) != -1) {
                                        data1.data[0].HFixCols += 1;
                                    }
                                    option.cols[0][i + 1]["fixed"] = "left";
                                }
                            }
                            table.render(option);
                        } else {
                            table.render(option);
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                })
            }
            //#endregion
            //#region ä»»æ„å­—段过滤:列名显示下拉框
            function ColFilter() {
                var Organization = '<option  value="0" selected="selected" ></option>';
                for (var i = 1; i < option.cols[0].length; i++) {
                    if (option.cols[0][i].hide != true) {
                        Organization += '<option  style="color:blue;" value="' + option.cols[0][i].field + '">' + option.cols[0][i].field + '</option>';
                    }
                }
                $("#ColName").empty();
                $("#ColName").append(Organization);
                form.render('select');
            }
            //#endregion
        });
            //#endregion
            //以上是layui模块
    </script>
</body>
</html>
WebTM/views/ÏîÄ¿¹ÜÀí/ÏîÄ¿½×¶Î/Gy_ProjectStage.html
@@ -2,7 +2,7 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>工序设置</title>
    <title>项目阶段</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">