portal html css js resource

cmp-articalList.js 13KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413
  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. $("#mb_msgicon").css("background", 'url("images/sign_icon_chenggong_nor.png") 0% 0% / contain');
  115. newslist();
  116. UE.delEditor('editor');
  117. BombBoxlClose();
  118. } else {
  119. $.MsgBox.Alert("消息", "文章发表失败!");
  120. }
  121. },
  122. "error": function() {
  123. $.MsgBox.Alert('消息', '链接服务器超时')
  124. }
  125. });
  126. }
  127. /*科研新闻修改回显内容*/
  128. function modifyDisplay() {
  129. $.ajax({
  130. "url": "/ajax/article/query",
  131. "type": "GET",
  132. "dataType": "json",
  133. "data": {
  134. "articleId": articleId
  135. },
  136. "success": function($data) {
  137. console.log($data);
  138. if($data.success) {
  139. $("#newsName").val($data.data.articleTitle);
  140. industryShow($data.data.subject, "SubjectList", "deleteSubject");
  141. industryShow($data.data.industry, "industryList", "deleteIndustry");
  142. ue.ready(function() {
  143. if($data.data.articleContent == undefined) {
  144. var datadescp = "";
  145. } else {
  146. var datadescp = $data.data.articleContent;
  147. }
  148. ue.setContent(datadescp);
  149. });
  150. if($data.data.articleImg) {
  151. $("#imghos").attr("src", "/data/article/" + $data.data.articleImg);
  152. }
  153. }
  154. },
  155. "error": function() {
  156. $.MsgBox.Alert('消息', '链接服务器超时')
  157. }
  158. })
  159. $("#deletedResource").show();
  160. //$.MsgBox.Confirm("消息", "确定修改文章信息吗?", newsAdd())
  161. $("#deletedResource").on("click", function() {
  162. $.MsgBox.Confirm("消息", "执行删除后文章信息将无法恢复,确定继续吗?", newsDelet)
  163. });
  164. }
  165. /*科研新闻修改*/
  166. function newsModify() {
  167. var $data = {};
  168. $data.articleId = articleId;
  169. $data.articleTitle = $("#newsName").val();
  170. $data.subject = captiureSubInd("SubjectList .deleteSubject");
  171. $data.industry = captiureSubInd("industryList .deleteIndustry");
  172. $data.articleContent = ue.getContent();
  173. if(cacheImageKey) {
  174. $data.articleImg = cacheImageKey;
  175. }
  176. console.log($data);
  177. $.ajax({
  178. "url": "/ajax/article/updateArt",
  179. "type": "POST",
  180. "dataType": "json",
  181. "data": $data,
  182. "success": function($data) {
  183. console.log($data);
  184. if($data.success) {
  185. newslist();
  186. BombBoxlClose();
  187. UE.delEditor('editor');
  188. }
  189. },
  190. "error": function() {
  191. $.MsgBox.Alert('消息', '链接服务器超时')
  192. }
  193. })
  194. $("#deletedResource").show();
  195. //$.MsgBox.Confirm("消息", "确定修改文章信息吗?", newsAdd())
  196. $("#deletedResource").on("click", function() {
  197. $.MsgBox.Confirm("消息", "执行删除后文章信息将无法恢复,确定继续吗?", newsDelet)
  198. });
  199. }
  200. /*科研新闻删除*/
  201. function newsDelet() {
  202. $.ajax({
  203. "url": "/ajax/article/delete",
  204. "type": "POST",
  205. "dataType": "json",
  206. "data": {
  207. "articleId": articleId
  208. },
  209. "success": function($data) {
  210. if($data.success) {
  211. BombBoxlClose();
  212. UE.delEditor('editor');
  213. newslist();
  214. }
  215. },
  216. "error": function() {
  217. $.MsgBox.Alert('消息', '链接服务器超时')
  218. }
  219. })
  220. }
  221. //组合应用行业及学术领域
  222. function captiureSubInd(subIndu) {
  223. var industrys = $("#" + subIndu + "");
  224. var industryAll = "";
  225. if(industrys.size() > 0) {
  226. for(var i = 0; i < industrys.size(); i++) {
  227. industryAll += industrys[i].innerText;
  228. industryAll += ',';
  229. };
  230. industryAll = industryAll.substring(0, industryAll.length - 1);
  231. }
  232. return industryAll;
  233. }
  234. //拆解应用行业及学术领域
  235. function industryShow(data, industryList, deleteIndustry) {
  236. if(data != undefined && data.length != 0) {
  237. var subs = new Array();
  238. if(data.indexOf(',')) {
  239. subs = data.split(',');
  240. } else {
  241. subs[0] = data;
  242. }
  243. if(subs.length > 0) {
  244. for(var i = 0; i < subs.length; i++) {
  245. $("#" + industryList + "").append("<li class='" + deleteIndustry + "'><em>" + subs[i] + "</em><img src='images/con_icon_delete.png' class='removeNu'></li>");
  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("<li class='deleteIndustry'><em>" + val + "</em><img src='images/con_icon_delete.png' class='removeNu'></li>")
  269. $("#industry").val("");
  270. $(".workmsg4").text("");
  271. });
  272. $("#SubjectList").on("click", ".removeNu", function() {
  273. $(this).parent().remove();
  274. });
  275. $("#subjectAdd").click(function() {
  276. var val = $("#subject").val();
  277. if(val == "") {
  278. $(".workmsg3").text("请填写学术领域");
  279. return;
  280. }
  281. var vallist = $("#SubjectList .deleteSubject em");
  282. for(var i = 0; i < vallist.length; i++) {
  283. if(vallist[i].innerText == val) {
  284. $(".workmsg3").text("不能添加重复内容");
  285. return;
  286. }
  287. }
  288. $("#SubjectList").append("<li class='deleteSubject'> <em>" + val + "</em> <img src='images/con_icon_delete.png' class='removeNu'/></li>")
  289. $("#subject").val("");
  290. $(".workmsg3").text("");
  291. });
  292. }
  293. /*科研文章*/
  294. function newsBombBox() {
  295. var PopHtml = "";
  296. PopHtml += '<div class="blackcover" style="display:block">';
  297. PopHtml += '<div class="modelContain" style="width: 700px;display:block">';
  298. PopHtml += '<form name="cmpAllFrm" class="cmpArticalFrm">';
  299. PopHtml += '<div class="cmpMotit">文章</div>';
  300. PopHtml += '<ul class="cmpAllUl cmpArticalul">';
  301. 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>';
  302. PopHtml += '<li><div class="col-w-3">涉及学术领域</div><div class="col-w-9">';
  303. PopHtml += '<div class="col-w-9"><input type="text" class="frmtype frmtypeW" id="subject"/><div class="frmmsg msgLog workmsg3"><span></span></div></div>';
  304. PopHtml += '<div class="col-w-3"><button type="button" class="frmtype btnModel headRadius" id="subjectAdd">添加</button></div><ul class="ulspace editUlist clearfix" id="SubjectList"></ul>';
  305. PopHtml += '</div></li>';
  306. PopHtml += '<li><div class="col-w-3">涉及应用行业</div><div class="col-w-9">';
  307. PopHtml += '<div class="col-w-9"><input type="text" class="frmtype frmtypeW" id="industry"/><div class="frmmsg msgLog workmsg4"><span></span></div></div>'
  308. PopHtml += '<div class="col-w-3"><button type="button" class="frmtype btnModel headRadius" id="industryAdd">添加</button></div>';
  309. PopHtml += '<ul class="ulspace editUlist clearfix" id="industryList"></ul></div></li>';
  310. /////////////文章图片上传////////////////////
  311. PopHtml += '<div class="uploderArt"><div class="imgBlock" id="uploader">';
  312. PopHtml += '<div id="fileList" class="boxBlock uploader-list headRadius"><img class="boxBlockimg headRadius" id="imghos" src="../images/default-artical.jpg" /></div>';
  313. PopHtml += '<div id="filePicker" class="uploadInp uploadInpArt">上传文章封面图片</div>';
  314. PopHtml += '</div><p class="smalltip">尺寸建议640*640,大小在5M以内,JPG、PNG格式</p></div></ul>';
  315. /////////////文章图片上传 结束////////////////////
  316. PopHtml += '<ul class="cmpAllUl cmpArticalul cmpArticalul2">';
  317. PopHtml += '<li><div class="col-w-2">文章正文</div>';
  318. PopHtml += '<div class="col-w-10"><script id="editor" name="content" type="text/plain" style="width:520px; height:200px;float: left;"></script></div></li>';
  319. 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>';
  320. PopHtml += '</form><span class="modelClosebtn"></span></div></div>';
  321. //必须先将html添加到body,再设置Css样式
  322. $("body").prepend(PopHtml);
  323. $("body").css("position", "fixed");
  324. ue = UE.getEditor('editor', {});
  325. // 初始化Web Uploader
  326. var uploader = WebUploader.create({
  327. // 选完文件后,是否自动上传。
  328. auto: true,
  329. // 添加的文件数量
  330. //fileNumLimit: 1,
  331. // swf文件路径
  332. swf: '../js/webuploader/Uploader.swf',
  333. // 文件接收服务端。
  334. server: '../ajax/cachedFileUpload',
  335. // 选择文件的按钮。可选。
  336. // 内部根据当前运行是创建,可能是input元素,也可能是flash.
  337. pick: {
  338. id: "#filePicker",
  339. multiple: false
  340. },
  341. // 只允许选择图片文件。
  342. accept: {
  343. title: 'Images',
  344. extensions: 'gif,jpg,jpeg,bmp,png',
  345. mimeTypes: 'image/*'
  346. }
  347. });
  348. // 当有文件添加进来的时候
  349. uploader.on('fileQueued', function(file) {
  350. var $li = $(
  351. '<img class="boxBlockimg headRadius" style="display: inline;" id="' + file.id + '" >'
  352. )
  353. // $list为容器jQuery实例
  354. var $list = $('#fileList');
  355. $list.empty("");
  356. $list.append($li);
  357. // 创建缩略图
  358. // 如果为非图片文件,可以不用调用此方法。
  359. // thumbnailWidth x thumbnailHeight 为 100 x 100
  360. uploader.makeThumb(file, function(error, src) {
  361. if(error) {
  362. $li.replaceWith('<span>不能预览</span>');
  363. return;
  364. }
  365. $li.attr('src', src);
  366. }, 1, 1);
  367. });
  368. // 文件上传成功,给item添加成功class, 用样式标记上传成功。
  369. cacheImageKey = null;
  370. uploader.on('uploadSuccess', function(file, data) {
  371. cacheImageKey = data.data[0].cacheKey;
  372. console.log(cacheImageKey);
  373. });
  374. }
  375. /*科研文章 end*/
  376. function BombBoxlClose() {
  377. $(".blackcover").remove();
  378. $("body").css("position", "");
  379. UE.delEditor('editor');
  380. }
  381. })