duhe
2025-09-15 adebb0660a3414da01ca04e44bd6be4e23e1c664
WebTM/views/¹¤×ʹÜÀí/¶¨¶îÉêÇë/Pay_ProcPriceRequestBill.html
@@ -14,7 +14,8 @@
    <script src="../../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
    <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
    <script src="../../../layuiadmin/PubCustom.js"></script>
    <style>
    <script src="../../../layuiadmin/PageTitle.js"></script>
    <!--<style>
        .main-btn { /*头部主按钮*/
            padding: 0 2px; /*调整按钮左右空隙大小*/
            height: 30px;
@@ -44,7 +45,7 @@
        .layui-form-label {
            width: 25%;
        }
    </style>
    </style>-->
</head>
<body>
@@ -65,6 +66,7 @@
                        <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>
@@ -75,16 +77,16 @@
                                <div class="layui-form-item" style="padding-top: 10px;">
                                    <div class="layui-row">
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">单据号</label>
                                            <label class="layui-form-label" style="width: 85px;">单据号<label style="color:red"> * </label></label>
                                            <div class="layui-input-block" style="margin-left: 120px;">
                                                <input type="text" class="layui-input" name="HBillNo" lay-verify="HBillNo" id="HBillNo" style="background-color:#efefef4d;" readonly>
                                                <input type="hidden" name="HInterID" id="HInterID" lay-verify="HInterID">
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">日期</label>
                                            <label class="layui-form-label" style="width: 85px;">日期<label style="color:red"> * </label></label>
                                            <div class="layui-input-block" style="margin-left: 120px; width:180px;">
                                                <input type="date" class="layui-input" lay-verify="HDate" name="HDate" id="HDate" style="padding-left: 80px;">
                                                <input type="date" class="layui-input" lay-verify="HDate" name="HDate" id="HDate" style="">
                                            </div>
                                        </div>
                                        <div class="layui-inline">
@@ -96,11 +98,11 @@
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;padding: 9px 18px;">申请部门</label>
                                            <div class="layui-input-block" style="margin-left: 77px;">
                                                <input type="text" class="layui-input" lay-verify="HDeptName" name="HDeptName" id="HDeptName" style="background-color:#efefef4d;width: 60%;display: inline-block;" readonly>
                                            <label class="layui-form-label" style="width: 85px;padding: 9px 18px;">申请部门<label style="color:red"> * </label></label>
                                            <div  class="layui-input-inline" style="float: left;">
                                                <input type="text" class="layui-input" lay-verify="HDeptName" name="HDeptName" id="HDeptName" style="float: left; background-color: #efefef4d; width: 60%; " 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;">
                                                <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearchHDept" id="btnSearchHDept" style="padding: 0 10px;float: left;">
                                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
                                                </button>
                                            </div>
@@ -110,6 +112,27 @@
                                            <div class="layui-input-block" style="margin-left: 120px; width: 485px;">
                                                <input type="text" class="layui-input" lay-verify="HExplanation" name="HExplanation" id="HExplanation">
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">调整类型</label>
                                            <div class="layui-input-inline">
                                                <select name="HChangeType" id="HChangeType" lay-filter="HChangeType" style="width:200px;">
                                                    <option value="自由" selected="selected">自由</option>
                                                    <option value="固定比例">固定比例</option>
                                                    <option value="固定价格">固定价格</option>
                                                </select>
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label" style="width: 85px;">调整幅度</label>
                                            <div class="layui-input-inline" style="">
                                                <input type="text" class="layui-input" lay-verify="HChangeValue" name="HChangeValue" id="HChangeValue">
                                            </div>
                                            <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnAdjust" id="btnAdjust" style="padding: 0 10px;float: right;margin-right: 3px;">
                                                è°ƒæ•´
                                            </button>
                                        </div>
                                    </div>
                                    <div class="layui-row">
@@ -224,8 +247,8 @@
                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-AddLine"><i class="layui-icon layui-icon-form"></i>增加一行</button>
                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-CopyLine"><i class="layui-icon layui-icon-form"></i>复制一行</button>
                            <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn"><i class="layui-icon layui-icon-form"></i>列设置</button>
                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn_up"><i class="layui-icon layui-icon-form"></i>上一行</button>
                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn_under"><i class="layui-icon layui-icon-form"></i>下一行</button>
                            <!--<button type="button" class="layui-btn layui-btn-sm" lay-event="btn_up"><i class="layui-icon layui-icon-form"></i>上一行</button>
                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn_under"><i class="layui-icon layui-icon-form"></i>下一行</button>-->
                        </div>
                    </script>
                </form>
@@ -261,13 +284,21 @@
            //模块名
            var HModName = "Pay_ProcPriceRequestBill";
            //#region ã€åŠ¨æ€èŽ·å–æ¨¡å—åç§°ã€‘
            var HModuleType = "2219";
            //通过单据类型,从数据库动态获取单据模块命名,引用js文件 PageTitle.js
            var HPageTitle = get_PageTitle(HModuleType) == "" ? $("h1").html() : get_PageTitle(HModuleType);
            $("h1").html('<b>' + HPageTitle + '</b>');
            //#endregion
            //表格渲染参数
            var option = {};            //子表渲染参数
            //获取参数
            var params = getUrlVars();
            var OperationType = params[params[0]]; //从参数中获取 æ•°æ®ç±»åž‹  1添加 ä¿å­˜  2复制  3 ç¼–辑
            var linterid = params[params[1]]; //从参数中获取 å•据内码
            var HSouceBillType = params[params[2]];//源单类型
            //#endregion
            //#region è¿›å…¥é¡µé¢å³åŠ è½½
@@ -314,6 +345,17 @@
                //初始化项目阶段表
                get_InitGrid();
                RoadBillMain(linterid);
            } else if (OperationType == 4) {//下推
                //生成并设置主表的内码和单据号
                createBillNo();
                //初始化制单人和制单时间
                $("#HMaker").val(sessionStorage["HUserName"]);
                $("#HMakerDate").val(Format(new Date(), "yyyy-MM-dd"));
                //初始化日期
                $("#HDate").val(Format(new Date(), "yyyy-MM-dd"));
                //初始化项目阶段表
                get_InitGrid();
                setInit_PushBill();
            }
            //#endregion
@@ -335,9 +377,15 @@
            //#region æ“ä½œæŒ‰é’®è§¦å‘事件
            //#region ä¿å­˜æäº¤
            form.on('submit(btnSave)', function (data) {//提交
                //if (AllowLoadData(data)) {
                if (AllowLoadData(data)) {
                    set_AddNew(data);
                //}
                }
            });
            //#endregion
            //#region è°ƒæ•´
            form.on('submit(btnAdjust)', function (data) {//提交
                set_AdjustData();
            });
            //#endregion
@@ -404,6 +452,9 @@
                    , "HMaterNumber": ""
                    , "HMaterName": ""
                    , "HMaterModel": ""
                    , "HWorkCenterID": "0"
                    , "HWorkCenterNumber": ""
                    , "HWorkCenterName": ""
                    , "HProcID": "0"
                    , "HProcNumber": ""
                    , "HProcName": ""
@@ -552,6 +603,16 @@
            }
            //#endregion
            //#region èŽ·å–å‚æ•°_传递的JSON格式参数
            function getUrlVars_JSON() {
                var datajson;
                var str = window.location.search; //获取链接中传递的参数
                var arr = str.substring(str.lastIndexOf("=") + 1);
                datajson = $.parseJSON(decodeURI(arr));
                return datajson;
            }
            //#endregion
            //#region ç”Ÿæˆå•据号
            function createBillNo() {
                $.ajax({
@@ -573,41 +634,42 @@
                option = {
                    elem: '#mainTable'
                    , toolbar: '#toolbarDemo'
                    , page: true
                    , limit: 500
                    , limits: [50, 500, 5000, 50000]
                    , totalRow: true
                    , cellMinWidth: 120
                    , height: 400
                    , cols: [[
                        { type: 'checkbox', totalRowText: '合计行' }
                        , { type: 'numbers', title: '序号', totalRow: true }
                        , { field: 'RowID', title: '行号', hide: true }                                                   //行标识,用于下一行、上一行识别所在行
                        , { field: 'HMaterID', title: '物料ID', hide: true }
                        { 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: '物料名称' }
                        , { field: 'HMaterModel', title: '规格型号' }
                        , { field: 'HProcID', title: '工序ID', hide: true }
                        , { field: 'HMaterName', title: '物料名称', style: 'background-color: #f9f9f9;' }
                        , { field: 'HMaterModel', title: '规格型号', style: 'background-color: #f9f9f9;' }
                        , { field: 'HWorkCenterID', title: '工作中心ID', hide: true, style: 'background-color: #f9f9f9;' }
                        , { field: 'HWorkCenterNumber', title: '工作中心代码', edit: 'text', event: "HWorkCenterNumber" }     //f7
                        , { field: 'HWorkCenterName', 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: '工序名称' }
                        , { field: 'HSourceID', title: '资源ID', hide: true }
                        , { field: 'HProcName', title: '工序名称', style: 'background-color: #f9f9f9;' }
                        , { field: 'HSourceID', title: '资源ID', hide: true, style: 'background-color: #f9f9f9;' }
                        , { field: 'HSourceNumber', title: '资源代码', edit: 'text', event: "HSourceNumber" }     //f7
                        , { field: 'HSourceName', title: '资源名称' }
                        , { field: 'HOldPrice', title: '原单价'}
                        , { field: 'HPrice', title: '单价', edit: 'text' }
                        , { field: 'HOldFixPrice', title: '原小时定额' }
                        , { field: 'HFixPrice', title: '小时定额', edit: 'text' }
                        , { field: 'HSourceName', title: '资源名称', style: 'background-color: #f9f9f9;' }
                        , { field: 'HOldPrice', title: '原单价', style: 'background-color: #f9f9f9;', totalRow: true}
                        , { field: 'HPrice', title: '单价', edit: 'text', totalRow: true }
                        , { field: 'HOldFixPrice', title: '原小时定额', style: 'background-color: #f9f9f9;', totalRow: true }
                        , { field: 'HFixPrice', title: '小时定额', edit: 'text', totalRow: true }
                        , { field: 'HBeginDate', title: '开始日期', event: "HBeginDate" }
                        , { field: 'HEndDate', title: '结束日期', event: "HEndDate" }
                        , { field: 'HCostFlag', title: '成本默认标记', templet: "#HCostFlag" }
                        , { field: 'HRemark', title: '备注', edit: 'text' }
                        , { field: 'HSourceInterID', title: '源单主内码' }
                        , { field: 'HSourceEntryID', title: '源单子内码' }
                        , { field: 'HSourceBillNo', title: '源单单号' }
                        , { field: 'HSourceBillType', title: '源单类型' }
                        , { field: 'HRelationQty', title: '关联数量' }
                        , { field: 'HRelationMoney', title: '关联金额' }
                        , { field: 'HCloseMan', title: '行关闭人' }
                        , { field: 'HEntryCloseDate', title: '行关闭时间' }
                        , { field: 'HSourceInterID', title: '源单主内码', hide: true, style: 'background-color: #f9f9f9;' }
                        , { field: 'HSourceEntryID', title: '源单子内码', hide: true, style: 'background-color: #f9f9f9;' }
                        , { field: 'HSourceBillNo', title: '源单单号', hide: true, style: 'background-color: #f9f9f9;' }
                        , { field: 'HSourceBillType', title: '源单类型', hide: true, style: 'background-color: #f9f9f9;' }
                        , { field: 'HRelationQty', title: '关联数量', hide: true, style: 'background-color: #f9f9f9;', totalRow: true }
                        , { field: 'HRelationMoney', title: '关联金额', hide: true, style: 'background-color: #f9f9f9;', totalRow: true }
                        , { field: 'HCloseMan', title: '行关闭人', hide: true, style: 'background-color: #f9f9f9;' }
                        , { field: 'HEntryCloseDate', title: '行关闭时间', hide: true, style: 'background-color: #f9f9f9;' }
                        , { fixed: 'right', title: '操作', toolbar: '#barDemo' }
                    ]]
                }
@@ -622,6 +684,9 @@
                        , "HProcID": "0"
                        , "HProcNumber": ""
                        , "HProcName": ""
                        , "HWorkCenterID": "0"
                        , "HWorkCenterNumber": ""
                        , "HWorkCenterName": ""
                        , 'HSourceID': '0'
                        , 'HSourceNumber': ''
                        , 'HSourceName': ''
@@ -659,7 +724,7 @@
                    , shift: 2                                          //弹出动画
                    , area: ["90%", "90%"]                              //窗体大小
                    , maxmin: true                                      //设置最大最小按钮是否显示
                    , content: ["../../../views/Baseset/基础资料/Gy_DepartmentList.html?Type=HDeptID", "yes"]
                    , content: ["../../基础资料/公用基础资料/Gy_DepartmentList.html", "yes"]
                    , btn: ["确定", "取消"]
                    , btn1: function (index, laero) {
                        //按钮一  çš„回调
@@ -671,11 +736,46 @@
                        }
                        $("#HDeptID").val(checkStatus.data[0].HItemID);//内码
                        $("#HDeptName").val(checkStatus.data[0].HName);//名称
                        $("#HDeptName").val(checkStatus.data[0].部门名称);//名称
                        layer.close(index);//关闭弹窗
                    }
                    , btn2: function (index, layero) { }
                })
            }
            //#endregion
            //#region è°ƒæ•´
            function set_AdjustData() {
                var ref = /^\d+(\.\d+)?$/;          //判断是否是非负浮点数
                var temp = $("#HChangeValue").val();
                console.log($("#HChangeType").val());
                if ($("#HChangeType").val() == "自由") {
                    return;
                } else if ($("#HChangeType").val() == "固定比例") {
                    if (temp == "") {
                        layer.msg("调整幅度不能为空!");
                        return false;
                    } else if (!ref.test(temp)) {
                        layer.msg("调整幅度请输入正确非负数字!");
                        return false;
                    }
                    for (var i = 0; i < option.data.length; i++) {
                        option.data[i]["HPrice"] = Number(option.data[i]["HOldPrice"]) * 0.01 * Number(temp);
                    }
                }
                else {
                    if (temp == "") {
                        layer.msg("调整幅度不能为空!");
                        return false;
                    } else if (!ref.test(temp)) {
                        layer.msg("调整幅度请输入正确非负数字!");
                        return false;
                    }
                    for (var i = 0; i < option.data.length; i++) {
                        option.data[i]["HPrice"] = Number(option.data[i]["HOldPrice"]) + Number(temp);
                    }
                }
                table.render(option);
            }
            //#endregion
@@ -768,6 +868,9 @@
                            , "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"]
                            , "HChangeType": tableMain[0]["HChangeType"] == null ? "自由" : tableMain[0]["HChangeType"]
                            , "HChangeValue": tableMain[0]["HChangeValue"]
                            , "HBackRemark": tableMain[0]["HBackRemark"]
                        });
                        //设置日期格式
@@ -788,6 +891,87 @@
            }
            //#endregion
            //#region ä¸‹æŽ¨é¡µé¢èµ‹å€¼
            function setInit_PushBill() {
                OperationType = 1;
                if (HSouceBillType == "3301") {
                    //获取 å·¥è‰ºè·¯çº¿ä¿¡æ¯
                    var data = getUrlVars_JSON().data;
                    var dataArray = [];
                    //子表  èµ‹å€¼
                    var rowdata = [];
                    for (var i = 0; i < data.length; i++) {
                        var temp = "none";
                        var sWhere = "";
                        sWhere += " and hmainid = " + data[i].hmainid;
                        sWhere += " and hsubid = " + data[i].hsubid;
                        $.ajax({
                            url: GetWEBURL() + "/LEMS/MES_Gy_RoutingBillList_Json",
                            async: false,
                            type: "GET",
                            data: { "sWhere": sWhere, "user": sessionStorage["HUserName"], "HBillSubType": "3301" },
                            success: function (result) {
                                if (result.code == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                                    temp = result.data[0];
                                } else {
                                    temp = result.data;
                                    //layer.alert(result.msg, { icon: 5, btn: ['退出'], time: 100000, offset: 't' });
                                }
                            }, error: function () {
                                temp = "none";
                                layer.alert("发生错误!", { icon: 5 });
                            }
                        });
                        if (temp != "none") {
                            dataArray.push(temp);
                        } else {
                            return;
                        }
                    }
                    for (var i = 0; i < dataArray.length; i++) {
                        rowdata.push(
                            {
                                "RowID": (i + 1) * 10
                                , "HMaterID": dataArray[i].HMaterID
                                , "HMaterNumber": dataArray[i].物料代码
                                , "HMaterName": dataArray[i].物料名称
                                , "HMaterModel": dataArray[i].规格型号
                                , "HWorkCenterID": dataArray[i].HCenterID
                                , "HWorkCenterNumber": dataArray[i].工作中心代码
                                , "HWorkCenterName": dataArray[i].工作中心名称
                                , "HProcID": dataArray[i].hprocid
                                , "HProcNumber": dataArray[i].工序代码
                                , "HProcName": dataArray[i].工序
                                , 'HSourceID': 0
                                , 'HSourceNumber': ""
                                , 'HSourceName': ""
                                , 'HOldPrice': dataArray[i].加工单价
                                , 'HPrice': '0'
                                , 'HOldFixPrice': dataArray[i].工价
                                , 'HFixPrice': '0'
                                , 'HBeginDate': Format(new Date(), "yyyy-MM-dd")
                                , 'HEndDate': Format(new Date(), "yyyy-MM-dd")
                                , 'HCostFlag': false
                                , "HRemark": ""
                                , "HSourceInterID": dataArray[i].hmainid
                                , "HSourceEntryID": dataArray[i].hsubid
                                , "HSourceBillNo": dataArray[i].单据号
                                , "HSourceBillType": HSouceBillType
                                , "HRelationQty": "0"
                                , "HRelationMoney": "0"
                                , "HCloseMan": ""
                                , "HEntryCloseDate": ""
                            }
                        );
                    }
                    option.data = rowdata;
                    table.render(option);
                }
                else {
                    return layer.msg('当前不支持该源单下推!!');
                }
            }
            //#endregion
            //#region å®¡æ ¸
            function set_CheckBill() {
                layer.confirm("确认要审核吗?", function (index) {
@@ -895,24 +1079,21 @@
                    layer.msg("单据号不能为空!");
                    return false;
                }
                if ($("#HInnerBillNo").val() == "") {
                    layer.msg("内部单据号不能为空!");
                if ($("#HDate").val() == "") {
                    layer.msg("日期不能为空!");
                    return false;
                }
                if ($("#HGroupName").val() == "") {
                    layer.msg("班组未选择!");
                    return false;
                }
                if ($("#HDeptName").val() == "") {
                if ($("#HDeptID").val() == "0") {
                    layer.msg("部门未选择!");
                    return false;
                }
                if ($("#HEmpName").val() == "") {
                    layer.msg("主管未选择!");
                if ($("#HChangeValue").val() == "") {
                    $("#HChangeValue").val(0);
                    return false;
                }
                if ($("#HPayTypeName").val() == "") {
                    layer.msg("工资类型未选择!");
                var ref = /^\d+(\.\d+)?$/;
                if (!ref.test($("#HChangeValue").val())) {
                    layer.msg("调整幅度请设置非负浮点数");
                    return false;
                }
                //#endregion
@@ -921,18 +1102,18 @@
                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 = ["HMaterNumber", "HProcNumber", "HEmpNumber", "HPackMaterName"];       //子表需要进行非空检验的属性清单
                var value3_ = ["物料", "工序", "职员", "包装方式"];                                 //子表需要进行非空检验的属性清单对应的列名清单
                var value1 = ["HOldPrice", "HPrice", "HOldFixPrice", "HFixPrice"];  //子表需要进行浮点数验证的属性清单
                var value1_ = ["原单价", "单价", "原小时定额", "小时定额"];  ////子表需要进行浮点数验证的属性清单对应的列名清单
                var value2 = [];  //子表需要整数检验的属性清单
                var value2_ = []; //子表需要整数检验的属性清单对应的列名清单
                var value3 = ["HMaterID", "HProcID", "HSourceID","HWorkCenterID"];       //子表需要进行非空检验的属性清单
                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 == "") {
                            if (temp == "0") {
                                layer.msg("第" + (i + 1) + "行:" + value3_[j] + "未选择!");
                                return false;
                            }
@@ -960,6 +1141,18 @@
                            }
                        }
                    }
                }
                //#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]["HSourceID"] + "|" + option.data[i]["HWorkCenterID"];
                    if ($.inArray(temp, num) != -1) {
                        layer.msg("第" + (i + 1) + "行:物料、工序、资源、工作中心重复,请重新选择!");
                        return false;
                    }
                    num.push(temp);
                }
                //#endregion
                return true;
@@ -1050,7 +1243,7 @@
                                , shift: 2                                          //弹出动画
                                , area: ["90%", "90%"]                              //窗体大小
                                , maxmin: true                                      //设置最大最小按钮是否显示
                                , content: ["../../../views/Baseset/基础资料/Gy_MaterialList.html", "yes"]
                                , content: ["../../基础资料/公用基础资料/Gy_Material.html?", "yes"]
                                , btn: ["确定", "取消"]
                                , btn1: function (index, laero) {
                                    //按钮一  çš„回调
@@ -1060,14 +1253,33 @@
                                    if (checkStatus.data.length != 1) {
                                        return layer.msg("请选择一条数据");
                                    }
                                    //更新表格缓存的数据
                                    obj.update({
                                        "HMaterID": checkStatus.data[0].HItemID
                                        , "HMaterNumber": checkStatus.data[0].HNumber
                                        , "HMaterName": checkStatus.data[0].HName
                                        , "HMaterModel": checkStatus.data[0].HModel
                                    })
                                    OptionData = checkStatus.data[0];
                                    layer.close(index);//关闭弹窗
                                }
                                , end: function () {
                                    //获取工价
                                    var HMaterID = OptionData.HItemID;
                                    var HProcID = obj.data.hasOwnProperty("HProcID") ? obj.data.HProcID + "" : "0";
                                    var HSourceID = obj.data.hasOwnProperty("HSourceID") ? obj.data.HSourceID + "" : "0";
                                    var HOldPrice = subTable_GetHPrice(HMaterID, HProcID, HSourceID);
                                    if (HOldPrice != -1) {
                                        //更新表格缓存的数据
                                        obj.update({
                                            "HMaterID": OptionData.HItemID
                                            , "HMaterNumber": OptionData.物料代码
                                            , "HMaterName": OptionData.物料名称
                                            , "HMaterModel": OptionData.规格型号
                                            , "HOldPrice": HOldPrice
                                        })
                                    } else {
                                        obj.update({
                                            "HMaterID": OptionData.HItemID
                                            , "HMaterNumber": OptionData.物料代码
                                            , "HMaterName": OptionData.物料名称
                                            , "HMaterModel": OptionData.规格型号
                                        })
                                    }
                                }
                            })
                        }
@@ -1082,7 +1294,7 @@
                                , shift: 2                                          //弹出动画
                                , area: ["90%", "90%"]                              //窗体大小
                                , maxmin: true                                      //设置最大最小按钮是否显示
                                , content: ["../../../views/Baseset/基础资料/Gy_ProcList.html", "yes"]
                                , content: ["../../基础资料/生产基础资料/Gy_Process.html", "yes"]
                                , btn: ["确定", "取消"]
                                , btn1: function (index, laero) {
                                    //按钮一  çš„回调
@@ -1092,13 +1304,31 @@
                                    if (checkStatus.data.length != 1) {
                                        return layer.msg("请选择一条数据");
                                    }
                                    //更新表格缓存的数据
                                    obj.update({
                                        "HProcID": checkStatus.data[0].HItemID
                                        , "HProcNumber": checkStatus.data[0].工序代码
                                        , "HProcName": checkStatus.data[0].工序
                                    })
                                    OptionData = checkStatus.data[0];
                                    layer.close(index);//关闭弹窗
                                }
                                , end: function () {
                                    //获取工价
                                    var HMaterID = obj.data.hasOwnProperty("HMaterID") ? obj.data.HMaterID + "" : "0";
                                    var HProcID = OptionData.HItemID;
                                    var HSourceID = obj.data.hasOwnProperty("HSourceID") ? obj.data.HSourceID + "" : "0";
                                    var HOldPrice = subTable_GetHPrice(HMaterID, HProcID, HSourceID);
                                    //更新表格缓存的数据
                                    if (HOldPrice != -1) {
                                        obj.update({
                                            "HProcID": OptionData.HItemID
                                            , "HProcNumber": OptionData.工序代码
                                            , "HProcName": OptionData.工序名称
                                            , "HOldPrice": HOldPrice
                                        })
                                    } else {
                                        obj.update({
                                            "HProcID": OptionData.HItemID
                                            , "HProcNumber": OptionData.工序代码
                                            , "HProcName": OptionData.工序名称
                                        })
                                    }
                                }
                            })
                        }
@@ -1113,7 +1343,7 @@
                                , shift: 2                                          //弹出动画
                                , area: ["90%", "90%"]                              //窗体大小
                                , maxmin: true                                      //设置最大最小按钮是否显示
                                , content: ["../../../views/基础资料/生产基础资料/Gy_Source.html", "yes"]
                                , content: ["../../基础资料/生产基础资料/Gy_Source.html", "yes"]
                                , btn: ["确定", "取消"]
                                , btn1: function (index, laero) {
                                    //按钮一  çš„回调
@@ -1123,13 +1353,61 @@
                                    if (checkStatus.data.length != 1) {
                                        return layer.msg("请选择一条数据");
                                    }
                                    //更新表格缓存的数据
                                    obj.update({
                                        "HSourceID": checkStatus.data[0].HItemID
                                        , "HSourceNumber": checkStatus.data[0].生产资源代码
                                        , "HSourceName": checkStatus.data[0].生产资源名称
                                    })
                                    OptionData = checkStatus.data[0];
                                    layer.close(index);//关闭弹窗
                                }
                                , end: function () {
                                    //获取工价
                                    var HMaterID = obj.data.hasOwnProperty("HMaterID") ? obj.data.HMaterID + "" : "0";
                                    var HProcID = obj.data.hasOwnProperty("HProcID") ? obj.data.HProcID + "" : "0";
                                    var HSourceID = OptionData.HItemID;
                                    var HOldPrice = subTable_GetHPrice(HMaterID, HProcID, HSourceID);
                                    //更新表格缓存的数据
                                    if (HOldPrice != -1) {
                                        obj.update({
                                            "HSourceID": OptionData.HItemID
                                            , "HSourceNumber": OptionData.生产资源代码
                                            , "HSourceName": OptionData.生产资源名称
                                            , "HOldPrice": HOldPrice
                                        })
                                    } else {
                                        obj.update({
                                            "HSourceID": OptionData.HItemID
                                            , "HSourceNumber": OptionData.生产资源代码
                                            , "HSourceName": OptionData.生产资源名称
                                        })
                                    }
                                }
                            })
                        }
                        if (obj.event == "HWorkCenterNumber") {
                            layer.open({
                                type: 2
                                , area: ['90%', '90%']//大小
                                , title: '工作中心列表'
                                , shade: 0.6 //遮罩透明度
                                , maxmin: true //允许全屏最小化
                                , anim: 0 //0-6的动画形式,-1不开启
                                , content: ['../../../views/基础资料/公用基础资料/Gy_WorkCenter.html', 'yes']
                                , resize: false
                                , 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('请选择数据');
                                    }
                                    OptionData = checkStatus.data[0];
                                    layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                                }
                                , btn2: function (index, layero) { }
                                , end: function () {
                                    obj.update({
                                        "HWorkCenterID": OptionData.HItemID
                                        , "HWorkCenterNumber": OptionData.工作中心代码
                                        , "HWorkCenterName": OptionData.工作中心名称
                                    });
                                }
                            })
                        }
@@ -1138,83 +1416,6 @@
                    }
                })
                //#endregion
                //#region å¤±ç„¦è§¦å‘事件
                //$(document).off('change', ".layui-table-edit").on('change', '.layui-table-edit', function (e) {
                //    var fieldList = ["HQty", "HPrice", "HPriceRate", "HSubsidyQty", "HSubsidyTotal", "HDeuctTotal", "HPackQty", "HPackPrice"];  //绑定该事件的元素的event属性值清单
                //    if ($.inArray(obj.event, fieldList) >= 0) {
                //        //获取change后的新值
                //        var HQty = obj.data.HQty;                                       //数量
                //        var HPrice = obj.data.HPrice;                                 //工价
                //        var HPriceRate = obj.data.HPriceRate;                     //定额浮动比率
                //        var HSubsidyQty = obj.data.HSubsidyQty;                  //补贴数量
                //        var HSubsidyTotal = obj.data.HSubsidyTotal;            //补贴合计
                //        var HDeuctTotal = obj.data.HDeuctTotal;                  //扣款小计
                //        var HPackQty = obj.data.HPackQty;                           //包装数量
                //        var HPackPrice = obj.data.HPackPrice;                     //包装单价
                //        var valueList = [];
                //        valueList.push(HQty);
                //        valueList.push(HPrice);
                //        valueList.push(HPriceRate);
                //        valueList.push(HSubsidyQty);
                //        valueList.push(HSubsidyTotal);
                //        valueList.push(HDeuctTotal);
                //        valueList.push(HPackQty);
                //        valueList.push(HPackPrice);
                //        //检验数据格式
                //        var temp;                           //存储需要校验的数据
                //        var ref = /^\d+(\.\d+)?$/;          //正则表达式-校验是否为非负数字
                //        for (var i = 0; i < valueList.length; i++) {
                //            temp = valueList[i] + "";
                //            if (temp == "") {
                //                //valueList[i] = 0;
                //                layer.msg("数据不可以为空!");
                //                //若校验存在问题,则将值变更为change前的值
                //                //HQty = valueList[0];
                //                //HPrice = valueList[1];
                //                //HPriceRate = valueList[2];
                //                //HSubsidyQty = valueList[3];
                //                //HSubsidyTotal = valueList[4];
                //                //HDeuctTotal = valueList[5];
                //                //HPackQty = valueList[6];
                //                //HPackPrice = valueList[7];
                //                return;
                //            } else if (!ref.test(temp)) {
                //                //valueList[i] = 0;
                //                layer.msg("请输入非负数字!")
                //                //若校验存在问题,则将值变更为change前的值
                //                //HQty = valueList[0];
                //                //HPrice = valueList[1];
                //                //HPriceRate = valueList[2];
                //                //HSubsidyQty = valueList[3];
                //                //HSubsidyTotal = valueList[4];
                //                //HDeuctTotal = valueList[5];
                //                //HPackQty = valueList[6];
                //                //HPackPrice = valueList[7];
                //                return;
                //            }
                //        }
                //        var baseSum = HQty * HPrice * HPriceRate;
                //        var HSubsidyMoney = HSubsidyQty * HPrice;                                                   //补贴金额
                //        var HPackMoney = HPackQty * HPackPrice;                                                     //包装金额
                //        var HMoney = baseSum + HSubsidyMoney + HSubsidyTotal + HSubsidyTotal + HPackMoney - HDeuctTotal;                //金额 = æ•°é‡*工价*额定浮动比率 + è¡¥è´´æ•°é‡*工价 + è¡¥è´´åˆè®¡ + åŒ…装数量*包装单价 - æ‰£æ¬¾å°è®¡
                //        //更新表格缓存的数据
                //        //obj.update({
                //        //    "HQty": HQty
                //        //    , "HPrice": HPrice
                //        //    , "HPriceRate": HPriceRate
                //        //    , "HSubsidyQty": HSubsidyQty
                //        //    , "HSubsidyMoney": HSubsidyMoney
                //        //    , "HSubsidyTotal": HSubsidyTotal
                //        //    , "HDeuctTotal": HDeuctTotal
                //        //    , "HPackQty": HPackQty
                //        //    , "HPackPrice": HPackPrice
                //        //    , "HPackMoney": HPackMoney
                //        //    , "HMoney": HMoney
                //        //})
                //    }
                //});
                //#endregion
            }
            //#endregion
@@ -1264,7 +1465,7 @@
                    success: function (data1) {
                        if (data1.data.length != 0) {
                            var dataCol = [];//数据库查询出的列数据
                            var titleData = ["行号", "物料ID", "工序ID", "职员ID", "包装类型ID"];//不需要显示的字段 å¯æ‰©å±•
                            var titleData = ["行号", "物料ID", "工序ID", "职员ID", "资源ID", "源单主内码", "源单子内码", "源单单号", "源单类型", "关联数量", "关联金额", "行关闭人", "行关闭时间"];//不需要显示的字段 å¯æ‰©å±•
                            dataCol = data1.data[0].HGridString.split(',');
@@ -1280,9 +1481,9 @@
                                }
                                //设置内容字体大小
                                if (data1.data[0].HFontSize != 0) {
                                    option.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
                                    option.cols[0][i + 1]["style"] += "font-size:" + data1.data[0].HFontSize + "px;";
                                } else {
                                    option.cols[0][i + 1]["style"] = "font-size:100%";
                                    option.cols[0][i + 1]["style"] += "font-size:100%";
                                }
                                //设置列宽
                                //if (data1.data[0].HColumnWidth != 0) {
@@ -1351,14 +1552,63 @@
                form.render('checkbox');
            }
            //#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
        });
        //双击返回基础资料数据    è¡¨å¤´
        function GetHDeptNameValue(obj)  //返回部门
        {
            $("#HDeptName").val(obj[0].部门名称);
            $("#HDeptID").val(obj[0].HItemID);
        }
        //双击返回基础资料数据    åˆ—表
        function GetGyMaterial(data)  //返回物料
        {
            OptionData = data
        }
        function GetProcessValue(data)  //返回工序
        {
            OptionData = data[0]
        }
        function GetGySource(data)  //返回生产资源
        {
            OptionData = data[0]
        }
        function GetWorkCenterValue(data)  //返回工作中心
        {
            OptionData = data[0];
        }
    </script>
</body>
</html>