var userAgent = window.localStorage.getItem(agentName); var d = dialog({contentType:'load', skin:'bk-popup'}); var Request = GetRequest(); var openid = Request["openid"]; var dataId=null,scroller1=null,articleId=''; var pagetype=27; var toUser = Request["toUser"]; var toName = decodeURIComponent(Request["toName"]); var represented = Request["represented"]; var doctorCode; localStorage.setItem("toUser",toUser); $(function(){ dataId = Request["dataId"]; articleId = Request.articleId; localStorage.setItem("article",dataId); article.closeWindow(); if(!userAgent) { localStorage.setItem("toUser",toUser); window.location.href = server + "wx/html/home/html/zhmm-login.html?openid=" + openid+"&type="+pagetype; return false; }else{ queryInit(); } }) function queryInit(){ article.initPage(); } var article={ initPage:function(){ article.initScroll(); var newUaObj = JSON.parse(window.localStorage.getItem(agentName)) //判断关系 function hasFamilyRelation(a,b){ return new Promise(function(resolve, reject) { var data={ patient:a, familyMember:b } sendPost("patient/family/is_authorize", data, "json", "get", function(res){ dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'请求家庭成员关系失败'}).show(); }, function(res){ if(res.status == 200) { window.localStorage.setItem('nowPatientName',res.data.name); resolve(res) }else if(res.status == 100) { dialog({ content:'对不起,'+res.data.name+'未授权给您,如需查看,请切换'+res.data.name+'账号登录', okValue:'切换账号', ok: function() { window.localStorage.setItem(pageName, JSON.stringify({pageurl: location.href})) window.location.href = "../../grzx/html/change-login.html?type=0&openid="+ Request["openid"]; }, cancelValue: '我不看了', cancel: function () { wx.closeWindow(); } }).showModal(); }else{ relogin(); } }) }) } //重新登录操作 function relogin(){ dialog({ content:'对不起,该消息是发给'+toName+',如需查看,请切换'+toName+'账号登录', okValue:'切换账号', ok: function() { window.localStorage.setItem(pageName, JSON.stringify({pageurl: location.href})) window.location.href = "../../grzx/html/change-login.html?type=0&openid="+ Request["openid"]; }, cancelValue: '我不看了', cancel: function () { wx.closeWindow(); } }).showModal(); } //保存信息 function saveUserInfo(a,b){ Promise.all([hasFamilyRelation(a,b)]).then(function () { newUaObj.represented = represented; window.localStorage.setItem(agentName,JSON.stringify(newUaObj)); userAgent = window.localStorage.getItem(agentName); article.initData(); article.bindEvents(); }) } function initFamilyData () { //从微信模板消息进入 if(represented && userAgent && toUser){ if(toUser == represented){ saveUserInfo(represented,newUaObj.uid) }else if(toUser != represented && represented == newUaObj.uid){ //本人代理 saveUserInfo(represented,newUaObj.uid) }else if(toUser != represented && toUser == newUaObj.uid){ //需要判定关系 200有授权 100家人 1无关系 saveUserInfo(represented,newUaObj.uid) }else{ //重新登录 relogin(); } }else{ article.initData(); article.bindEvents(); } } initFamilyData(); }, initData:function(){ d.show(); var params = {}; params.article = dataId; sendPost("/patient/health/edu/article",params,"JSON","POST",article.queryFailed,article.querySuccess); }, initScroll:function(){ scroller1 = new IScrollPullUpDown('wrapper1',{ probeType:2, bounceTime: 250, bounceEasing: 'quadratic', mouseWheel:false, scrollbars:true, fadeScrollbars:true, click:true, interactiveScrollbars:false },null,null); function pullDownAction(theScrollerTemp) { $(".pullDown").show(); $(".pullDownLabel").html("数据刷新中...."); setTimeout(function () { article.initData(); }, 1000); } },queryFailed:function(res){ $(".pullUp,.pullDown").hide(); d.close(); if(res.msg){ dialog({contentType:'tipsbox', skin:'bk-popup' , content:res.msg,bottom:true}).show(); }else{ dialog({contentType:'tipsbox', skin:'bk-popup' , content:'数据加载失败!',bottom:true}).show(); } },querySuccess:function(res){ $(".pullUp,.pullDown").hide(); d.close(); if(res.status==200){ var data = res.data; var html = template("article_temp",data); $(".iScroller").html(html); setTimeout(function(){ scroller1.myScroll.refresh(); },1000); }else{ if(res.status==-2){ dialog({ content:'对不起,该消息不是您的消息,您无法查看哦~', okValue:'我知道了', ok: function() { wx.closeWindow(); } }).showModal(); } article.queryFailed(); } },closeWindow:function(){ var params = {}; params.pageUrl = window.location.href; $.ajax(server + "weixin/getSign", { data: params, dataType: "json", type: "post", success: function(res) { if(res.status == 200) { var t = res.data.timestamp; var noncestr = res.data.noncestr; var signature = res.data.signature; wx.config({ //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId: appId, // 必填,公众号的唯一标识 timestamp: t, // 必填,生成签名的时间戳 nonceStr: noncestr, // 必填,生成签名的随机串 signature: signature, // 必填,签名,见附录1 jsApiList: [ 'closeWindow' ] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); } } }); }, bindEvents: function() { $("#zixun").on("click", function () { article.querySignType(); }); }, querySignType: function() { d.show(); sendPost('patient/sign_doctors', {}, 'json', 'post', article.querySignTypeFailed, article.querySignTypeSuccess); }, querySignTypeFailed: function(res) { d.close(); if (res && res.msg) { dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:res.msg}).show(); } else { dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'获取咨询类型失败'}).show(); } }, querySignTypeSuccess: function(data) { if (data.status == 200) { var doctors = data.familyDoctors; type = 2; var docInfo,docQkInfo; if(doctors.length == 0){ doctors = data.teamDoctors; type = 1; } $.each(doctors, function(i, v) { if(v.teamlevel){ if(v.teamlevel == 3){ docInfo = v; } if(v.teamlevel == 2){ docQkInfo = v; } }else{ if(v.level == 3){ docInfo = v; } if(v.level == 2){ docQkInfo = v; } } }); if(!docInfo){ docInfo = docQkInfo; } sendPost('patient/consult/is_consult_unfinished', {doctor: docInfo ? docInfo.code : docQkInfo.code}, 'json', 'post', function(res){ d.close(); if (res && res.msg) { dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:res.msg}).show(); } else { dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'获取是否存在咨询失败'}).show(); } }, function(res){ if(res.status == 200){ if(res.data == ""){ checkDocInWork(0, docInfo.code, articleId); } else { d.close(); dialog({ content: '十分抱歉,您与'+ docInfo.name +'医生还有
未结束咨询,无法发起新的咨询', okValue:'前往查看', ok: function (){ var userInfo = JSON.parse(userAgent); var rep = userInfo.represented?userInfo.represented:userInfo.uid; window.location.href = "../../yszx/html/consulting-doctor.html?consult=" + res.data +"&toUser="+rep+"&type="+type+"&doctor="+docInfo.code; }, cancelValue: '我知道了', cancel: function () { return; } }).showModal(); } } else { dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:res.msg}).show(); } } ); } else { article.querySignTypeFailed(res); } } } function queryFailed(res){ d.close(); if(res.msg){ dialog({contentType:'tipsbox', skin:'bk-popup' , content:res.msg,bottom:true}).show(); }else{ dialog({contentType:'tipsbox', skin:'bk-popup' , content:'操作失败!',bottom:true}).show(); } } function checkDocInWork(type, doctor, id){ sendPost('patient/consult/is_doctor_working', {doctor:doctor}, 'json', 'get', queryFailed, function(res){ if(res.status==200){ d.close(); if(res.data==2){ dialog({ content: '您好,由于您的签约医生工作繁忙,设置了每日回复咨询的时间段,所以,在该时间段外的时间,您的咨询将不会马上获得医生的回复。', okValue:'查看医生工作时间', ok: function (){ window.location.href = "../../yszx/html/doctor-work-hours.html?doctor=" + doctor; }, cancelValue: '继续新增咨询', cancel: function () { // window.location.href = "../../yszx/html/add-consult.html?id=" + id + "&type="+ type +"&doctorCode=" + doctor; window.location.href = "../../yszd/html/add-consult.html?id=" + id + "&type="+ type +"&doctorCode=" + doctor+'&fromPage=jkzx'; } }).showModal(); }else if(res.data==0){//医生不接受咨询 dialog({ content: '对不起,该医生暂时关闭了咨询功能,
暂时无法咨询该医生', cancelValue: '我知道了', cancel: function () { wx.closeWindow(); } }).showModal(); }else{ //三师咨询或家庭签约咨询,跳转到新增咨询页面 // window.location.href = "add-consult.html?id=" + id + "&type="+ type +"&doctorCode=" + doctor; window.location.href = "../../yszd/html/add-consult.html?id=" + id + "&type="+ type +"&doctorCode=" + doctor+'&fromPage=jkzx'; } }else{ queryFailed(res); } }) } template.helper("setPhoto", function(p) { return getImgUrl(p); });