Nav apraksta

consultlist.js 9.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266
  1. //咨询
  2. mui.ready(function() {
  3. mui.plusReady(function(){
  4. var userid = plus.storage.getItem('userid');
  5. var listContainer = document.getElementById("listContainer");//咨询列表容器
  6. /*var consultStr = getConsultData(userid,0,0,0);
  7. var myNeedStr = getMyNeedData(userid,0,0,0);
  8. var allStr = allData(userid,0,0,1);
  9. listContainer.innerHTML = consultStr + myNeedStr;
  10. listContainer.innerHTML = allStr;*/
  11. var list = allData(userid,0,0,0,0);
  12. listContainer.innerHTML = list;
  13. //点击选择
  14. function checkedFun(i){
  15. mui("#middlePopover"+i).on('tap','.mui-navigate-right',function(e){
  16. document.getElementById("headck"+i).innerHTML = e.target.innerHTML;
  17. var value = e.target.getAttribute("ck"+i);
  18. document.getElementById("headck"+i).setAttribute('headck',value);
  19. document.querySelector('.mui-backdrop').style.display = 'none';
  20. document.getElementById("middlePopover"+i).style.display = 'none';
  21. //去掉样式类mui-active,要不然会多点击一次
  22. var oheadVal = {
  23. val1:document.getElementById("headck1").getAttribute('headck'),
  24. val2:document.getElementById("headck2").getAttribute('headck'),
  25. val3:document.getElementById("headck3").getAttribute('headck'),
  26. val4:document.getElementById("headck4").getAttribute('headck')
  27. };
  28. console.log(oheadVal.val1+oheadVal.val2+oheadVal.val3+oheadVal.val4)
  29. /*allData(userid,consultOrNeed,consultType,status,timeType)
  30. * userid:专家id
  31. * consultOrNeed:接受咨询或咨询别人的状态值,0-全部,1-别人咨询我的,2-我咨询别人的 默认为0
  32. * consultType:咨询类型(技术咨询、资源咨询、其他事务)
  33. * status:查询状态 0-全部,1-进行中,2-未感谢,3-未评价,4-已完成, 可以不传,默认为0
  34. * timeType:排序类型 0-按发起时间正序,1-按最后回复时间倒序,2-按完成时间倒序 默认为1
  35. */
  36. var listdata = allData(userid,oheadVal.val1,oheadVal.val2,oheadVal.val3,oheadVal.val4);
  37. listContainer.innerHTML = listdata;
  38. });
  39. };
  40. checkedFun(1);
  41. checkedFun(2);
  42. checkedFun(3);
  43. checkedFun(4);
  44. /*全部的咨询列表*/
  45. function allData(userid,consultOrNeed,consultType,status,timeType) {
  46. var allStr;
  47. var params = {
  48. "professorId":userid, //专家ID
  49. "consultOrNeed":consultOrNeed, //接受咨询或咨询别人的状态值,0-全部,1-别人咨询我的,2-我咨询别人的 默认为0
  50. "consultType":consultType, //咨询类型(技术咨询、资源咨询、其他事务)
  51. "status":status, //查询状态 0-全部,1-进行中,2-未感谢,3-未评价,4-已完成, 可以不传,默认为0
  52. "timeType":timeType, //排序类型 0-按发起时间正序,1-按最后回复时间倒序,2-按完成时间倒序 默认为1
  53. "pageSize":"", //每页记录数 默认为5
  54. "pageNo":"" //当前页码 默认为1
  55. };
  56. mui.ajax(baseUrl +'/ajax/consult/pq',{
  57. data:params,
  58. dataType:'json',//服务器返回json格式数据
  59. type:'get',//HTTP请求类型
  60. async:false,
  61. success:function(data){
  62. if(!data.data){
  63. return false;
  64. }else{
  65. var myData = data.data.data;
  66. allStr = handleData(userid,myData,'all');
  67. }
  68. },
  69. error:function(xhr,type,errorThrown){
  70. }
  71. });
  72. return allStr;
  73. }
  74. /*咨询数据处理*/
  75. function handleData(userid,data,manFlag) {
  76. var htmlStr = '';
  77. for(var i = 0; i < data.length;i++){
  78. var title,
  79. zhicehng,
  80. zhiwei,
  81. address,
  82. lastReply,
  83. status,
  84. lastReplyTime,
  85. lastReplyCon,
  86. unreadCount,
  87. unreadStyle,
  88. proModify,
  89. photoUrl;
  90. //咨询类型和状态
  91. if(data[i]['consultantId'] != userid){//收到咨询
  92. title = "回复:关于" + data[i]["consultTitle"] + "的咨询";
  93. if(data[i]["consultStatus"] == 0){
  94. status = "进行中";
  95. }else if(data[i]["consultStatus"] == 1){
  96. status = "已完成";
  97. }
  98. }else if(data[i]['consultantId'] == userid){//我的需求
  99. title = "关于" + data[i]["consultTitle"] + "的咨询";
  100. if(data[i]["consultStatus"] == 0){
  101. status = "进行中";
  102. }else if(data[i]["consultStatus"] == 1){
  103. if(data[i]["assessStatus"] == 0){
  104. status = '待评价';
  105. }
  106. }
  107. }
  108. //专家职称
  109. if(!data[i]["professor"]["title"]){
  110. zhicehng = '';
  111. }else {
  112. zhicehng = data[i]["professor"]["title"]+',';
  113. }
  114. //专家职位
  115. if(!data[i]["professor"]["office"]){
  116. zhiwei = '';
  117. }else {
  118. zhiwei = data[i]["professor"]["office"] + ',';
  119. }
  120. //专家所在地
  121. if(!data[i]["professor"]["address"]){
  122. address = '';
  123. }else {
  124. address = '|'+ data[i]["professor"]["address"];
  125. }
  126. //专家认证
  127. if(data[i]["professor"]["authentication" == true]){
  128. proModify = 'authicon';
  129. }else {
  130. proModify = 'unauthicon';
  131. }
  132. //专家头像
  133. if(data[i]["professor"]["hasHeadImage"] == 0){
  134. photoUrl = "../images/default-photo.jpg";
  135. }else{
  136. photoUrl = "../images/head/"+data[i]["professor"]["id"]+"_m.jpg";
  137. };
  138. //最后回复
  139. lastReplyTime = lastReplyFn(userid,data[i]["consultId"]).lastReplyTime;
  140. lastReplyCon = lastReplyFn(userid,data[i]["consultId"]).lastReplyCon;
  141. if(lastReplyCon == undefined){
  142. lastReplyCon = '';
  143. }
  144. if(lastReplyTime == undefined){
  145. lastReplyTime = '';
  146. }
  147. //未读消息
  148. unreadCount = unreadConsultFn(userid,data[i]["consultId"],i).unreadCount;
  149. unreadStyle = unreadConsultFn(userid,data[i]["consultId"],i).style;
  150. htmlStr += '<li class="mui-table-view-cell mui-media"><div class="coutopicbox">';
  151. htmlStr += '<span class="coutheme mui-ellipsis mui-pull-left">'+title+'</span>';
  152. htmlStr += '<div class="coustatus mui-pull-right"><span class="aimlabel">'+data[i]["consultType"]+'</span>';
  153. htmlStr += '<span class="status-1">'+status+'</span></div></div>';
  154. htmlStr += '<a class="proinfor itemBtn" consultId="'+data[i]["consultId"]+'" consultantId="'+data[i]["consultantId"]+'" manFlag="'+manFlag+'">';
  155. htmlStr += '<span class="mui-badge mui-badge-danger" style="'+unreadStyle+'">'+unreadCount+'</span>';
  156. htmlStr += '<img class="mui-media-object mui-pull-left headimg" src="'+photoUrl+'">';
  157. htmlStr += '<div class="mui-media-body">';
  158. htmlStr += '<span class="listtit">'+data[i]["professor"]["name"]+'<em class="mui-icon iconfont icon-vip '+proModify+'"></em><span class="thistime">'+lastReplyTime+'</span></span>';
  159. htmlStr += '<p class="listtit2"><span>'+zhicehng+'</span><span>'+zhiwei+'</span><span>'+data[i]["professor"]["orgName"]+'</span><span>'+address+'</span></p>';
  160. htmlStr += '<p class="listtit3">'+lastReplyCon+'</p>';
  161. htmlStr += '</div></a></li>';
  162. mui("#listContainer").on('tap','.itemBtn',function(){
  163. // console.log(this.getAttribute("consultId"));
  164. mui.openWindow({
  165. id:'chats',
  166. url:'chats.html',
  167. extras:{
  168. 'manFlag':this.getAttribute("manFlag"),
  169. 'consultId':this.getAttribute("consultId"),//自定义扩展参数,可以用来处理页面间传值
  170. 'consultantId':this.getAttribute("consultantId")//咨询者id
  171. }
  172. });
  173. });
  174. };
  175. return htmlStr;
  176. };
  177. /*最后回复*/
  178. function lastReplyFn(sendId,consultId){
  179. var lastReplyTimeData,lastReplyTime,lastReplyCon;
  180. mui.ajax(baseUrl + '/ajax/tidings/qaLastRevovery',{
  181. data:{
  182. "consultId":consultId, //咨询ID
  183. "senderId":sendId //登录者ID
  184. },
  185. dataType:'json',//服务器返回json格式数据
  186. type:'get',//HTTP请求类型
  187. async:false,
  188. success:function(data){
  189. /*console.log(data);*/
  190. if(data["data"] == null || data["data"] == "" || data["data"] == undefined){
  191. lastReplyTimeData = '';
  192. lastReplyTime = '';
  193. lastReplyCon = '';
  194. }
  195. else{
  196. lastReplyTimeData = data["data"]["createTime"];
  197. lastReplyTime =lastReplyTimeData.substr(0,4) + "-" + lastReplyTimeData.substr(4,2) + "-" + lastReplyTimeData.substr(6,2) + " " + lastReplyTimeData.substr(8,2)+ ":" +lastReplyTimeData.substr(10,2);
  198. lastReplyCon = data["data"]["tidingsContant"];
  199. /*console.log(lastReplyTime);*/
  200. }
  201. },
  202. error:function(xhr,type,errorThrown){
  203. }
  204. });
  205. return {
  206. "lastReplyTime":lastReplyTime,
  207. "lastReplyCon":lastReplyCon
  208. };
  209. };
  210. /*未读消息*/
  211. function unreadConsultFn (senderId,consultId,i){
  212. var unreadCount,style;
  213. mui.ajax(baseUrl +'/ajax/tidings/qaNotReadTidings',{
  214. data:{
  215. "senderId":senderId, //发送者ID
  216. "consultId":consultId //咨询ID
  217. },
  218. dataType:'json',//服务器返回json格式数据
  219. type:'get',//HTTP请求类型
  220. async:false,
  221. success:function(data){
  222. unreadCount = data["data"];
  223. if(unreadCount == 0){
  224. style = "display:none;"
  225. }else{
  226. style = "display:block;"
  227. }
  228. },
  229. error:function(xhr,type,errorThrown){
  230. }
  231. });
  232. return {"unreadCount":unreadCount,
  233. "style":style
  234. }
  235. };
  236. });
  237. });