WebTM/views/ÏúÊÛ¹ÜÀí/ÌØÅúÉêÇëµ¥/Xs_ExceptiveCheckRequestBill.html
@@ -14,6 +14,7 @@
    <script src="../../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
    <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
    <script src="../../../layuiadmin/PubCustom.js"></script>
    <script src="../../../layuiadmin/PageTitle.js"></script>
    <style>
        /*.main-btn {*/ /*头部主按钮*/
        /*padding: 0 2px;*/ /*调整按钮左右空隙大小*/
@@ -85,6 +86,7 @@
                        <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnSearch" id="btnSearch">修改</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="set_CheckBill">审核</button>
                        <button class="layui-btn layui-btn-normal" style="margin-left: 0px" type="button" lay-submit="" lay-filter="btnEdit" id="btnEdit">退出</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>
@@ -115,21 +117,21 @@
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label">销售部门</label>
                                            <div class="layui-input-inline">
                                                <input type="text" name="HDeptName" id="HDeptName" class="layui-input" value="" style="float: left; width: 150px; background-color: #efefef4d;" readonly>
                                                <input type="hidden" name="HDeptID" id="HDeptID" class="layui-input" value="0" style="float:left;width:150px;">
                                                <!--<button type="button" lay-submit="" class="layui-btn" lay-filter="HDeptList" style="width:40px;">
                                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i>
                                                </button>-->
                                            </div>
                                        </div>
                                        <div class="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; background-color: #efefef4d;" readonly>
                                                <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>
                                                </button>-->
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label">销售部门</label>
                                            <div class="layui-input-inline">
                                                <input type="text" name="HDeptName" id="HDeptName" class="layui-input" value="" style="float: left; width: 150px; background-color: #efefef4d;" readonly>
                                                <input type="hidden" name="HDeptID" id="HDeptID" class="layui-input" value="0" style="float:left;width:150px;">
                                                <!--<button type="button" lay-submit="" class="layui-btn" lay-filter="HDeptList" style="width:40px;">
                                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i>
                                                </button>-->
                                            </div>
@@ -165,28 +167,19 @@
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-inline">
                                            <label class="layui-form-label">销售主管</label>
                                            <div class="layui-input-inline">
                                                <input type="text" name="HManagerName" id="HManagerName" class="layui-input" value="" style="float: left; width: 150px; background-color: #efefef4d;" readonly>
                                                <input type="hidden" name="HManagerID" id="HManagerID" class="layui-input" value="0" style="float:left;width:150px;">
                                                <!--<button type="button" lay-submit="" class="layui-btn" lay-filter="HManagerList" style="width:40px;">
                                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i>
                                                </button>-->
                                            </div>
                                        </div>
                                        <div class="layui-inline">
                                            <label class="layui-form-label">特批类型</label>
                                            <div class="layui-input-inline">
                                                <select name="BillType" id="BillType" lay-filter="BillType" style="width: 180px; ">
                                                    <option style="color:blue;" selected="selected" value="1401">销售订单</option>
                                                    <option style="color:blue;" value="1425">销售订单变更单</option>
                                                    <option style="color:blue;" value="1205">销售出库单</option>
                                                </select>
                                            </div>
                                        </div>
                                        <div class="layui-inline" style="width:900px;">
                                            <label class="layui-form-label">信用类型</label>
                                            <div class="layui-input-inline" style="width:750px;">
                                                <input type="text" name="" id="" class="layui-input" value="" style="float: left; width: 515px; background-color: #efefef4d;" readonly>
                                        <div class="layui-inline">
                                            <label class="layui-form-label">承诺付款时间<label style="color:red"> * </label></label>
                                            <div class="layui-input-block">
                                                <input type="date" class="layui-input" lay-verify="HPlanPayDate" name="HPlanPayDate" id="HPlanPayDate" style="width:190px;">
                                            </div>
                                        </div>
                                    </div>
@@ -256,7 +249,7 @@
                                        <div class="layui-inline">
                                            <label class="layui-form-label">最近发货时间</label>
                                            <div class="layui-input-block">
                                                <input type="date" class="layui-input" lay-verify="HLastSendDate" name="HLastSendDate" id="HLastSendDate"  style="width:190px;" readonly>
                                                <input type="date" class="layui-input" lay-verify="HLastSendDate" name="HLastSendDate" id="HLastSendDate" style="width:190px;" readonly>
                                            </div>
                                        </div>
                                    </div>
@@ -280,6 +273,12 @@
                                                <input class="layui-input" name="HMainSourceEntryID" id="HMainSourceEntryID" value="0" autocomplete="off">
                                                <input class="layui-input" name="HMainSourceBillNo" id="HMainSourceBillNo" value="" autocomplete="off">
                                                <input class="layui-input" name="HMainSourceBillType" id="HMainSourceBillType" value="" autocomplete="off">
                                            </div>
                                        </div>
                                        <div class="layui-inline" style="width:900px;">
                                            <label class="layui-form-label">信用类型</label>
                                            <div class="layui-input-inline" style="width:750px;">
                                                <input type="text" name="" id="" class="layui-input" value="" style="float: left; width: 515px; background-color: #efefef4d;" readonly>
                                            </div>
                                        </div>
                                    </div>
@@ -357,6 +356,18 @@
                                            </div>
                                        </div>
                                    </div>
                                    <div class="layui-row">
                                        <div class="layui-inline">
                                            <label class="layui-form-label">销售主管</label>
                                            <div class="layui-input-inline">
                                                <input type="text" name="HManagerName" id="HManagerName" class="layui-input" value="" style="float: left; width: 150px; background-color: #efefef4d;" readonly>
                                                <input type="hidden" name="HManagerID" id="HManagerID" class="layui-input" value="0" style="float:left;width:150px;">
                                                <!--<button type="button" lay-submit="" class="layui-btn" lay-filter="HManagerList" style="width:40px;">
                                                    <i class="layui-icon layui-icon-search layuiadmin-button-btn" style="margin-left:-9px;"></i>
                                                </button>-->
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
@@ -380,6 +391,15 @@
                , table = layui.table
                , form = layui.form
                , element = layui.element;
         //#region ã€åŠ¨æ€èŽ·å–æ¨¡å—åç§°ã€‘
            var HModuleType = "1422";
            //通过单据类型,从数据库动态获取单据模块命名,引用js文件 PageTitle.js
            var HPageTitle = get_PageTitle(HModuleType) == "" ? $("h1").html() : get_PageTitle(HModuleType);
            $("h1").html('<b>' + HPageTitle + '</b>');
            //#endregion
            //模块名
            var HModName = "Xs_ExceptiveCheckRequestBill";
@@ -410,6 +430,7 @@
                $("#HMaker").val(sessionStorage["HUserName"]);
                $("#HMakeDate").val(Format(new Date(), "yyyy-MM-dd"));
                $("#HDate").val(Format(new Date(), "yyyy-MM-dd"));
                $("#HPlanPayDate").val(Format(new Date(), "yyyy-MM-dd"));
            }
            else if (OperationType == 3) {                                                 //编辑
                //加载编辑页面
@@ -420,6 +441,8 @@
                    setInit_PushBySeOrderBill(linterid);
                } else if (params[params[2]] + "" == "1205") {
                    setInit_PushBySellOutBill(linterid);
                } else if (params[params[2]] + "" == "1425") {
                    setInit_PushBySeOrderChangeBill(linterid);
                }
            }
            //#endregion
@@ -496,9 +519,45 @@
            //#region æ“ä½œæŒ‰é’®è§¦å‘事件
            //#region ä¿å­˜æäº¤
            form.on('submit(btnSave)', function (data) {//提交
                //if (AllowLoadData(data)) {
                if (OperationType == 4) {
                    //#region åˆ¤æ–­æºå•状态
                    var HSourceBillData = "";
                    var HSourceBillType = $("#BillType").val();
                    if (HSourceBillType == "1401") {
                        var HSourceBillData = getSourceBillStatus_SeOrderBill();            //获取源单数据
                    } else if (HSourceBillType == "1205") {
                        var HSourceBillData = getSourceBillStatus_SellOutBill();            //获取源单数据
                    } else if (HSourceBillType == "1425") {
                        var HSourceBillData = getSourceBillStatus_SeOrderChangeBill();            //获取源单数据
                    } else {
                        HSourceBillData = "none";
                        layer.alert("保存失败!源单类型不为销售订单、销售出库单或销售订单变更单!", { icon: 5 });
                        return;
                    }
                    if (HSourceBillData != "none") {
                        if (HSourceBillData.length == 0) {
                            layer.alert("保存失败!未查询到源单单据!", { icon: 5 });
                            return;
                        } else if (HSourceBillData[0]["状态"] != "创建") {
                            var err = "保存失败!原因:源单单据状态为“" + HSourceBillData[0]["状态"] + "”,不允许保存!";
                            layer.alert(err, { icon: 5 });
                            return;
                        }
                    } else {
                        return;
                    }
                //#endregion
                }
                if (AllowLoadData(data)) {
                    set_AddNew(data);
                //}
                }
            });
            //#endregion
            //#region å®¡æ ¸æŒ‰é’®
            form.on('submit(set_CheckBill)', function (data) {
                set_CheckBill(0);
            });
            //#endregion
@@ -841,6 +900,7 @@
                                , "HRemark": data.备注
                                , "HSendQty": data.本次发货数量
                                , "HLastSendDate": data.最近发货日期 == null ? "" : Format(new Date(data.最近发货日期), "yyyy-MM-dd")
                                , "HPlanPayDate": data.承诺付款日期 == null ? "" : Format(new Date(data.承诺付款日期), "yyyy-MM-dd")
                                , "HCreditRating_Q": data.黄线额度
                                , "HMaxCreditRating_Q": data.红线额度
@@ -1011,7 +1071,7 @@
                            //计算单价金额
                            var HSendMoney = 0;
                            for (var i = 0; i < result.data.length; i++) {
                                HSendMoney += result.data[i]["金额"] * 1;
                                HSendMoney += result.data[i]["数量"] * result.data[i]["含税单价"] * 1;
                            }
                            HSendMoney = HSendMoney * data.汇率;                  //换算成本位币
                            $("#HSendMoney").val(HSendMoney);
@@ -1029,53 +1089,240 @@
            }
            //#endregion
            //#region éžç©ºéªŒè¯
            //#region (销售订单变更单)下推页面初始化
            function setInit_PushBySeOrderChangeBill(linterid) {
                //生成并设置主表的内码和单据号
                createBillNo();
                //时间组件初始化
                set_InitDate();
                //特批类型初始化并禁用
                $("#BillType").val(params[params[2]]);
                $("#BillType").attr("disabled", true);
                //相关文本框信息初始化
                $("#HDate").val(Format(new Date(), "yyyy-MM-dd"));
                $("#HMaker").val(sessionStorage["HUserName"]);
                $("#HMakeDate").val(Format(new Date(), "yyyy-MM-dd"));
                //查询 é”€å”®è®¢å•变更单 æ˜¯å¦å­˜åœ¨
                var ajaxLoad = layer.load();
                $.ajax({
                    url: GetWEBURL() + "/Xs_SeOrderChangeBill/cx",
                    async: false,
                    type: "GET",
                    data: {
                        "HInterID": linterid
                    },
                    success: function (result) {
                        if (result.code == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                            var data = result.data[0];
                            form.val("formData", { //formTest å³ class="layui-form" æ‰€åœ¨å…ƒç´ å±žæ€§ lay-filter="" å¯¹åº”的值
                                "HDeptID": data.HDeptID
                                , "HDeptName": data.销售部门
                                , "HEmpID": data.HEmpID
                                , "HEmpName": data.销售员
                                , "HCurID": data.HCurID
                                , "HCurName": data.币别
                                , "HExRate": data.汇率
                                , "HCusID": data.HCusID
                                , "HCusName": data.业务客户
                                , "HManagerID": "0"
                                , "HManagerName": ""
                                , "HMainSourceInterID": linterid
                                , "HMainSourceBillNo": data.单据号
                                , "HMainSourceBillType": params[params[2]]
                            });
                            //组织的值HOrgID变化,重新渲染
                            HOrgIDBar = data.HOrgID;
                            //根据客户获取客户信用额度
                            getCustomerByCusID(data.HCusID);
                            //计算单价金额
                            var HSendMoney = 0;
                            for (var i = 0; i < result.data.length; i++) {
                                HSendMoney += (result.data[i]["新数量"] * result.data[i]["新含税单价"]);
                            }
                            HSendMoney = HSendMoney * data.汇率;                  //换算成本位币
                            $("#HSendMoney").val(HSendMoney);
                            layer.close(ajaxLoad);
                        } else {
                            layer.close(ajaxLoad);
                            layer.alert(result.msg, { icon: 5, btn: ['退出'], time: 100000, offset: 't' });
                        }
                    }, error: function () {
                        layer.close(ajaxLoad);
                        layer.alert("发生错误!", { icon: 5 });
                    }
                });
            }
            //#endregion
            //#region æ•°æ®æ ¡éªŒ
            function AllowLoadData(data) {
                //#region æ•°æ®æ ¡éªŒå·¥å…·
                var temp;                           //记录需要检验的属性的值,用于检验
                var ref = /^\d+(\.\d+)?$/;          //判断是否是非负浮点数
                var ref1 = /^\d+$/;                 //判断是否是非负整数
                var value1 = ["#HWantPay"];  //子表需要进行浮点数验证的属性清单
                var value1_ = ["期望薪水"];  ////子表需要进行浮点数验证的属性清单对应的列名清单
                var value2 = ["#HAge","#HContractYear"];  //子表需要整数检验的属性清单
                var value2_ = ["年龄","合同期限"]; //子表需要整数检验的属性清单对应的列名清单
                var value3 = [];       //子表需要进行非空检验的属性清单
                var value3_ = [];                                 //子表需要进行非空检验的属性清单对应的列名清单
                //#endregion
                //数值格式校验工具
                var ref = /^\d+(\.\d+)?$/;          //非负数正则表达式
                var temp = "";
                //#region è¡¨å¤´æ•°æ®æ£€éªŒ
                //非空检验
                for (var j = 0; j < value3.length; j++) {
                    temp = $(value3[j]).val() + "";
                    if (temp == "") {
                        layer.msg(value3_[j] + "不可为空!");
                        return false;
                    }
                if ($("#HBillNo").val() == "") {
                    layer.msg("单据编号不能为空!");
                    return false;
                }
                //整数检验
                for (var j = 0; j < value2.length; j++) {
                    temp = $(value2[j]).val() + "";
                    if (temp == "") {
                        layer.msg(value2_[j] + "不能为空!");
                        return false;
                    } else if (!ref1.test(temp)) {
                        layer.msg(value2_[j] + "请输入非负整数!");
                        return false;
                    }
                if ($("#HDate").val() == "") {
                    layer.msg("日期不能为空!");
                    return false;
                }
                //浮点数检验
                for (var j = 0; j < value1.length; j++) {
                    temp = $(value1[j]).val() + "";
                    if (temp == "") {
                        layer.msg(value1_[j] + "不能为空!");
                        return false;
                    } else if (!ref.test(temp)) {
                        layer.msg(value1_[j] + "请输入正确非负数字!");
                        return false;
                    }
                //if ($("#HDeptID").val() == "0") {
                //    layer.msg("销售部门未选择!");
                //    return false;
                //}
                //if ($("#HEmpID").val() == "0") {
                //    layer.msg("销售员未选择!");
                //    return false;
                //}
                if ($("#HCurID").val() == "0") {
                    layer.msg("销售币别未选择!");
                    return false;
                }
                temp = $("#HExRate").val() + "";
                if (temp == 0 || temp == "") {
                    layer.msg("汇率不能为0或空!");
                    return false;
                } else if (!ref.test(temp)) {
                    layer.msg("汇率请输入大于0的数字!");
                    return false;
                }
                if ($("#HCusID").val() == "0") {
                    layer.msg("客户未选择!");
                    return false;
                }
                if ($("#HSSID").val() == "0") {
                    layer.msg("结算方式未选择!");
                    return false;
                }
                //if ($("#HMangerID").val() == "0") {
                //    layer.msg("销售主管未选择!");
                //    return false;
                //}
                if ($("#HPlanPayDate").val() == "") {
                    layer.msg("承诺付款时间不可为空!");
                    return false;
                }
                //#endregion
                return true;
            }
            //#endregion
            //#region åå®¡æ ¸/审核数据
            function set_CheckBill(num) {
                var InterID = $("#HInterID").val();
                //逻辑审核方法
                $.ajax({
                    type: "GET",
                    url: GetWEBURL() + "/Xs_ExceptiveCheckRequestBill/AuditXs_ExceptiveCheckRequestBill", //方法所在页面和方法名
                    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
            //#region èŽ·å–æºå•-销售订单单据状态
            function getSourceBillStatus_SeOrderBill() {
                var HSourceBillData = "none";
                var sWhere = " and hmainid = " + $("#HMainSourceInterID").val();
                $.ajax({
                    url: GetWEBURL() + '/Xs_SeOrderBill/list',
                    async: false,
                    type: "GET",
                    data: { "sWhere": sWhere, "user": sessionStorage["HUserName"] },
                    success: function (data1) {
                        if (data1.count == 1) {
                            HSourceBillData = data1.data;
                        } else {
                            layer.alert(data1.code + "源单单据状态判断失败!", { icon: 5 });
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
                return HSourceBillData;
            }
            //#endregion
            //#region èŽ·å–æºå•-销售订单变更单单据状态
            function getSourceBillStatus_SeOrderChangeBill() {
                var HSourceBillData = "none";
                var sWhere = " and hmainid = " + $("#HMainSourceInterID").val();
                $.ajax({
                    url: GetWEBURL() + '/Xs_SeOrderChangeBill/list',
                    async: false,
                    type: "GET",
                    data: { "sWhere": sWhere, "user": sessionStorage["HUserName"] },
                    success: function (data1) {
                        if (data1.count == 1) {
                            HSourceBillData = data1.data;
                        } else {
                            layer.alert(data1.code + "源单单据状态判断失败!", { icon: 5 });
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
                return HSourceBillData;
            }
            //#endregion
            //#region èŽ·å–æºå•-销售出库单单据状态
            function getSourceBillStatus_SellOutBill() {
                var HSourceBillData = "none";
                var sWhere = " and hmainid = " + $("#HMainSourceInterID").val();
                $.ajax({
                    url: GetWEBURL() + '/Kf_SellOutBill/GetSellOutBillList',
                    async: false,
                    type: "GET",
                    data: { "sWhere": sWhere, "user": sessionStorage["HUserName"] },
                    success: function (data1) {
                        if (data1.count == 1) {
                            HSourceBillData = data1.data;
                        } else {
                            layer.alert(data1.code + "源单单据状态判断失败!", { icon: 5 });
                        }
                    }, error: function () {
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
                return HSourceBillData;
            }
            //#endregion
            //#endregion
@@ -1142,6 +1389,7 @@
                type: "GET",
                data: {
                    "HCusID": HCusID
                    , "CurUserName": sessionStorage["HUserName"]
                },
                success: function (result) {
                    if (result.code == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
@@ -1157,10 +1405,18 @@
                        $("#HLeftMoney").val(HLeftMoney);
                    } else {
                        layer.alert(result.Message, { icon: 5, btn: ['退出'], time: 100000, offset: 't' });
                        //layer.alert(result.Message, { icon: 5 });
                        $("#HCusBalance").val("");
                        $("#HCreditRating_Now").val("");
                        $("#HAvailableBalance").val("");
                        $("#HLeftMoney").val("");
                    }
                }, error: function () {
                    layer.alert("发生错误!", { icon: 5 });
                    $("#HCusBalance").val("");
                    $("#HCreditRating_Now").val("");
                    $("#HAvailableBalance").val("");
                    $("#HLeftMoney").val("");
                }
            });
        }