yusijie
2024-03-25 9416e867ca3428032a6f8989d9be46242d73cd0c
WebTM/views/ÑéÊÕÈë¿â/Í⹺Èë¿â/Kf_POStockInBackBill_Add_Up.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>
@@ -351,41 +352,61 @@
            //获取源单类型
            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]];//源单类型
            }
           // åˆå§‹åŒ–界
            set_InitGrid();
            //判断操作类型
            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": '1103' },
                    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
         //#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
@@ -443,8 +464,7 @@
                "HPOOrderBillNo": "", "HSeOrderInterID": 0, "HSeOrderEntryID": 0, "HSeOrderBillNo": "",
                "HSourceBillNo": 0, "HSourceBillType": 0, "HSourceInterID": 0, "HSourceEntryID": 0,
            }];
            // åˆå§‹åŒ–界
            set_InitGrid();
            //获取源单类型
            HSourceBillType();
@@ -502,6 +522,11 @@
                Pub_Close(1);
            })
            //#region å®¡æ ¸æŒ‰é’®
            form.on('submit(set_CheckBill)', function (data) {
                set_CheckBill(0);
            });
            //选择业务员按钮
            form.on('submit(HEmpList)', function () {
                get_checkEmp();
@@ -532,11 +557,6 @@
                get_checkManager();
            });
            //保存按钮
            form.on('submit(set_SaveBill)', function (data) {
                set_SaveBill(data);
            });
            //行内事件
            table.on('tool(mainTable)', function (obj) {
@@ -833,7 +853,162 @@
                }
            });
           //#region ä¿å­˜æŒ‰é’®
            form.on('submit(Saver)', function (data) {
                //#region åˆ¤æ–­æºå•状态
                if (OperationType == 1 || OperationType == 4) {
                    if ($("#HSourceBillType").val() == "1105") {
                        for (var i = 0; i < option.data.length; i++) {
                            var HSourceBillData = "";
                            var HSourceBillData = getPushSource_POInStockBackInit(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"));
                //设置源单类型
                $("#BillType").val(HSouceBillType);
                //禁用组织选项
                $("#HOrgID").attr("disabled", true);
               //获取
                 var data = getUrlVars_JSON().data;
                    var dataArray = [];
                    for (var i = 0; i < data.length; i++) {
                        var temp = getPushSource_POInStockBackInit(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
                        , "HManagerName": dataArray[0].主管
                        , "HWHID": dataArray[0].HWHID
                        , "HWHName": dataArray[0].仓库
                        , "HEmpID": dataArray[0].HEmpID
                        , "HEmpName": dataArray[0].业务员
                        , "HSupID": dataArray[0].HSupID
                        , "HSupName": dataArray[0].供应商
                        , "HSecManagerID": dataArray[0].HSecManagerID
                        , "HSecManagerName": dataArray[0].验收员
                        , "HKeeperID": dataArray[0].HKeeperID
                        , "HKeeperName": dataArray[0].保管员
                        , "HCurID": dataArray[0].HCurID
                        , "HCurName": dataArray[0].币别
                        , "HExRate": dataArray[0].汇率
                        , "HAddress": data.交货地点
                        , "HRemark": data.表头备注
                        , "HInnerBillNo": data.内部单据号
                    });
                    //子表  èµ‹å€¼
                    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].计量单位
                                , "HWHID": dataArray[i].HWHID
                                , "收料仓库": dataArray[i].收料仓库
                                , "HSPID": dataArray[i].HSPID
                                , "仓位名称": dataArray[i].仓位名称
                                , "HSecUnitID": dataArray[i].HSecUnitID
                                , "辅助单位": dataArray[i].辅助单位
                                , "HQty": dealDoubleToFixed(dataArray[i].数量, 1)
                                , "HPrice": dealDoubleToFixed(dataArray[i].单价, 3)
                                , 'HDiscountRate': dataArray[i].折扣率                                                    //
                                , 'HRelTaxPrice': "0"
                                , "HTaxRate": dataArray[i].税率
                                , 'HTaxMoney': dataArray[i].税额                                                     //
                                , "HMoney": dealDoubleToFixed(dataArray[i].金额, 2)
                                , "HRemark": 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].单据号
                            }
                        );
                    }
                    option.data = rowdata;
                    table.render(option);
                }
            //#endregion
            //#region ä¿å­˜æ–¹æ³•
            function set_SaveBill(data) {
@@ -1082,6 +1257,33 @@
                })
            }
         //#region åå®¡æ ¸/审核数据
            function set_CheckBill(num) {
                var InterID = $("#HInterID").val();
                //逻辑审核方法
                $.ajax({
                    type: "GET",
                    url: GetWEBURL() + "/Kf_POStockInBackBill/AuditProcessReportList", //方法所在页面和方法名
                    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) {
@@ -1437,6 +1639,33 @@
                })
            }
            //#endregion
         //#region æ ¹æ®ä¸»å†…码与子内码获取源单退料通知单数据
            function getPushSource_POInStockBackInit(HSourceInterID, HSourceEntryID) {
                var res = "none";
                $.ajax({
                    url: GetWEBURL() + "/Cg_POInStockBackBill/loadCg_POInStockBackBill_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
@@ -1484,6 +1713,42 @@
            $("#HManagerName").val(obj[0].职员名称);
            $("#HManagerID").val(obj[0].HItemID);
        }
           //#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>