portal html css js resource

articalModify.js 19KB

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