<template>
  <div class="eibs-tab">
    <c-list-search @form-reset="handleReset" @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"
                    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"
                      value-format="yyyy-MM-dd"
                      v-model="model.infcon.opndatfrom"
                      style="width: 100%"
                      placeholder="请选择开立日期"
                  ></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"
                      value-format="yyyy-MM-dd"
                      v-model="model.infcon.opndatto"
                      style="width: 100%"
                      placeholder="请选择开立日期"
                  ></c-date-picker>
                </c-col>
              </el-form-item>
            </c-col>

            <c-col :span="8">
              <el-form-item
                  label="简略信息"
                  prop="infcon.nam"
                  style="width: 100%"
              >
                <c-input
                    v-model="model.infcon.nam"
                    maxlength="40"
                    placeholder="请输入简略信息"
                ></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.searef"
                  style="width: 100%"
              >
                <c-input
                    v-model="model.infcon.searef"
                    maxlength="16"
                    placeholder="请输入当事人参考号"
                ></c-input>
              </el-form-item>
            </c-col>
            <c-col :span="8">
              <el-form-item
                  label="当事人编号"
                  prop="infcon.pty.extkey"
                  style="width: 100%"
              >
                <c-input
                    v-model="model.infcon.pty.extkey"
                    maxlength="24"
                    placeholder="请输入当事人编号"
                    :disabled="model.infcon.seapty != ''"
                ></c-input>
              </el-form-item>
            </c-col>

            <c-col :span="8">
              <el-form-item
                  label="当事人名称"
                  prop="infcon.pty.nam"
                  style="width: 100%"
              >
                <c-input
                    v-model="model.infcon.pty.nam"
                    maxlength="40"
                    placeholder="请输入当事人名称"
                ></c-input>
              </el-form-item>
            </c-col>

            <c-col :span="8">
              <el-form-item
                  label="当事人BIC编码"
                  prop="infcon.seapty"
                  style="width: 100%"
              >
                <c-input
                    v-model="model.infcon.seapty"
                    maxlength="24"
                    placeholder="请输入当事人BIC编码"
                    :disabled="model.infcon.pty.extkey != ''"
                ></c-input>
              </el-form-item>
            </c-col>

            <c-col :span="8">
              <el-form-item
                  label="角色"
                  prop="infcon.searol"
                  style="width: 100%"
              >
                <c-select
                    v-model="model.infcon.searol"
                    style="width: 100%"
                    placeholder="请选择角色"
                >
                  <el-option
                      v-for="item in codes.searol4"
                      :key="item.value"
                      :label="item.label"
                      :value="item.value"
                  >
                  </el-option>
                </c-select>
              </el-form-item>
            </c-col>
            <c-col :span="8">
              <el-form-item
                  label="客户经理"
                  prop="infcon.usr.extkey"
                  style="width: 100%"
              >
                <c-input
                    v-model="model.infcon.usr.extkey"
                    maxlength="8"
                    placeholder="请输入客户经理"
                    :disabled="true"
                ></c-input>
              </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"
                    style="width: 100%"
                    placeholder="请选择状态"
                >
                  <el-option
                      v-for="item in codes.seasta"
                      :key="item.value"
                      :label="item.label"
                      :value="item.value"
                  >
                  </el-option>
                </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"
                    style="width: 100%"
                    placeholder="请选择币种"
                >
                  <el-option
                      v-for="item in codes.curtxt"
                      :key="item.value"
                      :label="item.label"
                      :value="item.value"
                  >
                  </el-option>
                </c-select>
              </el-form-item>
            </c-col>
            <c-col :span="8">
              <el-form-item
                  label="融资状态"
                  prop="infcon.cxmflg"
                  style="width: 100%"
              >
                <c-select
                    v-model="model.infcon.cxmflg"
                    style="width: 100%"
                    placeholder="请选择是否显示查询码"
                >
                  <el-option
                      v-for="item in codes.ovdflg"
                      :key="item.value"
                      :label="item.label"
                      :value="item.value"
                  >
                  </el-option>
                </c-select>
              </el-form-item>
            </c-col>

            <c-col :span="8">
              <el-form-item
                  label="融资品种"
                  prop="seafintyp"
                  style="width: 100%"
              >
                <c-select
                    v-model="model.seafintyp"
                    style="width: 100%"
                    placeholder="请选择融资品种"
                >
                  <el-option
                      v-for="item in codes.boppayattr1"
                      :key="item.value"
                      :label="item.label"
                      :value="item.value"
                  >
                  </el-option>
                </c-select>
              </el-form-item>
            </c-col>
            <c-col :span="8">
              <el-form-item
                  label="货物代码 "
                  prop="trdgrp.rec.stagod"
                  style="width: 100%"
              >
                <c-select
                    v-model="model.trdgrp.rec.stagod"
                    style="width: 100%"
                    placeholder="请选择货物代码 "
                >
                  <el-option
                      v-for="item in codes.godcod"
                      :key="item.value"
                      :label="item.label"
                      :value="item.value"
                  >
                  </el-option>
                </c-select>
              </el-form-item>
            </c-col>

            <c-col :span="8">
              <el-form-item prop="trdgrp.rec.oseflg" style="width: 100%">
                <c-checkbox v-model="model.trdgrp.rec.oseflg"
                >海外代付
                </c-checkbox
                >
              </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-currency
                      v-model="model.infcon.seaamtfr"
                      placeholder="请输入金额区间"
                  ></c-input-currency>
                </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-currency
                      v-model="model.infcon.seaamtto"
                      placeholder="请输入金额区间"
                  ></c-input-currency>
                </c-col>
              </el-form-item>
            </c-col>
          </el-row>
        </el-form>
      </template>
    </c-list-search>

<!--    <c-col :span="24" style="margin-top: 10px">-->
<!--      <c-button-->
<!--          class="medium_bcs"-->
<!--          size="medium"-->
<!--          type="primary"-->
<!--          style="margin-left: 0px"-->
<!--          @click="toTrtopn"-->
<!--      >进口融资开立-->
<!--      </c-button-->
<!--      >-->
<!--    </c-col>-->
    <div style="height: 90%">
      <c-col :span="24">
        <el-table
            :data="stmData.data"
            :columns="stmData.columns"
            :showButtonFlg="true"
        >
          <el-table-column
              v-for="(item, key) in stmData.columns"
              :key="key"
              :label="item.label"
              :prop="item.prop"
          ></el-table-column>
          <el-table-column fixed="right" prop="op" label="操作" width="140px">
            <template slot="header">
              <c-col :span="11" style="text-align: center">
                <span>操作</span>
              </c-col>
            </template>
            <template slot-scope="scope">
              <el-popover
                  placement="top-start"
                  title="历史信息"
                  width="800"
                  trigger="click"
                  :ref="'popover_' + scope.row.IDX"
              >
                <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.IDX)"
                  ></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"
                  >
                    <template slot-scope="scope">
                      <div>{{ scope.row[item.prop] }}</div>
                    </template>
                  </el-table-column>
                  <el-table-column fixed="right" prop="op" label="操作" width="250px">
                    <template slot-scope="scope">
                      <c-button
                          style="margin-left: 0"
                          size="small"
                          @click="display(scope.row['inr'])"
                      >快照
                      </c-button
                      >
                    </template>
                  </el-table-column>
                </el-table>
                <c-button
                    style="margin-left: 0"
                    size="small"
                    slot="reference"
                    @click="details(scope.row)">
                  详情
                </c-button>
              </el-popover>
              <c-button
                  style="margin-left: 5px"
                  size="small"
                  type="primary"
                  @click="handler(scope.row)"
              >处理
              </c-button>
            </template>
          </el-table-column>
        </el-table>
        <div class="pagination-box">
          <el-pagination
              style="margin-right: 30px;"
              @size-change="handleSizeChange"
              @current-change="handleCurrentChange"
              :current-page.sync="pagination.pageIndex"
              :page-sizes="[10, 20, 50, 100, 500]"
              :page-size="pagination.pageSize"
              layout="sizes, prev, pager, next"
              :total="pagination.total">
          </el-pagination>
        </div>
      </c-col>
    </div>

    <!-- 点击处理弹框 -->
    <el-dialog
        :visible.sync="initdialog"
        title="交易列表"
        append-to-body
        width="60%"
    >
      <div class="dialog-wrap">
        <div class="btn-group-wrap">
          <div class="btn-item" v-for="(item, index) in handlerDataList" :key="index">
            <el-button
                type="primary"
                :disabled="item.value === 'N'"
                @click="handleClick(item)"
            >{{ item.label }}
            </el-button>
          </div>
        </div>
      </div>
    </el-dialog>

    <m-busbtn
        ref="childs"
        :ownref="ownref"
        :model="TrtselModel"
        ownrefPath="trdgrp"
        trnCode="trtsel"
        @onChoose="onChoose"
    >
    </m-busbtn>
  </div>
</template>
<script>
import event from "../event";
import BusNavbar from "~/views/Public/BusNavbar";

import TrtselModel from "~/model/Trtsel";
import operationFunc from "@/mixin/operationFunc";

export default {
  inject: ["root"],
  props: ["model", "codes"],
  mixins: [event,operationFunc],
  components: {"m-busbtn": BusNavbar},
  data() {
    return {
      TrtselModel: new TrtselModel().data,
      ownref: "",
      dialogTableVisible: false,
      searchToggle: true,
      initdialog: false,
      stmData: {
        columns: [
          {
            label: '进口融资编号',
            prop: 'seaownref'
          },
          {
            label: '客户经理',
            prop: 'ownusr'
          },
          {
            label: '融资品种',
            prop: 'fintyp'
          },
          {
            label: '货物类型',
            prop: 'stagod'
          },
          {
            label: '单据编号',
            prop: 'pntref'
          },
          {
            label: '执行利率',
            prop: 'actrat'
          },

          {
            label: '融资状态',
            prop: 'ovdflg'
          },

          {
            label: '融资账号',
            prop: 'finact'
          },

          {
            label: '开立日期',
            prop: 'opndat'
          },

          {
            label: '到期日期',
            prop: 'opndat'
          },

          {
            label: '关闭日期',
            prop: 'clsdat'
          },
          {
            label: '融资天数',
            prop: 'tenday'
          },

          {
            label: '海外代付天数',
            prop: 'oseday'
          },
          {
            label: '支行名称',
            prop: 'bchname'
          },
        ],
        data: [],
      },
      pagination: {
        pageIndex: 1,
        pageSize: 10,
        total: 0
      },
      trnData: {
        columns: [
          {
            label: '交易id',
            prop: 'inr'
          },
          {
            label: '进口融资编号',
            prop: 'ownref'
          },
          {
            label: '交易名称',
            prop: 'ininam'
          },
          {
            label: '条目',
            prop: 'inidattim'
          },
          {
            label: '状态',
            prop: 'relflg'
          },
          {
            label: '币种',
            prop: 'reloricur'
          },
          {
            label: '相关金额',
            prop: 'reloriamt'
          },
          {
            label: '标识',
            prop: 'relres'
          },
        ],
        data: [],
      },
      // 处理
      handlerDataList: [],
      btnRouteMap: [
        {
          label: '进口融资还款',
          route: '/business-new/trtset'
        }
      ],
      currentHandleRow: {}
    };
  },

  methods: {
    async getButtons(ownref, closedDate) {
      this.ownref = ownref;
      this.TrtselModel.clsflg = (closedDate ?? "").trim() === "" ? "" : "C";
      this.$refs.childs.initdialog = true;
      console.log("ownref:" + ownref);
    },
    async onChoose(code, prePageId) {
      //跳转交易
      // this.$router.history.push("/business/" + code);
      this.$router.push({name: code.charAt(0).toUpperCase() + code.substring(1), params: {prePageId}});
      this.$refs.childs.initdialog = false;
    },
    async getDitSelInfo(code) {
      //跳转交易
      this.$router.history.push("/business-new/" + code);
      this.$refs.childs.initdialog = false;
    },
    async getTrnInfo(idx, row) {
      this.model.infcon.objinr = row["INR"];
      this.model.trdgrp.rec.inr = row["INR"];
      this.model.infcon.chksubcon = "X";

      this.dialogTableVisible = true;
      let rtnmsg = await this.executeDefault("infcon.chksubcon");

      if ((rtnmsg.respCode = SUCCESS)) {
        this.trnData.data = rtnmsg.data.infcon_trnstm.rows;
      }
    },
    closeTrn(refId) {
      this.$refs[refId].doClose();
    },
    toBptopn() {
      this.$router.history.push("/business-new/bptopn");
    },
    toTrtopn() {
      this.$router.history.push("/business-new/Trtopn");
    },
  },
  created: function () {
  },
};
</script>
<style>
.el-dialog__body {
  padding: 10px 5px 50px;
}
</style>