<template>
  <div class="eibs-tab">
    <c-list-search @form-reset="handleReset('paramsForm')" @form-search="handleSearch">
      <template v-slot="searchSlot">
        <el-form class="m-table-search-form" ref="paramsForm" label-position="right" label-width="110px" size="small">
          <el-row>
            <c-col :span="8">
              <el-form-item label="业务编号" prop="infcon.seaownref" style="width: 100%">
                <c-input v-model="model.infcon.seaownref" maxlength="16" @change="changeOwnref"
                  placeholder="请输入业务编号"></c-input>
              </el-form-item>
            </c-col>

            <c-col :span="8">
              <el-form-item label="日期" prop="infcon.opndatfrom" style="width: 100%">
                <c-col :span="11">
                  <c-date-picker type="date" v-model="model.infcon.opndatfrom" placeholder="请选择起始日期"
                    value-format="yyyy-MM-dd" style="width: 100%"></c-date-picker>
                </c-col>
                <c-col :span="2" style="text-align: center">
                  <label style="display: inline-block; width: 100%">-</label>
                </c-col>
                <c-col :span="11">
                  <c-date-picker type="date" v-model="model.infcon.opndatto" placeholder="请选择截止日期" style="width: 100%"
                    value-format="yyyy-MM-dd"></c-date-picker>
                </c-col>
              </el-form-item>
            </c-col>
            <c-col :span="8">
              <el-form-item label="客户号/名称" prop="infcon.searef" style="width: 100%">
                <c-input v-model="model.infcon.searef" placeholder="请输入客户号/名称" style="width: 100%">
                </c-input>
              </el-form-item>
            </c-col>
          </el-row>
          <el-row v-show="searchSlot.searchToggle">
            <c-col :span="8">
              <el-form-item label="汇款邮路" prop="infcon.route" style="width: 100%">
                <c-select v-model="model.infcon.route" dbCode="cptrou" placeholder="请选择汇款邮路"></c-select>
              </el-form-item>
            </c-col>
            <c-col :span="8">
              <el-form-item label="汇款状态" prop="infcon.seasta" style="width: 100%">
                <c-select v-model="model.infcon.seasta" :code="cptmod" placeholder="请选择汇款状态"></c-select>
              </el-form-item>
            </c-col>
            <c-col :span="8">
              <el-form-item label="是否闭卷" prop="infcon.isClosed" style="width: 100%">
                <c-select v-model="model.infcon.isClosed" dbCode='cxmflg' placeholder="请选择是否闭卷">
                </c-select>
              </el-form-item>
            </c-col>
            <c-col :span="8">
              <el-form-item label="币种" prop="infcon.seacur" style="width: 100%">
                <c-select v-model="model.infcon.seacur" :isShowKeyAndLabel="true" style="width: 100%" placeholder="请选择币种"
                  dbCode="curtxt">
                </c-select>
              </el-form-item>
            </c-col>
            <c-col :span="8">
              <el-form-item label="金额区间" prop="infcon.seaamtfr" style="width: 100%">
                <c-col :span="11">
                  <c-input v-model="model.infcon.seaamtfr" type="number" :precision="2" placeholder="请输入金额下限"
                    style="width: 100%"></c-input>
                </c-col>
                <c-col :span="2" style="text-align: center">
                  <label style="display: inline-block; width: 100%">-</label>
                </c-col>
                <c-col :span="11">
                  <c-input v-model="model.infcon.seaamtto" type="number" :precision="2" placeholder="请输入金额上限"
                    style="width: 100%"></c-input>
                </c-col>
              </el-form-item>
            </c-col>
            <c-col :span="8">
              <el-form-item label="业务机构" prop="bchcon" style="width: 100%">
                <c-select clearable placeholder="请选择业务机构" style="width: 100%" v-model="model.infcon.branchinr">
                  <el-option :key="item.branch" :label="item.bchname" :value="item.inr" v-for="item in bchtypList">
                  </el-option>
                </c-select>
              </el-form-item>
            </c-col>
            <c-col :span="8">
              <el-form-item label="经办柜员" prop="usrcon" style="width: 100%">
                <c-select clearable placeholder="请选择经办柜员" style="width: 100%" v-model="model.infcon.ownusr">
                  <el-option :key="item.extkey + index" :label="item.extkey + '-' + item.nam" :value="item.extkey"
                    v-for="(item, index) in userList">
                  </el-option>
                </c-select>
              </el-form-item>
            </c-col>
          </el-row>
        </el-form>
      </template>
    </c-list-search>


    <c-col :span="24" style="margin-top: 0px">
      <c-button class="medium_bcs" size="medium" type="primary" style="margin-right: 15px" @click="toZptadv">
        转汇汇入
      </c-button>
      <c-button class="medium_bcs" size="medium" type="primary" style="margin-right: 15px" @click="toZptopn">
        转汇汇出
      </c-button>
      <c-button class="medium_bcs" size="medium" type="primary" style="margin-right: 15px" @click="toZpticr">
        转汇汇入退汇
      </c-button>
      <c-button class="medium_bcs" size="medium" type="primary" style="margin-right: 15px" @click="toZptocr">
        转汇汇出退汇
      </c-button>
    </c-col>

    <div>
      <c-col :span="24">
        <c-tabs v-model="activeTab" type="card" ref="elment">
          <el-table v-loading="load" :data="stmData.data" height="calc(100vh - 310px)" border :columns="stmData.columns"
            :showButtonFlg="true" :highlight-current-row="true" @row-dblclick="TableDblRow">
            <el-table-column v-for="(item, key) in stmData.columns" :key="key" :label="item.label" :prop="item.prop"
              :min-width="item.width">
              <template slot-scope="scope">
                <div style="text-align: center" v-if="item.prop.indexOf('amt') >= 0">
                  {{ moneyFormat(scope.row[item.prop], scope.row.cur) }}</div>
                <div style="text-align: center" v-else-if="item.prop.indexOf('accmod') >= 0">{{ cptmod.find(obj =>
                  obj.value === scope.row[item.prop]) ? cptmod.find(obj => obj.value === scope.row[item.prop]).label :
                  scope.row[item.prop] }}</div>
                <div style="text-align: center" v-else-if="item.prop.indexOf('cptrou') >= 0">
                  {{ getCodelabel(scope.row[item.prop], 'cptrou') }}</div>
                <div v-else>{{ scope.row[item.prop] }}</div>
              </template>
            </el-table-column>
            <!-- 自定义组件里加了最右边的一列”操作“ -->
            <el-table-column fixed="right" prop="op" label="操作" width="180px">
              <template slot="header">
                <!-- 插槽里放了一个文字 一个按钮 -->
                <c-col :span="11" style="text-align: center"><span>操作</span>
                </c-col>
              </template>
              <template slot-scope="scope">
                <c-button style="margin-right: 7px" size="small" type="text" @click="handler(scope.row)">处理
                </c-button>
                <!-- 申请一个弹出主键放在插槽,加工已渲染的数据 -->
                <el-popover placement="top-start" title="历史信息" width="1200" trigger="manual"
                  v-clickOutside="closeDisplayDialog" :ref="'popover_' + scope.row.inr">
                  <div style="
                      text-align: right;
                      margin-top: -30px;
                      margin-right: 5px;
                      font-size: 16px;
                    ">
                    <span class="el-icon-close" style="cursor: pointer"
                      @click="closeDetailsDialog('popover_' + scope.row.inr)"></span>
                  </div>
                  <el-table :data="trnData.data" :columns="trnData.columns" :showButtonFlg="true">
                    <el-table-column v-for="(item, key) in trnData.columns" :key="key" :label="item.label"
                      :prop="item.prop" :width="item.width">
                      <template slot-scope="scope">
                        <div>{{ scope.row[item.prop] }}</div>
                      </template>
                    </el-table-column>
                    <el-table-column fixed="right" prop="op" label="操作" width="100px">
                      <template slot-scope="scope">
                        <c-button style="margin-left: 0" size="small" @click="display(scope.row)">快照</c-button>
                      </template>
                    </el-table-column>
                  </el-table>
                  <c-button style="margin-left: 0px" size="small" type="text" @click="details(scope.row)"
                    slot="reference">
                    快照
                  </c-button>
                  <c-button style="margin-left: 0" type="text" size="small" slot="reference"
                    @click="toInfo(scope.row, 'CPD', '', 'I')">
                    Info
                  </c-button>
                </el-popover>

              </template>
            </el-table-column>
          </el-table>
          <div class="pagination-box" style="display:block">
            <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
              :current-page.sync="pagination.pageIndex" :page-sizes="[10, 20, 50, 100, 500]"
              :page-size="pagination.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="pagination.total">
            </el-pagination>
          </div>
        </c-tabs>
      </c-col>
      <!-- 点击处理ba弹框 -->
      <el-dialog v-if="initdialog" v-dialogDrag :visible.sync="initdialog" title="交易列表" append-to-body width="70%">
        <m-busbtn ref="childs" :trnUrl="trnUrl" :inifrm="inifrm" :activeTab="activeTab" :model="handleModel"
          @onChoose="handleClick">
        </m-busbtn>
      </el-dialog>
      <!--业务锁及待处理数据弹窗-->
      <m-chklap ref="lockAndPending" @changeBtn="changeBtn"></m-chklap>
    </div>
  </div>
</template>
<script>
import BusNavbar from "~/components/business/BusNavbar1";
import CheckLockAndPending from "~/components/business/CheckLockAndPending";

import event from "../event";

export default {
  inject: ["root"],
  props: ["model", "codes"],
  mixins: [event],
  components: {
    "m-busbtn": BusNavbar,
    "m-chklap": CheckLockAndPending,
  },
  data() {
    return {
      bchtypList: [],
      userList: [],
      curinr: "",
      ownref: "",
      activeTab: "cd",
      handleModel: {},
      trnUrl: "",
      inifrm: "",
      load: false,
      oldRefId: "",
      trnData: {
        columns: [
          {
            label: "业务编号",
            prop: "ownref",
            width: "160"
          },
          {
            label: "交易名称",
            prop: "inifrmname",
            width: "220"
          },
          {
            label: "交易码",
            prop: "inifrm",
            width: "100"
          },
          {
            label: "交易时间",
            prop: "inidattim",
            width: "160"
          },
          {
            label: "状态",
            prop: "relflgName",
            width: "100"
          },
          {
            label: "币种",
            prop: "reloricur",
            width: "100"
          },
          {
            label: "金额",
            prop: "reloriamt",
            width: "150"
          },
        ],
        data: [],
      },
      stmData: {
        columns: [
          {
            label: "业务编号",
            prop: "ownref",
            width: "200px"
          },
          {
            label: "客户号",
            prop: "pyeExtkey",
            width: "180px"
          },
          {
            label: "客户名称",
            prop: "pyeName",
            width: "250px"
          },
          {
            label: "转汇类型",
            prop: "zhtyp",
            width: "250px"
          },
          {
            label: "日期",
            prop: "credat",
            width: "150px"
          },
          {
            label: "汇款邮路",
            prop: "cptrou",
            width: "150px"
          },
          {
            label: "币种",
            prop: "cur",
            width: "120px"
          },
          {
            label: "金额",
            prop: "amt",
            width: "120px"
          },
          {
            label: "汇款状态",
            prop: "accmod",
            width: "120px"
          },
          {
            label: "经办柜员",
            prop: "ownusr",
            width: "120px"
          }
        ],
        data: [
        ]
      },
      pagination: {
        pageIndex: 1,
        pageSize: 10,
        total: 0
      },

      initdialog: false,
      handlerDataList: [],
      currentHandleRow: {},
      cptmod: [
        { label: "正常解付", value: "0" },
        { label: "挂账待处理", value: "2" },
        { label: "挂账后解付", value: "G" },
        { label: "退汇", value: "3" }
      ],
    };
  },

  methods: {},
  mounted() {
    this.getdbCode('cptrou', '', 'cptrou');
    this.getUserList();
    this.getBranchList();
  }
};
</script>
<style>
.pagination-box {
  width: 100%;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0 10px;
  background: #fff;
  margin-top: 5px;
}

.btn-group-wrap {
  max-height: 200px;
  width: 100%;
  overflow-y: auto;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: wrap;
}

.btn-item {
  margin-bottom: 10px;
  margin-right: 10px;
}

.medium_bcs {
  border-radius: 5px;
}
</style>