portal html css js resource

articalIssue.js 13KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442
  1. $(function() {
  2. loginStatus(); //判断个人是否登录
  3. var experarray = [];
  4. var resourcesarray = [];
  5. var $data = {};
  6. var articleId;
  7. var fa = false;
  8. //校验标题
  9. $("#newstitle").on("focus", function() {
  10. $(this).prev().find("span").text("30字以内");
  11. })
  12. $("#newstitle").on("blur", function() {
  13. $(this).prev().find("span").text("");
  14. })
  15. $("#newstitle").on("keyup", function() {
  16. var inputval = $(this).val();
  17. var inputlen = inputval.replace(/[^\u0000-\u00ff]/g, "aa").length;
  18. if(inputlen > 60) {
  19. var value = inputval.substring(0, 60);
  20. $(this).val(value);
  21. }
  22. })
  23. //校验关键字
  24. $("#KeyWord").on("focus", function() {
  25. $("#keyPrompt").text("最多可添加5个关键词、每个关键词最多10个字");
  26. })
  27. $("#KeyWord").on("blur", function() {
  28. $("#keyPrompt").text("");
  29. })
  30. $("#KeyWord").on("keyup", function() {
  31. $(".frmadd,.keydrop").removeClass("displayNone");
  32. var inputval = $(this).val();
  33. var inputlen = inputval.replace(/[^\u0000-\u00ff]/g, "aa").length;
  34. if(inputlen > 20) {
  35. var value = inputval.substring(0, 20);
  36. $(this).val(value);
  37. }
  38. })
  39. //添加关键字
  40. $("#addkeyWord").on("click", function() {
  41. var keyWord = $("#KeyWord").val();
  42. keyWordlen(keyWord);
  43. $(".frmadd,.keydrop").addClass("displayNone");
  44. })
  45. //点击搜出的关键字添加
  46. $(".keydrop").on("click", "p", function() {
  47. var keyWord = $(this).text();
  48. $(".frmadd,.keydrop").addClass("displayNone");
  49. keyWordlen(keyWord)
  50. })
  51. //删除关键字
  52. $("#keyWordlist").on("click", ".closeThis", function() {
  53. $(this).parent().remove();
  54. var plength = $(".keyResult li p").length;
  55. if(plength < 5) {
  56. $("#KeyWord").show();
  57. }
  58. })
  59. //组合关键字
  60. function captiureSubInd(subIndu) {
  61. var industrys = $("#" + subIndu + "");
  62. var industryAll = "";
  63. if(industrys.size() > 0) {
  64. for(var i = 0; i < industrys.size(); i++) {
  65. industryAll += industrys[i].innerText;
  66. industryAll += ',';
  67. };
  68. industryAll = industryAll.substring(0, industryAll.length - 1);
  69. }
  70. return industryAll;
  71. }
  72. function keyWordlen(keyWord) {
  73. $("#KeyWord").val("");
  74. var plength = $(".keyResult li p");
  75. for(var i = 0; i < plength.length; i++) {
  76. if(plength[i].innerText == keyWord) {
  77. $("#keyPrompt").text("关键词已存在");
  78. return;
  79. }
  80. }
  81. if(plength.length > 3) {
  82. $("#KeyWord").hide();
  83. $("#keyWordlist").append("<li class='delkeylist'><p class='h2Font'>" + keyWord + "</p><div class='closeThis'></div></li>");
  84. } else {
  85. $("#keyWordlist").append("<li class='delkeylist'><p class='h2Font'>" + keyWord + "</p><div class='closeThis'></div></li>");
  86. }
  87. }
  88. //校验右侧专家和资源
  89. $("#checkZj").on("focus", function() {
  90. $(this).prev().find("span").text("最多选择3位专家");
  91. })
  92. $("#checkZy").on("focus", function() {
  93. $(this).prev().find("span").text("最多选择3个资源");
  94. })
  95. $("#checkZj,#checkZy").on("blur", function() {
  96. $(this).prev().find("span").text("");
  97. //$(this).val("");
  98. //$(this).parents(".otherBlock").find(".form-drop").addClass("displayNone");
  99. })
  100. $("#checkZj").on("keyup", function() {
  101. var _this = this;
  102. checkZj(_this);
  103. })
  104. $("#checkZy").on("keyup", function() {
  105. var _this = this;
  106. checkZy(_this);
  107. })
  108. $("#expertlist").on("click", "li", function() {
  109. var _this = this;
  110. expertlist(_this, "该专家已选择");
  111. });
  112. $("#resouselist").on("click", "li", function() {
  113. var _this = this;
  114. expertlist(_this, "该资源已选择");
  115. });
  116. //点击右侧搜索出的专家和资源列表
  117. function expertlist(_this, title) {
  118. var liId = $(_this).html();
  119. var plength = $(_this).parents(".otherBlock").find(".addexpert li");
  120. for(var i = 0; i < plength.length; i++) {
  121. if(plength[i].innerHTML == liId) {
  122. $(_this).parents(".otherBlock").find(".aboutTit span").text(title);
  123. $(_this).parents(".otherBlock").find(".form-drop").addClass("displayNone");
  124. $(_this).parents(".otherBlock").find("input").val("");
  125. return;
  126. }
  127. }
  128. if(plength.length > 3) {
  129. $(_this).parents(".otherBlock").find("input").hide();
  130. $(_this).parents(".otherBlock").find(".addexpert").append($(_this).clone());
  131. $(_this).parents(".otherBlock").find("input").val("");
  132. $(_this).parents(".otherBlock").find(".form-drop").addClass("displayNone");
  133. } else {
  134. $(_this).parents(".otherBlock").find(".addexpert").append($(_this).clone());
  135. $(_this).parents(".otherBlock").find("input").val("");
  136. $(_this).parents(".otherBlock").find(".form-drop").addClass("displayNone");
  137. }
  138. }
  139. //删除右侧搜索出的专家和资源
  140. $(".addexpert").on("click", ".deleteThis", function() {
  141. var plength = $(this).parent().parent().find("li").length;
  142. if(plength < 6) {
  143. $(this).parents(".otherBlock").find("input").show();
  144. }
  145. $(this).parent().remove();
  146. })
  147. function checkZj(_this) {
  148. $.ajax({
  149. "url": "/ajax/professor/qaByName",
  150. "type": "get",
  151. "data": {
  152. "name": $("#checkZj").val(),
  153. "total": 3
  154. },
  155. "success": function(data) {
  156. console.log(data);
  157. if(data.success) {
  158. if(data.data != "") {
  159. $(_this).next().removeClass("displayNone");
  160. var itemlist = '';
  161. $("#expertlist").html("");
  162. for(var i = 0; i < data.data.length; i++) {
  163. var itemlist = '<li id="usid">';
  164. itemlist += '<div class="madiaHead useHead" id="userimg"></div>';
  165. itemlist += '<div class="madiaInfo">';
  166. itemlist += '<p class="ellipsisSty"><span class="h1Font" id="name"></span><span class="h2Font" style="margin-left:10px;" id="title"></span></p>';
  167. itemlist += '<p class="h2Font ellipsisSty" id="orgName"></p>';
  168. itemlist += '</div><div class="deleteThis"></div></li>';
  169. $itemlist = $(itemlist);
  170. $("#expertlist").append($itemlist);
  171. var datalist = data.data[i];
  172. $itemlist.attr("data-id", datalist.id);
  173. $itemlist.find("#name").text(datalist.name);
  174. $itemlist.find("#title").text(datalist.title);
  175. $itemlist.find("#orgName").text(datalist.orgName);
  176. if(datalist.hasHeadImage == 1) {
  177. $itemlist.find("#userimg").attr("style", "background-image: url(/images/head/" + datalist.id + "_l.jpg);");
  178. }
  179. }
  180. } else {
  181. $(_this).next().addClass("displayNone");
  182. }
  183. } else {
  184. $(_this).next().addClass("displayNone");
  185. }
  186. },
  187. "error": function() {
  188. $.MsgBox.Alert('提示', '链接服务器超时')
  189. }
  190. });
  191. }
  192. function checkZy(_this) {
  193. $.ajax({
  194. "url": "/ajax/resource/qaByName",
  195. "type": "get",
  196. "data": {
  197. "resourceName": $("#checkZy").val(),
  198. "rows": 3
  199. },
  200. "success": function(data) {
  201. console.log(data);
  202. if(data.success) {
  203. if(data.data != "") {
  204. $(_this).next().removeClass("displayNone");
  205. var itemlist = '';
  206. $("#resouselist").html("");
  207. for(var i = 0; i < data.data.length; i++) {
  208. var itemlist = '<li id="usid">';
  209. itemlist += '<div class="madiaHead resouseHead" id="userimg"></div>';
  210. itemlist += '<div class="madiaInfo">';
  211. itemlist += '<p class="h2Font ellipsisSty" id="resourceName"></p>';
  212. itemlist += '<p class="h1Font" id="name"></p>';
  213. itemlist += '</div><div class="deleteThis"></div></li>';
  214. $itemlist = $(itemlist);
  215. $("#resouselist").append($itemlist);
  216. var datalist = data.data[i];
  217. $itemlist.attr("data-id", datalist.resourceId);
  218. $itemlist.find("#resourceName").text(datalist.resourceName);
  219. $itemlist.find("#name").text(datalist.professor.name);
  220. if(datalist.images.length > 0) {
  221. $itemlist.find("#userimg").attr("style", "background-image: url(/data/resource/" + datalist.images[0].imageSrc + ");");
  222. }
  223. }
  224. } else {
  225. $(_this).next().addClass("displayNone");
  226. }
  227. } else {
  228. $(_this).next().addClass("displayNone");
  229. }
  230. },
  231. "error": function() {
  232. $.MsgBox.Alert('提示', '链接服务器超时')
  233. }
  234. });
  235. }
  236. var titleflase = false;
  237. var imgflase = false;
  238. //交验图片和标题不能为空
  239. function noTitleImg() {
  240. var ImageKey = $("#uploader").attr("data-id");
  241. var newstitle = $("#newstitle").val();
  242. if(ImageKey == "") {
  243. $(".imgtis").text("请上传封面图片");
  244. } else {
  245. $(".imgtis").text("");
  246. imgflase = true;
  247. }
  248. if(newstitle == "") {
  249. $("#aboutTit span").text("请输入文章标题");
  250. } else {
  251. $("#aboutTit span").text("");
  252. titleflase = true;
  253. }
  254. }
  255. //获取相关专家
  256. function expertli() {
  257. $("#expertli li").each(function(i) {
  258. var liid = $(this).attr("data-id");
  259. experarray.push(liid);
  260. });
  261. return $.unique(experarray);
  262. }
  263. //获取相关资源
  264. function resourcesli() {
  265. $("#resources li").each(function(i) {
  266. var liid = $(this).attr("data-id");
  267. resourcesarray.push(liid);
  268. });
  269. return $.unique(resourcesarray);
  270. }
  271. //文章发布
  272. $("#release").on("click", function() {
  273. noTitleImg();
  274. if(imgflase && titleflase) {
  275. $.MsgBox.Confirm("提示", "确认发布该文章?", newsAdd);
  276. }
  277. })
  278. //定时文章发布
  279. $("#setTimeIssue").on("click", function() {
  280. noTitleImg();
  281. if(imgflase && titleflase) {
  282. $(".blackcover").fadeIn();
  283. $(".modelContain").show();
  284. $("body").addClass("modelOpen");
  285. $(".mb_btnOk").on("click", function() {
  286. var publishTime = $(".form_datetime").val();
  287. console.log(st6(publishTime));
  288. setTimeIssue(st6(publishTime));
  289. })
  290. }
  291. })
  292. //文章存草稿
  293. $("#draft").on("click", function() {
  294. noTitleImg();
  295. if(imgflase && titleflase) {
  296. draftAdd(1);
  297. }
  298. })
  299. //文章预览
  300. $("#preview").on("click", function() {
  301. noTitleImg();
  302. if(imgflase && titleflase) {
  303. draftAdd(2);
  304. }
  305. })
  306. /*获取数据*/
  307. function getdata(publishTime) {
  308. expertli(); //相关专家
  309. resourcesli(); //相关咨询
  310. $data.professorId = userid;
  311. $data.articleTitle = $("#newstitle").val();
  312. $data.subject = captiureSubInd("keyWordlist .delkeylist");
  313. $data.articleImg = $("#uploader").attr("data-id");
  314. $data.articleContent = ue.getContent();
  315. $data.professors = experarray;
  316. $data.resources = resourcesarray;
  317. if($("#hidearticleId").val().length != 0) {
  318. $data.articleId = $("#hidearticleId").val();
  319. }
  320. if($(".form_datetime").val().length != 0) {
  321. $data.publishTime = publishTime;
  322. }
  323. console.log($data);
  324. }
  325. /*文章发布*/
  326. function newsAdd() {
  327. getdata();
  328. $.ajax({
  329. "url": "/ajax/article/save",
  330. "type": "post",
  331. "dataType": "json",
  332. "data": $data,
  333. "traditional": true, //传数组必须加这个
  334. "success": function(data) {
  335. console.log(data);
  336. if(data.success) {
  337. $("#hidearticleId").val(data.data);
  338. $.MsgBox.Alert("提示", "文章发表成功!", function articalList() {
  339. location.href = "articalList.html";
  340. });
  341. $("#mb_msgicon").css("background", 'url("images/sign_icon_chenggong_nor.png") 0% 0% / contain');
  342. } else {
  343. $.MsgBox.Alert("提示", "文章发表失败!");
  344. }
  345. },
  346. "error": function() {
  347. $.MsgBox.Alert('提示', '链接服务器超时')
  348. }
  349. });
  350. }
  351. /*文章定时发布*/
  352. function setTimeIssue(publishTime) {
  353. getdata(publishTime);
  354. $.ajax({
  355. "url": "/ajax/article/timing",
  356. "type": "post",
  357. "dataType": "json",
  358. "data": $data,
  359. "traditional": true, //传数组必须加这个
  360. "success": function(data) {
  361. console.log(data);
  362. if(data.success) {
  363. $("#hidearticleId").val(data.data);
  364. location.href = "articalList.html";
  365. } else {
  366. $.MsgBox.Alert("提示", "文章发表失败!");
  367. }
  368. },
  369. "error": function() {
  370. $.MsgBox.Alert('提示', '链接服务器超时')
  371. }
  372. });
  373. }
  374. /*文章添加草稿和文章预览*/
  375. function draftAdd(num) {
  376. getdata();
  377. $.ajax({
  378. "url": "/ajax/article/draft",
  379. "type": "post",
  380. "dataType": "json",
  381. "data": $data,
  382. "traditional": true, //传数组必须加这个
  383. "success": function(data) {
  384. console.log(data);
  385. if(num == 1) {
  386. if(data.success) {
  387. $("#hidearticleId").val(data.data);
  388. $.MsgBox.Alert("提示", "文章已保存草稿。");
  389. $("#mb_msgicon").css("background", 'url("images/sign_icon_chenggong_nor.png") 0% 0% / contain');
  390. }
  391. }
  392. if(num == 2) {
  393. if(data.success) {
  394. $("#hidearticleId").val(data.data);
  395. articleId = data.data;
  396. fa = true;
  397. }
  398. if(fa) {
  399. window.open("articalPreview.html?articleId=" + articleId)
  400. }
  401. }
  402. },
  403. "error": function() {
  404. $.MsgBox.Alert('提示', '链接服务器超时')
  405. }
  406. });
  407. }
  408. function st6(osr) {
  409. var tim = osr.substring(0, 4) + osr.substring(5, 7) + osr.substring(8, 10) + osr.substring(11, 13) + osr.substring(14, 16);
  410. return tim;
  411. }
  412. });