'use strict';
/**
*
*
* @author Mai
* @date 2018/9/26
* @version
*/
function InitCategoryData(category) {
const data = category instanceof Array ? category : [category];
for (const d of data) {
// d.valueArr = d.value && d.value !== '' ? JSON.parse(d.value) : [];
d.typeStr = cType.text[d.type];
}
}
function getTypeHtml() {
const html = [];
for (const k in cType.key) {
const value = cType.key[k];
html.push('
');
html.push(' ');
html.push('', cType.text[value], ' ');
html.push('
');
}
return html.join('');
}
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('');
}
function getValueTenderCount(value) {
function findTenderCate(tender) {
for (const c of tender.category) {
if (c.cid == value.cid) {
return c;
}
}
}
const valueTender = tenders.filter(function (t) {
const cate = findTenderCate(t);
console.log(cate);
return cate ? cate.value == value.id : false;
});
return valueTender ? valueTender.length : 0;
}
function getValueHtml(value) {
const html = [];
for (const v of value) {
html.push(' ');
html.push(' ');
console.log(v);
html.push('', getValueTenderCount(v) ,' ');
html.push('删除 ');
html.push(' ');
}
return html.join('');
}
function findCategory(cid) {
for (const c of cData) {
if (c.id === cid) {
return c;
}
}
}
function bindCategoryControl() {
// 弹出添加值
$('a[name=add]').bind('click', function () {
const id = parseInt($(this).attr('cid'));
const category = findCategory(id);
$('#add-ok').attr('cid', id);
if (category) {
const list = $('#value-list');
list.html(getValueHtml(category.value) + '添加新值 ');
$('#add-value-row').click(function () {
$(this).before('0 删除 ');
});
$('#add').modal('show');
}
});
// 弹出 编辑
$('a[name=edit-cate]').bind('click', function () {
const id = parseInt($(this).attr('cid'));
const category = findCategory(id);
$('input[name=name]', '#edit-cate').val(category.name);
$('div[name=type]', '#edit-cate').html(getTypeHtml());
$('#inlineRadio' + category.type, '#edit-cate')[0].checked = true;
$('#edit-cate-ok').attr('cid', $(this).attr('cid'));
$('#edit-cate').modal('show');
});
// 弹出 删除类别
$('a[name=del]').bind('click', function () {
$('#del-cate-ok').attr('cid', $(this).attr('cid'));
$('#del-cate').modal('show');
});
}
$(document).ready(() => {
InitCategoryData(cData);
$('#categoryList').html(getCategoryHtml(cData));
bindCategoryControl();
$('div[name=type]', '#add-cate').html(getTypeHtml());
// 新增分类
$('#add-cate-ok').click(function () {
const name = $('input[name=name]', '#add-cate');
const type = $('input[type=radio]:checked', '#add-cate');
const data = {
name: name.val(),
type: parseInt(type.val()),
};
postData('/setting/category/add', data, function (data) {
InitCategoryData(data);
$('#categoryList').append(getCategoryHtml(data));
bindCategoryControl();
cData.push(data);
$('#add-cate').modal('hide');
name.val('');
type[0].checked = false;
}, function (msg) {
$('#add-cate').modal('hide');
});
});
// 添加值
$('#add-ok').click(function () {
const valueArr = [];
const value = $('input[name=value]');
for (const v of value) {
if (v.value !== '') {
valueArr.push({
id: $(v).attr('id'),
value: $(v).val(),
});
}
}
const data = {
id: parseInt($(this).attr('cid')),
value: valueArr,
};
postData('/setting/category/value', data, function (data) {
tenders = data.tenders;
const category = findCategory(data.category.id);
category.value = data.category.value;
InitCategoryData(category);
$('tr[cid=' + data.category.id + ']')[0].outerHTML = getCategoryHtml(category);
bindCategoryControl();
$('#add').modal('hide');
}, function () {
$('#add').modal('hide');
});
});
// 编辑
$('#edit-cate-ok').click(function () {
const name = $('input[name=name]', '#edit-cate');
const type = $('input[type=radio]:checked', '#edit-cate');
const data = {
id: parseInt($(this).attr('cid')),
name: name.val(),
type: parseInt(type.val()),
}
postData('/setting/category/update', data, function (data) {
const category = findCategory(data.id);
for (const c in data) {
category[c] = data[c];
}
InitCategoryData(category);
$('tr[cid=' + data.id + ']')[0].outerHTML = getCategoryHtml(category);
bindCategoryControl();
$('#edit-cate').modal('hide');
}, function () {
$('#edit-cate').modal('hide');
});
});
// 删除类别
$('#del-cate-ok').click(function () {
const data = {
id: parseInt($(this).attr('cid')),
}
postData('/setting/category/del', data, function () {
$('tr[cid=' + data.id + ']').remove();
$('#del-cate').modal('hide');
}, function () {
$('#del-cate').modal('hide');
});
});
});