WebTM/views/¹¤×ʹÜÀí/¹¤×ʽáËãµ¥(¸öÈË)/Pay_SingleBalBillEdit.html
@@ -8,243 +8,288 @@
    <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/layui/layui.js"></script>
    <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>
    <script src="../../../layuiadmin/zgqCustom/zgqCustom.js"></script>
    <style type="text/css">
        .layui-form-item .layui-inline {
            margin-right: 0;
    <!--<style>
        .main-btn { /*头部主按钮*/
            padding: 0 2px; /*调整按钮左右空隙大小*/
            height: 30px;
            line-height: 30px;
        }
        html {
            background-color: white;
            color: white;
        .btn-title {
            font-size: 16px;
        }
        /* é˜²æ­¢ä¸‹æ‹‰æ¡†çš„下拉列表被隐藏---必须设置--- */
        .layui-table-cell {
            overflow: visible !important;
        }
        /* ä½¿å¾—下拉框与单元格刚好合适 */
        td .layui-form-select {
            margin-top: -10px;
            margin-left: -15px;
            margin-right: -15px;
        }
    </style>
        .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: 15px;">
        <div class="layui-card" style="padding: 2px;background-color: #efefef;">
            <div class="layui-card-body" style="padding: 1px;">
                <form class="layui-form" lay-filter="component-form-group" action="">
                    <div class="layui-card-header">
                        <div class="layui-btn-group">
                            <button type="button" id="add-btn" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="Saver">保存</button>
                            <button type="button" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="Exit">退出</button>
                        </div>
                <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">
                        <h1 style="text-align: center; padding: 10px 0;"><b>工资结算单(个人)</b></h1>
                        <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>
                            <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-col-xs4 layui-inline">
                                            <label class="layui-form-label">单据号</label>
                                            <div class="layui-input-inline">
                                                <input type="text" class="layui-input" name="HBillNo" id="HBillNo" style="background-color:#efefef4d;" readonly>
                                                <input type="hidden" name="HInterID" id="HInterID" value="0">
                                                <input type="hidden" name="HSTOCKORGID" id="HSTOCKORGID" lay-verify="HSTOCKORGID">
                                        <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" 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-col-xs4 layui-inline">
                                            <label class="layui-form-label">日期</label>
                                            <div class="layui-input-inline">
                                                <input class="layui-input" name="HDate" id="HDate" autocomplete="off" model="datetime" dateFormat="yyyy-MM-dd" placeholder="yyyy-MM-dd">
                                        <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:180px;">
                                                <input type="date" class="layui-input" lay-verify="HDate" name="HDate" id="HDate" style="padding-left: 80px;">
                                            </div>
                                        </div>
                                        <div class="layui-col-xs4 layui-inline">
                                            <label class="layui-form-label">内部单据号</label>
                                            <div class="layui-input-inline">
                                                <input type="text" class="layui-input" name="HInnerBillNo" id="HInnerBillNo" style="background-color:#efefef4d;" readonly>
                                        <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="HInnerBillNo" name="HInnerBillNo" id="HInnerBillNo">
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-col-xs4 layui-inline">
                                            <label class="layui-form-label">班组</label>
                                            <div class="layui-input-inline">
                                                <input type="text" name="HGroupName" id="HGroupName" readonly class="layui-input" value="" style="float:left;width:150px;">
                                                <input type="hidden" name="HGroupID" id="HGroupID" class="layui-input" value="" style="float:left;width:150px;">
                                                <button type="button" lay-submit="" class="layui-btn" lay-filter="HGroupList" style="width:40px;">
                                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;padding: 9px 18px;">班组<label style="color:red"> * </label></label>
                                            <div class="layui-input-block" style="margin-left: 77px;">
                                                <input type="text" class="layui-input" lay-verify="HGroupName" name="HGroupName" id="HGroupName" style="background-color:#efefef4d;width: 60%;display: inline-block;" readonly>
                                                <input type="hidden" name="HGroupID" id="HGroupID" lay-verify="HGroupID" value="0">
                                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearchHGroup" id="btnSearchHGroup" 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-col-xs4 layui-inline">
                                            <label class="layui-form-label">部门</label>
                                            <div class="layui-input-inline">
                                                <input type="text" name="HDeptName" id="HDeptName" readonly class="layui-input" value="" style="float:left;width:150px;">
                                                <input type="hidden" name="HDeptID" id="HDeptID" class="layui-input" value="" style="float:left;width:150px;">
                                                <button type="button" lay-submit="" class="layui-btn" lay-filter="Department" style="width:40px;">
                                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;padding: 9px 18px;">部门<label style="color:red"> * </label></label>
                                            <div class="layui-input-block" style="margin-left: 77px;">
                                                <input type="text" class="layui-input" lay-verify="HDeptName" name="HDeptName" id="HDeptName" style="background-color:#efefef4d;width: 60%;display: inline-block;" readonly>
                                                <input type="hidden" name="HDeptID" id="HDeptID" lay-verify="HDeptID" value="0">
                                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearchHDept" id="btnSearchHDept" 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-col-xs4 layui-inline">
                                            <label class="layui-form-label">职员</label>
                                            <div class="layui-input-inline">
                                                <input type="text" name="HEmpName" id="HEmpName" readonly class="layui-input" value="" style="float:left;width:150px;">
                                                <input type="hidden" name="HEmpID" id="HEmpID" class="layui-input" value="" style="float:left;width:150px;">
                                                <button type="button" lay-submit="" class="layui-btn" lay-filter="Employee" style="width:40px;">
                                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i>
                                        <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="HEmpName" name="HEmpName" id="HEmpName" style="background-color:#efefef4d;width: 60%;display: inline-block;" readonly>
                                                <input type="hidden" name="HEmpID" id="HEmpID" lay-verify="HEmpID" value="0">
                                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearchHEmp" id="btnSearchHEmp" 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-col-xs4 layui-inline">
                                            <label class="layui-form-label">源单类型</label>
                                            <div class="layui-input-inline">
                                                <select name="HSourceBillType" lay-filter="aihao" id="HSourceBillType">
                                                    <option value="产品入库单">产品入库单</option>
                                                    <option value="产品入库单(红单)">产品入库单(红单)</option>
                                                    <option value="调拨单">调拨单</option>
                                                    <option value="生产任务单">生产任务单</option>
                                    <div class="layui-row">
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;padding: 9px 18px;">工资类型<label style="color:red"> * </label></label>
                                            <div class="layui-input-block" style="margin-left: 77px;">
                                                <input type="text" class="layui-input" lay-verify="HPayTypeName" name="HPayTypeName" id="HPayTypeName" style="background-color:#efefef4d;width: 60%;display: inline-block;" readonly>
                                                <input type="hidden" name="HPayTypeID" id="HPayTypeID" lay-verify="HPayTypeID" value="0">
                                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearchHPayType" id="btnSearchHPayType" 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;width:180px;">
                                                <select name="HSourceBillType" id="HSourceBillType" lay-verify="HSourceBillType">
                                                    <option value="0"></option>
                                                    <option value="工序汇报单">工序汇报单</option>
                                                    <option value="生产汇报单">生产汇报单</option>
                                                    <option value="手工录入">手工录入</option>
                                                </select>
                                            </div>
                                        </div>
                                        <div class="layui-col-xs4 layui-inline">
                                            <label class="layui-form-label">选单号</label>
                                            <div class="layui-input-inline">
                                                <input class="layui-input" name="Box2" id="Box2" autocomplete="off">
                                            </div>
                                        </div>
                                    </div>-->
                                    <div class="layui-row">
                                        <div class="layui-col-xs4 layui-inline">
                                            <label class="layui-form-label">工资类型</label>
                                            <div class="layui-input-inline">
                                                <input type="text" name="HPayTypeName" id="HPayTypeName" readonly class="layui-input" value="" style="float:left;width:150px;">
                                                <input type="hidden" name="HPayType" id="HPayType" class="layui-input" value="" style="float:left;width:150px;">
                                                <button type="button" lay-submit="" class="layui-btn" lay-filter="PayType" style="width:40px;">
                                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i>
                                        <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="HSoruceBillNo" name="HSoruceBillNo" id="HSoruceBillNo" style="background-color:#efefef4d;width: 60%;display: inline-block;" readonly>
                                                <input type="hidden" name="HSoruceBillID" id="HSoruceBillID" lay-verify="HSoruceBillID" value="0">
                                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearchHSoruceBill" id="btnSearchHSoruceBill" 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-col-xs4 layui-inline ">
                                            <label class="layui-form-label">摘要</label>
                                            <div class="layui-input-inline">
                                                <textarea placeholder="请输入摘要" class="layui-textarea" name="HExplanation" id="HExplanation"></textarea>
                                    </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;">
                                                <input type="text" class="layui-input" lay-verify="HExplanation" name="HExplanation" id="HExplanation">
                                            </div>
                                        </div>
                                        <div class=" layui-col-xs4  layui-inline">
                                            <label class="layui-form-label">备注</label>
                                            <div class="layui-input-inline">
                                                <textarea placeholder="请输入维备注" class="layui-textarea" name="HRemark" id="HRemark"></textarea>
                                    </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;">
                                                <input type="text" class="layui-input" lay-verify="HRemark" name="HRemark" id="HRemark">
                                            </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="HChecker" id="HChecker" 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="HCloseMan" id="HCloseMan" style="background-color:#efefef4d;" readonly>
                                                </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-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="HMakeDate" id="HMakeDate" 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="HCheckDate" id="HCheckDate" 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="HCloseDate" id="HCloseDate" style="background-color:#efefef4d;" readonly>
                                                </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-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="HUpDateDate" id="HUpDateDate" style="background-color:#efefef4d;" readonly>
                                                </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 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="HDeleteDate" id="HDeleteDate" 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="HUpdaterDate" 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>
                                </div>
                            </div>
                        </div>
                        <table class="layui-hide" id="mainTable" lay-filter="mainTable"></table>
                        <script type="text/html" id="toolbarDemo">
                            <div class="layui-btn-container">
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-AddLine"><i class="layui-icon layui-icon-form"></i>增加一行</button>
                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-CopyLine"><i class="layui-icon layui-icon-form"></i>复制一行</button>
                            </div>
                        </script>
                        <script type="text/html" id="xuhao">
                            {{d.LAY_TABLE_INDEX+1}}
                        </script>
                    </div>
                    <table class="layui-hide" id="mainTable" lay-filter="mainTable"></table>
                    <script type="text/html" id="toolbarDemo">
                        <div class="layui-btn-container">
                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-AddLine"><i class="layui-icon layui-icon-form"></i>增加一行</button>
                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-CopyLine"><i class="layui-icon layui-icon-form"></i>复制一行</button>
                            <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn"><i class="layui-icon layui-icon-form"></i>列设置</button>
                            <!--<button type="button" class="layui-btn layui-btn-sm" lay-event="btn_up"><i class="layui-icon layui-icon-form"></i>上一行</button>
                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn_under"><i class="layui-icon layui-icon-form"></i>下一行</button>-->
                        </div>
                    </script>
                </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 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>
        layui.config({
@@ -252,131 +297,230 @@
        }).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
                , laydate = layui.laydate
                , element = layui.element;
            var params = get_UrlVars();
            if (typeof (params[params[0]]) == "undefined") {
                var OperationType = 1;//操作类型
                var closeType = 2;  //关闭类型
            } else {
                var OperationType = params[params[0]];//操作类型
                var linterid = params[params[1]];//源单id
                var HSouceBillType = params[params[2]];//源单类型
                var closeType = params[params[3]];  //关闭类型
            }
            var hID = params[params[1]];//编辑查看
            //常规用法
            laydate.render({
                elem: '#HDate'
            //模块名
            var HModName = "Pay_SingleBalBill";
            //表格渲染参数
            var option = {};            //项目阶段表渲染参数
            //获取参数
            var params = getUrlVars();
            var OperationType = params[params[0]]; //从参数中获取 æ•°æ®ç±»åž‹  1添加 ä¿å­˜  2复制  3 ç¼–辑
            var linterid = params[params[1]]; //从参数中获取 å•据内码
            });
            var tableReload = table.reload;
            var option = {
                elem: '#mainTable'
                , toolbar: '#toolbarDemo'
                , height: 500
                //,url: '/demo/table/user/' //数据接口
                , page: true //开启分页
                , cols: [[ //表头
                    { type: 'checkbox', fixed: 'left' }
                    , { templet: '#xuhao', title: '序号', sort: true, fixed: 'left', event: "qwe", width: 100 }
                    , { field: 'HMaterID', title: 'HMaterID', edit: 'text', width: 100, hide: true }
                    , { field: 'HMaterCode', title: '物料代码', edit: 'text', event: 'HMaterCheck', width: 100 }
                    , { field: 'HMaterName', title: '物料名称', edit: 'text', width: 150 }
                    , { field: 'HProcID', title: 'HProcID', edit: 'text', width: 100, hide: true }
                    , { field: 'HProcNumber', title: '工序代码', edit: 'text', event: "HProcCheck", width: 100 }
                    , { field: 'HProcName', title: '工序名称', edit: 'text', width: 100 }
                    , { field: 'HEmpID', title: 'HEmpID', edit: 'text', width: 100, hide: true }
                    , { field: 'HEmpNumber', title: '职员代码', edit: 'text', event: 'HEmpCheck', width: 100 }
                    , { field: 'HEmpName', title: '职员名称', edit: 'text', width: 100 }
                    , { field: 'HTimes', title: '工时', edit: 'text', width: 100 }
                    , { field: 'HQty', title: '数量', edit: 'text', width: 100 }
                    , { field: 'HPrice', title: '工价', edit: 'text', width: 100 }
                    , { field: 'HMoney', title: '金额', edit: 'text', width: 100 }
                    , { field: 'HRemark', title: '备注', edit: 'text', width: 100 }
                    , { field: 'HMainSourceInterID ', title: '源单主内码', edit: 'text', width: 100, hide: true }
                    , { field: 'HMainSourceEntryID', title: '源单子内码', edit: 'text', width: 100, hide: true }
                    , { field: 'HMainSourceBillNo', title: '源单单号', edit: 'text', width: 100, hide: true }
                    , { field: 'HSourceBillType', title: '源单类型', edit: 'text', width: 100, hide: true }
                    , { field: 'HCloseDate', title: '关闭时间', edit: 'text', width: 100 }
                    , { fixed: 'right', title: '操作', toolbar: '#barDemo' }
                ]]
                , limit: 500 //每页默认显示的数量
            };
            //判断是否新增
            if (OperationType == 1) {
                $("#HMakeDate").val(Format(new Date(), "yyyy-MM-dd"));
            //#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 åˆ¤æ–­å¹¶è®¾ç½®æ“ä½œç±»åž‹ã€é¡µé¢åˆå§‹åŒ–
            if (OperationType == null || OperationType == 1) {                            //新增
                OperationType = 1;
                //生成并设置主表的内码和单据号
                createBillNo();
                //初始化制单人和制单时间
                $("#HMaker").val(sessionStorage["HUserName"]);
                $("#HCheckDate").val(Format(new Date(), "yyyy-MM-dd"));
                $("#HChecker").val(sessionStorage["HUserName"]);
                $("#HUpDateDate").val(Format(new Date(), "yyyy-MM-dd"));
                $("#HUpDater").val(sessionStorage["HUserName"]);
                $("#HCloseDate").val(Format(new Date(), "yyyy-MM-dd"));
                $("#HDeleteDate").val(Format(new Date(), "yyyy-MM-dd"));
                //初始加载表格{ "ID": 0, "HWasterReasonName": " ","HBadReasonID":0,"HEmpName": "  ", "HSQProcName": "   ","HProcID":0, "HZRProcName": "  ", "HMRBChecker": "  ", "HRemark": "  ", "HPSProcName": "  ", "HCloseMan": "   " }
                option.data = [{
                    "HMaterID": 0, "HMaterCode": "", "HMaterName": "", "HMaterSpec": "", "HProcID": "", "HProcNumber": "", "HProcName": ""
                    , "HEmpID": "", "HEmpNumber": "", "HEmpName": "", "HTimes": 0, "HQty": 0, "HPrice": 0, "HMoney": 0
                    , "HMainSourceInterID": 0, "HMainSourceEntryID": 0, "HMainSourceBillNo": 0, "HSourceBillType": "", "HCloseDate": 0, "HRemark": ""
                }];
                table.render(option);
                $("#HMakerDate").val(Format(new Date(), "yyyy-MM-dd"));
                //初始化日期
                $("#HDate").val(Format(new Date(), "yyyy-MM-dd"));
                //初始化项目阶段表
                get_InitGrid();
            }
            else {
                $("#HInterID").val(hID);//修改时主表ID
                //编辑加载数据
                $.ajax({
                    url: GetWEBURL() + 'Pay_SingleBalBill/Pay_SingleBalBillListProjectDetai',
                    type: "GET",
                    data: { "sqlWhere": "and hmainid=" + hID },
                    success: function (result) {
                        //console.log(result);
                        //console.log('gouba' + result);
                        if (result.count == 1) {
                            option.data = result.data;
                            table.render(option);
                        } else {
                            layer.alert(result.code + result.Message, { icon: 5 });
                        }
                    }, error: function () {
                        layer.close(index0);
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            //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                                        //编辑
                //初始化项目阶段表
                get_InitGrid();
                RoadBillMain(linterid);
            }
            //#endregion
            //#region åˆå§‹åŒ–表格
            DisPlay_HideColumn();
            //#endregion
            //头工具栏事件
            var rowid = 0;
            var rows = 0;
            //#endregion
            //#region è§¦å‘事件:包括form.on(){}格式的所有点击事件、选择事件等
            //#region å¼¹çª—选择触发事件
            //#region é€‰æ‹©ç­ç»„按钮
            form.on('submit(btnSearchHGroup)', function () {
                get_checkSearchHGroup();
            });
            //#endregion
            //#region é€‰æ‹©éƒ¨é—¨æŒ‰é’®
            form.on('submit(btnSearchHDept)', function () {
                get_checkSearchHDept();
            });
            //#endregion
            //#region é€‰æ‹©ä¸»ç®¡æŒ‰é’®
            form.on('submit(btnSearchHEmp)', function () {
                get_checkSearchHEmp();
            });
            //#endregion
            //#region é€‰æ‹©å·¥èµ„类型按钮
            form.on('submit(btnSearchHPayType)', function () {
                get_checkSearchHPayType();
            });
            //#endregion
            //#region é€‰æ‹©é€‰å•号按钮
            form.on('submit(btnSearchHSourceBill)', function () {
                get_checkSearchHSourceBill();
            });
            //#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
            //#region å¤é€‰æ¡† é€‰ä¸­/取消 è§¦å‘事件
            //#endregion
            //#region å­è¡¨ï¼šå¤´å·¥å…·æ äº‹ä»¶
            table.on('toolbar(mainTable)', function (obj) {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;;
                var AddRow = table.cache['mainTable'];
                var NewRow = { "HMaterID": 0, "HMaterCode": "", "HMaterName": "", "HMaterSpec": "", "HProcNumber": "", "HProcName": "", "HSourceCode": "", "HSourceName": "", "HEmpCode": "", "HEmpName": "", "HTimes": 0, "HQty": 0, "HPrice": 0, "HPriceRate": 0, "HSubsidyQty": 0, "HSubsidyMoney": 0, "HSubsidyTotal": 0, "HDeuctTotal": 0, "HPackQty": 0, "HPackPrice": 0, "HPackMoney": 0, "HPackMaterID": 0, "HMoney": 0, "HICMOInterID": 0, "HICMOBillNo": 0, "HProcReportInterID": 0, "HProcReportEntryID": 0, "HProcReportBillNo": 0, "HProcPlanInterID": 0, "HProcPlanEntryID": 0, "HProcPlanBillNo": 0, "HMainSourceInterID": 0, "HMainSourceEntryID": 0, "HMainSourceBillNo": 0, "HSourceBillType": "", "HRelationQty": 0, "HRelationQty": 0, "HRelationMoney": 0, "HCloseMan": 0, "HCloseDate": 0, "HCloseType": 0, "HRemark": "" };
                    , data = checkStatus.data;
                //新增行表格数据
                var NewRow =
                {
                    "RowID": (table.cache["mainTable"].length + 1) * 10
                    , "HMaterID": "0"
                    , "HMaterNumber": ""
                    , "HMaterName": ""
                    , "HMaterModel": ""
                    , "HProcID": "0"
                    , "HProcNumber": ""
                    , "HProcName": ""
                    , "HEmpID": "0"
                    , "HEmpNumber": ""
                    , "HEmpName": ""
                    , "HTimes": "0"
                    , "HQty": "0"
                    , "HPrice": "0"
                    , "HPriceRate": "1"
                    , "HSubsidyQty": "0"
                    , "HSubsidyMoney": "0"
                    , "HSubsidyTotal": "0"
                    , "HDeuctTotal": "0"
                    , "HPackQty": "0"
                    , "HPackPrice": "0"
                    , "HPackMoney": "0"
                    , "HPackMaterID": "0"
                    , "HPackMaterName": ""
                    , "HMoney": "0"
                    , "HICMOInterID": "0"
                    , "HICMOBillNo": ""
                    , "HProcReportInterID": "0"
                    , "HProcReportEntryID": "0"
                    , "HProcReportBillNo": ""
                    , "HProcPlanInterID": "0"
                    , "HProcPlanEntryID": "0"
                    , "HProcPlanBillNo": ""
                    , "HRemark": ""
                    , "HSourceInterID": "0"
                    , "HSourceEntryID": "0"
                    , "HSourceBillNo": ""
                    , "HSourceBillType": ""
                    , "HRelationQty": "0"
                    , "HRelationMoney": "0"
                    , "HCloseMan": ""
                    , "HEntryCloseDate": ""
                };
                switch (obj.event) {
                    case 'btn-AddLine':
                        //table.cache["mainTable"].push(AddRow[rows]);
                        table.cache["mainTable"].push(NewRow);
                        option.data = table.cache["mainTable"];
                        table.render(option);
                        rows++;
                        //layer.msg('增加一行按钮!')
                        break;
                    case 'btn-CopyLine':
                        var copydata = JSON.stringify(data);
                        if (data.length <= 0) {
                            layer.alert("请选择需要复制的一行!");
                            layer.msg("请选择需要复制的一行!");
                        }
                        else if (data.length > 1) {
                            layer.alert("只能选择复制一行!");
                            layer.msg("只能选择复制一行!");
                        }
                        else {
                            var copydata2 = copydata.substring(1, copydata.length);//去除首行字符'['
@@ -384,605 +528,263 @@
                            table.cache["mainTable"].push(JSON.parse(copyrow));//将复制的行强转成json追加到表格上
                            option.data = table.cache["mainTable"];//将数据绑定到data上
                            table.render(option);//将数据渲染到表格上
                            //layer.alert(copyrow);
                        }
                        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('tool(mainTable)', function (obj) {
                var data = obj.data;
                var rowIndex = $(obj.tr).attr("data-index");
                if (obj.event === 'del') {
                    layer.confirm('真的删除行吗?', function (index) {
                        if (rowIndex === '0') {
                            layer.msg('首行无法删除!!!');
                        } else {
                            obj.del();
                            option.data = table.cache["mainTable"];//将数据绑定到data上
                            table.reload(option);
                            layer.close(index);
                        }
                    });
                }
                set_GridDelete(obj);   //行内删除
                set_GridCellCheck(obj); //行内快捷键筛选
                $(document).off('keydown', ".layui-table-edit").on('keydown', '.layui-table-edit', function (e) {
                    if (event.key == "F7") {
                        if (obj.event === 'HMaterCheck')  //模具信息
                        {
                            //页面层-自定义
                            layer.open({
                                type: 2,
                                skin: 'layui-layer-rim', //加上边框
                                title: '物料列表',
                                closeBtn: 1,
                                shift: 2,
                                area: ['80%', '80%'],
                                maxmin: true,
                                content: ['../../../views/Baseset/基础资料/Gy_MaterialList.html', 'yes'],
                                btn: ['确定', '取消']
                                , btn1: function (index, layero) {
                                    //按钮【按钮一】的回调
                                    var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
                                    var checkStatus = iframeWindow.layui.table.checkStatus('ck-table');//获取table的elem:"#test"
                                    if (checkStatus.data.length === 0) {
                                        return layer.msg('请选择数据');
                                    }
                                    //同步更新表格和缓存对应的值
                                    obj.update({
                                        HMaterID: checkStatus.data[0].HItemID,
                                        HMaterCode: checkStatus.data[0].HNumber,
                                        HMaterName: checkStatus.data[0].HName,
                                        HDesignLife: 0,  //设计寿命
                                        HLeaveLife: 0,   //剩余寿命
                                        HQty: 1,         //实收数量
                                        HMoney: 0,       //金额
                                    });
                                    $.ajax({
                                        url: GetWEBURL() + "Pay_SingleBalBill/getSingleBalBillPrice",
                                        type: "GET",
                                        data: {
                                            "HMaterID": table.cache["mainTable"][0].HMaterID,
                                            "HProcID": table.cache["mainTable"][0].HProcID
                                        },
                                        success: function (result) {
                                            if (result.code == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                                                if (result.data.length == 0) {
                                                } else {
                                                    obj.update({
                                                        HPrice: result.data[0].单价
                                                    });
                                                }
                                            }
                                        }, error: function () {
                                            layer.alert("发生错误!", { icon: 5 });
                                        }
                                    });
                                    layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                                }
                                , btn2: function (index, layero) {
                                    //按钮【按钮二】的回调
                                    //return false å¼€å¯è¯¥ä»£ç å¯ç¦æ­¢ç‚¹å‡»è¯¥æŒ‰é’®å…³é—­
                                },
                                end: function () {
                                }
                            });
                        }
                        if (obj.event == 'HProcCheck') {
                            layer.open({
                                type: 2,
                                skin: 'layui-layer-rim', //加上边框
                                title: '工序列表',
                                closeBtn: 1,
                                shift: 2,
                                area: ['90%', '90%'],
                                maxmin: true,
                                content: ['../../../views/Baseset/基础资料/Gy_ProcList.html', 'yes'],
                                btn: ['确定', '取消']
                                , btn1: function (index, layero) {
                                    //按钮【按钮一】的回调
                                    var iframeWindow = window['layui-layer-iframe' + index];
                                    var checkStatus = iframeWindow.layui.table.checkStatus('ck-table');
                                    if (checkStatus.data.length === 0) {
                                        return layer.msg('请选择数据');
                                    }
                                    obj.update({
                                        HProcName: checkStatus.data[0].工序
                                        , HProcID: checkStatus.data[0].HItemID
                                        , HProcNumber: checkStatus.data[0].工序代码
                                    });
                                    $.ajax({
                                        url: GetWEBURL() + "Pay_SingleBalBill/getSingleBalBillPrice",
                                        type: "GET",
                                        data: {
                                            "HMaterID": table.cache["mainTable"][0].HMaterID,
                                            "HProcID": table.cache["mainTable"][0].HProcID
                                        },
                                        success: function (result) {
                                            if (result.code == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                                                if (result.data.length == 0) {
                                                } else {
                                                    obj.update({
                                                        HPrice: result.data[0].单价
                                                    });
                                                }
                                            }
                                        }, error: function () {
                                            layer.alert("发生错误!", { icon: 5 });
                                        }
                                    });
                                    layer.close(layer.index);
                                }
                                , btn2: function (index, layero) {
                                },
                                end: function () {
                                }
                            });
                        }
                        if (obj.event === 'HSourceCheck')  //资源代码
                        {
                            //页面层-自定义
                            layer.open({
                                type: 2,
                                skin: 'layui-layer-rim', //加上边框
                                title: '资源列表',
                                closeBtn: 1,
                                shift: 2,
                                area: ['80%', '80%'],
                                maxmin: true,
                                content: ['../../PublicPage/SourceInformation.html', 'yes'],
                                btn: ['确定', '取消']
                                , btn1: function (index, layero) {
                                    //按钮【按钮一】的回调
                                    var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
                                    var checkStatus = iframeWindow.layui.table.checkStatus('ck-table');//获取table的elem:"#test"
                                    if (checkStatus.data.length === 0) {
                                        return layer.msg('请选择数据');
                                    }
                                    //同步更新表格和缓存对应的值
                                    obj.update({
                                        HSourceID: checkStatus.data[0].HItemID,
                                        HSourceName: checkStatus.data[0].HName,
                                    });
                                    layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                                }
                                , btn2: function (index, layero) {
                                    //按钮【按钮二】的回调
                                    //return false å¼€å¯è¯¥ä»£ç å¯ç¦æ­¢ç‚¹å‡»è¯¥æŒ‰é’®å…³é—­
                                },
                                end: function () {
                                }
                            });
                        }
                        if (obj.event === 'HEmpCheck') {//职员
                            layer.open({
                                type: 2,
                                skin: 'layui-layer-rim', //加上边框
                                title: '职员列表',
                                closeBtn: 1,
                                shift: 2,
                                area: ['90%', '90%'],
                                maxmin: true,
                                content: ['../../../views/Baseset/基础资料/Gy_EmployeeList.html', 'yes'],
                                btn: ['确定', '取消']
                                , btn1: function (index, layero) {
                                    //按钮【按钮一】的回调
                                    var iframeWindow = window['layui-layer-iframe' + index];
                                    var checkStatus = iframeWindow.layui.table.checkStatus('ck-table');
                                    if (checkStatus.data.length === 0) {
                                        return layer.msg('请选择数据');
                                    }
                                    obj.update({
                                        HEmpName: checkStatus.data[0].HName
                                        , HEmpID: checkStatus.data[0].HItemID
                                        , HEmpNumber: checkStatus.data[0].HNumber
                                    });
                                    layer.close(layer.index);
                                }
                                , btn2: function (index, layero) {
                                },
                                end: function () {
                                }
                            });
                        }
                        obj.event = "";
                        return false;
                    }
                })
            });
            //#endregion
            //监听单元格编辑
            //#region å­è¡¨ï¼šè¡Œå†…鼠标离开事件:检查项目阶段是否重复
            table.on('edit(mainTable)', function (obj) {
            })
            //#endregion
            //#region å­è¡¨ï¼šå•元格编辑监听
            table.on('edit(mainTable)', function (obj) {
                // å•元格编辑之前的值
                var oldText = $(this).prev().text();
                var value = obj.value //得到修改后的值
                    , data = obj.data //得到所在行所有键值
                    , field = obj.field; //得到字段
                //layer.msg('[ID: ' + data.id + '] ' + field + ' å­—段更改为:' + value);
                //正则表达式-校验非负浮点数
                var ref = /^\d+(\.\d+)?$/;
                switch (field) {
                    case "HDesignLife":  //设计寿命
                        value = isNaN(value) ? 0 : value;
                        var HUseLife = isNaN(data.HUseLife) ? 0 : data.HUseLife;
                        //同步更新表格和缓存对应的值
                        obj.update({
                            HDesignLife: value,                          //设计寿命
                            HLeaveLife: value - HUseLife,           //剩余寿命=设计寿命-使用寿命
                        });
                    case "HQty":                                            //数量
                        if (!ref.test(value)) {                             //若输入值格式不正确,则变回原来的值
                            obj.update({
                                HQty: oldText
                            });
                            layer.msg("数量:数据错误,请输入非负小数")
                        } else {
                            var HQty = value;                               //数量
                            var HPrice = data.HPrice;                       //工价
                            var HPriceRate = data.HPriceRate;               //定额浮动比率
                            var HSubsidyQty = data.HSubsidyQty;             //补贴数量
                            var HPackQty = data.HPackQty;                   //包装数量
                            var HPackPrice = data.HPackPrice;               //包装单价
                            var HDeuctTotal = data.HDeuctTotal * 1;               //扣款小计
                            var HSubsidyTotal = data.HSubsidyTotal * 1;           //补贴合计
                            obj.update({
                                HMoney: (HQty * HPrice * HPriceRate) + (HSubsidyQty * HPrice) + (HPackQty * HPackPrice) + HSubsidyTotal - HDeuctTotal       //金额= (数量*单价*定额浮动比率) + (补贴数量*工价) + (包装数量*包装单价) - è¡¥è´´åˆè®¡ - æ‰£æ¬¾å°è®¡
                            });
                        }
                        break;
                    case "HLeaveLife":  //剩余寿命
                        var HDesignLife = isNaN(data.HDesignLife) ? 0 : data.HDesignLife;
                        var HUseLife = isNaN(data.HUseLife) ? 0 : data.HUseLife;
                        //同步更新表格和缓存对应的值
                        obj.tr.find('td[data-field=HLeaveLife] input').val(HDesignLife - HUseLife);
                        obj.update({
                            HLeaveLife: HDesignLife - HUseLife,   //剩余寿命=设计寿命-使用寿命
                        });
                    case "HPrice":                                          //工价
                        if (!ref.test(value)) {                             //若输入值格式不正确,则变回原来的值
                            obj.update({
                                HPrice: oldText
                            });
                            layer.msg("工价:数据错误,请输入非负小数")
                        } else {
                            var HQty = data.HQty;                           //数量
                            var HPrice = value;                             //工价
                            var HPriceRate = data.HPriceRate;               //定额浮动比率
                            var HSubsidyQty = data.HSubsidyQty;             //补贴数量
                            var HPackQty = data.HPackQty;                   //包装数量
                            var HPackPrice = data.HPackPrice;               //包装单价
                            var HDeuctTotal = data.HDeuctTotal * 1;               //扣款小计
                            var HSubsidyTotal = data.HSubsidyTotal * 1;           //补贴合计
                            obj.update({
                                HMoney: (HQty * HPrice * HPriceRate) + (HSubsidyQty * HPrice) + (HPackQty * HPackPrice) + HSubsidyTotal - HDeuctTotal       //金额= (数量*单价*定额浮动比率) + (补贴数量*工价) + (包装数量*包装单价) - è¡¥è´´åˆè®¡ - æ‰£æ¬¾å°è®¡
                            });
                        }
                        break;
                    case "HUseLife":    //使用寿命
                        var HDesignLife = isNaN(data.HDesignLife) ? 0 : data.HDesignLife;
                        value = isNaN(value) ? 0 : value;
                        //同步更新表格和缓存对应的值
                        obj.update({
                            HLeaveLife: HDesignLife - value, //剩余寿命=设计寿命-使用寿命
                        });
                    case "HPriceRate":                                      //定额浮动比率
                        if (!ref.test(value)) {                             //若输入值格式不正确,则变回原来的值
                            obj.update({
                                HPriceRate: oldText
                            });
                            layer.msg("定额浮动比率:数据错误,请输入非负小数")
                        } else {
                            var HQty = data.HQty;                           //数量
                            var HPrice = data.HPrice;                       //工价
                            var HPriceRate = value;                         //定额浮动比率
                            var HSubsidyQty = data.HSubsidyQty;             //补贴数量
                            var HPackQty = data.HPackQty;                   //包装数量
                            var HPackPrice = data.HPackPrice;               //包装单价
                            var HDeuctTotal = data.HDeuctTotal * 1;               //扣款小计
                            var HSubsidyTotal = data.HSubsidyTotal * 1;           //补贴合计
                            obj.update({
                                HMoney: (HQty * HPrice * HPriceRate) + (HSubsidyQty * HPrice) + (HPackQty * HPackPrice) + HSubsidyTotal - HDeuctTotal       //金额= (数量*单价*定额浮动比率) + (补贴数量*工价) + (包装数量*包装单价) - è¡¥è´´åˆè®¡ - æ‰£æ¬¾å°è®¡
                            });
                        }
                        break;
                    case "HTimes":      //工时
                        var HPrice = isNaN(data.HPrice) ? 0 : data.HPrice;
                        var HQty = isNaN(data.HQty) ? 0 : data.HQty;
                        var HTimes = isNaN(data.HTimes) ? 0 : data.HTimes;
                        //同步更新表格和缓存对应的值
                        obj.update({
                            HMoney: HPrice * HQty * HTimes, //金额=实收数量*单价
                        });
                    case "HSubsidyQty":                                     //补贴数量
                        if (!ref.test(value)) {                             //若输入值格式不正确,则变回原来的值
                            obj.update({
                                HSubsidyQty: oldText
                            });
                            layer.msg("补贴数量:数据错误,请输入非负小数")
                        } else {
                            var HQty = data.HQty;                           //数量
                            var HPrice = data.HPrice;                       //工价
                            var HPriceRate = data.HPriceRate;               //定额浮动比率
                            var HSubsidyQty = value;                        //补贴数量
                            var HPackQty = data.HPackQty;                   //包装数量
                            var HPackPrice = data.HPackPrice;               //包装单价
                            var HDeuctTotal = data.HDeuctTotal * 1;               //扣款小计
                            var HSubsidyTotal = data.HSubsidyTotal * 1;           //补贴合计
                            obj.update({
                                HMoney: (HQty * HPrice * HPriceRate) + (HSubsidyQty * HPrice) + (HPackQty * HPackPrice) + HSubsidyTotal - HDeuctTotal       //金额= (数量*单价*定额浮动比率) + (补贴数量*工价) + (包装数量*包装单价) - è¡¥è´´åˆè®¡ - æ‰£æ¬¾å°è®¡
                                , HSubsidyMoney: HSubsidyQty * HPrice                                                                                       //补贴金额=补贴数量*工价
                            });
                        }
                        break;
                    case "HQty":        //实发数量
                        var HPrice = isNaN(data.HPrice) ? 0 : data.HPrice;
                        var HQty = isNaN(data.HQty) ? 0 : data.HQty;
                        var HTimes = isNaN(data.HTimes) ? 0 : data.HTimes;
                        //同步更新表格和缓存对应的值
                        obj.update({
                            HMoney: HPrice * HQty * HTimes, //金额=实收数量*单价
                        });
                    case "HSubsidyTotal":                                       //补贴合计
                        if (!ref.test(value)) {                                 //若输入值格式不正确,则变回原来的值
                            obj.update({
                                HSubsidyTotal: oldText
                            });
                            layer.msg("补贴合计:数据错误,请输入非负小数")
                        } else {
                            var HQty = data.HQty;                           //数量
                            var HPrice = data.HPrice;                       //工价
                            var HPriceRate = data.HPriceRate;               //定额浮动比率
                            var HSubsidyQty = data.HSubsidyQty;              //补贴数量
                            var HPackQty = data.HPackQty;                   //包装数量
                            var HPackPrice = data.HPackPrice;               //包装单价
                            var HDeuctTotal = data.HDeuctTotal * 1;         //扣款小计
                            var HSubsidyTotal = value * 1;                  //补贴合计
                            obj.update({
                                HMoney: (HQty * HPrice * HPriceRate) + (HSubsidyQty * HPrice) + (HPackQty * HPackPrice) + HSubsidyTotal - HDeuctTotal       //金额= (数量*单价*定额浮动比率) + (补贴数量*工价) + (包装数量*包装单价) - è¡¥è´´åˆè®¡ - æ‰£æ¬¾å°è®¡
                            });
                        }
                        break;
                    case "HPrice":      //单价
                        var HPrice = isNaN(data.HPrice) ? 0 : data.HPrice;
                        var HQty = isNaN(data.HQty) ? 0 : data.HQty;
                        var HTimes = isNaN(data.HTimes) ? 0 : data.HTimes;
                        //同步更新表格和缓存对应的值
                        obj.update({
                            HMoney: HPrice * HQty * HTimes, //金额=实收数量*单价
                        });
                    case "HDeuctTotal":                                         //扣款小计
                        if (!ref.test(value)) {                                 //若输入值格式不正确,则变回原来的值
                            obj.update({
                                HDeuctTotal: oldText
                            });
                            layer.msg("扣款小计:数据错误,请输入非负小数")
                        } else {
                            var HQty = data.HQty;                           //数量
                            var HPrice = data.HPrice;                       //工价
                            var HPriceRate = data.HPriceRate;               //定额浮动比率
                            var HSubsidyQty = data.HSubsidyQty;              //补贴数量
                            var HPackQty = data.HPackQty;                   //包装数量
                            var HPackPrice = data.HPackPrice;               //包装单价
                            var HDeuctTotal = value * 1;                    //扣款小计
                            var HSubsidyTotal = data.HSubsidyTotal * 1;      //补贴合计
                            obj.update({
                                HMoney: (HQty * HPrice * HPriceRate) + (HSubsidyQty * HPrice) + (HPackQty * HPackPrice) + HSubsidyTotal - HDeuctTotal       //金额= (数量*单价*定额浮动比率) + (补贴数量*工价) + (包装数量*包装单价) - è¡¥è´´åˆè®¡ - æ‰£æ¬¾å°è®¡
                            });
                        }
                        break;
                    case "HMoney":     //金额
                        var HPrice = isNaN(data.HPrice) ? 0 : data.HPrice;
                        var HQty = isNaN(data.HQty) ? 0 : data.HQty;
                        var HTimes = isNaN(data.HTimes) ? 0 : data.HTimes;
                        //同步更新表格和缓存对应的值
                        obj.update({
                            HMoney: HPrice * HQty * HTimes, //金额=实收数量*单价
                        });
                    case "HPackQty":                                        //包装数量
                        if (!ref.test(value)) {                             //若输入值格式不正确,则变回原来的值
                            obj.update({
                                HPackQty: oldText
                            });
                            layer.msg("包装数量:数据错误,请输入非负小数")
                        } else {
                            var HQty = data.HQty;                           //数量
                            var HPrice = data.HPrice;                       //工价
                            var HPriceRate = data.HPriceRate;               //定额浮动比率
                            var HSubsidyQty = data.HSubsidyQty;              //补贴数量
                            var HPackQty = value;                          //包装数量
                            var HPackPrice = data.HPackPrice;               //包装单价
                            var HDeuctTotal = data.HDeuctTotal * 1;               //扣款小计
                            var HSubsidyTotal = data.HSubsidyTotal * 1;           //补贴合计
                            obj.update({
                                HMoney: (HQty * HPrice * HPriceRate) + (HSubsidyQty * HPrice) + (HPackQty * HPackPrice) + HSubsidyTotal - HDeuctTotal       //金额= (数量*单价*定额浮动比率) + (补贴数量*工价) + (包装数量*包装单价) - è¡¥è´´åˆè®¡ - æ‰£æ¬¾å°è®¡
                                , HPackMoney: HPackQty * HPackPrice                                                                                         //包装金额= åŒ…装数量*包装单价
                            });
                        }
                        break;
                    case "HPackPrice":                                          //包装单价
                        if (!ref.test(value)) {                                 //若输入值格式不正确,则变回原来的值
                            obj.update({
                                HPackPrice: oldText
                            });
                            layer.msg("包装单价:数据错误,请输入非负小数")
                        } else {
                            var HQty = data.HQty;                               //数量
                            var HPrice = data.HPrice;                           //工价
                            var HPriceRate = data.HPriceRate;                   //定额浮动比率
                            var HSubsidyQty = data.HSubsidyQty;                 //补贴数量
                            var HPackQty = data.HPackQty;                       //包装数量
                            var HPackPrice = value;                             //包装单价
                            var HDeuctTotal = data.HDeuctTotal*1;               //扣款小计
                            var HSubsidyTotal = data.HSubsidyTotal*1;           //补贴合计
                            obj.update({
                                HMoney: (HQty * HPrice * HPriceRate) + (HSubsidyQty * HPrice) + (HPackQty * HPackPrice) + HSubsidyTotal - HDeuctTotal       //金额= (数量*单价*定额浮动比率) + (补贴数量*工价) + (包装数量*包装单价) - è¡¥è´´åˆè®¡ - æ‰£æ¬¾å°è®¡
                                , HPackMoney: HPackQty * HPackPrice                                                                                         //包装金额= åŒ…装数量*包装单价
                            });
                        }
                        break;
                    default:
                }
            });
            //#endregion
            //
            form.on('submit(Cancel)', function () {
                //sessionStorage["SourceFlag"] = false;
                parent.location.href = "../../../views/index.html"
                //window.close();//关闭当前页
            })
            function RoadBillMain(hID)//加载表头
            {
                //alert(hID);
                //查询检验方案单是否存在
                $.ajax({
                    url: GetWEBURL() + "Pay_SingleBalBill/Pay_SingleBalBillListCheckDetail",
                    type: "GET",
                    data: {
                        "HID": hID
                    },
                    success: function (result) {
                        if (result.code == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                            var data = result.data.h_v_Pay_SingleBalBillList[0];
                            form.val("component-form-group", { //formTest å³ class="layui-form" æ‰€åœ¨å…ƒç´ å±žæ€§ lay-filter="" å¯¹åº”的值
                                "HBillNo": data.单据号
                                , "HDate": formatDate(data.日期)
                                , "HInnerBillNo": data.内部单据号
                                , "HGroupID": data.HGroupID                    //班组ID
                                , "HGroupName": data.班组                 //班组名称
                                , "HEmpID": data.HEmpID    //主管ID
                                , "HEmpName": data.HEmpName         //主管名称
                                , "HDeptID": data.HDeptID                 //部门ID
                                , "HDeptName": data.部门                //部门名称
                                , "HPayType": data.HPayType
                                , "HPayTypeName": data.工资类型
                                , "HSourceBillType": ""                   //源单类型
                                , "Box2": ""                               //选单号
                                , "HExplanation": data.摘要              //摘要
                                , "HRemark": data.表头备注                    //备注
                                , "HMaker": data.制单人
                                , "HChecker": data.审核人
                                , "HCloseMan": data.关闭人
                                , "HMakeDate": data.制单日期
                                , "HCheckDate": data.审核日期
                                , "HCloseDate": data.关闭日期
                                , "HUpDateDate": data.修改日期
                                , "HDeleteDate": data.作废日期
                            });
                        } else {
                            layer.alert(result.msg, { icon: 5, btn: ['退出'], time: 100000, offset: 't' });
                        }
                    }, error: function () {
                        layer.alert("发生错误!", { icon: 5 });
                    }
                });
            }
            var date = new Date();
            var day = date.getDate();
            var month = date.getMonth() + 1;
            var year = date.getFullYear();
            var shijian = year + "-" + month + "-" + day;
            //判断是否新增
            if (hID == null || hID == 0) {
                //获取最大单据号 new
                $("#HInterID").val("0");
                $("#HBillNo").val("");
                $.ajax({
                    url: GetWEBURL() + "/Web/GetMAXNum",
                    type: "GET",
                    data: { "HBillType": '2205' },
                    success: function (d) {
                        //console.log(d.data);
                        $("#HBillNo").val(d.data[0].HBillNo);
                        $("#HDate").val(shijian);
                        $("#HInterID").val(d.data[0].HInterID);
                    }
                });
            }
            else {//如果修改则走下面 new
                RoadBillMain(hID);
                /* RoadBillSub(linterid);*/
            }
            //表头信息仓库弹窗
            form.on('submit(HGroupList)', function () {
                //页面层-自定义
                layer.open({
                    type: 2,
                    skin: 'layui-layer-rim', //加上边框
                    title: '班组列表',
                    closeBtn: 1,
                    shift: 2,
                    area: ['80%', '80%'],
                    maxmin: true,
                    content: ['../../../views/Baseset/基础资料/Gy_GetProductionTeamList.html?Type=HGroupID', 'yes'],
                    btn: ['确定', '取消']
                    , btn1: function (index, layero) {
                        //按钮【按钮一】的回调
                        var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
                        var checkStatus = iframeWindow.layui.table.checkStatus('ck-table');//获取table的elem:"#test"
                        if (checkStatus.data.length === 0) {
                            return layer.msg('请选择数据');
                        }
                        $("#HGroupName").val(checkStatus.data[0].班组);
                        $("#HGroupID").val(checkStatus.data[0].HItemID);
                        layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) {
                        //按钮【按钮二】的回调
                        //return false å¼€å¯è¯¥ä»£ç å¯ç¦æ­¢ç‚¹å‡»è¯¥æŒ‰é’®å…³é—­
                    },
                    end: function () {
                    },
                    success: function (layero, index) {
                    }
                });
            });
            //表头信息主管弹窗
            form.on('submit(Employee)', function () {
                //页面层-自定义
                layer.open({
                    type: 2,
                    skin: 'layui-layer-rim', //加上边框
                    title: '职员列表',
                    closeBtn: 1,
                    shift: 2,
                    area: ['80%', '80%'],
                    maxmin: true,
                    content: ['../../../views/Baseset/基础资料/Gy_EmployeeList.html?Type=HEmpID', 'yes'],
                    btn: ['确定', '取消']
                    , btn1: function (index, layero) {
                        //按钮【按钮一】的回调
                        var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
                        var checkStatus = iframeWindow.layui.table.checkStatus('ck-table');//获取table的elem:"#test"
                        if (checkStatus.data.length === 0) {
                            return layer.msg('请选择数据');
                        }
                        $("#HEmpName").val(checkStatus.data[0].HName);
                        $("#HEmpID").val(checkStatus.data[0].HItemID);
                        layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) {
                        //按钮【按钮二】的回调
                        //return false å¼€å¯è¯¥ä»£ç å¯ç¦æ­¢ç‚¹å‡»è¯¥æŒ‰é’®å…³é—­
                    },
                    end: function () {
                    },
                    success: function (layero, index) {
                    }
                });
            });
            //表头信息部门弹窗
            form.on('submit(Department)', function () {
                //页面层-自定义
                layer.open({
                    type: 2,
                    skin: 'layui-layer-rim', //加上边框
                    title: '部门列表',
                    closeBtn: 1,
                    shift: 2,
                    area: ['80%', '80%'],
                    maxmin: true,
                    content: ['../../../views/Baseset/基础资料/Gy_DepartmentList.html?Type=HDeptID', 'yes'],
                    btn: ['确定', '取消']
                    , btn1: function (index, layero) {
                        //按钮【按钮一】的回调
                        var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
                        var checkStatus = iframeWindow.layui.table.checkStatus('ck-table');//获取table的elem:"#test"
                        if (checkStatus.data.length === 0) {
                            return layer.msg('请选择数据');
                        }
                        $("#HDeptName").val(checkStatus.data[0].HName);
                        $("#HDeptID").val(checkStatus.data[0].HItemID);
                        layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) {
                        //按钮【按钮二】的回调
                        //return false å¼€å¯è¯¥ä»£ç å¯ç¦æ­¢ç‚¹å‡»è¯¥æŒ‰é’®å…³é—­
                    },
                    end: function () {
                    },
                    success: function (layero, index) {
                    }
                });
            });
            //表头信息工资类型弹窗
            form.on('submit(PayType)', function () {
                //页面层-自定义
                layer.open({
                    type: 2,
                    skin: 'layui-layer-rim', //加上边框
                    title: '工资类型列表',
                    closeBtn: 1,
                    shift: 2,
                    area: ['80%', '80%'],
                    maxmin: true,
                    content: ['../../../views/工资管理/Gy_WorkPayTypeBillList.html?Type=HPayType', '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('请选择数据');
                        }
                        $("#HPayTypeName").val(checkStatus.data[0].工资类型名称);
                        $("#HPayType").val(checkStatus.data[0].HItemID);
                        layer.close(layer.index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) {
                        //按钮【按钮二】的回调
                        //return false å¼€å¯è¯¥ä»£ç å¯ç¦æ­¢ç‚¹å‡»è¯¥æŒ‰é’®å…³é—­
                    },
                    end: function () {
                    },
                    success: function (layero, index) {
                    }
                });
            });
            //退出
            form.on('submit(Exit)', function (data) {
                if (OperationType == 1) {
                    Pub_Close(closeType);//直接新增closeType值为2,列表调新增closeType值从列表传递
                }
                else if (OperationType == 3) {
                    Pub_Close(closeType);
                }
                else {
                    Pub_Close(2);
                }
            });
            function formatDate(date) {
                var d = new Date(date),
                    month = '' + (d.getMonth() + 1),
                    day = '' + d.getDate(),
                    year = d.getFullYear();
                if (month.length < 2) month = '0' + month;
                if (day.length < 2) day = '0' + day;
                return [year, month, day].join('-');
            }
            //保存提交
            form.on('submit(Saver)', function (data) {//提交
                var refSav = "";
                if (linterid == "" || linterid == null) {
                    refSav = "Add";
                }
                if (linterid != "" && linterid != null) {
                    refSav = "Update";
                }
                data.field.HSTOCKORGID = sessionStorage["OrganizationID"];//组织
                var sMainStr = JSON.stringify(data.field);
                var sSubStr = JSON.stringify(table.cache['mainTable']);
                var sMainSub = sMainStr + ';' + sSubStr + ';' + refSav + sessionStorage["HUserName"];
                if (!AllowLoadData(sSubStr))//数据验证
                {
                    return false;
                }
                $.ajax({
                    type: "POST",
                    url: GetWEBURL() + "/Pay_SingleBalBill/SaveGetSingleBalBillList",
                    async: true,
                    data: { "msg": sMainSub },
                    dataType: "json",
                    success: function (data) {
                        if (data.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                            layer.msg(data.Message, { time: 1 * 1000, icon: 1 }, function () {
                                $('#add-btn').addClass("layui-btn-disabled").attr("disabled", true);
                                var index = parent.layer.getFrameIndex(window.name); //先得到当前iframe层的索引
                                parent.layer.close(index); //再执行关闭
                            });
                        }
                        else {
                            f_alert(data.Message);
                        }
                    },
                    error: function (err) {
                        f_alert("错误:" + err);
                    }
                });
            });
            function f_alert(sMsg) {
                layer.alert(sMsg, { icon: 5 });
            }
            //监听提交
            //#region ç›‘听提交
            form.verify({
                numberOrEmpty: function (value, item) {
                    // if (value != '') {
                    if (!/^\d+$/.test(value)) {
                        return '不能为空或数字或者0';
@@ -990,105 +792,984 @@
                    //}
                }
            });
            //#endregion
            //#endregion
            //#region æ­¤é¡µé¢æ‰€æœ‰çš„æ–¹æ³•
            //#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": '2205' },
                    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_InitGrid() {
                option = {
                    elem: '#mainTable'
                    , toolbar: '#toolbarDemo'
                    , page: false
                    , totalRow: true
                    , cellMinWidth: 120
                    , height: 400
                    , cols: [[
                        { type: 'checkbox', totalRowText: '合计行' }
                        , { type: 'numbers', title: '序号', style: 'background-color: #f9f9f9;'}
                        , { field: 'RowID', title: '行号', hide: true, style: 'background-color: #f9f9f9;' }                                                   //行标识,用于下一行、上一行识别所在行
                        , { field: 'HMaterID', title: '物料ID', hide: true, style: 'background-color: #f9f9f9;' }
                        , { field: 'HMaterNumber', title: '物料代码', edit: 'text', event: "HMaterNumber" }     //f7
                        , { field: 'HMaterName', title: '物料名称', style: 'background-color: #f9f9f9;' }
                        , { field: 'HMaterModel', title: '规格型号', style: 'background-color: #f9f9f9;' }
                        , { field: 'HProcID', title: '工序ID', hide: true, style: 'background-color: #f9f9f9;' }
                        , { field: 'HProcNumber', title: '工序代码', edit: 'text', event: "HProcNumber" }     //f7
                        , { field: 'HProcName', title: '工序名称', style: 'background-color: #f9f9f9;' }
                        , { field: 'HEmpID', title: '职员ID', hide: true, style: 'background-color: #f9f9f9;' }
                        , { field: 'HEmpNumber', title: '职员代码', edit: 'text', event: "HEmpNumber" }     //f7
                        , { field: 'HEmpName', title: '职员名称', style: 'background-color: #f9f9f9;' }
                        , { field: 'HTimes', title: '工时', edit: 'text'}
                        , { field: 'HQty', title: '数量', edit: 'text' }
                        , { field: 'HPrice', title: '工价', style: 'background-color: #f9f9f9;'}
                        , { field: 'HPriceRate', title: '定额浮动比率', edit: 'text' }
                        , { field: 'HSubsidyQty', title: '补贴数量', hide: true }
                        , { field: 'HSubsidyMoney', title: '补贴金额', hide: true}
                        , { field: 'HSubsidyTotal', title: '补贴合计', hide: true }
                        , { field: 'HDeuctTotal', title: '扣款小计', hide: true }
                        , { field: 'HPackQty', title: '包装数量', hide: true }
                        , { field: 'HPackPrice', title: '包装单价', hide: true }
                        , { field: 'HPackMoney', title: '包装金额', hide: true}
                        , { field: 'HPackMaterID', title: '包装类型ID', hide: true }
                        //, { field: 'HPackMaterNumber', title: '包装类型代码' }     //f7
                        , { field: 'HPackMaterName', title: '包装类型', hide: true, event: "HPackMaterName" }
                        , { field: 'HMoney', title: '金额', totalRow: true, style: 'background-color: #f9f9f9;' }
                        , { field: 'HICMOInterID', title: '生产任务单ID', hide: true }
                        , { field: 'HICMOBillNo', title: '生产任务单号', hide: true }
                        , { field: 'HProcReportInterID', title: '工序汇报单ID', hide: true }
                        , { field: 'HProcReportEntryID', title: '工序汇报单子ID', hide: true }
                        , { field: 'HProcReportBillNo', title: '工序汇报单号', hide: true }
                        , { field: 'HProcPlanInterID', title: '工序计划单ID', hide: true }
                        , { field: 'HProcPlanEntryID', title: '工序计划单子ID', hide: true }
                        , { field: 'HProcPlanBillNo', title: '工序计划单号', hide: true }
                        , { field: 'HRemark', title: '备注', edit: 'text' }
                        , { field: 'HSourceInterID', title: '源单主内码', hide: true }
                        , { field: 'HSourceEntryID', title: '源单子内码', hide: true }
                        , { field: 'HSourceBillNo', title: '源单单号', hide: true }
                        , { field: 'HSourceBillType', title: '源单类型', hide: true }
                        , { field: 'HRelationQty', title: '关联数量', hide: true }
                        , { field: 'HRelationMoney', title: '关联金额', hide: true }
                        , { field: 'HCloseMan', title: '行关闭人', hide: true }
                        , { field: 'HEntryCloseDate', title: '行关闭时间', hide: true }
                        , { fixed: 'right', title: '操作', toolbar: '#barDemo' }
                    ]]
                }
                var rowdata = [
                    {
                        "RowID": 10
                        , "HMaterID": "0"
                        , "HMaterNumber": ""
                        , "HMaterName": ""
                        , "HMaterModel": ""
                        , "HProcID": "0"
                        , "HProcNumber": ""
                        , "HProcName": ""
                        , "HEmpID": "0"
                        , "HEmpNumber": ""
                        , "HEmpName": ""
                        , "HTimes": "0"
                        , "HQty": "0"
                        , "HPrice": "0"
                        , "HPriceRate": "1"
                        , "HSubsidyQty": "0"
                        , "HSubsidyMoney": "0"
                        , "HSubsidyTotal": "0"
                        , "HDeuctTotal": "0"
                        , "HPackQty": "0"
                        , "HPackPrice": "0"
                        , "HPackMoney": "0"
                        , "HPackMaterID": "0"
                        , "HPackMaterName": ""
                        , "HMoney": "0"
                        , "HICMOInterID": "0"
                        , "HICMOBillNo": ""
                        , "HProcReportInterID": "0"
                        , "HProcReportEntryID": "0"
                        , "HProcReportBillNo": ""
                        , "HProcPlanInterID": "0"
                        , "HProcPlanEntryID": "0"
                        , "HProcPlanBillNo": ""
                        , "HRemark": ""
                        , "HSourceInterID": "0"
                        , "HSourceEntryID": "0"
                        , "HSourceBillNo": ""
                        , "HSourceBillType": ""
                        , "HRelationQty": "0"
                        , "HRelationMoney": "0"
                        , "HCloseMan": ""
                        , "HEntryCloseDate": ""
                    }
                ];
                option.data = rowdata;
                table.render(option);
            }
            //#endregion
            //#region ç­ç»„选择页面
            function get_checkSearchHGroup() {
                //打开班组小窗体
                layer.open({
                    type: 2
                    , skin: "layui-layer-rim"                           //加上边框
                    , title: "班组列表"                             //标题
                    , closeBtn: 1                                       //窗体右上角关闭 çš„ æ ·å¼
                    , shift: 2                                          //弹出动画
                    , area: ["90%", "90%"]                              //窗体大小
                    , maxmin: true                                      //设置最大最小按钮是否显示
                    , content: ["../../../views/基础资料/工资基础资料/Gy_Group.html?Type=HGroupID", "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("请选择一条数据");
                        }
                        $("#HGroupID").val(checkStatus.data[0].HItemID);//班组内码
                        $("#HGroupName").val(checkStatus.data[0].班组名称);//班组名称
                        $("#HDeptID").val(checkStatus.data[0].HDeptID);//部门代码
                        $("#HDeptName").val(checkStatus.data[0].部门名称);//部门名称
                        layer.close(index);//关闭弹窗
                    }
                    , btn2: function (index, layero) { }
                })
            }
            //#endregion
            //#region éƒ¨é—¨é€‰æ‹©é¡µé¢
            function get_checkSearchHDept() {
                //打开部门小窗体
                layer.open({
                    type: 2
                    , skin: "layui-layer-rim"                           //加上边框
                    , title: "部门列表"                             //标题
                    , closeBtn: 1                                       //窗体右上角关闭 çš„ æ ·å¼
                    , shift: 2                                          //弹出动画
                    , area: ["90%", "90%"]                              //窗体大小
                    , maxmin: true                                      //设置最大最小按钮是否显示
                    , content: ["../../../views/Baseset/基础资料/Gy_DepartmentList.html?Type=HDeptID", "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("请选择一条数据");
                        }
                        $("#HDeptID").val(checkStatus.data[0].HItemID);//内码
                        $("#HDeptName").val(checkStatus.data[0].HName);//名称
                        layer.close(index);//关闭弹窗
                    }
                    , btn2: function (index, layero) { }
                })
            }
            //#endregion
            //#region ä¸»ç®¡é€‰æ‹©é¡µé¢
            function get_checkSearchHEmp() {
                //打开员工小窗体
                layer.open({
                    type: 2
                    , skin: "layui-layer-rim"                           //加上边框
                    , title: "员工列表"                             //标题
                    , closeBtn: 1                                       //窗体右上角关闭 çš„ æ ·å¼
                    , shift: 2                                          //弹出动画
                    , area: ["90%", "90%"]                              //窗体大小
                    , maxmin: true                                      //设置最大最小按钮是否显示
                    , content: ["../../../views/Baseset/基础资料/Gy_EmployeeList.html?Type=HEmpID", "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("请选择一条数据");
                        }
                        $("#HEmpID").val(checkStatus.data[0].HItemID);//内码
                        $("#HEmpName").val(checkStatus.data[0].HName);//名称
                        layer.close(index);//关闭弹窗
                    }
                    , btn2: function (index, layero) { }
                })
            }
            //#endregion
            //#region å·¥èµ„类型选择页面
            function get_checkSearchHPayType() {
                //打开工资类型小窗体
                layer.open({
                    type: 2
                    , skin: "layui-layer-rim"                           //加上边框
                    , title: "工资类型列表"                             //标题
                    , closeBtn: 1                                       //窗体右上角关闭 çš„ æ ·å¼
                    , shift: 2                                          //弹出动画
                    , area: ["90%", "90%"]                              //窗体大小
                    , maxmin: true                                      //设置最大最小按钮是否显示
                    , content: ["../../../views/工资管理/Gy_WorkPayTypeBillList.html?Type=HPayType", "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("请选择一条数据");
                        }
                        var HStopFlag = checkStatus.data[0].禁用标记;
                        if (HStopFlag == 'Y') {
                            layer.msg("该工资类型已被禁用,请重新选择!");
                            return;
                        }
                        $("#HPayTypeID").val(checkStatus.data[0].HItemID);//内码
                        $("#HPayTypeName").val(checkStatus.data[0].工资类型名称);//名称
                        layer.close(index);//关闭弹窗
                    }
                    , btn2: function (index, layero) { }
                })
            }
            //#endregion
            //#region é€‰å•号选择页面
            function get_checkSearchHSoruceBill() {
                alert();
            }
            //#endregion
            //#region ä¿å­˜HMaker
            function set_AddNew(data) {
                //若为编辑-保存,则更新修改人和修改时间
                if (OperationType == 3) {
                    data.field.HUpdater = sessionStorage["HUserName"];
                    data.field.HUpdaterDate = Format(new Date(), "yyyy-MM-dd");
                    $("#HUpdater").val(sessionStorage["HUserName"]);
                    $("#HUpdaterDate").val(Format(new Date(), "yyyy-MM-dd"));
                }
                //获取表头数据
                var tableMain = data.field;
                //获取子表数据
                var tableSub = [];
                for (var i = 0; i < table.cache["mainTable"].length; i++) {
                    if (table.cache["mainTable"][i] != "") {
                        table.cache["mainTable"][i].LAY_TABLE_INDEX = i;
                        tableSub.push(table.cache["mainTable"][i])
                    }
                }
                //获取表头数据并序列化
                var sMainStr = JSON.stringify(tableMain);              //主表数据
                //子表数据序列化
                var sSubStr = JSON.stringify(tableSub);
                //拼接序列化的数据
                var sMainSub = sMainStr + ';' + sSubStr + ';' + OperationType + ";" + sessionStorage["HUserName"];
                var index = layer.load();
                $.ajax({
                    type: "POST",
                    url: GetWEBURL() + "/Pay_SingleBalBillMain/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() + "/Pay_SingleBalBill/editInit",
                    type: "GET",
                    async: false,
                    data: { "HInterID": linterid, "user": sessionStorage["HUserName"] },
                    success: function (result) {
                        var tableMain = result.data[0];
                        var tableSub = result.data[1];
                        //主表 èµ‹å€¼
                        form.val("formData", { //formTest å³ class="layui-form" æ‰€åœ¨å…ƒç´ å±žæ€§ lay-filter="" å¯¹åº”的值
                            "HInterID": tableMain[0]["HInterID"]
                            , "HBillNo": tableMain[0]["HBillNo"]
                            , "HDate": Format(new Date(tableMain[0]["HDate"]), "yyyy-MM-dd")
                            , "HInnerBillNo": tableMain[0]["HInnerBillNo"]
                            , "HGroupID": tableMain[0]["HGroupID"]
                            , "HGroupName": tableMain[0]["HGroupName"]
                            , "HDeptID": tableMain[0]["HDeptID"]
                            , "HDeptName": tableMain[0]["HDeptName"]
                            , "HEmpID": tableMain[0]["HEmpID"]
                            , "HEmpName": tableMain[0]["HEmpName"]
                            , "HPayTypeID": tableMain[0]["HPayTypeID"]
                            , "HPayTypeName": tableMain[0]["HPayTypeName"]
                            , "HSourceBillType": tableMain[0]["HSourceBillType"]
                            , "HSourceBillID": tableMain[0]["HSourceBillID"]
                            , "HSourceBillNo": tableMain[0]["HSourceBillNo"]
                            , "HExplanation": tableMain[0]["HExplanation"]
                            , "HRemark": tableMain[0]["HRemark"]
                            , "HMaker": tableMain[0]["HMaker"]
                            , "HUpdater": tableMain[0]["HUpdater"]
                            , "HChecker": tableMain[0]["HChecker"]
                            , "HMakerDate": tableMain[0]["HMakerDate"] == null ? "" : Format(new Date(tableMain[0]["HMakerDate"]), "yyyy-MM-dd")
                            , "HUpdaterDate": tableMain[0]["HUpdaterDate"] == null ? "" : Format(new Date(tableMain[0]["HUpdaterDate"]), "yyyy-MM-dd")
                            , "HCheckerDate": tableMain[0]["HCheckerDate"] == null ? "" : Format(new Date(tableMain[0]["HCheckerDate"]), "yyyy-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 ? "" : Format(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"]
                        });
                        //子表  èµ‹å€¼
                        option.data = tableSub;
                        table.render(option);
                    }
                })
            }
            //#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 ($("#HDate").val() == "") {
                    layer.msg("日期不能为空!");
                    return false;
                }
                if ($("#HGroupID").val() == "0") {
                    layer.msg("班组未选择!");
                    return false;
                }
                if ($("#HDeptID").val() == "0") {
                    layer.msg("部门未选择!");
                    return false;
                }
                if ($("#HPayTypeID").val() == "0") {
                    layer.msg("工资类型未选择!");
                    return false;
                }
                //#endregion
                //#region å­è¡¨æ•°æ®æ£€éªŒ
                var temp;                               //记录需要检验的属性的值,用于检验
                var ref = /^\d+(\.\d+)?$/;          //判断是否是非负浮点数
                var ref1 = /^\d+$/;            //判断是否是非负整数
                var value1 = ["HTimes", "HQty", "HPrice", "HPriceRate", "HSubsidyQty", "HSubsidyMoney", "HSubsidyTotal", "HDeuctTotal", "HPackQty", "HPackPrice", "HPackMoney", "HMoney"];  //子表需要进行浮点数验证的属性清单
                var value1_ = ["工时", "数量", "工价", "定额浮动比率", "补贴数量", "补贴金额", "补贴合计", "扣款小计", "包装数量", "包装单价", "包装金额", "金额"];  ////子表需要进行浮点数验证的属性清单对应的列名清单
                var value2 = ["HICMOInterID", "HProcReportInterID", "HProcReportEntryID", "HProcPlanInterID", "HProcPlanEntryID"];  //子表需要整数检验的属性清单
                var value2_ = ["生产任务单ID","工序汇报单ID", "工序汇报单子ID", "工序计划单ID", "工序计划单子ID"]; //子表需要整数检验的属性清单对应的列名清单
                var value3 = ["HMaterID", "HProcID", "HEmpID"];       //子表需要进行非空检验的属性清单
                var value3_ = ["物料", "工序", "职员"];                                 //子表需要进行非空检验的属性清单对应的列名清单
                for (var i = 0; i < option.data.length; i++) {
                    if (option.data[i] != "") {
                        //非空检验
                        for (var j = 0; j < value3.length; j++) {
                            temp = option.data[i][value3[j]] + "";
                            if (temp == "0") {
                                layer.msg("第" + (i + 1) + "行:" + value3_[j] + "未选择!");
                                return false;
                            }
                        }
                        //整数检验
                        for (var j = 0; j < value2.length; j++) {
                            temp = option.data[i][value2[j]] + "";
                            if (temp == "") {
                                layer.msg("第" + (i + 1) + "行:" + value2_[j] + "不能为空!");
                                return false;
                            } else if (!ref1.test(temp)) {
                                layer.msg("第" + (i + 1) + "行:" + value2_[j] + "请输入非负整数!");
                                return false;
                            }
                        }
                        //浮点数检验
                        for (var j = 0; j < value1.length; j++) {
                            temp = option.data[i][value1[j]] + "";
                            if (temp == "") {
                                layer.msg("第" + (i + 1) + "行:" + value1_[j] + "不能为空!");
                                return false;
                            } else if (!ref.test(temp)) {
                                layer.msg("第" + (i + 1) + "行:" + value1_[j] + "请输入正确非负数字!");
                                return false;
                            }
                        }
                        //特殊检验
                        temp = option.data[i]["HQty"] + "";
                        if (temp == "0") {
                            layer.msg("第" + (i + 1) + "行:数量不能为0!")
                            return false;
                        }
                    }
                }
                //#endregion
                //#region å­è¡¨å…³é”®å­—段重复检验
                var num = [];
                for (var i = 0; i < option.data.length; i++) {
                    temp = option.data[i]["HMaterID"] + "|" + option.data[i]["HProcID"] + "|" + option.data[i]["HEmpID"];
                    if ($.inArray(temp, num) != -1) {
                        layer.msg("第" + (i + 1) + "行:物料、工序、职员重复,请重新选择!");
                        return false;
                    }
                    num.push(temp);
                }
                //#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_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 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 å­è¡¨ï¼šå¿«æ·é”®(F7)打开弹窗
            function set_GridCellCheck(obj) {
                //#region F7触发事件
                $(document).off('keydown', ".layui-table-edit").on('keydown', '.layui-table-edit', function (e) {
                    if (event.key == "F7") {
                        //物料
                        if (obj.event == "HMaterNumber") {
                            //打开物料小窗体
                            layer.open({
                                type: 2
                                , skin: "layui-layer-rim"                           //加上边框
                                , title: "物料列表"                             //标题
                                , closeBtn: 1                                       //窗体右上角关闭 çš„ æ ·å¼
                                , shift: 2                                          //弹出动画
                                , area: ["90%", "90%"]                              //窗体大小
                                , maxmin: true                                      //设置最大最小按钮是否显示
                                , content: ["../../../views/Baseset/基础资料/Gy_MaterialList.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("请选择一条数据");
                                    }
                                    //获取工价
                                    var HMaterID = checkStatus.data[0].HItemID;
                                    var HProcID = obj.data.hasOwnProperty("HProcID") ? obj.data.HProcID + "":"0";
                                    var HSourceID = obj.data.hasOwnProperty("HSourceID") ? obj.data.HSourceID + "": "0";
                                    var HPrice = subTable_GetHPrice(HMaterID, HProcID, HSourceID);
                                    if (HPrice != -1) {
                                        //更新表格缓存的数据
                                        obj.update({
                                            "HMaterID": checkStatus.data[0].HItemID
                                            , "HMaterNumber": checkStatus.data[0].HNumber
                                            , "HMaterName": checkStatus.data[0].HName
                                            , "HMaterModel": checkStatus.data[0].HModel
                                            , "HPrice": HPrice
                                        })
                                    } else {
                                        obj.update({
                                            "HMaterID": checkStatus.data[0].HItemID
                                            , "HMaterNumber": checkStatus.data[0].HNumber
                                            , "HMaterName": checkStatus.data[0].HName
                                            , "HMaterModel": checkStatus.data[0].HModel
                                        })
                                    }
                                    layer.close(index);//关闭弹窗
                                }
                            })
                        }
                        //工序
                        if (obj.event == "HProcNumber") {
                            //打开工序小窗体
                            layer.open({
                                type: 2
                                , skin: "layui-layer-rim"                           //加上边框
                                , title: "工序列表"                             //标题
                                , closeBtn: 1                                       //窗体右上角关闭 çš„ æ ·å¼
                                , shift: 2                                          //弹出动画
                                , area: ["90%", "90%"]                              //窗体大小
                                , maxmin: true                                      //设置最大最小按钮是否显示
                                , content: ["../../../views/Baseset/基础资料/Gy_ProcList.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("请选择一条数据");
                                    }
                                    //获取工价
                                    var HMaterID = obj.data.hasOwnProperty("HMaterID") ? obj.data.HMaterID + "" : "0";
                                    var HProcID = checkStatus.data[0].HItemID;
                                    var HSourceID = obj.data.hasOwnProperty("HSourceID") ? obj.data.HSourceID + "" : "0";
                                    var HPrice = subTable_GetHPrice(HMaterID, HProcID, HSourceID);
                                    //更新表格缓存的数据
                                    if (HPrice != -1) {
                                        obj.update({
                                            "HProcID": checkStatus.data[0].HItemID
                                            , "HProcNumber": checkStatus.data[0].工序代码
                                            , "HProcName": checkStatus.data[0].工序
                                            , "HPrice": HPrice
                                        })
                                    } else {
                                        obj.update({
                                            "HProcID": checkStatus.data[0].HItemID
                                            , "HProcNumber": checkStatus.data[0].工序代码
                                            , "HProcName": checkStatus.data[0].工序
                                        })
                                    }
                                    layer.close(index);//关闭弹窗
                                }
                            })
                        }
                        //职员
                        if (obj.event == "HEmpNumber") {
                            //打开职员小窗体
                            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
                                        , "HEmpNumber": checkStatus.data[0].HNumber
                                        , "HEmpName": checkStatus.data[0].HName
                                    })
                                    layer.close(index);//关闭弹窗
                                }
                            })
                        }
                        //包装方式
                        if (obj.event == "HPackMaterName") {
                            //打开职员小窗体
                            layer.open({
                                type: 2
                                , skin: "layui-layer-rim"                           //加上边框
                                , title: "包装类型列表"                             //标题
                                , closeBtn: 1                                       //窗体右上角关闭 çš„ æ ·å¼
                                , shift: 2                                          //弹出动画
                                , area: ["90%", "90%"]                              //窗体大小
                                , maxmin: true                                      //设置最大最小按钮是否显示
                                , content: ["../../基础资料/公用基础资料/Gy_PackType.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({
                                        "HPackMaterID": checkStatus.data[0].HItemID
                                        , "HPackMaterName": checkStatus.data[0].包装方式名称
                                    })
                                    layer.close(index);//关闭弹窗
                                }
                            })
                        }
                        obj.event = "";
                        return false;
                    }
                })
                //#endregion
            }
            //#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 = ["行号","物料ID","工序ID","职员ID","包装类型ID","补贴数量","补贴金额","补贴合计","扣款小计","包装数量","包装单价","包装金额","包装类型ID","包装类型","生产任务单ID","生产任务单号","工序汇报单ID","工序汇报单子ID","工序汇报单号","工序计划单ID","工序计划单子ID","工序计划单号","源单主内码","源单子内码","源单单号","源单类型","关联数量","关联金额","行关闭人","行关闭时间"];//不需要显示的字段 å¯æ‰©å±•
                            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 subTable_GetHPrice(HMaterID, HProcID, HSourceID) {
                var HPrice;
                if (HMaterID != "0" && HProcID != "0") {
                    $.ajax({
                        type: "Get",
                        url: GetWEBURL() + "/Pay_SingleBalBill/get_HPrice_BaseMaterHProcHSource",
                        async: false,
                        data: { "HMaterID": HMaterID, "HProcID": HProcID, "HSourceID": HSourceID },
                        success: function (res) {
                            if (res.count == 1) {
                                HPrice = res.data;
                            }
                            else {
                                layer.msg(res.Message, { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                                HPrice = 0;
                            }
                        },
                        error: function (err) {
                            layer.msg("错误:" + err, { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                            HPrice = 0;
                        }
                    });
                    return HPrice;
                } else {
                    HPrice = -1;
                    return HPrice;
                }
            }
            //#endregion
            //#endregion
        });
        //定义全局变量
        var HReasonName, ReasonID, EmpName, SQProcName,
            ProcID, ZRProcName, QRName
            ;
        function GetHReasonValue(obj)  //返回不良原因
        {
            HReasonName = obj[0].HName;
            ReasonID = obj[0].HItemID;
        }
        //返回物料
        function GetHMaterNameValue(obj) {  //返回物料
            $("#HMater").val(obj[0].HName);
            $("#HMaterID").val(obj[0].HItemID);
            $("#HMaterNumber").val(obj[0].HNumber);
        }
        //返回工序
        function GetHProcValue(obj) {  //返回工序
            $("#HProcName").val(obj[0].工序);
            $("#HProcID").val(obj[0].HItemID);
            $("#HProcNumber").val(obj[0].工序代码);
        }
        function GetHDeptNameValue(obj) {  //返回部门
            $("#HDepName").val(obj[0].HName);
            $("#HDeptID").val(obj[0].HItemID);
            $("#HDeptNumber").val(obj[0].HNumber);
        }
        //返回单位
        function GetHUnitNameValue(obj) {
            $("#HUName").val(obj[0].HName);
            $("#HUnitID").val(obj[0].HItemID);
            $("#HUnitNumber").val(obj[0].HNumber);
        }
        function GetHKeeperValue(obj) {  //返回责任人
            EmpName = obj[0].HName;
            // $("#HEmpName").val(obj[0].HName);
            //$("#HItemID").val(obj[0].HItemID);
        }
        //function GetHProcValue(obj) {  //返回申请工序
        //    SQProcName = obj[0].工序;
        //    ProcID = obj[0].HItemID;
        //    //$("#HSQProcName").val(obj[0].工序);
        //    //$("#HProcID").val(obj[0].HItemID);
        //}
        function GetHZRValue(obj) {   //返回责任工序
            ZRProcName = obj[0].工序;
            //$("#HZRProcName").val(obj[0].工序);
            //$("#HItemID").val(obj[0].HItemID);
        }
        //HWorker
        function GetHWorkerValue(obj) {  //返回不良确认人
            QRName = obj[0].HName;
            //$("#HQRName").val(obj[0].HName);
            //$("#HItemID").val(obj[0].HItemID);
        }
        function AllowLoadData(sSubStr) {  //非空验证
            var Result = true;
            if ($("#HDeptID").val() == '') {
                layer.msg("部门没有选择", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                return Result = false;
            }
            if ($("#HEmpID").val() == '') {
                layer.msg("职员没有选择", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                return Result = false;
            }
            //if ($("#HPayID").val() == '') {
            //    layer.msg("工资类型没有选择", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
            //    return Result = false;
            //}
            //if ($("#HBillNo").val() == '') {
            //    layer.msg("错误的单据号", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
            //    return Result = false;
            //}
            if ($("#HInterID").val() == '') {
                layer.msg("错误的内码", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                return Result = false;
            }
            if (typeof (sSubStr) == "undefined") {
                layer.msg("没有物料明细记录", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                return Result = false;
            }
            if (!typeof (sSubStr) == "undefined") {
                for (var i = 0; i <= sSubStr.length - 1; i++) {   //判断扫码数量不能为0
                    if (parseFloat(sSubStr[i].HQty) > 0) {
                        s = 1;
                    }
                }
                if (s == 0) {
                    layer.msg("产品入库记录未扫码", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    return Result = false;
                }
            }
            else {
                return Result;
            }
            return Result;
        }</script>
    </script>
</body>
</html>