<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"
          :inline="true"
          label-position="left"
          label-width="110px"
          size="small"
        >
          <c-row>
            <c-col :span="24">
              <c-col :span="8">
                <el-form-item
                  label="Own Reference"
                  prop="infcon.seaownref"
                  style="width: 100%"
                >
                  <c-input
                    v-model="model.infcon.seaownref"
                    maxlength="16"
                    placeholder="请输入Own Reference"
                  ></c-input>
                </el-form-item>
              </c-col>

              <c-col :span="8">
                <el-form-item
                  label="Opening between"
                  prop="infcon.opndatfrom"
                  style="width: 100%"
                >
                  <c-col :span="11">
                    <c-date-picker
                      type="date"
                      v-model="model.infcon.opndatfrom"
                      style="width: 100%"
                      placeholder="请选择Opening between"
                      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="请选择Open Date to"
                      value-format="yyyy-MM-dd"
                    ></c-date-picker>
                  </c-col>
                </el-form-item>
              </c-col>

              <c-col :span="8">
                <el-form-item
                  label="Party Reference"
                  prop="infcon.searef"
                  style="width: 100%"
                >
                  <c-input
                    v-model="model.infcon.searef"
                    maxlength="16"
                    placeholder="请输入Party Reference"
                  ></c-input>
                </el-form-item>
              </c-col>
            </c-col>
          </c-row>

          <!-- 可控展示区 -->
          <c-row v-show="searchSlot.searchToggle">
            <c-col :span="24">
              <c-col :span="8">
                <el-form-item
                  label="Name"
                  prop="infcon.nam"
                  style="width: 100%"
                >
                  <c-input
                    v-model="model.infcon.nam"
                    maxlength="40"
                    placeholder="请输入Name"
                  ></c-input>
                </el-form-item>
              </c-col>
              <c-col :span="8">
                <el-form-item
                  label="Sel Single Party"
                  prop="infcon.pty.extkey"
                  style="width: 100%"
                >
                  <c-input
                    v-model="model.infcon.pty.extkey"
                    maxlength="16"
                    placeholder="请输入Select Single Party"
                  ></c-input>
                </el-form-item>
              </c-col>
              <c-col :span="8">
                <el-form-item
                  label="Party Name/BIC"
                  prop="infcon.seapty"
                  style="width: 100%"
                >
                  <c-input
                    v-model="model.infcon.seapty"
                    maxlength="24"
                    placeholder="请输入Party Name/BIC"
                  ></c-input>
                </el-form-item>
              </c-col>
            </c-col>

            <c-col :span="24">
              <c-col :span="8">
                <el-form-item
                  label="Party Name"
                  prop="infcon.pty.nam"
                  style="width: 100%"
                >
                  <c-input
                    v-model="model.infcon.pty.nam"
                    maxlength="40"
                    placeholder="请输入Party Name"
                    disabled
                  ></c-input>
                </el-form-item>
              </c-col>
              <c-col :span="8">
                <el-form-item
                  label="Release Status"
                  prop="infcon.relflg"
                  style="width: 100%"
                >
                  <c-select
                    v-model="model.infcon.relflg"
                    style="width: 100%"
                    placeholder="请选择Release Status"
                  >
                  </c-select>
                </el-form-item>
              </c-col>
              <c-col :span="8">
                <el-form-item
                  label="Handling Type"
                  prop="infcon.hndtyp"
                  style="width: 100%"
                >
                  <c-select
                    v-model="model.infcon.hndtyp"
                    style="width: 100%"
                    placeholder="请选择Handling Type"
                  >
                    <el-option
                      v-for="item in codes.hndtyp"
                      :key="item.value"
                      :label="item.label"
                      :value="item.value"
                    ></el-option>
                  </c-select>
                </el-form-item>
              </c-col>
            </c-col>

            <c-col :span="24">
              <c-col :span="8">
                <el-form-item
                  label="Role"
                  prop="infcon.searol"
                  style="width: 100%"
                >
                  <c-select
                    v-model="model.infcon.searol"
                    style="width: 100%"
                    placeholder="请选择Role"
                  >
                    <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="Resp.User"
                  prop="infcon.usr.extkey"
                  style="width: 100%"
                >
                  <c-input
                    v-model="model.infcon.usr.extkey"
                    maxlength="24"
                    placeholder="请输入Resp.User"
                    disabled
                  ></c-input>
                </el-form-item>
              </c-col>
              <c-col :span="8">
                <el-form-item
                  label="Status"
                  prop="infcon.seasta"
                  style="width: 100%"
                >
                  <c-select
                    v-model="model.infcon.seasta"
                    style="width: 100%"
                    placeholder="请选择Status"
                  >
                    <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>

            <c-col :span="24">
              <c-col :span="8">
                <el-form-item
                  label="Currency"
                  prop="infcon.seacur"
                  style="width: 100%"
                >
                  <c-select
                    v-model="model.infcon.seacur"
                    style="width: 100%"
                    placeholder="请选择Currency"
                  >
                    <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.cxmflg"
                  style="width: 100%"
                >
                  <c-select
                    v-model="model.infcon.cxmflg"
                    style="width: 100%"
                    placeholder="请选择是否显示查询码"
                  >
                    <el-option
                      v-for="item in codes.cxmflg"
                      :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="Amount between"
                  prop="infcon.seaamtfr"
                  style="width: 100%"
                >
                  <c-col :span="11">
                    <c-input
                      v-model="model.infcon.seaamtfr"
                      style="width: 100%"
                      placeholder="请输入Amount between"
                    ></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="请输入Amount to"
                    ></c-input>
                  </c-col>
                </el-form-item>
              </c-col>
            </c-col>

            <c-col :span="24">
              <c-col :span="8">
                <el-form-item
                  label="Purpose of Mess."
                  prop="seapurpos"
                  style="width: 100%"
                >
                  <c-select
                    v-model="model.seapurpos"
                    style="width: 100%"
                    placeholder="请选择Purpose of Mess."
                  >
                    <el-option
                      v-for="item in codes.purpos"
                      :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="Handling Type"
                  prop="seahndtyp"
                  style="width: 100%"
                >
                  <c-select
                    v-model="model.seahndtyp"
                    style="width: 100%"
                    placeholder="请选择Handling Type"
                  >
                    <el-option
                      v-for="item in codes.seahndtyp"
                      :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="Undertaking Type"
                  prop="seagtyp"
                  style="width: 100%"
                >
                  <c-select
                    v-model="model.seagtyp"
                    style="width: 100%"
                    placeholder="请选择Undertaking Type"
                    :code="codes.typgar2"
                  >
                  </c-select>
                </el-form-item>
              </c-col>
            </c-col>

            <c-col :span="24">
              <c-col :span="8">
                <el-form-item
                  label="特殊保函类型"
                  prop="infcon.segtyp"
                  style="width: 100%"
                >
                  <c-select
                    v-model="model.infcon.segtyp"
                    style="width: 100%"
                    placeholder="请选择特殊保函类型"
                    :code="codes.segtyp"
                  >
                  </c-select>
                </el-form-item>
              </c-col>
              <c-col :span="8">
                <el-form-item
                  label="电子渠道类型"
                  prop="fromflg"
                  style="width: 100%"
                >
                  <c-select
                    v-model="model.fromflg"
                    style="width: 100%"
                    placeholder="请选择电子渠道类型"
                  >
                    <el-option
                      v-for="item in codes.fromflg"
                      :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="fenlishi"
                  style="width: 100%"
                >
                  <c-select
                    v-model="model.fenlishi"
                    style="width: 100%"
                    placeholder="请选择是否分离式保函"
                  >
                    <el-option
                      v-for="item in codes.fenlishi"
                      :key="item.value"
                      :label="item.label"
                      :value="item.value"
                    ></el-option>
                  </c-select>
                </el-form-item>
              </c-col>
            </c-col>

            <c-col :span="24">
              <c-col :span="8">
                <el-form-item
                  label=""
                  style="margin-left: 110px"
                  prop="model.cmtflg"
                >
                  <c-checkbox v-model="model.cmtflg">跨境人民币保函</c-checkbox>
                </el-form-item>
              </c-col>
              <c-col :span="8">
                <el-form-item
                  label=""
                  style="margin-left: 110px"
                  prop="model.fingua"
                >
                  <c-checkbox v-model="model.fingua">融资性对外担保</c-checkbox>
                </el-form-item>
              </c-col>
            </c-col>
          </c-row>
        </el-form>
      </template>
    </c-list-search>

    <el-row>
      <c-col :span="24" style="margin-top: 10px">
        <c-button
          class="medium_bcs"
          size="medium"
          type="primary"
          @click="toGitopn"
          >进口保函开立</c-button
        >
        <c-button
          style="margin-left: 20"
          class="medium_bcs"
          size="medium"
          type="primary"
          @click="toGetopn"
          >出口保函通知</c-button
        >
      </c-col>

      <c-col :span="24" style="text-align: right; height: 100px">
        <c-istream-table :list="stmData.data" :columns="stmData.columns">
          <el-table-column fixed="right" prop="op" label="操作" width="140px">
            <template slot="header">
              <c-col :span="11" style="text-align: left">
                <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: 0"
                size="small"
                type="primary"
                @click="getButtons(scope.row['Reference'])"
                >处理</c-button
              >
            </template>
          </el-table-column>
        </c-istream-table>
      </c-col>
    </el-row>

      <div v-if="dialogFlag" class="m-list-btns">
        <m-busbtn
          ref="childs"
          :ownref="ownref"
          trnCode="gitsel"
          ownrefPath="gidgrp"
          :model="gitselModel"
          tabIndex="1"
          @onChoose="onChoose"
          >11</m-busbtn
        >
      </div>
      <div v-else>
        <m-busbtn
          ref="childs"
          :ownref="ownref"
          trnCode="getsel"
          ownrefPath="gidgrp"
          :model="getselModel"
          tabIndex="1"
          @onChoose="onChoose"
          >11</m-busbtn
        >
      </div>

    <!-- <c-col :span="12">
        <el-form-item label="Own Reference" prop="infcon.seaownref">
            <c-input  v-model="model.infcon.seaownref" maxlength="16"  placeholder="请输入Own Reference"></c-input>
        </el-form-item>
       </c-col>
                                   
       <c-col :span="12">
        <el-form-item label="Name" prop="infcon.nam">
            <c-input  v-model="model.infcon.nam" maxlength="40"  placeholder="请输入Name"></c-input>
        </el-form-item>
       </c-col>
                  
       <c-col :span="12">
        <c-button size="small" type="primary"  @click="onInfbutSearow">
            &Search
        </c-button>
       </c-col>
                                   
       <c-col :span="12">
        <el-form-item label="Party Reference" prop="infcon.searef">
            <c-input  v-model="model.infcon.searef" maxlength="16"  placeholder="请输入Party Reference"></c-input>
        </el-form-item>
       </c-col>
                                   
       <c-col :span="12">
        <el-form-item label="Release Status" prop="infcon.relflg">
            <c-select v-model="model.infcon.relflg" style="width:100%" placeholder="请选择Release Status">
              </c-select>
        </el-form-item>
       </c-col>
                  
       <c-col :span="12">
        <c-button size="small" type="primary"  @click="onInfbutDsp">
            D&isplay
        </c-button>
       </c-col>
                  
       <c-col :span="12">
        <el-form-item label="Handling Type" prop="infcon.hndtyp">
            <c-select v-model="model.infcon.hndtyp" style="width:100%" placeholder="请选择Handling Type">
              </c-select>
        </el-form-item>
       </c-col>
                                                    
       <c-col :span="12">
        <el-form-item label="Select Single Party" prop="infcon.pty.extkey">
            <c-input  v-model="model.infcon.pty.extkey" maxlength="24"  placeholder="请输入Select Single Party"></c-input>
        </el-form-item>
       </c-col>
                                   
       <c-col :span="12">
        <el-form-item label="External Visible Name" prop="infcon.pty.nam">
            <c-input  v-model="model.infcon.pty.nam" maxlength="40"  placeholder="请输入External Visible Name"></c-input>
        </el-form-item>
       </c-col>
                  
       <c-col :span="12">
        <c-button size="small" type="primary"  @click="onInfbutUserow">
            &Use
        </c-button>
       </c-col>
                                   
       <c-col :span="12">
        <el-form-item label="Party Name/BIC" prop="infcon.seapty">
            <c-input  v-model="model.infcon.seapty" maxlength="24"  placeholder="请输入Party Name/BIC"></c-input>
        </el-form-item>
       </c-col>
                                   
       <c-col :span="12">
        <el-form-item label="Role" prop="infcon.searol">
            <c-select v-model="model.infcon.searol" style="width:100%" placeholder="请选择Role">
              </c-select>
        </el-form-item>
       </c-col>
                  
       <c-col :span="12">
        <c-button size="small" type="primary"  @click="onInfbutClr">
            &Clear
        </c-button>
       </c-col>
                  
       <c-col :span="12">
        <el-form-item label="Opening between" prop="infcon.opndatfrom">
            <c-date-picker type="date"  v-model="model.infcon.opndatfrom" style="width:100%"  placeholder="请选择Opening between"></c-date-picker>
        </el-form-item>
       </c-col>
                                   
       <c-col :span="12">
        <el-form-item label="Open Date to" prop="infcon.opndatto">
            <c-date-picker type="date"  v-model="model.infcon.opndatto" style="width:100%"  placeholder="请选择Open Date to"></c-date-picker>
        </el-form-item>
       </c-col>
                                   
       <c-col :span="12">
        <el-form-item label="User ID" prop="infcon.usr.extkey">
            <c-input  v-model="model.infcon.usr.extkey" maxlength="8"  placeholder="请输入User ID"></c-input>
        </el-form-item>
       </c-col>
                                   
       <c-col :span="12">
        <el-form-item label="Status" prop="infcon.seasta">
            <c-select v-model="model.infcon.seasta" style="width:100%" placeholder="请选择Status">
              </c-select>
        </el-form-item>
       </c-col>
                                   
       <c-col :span="12">
        <c-button size="small" type="primary"  @click="onInfbutButprt">
            导Excel
        </c-button>
       </c-col>
                                   
       <c-col :span="12">
        <el-form-item label="Currency" prop="infcon.seacur">
            <c-select v-model="model.infcon.seacur" style="width:100%" placeholder="请选择Currency">
              </c-select>
        </el-form-item>
       </c-col>
                                   
       <c-col :span="12">
        <el-form-item label="Amount between" prop="infcon.seaamtfr">
            <c-input  v-model="model.infcon.seaamtfr"  placeholder="请输入Amount between"></c-input>
        </el-form-item>
       </c-col>
                                   
       <c-col :span="12">
        <el-form-item label="Amount to" prop="infcon.seaamtto">
            <c-input  v-model="model.infcon.seaamtto"  placeholder="请输入Amount to"></c-input>
        </el-form-item>
       </c-col>
                  
       <c-col :span="12">
        <el-form-item label="是否显示查询码" prop="infcon.cxmflg">
            <c-select v-model="model.infcon.cxmflg" style="width:100%" placeholder="请选择是否显示查询码">
              </c-select>
        </el-form-item>
       </c-col>
                                                                                      
       <c-col :span="12">
        <el-form-item label="电子渠道类型" prop="fromflg">
            <c-select v-model="model.fromflg" style="width:100%" placeholder="请选择电子渠道类型">
              </c-select>
        </el-form-item>
       </c-col>
                  
       <c-col :span="12">
        <el-form-item label="是否分离式保函" prop="fenlishi">
            <c-select v-model="model.fenlishi" style="width:100%" placeholder="请选择是否分离式保函">
              </c-select>
        </el-form-item>
       </c-col>
                  
       <c-col :span="12">
        <el-form-item label="特殊保函类型" prop="infcon.segtyp">
            <c-select v-model="model.infcon.segtyp" style="width:100%" placeholder="请选择特殊保函类型">
              </c-select>
        </el-form-item>
       </c-col>
                  
       <c-col :span="12">
	    <c-checkbox v-model="model.cmtflg">跨境人民币保函</c-checkbox>
       </c-col>
                  
       <c-col :span="12">
	    <c-checkbox v-model="model.fingua">融资性对外担保</c-checkbox>
       </c-col>
                  
       <c-col :span="12">
        <c-button size="small" type="primary"  @click="onInfbutExi">
            E&xit
        </c-button>
       </c-col> -->
  </div>
</template>
<script>
import Api from "~/service/Api";
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable";
import Event from "~/model/Infgid/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,
      trnData: {
        columns: [
          '0 1 "Trn ID" 100',
          '1 2 "Reference" 200',
          '2 3 "Transaction Name" 100',
          '3 4 "Entry" 200',
          '4 5 "Status" 50',
          '5 6 "Cur." 80',
          '6 7 "Relevant Amount" 80',
          '7 8 "Signed" 80',
        ],
        data: [],
      },
      stmData: {
        columns: [
          '1 1 "Reference" 150',
          '2 2 "Resp. User" 150',
          // '8 3 "保函品种" 150',
          {
            index: 8,
            position: 3,
            width: 150,
            pattern: "code",
            label: "保函品种",
            code: this.codes.typgar2,
          },
          '11 4 "Party Number" 150',
          '12 5 "Applicant" 150',
          '15 6 "Cur" 100',
          '18 7 "Guarantee Amount(RMB)" 180',
          '13 8 "Party Number " 150',
          '14 9 "Beneficiary" 150',
          '3 10 "Opened" 150',
          '10 11 "分行名称" 150',
          '17 12 "Cur" 150',
          '22 13 "Open Amount(RMB)" 150',
          '4 14 "Validity" 150',
          '5 15 "Liability" 150',
          '19 16 "Cur" 150',
          '16 17 "Guar. Amount" 150',
          '21 18 "Cur" 150',
          '20 19 "Open Amount" 150',
          // '9 20 "Handling Type" 150',
          {
            index: 9,
            position: 20,
            width: 150,
            pattern: "code",
            label: "Handling Type",
            code: this.codes.hndtyp,
          },
          '6 21"电子渠道类型" 150',
          '7 22"OTHERSNO" 150',
        ],
        data: [],
      },
    };
  },
  methods: {
    ...Event,
    async getButtons(ownref){
        this.ownref = ownref
        this.$refs.childs.initdialog = true
        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();
    },
    toGitopn() {
      this.$router.history.push("/business/gitopn");
    },
    toGetopn() {
      this.$router.history.push("/business/getopn");
    },
    handleReset: function () {
      this.model = {
        instNo: "",
        instName: "",
      };
    },
  },
  created: function () {},
  watch: {
    "model.gidgrp.rec.ownref": function () {},
  },
};
</script>
<style>
.el-dialog__body {
  padding: 10px 5px 50px;
}
</style>
