123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310 |
- var d = dialog({contentType:'load', skin:'bk-popup', content:'加载中...'});
- var mySwiper;
- var pagetype = 33;
- var signStatus;
- var Request = GetRequest();
- var userAgent = localStorage.getItem(agentName);
- var changeDoctor = Request.changeDoctor || 0; //标记是否是医生发起的模板消息,1-医生发起的
- $(function(){
- var toUser = Request["toUser"];
- var toName = decodeURIComponent(Request["toName"]);
- var openid = Request["openid"];
- var represented = Request["represented"];
- if(!userAgent) {
- window.location.href = server + "wx/html/home/html/login.html?type=" + pagetype + "&openid=" + openid;
- return false;
- }
- var newUaObj = JSON.parse(userAgent)
- //判断关系
- 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));
- userAgent = JSON.parse(localStorage.getItem(agentName));
- queryInit()
- })
- }
-
- 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{
- userAgent = JSON.parse(userAgent);
- queryInit()
- }
- }
- initFamilyData();
-
- $('.swiper-slide,.swiper-container').css({
- height: $(window).height()
- });
- $(window).on('resize',function(){
- $('.swiper-slide,.swiper-container').css({
- height: $(window).height()
- });
- });
- });
- function queryInit(){
- var date = new Date();
- getStatistics(); //获得统计数据
- bindEvents();
- getWeixinSign();
- }
- function reqFailed(res){
- d.close();
- if(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 initSwiper(){
- mySwiper = new Swiper('.swiper-container',{
- setWrapperSize :true,
- direction:"vertical",
- speed : 1000,
- longSwipesRatio : 0.3,
- grabCursor:true,
- nextButton:'.next-btn',
- prevButton:'.pre-btn',
- mousewheelControl : true,
- lazyLoading : true,
- lazyLoadingInPrevNext : true,
- lazyLoadingOnTransitionStart : true,
- onInit: function(swiper){
- setTimeout(function(){
- $("#loading").remove();
- $(".swiper-container").css({"opacity":"1"});
- swiperAnimateCache(swiper);
- swiperAnimate(swiper);
- },1000);
- },
- onSlideChangeEnd: function(swiper){
- swiperAnimate(swiper);
- },
- onTransitionEnd: function(swiper){
- swiperAnimate(swiper);
- }
- });
- }
- function getStatistics(){
- d.show();
- var url = "/patient/family_contract/getSignCountInfoInYear",
- params = {patient: userAgent.represented?userAgent.represented:userAgent.uid};
-
- sendPost(url, params, "JSON", "get", reqFailed, function(res){
- if(res.status == 200){
- d.close();
- var data = res.data,
- consultTotal = data.consultTotal,
- articleCount = data.articleResult[0].articleCount,
- guidanceCount = data.guidanceResult[0].guidanceCount,
- reservationCount = data.reservationResult[0].reservationCount,
- totalCount = articleCount + guidanceCount + reservationCount;
- if(consultTotal == 0 && totalCount == 0){
- $(".result-info").html("您没有该年度的服务记录");
- $("#directBtn").text("了解更多授权续签");
- $("#directBtn").parent().show();
- $("#directBtn").attr("href", "agreement.html?changeDoctor="+changeDoctor);
- return;
- }
- $("#skip").show();
- $(".page1-text-1").text(res.data.consultTotal);
- var len = res.data.consultResult.length;
- var newRs = _.sortBy(res.data.consultResult, function(o){
- return -o.consultCount;
- });
- var page1html = "";
- for(i=0; i<len; i++){
- var item = newRs[i];
- var mt = "";
- if(i > 0){
- mt = "mt10";
- }
- if(i < 3){
- page1html += '<div class="mlr10 bgc-2e2068 plr10 page1-text '+mt+' ani" swiper-animate-effect="lightSpeedIn" swiper-animate-duration="0.5s" swiper-animate-delay="'+(i*0.5)+'s">'+
- '<span class="c-f16 c-00e669">'+item.doctorName+'</span>'+
- '<img src="../images/01xuanqian_img02_bg.png">'+
- '<span class="c-f20 c-00e669 num">'+item.consultCount+'</span></div>';
-
- }else{
- page1html += '<div class="ani c-t-center mt10" swiper-animate-effect="lightSpeedIn" swiper-animate-duration="0.5s" swiper-animate-delay="'+(i*0.5)+'s"><img src="../images/icon_more.png"></div>'
- break;
- }
- }
- $(".swiper-slide1").append(page1html);
-
- //第二页内容填充
- var page2html = '<p class="page2-text-1"><span class="c-24 c-bold c-fff mr5">今年</span>';
- var docLen = res.data.doctors.length;
- if(docLen == 0){
- page2html += '<span class="c-f16 c-ffff00">没有</span>';
- }
- for(j=0; j<docLen; j++){
- var item = res.data.doctors[j];
- if(j > 0){
- page2html += '<span class="c-f16 c-ffff00">、</span>';
- }
- page2html += '<span class="c-f16 c-ffff00 ani" swiper-animate-effect="fadeInDown" swiper-animate-duration="0.5s" swiper-animate-delay="'+(j*0.5)+'s">'+item.name+'</span>';
- }
- page2html += '<span class="c-24 c-bold c-fff ml5">医生</span></p>';
- $(".page2-div1").append(page2html);
-
- $(".page2-text-3").text(totalCount);
- $(".page2-text-4").text(reservationCount);
- $(".page2-text-5").text(guidanceCount);
- $(".page2-text-6").text(articleCount);
- initSwiper();
- }else{
- if(res.status == -1){
- //请求判断是和情况
- var url = "/patient/family_contract/checkCanRenew",
- params = {patient: userAgent.represented?userAgent.represented:userAgent.uid};
- sendPost(url, params, "json", "post", reqFailed , function(res){
- if(res.status == 200){
- var code = res.data.code,
- msg = "您没有签约关系<br/>请前往签约管理页面签约医生",
- enable = true;
- switch (parseInt(code)){
- case -4:
- msg = "您当前无可续签的家庭医生<br/>可在签约管理页面签约医生";
- enable = false;
- break;
- case -2:
- msg = "您已完成新年度的签约<br/>不能再次签约";
- enable = false;
- break;
- case -1:
- msg = "当前时间段不允许续签<br/>可前往签约管理页面签约医生";
- enable = false;
- break;
- }
- $(".result-info").html(msg);
- $("#directBtn").text("我知道了");
- $("#directBtn").parent().show();
- $("#directBtn").attr("href", "../../qygl/html/signing_management.html");
- }else{
- $(".result-info").html("您没有签约关系<br/>请前往签约管理页面签约医生");
- $("#directBtn").text("我知道了");
- $("#directBtn").parent().show();
- $("#directBtn").attr("href", "../../qygl/html/signing_management.html");
- }
- d.close();
- });
-
- }
- }
- });
- }
- function bindEvents(){
- $(".more-btn").on('tap', function(){
- window.location.href = "agreement.html?signStatus="+signStatus+"&changeDoctor="+changeDoctor;
- });
- $("#skip").on("tap", function(){
- window.location.href = "agreement.html?signStatus="+signStatus+"&changeDoctor="+changeDoctor;
- })
- }
- function getWeixinSign(){
- 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
- });
- }
- }
- });
- }
|