<template>
  <div>
    <search @searchActive="searchActive" :placeholder="placeholder"></search>
    <tableLayout :layout="tablecols" :data="list" :opwidth="200" :custom="true" :height="tableHieght">
      <template v-slot:customcol="scope">
        <p>{{scope.column.data[scope.column.columnname]}}</p>
      </template>
      <template v-slot:opreation="scope">
        <slot name="edit" :data="scope.data"></slot>
        <slot name="del" :data="scope.data"></slot>
        <slot name="bind" :data="scope.data"></slot>
      </template>
    </tableLayout>
    <div style="margin-top:16px;text-align:right">
      <el-pagination
          background
          small
          @size-change="handleSizeChange"
          @current-change="handleCurrentChange"
          :current-page="currentPage"
          :page-size="params.content.pageSize"
          layout="total, prev, pager, next, jumper"
          :total="total">
      </el-pagination>
    </div>
  </div>
</template>

<script>
import search from '../components/search'
export default {
  name: "list",
  data(){
    return {
      tableHieght:420,
      tablecols:[],
      list:[],
      total:0,
      currentPage:0,
      placeholder:'资料类别',
      params:{
        "id": "20220926095803",
        "version":1,
        "content": {
          pageSize:10,
          pageNumber:1,
          "where":{
            "condition":""
          }
        }
      },
    }
  },
  components:{
    search
  },
  mounted() {
    this.listData()
  },
  methods: {
    async listData(){
      const res = await this.$api.requested(this.params)
      console.log(res)
      this.list = res.data
      this.total = res.total
      this.currentPage = res.pageTotal
    },
    handleSizeChange(val) {
      // console.log(`每页 ${val} 条`);
      this.params.content.pageSize = val
      this.listData()
    },
    handleCurrentChange(val) {
      // console.log(`当前页: ${val}`);
      this.params.content.pageNumber = val
      this.listData()
    },
    searchActive(data){
      this.params.content.where.condition = data
      this.listData()
    }
  },
  created() {
    this.tablecols = this.tool.tabelCol(this.$route.name).prodectFileTable.tablecols
  }
}
</script>

<style scoped>

</style>