| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339 |
- Ext.QuickTips.init();
- Ext.define('erp.controller.scm.reserve.SelPrintTemplate', {
- extend: 'Ext.app.Controller',
- FormUtil: Ext.create('erp.util.FormUtil'),
- BaseUtil: Ext.create('erp.util.BaseUtil'),
- views:[
- 'scm.reserve.SelPrintTemplate','scm.reserve.SelPrintTemplate',
- 'core.button.Confirm','core.button.Close',
- 'core.trigger.DbfindTrigger','core.trigger.TextAreaTrigger'
- ] ,
- init:function(){
- var me = this;
- this.control({
- 'erpCloseButton': {
- click: function(btn){
- Ext.getCmp('printLabelForm').close();
- }
- },
- 'button[id=barPrintPreview]': {//打印预览
- click :function (btn){
- LODOP = getLodop(document.getElementById('LODOP_OB'),document.getElementById('LODOP_EM'));
- if(caller == 'ProdIO!PurcInBarPrint' ||caller == 'BarSProfit!BarPrint'||caller == 'PdaBarcodePrint'){
- if(me.getSelData()){
- me.getPrintData(function(data){
- var printData = data;
- if( printData != null){
- me.printViewLabel(printData);
- }
- });
- return;
- }else{
- if(caller =='PdaBarcodePrint'){
- window.parent.showError("没有勾选需要打印的行,请勾选!");
- return;
- }
- window.parent.showError("没有勾选需要打印的行,将全部打印!");
- }
- }
- var params = new Object();
- if(Ext.getCmp("template").value == "" || Ext.getCmp("template").value == null){
- window.parent.showError("请选择打印模板");
- return ;
- }
- var data = new Object();
- if(caller =='ProdIO!PurcInBarPrint' || caller == 'ProdIO!PurcInObxPrint'){
- data["bi_piid"] = window.parent.Ext.getCmp("bi_piid").value;
- data["bi_pdno"] = window.parent.Ext.getCmp("bi_pdno").value;
- params.caller = window.parent.parent.caller;
- }else if(caller == 'BarSProfit!BarPrint' || caller == 'BarSProfit!ObxPrint'){
- data["bdd_bsdid"] = window.parent.Ext.getCmp("bsd_id").value;
- params.caller = window.parent.parent.caller;
- }else if(caller == 'BarStockPrint'){
- data["bs_id"] = window.parent.Ext.getCmp("bs_id").value;
- params.caller = window.parent.caller;
- }
- params.printStore = unescape(escape(Ext.JSON.encode(data)));
- var r = new Object();
- r["template"] = Ext.getCmp("template").value;
- params.printForm = unescape(escape(Ext.JSON.encode(r)));
- params.lps_caller = caller;
- Ext.Ajax.request({//获取打印数据
- url : basePath + "common/barcode/PrintAll.action",
- params :params,
- method : 'post',
- callback : function(opt, s, res){
- var r = new Ext.decode(res.responseText);
- if(r && r.exceptionInfo){
- window.parent.showError(r.exceptionInfo);return;
- }else if(r.data.length>0){
- var printData = r.data;
- if(printData != null){
- me.printViewLabel(printData);
- }
- }
- }
- });
- }
- },
- 'button[id=barPrint]':{//打印
- click :function (btn){
- var LODOP = getLodop(document.getElementById('LODOP_OB'),document.getElementById('LODOP_EM'));
- if(caller == 'ProdIO!PurcInBarPrint' ||caller == 'BarSProfit!BarPrint'||caller == 'PdaBarcodePrint'){
- if(me.getSelData()){
- me.getPrintData(function(data){
- var printData = data;
- if( printData != null){
- me.printLabel(printData);
- }
- });
- return ;
- }else{
- if(caller =='PdaBarcodePrint'){
- window.parent.showError("没有勾选需要打印的行,请勾选!");
- return;
- }
- window.parent.showError("没有勾选需要打印的行,将全部打印!");
- }
- }
- var params = new Object();
- if(Ext.getCmp("template").value == "" || Ext.getCmp("template").value == null){
- window.parent.showError("请选择打印模板");
- return ;
- }
- var data = new Object();
- if(caller =='ProdIO!PurcInBarPrint' || caller == 'ProdIO!PurcInObxPrint'){
- data["bi_piid"] = window.parent.Ext.getCmp("bi_piid").value;
- data["bi_pdno"] = window.parent.Ext.getCmp("bi_pdno").value;
- params.caller = window.parent.parent.caller;
- }else if(caller == 'BarSProfit!BarPrint' || caller == 'BarSProfit!ObxPrint'){
- data["bdd_bsdid"] = window.parent.Ext.getCmp("bsd_id").value;
- params.caller = window.parent.parent.caller;
- }else if(caller == 'BarStockPrint'){
- data["bs_id"] = window.parent.Ext.getCmp("bs_id").value;
- params.caller = window.parent.caller;
- }
- params.printStore = unescape(escape(Ext.JSON.encode(data)));
- var form = Ext.getCmp("printLabelForm");
- var r = new Object();
- Ext.each(form.items.items, function(item){
- if(item.value != null && item.value != ''){
- r[item.id]=item.value;
- }
- });
- params.printForm = unescape(escape(Ext.JSON.encode(r)));
- params.lps_caller = caller;
- params.caller = window.parent.parent.caller;
- Ext.Ajax.request({
- url : basePath + "common/barcode/PrintAll.action",
- params :params,
- method : 'post',
- callback : function(options, success, response) {
- var res = new Ext.decode(response.responseText);
- if (res.exceptionInfo != null) {
- window.parent.showError(res.exceptionInfo);
- return;
- }else if(res.data.length>0){
- var printData = res.data;
- me.printLabel(printData);
- }
- }
- });
- }
- }
- });
- },
- getForm: function(btn){
- return btn.ownerCt.ownerCt;
- },
- getSelData :function(){//判断是否勾选了需要操作的数据
- if(caller =='PdaBarcodePrint'){
- var grid =window.parent.Ext.getCmp("batchDealGridPanel");
- var bool = false;
- if( grid.selModel.getCount() == 0 ){
- return false;
- }
- return true;
- }else if( caller == 'BarSProfit!BarPrint'){
- var grid =window.parent.Ext.getCmp("barStockCodeGridPanel");
- var bool = false;
- if( grid.selModel.getCount() == 0 ){
- return false;
- }
- return true;
- }else {
- var grid =window.parent.Ext.getCmp("setBarcodeGridPanel");
- var bool = false;
- if( grid.selModel.getCount() == 0 ){
- return false;
- }
- return true;
- }
- },
- getPrintAction :function(params,callback){
- Ext.Ajax.request({
- url : basePath + "common/barcode/Print.action",
- params : params,
- method : 'post',
- callback : function(opt, s, res){
- var r = new Ext.decode(res.responseText);
- if(r && r.exceptionInfo){
- window.parent.showError(r.exceptionInfo);return;
- } else if(r.data){
- callback && callback.call(null, r.data);
- }else{
- return;
- }
- }
- });
- },
- getPrintData : function(callback) {
- var form = Ext.getCmp("printLabelForm");
- var r = new Object();
- Ext.each(form.items.items, function(item) {
- if (item.value != null && item.value != '') {
- r[item.id] = item.value;
- }
- });
- var grid ;
- if(caller =='PdaBarcodePrint'){
- grid =window.parent.Ext.getCmp("batchDealGridPanel");
- }else if(caller == 'BarSProfit!BarPrint'){
- grid = window.parent.Ext.getCmp("barStockCodeGridPanel");
- }else {
- grid = window.parent.Ext.getCmp("setBarcodeGridPanel");
- }
- var items = grid.selModel.getSelection();
- Ext.each(items, function(item, index) {
- if (this.data[grid.keyField] != null&& this.data[grid.keyField] != ''
- && this.data[grid.keyField] != '0'&& this.data[grid.keyField] != 0) {
- item.index = this.data[grid.keyField];
- grid.multiselected.push(item);
- }
- });
- var records = Ext.Array.unique(grid.multiselected);
- if (records.length > 0) {
- var params = new Object();
- if(caller =='PdaBarcodePrint'){
- params.caller = window.parent.caller;
- }else{
- params.caller = window.parent.parent.caller;
- }
- params.lps_caller = caller;
- params.printForm = unescape(escape(Ext.JSON.encode(r)));
- var bool = false;
- var data = new Array();
- Ext.each(records, function(record, index) {
- if ((grid.keyField && this.data[grid.keyField] != null&& this.data[grid.keyField] != ''
- && this.data[grid.keyField] != '0' && this.data[grid.keyField] != 0)) {
- bool = true;
- var o = new Object();
- if (grid.keyField) {
- o[grid.keyField] = record.data[grid.keyField];
- }
- data.push(o);
- }
- });
- params.gridStore = unescape(escape(Ext.JSON.encode(data)));
- this.getPrintAction(params, callback);
- }
- },
- updatePrintStatus : function(params){
- Ext.Ajax.request({//更新打印状态
- url : basePath + "common/barcode/updatePrintStatus.action",
- params :params,
- method : 'post',
- callback : function(opt, s, res){
- var r = new Ext.decode(res.responseText);
- if(r && r.exceptionInfo){
- showError(r.exceptionInfo);return;
- }else{
- var grid =window.parent.Ext.getCmp("setBarcodeGridPanel");
- var gridCondition = window.parent.gridCondition;
- gridCondition = (gridCondition == null) ? "" : gridCondition.replace(/IS/g,"=");
- grid.GridUtil.loadNewStore(grid,{caller:window.parent.caller,condition:gridCondition});
- }
- }
- });
- },
-
- printViewLabel:function (printData){
- var params = new Object();
- var ids = new Array();
- Ext.each(printData, function(record, index){
- LODOP.NewPage();
- Ext.each(record['store'],function(data,index){
- LODOP.SET_PRINT_STYLE("FontSize",data['LP_SIZE']);
- if(data['LP_VALUETYPE'] == 'barcode'){
- LODOP.ADD_PRINT_BARCODE(data['LP_TOPRATE']+"mm",data['LP_LEFTRATE']+"mm",data['LP_WIDTH']+"mm",data['LP_HEIGHT']+"mm",data['LP_ENCODE'],data['value']);
- LODOP.SET_PRINT_STYLEA(0,"ShowBarText",data['LP_IFSHOWNOTE']);
- LODOP.SET_PRINT_STYLEA(0,"AlignJustify",data['LP_NOTEALIGNJUSTIFY']);
- LODOP.SET_PRINT_STYLEA(0,"Bold",1);
- }else if(data['LP_VALUETYPE'] == 'text'){
- LODOP.SET_PRINT_STYLE("FontName",data['LP_FONT']);
- LODOP.ADD_PRINT_TEXT(data['LP_TOPRATE']+"mm",data['LP_LEFTRATE']+"mm",data['LP_WIDTH']+"mm",data['LP_HEIGHT']+"mm",data['value']);
- }
- });
- if(caller == 'ProdIO!PurcInBarPrint'){
- var o = new Object();
- o['bi_id'] = record['bi_id'];
- ids.push(o);
- }
- });
- var pagesize = printData[0]['store'][0]['LA_PAGESIZE'];//获取标签的大小
- var strs= new Array(); //定义一数组
- strs=pagesize.split("*"); //字符分割
- LODOP.SET_PREVIEW_WINDOW(0,0,0,0,0,"");
- LODOP.SET_SHOW_MODE("HIDE_SBUTTIN_PREVIEW",1);
- LODOP.SET_PRINT_PAGESIZE(1, strs[0]*10, strs[1]*10, "");
- var times = LODOP.PREVIEW();//打印预览
- if(caller == 'ProdIO!PurcInBarPrint'){
- if(times > 0){//点击了打印预览内的打印按钮
- params.ids = unescape(escape(Ext.JSON.encode(ids)));
- params.caller = window.parent.caller;
- this.updatePrintStatus(params);
- }
- }
- },
- printLabel:function(printStore){
- var LODOP = getLodop(document.getElementById('LODOP_OB'),document.getElementById('LODOP_EM'));
- var selectOrNot = LODOP.SELECT_PRINTER();//选择打印机,未-1就是取消,如果是其他数字就是设置打印机序号
- if (selectOrNot != -1) {
- LODOP.PRINT_INIT("标签打印");//设定纸张大小
- var pagesize = printStore[0]['store'][0]['LA_PAGESIZE'];//获取标签的大小
- var strs= new Array(); //定义一数组
- strs=pagesize.split("*"); //字符分割
- LODOP.SET_PRINT_PAGESIZE(1, strs[0]*10, strs[1]*10, "");
- var params = new Object();
- var ids = new Array();
- Ext.each(printStore, function(record, index) {
- //LODOP.NewPage();
- Ext.each(record['store'], function(data, index) {
- LODOP.SET_PRINT_STYLE("FontSize", data['LP_SIZE']);
- LODOP.SET_PRINT_STYLE("FontName",data['LP_FONT']);
- if (data['LP_VALUETYPE'] == 'barcode') {
- LODOP.ADD_PRINT_BARCODE(data['LP_TOPRATE']+"mm",data['LP_LEFTRATE']+"mm",data['LP_WIDTH']+"mm",data['LP_HEIGHT']+"mm", data['LP_ENCODE'], data['value']);
- LODOP.SET_PRINT_STYLEA(0,"ShowBarText", data['LP_IFSHOWNOTE']);
- LODOP.SET_PRINT_STYLEA(0,"AlignJustify", data['LP_NOTEALIGNJUSTIFY']);
- LODOP.SET_PRINT_STYLEA(0,"Bold",1);
- //“ShowBarText” :(一维)条码的码值是否显示 0/1
- //“AlignJustify”:设置“text文本”是否两端对齐或“barcode条码文字”靠齐方式
- //设置“barcode条码文字”时,0-两端对齐(默认) 1-左靠齐 2-居中 3-右靠齐
- } else if (data['LP_VALUETYPE'] == 'text') {
- LODOP.ADD_PRINT_TEXT(data['LP_TOPRATE']+"mm",data['LP_LEFTRATE']+"mm",data['LP_WIDTH']+"mm",data['LP_HEIGHT']+"mm", data['value']);
- }
- });
- var o = new Object();
- o['bi_id'] = record['bi_id'];
- ids.push(o);
- LODOP.SET_PRINT_STYLEA(0,"NotOnlyHighPrecision",true);//设置打印的精度
- LODOP.PRINT();
- });
- if(caller =='ProdIO!PurcInBarPrint'){
- params.ids = unescape(escape(Ext.JSON.encode(ids)));
- params.caller = window.parent.parent.caller;
- this.updatePrintStatus(params);
- }
- }
- }
- });
|