123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404 |
- Request = GetRequest();
- var id = 0;
- var pageSize = 15;
- var d = dialog({contentType:'load', skin:'bk-popup'});
- var doctorCode = Request["doctorCode"];
- var scroller1 = null;
- var userAgent = window.localStorage.getItem(agentName);
- $(function(){
- //添加isrcoll
- scroller1 = new IScrollPullUpDown('wrapper',{
- probeType:2,
- bounceTime: 250,
- bounceEasing: 'quadratic',
- mouseWheel:false,
- scrollbars:true,
- click:true,
- fadeScrollbars:true,
- interactiveScrollbars:false
- },null,null);
-
- pageInit();
- })
- var count = 0;
- var ids=[
- {cosultTime:"zhouyi1",consultCount:"zhouyi2"},
- {cosultTime:"zhouer1",consultCount:"zhouer2"},
- {cosultTime:"zhousan1",consultCount:"zhousan2"},
- {cosultTime:"zhousi1",consultCount:"zhousi2"},
- {cosultTime:"zhouwu1",consultCount:"zhouwu2"},
- {cosultTime:"zhouliu1",consultCount:"zhouliu2"},
- {cosultTime:"zhouri1",consultCount:"zhouri2"}
- ];
-
- function pageInit(){
- d.show();
- pageInitData();
- }
-
- function getListFail(res){
- d.close();
- if (res && 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 pageInitData(){
- sendPost('/patient/consult/doctor_worktime', {doctor:doctorCode}, 'json', 'post', getListFail, function(res){
- if(res.status==200){
- var workWeek = res.data.workWeeks;
- var worktime = res.data.workTime;
- var doctor = res.data.doctor;
- if(workWeek&&workWeek.length>0){
- for(var i = 0 ;i<workWeek.length;i++){
- var weekInfo = workWeek[i];
- if(weekInfo.morning==1 && weekInfo.afternoon==1 && weekInfo.night==1){
- $("#"+ids[weekInfo.week-1].cosultTime).html(worktime.morningBegin+"~"+worktime.nightEnd);
- }else if(weekInfo.morning==1 && weekInfo.afternoon==0 && weekInfo.night==0){
- $("#"+ids[weekInfo.week-1].cosultTime).html(worktime.morningBegin+"~"+worktime.morningEnd);
- }else if(weekInfo.morning==0 && weekInfo.afternoon==1 && weekInfo.night==0){
- $("#"+ids[weekInfo.week-1].cosultTime).html(worktime.afternoonBegin+"~"+worktime.afternoonEnd);
- }else if(weekInfo.morning==0 && weekInfo.afternoon==0 && weekInfo.night==1){
- $("#"+ids[weekInfo.week-1].cosultTime).html(worktime.nightBegin+"~"+worktime.nightEnd);
- }else if(weekInfo.morning==1 && weekInfo.afternoon==1 && weekInfo.night==0){
- $("#"+ids[weekInfo.week-1].cosultTime).html(worktime.morningBegin+"~"+worktime.afternoonEnd);
- }else if(weekInfo.morning==0 && weekInfo.afternoon==1 && weekInfo.night==1){
- $("#"+ids[weekInfo.week-1].cosultTime).html(worktime.afternoonBegin+"~"+worktime.nightEnd);
- }
- $("#"+ids[weekInfo.week-1].consultCount).html(worktime.famousConsultTimes+"次");
- }
- }
- var photo = doctor.photo;
- if(!photo){
- var photo = "../../../images/noSexDoctor.jpg";
- if(doctor.sex==1){
- photo = "../../../images/d-male.png";
- }else if(doctor.sex==2){
- photo = "../../../images/d-female.png";
- }
- }
- $("#photo").attr("src", getImgUrl(photo));
- $("#name").html(doctor.name);
- $("#jobName").html(doctor.jobName);
- $("#deptName").html(doctor.deptName);
- $("#hospitalName").html(doctor.hospitalName);
- $("#expertise").html(doctor.expertise);
- $("#introduce").html(doctor.introduce);
- scroller1.myScroll.refresh();
- d.close();
-
- isWordTimeInit();//判断当前是否可咨询(该医生今日是否有次数、是否在医生工作时间内)如当前可咨询,则立即咨询高亮显示,如不可咨询,则置灰
- }else{
- getListFail(res);
- }
- });
- }
-
- //判断当前是否可咨询(该医生今日是否有次数、是否在医生工作时间内)如当前可咨询,则立即咨询高亮显示,如不可咨询,则置灰
- function isWordTimeInit(){
- var week = new Date().getDay()==0?7:new Date().getDay();
- var myDate = new Date();
- if($("#"+ids[week-1].cosultTime).html()){//有上班时间
- //查询名医当前是否在工作时间内
- sendPost('patient/consult/is_doctor_working', {doctor:doctorCode}, 'json', 'post', getListFail, function(res){
- if(res.status==200){
- var data = res.data;//0:医生不接受咨询 1:医生接受咨询 2:医生当前不在工作时间
- if(data==1){
- sendPost('patient/consult/consult_times_remain', {doctor:doctorCode}, 'json', 'post', getListFail, function(res){
- if(res.status==200){
- count = res.data;//名医剩余咨询次数
- if(count>0){
- $("#bang-btn").addClass("active");
- }else{
- $("#bang-btn").removeClass("active");
- }
- }else{
- getListFail(res);
- }
- });
- }else if(data==2){
- // dialog({
- // content: '医生不在工作时间内哦,请在医生咨询计划时间段内咨询',
- // cancelValue: '我知道了',
- // cancel: function () {
- // $("#bang-btn").removeClass("active");
- // return;
- // }
- // }).showModal();
- $("#bang-btn").removeClass("active");
- return false;
- }else{
- // dialog({
- // content: '对不起,该医生已暂停接受咨询,您可选择其他医生进行咨询',
- // cancelValue: '我知道了',
- // cancel: function () {
- // $("#bang-btn").removeClass("active");
- // return;
- // }
- // }).showModal();
- $("#bang-btn").removeClass("active");
- return false;
- }
- }else{
- getListFail(res);
- }
- });
- }
- }
-
-
- //立即咨询事件
- $("#bang-btn").on("click",function(){
- if($(this).hasClass("active")){
- d.show();
- if(userAgent) {
- userAgent = JSON.parse(userAgent);
- }
- //先判断这位名医是否是您的签约医生
- sendPost('patient/family_contract/getSignMessage', {patientCode:userAgent.represented?userAgent.represented:userAgent.uid}, 'json', 'get', getListFail, function(res){
- if(res.status==200){
- var list = res.list;
- var isMySignDoctor = false;
- for(var i=0;i<list.length;i++){
- if(list[i].code==doctorCode){
- isMySignDoctor = true;
- break;
- }
- }
- if(isMySignDoctor){
- d.close();
- dialog({
- content: '对不起,这位名医是您的签约医生,可直接对其发起健康咨询',
- okValue:'前往咨询',
- ok: function (){
- window.location.href = server + "wx/html/yszx/html/doctor-consultation.html";
- },
- cancelValue: '不了,谢谢',
- cancel: function () {
- wx.closeWindow();
- }
- }).showModal();
- }else{
- //查询名医当前是否在工作时间内
- sendPost('patient/consult/is_doctor_working', {doctor:doctorCode}, 'json', 'post', getListFail, function(res){
- if(res.status==200){
- var data = res.data;//0:医生不接受咨询 1:医生接受咨询 2:医生当前不在工作时间
- if(data==1){
- sendPost('/patient/consult/doctor_worktime', {doctor:doctorCode}, 'json', 'post', getListFail, function(res){
- if(res.status==200){
- var workWeek = res.data.workWeeks;
- var worktime = res.data.workTime;
- var doctor = res.data.doctor;
- if(workWeek&&workWeek.length>0){
- for(var i = 0 ;i<workWeek.length;i++){
- var weekInfo = workWeek[i];
- if(weekInfo.morning==1 && weekInfo.afternoon==1 && weekInfo.night==1){
- $("#"+ids[weekInfo.week-1].cosultTime).html(worktime.morningBegin+"~"+worktime.nightEnd);
- }else if(weekInfo.morning==1 && weekInfo.afternoon==0 && weekInfo.night==0){
- $("#"+ids[weekInfo.week-1].cosultTime).html(worktime.morningBegin+"~"+worktime.morningEnd);
- }else if(weekInfo.morning==0 && weekInfo.afternoon==1 && weekInfo.night==0){
- $("#"+ids[weekInfo.week-1].cosultTime).html(worktime.afternoonBegin+"~"+worktime.afternoonEnd);
- }else if(weekInfo.morning==0 && weekInfo.afternoon==0 && weekInfo.night==1){
- $("#"+ids[weekInfo.week-1].cosultTime).html(worktime.nightBegin+"~"+worktime.nightEnd);
- }else if(weekInfo.morning==1 && weekInfo.afternoon==1 && weekInfo.night==0){
- $("#"+ids[weekInfo.week-1].cosultTime).html(worktime.morningBegin+"~"+worktime.afternoonEnd);
- }else if(weekInfo.morning==0 && weekInfo.afternoon==1 && weekInfo.night==1){
- $("#"+ids[weekInfo.week-1].cosultTime).html(worktime.afternoonBegin+"~"+worktime.nightEnd);
- }
- $("#"+ids[weekInfo.week-1].consultCount).html(worktime.famousConsultTimes+"次");
- }
-
- setTimeout(function(){
- isWordTime();//判断医生是否在工作时间内+查询某个医生名医当前剩余咨询次数
- },300)
-
- }
- }
- });
-
-
- }else if(data==2){
- sendPost('/patient/consult/doctor_worktime', {doctor:doctorCode}, 'json', 'post', getListFail, function(res){
- if(res.status==200){
- var workWeek = res.data.workWeeks;
- var worktime = res.data.workTime;
- var doctor = res.data.doctor;
- if(workWeek&&workWeek.length>0){
- for(var i = 0 ;i<workWeek.length;i++){
- var weekInfo = workWeek[i];
- if(weekInfo.morning==1 && weekInfo.afternoon==1 && weekInfo.night==1){
- $("#"+ids[weekInfo.week-1].cosultTime).html(worktime.morningBegin+"~"+worktime.nightEnd);
- }else if(weekInfo.morning==1 && weekInfo.afternoon==0 && weekInfo.night==0){
- $("#"+ids[weekInfo.week-1].cosultTime).html(worktime.morningBegin+"~"+worktime.morningEnd);
- }else if(weekInfo.morning==0 && weekInfo.afternoon==1 && weekInfo.night==0){
- $("#"+ids[weekInfo.week-1].cosultTime).html(worktime.afternoonBegin+"~"+worktime.afternoonEnd);
- }else if(weekInfo.morning==0 && weekInfo.afternoon==0 && weekInfo.night==1){
- $("#"+ids[weekInfo.week-1].cosultTime).html(worktime.nightBegin+"~"+worktime.nightEnd);
- }else if(weekInfo.morning==1 && weekInfo.afternoon==1 && weekInfo.night==0){
- $("#"+ids[weekInfo.week-1].cosultTime).html(worktime.morningBegin+"~"+worktime.afternoonEnd);
- }else if(weekInfo.morning==0 && weekInfo.afternoon==1 && weekInfo.night==1){
- $("#"+ids[weekInfo.week-1].cosultTime).html(worktime.afternoonBegin+"~"+worktime.nightEnd);
- }
- $("#"+ids[weekInfo.week-1].consultCount).html(worktime.famousConsultTimes+"次");
- }
-
- setTimeout(function(){
- isWordTime();//判断医生是否在工作时间内+查询某个医生名医当前剩余咨询次数
- },300)
-
- }
- }
- });
- return false;
- }else{
- d.close();
- dialog({
- content: '对不起,该医生已暂停接受咨询,您可选择其他医生进行咨询',
- cancelValue: '我知道了',
- cancel: function () {
- $("#bang-btn").removeClass("active");
- return;
- }
- }).showModal();
- return false;
- }
- }else{
- getListFail(res);
- }
- });
- }
- }else{
- getListFail(res);
- }
-
- });
- }
- })
-
- //查询某个医生名医当前剩余咨询次数
- function consultTimesRemain(){
- sendPost('patient/consult/consult_times_remain', {doctor:doctorCode}, 'json', 'post', getListFail, function(res){
- if(res.status==200){
- count = res.data;//名医剩余咨询次数
- if(count>0){
- var week = new Date().getDay();
- var myDate = new Date();
- window.location.href = "add-consult.html?type=6&doctorCode="+doctorCode;
- }else {
- dialog({
- content: '您来晚了哦~该医生今日已无免费次数,您可咨询其他名医或改天再来~',
- cancelValue: '我知道了',
- cancel: function () {
- $("#bang-btn").removeClass("active");
- return;
- }
- }).showModal();
- return false;
- }
- }else{
- getListFail(res);
- }
- });
- }
-
- function time_range(beginTime, endTime, nowTime) {
- var strb = beginTime.split (":");
- if (strb.length != 2) {
- return false;
- }
-
- var stre = endTime.split (":");
- if (stre.length != 2) {
- return false;
- }
-
- var strn = nowTime.split (":");
- if (stre.length != 2) {
- return false;
- }
- var b = new Date ();
- var e = new Date ();
- var n = new Date ();
-
- b.setHours (strb[0]);
- b.setMinutes (strb[1]);
- e.setHours (stre[0]);
- e.setMinutes (stre[1]);
- n.setHours (strn[0]);
- n.setMinutes (strn[1]);
-
- if (n.getTime () - b.getTime () > 0 && n.getTime () - e.getTime () < 0) {
- return "1";//在时间范围内
- } else {
- return "0";//不在工作时间内
- }
- }
-
- function CompareDate(t1,t2)
- {
- var date = new Date();
- var a = t1.split(":");
- var b = t2.split(":");
- return date.setHours(a[0],a[1]) > date.setHours(b[0],b[1]);
- }
-
-
- //判断医生是否在工作时间内
- function isWordTime(){
- d.close();
- var week = new Date().getDay()==0?7:new Date().getDay();
- var myDate = new Date();
- if($("#"+ids[week-1].cosultTime).html()){//有上班时间
- var cosultTimeArr = $("#"+ids[week-1].cosultTime).html().split("~");
- var curHours = myDate.getHours(); //获取当前小时数(0-23)
- var curMinutes = myDate.getMinutes();//获取当前分钟数(0-59)
- var curTime = curHours+":"+curMinutes;
- var timeRange = time_range(cosultTimeArr[0],cosultTimeArr[1],curTime)
- if(timeRange=="1"){//在工作时间内,查询某个医生名医当前剩余咨询次数
- consultTimesRemain();
- }else{//不在工作时间内,判断早晚
- var isFlag1 = CompareDate(curTime,cosultTimeArr[0]);
- var isFlag2 = CompareDate(curTime,cosultTimeArr[1]);
- if(!isFlag1){//来早了
- dialog({
- content: '您来早了哦,'+$("#name").html()+'医生将在'+cosultTimeArr[0]+'准时开始接受咨询~',
- cancelValue: '我知道了',
- cancel: function () {
- $("#bang-btn").removeClass("active");
- return;
- }
- }).showModal();
- return false;
- }
- if(isFlag2){//来晚了
- dialog({
- content: '您来晚了哦~'+$("#name").html()+'医生本日咨询时间已过,请改日再来~',
- cancelValue: '我知道了',
- cancel: function () {
- $("#bang-btn").removeClass("active");
- return;
- }
- }).showModal();
- return false;
- }
- }
- }else{
- dialog({
- content: '医生今天不上班哦,请在医生咨询计划时间段内咨询',
- cancelValue: '我知道了',
- cancel: function () {
- $("#bang-btn").removeClass("active");
- return;
- }
- }).showModal();
-
- return false;
- }
-
- }
-
-
|