<template>
  <div class="eibs-tab">
    <c-list-search @form-reset="handleReset" @form-search="handleSearch">
      <template v-slot="searchSlot">
        <c-row>
          <c-col :span="8">
            <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="8">
            <el-form-item label="Opening between" prop="infcon.opndatfrom">
              <c-col :span="11">
                <c-date-picker
                  type="date"
                  v-model="model.infcon.opndatfrom"
                  style="width: 100%"
                  placeholder="请选择Opening between"
                ></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"
                ></c-date-picker>
              </c-col>
            </el-form-item>
          </c-col>

          <c-col :span="8">
            <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-row>

        <c-row v-show="searchSlot.searchToggle">
          <c-row>
            <c-col :span="8">
              <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="8">
              <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="8">
              <el-form-item label="Party Name" prop="infcon.pty.nam">
                <c-input
                  v-model="model.infcon.pty.nam"
                  maxlength="40"
                  placeholder="请输入Party Name"
                ></c-input>
              </el-form-item>
            </c-col>
          </c-row>

          <c-row>
            <c-col :span="8">
              <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="8">
              <el-form-item label="Role" prop="infcon.searol">
                <c-select
                  v-model="model.infcon.searol"
                  style="width: 100%"
                  placeholder="请选择Role"
                >
                  <el-option
                    v-for="(item, idx) in codes.codeSet['infcon.searol']"
                    :key="idx"
                    :label="item.split('\t')[1]"
                    :value="item.split('\t')[0]"
                  ></el-option>
                </c-select>
              </el-form-item>
            </c-col>
            <c-col :span="8">
              <c-col :span="12">
                <el-form-item label="Resp.User ID" prop="infcon.usr.extkey">
                  <c-input
                    v-model="model.infcon.usr.extkey"
                    maxlength="8"
                    placeholder="请输入Resp.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>
          </c-row>

          <c-row>
            <c-col :span="8">
              <el-form-item label="Currency" prop="infcon.seacur">
                <c-select
                  v-model="model.infcon.seacur"
                  style="width: 100%"
                  placeholder="请选择Currency"
                >
                  <el-option
                    v-for="item in codes.codeSet['infcon.seacur']"
                    :key="item"
                    :label="item"
                    :value="item"
                  ></el-option>
                </c-select>
              </el-form-item>
            </c-col>
            <c-col :span="8">
              <el-form-item label="Amount between" prop="infcon.seaamtfr">
                <c-col :span="11">
                  <c-input
                    v-model="model.infcon.seaamtfr"
                    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"
                    placeholder="请输入Amount to"
                  ></c-input>
                </c-col>
              </el-form-item>
            </c-col>
            <c-col :span="8">
              <c-col :span="12">
                <el-form-item label="Document Type" prop="seadocflg">
                  <c-select
                    v-model="model.seadocflg"
                    style="width: 100%"
                    placeholder="请选择Document Type"
                  >
                  </c-select>
                </el-form-item>
              </c-col>

              <c-col :span="12">
                <el-form-item label="Goods Code" prop="seagodcod">
                  <c-select
                    v-model="model.seagodcod"
                    style="width: 100%"
                    placeholder="请选择Goods Code"
                  >
                  </c-select>
                </el-form-item>
              </c-col>
            </c-col>
          </c-row>
        </c-row>
      </template>
    </c-list-search>
    <!-- <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">
      <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="是否显示查询码" prop="infcon.cxmflg">
        <c-select
          v-model="model.infcon.cxmflg"
          style="width: 100%"
          placeholder="请选择是否显示查询码"
        >
        </c-select>
      </el-form-item>
    </c-col> -->

    <c-col :span="24">
      <c-istream-table
        :list="model.infbut.dspstm ? model.infbut.dspstm.rows : []"
        :columns="columns"
      >
        <el-table-column fixed="right" prop="op" label="操作" width="150px">
          <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-dialog :visible.sync="initdialog" :title="'交易列表'" append-to-body>
      <div class="m-list-btns">
        <m-busbtn ref="childs" :ownref="ownref" @onChoose="onChoose"></m-busbtn>
      </div>
    </el-dialog>
  </div>
</template>
<script>
import Api from "~/service/Api";
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable";
import Event from "~/model/Infbrd/Event";
import BusNavbar from "~/views/Business/Infbrd/BusNavbar";

export default {
  inject: ["root"],
  props: ["model", "codes"],
  mixins: [commonProcess],
  components: { "m-busbtn": BusNavbar },
  data() {
    return {
      ownref: "",
      initdialog: false,
      trnData: {
        columns: [
          '1 1 "编号" 200',
          '2 2 "交易名称" 120',
          // '3 3 "日期" 200',
          { index: 3, position: 3, width: 110, pattern: "date", label: "日期" },
          // '4 4 "状态" 50',
          {
            index: 4,
            position: 4,
            width: 100,
            pattern: "code",
            label: "状态",
            code: this.codes.relstaEN,
          },
          '5 5 "币种" 80',
          '6 6 "金额" 110',
        ],
        data: [],
      },
      columns: [
        '1 1 "Reference" 140',
        '2 2 "Resp. User" 100',
        '3 3 "Goods Code" 100 1 0 1 GODCOD',
        // '4 4 "Opened" 500 4 7',
        // '5 5 "Closed" 500 4 7',
        { index: 4, position: 4, width: 100, pattern: "date", label: "Opened" },
        { index: 5, position: 5, width: 100, pattern: "date", label: "Closed" },
        '6 6 "PTA NO." 100',
        '7 7 "Party Number" 133',
        '8 8 "Applicant" 160',
        '9 9 "Applicant CN" 133',
        '10 10 "Party Number" 133',
        '11 11 "Beneficiary" 150',
        '12 12 "Party Number" 140',
        '13 13 "Presenting Bank" 220',
        '14 14 "Doc.Amount Cur" 120',
        '15 15 "Doc.Amount" 120 2 8 1 14',
        '16 16 "Open Amount Cur" 130',
        '17 17 "Open Amount" 120 2 8 1 16',
      ],
    };
  },
  methods: {
    ...Event,
    async getButtons(ownref) {
      this.initdialog = true;
      this.ownref = ownref;
      console.log("ownref:" + ownref);
      setTimeout(() => {
        this.$refs.childs.$emit("childmethods");
      }, 10);
    },
    async onChoose(code) {
      //跳转交易
      this.$router.history.push("/business/" + code);
      this.initdialog = false;
    },
    async getTrnInfo(idx, row) {
      this.model.infcon.objinr = row["INR"];
      this.model.brdgrp.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;
      }
    },
  },
  created: function () {},
};
</script>
<style></style>
