二维码打印机的例子

来源:互联网 发布:万华写频软件 编辑:程序博客网 时间:2024/06/05 06:30
二维码打印机。



jsp中的部分。
//采用别人给的接口
<script type="text/javascript" src="${pageContext.request.contextPath}/js/supplies/web_socket.js"></script>


<input class="Tbutton" name="edit" value="打印二维码" type="button" onclick="print();" style="width: 92px;" />






//打印
function print(){
 
         var chknum = 0;
         var sup_no = "";
         var suppliesName ="";
         var pecifications ="";
        // var suppliesPrice = null;
        // var manufacturer = null;
         var dataArray = new Array();
         var num = "";
         $("._delsuppliesId").each(function(){
if($(this).attr("checked") == "checked"){
// supid += $(this).val().replace(/(^\s*)|(\s*$)/g, "") + ",";
sup_no = $(this).parents("tr:first").children("td:eq(1)").text() ;
suppliesName = $(this).parents("tr:first").children("td:eq(2)").text();
pecifications = $(this).parents("tr:first").children("td:eq(3)").text();
   //var suppliesPrice  = $(this).parents("tr:first").children("td:eq(5)").text();
//var manufacturer = $(this).parents("tr:first").children("td:eq(6)").text() + ",";
chknum++;
                     /* if(suppliesPrice =="")
                     {
                      suppliesPrice = null;
                     }
                      manufacturer = null + ","; */
//num += sup_no + "|" + suppliesName+ "|" + pecifications + "|" + suppliesPrice + "|" + manufacturer; 
           //alert("NUM:---"+num);
           num += sup_no + "|" + suppliesName+ "|" + pecifications+","; 
}
   });
   
 
         if(chknum == 0)
         {
           alert("请选择一条要打印的数据!");
           return ;
         }
         if(chknum == 1)
         {
  var data = "QR|0001|" + num;
  var url = "ws://localhost:1992";
//调用js中打印机接口
getWSApplication(url, data, null);

         }
         num = num.substring(0, num.length-1);
         num = num.split(",");
         
         if(chknum > 1)
         {
         
  for(var i = 0; i < num.length; i++) { 
  
 var printNum = "0000" + num.length;
printNum = printNum.slice(-4);
 
 var dd = "QR|" + printNum + "|"+ num[i];
 dataArray[i] = dd;
    }
//alert(dataArray);
var url = "ws://localhost:1992";
       getWSApplication(url, dataArray, null);
        }
}

    </script>    


//调用web—socket
//以下是具体内容
var socket;
var msgArray = null;
var index = 0;
var timer = null;
function getWSApplication(address, msg, screenId)
{
try{
        socket=new WebSocket(address);
    }catch(e){
        alert(e);
        return;
    }
socket.onopen = function(evt) { onOpen(msg); };
    socket.onmessage = function(evt) { onMessage(evt, screenId); };
    socket.onerror = function(evt) { onError(evt); };
    socket.onclose = function(evt) { onClose(evt); };
}
function onOpen(msg){
if(typeof msg =='object' && msg.constructor==Array){
msgArray = msg;
index = 0;
timer = setInterval (sendMSG, 30);
}else{
   if(msg.length <= 127){
    socket.send(msg);
   }
}
}


function onError(evt){
//alert('error');
}
function onMessage(evt, screenId){
if(evt.data == "RFIDWriteFailed"){
        alert("数据写入失败,请调整卡片位置,保证芯片对准写入器。");
    } else if(evt.data == "RFIDNoCard"){
        alert("数据写入失败,请放入卡片。");
    } else if(evt.data == "RFIDWriteSucess"){
        alert("数据写入成功");
    }
writeToScreen(evt.data, screenId);
    socket.onclose();
}


function onClose(evt){
socket.close();
}


function writeToScreen(message, screenId)
{
//alert(message);
    $("#" + screenId).combotree('setValue', message);
}


function sendMSG(){
alert("123");
socket.send(msgArray[index]);
index++;
if(index >= msgArray.length){
clearInterval(timer);
}
}


function sleep(n)
{   
    var  start=new Date().getTime();   
    while(true) if(new Date().getTime()-start>n)  break;   
}
原创粉丝点击