QZ Лоток для сырой печати

Это мой самый первый вопрос.

Как я могу запустить "IF ЗАЯВЛЕНИЕ" в сторону необработанного кода лотка QZ, где Var = печать данных [];

Приведенный ниже код прекрасно работает без IF STATEMENT, но коды не могут быть проанализированы, как только я его использую.

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);
    }

1 ответ

Как я могу запустить "IF ЗАЯВЛЕНИЕ" в сторону необработанного кода QZ-трея

Вы не можете использовать средний массив, но вы можете добавить троичный оператор, который делает то же самое для простого 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(...) функцию, а затем вызвать pad на весь номер или объединенную строку... например:

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

Я приведенный выше пример, pad(...) это функция, которую вы делаете, которая может содержать все if/else Выписки, которые вам нужны, и возвращает отформатированное значение.

Другие вопросы по тегам