<template>
<c-page title="进口保函赔付">
  <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>
    </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="tabClick">
        <!--PD000027 -->
        <el-tab-pane label="Claim Payment" name="gitsetp1">
          <c-content>
            <m-gitsetp1 :model="model" :codes="codes" />
          </c-content>
        </el-tab-pane>

        <!--PD000027 -->
        <el-tab-pane label="Liability" name="engp">
          <m-engp :model="model" :codes="codes" />
        </el-tab-pane>

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

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

        <!--PD000001 -->
        <el-tab-pane label="Booking" name="glepan">
          <m-glepan :model="model" :codes="codes" />
        </el-tab-pane>

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

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

        <!--PD000546 -->
        <el-tab-pane label="Attchments" name="doctre">
          <m-doctre :model="model" :codes="codes" />
        </el-tab-pane>

        <!--PD000008 -->
        <el-tab-pane label="外管信息" name="wg">
          <m-wg :model="model" :codes="codes" />
        </el-tab-pane>

        <el-tab-pane
          label="境内付款/承兑通知书-基础信息"
          name="basp1"
          v-if="model.bopmod.basflg && model.bopmod.szflg == '2'"
        >
        <c-content>
          <m-basp1 :model="model" :codes="codes" />
        </c-content>
        </el-tab-pane>

        <el-tab-pane
          label="对外付款/承兑通知书-基础信息"
          name="basp"
          v-if="model.bopmod.basflg && model.bopmod.szflg == '1'"
        >
        <c-content>
          <m-basp :model="model" :codes="codes" />
           </c-content>
        </el-tab-pane>

        <!--PD000002 -->
        <el-tab-pane label="跨境人民币申报" name="cnyp">
          <m-cnyp :model="model" :codes="codes" />
        </el-tab-pane>

        <el-tab-pane
          label="2111跨境支出信息"
          name="outp"
          v-if="model.cnybop.outflg == '1'"
        >
          <m-outp :model="model" :codes="codes" />
        </el-tab-pane>

        <!--PD001139 -->
        <el-tab-pane label="试算结果" name="shisuan">
          <m-shisuan :model="model" :codes="codes" />
        </el-tab-pane>

        <el-tab-pane label="Cips" name="cips" v-if="model.trnmod.cmtflg == 'P'&&model.gidgrp.rec.cmtflg">
          <c-content>
            <m-cips :model="model" :codes="codes" />
          </c-content>
        </el-tab-pane>

        <el-tab-pane
          label="Cips2"
          name="cips2"
          v-if="model.trnmod.cmtflg == 'P'&&model.gidgrp.rec.cmtflg"
        >
          <m-cips2 :model="model" :codes="codes" />
        </el-tab-pane>
        <!--PD000538 -->
        <el-tab-pane label="GITSETP" name="gitsetp">
          <c-content>
            <m-gitsetp :model="model" :codes="codes" />
          </c-content>
        </el-tab-pane>

        <!--PD000001 -->
        <el-tab-pane label="统一授信" name="limitbody">
          <m-limitbody :model="model" :codes="codes" />
        </el-tab-pane>

        <!--PD000130 -->
        <el-tab-pane :label=this.det756Name name="det756">
          <c-content>
            <m-det756 :model="model" :codes="codes" />
          </c-content>
        </el-tab-pane>

        <!--PD000131 -->
        <el-tab-pane
          :label=this.det202cvName
          name="det202cv"
          v-if="
            model.trnmod.cmtflg == 'C' ||
            model.gcdgrp.cbs.max.cur != 'CNY'
          "
        >
          <c-content>
            <m-det202cv :model="model" :codes="codes" />
          </c-content>
        </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>
    <c-grid-ety-prompt-dialog
      ref="doxpDialog"
      :isPty="false"
      :promptData="promptData"
      @select-ety="selectMsg"
    >
    </c-grid-ety-prompt-dialog>
  </div>
  </c-page>
</template>
<script>
import Api from "~/service/Api";
import CodeTable from "~/config/CodeTable";
import Gitset from "~/model/Gitset";
import commonProcess from "~/mixin/commonProcess";

import commonFuncs from "~/mixin/commonFuncs";
import Check from "~/model/Gitset/Check";
import Default from "~/model/Gitset/Default";
import Pattern from "~/model/Gitset/Pattern";
import Gitsetp1 from "./Gitsetp1";
// import Engp from "./Engp"
// import Ccvpan from "./Ccvpan"
// import Setpan from "./Setpan"
// import Glepan from "./Glepan"
// import Coninfp from "./Coninfp"
// import Docpan from "./Docpan"
// import Doctre from "./Doctre"
import Limitbody from "~/views/Public/Limitbody";
import Engp from "~/views/Public/Engp";
import Doctre from "~/views/Public/Doctre";
import Docpan from "~/views/Public/Docpan";
import Setpan from "~/views/Public/Setpan";
import Coninfp from "~/views/Public/Coninfp";
import Glepan from "~/views/Public/Glepan";
import Ccvpan from "~/views/Public/Ccvpan";
import Wg from "./Wg";
import Cnyp from "./Cnyp";
import Shisuan from "./Shisuan";
import Gitsetp from "./Gitsetp";
import Det756 from "./Det756";
import Det202cv from "./Det202cv";
import Basp from "./Basp";
import Basp1 from "./Basp1";
//import BaspVue from "../Bctset/Basp.vue";
import Outp from "./Outp";
import Cips from "./Cips";
import Cips2 from "./Cips2";

export default {
  name: "Gitset",
  components: {
    "m-gitsetp1": Gitsetp1,
    "m-engp": Engp,
    "m-ccvpan": Ccvpan,
    "m-setpan": Setpan,
    "m-glepan": Glepan,
    "m-coninfp": Coninfp,
    "m-docpan": Docpan,
    "m-doctre": Doctre,
    "m-wg": Wg,
    "m-cnyp": Cnyp,
    "m-shisuan": Shisuan,
    "m-gitsetp": Gitsetp,
    "m-limitbody": Limitbody,
    "m-det756": Det756,
    "m-det202cv": Det202cv,
    "m-basp": Basp,
    "m-basp1": Basp1,
    "m-outp": Outp,
    "m-cips": Cips,
    "m-cips2": Cips2,
  },
  provide() {
    return {
      root: this,
    };
  },
  mixins: [commonProcess, commonFuncs], // 里面包含了Default、Check等的公共处理
  data() {
    return {
      det202cvName:"Payment 202 PRB",
      det756Name:"Payment 756 PRB" ,
      tabVal: "gitsetp1",
      trnName: "gitset",
      model: new Gitset().data,
      checkRules: Check,
      defaultRules: Default,
      pattern: Pattern,
      rules: null,
      codes: { ...CodeTable },
    };
  },
   watch:{
         "model.setmod.doccur":{
              immediate:true,
              handler(){
                let cur = this.model.setmod.doccur;
                let amt = this.model.setmod.docamt;
                let doc = this.model.gcdgrp.rec.docprbrol
                this.det202cvName= "Payment 202 "+doc+" "+cur+" "+ amt;
                this.det756Name  = "Payment 756 "+doc+" "+cur+" "+ amt;
              }
            },
          "model.mtabut.clsflg":{
                  immediate:true,
                  handler(){
                    let cur = this.model.setmod.doccur;
                    let amt = this.model.setmod.docamt;
                    let doc = this.model.gcdgrp.rec.docprbrol
                    this.det202cvName= "Payment 202 "+doc+" "+cur+" "+ amt;
                    this.det756Name  = "Payment 756 "+doc+" "+cur+" "+ amt;
              }
            },
    },
  methods: {
   mimeTabClick(tab) {
      this.tabClick(tab);
      const name = tab.name;
      let rulePath;
      if(name === 'basp'){
        rulePath = "bopmod.dbcp.basp"
      }
      if(name === 'basp1'){
        rulePath = "bopmod.dbfp.basp"
      }
      if(name === 'outp'){
        rulePath = "cnybop.Outp"
      }
      if (name === "cips") {
        rulePath = "trnmod.cipmod.cips"
      }
      if (!!rulePath) {
        this.executeRule(rulePath).then((res) => {
          if (res.respCode == SUCCESS) {
            this.updateModel(res.data);
          }
        });
      }
    },
  },
  created: async function () {
    console.log("进入gitset交易");
    let rtnmsg = await this.init({});
    if (rtnmsg.respCode == SUCCESS) {
      //TODO 处理数据逻辑
      this.updateModel(rtnmsg.data);
      this.model.mtabut.clsflg="X";
    } else {
      this.$notify.error({ title: "错误", message: "服务请求失败!" });
    }
  },
};
</script>
<style>
</style>