<template>
  <!-- 组件详情页面：模块列表及其下面的元件列表 -->
  <div class="page-container-merge">
    <!-- <CommonNavbar
      id="header"
      :bgColor="bgColor"
      v-show="isShowNavbar"
      :isBlack="isBlack"
      :isShowShare="isShowShare"
      :title="navTitle"
      :shareTitle="project.projectName"
      :shareTitleInfo="project.projectIntro"
      :isFixNavbar="isFixNavbar"
      :burialPoint="pointStyle"
      borderStyle="0px solid #fff"
      :backMethod="from"
    ></CommonNavbar>-->
    <div class="page-content list-container">
      <!-- banner图片 -->
      <div v-if="bannerType == 1" class="page-content-img-container">
        <img class="banner-img" :src="attachmentUrl" />
        <img v-show="project.status == 5" class="banner-img-5" src="../images/status-keep-on.png" />
        <img v-show="project.status == 10" class="banner-img-10" src="../images/status-end-cme.png" />
      </div>
      <!-- banner视频 -->
      <div class="video-box" v-if="bannerType == 2">
        <pica-video
          ref="picaVideo"
          :coverType="coverType"
          :download="download"
          @onVideoEnd="onVideoEnd"
          @onReplay="onReplay"
        >
          <!-- 试看结束 -->
          <div class="cover" v-if="logged && coverType === 1">
            <course-covers
              coverTips="试看结束<br />请来云鹊医App学习完整课程"
              :isSingle="true"
              rightBtnText="立即购买"
              @btnClick="btnClick1"
            />
          </div>
          <!-- 播放结束，下载App -->
          <div class="cover" v-if="logged && coverType === 2">
            <course-covers
              coverTips="播放结束<br />更多其他课程，请前往鹊医App学习"
              :isSingle="true"
              rightBtnText="去云鹊医App"
              @btnClick="btnClick2"
            />
          </div>
          <!-- 未登录 -->
          <div class="cover" v-if="!logged">
            <course-covers
              coverTips="登录后马上学习课程"
              :isSingle="true"
              rightBtnText="去登录"
              @btnClick="beforeGoLogin"
            />
          </div>
        </pica-video>
      </div>

      <!-- <div class="sk-btn-cover-new" @click="continueStudy()" v-if="bannerType == 2 && hasBindCard">
        <span :class="{'android': isAndroid}">继续学习</span>
      </div>-->
      <!-- 项目标题 -->
      <CommonDescription
        :projectName="project.projectName"
        :studyNum="project.studyNum"
        :subject="project.subject"
      />
      <!-- <CommonAdertImg :advertInfoList="advertInfoList" position="0" /> -->
      <!-- 简介和目录 -->
      <div class="intro-catalogue-container">
        <div
          id="content-title"
          class="title"
          :class="{'fixed-title-1': (fixedFlag && !isWeb), 'fixed-title-2': (fixedFlag && isWeb)}"
        >
          <span :class="{'focus': tabFlag}" @click="jumpIntro">简介</span>
          <span :class="{'focus': !tabFlag}" @click="jumpCatalogue">目录</span>
          <DownloadButton v-if="showDownloadButton"></DownloadButton>
        </div>
        <div v-show="fixedFlag" class="fixed-flag-height"></div>
        <div id="intro-content" class="intro-content">
          <BasicInfo
            :projectNo="project.projectNo"
            :credit="project.credit"
            :level="project.level"
            :scope="project.scope"
            :startDate="project.startDate"
            :endDate="project.endDate"
            :organName="project.organName"
            :remind="project.remind"
            :projectCredit="project.projectCredit"
            :projectName="project.projectName"
          />
          <LearnKnow v-if="project.mustKnow" :mustKnow="project.mustKnow"></LearnKnow>
          <CommonSpliteLine></CommonSpliteLine>
          <ItemIntro v-if="textContent" :textContent="textContent" @itemIntroText="itemIntroText"></ItemIntro>
          <ItemLeader
            v-if="projectLeader"
            :projectLeader="projectLeader"
            :leaderText="leaderText"
            @changeLeaderText="changeLeaderText"
          />
          <TeacterIntro v-if="doctorList.length" :doctorList="doctorList"></TeacterIntro>
        </div>
        <CommonSpliteLine></CommonSpliteLine>
        <div id="catalogue-content" class="catalogue-content">
          <div class="catalogue-title">
            <span class="c-title">目录</span>
            <span v-if="needShowUpdate" class="c-sub">每周更新课程</span>
          </div>
          <CellListDetailShare
            :projectComponent="projectComponentDTOS"
            :actionList="actionList"
            :detailNum="detailNum"
            :courseRequire="courseRequire"
            :hasBindCard="hasBindCard"
            :limitTimes="limitTimes"
            :logged="logged"
            :projectId="projectId"
            :goodsId="cardInfo.id"
          />
        </div>
      </div>

      <!-- <CommonAdertImg needPadTop :advertInfoList="advertInfoList" position="1" /> -->
      <NoMoreContent />
      <div v-if="detailNum <= 9" class="no-more-bottom"></div>
    </div>

    <div v-if="!hasBindCard" style="padding-top: 60px"></div>
    <!-- <div v-if="!hasBindCard && !isWeb" style="padding-top: 30px"></div> -->

    <BindCardButton
      v-if="!hasBindCard"
      :cardInfo="cardInfo"
      @changeClick="changeClick"
      @gotoBuy="confirm"
    ></BindCardButton>

    <!-- <BindCardButtonShare
      v-if="!hasBindCard"
      :cardInfo="cardInfo"
      @changeClick="changeClick"
      @gotoBuy="confirm"
    ></BindCardButtonShare>-->

    <!--去激活-->
    <ChangeCard
      :changeErrorMsg="changeCardErrorMsg"
      :isShow="showChangeCard"
      @cancle="cancleChangeCard"
      @confirm="beforeChangeCardAction"
    ></ChangeCard>
    <Loading v-show="showLoading" />

    <!-- 主动提示：激活并去学习 -->
    <CourseDialog
      :subContent="subContent"
      confirmBtnText="激活"
      needSubContent
      :isShowDialog="showBindCardTips"
      @handlerAction="handlerAction"
    ></CourseDialog>
  </div>
</template>
<script>
import CommonNavbar from "@/components/common/common-navbar";
import CommonDescription from "@/components/common/common-description";
import CommonSpliteLine from "@/components/common/common-splite-line";

import CellListDetailShare from "@/components/business/cell-list-detail-share";
import Loading from "@/components/common/common-loading";

import BasicInfo from "@/components/cme/basic-info";
import LearnKnow from "@/components/cme/learn-know";
import ItemIntro from "@/components/cme/item-intro";
import ItemLeader from "@/components/cme/item-leader";
import TeacterIntro from "@/components/cme/teacter-intro";
import CourseDialog from "@/components/course/course-dialog";
import ExjumperButton from "@/components/cme/exjumper-button";
import NoMoreContent from "@/components/business/no-more-content";
// import CommonAdertImg from "@/components/common/common-advert-img";

import {
  getWebPageUrl,
  gotoPage,
  getAppVersion,
  getCookie
} from "@/utils/index";
import { mapGetters, mapActions } from "vuex";
import vueFilters from "@/utils/filter";
import { Toast } from "vant";
import BindCardButton from "@/components/cme/bind-card-button";
// import BindCardButtonShare from "@/components/cme/bind-card-button-share";
import ChangeCard from "@/components/cme/change-card";
import CourseCovers from "@/components/course/course-covers";
import DownloadButton from "@/components/course/download-button";
import PicaVideo from "@/components/course/pica-video";

let cataOffsetTop = 0;
let intorOffsetTop = 0;
let titleOffsetHeight = 50;

export default {
  data() {
    return {
      coverType: 0,
      downloadTips: "打开云鹊医APP",
      isWeb: window.__isWeb,
      isAndroid: __isAndroid,
      textContent: "",
      leaderText: "",
      pageTitle: "",
      isShowShare: true,
      tabFlag: true, // 显示目录还是简介
      fixedFlag: false, // 目录和简介是否固定
      project: {
        credit: "", // 学分
        creditId: 0, // 学分Id
        level: "", // 项目等级
        scope: "", // 申请范围
        remind: "", // 在不在范围提醒
        startDate: 0, // 开始时间
        endDate: 0, // 结束时间
        organName: "", // 发起机构
        projectName: "", // 项目名称
        projectNo: "", // 项目编号
        currentProgress: 0, // 项目进度
        projectIntro: "", // 项目介绍
        mustKnow: "", // 学习须知
        studyNum: 0, // 学习人数
        studyProgress: "0%", // 学习进度
        subject: "", // 学科
        status: 0, // 项目状态 5是进行中 10是已结束
        certificateUrl: "", // 证书url
        inScope: 0, // 是否在范围内判断
        projectCredit: "", // 学分
        certificateId: "0",
        examBtnUrl: "", //  考试按钮跳转连接
        firstIntoExam: false, //  true弹框，是否首次进入考试,用于首次跳转弹框提示,只跟项目和人员有关
        jumpToContents: false, //  是否跳转到目录
        cardStatus: 0,
        cardKey: ""
      },
      hasBindCard: false, // 是否绑定过学习卡或激活过   没有绑定，则显示绑定按钮
      limitTimes: 60,
      projectLeader: {},
      doctorList: [],
      from: "inner",
      isBlack: false,
      showLoading: false,
      projectId: "1",
      contentList: [],
      //moduleName: "",
      bannerType: 2, // 1 图片 2视频
      videoOptions: {
        mp4: "",
        autoplay: false, //iOS下safari浏览器，以及大部分移动端浏览器是不开放视频自动播放这个能力的
        coverpic: require("../images/video-cover.png"),
        width: "415", //视频的显示宽度，请尽量使用视频分辨率宽度
        height: "210", //视频的显示高度，请尽量使用视频分辨率高度
        trySeeTime: "",
        x5_fullscreen: false
      },
      //projectStatus: 1, //1没有获得证书 2是获得全部证书
      // attachmentUrl: require("../images/banner-default.png"),
      attachmentUrl: require("../images/video-cover.png"),
      bgColor: "none",
      navTitle: "项目详情",
      // compTitle: "组件名称",
      isShowNavbar: true,
      isFixNavbar: true,
      pointStyle: "activity",
      projectComponentDTOS: [],
      actionList: [],
      detailNum: 0,
      courseRequire: 0,
      clientType: 0,
      // currentProgress>1时考试按钮显示并可用
      btnType: "primary", // primary: 可跳转时（currentProgress = 1）; disabled: 不可跳转时
      btnText: "学完全部课程，可参加考试", // 参加考试（currentProgress = 1）; 或者学完全部课程，可参加考试
      provinceId: "",
      organizationId: "",
      cardInfo: {
        id: 0
      },
      advertInfoList: [],
      showChangeCard: false, //是否展示激活弹框,
      changeCardErrorMsg: "",
      isInfresh: false,
      needShowUpdate: false,
      skCourseId: 0,
      needShort: false,
      showDownloadButton: false,
      uuid: "",
      token: "",
      shareUrl: "",
      showBindCardTips: false,
      cmeCardModels: {
        cardNo: "",
        cardKey: "",
        cardType: 3,
        orderId: 0
      },
      subContent: "",
      hasNoUsedCard: false,
    };
  },
  components: {
    CommonNavbar,
    CommonDescription,
    CommonSpliteLine,
    CellListDetailShare,
    Loading,
    BasicInfo,
    LearnKnow,
    ItemIntro,
    ItemLeader,
    TeacterIntro,
    CourseDialog,
    ExjumperButton,
    // CommonAdertImg,
    NoMoreContent,
    BindCardButton,
    // BindCardButtonShare,
    ChangeCard,
    CourseCovers,
    DownloadButton,
    PicaVideo
  },

  computed: {
    ...mapGetters(["userInfo", "logged"])
  },

  created() {
    let _this = this;
    this.from = this.$route.query.from || this.from || "native";
    let href = location.href;
    let uuidIndex = href.indexOf("uuid") || 0;
    if (uuidIndex > 0) {
      this.uuid = href.substr(uuidIndex + 5, 32);
    } else {
      this.uuid = "07F9625472D6444EBAE4BF7D2EF83BC4";
    }
    this.shareUrl = location.href;
    if (href.indexOf("singlemessage") >= 0 || href.indexOf("wx_code") >= 0) {
      this.shareUrl = getWebPageUrl(`profexam/#/sharecoop?uuid=${this.uuid}`);
      location.replace(this.shareUrl);
    }
    localStorage.setItem('returnUrl', this.shareUrl);
    const { token, info } = this.$store.state.user;
    this.token = token || localStorage.getItem('couponToken') || getCookie("couponToken");
    // 如果有token，但没有用户信息，则获取用户信息
    if (this.token && !info.id) {
      this.commonCheckToken(() => {
        this.$store.dispatch("getUserInfo");
      });
    }
    this.queryByUuid(this.uuid);

    // 调用广告位接口
    // this.getAdvertInfoList();
  },
  mounted() {
    window.addEventListener("scroll", this.scrollFun);
  },
  beforeDestroyed() {
    window.removeEventListener("scroll", this.scrollFun);
  },
  methods: {
    ...mapActions(["setUserInfo", "goLogin"]),

    beforeGoLogin() {
      this.$sendBuriedData({
        component_tag: `882#88211`
      });
      this.goLogin();
    },

    // 解析uuid
    queryByUuid(uuid) {
      let param = {
        uuid: uuid
      };
      this.GET(`portal/shareParam/queryByUuid`, param).then(res => {
        if (res.code == "000000") {
          this.shareParam = JSON.parse(res.data || "{}");
          this.projectId = this.shareParam.projectId || 812; // 797 812
          this.getProjectInfoById();
          console.log("queryByUuid", res);
        }
      });
    },
    // 视频播放结束
    onVideoEnd(opt) {
      if (opt.type === 1) {
        this.coverType = 2;
      } else if (opt.type === 2) {
        // 试看结束
        this.coverType = 1;
      }
    },
    onReplay() {
      this.coverType = 0;
    },

    btnClick1() {
      this.$sendBuriedData({
        component_tag: `882#88220`
      });
      this.download();
    },

    btnClick2() {
      this.$sendBuriedData({
        component_tag: `882#88214`
      });
      this.download();
    },

    btnClick(index, type) {
      this.download();
    },

    download(type) {
      this.confirm();
      // setTimeout(() => {
      //   window.location.href =
      //     "https://a.app.qq.com/o/simple.jsp?pkgname=com.picahealth.yunque";
      // }, 100);
    },

    // 关闭激活弹框
    cancleChangeCard() {
      this.showChangeCard = false;
    },

    // 处理提示信息框
    handlerAction(type) {
      if(type == 1) {
        this.$sendBuriedData({
          component_tag: `882#88219`
        });
        this.showBindCardTips = false;
      } else {
        this.$sendBuriedData({
          component_tag: `882#88218`
        });
        this.beforeChangeCardAction(this.cmeCardModels.cardKey, true)
      }
    },

    // 激活前
    beforeChangeCardAction(cardKey, isInTips) {
      this.commonCheckToken(() => {
        this.changeCardAction(cardKey, isInTips);
      });
    },

    // 查询是否买过类似的卡，但还没有绑定
    hasNoUsedCardAction() {
      let param = {
        setEntry: true
      };
      this.GET(`cme/projectCard/queryNoUsedCard/${this.project.goodsType}/${this.project.cardType}`, param).then(({ data }) => {
        this.hasNoUsedCard = data.hasNoUsedCard;
        if (data.hasNoUsedCard == 1) {
          this.cmeCardModels = data.cmeCardModels[0] || {};
          this.showBindCardTips = true;
        }
      });
    },

    // 激活Action  返回值：0绑定失败，1绑定成功
    changeCardAction(cardKey, isInTips) {
      let _this = this;
      let param = {
        idType: 1,
        cardKey: cardKey,
        cardType: this.project.cardType || 3,
        goodsType: this.project.goodsType || 3,
        channel: 3,
        portalProjectId: this.projectId,
        setEntry: true
      };
      _this.changeCardErrorMsg = "";
      this.POST("cme/projectCard/bind", param)
        .then(res => {
          isInTips && (_this.showBindCardTips = false);
          console.log('in res', res, isInTips);
          if (res.code == "000000") {
            if (!res.data) {
              if(isInTips) {
                Toast(res.message);            
              } else {
                _this.changeCardErrorMsg = "请输入正确的激活码";
              }
            } else {
              _this.showChangeCard = false;
              Toast("激活成功，开始学习");
              _this.getProjectInfoById();
            }
          } else {
            Toast(res.message);            
          }
        })
        .catch(e => {
          console.log('in catch', isInTips);
          if(isInTips) {
            Toast("无效的激活码");
            _this.showBindCardTips = false;
          } else {
            _this.changeCardErrorMsg = "请输入正确的激活码";
          }
        });
    },

    // 查询教培项目广告位配置信息
    getAdvertInfoList() {
      let param = {
        setEntry: true
      };
      this.GET(`portal/jump/${this.projectId}/1`, param).then(res => {
        if (res.code == "000000") {
          this.advertInfoList = (res.data && res.data.list) || [];
          console.log("advertInfoList", this.advertInfoList);
        }
      });
    },

    // 跳转前判断是否有机构，否则使用定位信息
    preJumper() {
      this.getCardInfoByProvinceId(this.provinceId || "");
    },

    // 根据省ID，获取学习卡信息
    getCardInfoByProvinceId(provinceId) {
      let param = {
        area: provinceId + "",
        cardType: this.project.cardType || 3,
        cardTypeList: [ this.project.cardType || 3],
        goodsType: this.project.goodsType,
        // pageNum: 1,
        // pageSize: 1
      };
      param.setEntry = true;
      this.POST("trade/goods/cardList_v2", param).then(res => {
        if (res.code == "000000") {
          this.showLoading = false;
          this.cardInfo = (res.data && res.data[0]) || { id: 0, name: "职称考精讲课程卡" };
          this.subContent = `您已购买“${this.cardInfo.goodsName}”，是否使用此卡绑定并激活当前内容？一旦使用，不可更改或退回`
        }
      });
    },

    confirm() {
      // this.$sendBuriedData({
      //   component_tag: `882#88203`
      // });
      this.commonCheckToken(() => {
        let jumpUrl = getWebPageUrl(
          `profexam/#/goods-detail?goodsId=${this.cardInfo.id}&projectId=${this.projectId}`
        );
        window.location.href = jumpUrl;
      });
    },

    // 首次进入考试时记录(点击‘我知道了’时调用)
    firstIntoExamAction() {
      let _this = this;
      let param = {
        token: _this.token,
        setEntry: true
      };
      this.NEW_POST(`cme/project/${_this.projectId}/firstIntoExam`, param).then(
        res => {
          if (res.code == "000000") {
            this.project.firstIntoExam = false;
          }
        }
      );
    },

    //去激活
    changeClick() {
      this.commonCheckToken(() => {
        this.showChangeCard = true;
      });
    },

    scrollFun() {
      //如果是第一次的弹框，则直接退出
      let scrollTop =
        document.body.scrollTop || document.documentElement.scrollTop;
      let h = intorOffsetTop - 135;
      // 显示头部导航
      if (scrollTop > 20) {
        this.isBlack = true;
        this.bgColor = "#fff";
      } else {
        this.isBlack = false;
        this.bgColor = "none";
      }

      if (window.__isWeb) {
        h = intorOffsetTop - 88;
      } else if (window.__isIOS) {
        h = intorOffsetTop - 140;
      }

      // 如果滚动高度大于简介头部（并减去tab高度），则进行固定
      if (scrollTop > h) {
        this.fixedFlag = true;
      } else {
        this.fixedFlag = false;
      }

      // 如果滚动高度大于
      if (scrollTop > cataOffsetTop - 600) {
        this.tabFlag = false;
      } else {
        this.tabFlag = true;
      }
    },

    // 锚点到简介
    jumpIntro() {
      if (!this.tabFlag) {
        this.tabFlag = true;
      }
      if (!this.fixedFlag) {
        this.fixedFlag = true;
      }
      let h;
      if (this.isWeb) {
        h = intorOffsetTop - 30 - titleOffsetHeight;
      } else {
        h = intorOffsetTop - 85 - titleOffsetHeight;
      }
      window.scrollTo(0, h);
      this.isBlack = true;
      this.bgColor = "#fff";
      // this.$sendBuriedData({
      //   component_tag: `211#211007#${this.projectId}`
      // });
    },

    // 锚点到目录
    jumpCatalogue() {
      if (this.tabFlag) {
        this.tabFlag = false;
      }
      if (!this.fixedFlag) {
        this.fixedFlag = true;
      }
      let h;
      if (this.isWeb) {
        h = cataOffsetTop - titleOffsetHeight;
      } else {
        h = cataOffsetTop - 100;
      }
      window.scrollTo(0, h);
      this.isBlack = true;
      this.bgColor = "#fff";
      // this.$sendBuriedData({
      //   component_tag: `211#211008#${this.projectId}`
      // });
    },

    // 获取项目详情
    getProjectInfoById() {
      let _this = this;
      let param = {
        token: _this.token,
        setEntry: true
      };
      // let videoUrl = this.$route.query.videoUrl || "";
      let videoUrl = this.shareParam.videoUrl;
      if (videoUrl) {
        param.trySeeFlag = 0;
      } else {
        param.trySeeFlag = 1;
      }
      console.log("getProjectInfoById", param);
      _this.showLoading = true;
      this.NEW_GET(`cme/project/${_this.projectId}/info`, param).then(res => {
        if (res.code == "000000") {
          this.showDownloadButton = true;
          if (videoUrl) {
            _this.limitTimes = this.shareParam.limitTimes || 0;
            _this.videoOptions.mp4 = videoUrl;
            _this.videoOptions.trySeeTime = this.shareParam.limitTimes || 0;
          } else {
            _this.limitTimes = res.data.trySeeTime;
            _this.videoOptions.mp4 = res.data.attachmentUrl;
            _this.videoOptions.trySeeTime = res.data.trySeeTime || 0;
          }
          _this.hasBindCard = res.data.cardStatus == 0 ? false : true;
          if (_this.hasBindCard) {
            _this.videoOptions.trySeeTime = 0;
            _this.videoOptions.autoplay = false;
          // 如果没有绑定卡，则查询是否有未绑定的卡
          }
          let mp4Url = _this.videoOptions.mp4;
          // 判断是否是mp4
          if (mp4Url.lastIndexOf(".mp4") > 0) {
            _this.bannerType = 2;
            this.$nextTick(() => {
              console.log("_this.$refs.picaVideo", _this.$refs.picaVideo);
              _this.$refs.picaVideo.switchUrl({
                url: mp4Url,
                proved: _this.videoOptions.trySeeTime,
                enable: true
              });
            });
            // // TODO test
            // _this.videoOptions.mp4 += 2;
          } else {
            if (res.data.attachmentType == 2) {
              _this.videoOptions.mp4 = res.data.attachmentUrl;
            } else {
              _this.attachmentUrl = res.data.attachmentUrl;
            }
            _this.bannerType = res.data.attachmentType;
          }

          console.log("location", location);
          console.log(
            "_this.videoOptions.mp4, trySeeTime, autoplay",
            _this.videoOptions.mp4,
            _this.videoOptions.trySeeTime,
            _this.videoOptions.autoplay
          );
          _this.project = res.data;

          if (_this.project.projectIntro) {
            _this.textContent =
              _this.project.projectIntro.length > 70
                ? _this.project.projectIntro.slice(0, 70) + "..."
                : this.project.projectIntro;
          }
          _this.project.mustKnow = _this.project.mustKnow.replace(
            /(\r\n)|\r|\n/g,
            "<br>"
          );

          _this.projectLeader = res.data.projectLeader;
          if (_this.projectLeader && _this.projectLeader.info) {
            _this.leaderText =
              _this.projectLeader.info.length > 70
                ? _this.projectLeader.info.slice(0, 70) + "..."
                : this.projectLeader.info;
          }
          _this.doctorList = res.data.doctorList;

          //_this.projectStatus = res.data.projectStatus;
          _this.projectComponentDTOS = _this.setListData(
            res.data.projectComponentDTOS
          );

          // TODO    Add by Anndy Yang
          if (_this.project.currentProgress == 2) {
            _this.$nextTick(() => {
              window.scrollTo(0, 0);
            });
          }

          _this.provinceId = res.data.positionModel.provinceId;
          _this.organizationId = res.data.positionModel.organizationId;
          _this.courseRequire = res.data.courseRequire || 0;

          setTimeout(() => {
            cataOffsetTop = document.getElementById("catalogue-content")
              .offsetTop;
            intorOffsetTop = document.getElementById("intro-content").offsetTop;
            console.log("getProjectInfoById", cataOffsetTop, intorOffsetTop);
            // 直接跳转
            // if (_this.hasBindCard) {
            //   setTimeout(() => {
            //     this.jumpCatalogue();
            //   }, 200);
            // }
          }, 200);
          setTimeout(() => {
            _this.showLoading = false;
          }, 800);

          // 请求成功后统计，获取项目名
          // this.$sendBuriedData({
          //   component_tag: `882#88201#${_this.projectId}#${_this.project.projectName}`
          // });

          // 二次分享
          // let shareUrl = encodeURIComponent(location.href);
          // let shareUrl = location.href;
          let shareUrl = getWebPageUrl(
            `profexam/#/sharecoop?uuid=${this.uuid}`
          );
          this.wechatShare(
            {
              link: shareUrl,
              title: this.project.projectName,
              friendtitle: this.project.projectName,
              desc: this.project.projectIntro,
              imgUrl: "https://file.yunqueyi.com/logo.png"
            },
            () => {
              console.log("share success...");
            }
          );

          // 如果 hasBindCard 为false，则获取卡信息  0：未绑卡 1：已绑卡
          if (!_this.hasBindCard) {
            _this.preJumper();
            _this.logged && _this.hasNoUsedCardAction();
          }          
        } else {
          _this.showLoading = false;
          _this.$router.replace("/not-found?fromPage=2");
        }
      });
    },

    // 项目负责人--详情(收起)
    changeLeaderText(data) {
      let _this = this;
      if (_this.projectLeader.info) {
        if (!data.allTextFlag) {
          _this.leaderText =
            _this.projectLeader.info.length > 70
              ? _this.projectLeader.info.slice(0, 70) + "..."
              : this.projectLeader.info;
        } else {
          _this.leaderText = _this.projectLeader.info;
        }
      }
    },

    // 项目介绍
    itemIntroText(data) {
      let _this = this;
      if (_this.project.projectIntro) {
        if (!data.allTextFlag) {
          _this.textContent =
            _this.project.projectIntro.length > 70
              ? _this.project.projectIntro.slice(0, 70) + "..."
              : this.project.projectIntro;
        } else {
          _this.textContent = _this.project.projectIntro;
        }
      }
    },
    setListData(data) {
      let _this = this;
      let list = data;
      let actionList = [];
      let detailNum = 0;
      let needShowUpdate = false;
      for (let i = 0; i < list.length; i++) {
        for (let j = 0; j < list[i].portalModuleDTOS.length; j++) {
          detailNum++;
          list[i].portalModuleDTOS[j].value =
            "共" + list[i].portalModuleDTOS[j].nodeCount + "节";
          //展开项记录
          if (list[i].portalModuleDTOS[j].expandStatus == 1) {
            actionList.push(list[i].portalModuleDTOS[j].expandKey);
          }
          for (
            let z = 0;
            z < list[i].portalModuleDTOS[j].contentList.length;
            z++
          ) {
            if (!needShowUpdate) {
              if (!list[i].portalModuleDTOS[j].contentList[z].id) {
                this.needShowUpdate = true;
              }
            }
            list[i].portalModuleDTOS[j].contentList[z].height = _this.getHight(
              list[i].portalModuleDTOS[j].contentList[z]
            );
          }
        }
      }
      _this.needShowUpdate = needShowUpdate;
      _this.actionList = actionList;
      _this.detailNum = detailNum;
      // console.log("list转为：", list, actionList, detailNum);
      return list;
    },

    // 这里？
    getHight(data) {
      let len = vueFilters.strLength(data.name);
      let certificate = data.certificateFlag;
      if (len > 30 && certificate == 2) {
        return "2";
      } else if (len > 30 && certificate != 2) {
        return 2;
      } else if (len <= 30 && certificate == 2) {
        return "1";
      } else if (len <= 30 && certificate != 2) {
        return 1;
      }
    }
  }
};
</script>
<style lang="less" scoped>
.page-container-merge {
  .nav-top .nav-title {
    height: 0px;
    // padding: 18px;
  }
  .banner-img {
    display: inherit;
    width: 375px;
    height: 210px;
    &-1 {
      position: absolute;
      left: 0;
      top: 180px;
      width: 76px;
      height: 30px;
    }
    &-5 {
      position: absolute;
      left: 0;
      top: 180px;
      width: 76px;
      height: 30px;
    }
    &-10 {
      position: absolute;
      left: 0;
      top: 180px;
      width: 76px;
      height: 30px;
    }
  }
  .video-box {
    position: relative;
    height: 210px;
  }
  .list-container {
    // margin-bottom: 40px;
    .sk-btn-cover-new {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      height: 210px;
      z-index: 100;
      text-align: center;
      // background: #fff;
      font-size: 13px;
      // border-radius: 50%;
      background: rgba(51, 51, 51, 0.8);
      span {
        display: inline-block;
        margin-top: 82px;
        width: 100px;
        height: 36px;
        line-height: 36px;
        font-size: 15px;
        font-weight: 700;
        border-radius: 20px;
        color: #fff;
        background: #449284;
        &.android {
          padding-top: 2px;
        }
      }
    }
  }
  .intro-catalogue-container {
    .title {
      position: relative;
      height: 50px;
      line-height: 30px;
      padding: 0 15px;
      border-bottom: 1px solid #f0f1f2;
      & > span {
        display: inline-block;
        line-height: 15px;
        font-size: 15px;
        color: #979899;
        padding-right: 35px;
      }
      & > span.focus {
        position: relative;
        color: #373839;
      }
      span.focus:after {
        content: "";
        position: absolute;
        left: 9px;
        bottom: -14px;
        background: #449284;
        // border-bottom: 1px solid #449284;
        width: 10px;
        height: 3px;
        border-radius: 3px;
      }
    }
    .title.fixed-title-1 {
      position: fixed;
      left: 0;
      top: 60px;
      background: #fff;
      width: 100%;
      z-index: 999;
    }
    .title.fixed-title-2 {
      position: fixed;
      left: 0;
      top: 0;
      background: #fff;
      width: 100%;
      z-index: 999;
    }
    .catalogue-content {
      padding: 0 15px;
      .catalogue-title {
        // display: flex;
        // flex-direction: row;
        // align-items: center;
        // align-content: center;
        margin-top: 5px;
        // margin-bottom: 16px;
        .c-title {
          font-size: 18px;
          color: #373839;
          font-weight: 700;
        }
        .c-sub {
          margin-left: -6px;
          font-size: 12px;
          color: #979899;
        }
      }
    }
    .fixed-flag-height {
      height: 50px;
    }
  }
  .course-tips {
    width: 100%;
    position: absolute;
    z-index: 100;
    top: 0;
    left: 0;
  }
}
.no-more-bottom {
  position: relative;
  width: 100%;
  height: 0;
}
</style>
