Ei kuvausta

consult.js 15KB

    var pageIndex = 1; // 页数 var allPages = 1; // 总页数 var table = document.body.querySelector("#table");//咨询列表容器 var oneedval = document.getElementById("needval");//咨询/需求 var otypeval = document.getElementById("typeval");//咨询类型 var ostateval = document.getElementById("stateval");//咨询状态 var osortval = document.getElementById("sortval");//时间排序 mui.plusReady(function() { var self = plus.webview.currentWebview(); console.log('当前咨询列表页id==='+self.id); }) mui.init({ pullRefresh: { container: '#zixunpullrefresh', /*down: { auto: true, contentdown : "下拉可以刷新", contentover : "释放立即刷新", contentrefresh : "正在刷新...", callback: pulldownRefresh },*/ up: { contentrefresh: '正在加载...', callback: pullupRefresh } } }); /** * 下拉刷新具体业务实现 */ function pulldownRefresh() { pageIndex = 1; console.log('下拉刷新'); //table.innerHTML = ''; setTimeout(function() { getaData(); mui('#zixunpullrefresh').pullRefresh().endPulldownToRefresh(); mui('#zixunpullrefresh').pullRefresh().refresh(true); }, 1000); } //上拉加载具体业务实现 function pullupRefresh() { pageIndex = ++pageIndex; console.log('第'+pageIndex+'页'); console.log('上拉加载更多'); setTimeout(function() { getaData(); }, 1000); }; if(mui.os.plus) { mui.plusReady(function() { setTimeout(function() { mui('#zixunpullrefresh').pullRefresh().pulldownLoading(); }, 500); }); } else { mui.ready(function() { mui('#zixunpullrefresh').pullRefresh().pulldownLoading(); }); }; //点击选择 function checkedFun(i){ mui("#middlePopover"+i).on('tap','.mui-navigate-right',function(e){ allPages = 1; pageIndex = 1; plus.nativeUI.showWaiting(); //显示等待框 document.getElementById("headck"+i).innerHTML = this.innerHTML; var value = this.getAttribute("ck"+i); document.getElementById("headck"+i).setAttribute('headck',value); document.querySelector('.mui-backdrop').style.display = 'none'; document.getElementById("middlePopover"+i).style.display = 'none'; //去掉样式类mui-active,要不然会多点击一次 document.getElementById("middlePopover"+i).classList.remove('mui-active'); //咨询类型传值不同,传""(空),技术咨询、资源咨询、其他事务 otypeval.value = document.getElementById("headck2").getAttribute('headck'); if(otypeval.value == 0) { otypeval.value = ''; }else { otypeval.value = document.getElementById("headck2").innerHTML; } oneedval.value = document.getElementById("headck1").getAttribute('headck'); ostateval.value = document.getElementById("headck3").getAttribute('headck'); osortval.value = document.getElementById("headck4").getAttribute('headck'); initdata(); plus.nativeUI.closeWaiting();//关闭等待框 }); }; checkedFun(1); checkedFun(2); checkedFun(3); checkedFun(4); function getaData() { mui.plusReady(function() { var userid = plus.storage.getItem('userid'); /*console.log("刷新传参"+oneedval.value+otypeval.value+ostateval.value+osortval.value); console.log('加载页'+pageIndex)*/ mui.ajax(baseUrl+'/ajax/consult/pq', { data: { "professorId":userid, //专家ID "consultOrNeed":oneedval.value , //接受咨询或咨询别人的状态值,0-全部,1-别人咨询我的,2-我咨询别人的 默认为0 "consultType":otypeval.value, //咨询类型(技术咨询、资源咨询、其他事务) "status":ostateval.value, //查询状态 0-全部,1-进行中,2-未感谢,3-未评价,4-已完成, 可以不传,默认为0 "timeType":osortval.value, //排序类型 0-按发起时间正序,1-按最后回复时间倒序,2-按完成时间倒序 默认为1 "pageSize":10, "pageNo":pageIndex //当前页码 默认为1 }, dataType: 'json', type: 'get', timeout: 10000, success: function(data) { if (data.success) { var datalist = data.data.data; var total = data.data.total; var pageSize = data.data.pageSize; var result = ''; allPages = Math.ceil(total / pageSize);/*获取总的分页数*/ if (allPages == 1) { //下拉刷新需要先清空数据 table.innerHTML = '';// 在这里清空可以防止刷新时白屏 } eachData(userid,datalist); if(pageIndex < allPages){ mui('#zixunpullrefresh').pullRefresh().endPullupToRefresh(false); /*能上拉*/ }else{ mui('#zixunpullrefresh').pullRefresh().endPullupToRefresh(true);/*不能上拉*/ } } }, error: function(xhr, type, errerThrown) { mui.toast('网络异常,请稍候再试'); plus.nativeUI.closeWaiting(); mui('#zixunpullrefresh').pullRefresh().endPullupToRefresh(true); } }); }); }; /*重新登陆,咨询列表数据刷新*/ window.addEventListener('relogin', function(event) { // alert('重新登陆') userId = event.detail.id; console.log(userId); initdata(); if(plus.nativeUI.showWaiting()){ console.log("showWaiting") plus.nativeUI.closeWaiting();//关闭等待框 } }); initdata(); /*第一次加载数据*/ function initdata() { mui.plusReady(function() { /*plus.nativeUI.showWaiting()//显示等待框*/ var userid = plus.storage.getItem('userid'); if(otypeval.value == 0){ otypeval.value =''; } // console.log('初始化传参一:'+oneedval.value+'二'+otypeval.value+'三'+ostateval.value+'四'+osortval.value); console.log() plus.nativeUI.showWaiting(); mui.ajax(baseUrl+'/ajax/consult/pq', { data: { "professorId":userid, //专家ID "consultOrNeed":oneedval.value , //接受咨询或咨询别人的状态值,0-全部,1-别人咨询我的,2-我咨询别人的 默认为0 "consultType":otypeval.value, //咨询类型(技术咨询、资源咨询、其他事务) "status":ostateval.value, //查询状态 0-全部,1-进行中,2-未感谢,3-未评价,4-已完成, 可以不传,默认为0 "timeType":osortval.value, //排序类型 0-按发起时间正序,1-按最后回复时间倒序,2-按完成时间倒序 默认为1 "pageSize":10, //每页记录数 默认为5 "pageNo":1 //当前页码 默认为1 }, dataType: 'json', type: 'get', timeout: 10000, success: function(data) { if (data.success) { var datalist = data.data.data; // console.log(datalist.length); table.innerHTML = '';//清空容器 eachData(userid,datalist); mui('#zixunpullrefresh').pullRefresh().refresh(true);//重置下拉加载 // mui('#pullrefresh').scroll().scrollTo(0,0);//滚动到顶部 plus.nativeUI.closeWaiting();//关闭等待框 } }, error: function(xhr, type, errerThrown) { mui.toast('网络异常,请稍候再试'); plus.nativeUI.closeWaiting(); } }); }); }; //更新读取状态 function setReadState(consultId) { mui.ajax(baseUrl+'/ajax/consult/readStatus',{ data:{"consultId":consultId}, //咨询ID dataType:'json',//服务器返回json格式数据 type:'post',//HTTP请求类型 timeout:10000,//超时时间设置为10秒; success:function(data){ }, error:function(xhr,type,errorThrown){ } }); } //打开子页面 mui(".mui-table-view").on('tap','.itemBtn',function(){ var o_this = this; // console.log(this.getAttribute('consultId')); mui.plusReady(function() { // console.log(o_this.getAttribute("consultId")); var nwaiting = plus.nativeUI.showWaiting();//显示原生等待框 //更新读取状态 setReadState(o_this.getAttribute("consultId")); webviewShow = plus.webview.create("../html/chats.html",'chats.html',{}, {'consultId':o_this.getAttribute("consultId"),'consultantId':o_this.getAttribute("consultantId"),'readState':1}); //当聊天页面加载完再打开 webviewShow.addEventListener("loaded", function() { }, false); }); }); /*由聊天页面返回咨询列表,要更新咨询状态,和更新未读信息:::自定义事件*/ window.addEventListener('backlist',function(event){ //通过event.detail可获得传递过来的参数内容 var self = plus.webview.currentWebview(); var consultId = event.detail.consultId; var status = event.detail.status; //由聊天页返回咨询页,改变咨询状态,和咨询状态样式 mui('.status').each(function(index,item){ if(this.getAttribute('consultId') == consultId) { if(status == 'myNeedAssessStatus=0'){//未评价 this.classList.remove('status-1'); this.classList.add('status-2'); this.innerHTML = '待评价'; }else if(status == 'myNeedAssessStatus=1'){ this.classList.remove('status-1'); this.classList.add('status-3'); this.innerHTML = '已完成'; } }; }); //由聊天页返回咨询页,改变未读状态 mui('.readstate').each(function(index,item){ if(this.getAttribute('class').indexOf('displayBlock') != -1){//包含displayBlock console.log(this.getAttribute('consultId')); if(this.getAttribute('consultId') == consultId){ this.classList.remove('displayBlock'); this.classList.add('displayNone'); console.log(this.classList); } } }); // initdata(); }); function eachData(userid,datalist) { /*表格填充数据 mui.each是异步的*/ mui.each(datalist, function(index, item) { var title, zhicehng, zhiwei, orgName, address, lastReply, status, statusStyle, lastReplyTime, lastReplyCon, unreadCount, unreadStyle, proModify, photoUrl, consultType; //咨询类型和状态 if(item['consultantId'] != userid){//收到咨询 title = "回复:" + item["consultTitle"]; if(item["consultStatus"] == 0){ status = "进行中"; statusStyle = 'status-1'; }else if(item["consultStatus"] == 1){ status = "已完成"; statusStyle = 'status-3'; } }else if(item['consultantId'] == userid){//我的需求 title = item["consultTitle"]; if(item["consultStatus"] == 0){ status = "进行中"; statusStyle = 'status-1'; }else if(item["consultStatus"] == 1){ if(item["assessStatus"] == 0){ status = '待评价'; statusStyle = 'status-2'; }else { status = '已完成'; statusStyle = 'status-3'; } } }; if(item["professor"] == undefined){ return ; } (item["professor"]["title"])? zhicehng = item["professor"]["title"]: zhicehng = ''; (item["professor"]["office"])? zhiwei = ','+item["professor"]["office"]: zhiwei = ''; (item["professor"]["orgName"])? orgName = ','+item["professor"]["orgName"]: orgName = ''; (item["professor"]["address"])? address = ' | '+ item["professor"]["address"] :address = '' ; (item["professor"]["authentication"] == true)? proModify = 'authicon' : proModify = 'unauthicon'; (item["professor"]["hasHeadImage"] == 0) ? photoUrl = "../images/default-photo.jpg":photoUrl = baseUrl + "/images/head/" + item["professor"].id + "_m.jpg"; //咨询类型,只取两个字 if(item["consultType"]) { consultType = item["consultType"].substr(0,2); } //最后回复 lastReplyTime = lastReplyFn(userid,item["consultId"]).lastReplyTime; lastReplyCon = lastReplyFn(userid,item["consultId"]).lastReplyCon; if(lastReplyCon == undefined){ lastReplyCon = ''; } if(lastReplyTime == undefined){ lastReplyTime = ''; } //未读消息 unreadCount = unreadConsultFn(userid,item["consultId"],index).unreadCount; unreadStyle = unreadConsultFn(userid,item["consultId"],index).style; /* console.log(unreadStyle)*/ var li = document.createElement('li'); li.className = 'mui-table-view-cell mui-media'; li.innerHTML = '<div class="coutopicbox">' + '<span class="coutheme mui-ellipsis mui-pull-left">'+title+'</span>' + '<div class="coustatus mui-pull-right"><span class="aimlabel">'+consultType+'</span>' + '<span class="'+statusStyle+' status" consultId="'+item["consultId"]+'">'+status+'</span></div></div>' + '<a class="proinfor itemBtn" consultId="'+item["consultId"]+'" consultantId="'+item["consultantId"]+'" >' + '<span class="mui-badge mui-badge-danger readstate '+unreadStyle+'" consultId="'+item["consultId"]+'">'+unreadCount+'</span>' + '<img class="mui-media-object mui-pull-left headimg headRadius" src="'+photoUrl+'">' + '<div class="mui-media-body">' + '<span class="listtit">'+item["professor"]["name"]+'<em class="mui-icon iconfont icon-vip '+proModify+'"></em><span class="thistime">'+lastReplyTime+'</span></span>' + '<p class="listtit2"><span>'+zhicehng+'</span><span>'+zhiwei+'</span><span>'+orgName+'</span><span>'+address+'</span></p>' + '<p class="listtit3">'+lastReplyCon+'</p>' + '</div></a>'; table.appendChild(li,table.firstChild); }); }; /*最后回复*/ function lastReplyFn(sendId,consultId){ var lastReplyTimeData,lastReplyTime,lastReplyCon; mui.ajax(baseUrl + '/ajax/tidings/qaLastRevovery',{ data:{ "consultId":consultId, //咨询ID "senderId":sendId //登录者ID }, dataType:'json',//服务器返回json格式数据 type:'get',//HTTP请求类型 timeout:10000,//超时时间设置为10秒; async:false, success:function(data){ /*console.log(data);*/ if(data["data"] == null || data["data"] == "" || data["data"] == undefined){ lastReplyTimeData = ''; lastReplyTime = ''; lastReplyCon = ''; } else{ lastReplyTimeData = data["data"]["createTime"]; lastReplyTime =lastReplyTimeData.substr(0,4) + "-" + lastReplyTimeData.substr(4,2) + "-" + lastReplyTimeData.substr(6,2) + " " + lastReplyTimeData.substr(8,2)+ ":" +lastReplyTimeData.substr(10,2); lastReplyCon = data["data"]["tidingsContant"]; } }, error:function(xhr,type,errorThrown){ } }); return { "lastReplyTime":lastReplyTime, "lastReplyCon":lastReplyCon }; }; /*未读消息*/ function unreadConsultFn (senderId,consultId,i){ var unreadCount,style; mui.ajax(baseUrl +'/ajax/tidings/qaNotReadTidings',{ data:{ "senderId":senderId, //发送者ID "consultId":consultId //咨询ID }, dataType:'json',//服务器返回json格式数据 type:'get',//HTTP请求类型 timeout:10000,//超时时间设置为10秒; async:false, success:function(data){ unreadCount = data["data"]; /* console.log('未读取消息数==='+data.data)*/ if(unreadCount == 0){ // style = "display:none;" style = 'displayNone'; }else{ // style = "display:block;" style = 'displayBlock'; } }, error:function(xhr,type,errorThrown){ } }); return {"unreadCount":unreadCount, "style":style } };