<template>
  <c-page title="进口代收付款">
    <div class="eContainer">
      <c-function-btn
        :handleSubmit="handleSubmit"
        :handleCheck="handleCheck"
        :handleStash="handleStash"
      >
      </c-function-btn>
      <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="myTabClick">
          <!--PD000005 -->
          <el-tab-pane label="到期时结算BC" name="bctsus">
            <c-content>
            <m-bctsus ref="bctsus" :model="model" :codes="codes" />
            </c-content>
          </el-tab-pane>

          <el-tab-pane label="创建融资" name="trtcrep"  v-if="model.trtcre.crefinflg != ''">
              <c-content>
                <m-trtcrep :model="model" :codes="codes"/>
              </c-content>
           </el-tab-pane>

           <el-tab-pane label="定价系统" name="dinpan" v-if="model.trtcre.trtmod.finmod.dinjdm != '' && model.trtcre.crefinflg !=''">
              <c-content>
                <m-dinpan :model="model" :codes="codes"/>
              </c-content>
           </el-tab-pane>

          <el-tab-pane label="同业代付" name="dftcrep" v-if="model.dftcre.dfflag">
            <c-content>
            <m-dftcrep :model="model" :codes="codes" />
            </c-content>
          </el-tab-pane>
          

          <!--PD000018 -->
          <el-tab-pane label="指示条款" name="detp">
            <m-detp :model="model" :codes="codes" />
          </el-tab-pane>

          <!--PD000260 -->
          <el-tab-pane label="参与方" name="ptyp">
            <c-content>
              <m-ptyp :model="model" :codes="codes" />
            </c-content>
          </el-tab-pane>

          <!--PD000027 -->
          <el-tab-pane label="表外记账" name="engp">
            <m-engp :model="model" :codes="codes" />
          </el-tab-pane>

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

          <el-tab-pane label="账务" name="glepan">
            <m-glepan :model="model" :codes="codes" />
          </el-tab-pane>

          <!--PD000000 -->
          <el-tab-pane label="提示信息" name="coninfp">
            <m-coninfp :model="model" :codes="codes" />
          </el-tab-pane>

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

          <el-tab-pane label="附件" name="doctre">
            <m-doctre :model="model" :codes="codes" />
          </el-tab-pane>

           <el-tab-pane label="融资款项" name="rzkx" v-if="model.trtcre.crefinflg">
            <m-rzkx :model="model" :codes="codes" />
          </el-tab-pane>

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

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

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

          <el-tab-pane label="定向收付" name="dxzfp" v-if="model.trtcre.crefinflg">
            <m-dxzfp :model="model" :codes="codes" />
          </el-tab-pane>
          <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>
        
          <el-tab-pane label="资本项目" name="cfactlp">
            <m-cfactlp :model="model" :codes="codes" />
          </el-tab-pane>

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

          <el-tab-pane label="Cips要素" name="cips2" v-if="model.trnmod.cmtflg=='P'">
            <m-cips2 :model="model" :codes="codes" />
          </el-tab-pane>

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

          <el-tab-pane label="Payment 400 RMI " name="det400">
            <m-det400 :model="model" :codes="codes" />
          </el-tab-pane>

          <el-tab-pane label="Payment 202 RMI " name="det202cv">
            <m-det202cv :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>
    <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 Bctset from "~/model/Bctset";
import commonProcess from "~/mixin/commonProcess";
import commonFuncs from "~/mixin/commonFuncs";
import Check from "~/model/Bctset/Check";
import Default from "~/model/Bctset/Default";
import Pattern from "~/model/Bctset/Pattern";

import Bctsus from "./Bctsus";
import Detp from "./Detp";
import Ptyp from "./Ptyp";
import Wg from "./Wg";
import Basp from "./Basp";
import Basp1 from "./Basp1";
import Cnyp from "./Cnyp";
import Cfactlp from "./Cfactlp";
import Det400 from "./Det400";
import Det202cv from "./Det202cv";
import Cips from "./Cips";
import Cips2 from "./Cips2";
import Dftcrep from "./Dftcrep";
import Dxzfp from "./Dxzfp";
import Rzkx from "./Rzkx";
import Trtcrep from "./Trtcrep";
import Dinpan from "./Dinpan";
import Outp from "./Outp";
import Limitbody from "./Limitbody";

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


export default {
  name: "Bctset",
  components: {
    "m-bctsus": Bctsus,
    "m-detp": Detp,
    "m-setpan": Setpan,
    "m-ptyp": Ptyp,
    "m-basp": Basp,
    "m-basp1": Basp1,
    "m-engp": Engp,
    "m-coninfp": Coninfp,
    "m-docpan": Docpan,
    "m-doctre": Doctre,
    "m-wg": Wg,
    "m-cnyp": Cnyp,
    "m-cfactlp": Cfactlp,
    "m-det400": Det400,
    "m-det202cv": Det202cv,
    "m-limitbody": Limitbody,
    "m-glepan": Glepan,
    "m-cips" :Cips,
    "m-dftcrep" :Dftcrep,
    "m-dxzfp" : Dxzfp,
    "m-rzkx" :Rzkx,
    "m-trtcrep" :Trtcrep,
    "m-cips2" :Cips2,
    "m-outp": Outp,
    "m-dinpan":Dinpan,

  },
  provide() {
    return {
      root: this,
    };
  },
  mixins: [commonProcess, commonFuncs], // 里面包含了Default、Check等的公共处理
  data() {
    return {
      tabVal: "bctsus",
      trnName: "bctset",
      model: new Bctset().data,
      checkRules: Check,
      defaultRules: Default,
      pattern: Pattern,
      rules: null,
      codes: { ...CodeTable },
    };
  },
  methods: {
    myTabClick(tab) {
      this.tabClick(tab);
      let name = tab.name;
      let rulePath;
      if ((name === "trtcrep")) {
        rulePath = "trtcre.trtcrep";
      }
      if ((name === "dftcrep")) {
        rulePath = "dftcre.dftcrep";
      }
      if(name === 'outp'){
        rulePath = "cnybop.Outp"
      }
      if (!!rulePath) {
        this.executeRule(rulePath).then((res) => {
          if (res.respCode == SUCCESS) {
            this.updateModel(res.data);
          }
        });
      }
    },
  },
  created: async function () {
    console.log("进入bctset交易");
    let rtnmsg = await this.init(this.$route.query);
    if (rtnmsg.respCode == SUCCESS) {
      //TODO 处理数据逻辑
      this.updateModel(rtnmsg.data);
      
     if (this.isInDisplay) {
        this.restoreDisplay();
      }
      
      this.$refs.bctsus.$refs.table.$refs.table.toggleAllSelection();
    } else {
      this.$notify.error({ title: "错误", message: "服务请求失败!" });
    }
  },
};
</script>
<style></style>