cdk
2025-03-24 06e6cf5719a7de9d7919cee2f6fcc3cfc6f9eb9d
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
<template>
    <view class="content">
        <view class="btn-wrap">
            <kk-printer defaultText="测试打印" ref="kkprinter" :bufferData="bufferData" @onPrint="onPrint"></kk-printer>
        </view>
    </view>
</template>
 
<script>
    import util from '@/components/kk-printer/utils/util.js';
    import * as blesdk from '@/components/kk-printer/utils/bluetoolth.js';
    import kkPrinter from '@/components/kk-printer/index.vue';
    import {
        printTemplate
    } from '@/utils/printTemplate.js';
  import {printTemplate3} from "../../utils/printTemplate"; // 引入新文件
 
    export default {
        data() {
            return {
                bufferData: '',
                data: []
            }
        },
        components: {
            kkPrinter
        },
        mounted() {
 
        },
        onLoad() {
            //页面加载时调用的事件
            this.init();
        },
        methods: {
            onPrint() {
 
                let dataToPrint = this.data.filter(s => s.id == 4244);  
                    console.log("接口数据" + dataToPrint.length);  
                    
                    // 创建一个空的数组来存储打印命令  
                    let printCommands = [];  
                    
                    // 遍历数据并生成打印命令  
                    dataToPrint.forEach(s => {  
                        let printCmd = printTemplate3(s);
                        printCommands.push(printCmd); // 将每个打印命令添加到数组中  
                    });  
                    
                    // 将所有打印命令合并成一个字符串,使用合适的分隔符  
                    this.bufferData = printCommands.join('\n'); // 这里假设以换行符分隔
            },
 
            init() {
                //页面加载时调用的事件
                this.$post({
                    url: "/MesRfPrnbarcode/GetList"
                }).then(res => {
                    this.data = res.data.tbBillList;
                });
            }
        }
    }
</script>
 
<style>
    .content {
        width: 100vw;
        height: 100vh;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }
 
    .btn-wrap {
        width: 180upx;
        height: 100upx;
        border-radius: 16upx;
        border: 2upx solid #333333;
        box-sizing: border-box;
        display: flex;
        justify-content: center;
        align-items: center;
    }
</style>