portal html css js resource

cmp-articalList.js 13KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412
  1. //企业新闻
  2. $(function() {
  3. var orgId = $.cookie("orgId");
  4. var newtitle = false;
  5. newslist(); //科研新闻列表
  6. /*弹框*/
  7. $("body").on("click", ".modelClosebtn", function() {
  8. BombBoxlClose();
  9. })
  10. $(".workarea").on("click", ".addworkbtn", function() {
  11. newsBombBox(); //插入弹框
  12. addDele(); //编辑学术领域和应用行业
  13. $("#inputb").on("click", function() {
  14. if($("#newsName").val() != "") {
  15. newsAdd();
  16. } else {
  17. $(".msgLog1").text("发布文章名称不能为空");
  18. }
  19. });
  20. });
  21. $(".workarea").on("click", ".addworkbtn-list", function() {
  22. articleId = $(this).find(".showBlock").attr("data-title");
  23. newsBombBox(); //插入弹框
  24. addDele(); //编辑学术领域和应用行业
  25. modifyDisplay();
  26. $("#inputb").on("click", function() {
  27. if($("#newsName").val() != "") {
  28. $.MsgBox.Confirm("消息", "确定修改文章信息吗?", newsModify)
  29. } else {
  30. $(".workmsg1").text("发布文章名称不能为空");
  31. }
  32. });
  33. });
  34. /*失去焦点判断*/
  35. $("#newsName").blur(function() {
  36. newsName();
  37. });
  38. //判断文章标题不能为空
  39. function newsName() {
  40. var code = $("#newsName").val();
  41. if(code.length == 0 || code == " ") {
  42. $(".msgLog1 span").text("发布文章名称不能为空");
  43. newtitle = false;
  44. } else {
  45. $(".msgLog1 span").text("");
  46. newtitle = true;
  47. }
  48. }
  49. /*科研新闻列表*/
  50. function newslist() {
  51. $.ajax({
  52. "url": "/ajax/article/qaOrg",
  53. "type": "get",
  54. "async": true,
  55. "data": {
  56. "orgId": orgId
  57. },
  58. "beforeSend": function() {
  59. $("#newsbox").append('<img src="../images/loading.gif" class="loading" />');
  60. },
  61. "success": function(data) {
  62. console.log(data);
  63. if(data.success) {
  64. var add = '';
  65. $("#newsbox").html("");
  66. var addbut = ' <div class="addworkbtn" ></div>';
  67. $("#newsbox").append(addbut);
  68. for(var i = 0; i < data.data.length; i++) {
  69. var add = '<div class="addworkbtn-list"><div class="showBlock" data-title="">'
  70. add += '<div class="showImg"></div>'
  71. add += '<div class="showBasic"><h6 id="artical_topic" class="showTopic">' + data.data[i].articleTitle + '</h6></div>'
  72. add += '</div><div class="tagsBox"><span></span></div>'
  73. add += '</div>';
  74. $add = $(add);
  75. $("#newsbox").append($add);
  76. $add.find('.showBlock').attr("data-title", data.data[i].articleId);
  77. $add.find('.tagsBox span').text(data.data[i].industry);
  78. if(data.data[i].articleImg) {
  79. $add.find(".showImg").attr("style", "background-image: url(/data/article/" + data.data[i].articleImg + ");background-size:cover;");
  80. }
  81. $(".loading").remove();
  82. }
  83. } else {
  84. $.MsgBox.Alert('消息', '链接服务器超时')
  85. }
  86. },
  87. "error": function() {
  88. $.MsgBox.Alert('消息', '链接服务器超时')
  89. }
  90. });
  91. }
  92. /*科研新闻添加*/
  93. function newsAdd() {
  94. var $data = {};
  95. $data.orgId = orgId;
  96. $data.articleTitle = $("#newsName").val();
  97. $data.subject = captiureSubInd("SubjectList .deleteSubject");
  98. $data.industry = captiureSubInd("industryList .deleteIndustry");
  99. $data.articleContent = ue.getContent();
  100. if(cacheImageKey) {
  101. $data.articleImg = cacheImageKey;
  102. }
  103. $.ajax({
  104. "url": "/ajax/article",
  105. "type": "post",
  106. "dataType": "json",
  107. "data": $data,
  108. "success": function(data) {
  109. console.log(data);
  110. if(data.success) {
  111. newsname = data.data;
  112. console.log(newsname);
  113. $.MsgBox.Alert("消息", "文章发表成功!");
  114. newslist();
  115. UE.delEditor('editor');
  116. BombBoxlClose();
  117. } else {
  118. $.MsgBox.Alert("消息", "文章发表失败!");
  119. }
  120. },
  121. "error": function() {
  122. $.MsgBox.Alert('消息', '链接服务器超时')
  123. }
  124. });
  125. }
  126. /*科研新闻修改回显内容*/
  127. function modifyDisplay() {
  128. $.ajax({
  129. "url": "/ajax/article/query",
  130. "type": "GET",
  131. "dataType": "json",
  132. "data": {
  133. "articleId": articleId
  134. },
  135. "success": function($data) {
  136. console.log($data);
  137. if($data.success) {
  138. $("#newsName").val($data.data.articleTitle);
  139. industryShow($data.data.subject, "SubjectList", "deleteSubject");
  140. industryShow($data.data.industry, "industryList", "deleteIndustry");
  141. ue.ready(function() {
  142. if($data.data.articleContent == undefined) {
  143. var datadescp = "";
  144. } else {
  145. var datadescp = $data.data.articleContent;
  146. }
  147. ue.setContent(datadescp);
  148. });
  149. if($data.data.articleImg) {
  150. $("#imghos").attr("src", "/data/article/" + $data.data.articleImg);
  151. }
  152. }
  153. },
  154. "error": function() {
  155. $.MsgBox.Alert('消息', '链接服务器超时')
  156. }
  157. })
  158. $("#deletedResource").show();
  159. //$.MsgBox.Confirm("消息", "确定修改文章信息吗?", newsAdd())
  160. $("#deletedResource").on("click", function() {
  161. $.MsgBox.Confirm("消息", "执行删除后文章信息将无法恢复,确定继续吗?", newsDelet)
  162. });
  163. }
  164. /*科研新闻修改*/
  165. function newsModify() {
  166. var $data = {};
  167. $data.articleId = articleId;
  168. $data.articleTitle = $("#newsName").val();
  169. $data.subject = captiureSubInd("SubjectList .deleteSubject");
  170. $data.industry = captiureSubInd("industryList .deleteIndustry");
  171. $data.articleContent = ue.getContent();
  172. if(cacheImageKey) {
  173. $data.articleImg = cacheImageKey;
  174. }
  175. console.log($data);
  176. $.ajax({
  177. "url": "/ajax/article/updateArt",
  178. "type": "POST",
  179. "dataType": "json",
  180. "data": $data,
  181. "success": function($data) {
  182. console.log($data);
  183. if($data.success) {
  184. newslist();
  185. BombBoxlClose();
  186. UE.delEditor('editor');
  187. }
  188. },
  189. "error": function() {
  190. $.MsgBox.Alert('消息', '链接服务器超时')
  191. }
  192. })
  193. $("#deletedResource").show();
  194. //$.MsgBox.Confirm("消息", "确定修改文章信息吗?", newsAdd())
  195. $("#deletedResource").on("click", function() {
  196. $.MsgBox.Confirm("消息", "执行删除后文章信息将无法恢复,确定继续吗?", newsDelet)
  197. });
  198. }
  199. /*科研新闻删除*/
  200. function newsDelet() {
  201. $.ajax({
  202. "url": "/ajax/article/delete",
  203. "type": "POST",
  204. "dataType": "json",
  205. "data": {
  206. "articleId": articleId
  207. },
  208. "success": function($data) {
  209. if($data.success) {
  210. BombBoxlClose();
  211. UE.delEditor('editor');
  212. newslist();
  213. }
  214. },
  215. "error": function() {
  216. $.MsgBox.Alert('消息', '链接服务器超时')
  217. }
  218. })
  219. }
  220. //组合应用行业及学术领域
  221. function captiureSubInd(subIndu) {
  222. var industrys = $("#" + subIndu + "");
  223. var industryAll = "";
  224. if(industrys.size() > 0) {
  225. for(var i = 0; i < industrys.size(); i++) {
  226. industryAll += industrys[i].innerText;
  227. industryAll += ',';
  228. };
  229. industryAll = industryAll.substring(0, industryAll.length - 1);
  230. }
  231. return industryAll;
  232. }
  233. //拆解应用行业及学术领域
  234. function industryShow(data, industryList, deleteIndustry) {
  235. if(data != undefined && data.length != 0) {
  236. var subs = new Array();
  237. if(data.indexOf(',')) {
  238. subs = data.split(',');
  239. } else {
  240. subs[0] = data;
  241. }
  242. if(subs.length > 0) {
  243. for(var i = 0; i < subs.length; i++) {
  244. $("#" + industryList + "").append("<li class='" + deleteIndustry + "'><em>" + subs[i] + "</em><img src='images/con_icon_delete.png' class='removeNu'></li>");
  245. };
  246. }
  247. }
  248. }
  249. /*添加或者删除应用行业及学术领域*/
  250. function addDele() {
  251. $("#industryList").on("click", ".removeNu", function() {
  252. $(this).parent().remove();
  253. });
  254. $("#industryAdd").click(function() {
  255. var val = $("#industry").val();
  256. if(val == "") {
  257. $(".workmsg4").text("请填写应用行业");
  258. return;
  259. }
  260. var vallist = $("#industryList .deleteIndustry em");
  261. for(var i = 0; i < vallist.length; i++) {
  262. if(vallist[i].innerText == val) {
  263. $(".workmsg4").text("不能添加重复内容");
  264. return;
  265. }
  266. }
  267. $("#industryList").append("<li class='deleteIndustry'><em>" + val + "</em><img src='images/con_icon_delete.png' class='removeNu'></li>")
  268. $("#industry").val("");
  269. $(".workmsg4").text("");
  270. });
  271. $("#SubjectList").on("click", ".removeNu", function() {
  272. $(this).parent().remove();
  273. });
  274. $("#subjectAdd").click(function() {
  275. var val = $("#subject").val();
  276. if(val == "") {
  277. $(".workmsg3").text("请填写学术领域");
  278. return;
  279. }
  280. var vallist = $("#SubjectList .deleteSubject em");
  281. for(var i = 0; i < vallist.length; i++) {
  282. if(vallist[i].innerText == val) {
  283. $(".workmsg3").text("不能添加重复内容");
  284. return;
  285. }
  286. }
  287. $("#SubjectList").append("<li class='deleteSubject'> <em>" + val + "</em> <img src='images/con_icon_delete.png' class='removeNu'/></li>")
  288. $("#subject").val("");
  289. $(".workmsg3").text("");
  290. });
  291. }
  292. /*科研文章*/
  293. function newsBombBox() {
  294. var PopHtml = "";
  295. PopHtml += '<div class="blackcover" style="display:block">';
  296. PopHtml += '<div class="modelContain" style="width: 700px;display:block">';
  297. PopHtml += '<form name="cmpAllFrm" class="cmpArticalFrm">';
  298. PopHtml += '<div class="cmpMotit">文章</div>';
  299. PopHtml += '<ul class="cmpAllUl cmpArticalul">';
  300. PopHtml += '<li><div class="col-w-3">文章标题</div><div class="col-w-9 rightRequ"><input type="text" class="frmtype frmtypeW" id="newsName"/><em class="requiredcon">*</em><div class="frmmsg msgLog1"><span></span></div></div></li>';
  301. PopHtml += '<li><div class="col-w-3">涉及学术领域</div><div class="col-w-9">';
  302. PopHtml += '<div class="col-w-9"><input type="text" class="frmtype frmtypeW" id="subject"/><div class="frmmsg msgLog workmsg3"><span></span></div></div>';
  303. PopHtml += '<div class="col-w-3"><button type="button" class="frmtype btnModel btnModel2 headRadius" id="subjectAdd">添加</button></div><ul class="ulspace editUlist clearfix" id="SubjectList"></ul>';
  304. PopHtml += '</div></li>';
  305. PopHtml += '<li><div class="col-w-3">涉及应用行业</div><div class="col-w-9">';
  306. PopHtml += '<div class="col-w-9"><input type="text" class="frmtype frmtypeW" id="industry"/><div class="frmmsg msgLog workmsg4"><span></span></div></div>'
  307. PopHtml += '<div class="col-w-3"><button type="button" class="frmtype btnModel btnModel2 headRadius" id="industryAdd">添加</button></div>';
  308. PopHtml += '<ul class="ulspace editUlist clearfix" id="industryList"></ul></div></li>';
  309. /////////////文章图片上传////////////////////
  310. PopHtml += '<div class="uploderArt"><div class="imgBlock" id="uploader">';
  311. PopHtml += '<div id="fileList" class="boxBlock uploader-list headRadius"><img class="boxBlockimg headRadius" id="imghos" src="../images/default-artical.jpg" /></div>';
  312. PopHtml += '<div id="filePicker" class="uploadInp uploadInpArt">上传文章封面图片</div>';
  313. PopHtml += '</div><p class="smalltip">尺寸建议640*640,大小在5M以内,JPG、PNG格式</p></div></ul>';
  314. /////////////文章图片上传 结束////////////////////
  315. PopHtml += '<ul class="cmpAllUl cmpArticalul cmpArticalul2">';
  316. PopHtml += '<li><div class="col-w-2">文章正文</div>';
  317. PopHtml += '<div class="col-w-10"><script id="editor" name="content" type="text/plain" style="width:520px; height:200px;float: left;"></script></div></li>';
  318. PopHtml += '<li class="alignCenter" style="position: relative;"><button type="button" class="frmtype btnModel headRadius save-block" id="inputb">发布</button><a class="deleteFont" style="display: none;" id="deletedResource">删除文章</a></li></ul>';
  319. PopHtml += '</form><span class="modelClosebtn"></span></div></div>';
  320. //必须先将html添加到body,再设置Css样式
  321. $("body").prepend(PopHtml);
  322. $("body").css("position", "fixed");
  323. ue = UE.getEditor('editor', {});
  324. // 初始化Web Uploader
  325. var uploader = WebUploader.create({
  326. // 选完文件后,是否自动上传。
  327. auto: true,
  328. // 添加的文件数量
  329. //fileNumLimit: 1,
  330. // swf文件路径
  331. swf: '../js/webuploader/Uploader.swf',
  332. // 文件接收服务端。
  333. server: '../ajax/cachedFileUpload',
  334. // 选择文件的按钮。可选。
  335. // 内部根据当前运行是创建,可能是input元素,也可能是flash.
  336. pick: {
  337. id: "#filePicker",
  338. multiple: false
  339. },
  340. // 只允许选择图片文件。
  341. accept: {
  342. title: 'Images',
  343. extensions: 'gif,jpg,jpeg,bmp,png',
  344. mimeTypes: 'image/*'
  345. }
  346. });
  347. // 当有文件添加进来的时候
  348. uploader.on('fileQueued', function(file) {
  349. var $li = $(
  350. '<img class="boxBlockimg headRadius" style="display: inline;" id="' + file.id + '" >'
  351. )
  352. // $list为容器jQuery实例
  353. var $list = $('#fileList');
  354. $list.empty("");
  355. $list.append($li);
  356. // 创建缩略图
  357. // 如果为非图片文件,可以不用调用此方法。
  358. // thumbnailWidth x thumbnailHeight 为 100 x 100
  359. uploader.makeThumb(file, function(error, src) {
  360. if(error) {
  361. $li.replaceWith('<span>不能预览</span>');
  362. return;
  363. }
  364. $li.attr('src', src);
  365. }, 1, 1);
  366. });
  367. // 文件上传成功,给item添加成功class, 用样式标记上传成功。
  368. cacheImageKey = null;
  369. uploader.on('uploadSuccess', function(file, data) {
  370. cacheImageKey = data.data[0].cacheKey;
  371. console.log(cacheImageKey);
  372. });
  373. }
  374. /*科研文章 end*/
  375. function BombBoxlClose() {
  376. $(".blackcover").remove();
  377. $("body").css("position", "");
  378. UE.delEditor('editor');
  379. }
  380. })