<template>
  <div class="eContainer">
    <c-page title="进口保函赔付">
      <el-form :model="model" :rules="rules" ref="modelForm" label-width="120px" 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="业务信息" name="ovwp">
            <c-content>
              <m-ovwp :model="model" :codes="codes" />
            </c-content>
          </el-tab-pane>

          <el-tab-pane :label="$t('commonModels.授信/表外')" name="liacombo">
            <c-content>
              <div class="eibs-tab">
                <c-collapse ref="liacombo" v-model="activeNames" style="margin-bottom: 5px;">
                  <el-collapse-item :title="$t('commonCollapse.保证金')" name="ccvpan">
                    <m-ccvpan :model="model" :codes="codes" :xxxsetFlag="true" />
                  </el-collapse-item>

                  <el-collapse-item :title="$t('commonCollapse.统一授信')" name="limitbody">
                    <m-limitbody :model="model" :codes="codes" />
                  </el-collapse-item>

                  <el-collapse-item :title="$t('commonCollapse.表外信息')" name="engp">
                    <m-engp :model="model" :codes="codes" />
                  </el-collapse-item>
                </c-collapse>
              </div>
            </c-content>
          </el-tab-pane>

          <!--PD000027 -->
          <el-tab-pane label="费用/账务" name="setpan">
            <c-content>
              <m-setmod :model="model" :codes="codes" :docamtEnable="false" />
            </c-content>
          </el-tab-pane>

          <el-tab-pane :label="$t('commonModels.对外担保')" name="cfagit" v-if="model.gidgrp.rec.fingua=='Y'">
            <c-content>
              <m-cfagit :model="model" :codes="codes" :cfagitConfig="{
									vrfpp: {
										isShow: model.cfagit.vrfflg == 'X' && model.cfagit.cfaflg == '5',
										disabled: true
									},
									dclpp: {
										isShow: model.cfagit.dclflg == 'X' && model.cfagit.cfaflg == '5',
										disabled: false
									},
								}">
                <el-collapse-item :title="$t('commonCollapse.对外担保数据采集')" name="cfap">
                  <m-cfap :model="model" :codes="codes" />
                </el-collapse-item>
              </m-cfagit>
            </c-content>
          </el-tab-pane>
          <el-tab-pane label="外管信息" name="boppay" v-if="getWinBopflg">
                <c-content>
                    <m-boppay :codes="codes" :model="model"/>
                </c-content>
          </el-tab-pane>
          <el-tab-pane :label="$t('commonModels.跨境人民币')" name="rmbbop">
                        <c-content>
                            <m-rmbbop :codes="codes" :model="model" ref="rmbbop"></m-rmbbop>
                        </c-content>
                    </el-tab-pane>


          <el-tab-pane label="付款报文" name="msdetail" v-if="model.gcdgrp.rec.frepayflg!='C'&&(
                        (model.gidgrp.cbs.opn1.cur=='CNY'&&model.cmtflg == 'P'&&model.gidgrp.rec.cmtflg=='X'&&pacs.length!=0)||
                        (model.gidgrp.cbs.opn1.cur!='CNY'&&model.swftyp===''&&pacs.length!=0)
                      )">
            <c-content>
              <m-mesdetail :model="model" :codes="codes" :pacs="pacs" :spcs="spcs"/>
            </c-content>
          </el-tab-pane>

          <el-tab-pane :label="$t('commonModels.统一名单')" name="usrmd">
            <c-content>
              <m-usrmd :model="model" :codes="codes" />
            </c-content>
          </el-tab-pane>

          <!-- PD000529 -->
          <el-tab-pane label="报文/面函" name="docpan">
            <c-content>
              <m-docpan :model="model" :codes="codes" />
            </c-content>
          </el-tab-pane>
        </c-tabs>
      </el-form>

      <!-- 底部按钮 -->
      <c-function-btn :handleSubmit="handleSubmit" :handleCheck="handleCheck" :handleStash="handleStash" ref="commonBtn"
        @handleSureWarning="handleSureWarning"></c-function-btn>
    </c-page>
  </div>
</template>
<script>
  import Api from "~/service/Api";
  import event from "../event";
  import operationFunc from "~/mixin/operationFunc";
  import commonDepend from "~/mixin/commonDepend";
  import CodeTable from "~/config/CodeTable";
  import Check from "../model/check";
  import Default from "../model/default";
  import buildFn from '../event/buildCommons.js';
  import Gitpse from "../model/index";
  import Ovwp from "./Ovwp";
  import MesDetail from "~/page/Business/Gitset/views/MesDetail"
  import Cnyp1 from "./Cnyp1";
  import Cfap from "./Cfap";

  import Rmbbop from "~/components/business/rmb/rmbbop/views";
  import Cfagit from "~/components/business/Cfagit/views";
  import Ccvpan from "~/components/business/ccvpan/views";
  import Limitbody from "~/components/business/limitbody/views";
  import Setmod from "~/components/business/setmod/views";
  import Docpan from "~/components/business/docpan/views";
  import Engp from "~/components/business/engp/views";
  import Usrmd from "~/components/business/Usrmd/views";
  import Boppay from "~/components/business/Boppay/views";

  const tabNameToRulePathMapping = {
    cips: "cipmod.cips"
  };
  export default {
    name: "Gitpse",
    components: {
      //界面
      "m-cnyp1": Cnyp1,
      "m-cfap": Cfap,
      "m-ovwp": Ovwp,
      // "m-addbcb": Addbcb,
      //公共组件
      "m-ccvpan": Ccvpan,
      "m-limitbody": Limitbody,
      "m-setmod": Setmod,
      "m-docpan": Docpan,
      "m-engp": Engp,
      "m-usrmd": Usrmd,
      "m-rmbbop": Rmbbop,
      "m-cfagit": Cfagit,
      "m-mesdetail": MesDetail,
      "m-boppay": Boppay,
    },
    provide() {
      return {
        root: this,
      };
    },
    mixins: [operationFunc, event, commonDepend, Default, buildFn],
    data() {
      return {
        tabVal: "ovwp",
        activeNames: ["ccvpan", "limitbody", "engp"],
        trnName: "gitpse",
        model: new Gitpse().data,
				codes: { ...CodeTable },
				rules: {},
      };
		},
		created() {
            this.rules = this.rawRules;
    },
    methods: {
     
    },
    computed: {
		rawRules() {
          return Check.apply(this);
    },
    pacs() {
        const pa = [];
        const setgll = this.model.setmod.setglg.setgll;
        for (let i = 0; i < setgll.length; i++) {
          const setg = setgll[i];
          // 765和202页面出现条件(费用/账务页面:结算,处理方式是PAC时,756和202页面才能显示)
          if (setg.dsp === "PAC") {
            const temp = [];
            temp.push(setg.rol);
            temp.push(setg.acccur);
            temp.push(setg.fmtaccamt);
            this.model.cipmodVo.dafnzh = setg.act
            if (this.model.cmtflg == 'P') {
              pa.push({
                idx: i,
                title: "cips",
                name: "cips",
                type: "cips"
              });
            }else{
              pa.push({
                idx: i,
                title: "头寸调拨(MT202 " + temp.join(" ") + ")",
                name: "det202cv_" + temp.join("_"),
                type: "202"
              });
              if(this.model.setmod.setglg.setgll[i].setgrp.snd756.ptainr != ''){
                pa.push({
                  idx: i,
                  title: "通知付款(MT756 " + temp.join(" ") + ")",
                  name: "det756_" + temp.join("_"),
                  type: "756"
                });
              }

            }
          }
        }
        // if (pa.length !== 0) {
        //   tabNameToRulePathMapping[pa[0].name] =
        //     "setmod.setglg.setgll(2).sespay.det756";
        //   if (this.model.cmtflg != 'P') {
        //     tabNameToRulePathMapping[pa[1].name] =
        //       "setmod.setglg.setgll(2).sespay.det202cv";
        //   }
        // }
        console.log("pa------>", pa)
        return pa;
      },
      spcs() {
          const sp = [];
          const setgll = this.model.setmod.setglg.setgll;
          for (let i = 0; i < setgll.length; i++) {
            const setg = setgll[i];
            if ((this.model.gcdgrp.rec.frepayflg!='C'&&this.model.gidgrp.cbs.opn1.cur=='CNY')
                 &&(setg.dsp === "ARC"||setg.dsp === "SPC")) {
              const reg20121 = /^\d{6}2120\d{6}1$/;
              const reg20122 = /^\d{6}2120\d{6}2$/;
              const reg21491 = /^\d{6}2149\d{6}1$/;
              const reg21492 = /^\d{6}2149\d{6}2$/;
              const reg21493 = /^\d{6}2149\d{6}3$/;
              if(reg20121.test(setg.act)){
                this.model.transOrderVo.kfr = "国结系统结算款项";
              }
              if(reg20122.test(setg.act)){
                this.model.transOrderVo.kfr = "国结系统结算款项(国内)";
              }
              if(reg21491.test(setg.act)){
                this.model.transOrderVo.kfr = "国结系统汇入汇出款";
              }
              if(reg21492.test(setg.act)){
                this.model.transOrderVo.kfr = "待结转国结融资款项";
              }
              if(reg21493.test(setg.act)){
                this.model.transOrderVo.kfr = "待结转国结其他款项";
              }
              sp.push({
                idx: i
              });
              this.model.transOrderVo.fkzh = setg.act;
            }else{
              this.model.transOrderVo.fkzh = "";
            }
          }
          return sp;
        },

         //判断收支申报开关是否打开
      	getWinBopflg() {
          return window.sessionStorage.SW_BOPFLG !='N';
        },
    },
    watch: {
      "model.docpan.doceot"() {
        let arr = this.model.docpan.doceot;
        this.model.mt769SndFlg = '';
        arr.forEach(item => {
          if (item.id.substr(0, 7) == "TRNAPL1") {
            if (item.cortyp == "SWT" && (item.adrbicaut == 'A' || item.adrbicaut == 'S')) {
              this.model.mt769SndFlg = 'X';
            }
          }
        })
        if (this.model.mt769SndFlg == 'X') {
          this.model.gidgrp.rec.reddat = new Date();
        } else {
          this.model.gidgrp.rec.reddat = '';
        }
      }
    },
    mounted() {
      console.log("进入gitpse交易");
      let params = {
        transName: this.trnName,
        gcdgrp: {
          rec: {
            inr: this.$route.query.inr || ''
          }
        },
        gidgrp: {
          rec: {
            inr: this.$route.query.gidinr || ''
          }
        },
      };
      this.init(params);
    }
  };
</script>
<style>
</style>