<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="myTabClick">
        <!--PD000001 -->
          <el-tab-pane label="业务信息" name="ovwp">
            <c-content>
              <m-ovwp :model="model" :codes="codes" />
            </c-content>
          </el-tab-pane>

          <!--PD000001 -->
          <!-- <el-tab-pane label="保证金" name="ccvpan">
            <c-content>
              <m-ccvpan :model="model" :codes="codes" />
            </c-content>
          </el-tab-pane> -->

          <el-tab-pane label="统一授信" name="limitbody,shisuan">
                    <c-content>
                        <div class="eibs-tab">
                            <el-collapse v-model="activeNames1">
                                <el-collapse-item title="统一授信" name="limitbody">
                                    <m-limitbody :model="model" :codes="codes" />
                                </el-collapse-item>
                                <el-collapse-item title="试算结果" name="shisuan">
                                    <m-shisuan :model="model" :codes="codes" />
                                </el-collapse-item>
                            </el-collapse>
                        </div>
                    </c-content>
                </el-tab-pane>

          <!--PD000027 -->
          <el-tab-pane label="费用/账务" name="engp,setpan,glepan">
            <c-content>
              <div class="eibs-tab">
                <el-collapse v-model="activeNames">
                  <el-collapse-item title="表外记账" name="engp">
                    <!-- 表外记账 -->
                    <m-engp :model="model" :codes="codes" />
                  </el-collapse-item>
                  <el-collapse-item title="结算" name="setpan">
                    <!-- 结算 -->
                    <m-setpan :model="model" :codes="codes" />
                  </el-collapse-item>
                  <el-collapse-item title="会计分录" name="glepan">
                    <!-- 会计分录 -->
                    <m-glepan :model="model" :codes="codes" />
                  </el-collapse-item>
                </el-collapse>
              </div>
            </c-content>
          </el-tab-pane>

          <!-- <el-tab-pane label="备查/附言" name="addbcb">
            <c-content>
              <div class="eibs-tab">
              <m-addbcb :model="model" :codes="codes" />
              </div>
            </c-content>
          </el-tab-pane> -->
          <el-tab-pane label="备查/附言" name="coninfp">
          <c-content>
            <div class="eibs-tab">
            <el-collapse v-model="activeNames">
            <el-collapse-item title="附言" name="coninfp">
              <m-coninfp :model="model" :codes="codes" />
            </el-collapse-item>
            </el-collapse>
            </div>
          </c-content>
          </el-tab-pane>

          <!--PD000002 -->
          <!-- <el-tab-pane label="申报信息" name="cnyp">
            <c-content>
              <m-cnyp :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>

          <!--PD000546 -->
          <el-tab-pane label="附件信息" name="doctre">
            <c-content>
              <m-doctre :model="model" :codes="codes" />
            </c-content>
          </el-tab-pane>

      </c-tabs>
    </el-form>
    <c-function-btn
      :handleSubmit="handleSubmit"
      :handleCheck="handleCheck"
      :handleStash="handleStash"
    >
    </c-function-btn>
    <c-grid-ety-prompt-dialog
      ref="etyDialog"
      :promptData="promptData"
      v-on:select-ety="selectEty"
    >
    </c-grid-ety-prompt-dialog>
    </c-page>
  </div>
</template>
      
<script>
import Api from "~/service/Api"
import CodeTable from "~/config/CodeTable"
import Gitdla from "~/model/Gitdla"
import commonProcess from "~/mixin/commonProcess"
import commonFuncs from "~/mixin/commonFuncs";
import Check from "~/model/Gitdla/Check"
import Default from "~/model/Gitdla/Default"
import Pattern from "~/model/Gitdla/Pattern"
import Accp from "./Accp"
import Ovwp from "./Ovwp"
import Ptyp from "./Ptyp"
import Preperpc from "./Preperpc"
import Detp from "./Detp"
import Confp from "./Confp"
import Gidtxtp from "./Gidtxtp"
import Shisuan from "./Shisuan"
// import Coninfp from "./Coninfp"
// import Docpan from "./Docpan"
// import Doctre from "./Doctre"
// import Setpan from "./Setpan"
// import Engp from "./Engp"
import Ovwpc from "./Ovwpc"
import Ptypc from "./Ptypc"
import Detpc from "./Detpc"
import Gidtxtpc from "./Gidtxtpc"
import Opnp from "./Opnp"
import Aacp from "./Aacp"
// import Limitbody from "./Limitbody"
// import Glepan from "./Glepan"

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: "Gitdla",
    components:{
        "m-accp" : Accp,
        "m-ovwp" : Ovwp,
        "m-ptyp" : Ptyp,
        "m-preperpc" : Preperpc,
        "m-detp" : Detp,
        "m-confp" : Confp,
        "m-gidtxtp" : Gidtxtp,
        "m-shisuan" : Shisuan,
        "m-coninfp" : Coninfp,
        "m-docpan" : Docpan,
        "m-doctre" : Doctre,
        "m-setpan" : Setpan,
        "m-engp" : Engp,
        "m-ovwpc" : Ovwpc,
        "m-ptypc" : Ptypc,
        "m-detpc" : Detpc,
        "m-gidtxtpc" : Gidtxtpc,
        "m-opnp" : Opnp,
        "m-aacp" : Aacp,
        "m-limitbody" : Limitbody,
        "m-glepan" : Glepan,
    },
    provide() {
        return {
            root: this,
            activeNames: ["ovwp"],
        }
    },
    mixins: [commonProcess, commonFuncs],    // 里面包含了Default、Check等的公共处理
    data(){
        return {
            tabVal: "ovwp",
            trnName: "gitdla",
            model: new Gitdla().data,
            checkRules: Check,
            defaultRules: Default,
            pattern: Pattern,
            rules: null,
            codes: {
               ...CodeTable,
            },
            activeNames: ["engp","coninfp",],
            activeNames1: ["limitbody"],
        }
    },
    methods: {
    myTabClick(tab) {
      this.tabClick(tab);
      let name = tab.name;
      let rulePath;
      if (name === "conp") {
        rulePath = "cfagit.recp.conp";
      }
      if (name === "voup") {
        rulePath = "cnybop.voup";
      }
      if (name === "setpan") {
        rulePath = "setmod.setpan";
      }
      if (name === "cfap") {
        rulePath = "cfagit.cfap";
      }
      if (name === "dclpp") {
        rulePath = "Ebbp.dclpp";
      }
      if (name === "gidtxtp"){
        rulePath = "gitp.gidtxtp"
      }
      if (name === "ptypc"){
        rulePath = "gitp.ptypc"
      }
      if(name === "detp"){
        rulePath = "gitp.detp"
      }
      if (name === "engp") {
        rulePath = "liaall.engp"
      }
      if (name === "ccvpan") {
        rulePath = "liaall.liaccv.ccvpan"
      }
      if (!!rulePath) {
        this.executeRule(rulePath).then((res) => {
          if (res.respCode == SUCCESS) {
            this.updateModel(res.data);
          }
        });
      }
    },
  },
    created:async function(){
        console.log("进入gitdla交易");
        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>