1
yangle
2024-03-25 ced08e79a346cefd98524e2768b9338e26276d45
WebTM/views/²É¹º¹ÜÀí/ÊÕÁÏ֪ͨµ¥/Add_Edit_Cg_POInStockBillList.html
@@ -46,6 +46,7 @@
                    <div class="layui-card-header">
                        <div class="layui-btn-group">
                            <button type="button" id="add-btn" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="Saver">保存</button>
                            <button type="button" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="set_CheckBill">审核</button>
                            <button type="button" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="Exit">退出</button>
                        </div>
                    </div>
@@ -339,39 +340,81 @@
            //获取页面跳转参数
            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]];//源单类型
            }
            $("#HUSEORGID").val(sessionStorage["OrganizationID"]);
            //判断是否新增
            if (linterid == null || linterid == 0) {
                //获取最大单据号 new
                $("#HMaker").val(sessionStorage["HUserName"]);
       //     if (linterid == null || linterid == 0) {
       //         //获取最大单据号 new
       //         $("#HMaker").val(sessionStorage["HUserName"]);
       //         $("#HInterID").val("0");
       //        $("#HBillNo").val("");
       //       $.ajax({
       //             url: GetWEBURL() + "/Web/GetMAXNum",
       //             type: "GET",
       //             data: { "HBillType": '1103' },
       //             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
         //#region èŽ·å–æœ€å¤§å•æ®å·
            function get_MAXNum() {
                $("#HInterID").val("0");
                $("#HBillNo").val("");
                $.ajax({
                    url: GetWEBURL() + "/Web/GetMAXNum",
                    url: GetWEBURL() + "/WEBSController/GetMaxBillNoAndID_Json",
                    type: "GET",
                    data: { "HBillType": '1103' },
                    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
            }
            //#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) {                     //下推
                setInit_PushBill();
            }
            else {
                layer.alert("未知操作类型!", { icon: 5 });
            }
            //#endregion
            //#endregion
@@ -405,8 +448,6 @@
                "HSourceBillNo": 0, "HSourceBillType": 0, "HSourceInterID": 0, "HSourceEntryID": 0
            }];
            // åˆå§‹åŒ–界
            set_InitGrid();
            //获取源单类型
            HSourceBillType();
            //头工具栏事件
@@ -447,10 +488,7 @@
                            //checkRefresh();
                        }
                        break;
                    ////列设置
                    //case 'set_HideColumn':
                    //    get_HideColumn();
                    //    break;
                }
            });
@@ -461,6 +499,13 @@
                Pub_Close(1);
            })
           //#region å®¡æ ¸æŒ‰é’®
            form.on('submit(set_CheckBill)', function (data) {
                set_CheckBill(0);
            });
            //#endregion
            //选择业务员按钮
            form.on('submit(HEmpList)', function () {
                get_checkEmp();
@@ -486,14 +531,6 @@
            //选择主管按钮
            form.on('submit(HManagerList)', function () {
                get_checkManager();
            });
            //保存按钮
            form.on('submit(Saver)', function (data) {
                  if (AllowLoadData(data)) {
                    set_SaveBill(data);
                }
            });
            //行内事件
@@ -839,6 +876,164 @@
                    Pub_Close(1);
                }
            });
         //#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++) {
                            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 {
                        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_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].部门
                        , "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].供应商
                        , "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)
                                , "HTaxPrice": 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) {
                //var sMainStr = JSON.stringify(data.field);
@@ -1168,6 +1363,34 @@
                })
            }
         //#region åå®¡æ ¸/审核数据
            function set_CheckBill(num) {
                var InterID = $("#HInterID").val();
                //逻辑审核方法
                $.ajax({
                    type: "GET",
                    url: GetWEBURL() + "/Cg_POInStockBill/AuditCg_POInStockBill", //方法所在页面和方法名
                    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) {
                $(document).off('keydown', ".layui-table-edit").on('keydown', '.layui-table-edit', function (e) {
@@ -1439,7 +1662,7 @@
                            }
                            table.render(option);
                            layer.close(index);//关闭弹窗
                            setInitByPOOrderBill(checkStatus);
                            //setInitByPOOrderBill(checkStatus);
                        }
                    }
@@ -1549,7 +1772,32 @@
            }
            //#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
            //#endregion
@@ -1586,6 +1834,42 @@
            $("#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>