Explorar o código

厦门i健康患者端代码拷贝

raolu %!s(int64=7) %!d(string=hai) anos
pai
achega
dca74ec6db

+ 361 - 0
html/wdyy/js/appointment-register.js

@ -0,0 +1,361 @@
var d = dialog({contentType:'load', skin:'bk-popup'});
var scroller1,
	scroller2,
	scroller3;
$(function(){
 	
 	//医院列表初始化信息
 	var pageIndex = 1 ;
 	var pageSize = 100;
 	var hostpitallist = 0;
 	
 	//社区列表初始化信息
 	var pageIndex1 = 1 ;
 	var pageSize1 = 100;
 	var communitylist = 0;
 	
 	//计划免疫列表初始化信息
 	var pageIndex2 = 1 ;
 	var pageSize2 = 100;
 	var immunelist = 0;
 	
 	bindEvents();
 	
 	//初始化医院列表
   	initHospital();
 	
 	//初始化社区列表
   	initCommunity();
 	
 	//初始化计划免疫列表
 	initImmune();
 	
 	//下拉刷新
	function pullDownAction(theScrollerTemp) {
		$(".pullDown").show();
		$(".ul-hospital").html("");
		initHospital();
		setTimeout(function () {
			$(".pullDown").hide();
		}, 1000);	
	}   
			
	//上拉加载数据
	function pullUpAction(theScrollerTemp) {	
		if(hostpitallist%100==0){
			$(".pullUp").show();
			getHosptitalByType(1);
		}else{
			dialog({contentType:'tipsbox', skin:'bk-popup' , content:'无更多数据!',bottom:true}).show(); 
		}
		setTimeout(function () {	
			$(".pullUp").hide();
		}, 1000);
	}
	
	
	//下拉刷新
	function pullDownAction2(theScrollerTemp) {
		$(".pullDown").show();
		$(".ul-community").html("");
		initCommunity();
		setTimeout(function () {
			$(".pullDown").hide();
		}, 1000);	
	}   
			
	//上拉加载数据
	function pullUpAction2(theScrollerTemp) {
		if(communitylist%100==0){
			$(".pullUp").show();
			getHosptitalByType(2);
		}else{
			dialog({contentType:'tipsbox', skin:'bk-popup' , content:'无更多数据!',bottom:true}).show(); 
		}
		setTimeout(function () {	
			$(".pullUp").hide();
		}, 1000);
	}
	initScroller();
	function initScroller(){
		if(!scroller1) {
			scroller1 =  new IScrollPullUpDown('wrapper6',{
				probeType:2,
				bounceTime: 250,
				bounceEasing: 'quadratic',
				mouseWheel:false,
				click:true,
				scrollbars:true,
				fadeScrollbars:true,
				interactiveScrollbars:false
			},null,null);
		}
  		if(!scroller2) {
  			scroller2 =  new IScrollPullUpDown('wrapper7',{
				probeType:2,
				bounceTime: 250,
				bounceEasing: 'quadratic',
				mouseWheel:false,
				click:true,
				scrollbars:true,
				fadeScrollbars:true,
				interactiveScrollbars:false
			},null,null);
  		}
	 	
		
		if(!scroller3) {
			scroller3 =  new IScrollPullUpDown('wrapper8',{
				probeType:2,
				bounceTime: 250,
				bounceEasing: 'quadratic',
				mouseWheel:false,
				click:true,
				scrollbars:true,
				fadeScrollbars:true,
				interactiveScrollbars:false
			},null,null);
		}
	}
			
 	
		
		
		function bindEvents(){
			$(".pt-tab").on("click","li",function(){
				var activeId = $(this).attr("id");
				$(".pt-tab li").removeClass("hit");
				$(this).addClass("hit");
				$(".area-list-wrap").hide();
				var ele = $(".area-list-wrap")[$(this).index()];
				var scroller = window["scroller"+($(this).index()+1)]
				$(ele).show();
				setTimeout(function() {
					scroller && scroller.myScroll.refresh();
				}, 500)
			})
			
			$(".ul-community").on("click","li",function(){
				var hospitalId  = $(this).attr("data-id");
				location.href = "hospital-dept.html?hospitalId="+hospitalId;
			})
			
			$(".ul-hospital").on("click","li",function(){
				var hospitalId  = $(this).attr("data-id");
				location.href = "hospital-dept.html?hospitalId="+hospitalId;
			})
			$(".ul-immune").on("click", "li", function() {
				var hospitalId = $(this).attr("data-id");
				location.href = "immune-date.html?hospitalId=" + hospitalId;
			})
			$(".div-yuyue-btn").on("click",function(){
				//location.href = "https://open.weixin.qq.com/connect/oauth2/authorize?appid="+appId+"&redirect_uri="+wxurl+"%2fwdyy%2fhtml%2fmy-appointment.html&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect";
				location.href = "my-appointment.html";
			})
		}
	
		/**
		 * 接口数据获取
		 */
		function getHosptitalByType(type){
			d.show();
			var data={};
			data.city = "350200";
			data.filter ="";
			data.type = type;
			if(type==1){
				data.pageIndex = pageIndex;
				data.pageSize = pageSize;
			}else if(type ==2){
				data.pageIndex = pageIndex1;
				data.pageSize = pageSize1;			
			}
			var successFun = type == 1 ? getHosptitalSuccess : getCommunitySuccess;
			sendPost('third/guahao/GetOrgList', data, 'json', 'post', getListFail, successFun);
		}	
		
		function getHosptitalSuccess(res){
			d.close();
			if(res.status==200){
			var dataList = res.data;
				if(dataList&&dataList.length>0){
					pageIndex = pageIndex+1;
					appendHopital(dataList);
					hostpitallist = hostpitallist+dataList.length;
					scroller1.myScroll.refresh();
				}else{
					dialog({contentType:'tipsbox', skin:'bk-popup' , content:'无更多数据!',bottom:true}).show(); 
				}
					
			}else{
				getListFail(res);
			}	
		}
		
		
		function getCommunitySuccess(res){
			d.close();
			if(res.status==200){
				var dataList = res.data;
				if(dataList&&dataList.length>0){
					pageIndex1= pageIndex1+1;
					appendCommunity(dataList);
					communitylist = communitylist+dataList.length;
					scroller2.myScroll.refresh();
				}else{
					dialog({contentType:'tipsbox', skin:'bk-popup' , content:'无更多数据!',bottom:true}).show(); 
				}
			} else {
				getListFail(res);
			}
			$(".main").show();
			$("#footer").show();
		}
		
		function appendHopital(dataList){
			var hopitalLi ="";
			for(var j in dataList){
				var data = dataList[j];
				var photo = getImgUrl(data.photo);
				if(!photo){
					photo = "../images/hospital_default.png";
				}
				hopitalLi +='<li class="pt5 cb-ffffff pl10" data-id="'+data.id+'">'+
								'<a href="#" class="ui-grid">'+
									'<div class="ui-col-0 width-70 pt5 pb5" >'+
										'<img src="'+photo+'" class="br5 width-60 height-50"></img>'+
									'</div>'+
									'<div class="ui-col-1 item-name">'+
										'<div class="c-f16 c-fwb c-toe name-text c-333" style="line-height: 60px;">'+data.address+'</div>'+
									//等医院地址有值时,则上一句注释,下面两句注释放开
//									'<div class="mt5 c-f16 c-fwb c-toe name-text c-333">'+data.name+'</div>'+
//									'<div class="mt5 c-f14 c-666666 c-toe">'+data.address+'</div>'+
									'</div>'+
								 '</a>'+
								 '</a>'+
							'</li>';		
			}
			$(".ul-hospital").append(hopitalLi);
			
			setTimeout(function(){
				if(!scroller1){
					initScroller();				
				}
				scroller1.myScroll.refresh();
			},500);		
		}
		
		function appendCommunity(dataList){
			var communitylLi ="";
			for(var j in dataList){
				var data = dataList[j];
				var photo = getImgUrl(data.photo);
				if(!photo){
					photo = "../images/hospital_default.png";
				}
				communitylLi +='<li class="pt5 cb-ffffff pl10" data-id="'+data.id+'">'+
								'<a href="#" class="ui-grid">'+
							        '<div class="ui-col-0 width-70 pt5 pb5" >'+
							        	'<img src="'+photo+'" class="br5 width-60 height-50"></img>'+
							        '</div>'+
							        '<div class="ui-col-1 item-name">'+
							        	'<div class="c-f16 c-fwb c-toe name-text c-333" style="line-height:60px;">'+data.address+'</div>'+
							        	//等医院地址有值时,则上一句注释,下面两句注释放开
//							        	'<div class="mt5 c-f16 c-fwb c-toe name-text c-333">'+data.name+'</div>'+
//							        	'<div class="mt5 c-f14 c-666666 c-toe">'+data.address+'</div>'+
							        '</div>'+
						   		'</a>'+
							'</li>';		
			}
			$(".ul-community").append(communitylLi);
			if(!scroller2){
				initScroller();				
			}
			scroller2.myScroll.refresh();
		}
		
		/**
		 * 计划免疫列表数据获取
		 */
		function getImmune() {
			var url = "/patient/guahao/imm/GetOrgImmuneList";
			sendPost(url, {},'json','get', getListFail, function(res){
			    if(res.status == 200){
			        appendImmune(res.data);
			    }else{
			        getListFail(res);
			    }
			});
		}
		function appendImmune(dataList){
			var immuneLi ="";
			for(var j in dataList){
				var data = dataList[j];
				var photo = getImgUrl(data.photo);
				if(!photo){
					photo = "../images/hospital_default.png";
				}
				immuneLi +='<li class="pt5 cb-ffffff pl10" data-id="'+data.id+'">'+
								'<a href="#" class="ui-grid">'+
							        '<div class="ui-col-0 width-70 pt5 pb5" >'+
							        	'<img src="'+photo+'" class="br5 width-60 height-50"></img>'+
							        '</div>'+
							        '<div class="ui-col-1 item-name">'+
//							        	'<div class="c-f16 c-fwb c-toe name-text c-333" style="line-height:60px;">'+data.address+'</div>'+
							        	//等医院地址有值时,则上一句注释,下面两句注释放开
							        	'<div class="mt5 c-f16 c-fwb c-toe name-text c-333">'+data.name+'</div>'+
							        	'<div class="mt5 c-f14 c-666666 c-toe">'+data.zone_name+data.shortName+'</div>'+
							        '</div>'+
						   		'</a>'+
							'</li>';		
			}
			$(".ul-immune").append(immuneLi);
			$(".main").removeClass("f-dn")
			setTimeout(function() {
				if(!scroller3){
					initScroller();				
				}
				scroller3.myScroll.refresh();
			}, 500)
		}
		
		function getListFail(res){
			d.close();
			if (res && res.msg) {
				if((res.msg).indexOf("SOAP")>=0){
					dialog({contentType:'tipsbox', skin:'bk-popup' , content:"医院接口访问异常,请刷新后重试!",bottom:true}).show();
					return false;
				}
				dialog({contentType:'tipsbox', skin:'bk-popup' , content:res.msg,bottom:true}).show();     
			} else {
				dialog({contentType:'tipsbox', skin:'bk-popup' , content:'加载失败',bottom:true}).show(); 
			}	
		}
		
		/**
		 * 初始化医院
		 */
		function initHospital(){
			pageIndex = 1 ;
			hostpitallist = 0 ;
			getHosptitalByType(1);	
		}
		
		/**
		 * 初始化社区
		 */
		function initCommunity(){
			pageIndex1 = 1 ;
			communitylist = 0;
			getHosptitalByType(2);	
		}
		/**
		 * 初始化计划免疫
		 */
		function initImmune() {
			pageIndex2 = 1;
			immunelist = 0;
			getImmune();
		}
});

+ 263 - 0
html/wdyy/js/detail-appointment.js

@ -0,0 +1,263 @@
var d = dialog({contentType:'load', skin:'bk-popup'});
var pagetype = 23;
 $(function(){
 	var request =  GetRequest();
 	var id = request["id"];
 	var orgCode = request["orgCode"];
 	var doctorCode = "";
	var deptCode = ""; 
	var toUser = request["toUser"];
    var openid = request["openid"];
	var toName = decodeURIComponent(Request["toName"]);
	var represented = Request["represented"];
	var userAgent = window.localStorage.getItem(agentName);
 	
 	//注册事件
 	bindEvents();
 	
 	//初始化数据
 	initData();
 	
 	function initData(){
 		if(!userAgent) {
 			localStorage.setItem("toUser",toUser);
 			localStorage.setItem("id",id);
			window.location.href = server + "wx/html/home/html/zhmm-login.html?openid=" + openid+"&type=23";
			return false;	
		}
		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));
				nextInitData();
			})
		}
		
		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{
				nextInitData();
			}
		}
		initFamilyData();
	}
 	function nextInitData(){
 		d.show();
		var data={};
		var loginUser = JSON.parse(window.localStorage.getItem(agentName));
		data.regCode = id;
		data.orgCode = orgCode;
		data.patientCode = loginUser.represented?loginUser.represented:loginUser.uid;
		sendPost('third/guahao/GetPatientReservationXm', data, 'json', 'post', getListFail, successFun);
 	}
 	
	function getCanceler(data) {
		var name = data.cancelerName;
		if(!name) return "";
		
		if(data.cancelerType=='1') {
			return name+'(专科医生)';
		} else if(data.cancelerType=='2') {
			return name+'(全科医生)';
		} else if(data.cancelerType=='3') {
			return name+'(健康管理师)';
		} else if(data.cancelerType=='4') {
			return name+'(临时专科)';
		} else if(data.cancelerType=='5') {
			return name;
		}
		return name;
	}
	function successFun(res){
		if(res.status==200){
			var data = res.data;
			//status:0 已撤销 1,2预约成功 3 已就诊  4已停诊
			var clazz1 = "cb-47ABEF";
			var clazz2 = "c-47ABEF";
			var statusNm = "预约成功";
			
			if(data.status=="0"){
				clazz1 = "cb-FF6A56";
				clazz2 = "c-FF6A56";
				statusNm = "已撤销";
				var operator = getCanceler(data);
				if(operator) {
					$('.div-operator').show();
					$('#operator_name').text(operator);
				}
				$(".div-cancel-btn").hide();			
				$(".div-tongkeshi-btn").removeClass("c-24").addClass("c-50");
				$(".div-again-yuyue").removeClass("c-38").addClass("c-50");
			}else if(data.status=="3"){
				clazz1 = "cb-74BF00";
				clazz2 = "c-74BF00";
				statusNm = "已就诊";
			}else if(data.status=="4"){
				clazz1 = "cb-909090";
				clazz2 = "c-909090";
				statusNm = "已停诊";
			}else{//1,2
				
				// TODO 如果预约开始时间早于当前时间,则不显示”取消预约“按钮
				var jzStartTimeStr = data.startTime.replace(/-/g,'/');
				var jsStartTime = new Date(jzStartTimeStr).getTime();
				var curTime = new Date().getTime();
				if(curTime>jsStartTime) {
					$(".div-cancel-btn").hide();
				} else {
					$(".div-cancel-btn").show();			
					$(".div-tongkeshi-btn").removeClass("c-50").addClass("c-24");
					$(".div-again-yuyue").removeClass("c-50").addClass("c-38");
				}
			}
			var jiuzhenTime = data.startTime.replace(/\//g,'-').substring(0);//就诊时间
			if(data.endTime){
				jiuzhenTime = jiuzhenTime + "~"+data.endTime.replace(/\//g,'-').substring(9);
			}
			
			
			$(".left-yuan").addClass(clazz1);
			$(".left-status").addClass(clazz2).html(statusNm);
			$(".guahao-time").html(data.czrq.substring(0,16));
			$(".jiuzheng-time").html(jiuzhenTime);
			$(".hospital-name").html(data.orgName);
			$(".users-name").html(data.name);
			$(".dept-name").html(data.deptName);
			$(".doctor-name").html(data.doctorName);
			$(".idcard").html(data.idcard);
			$(".yibao-num").html(data.ssc);
			$(".iphone-num").html(data.phone);
			
			doctorCode = data.doctorCode;
			orgCode = data.orgCode;
			deptCode = data.deptCode; 
			
		}else{
			getListFail(res);
		}
		
		$(".main").show();
		$("#footer").show();
		d.close();
	}
	
	function getListFail(res){
		d.close();
		if (res && res.msg) {
			if((res.msg).indexOf("SOAP")>=0){
					dialog({contentType:'tipsbox', skin:'bk-popup' , content:"医院接口访问异常,请刷新后重试!",bottom:true}).show();
					return false;
			}
			dialog({contentType:'tipsbox', skin:'bk-popup' , content:res.msg,bottom:true}).show();     
		} else {
			dialog({contentType:'tipsbox', skin:'bk-popup' , content:'加载失败',bottom:true}).show(); 
		}
	}
	
 	
 	function bindEvents(){
 		//同科室医生
		$(".div-tongkeshi-btn").on("click",function(){
			location.href = "select-doctor.html?hospitalId="+orgCode+"&deptId="+deptCode;
		});
		
		//撤销预约
		$(".div-cancel-btn").on("click",function(){
			dialog({
			    content: '是否撤销该预约?',
			    okValue:'确认',
			    ok: function (){
			    	d.show();
			    	sendPost('patient/guahao/CancelOrder', {orderId:id,ssc:$(".yibao-num").text()}, 'json', 'post', getListFail, successCancleFun);
			    },
			    cancelValue: '取消',
			    cancel: function () {
					return ;
			    }
			}).showModal();
			
		});
		
		//再次预约
		$(".div-again-yuyue").on("click",function(){
			location.href = "doctor-detail.html?type=2&id="+id+"&doctorId="+doctorCode+"&hospitalId="+orgCode+"&hosDeptId="+deptCode;
		});
 	}
 	
 	function successCancleFun(res){
 		if(res.status==200){
 			dialog({contentType:'tipsbox', skin:'bk-popup' , content:res.msg,bottom:true}).show();
 			//撤销预约成功后跳转到我的预约页面
 			location.href = "https://open.weixin.qq.com/connect/oauth2/authorize?appid="+appId+"&redirect_uri="+wxurl+"%2fwdyy%2fhtml%2fmy-appointment.html&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect";
 		}
 	}
 	
	
	
	
});

+ 104 - 0
html/wdyy/js/detail-immune-appointment.js

@ -0,0 +1,104 @@
var d = dialog({contentType:'load', skin:'bk-popup'});
var pagetype = 49;
var barCode;
    
$(function(){
	var request =  GetRequest();
 	var barCode = request["barCode"];//barcode
	var guahaoTime = request["guahaoTime"];//挂号时间
		guahaoTime = guahaoTime.replace('T',' ');
	var jiuzhenTime = decodeURIComponent(request["jiuzhenTime"]);//就诊时间
	var jiezhongHospital = decodeURIComponent(request["jiezhongHospital"]);//接种医院
	var jiuzhenName = decodeURIComponent(request["jiuzhenName"]);//就诊人
	var idCard = request["idCard"];//身份证号
	var hospitalCard = request["hospitalCard"];//社保卡号
	var dataPhone = request["dataPhone"];//手机号
	var dataStatus = request["dataStatus"];///状态,1可用,2已取消
	var sectionType = request["dataStatus"];//坐诊类型--取消预约用
	var hospitalId = request["hospitalId"];//医院code
	var statusNm;
	
	if(dataStatus == 0){
		$(".div-cancel-btn").hide();	
		$(".div-again-yuyue").show();
		statusNm = '已取消';
	}else{
		statusNm = '已预约';
		// TODO 如果预约开始时间早于当前时间,则不显示”取消预约“按钮
		var jsStartTime = new Date(jiuzhenTime).getTime();
		var curTime = new Date().getTime();
		if(curTime>jsStartTime) {
			$(".div-cancel-btn").hide();
			$(".div-again-yuyue").show();
		} else {
			$(".div-cancel-btn").show();		
			$(".div-again-yuyue").hide();
		}	
	}
	$(".left-status").addClass('clazz2').html(statusNm);
 	$(".guahao-time").html(guahaoTime.substring(0,16));
	$(".jiuzheng-time").html(jiuzhenTime);
	$(".jiezhong-hospital").html(jiezhongHospital);
	$(".users-name").html(jiuzhenName);
	$(".idcard").html(idCard);
	$(".yibao-num").html(hospitalCard);
	$(".iphone-num").html(dataPhone);
	$(".main").show();
	$("#footer").show();
	d.close();
	
	
	$(".div-again-yuyue").on("click",function(){
			location.href = "immune-date.html?hospitalId="+hospitalId;
	});
	var params={};
	params.BarCode = barCode;
	params.OrgCode = hospitalId;
	params.SectionType = sectionType;
	params.strStart = jiuzhenTime;
	params.SSID = hospitalCard;
	params.PatientName = jiuzhenName;
	params.PatientID = idCard;
	params.PatientPhone = dataPhone;
	$(".div-cancel-btn").on("click",function(){
			sendPost("/patient/guahao/imm/UnResRegisterImmune", params, "json", "post", queryFailed, querySuccesss);
	});
//	getImmuneInfo();
//	bindEvents();
})
function querySuccesss(res){
    d.close();
    if(res.status == 200) {
        dialog({
            contentType: 'tipsbox',
            skin: 'bk-popup',
            content: res.msg
        }).show();
    } else {
        dialog({
            contentType: 'tipsbox',
            skin: 'bk-popup',
            content: '撤销失败'
        }).show();
    }
}
function queryFailed(res){
    d.close();
    if(res && res.msg) {
        dialog({
            contentType: 'tipsbox',
            skin: 'bk-popup',
            content: res.msg
        }).show();
    } else {
        dialog({
            contentType: 'tipsbox',
            skin: 'bk-popup',
            content: '撤销失败'
        }).show();
    }
}
    

+ 268 - 0
html/wdyy/js/doctor-detail.js

@ -0,0 +1,268 @@
   var d = dialog({contentType:'load', skin:'bk-popup'});
 $(function(){
 	var doctorInfo;
 	var request =  GetRequest();
 	var hospitalId =request["hospitalId"];
 	var hosDeptId = request["hosDeptId"];
 	var doctorId = request["doctorId"];
 	initData();
 
 	bindEvents();//注册事件
 	
 	
 	function initData(){
 		d.show();
 		getDoctorInfo();
 	}
 	
 	function getDoctorInfo(){
 		var params ={};
 		params.city="350200";
 		params.doctorId = doctorId;
 		params.hospitalId = hospitalId;
 		params.hosDeptId = hosDeptId;
 		sendPost("third/guahao/GetDoctorInfo",params,"JSON","POST",queryFailed,queryDoctorSuc);
 		
 	}
 	
 	function getDocWorkTimeInfo(){
 		var params ={};
 		params.city="350200";
 		params.doctorId = doctorId;
 		params.hospitalId = hospitalId;
 		params.hosDeptId = hosDeptId;
 		sendPost("third/guahao/GetDoctorArrange",params,"JSON","POST",queryFailed,queryWorkTimeSuc);
 	}
 	
 	function queryFailed(res){
 		d.close();
		if (res && res.msg) {
			if((res.msg).indexOf("SOAP")>=0){
					dialog({contentType:'tipsbox', skin:'bk-popup' , content:"医院接口访问异常,请刷新后重试!",bottom:true}).show();
					return false;
			}
			dialog({contentType:'tipsbox', skin:'bk-popup' , content:res.msg,bottom:true}).show();     
		} else {
			dialog({contentType:'tipsbox', skin:'bk-popup' , content:'加载失败',bottom:true}).show(); 
		}	
 	}
 	
 	
 	function queryDoctorSuc(res){
 		d.close();
 		if(res.status==200){
 			showDocInfo(res.data);
 		}else{		
 			queryFailed(res);
 		}	
 	}
 	
 	function queryWorkTimeSuc(res){
 		if(res.status==200){
 			showWorkTimeList(res.data);
 		}else{		
 			queryFailed(res);
 		}
 	}
 	
 	function showDocInfo(data){
 		$("#name").html(data.name);
 		$("#jobName").html(data.title);
 		$("#hospitalName").html(data.hospitalName);
 		$("#introduce").html(data.introduce);
 		if(data.sex==2){
 			$("#photo").attr("src","../../../images/d-female.png");
 		}else{
 			$("#photo").attr("src","../../../images/d-male.png");
 		}
 		doctorInfo = data;
 		getDocWorkTimeInfo();
 	}
 	
 	
 	function showWorkTimeList(data){
 		var   timeList = "";
 		for(var j in data){
 			var detail = data[j];
 			var dateTime = detail.date+"";		   	
			var date= dateTime.split(" ")[0];
			var week = getWeek(date);
			var riqi = date.split("-");
				riqi = riqi[1]+"-"+riqi[2];
			var used = detail.used;
			var max = detail.max;
			var isMo = detail.time;
			if(isMo =="a"){
				isMo ="上午";
			}else{
				isMo ="下午";
			}
			var status = detail.status;
			var statusHtml ="";
			if(status==2){
				statusHtml= '<div class="div-btn-status">'+
								'<div class="div-dian cb-909090"></div>'+
								'<div class="div-status-content c-909090">已满</div>'+
							'</div>';
			}else{
				statusHtml= '<div class="div-btn-status">'+
								'<div class="div-dian cb-74bf00"></div>'+
								'<div class="div-status-content c-74bf00">预约</div>'+
							'</div>';
			}
			var liHtml = appendLi(detail);
			var titleColor = 'c-323232';
			if(detail.regType != undefined){
				if(detail.regType.indexOf('vip')>-1 || detail.regType.indexOf('VIP')>-1 || detail.fee == '300'){
					titleColor = 'c-FF9526';
				}
			}else{
				if(detail.fee == '300'){
					titleColor = 'c-FF9526';
					detail.regType = "VIP门诊";
				}else{
					detail.regType = "普通门诊";
				}
			}
	 		timeList+=	'<div class="div-item-content">'+
			        		'<div class="member-sel plr10 bor-b-f2" data-id="'+j+'">'+
									'<a class="arrow-shou fr ahide"></a>'+
									'<div class="h60">'+
										'<div class="div-item">'+
											'<div class="f-fs14 c-323232 f-tac h30 lh30 div-date">'+
												date+
											'</div>'+
											'<div class="f-fs12 f-tac h30 lh30 c-909090 div-week">'+
												week+" "+isMo+
											'</div>'+
										'</div>'+
										'<div class="div-item">'+
											'<div class="f-fs14 '+titleColor+' f-tac h30 lh30">'+
												detail.regType +
											'</div>'+
											'<div class="f-fs12 f-tac h30 lh30 c-909090">'+
												'诊查费:<span class="zcf-money">'+detail.fee+'元</span>'+
											'</div>'+
										'</div>'+
										'<div class="div-item">'+
											statusHtml+
										'</div>'+
									'<div>'+
								'</div>'+
							'</div>'+
						'</div>'+
						'<ul class="c-list member-list  bor-b-f2 mt10 cb-f3f3f3 c-hide mb10">'+
								liHtml+
						'</ul>'+
					'</div>';
			}
 		$("#tice_list").append(timeList);
 		init();//页面初始化
 	}
 	function appendLi(detail){
 		var sections = detail.sections;
 		var liHtml = "";
 		for(var j in sections){
 			var data = sections[j];
 			if(j%3==0){
 				if(j!=0){
 					liHtml+='</li>';
 				}
	 			liHtml+='<li class="c-list-link h34">';
	 		}
 			var start = data.startTime;
 			var end = data.endTime;
 			var max = data.max;
 			var used = data.used;
 			var clazz = "div-time-enable";
 			if(max==used){
 				clazz = "div-time-disable";
 			}
			liHtml+='<div data-attr=\'{"sectionType":"'+detail.time+'","startTime":"'+start+'","yysj":"'+getTime(start)+"-"+getTime(end)+'"}\' class="'+clazz+'">'+getTime(start)+"-"+getTime(end)+'</div>';
			if(j==(sections.length-1)){
				liHtml+='</li>';
			}
 		}
 		return liHtml;
 	}
 	function getWeek(d){
		var dateArray = d.split("/");
		var year = dateArray[0], month = dateArray[1], date = dateArray[2];
		var dt = new Date(year, month-1, date);
		var weekDay = ["周天", "周一", "周二", "周三", "周四", "周五", "周六"];
		return weekDay[dt.getDay()]
	}
 	
 	
 	function getTime(dateTime){
 		var tempStrs = dateTime.split(" ");
		var timeStrs = tempStrs[1].split(":");
		var hour = timeStrs [0];
		var minute = timeStrs [1];
		var second = timeStrs [2];
 		return hour+":"+minute;
 		
 	}
 	
 	function init(){
 		var request =  GetRequest();
	 	var type = request["type"] || "";
	 	var id = decodeURIComponent(request["id"]);
	 	
	 	if(type==1 || type==""){//显示医生简介
	 		$("#doctorLi").addClass("hit");
	 		$(".div-doctor-info").show();
	 	}else{//显示门诊预约
	 		$("#deptyuyueLi").addClass("hit");
	 		$(".div-dept-info").show();
	 	}
	 	if($('.member-sel[data-id='+id+']').length>0){
	 		$('.member-sel[data-id='+id+']').siblings("ul").removeClass("c-hide");
		 	$('.member-sel[data-id='+id+']').find(".arrow-shou").addClass("active");
		 	var offset = $('.member-sel[data-id='+id+']').offset();
		 	window.scrollTo(offset.left,offset.top);
	 	}
 	}
 	
 	function bindEvents(){
 		//分组展开收起
		$(".div-dept-info").on('click', '.member-sel', function() {
			if(!$(this).siblings("ul").hasClass("c-hide")){
				$(this).find(".arrow-shou").removeClass("active");
				$(this).siblings("ul").addClass("c-hide");
			}else{
				$(".member-list").addClass("c-hide");
				$(".member-sel").find(".arrow-shou").removeClass("active");
				$(this).siblings("ul").removeClass("c-hide");
				$(this).find(".arrow-shou").addClass("active");
			}
		});
		
		$(".pt-tab").on("click","li",function(){
			var activeId = $(this).attr("id");
			$(".pt-tab li").removeClass("hit");
			$(this).addClass("hit");
			if(activeId=="doctorLi"){//医生简介
				$(".div-doctor-info").show();
				$(".div-dept-info").hide();
			}else{//门诊预约
				$(".div-doctor-info").hide();
				$(".div-dept-info").show();
			}
		})
		
		$(".div-dept-info").on("click",".div-time-enable",function(){
			$(".div-time-enable").removeClass("active");
			$(this).addClass("active");
			var arrangeDate = $(this).attr("data-attr");
			window.localStorage.setItem("arrangeDate",arrangeDate);
			window.localStorage.setItem("doctorInfo",JSON.stringify(doctorInfo));
			location.href = "https://open.weixin.qq.com/connect/oauth2/authorize?appid="+appId+"&redirect_uri="+wxurl+"%2fwdyy%2fhtml%2finfo-confirm.html&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect";
//          location.href = "info-confirm.html";
		});
			
 	}
	
	
});

+ 118 - 0
html/wdyy/js/hospital-dept.js

@ -0,0 +1,118 @@
 var d = dialog({contentType:'load', skin:'bk-popup'});
 $(function(){
 	var pageIndex = 1 ;
 	var pageSize = 100;
 	var keshilist = 0;
 	var request =  GetRequest();
 	var hospitalId =request["hospitalId"];
 	var scroller1 =  new IScrollPullUpDown('wrapper4',{
			probeType:2,
			bounceTime: 250,
			bounceEasing: 'quadratic',
			mouseWheel:false,
			scrollbars:true,
			fadeScrollbars:true,
			click:true,
			interactiveScrollbars:false
		},null,null);
	
	initHosDept();
	//下拉刷新
	function pullDownAction(theScrollerTemp) {
		$(".pullDown").show();
		initHosDept();
		setTimeout(function () {
			$(".pullDown").hide();	
		}, 1000);	
	}   
			
	//上拉加载数据
	function pullUpAction(theScrollerTemp) {
		if(keshilist%100==0){
			$(".pullUp").show();
			getHosDeptByHospital();
		}else{
			dialog({contentType:'tipsbox', skin:'bk-popup' , content:'无更多数据!',bottom:true}).show(); 
		}
		setTimeout(function () {	
			$(".pullUp").hide();
		}, 1000);
	}
	
	$(".div-dept").on("click",".n-list",function(){
		var hid = $(this).attr("h-id");
		var deptId = $(this).attr("hdept-id");
		location.href = "select-doctor.html?hospitalId="+hid+"&deptId="+deptId;
	});
	
	function initHosDept(){
		var pageIndex = 1 ;
 		var keshilist = 0;
 		$(".div-dept").html(""); 
		getHosDeptByHospital();
	}
	
	function getHosDeptByHospital(){
		d.show();
		var data={};
		data.city = "350200";
		data.filter ="";
		data.hospitalId = hospitalId;
		data.pageIndex = pageIndex;
		data.pageSize = pageSize;
		sendPost('third/guahao/GetOrgDepList', data, 'json', 'post', getListFail, successFun);	
	}
	
	
	function successFun(res){
		d.close();
		if(res.status==200){
			var dataList = res.data;
			if(dataList&&dataList.length>0){
				pageIndex = pageIndex+1;
				appendHopitalDept(dataList);
				keshilist = keshilist+dataList.length;
			}else{
				if(keshilist==0||keshilist.length==0){
					$(".div-no-info").show();
				}
				dialog({contentType:'tipsbox', skin:'bk-popup' , content:'无更多数据!',bottom:true}).show(); 
			}			
		}else{
			getListFail(res);
		}	
	}
	
	function getListFail(res){
		d.close();
		if (res && res.msg) {
			if((res.msg).indexOf("SOAP")>=0){
					dialog({contentType:'tipsbox', skin:'bk-popup' , content:"医院接口访问异常,请刷新后重试!",bottom:true}).show();
					return false;
			}
			dialog({contentType:'tipsbox', skin:'bk-popup' , content:res.msg,bottom:true}).show();     
		} else {
			dialog({contentType:'tipsbox', skin:'bk-popup' , content:'加载失败',bottom:true}).show(); 
		}
	}
	
	
	function appendHopitalDept(dataList){
		var deptHtml ="";
		for(var j in dataList){
			var data = dataList[j];
			deptHtml+='<div class="n-list c-border-b" h-id="'+data.hospitalId+'" hdept-id="'+data.id+'">'+
						'<div class="n-list-li n-list-link ptb12">'+
							'<div class="n-list-info">'+
								'<h4 class="c-323232 c-f16">'+data.name+'</h4>'+
						'</div>'+
						'<span class="list-icon arrow-right"></span>'+
					'</div>'+
					'</div>';	
		}
		$(".div-dept").append(deptHtml);
		scroller1.myScroll.refresh();
	}	
});

+ 212 - 0
html/wdyy/js/immune-appointment.js

@ -0,0 +1,212 @@
var d = dialog({contentType:'load', skin:'bk-popup'});
var pagetype = 48;
var barCode;
    
$(function(){
	checkUserAgent();
	getImmuneMembers();
	bindEvents();
})
function getImmuneMembers(){
	var data = {};
	sendPost("patient/family/members", data, "json", "get", queryListFailed, queryAppoListSuccesss);
}
function queryAppoListSuccesss(res){
	if (res.status == 200) {
		barCode = "";
		if (res.data.immunemembers.length > 0) {
			showMember(res);
		}
		if(res.data.immunemembers.length == 0){
			$('#wrapper2').css('top','0px');
			d.close();
			$(".main").hide();
			$(".div-no-info").show();
		}
	}else{
		//非200则为失败
		queryListFailed(res);
	}	
}
function queryListFailed(res) {
	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 showMember(res){
	var html='',
		data=res.data.immunemembers;
	for(var i=0;i<data.length;i++){
		//"relation": 1//---1父亲 2母亲 3老公 4老婆 5儿子 6女儿 7其他
		if(data[i].relation==5){
			data[i].familyRelationName = '儿子'
		}else if(data[i].relation==6){
			data[i].familyRelationName = '女儿'
		}else{
			data[i].familyRelationName = '其他'
		}
		html = html + '<div class="mui-control-item" data-code="'+data[i].barcode+'" data-name="'+data[i].name+'" style="display: inline-block;margin-right: 15px;-webkit-user-select: none;vertical-align: middle;text-align: center;">\
						<img style="width: 40px;height: 40px;border-radius: 50%;overflow: hidden;border:solid 1px #dcdcdc;" src="../images/youer_moren_img.png"/>\
							<div class="name" style="font-size: 12px;color: #333;line-height: 20px;">'+data[i].name+'('+data[i].familyRelationName+')</div></div>'
		}
		html = '<div class="mui-scroll-wrapper family-member" style="position: absolute;z-index: 999;top: 0;bottom: 0;left: 0;overflow: hidden;width: 100%;height: 90px;background-color:#f3f3f3;padding-left: 15px;padding-top: 7px;border-bottom:solid 1px #dcdcdc;box-sizing: border-box;">\
		<div class="mui-scroll" style="position: absolute;width: auto;z-index: 99;white-space: nowrap;-webkit-transform: translateZ(0);transform: translateZ(0);">'+html+'</div></div>';
		$('#memberContainer').append(html);
		setTimeout(function(){
			addEvent();
		},200)
		
		initData();
	}
function active(one){
	one.find('img').css({width: '55px',height: '55px'});
	one.find('.name').css({'font-size': '14px','line-height':'23px'});
}
function addEvent(){
	mui('.family-member').scroll({
		scrollY: false, //是否竖向滚动
		scrollX: true, //是否横向滚动
	});
	$('#memberContainer').on('tap','.mui-control-item',function(){
		var $this = $(this),
			$code = $this.data('code');
		barCode = $code;
		$('.mui-control-item').find('img').css({width: '40px',height: '40px'});
		$('.mui-control-item').find('.name').css({'font-size': '12px','line-height':'20px'});
		active($this);
		initData();
	})	
}		
function initData(){
	$(".c-list").html("");
	pageIndex = 1;
	getMyAppo();	
}
function getMyAppo(){
	d.show();
	var data={};
	if(barCode==""){
		var $ul = $('#memberContainer').find('.mui-control-item');
		barCode = $ul.eq(0).data('code')
		if(barCode){
			active($ul.eq(0));
		}
	}
	if(barCode){
		$('#wrapper2').css('top','90px');
		$('.div-no-info').css('padding-top','150px');
		$(".main").show();
		$(".div-no-info").hide();
		data.BarCode = barCode;
		sendPost('/patient/guahao/imm/GetResImmuneListWithBarCode', data, 'json', 'get', getListFail, successFun);
	}else{
		$('#wrapper2').css('top','0px');
		d.close();
		$(".main").hide();
		$(".div-no-info").show();
	}
}
function successFun(res){
	if(res.status==200){
		if(res.data&&res.data.length>0){
			pageIndex=pageIndex+1;
			appendMyAppo(res.data);
		}else{
			if(pageIndex==1){
				$(".main").hide();
				$(".div-no-info").show();
				$("#footer").show();
			}else{
				dialog({contentType:'tipsbox', skin:'bk-popup' , content:'无更多数据!',bottom:true}).show(); 
			}
			d.close();
		}
		
	}else{
		getListFail(res);
	}
}
function getListFail(res){
	d.close();
	if (res && res.msg) {
		if((res.msg).indexOf("SOAP")>=0){
				dialog({contentType:'tipsbox', skin:'bk-popup' , content:"医院接口访问异常,请刷新后重试!",bottom:true}).show();
				return false;
		}
		dialog({contentType:'tipsbox', skin:'bk-popup' , content:res.msg,bottom:true}).show();     
	} else {
		dialog({contentType:'tipsbox', skin:'bk-popup' , content:'加载失败',bottom:true}).show(); 
	}
}
function appendMyAppo(dataList){
	var appoHtml ="";
		appoHtml = template("doctor_list_tmp", {list:dataList});
	$(".c-list").append(appoHtml);
	setTimeout(function(){
		scroller1.myScroll.refresh();
	},500)
	
	d.close();
	$(".main").show();
	$("#footer").show();
}
function bindEvents(){		
	$(".c-list").on("click",".n-list-li,.n-list-content",function(event){
		var parentLi = $(this).closest("li");
		var id = parentLi.attr("data-id");
		var guahaoTime = parentLi.attr("guahao-time");
		var jiuzhenTime = parentLi.attr("jiuzhen-time");
		var jiezhongHospital = parentLi.attr("jiezhong-hospital");
		var jiuzhenName = parentLi.attr("jiuzhen-name");
		var idCard = parentLi.attr("id-card");
		var hospitalCard = parentLi.attr("hospital-card");
		var dataPhone = parentLi.attr("data-phone");
		var dataStatus = parentLi.attr("data-status");
		var SectionType = parentLi.attr("Section-type");
		var hospitalId = parentLi.attr("hospital-id");
		location.href = "detail-immune-appointment.html?barCode="+id+"&guahaoTime="+guahaoTime
		+"&jiuzhenTime="+jiuzhenTime+"&jiezhongHospital="+jiezhongHospital+"&jiuzhenName="+jiuzhenName+"&idCard="+idCard
		+"&hospitalCard="+hospitalCard+"&dataPhone="+dataPhone+"&dataStatus="+dataStatus+"&SectionType="+SectionType+"&hospitalId="+hospitalId;
	}).on("click",".div-again",function(){
		var parentLi = $(this).closest("li");
		var hospitalId = parentLi.attr("hospital-id");
		location.href = "immune-date.html?hospitalId="+hospitalId;
	})
	
	$(".div-add-btn").on("click",function(){
		location.href = "appointment-register.html";
	})	
}
//下拉刷新
function pullDownAction(theScrollerTemp) {
//  $(".main").hide();
//  $("#footer").hide();
//  $(".pullDown").show();
//  initData();
//  setTimeout(function () {
//      $(".pullDown").hide();
//  }, 1000);   
}  
   //将scroller1的初始化代码放到外面来,不然从微信授权重定向过来这个页面的时候,
   //iscroll-pull-up-down 里监听的window的load方法不会触发,导致scroller初始化代码没有执行
var scroller1 =  new IScrollPullUpDown('wrapper2',{
        probeType:2,
        bounceTime: 250,
        bounceEasing: 'quadratic',
        mouseWheel:false,
        scrollbars:true,
        fadeScrollbars:true,
        click:true,
        interactiveScrollbars:false
    },pullDownAction,null);
    

+ 252 - 0
html/wdyy/js/immune-confirm.js

@ -0,0 +1,252 @@
var d = dialog({ contentType: 'load', skin: 'bk-popup' });
var imgKey = null;
var selectData = ''; //用户信息
var orgInfo, //前一个页面保存在localStorage的数据
    arrangeDate, //前一个页面保存在localStorage的数据
    patientInfo; //如果儿童没有身份证号和社保卡号,则使用当前用户的身份证号和社保卡号
$(function() {
//  checkUserAgent();
    queryInit();
});
function queryInit(){
    orgInfo = window.localStorage.getItem("orgInfo");
    if(orgInfo && orgInfo != "") {
        orgInfo = JSON.parse(orgInfo);
        $("#hospitalName").text(orgInfo.name);
    } else {
          dialog({contentType:'tipsbox', skin:'bk-popup' , content:'机构数据异常重新选择!',bottom:true}).show(); 
          return;
    }
    arrangeDate = window.localStorage.getItem("arrangeDate");
    if(arrangeDate && arrangeDate != "") {
        arrangeDate = JSON.parse(arrangeDate);
        $("#yyTime").text(arrangeDate.timeStr);
    } else {
          dialog({contentType:'tipsbox', skin:'bk-popup' , content:'预约日期异常请返回重新选择!',bottom:true}).show(); 
          return;
    }
    
    initValidate();
    getImmuneMembers();
    bindEvents();
}
function initValidate() {
    var serurl = "patient/captcha";
    var posttype = "get";
    if(imgKey != null) {
        serurl = serurl + "/" + imgKey;
        posttype = "post";
    }
    sendPost(serurl, {}, "json", posttype, function(res) {
        dialog({ contentType: 'tipsbox', skin: 'bk-popup', content: "验证码获取失败!", bottom: true }).show();
    }, function(res) {
        if(res.status == 200) {
            imgKey = res.data.key;
            $("#validateDiv").attr("src", "data:image/png;base64," + res.data.image);
        } else {
            dialog({ contentType: 'tipsbox', skin: 'bk-popup', content: "验证码获取失败!", bottom: true }).show();
        }
    })
}
//获得接种儿童信息
function getImmuneMembers(){
    var url = "/patient/family/members";
    sendPost(url, {}, 'json', 'get', queryFailed, function(res){
        if(res.status == 200){
            if(res.data.immunemembers.length > 0){
                var keys = [],
                    values = [];
                for(i=0; i<res.data.immunemembers.length; i++){
                    var item = res.data.immunemembers[i];
                    keys.push(item.child_code);
                    values.push(item.name);
                }
                $("#userName").mobiscroll({
                    theme: 'ios',
                    lang:'zh',
                    customWheels:true,
                    wheels: [
                        [
                            {
                                keys: keys,
                                values: values
                            }
                        ]
                    ],
                    onSelect: function(valueText, inst){    
                        var dd = eval("[" + valueText + "]");
                        $("#userName").val(dd[0].values);
                        $("#userName").attr('data-id',dd[0].keys);
                        selectData = _.findWhere(res.data.immunemembers, {child_code: dd[0].keys});
                        //填充身份证号
                        if(!selectData.idcard || !selectData.ssc){
                            getPatientInfo();
                        }else{
                            $("#idCard").val(selectData.idcard);
                        }
                    }
                });
                
            }
        }else{
            queryFailed(res);
        }
    });
        
}
//获得患者信息
function getPatientInfo(){
    var url = "patient/baseinfo";
    sendPost(url, {}, 'json', 'get', function(res){
        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(res){
        if(res.status == 200){
            patientInfo = res.data;
            $("#idCard").val(patientInfo.idcardAll);
        }else{
            dialog({ contentType: 'tipsbox', skin: 'bk-popup', content: res.msg, bottom: true }).show();
        }
    })
}
function bindEvents() {
    var scroller1 = new IScrollPullUpDown('wrapper', {
        probeType: 2,
        bounceTime: 250,
        bounceEasing: 'quadratic',
        mouseWheel: false,
        scrollbars: true,
        fadeScrollbars: true,
        click: true,
        interactiveScrollbars: false
    }, null, null);
    
    $("#validateDiv").on("click", function() {
        initValidate();
    });
    $("#mobile").on("focus", function() {
        $(".searchbar-clear").css("pointer-events", "none").css("opacity", 0);
        if($(this).val()) {
            $(this).next().css("pointer-events", "auto").css("opacity", 1);
            $(this).next().show();
        }
    }).on("input", function() {
        $(this).next().css("pointer-events", "auto").css("opacity", 1);
        $(this).next().show();
    });
    $(".visit-ul").on("click", ".searchbar-clear", function() {
        $(this).prev().val("");
        $(this).css("pointer-events", "none").css("opacity", 0);
        $(this).prev().focus();
        return false;
    });
    
    window.addEventListener("resize", function() {
        var u = navigator.userAgent;
        if(u.indexOf('Android') > -1 || u.indexOf('Linux') > -1) {
            var self = document.getElementById("validateCode");
            setTimeout(function() {
                self.scrollIntoView({ block: "end", behavior: "smooth" });
            }, 150);
        }
    });
    
    //保存
    $("#confirmBtn").on('click', function(){
        var $this = $(this);
        if($this.hasClass("disabled")){
            return false;
        }
        var childName = $("#userName").val(),
            idCard = $("#idCard").val(),
            mobile = $("#mobile").val(),
            validateCode = $("#validateCode").val();
        
        if(!isphone(mobile)){
            dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'手机号格式不正确'}).show(); 
            return; 
        }
        $("#validateCode").blur();
        $("#mobile").blur();
        $this.addClass("disabled");
        //校验验证码是否正确
        d.show();
        sendPost("patient/captcha/"+imgKey,{"text":validateCode},"json","get",function(res){
           d.close();
           dialog({
                contentType:'tipsbox', 
                skin:'bk-popup' ,
                content:"验证码校验失败!",
                bottom:true
            }).show();
            initValidate();
            $this.removeClass("disabled");
        },function(res){
            if(res.status==200){
                if(res.pass==true){
                    imgKey = null;
                    //发送确认请求
                    var url = "/patient/guahao/imm/RegisterImmune",
                        params = {
                            OrgCode: orgInfo.code,
                            SectionType: arrangeDate.time,
                            strStart: arrangeDate.startTime,
                            BarCode: selectData.barcode,
                            SSID: selectData.ssc ? selectData.ssc : patientInfo.ssc,
                            PatientName: selectData.name,
                            PatientID: selectData.idcard ? selectData.idcard : patientInfo.ssc,
                            PatientPhone: mobile
                        };
                    sendPost(url, params, 'JSON', 'POST', queryFailed, submitSuccess);
                }else{
                    d.close();
                    dialog({contentType:'tipsbox', skin:'bk-popup' , content:"验证码错误,请重新输入!",bottom:true}).show();
                    $this.removeClass("disabled");
                }
            }else{
                d.close();
                dialog({contentType:'tipsbox', skin:'bk-popup' , content:"验证码校验失败!",bottom:true}).show();
                $this.removeClass("disabled");
            }
        });
    });
}
function submitSuccess(res) {
    d.close();
    if(res.status == 200) {
        $("#confirmBtn").removeClass("disabled");
        dialog({ contentType: 'tipsbox', skin: 'bk-popup', content: '预约成功!', bottom: true }).show();
        setTimeout(function() {
            location.href = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + appId + "&redirect_uri=" + wxurl + "%2fwdyy%2fhtml%2fmy-appointment.html&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect";
        }, 200);
    } else {
        $("#confirmBtn").removeClass("disabled");
        queryFailed(res);
    }
}
function queryFailed(res) {
    d.close();
    $("#confirmBtn").removeClass("disabled");
    if(res && res.msg) {
        if((res.msg).indexOf("SOAP") >= 0) {
            dialog({ contentType: 'tipsbox', skin: 'bk-popup', content: "医院接口访问异常,请刷新后重试!", bottom: true }).show();
            return false;
        }
        dialog({ contentType: 'tipsbox', skin: 'bk-popup', content: res.msg, bottom: true }).show();
    } else {
        dialog({ contentType: 'tipsbox', skin: 'bk-popup', content: '加载失败', bottom: true }).show();
    }
}

+ 153 - 0
html/wdyy/js/immune-date.js

@ -0,0 +1,153 @@
var d = dialog({
    contentType: 'load',
    skin: 'bk-popup'
});
$(function() {
    var pageIndex = 1;
    var pageSize = 100;
    var request = GetRequest();
    var hospitalId = request["hospitalId"];
    var pageInfo;
    getPageInfo();
    bindEvents();
    templateHelper();
    
    function getPageInfo(){
        var url = "/patient/guahao/imm/GetOrgScheduleList",
            params = {
                orgCode: hospitalId
            };
        d.show();
        sendPost(url, params, 'json', 'get', queryFailed, function(res) {
            if(res.status == 200) {
                d.close();
                pageInfo = res.data;
                var html = template("info_tmp", res.data);
                $(".main").empty().append(html);
            } else {
                queryFailed(res);
            }
        });
    }
    
    function getTimeSection(orgId, scheduleId, amorpm){
        var url = "/patient/guahao/imm/GetOrgNumberList",
            params = {
                orgId: orgId,
                ScheduleId: scheduleId,
                amorpm: amorpm
            };
        d.show();
        sendPost(url, params, 'json', 'get', queryFailed, function(res){
            if(res.status == 200){
                d.close();
                var html = template("section-info-tmp", {list: res.data});
                $(".time-section[data-id="+scheduleId+"]").empty().append(html);
            }else{
                queryFailed(res);
            }
        });
    }
    function bindEvents() {
//      $(".c-list").on("click", "li", function(event) {
//          var doctorId = $(this).attr("data-id");
//          var target = $(event.target);
//          if(target.closest(".div-timeList").length == 0) { //跳转到医生简介
//              location.href = "immune-detail.html?type=1&&hospitalId=" + hospitalId;
//          } else { //跳转到门诊预约
//              var id = target.closest("div").eq(0).attr("data-id");
//              location.href = "immune-detail.html?type=2&id=" + id + "&hospitalId=" + hospitalId;
//          }
//      })
        //展开查看
        $(".main").on('click', '.yy-info', function(){
            var $this = $(this),
                $ul = $this.siblings(),
                orgCode = $this.attr("data-org"),
                sid = $this.attr("data-sid"),
                time = $this.attr("data-time");
            if($ul.hasClass("c-hide")){
                $this.find(".fa").removeClass("fa-chevron-circle-down");
                $this.find(".fa").addClass("fa-chevron-circle-up");
                $ul.removeClass("c-hide");
                getTimeSection(orgCode, sid, time);
            }else{
                $this.find(".fa").removeClass("fa-chevron-circle-up");
                $this.find(".fa").addClass("fa-chevron-circle-down");
                $ul.addClass("c-hide");
            }
        });
        
        //选中时间预约
        $(".main").on('click', ".time", function(){
            var $this = $(this),
                time = $this.attr("data-time"),
                startTime = $this.attr("data-start"),
                timeRange = $this.text();
            if($this.hasClass("disabled")){
                return false;
            }
            var orgInfo = {},
                arrangeDate = {
                    timeStr: startTime.substr(0, 10)+' '+timeRange,
                    time: time,
                    startTime: startTime
                };
            if(pageInfo){
                orgInfo = {
                    code: pageInfo.ORG_CODE,
                    name: pageInfo.ORG_NAME,
                };
            }
            window.localStorage.setItem("orgInfo", JSON.stringify(orgInfo));
            window.localStorage.setItem('arrangeDate', JSON.stringify(arrangeDate));
//          window.location.href = "immune-confirm.html";
            location.href = "https://open.weixin.qq.com/connect/oauth2/authorize?appid="+appId+"&redirect_uri="+wxurl+"%2fwdyy%2fhtml%2fimmune-confirm.html&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect";
        })
    }
    
    function templateHelper(){
        template.helper('getWeek', function(str){
            var weekDay = ["周天", "周一", "周二", "周三", "周四", "周五", "周六"];
            return weekDay[parseInt(str)];
        });
        
        template.helper('formatDate', function(str, formatter){
            //默认时间格式是2017-08-12 08:00:00
            switch(formatter){
                case 'yyyy-MM-dd':
                    return str.substring(0, 10);
                    break;
                case 'HH:ss':
                    return str.substring(11, 16);
                    break;
                default:
                    return str;
                    break;
            }
        });
        
        template.helper('getOrgPhoto', function(url){
            if(url){
                return getImgUrl(url);
            }else{
                return "../../qygl/images/hospital_default.png";
            }
        })
    }
    function queryFailed(res) {
        d.close();
        if(res && res.msg) {
            if((res.msg).indexOf("SOAP") >= 0) {
                dialog({ contentType: 'tipsbox', skin: 'bk-popup', content: "医院接口访问异常,请刷新后重试!", bottom: true }).show();
                return false;
            }
            dialog({ contentType: 'tipsbox', skin: 'bk-popup', content: res.msg, bottom: true }).show();
        } else {
            dialog({ contentType: 'tipsbox', skin: 'bk-popup', content: '加载失败', bottom: true }).show();
        }
    }
});

+ 238 - 0
html/wdyy/js/info-confirm.js

@ -0,0 +1,238 @@
var pagetype = 21;
var d = null;
var imgKey = null;
$(function(){
    var selectData='';//用户信息
    initValidate();
    d= dialog({contentType:'load', skin:'bk-popup'});
    checkUserAgent();
    var doctorInfo  = window.localStorage.getItem("doctorInfo");
    if(doctorInfo&&doctorInfo!=""){
        doctorInfo = JSON.parse(doctorInfo);
    }else{
        //dialog({contentType:'tipsbox', skin:'bk-popup' , content:'医生数据异常重新选择!',bottom:true}).show(); 
        //return;
    }
    var arrangeDate = window.localStorage.getItem("arrangeDate");
    if(arrangeDate&&arrangeDate!=""){
        arrangeDate = JSON.parse(arrangeDate);
    }else{
        //dialog({contentType:'tipsbox', skin:'bk-popup' , content:'预约日期异常请返回重新选择!',bottom:true}).show(); 
        //return;
    }
    bindEvents();
    function initValidate(){
        var serurl="patient/captcha";
        var posttype="get";
        if(imgKey!=null){
            serurl=serurl+"/"+imgKey;
            posttype="post";
        }
        sendPost(serurl,{},"json",posttype,function(res){
            dialog({contentType:'tipsbox', skin:'bk-popup' , content:"验证码获取失败!",bottom:true}).show();     
        },function(res){
        if(res.status==200){    
            imgKey = res.data.key;
            $("#validateDiv").attr("src","data:image/png;base64,"+res.data.image);
        }else{
            dialog({contentType:'tipsbox', skin:'bk-popup' , content:"验证码获取失败!",bottom:true}).show();     
        }
        })  
    }
    
    $("#validateDiv").on("click",function(){    
        initValidate();
    })
    
    function getUsersPromise() {
        return new Promise(function(resolve, reject) {
            sendPost('patient/family/authorize_members',{},"json",'GET',function(res){
                dialog({contentType:'tipsbox', skin:'bk-popup' , content:"就诊居民列表获取失败!",bottom:true}).show();     
            },function(res){
                if(res.status==200){    
                    resolve(res)
                }else{
                    dialog({contentType:'tipsbox', skin:'bk-popup' , content:"就诊居民列表获取失败!",bottom:true}).show(); 
                }
            })
        })
    }
    
    function bindEvents(){
        var scroller1 =  new IScrollPullUpDown('wrapper',{
            probeType:2,
            bounceTime: 250,
            bounceEasing: 'quadratic',
            mouseWheel:false,
            scrollbars:true,
            fadeScrollbars:true,
            click:true,
            interactiveScrollbars:false
        },null,null);
        
        $("#mobile").on("focus",function(){
            $(".searchbar-clear").css("pointer-events","none").css("opacity",0);
            if($(this).val()){
                $(this).next().css("pointer-events","auto").css("opacity",1);
                $(this).next().show();
            }
        }).on("input",function(){
            $(this).next().css("pointer-events","auto").css("opacity",1);
            $(this).next().show();
        });
        
        $(".visit-ul").on("click",".searchbar-clear",function(){
            $(this).prev().val("");
            $(this).css("pointer-events","none").css("opacity",0);
            $(this).prev().focus();
            return false;
        });
        $(".div-immediately-btn").on("click",function(){
            var mobile  =  $("#mobile").val();
            if(!isphone(mobile)){
                dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'手机号格式不正确'}).show(); 
                return; 
            }   
            $("#validateCode").blur();
            $("#mobile").blur();
            //校验验证码是否正确
            sendPost("patient/captcha/"+imgKey,{"text":$("#validateCode").val()},"json","get",function(res){
                dialog({contentType:'tipsbox', skin:'bk-popup' , content:"验证码校验失败!",bottom:true}).show();     
            },function(res){
            if(res.status==200){
                if(res.pass==true){
                    imgKey = null;
                    initValidate();
                    applyData();
                }else{
                    dialog({contentType:'tipsbox', skin:'bk-popup' , content:"验证码错误,请重新输入!",bottom:true}).show();     
                }
            }else{
                dialog({contentType:'tipsbox', skin:'bk-popup' , content:"验证码校验失败!",bottom:true}).show();     
            }
            });
        })
        
        window.addEventListener("resize", function(){
            var u = navigator.userAgent;
            if(u.indexOf('Android') > -1 || u.indexOf('Linux') > -1){
                var self = document.getElementById("validateCode");
                setTimeout(function(){
                    self.scrollIntoView({block: "end", behavior: "smooth"});
                }, 150);
            }
        })
    }
            
    initData();
    
    function initData(){
        $("#hospitalName").html(doctorInfo['hospitalName']);
        $("#hosDeptDocName").html(doctorInfo['hosDeptName']+" "+doctorInfo['name']);
        $("#yyTime").html(arrangeDate['startTime'].split(" ")[0]+" "+arrangeDate['yysj']);
//      query();
        getUsersPromise().then(function(res) {
            var list = res.data;
            selectData = list[0]
            $("#mobile").val(selectData.mobile);
            $("#username").html(selectData.name);
            $("#idcard").html(selectData.idcard);
            $("#ssc").html(selectData.ssc);
            $('#ms-username').mobiscroll({
                theme: 'ios',
                lang: 'zh',
                formatValue: function(d) {
                    return d.join(',');
                },
                customWheels: true,
                wheels: [
                    [{
                        keys: _.range(0, list.length),
                        values: _.pluck(list, 'name')
                    }]
                ],
                onSelect: function(valueText, inst) {
                    var dd = eval("[" + valueText + "]");
                    var selectKey = dd[0].keys;
                    
                    var user = list[selectKey];
                    selectData = list[selectKey];//储存信息
                    $('#username').text(user.name);
                    $('#idcard').text(user.idcard);
                    $('#ssc').text(user.ssc);
                    $("#mobile").val(user.mobile);
                }
            }); 
        })
        .catch(function(e) {
            console && console.error(e)
        })
    }
    function query() {
        d.show();
        var data={};    
        sendPost('patient/baseinfo', data, 'json', 'post', queryFailed, querySuccess);
    }
    
    function querySuccess(res){
        d.close();
        if(res.status==200){
            var ssc = res.data.ssc;
            var j = ssc.substring(ssc.length,ssc.length-3);
            var sscStr = ssc.replace(j,'***');
            $("#username").html(res.data.name);
            $("#idcard").html(res.data.idcard);
            $("#ssc").html(sscStr);
        }else{
            queryFailed(res);
        }
    }
    
    
    function queryFailed(res){
        d.close();
        if (res && res.msg) {
            if((res.msg).indexOf("SOAP")>=0){
                    dialog({contentType:'tipsbox', skin:'bk-popup' , content:"医院接口访问异常,请刷新后重试!",bottom:true}).show();
                    return false;
            }
            dialog({contentType:'tipsbox', skin:'bk-popup' , content:res.msg,bottom:true}).show();     
        } else {
            dialog({contentType:'tipsbox', skin:'bk-popup' , content:'加载失败',bottom:true}).show(); 
        }
    }
    
    
    function applyData(){
        d.show();
        var params = {};
        params.city="350200";
        params.hospitalId=doctorInfo.hospitalId;
        params.hospitalName = doctorInfo.hospitalName;
        params.hosDeptId = doctorInfo.hosDeptId;
        params.hosDeptName = doctorInfo.hosDeptName;
        params.doctorId = doctorInfo.id;
        params.doctorName = doctorInfo.name;
        delete arrangeDate.yysj;
        params.arrangeDate=JSON.stringify(arrangeDate);
        params.patient = selectData.code
        params.patientName = selectData.name;
        params.cardNo = selectData.idcardAll;
        params.clinicCard = selectData.ssc;
        params.patientPhone = $("#mobile").val();
        sendPost("third/guahao/CreateOrder",params,"json","POST",queryFailed,submitSuccess);
    }   
    
    function submitSuccess(res){
        d.close();
        if(res.status==200){
            dialog({contentType:'tipsbox', skin:'bk-popup' , content:'预约成功!',bottom:true}).show();
            setTimeout(function(){
                location.href = "https://open.weixin.qq.com/connect/oauth2/authorize?appid="+appId+"&redirect_uri="+wxurl+"%2fwdyy%2fhtml%2fmy-appointment.html&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect";
            },200);
        }else{
            queryFailed(res);
        }
    }
});

+ 267 - 0
html/wdyy/js/my-appointment.js

@ -0,0 +1,267 @@
var d = dialog({contentType:'load', skin:'bk-popup'});
var pagetype = 20;
    
$(function(){
	checkUserAgent();
})
 
appendFamilyMember($('#memberContainer'),function(){
	$(".div-no-info").hide();
	initData();
},function(){
	//判断有授权家人,修改样式
	if($('#memberContainer').is(':hidden')){
		$('#wrapper2').css('top','0px');
	}else{
		$('#wrapper2').css('top','90px');
		$('.div-no-info').css('padding-top','150px');
	}
});
function queryInit(){
	var pageIndex = 1;
 	var pageSize = 10;
 	var request =  GetRequest();
	var toUser = request["toUser"];
    var openid = request["openid"];
	var toName = decodeURIComponent(Request["toName"]);
	var represented = Request["represented"];
	var userAgent = window.localStorage.getItem(agentName);
		if(!userAgent) {
 			localStorage.setItem("toUser",toUser);
			window.location.href = server + "wx/html/home/html/zhmm-login.html?openid=" + openid+"&type="+pagetype;
			return false;	
		}
		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));
				initData();
    			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{
				initData();
    			bindEvents();
			}
		}
		initFamilyData();
}
function bindEvents(){		
	$(".c-list").on("click",".n-list-li,.n-list-content",function(event){
		var parentLi = $(this).closest("li");
		var id = parentLi.attr("data-id");
		var orgCode = parentLi.attr("data-orgCode");
		location.href = "detail-appointment.html?id="+id+"&orgCode="+orgCode;
	}).on("click",".div-again",function(){
		var parentLi = $(this).closest("li");
		var id = parentLi.attr("data-id");
		var doctorCode = parentLi.attr("data-doctorCode");
		var orgCode = parentLi.attr("data-orgCode");
		var deptCode = parentLi.attr("data-deptCode"); 
		location.href = "doctor-detail.html?type=2&id="+id+"&doctorId="+doctorCode+"&hospitalId="+orgCode+"&hosDeptId="+deptCode;
	})
	
	
	
	$(".div-add-btn").on("click",function(){
//		$(this).hide();
//      $(".div-dialog-content").show();
//      $(".modal-overlay").addClass("modal-overlay-visible");
        location.href = "appointment-register.html";
	})	
	 //点击免疫预约事件
    $(".mianyi-icon").on("click",function(){
        $(this).addClass("active");
        location.href = "immune-appointment.html";
    });
     //点击普通预约事件
    $(".putong-icon").on("click",function(){
        $(this).addClass("active");
        location.href = "appointment-register.html";
    });
}
function initData(){
	$(".c-list").html("");
	pageIndex = 1;
	getMyAppo();	
}
function getMyAppo(){
	d.show();
	var data={};
	var loginUser = JSON.parse(window.localStorage.getItem(agentName));
	data.patient=loginUser['represented']?loginUser['represented']:loginUser['uid'];
	sendPost('third/guahao/GetRegList', data, 'json', 'post', getListFail, successFun);
}
function successFun(res){
	if(res.status==200){
		if(res.data&&res.data.length>0){
			pageIndex=pageIndex+1;
			appendMyAppo(res.data);
		}else{
			if(pageIndex==1){
				$(".main").hide();
				$(".div-no-info").show();
				$("#footer").show();
			}else{
				dialog({contentType:'tipsbox', skin:'bk-popup' , content:'无更多数据!',bottom:true}).show(); 
			}
			d.close();
		}
		
	}else{
		getListFail(res);
	}
}
function getListFail(res){
	d.close();
	if (res && res.msg) {
		if((res.msg).indexOf("SOAP")>=0){
				dialog({contentType:'tipsbox', skin:'bk-popup' , content:"医院接口访问异常,请刷新后重试!",bottom:true}).show();
				return false;
		}
		dialog({contentType:'tipsbox', skin:'bk-popup' , content:res.msg,bottom:true}).show();     
	} else {
		dialog({contentType:'tipsbox', skin:'bk-popup' , content:'加载失败',bottom:true}).show(); 
	}
}
function appendMyAppo(dataList){
	var appoHtml ="";
	for(var j in dataList){
		var data = dataList[j];
		//status:0 已撤销 1 预约成功 2 已就诊  3已停诊
		var clazz1 = "cb-47ABEF";
		var clazz2 = "c-47ABEF";
		var statusNm = "预约成功"
		if(data.status=="0"){
			clazz1 = "cb-FF6A56";
			clazz2 = "c-FF6A56";
			statusNm = "已撤销";
		}if(data.status=="1"){
			clazz1 = "cb-FF6A56";
			clazz2 = "c-FF6A56";
			statusNm = "预约创建";
		}
		else if(data.status=="2"){
			clazz1 = "cb-74BF00";
			clazz2 = "c-74BF00";
			statusNm = "预约确认";
		}else if(data.status=="3"){
			clazz1 = "cb-74BF00";
			clazz2 = "c-74BF00";
			statusNm = "已就诊";
		}
		else if(data.status=="4"){
			clazz1 = "cb-909090";
			clazz2 = "c-909090";
			statusNm = "已停诊";
		}
		appoHtml = template("doctor_list_tmp", {data:data});
		$(".c-list").append(appoHtml);
	}
	setTimeout(function(){
		scroller1.myScroll.refresh();
	},500)
	
	d.close();
	$(".main").show();
	$("#footer").show();
}
//下拉刷新
function pullDownAction(theScrollerTemp) {
//  $(".main").hide();
//  $("#footer").hide();
//  $(".pullDown").show();
//  initData();
//  setTimeout(function () {
//      $(".pullDown").hide();
//  }, 1000);   
}  
   //将scroller1的初始化代码放到外面来,不然从微信授权重定向过来这个页面的时候,
   //iscroll-pull-up-down 里监听的window的load方法不会触发,导致scroller初始化代码没有执行
var scroller1 =  new IScrollPullUpDown('wrapper2',{
        probeType:2,
        bounceTime: 250,
        bounceEasing: 'quadratic',
        mouseWheel:false,
        scrollbars:true,
        fadeScrollbars:true,
        click:true,
        interactiveScrollbars:false
    },pullDownAction,null);
    

+ 261 - 0
html/wdyy/js/select-doctor.js

@ -0,0 +1,261 @@
  var d = dialog({contentType:'load', skin:'bk-popup'});
 $(function(){
 	var pageIndex = 1;
 	var pageSize = 100;
 	var doclist = 0;
 	var request =  GetRequest();
 	var hospitalId =request["hospitalId"];
 	var deptId = request["deptId"];
 	bindEvents();
 	initDoctors();
 	var isResult = true;
 	var scroller1 =  new IScrollPullUpDown('wrapper3',{
			probeType:2,
			bounceTime: 250,
			bounceEasing: 'quadratic',
			mouseWheel:false,
			scrollbars:true,
			fadeScrollbars:true,
			click:true,
			interactiveScrollbars:false
		},pullDownAction,pullUpAction);
	//下拉刷新
	function pullDownAction(theScrollerTemp) {
		if(isResult==false){
			dialog({contentType:'tipsbox', skin:'bk-popup' , content:'数据加载中请勿重复刷新!',bottom:true}).show(); 
			return false;
		}
		if(isResult==true){
				isResult = false;
		}
		$(".pullDown").show();
		$(".pullUp").hide();
		setTimeout(function () {
			initDoctors();
		}, 1000);
	}   
			
	//上拉加载数据
	function pullUpAction(theScrollerTemp) {
//		$(".pullDown").hide();
//		$(".pullUp").show();
//		if(doclist%100==0){
//			 getDoc();
//		}else{
//			dialog({contentType:'tipsbox', skin:'bk-popup' , content:'无更多数据!',bottom:true}).show(); 
//		}
	}
	
	function bindEvents(){
		$(".c-list").on("click","li",function(event){
				var doctorId = $(this).attr("data-id");
				var target = $(event.target);
				if(target.closest(".div-timeList").length==0){//跳转到医生简介
						location.href = "doctor-detail.html?type=1&doctorId="+doctorId+"&hospitalId="+hospitalId+"&hosDeptId="+deptId;
				}else{//跳转到门诊预约
					  var id = target.closest("div").eq(0).attr("data-id");
						location.href = "doctor-detail.html?type=2&id="+id+"&doctorId="+doctorId+"&hospitalId="+hospitalId+"&hosDeptId="+deptId;
				}
		})
	}
	
	
	function initDoctors(){
		pageIndex = 1 ;
		$(".c-list").html("");
		getDoc();	
	}
	
	
	function getDoc(){
		d.show();
		var data={};
		data.city = "350200";
		data.filter ="";
		data.hospitalId = hospitalId;
		data.hosDeptId = deptId;
		data.pageIndex = pageIndex;
		data.pageSize = pageSize;
		sendPost('wlyy_service/third/smjk/RegDeptSpeDoctorList', data, 'json', 'post', getListFail, successFun);	
	}
	
	function successFun(res){
		$(".pullDown").hide();
		$(".pullUp").hide();
		d.close();
		if(res.status==200){
			var dataList = res.data;
			if(dataList&&dataList.length>0){
				pageIndex = pageIndex+1;
				appendDoc(dataList);
				doclist = doclist+dataList.length;
			}else{
				if(doclist==0||doclist.length==0){
					$(".div-no-info").show();
				}
				dialog({contentType:'tipsbox', skin:'bk-popup' , content:'无更多数据!',bottom:true}).show(); 
			}			
		}else{
			getListFail(res);
		}	
	}
	
	function getListFail(res){
		d.close();
		if (res && res.msg) {
			if((res.msg).indexOf("SOAP")>=0){
					dialog({contentType:'tipsbox', skin:'bk-popup' , content:"医院接口访问异常,请刷新后重试!",bottom:true}).show();
					return false;
			}
			dialog({contentType:'tipsbox', skin:'bk-popup' , content:res.msg,bottom:true}).show();     
		} else {
			dialog({contentType:'tipsbox', skin:'bk-popup' , content:'加载失败',bottom:true}).show(); 
		}
	}
	
	function appendDoc(dataList){
		var dochtml ="";
		if(pageIndex==1){
			$(".c-list").html("");
		}
		for(var j in dataList){
			var data = dataList[j];
			getDocTime(data);
		}
		isResult = true;
	}
	
	function getDocTime(data){
		var params={};
		params.city ="350200";
		params.hospitalId = hospitalId;
		params.hosDeptId = deptId;
		params.doctorId = data.id;
		sendPostAsync('third/guahao/GetDoctorArrange', params, 'json', 'post', getListFail, function(res){
		if(res.status==200){
			var title = "";
			var introduce = "";
			var img = getImgUrl(data.photo);
			if(!img){
				var img = "noSexDoctor.jpg";
				if(data.sex==1){
					img = "d-male.png";
				}else if(data.sex==2){
					img = "d-female.png";
				}
			}
			if(data.title){
				 title = '<span class="c-f16 c-666666 pl10">('+data.title+')</span>';
			}
			if(data.introduce){
				introduce = '<div class="mt5 c-f12 c-666666 mb5 pl10">'+
							'<span class="span-content">擅长:'+
								data.introduce+
							'</span>'+
						'</div>';
			} 
			var dochtml = '<li class="mt10"  data-id="'+data.id+'">'+
					'<div class="n-list dr-item c-border">'+
							'<div class="n-list-li pl10">'+
								'<div class="n-list-key">'+
									'<div class="n-avatar-l img-round">'+
										'<img src="../../../images/'+img+'">'+
									'</div>'+
							'</div>'+
							'<div class="pl15 c-100">'+
								'<div>'+
									'<span class="c-f16 c-bold c-323232">'+data.name+'</span>'+
									title+
								'</div>'+
								'<div class="c-f12 c-323232 div-hospital">'+data.hospitalName+'</div>'+
								'<div class="c-f12 c-323232">'+data.hosDeptName+'</div>'+
							'</div>'+
						'</div>'+
						introduce+
						'<div class="line"></div>'+
						'<div class="mt10 c-f14 c-666666 mb10 pl10">'+
							'<span class="">'+
								'医生坐诊时间'+
							'</span>'+
						'</div>'+
						'<div class="div-timeList">';					
							   for(var j in res.data){
							   		if(j%2==0){
							   			dochtml+='<div class="height-40">';
							   		}
								   	var timeData = res.data[j];	   	
								   	var dateTime = timeData.date+"";		   	
								   	var date= dateTime.split(" ")[0];
								   	var week = getWeek(date);
								   	var riqi = date.split("/");
								   	riqi = riqi[1]+"-"+riqi[2];
								   	var used = parseInt(timeData.used);
								   	var max = parseInt(timeData.max);
								   	var isMo = timeData.time;
								   	var status = timeData.status;
								   	if(isMo =="a"){
								   		isMo ="上午";
								   	}else{
								   		isMo ="下午";
								   	}
									  var clazz = "div-fr-time-item";	
										if(j%2==0){
											clazz = "div-time-item"
										}
										var vip_icon = "";
										var timeBg = 'cb-74BF00';
										if(res.data[j].regType != undefined){
											if(res.data[j].regType.indexOf('vip')>-1 || res.data[j].regType.indexOf('VIP')>-1 || res.data[j].fee == '300'){
												vip_icon = '<i class="vip-icon"></i>';
												clazz = clazz+' vip-bg';
												timeBg = 'cb-FF9526';
											}
										}
										
										if(status==2||max<=used){
												dochtml+='<div class="'+clazz+'" data-id="'+j+'">'+
															'<span class="div-item-time">'+riqi+" "+week+isMo+'</span>'+
															'<span class="div-item-man c-fff cb-A8A8A8">满</span>'+
															vip_icon+
														  '</div>';
											}
											else if(status==0){
												dochtml+='<div class="'+clazz+'" data-id="'+j+'">'+
															'<span class="div-item-time">'+riqi+" "+week+isMo+'</span>'+
															'<span class="div-item-man c-fff cb-A8A8A8">停</span>'+
															vip_icon+
														  '</div>';
											}
											else{
													dochtml+='<div class="'+clazz+'" data-id="'+j+'">'+
														 '<span class="div-item-no-man">'+riqi+" "+week+isMo+'</span>'+
														 '<span class="div-item-man c-fff ' + timeBg + '">'+(max-used)+'</span>'+
															vip_icon+
														 '</div>';
												
										}
										if(j%2==1||j==(res.data.lenth-1)){
											dochtml +='</div>';
										}
								}		
						dochtml+='</div></div></li>';
						$(".c-list").append(dochtml);
						scroller1.myScroll.refresh();
			}else{
				getListFail(res);
			}
		});	
	}
	
	function getWeek(d){
		var dateArray = d.split("/");
		var year = dateArray[0], month = dateArray[1], date = dateArray[2];
		var dt = new Date(year, month-1, date);
		var weekDay = ["周天", "周一", "周二", "周三", "周四", "周五", "周六"];
		return weekDay[dt.getDay()]
	}
});