linksList.js 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  1. layui.config({
  2. base : "js/"
  3. }).use(['form','layer','jquery','laypage'],function(){
  4. var form = layui.form(),
  5. layer = parent.layer === undefined ? layui.layer : parent.layer,
  6. laypage = layui.laypage,
  7. $ = layui.jquery;
  8. //加载页面数据
  9. var linksData = '';
  10. $.ajax({
  11. url : "../../json/linksList.json",
  12. type : "get",
  13. dataType : "json",
  14. success : function(data){
  15. linksData = data;
  16. if(window.sessionStorage.getItem("addLinks")){
  17. var addLinks = window.sessionStorage.getItem("addLinks");
  18. linksData = JSON.parse(addLinks).concat(linksData);
  19. }
  20. //执行加载数据的方法
  21. linksList();
  22. }
  23. })
  24. //查询
  25. $(".search_btn").click(function(){
  26. var newArray = [];
  27. if($(".search_input").val() != ''){
  28. var index = layer.msg('查询中,请稍候',{icon: 16,time:false,shade:0.8});
  29. setTimeout(function(){
  30. $.ajax({
  31. url : "../../json/linksList.json",
  32. type : "get",
  33. dataType : "json",
  34. success : function(data){
  35. if(window.sessionStorage.getItem("addLinks")){
  36. var addLinks = window.sessionStorage.getItem("addLinks");
  37. linksData = JSON.parse(addLinks).concat(data);
  38. }else{
  39. linksData = data;
  40. }
  41. for(var i=0;i<linksData.length;i++){
  42. var linksStr = linksData[i];
  43. var selectStr = $(".search_input").val();
  44. function changeStr(data){
  45. var dataStr = '';
  46. var showNum = data.split(eval("/"+selectStr+"/ig")).length - 1;
  47. if(showNum > 1){
  48. for (var j=0;j<showNum;j++) {
  49. dataStr += data.split(eval("/"+selectStr+"/ig"))[j] + "<i style='color:#03c339;font-weight:bold;'>" + selectStr + "</i>";
  50. }
  51. dataStr += data.split(eval("/"+selectStr+"/ig"))[showNum];
  52. return dataStr;
  53. }else{
  54. dataStr = data.split(eval("/"+selectStr+"/ig"))[0] + "<i style='color:#03c339;font-weight:bold;'>" + selectStr + "</i>" + data.split(eval("/"+selectStr+"/ig"))[1];
  55. return dataStr;
  56. }
  57. }
  58. //网站名称
  59. if(linksStr.linksName.indexOf(selectStr) > -1){
  60. linksStr["linksName"] = changeStr(linksStr.linksName);
  61. }
  62. //网站地址
  63. if(linksStr.linksUrl.indexOf(selectStr) > -1){
  64. linksStr["linksUrl"] = changeStr(linksStr.linksUrl);
  65. }
  66. //
  67. if(linksStr.showAddress.indexOf(selectStr) > -1){
  68. linksStr["showAddress"] = changeStr(linksStr.showAddress);
  69. }
  70. if(linksStr.linksName.indexOf(selectStr)>-1 || linksStr.linksUrl.indexOf(selectStr)>-1 || linksStr.showAddress.indexOf(selectStr)>-1){
  71. newArray.push(linksStr);
  72. }
  73. }
  74. linksData = newArray;
  75. linksList(linksData);
  76. }
  77. })
  78. layer.close(index);
  79. },2000);
  80. }else{
  81. layer.msg("请输入需要查询的内容");
  82. }
  83. })
  84. //添加友情链接
  85. $(".linksAdd_btn").click(function(){
  86. var index = layui.layer.open({
  87. title : "添加友情链接",
  88. type : 2,
  89. content : "linksAdd.html",
  90. success : function(layero, index){
  91. layui.layer.tips('点击此处返回文章列表', '.layui-layer-setwin .layui-layer-close', {
  92. tips: 3
  93. });
  94. }
  95. })
  96. //改变窗口大小时,重置弹窗的高度,防止超出可视区域(如F12调出debug的操作)
  97. $(window).resize(function(){
  98. layui.layer.full(index);
  99. })
  100. layui.layer.full(index);
  101. })
  102. //批量删除
  103. $(".batchDel").click(function(){
  104. var $checkbox = $('.links_list tbody input[type="checkbox"][name="checked"]');
  105. var $checked = $('.links_list tbody input[type="checkbox"][name="checked"]:checked');
  106. if($checkbox.is(":checked")){
  107. layer.confirm('确定删除选中的信息?',{icon:3, title:'提示信息'},function(index){
  108. var index = layer.msg('删除中,请稍候',{icon: 16,time:false,shade:0.8});
  109. setTimeout(function(){
  110. //删除数据
  111. for(var j=0;j<$checked.length;j++){
  112. for(var i=0;i<linksData.length;i++){
  113. if(linksData[i].linksId == $checked.eq(j).parents("tr").find(".links_del").attr("data-id")){
  114. linksData.splice(i,1);
  115. linksList(linksData);
  116. }
  117. }
  118. }
  119. $('.links_list thead input[type="checkbox"]').prop("checked",false);
  120. form.render();
  121. layer.close(index);
  122. layer.msg("删除成功");
  123. },2000);
  124. })
  125. }else{
  126. layer.msg("请选择需要删除的文章");
  127. }
  128. })
  129. //全选
  130. form.on('checkbox(allChoose)', function(data){
  131. var child = $(data.elem).parents('table').find('tbody input[type="checkbox"]:not([name="show"])');
  132. child.each(function(index, item){
  133. item.checked = data.elem.checked;
  134. });
  135. form.render('checkbox');
  136. });
  137. //通过判断文章是否全部选中来确定全选按钮是否选中
  138. form.on("checkbox(choose)",function(data){
  139. var child = $(data.elem).parents('table').find('tbody input[type="checkbox"]:not([name="show"])');
  140. var childChecked = $(data.elem).parents('table').find('tbody input[type="checkbox"]:not([name="show"]):checked')
  141. data.elem.checked;
  142. if(childChecked.length == child.length){
  143. $(data.elem).parents('table').find('thead input#allChoose').get(0).checked = true;
  144. }else{
  145. $(data.elem).parents('table').find('thead input#allChoose').get(0).checked = false;
  146. }
  147. form.render('checkbox');
  148. })
  149. //操作
  150. $("body").on("click",".links_edit",function(){ //编辑
  151. layer.alert('您点击了友情链接编辑按钮,由于是纯静态页面,所以暂时不存在编辑内容,后期会添加,敬请谅解。。。',{icon:6, title:'友链编辑'});
  152. })
  153. $("body").on("click",".links_del",function(){ //删除
  154. var _this = $(this);
  155. layer.confirm('确定删除此信息?',{icon:3, title:'提示信息'},function(index){
  156. //_this.parents("tr").remove();
  157. for(var i=0;i<linksData.length;i++){
  158. if(linksData[i].linksId == _this.attr("data-id")){
  159. linksData.splice(i,1);
  160. linksList(linksData);
  161. }
  162. }
  163. layer.close(index);
  164. });
  165. })
  166. function linksList(that){
  167. //渲染数据
  168. function renderDate(data,curr){
  169. var dataHtml = '';
  170. if(!that){
  171. currData = linksData.concat().splice(curr*nums-nums, nums);
  172. }else{
  173. currData = that.concat().splice(curr*nums-nums, nums);
  174. }
  175. if(currData.length != 0){
  176. for(var i=0;i<currData.length;i++){
  177. dataHtml += '<tr>'
  178. +'<td><input type="checkbox" name="checked" lay-skin="primary" lay-filter="choose"></td>'
  179. +'<td align="left">'+currData[i].linksName+'</td>'
  180. +'<td><a style="color:#1E9FFF;" target="_blank" href="'+currData[i].linksUrl+'">'+currData[i].linksUrl+'</a></td>'
  181. +'<td>'+currData[i].masterEmail+'</td>'
  182. +'<td>'+currData[i].linksTime+'</td>'
  183. +'<td>'+currData[i].showAddress+'</td>'
  184. +'<td>'
  185. + '<a class="layui-btn layui-btn-mini links_edit"><i class="iconfont icon-edit"></i> 编辑</a>'
  186. + '<a class="layui-btn layui-btn-danger layui-btn-mini links_del" data-id="'+data[i].linksId+'"><i class="layui-icon">&#xe640;</i> 删除</a>'
  187. +'</td>'
  188. +'</tr>';
  189. }
  190. }else{
  191. dataHtml = '<tr><td colspan="7">暂无数据</td></tr>';
  192. }
  193. return dataHtml;
  194. }
  195. //分页
  196. var nums = 13; //每页出现的数据量
  197. if(that){
  198. linksData = that;
  199. }
  200. laypage({
  201. cont : "page",
  202. pages : Math.ceil(linksData.length/nums),
  203. jump : function(obj){
  204. $(".links_content").html(renderDate(linksData,obj.curr));
  205. $('.links_list thead input[type="checkbox"]').prop("checked",false);
  206. form.render();
  207. }
  208. })
  209. }
  210. })