<!--
  @description: 招标-邀请函-tab页
  @Modifier: XWl
  @routerPath:/bidding/projectDrive/invitation/tabs
  @date: 2019/12/30-16:58
-->
<template>
  <div class="main" style="margin-top: 0;">
    <div>
      <tabs ref="tabs" :active="active" :is-open-all="isOpenAll" :save="save" :list="tabsList" />
    </div>
    <div>
      <router-view ref="invitation" @stepPage="_stepPage" />
    </div>
  </div>
</template>

<script>
/* 组件*/
import tabs from '@comp/common/tabs'
// tab路由配置url
import { afterTheTrialTabsList, antecedentTrialTabsList } from '../mixins/invitationTabsPath'
export default {
  name: 'BulletinContent',
  components: {
    tabs
  },
  data() {
    return {
      active: 1, // 在没有保存时，前几active可以点击进行切换
      isOpenAll: false, // 是否开启所有节点
      tenderId: this.$route.query.id, // 项目Id
      tenderBase: this.$store.getters.tenderBase, // 项目信息
      tabsList: []
    }
  },
  watch: {
    $route(to, from) {
      // 判断是否有邀请函Id && 否可以切换项目概况已后的tab页 00 不可以切换 01可以切换
      if (this.$route.query.invitationId) {
        this.active = 2
        if (this.$route.query.invitationId && this.$route.query.isSwitchTable === '01') {
          this.isOpenAll = true
        }
      }
    }
  },
  created() {
    // 判断是否有邀请函Id && 否可以切换项目概况已后的tab页 00 不可以切换 01可以切换
    if (this.$route.query.invitationId) {
      this.active = 2
      if (this.$route.query.invitationId && this.$route.query.isSwitchTable === '01') {
        this.isOpenAll = true
      }
    }
    // 获取系统来源
    this.getSystemSource()
  },
  methods: {
    //  获取系统来源
    /*
    * 邀请函(后审项目邀请函或资审项目第一次发的邀请函):invitation
    * 邀请函(资审项目定标时发的邀请函):calibrationInvitation
    * */
    getSystemSource() {
      // 01:普通邀请函 02资审后邀请函
      let requestType = ''
      if (this.tenderBase.invitationType === '01') {
        requestType = 'invitation'
      } else if (this.tenderBase.invitationType === '02') {
        requestType = 'calibrationInvitation'
      }
      this.$store.dispatch('getSystemSource', requestType).then(systemSource => {
        // tabs展示内容 00 资审 01 后审
        if (this.tenderBase.stageType === '00') { // 资审
          this.tabsList = antecedentTrialTabsList
        } else if (this.tenderBase.stageType === '01') { // 后审
          this.tabsList = afterTheTrialTabsList
        }
        let itemIndex = ''
        this.tabsList.map((item, index) => {
          if (item.index === '8') {
            itemIndex = index
          }
        })
        // 分包不分包邀请名单跳转不同页面 isPack 00 不分包 01 分包
        if (this.tenderBase.isPack === '01') {
          this.tabsList[itemIndex].path = this.tabsList[itemIndex].path_1 // 分包
        } else if (this.tenderBase.isPack === '00') {
          this.tabsList[itemIndex].path = this.tabsList[itemIndex].path_2 // 不分包
        }
        //  00 平台制作公告 01 工具制作公告
        if (systemSource === '01') {
          this.tabsList[this.tabsList.length - 1].path = this.tabsList[this.tabsList.length - 1].path_2 // 使用工具制作公告
        } else if (systemSource === '00') {
          this.tabsList[this.tabsList.length - 1].path = this.tabsList[this.tabsList.length - 1].path_1 // 平台制作公告
        }
      })
    },
    // 控制上一步 下一步跳转页面 子组件传给父组件
    // prev 上一步 next 下一步 或者是数字直接指定展示第几步的页面
    _stepPage(page, query) {
      // 路由携带参数
      const data = {
        ...query
      }
      // 调用步骤条-组件方法
      this.$refs.tabs.tabPage(page, data)
    },
    /*
      * 暂存接口
      * type参数 draft 点击步骤条切换-进行保存草稿
      * */
    save(type) {
      // 调用公共页面的方法-暂存草稿
      if (this.$refs.invitation.saveData) {
        this.$refs.invitation.saveData(type)
      }
    }
  }
}
</script>

<style lang="less" scoped>

</style>
