PrintingMaterial.js 8.17 KB
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 = 'PrintingMaterial';

    var vm = new Vue({
        el: '#modifyForm'
    });

    var vmq = new Vue({
        el: '#panelSearch',
        data: {
        }
    });
    //一维码参数设置
    var barcodeStyle = {
        format: "CODE128",//选择要使用的条形码类型
        width: 1,//设置条之间的宽度
        height: 45,//高度
        displayValue: true,//是否在条形码下方显示文字
        // text:"456",//覆盖显示的文本
        // fontOptions:"bold italic",//使文字加粗体或变斜体
        font: "monospace",//设置文本的字体fantasy
        textAlign: "center",//设置文本的水平对齐方式
        textPosition: "bottom",//设置文本的垂直位置
        textMargin: 1,//设置条形码和文本之间的间距
        fontSize: 12,//设置文本的大小
        background: "#ffffff",//设置条形码的背景
        lineColor: "#000000",//设置条和文本的颜色。
        margin: 1//设置条形码周围的空白边距
    };

    var mainList = {
        NoData: function () {
            return "<div id='background' style='width:100%;height:100%;background-image:url(../../images/NoData.png);background-repeat:no-repeat;background-size:cover;'>.</div>"
        },
        mainList: function () {
            table.reload('mainList', {
                url: "/" + AreaName + "/" + TableName + "/Load"
                , method: "post"
                , text: { none: this.NoData() }
            });
        }
    };

    //编辑
    var EditInfo = function (tabledata) {
        data = tabledata;
        vm.$set('$data', data);
        //表单修改时填充需修改的数据
        var list = {};
        $('.ClearSelector_' + TableName).each(function () {
            var selDom = ($(this));
            if ($(selDom)[0].name.search("q") == -1) {
                list[$(selDom)[0].name] = data[$(selDom)[0].name] + "";
            }
        });
        //表单修改时填充需修改的数据
        form.val('modifyForm', list);
    };

 

    
    
    var selfbtn = {
        //自定义按钮
        btnPrint: function () {
            var checkStatus = table.checkStatus('mainList');
            var count = checkStatus.data.length;
            var myDate = new Date();
            var data = checkStatus.data;
            var html1 = '';
            $('#tanchuang').empty();  //清空上一次数据
            //根据数据批量生成table
            for (var i = 0; i < count; i++) {
                var Pid = 'PCodeBar' + i;
                var tr =
                    '<tr>' +
                    '<td rowspan = "5" >' +
                    '<div id="PCodeBar' + i + '" style="float:left;padding:0px 5px;"></div>' +
                    '</td >' +
                    '<td style=" font-size: xx-small !important;font-family: 黑体;">' +
                    '<span style="text-align: center" id="Code' + i + '">物料编码:</span>' +
                    '</td>' +
                    '<td style=" font-size: xx-small !important;font-family: 黑体;">' +
                    '<label class="PCode" name="PCode" style="border:0px;width:auto">' + data[i].Code + '</label>' +
                    '</td>' +
                    '</tr >' +
                    '<tr>' +
                    '<td style=" font-size: xx-small !important;font-family: 黑体;">' +
                    '<span style="text-align: center">物料类别:</span>' +
                    '</td>' +
                    '<td style=" font-size: xx-small !important;font-family: 黑体;">' +
                    '<label class="PType" name="PType" style="border:0px;width:auto">' + data[i].Type + '</label>' +
                    '</td>' +
                    '</tr>' +
                    '<tr>' +
                    '<td style=" font-size: xx-small !important;font-family: 黑体;">' +
                    '<span style="text-align: center">订单号:</span>' +
                    '</td>' +
                    '<td style=" font-size: xx-small !important;font-family: 黑体;">' +
                    '<label class="PAssistUnit" name="PAssistUnit" style="border:0px;width:auto">' + data[i].AssistUnit + '</label>' +
                    '</td>' +
                    '</tr>' +
                    '<tr>' +
                    '<td style=" font-size: xx-small !important;font-family: 黑体;">' +
                    '<span style="text-align: center">供应商:</span>' +
                    '</td>' +
                    '<td style=" font-size: xx-small !important;font-family: 黑体;">' +
                    '<label class="PMasterUnit" name="PMasterUnit" style="border:0px;width:auto">' + data[i].MasterUnit + '</label>' +
                    '</td>' +
                    '</tr>' +
                    '<tr>' +
                    '<td style=" font-size: xx-small !important;font-family: 黑体;">' +
                    '<span style="text-align: center">名称:</span>' +
                    '</td>' +
                    '<td style=" font-size: xx-small !important;font-family: 黑体;">' +
                    '<label class="PName" name="PName" style="border:0px;width:auto">' + data[i].Name + '</label>' +
                    '</td>' +
                    '</tr>' +
                    '<tr>' +
                    '<td colspan="3" align="center" style="background-color:white">' +
                    '<hr style="height:2px;border:none;border-top:1px ridge green;" />' +
                    '</td>' +
                    '</tr >'
                $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);
                }
            })
        }
    };

    var selector = {
        'Type': {
            SelType: "FromDict",
            SelFrom: "materialType",
            SelModel: "Type",
            SelLabel: "DictLabel",
            SelValue: "DictValue",
            Dom: [$("[name='Type']"), $("[name='qType']")]
        },
        'MasterUnit': {
            SelType: "FromDict",
            SelFrom: "unitType",
            SelModel: "MasterUnit",
            SelLabel: "DictLabel",
            SelValue: "DictValue",
            Dom: [$("[name='MasterUnit']"), $("[name='qMasterUnit']")]
        },
        'AssistUnit': {
            SelType: "FromDict",
            SelFrom: "unitType",
            SelModel: "AssistUnit",
            SelLabel: "DictLabel",
            SelValue: "DictValue",
            Dom: [$("[name='AssistUnit']"), $("[name='qAssistUnit']")]
        }
    };

    var vml = new Array({
        vm: vm,
        vmq: vmq,
    });

    Universal.BindSelector($, form, vml, selector);
    Universal.mmain(AreaName, TableName, table, layer, element, laydate, $, vm, vmq, EditInfo, selfbtn, mainList, form);
});