portal html css js resource

articalModify.js 19KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669
  1. $(function() {
  2. loginStatus();//判断个人是否登录
  3. var articleId = GetQueryString("articleId");
  4. var experarray = [];
  5. var resourcesarray = [];
  6. var $data = {};
  7. var modifyTimeval;
  8. var settime = false;
  9. articleshow();
  10. relevantExperts();
  11. relevantResources();
  12. //校验标题
  13. $("#newstitle").on({
  14. focus: function() {
  15. $(this).prev().find("span").text("30字以内");
  16. },
  17. blur: function() {
  18. $(this).prev().find("span").text("");
  19. },
  20. keyup: function() {
  21. if($(this).val().length > 30) {
  22. $(this).val($(this).val().substr(0, 30));
  23. }
  24. }
  25. })
  26. //校验关键字
  27. $("#KeyWord").on({
  28. focus: function() {
  29. $("#keyPrompt").text("最多可添加5个关键词、每个关键词最多10个字");
  30. },
  31. blur: function() {
  32. $("#keyPrompt").text("");
  33. },
  34. keyup: function() {
  35. $(".frmadd,.keydrop").removeClass("displayNone");
  36. if($(this).val().length > 10) {
  37. $(this).val($(this).val().substr(0, 10));
  38. }
  39. KeyWordList();
  40. }
  41. })
  42. //添加关键字
  43. $("#addkeyWord").on("click",function(){
  44. var keyWord =$("#KeyWord").val();
  45. keyWordlen(keyWord);
  46. $(".frmadd,.keydrop").addClass("displayNone");
  47. })
  48. //点击搜出的关键字添加
  49. $(".keydrop").on("click","p",function(){
  50. var keyWord =$(this).text();
  51. $(".frmadd,.keydrop").addClass("displayNone");
  52. keyWordlen(keyWord)
  53. })
  54. //删除关键字
  55. $("#keyWordlist").on("click",".closeThis",function(){
  56. $(this).parent().remove();
  57. var plength =$(".keyResult li p").length;
  58. if(plength < 5){
  59. $("#KeyWord").show();
  60. }
  61. })
  62. //组合关键字
  63. function captiureSubInd(subIndu) {
  64. var industrys = $("#" + subIndu + "");
  65. var industryAll = "";
  66. if(industrys.size() > 0) {
  67. for(var i = 0; i < industrys.size(); i++) {
  68. industryAll += industrys[i].innerText;
  69. industryAll += ',';
  70. };
  71. industryAll = industryAll.substring(0, industryAll.length - 1);
  72. }
  73. return industryAll;
  74. }
  75. //拆解关键字
  76. function industryShow(data,industryList){
  77. if(data != undefined && data.length != 0 ){
  78. var subs = new Array();
  79. if(data.indexOf(',')){
  80. subs = data.split(',');
  81. }else{
  82. subs[0] = data;
  83. }
  84. if(subs.length>0){
  85. for (var i = 0; i < subs.length; i++)
  86. {
  87. $("#"+industryList+"").append('<li class="delkeylist"><p class="h2Font">'+ subs[i] +'</p><div class="closeThis"></div></li>');
  88. };
  89. }
  90. if(subs.length>4){
  91. $("#KeyWord").hide();
  92. }
  93. }
  94. }
  95. function keyWordlen(keyWord){
  96. $("#KeyWord").val("");
  97. var plength = $(".keyResult li p");
  98. for(var i=0;i<plength.length;i++){
  99. if(plength[i].innerText==keyWord){
  100. $("#keyPrompt").text("关键词已存在");
  101. return;
  102. }
  103. }
  104. if(plength.length > 3) {
  105. $("#KeyWord").hide();
  106. $("#keyWordlist").append("<li class='delkeylist'><p class='h2Font'>"+ keyWord +"</p><div class='closeThis'></div></li>");
  107. }else{
  108. $("#keyWordlist").append("<li class='delkeylist'><p class='h2Font'>"+ keyWord +"</p><div class='closeThis'></div></li>");
  109. }
  110. }
  111. //校验右侧专家和资源
  112. $("#checkZj").on("focus",function(){
  113. $(this).prev().find("span").text("最多选择3位专家");
  114. })
  115. $("#checkZy").on("focus",function(){
  116. $(this).prev().find("span").text("最多选择3个资源");
  117. })
  118. $("#checkZj,#checkZy").on("blur",function(){
  119. $(this).prev().find("span").text("");
  120. })
  121. $("#checkZj").on("keyup", function() {
  122. var _this = this;
  123. checkZj(_this);
  124. })
  125. $("#checkZy").on("keyup", function() {
  126. var _this = this;
  127. checkZy(_this);
  128. })
  129. $("#expertlist").on("click","li",function(){
  130. var _this = this;
  131. expertlist(_this,"该专家已选择");
  132. });
  133. $("#resouselist").on("click","li",function(){
  134. var _this = this;
  135. expertlist(_this,"该资源已选择");
  136. });
  137. //点击右侧搜索出的专家和资源列表
  138. function expertlist(_this,title){
  139. var liId = $(_this).html();
  140. var plength = $(_this).parents(".otherBlock").find(".addexpert li");
  141. for(var i=0;i<plength.length;i++){
  142. if(plength[i].innerHTML==liId){
  143. $(_this).parents(".otherBlock").find(".aboutTit span").text(title);
  144. $(_this).parents(".otherBlock").find(".form-drop").addClass("displayNone");
  145. $(_this).parents(".otherBlock").find("input").val("");
  146. return;
  147. }
  148. }
  149. if(plength.length > 3) {
  150. $(_this).parents(".otherBlock").find("input").hide();
  151. $(_this).parents(".otherBlock").find(".addexpert").append($(_this).clone());
  152. $(_this).parents(".otherBlock").find("input").val("");
  153. $(_this).parents(".otherBlock").find(".form-drop").addClass("displayNone");
  154. }else{
  155. $(_this).parents(".otherBlock").find(".addexpert").append($(_this).clone());
  156. $(_this).parents(".otherBlock").find("input").val("");
  157. $(_this).parents(".otherBlock").find(".form-drop").addClass("displayNone");
  158. }
  159. }
  160. //删除右侧搜索出的专家和资源
  161. $(".addexpert").on("click",".deleteThis",function(){
  162. var plength = $(this).parent().parent().find("li").length;
  163. if(plength < 6){
  164. $(this).parents(".otherBlock").find("input").show();
  165. }
  166. $(this).parent().remove();
  167. })
  168. function checkZj(_this){
  169. $.ajax({
  170. "url": "/ajax/professor/qaByName",
  171. "type": "get",
  172. "data": {
  173. "name": $("#checkZj").val(),
  174. "total":3
  175. },
  176. "success": function(data) {
  177. console.log(data);
  178. if(data.success ) {
  179. if(data.data != ""){
  180. $(_this).next().removeClass("displayNone");
  181. var itemlist = '';
  182. $("#expertlist").html("");
  183. for(var i = 0; i < data.data.length; i++) {
  184. var itemlist = '<li id="usid" class="flexCenter">';
  185. itemlist += '<div class="madiaHead useHead" id="userimg"></div>';
  186. itemlist += '<div class="madiaInfo">';
  187. itemlist += '<p class="ellipsisSty"><span class="h1Font" id="name"></span><span class="h2Font" style="margin-left:10px;" id="title"></span></p>';
  188. itemlist += '<p class="h2Font ellipsisSty" id="orgName"></p>';
  189. itemlist += '</div><div class="deleteThis"></div></li>';
  190. $itemlist = $(itemlist);
  191. $("#expertlist").append($itemlist);
  192. var datalist = data.data[i];
  193. $itemlist.attr("data-id",datalist.id);
  194. $itemlist.find("#name").text(datalist.name);
  195. $itemlist.find("#title").text(datalist.title);
  196. $itemlist.find("#orgName").text(datalist.orgName);
  197. if(datalist.hasHeadImage==1) {
  198. $itemlist.find("#userimg").attr("style", "background-image: url(/images/head/" + datalist.id + "_l.jpg);");
  199. }
  200. }
  201. }else{
  202. $(_this).next().addClass("displayNone");
  203. }
  204. }else{
  205. $(_this).next().addClass("displayNone");
  206. }
  207. },
  208. "error": function() {
  209. $.MsgBox.Alert('提示', '链接服务器超时')
  210. }
  211. });
  212. }
  213. function checkZy(_this) {
  214. $.ajax({
  215. "url": "/ajax/resource/qaByName",
  216. "type": "get",
  217. "data": {
  218. "resourceName": $("#checkZy").val(),
  219. "rows": 3
  220. },
  221. "success": function(data) {
  222. console.log(data);
  223. if(data.success) {
  224. if(data.data != "") {
  225. $(_this).next().removeClass("displayNone");
  226. var itemlist = '';
  227. $("#resouselist").html("");
  228. for(var i = 0; i < data.data.length; i++) {
  229. var itemlist = '<li id="usid" class="flexCenter">';
  230. itemlist += '<div class="madiaHead resouseHead" id="userimg"></div>';
  231. itemlist += '<div class="madiaInfo">';
  232. itemlist += '<p class="h2Font ellipsisSty" id="resourceName"></p>';
  233. itemlist += '<p class="h1Font" id="name"></p>';
  234. itemlist += '</div><div class="deleteThis"></div></li>';
  235. $itemlist = $(itemlist);
  236. $("#resouselist").append($itemlist);
  237. var datalist = data.data[i];
  238. $itemlist.attr("data-id", datalist.resourceId);
  239. $itemlist.find("#resourceName").text(datalist.resourceName);
  240. $itemlist.find("#name").text(datalist.professor.name);
  241. if(datalist.images.length > 0) {
  242. $itemlist.find("#userimg").attr("style", "background-image: url(/data/resource/" + datalist.images[0].imageSrc + ");");
  243. }
  244. }
  245. } else {
  246. $(_this).next().addClass("displayNone");
  247. }
  248. } else {
  249. $(_this).next().addClass("displayNone");
  250. }
  251. },
  252. "error": function() {
  253. $.MsgBox.Alert('提示', '链接服务器超时')
  254. }
  255. });
  256. }
  257. function KeyWordList() {
  258. $.ajax({
  259. "url": "/ajax/dataDict/qaHotKey",
  260. "type": "get",
  261. "data": {
  262. "key": $("#KeyWord").val()
  263. },
  264. "success": function(data) {
  265. console.log(data);
  266. if(data.success) {
  267. if(data.data != "") {
  268. var itemlist = '';
  269. $("#keydropList").html("");
  270. for(var i = 0; i < data.data.length; i++) {
  271. var itemlist = '<li><p class="h2Font"></p></li>';
  272. $itemlist = $(itemlist);
  273. $("#keydropList").append($itemlist);
  274. $itemlist.find(".h2Font").text(data.data[i].caption);
  275. }
  276. } else {
  277. $(".keydrop").addClass("displayNone");
  278. }
  279. } else {
  280. $(".keydrop").addClass("displayNone");
  281. }
  282. },
  283. "error": function() {
  284. $.MsgBox.Alert('提示', '链接服务器超时')
  285. }
  286. });
  287. }
  288. //初始化数据
  289. function articleshow(){
  290. $.ajax({
  291. "url" : "/ajax/article/query",
  292. "type" : "GET" ,
  293. "dataType" : "json",
  294. "data" :{"articleId":articleId},
  295. "success" : function(data) {
  296. console.log(data)
  297. if (data.success){
  298. $("#keyWordlist").html("");
  299. $("#newstitle").val(data.data.articleTitle);
  300. if(data.data.articleImg){
  301. $("#uploader").attr("style", "background-image: url(/data/article/" + data.data.articleImg + ");");
  302. $(".upFront").hide();
  303. $(".upBackbtn").show();
  304. }
  305. ue.ready(function() {
  306. if(data.data.articleContent==undefined){
  307. var datadescp ="";
  308. }else{
  309. var datadescp = data.data.articleContent;
  310. }
  311. ue.setContent(datadescp);
  312. });
  313. industryShow(data.data.subject,"keyWordlist");
  314. modifyTimeval = data.data.modifyTime;
  315. }
  316. },
  317. "error":function(){
  318. $.MsgBox.Alert('提示','链接服务器超时')
  319. }
  320. });
  321. }
  322. //相关专家
  323. function relevantExperts(){
  324. $.ajax({
  325. "url": "/ajax/article/ralatePro",
  326. "type": "get",
  327. "dataType" : "json",
  328. "data" :{"articleId":articleId},
  329. "success": function(data) {
  330. if(data.success && data.data) {
  331. for(var i = 0; i < data.data.length; i++) {
  332. var professorId = data.data[i].professorId;
  333. relevantExpertsList(professorId)
  334. }
  335. }
  336. },
  337. "error": function() {
  338. $.MsgBox.Alert('提示', '链接服务器超时')
  339. }
  340. });
  341. }
  342. //相关专家信息
  343. function relevantExpertsList(professorId){
  344. $.ajax({
  345. "url" : "/ajax/professor/info/"+professorId,
  346. "type" : "GET" ,
  347. "dataType" : "json",
  348. "success" : function(data) {
  349. console.log(data);
  350. if (data.success && data.data){
  351. var itemlist = '';
  352. var itemlist = '<li id="usid">';
  353. itemlist += '<div class="madiaHead useHead" id="userimg"></div>';
  354. itemlist += '<div class="madiaInfo">';
  355. itemlist += '<p class="ellipsisSty"><span class="h1Font" id="name"></span><span class="h2Font" style="margin-left:10px;" id="title"></span></p>';
  356. itemlist += '<p class="h2Font ellipsisSty" id="orgName"></p>';
  357. itemlist += '</div><div class="deleteThis"></div></li>';
  358. $itemlist = $(itemlist);
  359. $("#expertli").append($itemlist);
  360. var datalist = data.data;
  361. $itemlist.attr("data-id",datalist.id);
  362. $itemlist.find("#name").text(datalist.name);
  363. $itemlist.find("#title").text(datalist.title);
  364. $itemlist.find("#orgName").text(datalist.orgName);
  365. if(datalist.hasHeadImage==1) {
  366. $itemlist.find("#userimg").attr("style", "background-image: url(/images/head/" + datalist.id + "_l.jpg);");
  367. }
  368. }
  369. },
  370. "error":function(){
  371. $.MsgBox.Alert('提示','链接服务器超时')
  372. }
  373. });
  374. }
  375. //相关资源
  376. function relevantResources(){
  377. $.ajax({
  378. "url": "/ajax/article/ralateRes",
  379. "type": "get",
  380. "dataType" : "json",
  381. "data" :{"articleId":articleId},
  382. "success": function(data) {
  383. if(data.success && data.data) {
  384. for(var i = 0; i < data.data.length; i++) {
  385. var resourceId = data.data[i].resourceId;
  386. relevantResourcesList(resourceId)
  387. }
  388. }
  389. },
  390. "error": function() {
  391. $.MsgBox.Alert('提示', '链接服务器超时')
  392. }
  393. });
  394. }
  395. //相关资源信息
  396. function relevantResourcesList(resourceId){
  397. $.ajax({
  398. "url" : "/ajax/resource/resourceInfo",
  399. "type" : "GET" ,
  400. "dataType" : "json",
  401. "data" :{"resourceId":resourceId},
  402. "success" : function(data) {
  403. console.log(data);
  404. if (data.success && data.data){
  405. var itemlist = '<li id="usid">';
  406. itemlist += '<div class="madiaHead resouseHead" id="userimg"></div>';
  407. itemlist += '<div class="madiaInfo">';
  408. itemlist += '<p class="h2Font ellipsisSty" id="resourceName"></p>';
  409. itemlist += '<p class="h1Font" id="name"></p>';
  410. itemlist += '</div><div class="deleteThis"></div></li>';
  411. $itemlist = $(itemlist);
  412. $("#resources").append($itemlist);
  413. var datalist = data.data;
  414. $itemlist.attr("data-id", datalist.resourceId);
  415. $itemlist.find("#resourceName").text(datalist.resourceName);
  416. $itemlist.find("#name").text(datalist.editProfessor.name);
  417. if(datalist.images.length > 0) {
  418. $itemlist.find("#userimg").attr("style", "background-image: url(/data/resource/" + datalist.images[0].imageSrc + ");");
  419. }
  420. }
  421. },
  422. "error":function(){
  423. $.MsgBox.Alert('提示','链接服务器超时')
  424. }
  425. });
  426. }
  427. var titleflase = false;
  428. //交验图片和标题不能为空
  429. function noTitleImg(){
  430. //var ImageKey = $("#uploader").attr("data-id");
  431. var newstitle = $("#newstitle").val();
  432. /*if(ImageKey==""){
  433. $(".imgtis").text("请上传封面图片");
  434. }else{
  435. $(".imgtis").text("");
  436. imgflase = true;
  437. }*/
  438. if(newstitle==""){
  439. $("#aboutTit span").text("请输入文章标题");
  440. }else{
  441. $("#aboutTit span").text("");
  442. titleflase = true;
  443. }
  444. }
  445. //获取相关专家
  446. function expertli(){
  447. $("#expertli li").each(function(i){
  448. var liid = $(this).attr("data-id");
  449. experarray.push(liid);
  450. });
  451. return $.unique(experarray);
  452. }
  453. //获取相关专家
  454. function resourcesli(){
  455. $("#resources li").each(function(i){
  456. var liid = $(this).attr("data-id");
  457. resourcesarray.push(liid);
  458. });
  459. return $.unique(resourcesarray);
  460. }
  461. //文章发布
  462. $("#release").on("click",function(){
  463. noTitleImg();
  464. if(titleflase){
  465. $.MsgBox.Confirm("提示","确认发布该文章?",newsAdd);
  466. }
  467. })
  468. //文章存草稿
  469. $("#draft").on("click",function(){
  470. noTitleImg();
  471. if(titleflase){
  472. draftAdd(1);
  473. }
  474. })
  475. //文章预览
  476. $("#preview").on("click",function(){
  477. noTitleImg();
  478. if(titleflase){
  479. draftAdd(2);
  480. }
  481. })
  482. //删除文章
  483. $("#delete").on("click",function(){
  484. $.MsgBox.Confirm("提示","确认删除该文章?",newsDelet);
  485. })
  486. //定时文章发布
  487. $("#setTimeIssue").on("click", function() {
  488. $(".form_datetime").val(timeGeshi(modifyTimeval));
  489. noTitleImg();
  490. if(titleflase) {
  491. $(".blackcover2").fadeIn();
  492. $(".modelContain").show();
  493. $("body").addClass("modelOpen");
  494. $(".mb_btnOk").on("click", function() {
  495. var modifyTimeval = $(".form_datetime").val();
  496. settime = true;
  497. setTimeIssue(st6(modifyTimeval),settime);
  498. })
  499. }
  500. })
  501. /*获取数据*/
  502. function getdata(publishTime,settime) {
  503. expertli();//相关专家
  504. resourcesli();//相关咨询
  505. $data.articleId = articleId;
  506. $data.professorId = userid;
  507. $data.articleTitle = $("#newstitle").val();
  508. $data.subject = captiureSubInd("keyWordlist .delkeylist");
  509. $data.articleImg = $("#uploader").attr("data-id");
  510. $data.articleContent = ue.getContent();
  511. $data.professors = experarray;
  512. $data.resources = resourcesarray;
  513. if(settime) {
  514. $data.publishTime = publishTime;
  515. }
  516. console.log($data);
  517. }
  518. /*文章添加*/
  519. function newsAdd(){
  520. getdata();
  521. $.ajax({
  522. "url" : "/ajax/article/save",
  523. "type" : "post" ,
  524. "dataType" : "json",
  525. "data" :$data,
  526. "traditional": true, //传数组必须加这个
  527. "success" : function(data) {
  528. console.log(data);
  529. if (data.success){
  530. articleId = data.data;
  531. $.MsgBox.Alert("提示","文章发表成功!",function articalList(){
  532. location.href = "articalList.html";
  533. });
  534. $("#mb_msgicon").css("background", 'url("images/sign_icon_chenggong_nor.png") 0% 0% / contain');
  535. } else {
  536. $.MsgBox.Alert("提示","文章发表失败!");
  537. }
  538. },
  539. "error":function(){
  540. $.MsgBox.Alert('提示','链接服务器超时')
  541. }
  542. });
  543. }
  544. /*文章定时发布*/
  545. function setTimeIssue(publishTime,settime) {
  546. getdata(publishTime,settime);
  547. $.ajax({
  548. "url": "/ajax/article/timing",
  549. "type": "post",
  550. "dataType": "json",
  551. "data": $data,
  552. "traditional": true, //传数组必须加这个
  553. "success": function(data) {
  554. console.log(data);
  555. if(data.success) {
  556. articleId = data.data;
  557. location.href = "articalList.html";
  558. } else {
  559. $.MsgBox.Alert("提示", "文章发表失败!");
  560. }
  561. },
  562. "error": function() {
  563. $.MsgBox.Alert('提示', '链接服务器超时')
  564. }
  565. });
  566. }
  567. /*文章添加草稿和文章预览*/
  568. function draftAdd(num){
  569. getdata();
  570. $.ajax({
  571. "url" : "/ajax/article/draft",
  572. "type" : "post" ,
  573. "dataType" : "json",
  574. "data" :$data,
  575. "traditional": true, //传数组必须加这个
  576. "success" : function(data) {
  577. console.log(data);
  578. if(num==1){
  579. if (data.success){
  580. articleId = data.data;
  581. $.MsgBox.Alert("提示","文章已保存草稿。");
  582. $("#mb_msgicon").css("background", 'url("images/sign_icon_chenggong_nor.png") 0% 0% / contain');
  583. articleshow();
  584. }
  585. }
  586. if(num==2){
  587. if (data.success){
  588. articleId = data.data;
  589. }
  590. window.open("articalPreview.html?articleId="+ articleId)
  591. }
  592. },
  593. "error":function(){
  594. $.MsgBox.Alert('提示','链接服务器超时')
  595. }
  596. });
  597. }
  598. /*文章删除*/
  599. function newsDelet() {
  600. $.ajax({
  601. "url" : "/ajax/article/deleteArticle",
  602. "type" : "POST",
  603. "dataType" : "json",
  604. "data": {
  605. "articleId": articleId
  606. },
  607. "success" : function($data) {
  608. if ($data.success) {
  609. location.href = "articalList.html";
  610. }
  611. },
  612. "error":function(){
  613. $.MsgBox.Alert('提示','链接服务器超时')
  614. }
  615. })
  616. }
  617. function st6(osr) {
  618. var tim = osr.substring(0, 4) + osr.substring(5, 7) + osr.substring(8, 10) + osr.substring(11, 13) + osr.substring(14, 16);
  619. return tim;
  620. }
  621. function timeGeshi(otm) {
  622. var otme = otm.substring(0, 4) + "-" + otm.substring(4, 6) + "-" + otm.substring(6, 8) + " " + otm.substring(8, 10)+ ":" + otm.substring(10, 12);
  623. return otme;
  624. }
  625. });