$(function() { require(['util'], function(util) { var funbaredit = false; var edithtml = '编辑 删除'; var funbarstatus = util.cookie.get('funbar'); if (funbarstatus && funbarstatus > 0) { $(".funbar").addClass("active") } $(".funbar-toggle").unbind('click').click(function() { $(".funbar").toggleClass('active'); if ($('.funbar').hasClass('active')) { util.cookie.set('funbar', 1) } else { util.cookie.set('funbar', 0) } }); $(".funbar .edit-btn").unbind('click').click(function() { $(".fb-footer .default").hide(); $(".fb-footer .complete").show(); $(".funbar").data('edit', 1).addClass('edit'); $(".page-gotop.style2").addClass('edit'); funbaredit = true; require(['jquery.ui'], function() { $("#funbar-btns").sortable({ containment: 'parent' }) }) }); $(document).on('mouseover', '.funbar .fb-inner nav', function() { if (funbaredit) { if ($(this).find('.editdel').length <= 0) { $(this).append(edithtml) } else { $(this).find('.editdel').show() } } }); $(document).on('mouseleave', '.funbar .fb-inner nav', function() { $(this).find('.editdel').hide() }); $(".funbar .save-btn").unbind('click').click(function() { $(".fb-footer .complete").hide(); $(".fb-footer .default").show(); $(".funbar").data('edit', 0).removeClass('edit'); $(".page-gotop.style2").removeClass('edit'); funbaredit = false; $("#funbar-btns").sortable('destroy'); saveFun() }); $(document).on('click', '.funbar .fb-inner nav .edit', function() { if (funbaredit) { var nav = $(this).closest('nav'); var text = nav.find('span').eq(0).text(); var color = rgb2hex(nav.css('color')); if (color == '#ffffff') { color = '#666666' } var bold = nav.css('font-weight'); if (bold == 'bold') { $("#modal-funbar").find('#menubold1').prop('checked', true); $("#modal-funbar").find('#menubold0').removeAttr('checked') } else { $("#modal-funbar").find('#menubold0').prop('checked', true); $("#modal-funbar").find('#menubold1').removeAttr('checked') } var link = nav.data('href'); if ($.trim(link) == '') { link = thisUrl() } $("#modal-funbar").find('#menuname').val(text); $("#modal-funbar").find('#menucolor').val(color); $("#modal-funbar").find('#menulink').val(link); nav.addClass('active'); $("#modal-funbar .modal-header h3").text("编辑快捷导航"); $("#modal-funbar").modal({ backdrop: 'static', keyboard: false }) } }); $(document).on('click', '.funbar .fb-inner nav .del', function() { if (funbaredit) { var _this = $(this); tip.confirm("确定删除吗? 删除后点击保存才生效哦~", function() { _this.closest("nav").remove() }) } }); $("#modal-funbar .close-modal").unbind('click').click(function() { var modal = $(this).closest('#modal-funbar'); var text = modal.find('#menuname').val(); var color = modal.find('#menucolor').val(); var link = modal.find('#menulink').val(); var bold = modal.find("input[name='bold']:checked").val(); if ($.trim(text) == '') { modal.find('#menuname').focus(); tip.msgbox.err("请填写导航名称!"); return false } if ($.trim(link) == '') { link = thisUrl() } if (bold && bold > 0) { var style = { 'font-weight': 'bold' } } else { var style = { 'font-weight': 'normal' } } if (color != '#666666') { style.color = color } if ($(".funbar .fb-inner nav.active").length > 0) { $(".funbar .fb-inner nav.active").css(style).data('href', link).find("span").eq(0).text(text); $(".funbar .fb-inner nav").removeClass('active') } else { var _html = ''; $("#funbar-btns").append(_html) } }); $("#modal-funbar .close-modal2").unbind('click').click(function() { $(".funbar .fb-inner nav.active").removeClass('active') }); $(document).on('click', '.funbar .fb-inner nav', function() { if (!funbaredit) { var href = $(this).data('href'); if (href) { location.href = href } } }); $(".add-btn").unbind('click').click(function() { $("#modal-funbar .modal-header h3").text("添加快捷导航"); $("#modal-funbar").find('#menuname').val(''); $("#modal-funbar").find('#menucolor').val('#666666'); $("#modal-funbar").find('#menulink').val(thisUrl()); $("#modal-funbar").modal({ backdrop: 'static', keyboard: false }) }); $("#funsearch").keyup(function() { var kw = $(this).val(); if (kw) { $("#funbar-btns nav").each(function() { var _kw = $(this).find('span').eq(0).text(); if (_kw.indexOf(kw) >= 0) { $(this).show() } else { $(this).hide() } }) } else { $("#funbar-btns nav").show() } }); if ($(".funbar.style2").length > 0) { var funbarTop = $(".funbar.style2").css('top').replace('px', ''); $(window).bind('scroll resize load', function() { var top = $(window).scrollTop(); var top = top + parseInt(funbarTop); $(".funbar.style2").animate({ 'top': top + 'px' }, 13) }) } }); function rgb2hex(rgb) { rgb = rgb.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/); function hex(x) { return ("0" + parseInt(x).toString(16)).slice(-2) } return "#" + hex(rgb[1]) + hex(rgb[2]) + hex(rgb[3]) } function saveFun() { var fundata = []; $("#funbar-btns nav").each(function() { var _href = $(this).data('href'); var _text = $(this).find('span').eq(0).text(); var _color = rgb2hex($(this).css('color')); if (_color == '#666666') { _color = '' } var _bold = 0; if ($(this).css('font-weight') == 'bold') { _bold = 1 } fundata.push({ 'href': _href, 'text': _text, 'color': _color, 'bold': _bold, }) }); $.post(biz.url('sysset/funbar'), { funbardata: fundata }, function(ret) { if (ret.status == 1) { tip.msgbox.suc("保存成功!") } else { tip.msgbox.err("保存失败请重试!") } }, 'json') } function thisUrl() { var str = location.protocol + "//" + location.hostname + "/web/"; var url = window.location + ''; return url.replace(str, "./") } });