xwt
2025-06-10 676db89a661ba8af8da04f4503c39b1bc0d2c25e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
// utils/printTemplate.js  
 
export function printTemplate(printData) {
    try {
        let str1 = printData.strp1;
        let str2 = printData.strp2;
        let str3 = printData.strp3;
        let str4 = printData.strp4;
        let str5 = printData.strp5;
        let str6 = printData.strp6;
        let str7 = String(printData.strp7);
        let str8 = printData.strp8; // 条码  
 
        let str7_1 = "", str7_2 = "", str7_3 = "", str7_4 = ""; // 规格型号字符串初始化  
        if (str7.length > 16) {
            str7_1 = str7.substring(0, 16);
            if (str7.length > 32) {
                str7_2 = str7.substring(16, 32);
                if (str7.length > 48) {
                    str7_3 = str7.substring(32, 48);
                    str7_4 = str7.substring(48, 64);
                } else {
                    str7_3 = str7.substring(32);
                }
            } else {
                str7_2 = str7.substring(16);
            }
        } else {
            str7_1 = str7;
        }
 
        let printCmd = "! 0 400 400 480 1\r\n" +
            "PREFEED 0\n\r" +
            "POSTFEED 0\n\r" +
            "PAGE - WIDTH 640\r\n" +
            "GAP-SENSE\r\n" +
            "BOX 5 10 620 450 2\r\n" +
            "LINE 5 60 620 60 1\r\n" + // 横线1  
            "LINE 5 110 620 110 1\r\n" + // 横线2  
            "LINE 5 160 620 160 1\r\n" + // 横线3  
            "LINE 5 210 620 210 1\r\n" + // 横线4  
            "LINE 5 260 620 260 1\r\n" + // 横线5  
            "LINE 120 10 120 260 1\r\n" + // 字段名称右侧竖线  
            "LINE 240 260 240 450 1\r\n" + // 规格型号左侧竖线  
            "LINE 285 210 285 450 1\r\n" + // 规格型号右侧竖线  
            "LINE 410 210 410 260 1\r\n" + // 到货日期右侧竖线  
            "TEXT 24 0 15 25 物料条码  " + str1 + "\r\n" +
            "TEXT 24 0 15 75 供应商    " + str2 + "\r\n" +
            "TEXT 24 0 15 125 物料编码  " + str3 + "\r\n" +
            "TEXT 24 0 15 175 物料名称  " + str4 + "\r\n" +
            "TEXT 24 0 15 225 条码数量  " + str5 + "\r\n" +
            "TEXT 24 0 300 225 到货日期  " + str6 + "\r\n" +
            "TEXT 24 0 290 299 " + str7_1 + "\r\n" +
            "TEXT 24 0 290 327 " + str7_2 + "\r\n" +
            "TEXT 24 0 290 355 " + str7_3 + "\r\n" +
            "TEXT 24 0 290 383 " + str7_4 + "\r\n" +
            "TEXT 24 0 250 300 规\r\n" +
            "TEXT 24 0 250 333 格\r\n" +
            "TEXT 24 0 250 366 型\r\n" +
            "TEXT 24 0 250 400 号\r\n" +
            "B QR 35 265 M 2 U 7\r\n" + // 下方二维码  
            "MA," + str8 + "\r\n" +
            "ENDQR\r\n" +
            "FORM\r\n" +
            "PRINT\r\n";
        return printCmd;
    } catch (err) {
        console.log("printErr:" + err);
        return "";
    }
}
 
// 打印模板 2: 包装标签打印  
export function printTemplate2(printData) {
    try {
        var str1 = printData.strp1;
        var str2 = printData.strp2;
        // 为第二个模板定义其他必要的变量...  
 
        var printCmd = "! 0 400 400 480 1\r\n" +
            "PREFEED 0\n\r" +
            "POSTFEED 0\n\r" +
            "PAGE - WIDTH 640\r\n" +
            // 适用于包装标签的打印命令...  
            "PRINT\r\n";
        return printCmd;
    } catch (err) {
        console.log("printErr:" + err);
        return "";
    }
}
 
// 更多打印模板可以在这里定义,如 printTemplate3, printTemplate4 等
export function printTemplate3(printData) {
    try {
        let str1 = printData.strp1;
        let str2 = printData.strp2;
        let str3 = printData.strp3;
        let str4 = printData.strp4;
        let str5 = printData.strp5;
        let str6 = printData.strp6;
        let str7 = String(printData.strp7);
        let str8 = printData.strp8; // 条码
 
        let str7_1 = "", str7_2 = "", str7_3 = "", str7_4 = ""; // 规格型号字符串初始化
        if (str7.length > 16) {
            str7_1 = str7.substring(0, 16);
            if (str7.length > 32) {
                str7_2 = str7.substring(16, 32);
                if (str7.length > 48) {
                    str7_3 = str7.substring(32, 48);
                    str7_4 = str7.substring(48, 64);
                } else {
                    str7_3 = str7.substring(32);
                }
            } else {
                str7_2 = str7.substring(16);
            }
        } else {
            str7_1 = str7;
        }
 
        let printCmd = "! 0 400 420 480 1\r\n" +
            "PREFEED 0\n\r" +
            "POSTFEED 0\n\r" +
            "PAGE - WIDTH 640\r\n" +
            "GAP-SENSE\r\n" +
            "BOX 5 10 620 450 2\r\n" +
            "LINE 5 60 620 60 1\r\n" + // 横线1
            "LINE 5 110 620 110 1\r\n" + // 横线2
            "LINE 5 160 620 160 1\r\n" + // 横线3
            "LINE 5 210 620 210 1\r\n" + // 横线4
            "LINE 5 260 620 260 1\r\n" + // 横线5
            "LINE 5 310 620 310 1\r\n" + // 新增的横线
            "LINE 120 10 120 310 1\r\n" + // 字段名称右侧竖线延伸
            "LINE 240 310 240 450 1\r\n" + // 规格型号左侧竖线
            "LINE 285 210 285 450 1\r\n" + // 规格型号右侧竖线
            "LINE 410 210 410 310 1\r\n" + // 到货日期右侧竖线延伸
            "TEXT 24 0 15 25 物料条码  " + str1 + "\r\n" +
            "TEXT 24 0 15 75 供应商    " + str2 + "\r\n" +
            "TEXT 24 0 15 125 物料编码  " + str3 + "\r\n" +
            "TEXT 24 0 15 175 物料名称  " + str4 + "\r\n" +
            "TEXT 24 0 15 225 条码数量  " + str5 + "\r\n" +
            "TEXT 24 0 300 225 到货日期  " + str6 + "\r\n" +
            "TEXT 24 0 15 275 新字段1    " + str5 + "\r\n" +  // New field 1
            "TEXT 24 0 300 275 新字段2    " + str6 + "\r\n" + // New field 2
            "TEXT 24 0 290 339 " + str7_1 + "\r\n" + // Shifted content
            "TEXT 24 0 290 367 " + str7_2 + "\r\n" + // Shifted content
            "TEXT 24 0 290 395 " + str7_3 + "\r\n" + // Shifted content
            "TEXT 24 0 290 423 " + str7_4 + "\r\n" + // Shifted content
            "TEXT 24 0 250 330 规\r\n" + // Shifted
            "TEXT 24 0 250 363 格\r\n" + // Shifted
            "TEXT 24 0 250 396 型\r\n" + // Shifted
            "TEXT 24 0 250 429 号\r\n" + // Shifted
            "B QR 35 325 M 2 U 5\r\n" + // 下方二维码 shifted to make room for new row
            "MA," + str8 + "\r\n" +
            "ENDQR\r\n" +
            "FORM\r\n" +
            "PRINT\r\n";
        return printCmd;
 
    } catch (err) {
        console.log("printErr:" + err);
        return "";
    }
}