Komplettes HTML und Controller, Angular-Anweisungen k?nnen ebenfalls verwendet werden, aber einige Teile müssen nativen JS-Code schreiben, es wurde jedoch festgestellt, dass der native JS nicht verwendet werden kann
html:
<a type="button" onclick="printOrder()">直接打印</a>
js in:
var LODOP; //聲明為全局變量
function printPreview(){
//創(chuàng)建小票打印頁
CreatePrintPage();
//打印預(yù)覽
LODOP.PREVIEW();
};
/**
* 樣例函數(shù),服務(wù)器確認(rèn)訂單后執(zhí)行
*/
function printOrder() {
//創(chuàng)建小票打印頁
CreatePrintPage();
//開始打印
LODOP.PRINT();
};
function CreatePrintPage(json) {
//json 創(chuàng)建模擬服務(wù)器響應(yīng)的訂單信息對(duì)象
var json = {"title":"XXXXX訂單信息", "name":"張三", "phone": "138123456789", "orderTime": "2012-10-11 15:30:15",
"orderNo": "20122157481315", "shop":"XX連鎖", "total":25.10,"totalCount":6,
"goodsList":[
{"name":"菜心(無公害食品)", "price":5.00, "count":2, "total":10.08},
{"name":"菜心(無公害食品)", "price":5.00, "count":2, "total":10.02},
{"name":"旺菜", "price":4.50, "count":1, "total":4.50},
{"name":"黃心番薯(有機(jī)食品)", "price":4.50, "count":1, "total":4.50}
]
}
var hPos=10,//小票上邊距
pageWidth=580,//小票寬度
rowHeight=15,//小票行距
//獲取控件對(duì)象
LODOP=getLodop(document.getElementById('LODOP_OB'),document.getElementById('LODOP_EM'));
//初始化
LODOP.PRINT_INIT("打印控件功能演示_Lodop功能_名片");
//添加小票標(biāo)題文本
LODOP.ADD_PRINT_TEXT(hPos,30,pageWidth,rowHeight,json.title);
//上邊距往下移
hPos+=rowHeight;
LODOP.ADD_PRINT_TEXT(hPos,1,pageWidth,rowHeight,"姓名:");
LODOP.ADD_PRINT_TEXT(hPos,30,pageWidth,rowHeight,json.name);
//hPos+=rowHeight; //電話不換行
LODOP.ADD_PRINT_TEXT(hPos,70,pageWidth,rowHeight,"電話:");
LODOP.ADD_PRINT_TEXT(hPos,100,pageWidth,rowHeight,json.phone);
hPos+=rowHeight;
LODOP.ADD_PRINT_TEXT(hPos,1,pageWidth,rowHeight,"下單時(shí)間:");
LODOP.ADD_PRINT_TEXT(hPos,60,pageWidth,rowHeight,json.orderTime);
hPos+=rowHeight;
LODOP.ADD_PRINT_TEXT(hPos,1,pageWidth,rowHeight,"訂單編號(hào):");
LODOP.ADD_PRINT_TEXT(hPos,60,pageWidth,rowHeight,json.orderNo);
hPos+=rowHeight;
LODOP.ADD_PRINT_TEXT(hPos,1,pageWidth,rowHeight,"取貨門店:");
LODOP.ADD_PRINT_TEXT(hPos,60,pageWidth,rowHeight,json.shop);
hPos+=rowHeight;
LODOP.ADD_PRINT_LINE(hPos,2, hPos, pageWidth,2, 1);
hPos+=5;
LODOP.ADD_PRINT_TEXT(hPos,1,pageWidth,rowHeight,"商品名稱");
LODOP.ADD_PRINT_TEXT(hPos,70,pageWidth,rowHeight,"單價(jià)");
LODOP.ADD_PRINT_TEXT(hPos,110,pageWidth,rowHeight,"數(shù)量");
LODOP.ADD_PRINT_TEXT(hPos,140,pageWidth,rowHeight,"小計(jì)");
hPos+=rowHeight;
//遍歷json的商品數(shù)組
for(var i=0;i<json.goodsList.length;i++){
if(json.goodsList[i].name.length<4){
LODOP.ADD_PRINT_TEXT(hPos,1,pageWidth,rowHeight,json.goodsList[i].name);
}else {
//商品名字過長,其他字段需要換行
LODOP.ADD_PRINT_TEXT(hPos,1,pageWidth,rowHeight,json.goodsList[i].name);
hPos+=rowHeight;
}
LODOP.ADD_PRINT_TEXT(hPos,70,pageWidth,rowHeight,json.goodsList[i].price);
LODOP.ADD_PRINT_TEXT(hPos,115,pageWidth,rowHeight,json.goodsList[i].count);
LODOP.ADD_PRINT_TEXT(hPos,140,pageWidth,rowHeight,json.goodsList[i].total);
hPos+=rowHeight;
}
//商品遍歷打印完畢,空一行
hPos+=rowHeight;
//合計(jì)
LODOP.ADD_PRINT_TEXT(hPos,80,pageWidth,rowHeight,"合計(jì):"+json.totalCount);
LODOP.ADD_PRINT_TEXT(hPos,130,pageWidth,rowHeight,"¥"+json.total);
hPos+=rowHeight;
LODOP.ADD_PRINT_TEXT(hPos,2,pageWidth,rowHeight,(new Date()).toLocaleDateString()+" "+(new Date()).toLocaleTimeString())
hPos+=rowHeight;
LODOP.ADD_PRINT_TEXT(hPos,25,pageWidth,rowHeight,"謝謝惠顧,歡迎下次光臨!");
//初始化打印頁的規(guī)格
LODOP.SET_PRINT_PAGESIZE(3,pageWidth,45,"XXXXX訂單信息");
};
Aber Fehler:
Ich habe einen sehr einfachen Code ausprobiert, aber onclick funktioniert nicht, warum
你既然用了angular,那應(yīng)該會(huì)有若干個(gè)controller,你應(yīng)該在 需要點(diǎn)擊的鏈接 所在的controller中聲明對(duì)應(yīng)的事件回調(diào)方法,并且應(yīng)該通過ng-click指令綁定對(duì)應(yīng)的事件回調(diào)
可以定義函數(shù)為window.fun=function(){}然后就可以在ng中調(diào)用window.fun了。因?yàn)閍ngular是不直接操作dom的所以,,