import printJS from 'print-js';

function autoAdjustHeight(el) {
    var header = document.querySelector(".el-header");
    var headerHeight = 0;

    if(header!=null){
        headerHeight = header.offsetHeight;
    }
    console.log("headerHeight=" + headerHeight);

    //页面高度-列表上面的高度-header高度-分页组件高度
    return window.innerHeight - el.offsetTop - headerHeight - 40;
}

function printTable(tableData, properties, title){
    printJS({
        printable: tableData,
        properties: properties,
        type: 'json',
        // style: 'table { border-collapse: collapse }',
        header: title,
        headerStyle: 'text-align:center;color:black;width:100%;font-size:16px;',
        scanStyles: false,
        style: 'table tr td,th { border-collapse: collapse;padding: 5px;border:1px #000 solid; font-size:9px;}' // 表格样式
    })
}


function printHtmlTable(tableHtml, properties, title, styleCss){
    printJS({
        printable: tableHtml,
        properties: properties,
        type: 'html',
        style: styleCss,
        header: title,
        headerStyle: 'text-align:center;color:black;width:100%;font-size:16px;',
        scanStyles: false,
    })
}

/** 数字金额大写转换(可以处理整数,小数,负数) */  
function dealBigMoney(n) {
    var fraction = ['角', '分'];  
    var digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];  
    var unit = [ ['元', '万', '亿'], ['', '拾', '佰', '仟']  ];  
    var head = n < 0? '欠': '';  
    n = Math.abs(n);  

    var s = '';  

    for (let i = 0; i < fraction.length; i++)   
    {  
        s += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, '');  
    }

    s = s || '整';  
    n = Math.floor(n);  

    for (let i = 0; i < unit[0].length && n > 0; i++)   
    {  
        var p = '';  
        for (var j = 0; j < unit[1].length && n > 0; j++)   
        {  
            p = digit[n % 10] + unit[1][j] + p;  
            n = Math.floor(n / 10);  
        }  
        s = p.replace(/(零.)*零$/, '').replace(/^$/, '零')  + unit[0][i] + s;  
    }  
    return head + s.replace(/(零.)*零元/, '元').replace(/(零.)+/g, '零').replace(/^整$/, '零元整');  
}

export default{
    autoAdjustHeight,printTable,printHtmlTable,dealBigMoney
}