var myTable = {}; (function () { var total = 0; var count = 0; var tbody = null; var pagin = null; function buildTable($tbody, data) { var i = 1; $tbody.html(''); for (var i = 0; i < data.length; i++) { var el = data[i]; var $tr = null; if ((i % 2) == 1) { $tr = $('<tr class="gradeA even" role="row"></tr>'); } else { $tr = $('<tr class="gradeA odd" role="row"></tr>'); } // title $td = $('<td class="text-center"></td>'); $td.text(el.title); $tr.append($td); // type if (el.data_type == 1) { $td = $('<td class="text-center"> <span class="label label-primary">数据表</span></td>'); } else if (el.data_type == 2) { $td = $('<td class="text-center"> <span class="label label-primary">配置项</span></td>'); } else if (el.data_type == 3) { $td = $('<td class="text-center"> <span class="label label-primary">关联配置</span></td>'); } $tr.append($td); // url var url = el.url; if (el.data_args) url = el.url + '#!args=' + bin2hex(el.data_args); $td = $('<td class="text-center"><a class="btn btn-info btn-xs" href="' + url + '">' + el.url + '</a></td>'); $tr.append($td); // ctime $td = $('<td class="text-center">' + el.ctime + '</td>'); $tr.append($td); $a = $('<a class="btn btn-outline btn-danger btn-xs" href="#">删除</a>'); (function (el) { var url = '/api/favorite/del/' + el.favorite_id; $a.click(function () { $this = $(this); $.ajax({ type: "POST", url: url, dataType: 'json', success: function (data) { if (data.errcode != 0) { alert("删除收藏" + el.title + "失败: retcode=" + data.errcode + ",errMsg=" + data.errmsg); return; } $this.parent().parent().remove(); }, error: function () { alert("删除收藏" + el.title + "失败"); }, }); }); })(el); $td = $('<td class="text-center"></td>'); $td.append($a); $tr.append($td); $tbody.append($tr); } }; // data = { "retcode": 0, "errMsg", "data": { "total" : 0, "page" : 0, "count": 10, "list" : [] }} myTable.init = function ($tbody, $paginate, data) { if (data.errcode != 0) { alert("获取数据失败: retcode=" + data.errcode + ",errMsg=" + data.errmsg); return; } var data = data.data; total = data.total; count = data.count; tbody = $tbody; pagin = $paginate; buildTable($tbody, data.list); paginate($paginate, total, count, data.page, myTable.getData); }; myTable.getData = function (pageNo) { $.ajax({ type: "GET", url: '/api/favorite/getlist/?page=' + pageNo + '&count=' + count, dataType: 'json', success: function (data) { if (data.errcode != 0) { alert("获取数据失败: retcode=" + data.errcode + ",errMsg=" + data.errmsg); return; } data = data.data; if (total != data.total || count != data.count) { total = data.total; count = data.count; paginate(pagin, data.total, data.count, data.page, myTable.getData); } buildTable(tbody, data.list); }, error: function () { alert("获取业务列表数据失败"); }, }); }; })();