<template>
  <div class="order-list">
    <div class="table">
      <el-table ref="orderTable" v-loading="listLoading" :data="dataList" element-loading-text="Loading">
        <el-table-column align="center" label="工单编号" prop="id" min-width="180"></el-table-column>
        <el-table-column
          align="center"
          label="工单类型"
          prop="orderSmallTypeText"
          min-width="200"
          show-overflow-tooltip
        ></el-table-column>
        <el-table-column align="center" label="工单状态" prop="orderStatusText"></el-table-column>
        <el-table-column align="center" label="预约上门时间" prop="appointmentTime" min-width="160"></el-table-column>
        <el-table-column align="center" label="创建时间" prop="createTime" min-width="160"></el-table-column>
        <el-table-column align="center" label="操作" fixed="right">
          <template slot-scope="{ row }">
            <el-button type="primary" @click="goOrderDetail(row)" size="mini">详情</el-button>
          </template>
        </el-table-column>
      </el-table>
    </div>
    <div class="pagination clearfix">
      <div class="fr">
        <el-pagination
          @size-change="handleSizeChange"
          @current-change="handleCurrentChange"
          :current-page="currentPage"
          :page-sizes="[10, 20, 30, 50]"
          :page-size="10"
          layout="total, sizes, prev, pager, next, jumper"
          :total="listTotal"
        >
        </el-pagination>
      </div>
    </div>
  </div>
</template>

<script>
import request from '@/utils/request'

export default {
  name: 'MemberOrder',
  componentName: 'MemberOrder',
  props: ['user'],
  data() {
    return {
      dataList: [], // 数据列表
      listLoading: true, // 列表加载loading
      currentPage: 1, // 当前页码
      pageSize: 10, // 每页数量
      listTotal: 0 // 列表总数
    }
  },
  created() {
    let timer = setInterval(() => {
      if (this.user.userId) {
        this.getOrderList()
        clearInterval(timer)
      }
    }, 100)
  },
  methods: {
    getOrderList() {
      console.log(this.user)
      let params = {
        userId: this.user.userId,
        pageNum: this.currentPage,
        pageSize: this.pageSize
      }
      request({
        url: `/order/base/list/gene`,
        method: 'post',
        params
      }).then(res => {
        this.dataList = res.data.records
        this.listTotal = res.data.total
        this.listLoading = false
      })
    },
    // 更改每页数量
    handleSizeChange(val) {
      this.pageSize = val
      this.currentPage = 1
      this.getOrderList()
    },
    // 更改当前页
    handleCurrentChange(val) {
      this.currentPage = val
      this.getOrderList()
    },
    goOrderDetail(row) {
      this.$router.push({
        name: window.isWorkOrderPoolPath,
        params: {
          pageName: row.id,
          pageType: 'detail',
          pageCode: row.id
        }
      })
    }
  }
}
</script>

<style scoped></style>
