<template>
<div class="container normal-panel"> 
  <div class="flex-align-center flex-between normal-margin">
    <slot name="operation"></slot>
    <div class="flex-align-center">
      <el-input size="small" v-model="params.content.where.condition" placeholder="产品名称,编号" @keyup.enter.native="listData(params.content.pageNumber = 1)" @clear="listData(params.content.pageNumber = 1)" clearable></el-input>&nbsp;
      <slot name="add"></slot>
    </div>
  </div>
  <div class="produtMag-panel">
    <el-table
      ref="multipleTable"
      :data="tableData"
      style="width: 100%;height:calc(100vh - 296px)"
      :header-cell-style="{height:'50px',color:'#768093',fontWeight:'100'}"
      :cell-style="{height:'50px',color:'#768093',fontWeight:'200'}"
      @selection-change="selectionChange">
      <el-table-column
        type="selection"
        width="55">
      </el-table-column>
      <el-table-column
        align="center"
        label="产品图"
        width="80">
        <template slot-scope="scope">
          <previewImage class="image" :image="scope.row.attinfos[0]" :list="scope.row.attinfos" :deletebtn="false"></previewImage>
        </template>
      </el-table-column>
      <el-table-column
        prop="itemname"
        label="产品名称"
        width="180">
      </el-table-column>
      <el-table-column
        prop="itemno"
        label="产品编号"
        width="180">
      </el-table-column>
      <el-table-column
        label="型号/规格">
        <template slot-scope="scope">
          <p><span>{{scope.row.model}}</span>&nbsp;/&nbsp;<span>{{scope.row.spec}}</span></p>
        </template>
      </el-table-column>
      <el-table-column
        label="数量"
        width="150">
        <template slot-scope="scope">
        <el-input-number size="mini" v-model="scope.row.qty" :min="scope.row.orderminqty" :step="scope.row.orderaddqty" label="输入数量" @change="qtyChange"></el-input-number>
        </template>
      </el-table-column>
      <el-table-column
        prop="unitid"
        label="计量单位"
        width="90">
        <template slot-scope="scope">
          <el-tag size="mini" type="info" effect="plain">{{scope.row.unitname}}</el-tag>
        </template>
      </el-table-column>
      <el-table-column
        prop="gradeprice"
        label="价格"
        width="90">
        <template slot-scope="scope">
          <p style="color:red;font-weight:500">¥&nbsp;{{tool.formatAmount(scope.row.gradeprice,2)}}</p>
        </template>
      </el-table-column>
      <el-table-column
        label="小计"
        width="150">
        <template slot-scope="scope">
          <p style="color:red;font-weight:500">¥&nbsp;{{tool.formatAmount(scope.row.gradeprice * scope.row.qty,2)}}</p>
        </template>
      </el-table-column>
      <el-table-column width="90">
        <template slot-scope="scope">
          <slot name="del" :data="scope.row"></slot>
        </template>
      </el-table-column>
    </el-table>
    <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>
</div>
</template>

<script>
import previewImage from '@/components/previewImage/index'

export default {
  data () {
    return {
      params:{
        "id": 20220924095302,
        "content": {
          "pageNumber": 1,
          "pageSize": 20,
          "where": {
            "condition": ''
          }
        }
      },
      tableSelectData:[],
      tableData: [],
      total:0,
      currentPage:0
    }
  },
  components:{
    previewImage
  },
  methods:{
    async listData () {
      const res = await this.$api.requested(this.params)
      this.tableData = res.data
      this.total = res.total
      this.currentPage = res.pageNumber
    },
    handleSizeChange(val) {
      // console.log(`每页 ${val} 条`);
      this.params.content.pageSize = val
      this.listData()
    },
    handleCurrentChange(val) {
      // console.log(`当前页: ${val}`);
      this.params.content.pageNumber = val
      this.listData()
    },
    selectionChange (val) {
      this.tableSelectData = val
      this.$emit('selection',val)
    },
    clearSelection () {
      this.$refs.multipleTable.clearSelection();
    },
    qtyChange () {
      this.$emit('qtyChange')
    }
  },
  mounted () {
    this.listData()
  }
}

</script>
<style>
</style>
<style scoped>
.produtMag-panel{
  /* margin: 30px; */
  padding:0 10px 10px 10px;
  background: #fff;
  border-radius:5px;
  overflow: hidden;
  border:1px solid rgb(0 0 0 / 5%)
  /* box-shadow: 0 5px 5px rgb(0 0 0 / 10%);
  transform: translate3d(0,-2px,0); */
}
.image {
  width:40px;height:40px;margin:0px auto;
}
</style>