yangle
2024-04-26 a005e2e61fe87c43436febfd6103bba21b232a7e
WebTM/views/ÑéÊÕÈë¿â/Í⹺Èë¿â/Add_Edit_Kf_POStockInBillList.html
@@ -49,7 +49,8 @@
                <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="set_SaveBill">保存</button>
                            <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="set_CheckBill">审核</button>
                            <button type="button" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="Exit">退出</button>
                        </div>
                    </div>
@@ -101,7 +102,7 @@
                                        <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"  class="layui-input" value="" style="float:left;width:150px;">
                                                <input type="text" name="HEmpName" id="HEmpName" class="layui-input" value="" style="float:left;width:150px;">
                                                <input type="hidden" name="HEmpID" id="HEmpID" class="layui-input" value=0 style="float:left;width:150px;">
                                                <button type="button" lay-submit="" class="layui-btn" lay-filter="HEmpList" style="width:40px;">
                                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i>
@@ -166,15 +167,15 @@
                                            <label class="layui-form-label">选单号</label>
                                            <div class="layui-input-inline">
                                                <input type="text" name="" id="" class="layui-input" value="" style="float:left;width:150px;">
                                                <button type="button" lay-submit="" class="layui-btn" lay-filter="XDHList" id="XDHList" style="width:40px;">
                                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i>
                                                </button>
                                            </div>
                                            <!--<label class="layui-form-label">选单号</label>
                                            <div class="layui-input-inline">
                                                <input class="layui-input" name="Box2" id="Box2" autocomplete="off">
                                            </div>-->
            <div class="layui-input-inline">
                <input class="layui-input" name="Box2" id="Box2" autocomplete="off">
            </div>-->
                                        </div>
                                        <div class="layui-col-xs4 layui-inline">
                                            <label class="layui-form-label">负责人</label>
@@ -190,20 +191,52 @@
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-col-xs7 layui-inline">
                                            <label class="layui-form-label">摘要</label>
                                            <div class="layui-input-block">
                                                <input class="layui-input" name="HExplanation" id="HExplanation" autocomplete="off">
                                        <div class="layui-col-xs4 layui-inline">
                                            <label class="layui-form-label">发票编号</label>
                                            <div class="layui-input-inline">
                                                <input class="layui-input" name="HInvoiceBillNo" id="HInvoiceBillNo" autocomplete="off">
                                            </div>
                                        </div>
                                        <div class="layui-col-xs4 layui-inline">
                                            <label class="layui-form-label">项目编码</label>
                                            <div class="layui-input-inline">
                                                <input type="text" name="HProjectNumber" id="HProjectNumber" class="layui-input" value="" style="float: left; width: 150px; background-color: #efefef4d;" readonly>
                                                <input type="hidden" name="HProjectID" id="HProjectID" class="layui-input" value="0" style="float: left; width: 150px; background-color: #efefef4d;">
                                                <button type="button" lay-submit="" class="layui-btn" lay-filter="btnHProjectID" style="width:40px;">
                                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i>
                                                </button>
                                            </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="HProjectName" id="HProjectName" style="background-color:#efefef4d;" readonly autocomplete="off">
                                            </div>
                                        </div>
                                    </div>
                                    <!--<div class="layui-row">
        <div class="layui-col-xs7 layui-inline">
            <label class="layui-form-label">摘要</label>
            <div class="layui-input-block">
                <input class="layui-input" name="HExplanation" id="HExplanation" autocomplete="off">
            </div>
        </div>
    </div>-->
                                    <div class="layui-row">
                                        <div class="layui-col-xs7 layui-inline">
                                            <label class="layui-form-label">备注</label>
                                            <div class="layui-input-block">
                                                <input class="layui-input" name="HRemark" id="HRemark" autocomplete="off">
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-inline">
                                        <label class="layui-form-label" style="width: 85px;">组织</label>
                                        <div class="layui-input-block" style="margin-left: 120px; width: 185px;">
                                            <select name="HOrgID" id="HOrgID" lay-verify="HOrgID">
                                                <!--动态渲染组织-->
                                            </select>
                                        </div>
                                    </div>
                                </div>
@@ -260,7 +293,7 @@
                                                <input type="text" class="layui-input" name="HCheckDate" id="HCheckDate" style="background-color:#efefef4d;" readonly>
                                            </div>
                                        </div>
                                        <div class="layui-inline" >
                                        <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>
@@ -332,7 +365,6 @@
            //#region è¿›å…¥é¡µé¢å³åŠ è½½
            //判断是否登录 æœªç™»å½•则跳到登录页
            get_LoginIs();
@@ -346,92 +378,91 @@
            Organ();//显示组织
            //获取源单类型
            HSourceBillType();
            //获取页面跳转参数
          //获取页面跳转参数
            var params = get_UrlVars();
            var OperationType = params[params[0]]; //从参数中获取 æ•°æ®ç±»åž‹  1添加 ä¿å­˜  2复制  3 ç¼–辑
            var linterid = params[params[1]]; //从参数中获取 å•据内码
            if (typeof (params[params[0]]) == "undefined") {
                OperationType = 1;//操作类型
            } else {
                OperationType = params[params[0]];//操作类型
                linterid = params[params[1]];//源单id
                var OperationType = params[params[0]];//操作类型
                var linterid = params[params[1]];//源单id
                var HSouceBillType = params[params[2]];//源单类型
            }
            //判断操作类型
            if (OperationType == 1) {//无源单新增
                $("#HItemID").val(0);
                //禁用组织选项
                $("#HUSEORGID").attr("disabled", true);
           //#region èŽ·å–æœ€å¤§å•æ®å·
            function get_MAXNum() {
                $("#HInterID").val("0");
                $("#HBillNo").val("");
                $.ajax({
                    url: GetWEBURL() + "/WEBSController/GetMaxBillNoAndID_Json",
                    type: "GET",
                    data: { "HBillType": '1201' },
                    success: function (d) {
                        $("#HBillNo").val(d.data[0].HBillNo);
                        $("#HInterID").val(d.data[0].HInterID);
                    }
                });
            }
            else if (OperationType == 3) {//编辑
                //禁用组织选项
                $("#HUSEORGID").attr("disabled", true);
                $("#HItemID").val(linterid);//修改时主表ID
            //#endregion
          // åˆå§‹åŒ–界
            set_InitGrid();
         //#region åˆ¤æ–­æ“ä½œç±»åž‹å¹¶åˆå§‹åŒ–界面
            if (OperationType == 1) {                                                   //无源单新增
               /* $("#HItemID").val(0);*/
                //生成单据号和内码
               get_MAXNum();
                //初始化日期、创建人、创建时间
                $("#HDate").val(Format(new Date(), "yyyy-MM-dd"));
                $("#HReceiveDate").val(Format(new Date(), "yyyy-MM-dd"));
                $("#HMaker").val(sessionStorage["HUserName"]);
                $("#HMakeDate").val(Format(new Date(), "yyyy-MM-dd hh:mm:ss"));
            }
            else if (OperationType == 3) {                                              //编辑
                //修改时主表ID
                $("#HInterID").val(linterid);
                //编辑状态时,根据内码,获取信息并写入界面
                RoadBillMain(linterid);
            }
            else if (OperationType == 4) {//浏览
                $("#HItemID").val(linterid);//
                //编辑状态时,根据内码,获取信息并写入界面
                RoadBillMain(linterid);
                $('#set_SaveBill').addClass("layui-btn-disabled").attr("disabled", true);//保存后加载数据时保存按钮禁用
            else if (OperationType == 4) {                     //下推
                setInit_PushBill();
            }
            else {
                layer.alert("未知操作类型!", { icon: 5 });
            }
            //#endregion
            //判断是否新增
            if (linterid == null || linterid == 0) {
                //获取最大单据号 new
                $("#HMaker").val(sessionStorage["HUserName"]);
                $("#HInterID").val("0");
                $("#HBillNo").val("");
                $.ajax({
                    url: GetWEBURL() + "/Web/GetMAXNum",
                    type: "GET",
                    data: { "HBillType": '1201' },
                    success: function (d) {
                        //console.log(d.data);
                        $("#HBillNo").val(d.data[0].HBillNo);
                        $("#HDate").val(Format(new Date(), "yyyy-MM-dd"));
                        $("#HInterID").val(d.data[0].HInterID);
                        $("#HSSDate").val(Format(new Date(), "yyyy-MM-dd")); //结算方式
                    }
                });
            } else {//如果修改则走下面 new
                $("#HInterID").val(linterid);
                RoadBillMain(linterid);
            }
            //#endregion
            //#endregion
            var rowdata = [{
                "HMaterID": 0, "物料代码": "", "物料名称": "", "规格型号": "", "HAuxPropID": 0, "物料辅助属性": "", "HUnitID": 0, "计量单位": "", "HQtyMust": "", "HQty": "", "HRemark": "",
                "HMaterID": 0, "物料代码": "", "物料名称": "", "规格型号": "", "HUnitID": 0, "计量单位": "", "HQtyMust": "0", "HQty": "", "HRemark": "",
                "HPrice": "0", "HMoney": "0", "HOrderPrice": "0", "HWHID": 0, "收料仓库": "",
                "HSPID": 0, "仓位名称": "", "HBatchNo": "", "HPOOrderInterID": 0, "HPOOrderEntryID": 0,
                "HPOOrderBillNo": "", "HSeOrderInterID": 0, "HSeOrderEntryID": 0, "HSeOrderBillNo": "",
                "HSourceBillNo": 0, "HSourceBillType": 0, "HSourceInterID": 0, "HSourceEntryID": 0,
                "HSourceBillNo": 0, "HSourceBillType": 0, "HSourceInterID": 0, "HSourceEntryID": 0,
                "HTaxRate": 0, "HTaxPrice": 0, "HlineTotal": 0
            }];
            // åˆå§‹åŒ–界
            set_InitGrid();
            //头工具栏事件
            table.on('toolbar(mainTable)', function (obj) {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                //新增行表格数据
                var NewRow = {
                    "HMaterID": 0, "物料代码": "", "物料名称": "", "规格型号": "", "HAuxPropID": 0, "物料辅助属性": "", "HUnitID": 0, "计量单位": "", "HQtyMust": "", "HQty": "", "HRemark": "",
                    "HMaterID": 0, "物料代码": "", "物料名称": "", "规格型号": "", "HUnitID": 0, "计量单位": "", "HQtyMust": "", "HQty": "", "HRemark": "",
                    "HPrice": "0", "HMoney": "0", "HOrderPrice": "0", "HWHID": 0, "收料仓库": "",
                    "HSPID": 0, "仓位名称": "", "HBatchNo": "", "HPOOrderInterID": 0, "HPOOrderEntryID": 0,
                    "HPOOrderBillNo": "", "HSeOrderInterID": 0, "HSeOrderEntryID": 0, "HSeOrderBillNo": "",
                    "HSourceBillNo": 0, "HSourceBillType": 0, "HSourceInterID": 0, "HSourceEntryID": 0,
                    "HTaxRate": 0, "HTaxPrice": 0, "HlineTotal": 0
                };
                switch (obj.event) {
                    case 'btn-AddLine':
@@ -475,6 +506,10 @@
                Pub_Close(1);
            })
           //#region å®¡æ ¸æŒ‰é’®
            form.on('submit(set_CheckBill)', function (data) {
                set_CheckBill(0);
            });
            //选择业务员按钮
            form.on('submit(HEmpList)', function () {
                get_checkEmp();
@@ -483,6 +518,11 @@
            form.on('submit(HSupList)', function () {
                get_checkSup();
            });
            //选择工程项目
            form.on('submit(btnHProjectID)', function () {
                get_btnHProjectID();
            });
            //选择部门按钮
            form.on('submit(HWHList)', function () {
                get_checkWH();
@@ -503,12 +543,6 @@
            //选择主管按钮
            form.on('submit(HManagerList)', function () {
                get_checkManager();
            });
            //保存按钮
            form.on('submit(set_SaveBill)', function (data) {
                set_SaveBill(data);
            });
            //行内事件
@@ -570,14 +604,27 @@
                        var HQty = value * 1;                           //数量
                        var HPrice = obj.data.HPrice * 1;               //单价
                        var HMoney = HQty * HPrice;                     //金额=数量*单价
                        var HTaxRate = obj.data.HTaxRate * 0.01;           //税率
                        var HTaxPrice = HPrice * (1 + HTaxRate);        //含税单价=单价*(1+税率)
                        var HTaxMoney = HMoney * HTaxRate;              //税额=金额*税率
                        var HlineTotal = HMoney + HTaxMoney;            //价税合计=金额+税额
                        HQty = dealDoubleToFixed(HQty, 1);
                        HPrice = dealDoubleToFixed(HPrice, 3);
                        HTaxRate = HTaxRate;
                        HTaxPrice = dealDoubleToFixed(HTaxPrice, 3);
                        HMoney = dealDoubleToFixed(HMoney, 2);
                        HlineTotal = dealDoubleToFixed(HlineTotal, 2);
                        //同步更新表格和缓存对应的值
                        obj.update({
                            HQty: HQty
                            , HPrice: HPrice
                            , HMoney: HMoney
                            , HTaxRate: HTaxRate * 100
                            , HTaxPrice: HTaxPrice
                            , HMoney: HMoney
                            , HlineTotal: HlineTotal
                        });
                        /* table.render(option);*/
                        break;
@@ -599,13 +646,27 @@
                        var HQty = obj.data.HQty * 1;                   //数量
                        var HPrice = value * 1;
                        var HMoney = HQty * HPrice;                     //金额=数量*单价
                        var HTaxRate = obj.data.HTaxRate * 0.01;        //税率
                        var HTaxPrice = HPrice * (1 + HTaxRate);        //含税单价=单价*(1+税率)
                        var HTaxMoney = HMoney * HTaxRate;              //税额=金额*税率
                        var HlineTotal = HMoney + HTaxMoney;            //价税合计=金额+税额
                        //设置数据小数位数
                        HQty = dealDoubleToFixed(HQty, 1);
                        HPrice = dealDoubleToFixed(HPrice, 3);
                        HTaxRate = HTaxRate;
                        HTaxPrice = dealDoubleToFixed(HTaxPrice, 3);
                        HMoney = dealDoubleToFixed(HMoney, 2);
                        HlineTotal = dealDoubleToFixed(HlineTotal, 2);
                        //同步更新表格和缓存对应的值
                        obj.update({
                            HQty: HQty
                            , HPrice: HPrice
                            , HMoney: HMoney
                            , HTaxRate: HTaxRate * 100
                            , HTaxPrice: HTaxPrice
                            , HlineTotal: HlineTotal
                        });
                        break;
                    case "HMoney":                                         //金额
@@ -626,16 +687,76 @@
                        var HQty = obj.data.HQty * 1;                   //数量
                        var HMoney = value * 1;
                        var HPrice = (HMoney / HQty).toFixed(2);       //单价=金额/数量
                        var HTaxRate = value * 0.01;                       //税率
                        var HTaxPrice = HPrice * (1 + HTaxRate);        //含税单价=单价*(1+税率)
                        var HTaxMoney = HMoney * HTaxRate;              //税额=金额*税率
                        var HlineTotal = HMoney + HTaxMoney;            //价税合计=金额+税额
                        HQty = dealDoubleToFixed(HQty, 1);
                        HPrice = dealDoubleToFixed(HPrice, 3);
                        HTaxRate = HTaxRate;
                        HTaxPrice = dealDoubleToFixed(HTaxPrice, 3);
                        HMoney = dealDoubleToFixed(HMoney, 2);
                        HlineTotal = dealDoubleToFixed(HlineTotal, 2);
                        //同步更新表格和缓存对应的值
                        obj.update({
                            HQty: HQty
                            , HPrice: HPrice
                            , HTaxRate: HTaxRate * 100
                            , HTaxPrice: HTaxPrice
                            , HMoney: HMoney
                            , HlineTotal: HlineTotal
                        });
                        break;
                        table.render(option);
                    case "HTaxRate":                                                       //数量
                        //数据格式校验
                        temp = value + "";
                        if (!ref.test(temp)) {
                            //恢复数据到编辑前
                            obj.update({
                                HTaxRate: oldText
                            });
                            table.render(option);
                            layer.msg("税率请输入不小于0的数字!");
                            return;
                        }
                        //数据校验合格,重算记录
                        var HQty = obj.data.HQty * 1;                   //数量
                        var HPrice = obj.data.HPrice * 1;               //单价
                        var HTaxRate = value * 0.01;                       //税率
                        /*var HDiscountRate = obj.data.HDiscountRate * 1; //折扣率*/
                        var HTaxPrice = HPrice * (1 + HTaxRate);        //含税单价=单价*(1+税率)
                        /*var HRelTaxPrice = HTaxPrice * HDiscountRate;   //实际含税单价=含税单价*折扣率*/
                        //折扣额 = å«ç¨Žå•ä»· * (1 - æŠ˜æ‰£çއ) * æ•°é‡
                        var HMoney = HQty * HPrice;                     //金额=数量*单价
                        var HTaxMoney = HMoney * HTaxRate;              //税额=金额*税率
                        var HlineTotal = HMoney + HTaxMoney;            //价税合计=金额+税额
                        //设置数据小数位数
                        HQty = dealDoubleToFixed(HQty, 1);
                        HPrice = dealDoubleToFixed(HPrice, 3);
                        HTaxRate = HTaxRate;
                        HTaxPrice = dealDoubleToFixed(HTaxPrice, 3);
                        HMoney = dealDoubleToFixed(HMoney, 2);
                        HlineTotal = dealDoubleToFixed(HlineTotal, 2);
                        //同步更新表格和缓存对应的值
                        obj.update({
                            HQty: HQty
                            , HPrice: HPrice
                            , HTaxRate: HTaxRate * 100
                            , HTaxPrice: HTaxPrice
                            , HMoney: HMoney
                            , HlineTotal: HlineTotal
                        });
                        //table.render(option);
                        break;
                    default:
                }
            });
@@ -657,27 +778,28 @@
            //#endregion
            //获取组织
          //获取组织
            function Organ() {
                //获取登录页组织列
                var Organization = '';
                $.ajax({
                    type: "get",
                    url: GetWEBURL() + "/Web/GetOrganizations",
                    success: function (result) {
                        var Organization = "";
                        if (result.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                            var data = result.data;
                            for (var i = 0; i < data.length; i++) {
                                Organization += '<option  style="color:blue;" value="' + data[i].ID + '">' + data[i].Name + '</option>';
                            }
                            $("#HUSEORGID").append(Organization);
                            $("#HUSEORGID").val(sessionStorage["OrganizationID"])
                            $("#HOrgID").append(Organization);
                            $("#HOrgID").val(sessionStorage["OrganizationID"])
                            form.render('select');
                        }
                        layer.closeAll("loading");
                    }
                })
            }
            //日期格式化
            function formatDate(date) {
@@ -712,10 +834,8 @@
                        , { field: 'HSourceEntryID', title: '源单子内码', width: 100, hide: true }//源单子内码
                        , { field: 'HMaterID', title: 'HMaterID', width: 100, hide: true }
                        , { field: '物料代码', title: '物料代码', width: 150, edit: 'text', event: "HMaterID" }//f7
                        , { field: '物料名称', title: '物料名称', width: 150, }
                        , { field: '规格型号', title: '规格型号', width: 100, }
                        , { field: 'HAuxPropID', title: 'HAuxPropID', width: 100, hide: true }
                        , { field: '物料辅助属性', title: '物料辅助属性', width: 150, edit: 'text'}//f7
                        , { field: '物料名称', title: '物料名称', width: 150, style: 'background-color:#efefef4d;' }
                        , { field: '规格型号', title: '规格型号', width: 100, style: 'background-color:#efefef4d;'}
                        , { field: 'HUnitID', title: 'HUnitID', width: 100, hide: true }
                        , { field: '计量单位', title: '计量单位', width: 100, edit: 'text', event: "HUnitID" }//f7
                        , { field: 'HQtyMust', title: '应收数量', width: 150, edit: 'text', totalRow: true}
@@ -727,12 +847,15 @@
                        , { field: '收料仓库', title: '收料仓库', width: 100, edit: 'text', event: "HWHID" }//f7
                        , { field: 'HSPID', title: 'HSPID', width: 100, hide: true }
                        , { field: '仓位名称', title: '仓位名称', width: 100, edit: 'text', event: "HSPID" }//f7
                        , { field: 'HTaxRate', title: '税率', width: 100, edit: 'text' }
                        , { field: 'HTaxPrice', title: '含税单价', width: 100, edit: 'text' }
                        , { field: 'HlineTotal', title: '含税金额', width: 100, style: 'background-color:#efefef4d;' }
                        , { field: 'HBatchNo', title: '批次', width: 150, edit: 'text' }
                        , { field: 'HRemark', title: '备注', width: 100, edit: 'text' }
                        , { fixed: 'right', title: '操作', toolbar: '#barDemo', width: 70 }
                    ]]
                }
                option.data = [];
                table.render(option);
            }
@@ -760,7 +883,7 @@
                                , "HEmpID": data.HEmpID
                                , "HEmpName": data.业务员
                                , "HWHID": data.HWHID
                                , "HWHName": data.收料仓库
                                , "HWHName": data.主表仓库
                                , "HSecManagerID": data.HSecManagerID
                                , "HSecManagerName": data.验收员
                                , "HKeeperID": data.HKeeperID
@@ -771,6 +894,11 @@
                                , "HManagerID": data.HManagerID
                                , "HManagerName": data.负责人
                                , "HExRate": data.汇率
                                , "HProjectID": data.HProjectID
                                , "HProjectNumber": data.项目代码
                                , "HProjectName": data.项目名称
                                , "HInvoiceBillNo": data.发票编号
                                , "HExplanation ":data.摘要
                                //, "Box2": ""
                                , "HRemark": data.表头备注
                                , "HMaker": data.制单人
@@ -781,7 +909,7 @@
                                , "HCloseDate": data.关闭日期
                                , "HUpDateDate": data.修改日期
                                , "HDeleteDate": data.作废日期
                            });
                            //子表  èµ‹å€¼
                            subdata=result.data
@@ -789,13 +917,14 @@
                            for (var i = 0; i < subdata.length; i++) {
                                rowdata.push(
                                    {
                                        "HMaterID": subdata[i].HMaterID, "物料代码": subdata[i].物料代码, "物料名称": subdata[i].物料名称, "规格型号": subdata[i].规格型号, "HAuxPropID": subdata[i].HAuxPropID, "物料辅助属性": subdata[i].物料辅助属性, "HUnitID": subdata[i].HUnitID, "计量单位": subdata[i].计量单位,
                                        "HMaterID": subdata[i].HMaterID, "物料代码": subdata[i].物料代码, "物料名称": subdata[i].物料名称, "规格型号": subdata[i].规格型号, "HUnitID": subdata[i].HUnitID, "计量单位": subdata[i].计量单位,
                                        "HQtyMust": subdata[i].应收数量, "HQty": subdata[i].实收数量, "HRemark": subdata[i].表体备注, "HPrice": subdata[i].单价, "HMoney": subdata[i].金额, "HOrderPrice": subdata[i].采购金额, "HWHID": subdata[i].HWHID, "收料仓库": subdata[i].收料仓库, "HSPID": subdata[i].HSPID, "仓位名称": subdata[i].仓位名称,
                                        "HBatchNo": subdata[i].批次,
                                        "HSourceBillNo": subdata[i].源单单号,    //源单号
                                        "HSourceBillType": subdata[i].源单类型,   //源单类型
                                        "HSourceInterID": subdata[i].源单主内码,   //源单主内码
                                        "HSourceEntryID": subdata[i].源单子内码     //源单子内码
                                        "HSourceEntryID": subdata[i].源单子内码,     //源单子内码
                                        "HTaxRate": subdata[i].税率, "HTaxPrice": subdata[i].含税单价, "HlineTotal": subdata[i].含税金额
                                    }
                                )
                            }
@@ -815,7 +944,7 @@
                });
            }
            //#endregion
            //退出
            form.on('submit(Exit)', function (data) {
                if (linterid == undefined) {
@@ -828,15 +957,293 @@
                }
            });
      //#region ä¿å­˜æŒ‰é’®
            form.on('submit(Saver)', function (data) {
                //#region åˆ¤æ–­æºå•状态
                if (OperationType == 1 || OperationType == 4) {
                    if ($("#HSourceBillType").val() == "1102") {
                        for (var i = 0; i < option.data.length; i++) {
                            if (option.data[i] != []) {
                                var HSourceBillData = "";
                                var HSourceBillData = getPushSource_POOrderBillInit(option.data[i].HSourceInterID, option.data[i].HSourceEntryID);            //获取源单数据
                                if (HSourceBillData != "none") {
                                    if (HSourceBillData == null) {
                                        layer.alert("保存失败!第" + (i + 1) + "行:未查询到源单单据!", { icon: 5 });
                                        return;
                                    } else if (HSourceBillData.状态 != "已审核") {
                                        var err = "保存失败!原因:第" + (i + 1) + "行-源单单据状态为“" + HSourceBillData.状态 + "”,不允许保存!";
                                        layer.alert(err, { icon: 5 });
                                        return;
                                    } else if (HSourceBillData.行状态 == "已关闭") {
                                        layer.alert("保存失败!第" + (i + 1) + "行:该行记录行状态为'已关闭'状态!", { icon: 5 });
                                        return;
                                    }
                                } else {
                                    return;
                                }
                            }
                        }
                    }
                    else if ($("#HSourceBillType").val() == "1103") {
                        for (var i = 0; i < option.data.length; i++) {
                            if (option.data[i] != []) {
                                var HSourceBillData = "";
                                var HSourceBillData = getPushSource_POInStockBillInit(option.data[i].HSourceInterID, option.data[i].HSourceEntryID);            //获取源单数据
                                if (HSourceBillData != "none") {
                                    if (HSourceBillData == null) {
                                        layer.alert("保存失败!第" + (i + 1) + "行:未查询到源单单据!", { icon: 5 });
                                        return;
                                    } else if (HSourceBillData.状态 != "已审核") {
                                        var err = "保存失败!原因:第" + (i + 1) + "行-源单单据状态为“" + HSourceBillData.状态 + "”,不允许保存!";
                                        layer.alert(err, { icon: 5 });
                                        return;
                                    } else if (HSourceBillData.行状态 == "已关闭") {
                                        layer.alert("保存失败!第" + (i + 1) + "行:该行记录行状态为'已关闭'状态!", { icon: 5 });
                                        return;
                                    }
                                } else {
                                    return;
                                }
                            }
                        }
                    }
                    else {
                        return layer.msg('当前不支持该源单!!');
                    }
                }
                //#endregion
                //if (AllowLoadData(data)) {
                    set_SaveBill(data);
                //}
            });
            //#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 setInit_PushBill() {
                 //生成单据号和内码
               get_MAXNum();
                //初始化日期、制单人、制单日期
                $("#HDate").val(Format(new Date(), "yyyy-MM-dd"));
                $("#HReceiveDate").val(Format(new Date(), "yyyy-MM-dd"));
                $("#HMaker").val(sessionStorage["HUserName"]);
                $("#HMakeDate").val(Format(new Date(), "yyyy-MM-dd hh:mm:ss"));
                //设置源单类型
                $("#HSourceBillType").val(HSouceBillType);
                //禁用组织选项
                $("#HOrgID").attr("disabled", true);
               if ($("#HSourceBillType").val() == "1102") {
                    //获取
                    var data = getUrlVars_JSON().data;
                    var dataArray = [];
                    for (var i = 0; i < data.length; i++) {
                        var temp = getPushSource_POOrderBillInit(data[i].hmainid, data[i].hsubid);
                        if (temp != "none") {
                            dataArray.push(temp);
                        } else {
                            return;
                        }
                    }
                    form.val("component-form-group", { //formTest å³ class="layui-form" æ‰€åœ¨å…ƒç´ å±žæ€§ lay-filter="" å¯¹åº”的值
                        "HMainSourceInterID": "0"
                        , "HMainSourceEntryID": "0"
                        , "HMainSourceBillNo": ""
                        , "HMainSourceBillType": $("#BillType").val()
                        , "HDeptID": dataArray[0].HDeptID
                        , "HDeptName": dataArray[0].部门
                        , "HMangerID": dataArray[0].HManagerID
                        , "HMangerName": dataArray[0].负责人
                        , "HWHID": dataArray[0].HWHID
                        , "HWHName": dataArray[0].仓库
                        , "HEmpID": dataArray[0].HEmpID
                        , "HEmpName": dataArray[0].业务员
                        , "HSecManagerID": dataArray[0].HSecManagerID
                        , "HSecManagerName": dataArray[0].验收员
                        , "HKeeperID": dataArray[0].HKeeperID
                        , "HKeeperName": dataArray[0].保管员
                        , "HSupID": dataArray[0].HSupID
                        , "HSupName": dataArray[0].供应商
                        , "HCurID": dataArray[0].HCurID
                        , "HCurName": dataArray[0].币别
                        , "HExRate": dataArray[0].汇率
                        , "HSSID": dataArray[0].HSSID
                        , "HSSName": dataArray[0].结算方式
                        , "HPSStyleID": dataArray[0].HPSStyleID
                        , "HPSStyleName": dataArray[0].采购方式
                    });
                    //子表  èµ‹å€¼
                    var rowdata = [];
                    for (var i = 0; i < dataArray.length; i++) {
                        rowdata.push(
                            {
                                "HMaterID": dataArray[i].HMaterID
                                , "物料代码": dataArray[i].物料代码
                                , "物料名称": dataArray[i].物料名称
                                , "规格型号": dataArray[i].规格型号
                                , "HUnitID": dataArray[i].HUnitID
                                , "计量单位": dataArray[i].计量单位
                                , "HQty": dealDoubleToFixed(dataArray[i].数量, 1)
                                , "HPrice": dealDoubleToFixed(dataArray[i].单价, 3)
                                , "HTaxPrice": dealDoubleToFixed(dataArray[i].含税单价, 3)
                                , 'HDiscountRate': "0"                                                     //
                                , 'HRelTaxPrice': "0"
                                , "HTaxRate": dataArray[i].税率
                                , 'HTaxMoney': "0"                                                         //
                                , "HMoney": dealDoubleToFixed(dataArray[i].金额, 2)
                                , 'HMoneyBB': dealDoubleToFixed(dataArray[i].金额 * dataArray[0].汇率, 2)
                                , 'HlineTotal': dealDoubleToFixed(dataArray[i].价税合计, 2)
                                , 'HlineTotalBB': dealDoubleToFixed(dataArray[i].价税合计 * dataArray[0].汇率, 2)
                                , "HRemark": ""
                                , "HWHID": dataArray[i].HWHID
                                , "收料仓库": dataArray[i].收料仓库
                                , "HSPID": dataArray[i].HSPID
                                , "仓位名称": dataArray[i].仓位名称
                               // ï¼Œ"HBatchNo": dataArray[i].批次
                                , "HSourceInterID": dataArray[i].hmainid
                                , "HSourceEntryID": dataArray[i].hsubid
                                , "HSourceBillNo": dataArray[i].单据号
                                , "HSourceBillType": dataArray[i].HBillType
                                , "HRelationQty": "0"
                                , "HRelationMoney": "0"
                                , 'HPOOrderInterID': "0"
                                , 'HPOOrderEntryID': "0"
                                , 'HPOOrderBillNo': ""
                                , 'HSeOrderTaxPrice': dealDoubleToFixed(dataArray[i].含税单价, 3)
                                , "HSeOrderInterID": dataArray[i].hmainid
                                , "HSeOrderEntryID": dataArray[i].hsubid
                                , "HSeOrderBillNo": dataArray[i].单据号
                                , "HTaxRate": 0
                                , "HTaxPrice": 0
                                , "HlineTotal": 0
                            }
                        );
                    }
                    option.data = rowdata;
                    table.render(option);
                }
          else if ($("#HSourceBillType").val() == "1103") {
                    //获取
                    var data = getUrlVars_JSON().data;
                    var dataArray = [];
                    for (var i = 0; i < data.length; i++) {
                        var temp = getPushSource_POInStockBillInit(data[i].hmainid, data[i].hsubid);
                        if (temp != "none") {
                            dataArray.push(temp);
                        } else {
                            return;
                        }
                    }
                    form.val("component-form-group", { //formTest å³ class="layui-form" æ‰€åœ¨å…ƒç´ å±žæ€§ lay-filter="" å¯¹åº”的值
                        "HMainSourceInterID": "0"
                        , "HMainSourceEntryID": "0"
                        , "HMainSourceBillNo": ""
                        , "HMainSourceBillType": $("#BillType").val()
                        , "HDeptID": dataArray[0].HDeptID
                        , "HDeptName": dataArray[0].部门
                        , "HManagerID": dataArray[0].hmanagerid
                        , "HMangerName": dataArray[0].主管
                        , "HEmpID": dataArray[0].HEmpID
                        , "HEmpName": dataArray[0].业务员
                        , "HSupID": dataArray[0].HSupID
                        , "HSupName": dataArray[0].供应商
                        , "HCurID": dataArray[0].HCurID
                        , "HCurName": dataArray[0].币别
                        , "HExRate": dataArray[0].汇率
                        , "HSSID": "0"
                        , "HSSName": ""
                        , "HPSStyleID": dataArray[0].HPSStyleID
                        , "HPSStyleSName": dataArray[0].采购方式
                    });
                    //子表  èµ‹å€¼
                    var rowdata = [];
                    for (var i = 0; i < dataArray.length; i++) {
                        rowdata.push(
                            {
                                "HMaterID": dataArray[i].HMaterID
                                , "物料代码": dataArray[i].物料代码
                                , "物料名称": dataArray[i].物料名称
                                , "规格型号": dataArray[i].规格型号
                                , "HUnitID": dataArray[i].HUnitID
                                , "计量单位": dataArray[i].计量单位
                                , "HQty": dealDoubleToFixed(dataArray[i].数量, 1)
                                , "HPrice": dealDoubleToFixed(dataArray[i].单价, 3)
                                /*, "HTaxPrice": dealDoubleToFixed(dataArray[i].含税单价, 3)*/
                                , 'HDiscountRate': "0"                                                     //
                                , 'HRelTaxPrice': "0"
                                , "HTaxRate": dataArray[i].税率
                                , 'HTaxMoney': "0"                                                         //
                                , "HMoney": dealDoubleToFixed(dataArray[i].数量 * dataArray[i].单价, 2)
                                , 'HMoneyBB': dealDoubleToFixed(dataArray[i].数量 * dataArray[i].单价 * dataArray[0].汇率, 2)
                                , 'HlineTotal': dealDoubleToFixed(dataArray[i].数量 * dataArray[i].含税单价, 2)
                                , 'HlineTotalBB': dealDoubleToFixed(dataArray[i].数量 * dataArray[i].含税单价 * dataArray[0].汇率, 2)
                                , "HRemark": ""
                                , "HWHID": dataArray[i].HWHID
                                , "收料仓库": dataArray[i].收料仓库
                                , "HSPID": dataArray[i].HSPID
                                , "仓位名称": dataArray[i].仓位名称
                                , "HSourceInterID": dataArray[i].hmainid
                                , "HSourceEntryID": dataArray[i].hsubid
                                , "HSourceBillNo": dataArray[i].单据号
                                , "HSourceBillType": dataArray[i].HBillType
                                , "HRelationQty": "0"
                                , "HRelationMoney": "0"
                                , 'HPOOrderInterID': "0"
                                , 'HPOOrderEntryID': "0"
                                , 'HPOOrderBillNo': ""
                                , 'HSeOrderTaxPrice': dealDoubleToFixed(dataArray[i].含税单价, 3)
                                , "HSeOrderInterID": dataArray[i].HSourceBillType == "1401" ? dataArray[i].HSourceInterID : "0"
                                , "HSeOrderEntryID": dataArray[i].HSourceBillType == "1401" ? dataArray[i].HSourceEntryID : "0"
                                , "HSeOrderBillNo": dataArray[i].HSourceBillType == "1401" ? dataArray[i].源单单号 : ""
                            }
                        );
                    }
                    option.data = rowdata;
                    table.render(option);
                }
                else
                {
                    return layer.msg('当前不支持该源单下推!!');
                }
            }
            //#endregion
            //#region ä¿å­˜æ–¹æ³•
            function set_SaveBill(data) {
                if ($("#HEmpName").val() == 0) {
                    layer.msg("请选择业务员!", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    return;
                }
                if ($("#HDeptName").val() == 0) {
                    layer.msg("请选择部门!", { icon: 5, btn: ['确认'], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    return;
@@ -883,8 +1290,8 @@
                    message += ',请删除其中一行';
                    layer.alert(message);
                }
                }
                var sMainStr = JSON.stringify(data.field);
                var sSubStr = JSON.stringify(num);
@@ -918,7 +1325,7 @@
                });
            }
            //#endregion
            ////#endregion
            function get_checkEmp() {
@@ -928,19 +1335,19 @@
                    , area: ['90%', '90%']//大小
                    , title: '业务员列表'//标题
                    , shift: 2//弹出动画
                    , content: ['../../Baseset/基础资料/Gy_EmployeeList.html?Type=HEmp', '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('请选择数据');
                    //    }
                    //    $("#HEmpName").val(checkStatus.data[0].HName);
                    //    $("#HEmpID").val(checkStatus.data[0].HItemID);
                    //    layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    //}
                    //, btn2: function (index, layero) { }
                    , content: ['../../基础资料/公用基础资料/Gy_EmployeeList.html?Type=HEmp', '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('请选择数据');
                        }
                        $("#HEmpName").val(checkStatus.data[0].职员名称);
                        $("#HEmpID").val(checkStatus.data[0].HItemID);
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) { }
                })
            }
            function get_checkSup() {
@@ -950,7 +1357,7 @@
                    , area: ['90%', '90%']//大小
                    , title: '供应商列表'//标题
                    , shift: 2//弹出动画
                    , content: ['../../基础资料/采购基础资料/Gy_Supplier.html', 'yes']
                    , content: ['../../基础资料/采购基础资料/Gy_Supplier.html?Type=HSup', 'yes']
                    , btn: ['确定', '取消']
                    , btn1: function (index, layero) {//按钮【按钮一】的回调
                        var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
@@ -965,6 +1372,30 @@
                    , btn2: function (index, layero) { }
                })
            }
            //工程项目
            function get_btnHProjectID() {
                layer.open({
                    type: 2//弹窗类型
                    , skin: 'layui-layer-rim' //加上边框
                    , area: ['90%', '90%']//大小
                    , title: '项目列表'//标题
                    , shift: 2//弹出动画
                    , content: ['../../项目管理/工程项目/PM_ProjectBillList.html', 'yes']
                    , btn: ['确定', '取消']
                    , btn1: function (index, layero) {//按钮【按钮一】的回调
                        var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
                        var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');//获取table的elem:"#test"
                        if (checkStatus.data.length === 0) {
                            return layer.msg('请选择数据');
                        }
                        $("#HProjectName").val(checkStatus.data[0].项目名称);
                        $("#HProjectNumber").val(checkStatus.data[0].项目代码);
                        $("#HProjectID").val(checkStatus.data[0].HInterID);
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) { }
                })
            }
            function get_checkWH() {
                layer.open({
                    type: 2//弹窗类型
@@ -972,19 +1403,30 @@
                    , area: ['90%', '90%']//大小
                    , title: '仓库列表'//标题
                    , shift: 2//弹出动画
                    , content: ['../../Baseset/基础资料/Gy_WarehouseList.html?Type=HWHID', '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('请选择数据');
                    //    }
                    //    $("#HWHName").val(checkStatus.data[0].HName);
                    //    $("#HWHID").val(checkStatus.data[0].HItemID);
                    //    layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    //}
                    //, btn2: function (index, layero) { }
                    , content: ['../../基础资料/公用基础资料/Gy_Warehouse.html?Type=HWH', '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('请选择数据');
                        }
                        $("#HWHName").val(checkStatus.data[0].仓库名称);
                        $("#HWHID").val(checkStatus.data[0].HItemID);
                        if (option.data.length > 0) {
                            for (var i = 0; i < option.data.length; i++) {
                                if (option.data[i]["HWHID"] == 0) {
                                    option.data[i]["HWHID"] = checkStatus.data[0].HItemID;
                                    option.data[i]["收料仓库"] = checkStatus.data[0].仓库名称;
                                }
                            }
                        }
                        table.render(option);
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) { }
                })
            }
            function get_checkSecManager() {
@@ -994,19 +1436,19 @@
                    , area: ['90%', '90%']//大小
                    , title: '验收员列表'//标题
                    , shift: 2//弹出动画
                    , content: ['../../Baseset/基础资料/Gy_EmployeeList.html?Type=HSecManager', '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('请选择数据');
                    //    }
                    //    $("#HSecManagerName").val(checkStatus.data[0].HName);
                    //    $("#HSecManagerID").val(checkStatus.data[0].HItemID);
                    //    layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    //}
                    //, btn2: function (index, layero) { }
                    , content: ['../../基础资料/公用基础资料/Gy_EmployeeList.html?Type=HSecManager', '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('请选择数据');
                        }
                        $("#HSecManagerName").val(checkStatus.data[0].职员名称);
                        $("#HSecManagerID").val(checkStatus.data[0].HItemID);
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) { }
                })
            }
            function get_checkKeeper() {
@@ -1016,19 +1458,19 @@
                    , area: ['90%', '90%']//大小
                    , title: '保管员列表'//标题
                    , shift: 2//弹出动画
                    , content: ['../../Baseset/基础资料/Gy_EmployeeList.html?Type=HKeeper', '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('请选择数据');
                    //    }
                    //    $("#HKeeperName").val(checkStatus.data[0].HName);
                    //    $("#HKeeperID").val(checkStatus.data[0].HItemID);
                    //    layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    //}
                    //, btn2: function (index, layero) { }
                    , content: ['../../基础资料/公用基础资料/Gy_EmployeeList.html?Type=HKeeper', '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('请选择数据');
                        }
                        $("#HKeeperName").val(checkStatus.data[0].职员名称);
                        $("#HKeeperID").val(checkStatus.data[0].HItemID);
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) { }
                })
            }
            function get_checkDept() {
@@ -1038,19 +1480,19 @@
                    , area: ['90%', '90%']//大小
                    , title: '部门列表'//标题
                    , shift: 2//弹出动画
                    , content: ['../../Baseset/基础资料/Gy_DepartmentList.html', 'yes']
                    //, btn: ['确定', '取消']
                    //, btn1: function (index, layero) {//按钮【按钮一】的回调
                    //    var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
                    //    var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');//获取table的elem:"#test"
                    //    if (checkStatus.data.length === 0) {
                    //        return layer.msg('请选择数据');
                    //    }
                    //    $("#HDeptName").val(checkStatus.data[0].HName);
                    //    $("#HDeptID").val(checkStatus.data[0].HItemID);
                    //    layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    //}
                    //, btn2: function (index, layero) { }
                    , content: ['../../基础资料/公用基础资料/Gy_DepartmentList.html', 'yes']
                    , btn: ['确定', '取消']
                    , btn1: function (index, layero) {//按钮【按钮一】的回调
                        var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
                        var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');//获取table的elem:"#test"
                        if (checkStatus.data.length === 0) {
                            return layer.msg('请选择数据');
                        }
                        $("#HDeptName").val(checkStatus.data[0].部门名称);
                        $("#HDeptID").val(checkStatus.data[0].HItemID);
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) { }
                })
            }
@@ -1061,22 +1503,48 @@
                    , area: ['90%', '90%']//大小
                    , title: '负责人列表'//标题
                    , shift: 2//弹出动画
                    , content: ['../../Baseset/基础资料/Gy_EmployeeList.html?Type=HWorker', '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('请选择数据');
                    //    }
                    //    $("#HManagerName").val(checkStatus.data[0].HName);
                    //    $("#HManagerID").val(checkStatus.data[0].HItemID);
                    //    layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    //}
                    //, btn2: function (index, layero) { }
                    , content: ['../../基础资料/公用基础资料/Gy_EmployeeList.html?Type=HWorker', '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('请选择数据');
                        }
                        $("#HManagerName").val(checkStatus.data[0].职员名称);
                        $("#HManagerID").val(checkStatus.data[0].HItemID);
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) { }
                })
            }
         //#region åå®¡æ ¸/审核数据
            function set_CheckBill(num) {
                var InterID = $("#HInterID").val();
                //逻辑审核方法
                $.ajax({
                    type: "GET",
                    url: GetWEBURL() + "/Kf_POStockInBill/AuditKf_POStockInBill", //方法所在页面和方法名
                    data: { "HInterID": InterID, "IsAudit": num, "CurUserName": sessionStorage["HUserName"] },
                    success: function (result) {
                        if (result.count == 1) {
                            layer.msg(result.Message, { time: 1 * 1000, icon: 1 }, function () {
                                // å¾—到frame索引
                                var index = layer.getFrameIndex(window.name);
                                //关闭当前frame
                                layer.close(index);
                            });
                        } else {
                            layer.alert(result.code + result.Message, { icon: 5 });
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            }
            //#endregion
            //行内快捷键筛选
            function set_GridCellCheck(obj) {
@@ -1084,6 +1552,7 @@
                    if (event.key == "F7") {
                        //物料
                        if (obj.event == "HMaterID") {
                                var HOrgID = $("#HOrgID").val();
                            layer.open({
                                type: 2
                                , skin: "layui-layer-rim" //加上边框
@@ -1092,7 +1561,7 @@
                                , shift: 2 //弹出动画
                                , area: ["90%", "90%"] //窗体大小
                                , maxmin: true //设置最大最小按钮是否显示
                                , content: ['../../Baseset/基础资料/Gy_MaterialList.html', 'yes']
                                , content: ['../../基础资料/公用基础资料/Gy_Material.html?openType=2&HOrgID=' + HOrgID, 'yes']
                                , btn: ["确定", "取消"]
                                , btn1: function (index, laero) {
                                    //按钮一  çš„回调
@@ -1103,16 +1572,17 @@
                                    //    return layer.msg("请选择一条数据");
                                    //}
                                    OptionData = checkStatus.data[0];
                                    var rowIndex = $(obj.tr).attr("data-index") * 1;
                                    for (var i = 0; i < checkStatus.data.length; i++) {
                                        if (rowIndex + i >= option.data.length) {
                                            var NewRow = {
                                                "HMaterID": 0, "物料代码": "", "物料名称": "", "规格型号": "", "HAuxPropID": 0, "物料辅助属性": "", "HUnitID": 0, "计量单位": "", "HQtyMust": "", "HQty": "", "HRemark": "",
                                                "HMaterID": 0, "物料代码": "", "物料名称": "", "规格型号": "","HUnitID": 0, "计量单位": "", "HQtyMust": "0", "HQty": "", "HRemark": "",
                                                "HPrice": "0", "HMoney": "0", "HOrderPrice": "0", "HWHID": 0, "收料仓库": "",
                                                "HSPID": 0, "仓位名称": "", "HBatchNo": "", "HPOOrderInterID": 0, "HPOOrderEntryID": 0,
                                                "HPOOrderBillNo": "", "HSeOrderInterID": 0, "HSeOrderEntryID": 0, "HSeOrderBillNo": "",
                                                "HSourceBillNo": 0, "HSourceBillType": 0, "HSourceInterID": 0, "HSourceEntryID": 0,
                                                "HTaxRate": 0, "HTaxPrice": 0, "HlineTotal": 0
                                            };
                                            table.cache["mainTable"].push(NewRow);
@@ -1151,6 +1621,14 @@
                                    //return false å¼€å¯è¯¥ä»£ç å¯ç¦æ­¢ç‚¹å‡»è¯¥æŒ‰é’®å…³é—­
                                },
                                end: function () {
                                    obj.update({
                                        "HMaterID": OptionData.HItemID
                                        ,"物料代码" : OptionData.物料代码
                                       , "物料名称" :OptionData.物料名称
                                        ,"规格型号" : OptionData.规格型号
                                        ,"HUnitID" :OptionData.HUnitID
                                        ,"计量单位" : OptionData.计量单位名称
                                })
                                }
                                });
                        }
@@ -1164,7 +1642,7 @@
                                , shift: 2 //弹出动画
                                , area: ["90%", "90%"] //窗体大小
                                , maxmin: true //设置最大最小按钮是否显示
                                , content: ['../../Baseset/基础资料/Gy_UnitList.html', 'yes']
                                , content: ['../../基础资料/公用基础资料/Gy_Unit.html', 'yes']
                                , btn: ["确定", "取消"]
                                , btn1: function (index, laero) {
                                    //按钮一  çš„回调
@@ -1176,11 +1654,17 @@
                                    }
                                    //更新表格缓存的数据
                                    obj.update({
                                        "计量单位": checkStatus.data[0].HName
                                        "计量单位": checkStatus.data[0].计量单位名称
                                        , "HUnitID": checkStatus.data[0].HItemID
                                    })
                                    layer.close(index);//关闭弹窗
                                }
                               , end: function () {
                                obj.update({
                                    "HUnitID": OptionData.HItemID
                                    , "计量单位": OptionData.计量单位名称
                                })
                            }
                            })
                        }
                        //收料仓库
@@ -1193,7 +1677,7 @@
                                , shift: 2 //弹出动画
                                , area: ["90%", "90%"] //窗体大小
                                , maxmin: true //设置最大最小按钮是否显示
                                , content: ['../../Baseset/基础资料/Gy_WarehouseList.html', 'yes']
                                , content: ['../../基础资料/公用基础资料/Gy_Warehouse.html?type=Warehouse', 'yes']
                                , btn: ["确定", "取消"]
                                , btn1: function (index, laero) {
                                    //按钮一  çš„回调
@@ -1203,16 +1687,23 @@
                                    if (checkStatus.data.length != 1) {
                                        return layer.msg("请选择一条数据");
                                    }
                                    OptionData = checkStatus.data[0];
                                    //更新表格缓存的数据
                                    obj.update({
                                        "收料仓库": checkStatus.data[0].HName
                                        "收料仓库": checkStatus.data[0].仓库名称
                                        , "HWHID": checkStatus.data[0].HItemID
                                    })
                                    layer.close(index);//关闭弹窗
                                }
                             , end: function () {
                                obj.update({
                                    "HWHID": OptionData.HItemID
                                    , "收料仓库": OptionData.仓库名称
                                })
                            }
                            })
                        }
                        //供应商
                        //仓位
                        if (obj.event == "HSPID") {
                            layer.open({
                                type: 2
@@ -1222,7 +1713,7 @@
                                , shift: 2 //弹出动画
                                , area: ["90%", "90%"] //窗体大小
                                , maxmin: true //设置最大最小按钮是否显示
                                , content: ['../../Baseset/基础资料/Gy_StockPlaceList.html', 'yes']
                                , content: ['../../基础资料/公用基础资料/Gy_StockPlace_List.html', 'yes']
                                , btn: ["确定", "取消"]
                                , btn1: function (index, laero) {
                                    //按钮一  çš„回调
@@ -1234,11 +1725,17 @@
                                    }
                                    //更新表格缓存的数据
                                    obj.update({
                                        "仓位名称": checkStatus.data[0].HName
                                        , "HSPID": checkStatus.data[0].HItemID
                                        "仓位名称": checkStatus.data[0].仓位名称
                                        , "HSPID": checkStatus.data[0].HMainID
                                    })
                                    layer.close(index);//关闭弹窗
                                }
                              , end: function () {
                                obj.update({
                                    "HSPID": OptionData.HMainID
                                    , "仓位名称": OptionData.仓位名称
                                })
                            }
                            })
                        }
                    }
@@ -1267,12 +1764,15 @@
            //表头信息选择单据弹窗
            form.on('submit(XDHList)', function () {
                if ($("#HSourceBillType").val() == 0 || $("#HSourceBillType").val() == null) {
                    return layer.msg('请选择单据类型');
            var HOrgID = $("#HOrgID").val();
                var url = "";
                if ($("#HSourceBillType").val() == "1102") {
                    url = "../../采购管理/采购订单/Cg_POOrderBillList.html?openType=2&HOrgID=" + HOrgID;
                } else if ($("#HSourceBillType").val() == "1103") {
                    url = "../../采购管理/收料通知单/Cg_POInStockBillList.html?openType=2&HOrgID=" + HOrgID;
                }else{
                    return layer.msg('当前不支持该源单选择!!');
                }
                var url = getSupType().url;
                url = encodeURI(url);
                //页面层-自定义
                layer.open({
@@ -1304,39 +1804,48 @@
                        var NowNum = 0;
                        NowNum = option.data.length;
                        $("#HProjectName").val(checkStatus.data[0].项目名称);
                        $("#HProjectNumber").val(checkStatus.data[0].项目代码);
                        $("#HProjectID").val(checkStatus.data[0].HProjectID);
                        if (getSupType().name == "采购订单") {
                            var j = 0;
                            for (var i = 0; i < checkStatus.data.length; i++) {
                                option.data.push({
                                    "HMaterID": checkStatus.data[j].HMaterID, "物料代码": checkStatus.data[j].物料代码, "物料名称": checkStatus.data[j].物料名称, "规格型号": checkStatus.data[j].规格型号,
                                    "HUnitID": checkStatus.data[j].HUnitID, "计量单位": checkStatus.data[j].计量单位,
                                    "HQty": checkStatus.data[j].数量, "HPrice": checkStatus.data[j].单价,
                                    "HUnitID": checkStatus.data[j].HUnitID, "计量单位": checkStatus.data[j].计量单位,"HWHID": checkStatus.data[j].HWHID, "收料仓库": checkStatus.data[j].收料仓库,
                                    "HSPID": checkStatus.data[j].HSPID, "仓位名称": checkStatus.data[j].仓位名称,
                                    "HQty": checkStatus.data[j].数量-checkStatus.data[j].关联数量, "HPrice": checkStatus.data[j].单价,
                                    "HMoney": checkStatus.data[j].金额,
                                    "HSourceBillNo": checkStatus.data[j].单据号, "HSourceBillType": checkStatus.data[j].HBillType, "HSourceInterID": checkStatus.data[j].hmainid, "HSourceEntryID": checkStatus.data[j].hsubid,
                                    "HTaxRate": checkStatus.data[j].税率, "HTaxPrice": checkStatus.data[j].含税单价, "HlineTotal": checkStatus.data[j].价税合计
                                })
                                j++;
                            }
                            table.render(option);
                            layer.close(index);
                        } else if (getSupType().name =="收料通知单") {
                        } else if (getSupType().name == "收料通知单") {
                            var j = 0;
                            for (var i = 0; i < ProcessNumber.length; i++) {
                                option.data.push({
                                    "HMaterID": checkStatus.data[j].HMaterID, "物料代码": checkStatus.data[j].物料代码, "物料名称": checkStatus.data[j].物料名称, "规格型号": checkStatus.data[j].规格型号,
                                    "   ": 0, "物料辅助属性": "", "HUnitID": checkStatus.data[j].HUnitID, "计量单位": checkStatus.data[j].计量单位, "HQtyMust": "", "HQty": checkStatus.data[j].数量, "HRemark": "",
                                    "HUnitID": checkStatus.data[j].HUnitID, "计量单位": checkStatus.data[j].计量单位, "HQtyMust": checkStatus.data[j].数量, "HQty": checkStatus.data[j].数量-checkStatus.data[j].关联数量, "HRemark": "",
                                    "HPrice": checkStatus.data[j].单价, "HMoney": checkStatus.data[j].金额, "HOrderPrice": "0", "HWHID": checkStatus.data[j].HWHID, "收料仓库": checkStatus.data[j].收料仓库,
                                    "HSPID": checkStatus.data[j].HSPID, "仓位名称": checkStatus.data[j].仓位名称, "HBatchNo": "", "HPOOrderInterID": 0, "HPOOrderEntryID": 0,
                                    "HPOOrderBillNo": "", "HSeOrderInterID": 0, "HSeOrderEntryID": 0, "HSeOrderBillNo": "",
                                    "HSourceBillNo": checkStatus.data[j].单据号, "HSourceBillType": checkStatus.data[j].HBillType, "HSourceInterID": checkStatus.data[j].hmainid, "HSourceEntryID": checkStatus.data[j].hsubid,
                                    "HTaxRate": checkStatus.data[j].税率, "HTaxPrice": checkStatus.data[j].含税单价, "HlineTotal": (checkStatus.data[j].金额 + (checkStatus.data[j].金额 * checkStatus.data[j].税率))
                                })
                                j++;
                            }
                            table.render(option);
                            layer.close(index);//关闭弹窗
                        }
                    }
                });
            });
            //判断所选着与表格是否有重复数据
@@ -1419,7 +1928,7 @@
                $.ajax({
                    type: "get",
                    async: false,
                    data: { "HName": HName },
                    data: { "HName": HName, "Num": 2 },       //0蓝单 1红单 2不分红蓝单
                    url: GetWEBURL() + "/Web/GetHSourceBillType",
                    success: function (result) {
                        var HSourceBillTypes = "";
@@ -1436,6 +1945,61 @@
            }
            //#endregion
         //#region æ ¹æ®ä¸»å†…码与子内码获取源单采购订单数据
            function getPushSource_POOrderBillInit(HSourceInterID, HSourceEntryID) {
                var res = "none";
                $.ajax({
                    url: GetWEBURL() + "/Cg_POOrderBill/loadCg_POOrderBill_Push",
                    async: false,
                    type: "GET",
                    data: {
                        "HInterID": HSourceInterID
                        , "HSubID": HSourceEntryID
                    },
                    success: function (result) {
                        if (result.code == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                            res = result.data[0];
                        } else {
                            res = result.data;
                            //layer.alert(result.msg, { icon: 5, btn: ['退出'], time: 100000, offset: 't' });
                        }
                    }, error: function () {
                        res = "none";
                        layer.alert("发生错误!", { icon: 5 });
                    }
                });
                return res;
            }
            //#endregion
        //#region æ ¹æ®ä¸»å†…码与子内码获取源单收料通知单数据
            function getPushSource_POInStockBillInit(HSourceInterID, HSourceEntryID) {
                var res = "none";
                $.ajax({
                    url: GetWEBURL() + "/Cg_POInStockBill/loadCg_POInStockBill_Push",
                    async: false,
                    type: "GET",
                    data: {
                        "HInterID": HSourceInterID
                        , "HSubID": HSourceEntryID
                    },
                    success: function (result) {
                        if (result.code == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                            res = result.data[0];
                        } else {
                            res = result.data;
                            //layer.alert(result.msg, { icon: 5, btn: ['退出'], time: 100000, offset: 't' });
                        }
                    }, error: function () {
                        res = "none";
                        layer.alert("发生错误!", { icon: 5 });
                    }
                });
                return res;
            }
            //#endregion
            //#endregion
@@ -1444,45 +2008,118 @@
        // åŸºç¡€èµ„料返回数据
        function GetHEmpValue(obj)  //返回业务员
        {
            $("#HEmpName").val(obj[0].HName);
            $("#HEmpName").val(obj[0].职员名称);
            $("#HEmpID").val(obj[0].HItemID);
        }
        function GetHSupValue(obj)  //返回供应商
        function GetHSupNameValue(obj)  //返回供应商
        {
            $("#HSupName").val(obj[0].HName);
            $("#HSupName").val(obj[0].供应商名称);
            $("#HSupID").val(obj[0].HItemID);
        }
        function GetHWHValue(obj)  //返回仓库
        {
            $("#HWHName").val(obj[0].HName);
            $("#HWHName").val(obj[0].仓库名称);
            $("#HWHID").val(obj[0].HItemID);
            if (option.data.length > 0) {
                for (var i = 0; i < option.data.length; i++) {
                    if (option.data[i]["HWHID"] == 0 || option.data[i]["收料仓库"] == undefined) {
                        option.data[i]["HWHID"] = obj[0].HItemID;
                        option.data[i]["收料仓库"] = obj[0].仓库名称;
                    }
                }
            }
            layui.table.render(option);
        }
        function GetHDeptNameValue(obj)  //返回部门
        {
            $("#HDeptName").val(obj[0].HName);
            $("#HDeptName").val(obj[0].部门名称);
            $("#HDeptID").val(obj[0].HItemID);
        }
        //项目
        function GetProjectBillValue(data) {
            $("#HProjectName").val(data[0].项目名称);
            $("#HProjectNumber").val(data[0].项目代码);
            $("#HProjectID").val(data[0].HInterID);
        }
        function GetHSecManagerValue(obj)  //返回验收员
        {
            $("#HSecManagerName").val(obj[0].HName);
            $("#HSecManagerName").val(obj[0].职员名称);
            $("#HSecManagerID").val(obj[0].HItemID);
        }
        function GetHKeeperValue(obj)  //返回保管员
        {
            $("#HKeeperName").val(obj[0].HName);
            $("#HKeeperName").val(obj[0].职员名称);
            $("#HKeeperID").val(obj[0].HItemID);
        }
        function GetHWorkerValue(obj)  //返回负责人
        {
            $("#HManagerName").val(obj[0].HName);
            $("#HManagerName").val(obj[0].职员名称);
            $("#HManagerID").val(obj[0].HItemID);
        }
          //双击返回物料
         function GetGyMaterial(data) {
             OptionData = data
         }
           //双击返回计量单位
         function GetGyUnit(data) {
             OptionData = data
         }
           //双击返回收料仓库
         function GetGyWarehouse(data) {
             OptionData = data[0]
         }
        //双击返回收料仓位
         function GetGyStockPlace(data) {
             OptionData = data
         }
        //#region å¤„理小数显示位数(data:需要处理的数据;num:数据的类型(如1:数量;2:金额;3:单价))
        function dealDoubleToFixed(data, num) {
            //用于设置小数位数
            var dotLength = 0;
            if (num == 1) {                                    //当数据为数量时,最多保留6位小数
                //设置最多保留6位小数
                dotLength = 6;
            } else if (num == 2) {                             //当数据为金额时,最多保留2位小数
                //设置最多保留2位小数
                dotLength = 2;
            } else if (num == 3) {                             //当数据为单价时,最多保留4位小数
                //设置最多保留4位小数
                dotLength = 4;
            }
            //判断是否存在小数点及其索引位置
            data = data + "";
            var index = data.indexOf(".");
            //处理数据并返回
            if (index < 0) {
                return data * 1;
            } else {
                //获取小数位数
                var length = data.length - index - 1;
                if (length <= dotLength) {
                    return data * 1;
                } else {
                    data = data * 1;
                    return data.toFixed(dotLength);
                }
            }
        }
            //#endregion
    </script>
</body>
</html>