<template>
  <!-- 列表页 -->
  <task-list v-if="showType === 'list'"
             @goAdd="showAdd"
             @goImport="showImport"
             @goCheckList="showCheckList"/>
  <!-- 添加页 -->
  <task-add v-else-if="showType === 'add'"
            @goList="showList"/>
  <!-- 导入页 -->
  <task-import v-else-if="showType === 'import'"
            @goList="showList" :task="taskInfo"/>
  <!-- 稽核列表页 -->
  <task-check-list v-else-if="showType === 'checkList'"
                   :task="taskInfo"
                   @goList="showList"
                   @goCheckCheck="showCheckCheck"
                   @goCheckDetail="showCheckDetail"
                   @goCheckLog="showCheckLog"/>
  <!-- 稽核详情页 -->
  <task-check-check v-else-if="showType === 'checkCheck'"
                     :checkInfo="checkInfo"
                     @goList="showList"
                     @goCheckList="showCheckList"/>
  <!-- 稽核日志详情页 -->
  <task-check-log v-else-if="showType === 'checkLog'"
                    :checkInfo="checkInfo"
                    @goList="showList"
                    @goCheckList="showCheckList"/>
  <!-- 稽核详情页 -->
  <task-check-detail v-else-if="showType === 'checkDetail'"
                     :checkInfo="checkInfo"
                     @goList="showList"
                     @goCheckList="showCheckList"/>
</template>

<script>

  import TaskList from './modules/TaskList'
  import TaskAdd from './modules/TaskAdd'
  import TaskImport from './modules/TaskImport'
  import TaskCheckList from './modules/TaskCheckList'
  import TaskCheckCheck from './modules/TaskCheckCheck'
  import TaskCheckDetail from './modules/TaskCheckDetail'
  import TaskCheckLog from './modules/TaskCheckLog'

  export default {
    name: 'TaskMain',
    components: {
      TaskList,
      TaskAdd,
      TaskImport,
      TaskCheckList,
      TaskCheckCheck,
      TaskCheckDetail,
      TaskCheckLog,
    },
    data () {
      return {
        description: '稽核任务管理主页面',
        showType: 'list',
        taskInfo: {},
        checkInfo: {},
      }
    },
    methods: {
      // 显示列表页面
      showList() {
        this.showType = 'list'
      },
      // 显示添加页面
      showAdd() {
        this.showType = 'add'
      },
      // 显示导入页面
      showImport(taskInfo) {
        this.showType = 'import'
        this.taskInfo = taskInfo;
      },
      // 显示稽核列表页面
      showCheckList(taskInfo) {
        this.showType = 'checkList'
        this.taskInfo = taskInfo;
      },
      // 显示详情页面
      showCheckCheck(checkInfo) {
        this.showType = 'checkCheck'
        this.checkInfo = checkInfo;
      },
      // 显示详情页面
      showCheckLog(checkInfo) {
        this.showType = 'checkLog'
        this.checkInfo = checkInfo;
      },
      // 显示详情页面
      showCheckDetail(checkInfo) {
        this.showType = 'checkDetail'
        this.checkInfo = checkInfo;
      },
    }
  }
</script>

<style scoped>

</style>