/*jQuery placeholder, fix for IE6,7,8,9*/ var JPlaceHolder = { _check : function(){ return 'placeholder' in document.createElement('input'); }, init : function(){ if(!this._check()){ this.fix(); } }, fix : function(){ jQuery(':input[placeholder]').each(function(index, element) { var self = $(this), txt = self.attr('placeholder'); self.nextAll('.placeholder').remove(); var pos = self.position(), h = self.outerHeight(true), paddingleft = self.css('padding-left'), paddingtop = self.css('padding-top'); var holder = $('').text(txt).css({position:'absolute', left:pos.left+1, top:pos.top, height:h, lienHeight:h, padding:self.css('padding'), color:'#aaa'}).appendTo(self.parent()); self.focusin(function(e) { holder.hide(); }).focusout(function(e) { if(!self.val()){ holder.show(); } }); holder.click(function(e) { holder.hide(); self.focus(); }); }); } }; $(document).ready(function(){ LOGIN.status(); //鑷姩鎻愮ず JPlaceHolder.init(); //鍦ㄧ嚎瀹㈡湇 $('#float01 .float01_link01').mouseenter(function(){ $('#concat-list').show(); }); $('#concat-list').mouseleave(function(){ $('#concat-list').hide(); }); if(typeof(layer) == 'undefined') { var layer = layui.layer; } }); /**鐧诲綍**/ var LOGIN = { show: function(toUrl){ $.post(shopUri+'user/checkLogin?isAjax=1',function(data){ if(MESSAGE.ajaxError(data)){ if(data.data && data.data.username){ if(toUrl != '') TOURL.go(toUrl); }else{ $('#toUrl').val(toUrl); IMGCODE.change('login_imgcode', 'login'); layui.use('layer', function(){ var layer = layui.layer; layer.open({ type :1 ,title: '瀹㈡埛鐧诲綍' ,content: $('#loginBox') ,btn: [] }); }); } } }, 'json'); }, check: function(){ var error = ''; var checkname_arr = new Array('username', 'password', 'checkcode'); for(var i in checkname_arr) { var obj = $('#login-form [name="'+checkname_arr[i]+'"]:visible'); if(obj.length > 0) { var val = $.trim(obj.val()); switch(checkname_arr[i]) { case 'username': if(val.length < 4) error = '璐﹀彿鑷冲皯4涓瓧绗?; break; case 'password': if (val.length < 6 || val.length > 20) error = '瀵嗙爜涓?~20涓瓧绗︾粍鍚?; break; case 'checkcode': if (!(/^[0-9a-zA-Z]{5}$/).test(val)) error = '楠岃瘉鐮佷笉姝g‘'; break; } if(error != '') { $('#login_error').show().html(error); obj.focus(); break; } } } if(error != '') return false; $.post(shopUri+'user/ajaxLogin?isAjax=1', $('#login-form').serialize(), function(data){ if(data.status){ $('#login_error').hide().html(''); var toUrl = $('#toUrl').val(); if(toUrl != ''){ TOURL.go(toUrl); }else{ location.reload(); } return false; }else{ switch(data.code) { case 'checkcode_error': $('#login_error').show().html(data.data); $('#login-form [name="checkcode"]').focus(); IMGCODE.change('login_imgcode', 'login'); break; default: $('#login_error').show().html(data.data); $('#login-form [name="username"]').focus(); break; } } }, 'json'); return false; }, status:function(){ $.post(shopUri+'user/checkLogin?isAjax=1',function(data){ if(MESSAGE.ajaxError(data)){ if(data.data && data.data.username){ var html = '鍡紝'+data.data.username+'    涓汉涓績    [閫€鍑裹/a>]'; $('#login-a').parent().prepend(html); $('#login-a').remove(); if(data.data.carCount > 0) $('#cartCount').html(data.data.carCount); } } }, 'json'); } }; var AJAX = { //鍚屾鎵ц锛屼竴鑸湪琛ㄥ崟楠岃瘉鏃朵娇鐢 synchronize: function(atype, aurl, adata){ var return_data = {}; adata['isAjax'] = 1; $.ajax({ type: atype, url: aurl, async: false, data: adata, dataType: "jsonp", success:function(data){ return_data = data; } }); return return_data; } }; //楠岃瘉鐮 var IMGCODE = { change:function(toid, type){ $('#'+toid+'').attr('src', shopUri+'index/imgcode?type='+type+'&t='+Math.random()); }, check:function(val){ return AJAX.synchronize("post", shopUri+"index/checkImgcode", {"val": val}); } }; var MOBILECODE = { //mobile鎵嬫満鍙风爜, code楠岃瘉鐮? act鍔熻兘(bind|unbind|password) check:function(mobile, code, act){ return AJAX.synchronize("post", shopUri+"index/checkMobilecode", {'mobile': mobile, 'code': code, 'act':act}); } }; //甯哥敤JS楠岃瘉 var VERIFICATION = { email: function(val){ return (/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/).test($.trim(val)); }, imgcode: function(val){ return (/^[0-9a-zA-Z]{5}$/).test($.trim(val)); }, username: function(val){ return (/^(?![0-9]+$)[0-9A-Za-z_]{4,20}$/).test($.trim(val)); }, //鏀粯瀹 alipay: function(val){return (VERIFICATION.email(val) || VERIFICATION.mobile(val)); }, //閾惰鍗 bankCard: function(val){ return (/^(\d{16}|\d{19})$/).test($.trim(val)); }, worker_name: function(val){ return (/^[0-9A-Za-z_]{4,20}$/).test($.trim(val)); }, tel: function(val){ return (/^$/).test($.trim(val)); }, mobile: function(val){ return (/^1\d{10}$/).test($.trim(val)); }, mobile_code: function(val){ return (/^\d{6}$/).test($.trim(val)); }, is_int: function(val){return (/^[1-9]\d*$/).test($.trim(val)); }, strlen:function(val){return $.trim(val).replace(/[^\x00-\xff]/g,"xx").length;}, companyName:function(val){ return (/^[\u4e00-\u9fa5]{5,}$/).test($.trim(val)); }, societyCode:function(val){ return (/^[0-9a-zA-Z]{14,18}$/).test($.trim(val)); }, //寮哄埗淇濈暀灏忔暟鐐逛綅鏁 floatNum:function(num, count){ var f = parseFloat(num); if (isNaN(f)) return false; var f = new Number(num).toFixed(count); var s = f.toString(); var rs = s.indexOf('.'); if (rs < 0) { rs = s.length; s += '.'; } while (s.length <= rs + count) { s += '0'; } return parseFloat(s).toFixed(count); }, check: function(){ $('[check]').each(function(i1, e1){ var anyCheck = $(e1).attr('check').split(' '); for(var i in anyCheck) { var type = anyCheck[i].split(':'); switch(type[0]) { //瀛楃缁熻count:200 case 'count': var maxCount = parseInt(type[1]); $(e1).after(''+VERIFICATION.strlen($(this).val())+'/'+maxCount+''); $(e1).keyup(function(){ var len = VERIFICATION.strlen($(this).val()); $(this).nextAll('.check-count').eq(0).find('span').html(len); if(len > maxCount) $(this).nextAll('.check-count').eq(0).find('span').addClass('red'); else $(this).nextAll('.check-count').eq(0).find('span').removeClass('red'); }).blur(function(){ $(this).val(STRING.subString($(this).val(), maxCount)); $(this).nextAll('.check-count').eq(0).find('span').removeClass('red').html(VERIFICATION.strlen($(this).val())); }); break; //price:0.01:9999.99[鏈€澶у€煎彲閫塢 case 'price': var min = parseFloat(type[1]); $(e1).keyup(function(){ var val= $(this).val().replace(/[^\d.]/g,"").replace(/^\./g,"").replace(/\.{2,}/g,".").replace(".","$#$").replace(/\./g,"").replace("$#$","."); $(this).val(val); }).blur(function(){ var val= $(this).val().replace(/[^\d.]/g,"").replace(/^\./g,"").replace(/\.{2,}/g,".").replace(".","$#$").replace(/\./g,"").replace("$#$","."); if(!(/^\d+(\.\d+)?$/).test(val) || val < min){ val = min; }else if(type.length == 3){ var max = parseFloat(type[2]); if(val > max) val = max; } $(this).val(VERIFICATION.floatNum(val, 2)); }); break; case 'shopVipPrice': var min = parseFloat(type[1]); $(e1).keyup(function(){ var val= $(this).val().replace(/[^\d.]/g,"").replace(/^\./g,"").replace(/\.{2,}/g,".").replace(".","$#$").replace(/\./g,"").replace("$#$","."); if(val){ $(this).val(val); } }).blur(function(){ var val= $(this).val().replace(/[^\d.]/g,"").replace(/^\./g,"").replace(/\.{2,}/g,".").replace(".","$#$").replace(/\./g,"").replace("$#$","."); if(!(/^\d+(\.\d+)?$/).test(val) || val < min){ val = min; }else if(type.length == 3){ var max = parseFloat(type[2]); if(val > max) val = max; } if(val && val>0){ $(this).val(VERIFICATION.floatNum(val, 2)); }else{ $(this).val(''); } }); break; //number:1:99[鏈€澶у€煎彲閫塢 case 'number': $(e1).keyup(function(){ var min = parseInt(type[1]); var val = $(this).val().replace(/\D|^0/g,''); if (!(/^\d+$/).test(val) || val < min){ val = min; }else if(type.length == 3){ var max = parseInt(type[2]); if(val > max) val = max; } $(this).val(val); }); break; //娴偣鏁癴loat:1:8.5:99.2[鏈€澶у€煎彲閫塢 case 'float': $(e1).keyup(function(){ var val= $(this).val().replace(/[^\d.]/g,"").replace(/^\./g,"").replace(/\.{2,}/g,".").replace(".","$#$").replace(/\./g,"").replace("$#$","."); $(this).val(val); }).blur(function(){ var len = parseInt(type[1]); var min = parseFloat(type[2]); var val= $(this).val().replace(/[^\d.]/g,"").replace(/^\./g,"").replace(/\.{2,}/g,".").replace(".","$#$").replace(/\./g,"").replace("$#$","."); if(!(/^\d+(\.\d+)?$/).test(val) || val < min){ val = min; }else if(type.length == 4){ var max = parseFloat(type[3]); if(val > max) val = max; } if(len > 0) $(this).val(VERIFICATION.floatNum(val, len)); else $(this).val(val); }); break; } } }); } }; /** * @method 娑堟伅寮圭獥 * @author soul 2017/6/16 * @example MESSAGE.alert('aa'); MESSAGE.confirm('纭畾瑕佸垹闄ゆ璁板綍鍚?, "test(1,2)"); callback涓哄洖璋冩柟娉曠殑瀛楃涓 MESSAGE.show('璺戣鐨勭敤鎴锋敞鍐屽崗璁?, '鍗忚鍐呭', ''); */ var MESSAGE = { alert: function(msg){ MESSAGE.allType('alert', '娑堟伅鎻愮ず', msg, '', ''); }, //tarId銆愮己鐪併€戞寚瀹氬姞杞界殑鏍囩ID show:function(title, msg, foot, tarId){ if(!arguments[3]) var tarId = ''; MESSAGE.allType('show', title, msg, foot, tarId); }, confirm: function(msg, callback){ MESSAGE.allType('confirm', '娓╅Θ鎻愰啋', msg, callback, ''); }, ajaxError: function(json){ var errorMsg = ''; if(json.hasOwnProperty("status") && json.status){ }else if(json.hasOwnProperty("code")){ if(json.code == 'noLogin'){ TOURL.login(); return false; } errorMsg = json.data; }else{ errorMsg = '缃戠粶寮傚父锛岃绋嶅悗閲嶈瘯锛?; } if(errorMsg != ''){ if($('.message_box:visible').length > 0){ alert(json.data); }else{ MESSAGE.allType('alert', '娑堟伅鎻愮ず', json.data, '', ''); } return false; } return true; }, //鍙互绉诲姩鐨 moveBox: function(title, msg, foot, tarId){ if(!arguments[3]) var tarId = ''; MESSAGE.allType('move', title, msg, foot, tarId); }, allType: function(type, title, msg, foot, tarId){ var randClass = ''; if(tarId == '') { randClass = ' message_rand'; tarId = 'massage_'+ (new Date().getTime() + Math.ceil(Math.random()*1000000)); } $('.message_box:not("#'+tarId+'")').hide(); if($('#'+tarId).length < 1) { if(type == 'confirm'){ var footHtml = '
'; }else{ var footHtml = foot == ''? '': '
'+foot+'
'; } var tplHtml = '
' +'

'+title+'

' +'
'+msg+'
'+footHtml+'
'; $('body').append(tplHtml); } if(type != 'move') $('#mask_layer').show(); $('#'+tarId).show(); MESSAGE.resize(tarId); $(window).resize(function(){MESSAGE.resize(tarId);}); $('#'+tarId+' .message_close').click(function(){MESSAGE.hide()}); if(type != 'move') $('#mask_layer').click(function(){MESSAGE.hide()}); if(type == 'confirm') { $('.confirmOk').click(function(){ MESSAGE.hide(); eval(foot); }); } //SCROLL.disable('body'); }, hide: function(){ $('.message_box.message_rand').remove(); $('.message_box').hide(); $('#mask_layer').hide(); //SCROLL.enable('body'); }, resize: function(tarId){ var top = ( $(window).height() - $('#'+tarId).height() )/2; var left = ( $(window).width() - $('#'+tarId).width() )/2; $('#'+tarId).css({"top": top,"left": left }); }, fadeMsg: function(json){ // 浼犲叆鏁版嵁锛 // 鎴愬姛鍥炶皟锛 {status: true, data: "success msg", code: 0} // 閿欒鍥炶皟锛 {status: false, data: "error msg", code: 0} // MESSAGE.ajaxError(json); if(json.status){ var className = 'btn-success'; }else{ var className = 'btn-danger'; } var btn = ''; $("body").append(btn); $(".message-fademsg-btn").fadeIn(3000); $(".message-fademsg-btn").fadeOut(3000,function(){ $(".message-fademsg-btn").remove(); }); } }; /** * @method TOURL 璺宠浆銆佽幏鍙栧叾鍙傛暟鍊?... * @author soul 2017/6/16 */ var TOURL = { go:function(url){ url = url == ''? TOURL.getParam('goto'): url; url = url == null || url == ''? '/': url; window.location.href = url; }, goBack:function(){ window.history.go(-1); }, getParam: function(name){ var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); var r = window.location.search.substr(1).match(reg); if (r != null) return unescape(r[2]); return null; }, setParam:function (OldUrl, SetParaArr){ OldUrl = OldUrl == '' ? window.location.href: OldUrl; //鍙栨弿鐐 var Target = ''; if(OldUrl.indexOf('#') != -1) { Target = OldUrl.substr(OldUrl.indexOf('#')); OldUrl = OldUrl.substr(0, OldUrl.indexOf('#')); } var OldParaStr = ''; var BaseUrl = OldUrl; if(OldUrl.indexOf("?") != -1) {//瀛樺湪 OldParaStr = OldUrl.substr(OldUrl.indexOf("?") + 1); BaseUrl = OldUrl.substr(0, OldUrl.indexOf("?")); } var NewParaArr = new Array(); var TempArr = OldParaStr.split('&'); for(var I in TempArr) { var Temp = TempArr[I].split('='); if(Temp[0] != '') { NewParaArr[Temp[0]] = Temp.length > 1? Temp[1]: ''; } } for(var I in SetParaArr) { NewParaArr[I] = SetParaArr[I]; } var TempArr = new Array(); for (var I in NewParaArr) { if(NewParaArr[I] != '') { TempArr.push(I+'='+NewParaArr[I]); } } return BaseUrl+'?'+TempArr.join('&')+Target; }, login:function(){ TOURL.go(shopUri+'user/login?goto='+encodeURIComponent(window.location.href)); } }; /** * @method 鍒嗛〉澶勭悊 * @author soul 2017/6/16 */ var PAGE = { jump:function(){ window.location.href = $('.to_page_txt:eq(0)').attr('base').replace('-_-page_-_', $('.to_page_txt:eq(0)').val()); }, perPage:function(perPage){ $.cookie('perPage', perPage, {expires:7}); location.reload(); } } /** * @method 鍙敹鎷㈠鍣 * @author soul 2017/6/16 */ var EXTENDBOX = { //鍒濆鍖栧叧闂墦寮€浜嬩欢.... init: function(){ $('.extend_closed .extend_body').hide(); $('.extend_box .open_close').click(function(){ var obj = $(this).closest('.extend_box'); if(obj.hasClass('extend_closed')) { obj.removeClass('extend_closed').addClass('extend_opened'); obj.find('.extend_body').show(); } else { obj.removeClass('extend_opened').addClass('extend_closed'); obj.find('.extend_body').hide(); } }); } }; /** * @method JSON 瀛楃涓 鍜 瀵硅薄鐨勪簰杞 * @author soul 2017/6/16 */ var MYJSON = { toSting: function(json){ return JSON.stringify(json); }, toJson: function(string){ return JSON.parse(string); } }; /** * @method 瀛楃涓插鐞 * @author soul 2017/6/30 */ var STRING = { formatNum: function(str){ return str.replace(/[^0-9a-zA-Z]/ig, ''); }, formatFac: function(str){ return str.replace(/\s/ig, ''); }, toEn: function(str){ return str.replace(/[^0-9a-zA-Z]/ig, ''); }, toCnEn: function(str){ return str.replace(/[^0-9a-zA-Z\u4e00-\u9fa5]/ig, ''); }, subString:function(str, len){ str = $.trim(str); var temLen = 0; var newStr = ''; for (var i = 0; i < str.length; i++) { if (str.charCodeAt(i) > 128){ temLen += 2; }else{ temLen += 1; } if(temLen > len) return newStr; newStr = str.substr(0, i+1); } return newStr; } }; var ARRAY = { //valType锛 number || string 銆愰粯璁ゃ€ unique: function(arr, valType){ if(!arguments[1]) var valType = 'string'; if(valType == 'number'){ arr.sort(function(a,b){return a - b;}); }else{ arr.sort(); } var resarr =new Array(); var temp = ''; for(var i in arr) { if(arr[i] != temp && arr[i] != '') { resarr.push(arr[i]); temp = arr[i]; } } return resarr; }, merge: function(arr1, arr2){ return $.merge(arr1, arr2); }, has:function(val, arr){ return $.inArray(val, arr); } }; /** * @method checkbox select radio 鐨勬搷浣 * @author soul 2017/6/30 */ var INPUT = { checkAll: function(obj, toName){ $('[name="'+toName+'"]:visible').prop('checked', $(obj).prop('checked')); }, getCheckedVal: function(toName){ var val = new Array(); $('[name="'+toName+'"]:checked').each(function(){ val.push($(this).val()); }); return ARRAY.unique(val); }, getNoCheckedVal: function(toName){ var val = new Array(); $('[name="'+toName+'"]').not('input:checked').each(function(){ val.push($(this).val()); }); return ARRAY.unique(val); } }; /** * @method 杞﹀瀷搴撻€夋嫨 * @author soul 2017/6/30 */ var MODELBOX = { showSelectModel:function(obj){ $('#showSearchModel').hide(); $('#showSelectModel').show(); $(obj).siblings().removeClass('active') $(obj).addClass('active'); }, showSearchModel:function(obj){ $('#showSelectModel').hide(); $('#showSearchModel').show(); $(obj).siblings().removeClass('active') $(obj).addClass('active'); }, showBrand:function(){ var brandObj = $('#MODELBOX .modelBrand'); brandObj.find('.initialList li[initial]').unbind('click').click(function(){ brandObj.find('.initialList .selected').removeClass('selected'); $(this).addClass('selected'); var initial = $(this).attr('initial'); switch(initial) { case 'hot': $('#MODELBOX .model-brand-ul li:not(.hot)').hide(); $('#MODELBOX .model-brand-ul li.hot').show(); break; case 'all': $('#MODELBOX .model-brand-ul li').show(); break; default: $('#MODELBOX .model-brand-ul li:not([initial="'+initial+'"])').hide(); $('#MODELBOX .model-brand-ul li[initial="'+initial+'"]').show(); break; } }); }, searchModByWord:function(){ if($.trim($('#showSearchModel [name="word"]').val()) != ''){ return true; }else{ $('#showSearchModel [name="word"]').focus(); return false; } } }; var NUMBER = { getNumber:function(obj){ $('.number-search-list').hide(); var val = $.trim($(obj).val()); if(val.length < 3) return false; $.get(shopUri+'catalog/ajaxGetNumber?isAjax=1&num='+val, function(data){ if(MESSAGE.ajaxError(data)) { if(data.data.length > 0) { var li = ''; for(var i in data.data) { li += '
  • '+data.data[i]['prn_display']+'
  • '; } $('.number-search-list').html(''); $('.number-search-list').show(); } } }, 'json'); }, checkSearch:function(){ if($.trim($('#numberSearch [name="word"]').val()) != ''){ return true; }else{ $('#numberSearch [name="word"]').focus(); return false; } } }; function cartEvent() { $('#number').keyup(function(){ var obj = $(this); $('.number-search-list').hide(); var val = $.trim(obj.val()); if(val.length < 1) return false; $.get(shopUri+'index/ajaxCartSearchPro?isAjax=1&num='+val, function(data){ if(MESSAGE.ajaxError(data)) { if(data.data.length > 0) { var li = ''; for(var i in data.data) { li += '
  • '+data.data[i]['prn_show']+'
  • '; } $('.number-search-list').html('').show(); } } }, 'json'); }); $('.fast-add-pro .any').click(function(){ layer.open({ title: ['鎵归噺娣诲姞浜у搧', 'font-size:18px;'], area: ['500px', '430px'], btn: ['纭娣诲姞', '鍏抽棴'], scrollbar:false, btnAlign: 'c', type: 1, content: '
    ', btn1:function(layero, index){ var numtxt = $.trim($('#anynum').val()); if(numtxt == '') { $('#anynum').focus(); return false; } $.get(shopUri+'index/ajaxAddAnyCartPro?isAjax=1&num='+numtxt.replace(/\n/g, ";"), function(data){ if(MESSAGE.ajaxError(data)) { $('#cartProList').append(data.data); if($('#cartProList [proid]').length > 0) $('#cartProList .nodata').remove(); cart.Calcula(); } }, 'json'); } }); }); } //娣诲姞鍒拌喘鐗╄溅骞跺垵濮嬪寲 function addProToCartRow(obj, proId) { $('#number').val($(obj).find('a').html()); if($('#cartProList [proid="'+proId+'"]').length > 0){ layer.msg('姝よ鏍煎瀷鍙峰凡瀛樺湪, 璇峰嬁閲嶅娣诲姞锛?); $('.number-search-list').hide(); }else{ $.get(shopUri+'index/ajaxAddCartPro?isAjax=1&proId='+proId, function(data){ $('.number-search-list').hide(); if(MESSAGE.ajaxError(data)) { layer.msg('娣诲姞璐墿杞︽垚鍔?); $('#cartProList').prepend(data.data); if($('#cartProList [proid]').length > 0) $('#cartProList .nodata').remove(); cart.Calcula(); } }, 'json'); } } /* *鏍煎紡鍖栦粠Exce绮樿创鐨勫彿鐮 */ function FormatNumTxt(Obj) { var NumTxt = $(Obj).val(); NumTxt = NumTxt.replace(/[\t;]/g, "\n"); var ss = NumTxt.split("\n"); var temp = ''; for (key in ss) { if($.trim(ss[key]) != '') { temp += ss[key]+"\n"; } } $(Obj).val(temp.toUpperCase()); }