二维码打印机的例子
二維碼打印機(jī)。
jsp中的部分。
//采用別人給的接口
<script type="text/javascript" src="${pageContext.request.contextPath}/js/supplies/web_socket.js"></script>
<input class="Tbutton" name="edit" value="打印二維碼" type="button" οnclick="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("請選擇一條要打印的數(shù)據(jù)!");
? ? ? ? ? ?return ;
? ? ? ? ?}
? ? ? ? ?if(chknum == 1)
? ? ? ? ?{
? var data = "QR|0001|" + num;
? var url = "ws://localhost:1992";
//調(diào)用js中打印機(jī)接口
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> ? ?
//調(diào)用web—socket
//以下是具體內(nèi)容
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("數(shù)據(jù)寫入失敗,請調(diào)整卡片位置,保證芯片對準(zhǔn)寫入器。");
? ? } else if(evt.data == "RFIDNoCard"){
? ? ? ? alert("數(shù)據(jù)寫入失敗,請放入卡片。");
? ? } else if(evt.data == "RFIDWriteSucess"){
? ? ? ? alert("數(shù)據(jù)寫入成功");
? ? }
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; ??
}
jsp中的部分。
//采用別人給的接口
<script type="text/javascript" src="${pageContext.request.contextPath}/js/supplies/web_socket.js"></script>
<input class="Tbutton" name="edit" value="打印二維碼" type="button" οnclick="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("請選擇一條要打印的數(shù)據(jù)!");
? ? ? ? ? ?return ;
? ? ? ? ?}
? ? ? ? ?if(chknum == 1)
? ? ? ? ?{
? var data = "QR|0001|" + num;
? var url = "ws://localhost:1992";
//調(diào)用js中打印機(jī)接口
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> ? ?
//調(diào)用web—socket
//以下是具體內(nèi)容
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("數(shù)據(jù)寫入失敗,請調(diào)整卡片位置,保證芯片對準(zhǔn)寫入器。");
? ? } else if(evt.data == "RFIDNoCard"){
? ? ? ? alert("數(shù)據(jù)寫入失敗,請放入卡片。");
? ? } else if(evt.data == "RFIDWriteSucess"){
? ? ? ? alert("數(shù)據(jù)寫入成功");
? ? }
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; ??
}
總結(jié)
- 上一篇: 三菱mode bus tcp通讯_24个
- 下一篇: PPT之对人脸模糊处理