<template>
  <section class="AppReportAtWill">
    <component ref="component" :is="currentPage" @change="onChange" :params="params" :instance="instance" :dict="dict" :menuName="menuName" />
  </section>
</template>

<script>
import List from './components/List'
import Detail from './components/Detail'
import Setting from './components/Setting'

export default {
  name: 'AppReportAtWill',
  label: '巡查上报',

  props: {
    instance: Function,
    dict: Object,
    menuName: {default: '巡查上报'}
  },

  data() {
    return {
      component: 'List',
      params: {}
    }
  },
  computed: {
    currentPage() {
      let {hash, query: {id}} = this.$route
      return hash == "#Setting" ? Setting :
          !!id ? Detail : List
    }
  },
  components: {
    List,
    Detail,
    Setting
  },

  methods: {
    onChange(data) {
      this.$router.push({query: data.params, hash: data.type == "Setting" ? "#Setting" : ""})
    }
  }
}
</script>

<style lang="scss">
.AppReportAtWill {
  height: 100%;
  background: #F3F6F9;
  overflow: auto;
}
</style>
