【问题标题】:QZ Tray raw PrintingQZ托盘生印刷
【发布时间】:2018-07-16 07:27:25
【问题描述】:

这是我的第一个问题。

如何在 QZ 托盘的原始代码中运行“IF STATEMENT”,其中 Var = print data [];

下面的代码在没有 IF 语句的情况下效果很好,但是一旦我使用它就无法解析代码。

var printData = [          
           '<xpml><page quantity="0" pitch="127.0 mm"></xpml>^AD\n',
           '^O0\n'
           '<xpml></page></xpml><xpml><page quantity="9" pitch="127.0 mm"></xpml>~MDELF,FORMAT_0\n',
           '^E10.0\n',
           '^L\n',
           'C0,0000000000000000,+1,prompt_C0\n', 
           'C1,0000000000000000,+1,prompt_C1\n', 
           'C2,000,+1,prompt_C2\n',
           'Lo,51,438,761,440\n',
           'Lo,51,678,761,680\n',
           'Lo,51,558,761,560\n',
           'Lo,51,158,761,160\n',
           'AH,320,31,1,1,0,0,'+ acs +'\n',
           'BQ2,160,742,4,8,156,0,0,C^C0\n',
           'AD,254,900,1,1,0,0,^C1\n',
            'AA,439,440,1,1,0,0,Service\n',
            'Lo,425,440,427,678\n',
            'AA,442,560,1,1,0,0,Total No of Pieces\n',
            'AA,439,684,1,1,0,0,Origin\n',
            'AB,511,684,1,1,0,0,' + origin +'\n',
            'AF,182,590,1,1,0,0,'+ destination+'\n',
            'R49,13,762,999,3,3\n',
            'E\n',
            '^KFORMAT_0\n',


            if (pcstart.length ==1)
{
premawb + postmawb +'0000'+ pcstart +'\n', 
}
            else {
premawb + postmawb +'000'+ pcstart +'\n', 
}
            pcstart + '\n',
            'E\n',
            '~P'+ copyPrint+'\n',


        qz.print(config, printData).catch(displayError);
    }

【问题讨论】:

    标签: javascript barcode-printing qz-tray


    【解决方案1】:

    如何在 QZ 托盘的原始代码中运行“IF STATEMENT”

    你不能在数组中间,但你可以添加一个ternary operator,它对一个简单的if/else语句做同样的事情:

    pcstart.length == 1 ? '0000' : '000'
    

    ...在上下文中...

    var printData = [          
       '<xpml><page quantity="0" pitch="127.0 mm"></xpml>^AD\n',
       '...',
       '^KFORMAT_0\n',
       premawb + postmawb + (pcstart.length == 1 ? '0000' : '000') + pcstart + '\n',
       pcstart + '\n',
       'E\n',
       '~P'+ copyPrint + '\n'
    ];
    
    qz.print(config, printData).catch(displayError);
    

    您还可以在数组元素上调用函数,因此您可能会发现滚动自己的pad(...) function 然后在整个数字或连接的字符串上调用 pad 更可取...例如:

        premawb + postmawb + pad(pcstart, 4) +' \n',
    

    在上面的示例中,pad(...) 是您创建的一个函数,它可以包含您需要的所有 if/else 语句并返回格式化的值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-30
      相关资源
      最近更新 更多