快乐的昕的电脑
2025-11-19 32007e8ed0a07e63d9f813dc4ea9593daff5cc99
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
167
168
169
170
171
172
173
174
175
176
177
178
179
// 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 = "SIZE 80 mm,60 mm\r\n"+
            "GAP 2 mm\r\n"+
            "CLS\r\n"+
            "! 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 工单号    " + str5 + "\r\n" +
            "TEXT 24 0 15 225 生产部门  " + str4 + "\r\n" +
            "TEXT 24 0 300 225 日期       " + str6 + "\r\n" +
            "TEXT 24 0 15 275 条码数量    " + str9 + "\r\n" +  // New field 1
            "TEXT 24 0 300 275 报工人    " + str10 + "\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 1\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 str9 = printData.strp9; // 条码
        let str10 = printData.strp10; // 条码
 
        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\n" +
            "PREFEED 0\n" +
            "\n"+
            "POSTFEED 0\n" +
            "\n"+
            "PAGE - WIDTH 640\n" +
            "GAP-SENSE\n" +
            "BOX 5 10 620 450 2\n" +
            "LINE 5 60 620 60 1\n" + // 横线1
            "LINE 5 110 620 110 1\n" + // 横线2
            "LINE 5 160 620 160 1\n" + // 横线3
            "LINE 5 210 620 210 1\n" + // 横线4
            "LINE 5 260 620 260 1\n" + // 横线5
            "LINE 5 310 620 310 1\n" + // 新增的横线
            "LINE 120 10 120 310 1\n" + // 字段名称右侧竖线延伸
            "LINE 240 310 240 450 1\n" + // 规格型号左侧竖线
            "LINE 285 210 285 450 1\n" + // 规格型号右侧竖线
            "LINE 410 210 410 310 1\n" + // 到货日期右侧竖线延伸
            "TEXT 24 0 15 25 条码编号  " + str1 + "\n" +
            "TEXT 24 0 15 75 产品料号  " + str2 + "\n" +
            "TEXT 24 0 15 125 产品名称  " + str3 + "\n" +
            "TEXT 24 0 15 175 工单号    " + str5 + "\n" +
            "TEXT 24 0 15 225 生产部门  " + str4 + "\n" +
            "TEXT 24 0 300 225 日期       " + str6 + "\n" +
            "TEXT 24 0 15 275 条码数量    " + str9 + "\n" +  // New field 1
            "TEXT 24 0 300 275 报工人    " + str10 + "\n" + // New field 2
            "TEXT 24 0 290 339 " + str7_1 + "\n" + // Shifted content
            "TEXT 24 0 290 367 " + str7_2 + "\n" + // Shifted content
            "TEXT 24 0 290 395 " + str7_3 + "\n" + // Shifted content
            "TEXT 24 0 290 423 " + str7_4 + "\n" + // Shifted content
            "TEXT 24 0 250 330 规\n" + // Shifted
            "TEXT 24 0 250 363 格\n" + // Shifted
            "TEXT 24 0 250 396 型\n" + // Shifted
            "TEXT 24 0 250 429 号\n" + // Shifted
            "B QR 35 325 M 2 U 5\n" + // 下方二维码 shifted to make room for new row
            "MA," + str8 + "\n" +
            "ENDQR\n" +
            "FORM\n" +
            "PRINT\n";
        return printCmd;
 
    } catch (err) {
        console.log("printErr:" + err);
        return "";
    }
}