<template>
  <div class="eContainer">
    <c-function-btn
      :handleSubmit="handleSubmit"
      :handleCheck="handleCheck"
      :handleStash="handleStash"
    >
      <el-button size="small">流程附言</el-button>
      <el-button size="small">交易历史</el-button>
      <el-button size="small">备忘录</el-button>
      <el-button size="small">影像信息</el-button>
      <!-- <el-button size="small">保存模板</el-button> -->
      <!-- <el-button size="small">使用模板</el-button> -->
      <el-button size="small">制裁信息</el-button>
      <!-- <el-button size="small">拆分报文</el-button> -->
      <el-button size="small">智能提示</el-button>
    </c-function-btn>
    <el-form
      :model="model"
      :rules="rules"
      ref="modelForm"
      label-width="150px"
      label-position="right"
      size="small"
      :validate-on-rule-change="false"
    >
      <c-tabs v-model="tabVal" ref="elment" type="card" @tab-click="myTabClick">
        <!--gitp PD001291 开立方式 -->
        <el-tab-pane label="开立方式" name="opnp">
          <m-opnp :model="model" :codes="codes" />
        </el-tab-pane>
        <!--gitamep PD002031 Amendment -->
        <el-tab-pane label="Amendment" name="ameps20">
          <c-content>
            <m-ameps20 :model="model" :codes="codes" />
          </c-content>
        </el-tab-pane>

        <el-tab-pane
          v-if="model.gitp.swiftflg == 'Y'"
          label="Amendment Dates"
          name="amedat20"
        >
          <c-content>
            <m-amedat20 :model="model" :codes="codes" />
          </c-content>
        </el-tab-pane>

        <el-tab-pane
          v-if="
            model.gitp.swiftflg == 'Y' &&
            (model.trnmod.swiadd.purposame == 'ISCA' ||
              model.trnmod.swiadd.purposame == 'ICCA')
          "
          label="Seq C:Amendment"
          name="amecp"
        >
          <c-content>
            <m-amecp :model="model" :codes="codes" />
          </c-content>
        </el-tab-pane>
        <!--gitamep PD002100 c -->
        <!-- <el-tab-pane :label="$t('gitamep.PD002100')" name="amedat20">
                <m-amedat20 :model="model" :codes="codes"/>
           </el-tab-pane> -->
        <!--gitp PD000002 Overview -->
        <el-tab-pane label="Overview" name="ovwp">
          <c-content>
            <m-ovwp :model="model" :codes="codes" />
          </c-content>
        </el-tab-pane>

        <el-tab-pane label="Parties" name="ptyp">
          <m-ptyp :model="model" :codes="codes" />
        </el-tab-pane>

        <el-tab-pane
          v-if="model.gitp.swiftflg == 'Y'"
          label="Presentation/ Delivery"
          name="preperp"
        >
          <m-preperp :model="model" :codes="codes" />
        </el-tab-pane>

        <el-tab-pane label="Details" name="detp">
          <c-content>
            <m-detp :model="model" :codes="codes" />
          </c-content>
        </el-tab-pane>

        <el-tab-pane
          v-if="model.gitamep.prtflg == 'X'"
          label="Undertaking Text"
          name="gidtxtp"
        >
          <m-gidtxtp :model="model" :codes="codes" />
        </el-tab-pane>

        <el-tab-pane label="History" name="amephis">
          <m-amephis :model="model" :codes="codes" />
        </el-tab-pane>

        <el-tab-pane label="Liability" name="liability">
          <c-content>
            <m-engp :model="model" :codes="codes" />
          </c-content>
        </el-tab-pane>

        <el-tab-pane label="Cash Cover" name="Cash Cover">
          <c-content>
            <m-ccvpan :model="model" :codes="codes" />
          </c-content>
        </el-tab-pane>

        <el-tab-pane label="Settlement" name="setpan">
          <c-content>
            <m-setpan :model="model" :codes="codes" />
          </c-content>
        </el-tab-pane>

        <el-tab-pane label="Bookings" name="Booking">
          <c-content>
            <m-glepan :model="model" :codes="codes" />
          </c-content>
        </el-tab-pane>

        <el-tab-pane label="Completion" name="Completion">
          <c-content>
            <m-coninfp :model="model" :codes="codes" />
          </c-content>
        </el-tab-pane>

        <el-tab-pane label="Messages" name="Messages">
          <m-docpan :model="model" :codes="codes" />
        </el-tab-pane>

        <el-tab-pane label="Attachments" name="Attachments">
          <c-content>
            <m-doctre :model="model" :codes="codes" />
          </c-content>
        </el-tab-pane>

        <el-tab-pane label="备查表" name="addbcb">
          <m-addbcb :model="model" :codes="codes" />
        </el-tab-pane>

        <el-tab-pane 
          v-if="
            model.gidgrp.rec.purpos == 'ISCO' ||
            model.gidgrp.rec.purpos == 'ICCO'
          " label="Seq. C: History" name="amephisc">
          <m-amephisc :model="model" :codes="codes" />
        </el-tab-pane>

        <el-tab-pane
          v-if="
            model.gidgrp.rec.purpos == 'ISCO' ||
            model.gidgrp.rec.purpos == 'ICCO'
          "
          label="Seq. C: Overview"
          name="ovwpc"
        >
          <m-ovwpc :model="model" :codes="codes" />
        </el-tab-pane>

        <el-tab-pane
          v-if="
            model.gidgrp.rec.purpos == 'ISCO' ||
            model.gidgrp.rec.purpos == 'ICCO'
          "
          label="Seq. C: Parties"
          name="ptypc"
        >
          <m-ptypc :model="model" :codes="codes" />
        </el-tab-pane>

        <el-tab-pane
          v-if="
            model.gidgrp.rec.purpos == 'ISCO' ||
            model.gidgrp.rec.purpos == 'ICCO'
          "
          label="Seq. C: Presentation/ Delivery"
          name="preperpc"
        >
          <m-preperpc :model="model" :codes="codes" />
        </el-tab-pane>

        <el-tab-pane
          v-if="
            model.gidgrp.rec.purpos == 'ISCO' ||
            model.gidgrp.rec.purpos == 'ICCO'
          "
          label="Seq. C: Details"
          name="detpc"
        >
          <m-detpc :model="model" :codes="codes" />
        </el-tab-pane>

        <el-tab-pane
          v-if="
            model.gitp.swiftflg == 'Y' &&
            (model.trnmod.swiadd.purposame == 'ISCA' ||
              model.trnmod.swiadd.purposame == 'ICCA') &&
            model.gitamep.prtflg == 'X'
          "
          label="Seq. C: Undertaking Text"
          name="gidtxtpc"
        >
          <m-gidtxtpc :model="model" :codes="codes" />
        </el-tab-pane>

        <el-tab-pane
          v-if="model.gitp.swiftflg == 'Y' &&
            (model.trnmod.swiadd.purposame == 'ISCA' ||
             model.trnmod.swiadd.purposame == 'ICCA') &&
             model.trnmod.swiadd.addamtflgc == 'X'"
          label="Seq. C: Add. Amounts"
          name="aacp"
        >
          <m-aacp :model="model" :codes="codes" />
        </el-tab-pane>

        <el-tab-pane
          v-if="model.gitp.swiftflg == 'Y' &&
                model.trnmod.swiadd.purposame == 'ISUA' &&
                model.trnmod.swiadd.addamtflg == 'X'"
          label="Seq. C: Add. Amounts"
          name="aamp20"
        >
          <m-aamp20 :model="model" :codes="codes" />
        </el-tab-pane>

        <el-tab-pane label="统一授信" name="limitbody">
          <m-limitbody :model="model" :codes="codes" />
        </el-tab-pane>
      </c-tabs>
    </el-form>
    <c-grid-ety-prompt-dialog
      ref="etyDialog"
      :promptData="promptData"
      v-on:select-ety="selectEty"
    >
    </c-grid-ety-prompt-dialog>
  </div>
</template>
<script>
import Api from "~/service/Api";
import CodeTable from "~/config/CodeTable";
import Gitame from "~/model/Gitame";
import commonProcess from "~/mixin/commonProcess";
import commonFuncs from "~/mixin/commonFuncs";
import Check from "~/model/Gitame/Check";
import Default from "~/model/Gitame/Default";
import Pattern from "~/model/Gitame/Pattern";
import Opnp from "./Opnp";
import Ameps20 from "./Ameps20";
import Amedat20 from "./Amedat20";
import Ovwp from "./Ovwp";
import Ptyp from "./Ptyp";
import Preperp from "./Preperp";
import Detp from "./Detp";
import Amephisc from "./Amephisc";
import Amephis from "./Amephis";
import Addbcb from "./Addbcb";
import Amecp from "./Amecp";
import Gidtxtp from "./Gidtxtp";
import Confp from "./Confp";
import Ovwpc from "./Ovwpc";
import Ptypc from "./Ptypc";
import Preperpc from "./Preperpc";
import Detpc from "./Detpc";
import Gidtxtpc from "./Gidtxtpc";
import Aacp from "./Aacp";
import Aamp20 from "./Aamp20";

import Engp from "~/views/Public/Engp";
import Ccvpan from "~/views/Public/Ccvpan";
import Setpan from "~/views/Public/Setpan";
import Glepan from "~/views/Public/Glepan";
import Coninfp from "~/views/Public/Coninfp";
import Docpan from "~/views/Public/Docpan";
import Doctre from "~/views/Public/Doctre";
import Limitbody from "~/views/Public/Limitbody";

export default {
  name: "Gitame",
  components: {
    "m-opnp": Opnp,
    "m-ameps20": Ameps20,
    "m-amedat20": Amedat20,
    "m-ovwp": Ovwp,
    "m-ptyp": Ptyp,
    "m-preperp": Preperp,
    "m-detp": Detp,
    "m-amephisc": Amephisc,
    "m-amephis": Amephis,
    "m-addbcb": Addbcb,
    "m-amecp": Amecp,
    "m-gidtxtp": Gidtxtp,
    "m-confp": Confp,
    "m-ovwpc": Ovwpc,
    "m-ptypc": Ptypc,
    "m-preperpc": Preperpc,
    "m-detpc": Detpc,
    "m-gidtxtpc": Gidtxtpc,
    "m-aacp": Aacp,
    "m-aamp20": Aamp20,

    "m-engp": Engp,
    "m-ccvpan": Ccvpan,
    "m-setpan": Setpan,
    "m-glepan": Glepan,
    "m-coninfp": Coninfp,
    "m-docpan": Docpan,
    "m-doctre": Doctre,
    "m-limitbody": Limitbody,
  },
  provide() {
    return {
      root: this,
    };
  },
  mixins: [commonProcess, commonFuncs], // 里面包含了Default、Check等的公共处理
  data() {
    return {
      tabVal: "opnp",
      trnName: "gitame",
      trnType: "",
      model: new Gitame().data,
      checkRules: Check,
      defaultRules: Default,
      pattern: Pattern,
      rules: null,
      codes: {
        ...CodeTable,
      },
      flag: false,
    };
  },
  methods: {
    myTabClick(tab) {
      this.tabClick(tab);
      let name = tab.name;
      let rulePath;
      if (name === "setpan") {
        this.flag = true;
      }
      if (!!rulePath) {
        this.executeRule(rulePath).then((res) => {
          if (res.respCode == SUCCESS) {
            this.updateModel(res.data);
          }
        });
      }
      /**
       *  do it yourself
       **/
    },
  },
  created: async function () {
    console.log("进入gitame交易");
    let rtnmsg = await this.init({});
    if (rtnmsg.respCode == SUCCESS) {
      this.updateModel(rtnmsg.data);
      //TODO 处理数据逻辑
      if (this.isInDisplay) {
        this.restoreDisplay();
      }
    } else {
      this.$notify.error({ title: "错误", message: "服务请求失败!" });
    }
  },
};
</script>
<style>
</style>