<template>
  <!-- 盘点报废管理 -->
  <div class="app-container">
    <PageHeaderApply v-if="isShowComponent != 'Home'" :pageContent="pageContent" @goBack="goBack" />
    <component
      :is="isShowComponent"
      :isEdit="isEdit"
      :editTaskId="editTaskId"
      :editId="editId"
      :queryTaskId="queryTaskId"
      :queryId="queryId"
      :isView="isView"
      :codingTaskId="codingTaskId"
      @addTools="addTools"
      @editTools="editTools"
      @addToolsSuccess="addToolsSuccess"
      @queryTools="queryTools"
      :ref="`${isShowComponent}Ref`"
    />
  </div>
</template>

<script>
import PageHeaderApply from '@/components/pageHeaderApply'
import Home from './component/homeApply.vue' // 主列表
import AddTools from './component/addToolsApply.vue' // 新增机具 和 修改机具
import QueryTools from './component/queryToolsApply.vue' // 查询机具 和 验收机具
export default {
  name: 'InventoryScrap',
  components: {
    Home,
    PageHeaderApply,
    AddTools,
    QueryTools
  },
  data() {
    return {
      isShowComponent: 'Home',
      pageContent: '盘点报废申请',
      isEdit: false,
      editTaskId: '',
      editId: '',
      queryId: '',
      queryTaskId: '',
      isView: false,
      codingTaskId: ''
    }
  },

  methods: {
    /* 新增工机具 */
    addTools() {
      this.isEdit = false
      this.editTaskId = ''
      this.queryTaskId = ''
      this.pageContent = '报废新增'
      this.isShowComponent = 'AddTools'
    },
    /* 新增成功 */
    addToolsSuccess() {
      this.isShowComponent = 'Home'
    },
    /* 编辑工机具 */
    editTools(taskId, id) {
      this.isEdit = true
      this.pageContent = '报废编辑'
      this.editTaskId = taskId
      this.editId = id
      this.isShowComponent = 'AddTools'
    },
    /* 查询工机具 */
    queryTools(taskId, id) {
      this.isView = true
      this.pageContent = '详情信息'
      this.queryTaskId = taskId
      this.queryId = id
      this.isShowComponent = 'QueryTools'
    },
    /* 返回按钮 */
    goBack() {
      if (this.isShowComponent === 'AddTools') {
        const equipmentListTemp = this.$refs[`${this.isShowComponent}Ref`].getEquipmentListTemp()
        const isNew = equipmentListTemp.some(item => item.isNew)
        if (equipmentListTemp.length === 0 || isNew) {
          this.$message.error('当前页面有未保存的报废信息，请先保存！')
          return
        }
      } else {
        this.isShowComponent = 'Home'
      }
    }
  }
}
</script>
