<template>
  <div class="eibs-tab">
    <el-form
      class="m-table-search-form"
      ref="paramsForm"
      label-position="right"
      label-width="110px"
      size="small"
    >
      <c-row>
        <c-col :span="24">
          <c-col :span="8">
            <el-form-item
              label="用户选择"
              prop="trncorco.usfmod.flt"
              style="width: 100%"
            >
              <c-fullbox>
                <c-select
                  v-model="model.trncorco.usfmod.flt"
                  maxlength="16"
                  placeholder="请输入用户选择"
                >
                  <el-option
                    v-for="item in flt"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value"
                  >
                  </el-option>
                </c-select>
                <template slot="footer">
                  <c-button size="small" type="primary"> 显示与过滤 </c-button>
                </template>
              </c-fullbox>
            </el-form-item>
          </c-col>

          <c-col :span="8">
            <el-form-item
              label="汇款编号"
              prop="trncorco.ownref"
              style="width: 100%"
            >
              <c-input
                v-model="model.trncorco.ownref"
                maxlength="16"
                placeholder="请输入业务编号"
              >
              </c-input>
            </el-form-item>
          </c-col>

          <c-col :span="8">
            <el-form-item
              label="汇款性质"
              prop="trncorco.trntyp"
              style="width: 100%"
            >
              <c-select
                v-model="model.trncorco.trntyp"
                style="width: 100%"
                placeholder="请选择汇款性质"
              >
                <el-option
                  v-for="item in trntyp"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value"
                ></el-option>
              </c-select>
            </el-form-item>
          </c-col>
        </c-col>
      </c-row>

      <c-col
        :span="24"
        style="text-align: right; height: 36.8px"
        v-if="searchToggle"
      >
        <el-button size="small" @click="handleReset">重置</el-button>
        <el-button
          type="primary"
          icon="el-icon-search"
          size="small"
          @click="handleSearch"
          >查询</el-button
        >
        <el-button type="text" @click="searchToggle = false">
          展开
          <i class="el-icon-arrow-down"></i>
        </el-button>
      </c-col>

      <!-- 可控展示区 -->
      <c-row v-show="!searchToggle">
        <c-col :span="24">
          <c-col :span="8">
            <el-form-item
              label="状态"
              prop="trncorco.relflg"
              style="width: 100%"
            >
              <c-select
                v-model="model.trncorco.relflg"
                style="width: 100%"
                placeholder="请选择Status"
                :code="relflg"
              >
              </c-select>
            </el-form-item>
          </c-col>

          <c-col :span="8">
            <el-form-item label="交易币种" prop="relcur" style="width: 100%">
              <c-select
                v-model="model.relcur"
                style="width: 100%"
                placeholder="请选择币种"
                :code="currencycode"
              >
              </c-select>
            </el-form-item>
          </c-col>

          <c-col :span="8">
            <el-form-item label="金额区间" prop="" style="width: 100%">
              <c-col :span="11">
                <c-input-currency v-model="model.amt1" 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.amt2" placeholder="请输入金额">
                </c-input-currency>
              </c-col>
            </el-form-item>
          </c-col>
        </c-col>

        <c-col :span="24">
          <c-col :span="8">
            <el-form-item
              label="开立日期"
              prop="trncorco.inidatfro"
              style="width: 100%"
            >
              <c-col :span="11">
                <c-date-picker
                  type="date"
                  v-model="model.trncorco.inidatfro"
                  value-format="yyyy-MM-dd"
                  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"
                  v-model="model.trncorco.inidattil"
                  value-format="yyyy-MM-dd"
                  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="客户号" prop="ptyextkey" style="width: 100%">
              <c-input
                v-model="model.ptyextkey"
                placeholder="请输入客户号"
              ></c-input>
            </el-form-item>
          </c-col>

          <c-col :span="8">
            <el-form-item label="分行" prop="branch" style="width: 100%">
              <c-select
                v-model="model.branch"
                maxlength="24"
                style="width: 100%"
                placeholder="请输入分行"
              >
                <el-option
                  v-for="item in branch"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value"
                ></el-option>
              </c-select>
            </el-form-item>
          </c-col>
        </c-col>

        <c-col :span="8">
          <el-form-item label="交易类型" prop="atp.cod" style="width: 100%">
            <c-fullbox>
              <c-input v-model="model.atp.cod" style="width: 100%"></c-input>
              <template slot="footer">
                <c-button
                  style="margin: 0 0 0 10px; padding: 0 12px"
                  size="small"
                  type="primary"
                >
                  <i class="el-icon-info"></i>
                </c-button>
              </template>
            </c-fullbox>
          </el-form-item>
        </c-col>
      </c-row>

      <c-col
        :span="24"
        style="text-align: right; height: 36.8px"
        v-if="!searchToggle"
      >
        <el-button size="small" @click="handleReset">重置</el-button>
        <el-button
          type="primary"
          icon="el-icon-search"
          size="small"
          @click="handleSearch"
          >查询</el-button
        >
        <el-button type="text" @click="searchToggle = true">
          收起
          <i class="el-icon-arrow-up"></i>
        </el-button>
      </c-col>
    </el-form>

    <c-col :span="24">
      <div style="border-bottom: 10px solid rgb(232, 232, 232)"></div>
    </c-col>

    <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: left"><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"
                  @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>
    <m-busbtn
      ref="childs"
      :ownref="ownref"
      trnCode="cptsel"
      :model="cptselModel"
      ownrefPath="cpdgrp"
      @onChoose="onChoose"
      >11</m-busbtn
    >
  </div>
</template>
<script>
import Api from "~/service/Api";
import commonProcess from "~/mixin/commonProcess";
import CodeTable from "~/config/CodeTable";
import Event from "~/model/Cptrel/Event";
import BusNavbar from "~/views/Public/BusNavbar";
import CptselModel from "~/model/Cptsel";

export default {
  inject: ["root"],
  props: ["model", "codes"],
  mixins: [commonProcess],
  components: { "m-busbtn": BusNavbar },
  data() {
    return {
      cptselModel: new CptselModel().data,
      ownref: "",
      stmData: {
        columns: [
          '10 1 "交易代码" 100 1 0:0 3 ATPTXT',
          '11 2 "汇款编号" 186',
          '17 3 "消息类型" 186',
          '12 4 "币种" 137',
          '13 5 "相关金额" 100 2 8:1 2 5',
          '14 6 "登记" 104 20 30 1',
          '9 7 "Req" 135',
          '2 8 "Sig" 135',
          '6 9 "Rq0" 135',
          '3 10 "Rel0" 135',
          '7 11 "Rq1" 135',
          '4 12 "Rel1" 135',
          '8 13 "Rq2" 135',
          '5 14 "Rel2" 135',
          '16 15 "用户" 160',
          '18 16 "" 60',
          '0 17 "状态" 100 1 0:0 1 RELSTA',
          '15 18 "分行" 142',
        ],
        data: [],
      },
      trnData: {
        columns: [
          '1 1 "编号" 200',
          '2 2 "交易名称" 130',
          // '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 "金额" 100',
        ],
        data: [],
      },
      searchToggle: true,
      flt: [
        { label: "All Users", value: "<ALL>" },
        { label: "Selected User", value: "<SELU>" },
      ],
      branch: [{ label: "LM ADD", value: "00001047" }],
      currencycode: [
        { label: "ASF 记账瑞士法郎", value: "ASF" },
        { label: "ATS 先令", value: "ATS" },
        { label: "AUD 澳大利亚元", value: "AUD" },
        { label: "BEF 比利时法郎", value: "BEF" },
        { label: "CAD 加元", value: "CAD" },
        { label: "CHF 瑞士法郎", value: "CHF" },
        { label: "CNY 人民币元", value: "CNY" },
        { label: "DEM 德国马克", value: "DEM" },
        { label: "DKK 丹麦克朗", value: "DKK" },
        { label: "EUR 欧元", value: "EUR" },
        { label: "FIM 马克", value: "FIM" },
        { label: "FRF 法国法郎", value: "FRF" },
        { label: "GBP 英镑", value: "GBP" },
        { label: "HKD 香港元", value: "HKD" },
        { label: "ITL 意大利里拉", value: "ITL" },
        { label: "JPY 日元", value: "JPY" },
        { label: "KRW 园", value: "KRW" },
        { label: "MOP 澳门元", value: "MOP" },
        { label: "NLG 荷兰盾", value: "NLG" },
        { label: "NOK 挪威克朗", value: "NOK" },
        { label: "NZD 新西兰元", value: "NZD" },
        { label: "SEK 瑞典克朗", value: "SEK" },
        { label: "SGD 新加坡元", value: "SGD" },
        { label: "THB 铢", value: "THB" },
        { label: "TWD 新台湾元", value: "TWD" },
        { label: "USD 美元", value: "USD" },
        { label: "XEU 欧洲货币单元(E.C.U)", value: "XEU" },
      ],
      relflg: [
        { label: "<all>", value: "" },
        { label: "已修改", value: "C" },
        { label: "Final", value: "F" },
        { label: "已拾取", value: "P" },
        { label: "已拒绝", value: "N" },
        { label: "Released", value: "R" },
        { label: "等待", value: "W" },
      ],
      trntyp: [
        { label: "ALL", value: "" },
        { label: "贸易", value: "0" },
        { label: "非贸易", value: "1" },
        { label: "资本", value: "2" },
        { label: "其他", value: "3" },
      ],
    };
  },
  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 getTrnInfo(idx, row) {
      this.model.objinr = row["INR"];
      this.model.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();
    },
  },
  created: function () {},
};
</script>
<style>
</style>