<!--
  @description:立项(步骤条)
  @Modifier:徐媛媛
  @routerPath:expetInfo/bidProjectStep
  @date:2020/8/19 9:27
-->
<template>
  <div class="set-up-project">
    <div class="step-wrapper">
      <stepsBar ref="stepsBar" :active="active" :list="stepsList" :parent-page-data="projectData" :save="save" :step-index="1" />
      <!--页面步骤条-->
    </div>
    <div class="p0-16">
      <router-view ref="project" :project-data="projectData" @stepPage="_stepPage" />
      <!-- router-view  嵌套子组件页面-->
      <!--changeStep  stepPage procurementP  给子组件传值  自定义的名称-->
    </div>
  </div>
</template>

<script>
/* 公共方法 */
import { bidProjectStepsList, flowStepsList } from '../mixins/stepsList'
/* 組件 */
import stepsBar from '@/components/common/stepsBar'
export default {
  name: 'BidProjectStep',
  components: {
    stepsBar
  },
  props: {
    pageType: {
      type: String,
      default() {
      }
    }
  },
  data() {
    return {
      flowStatus: this.$route.query.flowStatus, // true 工作流进入驳回编辑
      active: 1, // 在没有保存时，前几active可以点击进行切换
      stepsList: [],
      // 传给子组件编辑带入项目id
      projectData: {
        id: this.$route.params.id,
        applyId: this.$route.query.applyId,
        type: this.pageType
      }
    }
  },
  destroyed() {
    // 销毁时清除所有cookie
    sessionStorage.clear()
  },
  created() {
    this.handelFlow()
  },
  methods: {
    // 处理是否工作流进入
    handelFlow() {
      if (this.flowStatus) {
        this.stepsList = flowStepsList // 工作流进入-普通立项进入-步骤条路由不同
      } else {
        this.stepsList = bidProjectStepsList
      }
    },
    // 控制上一步 下一步跳转页面 子组件传给父组件
    // prev 上一步 next 下一步 或者是数字直接指定展示第几步的页面
    _stepPage(page, data) {
      // 路由携带参数
      // 调用步骤条-组件方法
      this.$refs.stepsBar.stepPage(page, data)
    },
    save(type) {
      // 调用立项页面的方法-暂存草稿
      if (this.$refs.project.saveData) {
        this.$refs.project.saveData(type)
      }
    }
  }
}
</script>

<style lang="less" scoped>
.projectApproval {
  height: calc(100vh - 56px - 48px - 64px - 11px - 17px);
}
.step-wrapper {
  padding: 20px 16px;
}
</style>
