Browse Source

新增研究文章添加功能,修改功能,删除功能,列表显示功能。

xuchunyang 8 years ago
parent
commit
7d807b851e
7 changed files with 467 additions and 6 deletions
  1. 2 1
      css/newsciresource.css
  2. 295 0
      js/news-list.js
  3. 143 0
      js/popup.js
  4. 1 1
      js/workindex.js
  5. 13 4
      js/workspace.js
  6. 12 0
      news-list.html
  7. 1 0
      workspaces.html

+ 2 - 1
css/newsciresource.css

@ -14,4 +14,5 @@
14 14
img.loading{position: absolute;left:50%;top:30%}
15 15

16 16
#consdcen .addworkbtn,#consdcen .addworkbtn-list{width:202px;height:258px;cursor:default;}	
17
#consdcen .addworkbtn-list h3 img{width:200px; height:200px}			
17
#consdcen .addworkbtn-list h3 img{width:200px; height:200px}	
18
.addworkbtn-list2 h2{text-overflow:inherit; white-space:inherit; line-height: 1.8;    height: 48px; margin-top: 0px; }		

+ 295 - 0
js/news-list.js

@ -0,0 +1,295 @@
1
$(function() {
2

3
	var userid = $.cookie("userid");
4
	var articleId;
5
	
6
	newslist();//科研新闻列表
7
	
8
	$("#workmysrc").on("click", ".newsadd", function() {
9
		newsBombBox();//插入弹框
10
		addDele();//编辑学术领域和应用行业	
11
		$("#inputb").on("click", function() {
12
			newsAdd();
13
		});
14
	});
15
	
16
	$("#workmysrc").on("click", ".resoumag", function() {
17
		articleId = $(this).attr("data-title");
18
		newsBombBox();//插入弹框
19
		addDele();//编辑学术领域和应用行业
20
		modifyDisplay();
21
		$("#inputb").on("click", function() {
22
			$.MsgBox.Confirm("消息", "确定修改文章信息吗?", newsModify)
23
		});
24
	});
25
	
26
    /*科研新闻列表*/
27
	function newslist() {
28
		$.ajax({
29
			"url": "/ajax/article/qaPro",
30
			"type": "get",
31
			"async": true,
32
			"data": {
33
				"professorId": userid
34
			},
35
			"beforeSend": function() {
36
				$("#newsbox").append('<img src="../images/loading.gif" class="loading" />');
37
			},
38
			"success": function(data) {
39
				console.log(data);
40
				if(data.success) {
41
					var add = '';
42
					$("#newsbox").html("");
43
					var addbut = ' <div class="addworkbtn newsadd" ></div>';
44
					$("#newsbox").append(addbut);
45
					for(var i = 0; i < data.data.length; i++) {
46
						var add = '<div class="addworkbtn-list addworkbtn-list2" > <div class="resoumag" data-title="">'
47
						add += '<div class="ResImgBox" style="max-width:226px;width:226px;height: 226px;"><img class="resImg headRadius resourceImg" src="" /></div>'
48
						add += '<h2>' + data.data[i].articleTitle + '</h2>'
49
						add += '</div></div>';
50
						$add = $(add);
51
						$("#newsbox").append($add);
52
						$add.find('.resoumag').attr("data-title", data.data[i].articleId);
53
						if(data.data[i].articleImg) {
54
							$add.find(".resourceImg").attr("src", "data/article/" + data.data[i].articleImg);
55
						} else {
56
							$add.find(".resourceImg").attr("src", "/images/default-resource.jpg");
57
						}
58

59
						$(".loading").remove();
60
					}
61

62
				} else {
63
					$.MsgBox.Alert('message', "系统异常!");
64
				}
65
			},
66
			"error": function() {
67
				$.MsgBox.Alert('message', 'failed')
68
			}
69
		});
70
	}
71
	
72
    /*科研新闻添加*/
73
	function newsAdd(){
74
	    var $data = {};
75
		$data.professorId = userid;
76
		$data.articleTitle = $("#newsName").val();
77
		$data.subject = captiureSubInd("SubjectList .deleteSubject");
78
		$data.industry = captiureSubInd("industryList .deleteIndustry");
79
		$data.articleContent = ue.getContent();
80
		if(cacheImageKey) {
81
			$data.articleImg = cacheImageKey;
82
		}
83
		$.ajax({
84
			"url" : "/ajax/article",
85
			"type" :  "post" ,
86
			"dataType" : "json",
87
			"data" :$data,
88
			"success" : function(data) {
89
				console.log(data);
90
				if (data.success){
91
					newsname = data.data;
92
					console.log(newsname);
93
					$.MsgBox.Alert("消息","文章发表成功!");	
94
					newslist();
95
					$(".blackcover").remove();
96
					UE.delEditor('editor');
97
				} else {
98
					$.MsgBox.Alert("消息","文章发表失败!");
99
				}
100
			},
101
			"error":function(){
102
				$.MsgBox.Alert('消息','链接服务器超时')
103
			}
104
		});
105
	}
106
	
107
	/*科研新闻修改回显内容*/
108
	function modifyDisplay(){
109
	    $.ajax({
110
			"url" : "/ajax/article/query",
111
			"type" : "GET",
112
			"dataType" : "json",
113
			"data": {
114
				"articleId": articleId
115
			},
116
			"success" : function($data) {	
117
				console.log($data);
118
				if ($data.success) {
119
					$("#newsName").val($data.data.articleTitle);	
120
					industryShow($data.data.subject,"SubjectList","deleteSubject");
121
		            industryShow($data.data.industry,"industryList","deleteIndustry");
122
		            ue.ready(function() {
123
				    	if($data.data.articleContent==undefined){
124
				    		var datadescp ="";
125
				    	}else{
126
				    		var datadescp = $data.data.articleContent;
127
				    	}
128
				        ue.setContent(datadescp);
129
				    });
130
				    if($data.data.articleImg) {
131
						var $liMages = $(
132
								 '<div id="WU_FILE" class="file-item thumbnail ResImgBox" style="max-width:226px;width:226px;height: 226px;">'+
133
						 			'<img class="resImg headRadius resourceImg" style="display: inline;" src="data/article/'+$data.data.articleImg+'">'+								 			
134
						 		'</div>'
135
						            )
136
					}else{
137
						var $liMages = $(
138
								 '<div id="WU_FILE" class="file-item thumbnail ResImgBox" style="max-width:226px;width:226px;height: 226px;">'+
139
						 			'<img class="resImg headRadius resourceImg" style="display: inline;" src="/images/default-resource.jpg">'+								 			
140
						 			'</div>'
141
						            )
142
					}
143
					
144
					$("#fileList").append($liMages);   
145
				} 
146
			},
147
			"error":function(){
148
				$.MsgBox.Alert('消息','链接服务器超时')
149
			}
150
		})
151
	    
152
		$("#deletedResource").show();
153
		//$.MsgBox.Confirm("消息", "确定修改文章信息吗?", newsAdd())
154
		$("#deletedResource").on("click", function() {
155
			$.MsgBox.Confirm("消息", "执行删除后文章信息将无法恢复,确定继续吗?",newsDelet)		
156
		});
157
	}
158

159
	/*科研新闻修改*/
160
	function newsModify() {
161
		var $data = {};
162
		$data.articleId = articleId;
163
		$data.articleTitle = $("#newsName").val();
164
		$data.subject = captiureSubInd("SubjectList .deleteSubject");
165
		$data.industry = captiureSubInd("industryList .deleteIndustry");
166
		$data.articleContent = ue.getContent();
167
		if(cacheImageKey) {
168
			$data.articleImg = cacheImageKey;
169
		}
170
		console.log($data);
171
	    $.ajax({
172
			"url" : "/ajax/article/updateArt",
173
			"type" : "POST",
174
			"dataType" : "json",
175
			"data" :$data,
176
			"success" : function($data) {	
177
				console.log($data);
178
				if ($data.success) {
179
					newslist();
180
					$(".blackcover").remove();
181
					UE.delEditor('editor');
182
				} 
183
			},
184
			"error":function(){
185
				$.MsgBox.Alert('消息','链接服务器超时')
186
			}
187
		})
188
	    
189
		$("#deletedResource").show();
190
		//$.MsgBox.Confirm("消息", "确定修改文章信息吗?", newsAdd())
191
		$("#deletedResource").on("click", function() {
192
			$.MsgBox.Confirm("消息", "执行删除后文章信息将无法恢复,确定继续吗?",newsDelet)		
193
		});
194
	}
195
	
196
	/*科研新闻删除*/
197
    function newsDelet() {
198
    	$.ajax({
199
			"url" : "/ajax/article/delete",
200
			"type" : "POST",
201
			"dataType" : "json",
202
			"data": {
203
				"articleId": articleId
204
			},
205
			"success" : function($data) {							
206
				if ($data.success) {
207
					$(".blackcover").remove();
208
					UE.delEditor('editor');
209
					newslist();	
210
				} 
211
			},
212
			"error":function(){
213
				$.MsgBox.Alert('消息','链接服务器超时')
214
			}
215
		})
216
	}
217
    
218
	//组合应用行业及学术领域
219
	function captiureSubInd(subIndu) {
220
		var industrys = $("#" + subIndu + "");
221
		var industryAll = "";
222
		if(industrys.size() > 0) {
223
			for(var i = 0; i < industrys.size(); i++) {
224
				industryAll += industrys[i].innerText;
225
				industryAll += ',';
226
			};
227
			industryAll = industryAll.substring(0, industryAll.length - 1);
228
		}
229
		return industryAll;
230
	}
231
	
232
	//拆解应用行业及学术领域
233
	function industryShow(data,industryList,deleteIndustry){
234
		if(data != undefined && data.length != 0 ){
235
			var subs = new Array();
236
			if(data.indexOf(',')){
237
				subs = data.split(',');
238
			}else{
239
				subs[0] = data;
240
			}
241
			if(subs.length>0){
242
				for (var i = 0; i < subs.length; i++) 
243
				{
244
					$("#"+industryList+"").append("<div class='"+deleteIndustry+"'>"+ subs[i] +"<span class='removeNu'><img src='images/move.png'></span></div>");																
245
				};
246
			}	
247
		}			
248
	}
249

250
	//添加或者删除应用行业及学术领域
251
	function addDele() {
252
		$("#industryList").on("click", ".removeNu", function() {
253
			$(this).parent().remove();
254
		});
255
		$("#industryAdd").click(function() {
256
			var val = $("#industry").val();
257
			if(val==""){
258
				$(".workmsg4").text("请填写应用行业");
259
				return;
260
			}
261
			var vallist = $("#industryList .deleteIndustry em");
262
			for(var i=0;i<vallist.length;i++){
263
				if(vallist[i].innerText==val){
264
					$(".workmsg4").text("不能添加重复内容");
265
					return;
266
				}
267
			}
268
			$("#industryList").append("<div class='deleteIndustry'><em>" + val + "</em><span class='removeNu'><img src='images/move.png'></span></div>")
269
			$("#industry").val("");
270
			$(".workmsg4").text("");
271
		});
272
		
273
		$("#SubjectList").on("click", ".removeNu", function() {
274
			$(this).parent().remove();
275
		});
276
		
277
		$("#subjectAdd").click(function() {
278
			var val = $("#subject").val();
279
			if(val==""){
280
				$(".workmsg3").text("请填写学术领域");
281
				return;
282
			}
283
			var vallist = $("#SubjectList .deleteSubject em");
284
			for(var i=0;i<vallist.length;i++){
285
				if(vallist[i].innerText==val){
286
					$(".workmsg3").text("不能添加重复内容");
287
					return;
288
				}
289
			}
290
			$("#SubjectList").append("<div class='deleteSubject'><em>" + val + "</em><span class='removeNu'><img src='images/move.png'></span></div>")
291
			$("#subject").val("");
292
			$(".workmsg3").text("");
293
		});
294
	}
295
});

+ 143 - 0
js/popup.js

@ -927,4 +927,147 @@ function finish() {
927 927
	});
928 928
}		
929 929

930
/*科研文章*/
931
function newsBombBox() {
932
	
933
		var PopHtml="";
934
		PopHtml += '<div class="blackcover">';
935
		PopHtml += '<div class="resouinfo"><form class="resoufrm">';
936
		PopHtml += '<div class="resoutit">科研文章<div class="stateinfor"><em></em><span>文章发布中</span></div></div>';
937
		PopHtml += '<div class="resoubox">';
938
		PopHtml += '<div><table class="resoutab floatL"><tr>';
939
		PopHtml += '<th class="resouinfotype" scope="row">文章标题</th>';
940
		PopHtml += '<td><div class="resouinforcon"><input type="text" class="frmtype" id="newsName" ><span class="requiredcon">*</span></div></td>';
941
		PopHtml += '</tr>';
942
		PopHtml += '<tr class="workmsgbox"><th></th><td><div class="resouinforcon"><div class="workmsg workmsg1"></div></div></td></tr>  ';
943
		PopHtml += '<tr><th class="resouinfotype"  scope="row">涉及学术领域</th><td><div class="resouinforcon"><input type="text" class="frmtype subCla" id="subject"><input type="button" value="添加" class="addIndusry" id="subjectAdd"></div></td></tr>';
944
		PopHtml += '<tr class="workmsgbox"><th></th><td><div class="resouinforcon"><div class="workmsg workmsg3"></div></div></td></tr>  ';
945
		PopHtml += '<tr><th></th><td><div class="addlist" id="SubjectList"></div></td></tr>'
946
		PopHtml += '<tr><th class="resouinfotype"  scope="row">涉及应用行业</th><td><div class="resouinforcon" id="resouinforcon"><input type="text" class="frmtype" id="industry"><input type="button" value="添加" class="addIndusry" id="industryAdd"></div></td></tr>'; 	
947
		PopHtml += '<tr class="workmsgbox"><th></th><td><div class="resouinforcon"><div class="workmsg workmsg4"></div></div></td></tr>  ';
948
		PopHtml += '<tr><th></th><td><div class="addlist" id="industryList"></div></td></tr>';
949
		PopHtml +='</table>';
950
		/////////////文章图片上传////////////////////
951
		PopHtml +='<div class="resouimgbox resouimgboxadd floatL">';
952
		PopHtml += '<div class="resouinforcon">';
953
		PopHtml += '<div class="upbox" style="margin-top:15px"><div id="uploader" style="border-radius: 6px;">';
954
		PopHtml += '<div id="fileList" class="uploader-list"></div>';
955
		PopHtml += '<div id="filePicker">选择图片</div></div>';
956
		PopHtml += '<span class="resouimgmsg">建议尺寸640*640,大小在5M以内,<br/>JPG、PNG格式</span>';
957
		PopHtml += '</div></div></div></div>';
958
		PopHtml +='<div class="baimg" style="clear: both;padding:15px 0 10px 0;overflow: hidden;"><span class="resouinfotype" style="display: block;float: left;">详细描述</span><script id="editor" name="content" type="text/plain" style="width:550px; height:200px;float: left;margin-left: 30px;"></script></div>';
959
		/////////////文章图片上传 结束////////////////////
960
		//按钮盒子
961
		PopHtml +='<table class="btntab clearfix"><tr><td>';
962
		PopHtml += '<div class="addrebtn" style="text-align:center;"><input type="button" value="保存" class="frmtype frmbtn" id="inputb"><input type="button" value="删除资源" class="frmtype frmbtn frmrbtn" id="deletedResource" style="display: none;"></div>';
963
		PopHtml += '</td></tr></table>';
964
		PopHtml += '</div></form>';
965
		//关闭按钮
966
		PopHtml += '<span class="workclose"></span>';
967
		PopHtml += '</div></div>';
968

969
		//必须先将html添加到body,再设置Css样式
970
		$("body").prepend(PopHtml);
971
        $("body").css("position","fixed");
972
        //初始引用编辑器
973
        ue = UE.getEditor('editor', {
974
		  // lang:"zh-cn"
975
		});
976
		         
977
        //让提示框居中
978
        var _widht = $(".blackcover").width();
979
        var _height = $(".blackcover").height();
980
		var boxWidth = $(".resouinfo").width();
981
		var boxHeight = $(".resouinfo").height();
982
		$(".resouinfo").css({ top:"40px", left: (_widht - boxWidth) / 2 + "px" });
983

984

985
		//关闭按钮
986
		$(".workclose").click(function(){
987
			$(".blackcover").remove();
988
			$("body").css("position","static");
989
			UE.delEditor('editor');
990
 		});
991
		
992
		//判断文章标题不能为空
993
		function newsName()
994
		{
995
			var code = $("#newsName").val();
996
			if(code.length==0||code==" "){
997
				$(".workmsg1").text("发布文章名称不能为空");
998
				resourceNamePass = false;
999
			}else{
1000
				$(".workmsg1").text("");
1001
				resourceNamePass= true;
1002
			}
1003
		}
1004
		
1005
		//失去焦点判断	
1006
		$("#newsName").blur(function(){
1007
			newsName();
1008
		});
1009

1010
		// 初始化Web Uploader
1011
		var uploader = WebUploader.create({
1012
			// 选完文件后,是否自动上传。
1013
		    auto: true,
1014
		    // 添加的文件数量
1015
		    //fileNumLimit: 1,
1016
		    // swf文件路径
1017
		    swf: '../js/webuploader/Uploader.swf',
1018
		    // 文件接收服务端。
1019
		    server: '../ajax/cachedFileUpload',
1020
		    // 选择文件的按钮。可选。
1021
		    // 内部根据当前运行是创建,可能是input元素,也可能是flash.
1022
	
1023
		    pick : {
1024
		    	id : "#filePicker",
1025
		    	multiple: false
1026
		    	},
1027
		    // 只允许选择图片文件。
1028
		    accept: {
1029
		        title: 'Images',
1030
		        extensions: 'gif,jpg,jpeg,bmp,png',
1031
		        mimeTypes: 'image/*'
1032
		    }
1033
		   
1034
		});
1035
	
1036
		// 当有文件添加进来的时候
1037
		uploader.on( 'fileQueued', function( file ) {
1038
		    var $li = $(
1039
		            '<div id="' + file.id + '" class="file-item thumbnail ResImgBox beforMargin" style="max-width:226px;width:226px;height: 226px;">' +
1040
			           '<img class="resImg headRadius resourceImg" style="display: inline;" >' +
1041
		            '</div>'
1042
		            )
1043
		            
1044
		    $img = $li.find('img');
930 1045

1046
		    // $list为容器jQuery实例
1047
		    var $list = $('#fileList');
1048
		    $list.empty("");
1049
		    $list.append( $li );
1050
		    $(".upbox").css({"marginTop":"0px"});
1051

1052
		    // 创建缩略图
1053
		    // 如果为非图片文件,可以不用调用此方法。
1054
		    // thumbnailWidth x thumbnailHeight 为 100 x 100
1055
		    uploader.makeThumb( file, function( error, src ) {
1056
		        if ( error ) {
1057
		            $img.replaceWith('<span>不能预览</span>');
1058
		            return;
1059
		        }
1060
		        $img.attr( 'src', src );
1061
		    }, 1, 1 );
1062
		    
1063
		});
1064
    
1065
		// 文件上传成功,给item添加成功class, 用样式标记上传成功。
1066
		cacheImageKey=null;
1067
		uploader.on( 'uploadSuccess', function(file,data) {
1068
			cacheImageKey =data.data[0].cacheKey;
1069
			console.log(cacheImageKey);
1070
		});
1071
	
1072
}
1073
/*科研文章 end*/

+ 1 - 1
js/workindex.js

@ -1,7 +1,6 @@
1 1
$(function(){
2 2
	var userid = $.cookie("userid");
3 3
	var lookall;
4
	
5 4
	//获取专家的数据
6 5
	function getProfessorData(professorId){		
7 6
		$.ajax({	
@ -9,6 +8,7 @@ $(function(){
9 8
		"type":"get",		
10 9
		"async": true,
11 10
		"success":function(data) {
11
			//console.log(data.data);
12 12
			if(data.success)
13 13
			{					
14 14
			$("#nameS").text(data.data.name);

+ 13 - 4
js/workspace.js

@ -160,10 +160,19 @@ if(num==1){
160 160
			"dataType":"html",
161 161
			"success":function(result){
162 162
				//console.log(data);
163
								
164
			$(".workcon").html(result);
165
			 
166
			
163
				$(".workcon").html(result);
164
			}
165
		})
166
	})
167
	
168
	/*科研新闻*/
169
	$(".workmenu").on("click","#newslist",function(){
170
		$.ajax({
171
			"url":"news-list.html",
172
			"dataType":"html",
173
			"success":function(result){
174
				//console.log(data);
175
				$(".workcon").html(result);
167 176
			}
168 177
		})
169 178
	})

+ 12 - 0
news-list.html

@ -0,0 +1,12 @@
1
<!--科研文章-->
2
<div class="workconitem">
3
	<div class="workcontit">科研文章</div>
4
	<div class="worksubcon">
5
		<div class="workmysrc workmysrc1 clearfix" id="workmysrc">
6
			<div id="newsbox">
7
				
8
			</div>
9
		</div>
10
	</div>
11
</div>
12
<script type="text/javascript" src="js/news-list.js"></script>

+ 1 - 0
workspaces.html

@ -65,6 +65,7 @@
65 65
            <!-- <div class="worksubmenu" id="sciresourcebtn">研发资源</div> -->
66 66
            <div class="worksubmenu" id="newsciresourcebtn">研发资源</div>
67 67
           <!--  <div class="worksubmenu" id="sciprojectbtn">科研项目</div> -->
68
            <div class="worksubmenu" id="newslist">科研文章</div>
68 69
        </div>
69 70
        
70 71
        <div class="workcon">