|
@@ -1,62 +1,64 @@
|
|
|
Ext.QuickTips.init();
|
|
|
Ext.define('erp.controller.scm.reserve.ProdCreateBarcode', {
|
|
|
- extend: 'Ext.app.Controller',
|
|
|
- requires: ['erp.util.FormUtil', 'erp.util.GridUtil', 'erp.util.BaseUtil'],
|
|
|
- views:[
|
|
|
- 'core.form.Panel','common.CommonPage','core.grid.Panel2','core.toolbar.Toolbar','core.trigger.MultiDbfindTrigger','core.trigger.HrOrgTreeDbfindTrigger',
|
|
|
- 'core.button.Close','core.trigger.DbfindTrigger','core.grid.YnColumn','core.button.GenerateBarcode'
|
|
|
- ],
|
|
|
- init:function(){
|
|
|
- var me = this;
|
|
|
- me.FormUtil = Ext.create('erp.util.FormUtil');
|
|
|
- me.GridUtil = Ext.create('erp.util.GridUtil');
|
|
|
- me.BaseUtil = Ext.create('erp.util.BaseUtil');
|
|
|
- this.control({
|
|
|
- '#barCode': {
|
|
|
- specialkey: function(f, e){//按ENTER自动复制到下一行
|
|
|
- if (e.getKey() == e.ENTER) {
|
|
|
- if(f.value != null && f.value != ''){
|
|
|
- me.getBarInfo();
|
|
|
- Ext.getCmp('pr_partNumber').focus(false, 100);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- 'erpProdCreateBarcode': {
|
|
|
- },
|
|
|
- 'erpGenerateBarcodeButton': {
|
|
|
- click: function(btn){
|
|
|
- var pr_code = Ext.getCmp('pr_code').value;
|
|
|
- var number = Ext.getCmp('pr_partNumber').value;
|
|
|
+ extend: 'Ext.app.Controller',
|
|
|
+ requires: ['erp.util.FormUtil', 'erp.util.GridUtil', 'erp.util.BaseUtil'],
|
|
|
+ views:[
|
|
|
+ 'core.form.Panel','common.CommonPage','core.grid.Panel2','core.toolbar.Toolbar','core.trigger.MultiDbfindTrigger','core.trigger.HrOrgTreeDbfindTrigger',
|
|
|
+ 'core.button.Close','core.trigger.DbfindTrigger','core.grid.YnColumn','core.button.GenerateBarcode'
|
|
|
+ ],
|
|
|
+ init:function(){
|
|
|
+ var me = this;
|
|
|
+ me.FormUtil = Ext.create('erp.util.FormUtil');
|
|
|
+ me.GridUtil = Ext.create('erp.util.GridUtil');
|
|
|
+ me.BaseUtil = Ext.create('erp.util.BaseUtil');
|
|
|
+ this.control({
|
|
|
+ '#barCode': {
|
|
|
+ specialkey: function(f, e){//按ENTER自动复制到下一行
|
|
|
+ if (e.getKey() == e.ENTER) {
|
|
|
+ if(f.value != null && f.value != ''){
|
|
|
+ me.getBarInfo();
|
|
|
+ Ext.getCmp('pr_partNumber').focus(false, 100);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ 'erpProdCreateBarcode': {
|
|
|
+ },
|
|
|
+ 'erpGenerateBarcodeButton': {
|
|
|
+ click: function(btn){
|
|
|
+ var pr_code = Ext.getCmp('pr_code').value;
|
|
|
+ var number = Ext.getCmp('pr_partNumber').value;
|
|
|
var zxbzNumber = Ext.getCmp('pr_zxbzNumber').value;
|
|
|
- if(pr_code == null || pr_code ==''){
|
|
|
- Ext.Msg.alert('温馨提示',
|
|
|
- '请先选择物料编号');
|
|
|
+ var batchCode = Ext.getCmp('batchCode').value;
|
|
|
+ var madeDate = Ext.getCmp('madeDate').value;
|
|
|
+ if(pr_code == null || pr_code ==''){
|
|
|
+ Ext.Msg.alert('温馨提示', '请先选择物料编号');
|
|
|
return;
|
|
|
- }else if(number == null || number ==''){
|
|
|
- Ext.Msg.alert('温馨提示',
|
|
|
- '请输入数量');
|
|
|
+ }else if(number == null || number ==''){
|
|
|
+ Ext.Msg.alert('温馨提示', '请输入数量');
|
|
|
return;
|
|
|
}else if(zxbzNumber == null || zxbzNumber ==''){
|
|
|
- Ext.Msg.alert('温馨提示',
|
|
|
- '请输入最小包装数量');
|
|
|
+ Ext.Msg.alert('温馨提示', '请输入最小包装数量');
|
|
|
+ return;
|
|
|
+ }else if(madeDate == null || madeDate ==''){
|
|
|
+ Ext.Msg.alert('温馨提示', '请填写生产日期');
|
|
|
return;
|
|
|
}
|
|
|
- var re=/^\d+(,\d+)*$/;
|
|
|
+ var re=/^\d+(,\d+)*$/;
|
|
|
var sum=0;
|
|
|
number=number.replace(/,/ig,',');
|
|
|
if(re.test(number)){
|
|
|
- var str = new Array();
|
|
|
+ var str = new Array();
|
|
|
str = number.split( "," );
|
|
|
for (var i = 0; i < str.length; i++ )
|
|
|
{
|
|
|
if(str[i] <= 0){
|
|
|
Ext.Msg.alert('温馨提示',
|
|
|
- '数量必须大于0');
|
|
|
+ '数量必须大于0');
|
|
|
return;
|
|
|
}
|
|
|
- sum+=parseFloat(str[i]);
|
|
|
- }}else{
|
|
|
+ sum+=parseFloat(str[i]);
|
|
|
+ }}else{
|
|
|
showError("请输入正确的数量,例如20");
|
|
|
return;
|
|
|
}
|
|
@@ -69,39 +71,39 @@ Ext.define('erp.controller.scm.reserve.ProdCreateBarcode', {
|
|
|
'最小包装数量必须大于0');
|
|
|
return;
|
|
|
}
|
|
|
- if (sum <= 0) {
|
|
|
+ if (sum <= 0) {
|
|
|
Ext.Msg.alert('温馨提示',
|
|
|
- '数量必须大于0');
|
|
|
+ '数量必须大于0');
|
|
|
return;
|
|
|
}
|
|
|
- if(pr_code && number){
|
|
|
- Ext.getCmp("pr_partNumber").setValue('');
|
|
|
- var batchcode = Ext.getCmp('batchCode').value;
|
|
|
- if(batchcode != null && batchcode != ''){
|
|
|
- me.batchGenerateBarcode(pr_code,number,batchcode,zxbzNumber);
|
|
|
- }else{
|
|
|
- me.batchGenerateBarcode(pr_code,number,'',zxbzNumber);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- },
|
|
|
- 'erpCloseButton': {
|
|
|
- click: function(btn){
|
|
|
- me.FormUtil.beforeClose(me);
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- },
|
|
|
- onGridItemClick: function(selModel, record){//grid行选择
|
|
|
- this.GridUtil.onGridItemClick(selModel, record);
|
|
|
- },
|
|
|
+ if(pr_code && number){
|
|
|
+ Ext.getCmp("pr_partNumber").setValue('');
|
|
|
+ var batchcode = Ext.getCmp('batchCode').value;
|
|
|
+ if(batchcode != null && batchcode != ''){
|
|
|
+ me.batchGenerateBarcode(pr_code,number,batchcode,zxbzNumber,madeDate);
|
|
|
+ }else{
|
|
|
+ me.batchGenerateBarcode(pr_code,number,'',zxbzNumber,madeDate);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ 'erpCloseButton': {
|
|
|
+ click: function(btn){
|
|
|
+ me.FormUtil.beforeClose(me);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ onGridItemClick: function(selModel, record){//grid行选择
|
|
|
+ this.GridUtil.onGridItemClick(selModel, record);
|
|
|
+ },
|
|
|
getForm: function(btn){
|
|
|
return btn.ownerCt.ownerCt;
|
|
|
},
|
|
|
- resize: function(form, grid){
|
|
|
- if(!this.resized && form && grid && form.items.items.length > 0){
|
|
|
- var height = window.innerHeight,
|
|
|
- fh = form.getEl().down('.x-panel-body>.x-column-inner').getHeight();
|
|
|
+ resize: function(form, grid){
|
|
|
+ if(!this.resized && form && grid && form.items.items.length > 0){
|
|
|
+ var height = window.innerHeight,
|
|
|
+ fh = form.getEl().down('.x-panel-body>.x-column-inner').getHeight();
|
|
|
if(Ext.isIE){
|
|
|
height = screen.height*0.75;
|
|
|
}
|
|
@@ -109,31 +111,32 @@ Ext.define('erp.controller.scm.reserve.ProdCreateBarcode', {
|
|
|
grid.setHeight(height - fh - 70);
|
|
|
this.resized = true;
|
|
|
}
|
|
|
- },
|
|
|
- setLoading : function(b) {
|
|
|
- var mask = this.mask;
|
|
|
- if (!mask) {
|
|
|
- this.mask = mask = new Ext.LoadMask(Ext.getBody(), {
|
|
|
- msg : "处理中,请稍后...",
|
|
|
- msgCls : 'z-index:10000;'
|
|
|
- });
|
|
|
- }
|
|
|
- if (b)
|
|
|
- mask.show();
|
|
|
- else
|
|
|
- mask.hide();
|
|
|
- },
|
|
|
- batchGenerateBarcode: function(pr_code,number,batchcode,zxbzNumber){
|
|
|
+ },
|
|
|
+ setLoading : function(b) {
|
|
|
+ var mask = this.mask;
|
|
|
+ if (!mask) {
|
|
|
+ this.mask = mask = new Ext.LoadMask(Ext.getBody(), {
|
|
|
+ msg : "处理中,请稍后...",
|
|
|
+ msgCls : 'z-index:10000;'
|
|
|
+ });
|
|
|
+ }
|
|
|
+ if (b)
|
|
|
+ mask.show();
|
|
|
+ else
|
|
|
+ mask.hide();
|
|
|
+ },
|
|
|
+ batchGenerateBarcode: function(pr_code,number,batchcode,zxbzNumber,madeDate){
|
|
|
var me=this;
|
|
|
me.setLoading(true);
|
|
|
console.log(basePath);
|
|
|
Ext.Ajax.request({
|
|
|
- url : basePath +'scm/reserve/batchGenerateBarcode.action',
|
|
|
+ url : basePath +'scm/reserve/batchGenerateBarcode.action',
|
|
|
params: {
|
|
|
pr_code:pr_code,
|
|
|
number:number,
|
|
|
batchcode:batchcode,
|
|
|
- zxbzNumber:zxbzNumber
|
|
|
+ zxbzNumber:zxbzNumber,
|
|
|
+ madeDate:madeDate
|
|
|
},
|
|
|
method : 'post',
|
|
|
callback : function(options,success,response){
|
|
@@ -143,24 +146,24 @@ Ext.define('erp.controller.scm.reserve.ProdCreateBarcode', {
|
|
|
var data = res.data;
|
|
|
Ext.MessageBox.alert('提示', '条码生成成功!',function(){
|
|
|
var win = new Ext.window.Window({
|
|
|
- id: 'winBar',
|
|
|
- height: '75%',
|
|
|
- width: '75%',
|
|
|
- maximizable: false,
|
|
|
- title:'<span>条码打印</span>',
|
|
|
- buttonAlign: 'center',
|
|
|
- layout: 'column',
|
|
|
- bodyStyle:"background-color:#F5F5F5;",
|
|
|
- items: [{
|
|
|
- xtype: 'gridpanel',
|
|
|
- id: 'grid',
|
|
|
- anchor : '100% 70%',
|
|
|
- columnWidth:1,
|
|
|
- multiSelect: true,
|
|
|
- multiselected: [],
|
|
|
- forceFit : true,
|
|
|
- checkOnly:true,
|
|
|
- columns: [
|
|
|
+ id: 'winBar',
|
|
|
+ height: '75%',
|
|
|
+ width: '75%',
|
|
|
+ maximizable: false,
|
|
|
+ title:'<span>条码打印</span>',
|
|
|
+ buttonAlign: 'center',
|
|
|
+ layout: 'column',
|
|
|
+ bodyStyle:"background-color:#F5F5F5;",
|
|
|
+ items: [{
|
|
|
+ xtype: 'gridpanel',
|
|
|
+ id: 'grid',
|
|
|
+ anchor : '100% 70%',
|
|
|
+ columnWidth:1,
|
|
|
+ multiSelect: true,
|
|
|
+ multiselected: [],
|
|
|
+ forceFit : true,
|
|
|
+ checkOnly:true,
|
|
|
+ columns: [
|
|
|
{
|
|
|
style :"text-align:center",
|
|
|
text: 'ID',
|
|
@@ -176,10 +179,10 @@ Ext.define('erp.controller.scm.reserve.ProdCreateBarcode', {
|
|
|
logic:"necessaryField",
|
|
|
editor: {
|
|
|
xtype: "displayfield",
|
|
|
- hideTrigger: true,
|
|
|
- store: null,
|
|
|
- queryMode: "local"
|
|
|
- }
|
|
|
+ hideTrigger: true,
|
|
|
+ store: null,
|
|
|
+ queryMode: "local"
|
|
|
+ }
|
|
|
},{
|
|
|
style :"text-align:center",
|
|
|
text: '数量',
|
|
@@ -187,133 +190,271 @@ Ext.define('erp.controller.scm.reserve.ProdCreateBarcode', {
|
|
|
flex : 3,
|
|
|
dataIndex: 'bar_remain',
|
|
|
editor: {
|
|
|
- xtype: "displayfield",
|
|
|
- hideTrigger: true,
|
|
|
- store: null,
|
|
|
- queryMode: "local"
|
|
|
- },
|
|
|
- xtype: 'numbercolumn',
|
|
|
- align: "left",
|
|
|
- format: ""
|
|
|
+ xtype: "displayfield",
|
|
|
+ hideTrigger: true,
|
|
|
+ store: null,
|
|
|
+ queryMode: "local"
|
|
|
+ },
|
|
|
+ xtype: 'numbercolumn',
|
|
|
+ align: "left",
|
|
|
+ format: ""
|
|
|
}],
|
|
|
- GridUtil: Ext.create('erp.util.GridUtil'),
|
|
|
- listeners:{
|
|
|
- beforeedit:function(editor, e, eOpts){
|
|
|
- return false;//不可编辑
|
|
|
- }
|
|
|
- },
|
|
|
- selType:'checkboxmodel',
|
|
|
- dbfinds: [],
|
|
|
- columnLines: true,
|
|
|
- plugins: [Ext.create('Ext.grid.plugin.CellEditing', {
|
|
|
- clicksToEdit: 10
|
|
|
- }),
|
|
|
- Ext.create('erp.view.core.plugin.CopyPasteMenu')],
|
|
|
- store: new Ext.data.Store({
|
|
|
- fields: ['bar_id', 'bar_code', 'bar_remain'],
|
|
|
- data: []
|
|
|
- }),
|
|
|
- onGridItemClick: function(selModel, record){// grid行选择
|
|
|
- this.GridUtil.onGridItemClick(selModel, record);
|
|
|
- },
|
|
|
- }],
|
|
|
- buttons : [{
|
|
|
- text : '打印条码',
|
|
|
- id : 'printNew',
|
|
|
- iconCls: 'x-button-icon-print',
|
|
|
- disabled : true,
|
|
|
- handler : function(btn) {
|
|
|
- var me = this;
|
|
|
- caller = 'Barcode!BaPrint';
|
|
|
- me.idS = '';
|
|
|
- var lps_Barcaller = 'Barcode!Print';
|
|
|
- var bool = false;
|
|
|
- var grid = Ext.getCmp('grid');
|
|
|
- var items = grid.selModel.getSelection();
|
|
|
- var idArray = [];
|
|
|
- Ext.each(items, function(item, index){
|
|
|
- if(this.data['bar_id'] != null && this.data['bar_id'] != ''
|
|
|
- && this.data['bar_id'] != '0' && this.data['bar_id'] != 0){
|
|
|
- bool = true;
|
|
|
- idArray.push(this.data['bar_id']);
|
|
|
- }
|
|
|
- });
|
|
|
- if(bool){
|
|
|
- var idS = idArray.toString();
|
|
|
- //me.print(idS,lps_Barcaller);
|
|
|
- me.idS = idS;
|
|
|
- me.zplPrint(lps_Barcaller);
|
|
|
- }else{
|
|
|
- showError("没有需要打印的行");
|
|
|
- }
|
|
|
- },
|
|
|
- zplPrint:function(caller){//zpl打印语句
|
|
|
- // 获取选择打印文件,用户选择分辨率,和打印机
|
|
|
- var me = this;
|
|
|
- if(!me.window){
|
|
|
- setup_web_print(function(printers,selected_printer){
|
|
|
- me.window = Ext.create('Ext.window.Window', {
|
|
|
+ GridUtil: Ext.create('erp.util.GridUtil'),
|
|
|
+ listeners:{
|
|
|
+ beforeedit:function(editor, e, eOpts){
|
|
|
+ return false;//不可编辑
|
|
|
+ }
|
|
|
+ },
|
|
|
+ selType:'checkboxmodel',
|
|
|
+ dbfinds: [],
|
|
|
+ columnLines: true,
|
|
|
+ plugins: [Ext.create('Ext.grid.plugin.CellEditing', {
|
|
|
+ clicksToEdit: 10
|
|
|
+ }),
|
|
|
+ Ext.create('erp.view.core.plugin.CopyPasteMenu')],
|
|
|
+ store: new Ext.data.Store({
|
|
|
+ fields: ['bar_id', 'bar_code', 'bar_remain'],
|
|
|
+ data: []
|
|
|
+ }),
|
|
|
+ onGridItemClick: function(selModel, record){// grid行选择
|
|
|
+ this.GridUtil.onGridItemClick(selModel, record);
|
|
|
+ },
|
|
|
+ }],
|
|
|
+ buttons : [{
|
|
|
+ text : '打印条码',
|
|
|
+ id : 'printNew',
|
|
|
+ iconCls: 'x-button-icon-print',
|
|
|
+ disabled : true,
|
|
|
+ handler : function(btn) {
|
|
|
+ var me = this;
|
|
|
+ caller = 'Barcode!BaPrint';
|
|
|
+ me.idS = '';
|
|
|
+ var lps_Barcaller = 'Barcode!Print';
|
|
|
+ var bool = false;
|
|
|
+ var grid = Ext.getCmp('grid');
|
|
|
+ var items = grid.selModel.getSelection();
|
|
|
+ var idArray = [];
|
|
|
+ Ext.each(items, function(item, index){
|
|
|
+ if(this.data['bar_id'] != null && this.data['bar_id'] != ''
|
|
|
+ && this.data['bar_id'] != '0' && this.data['bar_id'] != 0){
|
|
|
+ bool = true;
|
|
|
+ idArray.push(this.data['bar_id']);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ if(bool){
|
|
|
+ var idS = idArray.toString();
|
|
|
+ //me.print(idS,lps_Barcaller);
|
|
|
+ me.idS = idS;
|
|
|
+ me.zplPrint(lps_Barcaller);
|
|
|
+ }else{
|
|
|
+ showError("没有需要打印的行");
|
|
|
+ }
|
|
|
+ },
|
|
|
+ zplPrint:function(caller){//zpl打印语句
|
|
|
+ // 获取选择打印文件,用户选择分辨率,和打印机
|
|
|
+ var me = this;
|
|
|
+ var bo = false;
|
|
|
+ Ext.Ajax.request({
|
|
|
+ url: basePath + 'ma/setting/config.action?caller=BarCodeSetting&code=zebraOrderPrint',
|
|
|
+ method: 'GET',
|
|
|
+ async: false,
|
|
|
+ callback: function(opt, s, r) {
|
|
|
+ if(r && r.status == 200) {
|
|
|
+ if(r.responseText){
|
|
|
+ var res = Ext.JSON.decode(r.responseText);
|
|
|
+ if(res.data==1){
|
|
|
+ bo = true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ if(!me.window){
|
|
|
+ setup_web_print(function(printers,selected_printer){
|
|
|
+ me.window = Ext.create('Ext.window.Window', {
|
|
|
+ autoShow: true,
|
|
|
+ title: '选择打印模板',
|
|
|
+ width: 400,
|
|
|
+ height: bo?200:300,
|
|
|
+ layout: 'anchor',
|
|
|
+ id :'template-win',
|
|
|
+ closeAction:'hide',
|
|
|
+ items: [{
|
|
|
+ anchor:'100% 100%',
|
|
|
+ xtype:'form',
|
|
|
+ buttonAlign : 'center',
|
|
|
+ items:[{
|
|
|
+ xtype: 'combo',
|
|
|
+ id: 'printers',
|
|
|
+ fieldLabel: '打印机列表',
|
|
|
+ store: Ext.create('Ext.data.Store', {
|
|
|
+ autoLoad: true,
|
|
|
+ fields: ['display', 'value'],
|
|
|
+ data:printers
|
|
|
+ }),
|
|
|
+ queryMode: 'local',
|
|
|
+ displayField: 'display',
|
|
|
+ valueField: 'value',
|
|
|
+ width:361,
|
|
|
+ allowBlank:false,
|
|
|
+ value:selected_printer.uid,
|
|
|
+ selectOnFocus:true,//用户不能自己输入,只能选择列表中有的记录
|
|
|
+ style:'margin-left:15px;margin-top:15px;'
|
|
|
+ },{
|
|
|
+ xtype: 'combo',
|
|
|
+ id: 'dpi',
|
|
|
+ fieldLabel: '打印机分辨率',
|
|
|
+ style:'margin-left:15px;margin-top:15px;',
|
|
|
+ store: Ext.create('Ext.data.Store', {
|
|
|
+ fields: ['display', 'value'],
|
|
|
+ data : [{"display": '203dpi', "value": '203'},
|
|
|
+ {"display": '300dpi', "value": '300'},
|
|
|
+ {"display": '600dpi', "value": '600'},
|
|
|
+ {"display": '1200dpi', "value": '1200'}]
|
|
|
+ }),
|
|
|
+ displayField: 'display',
|
|
|
+ valueField: 'value',
|
|
|
+ queryMode: 'local',
|
|
|
+ value:resolutionCookie||'203',
|
|
|
+ width:bo?0:361,
|
|
|
+ allowBlank:false,
|
|
|
+ selectOnFocus:true,//用户不能自己输入,只能选择列表中有的记录
|
|
|
+ hidden:bo?true:false
|
|
|
+ }]
|
|
|
+ }],
|
|
|
+ buttonAlign: 'center',
|
|
|
+ buttons: [{
|
|
|
+ text: '确定',
|
|
|
+ handler: function(b) {
|
|
|
+ var printers = Ext.getCmp('printers');
|
|
|
+ var dpi = Ext.getCmp('dpi');
|
|
|
+ if(printers && printers.value!= null){
|
|
|
+ // if(bo){
|
|
|
+ me.getLabelInfo(caller,printers.value,dpi.value);
|
|
|
+ // }else{
|
|
|
+ // me.zebraPrint(caller,printers.value,dpi.value);
|
|
|
+ // }
|
|
|
+ b.ownerCt.ownerCt.close();
|
|
|
+ }else{
|
|
|
+ alert("请选择打印机 ");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ text: '取消',
|
|
|
+ handler: function(b) {
|
|
|
+ b.ownerCt.ownerCt.close();
|
|
|
+ }
|
|
|
+ }]
|
|
|
+ });
|
|
|
+ });
|
|
|
+ }
|
|
|
+ else if(me.window.isHidden()){
|
|
|
+ me.window.show();
|
|
|
+ }
|
|
|
+ },
|
|
|
+ zebraPrint:function(caller,printer,dpi){
|
|
|
+ var me = this;
|
|
|
+ var params = new Object();
|
|
|
+ params['condition'] = 'bar_id in ('+me.idS +")";
|
|
|
+ sendData(caller,printer,dpi,params);
|
|
|
+ },
|
|
|
+ fastPrintOrder:function(caller,printer,dpi,fmid){
|
|
|
+ var me = this;
|
|
|
+ var params = new Object();
|
|
|
+ params['condition'] = 'bar_id in ('+me.idS +")";
|
|
|
+ sendDataOrder(caller,printer,dpi,params,fmid);
|
|
|
+ },
|
|
|
+ getLabelInfo:function(caller,printer,dpi){
|
|
|
+ var me = this;
|
|
|
+ if(!me.window1){
|
|
|
+ Ext.Ajax.request({
|
|
|
+ url : basePath + 'vendbarcode/label/getLabelInfo.action',
|
|
|
+ async: false,
|
|
|
+ params: {
|
|
|
+ formCaller:caller
|
|
|
+ },
|
|
|
+ method : 'post',
|
|
|
+ callback : function(opt, s, res){
|
|
|
+ var r = new Ext.decode(res.responseText);
|
|
|
+ if(r.exceptionInfo){
|
|
|
+ showError(r.exceptionInfo);return;
|
|
|
+ } else if(r.success){
|
|
|
+ if(r.count == 0){ //r.filemodel r.label
|
|
|
+ showError("未配置标签模板");return;
|
|
|
+ }else if(r.count == 1){
|
|
|
+ me.fastPrintOrder(caller,printer,dpi,r.label[0].FM_ID);
|
|
|
+ }else if(r.count >1){
|
|
|
+ me.window1 = Ext.create('Ext.window.Window', {
|
|
|
autoShow: true,
|
|
|
- title: '选择打印模板',
|
|
|
+ title: '选择打印标签模板',
|
|
|
width: 400,
|
|
|
- height: 300,
|
|
|
+ height: 180,
|
|
|
layout: 'anchor',
|
|
|
- id :'template-win4',
|
|
|
+ id :'labels-win',
|
|
|
closeAction:'hide',
|
|
|
- items: [{
|
|
|
- anchor:'100% 100%',
|
|
|
- xtype:'form',
|
|
|
- buttonAlign : 'center',
|
|
|
- items:[{
|
|
|
- xtype: 'combo',
|
|
|
- id: 'printers',
|
|
|
- fieldLabel: '打印机列表',
|
|
|
- store: Ext.create('Ext.data.Store', {
|
|
|
- autoLoad: true,
|
|
|
- fields: ['display', 'value'],
|
|
|
- data:printers
|
|
|
- }),
|
|
|
- queryMode: 'local',
|
|
|
- displayField: 'display',
|
|
|
- valueField: 'value',
|
|
|
- width:361,
|
|
|
- allowBlank:false,
|
|
|
- value:selected_printer.uid,
|
|
|
- selectOnFocus:true,//用户不能自己输入,只能选择列表中有的记录
|
|
|
- style:'margin-left:15px;margin-top:15px;'
|
|
|
- },{
|
|
|
- xtype: 'combo',
|
|
|
- id: 'dpi',
|
|
|
- fieldLabel: '打印机分辨率',
|
|
|
- style:'margin-left:15px;margin-top:15px;',
|
|
|
- store: Ext.create('Ext.data.Store', {
|
|
|
- fields: ['display', 'value'],
|
|
|
- data : [{"display": '203dpi', "value": '203'},
|
|
|
- {"display": '300dpi', "value": '300'},
|
|
|
- {"display": '600dpi', "value": '600'},
|
|
|
- {"display": '1200dpi', "value": '1200'}]
|
|
|
- }),
|
|
|
- displayField: 'display',
|
|
|
- valueField: 'value',
|
|
|
- queryMode: 'local',
|
|
|
- value:resolutionCookie||'203',
|
|
|
- width:361,
|
|
|
- allowBlank:false,
|
|
|
- selectOnFocus:true//用户不能自己输入,只能选择列表中有的记录
|
|
|
- }]
|
|
|
- }],
|
|
|
+ autoscroll:true,
|
|
|
+ items: [{
|
|
|
+ anchor:'100% 100%',
|
|
|
+ xtype:'form',
|
|
|
+ buttonAlign : 'center',
|
|
|
+ items:[{
|
|
|
+ xtype: 'combo',
|
|
|
+ id: 'labels',
|
|
|
+ fieldLabel: '标签列表',
|
|
|
+ editable:false,
|
|
|
+ queryMode: 'local',
|
|
|
+ store: Ext.create('Ext.data.Store', {
|
|
|
+ autoLoad: true,
|
|
|
+ fields: ['fm_name','fm_id'],
|
|
|
+ proxy: {
|
|
|
+ type: 'ajax',
|
|
|
+ async : false,
|
|
|
+ url : basePath + 'vendbarcode/label/getLabelInf.action',
|
|
|
+ extraParams:{caller:caller},
|
|
|
+ reader: {
|
|
|
+ type: 'json',
|
|
|
+ root: 'datas'
|
|
|
+ },
|
|
|
+ headers: {
|
|
|
+ 'Content-Type': 'application/json;charset=utf-8'
|
|
|
+ }
|
|
|
+ },
|
|
|
+ listeners:{
|
|
|
+ load : function (store){
|
|
|
+ var myCookieVal = Ext.util.Cookies.get('beforeFmid');
|
|
|
+ var bo = false;
|
|
|
+ Ext.each(store.data.items, function(item, index){
|
|
|
+ if(item.data.fm_id == myCookieVal){
|
|
|
+ bo = true;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ if(myCookieVal == null || myCookieVal =='' || !bo){
|
|
|
+ Ext.getCmp('labels').select(store.getAt(0));
|
|
|
+ }else{
|
|
|
+ Ext.getCmp('labels').select(myCookieVal);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }),
|
|
|
+ displayField: 'fm_name',
|
|
|
+ valueField: 'fm_id',
|
|
|
+ width:361,
|
|
|
+ triggerAction : 'all',
|
|
|
+ selectOnFocus:true,
|
|
|
+ allowBlank:false,
|
|
|
+ style:'margin-left:15px;margin-top:15px;',
|
|
|
+ }]
|
|
|
+ }],
|
|
|
buttonAlign: 'center',
|
|
|
buttons: [{
|
|
|
text: '确定',
|
|
|
handler: function(b) {
|
|
|
- var printers = Ext.getCmp('printers');
|
|
|
- var dpi = Ext.getCmp('dpi');
|
|
|
- if(printers && printers.value!= null){
|
|
|
- me.zebraPrint(caller,printers.value,dpi.value);
|
|
|
- b.ownerCt.ownerCt.close();
|
|
|
- }else{
|
|
|
- alert("请选择打印机 ");
|
|
|
- }
|
|
|
+ Ext.util.Cookies.set('beforeFmid',Ext.getCmp('labels').value);
|
|
|
+ if(r.filemodel == null || r.filemodel == ''){
|
|
|
+ showError('未找到对应附件');return;
|
|
|
+ }
|
|
|
+ me.fastPrintOrder(caller,printer,dpi,Ext.getCmp('labels').value);
|
|
|
+ b.ownerCt.ownerCt.close();
|
|
|
}
|
|
|
}, {
|
|
|
text: '取消',
|
|
@@ -321,20 +462,17 @@ Ext.define('erp.controller.scm.reserve.ProdCreateBarcode', {
|
|
|
b.ownerCt.ownerCt.close();
|
|
|
}
|
|
|
}]
|
|
|
- });
|
|
|
- });
|
|
|
- }else if(me.window.isHidden()){
|
|
|
- me.window.show();
|
|
|
+ });
|
|
|
+ }
|
|
|
}
|
|
|
- },
|
|
|
- zebraPrint:function(caller,printer,dpi){
|
|
|
- var me = this;
|
|
|
- var params = new Object();
|
|
|
- params['condition'] = 'bar_id in ('+me.idS +")";
|
|
|
- sendData(caller,printer,dpi,params);
|
|
|
- }
|
|
|
- },
|
|
|
- {
|
|
|
+ }});
|
|
|
+
|
|
|
+ }else if(me.window1.isHidden()){
|
|
|
+ me.window1.show();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
text : '取消',
|
|
|
id : 'cancle',
|
|
|
handler : function(btn) {
|
|
@@ -342,101 +480,101 @@ Ext.define('erp.controller.scm.reserve.ProdCreateBarcode', {
|
|
|
win.close();
|
|
|
}
|
|
|
}
|
|
|
- ],
|
|
|
- });
|
|
|
- win.show();
|
|
|
+ ],
|
|
|
+ });
|
|
|
+ win.show();
|
|
|
var ids = new Array();
|
|
|
for(var i= 0;i<data.length;i++){
|
|
|
ids.push(data[i].BAR_ID);
|
|
|
}
|
|
|
me.loadData(ids);
|
|
|
Ext.getCmp('printNew').enable();
|
|
|
-
|
|
|
- var lps_Barcaller = 'Barcode!Print';
|
|
|
- var grid = Ext.getCmp("grid");
|
|
|
- var items = grid.store.data.items;
|
|
|
- var idArray = [];
|
|
|
- Ext.each(items, function(item, index){
|
|
|
- var id=item.data['bar_id'];
|
|
|
- if(id != null && id != ''&& id != '0' && id != 0){
|
|
|
- idArray.push(id);
|
|
|
- }
|
|
|
- })
|
|
|
- var idS = idArray.toString();
|
|
|
- //me.print(idS,lps_Barcaller);
|
|
|
- me.idS = idS;
|
|
|
- Ext.MessageBox.confirm('提示', '是否自动打印?',function(btn){
|
|
|
- if(btn=='yes'){
|
|
|
- me.zplPrint(lps_Barcaller);
|
|
|
- }
|
|
|
- });
|
|
|
+
|
|
|
+ var lps_Barcaller = 'Barcode!Print';
|
|
|
+ var grid = Ext.getCmp("grid");
|
|
|
+ var items = grid.store.data.items;
|
|
|
+ var idArray = [];
|
|
|
+ Ext.each(items, function(item, index){
|
|
|
+ var id=item.data['bar_id'];
|
|
|
+ if(id != null && id != ''&& id != '0' && id != 0){
|
|
|
+ idArray.push(id);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ var idS = idArray.toString();
|
|
|
+ //me.print(idS,lps_Barcaller);
|
|
|
+ me.idS = idS;
|
|
|
+ Ext.MessageBox.confirm('提示', '是否自动打印?',function(btn){
|
|
|
+ if(btn=='yes'){
|
|
|
+ me.zplPrint(lps_Barcaller);
|
|
|
+ }
|
|
|
+ });
|
|
|
});
|
|
|
}else if(res.exceptionInfo){
|
|
|
showError(res.exceptionInfo);
|
|
|
return;
|
|
|
}
|
|
|
}
|
|
|
- });
|
|
|
+ });
|
|
|
},
|
|
|
getBarInfo: function(){
|
|
|
- var bar = Ext.getCmp('barCode');
|
|
|
- if(bar && bar.value != null && bar.value != ''){
|
|
|
- var me=this;
|
|
|
- me.setLoading(true);
|
|
|
- Ext.Ajax.request({
|
|
|
- url : basePath +'scm/reserve/getBarInfo.action',
|
|
|
- params: {
|
|
|
- bar_code:bar.value,
|
|
|
- },
|
|
|
- method : 'post',
|
|
|
- callback : function(options,success,response){
|
|
|
- me.setLoading(false);
|
|
|
- var res = new Ext.decode(response.responseText);
|
|
|
- if(res.success){
|
|
|
- var data = res.data;
|
|
|
- var prod = data['prodcode'];
|
|
|
- var batch = data['batchcode'];
|
|
|
- var remain = data['remain'];
|
|
|
- var errMsg = data['errmsg'];
|
|
|
- Ext.getCmp("pr_code").setValue(prod);
|
|
|
- Ext.getCmp("batchCode").setValue(batch);
|
|
|
- Ext.getCmp("pr_partNumber").setValue(remain);
|
|
|
- Ext.getCmp("errMsg").setValue(errMsg);
|
|
|
- Ext.getCmp('errMsg').setFieldStyle('color:#FF0000;');
|
|
|
- if(errMsg == null || errMsg ==''){
|
|
|
- Ext.getCmp("errMsg").setValue('条码: '+Ext.getCmp('barCode').value+' 采集成功!');
|
|
|
- Ext.getCmp('errMsg').setFieldStyle('color:#22C32E;');
|
|
|
- }
|
|
|
- }else if(res.exceptionInfo){
|
|
|
- showError(res.exceptionInfo);
|
|
|
- return;
|
|
|
- }
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
- } ,
|
|
|
+ var bar = Ext.getCmp('barCode');
|
|
|
+ if(bar && bar.value != null && bar.value != ''){
|
|
|
+ var me=this;
|
|
|
+ me.setLoading(true);
|
|
|
+ Ext.Ajax.request({
|
|
|
+ url : basePath +'scm/reserve/getBarInfo.action',
|
|
|
+ params: {
|
|
|
+ bar_code:bar.value,
|
|
|
+ },
|
|
|
+ method : 'post',
|
|
|
+ callback : function(options,success,response){
|
|
|
+ me.setLoading(false);
|
|
|
+ var res = new Ext.decode(response.responseText);
|
|
|
+ if(res.success){
|
|
|
+ var data = res.data;
|
|
|
+ var prod = data['prodcode'];
|
|
|
+ var batch = data['batchcode'];
|
|
|
+ var remain = data['remain'];
|
|
|
+ var errMsg = data['errmsg'];
|
|
|
+ Ext.getCmp("pr_code").setValue(prod);
|
|
|
+ Ext.getCmp("batchCode").setValue(batch);
|
|
|
+ Ext.getCmp("pr_partNumber").setValue(remain);
|
|
|
+ Ext.getCmp("errMsg").setValue(errMsg);
|
|
|
+ Ext.getCmp('errMsg').setFieldStyle('color:#FF0000;');
|
|
|
+ if(errMsg == null || errMsg ==''){
|
|
|
+ Ext.getCmp("errMsg").setValue('条码: '+Ext.getCmp('barCode').value+' 采集成功!');
|
|
|
+ Ext.getCmp('errMsg').setFieldStyle('color:#22C32E;');
|
|
|
+ }
|
|
|
+ }else if(res.exceptionInfo){
|
|
|
+ showError(res.exceptionInfo);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ } ,
|
|
|
loadData: function(value) {
|
|
|
var me = this;
|
|
|
me.getFieldsValues("barcode",
|
|
|
- 'bar_id, bar_code, bar_remain', "bar_id in (" +value+") order by bar_id desc", [], function(data){
|
|
|
- var datas = Ext.JSON.decode(data), _datas = [];
|
|
|
- var grid = Ext.getCmp('grid');
|
|
|
- if(datas.length > 0) {
|
|
|
- var keys = Ext.Object.getKeys(datas[0]);
|
|
|
- Ext.Array.each(datas, function(d){
|
|
|
- var obj = {};
|
|
|
- Ext.Array.each(keys, function(key){
|
|
|
- obj[key.toLowerCase()] = d[key];
|
|
|
+ 'bar_id, bar_code, bar_remain', "bar_id in (" +value+") order by bar_id desc", [], function(data){
|
|
|
+ var datas = Ext.JSON.decode(data), _datas = [];
|
|
|
+ var grid = Ext.getCmp('grid');
|
|
|
+ if(datas.length > 0) {
|
|
|
+ var keys = Ext.Object.getKeys(datas[0]);
|
|
|
+ Ext.Array.each(datas, function(d){
|
|
|
+ var obj = {};
|
|
|
+ Ext.Array.each(keys, function(key){
|
|
|
+ obj[key.toLowerCase()] = d[key];
|
|
|
+ });
|
|
|
+ _datas.push(obj);
|
|
|
});
|
|
|
- _datas.push(obj);
|
|
|
- });
|
|
|
- }
|
|
|
+ }
|
|
|
store = grid.getStore();
|
|
|
- _datas.length > 0 && grid.store.loadData(_datas);
|
|
|
- grid.store.each(function(){
|
|
|
- this.dirty = true;
|
|
|
+ _datas.length > 0 && grid.store.loadData(_datas);
|
|
|
+ grid.store.each(function(){
|
|
|
+ this.dirty = true;
|
|
|
+ });
|
|
|
});
|
|
|
- });
|
|
|
},
|
|
|
getFieldsValues: function(caller, fields, condition, data, fn){
|
|
|
Ext.Ajax.request({
|
|
@@ -460,90 +598,225 @@ Ext.define('erp.controller.scm.reserve.ProdCreateBarcode', {
|
|
|
}
|
|
|
});
|
|
|
},
|
|
|
- zplPrint:function(caller){//zpl打印语句
|
|
|
- // 获取选择打印文件,用户选择分辨率,和打印机
|
|
|
- var me = this;
|
|
|
- if(!me.window){
|
|
|
- setup_web_print(function(printers,selected_printer){
|
|
|
- me.window = Ext.create('Ext.window.Window', {
|
|
|
- autoShow: true,
|
|
|
- title: '选择打印模板',
|
|
|
- width: 400,
|
|
|
- height: 300,
|
|
|
- layout: 'anchor',
|
|
|
- id :'template-win5',
|
|
|
- closeAction:'hide',
|
|
|
- items: [{
|
|
|
- anchor:'100% 100%',
|
|
|
- xtype:'form',
|
|
|
- buttonAlign : 'center',
|
|
|
- items:[{
|
|
|
- xtype: 'combo',
|
|
|
- id: 'printers',
|
|
|
- fieldLabel: '打印机列表',
|
|
|
- store: Ext.create('Ext.data.Store', {
|
|
|
- autoLoad: true,
|
|
|
- fields: ['display', 'value'],
|
|
|
- data:printers
|
|
|
- }),
|
|
|
- queryMode: 'local',
|
|
|
- displayField: 'display',
|
|
|
- valueField: 'value',
|
|
|
- width:361,
|
|
|
- allowBlank:false,
|
|
|
- value:selected_printer.uid,
|
|
|
- selectOnFocus:true,//用户不能自己输入,只能选择列表中有的记录
|
|
|
- style:'margin-left:15px;margin-top:15px;'
|
|
|
- },{
|
|
|
- xtype: 'combo',
|
|
|
- id: 'dpi',
|
|
|
- fieldLabel: '打印机分辨率',
|
|
|
- style:'margin-left:15px;margin-top:15px;',
|
|
|
- store: Ext.create('Ext.data.Store', {
|
|
|
- fields: ['display', 'value'],
|
|
|
- data : [{"display": '203dpi', "value": '203'},
|
|
|
- {"display": '300dpi', "value": '300'},
|
|
|
- {"display": '600dpi', "value": '600'},
|
|
|
- {"display": '1200dpi', "value": '1200'}]
|
|
|
- }),
|
|
|
- displayField: 'display',
|
|
|
- valueField: 'value',
|
|
|
- queryMode: 'local',
|
|
|
- value:resolutionCookie||'203',
|
|
|
- width:361,
|
|
|
- allowBlank:false,
|
|
|
- selectOnFocus:true//用户不能自己输入,只能选择列表中有的记录
|
|
|
- }]
|
|
|
- }],
|
|
|
- buttonAlign: 'center',
|
|
|
- buttons: [{
|
|
|
- text: '确定',
|
|
|
- handler: function(b) {
|
|
|
- var printers = Ext.getCmp('printers');
|
|
|
- var dpi = Ext.getCmp('dpi');
|
|
|
- if(printers && printers.value!= null){
|
|
|
- me.zebraPrint(caller,printers.value,dpi.value);
|
|
|
- b.ownerCt.ownerCt.close();
|
|
|
- }else{
|
|
|
- alert("请选择打印机 ");
|
|
|
- }
|
|
|
- }
|
|
|
- }, {
|
|
|
- text: '取消',
|
|
|
- handler: function(b) {
|
|
|
+ zplPrint:function(caller){//zpl打印语句
|
|
|
+ // 获取选择打印文件,用户选择分辨率,和打印机
|
|
|
+ var me = this;
|
|
|
+ var bo = false;
|
|
|
+ Ext.Ajax.request({
|
|
|
+ url: basePath + 'ma/setting/config.action?caller=BarCodeSetting&code=zebraOrderPrint',
|
|
|
+ method: 'GET',
|
|
|
+ async: false,
|
|
|
+ callback: function(opt, s, r) {
|
|
|
+ if(r && r.status == 200) {
|
|
|
+ if(r.responseText){
|
|
|
+ var res = Ext.JSON.decode(r.responseText);
|
|
|
+ if(res.data==1){
|
|
|
+ bo = true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ if(!me.window){
|
|
|
+ setup_web_print(function(printers,selected_printer){
|
|
|
+ me.window = Ext.create('Ext.window.Window', {
|
|
|
+ autoShow: true,
|
|
|
+ title: '选择打印模板',
|
|
|
+ width: 400,
|
|
|
+ height: bo?200:300,
|
|
|
+ layout: 'anchor',
|
|
|
+ id :'template-win',
|
|
|
+ closeAction:'hide',
|
|
|
+ items: [{
|
|
|
+ anchor:'100% 100%',
|
|
|
+ xtype:'form',
|
|
|
+ buttonAlign : 'center',
|
|
|
+ items:[{
|
|
|
+ xtype: 'combo',
|
|
|
+ id: 'printers',
|
|
|
+ fieldLabel: '打印机列表',
|
|
|
+ store: Ext.create('Ext.data.Store', {
|
|
|
+ autoLoad: true,
|
|
|
+ fields: ['display', 'value'],
|
|
|
+ data:printers
|
|
|
+ }),
|
|
|
+ queryMode: 'local',
|
|
|
+ displayField: 'display',
|
|
|
+ valueField: 'value',
|
|
|
+ width:361,
|
|
|
+ allowBlank:false,
|
|
|
+ value:selected_printer.uid,
|
|
|
+ selectOnFocus:true,//用户不能自己输入,只能选择列表中有的记录
|
|
|
+ style:'margin-left:15px;margin-top:15px;'
|
|
|
+ },{
|
|
|
+ xtype: 'combo',
|
|
|
+ id: 'dpi',
|
|
|
+ fieldLabel: '打印机分辨率',
|
|
|
+ style:'margin-left:15px;margin-top:15px;',
|
|
|
+ store: Ext.create('Ext.data.Store', {
|
|
|
+ fields: ['display', 'value'],
|
|
|
+ data : [{"display": '203dpi', "value": '203'},
|
|
|
+ {"display": '300dpi', "value": '300'},
|
|
|
+ {"display": '600dpi', "value": '600'},
|
|
|
+ {"display": '1200dpi', "value": '1200'}]
|
|
|
+ }),
|
|
|
+ displayField: 'display',
|
|
|
+ valueField: 'value',
|
|
|
+ queryMode: 'local',
|
|
|
+ value:resolutionCookie||'203',
|
|
|
+ width:bo?0:361,
|
|
|
+ allowBlank:false,
|
|
|
+ selectOnFocus:true,//用户不能自己输入,只能选择列表中有的记录
|
|
|
+ hidden:bo?true:false
|
|
|
+ }]
|
|
|
+ }],
|
|
|
+ buttonAlign: 'center',
|
|
|
+ buttons: [{
|
|
|
+ text: '确定',
|
|
|
+ handler: function(b) {
|
|
|
+ var printers = Ext.getCmp('printers');
|
|
|
+ var dpi = Ext.getCmp('dpi');
|
|
|
+ if(printers && printers.value!= null){
|
|
|
+// if(bo){
|
|
|
+ me.getLabelInfo(caller,printers.value,dpi.value);
|
|
|
+ // }else{
|
|
|
+ // me.zebraPrint(caller,printers.value,dpi.value);
|
|
|
+ // }
|
|
|
b.ownerCt.ownerCt.close();
|
|
|
+ }else{
|
|
|
+ alert("请选择打印机 ");
|
|
|
}
|
|
|
- }]
|
|
|
- });
|
|
|
- });
|
|
|
- }else if(me.window.isHidden()){
|
|
|
- me.window.show();
|
|
|
- }
|
|
|
- },
|
|
|
- zebraPrint:function(caller,printer,dpi){
|
|
|
- var me = this;
|
|
|
- var params = new Object();
|
|
|
- params['condition'] = 'bar_id in ('+me.idS +")";
|
|
|
- sendData(caller,printer,dpi,params);
|
|
|
- }
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ text: '取消',
|
|
|
+ handler: function(b) {
|
|
|
+ b.ownerCt.ownerCt.close();
|
|
|
+ }
|
|
|
+ }]
|
|
|
+ });
|
|
|
+ });
|
|
|
+ }
|
|
|
+ else if(me.window.isHidden()){
|
|
|
+ me.window.show();
|
|
|
+ }
|
|
|
+ },
|
|
|
+ zebraPrint:function(caller,printer,dpi){
|
|
|
+ var me = this;
|
|
|
+ var params = new Object();
|
|
|
+ params['condition'] = 'bar_id in ('+me.idS +")";
|
|
|
+ sendData(caller,printer,dpi,params);
|
|
|
+ },
|
|
|
+ fastPrintOrder:function(caller,printer,dpi,fmid){
|
|
|
+ var me = this;
|
|
|
+ var params = new Object();
|
|
|
+ params['condition'] = 'bar_id in ('+me.idS +")";
|
|
|
+ sendDataOrder(caller,printer,dpi,params,fmid);
|
|
|
+ },
|
|
|
+ getLabelInfo:function(caller,printer,dpi){
|
|
|
+ var me = this;
|
|
|
+ if(!me.window1){
|
|
|
+ Ext.Ajax.request({
|
|
|
+ url : basePath + 'vendbarcode/label/getLabelInfo.action',
|
|
|
+ async: false,
|
|
|
+ params: {
|
|
|
+ formCaller:caller
|
|
|
+ },
|
|
|
+ method : 'post',
|
|
|
+ callback : function(opt, s, res){
|
|
|
+ var r = new Ext.decode(res.responseText);
|
|
|
+ if(r.exceptionInfo){
|
|
|
+ showError(r.exceptionInfo);return;
|
|
|
+ } else if(r.success){
|
|
|
+ if(r.count == 0){ //r.filemodel r.label
|
|
|
+ showError("未配置标签模板");return;
|
|
|
+ }else if(r.count == 1){
|
|
|
+ me.fastPrintOrder(caller,printer,dpi,r.label[0].FM_ID);
|
|
|
+ }else if(r.count >1){
|
|
|
+ me.window1 = Ext.create('Ext.window.Window', {
|
|
|
+ autoShow: true,
|
|
|
+ title: '选择打印标签模板',
|
|
|
+ width: 400,
|
|
|
+ height: 180,
|
|
|
+ layout: 'anchor',
|
|
|
+ id :'labels-win',
|
|
|
+ closeAction:'hide',
|
|
|
+ autoscroll:true,
|
|
|
+ items: [{
|
|
|
+ anchor:'100% 100%',
|
|
|
+ xtype:'form',
|
|
|
+ buttonAlign : 'center',
|
|
|
+ items:[{
|
|
|
+ xtype: 'combo',
|
|
|
+ id: 'labels',
|
|
|
+ fieldLabel: '标签列表',
|
|
|
+ editable:false,
|
|
|
+ queryMode: 'local',
|
|
|
+ store: Ext.create('Ext.data.Store', {
|
|
|
+ autoLoad: true,
|
|
|
+ fields: ['fm_name','fm_id'],
|
|
|
+ proxy: {
|
|
|
+ type: 'ajax',
|
|
|
+ async : false,
|
|
|
+ url : basePath + 'vendbarcode/label/getLabelInf.action',
|
|
|
+ extraParams:{caller:caller},
|
|
|
+ reader: {
|
|
|
+ type: 'json',
|
|
|
+ root: 'datas'
|
|
|
+ },
|
|
|
+ headers: {
|
|
|
+ 'Content-Type': 'application/json;charset=utf-8'
|
|
|
+ }
|
|
|
+ },
|
|
|
+ listeners:{
|
|
|
+ load : function (store){
|
|
|
+ var myCookieVal = Ext.util.Cookies.get('beforeFmid');
|
|
|
+ var bo = false;
|
|
|
+ Ext.each(store.data.items, function(item, index){
|
|
|
+ if(item.data.fm_id == myCookieVal){
|
|
|
+ bo = true;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ if(myCookieVal == null || myCookieVal =='' || !bo){
|
|
|
+ Ext.getCmp('labels').select(store.getAt(0));
|
|
|
+ }else{
|
|
|
+ Ext.getCmp('labels').select(myCookieVal);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }),
|
|
|
+ displayField: 'fm_name',
|
|
|
+ valueField: 'fm_id',
|
|
|
+ width:361,
|
|
|
+ triggerAction : 'all',
|
|
|
+ selectOnFocus:true,
|
|
|
+ allowBlank:false,
|
|
|
+ style:'margin-left:15px;margin-top:15px;',
|
|
|
+ }]
|
|
|
+ }],
|
|
|
+ buttonAlign: 'center',
|
|
|
+ buttons: [{
|
|
|
+ text: '确定',
|
|
|
+ handler: function(b) {
|
|
|
+ Ext.util.Cookies.set('beforeFmid',Ext.getCmp('labels').value);
|
|
|
+ if(r.filemodel == null || r.filemodel == ''){
|
|
|
+ showError('未找到对应附件');return;
|
|
|
+ }
|
|
|
+ me.fastPrintOrder(caller,printer,dpi,Ext.getCmp('labels').value);
|
|
|
+ b.ownerCt.ownerCt.close();
|
|
|
+ }
|
|
|
+ }, {
|
|
|
+ text: '取消',
|
|
|
+ handler: function(b) {
|
|
|
+ b.ownerCt.ownerCt.close();
|
|
|
+ }
|
|
|
+ }]
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }});
|
|
|
+
|
|
|
+ }else if(me.window1.isHidden()){
|
|
|
+ me.window1.show();
|
|
|
+ }
|
|
|
+ }
|
|
|
});
|