'use strict';
/**
 *
 *
 * @author Mai
 * @date 2018/9/26
 * @version
 */
let editCate;
// 初始化分类数据
function InitCategoryData(category) {
    const data = category instanceof Array ? category : [category];
    for (const d of data) {
        d.typeStr = cType.text[d.type];
    }
}
// 获取自定义分类可选类型Html(下拉、单选)
function getTypeHtml() {
    const html = [];
    for (const k in cType.key) {
        const value = cType.key[k];
        html.push('
');
        html.push('', cType.text[value], ' ');
        html.push('
');
    }
    return html.join('');
}
// 获取自定义分类html
function getCategoryHtml(category) {
    const data = category instanceof Array ? category : [category];
    const html = [];
    for (const d of data) {
        html.push(' 0 ? '' : 'class="table-warning"', 'cid="' + d.id + '">');
        html.push('', d.name, ' ');
        html.push('', d.typeStr, ' ');
        html.push('');
        if (d.value && d.value.length > 0) {
            for (const v of d.value) {
                html.push('', v.value, ' \n');
            }
        } else {
            html.push('请在右侧添加值');
        }
        html.push(' ');
        html.push('');
        html.push('添加值 \n');
        html.push('编辑 \n');
        html.push('删除  ');
        html.push(' ');
        html.push(' ');
    }
    return html.join('');
}
// 获取分类值html
function getValueHtml(value) {
    const html = [];
    for (const v of value) {
        html.push(' ');
        html.push('', v.relaTenders.length + v.newTenders.length ,' ');
        html.push('删除  ');
    }
    return html.join('');
}
// 根据分类id查找分类
function findCategory(cid) {
    for (const c of cData) {
        if (c.id === cid) {
            return c;
        }
    }
}
// 删除值 获取其他可用值的html
function getValidValueHtml(vid) {
    const html = [];
    const values = $('tr:not(.table-danger)[name=value]', '#value-list');
    for (const value of values) {
        const v = $(value);
        if (v.attr('vid') === vid || $('input', v).val() === '') { continue }
        html.push('');
        html.push('' + $('input', v).val() + ' ');
        html.push('
');
    }
    return html.join('');
}
// 初始化 添加值 编辑数据
function getEditCate(category) {
    function findTenderCate(tender, value) {
        for (const c of tender.category) {
            if (c.cid == value.cid) {
                return c;
            }
        }
    }
    editCate = JSON.parse(JSON.stringify(category));
    for (const v of editCate.value) {
        v.relaTenders = tenders.filter(function (t) {
            const cate = findTenderCate(t, v);
            return cate ? cate.value == v.id : false;
        });
        v.newTenders = [];
    }
}
// 绑定编辑值、删除值
function bindCategoryValueControl() {
    $('a[name="del-value"]').click(function () {
        const vid = $(this).attr('vid');
        const value = _.find(editCate.value, function (v) {
            return v.id == vid;
        });
        if (value.delete) { return; }
        if (value.relaTenders.length > 0) {
            // 提示用户转移标段
            $('#tender-count').text(value.relaTenders.length).attr('vid', vid);
            $('#tender-target').html(getValidValueHtml(vid));
            $('input[type=radio]', '#tender-target')[0].checked = true;
            $('#del-cate-value-ok').click(function () {
                const delVid = $('#tender-count').attr('vid');
                const tarVid = $('input:checked', '#tender-target').val();
                const delValue = _.find(editCate.value, function (v) {
                    return v.id == delVid;
                });
                const tarValue = _.find(editCate.value, function (v) {
                    return v.id == tarVid;
                });
                tarValue.newTenders = tarValue.newTenders.concat(delValue.relaTenders, delValue.newTenders);
                delValue.relaTenders = [];
                delValue.newTenders = [];
                delValue.delete = true;
                const delTr = $('tr[vid=' + delVid + ']');
                delTr.addClass('table-danger');
                $('input', delTr).attr('disabled', '');
                delTr.children()[1].innerText = '移动到其他项';
                $('tr[vid=' + tarVid + ']').children()[1].innerText = tarValue.relaTenders.length + tarValue.newTenders.length;
                $('#del-cate-value').modal('hide');
            });
            $('#del-cate-value').modal('show');
        } else {
            value.delete = true;
            const tr = $('tr[vid=' + vid + ']');
            tr.addClass('table-danger');
            $('input', tr).attr('disabled', '');
        }
    });
}
// 绑定分类控制等(添加值、编辑、删除)
function bindCategoryControl() {
    // 弹出添加值
    $('a[name=add]').bind('click', function () {
        const id = parseInt($(this).attr('cid'));
        const category = findCategory(id);
        getEditCate(category);
        $('#add-ok').attr('cid', id);
        if (editCate) {
            const list = $('#value-list');
            list.html(getValueHtml(editCate.value) + '添加新值