portal html css js resource

cmp-articalList.js 14KB

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