<template>
  <div class="app-container">
    <!-- 筛选条件 -->
    <div>
      <el-form
        ref="searchForm"
        :model="searchForm"
        label-width="100px"
        size="small"
        label-position="left"
      >
        <el-row :gutter="20">
          <el-col :xs="24" :sm="12" :lg="6">
            <el-form-item label="选择品类" prop="mainId">
              <el-select
                v-model="searchForm.mainId"
                class="selectStyle"
                placeholder="请选择"
                filterable
              >
                <el-option
                  v-for="v in categoryList"
                  :key="v.productCategoryNumber"
                  :label="v.productCategoryName"
                  :value="v.productCategoryNumber"
                >
                </el-option>
              </el-select>
            </el-form-item>
          </el-col>

          <el-col :xs="24" :sm="12" :lg="18">
            <el-form-item label="" class="fr">
              <el-button size="small" @click="clearFn">清空</el-button>
              <el-button size="small" type="primary" @click="searchFn"
                >搜索</el-button
              >
            </el-form-item>
          </el-col>
        </el-row>
      </el-form>
    </div>
    <!-- 列表 -->
    <div class="mymain-container">
      <div class="table">
        <el-table
          v-loading="listLoading"
          :data="dataList"
          element-loading-text="Loading"
          border
          fit
          highlight-current-row
          stripe
        >
          <el-table-column
            align="center"
            label="品类"
            prop="mainName"
            min-width="160"
            show-overflow-tooltip
          ></el-table-column>
          <el-table-column
            align="center"
            label="钱包名称"
            prop="name"
            min-width="160"
            show-overflow-tooltip
          ></el-table-column>
          <el-table-column
            align="center"
            label="余额"
            prop="totalAmount"
            min-width="160"
            show-overflow-tooltip
          ></el-table-column>
          <el-table-column
            align="center"
            label="更新时间"
            prop="theTime"
            min-width="160"
            show-overflow-tooltip
          ></el-table-column>
        </el-table>
      </div>
      <!-- 分页 -->
      <div class="fr">
        <el-pagination
          :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 {
  getFinanceTotal,
  getProductCategoryList,
} from "@/api/finance/finance_sum";
export default {
  data() {
    return {
      currentPage: 1, // 当前页码
      pageSize: 10, // 每页数量
      listTotal: 0, // 列表总数
      dataList: [], // 列表数据
      searchForm: {
        mainId: "",
      }, //搜索表单
      listLoading: false, // 列表加载loading
      categoryList: [], //品类数据
    };
  },
  created() {
    this.getCategoryList();
    this.getDataList();
  },
  methods: {
    //清空
    async clearFn() {
      await this.$refs.searchForm.resetFields();
    },
    //搜索
    searchFn() {
      this.getDataList({ mainId: this.searchForm.mainId });
    },
    //获取品类数据
    async getCategoryList() {
      const res = await getProductCategoryList();
      this.categoryList = res.data;
    },
    //获取列表数据
    async getDataList(data) {
      const res = await getFinanceTotal(data);
      this.dataList = res.data;
    },
  },
};
</script>

<style lang="scss" scoped>
.selectStyle {
  width: 100%;
}
</style>