Browse Source

新版搜索

xuchunyang 7 years ago
parent
commit
9b6f00618a
1 changed files with 513 additions and 0 deletions
  1. 513 0
      js/searchNew.js

+ 513 - 0
js/searchNew.js

@ -0,0 +1,513 @@
1
$(function() {
2
	loginStatus();//判断个人是否登录
3
	var userid = $.cookie("userid");
4
	var num = 1;
5
	var keyt,subject,industry,address;
6
	var authType = 1;
7
	var searchContent = $.trim(GetQueryString("searchContent"));
8
	var subjectText = $.trim(GetQueryString("subject"));
9
	if(subjectText==""){
10
		subject="";
11
	}else{
12
		subject=subjectText;
13
	}
14
	if(searchContent==""){
15
		keyt="";
16
	}else{
17
		keyt=searchContent;
18
		$(".searchsome").val(searchContent);
19
	}
20
	expertListVal(keyt,subject,industry,address,authType,20,1,true);
21
	articalListVal(20, 1,true);
22
	resourceListVal(20, 1,true);
23
	academicFieldVal(subjectText);
24
	applicationIndustryVal();
25
	cityVal();
26
	//切换搜索范围
27
	jquerytab("col-w-12");
28
	//筛选条件的选择
29
	$(".filterUl").on("click","li",function(){
30
		this.parentNode.querySelector('li.filterCurrent').classList.remove("filterCurrent");
31
		this.classList.add("filterCurrent");
32
	})
33
	//筛选条件的展开关闭
34
	$(".filterListNew").on("click",".rightbtn",function(){
35
		if(this.querySelector("em").className == "unfoldtr") {
36
			this.querySelector("em").classList.remove("unfoldtr");
37
			this.querySelector("em").classList.add("foldtr");
38
			this.parentNode.querySelector(".filterUl").classList.remove("filterUlactive");
39
		} else {
40
			this.querySelector("em").classList.add("unfoldtr");
41
			this.querySelector("em").classList.remove("foldtr");
42
			this.parentNode.querySelector(".filterUl").classList.add("filterUlactive");
43
		}
44
	})
45
	
46
	$(".searchblock").hide();
47
	$(document).scroll(function() {
48
		var top = $(document).scrollTop();
49
		if (top >= 80) {
50
			$(".searchblock").stop(true,false).fadeIn();
51
		}else{
52
			$(".searchblock").stop(true,false).fadeOut();
53
		}
54
	})
55
	
56
	$(".searchsome").keydown(function(e) {
57
		if(e.which == 13) {
58
			num = $(".liactive").attr("data-id");
59
			if(num==1){
60
				expertBox();
61
			}else if(num==2){
62
				resourceListVal(20, 1,true);
63
			}else if(num==3){
64
				articalListVal(20, 1,true);
65
			}
66
		}
67
	})
68
	
69
	$(".searchgo").on("click",function(e) {
70
		num = $(".liactive").attr("data-id");
71
		if(num==1){
72
			expertBox();
73
		}else if(num==2){
74
			resourceListVal(20, 1,true);
75
		}else if(num==3){
76
			articalListVal(20, 1,true);
77
		}
78
	})
79
	
80
	$("#academicField,#applicationIndustry,#cityList").on("click","li",function(e) {
81
		expertBox();
82
	})
83
	
84
	
85
	function expertBox(){
86
		keyt = $(".searchsome").val();
87
		var  subjectVal= $("#academicField li.filterCurrent").text();
88
		if(subjectVal=="不限"){
89
			subject = "";
90
		}else{
91
			subject = subjectVal;
92
		}
93
		var  industryVal= $("#applicationIndustry li.filterCurrent").text();
94
		if(industryVal=="不限"){
95
			industry = "";
96
		}else{
97
			industry = industryVal;
98
		}
99
		var  addressVal= $("#cityList li.filterCurrent").text();
100
		if(addressVal=="不限"){
101
			address = "";
102
		}else{
103
			address = addressVal;
104
		}
105
		expertListVal(keyt,subject,industry,address,authType,20,1,true);
106
	}
107
		
108
});
109
110
111
112
function jquerytab(name){
113
   var oDome=$('.' + name);
114
   var oSpan=oDome.find('.filterdiv li');
115
   var oP=oDome.find('.listdiv .listbox');
116
   oSpan.click(function(){
117
		$(this).addClass('liactive').siblings().removeClass('liactive');
118
		var index =oSpan.index(this);
119
		oP.eq(index).show().siblings().hide();
120
		//$(".searchsome").val("");
121
		if(index==0){
122
			//、expertListVal(keyt,subject,industry,address,authType,20,1,true);
123
			$(".searchsome").attr("placeholder","请输入专家姓名、机构、研究方向");
124
		}else if(index==1){
125
			resourceListVal(20, 1,true);
126
			//$(".searchsome").attr("placeholder","请输入资源名称、用途、机构");
127
		}else{
128
			articalListVal(20, 1,true);
129
			//$(".searchsome").attr("placeholder","请输入文章标题、作者");
130
		}
131
   });
132
}
133
134
//学术领域
135
function academicFieldVal(subjectText){
136
	$.ajax({
137
		"url": "/ajax/dataDict/qaDictCode",
138
		"type": "get",
139
		"async": false,
140
		"data": {
141
			"dictCode":"SUBJECT",
142
		},
143
		"success": function(data) {
144
			console.log(data);
145
			if(data.success) {
146
				$("#academicField").html("");
147
				$("#academicField").append('<li class="filterCurrent">不限</li>');
148
				for(var i = 0; i < data.data.length; i++) {
149
					var itemlist = '<li class="ititle">'+data.data[i].caption+'</li>';
150
					$("#academicField").append(itemlist);
151
					if(i > 20)
152
						break;
153
				}
154
				$("#academicField li").each(function(i){
155
				    var textt = $(this).text();
156
				    if(textt == subjectText){
157
				    	$(this).addClass("filterCurrent").siblings().removeClass("filterCurrent");
158
				    }
159
				});
160
			}
161
		},
162
		"error": function() {
163
			$.MsgBox.Alert('提示', '链接服务器超时')
164
		}
165
	});
166
}
167
168
//应用行业
169
function applicationIndustryVal(){
170
	$.ajax({
171
		"url": "/ajax/dataDict/qaDictCode",
172
		"type": "get",
173
		"data": {
174
			"dictCode":"INDUSTRY",
175
		},
176
		"success": function(data) {
177
			console.log(data);
178
			if(data.success) {
179
				$("#applicationIndustry").html("");
180
				$("#applicationIndustry").append('<li class="filterCurrent">不限</li>');
181
				for(var i = 0; i < data.data.length; i++) {
182
					var itemlist = '<li class="ititle">'+data.data[i].caption+'</li>';
183
					$("#applicationIndustry").append(itemlist);
184
					if(i > 20)
185
						break;
186
				}
187
			}
188
		},
189
		"error": function() {
190
			$.MsgBox.Alert('提示', '链接服务器超时')
191
		}
192
	});
193
}
194
195
//所在城市
196
function cityVal(){
197
	$.ajax({
198
		"url": "/ajax/dataDict/qaCity",
199
		"type": "get",
200
		"data": {
201
			"dictCode":"ADDRESS",
202
		},
203
		"success": function(data) {
204
			console.log(data);
205
			if(data.success) {
206
				$("#cityList").html("");
207
				$("#cityList").append('<li class="filterCurrent">不限</li>');
208
				for(var i = 0; i < data.data.length; i++) {
209
					var itemlist = '<li class="ititle">'+data.data[i].caption+'</li>';
210
					$("#cityList").append(itemlist);
211
					if(i > 20)
212
						break;
213
				}
214
			}
215
		},
216
		"error": function() {
217
			$.MsgBox.Alert('提示', '链接服务器超时')
218
		}
219
	});
220
}
221
222
//专家点击咨询
223
$('#expertList').on("click",".rightop",function(){
224
	if (userid && userid != "null" && userid != null) {
225
		var professorId = $(this).attr("id");
226
			ConsultApply();
227
			//点击的发送
228
			$("#sendConsultBtn").click(function() {
229
				sendConsultHandler($(this).attr("proId"))
230
			});
231
			concultProInfo(professorId);
232
	}else{
233
		$.MsgBox.Alert('提示',"请先登录再进行咨询");
234
		$("#mb_btn_ok").val("去登录");
235
		var aele = document.createElement('a');
236
		$("#mb_btnbox").append(aele);
237
		$("#mb_btnbox a").css({
238
			'display': "block",
239
			'width': '100%',
240
			'height': '40px',
241
			'position': 'absolute',
242
			'bottom': '-6px',
243
			'left': '0'
244
		});
245
		aele.setAttribute('href', '../login.html');
246
	}
247
})
248
249
//专家
250
function expertListVal(keyt,subject,industry,address,authType,pageSize,pageNo,isexpert) {
251
	$.ajax({
252
		"url": "/ajax/professor/pqBaseInfo",
253
		"type": "get",
254
		"data": {
255
			"key":keyt,
256
			"subject":subject,
257
			"industry":industry,
258
			"address":address,
259
			"authType":authType,
260
			"pageSize": pageSize,
261
			"pageNo": pageNo
262
		},
263
		"beforeSend": function() {
264
			$("#expertList").append('<img src="../images/loading.gif" class="loading"  style="position: absolute;left: 50%; top: 50%;" />');
265
		},
266
		"success": function(data) {
267
			console.log(data);
268
			if(data.success) {
269
				if(data.data.data.length > 0){
270
					$("#expertList,.expertPageCode").show();
271
					$(".expertPage").hide();
272
					$("#expertList").html("");
273
					var itemlist = '';
274
					for(var i = 0; i < data.data.data.length; i++) {
275
						var itemlist = '<li class="flexCenter">';
276
						itemlist += '<a href="" class="expertUrl linkhref"><div class="lefthead userheadt userRadius" id="expertImg"></div>';
277
						itemlist += '<div class="centercon">';
278
						itemlist += '<p class="h1font">';
279
						itemlist += '<span class="nameSpan" id="Name"></span>';
280
						itemlist += '<em class="authiconNew" title="科袖认证专家"></em></p>';
281
						itemlist += '<p class="h2font ellipsisSty" id="ellipsisSty">职称/职位,所在机构</p>';
282
						itemlist += '<p class="h2font ellipsisSty" id="researchAreas"></p>';
283
						itemlist += '</div></a><span class="rightop" style="display:none"  id="">咨询</span>';
284
						itemlist += '</li>';
285
						$itemlist = $(itemlist);
286
						$("#expertList").append($itemlist);
287
						var datalist = data.data.data[i];
288
						$itemlist.find(".expertUrl").attr("href", "information-brow.html?professorId=" + datalist.id );
289
						$itemlist.find("#Name").text(datalist.name);
290
						$itemlist.find(".rightop").attr("id",datalist.id);
291
						if(datalist.id != userid){
292
							$itemlist.find(".rightop").show();
293
						}
294
						var userType = autho(datalist.authType, datalist.orgAuth, datalist.authStatus);
295
						$itemlist.find(".authiconNew").attr("title", userType.title);
296
						$itemlist.find(".authiconNew").addClass(userType.sty);
297
						if(datalist.hasHeadImage) {
298
							$itemlist.find("#expertImg").attr("style", "background-image: url(/images/head/" + datalist.id + "_l.jpg);");
299
						}
300
						var title = datalist.title || "";
301
						var orgName = datalist.orgName || "";
302
						var office = datalist.office || "";
303
						if(title != "") {
304
							title = title + " / ";
305
						}
306
						if(office != "") {
307
							office =  office + "," ;
308
						}
309
						if(orgName != "") {
310
							orgName = orgName;
311
						}
312
						$itemlist.find("#ellipsisSty").text(title+office+orgName);
313
						
314
						/*获取研究方向信息*/
315
						var researchAreas = datalist.researchAreas;
316
						if( researchAreas.length > 0){
317
							var rlist = '研究方向:';
318
							for(var n = 0; n < researchAreas.length; n++) {
319
								//console.log(researchAreas[n].caption);
320
								rlist += researchAreas[n].caption
321
								if(n < researchAreas.length - 1) {
322
									rlist += ";"
323
								}
324
							}
325
							$itemlist.find("#researchAreas").text(rlist);
326
						}
327
					}
328
					//分页
329
					if(isexpert==true){
330
						$(".expertPageCode").createPage({
331
							pageCount: Math.ceil(data.data.total / 20),
332
							current: data.data.pageNo,
333
							backFn: function(p) {
334
								$("#expertList").html("");
335
								expertListVal(keyt,subject,industry,address,authType,20,p,false);
336
								document.body.scrollTop = document.documentElement.scrollTop = 0;
337
							}
338
						});
339
					}
340
					
341
				}else{
342
					$("#expertList,.expertPageCode").hide();
343
					$(".expertPage").show();
344
				}
345
				$(".loading").remove();
346
			}
347
348
		},
349
		"error": function() {
350
			$.MsgBox.Alert('提示', '链接服务器超时')
351
		}
352
	});
353
}
354
355
//文章
356
function articalListVal(pageSize, pageNo,isbind) {
357
	$.ajax({
358
		"url": "/ajax/article/firstpq",
359
		"type": "get",
360
		"async": true,
361
		"data": {
362
			"key":$(".searchsome").val(),
363
			"pageSize": pageSize,
364
			"pageNo": pageNo
365
		},
366
		"beforeSend": function() {
367
			$("#articalList").append('<img src="../images/loading.gif" class="loading"  style="position: absolute;left: 50%; top: 50%;" />');
368
		},
369
		"success": function(data) {
370
			console.log(data);
371
			if(data.success) {
372
				if(data.data.data.length > 0){
373
					$("#articalList,.articalPageCode").show();
374
					$(".articalPage").hide();
375
					var itemlist = '';
376
					$("#articalList").html("");
377
					for(var i = 0; i < data.data.data.length; i++) {
378
						var itemlist = '<li class="flexCenter">';
379
						itemlist += '<a href="" class="artivleUrl linkhref"><div class="lefthead articalhead" id="articleImg"></div>';
380
						itemlist += '<div class="centercon centercon2">';
381
						itemlist += '<p class="h1font ellipsisSty" id="articalTitle"></p>';
382
						itemlist += '<p class="h2font">';
383
						itemlist += '<span class="nameSpan" id="userName"></span>';
384
						itemlist += '<em class="authiconNew" title="科袖认证专家"></em>';
385
						itemlist += '</p></div></a></li>';
386
						$itemlist = $(itemlist);
387
						$("#articalList").append($itemlist);
388
						var datalist = data.data.data[i];
389
						var articleType = datalist.articleType;
390
						$itemlist.find("#articalTitle").text(datalist.articleTitle);
391
						$itemlist.find(".artivleUrl").attr("href", "articalShow.html?articleId=" + datalist.articleId );
392
						if(datalist.articleImg) {
393
							$itemlist.find("#articleImg").attr("style", "background-image: url(/data/article/" + datalist.articleImg + ");");
394
						}
395
						if(articleType == 1) { //个人文章
396
							$itemlist.find("#userName").text(datalist.professor.name);
397
							var userType = autho(datalist.professor.authType, datalist.professor.orgAuth, datalist.professor.authStatus);
398
							$itemlist.find(".authiconNew").attr("title", userType.title);
399
							$itemlist.find(".authiconNew").addClass(userType.sty);
400
						} else if(articleType == 2) { //企业文章
401
							$itemlist.find("#userName").text(datalist.editOrganization.name);
402
							if(datalist.editOrganization.authStatus==3){
403
								$itemlist.find(".authiconNew").addClass("authicon-com-ok").attr("title", "认证企业");;	
404
							}
405
						}
406
					}
407
					//分页
408
					if(isbind==true){
409
						$(".articalPageCode").createPage({
410
							pageCount: Math.ceil(data.data.total / 20),
411
							current: data.data.pageNo,
412
							backFn: function(p) {
413
								$("#articalList").html("");
414
								articalListVal(20, p,false);
415
								document.body.scrollTop = document.documentElement.scrollTop = 0;
416
							}
417
						});
418
					}
419
					
420
				}else{
421
					$("#articalList,.articalPageCode").hide();
422
					$(".articalPage").show();
423
				}
424
				$(".loading").remove();
425
			}
426
427
		},
428
		"error": function() {
429
			$.MsgBox.Alert('提示', '链接服务器超时')
430
		}
431
	});
432
}
433
434
//资源
435
function resourceListVal(pageSize, pageNo,isresource) {
436
	$.ajax({
437
		"url": "/ajax/resource/firstpq",
438
		"type": "get",
439
		"async": true,
440
		"data": {
441
			"key":$(".searchsome").val(),
442
			"pageSize": pageSize,
443
			"pageNo": pageNo
444
		},
445
		"beforeSend": function() {
446
			$("#resourceList").append('<img src="../images/loading.gif" class="loading"  style="position: absolute;left: 50%; top: 50%;" />');
447
		},
448
		"success": function(data) {
449
			console.log(data);
450
			if(data.success) {
451
				if(data.data.data.length > 0){
452
					$("#resourceList,.resourcePageCode").show();
453
					$(".resourcePage").hide();
454
					var itemlist = '';
455
					$("#resourceList").html("");
456
					for(var i = 0; i < data.data.data.length; i++) {
457
						var itemlist = '<li class="flexCenter">';
458
						itemlist += '<a href="" class="resourceUrl linkhref"><div class="lefthead resouhead" id="resourceImg"></div>';
459
						itemlist += '<div class="centercon">';
460
						itemlist += '<p class="h1font" id="resourceName"></p>';
461
						itemlist += '<p class="h2font ellipsisSty" id="supportedServices"></p>';
462
						itemlist += '<p class="h2font">';
463
						itemlist += '<span class="nameSpan" id="username"></span>';
464
						itemlist += '<em class="authiconNew authicon-pro" title="科袖认证专家"></em>';
465
						itemlist += '</p></div></a></li>';
466
						$itemlist = $(itemlist);
467
						$("#resourceList").append($itemlist);
468
						var datalist = data.data.data[i];
469
						var resourceType = datalist.resourceType;
470
						$itemlist.find("#resourceName").text(datalist.resourceName);
471
						$itemlist.find("#supportedServices").text("用途:" + datalist.supportedServices);
472
						$itemlist.find(".resourceUrl").attr("href", "resourceShow.html?resourceId=" + datalist.resourceId );
473
						if(datalist.images.length > 0) {
474
							$itemlist.find("#resourceImg").attr("style", "background-image: url(/data/resource/" + datalist.images[0].imageSrc + ");");
475
						}
476
						if(resourceType == 1) { //个人资源
477
							$itemlist.find("#username").text(datalist.editProfessor.name);
478
							var userType = autho(datalist.editProfessor.authType, datalist.editProfessor.orgAuth, datalist.editProfessor.authStatus);
479
							$itemlist.find(".authiconNew").attr("title", userType.title);
480
							$itemlist.find(".authiconNew").addClass(userType.sty);
481
						} else if(resourceType == 2) { //企业资源
482
							$itemlist.find("#username").text(datalist.organization.name);
483
							if(datalist.organization.authStatus==3){
484
								$itemlist.find(".authiconNew").addClass("authicon-com-ok").attr("title", "认证企业");;	
485
							}
486
						}
487
					}
488
					//分页
489
					if(isresource==true){
490
						$(".resourcePageCode").createPage({
491
							pageCount: Math.ceil(data.data.total / 20),
492
							current: data.data.pageNo,
493
							backFn: function(p) {
494
								$("#resourceList").html("");
495
								resourceListVal(20, p,false);
496
								document.body.scrollTop = document.documentElement.scrollTop = 0;
497
							}
498
						});
499
					}
500
					
501
				}else{
502
					$("#resourceList,.resourcePageCode").hide();
503
					$(".resourcePage").show();
504
				}
505
				$(".loading").remove();
506
			}
507
508
		},
509
		"error": function() {
510
			$.MsgBox.Alert('提示', '链接服务器超时')
511
		}
512
	});
513
}