Print.cshtml 6.92 KB
@{
    Layout = "~/Views/Shared/_Layout.cshtml";
}
@section header
    {
    <link rel="stylesheet" href="/css/treetable.css" />
}
//一维码
第一步:
<pre class="layui-code" lay-title="cshtml" lay-skin="notepad">
    //html添加Div容器
    &lt;div id="printForm"  style="display:none;overflow-x:hidden;padding-top:10px" align="center" class="layui-row"&gt;
        &lt;form class="layui-form layui-form-pane" action="" lay-filter="printForm" id="tanchuang"&gt;
       
        &lt;/form&gt;
    &lt;/div
</pre>
第二步:
<pre class="layui-code" lay-title="js" lay-skin="notepad">
    //js引用JsBarcode, jqprint, 定义对象var JsBarcode = layui.JsBarcode;var jqprint = layui.jqprint;
    layui.config({
    base: "/js/"
}).use(['form', 'element', 'vue', 'layer', 'laydate', 'jquery', 'table', 'hhweb', 'utils', 'JsBarcode', 'Universal', 'jqprint'], function () {
    var form = layui.form,
        layer = layui.layer,
        element = layui.element,
        laydate = layui.laydate,
        $ = layui.jquery,
        table = layui.table,
        hhweb = layui.hhweb,
        Universal = layui.Universal;
    var JsBarcode = layui.JsBarcode;
    var jqprint = layui.jqprint;
    var AreaName = 'Printing';
    var TableName = 'PrintingLocation';
    
    //定义一维码样式
    //定义条码样式
     var barcodeStyle = {
        format: "CODE39",//选择要使用的条形码类型
        width: 1,//设置条之间的宽度
        height: 110,//高度
        displayValue: true,//是否在条形码下方显示文字
        // text:"456",//覆盖显示的文本
        fontOptions: "bold",//使文字加粗体或变斜体
        font: "monospace",//设置文本的字体fantasy
        textAlign: "center",//设置文本的水平对齐方式
        textPosition: "bottom",//设置文本的垂直位置
        textMargin: 1,//设置条形码和文本之间的间距
        fontSize: 12,//设置文本的大小
        background: "#ffffff",//设置条形码的背景
        lineColor: "#000000",//设置条和文本的颜色。
        margin: 1//设置条形码周围的空白边距
    };
    
    //定义打印方法如下
    //自定义按钮
        btnPrint: function () {
            $('#tanchuang').empty();  //清空上一次数据
            var checkStatus = table.checkStatus('mainList');
            var count = checkStatus.data.length;
            var myDate = new Date();
            var data = checkStatus.data;
            for (var i = 0; i < count; i++) {
                var tr =
                    '&lt;div style:""&gt;' +
                    '&lt;img id="PCodeBar' + i + '"&gt;' +
                    '&lt;/div&gt;' +
                    '&lt;hr style="height:2px;border:none;border-top:1px ridge green;" /&gt;'
                $table = $(tr)
                $('#tanchuang').append($table)
                JsBarcode("#PCodeBar" + i, data[i].Code, barcodeStyle);
            }
                
            //弹窗打印
            layer.open({
                type: 1,
                //  skin: 'layui-layer-molv',
                btnAlign: 'c',
                moveType: 1, //拖拽模式,0或者1
                title: "库位标签打印", //不显示标题
                area: ['400px', '240px'], //宽高
                content: $('#printForm'), //捕获的元素
                scrollbar: true,
                btn: ['打印', '关闭'],
                yes: function (index, layero) {
                    var option = {
                        beforePrint: function () {
                            console.log("Print Start");
                        },
                        afterPrint: function () {
                            console.log("Print OK");
                        }
                    }
                    $('#printForm').jqprint(option);
                    layer.close(index);
                },
                cancel: function (index) {
                    layer.close(index);
                }
            });
        }
</pre>

//二维码
第一步:
<pre class="layui-code" lay-title="cshtml" lay-skin="notepad">
    //html添加Div容器
    &lt;div id="Ptan" style="display:none;overflow-x:hidden;padding-left:80px;padding-top:10px" align="center" class="layui-row"&gt;
        &lt;form class="layui-form layui-form-pane" action="" lay-filter="printForm"&gt;
            &lt;table style="display:block; float:left;width:300px;" border="0" cellspacing="0" cellpadding="0" id="tanchuang"&gt;&lt;/table&gt;
        &lt;/form&gt;
    &lt;/div&gt;
    
    //添加js引用
    &lt;script type="text/javascript" src="~/js/qrcode.js"&gt;&lt;/script&gt;
</pre>

第二步
<pre class="layui-code" lay-title="js" lay-skin="notepad">
    //引用jqprint
    layui.config({
    base: "/js/"
}).use(['form', 'element', 'vue', 'layer', 'laydate', 'jquery', 'table', 'hhweb', 'utils', 'JsBarcode', 'Universal', 'jqprint',], function () {
    var form = layui.form,
        layer = layui.layer,
        element = layui.element,
        laydate = layui.laydate,
        $ = layui.jquery,
        table = layui.table,
        hhweb = layui.hhweb,
        Universal = layui.Universal;
    var JsBarcode = layui.JsBarcode;
    var jqprint = layui.jqprint;
    
    //生成标签
    for (var i = 0; i < count; i++) {
    var Pid = 'PCodeBar' + i;
    var tr =
        '&lt;tr&gt;' +
        '&lt;td rowspan="5"&gt;' +
        '&lt;div id="PCodeBar' + i + '" style="float:left;padding:0px 5px;"&gt;&lt;/div&gt;' +
        '&lt;/td&gt;' +
        '&lt;td style=" font-size: xx-small !important;font-family: 黑体;"&gt;' +
        '&lt;span style="text-align: center" id="Code' + i + '"&gt;物料编码:&lt;/span&gt;' +
        '&lt;/td&gt;' +
        '&lt;td style=" font-size: xx-small !important;font-family: 黑体;"&gt;' +
        '&lt;label class="PCode" name="PCode" style="border:0px;width:auto"&gt;' + data[i].Code + '&lt;/label&gt;' +
        '&lt;/td&gt;' +
        '&lt;/tr&gt;'
        $table = $(tr)
        $('#tanchuang').append($table)
        //二维码参数设置
        var qrcode = new QRCode(Pid , {
            text: '',
            width: 80,
            height: 80,
            colorDark: '#000000',
            colorLight: '#ffffff',
            correctLevel: QRCode.CorrectLevel.H
        });
        qrcode.makeCode(data[i].Code);
    }

    //弹窗打印
    layer.open({
        type: 1,
        //  skin: 'layui-layer-molv',
        btnAlign: 'c',
        moveType: 1, //拖拽模式,0或者1
        title: "物料信息打印", //不显示标题
        area: ['400px', '300px'], //宽高
        content: $('#Ptan'), //捕获的元素
        scrollbar: true,
        btn: ['打印', '关闭'],
        yes: function (index, layero) {
            $('#Ptan').jqprint();
            layer.close(index);
        },
        cancel: function (index) {
            layer.close(index);
        }
    })
</pre>
<script type="text/javascript" src="/layui/layui.js"></script>
<script type="text/javascript" src="/productJs/management/DevelopSOP.js?t=20190920"></script>