香囊标签打印站设置最短打印间隔控制,设置打印模板,添加主动过站;过站解绑模块,输入款添加点击选中功能,添加回车查询功能;香囊关键件绑定,输入框添加点击选中功能,保存成功后主动刷新过站单号;蓝牙关键件绑定,如果扫描的关键件条码不存在,则主动存入到条码档案;条码批量补打模块
5个文件已修改
1个文件已添加
478 ■■■■■ 已修改文件
WebTM/WebTM.csproj 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/车间管理/单品过站_小卫/Cj_BarCodeBatchPrint.html 366 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/车间管理/单品过站_小卫/Cj_ProcessItemStationPlatform_KeyElement_Sec.html 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/车间管理/单品过站_小卫/Cj_ProcessItemStationPlatform_UnbindList.html 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/车间管理/单品过站_小卫/Cj_ProcessItemStationPlatform_batchKeyElement.html 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/车间管理/单品过站_小卫/Cj_SachetBarCodePrint.html 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/WebTM.csproj
@@ -963,6 +963,7 @@
    <Content Include="views\车间管理\单品过站_小卫\Cj_ProcessItemStationPlatform_batch.html" />
    <Content Include="views\车间管理\单品过站_小卫\Cj_BlueToothBarCodePrint.html" />
    <Content Include="views\车间管理\单品过站_小卫\Cj_SachetBarCodePrint.html" />
    <Content Include="views\车间管理\单品过站_小卫\Cj_BarCodeBatchPrint.html" />
    <Content Include="views\车间管理\启动点检单\Gy_WorkBeginDotCheckListBill_Excel.html" />
    <Content Include="views\车间管理\启动点检单\Sc_WorkBeginDotCheckBill.html" />
    <Content Include="views\车间管理\启动点检单\Sc_WorkBeginDotCheckBillList.html" />
@@ -2709,10 +2710,6 @@
    </Compile>
    <Compile Include="views\基础资料\公用基础资料\xmlLBM_HGy_BarCodeBill_ZB.aspx.designer.cs">
      <DependentUpon>xmlLBM_HGy_BarCodeBill_ZB.aspx</DependentUpon>
    </Compile>
    <Compile Include="views\基础资料\公用基础资料\xmlLBM_xiaoweizutuo.aspx.cs">
      <DependentUpon>xmlLBM_xiaoweizutuo.aspx</DependentUpon>
      <SubType>ASPXCodeBehind</SubType>
    </Compile>
    <Compile Include="views\基础资料\公用基础资料\xmlLBM_xiaoweizutuo.aspx.designer.cs">
      <DependentUpon>xmlLBM_xiaoweizutuo.aspx</DependentUpon>
WebTM/views/³µ¼ä¹ÜÀí/µ¥Æ·¹ýÕ¾_СÎÀ/Cj_BarCodeBatchPrint.html
New file
@@ -0,0 +1,366 @@
<!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/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>
    <script src="../../../layuiadmin/PageTitle.js"></script>
    <script src="../../../layuiadmin/grwebapp.js"></script>
    <style type="text/css">
        .layui-form-item .layui-inline {
            margin-right: 0;
        }
        html {
            background-color: white;
            color: white;
        }
        .layui-table-cell {
            overflow: visible !important;
        }
        td .layui-form-select {
            margin-top: -10px;
            margin-left: -15px;
            margin-right: -15px;
        }
        .layui-table th, .layui-table td {
            white-space: nowrap; /* ä¸æ¢è¡Œ */
            overflow: hidden; /* è¶…出内容隐藏 */
            text-overflow: ellipsis; /* æ˜¾ç¤ºçœç•¥å· */
        }
    </style>
</head>
<body>
    <div class="layui-fluid" style="padding: 0;">
        <div class="layui-card" style="padding: 15px;">
            <div class="layui-card-body" style="padding: 1px;">
                <form class="layui-form" lay-filter="component-form-group" action="">
                    <div class="layui-card-header">
                        <div class="layui-btn-group">
                            <button type="button" id="batchPrint-btn" class="layui-btn layui-btn-normal layui-btn-radius layui-btn-disabled" lay-submit="" lay-filter="get_BatchPrint" disabled>批量打印</button>
                        </div>
                    </div>
                    <div class="layui-tab" lay-filter="tab-BatchSplit">
                        <h1 style="text-align: center; padding: 10px 0;"><b>条码批量打印</b></h1>
                    </div>
                    <table class="layui-hide" id="mainTable" lay-filter="mainTable" style="margin-top:5px;"></table>
                    <script type="text/html" id="xuhao">
                        {{d.LAY_TABLE_INDEX+1}}
                    </script>
                    <script type="text/html" id="toolbarDemo">
                        <div class="layui-btn-container">
                            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-CopyLine"><i class="layui-icon layui-icon-form"></i>复制一行</button>
                        </div>
                    </script>
                </form>
            </div>
        </div>
    </div>
    <script type="text/html" id="barDemo">
        <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
    </script>
    <script>
        //#region æŠ˜å æ³¨é‡Š
        //#endregion
        layui.config({
            base: '../../../layuiadmin/' //静态资源所在路径
        }).extend({
            index: 'lib/index' //主入口模块
        }).use(['index', 'form', 'laydate', 'table', 'element', 'laydate'], function () {
            //#region å…¬ç”¨å˜é‡
            var $ = layui.$
                , admin = layui.admin
                , layer = layui.layer
                , table = layui.table
                , form = layui.form
                , laydate = layui.laydate
                , element = layui.element;
            var sWhere = "";
            var option;
            //#endregion
            //#region è¿›å…¥é¡µé¢å³åŠ è½½
            $('#batchPrint-btn').removeClass("layui-btn-disabled").attr("disabled", false);//批量打印按钮启用
            // åˆå§‹åŒ–界面
            set_InitGrid();
            //获取页面跳转参数
            var params = get_UrlVars();
            if (typeof (params[params[0]]) == "undefined") {
                var OperationType = 1;//操作类型
            } else {
                var OperationType = params[params[0]];//操作类型
                var linterid = params[params[1]];//源单主子id
                var HSouceBillType = params[params[2]];//源单类型
            }
            //判断操作类型
            if (OperationType == 1) {//无源单新增
                get_Display();
            }
            else {
                layer.alert("未知操作类型!", { icon: 5 });
            }
            //#endregion
            //#region å¤´éƒ¨å·¥å…·æ äº‹ä»¶
            table.on('toolbar(mainTable)', function (obj) {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                data[0].HProQty = 0;
                data[0].HSheetQty = Number(data[0].HSheetQty) + Number(1);
                switch (obj.event) {
                }
            });
            //#endregion
            //#region è§¦å‘事件:包括form.on(){}格式的所有点击事件、选择事件等
            //行内事件
            table.on('tool(mainTable)', function (obj) {
                set_GridCellCheck(obj); //行内快捷键筛选
                set_GridDelete(obj);   //行内删除
                var data = obj.data;  //获取当前行的数据                //将obj.data å­—符串类型 èµ‹å€¼ç»™data
                if (obj.event == 'HDate') {    //判断接受到的数据字段  id是否为 Hdata
                    var field = $(this).data('field');//获取日期字段
                    laydate.render({
                        elem: this.firstChild        //将日期选择器绑定到触发事件的元素的第一个子元素
                        , show: true                //直接显示       æ—¥æœŸé€‰æ‹©å™¨ï¼Œè€Œä¸æ˜¯ç­‰å¾…用户点击
                        , closeStop: this           // åˆ¤æ–­ç‚¹å‡»æ—¥æœŸé€‰æ‹©å™¨å¤–部时是否关闭
                        , done: function (nowDate) {    //当日期选择完成时执行的回调函数
                            //时间选择完成,行数据更新
                            data[field] = nowDate;  //data对象中的日期字段
                            obj.update(data);  //更新回调数据
                        }
                    });
                }
            });
            //监听单元格编辑  å•元格编辑后 å˜æ›´
            table.on('edit(mainTable)', function (obj) {
                var oldText = $(this).prev().text();
                var value = obj.value //得到修改后的值
                    , data = obj.data //得到所在行所有键值
                    , field = obj.field; //得到字段
                switch (field) {
                    case "HProQty":
                        //同步更新表格和缓存对应的值
                        obj.update({
                            HProQty: value
                        });
                        break;
                    default:
                }
                table.render(option);
            });
            //批量打印
            form.on('submit(get_BatchPrint)', function () {
                get_BatchPrint();
            })
            //退出按钮
            form.on('submit(Exit)', function () {
                if (params[1] != null) {
                    Pub_Close(1);
                } else if (params[1] == null) {
                    Pub_Close(2);
                }
            })
            //#endregion
            //#region é¡µé¢æ–¹æ³•
            //初始化页面
            function set_InitGrid() {
                option = {
                    elem: '#mainTable'
                    , toolbar: '#toolbarDemo'
                    , limit: 500
                    , height: 500
                    , loading: false
                    , cols: [[ //子表
                        { type: 'checkbox', totalRowText: '合计行' }
                        , { type: 'numbers', title: '序号', width: 100, totalRow: true }
                        , { field: '中箱码', title: '中箱码', width: 280 }
                    ]]
                }
                //初始表格数据
                var rowdata = [{
                    "中箱码": ""
                }];
                option.data = rowdata;
                table.render(option);
            }
            function get_Display() {
                var sWhere = "select æ›¿æ¢åŽä¸­ç®±ç ç¼–号 from zxgx1 where æ›¿æ¢åŽä¸­ç®±ç ç¼–号 >= 'MZXHBHR7723CN5C005020AHW' order by æ›¿æ¢åŽä¸­ç®±ç ç¼–号 asc"
                $.ajax({
                    type: "GET",
                    url: GetWEBURL() + "/Gy_SOPBillList/WindowPrintList", //方法所在页面和方法名
                    async: false,
                    data: { "sWhere": sWhere },
                    success: function (data) {
                        if (data.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                            var dataArr = [];
                            for (var i = 0; i < data.data.length; i++) {
                                dataArr.push({
                                    "中箱码": data.data[i].替换后中箱码编号
                                });
                            }
                            option.data = dataArr;
                            table.render(option);
                        }
                        else {
                            layer.msg(data.Message, { icon: 5 });
                        }
                        layer.closeAll("loading");
                    },
                    error: function (err) {
                        layer.msg("错误:" + err, { icon: 5 });
                    }
                })
            }
            //批量打印
            var time;
            var num = 0;
            function get_BatchPrint() {
                var checkStatus = table.checkStatus('mainTable')
                    , data = checkStatus.data;
                if (checkStatus.data.length > 0) {
                    //逻辑删除方法
                    layer.confirm("确认要批量打印吗?", { title: "确认" }, function (index) {
                        time = setInterval(function () {
                            dy_PL(data);
                        }, 10000);
                        //关闭当前frame
                        layer.close(index);
                    })
                }
                else {
                    layer.msg('请选择数据打印!');
                }
            }
            function dy_PL(rest) {
                var HInterID = rest[num].中箱码;
                var sWhere = "exec h_p_Gy_GetCaseCodeInfo '" + HInterID + "'"
                $.ajax({
                    type: "GET",
                    url: GetWEBURL() + "/Gy_SOPBillList/WindowPrintList", //方法所在页面和方法名
                    async: false,
                    data: { "sWhere": sWhere },
                    success: function (data) {
                        if (data.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                            if (data.data.length != 0) {
                                var dataPrint = [];
                                for (var i = 0; i < data.data.length; i++) {
                                    dataPrint.push(data.data[i])
                                }
                                var Customer = {
                                    "Table": dataPrint
                                }
                                var args = {
                                    type: "print",//打印模式
                                    //type: "preview",//预览模式
                                    showOptionDlg: false, //如果不显示打印对话框而直接打印,将此行注释去掉即可
                                    report: urlAddRandomNo("../../grf/中箱码明细SN-固定json.grf"),
                                    data: Customer
                                };
                                console.log("打印:" + data.data[0].中箱码);
                                //var args = {
                                //    report: urlAddRandomNo("../../grf/cs10.grf"),
                                //    data: Customer
                                //};
                                webapp_ws_ajax_run(args);
                                if (rest.length <= num + 1) {
                                    num = 0;
                                    clearInterval(time);
                                } else {
                                    num++;
                                }
                            } else {
                                layer.msg("查无数据!");
                            }
                        }
                        else {
                            layer.msg(data.Message, { icon: 5 });
                        }
                        layer.closeAll("loading");
                    },
                    error: function (err) {
                        layer.msg("错误:" + err, { icon: 5 });
                    }
                })
            }
            //表格行内事件删除
            function set_GridDelete(obj) {
                var data = obj.data;
                var rowIndex = $(obj.tr).attr("data-index");
                if (obj.event === 'del') {
                    layer.confirm('真的删除行吗?', function (index) {
                        if (rowIndex === '0') {
                            layer.msg('首行无法删除!!!');
                        } else {
                            var oldData = table.cache["mainTable"];
                            oldData.splice(obj.tr.data('index'), 1)
                            option.data = oldData;//将数据绑定到data上
                            for (var i = 0; i < oldData.length; i++) {
                                if (option.data[i].HICMOInterID == data.HICMOInterID && option.data[i].HICMOEntryID == data.HICMOEntryID) {
                                    option.data[i].HSheetQty = Number(option.data[i].HSheetQty) - Number(1);
                                }
                            }
                            table.render(option);
                            layer.close(index);
                        }
                    });
                }
            }
            //#endregion
            //以上是layui模块
        });
    </script>
</body>
</html>
WebTM/views/³µ¼ä¹ÜÀí/µ¥Æ·¹ýÕ¾_СÎÀ/Cj_ProcessItemStationPlatform_KeyElement_Sec.html
@@ -31,7 +31,7 @@
                        <div class="layui-row">
                            <div class="layui-input-block" style="display: inline-block; margin-left: 0px; float: left">
                                <label class="layui-form-label" style="padding-left:0px" id="">镭雕码:</label>
                                <input type="text" class="layui-input" name="HBarCode_SN" lay-verify="HBarCode_SN" autocomplete="off" placeholder="请键入后回车" id="HBarCode_SN" style="width: 500px;">
                                <input type="text" class="layui-input" name="HBarCode_SN" lay-verify="HBarCode_SN" autocomplete="off" placeholder="请键入后回车" id="HBarCode_SN" style="width: 500px;" onfocus="this.select();">
                            </div>
                            
@@ -233,7 +233,7 @@
                        <div class="layui-tab-content" style="background-color: white;">
                            <div class="layui-input-block" style="display: inline-block; margin-left:0px;">
                                <label class="layui-form-label" style="padding-left:0px" id="">关键件码:</label>
                                <input type="text" class="layui-input" name="HBarCode_Key" lay-verify="HBarCode_Key" autocomplete="off" placeholder="请键入后回车" id="HBarCode_Key" style="width: 500px;float:left">
                                <input type="text" class="layui-input" name="HBarCode_Key" lay-verify="HBarCode_Key" autocomplete="off" placeholder="请键入后回车" id="HBarCode_Key" style="width: 500px;float:left" onfocus="this.select();">
                            </div>
                            <div class="layui-tab-item layui-show">
@@ -895,6 +895,7 @@
                        $("#HBarCode_Key").focus();//关键件文本框选中
                        option.data = JSON.parse(JSON.stringify(rowarr));
                        table.render(option);
                        createBillNo();
                        get_Display();
                    }
                    else {
WebTM/views/³µ¼ä¹ÜÀí/µ¥Æ·¹ýÕ¾_СÎÀ/Cj_ProcessItemStationPlatform_UnbindList.html
@@ -32,25 +32,25 @@
                                <div class="layui-inline">
                                    <label class="layui-form-label" style="width: 85px;">工单号</label>
                                    <div class="layui-input-block" style="margin-left: 120px;">
                                        <input type="text" class="layui-input ForFilteringSchemes" name="HICMOBillNo" id="HICMOBillNo">
                                        <input type="text" class="layui-input ForFilteringSchemes" name="HICMOBillNo" id="HICMOBillNo" onfocus="this.select();">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label" style="width: 85px;">SN码</label>
                                    <div class="layui-input-block" style="margin-left: 120px;">
                                        <input type="text" class="layui-input ForFilteringSchemes" name="HBarcode_SN" id="HBarcode_SN">
                                        <input type="text" class="layui-input ForFilteringSchemes" name="HBarcode_SN" id="HBarcode_SN" onfocus="this.select();">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label" style="width: 85px;">栈板码</label>
                                    <div class="layui-input-block" style="margin-left: 120px;">
                                        <input type="text" class="layui-input ForFilteringSchemes" name="HBarcode_ZB" id="HBarcode_ZB">
                                        <input type="text" class="layui-input ForFilteringSchemes" name="HBarcode_ZB" id="HBarcode_ZB" onfocus="this.select();">
                                    </div>
                                </div>
                                <div class="layui-inline">
                                    <label class="layui-form-label" style="width: 85px;">中箱码</label>
                                    <div class="layui-input-block" style="margin-left: 120px;">
                                        <input type="text" class="layui-input ForFilteringSchemes" name="HBarcode_ZX" id="HBarcode_ZX">
                                        <input type="text" class="layui-input ForFilteringSchemes" name="HBarcode_ZX" id="HBarcode_ZX" onfocus="this.select();">
                                    </div>
                                </div>
@@ -306,6 +306,34 @@
            });
            //#endregion
            //工单号回车方法
            $('#HICMOBillNo').on('keydown', function (event) {
                if (event.keyCode == 13) {
                    get_FastQuery(2);
                }
            });
            //SN码回车方法
            $('#HBarcode_SN').on('keydown', function (event) {
                if (event.keyCode == 13) {
                    get_FastQuery(2);
                }
            });
            //栈板码回车方法
            $('#HBarcode_ZB').on('keydown', function (event) {
                if (event.keyCode == 13) {
                    get_FastQuery(2);
                }
            });
            //中箱码回车方法
            $('#HBarcode_ZX').on('keydown', function (event) {
                if (event.keyCode == 13) {
                    get_FastQuery(2);
                }
            });
            //#endregion
            //#region æœ¬é¡µé¢æ‰€æœ‰è¢«è°ƒç”¨çš„æ–¹æ³•
@@ -315,7 +343,7 @@
                //初始化表格
                set_InitGrid();
                //查询
                get_FastQuery(1);
                //get_FastQuery(1);
            }
            //#endregion
WebTM/views/³µ¼ä¹ÜÀí/µ¥Æ·¹ýÕ¾_СÎÀ/Cj_ProcessItemStationPlatform_batchKeyElement.html
@@ -398,6 +398,19 @@
                    $("#HBarCode_SN").focus();
                    return
                }
                if ($("#HBarCode_SN").val().substring(0, 5) == "51510") {
                    var sql = "exec h_p_Cj_BlueToothBarCodeSave '" + $("#HBarCode_Key").val() + "'," + option.data[0].HMaterID + "," + "100004" + ",'" + sessionStorage["HUserName"] + "'";
                    $.ajax({
                        type: "GET",
                        url: GetWEBURL() + "/Gy_SOPBillList/UpDelSQL", //方法所在页面和方法名
                        async: false,
                        data: { "sWhere": sql },
                        success: function (result) {
                        }
                    })
                }
                if (HBarCode_Key) {
                    txtHBarCodeKey_KeyDown(HBarCode_Key);
                }
WebTM/views/³µ¼ä¹ÜÀí/µ¥Æ·¹ýÕ¾_СÎÀ/Cj_SachetBarCodePrint.html
@@ -274,6 +274,11 @@
            //条码生成
            form.on('submit(ToolCreate)', function (data) {
                if (Number($("#HTime").val()) < Number(3)) {
                    layer.msg("打印间隔不允许小于3秒!")
                    return;
                }
                $('#ToolCreate').addClass("layui-btn-disabled").attr("disabled", true);//生成按钮禁用
                SaveBarCodeCreate();
            })         
@@ -409,7 +414,7 @@
                                    type: "print",//打印模式
                                    //type: "preview",//预览模式
                                    showOptionDlg: false, //如果不显示打印对话框而直接打印,将此行注释去掉即可
                                    report: urlAddRandomNo("../../grf/香囊模板JSON.grf"),
                                    report: urlAddRandomNo("../../grf/香囊标签JSON3.grf"),
                                    data: Customer
                                };
@@ -440,6 +445,9 @@
                                    }
                                })
                                //过站记录保存
                                txtHBarCodeSN_KeyDown(data.data[0].条码编号);
                            } else {
                                layer.msg("查无数据!");
                            }
@@ -456,6 +464,47 @@
            }
            /**
            * é¦™å›Šä¿¡æ¯è¿‡ç«™
            * @param HBarCode
            */
            //镭雕码回车查询
            function txtHBarCodeSN_KeyDown(HBarCode) {
                var data = {
                    "field": {
                        "HProcID": "183340", "HBatchNo": "",
                        "HGroupID": "119", "HSourceID": 0,
                        "HPRDOrgID": sessionStorage["OrganizationID"],
                        "HEmpID": 0, "HDeptID": 0
                    }
                };
                var sMainStr = JSON.stringify(data.field);
                var sSubStr = HBarCode;
                var sMainSub = sMainStr + ';' + sSubStr + ';' + sessionStorage["HUserName"];
                $.ajax({
                    type: "POST",
                    url: GetWEBURL() + "/Cj_SingleStation/AddStationOutBillList",
                    async: false,
                    data: { "sMainSub": sMainSub },
                    dataType: "json",
                    success: function (data1) {
                        if (data1.count == 1) {
                        }
                        else {
                            layer.msg(data1.Message, { icon: 5, btn: ["确认"], time: 100000, offset: 't', skin: 'layui-layer-lan', title: "出现错误" });
                        }
                    },
                    error: function (err) {
                        layer.msg(get_MessageError("错误:" + err, sessionStorage["HTranSlate"]), { icon: 5, btn: [get_MessageError('[0000-2-008]确认', sessionStorage["HTranSlate"])], time: 100000, offset: 't', skin: 'layui-layer-lan', title: get_MessageError("[0000-2-009]温馨提示", sessionStorage["HTranSlate"]) });
                    }
                });
            }
            //非空验证
            function AllowLoadData(sSubStr) {
                var Result = true;