wtt
2025-12-08 7400029d2adb42083abee097c5099f8010310d80
添加蓝牙标签打印
1个文件已修改
2个文件已添加
466 ■■■■■ 已修改文件
WebTM/WebTM.csproj 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/grf/蓝牙条码标签_小卫.grf 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/views/车间管理/单品过站_小卫/Cj_BlueToothBarCodePrint.html 378 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WebTM/WebTM.csproj
@@ -944,6 +944,7 @@
    <Content Include="views\车间管理\单品过站_小卫\Cj_ProcessItemStationPlatform_KeyElement.html" />
    <Content Include="views\车间管理\单品过站_小卫\Cj_ProcessItemStationPlatform_batchKeyElement.html" />
    <Content Include="views\车间管理\单品过站_小卫\Cj_ProcessItemStationPlatform_batch.html" />
    <Content Include="views\车间管理\单品过站_小卫\Cj_BlueToothBarCodePrint.html" />
    <Content Include="views\车间管理\单品过站_小卫\Cj_SachetBarCodePrint.html" />
    <Content Include="views\车间管理\启动点检单\Gy_WorkBeginDotCheckListBill_Excel.html" />
    <Content Include="views\车间管理\启动点检单\Sc_WorkBeginDotCheckBill.html" />
WebTM/views/grf/À¶ÑÀÌõÂë±êÇ©_СÎÀ.grf
New file
@@ -0,0 +1,87 @@
{
    "Version":"6.8.2.2",
    "Title":"生产任务单",
    "PrintAsDesignPaper":false,
    "Font":{
        "Name":"宋体",
        "Size":135000,
        "Weight":400,
        "Charset":134
    },
    "Printer":{
        "Size":256,
        "Width":4.7,
        "Height":2.8,
        "LeftMargin":0,
        "TopMargin":0,
        "RightMargin":0,
        "BottomMargin":0
    },
    "DetailGrid":{
        "CenterView":true,
        "ShowColLine":false,
        "ShowRowLine":false,
        "Border":{
            "Styles":"[]"
        },
        "Recordset":{
            "Field":[
                {
                    "Name":"条码编号"
                }
            ]
        },
        "Column":[
            {
                "Name":"Column3",
                "Width":4.7
            }
        ],
        "ColumnContent":{
            "Height":2.8,
            "RowsPerPage":1,
            "ColumnContentCell":[
                {
                    "Column":"Column3",
                    "FreeCell":true,
                    "CanGrow":true,
                    "Control":[
                        {
                            "Type":"Barcode",
                            "Name":"Barcode1",
                            "Left":0.211667,
                            "Top":0.396875,
                            "Width":4.18042,
                            "Height":1.79917,
                            "BarcodeType":"Code128Auto",
                            "Text":"[#条码编号#]"
                        }
                    ]
                }
            ]
        },
        "ColumnTitle":{
            "Height":0,
            "ColumnTitleCell":[
                {
                    "GroupTitle":false,
                    "Column":"Column3",
                    "Text":"Column1"
                }
            ]
        }
    },
    "ReportHeader":[
        {
            "Name":"ReportHeader1",
            "Height":0,
            "RepeatOnPage":true
        }
    ],
    "ReportFooter":[
        {
            "Name":"ReportFooter1",
            "Height":0
        }
    ]
}
WebTM/views/³µ¼ä¹ÜÀí/µ¥Æ·¹ýÕ¾_СÎÀ/Cj_BlueToothBarCodePrint.html
New file
@@ -0,0 +1,378 @@
<!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>
    <script src="../../../layuiadmin/grwebapp.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="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-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" lay-verify="HBarCode" autocomplete="off" placeholder="请键入后回车" id="HBarCode" style="width: 500px;">
                                            </div>
                                            <div class="layui-inline">
                                                <label class="layui-form-label" style="width: 85px;padding: 9px 18px;">物料代码*</label>
                                                <div class="layui-input-block" style="margin-left: 77px;">
                                                    <input type="text" class="layui-input" lay-verify="HMaterNumber" name="HMaterNumber" id="HMaterNumber" style="width: 60%;display: inline-block;">
                                                    <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearchMater" id="btnSearchMater" style="padding: 0 10px;float: right;margin-right: 3px;">
                                                        <i class="layui-icon layui-icon-search layuiadmin-button-btn"></i>
                                                    </button>
                                                </div>
                                            </div>
                                            <div class="layui-inline">
                                                <label class="layui-form-label">物料名称</label>
                                                <div class="layui-input-inline">
                                                    <input class="layui-input" name="HMaterName" id="HMaterName" autocomplete="off" style="background-color: #efefef4d;" readonly>
                                                    <input type="hidden" name="HMaterID" id="HMaterID" value="0">
                                                </div>
                                            </div>
                                            <div class="layui-inline">
                                                <label class="layui-form-label">规格型号</label>
                                                <div class="layui-input-inline">
                                                    <input class="layui-input" name="HMaterModel" id="HMaterModel" autocomplete="off" style="background-color: #efefef4d;" readonly>
                                                </div>
                                            </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" style="background-color: #efefef4d;" readonly>
                                                </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>
                            </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>
                        </div>
                        <script type="text/html" id="xuhao">
                            {{d.LAY_TABLE_INDEX+1}}
                        </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 = [];
            //#endregion
            //#region è¿›å…¥é¡µé¢æ—¢åŠ è½½
            //初始化表格
            set_InitGrid();
            //#endregion
            //#region ç‚¹å‡»äº‹ä»¶ï¼ŒåŒ…括on和form事件
            //#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
            //关键件回车方法
            $('#HBarCode').on('keydown', function (event) {
                var HBarCode = $('#HBarCode').val();
                if (event.keyCode == 13) {
                    if (HBarCode) {
                        SaveBarCodeCreate(HBarCode);
                    }
                }
            });
            //选择产品代码按钮
            form.on('submit(btnSearchMater)', function () {
                get_checkSearchMater();
            });
            //打印
            form.on('submit(ToolPrint)', function (data) {
                get_PrintReport();
            })
            //退出
            form.on('submit(ToolExit)', function (data) {
                if (linterid == undefined) {
                    //关闭页签
                    Pub_Close(2);
                }
                else {
                    //关闭页签
                    Pub_Close(1);
                }
            });
            //#endregion
            //#region æ­¤é¡µé¢æ‰€æœ‰æ–¹æ³•
            //初始化条码信息表格
            function set_InitGrid() {
                columns = [
                    { type: 'checkbox', fixed: 'left' }
                    , { templet: '#xuhao', title: '序号', sort: true, fixed: 'left', event: "qwe", width: 75 }
                    , { field: 'HBarCodeID', title: '条码ID', hide: true }
                    , { field: 'HBarCode', title: '条码编号' }
                    , { field: 'HMaterNumber', title: '物料代码'}
                    , { field: 'HMaterName', title: '物料名称'}
                    , { field: 'HMaterModel', title: '规格型号' }
                ];
                option = {
                    id: 'mainTable'
                    , elem: '#mainTable'
                    , page: false
                    , totalRow: true
                    , cellMinWidth: 75
                    , height: 'full-255'
                    , cols: [columns]
                    , limit: 500 //每页默认显示的数量
                    , done: function (res, curr, count) {
                    }
                };
                option.data=[[]]
                table.render(option);
            }
            //条码生成
            function SaveBarCodeCreate(HBarCode) {
                var HMaterID = $("#HMaterID").val();
                var HOrgID = sessionStorage["OrganizationID"];
                var user = sessionStorage["HUserName"];
                var wait = layer.load();
                $.ajax(
                    {
                        type: "GET",
                        url: GetWEBURL() + "/Cj_SingleStation/BlueToothBarCodeSave", //方法所在页面和方法名
                        async: true,
                        data: { "HBarCode": HBarCode, "HMaterID": HMaterID, "HOrgID": HOrgID, "user": user },
                        success: function (result) {
                            if (result.count == 1) { // è¯´æ˜ŽéªŒè¯æˆåŠŸäº†ï¼Œ
                                //表格赋值
                                option.data.push({
                                    "HBarCodeID": 0, "HBarCode": HBarCode, "HMaterNumber": $("#HMaterNumber").val(), "HMaterName": $("#HMaterName").val(), "HMaterModel": $("#HMaterModel").val()
                                });;
                                table.render(option);
                                //自动打印
                                dy_PL(HBarCode);
                                $('#HBarCode').val("");
                            }
                            else {
                                layer.close(wait);
                                layer.alert(result.Message, { icon: 5 });
                            }
                            layer.close(wait);
                        },
                        error: function (err) {
                            layer.close(wait);
                            layer.alert(err.responseText, { icon: 5 });
                        }
                    });
            }
            //批量打印
            function dy_PL(HBarCode) {
                var sWhere = "select HBarCode æ¡ç ç¼–号 from Gy_BarCodeBill where HBarCode = '" + HBarCode+"'"
                $.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 Customer = {
                                    "Table": data.data
                                }
                                var args = {
                                    type: "print",//打印模式
                                    //type: "preview",//预览模式
                                    showOptionDlg: false, //如果不显示打印对话框而直接打印,将此行注释去掉即可
                                    report: urlAddRandomNo("../../grf/蓝牙条码标签_小卫.grf"),
                                    data: Customer
                                };
                                console.log(data.data[0].条码编号);
                                //var args = {
                                //    report: urlAddRandomNo("../../grf/cs10.grf"),
                                //    data: Customer
                                //};
                                webapp_ws_ajax_run(args);
                            } else {
                                layer.msg("查无数据!");
                            }
                        }
                        else {
                            layer.msg(data.Message, { icon: 5 });
                        }
                        layer.closeAll("loading");
                    },
                    error: function (err) {
                        layer.msg("错误:" + err, { icon: 5 });
                    }
                })
            }
            //产品选择页面
            function get_checkSearchMater() {
                var HOrgID = sessionStorage["OrganizationID"];
                layer.open({
                    type: 2//弹窗类型
                    , skin: 'layui-layer-rim' //加上边框
                    , area: ['90%', '90%']//大小
                    , title: '物料表'//标题
                    , shift: 2//弹出动画
                    , content: ['../../基础资料/公用基础资料/Gy_Material.html?openType=2&HOrgID=' + HOrgID, 'yes']
                    , btn: ['确定', '取消']
                    , btn1: function (index, layero) {//按钮【按钮一】的回调
                        var iframeWindow = window['layui-layer-iframe' + index]  //获取弹框页面
                        var checkStatus = iframeWindow.layui.table.checkStatus('mainTable');//获取table的elem:"#test"
                        if (checkStatus.data.length === 0) {
                            return layer.msg('请选择数据');
                        }
                        //获取数据
                        $("#HMaterID").val(checkStatus.data[0].HItemID);//物料id
                        $("#HMaterName").val(checkStatus.data[0].物料名称);//物料名称
                        $("#HMaterNumber").val(checkStatus.data[0].物料代码);//物料代码
                        $("#HMaterModel").val(checkStatus.data[0].规格型号);//规格型号
                        layer.close(index); //它获取的始终是最新弹出的某个层,值是由layer内部动态递增计算的
                    }
                    , btn2: function (index, layero) { }
                })
            }
            //#endregion
        });
        function GetMaterValue(obj) {
            //获取数据
            $("#HMaterID").val(obj[0].HItemID);//物料id
            $("#HMaterName").val(obj[0].物料名称);//物料名称
            $("#HMaterNumber").val(obj[0].物料代码);//物料代码
            $("#HMaterModel").val(obj[0].规格型号);//规格型号
            if ($("#HName").val() == "") {
                $("#HName").val(obj[0].物料代码);
            }
        }
    </script>
</body>
</html>