<template>
    <div>
      <div v-show="$route.name === 'loadingList'">
        <head-todo
        :selectedIds="selectedIds"
        @getList="getList"
        @handleOpenAddForm="handleOpenForm">
        </head-todo>

        <center-list
            :tableData="tableList"
            :currentPage="currentPage"
            :pageSize="pageSize"
            :total="total"
            @getList="getList"
            @handleSelectChange="cacheSelectedIds"
            @handleOpenEditForm="handleOpenEditForm"
            @handelOpenDetail="handelOpenDetail">
        </center-list>
      </div>
      <router-view></router-view>
    </div>
</template>
<script>
import HeadTodo from './components/head-todo'
import CenterList from './components/center-list'
export default {
  name: 'LoadingList',
  components: {
    HeadTodo,
    CenterList
  },
  data () {
    return {
      tableList: [],
      total: 0,
      query: {
        'page.currentPage': 1,
        'page.limitCount': 10,
      },
      selectedIds: '',
      mode: 'create',
      currentPage: 1,
      pageSize: 10
    }
  },
  created () {
    this.getList()
  },
  mounted () {

  },
  methods: {

    getList (query) {
      const url = this.$API.stockOut.loadingList.getList
      const param = { ...this.query, ...query }
      this.$https.post(url, param).then(res => {
        this.tableList = res.rows
        this.total = res.total
        this.currentPage = res.currentPage
        this.pageSize = res.limit
      })
    },

    //  新增
    handleOpenForm (mode, data) {
      this.mode = mode
      this.$router.push({
        name: 'loadingListAdd',
        params: {
          mode,
          data
        }
      })
    },

    // 编辑
    handleOpenEditForm (mode, data) {
      this.mode = mode
      this.$router.push({
        name: 'loadingListAdd',
        params: {
          mode,
          data
        }
      })
    },

    // 编辑
    handelOpenDetail (mode, ...args) {
      this.mode = mode
      this.$router.push({
        name: 'loadingListAdd',
        params: {
          mode,
          ...args
        }
      })
    },

    // checkbox勾选储存id
    cacheSelectedIds (ids) {
      this.selectedIds = ids
    }
  },
  // 路由跳回来前判断是否需要刷新列表
  beforeRouteUpdate (to, from, next) {
    if (to.meta.needRefresh) {
      this.getList()
      delete to.meta.needRefresh
    }
    next()
  },
}
</script>
