Browse Source

专家和资源收藏列表模块开发

xuchunyang 8 years ago
parent
commit
7581cd0828
2 changed files with 357 additions and 132 deletions
  1. 11 132
      app/html/attentions.html
  2. 346 0
      app/js/attentions.js

+ 11 - 132
app/html/attentions.html

@ -25,143 +25,22 @@
25 25
				<li index="1" class="mui-col-xs-6">资源</li>
26 26
			</ul>
27 27
		</div>
28
		<div class="alllist">
29
	        <!--专家列表-->
30
	        <div class="mui-card-content conblock childlist" style="display: block;"><!--当前x显示列表   'childlist'的显示隐藏-->
31
		        <ul class="mui-table-view protable">
32
		            <li class="mui-table-view-cell mui-media">
33
		                <a class="proinfor" href="../html/proinforbrow.html">
34
		                    <img class="mui-media-object mui-pull-left headimg" src="../images/default-photo.jpg">
35
		                    <div class="mui-media-body">
36
		                        <span class="listtit">专家姓名<em class="mui-icon iconfont icon-vip authicon"></em></span>	
37
		                        <p class="listtit2"><span>职称</span>,<span>职务</span>,<span>所属机构</span> | <span>所在地</span></p>
38
		                    	<p class="mui-ellipsis listtit3"><span>研究方向标题A</span>、<span>研究方向标题B</span></h5>
39
		                    	<p class="mui-ellipsis listtit3"><span>设备资源名称A</span>、<span>设备资源名称B</span>、<span>设备资源名称B</span></p>
40
		                    </div>
41
		                </a>
42
		            </li>
43
		            <li class="mui-table-view-cell mui-media">
44
		                <a class="proinfor" href="../html/proinforbrow.html">
45
		                    <img class="mui-media-object mui-pull-left headimg" src="../images/default-photo.jpg">
46
		                    <div class="mui-media-body">
47
		                        <span class="listtit">专家姓名<em class="mui-icon iconfont icon-vip unauthicon"></em></span>	
48
		                        <p class="listtit2"><span>职称</span>,<span>职务</span>,<span>所属机构</span> | <span>所在地</span></p>
49
		                    	<p class="mui-ellipsis listtit3"><span>研究方向标题A</span>、<span>研究方向标题B</span></h5>
50
		                    	<p class="mui-ellipsis listtit3"><span>设备资源名称A</span>、<span>设备资源名称B</span>、<span>设备资源名称B</span></p>
51
		                    </div>
52
		                </a>
53
		            </li>
54
		            <li class="mui-table-view-cell mui-media">
55
		                <a class="proinfor" href="../html/proinforbrow.html">
56
		                    <img class="mui-media-object mui-pull-left headimg" src="../images/default-photo.jpg">
57
		                    <div class="mui-media-body">
58
		                        <span class="listtit">专家姓名<em class="mui-icon iconfont icon-vip authicon"></em></span>	
59
		                        <p class="listtit2"><span>职称</span>,<span>职务</span>,<span>所属机构</span> | <span>所在地</span></p>
60
		                    	<p class="mui-ellipsis listtit3"><span>研究方向标题A</span>、<span>研究方向标题B</span></h5>
61
		                    	<p class="mui-ellipsis listtit3"><span>设备资源名称A</span>、<span>设备资源名称B</span>、<span>设备资源名称B</span></p>
62
		                    </div>
63
		                </a>
64
		            </li>
65
		            <li class="mui-table-view-cell mui-media">
66
		                <a class="proinfor" href="../html/proinforbrow.html">
67
		                    <img class="mui-media-object mui-pull-left headimg" src="../images/default-photo.jpg">
68
		                    <div class="mui-media-body">
69
		                        <span class="listtit">专家姓名<em class="mui-icon iconfont icon-vip authicon"></em></span>	
70
		                        <p class="listtit2"><span>职称</span>,<span>职务</span>,<span>所属机构</span> | <span>所在地</span></p>
71
		                    	<p class="mui-ellipsis listtit3"><span>研究方向标题A</span>、<span>研究方向标题B</span></h5>
72
		                    	<p class="mui-ellipsis listtit3"><span>设备资源名称A</span>、<span>设备资源名称B</span>、<span>设备资源名称B</span></p>
73
		                    </div>
74
		                </a>
75
		            </li>
76
		           <li class="mui-table-view-cell mui-media">
77
		                <a class="proinfor" href="../html/proinforbrow.html">
78
		                    <img class="mui-media-object mui-pull-left headimg" src="../images/default-photo.jpg">
79
		                    <div class="mui-media-body">
80
		                        <span class="listtit">专家姓名<em class="mui-icon iconfont icon-vip authicon"></em></span>	
81
		                        <p class="listtit2"><span>职称</span>,<span>职务</span>,<span>所属机构</span> | <span>所在地</span></p>
82
		                    	<p class="mui-ellipsis listtit3"><span>研究方向标题A</span>、<span>研究方向标题B</span></h5>
83
		                    	<p class="mui-ellipsis listtit3"><span>设备资源名称A</span>、<span>设备资源名称B</span>、<span>设备资源名称B</span></p>
84
		                    </div>
85
		                </a>
86
		            </li>
87
		        </ul>
88
			</div>
89
			<!--资源列表-->
90
			<div class="mui-card-content conblock childlist">
91
		        <ul class="mui-table-view protable">
92
		            <li class="mui-table-view-cell mui-media">
93
		                <a class="proinfor" href="resinforbrow.html">
94
		                    <img class="mui-media-object mui-pull-left resimg" src="../images/default-resource.jpg">
95
		                    <div class="mui-media-body">
96
		                    	<span class="listtit">资源名称</span>
97
		                    	<p class="mui-ellipsis listtit2"><span>用途A</span>,<span>用途B</span></p>
98
		                        <span class="listtit">专家姓名<em class="mui-icon iconfont icon-vip authicon"></em></span>	
99
		                        <p class="listtit3"><span>职称</span>,<span>职务</span>,<span>所属机构</span> | <span>所在地</span></p>
100
		                    </div>
101
		                </a>
102
		            </li>
103
		            <li class="mui-table-view-cell mui-media">
104
		                <a class="proinfor" href="resinforbrow.html">
105
		                    <img class="mui-media-object mui-pull-left resimg" src="../images/default-resource.jpg">
106
		                    <div class="mui-media-body">
107
		                    	<span class="listtit">资源名称</span>
108
		                    	<p class="mui-ellipsis listtit2"><span>用途A</span>,<span>用途B</span></p>
109
		                        <span class="listtit">专家姓名<em class="mui-icon iconfont icon-vip authicon"></em></span>	
110
		                        <p class="listtit3"><span>职称</span>,<span>职务</span>,<span>所属机构</span> | <span>所在地</span></p>
111
		                    </div>
112
		                </a>
113
		            </li>
114
		            <li class="mui-table-view-cell mui-media">
115
		                <a class="proinfor" href="resinforbrow.html">
116
		                    <img class="mui-media-object mui-pull-left resimg" src="../images/default-resource.jpg">
117
		                    <div class="mui-media-body">
118
		                    	<span class="listtit">资源名称</span>
119
		                    	<p class="mui-ellipsis listtit2"><span>用途A</span>,<span>用途B</span></p>
120
		                        <span class="listtit">专家姓名<em class="mui-icon iconfont icon-vip authicon"></em></span>	
121
		                        <p class="listtit3"><span>职称</span>,<span>职务</span>,<span>所属机构</span> | <span>所在地</span></p>
122
		                    </div>
123
		                </a>
124
		            </li>
125
		            <li class="mui-table-view-cell mui-media">
126
		                <a class="proinfor" href="resinforbrow.html">
127
		                    <img class="mui-media-object mui-pull-left resimg" src="../images/default-resource.jpg">
128
		                    <div class="mui-media-body">
129
		                    	<span class="listtit">资源名称</span>
130
		                    	<p class="mui-ellipsis listtit2"><span>用途A</span>,<span>用途B</span></p>
131
		                        <span class="listtit">专家姓名<em class="mui-icon iconfont icon-vip authicon"></em></span>	
132
		                        <p class="listtit3"><span>职称</span>,<span>职务</span>,<span>所属机构</span> | <span>所在地</span></p>
133
		                    </div>
134
		                </a>
135
		            </li>
28
		<div class="alllist" id="pullrefresh">
29
	        <div  class="mui-card-content conblock childlist mui-scroll-wrapper" style="display: block;"><!--当前x显示列表   'childlist'的显示隐藏-->
30
		        <ul class="mui-table-view protable list mui-scroll">
31
		            
136 32
		        </ul>
137 33
			</div>
34
			<div class="mui-card-content conblock childlist mui-scroll-wrapper" >
35
			        <ul class="mui-table-view protable list2 mui-scroll">
36
			           
37
			        </ul>
38
			 </div>
138 39
		</div>
139 40
		<!--<a id="scrollToTop" class="backTop hide"> <span class="mui-icon mui-icon-arrowup"></span> </a>-->
140 41
    </div>
141 42
    <script src="../js/public/mui.min.js"></script>
142
	<script type="text/javascript" charset="utf-8">
143
		mui.init();
144
		//------------------------------
145
		//菜单tab切换
146
		mui("#fixbtn").on("tap","li",function(){
147
			var checkedindex=this.getAttribute("index");
148
			var checkedcontent_arr=document.getElementsByClassName("childlist");
149
			var libtn_arr = document.getElementById("fixbtn").getElementsByTagName("li");
150
			mui.toast(checkedindex);
151
			if(checkedindex==0){
152
				libtn_arr[0].classList.add("liactive");
153
				libtn_arr[1].classList.remove("liactive");
154
				checkedcontent_arr[1].style.display = 'none';
155
				checkedcontent_arr[0].style.display = 'block';
156
			}else{
157
				libtn_arr[1].classList.add("liactive");
158
				libtn_arr[0].classList.remove("liactive");
159
				checkedcontent_arr[0].style.display = 'none';
160
				checkedcontent_arr[1].style.display = 'block';
161
			}
162
		})
163
		//-----------------------------
164
		
165
	</script>      	 
43
	<script src="../js/public/base.js"></script>
44
	<script src="../js/attentions.js"></script>
166 45
</body>
167 46
</html>

+ 346 - 0
app/js/attentions.js

@ -0,0 +1,346 @@
1
//我的关注
2
var allPages = 1, // 总页数;
3
	pageSize = 0,
4
	pageNo = 1;
5
    checkedindex = 0
6
var table = document.body.querySelector('.list');
7
var table1 = document.body.querySelector('.list2');
8
var deceleration = mui.os.ios?0.003:0.0009;
9
mui('.mui-scroll-wrapper').scroll({
10
	bounce: false,
11
	indicators: true, //是否显示滚动条
12
	deceleration:deceleration
13
});
14
mui.init({
15
	pullRefresh: {
16
		container: '#pullrefresh',
17
		up: {
18
			contentrefresh: '正在加载...',
19
			callback: pullupRefresh,
20
			//auto:true
21
		}
22
	}
23
});
24

25
function pullupRefresh() {
26
	pageNo = ++pageNo;
27
	console.log(pageNo)
28
	setTimeout(function() {
29
		expert2(pageNo, 10)
30
	}, 1000);
31
}
32

33
if(mui.os.plus) {
34
	mui.plusReady(function() {
35
		setTimeout(function() {
36
			mui('#pullrefresh').pullRefresh().pulldownLoading();
37
		}, 500);
38
	});
39
} else {
40
	mui.ready(function() {
41
		mui('#pullrefresh').pullRefresh().pulldownLoading();
42
	});
43
}
44

45
/*菜单tab切换*/
46
mui("#fixbtn").on("tap", "li", function() {
47
	window.scrollTo(0, 0);
48
	checkedindex = this.getAttribute("index");
49
	var checkedcontent_arr = document.getElementsByClassName("childlist");
50
	var libtn_arr = document.getElementById("fixbtn").getElementsByTagName("li");
51
	if(checkedindex == 0) {
52
		libtn_arr[0].classList.add("liactive");
53
		libtn_arr[1].classList.remove("liactive");
54
		checkedcontent_arr[1].style.display = 'none';
55
		checkedcontent_arr[0].style.display = 'block';
56
		mui('#pullrefresh').pullRefresh().refresh(true); //重置上拉加载
57
	} else {
58
		libtn_arr[1].classList.add("liactive");
59
		libtn_arr[0].classList.remove("liactive");
60
		checkedcontent_arr[0].style.display = 'none';
61
		checkedcontent_arr[1].style.display = 'block';
62
		mui('#pullrefresh').pullRefresh().refresh(true); //重置上拉加载
63
	}
64
})
65

66
getOneExpert(1, 10);
67

68
getOneResources(1, 10);
69

70
mui.plusReady(function(){
71
	mui('.list').on('tap','a',function(){
72
		var id=this.getAttribute("data-id");
73
		plus.nativeUI.showWaiting();
74
		plus.webview.create("../html/proinforbrow.html",'proinforbrow.html',{},{proid:id});
75
	})
76
	mui('.list2').on('tap','a',function(){
77
		var id=this.getAttribute("data-id");
78
		plus.nativeUI.showWaiting();
79
		plus.webview.create("../html/proinforbrow.html",'proinforbrow.html',{},{resourceId:id});
80
	})
81
})
82

83
/*获取第一页专家数据*/
84
function getOneExpert(pageNo, pageSize) {
85
	mui.plusReady(function() {
86
		var userId = plus.storage.getItem('userid');
87
		mui.ajax(baseUrl + '/ajax/watch/qaPro', {
88
			data: {
89
				"professorId": userId,
90
				"watchType": 1,
91
				"pageNo": pageNo,
92
				"pageSize": pageSize
93
			},
94
			dataType: 'json', //数据格式类型
95
			type: 'GET', //http请求类型
96
			timeout: 10000,
97
			success: function(data) {
98
				plus.nativeUI.closeWaiting();
99
				plus.webview.currentWebview().show("slide-in-right", 150);
100
				if(data.success && data.data.data != "") {
101
					var datalist = data.data.data;
102
					datalistEach(datalist);
103
				}
104
				mui('#pullrefresh').pullRefresh().refresh(true); //重置上拉加载
105
			},
106
			error: function() {
107
				plus.nativeUI.toast("服务器链接超时", toastStyle);
108
			}
109
		});
110
	});
111
}
112

113
/*获取第一页资源数据*/
114
function getOneResources(pageNo, pageSize) {
115
	mui.plusReady(function() {
116
		var userId = plus.storage.getItem('userid');
117
		mui.ajax(baseUrl + '/ajax/watch/qaPro', {
118
			data: {
119
				"professorId": userId,
120
				"watchType": 2,
121
				"pageNo": pageNo,
122
				"pageSize": pageSize
123
			},
124
			dataType: 'json', //数据格式类型
125
			type: 'GET', //http请求类型
126
			timeout: 10000,
127
			success: function(data) {
128
				plus.nativeUI.closeWaiting();
129
				if(data.success && data.data.data != "") {
130
					var datalistd = data.data.data;
131
					resourcesEach2(datalistd);
132
				}
133
				mui('#pullrefresh').pullRefresh().refresh(true); //重置上拉加载
134
			},
135
			error: function() {
136
				plus.nativeUI.toast("服务器链接超时", toastStyle);
137
			}
138
		});
139
	});
140
}
141

142
/*上拉刷新数据*/
143
function expert2(pageNo, pageSize) {
144
	if(checkedindex == 0) {
145
		mui.plusReady(function() {
146
			var userId = plus.storage.getItem('userid');
147
			mui.ajax(baseUrl + '/ajax/watch/qaPro', {
148
				data: {
149
					"professorId": userId,
150
					"watchType": 1,
151
					"pageNo": pageNo,
152
					"pageSize": pageSize
153
				},
154
				dataType: 'json', //数据格式类型
155
				type: 'GET', //http请求类型
156
				timeout: 10000,
157
				success: function(data) {
158
					console.log(data.success)
159
					if(data.success && data.data.data != "") {
160
						plus.nativeUI.closeWaiting();
161
						mui('#pullrefresh').pullRefresh().enablePullupToRefresh(); //启用上拉刷新
162
						var dice1 = data.data.total; //总条数
163
						var dice2 = data.data.pageSize; //每页条数
164
						allPages = Math.ceil(dice1 / dice2);
165
						if(allPages == 1) { //下拉刷新需要先清空数据
166
							table.innerHTML = ''; // 在这里清空可以防止刷新时白屏
167
						}
168
						var datalist = data.data.data;
169
						datalistEach(datalist);
170
						mui('#pullrefresh').pullRefresh().refresh(true); //重置上拉加载
171
						if(pageNo < allPages) {
172
							mui('#pullrefresh').pullRefresh().endPullupToRefresh(false); //能上拉
173
						} else {
174
							mui('#pullrefresh').pullRefresh().endPullupToRefresh(true); //不能上拉
175
						}
176

177
					}
178
				},
179
				error: function() {
180
					plus.nativeUI.toast("服务器链接超时", toastStyle);
181
				}
182
			});
183
		});
184
	} else {
185
		mui.plusReady(function() {
186
			var userId = plus.storage.getItem('userid');
187
			mui.ajax(baseUrl + '/ajax/watch/qaPro', {
188
				data: {
189
					"professorId": userId,
190
					"watchType": 2,
191
					"pageNo": pageNo,
192
					"pageSize": pageSize
193
				},
194
				dataType: 'json', //数据格式类型
195
				type: 'GET', //http请求类型
196
				timeout: 10000,
197
				success: function(data) {
198
					console.log(data.success)
199
					if(data.success && data.data.data != "") {
200
						plus.nativeUI.closeWaiting();
201
						mui('#pullrefresh').pullRefresh().enablePullupToRefresh(); //启用上拉刷新
202
						var dice1 = data.data.total; //总条数
203
						var dice2 = data.data.pageSize; //每页条数
204
						allPages = Math.ceil(dice1 / dice2);
205
						if(allPages == 1) { //下拉刷新需要先清空数据
206
							table.innerHTML = ''; // 在这里清空可以防止刷新时白屏
207
						}
208
						var datalist = data.data.data;
209
						resourcesEach2(datalist);
210
						mui('#pullrefresh').pullRefresh().refresh(true); //重置上拉加载
211
						if(pageNo < allPages) {
212
							mui('#pullrefresh').pullRefresh().endPullupToRefresh(false); //能上拉
213
						} else {
214
							mui('#pullrefresh').pullRefresh().endPullupToRefresh(true); //不能上拉
215
						}
216

217
					}
218
				},
219
				error: function() {
220
					plus.nativeUI.toast("服务器链接超时", toastStyle);
221
				}
222
			});
223
		});
224
	}
225
}
226

227
/*专家数据遍历*/
228
function datalistEach(datalist) {
229
	mui.each(datalist, function(index, item) {
230
		/*获取头像*/
231
		if(item.professor.hasHeadImage == 1) {
232
			var img = baseUrl + "/images/head/" + item.professor.id + "_m.jpg";
233
		} else {
234
			var img = "../images/default-photo.jpg";
235
		}
236

237
		/*获取研究方向信息*/
238
		var researchAreas = item.professor.researchAreas;
239
		//console.log(JSON.stringify(item.professor.researchAreas))
240
		var rlist = '';
241
		for(var n = 0; n < researchAreas.length; n++) {
242
			//console.log(researchAreas[n].caption);
243
			rlist = '<span>' + researchAreas[n].caption + '</span>、';
244
		}
245

246
		/*判断用户是否认证*/
247
		var icon = '';
248
		if(item.professor.authentication == true) {
249
			icon = '<em class="mui-icon iconfont icon-vip authicon"></em>';
250
		} else {
251
			icon = '<em class="mui-icon iconfont icon-vip unauthicon"></em>';
252
		}
253

254
		/*获取资源信息*/
255
		var resources = item.professor.resources;
256
		var zlist = '';
257
		for(var m = 0; m < resources.length; m++) {
258
			//console.log(resources[m].caption);
259
			zlist = '<span>' + resources[m].resourceName + '</span>、';
260
		}
261

262
		var title = item.professor.title || "";
263
		var office = item.professor.office || "";
264
		var orgName = item.professor.orgName || "";
265
		var address = item.professor.address || "";
266

267
		if(title != "") {
268
			title = title + " , ";
269
		}
270
		if(office != "") {
271
			office = office + " , ";
272
		}
273
		if(orgName != "") {
274
			orgName = orgName;
275
		}
276
		if(address != "") {
277
			address = " | " + address;
278
		}
279

280
		var li = document.createElement('li');
281
		li.className = 'mui-table-view-cell mui-media';
282

283
		li.innerHTML = '<a class="proinfor" data-id="' + item.id + '"' +
284
			'<p><img class="mui-media-object mui-pull-left headimg" src="' + img + '"></p>' +
285
			'<div class="mui-media-body">' +
286
			'<span class="listtit">' + item.professor.name + icon + '</span>' +
287
			'<p class="listtit2"><span>' + title + '</span><span>' + office + '</span><span>' + orgName + '</span><span>' + address + '</span></p>' +
288
			'<p class="mui-ellipsis listtit3">' + rlist + '</p>' +
289
			'<p class="mui-ellipsis listtit3">' + zlist + '</p>' +
290
			'</div></a></li>';
291

292
		table.appendChild(li, table.firstChild);
293
	});
294
}
295

296
/*资源数据遍历*/
297
function resourcesEach2(datalistd) {
298
	mui.each(datalistd, function(index, item) {
299

300
		/*获取头像*/
301
		if(item.resource.images.length) {
302
			var img = baseUrl + "/images/resource/" + item.resource.resourceId + ".jpg";
303
		} else {
304
			var img = "../images/default-resource.jpg";
305
		}
306

307
		/*判断用户是否认证*/
308
		var icont = '';
309
		if(item.resource.professor.authentication == true) {
310
			icont = '<em class="mui-icon iconfont icon-vip authicon"></em>';
311
		} else {
312
			icont = '<em class="mui-icon iconfont icon-vip unauthicon"></em>';
313
		}
314

315
		var title = item.resource.professor.title || "";
316
		var office = item.resource.professor.office || "";
317
		var orgName = item.resource.professor.orgName || "";
318
		var address = item.resource.professor.address || "";
319

320
		if(title != "") {
321
			title = title + " , ";
322
		}
323
		if(office != "") {
324
			office = office + " , ";
325
		}
326
		if(orgName != "") {
327
			orgName = orgName;
328
		}
329
		if(address != "") {
330
			address = " | " + address;
331
		}
332

333
		var li = document.createElement('li');
334
		li.className = 'mui-table-view-cell mui-media';
335

336
		li.innerHTML = '<a class="proinfor" data-id="' + item.resourceId + '"' +
337
			'<p><img class="mui-media-object mui-pull-left resimg" src="' + img + '" ></p>' +
338
			'<div class="mui-media-body">' +
339
			'<span class="listtit">' + item.resource.resourceName + '</span>' +
340
			'<p class="mui-ellipsis listtit2">' + item.resource.supportedServices + '</p>' +
341
			'<span class="listtit">' + item.resource.professor.name + icont + '</span>' +
342
			'<p class="listtit3"><span>' + title + '</span><span>' + office + '</span><span>' + orgName + '</span><span>' + address + '</span></p>' +
343
			'</div></a></li>';
344
		table1.appendChild(li, table1.firstChild);
345
	});
346
}