document.write(""); document.write(""); document.write(""); document.write(""); document.write(''); var MyCart=[]; var BiDe={}; var cartCookie=''; var Country="CHINA|RMB"; var filedomain="https://file.bidepharm.com"; var imgErrorSrcs=[];//错误图片src数组 var single_search_url = '';//头部模糊搜索到的只有一个页面的链接 var searchSingleCas = '';//搜索的时候只有一条数据时,并且搜索的为CAS号 var domainName = document.location.host; if(domainName=='bidepharm.com'||domainName=='www.bidepharm.com'){ var pnthost = 'https://api-ims.bidepharm.com'; // 正式 }else{ var pnthost = 'http://test-api-ims.bide.cn'; // 测试 } !(function (e, n, t, s, c) { e[s] = e[s] || function () { (e[s].q = e[s].q || []).push(arguments); }; (e._gio_local_vds = c = c || 'vds'), (e[c] = e[c] || {}), (e[c].namespace = s); var d = n.createElement('script'); var i = n.getElementsByTagName('script')[0]; (d.async = !0), (d.src = t); i ? i.parentNode.insertBefore(d, i) : n.head.appendChild(d); })(window, document, 'https://assets.giocdn.com/sdk/webjs/gdp-full.js', 'gdp'); gdp('init', '8431c491998037c6', 'af4bf7bcd79bd05e', { version: '1.0', }); window.onload=function() { /*var vh = window.innerHeight; $('body').css({ "minHeight": vh + 'px' });*/ //DOM文档加载完成判断是否为IE,为IE,并且大于IE8,引用IE兼容CSS /* var Sys = {}; var ua = navigator.userAgent.toLowerCase(); var s; (s = ua.match(/rv:([\d.]+)\) like gecko/)) ? Sys.ie = s[1] : (s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] : 0; if (Sys.ie==8){ //IE8时trim扩展,处理谷歌统计IE8报错 String.prototype.trim = function () { return this.replace(/(^\s*)|(\s*$)/g, ""); } } else if (Sys.ie > 8) { $($('head')[0]).append($('')); }*/ if (!isempty(getCookie("access_token"))) { $('.lab_uploadImg input,.sp_upload input').attr('type','file'); $('.lab_uploadImg input,.sp_upload input').removeAttr("onclick"); $('.lab_uploadImg input,.sp_upload input').attr('onchange','_upadSearchImg(this)'); _DoAjaxAsyncTrue("GET", {}, "/webapi/v1/getmemberinfo", function(res){ //替换成punchout用户名 var punchoutUser = getCookie("punchout_user"); if(!isempty(res)&&!isempty(punchoutUser)){ if(punchoutUser.substring(0,1)=='"'){ punchoutUser = punchoutUser.substring(1, punchoutUser.length); } res.mem_name = punchoutUser.split("@")[0]; } try{ _loadMmeberInfo(res);//其他页面读取会员信息进行处理 }catch (e){} if(!isempty(res)){ BiDe=res; $(".a_header_login").html(res.mem_name.substring(0,2)).attr("href","/mem/basic-information.html").show(); $(".dv_welcome_R").css("visibility","visible").html('Hi! '+res.mem_name+'

退出

'); if($(".com_mem_balance").length>0){$(".com_mem_balance").html(parseFloat(res.mem_balance/100).toFixed(2));} var mem_pnt = 0;//积分 var expiryPnt = 0;//过期积分 var expiryDate = 0;//过期日期 $('.mem_show').show();// _DoAjaxAsyncTruePoints("GET",{},pnthost + "/web/user_points/"+BiDe.mem_userid,function(res){ mem_pnt = res.points; expiryPnt = res.expiry_points; expiryDate = res.deadline; if($(".com_mem_pnt").length>0){$(".com_mem_pnt").html(mem_pnt);} if($(".dying_integral").length>0){$(".dying_integral").html(expiryPnt);} if($(".month_day").length>0){$(".month_day").html(expiryDate);} //加载会员信息Tips窗口 $('.header-icon .a_header_login').pt({ position: 'b', align: 'c', width:200, content: '
'+ '
'+BiDe.mem_name+'
'+ '
'+ '

可用积分:'+mem_pnt+'

'+ '

'+ '账号管理'+ '| '+ '退出'+ '

'+ '
'+ '
' }); }) }else{ $(".dv_welcome_R").css("visibility","visible") } }); }else{ $('.lab_uploadImg input,.sp_upload input').attr('type','button'); $('.lab_uploadImg input,.sp_upload input').removeAttr("onchange"); $('.lab_uploadImg input,.sp_upload input').attr('onclick','_upadSearchImg(this)'); $(".dv_welcome_R").css("visibility","visible"); $(".a_header_login").show(); } if (isempty(getCookie("cart_key"))) { var getcookie = _getCartCookie(); if (isempty(getcookie)) { var newcartcookie = _getNonDuplicate(); _setCartCookie(newcartcookie); cartCookie = newcartcookie; } else { cartCookie = getcookie; } } //$("#pro_keyword").blur(function () {//搜索框失去焦点关闭搜索list // setTimeout(function () { // $("#searchResult_List dd").remove(); // }, 200); //}); //公共选项 $('.public-option-tab a').click(function(){ $(this).addClass('current'); $(this).siblings().removeClass('current') }); //page $('.page span').click(function(){ $(this).addClass('current'); $(this).siblings().removeClass('current') }); _uptCartInfo();//更新购物车信息 }; //更新购物车信息 function _uptCartInfo(funcName){ if(isempty(funcName)){funcName = function(){}} _DoAjaxAsyncTrue("GET",{},"/webapi/v1/user/shopcart?t="+Math.random(),function(res){ $(".a_header_cart").unbind();//解除绑定 if(!isempty(res)&&res.length>0){ var cartHtml='

最近加入的产品

'; var sumcoin=0; $.each(res, function(idx, item) { var rate=1;//折扣 if(!isempty(BiDe)){ if(BiDe.mem_discount==item.pr_rate){ rate=item.pr_rate; }else if(BiDe.mem_discount'+ '
  • '+ '

    '+item.p_name_cn+'

    '+ ''+item.p_cas+''+item.p_bd+''+item.pr_size+''+ '
  • '+ '
  • '+ '

    ¥'+newprice+' X'+item.c_quantity+'

    '+ '删除'+ '
  • '+ ''; }); cartHtml+='

    去购物车

    '; $('.a_header_cart').pt({ position: 'b', align: 'r', width: '315', content: cartHtml }); } $('.a_header_cart .cart_num,.phone_footer_menu .a_cart .cart_num').remove();//先删除再添加 $('.a_header_cart,.phone_footer_menu .a_cart').append(''+(isempty(res)?0:res.length)+''); try{funcName();}catch(e){}//执行回调 }); } //生成一个用不重复的ID function _getNonDuplicate(){ var date=new Date(); var idStr = date.valueOf().toString(36); idStr += Math.random().toString(36).substr(3); return idStr; } //获取购物车Bookie function _getCartCookie(){ return _DoAjax("GET",{},"/webapi/v1/user/cartcookie"); } //设置购物车Cookie function _setCartCookie(cartkey){ _DoAjax("POST",{"cart_key":cartkey,"_xsrf": getCookie("_xsrf")},"/webapi/v1/user/cartcookie"); } //检查邮箱格式 function _chkEmail(val){ return /^[\w\-\.]+@[\w\-\.]+(\.\w+)+$/.test(val)?true:false; } //检查密码 function _chkPassword(val){ return /^(?!\d+$)(?![a-zA-Z]+$)[\dA-Za-z]{6,18}$/.test(val)?true:false; } //检查手机号码及座机 function _chkPhone(val){ return /^((0\d{2,3}-\d{7,8})|(1\d{10}))$/.test(val)?true:false; } //检查是否带标签 function _chkHasSpecial(params){ return /<[^>]+>/.test(JSON.stringify(params))?true:false; } /*弹窗*/ var bide={ _msg:function(msg){//提示框,不自动关闭 layer.msg(msg); }, _warn:function(msg){//提示,手动关闭 if($(".dv_load_gif").length>0){$(".dv_load_gif").hide();} layer.open({ area: ['350px','200px'], fix: false, //不固定 shadeClose: true, title: "提示信息", btn: ['确定'], btnAlign: 'c', yes: function(index, layero){ layer.closeAll(); }, content: msg, resize:false }); }, _conf:function(msg,funcName,obj){//确认 layer.open({ area: ['350px','200px'], fix: false, //不固定 shadeClose: true, title: "提示信息", btn: ['确定','取消'], btnAlign: 'c', yes: function(index, layero){ funcName(obj); }, btn2: function(index, layero){ layer.closeAll(); }, content: msg, resize:false }); }, _warntip:function(msg){//提示信息 自动关闭 2秒后关闭 var tipHtml='
    '+ '
    '; _boxShow('html',350,200,"提示信息",tipHtml,2000); }, _cntbox:function(html,title,w,h,cat){//纯内容窗口,只有×关闭 if(isempty(cat)){cat="html"} isempty(w)?w=800:w; isempty(h)?h=560:h; _boxShow(cat,w,h,title,html); } }; //弹出层 function _boxShow(cat,w,h,title,url,time,skin) { if(isempty(skin)){skin="";} if (title == null || title == '') { title = false; } if (time == null || time == '') { time = 0; } if (url == null || url == '') { url = "error.html"; } if (w == null || w == '') { w = ($(window).width()); } if (h == null || h == '') { h = ($(window).height()); } var type = (cat == "url") ? 2 : 1; layer.open({ type: type, skin:skin, area: [w + 'px', h + 'px'], fix: true, //不固定 //maxmin: true, time:time, btnAlign: 'c', title: title, content: url, resize:false, shadeClose:true }); } /*绑定确定键执行的方法*/ function _domKey13(funcname){ $(document).keypress(function(e) { if(e.which == 13) { funcname(); } }) } //获取产品主图 function _getProimg(cas,pid){ var filedomainname="https://file.bidepharm.com"; var foldername=Math.ceil(parseInt(pid.substring(1))/1000);//该产品图片存放的文件夹名称 var img=''; if(!isempty(cas)&&cas!="N/A"){ img=cas+".png"; }else{ img=pid+".png"; } return filedomainname+"/static/upload/proimg/"+foldername+"/"+img; } //根据标签字段获取img function _getTagsImg(tag){ var html=''; if(!isempty(tag)){ var tags=[]; var tagImgs=['','Exclusive','Free','Sale','New','Feature','Bulk']; if(tag.indexOf(",")>-1){ tags=tag.split(","); }else{ tags[0]=tag; } $.each(tags,function(idx,item){ html+=''; }); } return html; } //刷新页面 function _reload(){ window.location.reload(); } //DOM添加A标签。打开新链接,cat=默认打开新窗口,cat=_self,本窗口加载。 function _aClickOpenWindow(href,cat){ cat=isempty(cat)?"_blank":cat; var aobj = document.createElement("a"); aobj.setAttribute("target", cat); aobj.setAttribute("href", href); aobj.setAttribute("type", "hidden"); document.body.appendChild(aobj); aobj.click(); } function _openSearchHtml(obj){ var keyword=$.trim($("#pro_keyword").val()); if(isempty(keyword)){keyword=$.trim($(".dv_keyword_list .keyword_text").val());} if(keyword!=""){ if(obj==0){ if(_chkIsCas(keyword)){//为CAS执行带推荐的搜索 _aClickOpenWindow('/search/search-recommend.html?pro_url='+keyword+".html&cas="+keyword, "_self"); return false; } var to_url = ''; if(!isempty(single_search_url)){ var s_url = single_search_url; var pro_url = (s_url.indexOf("?")>-1?s_url.split("?")[0]:s_url); var pro_bd = (s_url.indexOf("BD=")>-1?s_url.split("BD=")[1]:''); to_url = ( '/search/search-recommend.html?pro_url=' + pro_url + (!isempty(searchSingleCas)?'&cas='+searchSingleCas:'') + (!isempty(pro_bd)?('&BD='+pro_bd):'') ); }else{ to_url = '/search/search-data.html?keyword=' + keyword; } _aClickOpenWindow(encodeURI(to_url), "_self"); }else if(obj==1){ keyword=keyword.replace(/\r\n/g, ',').replace(/\n/g, ',').replace(/(^\s*)/g,"").replace(/(\s*$)/g,""); if(keyword.split(",").length>50){bide._warn("最多搜索50条");return false;} _aClickOpenWindow(encodeURI('/search/BatchSearch.html?keyword='+keyword),"_self"); } } } //机构式处理特殊字符 function _smilesEnCode(smiles){ return encodeURIComponent(smiles); } //机构式处理特殊字符,解码 function _smilesDeCode(smiles){ if (isempty(smiles)) { return null; } return decodeURIComponent(smiles); } var timeoutId; function searchPro(keyword){ var chk_len=(keyword.match(/^[\u4e00-\u9fa5]+$/))?1:2; if(keyword.length>chk_len){ single_search_url = ''; searchSingleCas = ''; //对上次未完成的延迟操作进行取消 clearTimeout(timeoutId); //对于服务器端进行交互延迟500ms,避免快速打字造成的频繁交互 timeoutId = setTimeout(function () { _loadkeywordlist(keyword); },300); }else{ $("#searchResult_List dd").remove(); $("#searchRecommendedProducts").html('').hide(); } } //根据搜索数据返回产品列表HTML 2023-03-02 function _getSearchLiHtml(reslist){ var ulHtml = ''; for (var i = 0; i < reslist.length; i++) { if( reslist[i].s_menucat==0){ var mdl_html='',mdl_class=''; if(!isempty(reslist[i].mdl)){ mdl_html=''+reslist[i].mdl+''; mdl_class='dd_mdl'; } var title_name=reslist[i].name_en; if(isempty(title_name)){title_name=reslist[i].name_cn} ulHtml += '
    '+mdl_html+ reslist[i].name + '
    '; }else { ulHtml += '
    ' + reslist[i].name + '
    '; } } return ulHtml; } //根据CAS搜索并绑定推荐产品Html function _bindSearchRecommendProHtml(cas, searchProHtml){ var searchRecommendedProTemplate = ''; var searchHtmlTemplate = '
    \ \ {RecommendedProHtml}\
    \

    关键字搜索批量搜索

    '; _DoAjaxAsyncTrue("POST",{"cas":cas},"/webapi/v1/get_search_product_and_recommended_products_by_cas",function(res){ var searchPro = res.search_pro_dict; if(!isempty(searchPro)&&!isempty(res.r_pro_list)){ var RecommendedProHtml = ""; $.each(res.r_pro_list, function(idx, item){ if(idx<=3){ item["pro_img"] = _getProimg(item.cas, item.proid); item["pro_url"] = _getProUrl(item.cas, item.proid); item["hasstock"] = (item.ishasstock?"常备现货":"-"); RecommendedProHtml += searchRecommendedProTemplate.format(item); } }); searchPro["pro_img"] = _getProimg(searchPro.p_cas, searchPro.p_id); searchPro["pro_url"] = _getProUrl(searchPro.p_cas, searchPro.p_id); searchPro["hasstock"] = (searchPro.p_ishasstock?"常备现货":"-"); searchPro["RecommendedProHtml"] = RecommendedProHtml; $("#searchRecommendedProducts").html(searchHtmlTemplate.format(searchPro)).show(); }else{ //没有推荐,展示原搜索内容 $("#searchResult_List").html(searchProHtml); } }, undefined, true); } //异步请求-关键字改变时 function _loadkeywordlist(keyword){ keyword = $.trim(keyword);//关键字去除2端空格 2023-03-15 var encoded = base64encode(JSON.stringify({keyword:keyword})); $.ajax({ type: "GET", url: "/webapi/v1/searchquery", async: true, data: {params: encoded, _xsrf: getCookie("_xsrf")}, success: function (response) { if (!isempty(response)) { if (response.code == 200) { var reslist = response.value; if (reslist.length > 0) { $("#searchResult_List dd").remove(); //初始化搜索提示文本 $("#searchRecommendedProducts").html('').hide(); //初始化产品推荐文本 var proListHtml = _getSearchLiHtml(reslist); if(reslist.length == 1){ single_search_url = reslist[0].url; if(reslist[0].cas == keyword){//搜索的是CAS searchSingleCas = keyword; _bindSearchRecommendProHtml(keyword, proListHtml); }else{ $("#searchResult_List").html(proListHtml); } }else{ $("#searchResult_List").html(proListHtml); } }else{ $("#searchResult_List").html(''); $("#searchRecommendedProducts").html('').hide(); } } } } }); } //删除购物车商品 function _delCartById(obj){ var cartid=$(obj).attr("cartid"); if(!isempty(cartid)){ _DoAjaxAsyncTrue("DELETE",{},"/webapi/v1/user/cart/"+cartid,function(){ $(obj).parent().parent().remove(); _uptCartInfo();//更新购物车信息 }); } } function _upadSearchImg(obj){ if (!isempty(getCookie("access_token"))) { if(!isempty($(obj).val())){ var max_size = 1024;// 1M var filearr=$(obj)[0].files; if (filearr[0].size > max_size * 1024) { layer.msg("图片大小不能超过1M"); $(obj).val(null); return false; } var data = new FormData(); data.append('file', filearr[0]); data.append('_xsrf',getCookie("_xsrf")); data.append('isBW',1); //发送数据 $.ajax({ url:'/webapi/v1/user/uploadImgBySearch', type:'POST', data:data, cache: false, contentType: false, //不可缺参数 processData: false, //不可缺参数 beforeSend: function(XMLHttpRequest){ layer.load(2); }, success:function(response){ layer.closeAll(); if(response.value.isok){ _loadMol(response.value.fileUrl,response.value.mol) $(obj).val(null); }else{ layer.msg(response.value.errmsg); } }, error:function(){ layer.closeAll(); console.log(filearr[0].name+'上传出错'); } }); } } else{ layer.msg("请登录后使用"); } } function _loadMol(fileUrl,mol){ if($(".dv_loadSearchImg").length>0&&$("#ketcherFrame").length>0){ if(!isempty(fileUrl)){ if(isIE()){ $(".isIe > div img").attr("src",fileUrl+"?v="+Math.random()); }else{ $(".noIe #preview img").attr("src",fileUrl+"?v="+Math.random()); } } if(!isempty(mol)) { $("#ketcherFrame")[0].contentWindow.ketcher.setMolecule(mol.replace(" ", "\xa0")); } if(!isempty(fileUrl)&&isempty(mol)){ $(".noIe #preview img,.isIe > div img").attr("src","/static/img/copyImgUpload.png"); layer.msg('请粘贴结构图片,非结构图片无法识别!'); } }else{ window.location.href='/search/StructureSearch.html'; } } //判断是否是ie function isIE() { if (!!window.ActiveXObject || "ActiveXObject" in window) return true; else return false; } //获取产品链接 function _getProUrl(cas,pid){ var url = "javascript:;"; if(!isempty(cas)&&cas!="N/A"){ url="/products/"+cas+'.html' }else if (!isempty(pid)){ url="/products/"+pid+'.html' } return url } //判断是否为CAS function _chkIsCas(cas){ return /\d+-\d+-\d+/.test(cas) } //获取积分 function _DoAjaxAsyncTruePoints(type,params,url,funcname){ if(type!="GET"&&isPost){console.log("重复提交,"+url);return false;} var index; if(type=="GET"){ isPost=false; }else{ isPost=true; } funcname=isempty(funcname)?function(){}:funcname; var encoded = base64encode(JSON.stringify(params)); var ajaxTimeout=$.ajax({ type: type, url: url, async: true, timeout :120000, //超时时间设置,单位毫秒 data: {params: encoded, _xsrf: getCookie("_xsrf")}, success: function (response) { isPost=false; if (!isempty(response)) { if (response.code == 200) { if(response.data.hasOwnProperty("isok")) {//是否有key isok 。有说明是业务处理。没有为获取数据 if(response.data.isok){ try{layer.closeAll();}catch (e){} funcname(response.data); }else{ _ErrmsgShow(response.data.errmsg); layer.close(index); return false; } }else{ try{ page.pagesum=response.data.meta.page; page.pagesize=response.data.meta.page_size; page.total=response.data.meta.count; page.pageindex=response.data.meta.page; }catch (e){} funcname(response.data); } layer.close(index); }else{ _ErrmsgShow(response.message); layer.close(index); } } }, complete: function(XMLHttpRequest,status){ //请求完成后最终执行参数 isPost=false;       if(status=='timeout'){//超时,status还有success,error等值的情况 ajaxTimeout.abort();//终止ajax请求 layer.close(index); } } }); } // //data-is_secret上传的文件,访问时是否需要验证(默认是)(需要验证时使用的是另一个Bucket、serret、域名信息)(0否,1是,字符串) //data-max_size最大上传文件大小(M)(默认10M) //data-upload_type上传对应类型,根据此类型生成保存目录 //上传文件到阿里云oss function _uploadAliyunOss(obj, re_type = 1, show_class = "show_img") { //obj:上传文件的input的对象 //re_type:返回类型,具体参考下面代码 //show_class:显示上传文件的class名称 let idx = layer.load(2); //显示“加载中”转圈圈图标 let file = $(obj)[0].files[0]; let data = new FormData(); let is_secret = "0"; //上传的文件,访问时是否需要验证(默认是)(需要验证时使用的是另一个Bucket、serret、域名信息)(0否,1是,字符串) let max_size = 10; //最大上传文件大小(M)(默认10M) let upload_type = "1"; //上传对应类型,根据此类型生成保存目录 if($(obj).attr("data-is_secret") !== undefined){ is_secret = $(obj).data("is_secret"); } if($(obj).attr("data-max_size") !== undefined){ max_size = $(obj).data("max_size"); } if($(obj).attr("data-upload_type") !== undefined){ upload_type = $(obj).data("upload_type"); } data.append('file', file); data.append('_xsrf', getCookie("_xsrf")); data.append("is_secret", is_secret); //上传的文件,访问时是否需要验证(默认是)(需要验证时使用的是另一个Bucket、serret、域名信息)(0否,1是,字符串) data.append("max_size", max_size); //最大上传文件大小(M)(默认10M) data.append("upload_type", upload_type); //上传对应类型,根据此类型生成保存目录 //发送数据 $.ajax({ url: '/webapi/v1/uploadaliyunoss', type: 'POST', data: data, cache: false, contentType: false, //不可缺参数 processData: false, //不可缺参数 success: function (data) { layer.close(idx); if(data.isok == true || data.isok == "true" || data.isok == 1 || data.isok == "1" || data.isok == "True" || data.isok){ layer.msg('上传成功'); // data.see_url 可访问的含域名的url(含验签数据),is_secret=1时用于打开、查看、显示文件,is_secret=0时则等于data.url // data.url 上传成功的含域名的url,用于保存数据库 // data.upload_filename 上传的文件原文件名,一般用于显示 if(re_type == 1){ //img标签显示 // {data.upload_filename} $("."+show_class).attr("src", data.see_url).attr("save_databse_url", data.url).attr("upload_filename", data.upload_filename).attr("alt", data.upload_filename).show(); } else if (re_type == 2) { //input显示 // $("."+show_class).val(data.url).attr("save_databse_url", data.url).attr("upload_filename", data.upload_filename); } else if (re_type == 3) { //a标签显示 // {data.upload_filename} $("."+show_class).attr("href", data.see_url).attr("save_databse_url", data.url).attr("upload_filename", data.upload_filename).attr("title", data.upload_filename).html(data.upload_filename).show(); } else if (re_type == 4) { //a标签显示,img标签显示 // // {data.upload_filename} // $("."+show_class+"_a").attr("href", data.see_url).attr("save_databse_url", data.url).attr("upload_filename", data.upload_filename).attr("title", data.upload_filename).show(); $("."+show_class+"_img").attr("src", data.see_url).attr("save_databse_url", data.url).attr("upload_filename", data.upload_filename).attr("alt", data.upload_filename).show(); } else if (re_type == 99) { //返回数据 return data; } } else { if (re_type == 99) { return data; } else { layer.msg(data.errmsg); } } }, error: function () { layer.close(idx); if (re_type == 99) { return {"isok": false, "errmsg": "上传出错"}; } else { layer.msg('上传出错'); } } }); }