<template>
  <div class="in-activity-wrap">
    <!-- 顶部的四个阶段 进度条 -->
    <ul class="top-process-bar">
      <!-- <li class="over">
        <p class="title">高血压学习</p>
        <p class="date">12月16至19日</p>
      </li>
      <li class="active">
        <p class="title">糖尿病学习</p>
        <p class="date">12月20至24日</p>
      </li>
      <li>
        <p class="title">中医科学习</p>
        <p class="date">12月24至27日</p>
      </li>
      <li>
        <p class="title">全科学习</p>
        <p class="date">12月27至30日</p>
      </li> -->

      <li v-for="(item, index) in stageDateList" :class="returnStageClass(item, index)">
        <p class="title">{{ item.title }}</p>
        <p class="date">{{ item.date }}</p>
      </li>
    </ul>

    <div class="big-bg-wrap">
      <div class="award-wrap">
        <div class="stage-rule">
          <img class="stage-text" :src="returnStageText()" alt="">
          <img class="rule-btn" src="../assets/img/stageTwo/rule-btn.png" alt="" @click="handleRuleBtnClick">
        </div>
        <img class="reward-pic" :src="returnAwardPic()" alt="">
      </div>

      <!-- 未登录 -->
      <div v-if="!isLogin" class="not-login-wrap">
        <img class="gold-coin" src="../assets/img/stageTwo/gold-coin.png" alt="">
        <img class="head-icon" src="../assets/img/stageTwo/default-login-icon.png" alt="">  
        <div class="content-info">
          <p class="not-login-text">您还未登录</p>
          <p class="tips">登录并加入机构参加活动</p>
        </div>
        <div class="go-login login-but-no-join" @click="goToLogin">去登录<img src="../assets/img/stageTwo/right-icon-small.png" alt=""></div>
      </div> 

      <!-- 已登录，但没有加入机构  -->
      <div v-if="isLogin && !isJoin" class="not-login-wrap ">
        <img class="gold-coin" src="../assets/img/stageTwo/gold-coin.png" alt="">
        <img class="head-icon" v-if="doctorInfo.avatarImageUrl" :src="doctorInfo.avatarImageUrl" alt="">
        <img class="head-icon" v-else src="../assets/img/stageTwo/default-login-icon.png" alt="">  
        <div class="content-info">
          <p class="not-login-text">{{ doctorInfo.name }}</p>
          <p class="tips">尚未加入一个机构</p>
        </div>
        <div class="go-login login-but-nojoin" @click="goToJoin">加入机构<img src="../assets/img/stageTwo/right-icon-small.png" alt=""></div>
      </div> 


      <!-- 已登录 且 已加入机构 -->
      <div v-if="isLogin && isJoin" class="user-info-wrap">
        <img class="gold-coin" src="../assets/img/stageTwo/gold-coin.png" alt="">
        <div class="basic-info">
          <div class="head-icon">
            <img v-if="doctorInfo.avatarImageUrl" :src="doctorInfo.avatarImageUrl" alt="">
            <img v-else src="../assets/img/stageTwo/default-login-icon.png" alt="">
          </div>
          <div class="name-info">
            <p class="name">{{ doctorInfo.name }}</p>
            <p class="company">{{ doctorInfo.hospital }}</p>
          </div>
          <div @click="goToUserDetail" class="detail">个人明细<img src="../assets/img/stageTwo/right-icon-small.png" alt=""></div>
        </div>

        <ul class="billboard-wrap">
          <li>
            <p class="title">个人今日勤奋分</p>
            <p class="score">{{doctorInfo.userDayScore}}</p>
            <p class="rank"><img src="../assets/img/stageTwo/billboard-flag.png" alt="">今日排名{{doctorInfo.userDayRank}}</p>
            <div @click="goToUserBoard" class="billboard-btn">查看个人榜单<img src="../assets/img/stageTwo/right-icon-small.png" alt=""></div>
          </li>
          <li class="organ">
            <p class="title">机构累计勤奋分</p>
            <p class="score">{{doctorInfo.hospitalScore}}</p>
            <p class="rank"><img src="../assets/img/stageTwo/billboard-flag.png" alt="">累计排名{{doctorInfo.hospitalRank}}</p>
            <div @click="goToOrganBoard" class="billboard-btn">查看机构榜单<img src="../assets/img/stageTwo/right-icon-small.png" alt=""></div>
          </li>
        </ul>
        <p class="score-tips">再获得{{doctorInfo.targetRequiredScore}}勤奋分即可上升到前{{doctorInfo.targetRank}}名获得?????????</p>
        <div class="bean-wrap">
          <p class="personal-total-get">累计个人获得：<span>{{doctorInfo.userTotalBonus}}云鹊豆</span></p>
          <div class="bean-center">云鹊豆中心<img src="../assets/img/stageTwo/right-icon-small.png" alt=""></div>
        </div>
        <p class="bean-tips">机构勤奋分达成目标，全员可获云鹊豆</p>
        <div class="bean-stage">
          <img src="../assets/img/stageTwo/bean-stage01.png" alt="">
          <ul class="score-list">
            <li v-for="item in doctorInfo.hospitalLevelScore">达{{item}}分</li>
            <li>12月30日</li>
          </ul>
        </div>
      </div>

      
      
    </div>

    

    <!-- 邀请医生好友学课程 -->
    <div class="invite-doctor-wrap">
      <img class="top-head-icon" src="../assets/img/stageTwo/invite-doctor-top.png" alt="">
      <p class="invite-tips">每邀请1位医生好友领取课程，+20勤奋分 +20云鹊豆</p>
      <div class="invite-list-wrap">
        <ul class="invite-list">
          <template v-if="!isLogin || !isJoin">
            <li>
              <div class="add-btn" @click="eachDoctorClick">
                <img src="../assets/img/stageTwo/add-pic-icon.png" alt="">
              </div>
            </li>
            <li>
              <div class="add-btn" @click="eachDoctorClick">
                <img src="../assets/img/stageTwo/add-pic-icon.png" alt="">
              </div>
            </li>
            <li>
              <div class="add-btn" @click="eachDoctorClick">
                <img src="../assets/img/stageTwo/add-pic-icon.png" alt="">
              </div>
            </li>
            <li>
              <div class="add-btn" @click="eachDoctorClick">
                <img src="../assets/img/stageTwo/add-pic-icon.png" alt="">
              </div>
            </li>
          </template>
          <template v-if="isLogin && isJoin">
            <!-- 已邀请的 -->
            <li v-for="item in inviteList">
              <img @click="eachDoctorClick" v-if="item.avatarImageUrl" class="doctor-icon" :src="item.avatarImageUrl" alt="">   
              <img @click="eachDoctorClick" v-else class="doctor-icon" src="../assets/img/stageTwo/default-doctor-icon.png" alt="">   
              <p class="text">{{ item.doctorName ? item.doctorName : item.mobile }}</p>
            </li>
            <!-- 未邀请的 -->
            <template v-if="inviteList && inviteList.length < 4">
              <li v-for="item in notInviteShowList">
                <div class="add-btn" @click="eachDoctorClick">
                  <img src="../assets/img/stageTwo/add-pic-icon.png" alt="">
                </div>
              </li>
            </template>
          </template>
          <!-- 查看更多 -->
          <li>
            <div @click="seeMore" class="add-btn">
              <img class="right-icon-big" src="../assets/img/stageTwo/right-icon-big.png" alt="">
            </div>
            <p class="text see-more">查看更多</p>
          </li>
        </ul>
      </div>
      <div class="invite-btn">
        <img src="../assets/img/stageTwo/invite-btn.png" alt="" class="invite-btn">
        <p @click="handleInviteClick" class="text">去邀请</p>
      </div>
      <div class="login-tips">被邀请好友登录APP，收益X4倍</div>
    </div>

    <!-- 每日任务 -->
    <div class="daily-task">
      <div class="top-center-bar">每日任务</div>
      <ul class="task-list">
        <li>
          <img class="left-icon" src="../assets/img/stageTwo/daily-clock-icon.png" alt="">
          <div class="center-wrap">
            <p class="title">每日打卡</p>
            <p class="detail-text">+5勤奋分 +5云鹊豆</p>
          </div>
          <div @click="handleClock" class="right-btn done">已打卡</div>
        </li>
        <li>
          <img class="left-icon" src="../assets/img/stageTwo/hypertension-icon.png" alt="">
          <div class="center-wrap">
            <p class="title">高血压课程学习</p>
            <p class="detail-text">+5勤奋分 +5云鹊豆</p>
          </div>
          <div @click="handleTaskClick" class="right-btn">去学习</div>
        </li>
        <li>
          <img class="left-icon" src="../assets/img/stageTwo/smo-icon.png" alt="">
          <div class="center-wrap">
            <p class="title">高血压SMO项目任务</p>
            <p class="detail-text">奖励xxx勤奋分</p>
          </div>
          <div @click="handleTaskClick" class="right-btn">去完成</div>
        </li>
      </ul>
    </div>

    <!-- 底部云鹊logo -->
    <div class="bottom-logo">
      <img src="" alt="">
    </div>

    <!-- 打卡成功 弹窗 -->
    <div v-if="clockSuccessVisible" class="toast-wrap" @touchmove.prevent>
      <div class="full-screen-mask"></div>
      <div class="content-wrap">
        <img class="back-image" src="../assets/img/stageTwo/clock-success-bg.png" alt="">
        <!-- <img class="back-image" src="../assets/img/stageTwo/win-award-bg.png" alt=""> -->
        <!-- <img class="back-image" src="../assets/img/stageTwo/award-cup-bg.png" alt=""> -->
        <p class="title">打卡成功</p>
        <p class="message">已获得: 5勤奋分, 5云鹊豆</p>
        <div class="bottom-btn">我知道了</div>
        <div class="close-btn"></div>
      </div>
    </div>

    <!-- 活动结束 弹窗-->
    <div v-if="activityEndVisible" class="toast-wrap" @touchmove.prevent>
      <div class="full-screen-mask"></div>
      <div class="content-wrap activity-end">
        <p class="content-text">本次活动已结束，感谢您的参与，最终获奖排名将于12月30日10点公布，届时查看</p>
        <ul class="btn-list">
          <li>我知道了</li>
          <li class="high-light">查看昨日获奖</li>
        </ul>
      </div>
    </div>

  </div>
</template>

<script>
  import { getInviteList } from '@/service/activityMainpage';
  import { checkHospitalStatus } from '@/service';
  import { Toast } from 'vant';

  const cookies = require('cookie-universal')();
            
  
  let vm = null;
  export default {
    data () {
      return {
        serverTime: '',
        isLogin: false,  // 是否 已登录
        isJoin: false,    // 是否 已加入机构  默认为false
        joinStatus: 3,    // 1-已加入机构 2-机构在审核中状态 3-未加入机构
        currentStage: 0, // 当前处于第几阶段  0表示不在四个阶段里，1-4表示对应阶段
        stageDateList: [
          { date: '12月16至19日', beginDate: '2019/12/16 00:00:00', endDate: '2019/12/19 23:59:59', title: '高血压学习' },
          { date: '12月20至23日', beginDate: '2019/12/20 00:00:00', endDate: '2019/12/23 23:59:59', title: '糖尿病学习' },
          { date: '12月24至26日', beginDate: '2019/12/24 00:00:00', endDate: '2019/12/26 23:59:59', title: '中医学习' },
          { date: '12月27至29日', beginDate: '2019/12/27 00:00:00', endDate: '2019/12/29 23:59:59', title: '全科学习'   },
        ],

        appUserInfo: {
          userName: '',
          userMobile: '',
          doctorId: '',
          userToken: '',
          // appVersion: '',
          // systemType: '',
        },

        doctorInfo: {
          name: '',                              // 接口返回用户名字或者手机号带遮掩
          hospital: '',                          // 机构名称
          avatarImageUrl: '',                    // 头像URL
          userDayScore: '1000',                  // 用户当日勤奋分
          userDayRank: '5',                      // 用户当日排名
          hospitalScore: '6000',                 // 机构累计勤奋分
          hospitalRank: '8',                     // 机构累计排名
          userTotalBonus: '7777',                // 个人累计获得云鹊豆
          hospitalLevelScore: [100, 300, 700],   // 三阶段达标分值, 数组返回
          targetRequiredScore: '10',             // 再获得多少分  // 再获得10勤奋分即可上升到前10名获得欧姆龙温度计
          targetRank: '5',                       // 上升到多少名
        },
        championAward: [         // 第一名的奖励名称会根据日期变化
          '小米电视 4C 32英寸',   // 12.16-12.19
          '米家洗衣机',           // 12.20-12.23
          '米家两门冰箱',         // 12.24-12.26
          '荣耀 Play3',          // 12.27-12.29
        ],
        rankLittleTips: {
          first: '今日保持第1名，可获得小米电视',
          before3: '第1名可获得小米电视，今日再拿X分即有机会上升到第1名',
          before10: '前3名可获得血压计，今日再拿X分即有机会上升到第3名',
          after10: '前10名可获得体温计，今日再拿X分即有机会上升到第10名',
        },
        clockSuccessVisible: false,    // 是否显示 打卡成功 弹窗
        activityEndVisible: false,     // 是否显示 活动结束 弹窗

        inviteList: [],                // 已邀请的用户列表
        notInviteShowList: [],         // 未邀请的默认显示
        
      }
    },
    computed: {
      // loginUserIcon() {
      //   if(){

      //   }else{
      //     return '../assets/img/stageTwo/default-login-icon.png';
      //   }
      // },

      // 顶部类似tab的显示逻辑
      // topDateStatus(item) {
        
      // },
    },
    created() {
      vm = this;
      // 取服务器时间，切换不同时间段的显示
      vm.getServerTime();

    },
    mounted() {
      vm.$rocNative.appInit();
      vm.getUserInfo();   // 判断是否登录

      if (process.client) {
          window.__refresh = function(params) {
            vm.getUserInfo();   // 判断是否登录
            
          }
      }
    },
    methods: {
      // 获取服务器时间
      getServerTime() {
        // 调取接口获取服务器时间
        let serverTime = 11111;
        
      },
      returnStageText() {
        if(vm.currentStage == 0){
          return '';
        }else{
          return require(`../assets/img/stageTwo/stage-0${vm.currentStage}-text.png`);
        }
      },
      returnAwardPic() {
        if(vm.currentStage == 0){
          return '';
        }else{
          return require(`../assets/img/stageTwo/award-0${vm.currentStage}-pic.png`)
        }
      },
      returnStageClass(item, index){    // 返回顶部四个时间进度条状态 
        // debugger;
        // 获取当前服务器时间  获取失败则用本地时间
        let currentTime = 1577030400000;
        let beginTime = new Date(item.beginDate).getTime();
        let endTime = new Date(item.endDate).getTime();
        let status = '';
        if( currentTime < beginTime ){  // 未开始
          status = '';
        }else if( (currentTime == beginTime) || (beginTime < currentTime && currentTime < endTime) || (currentTime == endTime) ){  // 活动中
          status = 'active';
          vm.currentStage = index + 1;
        }else{  // 已结束
          status = 'over';
        };
        return status;
      },
      // 判断用户是否登录？
      getUserInfo() {
        vm.$rocNative 
        .getUserInfo()
        .then(params => {
          // _seft.userToken = params.userToken;  // 存到store里
          if(params && params.userToken){
            cookies.set('token', params.userToken)
          }

          alert(JSON.stringify(params));
          if(params && params.userMobile){   // 已登录 （有手机号表示 已登录，无手机号表示 未登录）
            vm.isLogin = true;
            vm.appUserInfo = params;
            alert('已经获取了 登录token了')
            vm.loginCallback();

            
          }else{  // 未登录
            vm.isLogin = false;
          }
        });
      },
      
      // 调用APP登录弹窗
      appLogin() {
        vm.$rocNative.gotoLogin();
      },
      // 登陆ok后 回调： 获取邀请的医生列表等。。
      loginCallback() {
        vm.getUserActivityInfo();  
        vm.goToCheckJoin();
      },
      getUserActivityInfo() {  // 获取用户及参加活动的具体信息
        // 请求接口
        vm.doctorInfo = {
          name: '云鹊医',                              // 接口返回用户名字或者手机号带遮掩
          hospital: '上海协和医院',                          // 机构名称
          avatarImageUrl: 'https://ss0.bdstatic.com/94oJfD_bAAcT8t7mm9GUKT-xh_/timg?image&quality=100&size=b4000_4000&sec=1575272062&di=90feeb5bbc9d7f7122f74be154c6f69c&src=http://b-ssl.duitang.com/uploads/item/201709/06/20170906180625_YNysd.jpeg',                    // 头像URL
          userDayScore: '111',                  // 用户当日勤奋分
          userDayRank: '222',                      // 用户当日排名
          hospitalScore: '333',                 // 机构累计勤奋分
          hospitalRank: '444',                     // 机构累计排名
          userTotalBonus: '555',                // 个人累计获得云鹊豆
          hospitalLevelScore: [111, 222, 333],   // 三阶段达标分值, 数组返回
          targetRequiredScore: '99',             // 再获得多少分  // 再获得10勤奋分即可上升到前10名获得欧姆龙温度计
          targetRank: '3',                       // 上升到多少名
        };
      },
      goToCheckJoin() {   // 检查是否加入结构
        checkHospitalStatus(vm.appUserInfo.userToken).then(res => {
          alert('jiandddddd')
          alert(JSON.stringify(res))
          if(res && res.code == '000000' ){
            const status = res.data.status;
            // const status = 15;  // test。。。。。。。。。。。。。。。。。
            alert('是否加入机构'); alert(status)
            if (status && status == 1) { // 机构状态正常
              vm.isJoin = true;
              vm.joinStatus = 1;
              vm.handleGetInviteList();   //登录且已加入机构才获取医生邀请了的列表 
            }else if (status && status == 15) { // 15创建机构审核中
              vm.isJoin = false;
              vm.joinStatus = 2;
            }else {  // 除了1,15 都是未加入机构
              vm.isJoin = false;
              vm.joinStatus = 3;
            }
          }else{
            vm.$toast(res.message);
          }
        });
      },
      handleGetInviteList() {
        let token = '5463439BE4444FF8BC47CC4575E9D550';   //  开发时用这个调用数据
        // let token = vm.appUserInfo.userToken;          //  正式上线 用这个！！！！
        getInviteList(token).then(res => {
          alert(JSON.stringify('获取邀请的列表 OK'));
          alert(JSON.stringify(res));

          if(res && res.code == '000000'){
            // alert
            if(res.data && res.data.list){
              vm.inviteList = res.data.list;
              alert(vm.inviteList.length)
              if( vm.inviteList.length > 4 || vm.inviteList.length == 4 ){
                vm.inviteList.length = 4;
                vm.notInviteShowList = [];
              }else{
                let notInviteLength = 4 - vm.inviteList.length;
                for(let i=0; i<notInviteLength; i++){
                  vm.notInviteShowList.push({
                    notInvite: true
                  })
                }
              }
            }else{
              vm.inviteList = [];
            }

          }else{
            vm.$toast(res.message);
          }
        })
      },
      // 活动规则
      handleRuleBtnClick() {
        alert('跳转至 活动规则页面')
      },
      // 去登录
      goToLogin() {
        alert('去登录...');
        vm.appLogin();
      },
      // 去加入机构
      goToJoin() {
        alert('去加入机构...')
        // 用户点击【加入机构】，继续判断用户是否有创建机构在审核状态，若有，则弹出弹窗提示。若无则跳转加入机构页面
        if( vm.joinStatus == 2 ){        // 机构审核中
          alert('去机构审核中。。。。')
          this.$dialog.confirm({
            title: '提醒',
            message: `抱歉，您创建的机构【${vm.doctorInfo.hospital}】正在审核中，审核通过后可参与活动<br/><br/>如有疑问可联系客：<span>400-920-8877</span><br/>(周一至周五9:00-18:00)`,
            confirmButtonText: '查看进度',
            cancelButtonText: '我知道了',
            className: 'remind-success',
          }).then(() => {
            this.checkVersion(()=>{
              if (this.$rocNative.isAndroid) {
                this.$rocNative.setNeedClearUrl({ url: 'year_end_ssr' });
              }
              this.$rocNative.gotoInstitutionalReview({ url: window.location.href });
            });
          });

        }else if( vm.joinStatus == 3 ){  // 未加入机构
          alert('未加入机构。。。。。')
          this.checkVersion(()=>{
            if (this.$rocNative.isAndroid) {
              this.$rocNative.setNeedClearUrl({ url: 'year_end_ssr' });
            }
            this.$rocNative.gotoActivityHospital({ url: window.location.href });
          })
        }

      },
      checkVersion(callback){
        this.$rocNative.getAppVersionCode().then(res => {
          const appVersion = parseFloat(res.versionCode.replace(/\./g, ''));
          if(appVersion>=317){
            callback();
          }else{
            this.$dialog.alert({
              message: '当前app版本过低，请升级版本后继续操作',
              className: 'version-toast'
            });
          }
        });
      },
      handleLoginCheck(cb) {
        if( !this.isLogin ){                       // 未登录 >>>  去登录
          this.goToLogin();
        }else if( this.isLogin && !this.isJoin ){  // 已登录 && 未加入机构  >>>>  去加入机构
          this.goToJoin();
        }else if( this.isLogin && this.isJoin ){   // 已登录 && 已加入机构  >>>>  去详情页？？
          cb && cb();
        }
      },

      // 跳转至 个人明细 
      goToUserDetail() {
        alert('跳转至 个人明细')
      },
      // 查看个人榜单
      goToUserBoard() {
        alert('跳转至 个人榜单')
        
      },
      // 查看机构榜单
      goToOrganBoard() {
        alert('跳转至 机构榜单')
      },
      // 云鹊豆中心
      goToBeanCenter() {
        alert('云鹊豆中心')
      },

      // “邀请医生好友学课程” 列表中的每一个医生点击事件
      eachDoctorClick() {
        let cb = this.goToDoctorPage;
        this.handleLoginCheck(cb);
      },
      // 去每个li医生详情页 ??????
      goToDoctorPage() {
        //“被邀请的用户模块“点击逻辑，点击用户头像、“+“或者查看更多，都跳转至邀请详情页
        alert('去邀请详情页....')

      },

      //“邀请医生好友学课程” 查看更多
      seeMore() {
        let cb = this.seeInviteMore;
        this.handleLoginCheck(cb);
      },
      // 跳转至 “查看更多” 页面
      seeInviteMore() {
        alert('去查看更多页面...');
      },

      // 去邀请 按钮
      handleInviteClick() {
        let cb = this.goToInvite;
        this.handleLoginCheck(cb);
      },
      goToInvite() {
        console.log('去邀请逻辑》》》')
      },

      // 去打卡 按钮
      handleClock() {
        let cb = this.goToClock;
        this.handleLoginCheck(cb);
      },
      goToClock() {
        console.log('执行打卡逻辑');
      },

      // 每个任务的跳转点击
      handleTaskClick() {
        let cb = this.goToTask;
        this.handleLoginCheck(cb);
      },
      goToTask() {
        console.log('do每个任务的跳转逻辑')
      },


      // request
      getDoctorInfo() {

      },

    },  
  }
</script>>

<style lang="less">
  @import '../assets/style/in-activity.less';
</style>
<style lang="less">
  @import '../assets/style/revant.less';
</style>