//家庭医生咨询分页参数 var id = 0; var pageSize = 15; //续方咨询分页参数 var xfId = 0; var xfPageSize = 15; var d = dialog({contentType:'load', skin:'bk-popup'}); var patientcode ="", patientName = ""; //var isHealthSearch = false, // isPreSearch = false; var userAgent = window.localStorage.getItem(agentName); var pagetype = 1; var chooseType; //记录选择的咨询类型 var loaded = [true, false]; //标记两个tab是否已经加载过 var chooseTab = 1; //默认选中的是家庭健康咨询 var expensesStatus ="";//'扣费状态 【""没有签约信息 "0"未扣费 "1"已扣费 "2"已退费】' var is_sign = 0; //页面初始化 $(function(){ checkUserAgent(); // queryInit(); }); function queryInit(){ initScroller(); // initFamilyData(); initPageData(); bindEvents(); wxGetSign(); } function initScroller(){ //阻尼系数 var deceleration = mui.os.ios?0.003:0.0009; mui('.mui-scroll-wrapper1').scroll({ scrollY: false, //是否竖向滚动 scrollX: true, //是否横向滚动 startX: 0, //初始化时滚动至x startY: 0, //初始化时滚动至y bounce: false, indicators: true, //是否显示滚动条 deceleration:deceleration }); mui.ready(function() { //循环初始化所有下拉刷新,上拉加载。 $.each(document.querySelectorAll('.mui-slider-group .mui-scroll-wrapper'), function(index, pullRefreshEl) { mui(pullRefreshEl).pullRefresh({ up: { callback: function() { var self = this; setTimeout(function() { if(index == 0){ getHealthConsulationList(false); // }else{ // getPreConsultList(); } self.endPullupToRefresh(); }, 1000); } } }); }); }); } function initFamilyData(){ appendFamilyMember($('#memberContainer'),function(){ //切换家庭成员,默认选中健康咨询tab显示 id = 0; xfId = 0; chooseType = 1; loaded = [true, false]; $("#healthTab a").click(); initPageData(); },function(t){ //判断有授权家人,修改样式,只在初始的时候执行一次 var height = $('#memberContainer').height(); $("#slider").css({ 'top': height, 'height': 'calc(100% - '+height+'px)' }); }); } function initPageData(){ var userInfo= JSON.parse(userAgent); patientcode = userInfo.uid; getPatientInfo(); } //获得患者信息 function getPatientInfo(){ d.show(); var data={}; sendPost('patient/baseinfo', data, 'json', 'post', queryFailed, function(res){ if (res.status == 200) { var data = res.data, ssc = data.ssc; expensesStatus = res.data.expensesStatus; patientName = data.name; mui('#slider').slider().gotoItem(0); $("#preTab").hide(); mui('#slider').slider().setStopped(true); //获得咨询列表数据 getHealthConsulationList(true); } else { queryFailed(res); } }); } //获取健康咨询列表 function getHealthConsulationList(isInit){ if(isInit){ id = 0; } var url = 'patient/consult/records', params = { id: id, pagesize: pageSize, title: $("#item1 .inp-search").val().trim() }; sendPost(url, params, 'json', 'get', queryFailed, function(res){ if(res.status == 200){ $("#healthConsulationPanel").css("top","50px"); d.close(); $('#healthConsulationPanel').show(); if (res.list.length > 0) { $('#ul_jiating_consultation').show(); $('#item1 .vertical-line').show(); $("#item1 .div-no-search-info").hide(); $("#item1 .div-no-info").hide(); var searchText = $("#item1 .inp-search").val().trim(); var list = _.map(res.list, function(o){ o.jsonStr = JSON.stringify(o); //针对搜索字体 if(searchText.length > 0){ var reg = new RegExp(searchText,"g"); o.symptoms = o.symptoms.replace(reg, ''+searchText+""); } var divStatus = ""; // if(o.type==2){ if(o.status==0){ //咨询中 divStatus = "div-beginning"; }else if(o.evaluate ==1){ divStatus = "div-hasvalue";//是否有评价 0无 1有 }else{ divStatus = "div-novalue"; } // } o.statusClass = divStatus; return o; }); var html = template('healthConsulation_tmp', {list: list}); if(id == 0){ $("#ul_jiating_consultation").empty().append(html); }else{ $("#ul_jiating_consultation").append(html); } if(res.list.length < pageSize){ mui("#item1 .mui-scroll-wrapper").pullRefresh().endPullupToRefresh(true); } id = res.list[res.list.length-1].id; }else{ if(isInit){ $('#ul_jiating_consultation').hide(); $('#item1 .vertical-line').hide(); $("#item1 .div-no-search-info").show(); }else{ mui("#item1 .mui-scroll-wrapper").pullRefresh().endPullupToRefresh(true); } } }else{ queryFailed(res); } }); } //判断是否有未结束的咨询 function isConsultUnfinished(docInfo,docQkInfo){ var url = 'patient/consult/is_consult_unfinished', params = {doctor: docInfo.code}; sendPost(url, params, 'json', 'post', function(res){ queryFailed(res, '获取是否存在咨询失败'); },function(res){ d.close(); if(res.status == 200){ if(res.data == ""){ //不存在 checkDocInWork(chooseType, docInfo,docQkInfo); } else { dialog({ content: '十分抱歉,您与'+ docInfo.name +'医生还有
未结束咨询,无法发起新的咨询', okValue:'前往查看', ok: function (){ var userInfo = JSON.parse(userAgent); var rep = userInfo.uid; window.location.href = "consulting-doctor.html?consult=" + res.data +"&toUser="+rep; }, cancelValue: '我知道了', cancel: function () { $(".modal-overlay").trigger("click"); $(".jiating-icon").removeClass("active"); $(".mingyi-icon").removeClass("active"); return; } }).showModal(); } } else { dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content:res.msg}).show(); } }); } //获取签约医生的工作时间 function checkDocInWork(type, doctor,docQkInfo){ var url = 'patient/consult/isDoctorWorkWhenconsult', params = {doctor:docQkInfo.code,healthDoctor:doctor.code}; sendPost(url, params, 'json', 'post', queryFailed, function(res){ if(res.status == 200){ // data:0-医生不接受咨询/1-医生当前接受咨询/2-全科医生和健管师当前都不在工作时间/3-全科医生当前不在工作时间/4-健管师当前不在工作时间 健管师当前不在工作时间 if(res.data==2){ dialog({ content: '您好,由于您的签约医生工作繁忙,设置了每日回复咨询的时间段,所以,在该时间段外的时间,您的咨询将不会马上获得医生的回复。', okValue:'查看医生工作时间', ok: function (){ window.location.href = "doctor-work-hours.html?doctor=" + docQkInfo.code+"&healthDoctor="+doctor.code; }, cancelValue: '继续新增咨询', cancel: function () { window.location.href = "add-consult.html?type=" +type+"&doctorCode="+doctor.code; } }).showModal(); }else if(res.data==3){ dialog({ content: '您好,由于您的签约全科医生工作繁忙……,您的咨询将不会马上获得全科医生的回复 。', okValue:'查看医生工作时间', ok: function (){ window.location.href = "doctor-work-hours.html?doctor=" + docQkInfo.code+"&healthDoctor="+doctor.code; }, cancelValue: '继续新增咨询', cancel: function () { window.location.href = "add-consult.html?type=" +type+"&doctorCode="+doctor.code; } }).showModal(); }else if(res.data==4){ dialog({ content: '您好,由于您的签约健康管理师工作繁忙……,您的咨询将不会马上获得健康管理师的回复 。', okValue:'查看医生工作时间', ok: function (){ window.location.href = "doctor-work-hours.html?doctor=" + docQkInfo.code+"&healthDoctor="+doctor.code; }, cancelValue: '继续新增咨询', cancel: function () { window.location.href = "add-consult.html?type=" +type+"&doctorCode="+doctor.code; } }).showModal(); }else{ //跳转到新增咨询页面 window.location.href = "add-consult.html?type="+type+"&doctorCode="+doctor.code; } }else{ queryFailed(res); } }); } //判断是否可以新增续方咨询 function checkCanPreConsult(){ var url = "/patient/consult/isPrescriptionConsult", params = {patient: patientcode}; d.show(); sendPost(url, params, 'json', 'get', queryFailed, function(res){ if(res.status == 200){ //成功及可以发起续方咨询,跳转去新增续方咨询页面 //TODO 待处理事件 window.location.href = "add-prescription-consult.html?patient="+patientcode+"&name="+patientName; }else{ queryFailed(res); } }); } //显示搜索输入文字 function showSearchSuggest(text, type){ var suggestText = '搜索“'+text+'”'; // 如果text不为空,则显示;否则隐藏 if(text&&text.trim().length) { if(type == 1){//家庭医生咨询 $("#search_suggest_text").text(suggestText); $("#search_suggest_text").show(); }else if(type == 2){//续方咨询 $("#xf_search_suggest_text").text(suggestText); $("#xf_search_suggest_text").show(); } } else { if(type == 1){//家庭医生咨询 $("#search_suggest_text").text(''); $("#search_suggest_text").hide(); }else if(type == 2){//续方咨询 $("#xf_search_suggest_text").text(''); $("#xf_search_suggest_text").hide(); } } } //搜索操作 function search(type){ d.show(); if(type == 1){//家庭医生咨询 // isHealthSearch = true; // id = 0; $("#search_suggest_text").text(''); $("#search_suggest_text").hide(); $("#item1 .searchbar-cancel").hide(); $("#item1 .searchbar-cancel").css("opacity","0"); $("#item1 .div-no-info").hide(); $("#item1 .div-no-search-info").hide(); d.show(); getHealthConsulationList(true); }else if(type == 2){//续方咨询 // isPreSearch = true; // xfId = 0; $("#xf_search_suggest_text").text(''); $("#xf_search_suggest_text").hide(); $("#item2 .searchbar-cancel").hide(); $("#item2 .searchbar-cancel").css("opacity","0"); $("#item2 .div-no-info").hide(); $("#item2 .div-no-search-info").hide(); getPreConsultList(); } } function bindEvents(){ //监听tab切换动作 document.querySelector('.mui-slider').addEventListener('slide', function(event) { var index = event.detail.slideNumber; chooseTab = index + 1; if(!loaded[index]){ //tab未加载过,则加载数据 d.show(); getPreConsultList(); loaded[index] = true; } }); $("#ul_jiating_consultation").on("tap",'li', function(){ var userInfo = JSON.parse(userAgent); var jsonData = JSON.parse(this.getAttribute("data-json")); if(jsonData.status == 0){ window.location.href = "../../qygl/html/sign_info.html?consult="+jsonData.code+"&doctor="+jsonData.doctorCode; }else{ localStorage.setItem("evaluate",jsonData.evaluate); window.location.href = "consulting-doctor.html?consult=" + jsonData.code+"&type="+jsonData.type+"&toUser="+userInfo.uid+"&doctor="+jsonData.doctorCode; } }); $("#ul_xufang_consultation").on("tap",'li', function(){ var userInfo = JSON.parse(userAgent); var jsonData = JSON.parse(this.getAttribute("data-json")); localStorage.setItem("evaluate",jsonData.evaluate); //跳转去续方咨询页面 window.location.href = 'prescription-consulting.html?consult='+jsonData.code+'&type='+jsonData.type+"&toUser="+userInfo.uid+"&doctor="+jsonData.doctorCode; }); //新增按钮事件 $(".div-add-btn").on("click",function(){ //现在固定显示咨询可以选择类型,不做三师等的判断 // $(this).hide(); // $(".div-dialog-content").show(); // $(".modal-overlay").addClass("modal-overlay-visible"); //直接跳转去选择医生列表 window.location.href = "select-consult-doctor.html"; }); //点击遮罩事件 $(".modal-overlay").on("click",function(){ $(".modal-overlay").removeClass("modal-overlay-visible"); $(".div-dialog-content").hide(); $(".div-add-btn").removeClass("active"); if(is_sign == 1){ $(".div-add-btn").show(); }else{ $(".div-add-btn").hide(); } }); //点击家庭医生事件 $(".jiating-icon").on("click",function(){ $(this).addClass("active"); if(is_sign == 1){ //判断该居民是否已经缴费 1为已经交费 ""没有签约信息 "0"未扣费 "1"已扣费 "2"已退费 if(expensesStatus == 1){ querySignType(2); }else{ //未缴费居民限制咨询次数 limitZxTimes(); } }else{ $(".div-dialog-content").show(); dialog({ content: '没有有效的签约信息,请前往签约', okValue:'前往签约', ok: function (){ window.location.href = "../../qygl/html/signing_management.html"; }, cancelValue: '我知道了', cancel: function () { $(".modal-overlay").trigger("click"); $(".jiating-icon").removeClass("active"); $(".mingyi-icon").removeClass("active"); return; } }).showModal(); } // if(expensesStatus == 1){ // querySignType(2); // }else if(expensesStatus == ""){ // d.close(); // $(".mui-content").hide(); // $(".div-no-sign").show(); // }else{ // //未缴费居民限制咨询次数 // limitZxTimes(); // } }); //点击名医咨询事件 $(".mingyi-icon").on("click",function(){ $(this).addClass("active"); if(is_sign == 1){ window.location.href = "select-consult-doctor.html"; }else{ dialog({ content: '没有有效的签约信息,请前往签约', okValue:'前往签约', ok: function (){ window.location.href = "../../qygl/html/signing_management.html"; }, cancelValue: '我知道了', cancel: function () { $(".modal-overlay").trigger("click"); $(".jiating-icon").removeClass("active"); $(".mingyi-icon").removeClass("active"); return; } }).showModal(); } }); //取消事件 $(".quxiao").on("click",function(){ $(".modal-overlay").trigger("click"); }); //查看签约 $('#signing-btn').on('click',function(){ window.location.href = "../../qygl/html/signing_management.html"; }); //跳转去签约管理页面 $("#goToSign").on('click', function(){ window.location.href = "../../qygl/html/signing_management.html"; }); //点击发起咨询事件 $("#launch-btn").on("tap",function(){ // $(".div-add-btn").trigger("click"); window.location.href = "select-consult-doctor.html"; }); //点击续方tab内发起咨询的事件 $("#launch-btn2").on("tap", function(){ //判断是否可以续方咨询 checkCanPreConsult(); }) //点击续方申请事件 $(".xufangsq-icon").on("click",function(){ $(this).addClass("active"); //判断是否可以续方咨询 checkCanPreConsult(); }); //搜索框事件 $(".inp-search").on("input",function(){ var text = $(this).val().trim(), type = $(this).attr("data-val"); if(type == 1){//家庭医生咨询 $('#healthConsulationPanel').hide(); }else if(type == 2){//续方咨询 $('#re-prescriptionConsulationPanel').hide(); } showSearchSuggest(text, type); var $searchCancelBtn = $(".searchbar-clear"); if(text){ // $searchCancelBtn.css("opacity","1"); }else{ // $searchCancelBtn.css("opacity","0"); search(type); } }).on('keydown',function(e) { var type = $(this).attr("data-val"); if (e.which === 13) { search(type); } }); $("#search_suggest_text").on("click", function(){ search(1); }); $("#xf_search_suggest_text").on("click", function(){ search(2); }); $(".searchbar-clear").on("click", function(){ $(this).css("opacity","0"); var $input = $(this).closest('.inp-search'), type = $input.attr("data-val"); $input.val(''); if(type == 1){//家庭医生咨询 $("#search_suggest_text").text(''); $("#search_suggest_text").hide(); }else if(type == 2){//续方咨询 $("#xf_search_suggest_text").text(''); $("#xf_search_suggest_text").hide(); } search(type); }); //限制左右滑动 // 左滑事件 document.addEventListener("swipeleft", function(event) { console.log(event); event.preventDefault(); return false; }); // 右滑事件 document.addEventListener("swiperight", function(event) { console.log(event); event.preventDefault(); return false; }); } //未缴费居民限制咨询次数 function limitZxTimes(){ //获取剩余家庭咨询次数 var url = '/patient/consult/remainConsultTimes'; var remainTimes;//剩余咨询次数 var countTimes;//总咨询次数 var zxTimes;//已咨询次数 d.show(); sendPost(url, {}, 'json', 'get', queryFailed, function(res){ if(res.status == 200){ d.close(); remainTimes = res.data.amount; countTimes = res.data.count; zxTimes = countTimes - remainTimes; if(zxTimes == countTimes){ //未缴费的总咨询次数已达上限 提示去缴费 dialog({ content: '您本年度家庭医生签约暂未缴费,当前10次免费健康咨询已全部使用.如果需要家庭医生继续为您提供服务,请尽快完成缴费操作', okValue:'前往缴费', ok: function (){ window.location.href = "../../qygl/html/signing_management.html"; } }).showModal(); }else{ dialog({ content: '您本年度家庭医生签约暂未缴费,可使用10次免费健康咨询,当前剩余:'+remainTimes+'次.为避免影响您的服务体验,请尽快完成缴费操作', okValue:'前往缴费', ok: function (){ window.location.href = "../../qygl/html/signing_management.html"; }, cancelValue: '开始咨询', cancel: function () { querySignType(2) } }).showModal(); } }else{ queryFailed(res); } }); } //请求失败处理事件 function queryFailed(res, message){ d.close(); if(message){ dialog({contentType:'tipsbox',bottom:true, skin:'bk-popup' , content: message}).show(); }else{ 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(); } } } //获取微信信息,并配置微信api接口 function wxGetSign(){ var params = {}; params.pageUrl = window.location.href; $.ajax(server + "weixin/getSign", { data: params, dataType: "json", type: "post", success: function(res){ if (res.status == 200) { var t = res.data.timestamp; var noncestr = res.data.noncestr; var signature = res.data.signature; wx.config({ //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId: appId, // 必填,公众号的唯一标识 timestamp: t, // 必填,生成签名的时间戳 nonceStr: noncestr, // 必填,生成签名的随机串 signature: signature,// 必填,签名,见附录1 jsApiList: [ 'closeWindow' ] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); } } }); }