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);
});