portal html css js resource

consult.js 11KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369
  1. //用户id
  2. var userid = $.cookie("userid");
  3. //getConsultData参数
  4. var pageSize = 5;
  5. var pageNo,isbind,status,timeType,sortType;
  6. getConsultData(pageSize,1,true,0,1,0);
  7. consultPullDownMenu();
  8. function getConsultData(pageSize,pageNo,isbind,status,timeType,sortType){
  9. var params = {
  10. "professorId":userid, //专家ID
  11. "status":status, //查询状态 0-全部,1-进行中,2-未感谢,3-未评价,4-已完成, 可以不传,默认为0
  12. "timeType":timeType, //排序目的 0-按发起时间,1-按最后回复时间,2-按完成时间 默认为0
  13. "sortType":sortType, //排序目的 0-倒序,1-正序 默认为0
  14. "pageSize":pageSize, //每页记录数 默认为5
  15. "pageNo":pageNo //当前页码 默认为1
  16. };
  17. // console.log(params);
  18. $.ajax({
  19. url:"/ajax/consult/pqPro",
  20. type:"get",
  21. //传值:登陆人id:咨询id
  22. data :params,
  23. async:false,
  24. dataType: "json",
  25. contentType: "application/x-www-form-urlencoded",
  26. success:function(response){
  27. // console.log(response);
  28. //数据为空时
  29. if(response.success) {
  30. if(response["data"]["data"] == null || response["data"]["data"] == undefined || response["data"]["data"] == ""){
  31. return ;
  32. }
  33. else{
  34. var consultStr;
  35. var allData = response.data;
  36. var myData = allData["data"];
  37. // console.log(myData);
  38. //拿到收到咨询数据
  39. $("#workContainer").html("");//清空数据
  40. if(myData.length != 0 && myData.length != null){
  41. consultStr = handleData(myData,"professorId","lookBtn");
  42. // console.log(consultStr)
  43. $("#workContainer").append(consultStr);
  44. }else{
  45. return ;
  46. }
  47. //分页
  48. if(isbind == true){
  49. $(".getConsultPage").createPage({
  50. pageCount:Math.ceil(allData.total/pageSize),
  51. current:allData.pageNo,
  52. backFn:function(p){
  53. getConsultData(pageSize,p,false,status,timeType,sortType);
  54. }
  55. });
  56. }
  57. }
  58. }
  59. },
  60. error:function(response){
  61. $.MsgBox.Alert('提示',"收到咨询数据请求失败");
  62. },
  63. complete:function(){
  64. }
  65. });
  66. };
  67. //data:需要处理的数据,htmlStr:页面中需要的html字符串拼接,
  68. //attrParams:数据中不同的参数比如:收到咨询是professorId,收到答复:consultantId
  69. function handleData(data,attrParams,btnCls){
  70. var htmlStr = '';
  71. var title,
  72. office,
  73. orgName,
  74. department,
  75. address;
  76. for(var i = 0; i < data.length;i++){
  77. //text:回复/查看,state:进行中/已完成/未评价,photoUrl:头像地址,proModify:专家认证
  78. var text,state,stateStyle,photoUrl,proModify;
  79. var modifyclass = '';
  80. if(data[i]["professor"]){//过滤没有专家对象的数据
  81. if(data[i]["consultStatus"] == 0){
  82. state = "进行中";
  83. stateStyle = 'status-1';
  84. text = '回复';
  85. } else if (data[i]["consultStatus"] == 1) {
  86. text = "查看";
  87. state = "已完成";
  88. stateStyle = 'status-3';
  89. if(attrParams == 'consultId'){
  90. if(data[i]["assessStatus"] == 0){
  91. state = "待评价";
  92. stateStyle = 'status-2';
  93. }
  94. }
  95. }else if (data[i]["consultStatus"] == 2) {
  96. text = "查看";
  97. state = "新咨询";
  98. stateStyle = 'status-2';
  99. }else if (data[i]["consultStatus"] == 3) {
  100. text = "查看";
  101. state = "已谢绝";
  102. stateStyle = 'status-5';
  103. }else if(data[i]["consultStatus"] == undefined){
  104. text = "";
  105. state = "";
  106. }
  107. //专家头像
  108. if(data[i]["professor"]["hasHeadImage"] == 0){
  109. photoUrl = "images/default-photo.jpg"
  110. }else{
  111. photoUrl = "images/head/"+data[i]["professor"]["id"]+"_l.jpg"
  112. };
  113. //认证
  114. // if(data[i]["professor"]["authentication"] == true){
  115. // proModify = "display:inline-block;"
  116. // }else{
  117. // proModify = "display:none;"
  118. // }
  119. if(data[i]["professor"].authType) {//专家
  120. modifyclass = 'authicon authicon-cu';
  121. } else {//普通用户
  122. if(data[i]["professor"].authStatus) {//身份已认证
  123. if(data[i]["professor"].authentication == 1) {//科研工作者
  124. modifyclass = "authicon2 authicon-mana";
  125. } else if(data[i]["professor"].authentication == 2) {//企业专家
  126. modifyclass = "authicon2 authicon-staff";
  127. } else {//学生
  128. modifyclass = "authicon2 authicon-stu";
  129. }
  130. }else{//身份未认证
  131. }
  132. };
  133. //未读消息
  134. var unread = unreadConsultFn (userid,data[i]["consultId"],i);
  135. htmlStr += "<div class='workselectitem' id='" +data[i]["consultId"] +"' >" +
  136. "<table width='100%'><tbody><tr><td width='14%' class='messagebox'>" +
  137. "<a class='workhead workitimg headRadius'>" +
  138. "<img class='headPhoto' src='"+photoUrl+"' width='100%' height='100%'>" +
  139. "</a>" +
  140. "<span class='msgprompt showUnreadMsg' style='"+unread.style+"' id='" +data[i]["consultId"] +"'>"+unread.unreadCount+"</span>" +
  141. "</td>" +
  142. "<td style='position:relative;top:20px;' width='86%'>" +
  143. "<div class='workinfor worksitcon'><h4><a class='named' id='nameS'> " + data[i]["professor"]["name"] +" </a>"+
  144. "<a class='modifyicon "+modifyclass+"'></a><input type='text' class='assessStar' value='"+data[i]["assessStar"] +"' style='display: none;'></h4><h6 class='h3Font'>";
  145. if(data[i]["professor"]["title"]){
  146. htmlStr +="<span>" + data[i]["professor"]["title"] +"</span>, ";
  147. };
  148. if(data[i]["professor"]["office"]){
  149. if(data[i]["professor"]["orgName"] || data[i]["professor"]["department"]){
  150. htmlStr +="<span>"+data[i]["professor"]["office"]+"</span>, ";
  151. }else{
  152. htmlStr +="<span>"+data[i]["professor"]["office"]+"</span>";
  153. }
  154. };
  155. if(data[i]["professor"]["orgName"]){
  156. if(data[i]["professor"]["department"]){
  157. htmlStr += "<span>"+data[i]["professor"]["orgName"] +"</span>, ";
  158. }else{
  159. htmlStr += "<span>"+data[i]["professor"]["orgName"] +"</span>";
  160. }
  161. };
  162. if(data[i]["professor"]["department"]){
  163. htmlStr += "<span>"+data[i]["professor"]["department"] +"</span>";
  164. };
  165. if(data[i]["professor"]["address"]){
  166. htmlStr += ' | '+ "<span>"+data[i]["professor"]["address"]+"</span>";
  167. };
  168. htmlStr += "</h6><h6 style='position:relative;'>"+
  169. "<div class='titList'>咨询主题:<em class='h4Font'> " + data[i]["consultTitle"] +" </em></div>" +
  170. "<span class='lasttime rightTime'>"+ lastReplyFn(userid,data[i]["consultId"])["lastReplyTime"] +"</span>" +
  171. "<p class='rebackcon lastReplyCon' >"+lastReplyFn(userid,data[i]["consultId"])["lastReplyCon"]+"</p>" +
  172. "</h6></div>" +
  173. "<div class='workhandle'>" +
  174. "<div class='rightopert floatR'>" +
  175. "<span attrP='"+attrParams+"' class='replybtn "+btnCls+"' id='"+ data[i]["consultId"]+"' consultStatus='"+ data[i]["consultStatus"]+"' assess='"+ data[i]["assessStatus"]+ "' thanks='"+ data[i]["thanksStatus"]+
  176. "' onclick='clickLookBtn2(\""+userid+"\",\""+attrParams+"\",\""+data[i]["consultId"]+"\","+data[i]["consultStatus"]+","+data[i]["assessStatus"]+","+data[i]["thanksStatus"]+");'>" +
  177. text +
  178. "</span>" +
  179. "<span class='moreopert complain'>...</span>" +
  180. "<ul class='moreopertbtn'>" +
  181. "<li>投诉</li>" +
  182. "</ul>" +
  183. "</div>" +
  184. "<div class='leftstate floatR'>" +
  185. "<span class='coultstate "+ stateStyle+"'><i>"+state+"</i></span>" +
  186. "</div>" +
  187. "<div class='leftstate floatR'>" +
  188. "<span class='coultstate coulstAim status-4'><i>"+ data[i]["consultType"] +"</i></span>" +
  189. "</div>" +
  190. "</div>" +
  191. "</td>" +
  192. "</tr></tbody></table>" +
  193. "</div>";
  194. }
  195. };
  196. return htmlStr;
  197. };
  198. //未读信息接口
  199. function unreadConsultFn (senderId,consultId,i){
  200. var unreadCount,style;
  201. var params = {
  202. "senderId":senderId, //发送者ID
  203. "consultId":consultId //咨询ID
  204. };
  205. $.ajax({
  206. url:"/ajax/tidings/qaNotReadTidings",
  207. type:"get",
  208. async:false,
  209. data:params,
  210. success:function(response){
  211. unreadCount = response["data"];
  212. console.log()
  213. if(unreadCount == 0){
  214. style = "display:none;"
  215. }else{
  216. style = "display:block;"
  217. }
  218. },
  219. error:function(error){
  220. $.MsgBox.Alert('提示',"未读消息请求失败");
  221. }
  222. });
  223. return {"unreadCount":unreadCount,
  224. "style":style
  225. }
  226. };
  227. //列表最后回复
  228. function lastReplyFn(sendId,consultId){
  229. var lastReplyTimeData,lastReplyTime,lastReplyCon;
  230. $.ajax({
  231. url:"/ajax/tidings/qaLastRevovery",
  232. async:false,
  233. data:{
  234. "consultId":consultId, //咨询ID
  235. "senderId":sendId //登录者ID
  236. },
  237. success:function(response){
  238. // console.log(response)
  239. if(response["data"] == null || response["data"] == "" || response["data"] == undefined){
  240. lastReplyTimeData = '';
  241. lastReplyTime = '';
  242. lastReplyCon = '';
  243. }
  244. else{
  245. lastReplyTimeData = response["data"]["createTime"];
  246. lastReplyTime = lastReplyTimeData.substr(0,4) + "-" + lastReplyTimeData.substr(4,2) + "-" + lastReplyTimeData.substr(6,2) + " " + lastReplyTimeData.substr(8,2)+ ":" +lastReplyTimeData.substr(10,2)
  247. lastReplyCon = response["data"]["tidingsContant"];
  248. }
  249. },
  250. error:function(error){
  251. $.MsgBox.Alert('提示',"最后回复数据失败");
  252. }
  253. });
  254. return {
  255. "lastReplyTime":lastReplyTime,
  256. "lastReplyCon":lastReplyCon
  257. };
  258. };
  259. //咨询下拉菜单顺序处理函数
  260. function consultPullDownMenu(){//点击下拉菜单
  261. $(".consultOption ul").find("li").click(function(){
  262. status = $(this).attr("tip");
  263. timeType = $("#showTimeSort").attr("tim");
  264. sortType = $("#timeSortId").val();
  265. $("#workContainer").remove();
  266. $("#shoudao").append('<div id="workContainer"></div>')
  267. $(".getConsultPage").remove();
  268. $("#shoudao").append('<div class="tcdPageCode getConsultPage"></div>');
  269. console.log(status+timeType+sortType);
  270. getConsultData(pageSize,1,true,status,timeType,sortType);
  271. });
  272. $(".timeOption ul").find("li").click(function(){
  273. status = $("#showStatus").attr("tip");
  274. timeType = $(this).attr("tim");
  275. sortType = $("#timeSortId").val();
  276. $("#workContainer").remove();
  277. $("#shoudao").append('<div id="workContainer"></div>')
  278. $(".getConsultPage").remove();
  279. $("#shoudao").append('<div class="tcdPageCode getConsultPage"></div>');
  280. console.log(status+timeType+sortType);
  281. getConsultData(pageSize,1,true,status,timeType,sortType);
  282. });
  283. var sortFlag = true;
  284. $("#consultArrow").click(function(){
  285. if(sortFlag == true){
  286. $(this).find("div").css("background-position","-20px 1px");
  287. $("#timeSortId").val("1");
  288. sortFlag = false;
  289. }else{
  290. $(this).find("div").css("background-position","0px 1px");
  291. $("#timeSortId").val("0");
  292. sortFlag=true;
  293. }
  294. status = $("#showStatus").attr("tip");
  295. timeType = $("#showTimeSort").attr("tim");
  296. sortType = $("#timeSortId").val();
  297. $("#workContainer").remove();
  298. $("#shoudao").append('<div id="workContainer"></div>')
  299. $(".getConsultPage").remove();
  300. $("#shoudao").append('<div class="tcdPageCode getConsultPage"></div>');
  301. console.log(status+timeType+sortType);
  302. getConsultData(pageSize,1,true,status,timeType,sortType);
  303. });
  304. };
  305. //咨询和回复中点击查看或者回复
  306. function clickLookBtn2(sendId,attrParams,consultId,consultStatus,assessStatus,thanksStatus){
  307. alert(sendId)
  308. }