|  | @ -0,0 +1,310 @@
 | 
	
		
			
				|  |  | var d = dialog({contentType:'load', skin:'bk-popup', content:'加载中...'});
 | 
	
		
			
				|  |  | var mySwiper;
 | 
	
		
			
				|  |  | var pagetype = 33;
 | 
	
		
			
				|  |  | var signStatus;
 | 
	
		
			
				|  |  | var Request = GetRequest();
 | 
	
		
			
				|  |  | var userAgent = localStorage.getItem(agentName);
 | 
	
		
			
				|  |  | var changeDoctor = Request.changeDoctor || 0; //标记是否是医生发起的模板消息,1-医生发起的
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | $(function(){
 | 
	
		
			
				|  |  | 	var toUser = Request["toUser"];
 | 
	
		
			
				|  |  | 	var toName = decodeURIComponent(Request["toName"]);
 | 
	
		
			
				|  |  | 	var openid = Request["openid"];
 | 
	
		
			
				|  |  | 	var represented = Request["represented"];
 | 
	
		
			
				|  |  | 	if(!userAgent) {
 | 
	
		
			
				|  |  |         window.location.href = server + "wx/html/home/html/zhmm-login.html?type=" + pagetype + "&openid=" + openid;
 | 
	
		
			
				|  |  | 		return false;	
 | 
	
		
			
				|  |  | 	}
 | 
	
		
			
				|  |  | 	var newUaObj = JSON.parse(userAgent)
 | 
	
		
			
				|  |  | 	//判断关系
 | 
	
		
			
				|  |  | 	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 = JSON.parse(localStorage.getItem(agentName));
 | 
	
		
			
				|  |  | 			queryInit()
 | 
	
		
			
				|  |  | 		})
 | 
	
		
			
				|  |  | 	}
 | 
	
		
			
				|  |  | 	
 | 
	
		
			
				|  |  | 	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{
 | 
	
		
			
				|  |  | 			userAgent = JSON.parse(userAgent);
 | 
	
		
			
				|  |  | 			queryInit()
 | 
	
		
			
				|  |  | 		}
 | 
	
		
			
				|  |  | 	}
 | 
	
		
			
				|  |  | 	initFamilyData();
 | 
	
		
			
				|  |  | 	
 | 
	
		
			
				|  |  |     $('.swiper-slide,.swiper-container').css({
 | 
	
		
			
				|  |  |         height: $(window).height()
 | 
	
		
			
				|  |  |     });
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  |     $(window).on('resize',function(){
 | 
	
		
			
				|  |  |         $('.swiper-slide,.swiper-container').css({
 | 
	
		
			
				|  |  |             height: $(window).height()
 | 
	
		
			
				|  |  |         });
 | 
	
		
			
				|  |  |     });
 | 
	
		
			
				|  |  | });
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | function queryInit(){
 | 
	
		
			
				|  |  |     var date = new Date();
 | 
	
		
			
				|  |  |     getStatistics(); //获得统计数据
 | 
	
		
			
				|  |  |     bindEvents();
 | 
	
		
			
				|  |  |     getWeixinSign();
 | 
	
		
			
				|  |  | }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | function reqFailed(res){
 | 
	
		
			
				|  |  |     d.close();
 | 
	
		
			
				|  |  |     if(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 initSwiper(){
 | 
	
		
			
				|  |  |     mySwiper = new Swiper('.swiper-container',{
 | 
	
		
			
				|  |  |         setWrapperSize :true,
 | 
	
		
			
				|  |  |         direction:"vertical",
 | 
	
		
			
				|  |  |         speed : 1000,
 | 
	
		
			
				|  |  |         longSwipesRatio : 0.3,
 | 
	
		
			
				|  |  |         grabCursor:true,
 | 
	
		
			
				|  |  |         nextButton:'.next-btn',
 | 
	
		
			
				|  |  |         prevButton:'.pre-btn',
 | 
	
		
			
				|  |  |         mousewheelControl : true,
 | 
	
		
			
				|  |  |         lazyLoading : true,
 | 
	
		
			
				|  |  |         lazyLoadingInPrevNext : true,
 | 
	
		
			
				|  |  |         lazyLoadingOnTransitionStart : true,
 | 
	
		
			
				|  |  |         onInit: function(swiper){
 | 
	
		
			
				|  |  |             setTimeout(function(){
 | 
	
		
			
				|  |  |                 $("#loading").remove();
 | 
	
		
			
				|  |  |                 $(".swiper-container").css({"opacity":"1"});
 | 
	
		
			
				|  |  |                 swiperAnimateCache(swiper);
 | 
	
		
			
				|  |  |                 swiperAnimate(swiper);
 | 
	
		
			
				|  |  |             },1000);
 | 
	
		
			
				|  |  |         },
 | 
	
		
			
				|  |  |         onSlideChangeEnd: function(swiper){
 | 
	
		
			
				|  |  |             swiperAnimate(swiper);
 | 
	
		
			
				|  |  |         },
 | 
	
		
			
				|  |  |         onTransitionEnd: function(swiper){
 | 
	
		
			
				|  |  |             swiperAnimate(swiper);
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     });
 | 
	
		
			
				|  |  | }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | function getStatistics(){
 | 
	
		
			
				|  |  |     d.show();
 | 
	
		
			
				|  |  |     var url = "/patient/family_contract/getSignCountInfoInYear",
 | 
	
		
			
				|  |  |         params = {patient: userAgent.represented?userAgent.represented:userAgent.uid};
 | 
	
		
			
				|  |  |     
 | 
	
		
			
				|  |  |     sendPost(url, params, "JSON", "get", reqFailed, function(res){
 | 
	
		
			
				|  |  |         if(res.status == 200){
 | 
	
		
			
				|  |  |             d.close();
 | 
	
		
			
				|  |  |             var data = res.data,
 | 
	
		
			
				|  |  |                 consultTotal = data.consultTotal,
 | 
	
		
			
				|  |  |                 articleCount = data.articleResult[0].articleCount,
 | 
	
		
			
				|  |  |                 guidanceCount = data.guidanceResult[0].guidanceCount,
 | 
	
		
			
				|  |  |                 reservationCount = data.reservationResult[0].reservationCount,
 | 
	
		
			
				|  |  |                 totalCount = articleCount + guidanceCount + reservationCount;
 | 
	
		
			
				|  |  |             if(consultTotal == 0 && totalCount == 0){
 | 
	
		
			
				|  |  |                 $(".result-info").html("您没有该年度的服务记录");
 | 
	
		
			
				|  |  |                 $("#directBtn").text("了解更多授权续签");
 | 
	
		
			
				|  |  |                 $("#directBtn").parent().show();
 | 
	
		
			
				|  |  |                 $("#directBtn").attr("href", "agreement.html?changeDoctor="+changeDoctor);
 | 
	
		
			
				|  |  |                 return;
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             $("#skip").show();
 | 
	
		
			
				|  |  |             $(".page1-text-1").text(res.data.consultTotal);
 | 
	
		
			
				|  |  |             var len = res.data.consultResult.length;
 | 
	
		
			
				|  |  |             var newRs = _.sortBy(res.data.consultResult, function(o){
 | 
	
		
			
				|  |  |                 return -o.consultCount;
 | 
	
		
			
				|  |  |             });
 | 
	
		
			
				|  |  |             var page1html = "";
 | 
	
		
			
				|  |  |             for(i=0; i<len; i++){
 | 
	
		
			
				|  |  |                 var item = newRs[i];
 | 
	
		
			
				|  |  |                 var mt = "";
 | 
	
		
			
				|  |  |                 if(i > 0){
 | 
	
		
			
				|  |  |                     mt = "mt10";
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 if(i < 3){
 | 
	
		
			
				|  |  |                     page1html += '<div class="mlr10 bgc-2e2068 plr10 page1-text '+mt+' ani" swiper-animate-effect="lightSpeedIn" swiper-animate-duration="0.5s" swiper-animate-delay="'+(i*0.5)+'s">'+
 | 
	
		
			
				|  |  |                     '<span class="c-f16 c-00e669">'+item.doctorName+'</span>'+
 | 
	
		
			
				|  |  |                     '<img src="../images/01xuanqian_img02_bg.png">'+
 | 
	
		
			
				|  |  |                     '<span class="c-f20 c-00e669 num">'+item.consultCount+'</span></div>';
 | 
	
		
			
				|  |  |                     
 | 
	
		
			
				|  |  |                 }else{
 | 
	
		
			
				|  |  |                     page1html += '<div class="ani c-t-center mt10" swiper-animate-effect="lightSpeedIn" swiper-animate-duration="0.5s" swiper-animate-delay="'+(i*0.5)+'s"><img src="../images/icon_more.png"></div>'
 | 
	
		
			
				|  |  |                     break;
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             $(".swiper-slide1").append(page1html);
 | 
	
		
			
				|  |  |             
 | 
	
		
			
				|  |  |             //第二页内容填充
 | 
	
		
			
				|  |  |             var page2html = '<p class="page2-text-1"><span class="c-24 c-bold c-fff mr5">今年</span>';
 | 
	
		
			
				|  |  |             var docLen = res.data.doctors.length;
 | 
	
		
			
				|  |  |             if(docLen == 0){
 | 
	
		
			
				|  |  |                 page2html += '<span class="c-f16 c-ffff00">没有</span>';
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             for(j=0; j<docLen; j++){
 | 
	
		
			
				|  |  |                 var item = res.data.doctors[j];
 | 
	
		
			
				|  |  |                 if(j > 0){
 | 
	
		
			
				|  |  |                     page2html += '<span class="c-f16 c-ffff00">、</span>';
 | 
	
		
			
				|  |  |                 }
 | 
	
		
			
				|  |  |                 page2html += '<span class="c-f16 c-ffff00 ani" swiper-animate-effect="fadeInDown" swiper-animate-duration="0.5s" swiper-animate-delay="'+(j*0.5)+'s">'+item.name+'</span>';
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |             page2html += '<span class="c-24 c-bold c-fff ml5">医生</span></p>';
 | 
	
		
			
				|  |  |             $(".page2-div1").append(page2html);
 | 
	
		
			
				|  |  |             
 | 
	
		
			
				|  |  |             $(".page2-text-3").text(totalCount);
 | 
	
		
			
				|  |  |             $(".page2-text-4").text(reservationCount);
 | 
	
		
			
				|  |  |             $(".page2-text-5").text(guidanceCount);
 | 
	
		
			
				|  |  |             $(".page2-text-6").text(articleCount);
 | 
	
		
			
				|  |  |             initSwiper();
 | 
	
		
			
				|  |  |         }else{
 | 
	
		
			
				|  |  |             if(res.status == -1){
 | 
	
		
			
				|  |  |                 //请求判断是和情况
 | 
	
		
			
				|  |  |                 var url = "/patient/family_contract/checkCanRenew",
 | 
	
		
			
				|  |  |                     params = {patient: userAgent.represented?userAgent.represented:userAgent.uid};
 | 
	
		
			
				|  |  |                 sendPost(url, params, "json", "post", reqFailed , function(res){
 | 
	
		
			
				|  |  |                     if(res.status == 200){
 | 
	
		
			
				|  |  |                         var code = res.data.code,
 | 
	
		
			
				|  |  |                             msg = "您没有签约关系<br/>请前往签约管理页面签约医生",
 | 
	
		
			
				|  |  |                             enable = true;
 | 
	
		
			
				|  |  |                         switch (parseInt(code)){
 | 
	
		
			
				|  |  |                             case -4:
 | 
	
		
			
				|  |  |                                 msg = "您当前无可续签的家庭医生<br/>可在签约管理页面签约医生";
 | 
	
		
			
				|  |  |                                 enable = false;
 | 
	
		
			
				|  |  |                                 break;
 | 
	
		
			
				|  |  |                             case -2:
 | 
	
		
			
				|  |  |                                 msg = "您已完成新年度的签约<br/>不能再次签约";
 | 
	
		
			
				|  |  |                                 enable = false;
 | 
	
		
			
				|  |  |                                 break;
 | 
	
		
			
				|  |  |                             case -1:
 | 
	
		
			
				|  |  |                                 msg = "当前时间段不允许续签<br/>可前往签约管理页面签约医生";
 | 
	
		
			
				|  |  |                                 enable = false;
 | 
	
		
			
				|  |  |                                 break;
 | 
	
		
			
				|  |  |                         }
 | 
	
		
			
				|  |  |                         $(".result-info").html(msg);
 | 
	
		
			
				|  |  |                         $("#directBtn").text("我知道了");
 | 
	
		
			
				|  |  |                         $("#directBtn").parent().show();
 | 
	
		
			
				|  |  |                         $("#directBtn").attr("href", "../../qygl/html/signing_management.html");
 | 
	
		
			
				|  |  |                     }else{
 | 
	
		
			
				|  |  |                         $(".result-info").html("您没有签约关系<br/>请前往签约管理页面签约医生");
 | 
	
		
			
				|  |  |                         $("#directBtn").text("我知道了");
 | 
	
		
			
				|  |  |                         $("#directBtn").parent().show();
 | 
	
		
			
				|  |  |                         $("#directBtn").attr("href", "../../qygl/html/signing_management.html");
 | 
	
		
			
				|  |  |                     }
 | 
	
		
			
				|  |  |                     d.close();
 | 
	
		
			
				|  |  |                 });
 | 
	
		
			
				|  |  |                 
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     });
 | 
	
		
			
				|  |  | }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | function bindEvents(){
 | 
	
		
			
				|  |  |     $(".more-btn").on('tap', function(){
 | 
	
		
			
				|  |  |         window.location.href = "agreement.html?signStatus="+signStatus+"&changeDoctor="+changeDoctor;
 | 
	
		
			
				|  |  |     });
 | 
	
		
			
				|  |  |     $("#skip").on("tap", function(){
 | 
	
		
			
				|  |  |         window.location.href = "agreement.html?signStatus="+signStatus+"&changeDoctor="+changeDoctor;
 | 
	
		
			
				|  |  |     })
 | 
	
		
			
				|  |  | }
 | 
	
		
			
				|  |  | 
 | 
	
		
			
				|  |  | function getWeixinSign(){
 | 
	
		
			
				|  |  |     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
 | 
	
		
			
				|  |  |                 });
 | 
	
		
			
				|  |  |             }
 | 
	
		
			
				|  |  |         }
 | 
	
		
			
				|  |  |     });
 | 
	
		
			
				|  |  | }
 |