chenhaozhe
2025-11-04 4d4d959052cc0d67ce751bac84c39c372a9ac9db
调整 条码拆码页面 新增 拆分后条码打印功能,修改条码生成规则
1个文件已添加
2个文件已修改
631 ■■■■■ 已修改文件
.gitignore 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/模治具管理/模治具管理/Gy_SplitBarCode.html 124 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/模治具管理/模治具管理/Gy_SplitBarCode_Deprecated.html 505 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.gitignore
@@ -7,4 +7,4 @@
/.vs
/WebTM.csproj.user
/WebTM/Properties/PublishProfiles
/.vscode
WebTM/views/Ä£Öξ߹ÜÀí/Ä£Öξ߹ÜÀí/Gy_SplitBarCode.html
@@ -1,11 +1,13 @@
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>拆分条码</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
    <meta name="viewport"
        content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
    <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
    <script src="../../../layuiadmin/layui/layui.js"></script>
@@ -15,13 +17,13 @@
    <script src="../../../layuiadmin/PubCustom.js"></script>
    <script src="../../../layuiadmin/zgqCustom/zgqCustom.js"></script>
    <style type="text/css">
        /*begin æ­¤æ ·å¼ç”¨äºŽæ¶ˆé™¤è¡Œå…ƒç´ ä¸­å¸ƒå±€å®½åº¦ä¸å¤Ÿçš„问题*/
        .layui-form-item .layui-inline {
            margin-top: 5px;
            margin-bottom: 5px;
            margin-right: 0px;
        }
        /*end*/
        .layui-table-cell .layui-form-checkbox[lay-skin="primary"] {
            margin-left: 35%;
@@ -32,6 +34,7 @@
        }
    </style>
</head>
<body>
    <div id="layout1" class="layui-fluid">
        <div class="layui-row layui-col-space15">
@@ -41,8 +44,10 @@
                        <div class="layui-card-header">
                            <div class="layui-input-block">
                                <!--<button type="button" class="layui-btn" id="ToolPrint" lay-submit="" lay-filter="ToolPrint">预览打印</button>-->
                                <button type="button" class="layui-btn" id="ToolCreate" lay-submit="" lay-filter="ToolCreate">生成</button>
                                <button type="button" class="layui-btn" id="ToolExit" lay-submit="" lay-filter="ToolExit">退出</button>
                                <button type="button" class="layui-btn" id="ToolCreate" lay-submit=""
                                    lay-filter="ToolCreate">生成</button>
                                <button type="button" class="layui-btn" id="ToolExit" lay-submit=""
                                    lay-filter="ToolExit">退出</button>
                            </div>
                        </div>
@@ -55,22 +60,26 @@
                                            <div class="layui-inline">
                                                <label class="layui-form-label">条码编号</label>
                                                <div class="layui-input-inline">
                                                    <input class="layui-input" name="HBarCodeNo" id="HBarCodeNo" autocomplete="off">
                                                    <input class="layui-input" name="HBarCodeNo" id="HBarCodeNo"
                                                        autocomplete="off">
                                                </div>
                                            </div>
                                            <div class="layui-inline">
                                                <label class="layui-form-label">拆分条码数</label>
                                                <div class="layui-input-inline">
                                                    <input class="layui-input" name="HSplitBarNum" id="HSplitBarNum" autocomplete="off">
                                                    <input class="layui-input" name="HSplitBarNum" id="HSplitBarNum"
                                                        autocomplete="off">
                                                </div>
                                            </div>
                                            <div class="layui-inline">
                                                <button type="button" class="layui-btn layui-btn-sm" id="ToolSure" lay-submit="" lay-filter="ToolSure">确定</button>
                                                <button type="button" class="layui-btn layui-btn-sm" id="ToolSure"
                                                    lay-submit="" lay-filter="ToolSure">确定</button>
                                            </div>
                                            <div class="layui-inline">
                                                <label class="layui-form-label">制单人</label>
                                                <div class="layui-input-inline">
                                                    <input class="layui-input" name="HMaker" id="HMaker" autocomplete="off">
                                                    <input class="layui-input" name="HMaker" id="HMaker"
                                                        autocomplete="off">
                                                </div>
                                            </div>
                                        </div>
@@ -99,17 +108,25 @@
                        </script>
                        <script type="text/html" id="switchTpl">
                            <!-- è¿™é‡Œçš„ checked çš„状态只是演示 -->
                            <input type="checkbox" name="checkbox" value="{{d.HGiveAwayFlag}}" lay-skin="primary" lay-filter="HGiveAwayFlag" {{ d.HGiveAwayFlag == 1 ? 'checked' : '' }}>
                        <input type="checkbox" name="checkbox" value="{{d.HGiveAwayFlag}}" lay-skin="primary"
                            lay-filter="HGiveAwayFlag" {{ d.HGiveAwayFlag==1 ? 'checked' : '' }}>
                        </script>
                        <script type="text/html" id="switchTp2">
                            <!-- è¿™é‡Œçš„ checked çš„状态只是演示 -->
                            <input type="checkbox" name="checkbox" lay-skin="primary" lay-filter="HGiveAwayFlag1">
                        </script>
                    </form>
                </div>
            </div>
        </div>
    </div>
    <script type="text/html" id="toolbarDemo_New">
       <div class="layui-btn-container">
           <button type="button" class="layui-btn layui-btn-sm" style="display:block;" id="btn-print" lay-event="btn-print"><i class="layui-icon layui-icon-print"></i>打印</button>
       </div>
    </script>
    <script type="text/html" id="barDemo">
        <!--<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>-->
        <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
@@ -133,7 +150,7 @@
            base: '../../../layuiadmin/' //静态资源所在路径
        }).extend({
            index: 'lib/index' //主入口模块
        }).use(['index', 'form', 'laydate', 'table', 'element'], function () {
        }).use(['index', 'form', 'laydate', 'table', 'element', 'soulTable'], function () {
            //#region å…¬å…±å˜é‡
            var $ = layui.$
                , admin = layui.admin
@@ -141,7 +158,8 @@
                , table = layui.table
                , form = layui.form
                , laydate = layui.laydate
                , element = layui.element;
                , element = layui.element
                , soulTable = layui.soulTable;
            //查询条件
            var option = [];
            var option_New = [];
@@ -258,9 +276,41 @@
            })
            //#endregion
            //#region å¤´å·¥å…·æ äº‹ä»¶
            table.on('toolbar(mainTable_New)', function (obj) {
                switch (obj.event) {
                    case 'btn-print':
                        var checkStatus = table.checkStatus('mainTable_New')
                            , data = checkStatus.data;
                        if (checkStatus.data.length > 0) {
                            var rows = '';
                            for (var i = 0; i < data.length; i++) {
                                rows += data[i].HItemID.toString() + ',';
                            }
                            rows = rows.substring(rows.length - 1, 0);
                            layer.open({
                                type: 2
                                , area: ['40%', '80%']
                                , title: '打印模版选择'
                                , shade: 0.6 //遮罩透明度
                                , maxmin: false //允许全屏最小化
                                , anim: 0 //0-6的动画形式,-1不开启
                                , content: ['../../BaseSet/SRM_OpenTmpList.html?linterid=' + rows + '&MyMsg=' + rows + '&Type=HGy_BarCodeBill', 'yes']
                                , resize: false
                            })
                        }
                        else {
                            layer.msg(get_MessageError('[0000-1-016]请选择数据打印!', sessionStorage["HTranSlate"]));
                        }
                        break;
                }
            })
            //#endregion
            //#region ç¡®å®šæŒ‰é’®
            form.on('submit(ToolSure)', function (data) {//
                var HBarCodeNo = $('#HBarCodeNo').val();//条码编号
                var HBarCodeNo = $('#HBarCodeNo').val().trim();//条码编号
                var HSplitBarNum = $('#HSplitBarNum').val();//拆分条码数
                if (!HBarCodeNo) {
@@ -364,6 +414,7 @@
                    , { field: 'HName', title: '物料名称', width: 200 }
                    , { field: 'HModel', title: '规格型号', width: 200 }
                    , { field: 'HBatchNo', title: '批号', width: 200 }
                    , { field: 'HItemID', title: 'HItemID', width: 200, hide: true }
                    //, { fixed: 'right', title: '操作', toolbar: '#barDemo' }
                ];
               
@@ -378,6 +429,7 @@
                    , cols: [columns]
                    , limit: 500
                    , done: function (res, curr, count) {
                        soulTable.render(this);
                    }
                };
                option_New.data = rowdata;
@@ -404,7 +456,7 @@
                                "HBarCode": '', "HQty": '', "HSplitNum": '', "HNumber": '', "HName": '', "HModel": '', "HBatchNo": ''
                            }];
                            //获取26个大写字母
                            //获取26个大写字母(弃用)
                            const letter = [];
                            let start = 'A'.charCodeAt(0); //65
                            let last = 'Z'.charCodeAt(0);  //90
@@ -418,10 +470,34 @@
                                rowdata.push({ "HBarCode": '', "HQty": '', "HSplitNum": '', "HNumber": '', "HName": '', "HModel": '', "HBatchNo": ''});
                            }                           
                            var maxNum = 1
                            if (result.data[0]["HBarCodeType"] == '唯一条码') {
                                // å”¯ä¸€æ¡ç  éœ€æ£€æŸ¥æ¡ç ä¸­ ä»¥å½“前条码为前缀的条码 æœ‰å‡ æ¡, å–HEntryID æœ€å¤§çš„一条
                                $.ajax({
                                    url: GetWEBURL() + '/Gy_SplitBarCode/Info_Unique',
                                    type: "GET",
                                    async: false,
                                    data: { "HBarCodeNo": HBarCodeNo, },
                                    success: function (res) {
                                        console.log(res)
                                        if (res.count == 1) {
                                            if (res.data.length != 0) {
                                                maxNum = res.data[0]["HEntryID"] + 1
                                            }
                                        } else {
                                            layer.close(index);
                                            layer.alert(res.code + res.Message, { icon: 5 });
                                            return
                                        }
                                    }
                                })
                            }
                            for (let i = 0; i < result.data.length; i++) {
                                result.data[i].HBarCode = tmbh + letter[i];
                                rowdata[i].HBarCode = tmbh + letter[i];
                                result.data[i].HBarCode = tmbh + '-' + (maxNum + i);
                                rowdata[i].HBarCode = tmbh + '-' + (maxNum + i);
                                rowdata[i].HQty = result.data[0].HQty;
                                rowdata[i].HEntryID = (maxNum + i)
                                rowdata[i].HSplitNum = "";
                                rowdata[i].HNumber = result.data[0].HNumber;
                                rowdata[i].HName = result.data[0].HName;
@@ -448,6 +524,7 @@
            //条码生成
            function SaveBarCodeCreate(sMainSub) {
                var loading = layer.load(0)
                $.ajax(
                    {
                        type: "POST",
@@ -458,6 +535,22 @@
                        success: function (result) {
                            if (result.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                                layer.msg(result.Message, { icon: 1 });       
                                var resultMap = {}
                                for (var i = 0; i < result.data.length; i++) {
                                    resultMap[result.data[i].HEntryID] = result.data[i]
                                }
                                var cache = table.cache['mainTable_New']
                                for (i = 0;i<cache.length; i++) {
                                    cache[i]["HItemID"] = resultMap[cache[i]["HEntryID"]]["HItemID"]
                                }
                                console.log("cache_New: ", cache)
                                table.reload('mainTable_New', {
                                    data: cache // è°ƒç”¨table.reload é‡æ–°æ¸²æŸ“显示加载追加了数据的表格
                                });
                                table.render(cache)
                            }
                            else {
                                $('#ToolCreate').removeClass("layui-btn-disabled").attr("disabled", false);//生成按钮启用
@@ -502,4 +595,5 @@
        });
    </script>
</body>
</html>
WebTM/views/Ä£Öξ߹ÜÀí/Ä£Öξ߹ÜÀí/Gy_SplitBarCode_Deprecated.html
New file
@@ -0,0 +1,505 @@
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>拆分条码</title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
    <link rel="stylesheet" href="../../../layuiadmin/layui/css/layui.css" media="all">
    <link rel="stylesheet" href="../../../layuiadmin/style/admin.css" media="all">
    <script src="../../../layuiadmin/layui/layui.js"></script>
    <script src="../../../layuiadmin/Scripts/json2.js"></script>
    <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/zgqCustom/zgqCustom.js"></script>
    <style type="text/css">
        /*begin æ­¤æ ·å¼ç”¨äºŽæ¶ˆé™¤è¡Œå…ƒç´ ä¸­å¸ƒå±€å®½åº¦ä¸å¤Ÿçš„问题*/
        .layui-form-item .layui-inline {
            margin-top: 5px;
            margin-bottom: 5px;
            margin-right: 0px;
        }
        /*end*/
        .layui-table-cell .layui-form-checkbox[lay-skin="primary"] {
            margin-left: 35%;
        }
        .layui-input-block {
            margin-left: 0px;
        }
    </style>
</head>
<body>
    <div id="layout1" class="layui-fluid">
        <div class="layui-row layui-col-space15">
            <div class="layui-col-md12">
                <div class="layui-card">
                    <form id="form0" class="layui-form" lay-filter="component-form-group" action="">
                        <div class="layui-card-header">
                            <div class="layui-input-block">
                                <!--<button type="button" class="layui-btn" id="ToolPrint" lay-submit="" lay-filter="ToolPrint">预览打印</button>-->
                                <button type="button" class="layui-btn" id="ToolCreate" lay-submit="" lay-filter="ToolCreate">生成</button>
                                <button type="button" class="layui-btn" id="ToolExit" lay-submit="" lay-filter="ToolExit">退出</button>
                            </div>
                        </div>
                        <div class="layui-card-body">
                            <div class="layui-tab layui-tab-brief" lay-filter="docDemoTabBrief">
                                <!--<h1 style="text-align:center;"><b>条码生成</b></h1>-->
                                <div class="layui-tab-content">
                                    <div class="layui-tab-item layui-show">
                                        <div class="layui-form-item">
                                            <div class="layui-inline">
                                                <label class="layui-form-label">条码编号</label>
                                                <div class="layui-input-inline">
                                                    <input class="layui-input" name="HBarCodeNo" id="HBarCodeNo" autocomplete="off">
                                                </div>
                                            </div>
                                            <div class="layui-inline">
                                                <label class="layui-form-label">拆分条码数</label>
                                                <div class="layui-input-inline">
                                                    <input class="layui-input" name="HSplitBarNum" id="HSplitBarNum" autocomplete="off">
                                                </div>
                                            </div>
                                            <div class="layui-inline">
                                                <button type="button" class="layui-btn layui-btn-sm" id="ToolSure" lay-submit="" lay-filter="ToolSure">确定</button>
                                            </div>
                                            <div class="layui-inline">
                                                <label class="layui-form-label">制单人</label>
                                                <div class="layui-input-inline">
                                                    <input class="layui-input" name="HMaker" id="HMaker" autocomplete="off">
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <div class="layui-tab layui-tab-card" lay-filter="tab-TabTest">
                            <ul class="layui-tab-title">
                                <li lay-id="1" class="layui-this">条码信息</li>
                                <li lay-id="2">新码信息</li>
                            </ul>
                            <div class="layui-tab-content">
                                <div class="layui-tab-item layui-show">
                                    <table class="layui-hide" id="mainTable" lay-filter="mainTable"></table>
                                </div>
                                <div class="layui-tab-item">
                                    <table class="layui-hide" id="mainTable_New" lay-filter="mainTable_New"></table>
                                </div>
                            </div>
                        </div>
                        <script type="text/html" id="xuhao">
                            {{d.LAY_TABLE_INDEX+1}}
                        </script>
                        <script type="text/html" id="switchTpl">
                            <!-- è¿™é‡Œçš„ checked çš„状态只是演示 -->
                            <input type="checkbox" name="checkbox" value="{{d.HGiveAwayFlag}}" lay-skin="primary" lay-filter="HGiveAwayFlag" {{ d.HGiveAwayFlag == 1 ? 'checked' : '' }}>
                        </script>
                        <script type="text/html" id="switchTp2">
                            <!-- è¿™é‡Œçš„ checked çš„状态只是演示 -->
                            <input type="checkbox" name="checkbox" lay-skin="primary" lay-filter="HGiveAwayFlag1">
                        </script>
                    </form>
                </div>
            </div>
        </div>
    </div>
    <script type="text/html" id="barDemo">
        <!--<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>-->
        <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
    </script>
    <script>
        //获取参数
        var params = get_UrlVars();
        if (typeof (params[params[0]]) == "undefined") {
            var OperationType = 1;//操作类型
            var closeType = 2;  //关闭类型
        } else {
            debugger;
            var OperationType = params[params[0]];//操作类型
            var linterid = params[params[1]];//源单id
            var HSouceBillType = params[params[2]];//源单类型
            var closeType = params[params[3]];  //关闭类型
        }
        layui.config({
            base: '../../../layuiadmin/' //静态资源所在路径
        }).extend({
            index: 'lib/index' //主入口模块
        }).use(['index', 'form', 'laydate', 'table', 'element'], function () {
            //#region å…¬å…±å˜é‡
            var $ = layui.$
                , admin = layui.admin
                , layer = layui.layer
                , table = layui.table
                , form = layui.form
                , laydate = layui.laydate
                , element = layui.element;
            //查询条件
            var option = [];
            var option_New = [];
            var sWhere = "";
            var HModName = "Gy_SplitBarCode";
            var titleData = [];//不需要显示的字段 å¯æ‰©å±•
            //#endregion
            //光标默认显示在条码编号位置
            $("#HBarCodeNo").focus();
            //获取制单人信息
            $("#HMaker").val(sessionStorage["HUserName"]);
            //监听当前处于哪一个页签
            element.on('tab(tab-TabTest)', function (data) {
            })
            var rowdata = [{
                "HBarCode": '', "HQty": '', "HSplitNum": '', "HNumber": '', "HName": '', "HModel": '',"HBatchNo": ''
            }];
            //#region è¿›å…¥é¡µé¢æ—¢åŠ è½½
            //初始化表单插件
            set_InitFrom();
            //初始化表格
            set_InitGrid();
            set_InitGrid_New();
            //判断操作类型
            if (OperationType == 1) {//无源新增
                //初始基本信息赋值
                //set_AddFNew();
            }
            else if (OperationType == 3) {//编辑
                set_EditFromGrid(linterid);
            }
            else {
                layer.alert("未知操作类型!", { icon: 5 });
            }
            //#endregion
            //#region ç‚¹å‡»äº‹ä»¶ï¼ŒåŒ…括on和form事件
            //头工具栏
            table.on('toolbar(mainTable)', function (obj) {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;;
                var AddRow = table.cache['mainTable'];
                var NewRow = {
                    "HBarCode": '', "HQty": '', "HSplitNum": '', "HNumber": '', "HName": '', "HModel": '', "HBatchNo": ''
                };
                switch (obj.event) {
                    //新增一行
                    case 'btn-AddLine': btnAddLine(NewRow);
                        break;
                    //复制一行
                    case 'btn-CopyLine': btnCopyLine(data);
                        break;
                    //列设置
                    case 'set_HideColumn':
                        get_HideColumn(0);
                        break;
                }
            });
            //行内事件
            table.on('tool(mainTable)', function (obj) {
                set_GridDelete(obj);   //行内删除
                set_GridCellCheck(obj); //行内快捷键筛选
            });
            //监听单元格编辑  å•元格编辑后 å˜æ›´
            table.on('edit(mainTable)', function (obj) {
                // å•元格编辑之前的值
                var oldText = $(this).prev().text();
                var value = obj.value //得到修改后的值
                    , data = obj.data //得到所在行所有键值
                    , field = obj.field; //得到字段
                //layer.msg('[ID: ' + data.id + '] ' + field + ' å­—段更改为:' + value);
            });
            function isAllEqual(array) {
                if (array.length > 0) {
                    return !array.some(function (value, index) {
                        return value !== array[0];
                    });
                } else {
                    return true;
                }
            }
            //#region ç‚¹å‡»è¡Œé€‰ä¸­é«˜äº®
            table.on('row(mainTable)', function (obj) {
                //选中行改变颜色
                var flag = !obj.tr.find(':checkbox:first').prop('checked');
                obj.tr.find(':checkbox').prop('checked', flag);
                if (flag) {
                    obj.tr.find('.layui-form-checkbox').addClass('layui-form-checked');  //设置复选框选中样式
                    $(obj.tr.selector).attr({ "style": "background:#ceedfa;color:black" });//改变当前tr背景颜色和字体颜色
                } else {
                    obj.tr.find('.layui-form-checkbox').removeClass('layui-form-checked');//取消复选框选中样式
                    $(obj.tr.selector).attr({ "style": "background:" });//取消当前tr颜色
                }
                //mainTable ä¸ºè¡¨æ ¼ID   æ³¨æ„æ­¤å¤„如果ID不正确将导致你在监听复选框时获取不到你选择的数据,前面的只是添加或删除选中未选中样式以及设置背景色,字体颜色
                layui.each(table.cache.mainTable, function (i, l) {
                    if (obj.tr.index() == l.LAY_TABLE_INDEX) {
                        l.LAY_CHECKED = flag;
                    }
                });
            })
            //#endregion
            //#region ç¡®å®šæŒ‰é’®
            form.on('submit(ToolSure)', function (data) {//
                var HBarCodeNo = $('#HBarCodeNo').val();//条码编号
                var HSplitBarNum = $('#HSplitBarNum').val();//拆分条码数
                if (!HBarCodeNo) {
                    layer.msg("条码编号不能为空!")
                    return;
                }
                if (!HSplitBarNum || HSplitBarNum > 10) {
                    layer.msg("拆分条码数不能为空,且不能大于10!")
                    return;
                }
                get_BarCodeInfo(HBarCodeNo, HSplitBarNum);
            });
            //#endregion
            //打印
            form.on('submit(ToolPrint)', function (data) {
                get_PrintReport();
            })
            //条码生成
            form.on('submit(ToolCreate)', function (data) {
                $('#ToolCreate').addClass("layui-btn-disabled").attr("disabled", true);//生成按钮禁用
                var sSubStr = JSON.stringify(table.cache['mainTable_New']);
                //数量控制
                if (!AllowLoadData(sSubStr))//数据验证
                {
                    $('#ToolCreate').removeClass("layui-btn-disabled").attr("disabled", false);//生成按钮启用
                    return false;
                }
                var UserName = sessionStorage["HUserName"];
                var HBarCodeNo = $("#HBarCodeNo").val();
                var HSplitBarNum =  $("#HSplitBarNum").val();
                var sMainSub = HBarCodeNo + ';' + HSplitBarNum + ';' + sSubStr + ';' + UserName;
                SaveBarCodeCreate(sMainSub);
            })
            //退出
            form.on('submit(ToolExit)', function (data) {
                if (linterid == undefined) {
                    //关闭页签
                    Pub_Close(2);
                }
                else {
                    //关闭页签
                    Pub_Close(1);
                }
            });
            //#endregion
            //#region æ­¤é¡µé¢æ‰€æœ‰æ–¹æ³•
            //初始化表单插件
            function set_InitFrom() {
                laydate.render({
                    elem: '#HDate'
                });
            }
            //初始化条码信息表格
            function set_InitGrid() {
                columns = [
                    { type: 'checkbox', fixed: 'left' }
                    , { templet: '#xuhao', title: '序号', sort: true, fixed: 'left', event: "qwe", width: 75 }
                    , { field: 'HBarCode', title: '条码编号', width: 200 }
                    , { field: 'HQty', title: '条码数量', width: 200, totalRow: true }
                    , { field: 'HSplitNum', title: '拆分数量', width: 200, edit: 'text', totalRow: true }
                    , { field: 'HNumber', title: '物料代码', width: 200 }
                    , { field: 'HName', title: '物料名称', width: 200 }
                    , { field: 'HModel', title: '规格型号', width: 200 }
                    , { field: 'HBatchNo', title: '批号', width: 200 }
                    //, { fixed: 'right', title: '操作', toolbar: '#barDemo' }
                ];
                option = {
                    id: 'mainTable'
                    , elem: '#mainTable'
                    , toolbar: '#toolbarDemo'
                    , page: false
                    , totalRow: true
                    , cellMinWidth: 75
                    , height: 'full-255'
                    , cols: [columns]
                    , limit: 500 //每页默认显示的数量
                    , done: function (res, curr, count) {
                    }
                };
                option.data = rowdata;
                table.render(option);
            }
            //初始化新码信息表格
            function set_InitGrid_New() {
                //表头
                columns = [
                    { type: 'checkbox', fixed: 'left' }
                    , { templet: '#xuhao', title: '序号', sort: true, fixed: 'left', event: "qwe", width: 75 }
                    , { field: 'HBarCode', title: '条码编号', width: 200 }
                    , { field: 'HQty', title: '条码数量', width: 200, totalRow: true}
                    , { field: 'HSplitNum', title: '拆分数量', width: 200, edit: 'text', totalRow: true}
                    , { field: 'HNumber', title: '物料代码', width: 200 }
                    , { field: 'HName', title: '物料名称', width: 200 }
                    , { field: 'HModel', title: '规格型号', width: 200 }
                    , { field: 'HBatchNo', title: '批号', width: 200 }
                    //, { fixed: 'right', title: '操作', toolbar: '#barDemo' }
                ];
                option_New = {
                    id: 'mainTable_New'
                    , elem: '#mainTable_New'
                    , toolbar: '#toolbarDemo_New'
                    , page: false
                    , totalRow: true
                    , cellMinWidth: 75
                    , height: 'full-255'
                    , cols: [columns]
                    , limit: 500
                    , done: function (res, curr, count) {
                    }
                };
                option_New.data = rowdata;
                table.render(option_New);
            }
            //查询条码信息
            function get_BarCodeInfo(HBarCodeNo, HSplitBarNum) {
                var index = layer.load(0);
                //进入页面显示的缓存列表
                $.ajax({
                    //url: "http://61.130.49.162:9090/WMSAPI///Web/GetMAXNum",
                    url: GetWEBURL() + '/Gy_SplitBarCode/Info',
                    type: "GET",
                    data: { "HBarCodeNo": HBarCodeNo, "HSplitBarNum": HSplitBarNum },
                    success: function (result) {
                        if (result.count == 1) {
                            //根据拆分行数添加行,因为返回结果时自带了一行数据,所以在拆分行数的基础上减去1
                            table.reload('mainTable', {
                                data: result.data // è°ƒç”¨table.reload é‡æ–°æ¸²æŸ“显示加载追加了数据的表格
                            });
                            rowdata = [{
                                "HBarCode": '', "HQty": '', "HSplitNum": '', "HNumber": '', "HName": '', "HModel": '', "HBatchNo": ''
                            }];
                            //获取26个大写字母
                            const letter = [];
                            let start = 'A'.charCodeAt(0); //65
                            let last = 'Z'.charCodeAt(0);  //90
                            for (start; start <= last; start++) {
                                letter.push(String.fromCharCode(start));
                            };
                            var tmbh = result.data[0].HBarCode;//条码编号
                            //var datas = result.data[0];
                            for (var i = 0; i < HSplitBarNum - 1; i++) {
                                result.data.push(result.data[0]);//result.data[0].条码编号 = ;
                                rowdata.push({ "HBarCode": '', "HQty": '', "HSplitNum": '', "HNumber": '', "HName": '', "HModel": '', "HBatchNo": ''});
                            }
                            for (let i = 0; i < result.data.length; i++) {
                                result.data[i].HBarCode = tmbh + letter[i];
                                rowdata[i].HBarCode = tmbh + letter[i];
                                rowdata[i].HQty = result.data[0].HQty;
                                rowdata[i].HSplitNum = "";
                                rowdata[i].HNumber = result.data[0].HNumber;
                                rowdata[i].HName = result.data[0].HName;
                                rowdata[i].HModel = result.data[0].HModel;
                                rowdata[i].HBatchNo = result.data[0].HBatchNo;
                            }
                            table.reload('mainTable_New', {
                                data: rowdata // è°ƒç”¨table.reload é‡æ–°æ¸²æŸ“显示加载追加了数据的表格
                            });
                            element.tabChange('tab-TabTest', '2');  //跳转页签
                            layer.close(index);
                        } else {
                            layer.close(index);
                            layer.alert(result.code + result.Message, { icon: 5 });
                        }
                    }, error: function () {
                        layer.close(index);
                        layer.alert("接口请求失败!", { icon: 5 });
                    }
                });
            }
            //条码生成
            function SaveBarCodeCreate(sMainSub) {
                $.ajax(
                    {
                        type: "POST",
                        url: GetWEBURL() + "/Sc_BarCode/Save_SplitBarCode", //方法所在页面和方法名
                        async: true,
                        data: { "msg": sMainSub },
                        dataType: "json",
                        success: function (result) {
                            if (result.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                                layer.msg(result.Message, { icon: 1 });
                            }
                            else {
                                $('#ToolCreate').removeClass("layui-btn-disabled").attr("disabled", false);//生成按钮启用
                                layer.alert(result.Message, { icon: 5 });
                            }
                            layer.closeAll("loading");
                        },
                        error: function (err) {
                            layer.alert(err.Message, { icon: 5 });
                        }
                    });
            }
            //非空验证
            function AllowLoadData(sSubStr) {
                var Result = true;
                var rows = 0; //拆分总行数;
                if (typeof (sSubStr) != "undefined" && typeof (sSubStr) != "") {
                    sSubStr = JSON.parse(sSubStr);
                    for (var i = 0; i < sSubStr.length; i++) {
                        if (sSubStr[i].HSplitNum == "") {
                            layer.msg("明细记录第" + (i + 1) + "行,拆分数量不能为空且必须大于0!", { icon: 5, btn: ['确认'], time: 2000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                            return Result = false;
                        }
                        rows += Number(sSubStr[i].HSplitNum);
                    }
                    if (rows > sSubStr[0].HQty) {
                        layer.msg("拆分数量之和必须小于条码数量!", { icon: 5, btn: ['确认'], time: 2000, offset: 't', skin: 'layui-layer-lan', title: "温馨提示" });
                        return Result = false;
                    }
                }
                else {
                    return Result = true;
                }
                return Result;
            }
            //#endregion
        });
    </script>
</body>
</html>