<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">
          <c-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" v-model="model.infcon.opndatfrom" style="width: 100%" placeholder="请选择起始日期"
                    value-format="yyyy-MM-dd"></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" style="width: 100%" placeholder="请选择截止日期"
                    value-format="yyyy-MM-dd"></c-date-picker>
                </c-col>
              </el-form-item>
            </c-col>

            <c-col :span="8">
              <el-form-item label="进口/出口保函" style="width: 100%">
                <c-select v-model="isGuarantee" style="width: 100%" placeholder="请选择进口/出口保函" :code="codes.guarantee">
                </c-select>
              </el-form-item>
            </c-col>
          </c-row>

          <!-- 可控展示区 -->
          <c-row v-show="searchSlot.searchToggle">
            <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>
            <c-col :span="8">
              <el-form-item label="当事人编号" prop="infcon.pty.extkey" style="width: 100%">
                <c-input v-model="model.infcon.pty.extkey" maxlength="16" 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编码"></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="当事人角色" prop="infcon.searol" style="width: 100%">
                <c-select v-model="model.infcon.searol" style="width: 100%" placeholder="请选择当事人角色">
                  <el-option v-for="item in codes.payrol" :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="24" placeholder="请输入客户经理"></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.curtxt1" :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.seaamtfr" style="width: 100%">
                <c-col :span="11">
                  <c-input v-model="model.infcon.seaamtfr" style="width: 100%" placeholder="请输入金额下限"></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" style="width: 100%" placeholder="请输入金额上限"></c-input>
                </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" maxlength="16" placeholder="请输入当事人参考号"></c-input>
              </el-form-item>
            </c-col>

            <c-col :span="8">
              <el-form-item label="承诺类型" prop="seagtyp" style="width: 100%">
                <c-select v-model="model.seagtyp" style="width: 100%" placeholder="请选择承诺类型" :code="codes.seagtyp">
                </c-select>
              </el-form-item>
            </c-col>
          </c-row>
        </el-form>
      </template>
    </c-list-search>
    <div style="height:90%">
      <c-col :span="24">
        <c-istream-table :list="stmData.data" :columns="stmData.columns" :showButtonFlg="true">
          <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>
              <!-- <c-col :span="12" style="text-align: right">
                    <c-button icon="el-icon-s-tools"></c-button>
                  </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" @click="closeTrn('popover_' + scope.row.IDX)" />
                </div>
                <c-istream-table :list="trnData.data" :columns="trnData.columns">
                  <el-table-column prop="op" label="操作" width="0">
                    <template slot-scope="scope">
                      <c-button style="margin-left: 0" size="small" @click="display(scope.row['INR'])">详情</c-button>
                    </template>
                  </el-table-column>
                </c-istream-table>
                <c-button style="margin-left: 0" size="small" @click="getTrnInfo(scope.$index, scope.row)" slot="reference">
                  详情</c-button>
              </el-popover>
              <c-button style="margin-left: 5px" size="small" type="primary" @click="getButtons(scope.row['保函编号'])">
                处理</c-button>
            </template>
          </el-table-column>
        </c-istream-table>
      </c-col>
    </div>

    <div v-if="dialogFlag" class="m-list-btns">
      <m-busbtn ref="childs" :ownref="ownref" trnCode="gitsel" ownrefPath="gcdgrp" :model="gitselModel" tabIndex="3"
        @onChoose="onChoose">11</m-busbtn>
    </div>
    <div v-else>
      <m-busbtn ref="childs" :ownref="ownref" trnCode="getsel" ownrefPath="gcdgrp" :model="getselModel" tabIndex="3"
        @onChoose="onChoose">11</m-busbtn>
    </div>
  </div>
</template>
<script>
import Api from "~/service/Api";
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable";
import Event from "~/model/Infgcd/Event";

import GitselModel from "~/model/Gitsel";
import GetselModel from "~/model/Getsel";
import BusNavbar from "~/views/Public/BusNavbar";

export default {
  inject: ["root"],
  props: ["model", "codes"],
  mixins: [commonProcess],
  components: { "m-busbtn": BusNavbar },
  data() {
    return {
      gitselModel: new GitselModel().data,
      getselModel: new GetselModel().data,
      ownref: "",
      dialogTableVisible: false,
      dialogFlag: true,
      isGuarantee: '',
      trnData: {
        columns: [
          '0 1 "交易ID" 100',
          '1 2 "交易名称" 200',
          '2 3 "条目" 200',
          {
            index: 3,
            position: 4,
            width: 100,
            pattern: "code",
            label: "状态",
            code: this.codes.relflg,
          },
          '4 5 "币种" 80',
          '5 6 "相关金额" 150',
          '6 7 "标识" 100',
        ],
        data: [],
      },
      stmData: {
        columns: [
          '1 1 "保函编号" 150',
          '2 2 "客户经理" 150',
          '5 3 "第一当事人编号" 150',
          '6 4 "申请人名称" 150',
          '7 5 "第二当事人编号" 150',
          '8 6 "受益人名称" 150',
          '3 7 "开立日期" 150',
          '4 8 "关闭日期" 150',
          '9 9 "原始金额币种" 150',
          '10 10 "原始金额" 150',
          '11 11 "余额币种" 150',
          '12 12 "余额" 150',
        ],
        data: [],
      },
    };
  },
  methods: {
    ...Event,
    async getButtons(ownref) {
      this.ownref = ownref;
      this.$refs.childs.initdialog = true;
      this.dialogFlag = ownref.startsWith("LG");
      console.log("dialogFlag:" + this.dialogFlag);
      console.log("ownref:" + ownref);
    },
    async onChoose(code) {
      //跳转交易
      this.$router.history.push("/business/" + code);
      this.$refs.childs.initdialog = false;
    },
    async getDitSelInfo(code) {
      //跳转交易
      this.$router.history.push("/business/" + code);
      this.$refs.childs.initdialog = false;
    },

    async getTrnInfo(idx, row) {
      this.model.infcon.objinr = row["INR"];
      this.model.gidgrp.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();
    },
    // handleReset: function () {
    //   this.model = {
    //     instNo: "",
    //     instName: "",
    //   };
    // },
  },
  created: function () { },
  watch: {
    "model.gidgrp.rec.ownref": function () { },
  },
};
</script>
<style>
.m-table-search {
  padding: 20px 0px 10px 0px;
}
</style>