123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673 |
- define(['jquery', 'bootstrap'], function($, bs) {
- window.redirect = function(url) {
- location.href = url
- }, $(document).on('click', '[data-toggle=refresh]', function(e) {
- e && e.preventDefault();
- var url = $(e.target).data("href");
- url ? window.location = url : window.location.reload()
- }), $(document).on('click', '[data-toggle=back]', function(e) {
- e && e.preventDefault();
- var url = $(e.target).data("href");
- url ? window.location = url : window.history.back()
- });
- function _bindCssEvent(events, callback) {
- var dom = this;
- function fireCallBack(e) {
- if (e.target !== this) {
- return
- }
- callback.call(this, e);
- for (var i = 0; i < events.length; i++) {
- dom.off(events[i], fireCallBack)
- }
- }
- if (callback) {
- for (var i = 0; i < events.length; i++) {
- dom.on(events[i], fireCallBack)
- }
- }
- }
- $.fn.animationEnd = function(callback) {
- _bindCssEvent.call(this, ['webkitAnimationEnd', 'animationend'], callback);
- return this
- };
- $.fn.transitionEnd = function(callback) {
- _bindCssEvent.call(this, ['webkitTransitionEnd', 'transitionend'], callback);
- return this
- };
- $.fn.transition = function(duration) {
- if (typeof duration !== 'string') {
- duration = duration + 'ms'
- }
- for (var i = 0; i < this.length; i++) {
- var elStyle = this[i].style;
- elStyle.webkitTransitionDuration = elStyle.MozTransitionDuration = elStyle.transitionDuration = duration
- }
- return this
- };
- $.fn.transform = function(transform) {
- for (var i = 0; i < this.length; i++) {
- var elStyle = this[i].style;
- elStyle.webkitTransform = elStyle.MozTransform = elStyle.transform = transform
- }
- return this
- };
- $.toQueryPair = function(key, value) {
- if (typeof value == 'undefined') {
- return key
- }
- return key + '=' + encodeURIComponent(value === null ? '' : String(value))
- };
- $.toQueryString = function(obj) {
- var ret = [];
- for (var key in obj) {
- key = encodeURIComponent(key);
- var values = obj[key];
- if (values && values.constructor == Array) {
- var queryValues = [];
- for (var i = 0, len = values.length, value; i < len; i++) {
- value = values[i];
- queryValues.push($.toQueryPair(key, value))
- }
- ret = concat(queryValues)
- } else {
- ret.push($.toQueryPair(key, values))
- }
- }
- return ret.join('&')
- };
- myrequire(['web/table']);
- myrequire(['jquery.gcjs']);
- myrequire(['web/tip']);
- myrequire(['tooltipbox']);
- if ($('form.form-validate').length > 0 || $('form.form-modal').length > 0) {
- myrequire(['web/form'], function(form) {
- form.init()
- })
- }
- myrequire(['web/biz']);
- if ($('.select2').length > 0) {
- myrequire(['select2'], function() {
- $('.select2').each(function() {
- $(this).select2({})
- })
- })
- }
- myrequire(['web/table']);
- if ($('.js-switch').length > 0) {
- myrequire(['switchery'], function() {
- $('.js-switch').switchery()
- })
- }
- if ($('.js-clip').length > 0) {
- myrequire(['clipboard'], function(Clipboard) {
- var clipboard = new Clipboard('.js-clip', {
- text: function(e) {
- return $(e).data('url') || $(e).data('href')
- }
- });
- clipboard.on('success', function(e) {
- tip.msgbox.suc('复制成功')
- })
- })
- }
- $.fn.append2 = function(html, callback) {
- var len = $("body").html().length;
- this.append(html);
- var e = 1,
- interval = setInterval(function() {
- e++;
- var clear = function() {
- clearInterval(interval);
- callback && callback()
- };
- if (len != $("body").html().length || e > 1000) {
- clear()
- }
- }, 1)
- };
- $('[data-toggle="popover"]').popover();
- $(document).on("click", '[data-toggle="ajaxModal"]', function(e) {
- e.preventDefault();
- var obj = $(this),
- confirm = obj.data("confirm");
- var handler = function() {
- $("#ajaxModal").remove(), e.preventDefault();
- var url = obj.data("href") || obj.attr("href"),
- data = obj.data("set"),
- modal;
- $.ajax(url, {
- type: "get",
- dataType: "html",
- cache: false,
- data: data
- }).done(function(html) {
- if (html.substr(0, 8) == '{"status') {
- json = eval("(" + html + ')');
- if (json.status == 0) {
- msg = typeof(json.result) == 'object' ? json.result.message : json.result;
- tip.msgbox.err(msg || tip.lang.err);
- return
- }
- }
- modal = $('<div class="modal fade" id="ajaxModal"><div class="modal-body "></div></div>');
- $(document.body).append(modal), modal.modal('show');
- myrequire(['jquery.gcjs'], function() {
- modal.append2(html, function() {
- var form_validate = $('form.form-validate', modal);
- if (form_validate.length > 0) {
- $("button[type='submit']", modal).length && $("button[type='submit']", modal).attr("disabled", true);
- myrequire(['web/form'], function(form) {
- form.init();
- $("button[type='submit']", modal).length && $("button[type='submit']", modal).removeAttr("disabled")
- })
- }
- })
- })
- })
- },
- a;
- if (confirm) {
- tip.confirm(confirm, handler)
- } else {
- handler()
- }
- }), $(document).on("click", '[data-toggle="ajaxPost"]', function(e) {
- e.preventDefault();
- var obj = $(this),
- confirm = obj.data("confirm"),
- url = obj.data('href') || obj.attr('href'),
- data = obj.data('set') || {},
- html = obj.html();
- handler = function() {
- e.preventDefault();
- if (obj.attr('submitting') == '1') {
- return
- }
- obj.html('<i class="fa fa-spinner fa-spin"></i>').attr('submitting', 1);
- $.post(url, {
- data: data
- }, function(ret) {
- ret = eval("(" + ret + ")");
- if (ret.status == 1) {
- tip.msgbox.suc(ret.result.message || tip.lang.success, ret.result.url)
- } else {
- tip.msgbox.err(ret.result.message || tip.lang.error, ret.result.url), obj.removeAttr('submitting').html(html)
- }
- }).fail(function() {
- obj.removeAttr('submitting').html(html), tip.msgbox.err(tip.lang.exception)
- })
- };
- confirm && tip.confirm(confirm, handler);
- !confirm && handler()
- }), $(document).on("click", '[data-toggle="ajaxEdit"]', function(e) {
- var obj = $(this),
- url = obj.data('href') || obj.attr('href'),
- data = obj.data('set') || {},
- html = $.trim(obj.text()),
- required = obj.data('required') || true,
- edit = obj.data('edit') || 'input';
- var oldval = $.trim($(this).text());
- e.preventDefault();
- submit = function() {
- e.preventDefault();
- var val = $.trim(input.val());
- if (required) {
- if (val == '') {
- tip.msgbox.err(tip.lang.empty);
- return
- }
- }
- if (val == html) {
- input.remove(), obj.html(val).show();
- return
- }
- if (url) {
- $.post(url, {
- value: val
- }, function(ret) {
- ret = eval("(" + ret + ")");
- if (ret.status == 1) {
- obj.html(val).show()
- } else {
- tip.msgbox.err(ret.result.message, ret.result.url)
- }
- input.remove()
- }).fail(function() {
- input.remove(), tip.msgbox.err(tip.lang.exception)
- })
- } else {
- input.remove();
- obj.html(val).show()
- }
- obj.trigger('valueChange', [val, oldval])
- }, obj.hide().html('<i class="fa fa-spinner fa-spin"></i>');
- var input = $('<input type="text" class="form-control input-sm" style="width: 80%;display: inline;" />');
- if (edit == 'textarea') {
- input = $('<textarea type="text" class="form-control" style="resize:none" rows=3 ></textarea>')
- }
- obj.after(input);
- input.val(html).select().blur(function() {
- submit(input)
- }).keypress(function(e) {
- if (e.which == 13) {
- submit(input)
- }
- })
- }), $(document).on("click", '[data-toggle="ajaxSwitch"]', function(e) {
- e.preventDefault();
- var obj = $(this),
- confirm = obj.data('msg') || obj.data('confirm'),
- othercss = obj.data('switch-css'),
- other = obj.data('switch-other'),
- refresh = obj.data('switch-refresh') || false;
- if (obj.attr('submitting') == '1') {
- return
- }
- var value = obj.data('switch-value'),
- value0 = obj.data('switch-value0'),
- value1 = obj.data('switch-value1');
- if (value === undefined || value0 === undefined || value1 === undefined) {
- return
- }
- var url, css, text, newvalue, newurl, newcss, newtext;
- value0 = value0.split('|');
- value1 = value1.split('|');
- if (value == value0[0]) {
- url = value0[3], css = value0[2], text = value0[1], newvalue = value1[0], newtext = value1[1], newcss = value1[2]
- } else {
- url = value1[3], css = value1[2], text = value1[1], newvalue = value0[0], newtext = value0[1], newcss = value0[2]
- }
- var html = obj.html();
- var submit = function() {
- $.post(url).done(function(data) {
- data = eval("(" + data + ")");
- if (data.status == 1) {
- if (other && othercss) {
- if (newvalue == '1') {
- $(othercss).each(function() {
- if ($(this).data('switch-value') == newvalue) {
- this.className = css;
- $(this).data('switch-value', value).html(text || html)
- }
- })
- }
- }
- obj.data('switch-value', newvalue);
- obj.html(newtext || html);
- obj[0].className = newcss;
- refresh && location.reload()
- } else {
- obj.html(html), tip.msgbox.err(data.result.message || tip.lang.error, data.result.url)
- }
- obj.removeAttr('submitting')
- }).fail(function() {
- obj.removeAttr('submitting');
- obj.button('reset');
- tip.msgbox.err(tip.lang.exception)
- })
- },
- a;
- if (confirm) {
- tip.confirm(confirm, function() {
- obj.html('<i class="fa fa-spinner fa-spin"></i>').attr('submitting', 1), submit()
- })
- } else {
- obj.html('<i class="fa fa-spinner fa-spin"></i>').attr('submitting', 1), submit()
- }
- });
- $(document).on('click', '[data-toggle="selectUrl"]', function() {
- $("#selectUrl").remove();
- var _input = $(this).data('input');
- var _full = $(this).data('full');
- var _platform = $(this).data('platform');
- var _callback = $(this).data('callback') || false;
- var _cbfunction = !_callback ? false : eval("(" + _callback + ")");
- if (!_input && !_callback) {
- return
- }
- var merch = $(".diy-phone").data("merch");
- var url = biz.url('util/selecturl', null, merch);
- var store = $(".diy-phone").data("store");
- if (store) {
- url = biz.url('store/diypage/selecturl')
- }
- if (_full) {
- url = url + "&full=1"
- }
- if (_platform) {
- url = url + "&platform=" + _platform
- }
- $.ajax('seller.php?s=/util/selecturl', {
- type: "get",
- dataType: "html",
- cache: false
- }).done(function(html) {
- modal = $('<div class="modal fade" id="selectUrl"></div>');
- $(document.body).append(modal), modal.modal('show');
- modal.append2(html, function() {
- $(document).off("click", '#selectUrl nav').on("click", '#selectUrl nav', function() {
- var _href = $.trim($(this).data("href"));
- if (_input) {
- $(_input).val(_href).trigger('change')
- } else if (_cbfunction) {
- _cbfunction(_href)
- }
- modal.find(".close").click()
- })
- })
- })
- });
- $(document).on('click', '[data-toggle="selectImg"]', function() {
- var _input = $(this).data('input');
- var _img = $(this).data('img');
- var _full = $(this).data('full');
- require(['jquery', 'util'], function($, util) {
- util.image('', function(data) {
- var imgurl = data.attachment;
- if (_full) {
- imgurl = data.url
- }
- if (_input) {
- $(_input).val(imgurl).trigger('change')
- }
- if (_img) {
- $(_img).attr('src', data.url)
- }
- })
- })
- });
- $(document).on('click', '[data-toggle="selectIcon"]', function() {
- var _input = $(this).data('input');
- var _element = $(this).data('element');
- if (!_input && !_element) {
- return
- }
- var merch = $(".diy-phone").data("merch");
- var url = biz.url('util/selecticon', null, merch);
- $.ajax(url, {
- type: "get",
- dataType: "html",
- cache: false
- }).done(function(html) {
- modal = $('<div class="modal fade" id="selectIcon"></div>');
- $(document.body).append(modal), modal.modal('show');
- modal.append2(html, function() {
- $(document).off("click", '#selectIcon nav').on("click", '#selectIcon nav', function() {
- var _class = $.trim($(this).data("class"));
- if (_input) {
- $(_input).val(_class).trigger('change')
- }
- if (_element) {
- $(_element).removeAttr("class").addClass("icon " + _class)
- }
- modal.find(".close").click()
- })
- })
- })
- });
- $(document).on('click', '[data-toggle="selectAudio"]', function() {
- var _input = $(this).data('input');
- var _full = $(this).data('full');
- require(['jquery', 'util'], function($, util) {
- util.audio('', function(data) {
- var audiourl = data.attachment;
- if (_full) {
- audiourl = data.url
- }
- if (_input) {
- $(_input).val(audiourl).trigger('change')
- }
- })
- })
- });
- $(document).on('click', '[data-toggle="selectVideo"]', function() {
- var _input = $(this).data('input');
- var _full = $(this).data('full');
- require(['jquery', 'util'], function($, util) {
- util.audio('', function(data) {
- var audiourl = data.attachment;
- if (_full) {
- audiourl = data.url
- }
- if (_input) {
- $(_input).val(audiourl).trigger('change')
- }
- }, {
- type: 'video'
- })
- })
- });
- $(document).on('click', '[data-toggle="previewVideo"]', function() {
- var videoelm = $(this).data('input');
- if (!videoelm) {
- return
- }
- var video = $(videoelm).data('url');
- if (!video || video == '') {
- tip.msgbox.err('未选择视频');
- return
- }
- if ($('#previewVideo').length < 1) {
- $('body').append('<div class="modal fade" id="previewVideo"><div class="modal-dialog" style="min-width: 400px !important;"><div class="modal-content"><div class="modal-header"><button data-dismiss="modal" class="close" type="button">×</button><h4 class="modal-title">视频预览</h4></div><div class="modal-body" style="padding: 0; background: #000;"><video src="' + video + '" style="height: 450px; width: 100%; display: block;" controls="controls"></video></div></div></div></div>')
- } else {
- $("#previewVideo video").attr("src", video)
- }
- $("#previewVideo").modal();
- $("#previewVideo").on("hidden.bs.modal", function() {
- $(this).find("video")[0].pause()
- })
- });
- $(window).resize(function() {
- var width = $(window).width();
- if (width <= 1440) {
- $(".wb-panel-fold").removeClass('in').html('<i class="icow icow-info"></i> 消息提醒');
- $(".wb-panel").removeClass('in');
- $('.wb-container').addClass('right-panel')
- } else {
- $(".wb-panel-fold").addClass('in').html('<i class="fa fa-angle-double-right"></i> 收起面板');
- $(".wb-panel").addClass('in');
- $('.wb-container').removeClass('right-panel')
- }
- });
- $(window).scroll(function() {
- if ($(window).scrollTop() > 200) {
- $('.fixed-header').addClass('active')
- } else {
- $('.fixed-header').removeClass('active')
- }
- });
- $('.wb-nav-fold').click(function() {
- var nav = $(this).closest(".wb-nav");
- if (nav.hasClass('fold')) {
- nav.removeClass('fold');
- $(".wb-header .logo").removeClass('small');
- $(".fast-nav").removeClass('indent');
- util.cookie.set('foldnav', 0)
- } else {
- nav.addClass('fold');
- $(".wb-header .logo").addClass('small');
- $(".fast-nav").addClass('indent');
- util.cookie.set('foldnav', 1)
- }
- });
- $('.wb-subnav-fold').click(function() {
- var subnav = $(this).closest(".wb-subnav");
- if (subnav.hasClass('fold')) {
- subnav.removeClass('fold')
- } else {
- subnav.addClass('fold')
- }
- });
- $('.menu-header').click(function() {
- if ($(this).hasClass('active')) {
- $(this).next('ul').eq(0).hide();
- $(this).find('.menu-icon').removeClass('fa-caret-down').addClass('fa-caret-right');
- $(this).removeClass('active')
- } else {
- $(this).next('ul').eq(0).show();
- $(this).find('.menu-icon').removeClass('fa-caret-right').addClass('fa-caret-down');
- $(this).addClass('active')
- }
- });
- $('.wb-header-btn').click(function() {
- if ($('.wb-topbar-search').hasClass('expand-search')) {
- $('.wb-search-box').focus();
- var keyword = $.trim($(".wb-search-box").val());
- if (keyword != '') {
- location.href = './index.php?c=site&a=entry&m=lionfish_comshop&do=admin&r=search&keyword=' + keyword;
- return
- }
- } else {}
- });
- $(".wb-search-box").bind('input propertychange', function() {
- var keyword = $.trim($(this).val());
- var merch = $(this).data('merch') || 0;
- if (keyword == '') {
- $('.wb-search-result ul').empty();
- $('.wb-search-result').hide();
- $(".wb-search-box").val('');
- return
- }
- $.getJSON(biz.url('searchlist', null, merch), {
- keyword: keyword
- }, function(ret) {
- var result = ret.result;
- var html = '';
- $('.wb-search-result ul').empty();
- if (result.menu.length < 1) {
- html = '<li class="empty-data"><a>暂未搜索到与“' + keyword + '”相关功能</a></li>'
- } else {
- $.each(result.menu, function(index, menu) {
- html += '<li><a href="' + menu.url + '">' + menu.title + '</a></li>'
- })
- }
- $('.wb-search-result ul').html(html);
- $('.wb-search-result').show()
- })
- });
- $(".wb-header-logout").click(function() {
- var href = $(this).closest('li').data('href');
- tip.confirm("当前已登录,确认退出?", function() {
- location.href = href
- })
- });
- $(".wb-panel-fold").click(function() {
- $(this).toggleClass('in');
- $(".wb-panel").toggleClass('in');
- if (!$(this).hasClass('in')) {
- $(this).html('<i class="icow icow-info"></i> 消息提醒');
- util.cookie.set('foldpanel', 1);
- $('.wb-container').addClass('right-panel')
- } else {
- $(this).html('<i class="fa fa-angle-double-right"></i> 收起面板');
- util.cookie.set('foldpanel', 0);
- $('.wb-container').removeClass('right-panel')
- }
- });
- $(".wb-shortcut").click(function() {
- if ($(this).hasClass('active')) {
- $(this).removeClass('active');
- $(".fast-nav").removeClass('in')
- } else {
- $(this).addClass('active');
- $(".fast-nav").addClass('in')
- }
- });
- $(".fast-list.menu a").hover(function() {
- $(this).addClass('active').siblings().removeClass('active');
- var tab = $(this).data('tab');
- $(".fast-list.list [data-tab='" + tab + "']").addClass('in').siblings('.in').removeClass('in');
- $(".funbar-panel").hide();
- $("#funbar-name").val('');
- $("#funbar-color").val('#666666')
- });
- $(".funbar-add-btn").click(function() {
- $(".funbar-panel").show();
- $("#funbar-bold-0").prop('checked', 'checked')
- });
- $(".funbar-cancel-btn").click(function() {
- $(".funbar-panel").hide();
- $("#funbar-name").val('');
- $("#funbar-color").val('#666666')
- });
- $(".funbar-save-btn").click(function() {
- var name = $.trim($("#funbar-name").val());
- if (name == '') {
- tip.msgbox.err('请输入导航名称');
- return
- }
- var color = $("#funbar-color").val();
- var bold = $("#funbar-bold-1").is(':checked') ? 1 : 0;
- var link = $("#funbar-link").val();
- var fundata = {
- href: link,
- text: name,
- color: color,
- bold: bold
- };
- $.post(biz.url('sysset/funbar/post'), {
- funbardata: fundata
- }, function(ret) {
- if (ret.status == 1) {
- var html = '<a href="' + link + '" style=" ';
- if (bold == 1) {
- html += 'font-weight: bold;'
- }
- if (color != '#666666') {
- html += 'color: ' + color + ';'
- }
- html += '">' + name + '</a>';
- $("#funbar-list").prepend(html);
- $(".funbar-panel").hide();
- $("#funbar-name").val('');
- $("#funbar-color").val('#666666')
- } else {
- tip.msgbox.err("保存失败请重试!")
- }
- }, 'json')
- });
- $("#btn-clear-history").click(function() {
- var merch = $(this).data('merch') || 0;
- tip.confirm("确认清除最近访问吗?", function() {
- $.post(biz.url('clearhistory', null, merch), {
- type: 0
- }, function(ret) {
- $(".fast-list.history").remove()
- })
- })
- });
- $(document).click(function(e) {
- var btn1 = $(e.target).closest('.wb-shortcut').length;
- if (!btn1) {
- var fastNav = $(e.target).closest('.fast-nav').length;
- if (!fastNav) {
- $(".wb-shortcut").removeClass('active');
- $(".fast-nav").removeClass('in')
- }
- }
- });
- if ($(".form-editor-group").length > 0) {
- $(".form-editor-group .form-editor-btn").click(function() {
- var editor = $(this).closest(".form-editor-group");
- editor.find(".form-editor-show").hide();
- editor.find(".form-editor-edit").css('display', 'table')
- });
- $(".form-editor-group .form-editor-finish").click(function() {
- if ($(this).closest(".form-group").hasClass("has-error")) {
- return
- }
- var editor = $(this).closest(".form-editor-group");
- editor.find(".form-editor-show").show();
- editor.find(".form-editor-edit").hide();
- var input = editor.find(".form-editor-input");
- var value = $.trim(input.val());
- editor.find(".form-editor-text").text(value)
- })
- }
- $("img").error(function() {
- $(this).attr('src', '/static/images/nopic.png')
- })
- });
|