<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"
                  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.nam"
                style="width: 100%"
              >
                <c-input
                  v-model="model.infcon.nam"
                  maxlength="40"
                  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.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="请输入当事人编号"
                ></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="请输入当事人名称"
                  disabled
                ></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.searol"
                style="width: 100%"
              >
                <c-select
                  v-model="model.infcon.searol"
                  style="width: 100%"
                  placeholder="请选择当事人角色"
                >
                  <el-option
                    v-for="item in codes.searol1"
                    :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="客户经理"
                disabled
                prop="infcon.usr.extkey"
                style="width: 100%"
              >
                <c-input
                  v-model="model.infcon.usr.extkey"
                  maxlength="8"
                  placeholder="请输入客户经理"
                  disabled
                ></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="金额区间" style="width: 100%">
                <c-col :span="11">
                  <c-input
                    v-model="model.infcon.seaamtfr"
                    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"
                    placeholder="请输入金额上限"
                    style="width: 100%"
                  ></c-input>
                </c-col>
              </el-form-item>
            </c-col>

            <c-col :span="8">
              <el-form-item
                label="信用证类型"
                prop="sealcrtyp"
                style="width: 100%"
              >
                <c-select
                  v-model="model.sealcrtyp"
                  :code="codes.lcrtyp1"
                  style="width: 100%"
                  placeholder="请选择信用证类型"
                >
                </c-select>
              </el-form-item>
            </c-col>
          </el-row>
        </el-form>
      </template>
    </c-list-search>

    <el-col :span="24" style="margin-top: 10px">
      <c-button
        class="medium_bcs"
        size="medium"
        type="primary"
        title="LETNOT"
        @click="toLetnot"
        style="margin-left: 0px"
      >
        出口信用证预开立
      </c-button>
      <c-button
        class="medium_bcs"
        size="medium"
        type="primary"
        title="LETOPN"
        @click="toLetopn"
      >
        出口信用证开立
      </c-button>
      <c-button
        class="medium_bcs"
        size="medium"
        type="primary"
        title="LETDRW"
        @click="toLetdrw"
      >
        非我行通知及收单行登记
      </c-button>
      <c-button
        class="medium_bcs"
        size="medium"
        type="primary"
        title="LETRSV"
        @click="toLetrsv"
      >
        出口信用证补通知
      </c-button>
    </el-col>

    <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: 0px"
                  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['信用证编号'], scope.row['关闭日期'])
                "
              >
                处理
              </c-button>
            </template>
          </el-table-column>
        </c-istream-table>
      </c-col>
    </div>

    <m-busbtn
      ref="childs"
      :ownref="ownref"
      trnCode="letsel"
      ownrefPath="ledgrp"
      :model="letselModel"
      @onChoose="onChoose"
    ></m-busbtn>
  </div>
</template>
<script>
import Utils from "~/utils/index";
import Api from "~/service/Api";
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable";
import Event from "~/model/Infled/Event";
import LetselModel from "~/model/Letsel";
import BusNavbar from "~/views/Public/BusNavbar";

export default {
  inject: ["root"],
  props: ["model", "codes"],
  mixins: [commonProcess],
  components: { "m-busbtn": BusNavbar },
  data() {
    return {
      letselModel: new LetselModel().data,
      curinr: "",
      ownref: "",
      dialogTableVisible: false,
      trnData: {
        columns: [
          '0 7 "交易ID" 100',
          '1 1 "交易名称" 250',
          '2 2 "条目" 100 4 7',
          // '3 3 \"Status\" 80 1 0 1 RELSTA',
          {
            index: 3,
            position: 3,
            width: 100,
            pattern: "code",
            label: "状态",
            code: this.codes.relstaEN,
          },
          '4 4 "币种" 80',
          '5 5 "相关金额" 150 2 8 1 4',
          '6 6 "标识" 100',
        ],
        data: [],
      },
      stmData: {
        columns: [
          '1 1 "信用证编号" 130',
          '2 2 "客户经理" 100',
          '3 3 "期限日" 90',
          '4 13 "开立日期" 150',
          '5 14 "生效日期" 150',
          '6 15 "关闭日期" 150',
          '7 12 "分行名称" 150',
          '8 4 "申请人编号" 120',
          '9 5 "申请人名称" 150',
          '10 6 "PTA主键." 120',
          '11 7 "受益人编号" 120',
          '12 8 "受益人名称" 150',
          '13 9 "受益人名称(中文)" 190',
          '14 10 "开证行编号" 120',
          '15 11 "开证名称" 150',
          '16 16 "金额币种" 150',
          '17 17 "信用证金额" 150',
          '18 18 "余额币种" 150',
          '19 19 "信用证余额" 150',
        ],
        data: [],
      },

      //      columns:[

      //   ]
    };
  },

  methods: {
    ...Event,
    async getButtons(ownref, closedDate) {
      this.ownref = ownref;
      this.letselModel.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/" + code);
      this.$refs.childs.initdialog = false;
    },

    async getTrnInfo(idx, row) {
      this.model.infcon.objinr = row["INR"];
      this.model.ledgrp.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();
    },

    toLetnot() {
      this.$router.history.push("/business/letnot");
    },
    toLetopn() {
      this.$router.history.push("/business/letopn");
    },
    toLetdrw() {
      this.$router.history.push("/business/letdrw");
    },
    toLetrsv() {
      this.$router.history.push("/business/letrsv");
    },

    // handleReset: function () {
    //   this.model = {
    //     instNo: "",
    //     instName: "",
    //   };
    // },
  },
  created: function () {},
};
</script>
<style>
.m-table-search {
  padding: 20px 0px 10px 0px;
}
</style>