Request = GetRequest(); var chooseType = Request["type"];//界面传送的类型 0不定义类型 1.慢病咨询 2.家庭医生咨询 6.名医咨询 var doctorCode = Request["doctorCode"]; var patientName = window.localStorage.getItem('nowPatientName'); var workTime = "";//医生工作时间 var doctorName = "";//医生名称 var teamCode = ""; //团队名称 var signCode = "";//签约记录的code updateTitle(); //修改header 的标题 function updateTitle(){ //需要jQuery var $body = $('body'); if(chooseType!=6){ document.title = '新增医生咨询'; } // hack在微信等webview中无法修改document.title的情况 var $iframe = $(''); $iframe.on('load',function() { setTimeout(function() { $iframe.off('load').remove(); }, 0); }).appendTo($body); } $(function(){ if(chooseType==1){ $(".span-type").html("慢病管理"); querySignType();//填充下拉框 }else if(chooseType==2){ $(".span-type").html("家庭医生"); querySignType();//填充下拉框 }else if(chooseType==6){ $(".span-type").html("名医咨询"); $('#txtTypeCode').val(chooseType); sendPost('patient/consult/doctor_worktime', {doctor:doctorCode}, 'json', 'post', getListFail, successFun); } /* 复选框兼容 */ $(document).on("click", ".input-group-pack > input[type=checkbox]", function() { var $cpChk = $(this).parent(); if ($(this).attr("checked") == "checked") { $cpChk.removeClass("checked"); $(this).removeAttr("checked"); } else { $cpChk.addClass("checked"); $(this).attr("checked", true); } }); //弹窗 $('.broadcast-icon').on('click',function(){ $('.broadcast-shadow-panel').removeClass('c-hide'); }); $('.win-cancle').on('click',function(){ $('.broadcast-shadow-panel').addClass('c-hide'); }); //从后台那边获取签名等信息 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: [ 'chooseImage', 'uploadImage' ] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); } else{ dialog({ title:'提示', skin:"ui-dialog ax-popup pror", content:"获取微信签名失败", ok: function (){} }).showModal(); window.location.href = "doctor-consultation.html"; } } }); function successFun(res){ if(res.status==200){ var dataList = res.data.doctor; doctorName = dataList.name; if(dataList.jobName){ $("#lbl_doctor").html(dataList.name+"("+dataList.jobName+")"); }else{ $("#lbl_doctor").html(dataList.name); } $("#lbl_patient").html(patientName); }else{ getListFail(res); } } function getListFail(res){ 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(); } } //提交咨询 $("#commit").click(function() { if($(this).hasClass("active")){ var data = {}; data.type = Number($("#txtTypeCode").val()); if($("#txtContent").val() == null) data.symptoms = ""; else data.symptoms = utf16toEntities($("#txtContent").val().replace(/\s+/g,"")); data.voice = ""; if (validate(data)) { //验证通过执行 dd.showModal(); var images = getImages(); if(images.length == 0){ $("#commit").css("pointer-events","none"); serverId = ''; doSubmit(data); } else{ uploadImage(data); } } } }); }); function checkInWork(doctor){ sendPost('/patient/consult/is_doctor_working', {doctor:doctor}, 'json', 'post', queryFailed, function(res){ if(res.status==200){ if(res.data==0){ dialog({ title: '提示', content: '您好,由于您的签约医生工作繁忙,所以设置了每日回复咨询的时间段,所以,在该时间段外的时间,您的咨询将不会马上获得医生的回复', okValue:'我知道了', ok: function (){ return; }, cancelValue: '查看时间', cancel: function () { alert("查看时间") } }).showModal(); } }else{ queryFailed(res); } }); } //查询咨询类型 function querySignType(){ d.show(); sendPost('patient/sign_status', {}, 'json', 'post', querySignTypeFailed, querySignTypeSuccess); } function querySignTypeFailed(res) { d.close(); if (res && res.msg) { dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:res.msg}).show(); } else { dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'获取咨询类型失败'}).show(); } } function querySignTypeSuccess(res) { if (res.status == 200) { $('#txtTypeCode').val(chooseType); $('#lbl_doctor').html(getSignDoctor(res,chooseType)); $("#lbl_patient").html(patientName); teamCode = res["teamCode_"+ chooseType]; signCode = res["signCode_"+chooseType]; d.close(); } else { querySignTypeFailed(res); } } //获取医生信息 function getSignDoctor(data,type){ var doctor_name = ""; var doctor_type = ""; switch(Number(type)) { case 1: doctor_type = data.teamDoctors; break; case 2: doctor_type = data.familyDoctors; break; default: break; } for(var i=0; i < doctor_type.length; i++){ doctor_name += doctor_type[i] + ","; } if(doctor_name.length > 0){ doctor_name = doctor_name.substring(0, doctor_name.length-1); } return doctor_name; } //验证信息 function validate(data) { if (data.symptoms.length < 10) { dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'请至少用10个字描述您的症状'}).show(); return false; } if (data.symptoms.length > 500) { dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'请在500字以内完成您的症状描述'}).show(); return false; } if(!$(".input-group-pack > input[type=checkbox]").attr("checked")){ dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'请勾选"我已阅读咨询说明"'}).show(); return false; } return true; } var serverId = ""; function chooseImage(){ wx.chooseImage({ count: 9-getImages().length, success: function (res) { for (var i in res.localIds) { appendFile(res.localIds[i]); } } }); } function uploadImage(data){ $("#commit").css("pointer-events","none"); var images = getImages(); if (images.length == 0) { return; } var i = 0, length = images.length; serverId = ""; function upload() { wx.uploadImage({ localId: images[i], isShowProgressTips: 0, success: function (res) { i++; if(serverId.length == 0){ serverId = res.serverId; } else{ serverId =serverId + "," + res.serverId; } if (i < length) { upload(); } if(i == images.length){ doSubmit(data); } }, fail: function (res) { $("#commit").css("pointer-events",""); alert(JSON.stringify(res)); } }); } upload(); } // 添加文件 function appendFile(p) { var amount = getImages().length; if (amount >= 8) { $("#add_img_li").hide(); } if(amount < 9){ var $li = $('
  • ' + ' ' + ' ' + '
  • '); var $add_img_li = $("#add_img_li"); $add_img_li.before($li); $("#image_tips").text(getImages().length + "/9"); } } //获取需要上传的图片 function getImages() { var images = []; $("#img_ul").find("img").each(function() { var imgSrc = $(this).attr("data-src"); images.push(imgSrc); }); return images; } //查看图片 function viewImg(dom) { var $img = $(dom); var thissrc = $img.attr("data-src"); var mWid = $(window).width(); var mHei = $(window).height(); var nHtml = '
    '; $("body").append(nHtml); $(".delimgpop").click(function() { $(this).remove() }); }; //删除图片 function delImg(dom) { var $li = $(dom).parent(); $li.remove(); $("#image_tips").text(getImages().length + "/9"); var amount = getImages().length; if(amount <= 8){ $("#add_img_li").show(); } return; } //微信sdk配置出错 wx.error(function (res) { alert("wx.error:" + res.errMsg); }); //提交咨询 function doSubmit(data) { console.log(data); data.mediaIds = serverId; var url = 'patient/consult/add';//新增三师或家庭 if(chooseType == 6){//名医咨询 data.doctorCode = doctorCode; url = 'patient/consult/famousAdd'; //查询名医当前是否在工作时间内 sendPost('patient/consult/is_doctor_working', {doctor:doctorCode}, 'json', 'post', submitFailed, function(res){ if(res.status==200){ var resultData = res.data;//0:医生不接受咨询 1:医生接受咨询 2:医生当前不在工作时间 if(resultData==1){ sendPost('patient/consult/consult_times_remain', {doctor:doctorCode}, 'json', 'post', submitFailed, function(res){ if(res.status==200){ var count = res.data;//名医剩余咨询次数 if(count>0){ $("#commit").addClass("active"); sendPost(url, data, 'json', 'post', submitFailed, submitSuccess); }else{ dialog({ content: '您来晚了哦~该医生今日已无免费次数,您可咨询其他名医或改天再来~', cancelValue: '我知道了', cancel: function () { $("#commit").removeClass("active"); dd.close(); return; } }).showModal(); } }else{ submitFailed(res); } }); }else if(resultData==2){ sendPost('/patient/consult/doctor_worktime', {doctor:doctorCode}, 'json', 'post', submitFailed, function(res){ if(res.status==200){ var workWeek = res.data.workWeeks; var worktime = res.data.workTime; if(workWeek&&workWeek.length>0){ var week = new Date().getDay(); for(var i = 0 ;i 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(curWorkTime){ dd.close(); var week = new Date().getDay(); var myDate = new Date(); debugger if(curWorkTime){//有上班时间 var cosultTimeArr = curWorkTime.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: '您来早了哦,'+doctorName+'医生将在'+cosultTimeArr[0]+'准时开始接受咨询~', cancelValue: '我知道了', cancel: function () { $("#commit").removeClass("active"); dd.close(); return; } }).showModal(); return false; } if(isFlag2){//来晚了 dialog({ content: '您来晚了哦~'+doctorName+'医生本日咨询时间已过,请改日再来~', cancelValue: '我知道了', cancel: function () { $("#commit").removeClass("active"); dd.close(); return; } }).showModal(); return false; } } }else{ dialog({ content: '医生今天不上班哦,请在医生咨询计划时间段内咨询', cancelValue: '我知道了', cancel: function () { $("#commit").removeClass("active"); dd.close(); return; } }).showModal(); return false; } } function submitFailed(res) { $("#commit").css("pointer-events",""); dd.close(); if (res && res.msg) { dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:res.msg}).show(); } else { dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:'提交失败'}).show(); } } function submitSuccess(res) { if (res.status == 200) { $("#commit").css("pointer-events",""); dd.close(); //window.location.href = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + appId + "&redirect_uri=http%3a%2f%2f" + weixinUrl + "%2f" + urlName + "%2fwx%2fhtml%2fyszx%2fhtml%2fdoctor-consultation.html&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect"; //window.location.href = "vedio-consulting-commit-success.html?type=2"; //页面跳转到消息页面 var direct_url = ""; if(chooseType == "6" || chooseType == "1"){ //名医咨询和三师咨询均跳转回原来的咨询IM页面 direct_url = "consulting-doctor.html?consult="+res.data.consult+"&type="+res.data.type+"&toUser="+res.data.patient+"&doctor="+doctorCode; }else{ localStorage.setItem("signInfo_tab", 1); direct_url = "../../qygl/html/sign_info.html?code="+signCode+"&teamCode="+teamCode+"&type="+chooseType+"&doctor="+doctorCode+"&consult="+res.data.consult; } window.location.href = direct_url; } else { submitFailed(res); } }