<template>
  <div>
    <el-form
      :model="model"
      ref="modelForm"
      label-width="120px"
      label-position="right"
      size="small"
    >
      <c-col :span="8" class="col-left">
        <c-col :span="24">
          <!-- Account No. -->
          <el-form-item label="资金账号" prop="extkey">
            <c-input v-model="model.extkey" placeholder="请输入extkey">
            </c-input>
          </el-form-item>
        </c-col>
        <c-col :span="24">
          <!-- Holding Party -->
          <el-form-item label="客户账户" prop="ptyExtkey">
            <c-input v-model="model.ptyExtkey" placeholder=""> </c-input>
          </el-form-item>
        </c-col>
      </c-col>
      <c-col :span="8" class="col-left col-right">
        <c-col :span="24">
          <el-form-item label="账号类型" prop="typ">
            <c-select
              v-model="model.typ"
              placeholder=""
              style="width: 100%"
              :code="getCodesByKey('recgrptyp')"
            ></c-select>
          </el-form-item>
        </c-col>
        <c-col :span="24">
          <el-form-item label="账号名称" prop="nam">
            <c-input v-model="model.nam" placeholder=""></c-input>
          </el-form-item>
        </c-col>
      </c-col>
      <c-col :span="8" class="col-right">
        <c-col :span="24">
          <el-form-item label="国际银行账户号 " prop="iban">
            <c-input
              v-model="model.iban"
              maxlength="34"
              placeholder="请输入IBAN"
            ></c-input>
          </el-form-item>
        </c-col>

        <c-col :span="24">
          <el-form-item label="账号币种" prop="cur">
            <c-select
              v-model="model.cur"
              style="width: 100%"
              placeholder=""
              :code="getCodesByKey('infled_Cur')"
            >
            </c-select>
          </el-form-item>
        </c-col>
      </c-col>
      <c-col :span="24" style="text-align: right">
        <el-button size="small" @click="handleReset">重置</el-button>
        <el-button
          type="primary"
          icon="el-icon-search"
          size="small"
          @click="doSearch()"
          >查询
        </el-button>
      </c-col>
    </el-form>
    <c-col :span="24">
      <c-paging-table
        :data="tableData"
        :columns="tableColumns"
        :pageNumber="model.pageNum"
        :pageSize="model.pageSize"
        :total="model.total"
        v-on:queryFunc="queryFunc"
        :border="true"
      >
      </c-paging-table>
    </c-col>
  </div>
</template>

<script>
import codes from "~/config/CodeTable";
import { queryByPage } from "~/service/test/act.js";

/**
 * 账户查询
 */
export default {
  name: "AccountQuery",
  data() {
    return {
      tableData: [],
      tableColumns: [
        { label: "HolPtyExtkey", prop: "holPtyExtkey", width: "200" },
        { label: "SerPtyExtkey", prop: "serPtyExtkey", width: "200" },
        { label: "账号类型", prop: "typ", width: "100" },
        { label: "账号币种", prop: "cur", width: "100" },
        { label: "资金账号", prop: "extkey", width: "200" },
        { label: "账号开户机构的账号", prop: "holacc", width: "200" },
        { label: "账号提供机构的账号", prop: "seracc", width: "200" },
      ],
      model: {
        // act,查询条件的字段
        extkey: "",
        nam: "",
        iban: "",
        typ: "",
        cur: "",
        ptyExtkey: "",
        pageNum: 1,
        pageSize: 5,
        total: 0,
      },
    };
  },
  methods: {
    handleReset() {
      this.$refs.modelForm.resetFields();
    },
    doSearch() {
      queryByPage(this.model).then((res) => {
        const list = res.list;
        this.tableData = list;
        this.model.pageNum = res.pageNumber;
        this.model.pageSize = res.pageSize;
        this.model.total = res.total;
      });
    },
    queryFunc(pageNumber, pageSize) {
      this.model.pageNum = pageNumber;
      this.model.pageSize = pageSize;
      this.doSearch();
    },
    getCodesByKey(key) {
      return codes[key] ?? [];
    },
  },
};
</script>

<style scoped>
</style>