qfw.js 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655
  1. var hasNewActive = new Date() >= Date.parse(new Date("2015/12/14 00:00:00")) && new Date() < Date.parse(new Date("2016/2/15 00:00:00"));
  2. //网站初始化状态
  3. var webSiteInitFlag = true;
  4. //登录状态 false--未登录,true--已登录
  5. var isLogined = false;
  6. //0默认,1微官网,2员工邀请,3绑定微信,4注册,5预约,6投标,7登录之后跳转到用户中心首页
  7. var loginBackType = null;
  8. //登录完之后强制刷新
  9. var compulsoryreRresh = false;
  10. //顶部是否加载完毕
  11. var topLoadOver = false;
  12. //表单验证的参数
  13. var cssctlObj = null;
  14. var ValidDatatype = {
  15. //正数
  16. "f": function(gets,obj,curform,regxp){
  17. return !!gets.match("^[0-9].*$");
  18. },
  19. //手机号
  20. "m": function(gets,obj,curform,regxp){
  21. return !!gets.match("^[1][3-9][0-9]{9}$");
  22. },
  23. //邮箱
  24. "e": function(gets,obj,curform,regxp){
  25. return !!gets.match("^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$");
  26. },
  27. "*4": /^[^\s]{4,4}$/,//四位任意字符
  28. "n4": /^\d{4,4}$/, //四位数字
  29. "n6": /^\d{6,6}$/, //六位数字
  30. "ns6-14": function(gets,obj,curform,regxp){//6~14个字符的数字、字母、可输入特殊字符的两种组合
  31. var msg = "长度为6~14个字符的数字、字母组合,区分大小写";
  32. if(obj.attr("recheck")){
  33. msg = "两次输入的密码不一致";
  34. }
  35. if(gets.length == 0){
  36. return false;
  37. }else if(gets.indexOf(" ") > -1){
  38. return "密码中不能包含有空格";
  39. }else if(regxp.n.test(gets) || /^[A-Za-z]+$/.test(gets)){
  40. return msg;
  41. }else if(/((?=[\x21-\x7e]+)[^A-Za-z0-9])/.test(gets) && !/\d/.test(gets) && !/[\u4E00-\u9FA5\uf900-\ufa2d\w\.\s]/.test(gets)){
  42. return msg;
  43. }
  44. return true;
  45. }
  46. }
  47. /*
  48. * Date Format 1.2.3
  49. * (c) 2007-2009 Steven Levithan <stevenlevithan.com>
  50. * MIT license
  51. *
  52. * Includes enhancements by Scott Trenda <scott.trenda.net>
  53. * and Kris Kowal <cixar.com/~kris.kowal/>
  54. *
  55. * Accepts a date, a mask, or a date and a mask.
  56. * Returns a formatted version of the given date.
  57. * The date defaults to the current date/time.
  58. * The mask defaults to dateFormat.masks.default.
  59. */
  60. var dateFormat = function () {
  61. var token = /d{1,4}|m{1,4}|yy(?:yy)?|([HhMsTt])\1?|[LloSZ]|"[^"]*"|'[^']*'/g,
  62. timezone = /\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,
  63. timezoneClip = /[^-+\dA-Z]/g,
  64. pad = function (val, len) {
  65. val = String(val);
  66. len = len || 2;
  67. while (val.length < len) val = "0" + val;
  68. return val;
  69. };
  70. // Regexes and supporting functions are cached through closure
  71. return function (date, mask, utc) {
  72. var dF = dateFormat;
  73. // You can't provide utc if you skip other args (use the "UTC:" mask prefix)
  74. if (arguments.length == 1 && Object.prototype.toString.call(date) == "[object String]" && !/\d/.test(date)) {
  75. mask = date;
  76. date = undefined;
  77. }
  78. // Passing date through Date applies Date.parse, if necessary
  79. date = date ? new Date(date) : new Date;
  80. if (isNaN(date)) throw SyntaxError("invalid date");
  81. mask = String(dF.masks[mask] || mask || dF.masks["default"]);
  82. // Allow setting the utc argument via the mask
  83. if (mask.slice(0, 4) == "UTC:") {
  84. mask = mask.slice(4);
  85. utc = true;
  86. }
  87. var _ = utc ? "getUTC" : "get",
  88. d = date[_ + "Date"](),
  89. D = date[_ + "Day"](),
  90. m = date[_ + "Month"](),
  91. y = date[_ + "FullYear"](),
  92. H = date[_ + "Hours"](),
  93. M = date[_ + "Minutes"](),
  94. s = date[_ + "Seconds"](),
  95. L = date[_ + "Milliseconds"](),
  96. o = utc ? 0 : date.getTimezoneOffset(),
  97. flags = {
  98. d: d,
  99. dd: pad(d),
  100. ddd: dF.i18n.dayNames[D],
  101. dddd: dF.i18n.dayNames[D + 7],
  102. m: m + 1,
  103. mm: pad(m + 1),
  104. mmm: dF.i18n.monthNames[m],
  105. mmmm: dF.i18n.monthNames[m + 12],
  106. yy: String(y).slice(2),
  107. yyyy: y,
  108. h: H % 12 || 12,
  109. hh: pad(H % 12 || 12),
  110. H: H,
  111. HH: pad(H),
  112. M: M,
  113. MM: pad(M),
  114. s: s,
  115. ss: pad(s),
  116. l: pad(L, 3),
  117. L: pad(L > 99 ? Math.round(L / 10) : L),
  118. t: H < 12 ? "a" : "p",
  119. tt: H < 12 ? "am" : "pm",
  120. T: H < 12 ? "A" : "P",
  121. TT: H < 12 ? "AM" : "PM",
  122. Z: utc ? "UTC" : (String(date).match(timezone) || [""]).pop().replace(timezoneClip, ""),
  123. o: (o > 0 ? "-" : "+") + pad(Math.floor(Math.abs(o) / 60) * 100 + Math.abs(o) % 60, 4),
  124. S: ["th", "st", "nd", "rd"][d % 10 > 3 ? 0 : (d % 100 - d % 10 != 10) * d % 10]
  125. };
  126. return mask.replace(token, function ($0) {
  127. return $0 in flags ? flags[$0] : $0.slice(1, $0.length - 1);
  128. });
  129. };
  130. }();
  131. // Some common format strings
  132. dateFormat.masks = {
  133. "default": "ddd mmm dd yyyy HH:MM:ss",
  134. shortDate: "m/d/yy",
  135. mediumDate: "mmm d, yyyy",
  136. longDate: "mmmm d, yyyy",
  137. fullDate: "dddd, mmmm d, yyyy",
  138. shortTime: "h:MM TT",
  139. mediumTime: "h:MM:ss TT",
  140. longTime: "h:MM:ss TT Z",
  141. isoDate: "yyyy-mm-dd",
  142. isoTime: "HH:MM:ss",
  143. isoDateTime: "yyyy-mm-dd'T'HH:MM:ss",
  144. isoUtcDateTime: "UTC:yyyy-mm-dd'T'HH:MM:ss'Z'"
  145. };
  146. // Internationalization strings
  147. dateFormat.i18n = {
  148. dayNames: [
  149. "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat",
  150. "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"
  151. ],
  152. monthNames: [
  153. "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec",
  154. "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"
  155. ]
  156. };
  157. // For convenience...
  158. Date.prototype.FormatEnhance = function (mask, utc) {
  159. return dateFormat(this, mask, utc);
  160. };
  161. Date.prototype.Format = function (fmt) { //author: meizz
  162. var o = {
  163. "M+": this.getMonth() + 1, //月份
  164. "d+": this.getDate(), //日
  165. "h+": this.getHours(), //小时
  166. "m+": this.getMinutes(), //分
  167. "s+": this.getSeconds(), //秒
  168. "q+": Math.floor((this.getMonth() + 3) / 3), //季度
  169. "S": this.getMilliseconds() //毫秒
  170. };
  171. if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
  172. for (var k in o)
  173. if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
  174. return fmt;
  175. }
  176. //浏览器窗口大小变化重新加载
  177. window.onresize=webSiteInit;
  178. serializeObject = function(form) {
  179. var o = {};
  180. $.each(form.serializeArray(),function() {
  181. if (this['value']) {
  182. o[this['name']] = this['value'];
  183. }
  184. });
  185. return o;
  186. };
  187. //
  188. $(function(){
  189. if(webSiteInitFlag){
  190. webSiteInit();
  191. }
  192. });
  193. function makeData(d,_this,b){
  194. var s=$("#immediately")
  195. var res=makeImmediately(d,b);
  196. if(res){
  197. if(s.size()==0){
  198. var w=_this[0].offsetWidth;
  199. s=$("<div id='immediately' style='position:absolute;top:40px;display:none;z-index:9999;width:"+w+"px'/>")
  200. s.appendTo(_this.parent())
  201. _this.blur(function(event){
  202. //$("#immediately").animate({opacity:"toggle"},700);
  203. })
  204. }
  205. s.html(res).show()
  206. }else{
  207. s.html("").hide()
  208. }
  209. }
  210. //即时搜索时的事件处理
  211. function imFind(obj){
  212. var val=$(obj).val();
  213. if(val){
  214. $.post("/search/sim",$.extend(serializeObject($("#searchform")),{words:val}),function(d){
  215. makeData(d,$(obj))
  216. })
  217. }else{
  218. if(isLogined){
  219. $.post("/mermber/searchlog",function(d){
  220. makeData(d,$(obj),true)
  221. })
  222. }else{
  223. var s=$("#immediately")
  224. if(s.size()==1){
  225. s.html("").hide()
  226. }
  227. }
  228. }
  229. return false;
  230. }
  231. //调用搜索按钮查询
  232. function iq(obj){
  233. //$("#immediately").stop(true,true).hide();
  234. var namew=$("input[name='words']").val($(obj).text())
  235. var nf=namew.closest("form");
  236. if(nf.size()==1){
  237. nf.submit();
  238. }else{
  239. $("#c_words").click();
  240. }
  241. return false;
  242. }
  243. //删除历史数据
  244. function delLogs(){
  245. $.get("/mermber/delLog");
  246. }
  247. var delLog="<div style='text-align:right;text-decoration:underline;cursor:auto'><small style='cursor:pointer' class='text-muted' onclick='delLogs()'>删除历史记录</small></div>";
  248. //组织数据
  249. function makeImmediately(data,b){
  250. var res="";
  251. if(data&&data.length>0&&!(typeof data == "string")){
  252. for(var i=0;i<data.length;i++){
  253. var ds=data[i].split("_")
  254. //res+="<div onclick='iq(this)'>"+ds[0]+"</div>"
  255. if($("#loginStatus").length == 1){
  256. res+="<div onclick='window.open(\"/wx/enterprise/"+ds[1]+".html\")'>"+ds[0]+"</div>"
  257. }else{
  258. res+="<div onclick='window.open(\"/enterprise/"+ds[1]+".html\")'>"+ds[0]+"</div>"
  259. }
  260. }
  261. if(b){
  262. res+=delLog
  263. }
  264. }
  265. return res;
  266. }
  267. //网站初始化的一些设置
  268. function webSiteInit(){
  269. var waitTopLoadOver = null;
  270. var clear_waitTopLoadOver = function(){
  271. if(waitTopLoadOver != null){
  272. clearInterval(waitTopLoadOver);
  273. waitTopLoadOver = null;
  274. }
  275. }
  276. try{
  277. var setBottomPadding = function(){
  278. $("#qfw-bottom").css("padding-top","0px");
  279. var testBottom_offsetTop = $("#testBottom").offset().top;
  280. var windowHeight = $(window).height();
  281. if (windowHeight < document.body.clientHeight){
  282. windowHeight = document.body.clientHeight;
  283. }
  284. if(testBottom_offsetTop < windowHeight){
  285. $("#qfw-bottom").css("padding-top",(windowHeight - testBottom_offsetTop)+"px");
  286. }
  287. }
  288. //设置底部不留空白
  289. if($("#qfw-bottom").length > 0){
  290. if(typeof(topLoadOver) != "undefined") {
  291. waitTopLoadOver = setInterval(function(){
  292. if(topLoadOver){
  293. clear_waitTopLoadOver();
  294. setBottomPadding();
  295. }
  296. },100);
  297. setTimeout(clear_waitTopLoadOver,5000);
  298. }else{
  299. setBottomPadding();
  300. }
  301. }
  302. //设置左右布局
  303. if($("#loginStatus").is(":visible") && $(".a-content").length == 1 && $(".a-c-left").length == 1 && $(".a-c-right").length == 1){
  304. $(".a-c-left").css("width",$(".a-content").width() - 265);
  305. if($(".a-content").children(".clearfix").length == 0){
  306. $(".a-content").append('<div class="clearfix"></div>');
  307. }
  308. }
  309. //设置用户用心左右布局
  310. var memberLeft_marginLeft = 0;
  311. if($(".member-content").length == 1 && $(".member-content>.member-left").length == 1 && $(".member-content>.member-right").length == 1){
  312. $(".member-right").width($(".member-content").width() - 200 - 15);
  313. if($(".member-content").children(".clearfix").length == 0){
  314. $(".member-content").append('<div class="clearfix"></div>');
  315. }
  316. }
  317. }catch(e){
  318. clear_waitTopLoadOver();
  319. }
  320. }
  321. //发送验证码
  322. var SendIdentCode = {
  323. name: null,
  324. flag: false,
  325. init: function(obj,userName,parentId,c,checkCodeObj){
  326. var sendType = null;
  327. if(ValidDatatype.m(userName)){
  328. sendType = "短信";
  329. }else if(ValidDatatype.e(userName)){
  330. sendType = "邮箱";
  331. }else{
  332. return;
  333. }
  334. this.name = userName;
  335. var thisClass = this;
  336. var parentNode = $((parentId?(parentId+" "):"")+".afterSendIdentCode").show();
  337. var childNode = parentNode.children("div");
  338. if(c == -1){
  339. thisClass.flag = true;
  340. $(obj).attr("disabled","disabled");
  341. childNode.addClass("text-primary").html('抱歉,您今天发送的验证码次数已超限制,请明天再来。');
  342. return;
  343. }
  344. thisClass.flag = false;
  345. if(checkCodeObj){
  346. checkCodeObj.attr("disabled","disabled");
  347. }
  348. $(obj).addClass("text-muted").removeClass("cursor-pointer").text("已发送");
  349. $(obj).css("background-color","ccc");
  350. $(obj).css("border","1px solid #ccc");
  351. var count = 59;
  352. childNode.removeClass("text-primary").text("校验码已通过"+sendType+"发出,如果没有收到,您可在"+count--+"秒后重新发送");
  353. var intgerval = setInterval(function (){
  354. if(count == 0){
  355. if(checkCodeObj){
  356. checkCodeObj.removeAttr("disabled");
  357. }
  358. $(obj).removeClass("text-muted").addClass("cursor-pointer");
  359. $(obj).text("获取"+sendType+"验证码");
  360. parentNode.hide();
  361. clearInterval(intgerval);
  362. $(obj).css("background-color","FF5A5F");
  363. $(obj).css("border","1px solid #FF5A5F");
  364. $(obj).css("color","ffffff");
  365. }else{
  366. childNode.removeClass("text-primary").text("校验码已通过"+sendType+"发出,如果没有收到,您可在"+count--+"秒后重新发送");
  367. }
  368. },1000);
  369. }
  370. }
  371. //绑定表单验证
  372. function bindValidForm(setting,clas,ajaxConfig){
  373. $("[datatype]").focus(function(){
  374. if($(this).val().length == 0){
  375. var obj = $(this).parent("div").next().find(".Validform_checktip");
  376. var checktipText = obj.text();
  377. if(typeof(obj.attr("checktip")) != "undefined"){
  378. checktipText = obj.attr("checktip");
  379. }
  380. if(checktipText.length > 0 && !obj.hasClass("Validform_wrong") && !obj.hasClass("Validform_right")){
  381. obj.attr("checktip",obj.text()).text(checktipText).show();
  382. }
  383. }
  384. });
  385. //表单input获得焦点后,右侧出现提示信息
  386. var settings = {
  387. tiptype:2,
  388. tiptype:function(msg,o,cssctl){
  389. var obj = $(o.obj).parent().next().children(".Validform_checktip")
  390. cssctlObj = cssctl;
  391. cssctl(obj,o.type);
  392. obj.text(msg).show();
  393. },
  394. datatype:ValidDatatype
  395. };
  396. if(setting){
  397. $.extend(settings,setting);
  398. }
  399. var validForm = $("."+(clas?clas:"validForm")).Validform(settings);
  400. validForm.tipmsg.r=" ";
  401. validForm.tipmsg.c=" ";
  402. var ajaxUrl = {
  403. async:false,
  404. error:function (data,obj){
  405. $(obj).parent().next().children(".Validform_wrong").text("服务器端错误");
  406. }
  407. }
  408. if(ajaxConfig){
  409. $.extend(ajaxUrl,ajaxConfig);
  410. }
  411. validForm.config({
  412. ajaxurl:ajaxUrl
  413. });
  414. return validForm;
  415. }
  416. function errorProcess(obj,msg){
  417. obj = obj.parent().next().children(".Validform_checktip")
  418. cssctlObj(obj,3);
  419. obj.text(msg).show();
  420. }
  421. //替换input中的非数字
  422. function rePlaceUnDigital(obj){
  423. if(/[^\d]/g.test(obj.value)){
  424. var pos = getCursorPos(obj);
  425. var array = obj.value.split("");
  426. for(var i in array){
  427. if(/[^\d]/g.test(array[i])){
  428. pos--;
  429. }
  430. }
  431. obj.value = obj.value.replace(/[^\d]/g,'');
  432. setCursorPos(obj,pos);
  433. }
  434. }
  435. //替换input中的空格
  436. function rePlaceSpace(obj){
  437. if(obj.value.indexOf(' ')>-1){
  438. var pos = getCursorPos(obj);
  439. var array = obj.value.split("");
  440. for(var i in array){
  441. if(array[i] == " "){
  442. pos--;
  443. }
  444. }
  445. obj.value = obj.value.replace(new RegExp(' ','gm'),'');
  446. setCursorPos(obj,pos);
  447. }
  448. }
  449. /**
  450. * 设置光标在短连接输入框中的位置
  451. * @param inpObj 输入框
  452. * @param pos
  453. */
  454. function setCursorPos(inpObj, pos){
  455. if(navigator.userAgent.indexOf("MSIE") > -1){
  456. var range = document.selection.createRange();
  457. var textRange = inpObj.createTextRange();
  458. textRange.moveStart('character',pos);
  459. textRange.collapse();
  460. textRange.select();
  461. }else{
  462. inpObj.setSelectionRange(pos,pos);
  463. }
  464. }
  465. /**
  466. * 获取光标在短连接输入框中的位置
  467. * @param inpObj 输入框
  468. */
  469. function getCursorPos(inpObj){
  470. if(navigator.userAgent.indexOf("MSIE") > -1) { // IE
  471. var range = document.selection.createRange();
  472. range.text = '';
  473. range.setEndPoint('StartToStart',inpObj.createTextRange());
  474. return range.text.length;
  475. } else {
  476. return inpObj.selectionStart;
  477. }
  478. }
  479. //获取cookie
  480. function getCookie(name){
  481. var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
  482. if(arr=document.cookie.match(reg))
  483. return unescape(arr[2]);
  484. else
  485. return null;
  486. }
  487. //QQ登陆
  488. function qqLogin(){
  489. window.location.href = 'https://graph.qq.com/oauth2.0/authorize?response_type=code&client_id=101228008&redirect_uri=http%3A%2F%2Fwww.qimingxing.info%2FqqCallBack%3FloginBackType='+loginBackType+'&scope=get_user_info';
  490. }
  491. //微信登录
  492. function weixinLogin(){
  493. window.location.href = 'https://open.weixin.qq.com/connect/qrconnect?appid=wx5553bf4febae85e4&redirect_uri=http%3a%2f%2fwww.qimingxing.info/weixinCallBack%3FloginBackType='+loginBackType+'&response_type=code&scope=snsapi_login&state=STATE#wechat_redirect';
  494. }
  495. /**
  496. * 正则表达式实现endWith效果函数
  497. * @param str 要判断的字符
  498. **/
  499. String.prototype.endWith = function(str){
  500. var reg = new RegExp(str+"$");
  501. return reg.test(this);
  502. }
  503. /**
  504. * 正则表达式实现startWith效果函数
  505. * @param str 要判断的字符
  506. **/
  507. String.prototype.startWith = function(str){
  508. var reg = new RegExp("^"+str);
  509. return reg.test(this);
  510. }
  511. //动态加载css
  512. function addCssByLink(url){
  513. var links=document.getElementsByTagName('link')
  514. for(var i=0;i<links.length;i++){
  515. if(links[i].href&&links[i].href.indexOf(url)>-1){
  516. return;
  517. }
  518. }
  519. var doc=document;
  520. var link=doc.createElement("link");
  521. link.setAttribute("rel", "stylesheet");
  522. link.setAttribute("type", "text/css");
  523. link.setAttribute("href", url);
  524. var heads = doc.getElementsByTagName("head");
  525. if(heads.length)
  526. heads[0].appendChild(link);
  527. else
  528. doc.documentElement.appendChild(link);
  529. }
  530. //动态加载js
  531. function loadJS(url, success){
  532. var scripts=document.getElementsByTagName('script')
  533. for(var i=0;i<scripts.length;i++){
  534. if(scripts[i].src&&scripts[i].src.indexOf(url)>-1){
  535. if(success) success();
  536. return;
  537. }
  538. }
  539. var domScript = document.createElement('script');
  540. domScript.src = url;
  541. success = success || function(){};
  542. domScript.onload = domScript.onreadystatechange = function() {
  543. if (!this.readyState || 'loaded' === this.readyState || 'complete' === this.readyState) {
  544. success();
  545. this.onload = this.onreadystatechange = null;
  546. //this.parentNode.removeChild(this);
  547. }
  548. }
  549. document.getElementsByTagName('head')[0].appendChild(domScript);
  550. }
  551. //判断对象是否为空对象{}
  552. function isNullObj(obj){
  553. for(var i in obj){
  554. if(obj.hasOwnProperty(i)){
  555. return false;
  556. }
  557. }
  558. return true;
  559. }
  560. //根据id去后台查询评论个数、投标状态
  561. function advertAjaxRqe(position){
  562. var data = "position="+position;
  563. $("#hotDemand>div").each(function(){
  564. var id = $(this).attr("data-id");
  565. if(id != ""){
  566. data += "&demandId="+id;
  567. }
  568. });
  569. if(data != ""){
  570. $.post("/front/advertAjaxRqe",data,function(r){
  571. if(r.demand){
  572. var demand = r.demand;
  573. for(var i in demand){
  574. var status = demand[i].status;
  575. var html = null;
  576. if(status == 1){
  577. html = '<img src="/images/u385.png"/>';
  578. }else if(status == 2){
  579. html = '<img src="/images/u347.png"/>';
  580. }else if(status == 3){
  581. html = '<span class="a-bg-gray">任务超时</span>';
  582. }else if(status == 4){
  583. html = '<span class="a-bg-gray">已撤销</span>';
  584. }
  585. if(html != null){
  586. $('#hotDemand [data-id="'+demand[i].id+'"] .a-com-last').html(html);
  587. }
  588. if(demand[i].online == "y"){
  589. $('#hotDemand [data-id="'+demand[i].id+'"]>.a-com-name>i').addClass("text-primary");
  590. }
  591. }
  592. }
  593. });
  594. }
  595. }
  596. //页面中分享功能
  597. function pcShare(){
  598. this.flag = false;
  599. var thisClass = this;
  600. $("body").click(function(e){
  601. if(e.target.id == "pcShare"){
  602. $("#pcShare-content").show();
  603. if(!thisClass.flag){
  604. $("#pcShare-content").after('<div class="bdsharebuttonbox"><a href="#" id="bds_weixin" data-cmd="weixin" title="分享到微信">微信扫码</a><a href="#" id="bds_tsina" data-cmd="tsina" title="分享到新浪微博">新浪微博"</a><a href="#" id="bds_tqq" data-cmd="tqq" title="分享到腾讯微博">腾讯微博</a><a href="#" id="bds_qzone" data-cmd="qzone" title="分享到QQ空间">QQ空间</a><a href="#" id="bds_douban" data-cmd="douban" title="分享到豆瓣网">豆瓣</a></div>');
  605. loadJS("http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion="+~(-new Date()/36e5),function(){
  606. var interval = setInterval(function(){
  607. if($("#bdshare_weixin_qrcode_dialog").length == 1){
  608. clearInterval(interval);
  609. $("#share-weixin").append($("#bdshare_weixin_qrcode_dialog").find("table"));
  610. $("#bdshare_weixin_qrcode_dialog").remove();
  611. }else{
  612. document.getElementById('bds_weixin').click();
  613. }
  614. },500);
  615. setTimeout(function(){
  616. clearInterval(interval);
  617. },60000);
  618. });
  619. $("#share-tsina").click(function(e){
  620. document.getElementById('bds_tsina').click();
  621. $("#pcShare-content").hide();
  622. });
  623. $("#share-tqq").click(function(e){
  624. document.getElementById('bds_tqq').click();
  625. $("#pcShare-content").hide();
  626. });
  627. $("#share-qzone").click(function(e){
  628. document.getElementById('bds_qzone').click();
  629. $("#pcShare-content").hide();
  630. });
  631. $("#share-douban").click(function(e){
  632. document.getElementById('bds_douban').click();
  633. $("#pcShare-content").hide();
  634. });
  635. thisClass.flag = true;
  636. }
  637. }else if(e.target.id != "pcShare-content" && $(e.target).parents(".b-pcshare-content").attr("id") != "pcShare-content" && !$(e.target).hasClass("bdsharebuttonbox") && !$(e.target).parent().hasClass("bdsharebuttonbox")){
  638. $("#pcShare-content").hide();
  639. }
  640. });
  641. }