1
duhe
2024-03-15 be7d738131c8cf9c8e00c6abfde469f2d82cbfb0
WebTM/views/ÏúÊÛ¹ÜÀí/ÆäËûÓ¦ÊÕµ¥/YS_ReceiveOtherBillMain.html
@@ -35,10 +35,9 @@
            <div class="layui-card-body" style="padding: 1px;">
                <form class="layui-form" action="" lay-filter="formData" style="background-color:white;height :700px">
                    <div style="padding: 2px; ">
                        <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnSave" id="btnSave">保存</button>
                        <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="set_CheckBill" id="set_CheckBill">审核</button>
                        <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="set_AbandonCheck" id="set_AbandonCheck">反审核</button>
                        <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnSave" id="btnSave">保存</button>
                        <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnEdit" id="btnEdit">退出</button>
                    </div>
                    <div class="layui-tab" lay-filter="tab-POStockInBill">
@@ -282,7 +281,7 @@
                    </div>
                    <div class="layui-tab" lay-filter="tab-POStockInBill">
                        <ul class="layui-tab-title" lay-filter="tab-all">
                            <li lay-id="1" style="padding:1px;" class="layui-this">项目阶段</li>
                            <li lay-id="1" style="padding:1px;" class="layui-this">费用项目</li>
                        </ul>
                        <div class="layui-tab-content">
                            <!--子表-->
@@ -338,6 +337,8 @@
            var OperationType = params[params[0]]; //从参数中获取 æ•°æ®ç±»åž‹  1添加 ä¿å­˜  2复制  3 ç¼–辑
            var linterid = params[params[1]]; //从参数中获取 å•据内码
            var closeType = params[params[3]];//客户应收账款明细 åŒå‡»å¼¹çª—弹出只能查看不能编辑  ç¦ç”¨æŒ‰é’®
            //#endregion
            //#region è¿›å…¥é¡µé¢å³åŠ è½½
@@ -380,6 +381,13 @@
            }
            else if (OperationType == 3) {                                                 //编辑
                if (closeType == 10) {
                    $('#btnSave').addClass("layui-btn-disabled").attr("disabled", true);
                    $('#set_CheckBill').addClass("layui-btn-disabled").attr("disabled", true);
                    $('#set_AbandonCheck').addClass("layui-btn-disabled").attr("disabled", true);
                }
                //子表页面初始化
                get_InitGrid();
@@ -454,7 +462,10 @@
                    , "HTypeSub": ""
                    , "HMoney": "0"
                    , "HTaxRate": "0"
                    , "HQty": "0"
                    , "HPrice": "0"
                    , "HSumMoney": "0"
                    ,"HRemark":""
                };
                switch (obj.event) {
                    case 'btn-AddLine':
@@ -517,116 +528,94 @@
                switch (field) {
                    case "HMoney":                   //不含税金额
                    case "HQty":                   //数量
                        //数据格式校验
                        temp = value + "";
                        if (!ref.test(temp) || temp == 0) {
                            //恢复数据到编辑前
                            obj.update({
                                HMoney: oldText
                                HQty: oldText
                            });
                            table.render(option);
                         
                            layer.msg("不含税金额请输入大于0的数字!");
                            layer.msg("数量请输入大于0的数字!");
                            return;
                        }
                        //数据校验合格,重算记录
                        var HMoney = value * 1;                           //不含税金额
                        var HQty = value * 1;                           //数量
                        var HPrice = obj.data.HPrice * 1;           //单价
                        var HTaxRate = obj.data.HTaxRate * 1;           //税率
                        var HSumMoney = HMoney * (1 + (HTaxRate * 0.01));    //总金额=不含税金额*(1+(税率*0.01))
                        var HSumMoney = HQty * HPrice * (1 + (HTaxRate * 0.01));    //总金额=数量*单价*(1+(税率*0.01))
                        var HMoney = HQty * HPrice; //不含税金额=数量*单据
                        //设置数据小数位数
                        HMoney = dealDoubleToFixed(HMoney, 2);
                        HQty = dealDoubleToFixed(HQty, 2);;
                        HTaxRate = HTaxRate;
                        HPrice = dealDoubleToFixed(HPrice, 2);;
                        HSumMoney = dealDoubleToFixed(HSumMoney, 2);
                        //同步更新表格和缓存对应的值
                        obj.update({
                            HMoney: HMoney
                            HQty: HQty
                            , HPrice: HPrice
                            ,HMoney: HMoney
                            , HTaxRate: HTaxRate
                            , HSumMoney: HSumMoney
                        });
                        break;
                    case "HTaxRate":                                                       //单价
                    case "HPrice":                                                       //单价
                        //数据格式校验
                        temp = value + "";
                        if (!ref.test(temp) || temp == 0) {
                            //恢复数据到编辑前
                            obj.update({
                                HTaxRate: oldText
                                HPrice: oldText
                            });
                            table.render(option);
                            
                            layer.msg("税率请输入大于0的数字!");
                            layer.msg("单价请输入大于0的数字!");
                            return;
                        }
                        //数据校验合格,重算记录
                        var HTaxRate = value * 1;                           //税率
                        var HMoney = obj.data.HMoney * 1;           //不含税金额
                        var HSumMoney = HMoney * (1 + (HTaxRate * 0.01));    //总金额=不含税金额*(1+(税率*0.01))
                        var HPrice = value * 1;                  //单价
                        var HQty = obj.data.HQty * 1;           //数量
                        var HTaxRate = obj.data.HTaxRate * 1;           //税率
                        var HSumMoney = HPrice * HQty * (1 + (HTaxRate * 0.01));    //总金额=单价*数量*(1+(税率*0.01))
                        var HMoney = HQty * HPrice; //不含税金额=数量*单据
                        //设置数据小数位数
                        HMoney = dealDoubleToFixed(HMoney, 2);
                        HQty = dealDoubleToFixed(HQty, 2);;
                        HTaxRate = HTaxRate;
                        HPrice = dealDoubleToFixed(HPrice, 2);;
                        HSumMoney = dealDoubleToFixed(HSumMoney, 2);
                        //同步更新表格和缓存对应的值
                        obj.update({
                            HMoney: HMoney
                            HQty: HQty
                            , HPrice: HPrice
                            , HMoney: HMoney
                            , HTaxRate: HTaxRate
                            , HSumMoney: HSumMoney
                        });
                        break;
                    case "HSumMoney":                                                       //数量
                        //数据格式校验
                        temp = value + "";
                        if (!ref.test(temp)) {
                            //恢复数据到编辑前
                            obj.update({
                                HSumMoney: oldText
                            });
                            layer.msg("税率请输入不小于0的数字!");
                            return;
                        }
                        //数据校验合格,重算记录
                        var HSumMoney = value * 1;                           //总金额
                        var HTaxRate = obj.data.HTaxRate * 1;           //税率
                        var HMoney = HSumMoney / (1 + (HTaxRate * 0.01));
                        //设置数据小数位数
                        HMoney = dealDoubleToFixed(HMoney, 2);
                        HTaxRate = HTaxRate;
                        HSumMoney = dealDoubleToFixed(HSumMoney, 2);
                        //同步更新表格和缓存对应的值
                        obj.update({
                            HMoney: HMoney
                            , HTaxRate: HTaxRate
                            , HSumMoney: HSumMoney
                        });
                    default:
                }
            });
            //#endregion
            //#region è¡¨æ ¼è¡Œé€‰æ‹©å¤„理(是否取库存)
            //#region è¡¨æ ¼è¡Œé€‰æ‹©å¤„理
            form.on('select(HTypeSub)', function (data) {
                //获取下拉框选中的值
                var elem = data.othis.parents('tr');
@@ -882,10 +871,13 @@
                        , { type: 'numbers', title: '序号', style: 'background-color: #f9f9f9;' }
                        , { field: 'HProjectMoneyID', title: '费用项目ID', hide: true, style: 'background-color: #f9f9f9;' }
                        , { field: 'HPMoneyName', title: '费用项目名称', edit: 'text', event: "HPMoneyName",style: 'background-color: #f9f9f9;' }     //f7
                        , { field: 'HTypeSub', title: '发票类型', templet: '#HTypeSub' }
                        , { field: 'HTypeSub', title: '发票类型', hide: true, templet: '#HTypeSub' }
                        , { field: 'HMoney', title: '不含税金额', hide: true, edit: 'text', style: 'background-color: #f9f9f9;' }
                        , { field: 'HTaxRate', title: '税率', hide: true, edit: 'text', style: 'background-color: #f9f9f9;' }
                        , { field: 'HSumMoney', title: '总金额', edit: 'text', style: 'background-color: #f9f9f9;' }
                        , { field: 'HQty', title: '数量',  edit: 'text', style: 'background-color: #f9f9f9;' }
                        , { field: 'HPrice', title: '单价', edit: 'text', style: 'background-color: #f9f9f9;' }
                        , { field: 'HSumMoney', title: '总金额', style: 'background-color: #f9f9f9;' }
                        , { field: 'HRemark', title: '子表备注', edit: 'text', style: 'background-color: #f9f9f9;' }
                        , { fixed: 'right', title: '操作', toolbar: '#barDemo' }
                    ]]
                }
@@ -897,7 +889,10 @@
                        , "HTypeSub": ""
                        , "HMoney": "0"
                        , "HTaxRate": "0"
                        , "HQty": "0"
                        , "HPrice": "0"
                        , "HSumMoney": "0"
                        ,"HRemark":""
                    }
                ];
                option.data = rowdata;
@@ -912,15 +907,15 @@
                var rowIndex = $(obj.tr).attr("data-index");
                if (obj.event === 'del') {
                    layer.confirm('真的删除行吗?', function (index) {
                        if (rowIndex === '0') {
                            layer.msg('首行无法删除!!!');
                        } else {
                        //if (rowIndex === '0') {
                        //    layer.msg('首行无法删除!!!');
                        //} else {
                            var oldData = table.cache["mainTable"];
                            oldData.splice(obj.tr.data('index'), 1)
                            option.data = oldData;//将数据绑定到data上
                            table.render(option);
                            layer.close(index);
                        }
                        /*}*/
                    });
                }
            }
@@ -973,19 +968,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) { }
                })
            }
            //#endregion
@@ -998,19 +993,21 @@
                    , 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', '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);
                        getEmpInfoByHEmpID(checkStatus.data[0].HItemID);
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) { }
                })
            }
            //#endregion
@@ -1043,13 +1040,14 @@
            //#region å®¢æˆ·é€‰æ‹©é¡µé¢
            function get_checkCus() {
                var HEmpID = $("#HEmpID").val();
                layer.open({
                    type: 2//弹窗类型
                    , skin: 'layui-layer-rim' //加上边框
                    , area: ['90%', '90%']//大小
                    , title: '业务客户列表'//标题
                    , shift: 2//弹出动画
                    , content: ['../../Baseset/基础资料/Gy_CustomerList.html', 'yes']
                    , content: ['../../Baseset/基础资料/Gy_CustomerList.html?Type=1&openType=3&HEmp=' + HEmpID, 'yes']
                    , btn: ['确定', '取消']
                    , btn1: function (index, layero) {//按钮【按钮一】的回调
                        var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
@@ -1116,6 +1114,11 @@
            //#region éžç©ºéªŒè¯
            function AllowLoadData(data) {
                //数值格式校验工具
                var ref = /^\d+(\.\d+)?$/;          //非负数正则表达式
                var temp = "";
                //#region è¡¨å¤´æ•°æ®æ£€éªŒ
                if ($("#HBillNo").val() == "") {
                    layer.msg("单据号不能为空!");
@@ -1133,30 +1136,52 @@
                    layer.msg("客户不能为空!");
                    return false;
                }
                //if ($("#HProjectMoneyID").val() == "0") {
                //    layer.msg("费用项目未选择!");
                //    return false;
                //}
                //if ($("#HType").val() == "") {
                //    layer.msg("发票类型未选择!");
                //    return false;
                //}
                if ($("#HEmpID").val() == "0") {
                    layer.msg("经手人未选择!");
                    return false;
                }
                //if ($("#HMoney").val() == "0") {
                //    layer.msg("不含税金额不能为零");
                //    return false;
                //}
                //if ($("#HTaxRate").val() == "") {
                //    layer.msg("税率不能为空");
                //    return false;
                //}
                //if ($("#HSumMoney").val() == "0") {
                //    layer.msg("总金额不能为零");
                //    return false;
                //}
                //#region å­è¡¨æ ¡éªŒ
                for (var i = 0; i < option.data.length; i++) {
                    //费用项目校验
                    if (option.data[i].HProjectMoneyID == "0") {
                        layer.msg("第" + (i+1) + "行:请选择费用项目!");
                        return false;
                    }
                    //数量格式校验
                    temp = option.data[i]["HQty"] + "";
                    if (temp == "0") {
                        layer.msg("第" + (i + 1) + "行:数量不能为0!");
                        return false;
                    } else if (!ref.test(temp)) {
                        layer.msg("第" + (i + 1) + "行:数量请输入大于0的数字!");
                        return false;
                    }
                    //单价格式校验
                    temp = option.data[i]["HPrice"] + "";
                    if (temp == "0") {
                        layer.msg("第" + (i + 1) + "行:单价不能为0!");
                        return false;
                    } else if (!ref.test(temp)) {
                        layer.msg("第" + (i + 1) + "行:单价请输入大于0的数字!");
                        return false;
                    }
                    //总金额格式校验
                    temp = option.data[i]["HSumMoney"] + "";
                    if (temp == "0") {
                        layer.msg("第" + (i+1) + "行:总金额不能为0!");
                        return false;
                    } else if (!ref.test(temp)) {
                        layer.msg("第" + (i+1) + "行:总金额请输入大于0的数字!");
                        return false;
                    }
                }
                //#endregion
                return true;
            }
            //#endregion
@@ -1290,7 +1315,7 @@
                            for (var i = 0; i <data1.length; i++) {
                                //延迟原因
                                //发票类型
                                $('#HTypeSub' + (i + 1)).find("option[value='" + data1[i].HTypeSub + "']").attr("selected", true);
                            }
                            form.render('select');
@@ -1427,17 +1452,17 @@
        });
        function GetHDeptNameValue(obj)  //返回部门
        {
            $("#HDeptName").val(obj[0].HName);
            $("#HDeptID").val(obj[0].HItemID);
        }
        //function GetHDeptNameValue(obj)  //返回部门
        //{
        //    $("#HDeptName").val(obj[0].HName);
        //    $("#HDeptID").val(obj[0].HItemID);
        //}
        function GetHEmpValue(obj)  //返回经手人
        {
            $("#HEmpName").val(obj[0].HName);
            $("#HEmpID").val(obj[0].HItemID);
        }
        //function GetHEmpValue(obj)  //返回经手人
        //{
        //    $("#HEmpName").val(obj[0].HName);
        //    $("#HEmpID").val(obj[0].HItemID);
        //}
                //function GetHSupValue(obj)  //返回客户
                //{
@@ -1479,6 +1504,31 @@
            }
        }
            //#endregion
        //#region æ ¹æ®èŒå‘˜èŽ·å–éƒ¨é—¨
        function getEmpInfoByHEmpID(HEmpID) {
            $.ajax({
                url: GetWEBURL() + "/Xs_SeOrderBill/getEmpInfoByHEmpID",
                async: false,
                type: "GET",
                data: {
                    "HEmpID": HEmpID
                },
                success: function (result) {
                    if (result.code == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                        var data = result.data[0];
                        $("#HDeptID").val(data.HDeptID);
                        $("#HDeptName").val(data.HDeptName);
                    } else {
                        layer.alert(result.Message, { icon: 5 });
                    }
                }, error: function () {
                    layer.alert("发生错误!", { icon: 5 });
                }
            });
        }
        //#endregion
    </script>
</body>
</html>