二维码打印机。
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("请选择一条要打印的数据!");
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;
}
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("请选择一条要打印的数据!");
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;
}