//家庭医生咨询分页参数
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
});
}
}
});
}