智云srmLayUi(安瑞和瑞琪)(通用版本)
WebSRM/layuiAdmin.std-v1.2.1/src/views/SRM/SRM_BarCodeBill.html
@@ -24,7 +24,7 @@
                                <!--<button type="button" 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="HBarcodeSaverPZ">生成品种码</button>
                                <button type="button" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="HBarcodeSaverWY">生成唯一码</button>-->
                                <button type="button" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="HBarcodeSaverBox">生成内外箱条码</button>
                                <button type="button" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="HBarcodeSaverBox" id="HBarcodeSaverBox">生成内外箱条码</button>
                                <button type="button" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="Print">条码打印</button>
                                <button type="button" class="layui-btn layui-btn-normal layui-btn-radius" lay-submit="" lay-filter="Exit">退出</button>
@@ -115,6 +115,7 @@
    <script src="../../layuiadmin/Scripts/json2.js" type="text/javascript"></script>
    <script src="../../layuiadmin/Scripts/jquery-1.4.1.js" type="text/javascript"></script>
    <script src="../../../../Scripts/webConfig.js"></script>
    <script src="../../layuiadmin/Scripts/general.js"></script>
    <!--<script src="../../../../Scripts/jquery-1.8.2.js"></script>-->
    <script>
        function f_alert(sMsg) {
@@ -149,33 +150,57 @@
                }
            }
        }
        function addDate(date, days) {
            if (days == undefined || days == '') {
                days = 1;
            }
            var havingLeapYear = isDecimal(days / 365); //如果days不能被365整除,则为闰年,需要减少一天
            if (havingLeapYear) {
                days--;//经验证,天数只需要减少一次即可,存在多个闰年不需要循环递减
            }
            var date = new Date(date);
            date.setDate(date.getDate() + days);
            var month = date.getMonth() + 1;
            var day = date.getDate();
            var mm = "'" + month + "'";
            var dd = "'" + day + "'";
        function addDate(date, days, HExpUnit, HKFPeriod) {
            //计算有效期至
            if (HExpUnit == "Y") {//年
                date = new Date(date);
                console.log(date.getFullYear(date));
                date.setYear(date.getFullYear(date) + HKFPeriod);
                console.log(Format(date, "yyyy-MM-dd"));
            //单位数前面加0
            if (mm.length == 3) {
                month = "0" + month;
                return Format(date, "yyyy-MM-dd");
            }
            if (dd.length == 3) {
                day = "0" + day;
            if (HExpUnit == "M") {//月
                date = new Date(date);
                date.setMonth(date.getMonth(date) + HKFPeriod);
                return Format(date, "yyyy-MM-dd");
            }
            if (HExpUnit == "D") {//日
                date = new Date(date);
                date.setDate(date.getDate(date) + HKFPeriod);
                console.log(Format(date, "yyyy-MM-dd"));
                return Format(date, "yyyy-MM-dd");
            }
            else { //安瑞计算方式
                if (days == undefined || days == '') {
                    days = 1;
                }
                var havingLeapYear = isDecimal(days / 365); //如果days不能被365整除,则为闰年,需要减少一天
                if (havingLeapYear) {
                    days--;//经验证,天数只需要减少一次即可,存在多个闰年不需要循环递减
                }
                var date = new Date(date);
                date.setDate(date.getDate() + days);
                var month = date.getMonth() + 1;
                var day = date.getDate();
                var mm = "'" + month + "'";
                var dd = "'" + day + "'";
                //单位数前面加0
                if (mm.length == 3) {
                    month = "0" + month;
                }
                if (dd.length == 3) {
                    day = "0" + day;
                }
                var time = date.getFullYear() + "-" + month + "-" + day
                return time;
            }
            var time = date.getFullYear() + "-" + month + "-" + day
            return time;
        }
        function DateDiff(sDate1, sDate2) {    //sDate1和sDate2是2002-12-18格式
            var aDate, oDate1, oDate2, iDays
@@ -396,7 +421,7 @@
                    });
                return false;
            });
            //生成内外箱码
            //生成内外箱码
            //获取当前数据所在数组的下标
            function findIndex(HMaterNumber, HMaterModel, array) {
@@ -428,8 +453,8 @@
                        layer.msg("明细记录第" + (i + 1) + "行,本次生成条码数量不能超出未生成条码数量!", { icon: 5, btn: ['确认'], time: 2000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                        return Result = false;
                    }
                    if (_sSubStr[i].HQty > 0 && (_sSubStr[i].HBatchNo == "" || _sSubStr[i].HKFDate == "")) {
                        layer.msg("明细记录第" + (i + 1) + "行,批次或生产日期不能为空!", { icon: 5, btn: ['确认'], time: 2000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                    if (_sSubStr[i].HQty > 0 && _sSubStr[i].HISKFPERIOD == 1 && (/*_sSubStr[i].HBatchNo == "" ||*/ _sSubStr[i].HKFDate == "")) {
                        layer.msg("明细记录第" + (i + 1) + "行,生产日期不能为空!", { icon: 5, btn: ['确认'], time: 2000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                        return Result = false;
                    }
                    //获取下标
@@ -439,9 +464,11 @@
                        newArray.push(_sSubStr[i]);
                    } else {
                        //如果数组中有和当前数据中物料代码、规格型号一致的信息,则将他们的数量累加
                        newArray[index].HQty = Number(newArray[index].HQty) + Number(_sSubStr[i].HQty);
                    }
                        if (newArray[index].HPOOrderBillNo == _sSubStr[i].HPOOrderBillNo) {
                            //如果数组中有和当前数据中物料代码、规格型号一致的信息,则将他们的数量累加
                            newArray[index].HQty = Number(newArray[index].HQty) + Number(_sSubStr[i].HQty);
                        }
                    }
                }
                for (let i = 0; i < newArray.length; i++) {
@@ -463,6 +490,8 @@
                                layer.msg(data.Message, { icon: 1 });
                                element.tabDelete('tabDemo', '2'); //删除
                                element.tabDelete('tabDemo', '3'); //删除
                                $('#HBarcodeSaverBox').addClass("layui-btn-disabled").attr("disabled", true);//生成条码按钮禁用
                                element.tabAdd('tabDemo', {
                                    title: '外箱条码'
@@ -595,7 +624,7 @@
                        , shade: 0.6 //遮罩透明度
                        , maxmin: false //允许全屏最小化
                        , anim: 0 //0-6的动画形式,-1不开启
                        , content: ['../../views/BaseSet/SRM_OpenTmpList.html?linterid=' + sessionStorage["HUserName"] + '&HBarcode=&Type=' + openTmpListType, 'yes']
                        , content: ['../../views/BaseSet/SRM_OpenTmpList.html?linterid=' + sessionStorage["linterid"] + '&HBarcode=&Type=SRM_POOrderBillList', 'yes']
                        , resize: false
                        //, cancel: function () {
                        //    $(".layui-btn").removeClass("layui-btn-disabled");
@@ -647,13 +676,17 @@
                    , { field: 'HWBQty', title: '外箱数', width: 100 }
                    , { field: 'HPrice', title: '单价', width: 100, hide: true }
                    , { field: 'HMoney', title: '金额', width: 100, hide: true }
                    , { field: 'HMTONO', title: '计划跟踪单号', width: 100 }
                    , { field: 'HBatchNo', title: '生产日期D/C', width: 100, edit: 'text' }
                    , { field: 'HMTONO', title: '计划跟踪单号', width: 100, hide: true }
                    , { field: 'HBatchNo', title: '批号', width: 100 }
                    , { field: 'HISKFPERIOD', title: '是否启用保质期', width: 100, edit: 'text', hide: true }
                    , { field: 'HEXPUNIT', title: '保质期单位', width: 100, edit: 'text', hide: true }
                    , { field: 'HKFDate', title: '生产日期', align: 'center', width: 150, data_field: 'HKFDate' }//, event: "chooseHKFDate"
                    , { field: 'HKFPeriod', title: '保质期', width: 100 }//
                    , { field: 'HKFDQDate', title: '到期日期', align: 'center', width: 150, data_field: 'HKFDQDate' }//, event: "chooseHKFDQDate"
                    , { field: 'HSupMaterNumber', title: '供应商料号', width: 100, edit: 'text' }
                    , { field: 'HSupBatchNo', title: '供应商批次', width: 100, edit: 'text' }
                    //, { field: 'HBeginDate', title: '生产日期', width: 120, data_field: 'HBeginDate', event: "chooseHBeginDate" }
                    //, { field: 'HEndDate', title: '失效日期', width: 120, data_field: 'HEndDate', event: "chooseHEndDate" }
                    , { field: 'HKFDate', title: '生产日期', align: 'center', width: 150, data_field: 'HKFDate', event: "chooseHKFDate", hide: true}//
                    , { field: 'HKFPeriod', title: '保质期', width: 100, hide: true }//
                    , { field: 'HKFDQDate', title: '到期日期', align: 'center', width: 150, data_field: 'HKFDQDate', hide: true}//, event: "chooseHKFDQDate"
                    //, { field: 'HDate', title: '要求交货日期', width: 150 }
                    , { field: 'HPOOrderInterID', title: '采购订单主内码', width: 150, hide: true }
                    , { field: 'HPOOrderEntryID', title: '采购订单子内码', width: 150, hide: true }
@@ -661,7 +694,7 @@
                    , { field: 'HWWOrderInterID', title: '委外订单主内码', width: 150, hide: true }
                    , { field: 'HWWOrderEntryID', title: '委外订单子内码', width: 150, hide: true }
                    , { field: 'HWWOrderDetaiLID   ', title: '委外订单明细内码', width: 150, hide: true }
                    , { field: 'HWWOrderBillNo', title: '委外订单单号', width: 200 }
                    , { field: 'HWWOrderBillNo', title: '委外订单单号', width: 200, hide: true }
                    , { field: 'HSourceBillType', title: '源单类型', width: 100 }
                    , { field: 'HSourceBillNo', title: '源单单号', width: 200 }
                    , { field: 'HSourceEntryID', title: '源单子内码', width: 150, hide: true }
@@ -754,6 +787,8 @@
                                                        , "HSourceInterID": data[i].HSourceInterID
                                                        , "HSupID": data[i].HSupID
                                                        , "HSupName": data[i].HSupName
                                                        , "HSupBatchNo": data[i].HSupBatchNo
                                                        , "HSupMaterNumber": data[i].HSupMaterNumber
                                                    }
                                                    //oldData.push(data1);
                                                    oldData.splice(dataindex, 0, data1);
@@ -876,6 +911,15 @@
                var data = obj.data;
                if (obj.event === 'chooseHKFDate') {
                    var field = $(this).data('field');
                    var HExpUnit = data.HEXPUNIT; //保质期单位
                    var HKFPeriod = data.HKFPeriod; //保质期
                    if (HExpUnit != 'Y' && HExpUnit != 'M' && HExpUnit != 'D') {
                        layer.msg("此物料没有启用保质期!");
                        obj.update({
                            HKFDate: '',
                        });
                        return;
                    }
                    laydate.render({
                        elem: this.firstChild
                        , show: true //直接显示
@@ -884,7 +928,7 @@
                            data[field] = value;
                            obj.update(data);
                            if (parseInt(obj.data.HKFPeriod) >= 0) {
                                var sKFDQDate = addDate(value, parseInt(obj.data.HKFPeriod));
                                var sKFDQDate = addDate(value, parseInt(obj.data.HKFPeriod), HExpUnit, HKFPeriod);
                                obj.update({
                                    HKFDQDate: sKFDQDate,
                                });