多列表求和

100 阅读1分钟

多列表求和

// 获取表格select的手动勾选计算
function tableDataFn(trids) {
    checkSum = {
        "receivable_amount": 0,
        "refund_amount": 0,
        "bill_amount": 0,
        "already_bill_amount": 0,
        "wait_bill_amount": 0,
        "already_invoice_amount": 0,
        "wait_invoice_amount": 0,
        "already_receipt_amount": 0,
        "wait_receivable_amount": 0,
        "transfer_amount": 0,
        "already_refund_amount": 0,
        "already_receivable_amount": 0,
        "operable_amount": 0,
    }
    console.log('trids', trids)
    console.log('mytableList==',mytableList)
    mytableList.forEach(function (el) {
        if (trids.includes(el.id)) {
            for (var i in el) {
                columnsEvery(i, el[i])
            }
        }
    })
    for (let i in checkSum) {
        console.log(checkSum[i],'=========')
        if (!isNaN(checkSum[i])) {
            var nowNumber = checkSum[i].toFixed('2').toString().replace(/\B(?<!\.\d*)(?=(\d{3})+(?!\d))/g, ",")
            $('.sumClass').find('#numall_' + i).text(nowNumber)
            $('.sumClass').find('#numall_' + i).css('color','red')
        } else {
            $('.sumClass').find('#numall_' + i).text('0.00')
            $('.sumClass').find('#numall_' + i).css('color','red')
        }
    }
}

// 列表求和
function columnsEvery(key, num) {
    let ina = !isNaN(Number(num)) ? num : 0
    let newNum = ina * 100 / 100;
    checkSum[key] = checkSum[key] + parseFloat(newNum);
}

//调用,表格勾选。获取checked 。拿到勾选的行id 并传参
  var groupCheckbox = $('.table-responsive').find("input:checkbox[name=check_number]:checked");
    console.log('groupCheckbox=', groupCheckbox)
    if (groupCheckbox.length >= 1) {
        var number = '';
        groupCheckbox && groupCheckbox.each(function (i, v) {
            number += $(v).parents('tr').attr('data-id');
            number += ',';
        });
        var laststr = number.lastIndexOf(',');
        var newNumber = number.substring(0, laststr);
        $('.sumClass').addClass('visibleClass')
    ).columns.adjust();
        // tableDataFn('104582,104581,104580')
        tableDataFn(newNumber)