<template>
  <div class="eContainer">
    <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">
           <!--cptrep PD000020 Overview -->
           <el-tab-pane label="Overview" name="opnp1">
                <c-content>
                <m-opnp1 :model="model" :codes="codes"/>
                </c-content>
           </el-tab-pane>
            <!--setmod PD000000 Settlement -->
           <el-tab-pane label="Settlement" name="setpan">
                <c-content>
                <m-setpan :model="model" :codes="codes"/>
                </c-content>
           </el-tab-pane>
            <!--glemod PD000001  Bookings-->
           <el-tab-pane label="Bookings" name="glepan">
                <c-content>
                <m-glepan :model="model" :codes="codes"/>
                </c-content>
           </el-tab-pane>
            <!--coninf PD000000 Completion -->
           <el-tab-pane label="Completion" name="coninfp">
                <c-content>
                <m-coninfp :model="model" :codes="codes"/>
                </c-content>
           </el-tab-pane>
            <!--trndoc PD000529 &Messages -->
           <el-tab-pane label="Messages" name="docpan1">
                <c-content>
                <m-docpan1 :model="model" :codes="codes"/>
                </c-content>
           </el-tab-pane>
           <!--trndoc PD000546 Attachments -->
           <el-tab-pane label="Attachments" name="doctre">
                <c-content>
                <m-doctre :model="model" :codes="codes"/>
                </c-content>
           </el-tab-pane>

           <!--cptp PD000434 Detail for MT910 -->
           <el-tab-pane label="Detail for MT910" name="det910" v-if="model.cpdgrp.rec.swftyp=='910'">
                <c-content>
                <m-det910 :model="model" :codes="codes"/>
                </c-content>
           </el-tab-pane>

            <!--lendoc PD000001 收账通知 -->
           <el-tab-pane label="收账通知" name="docpan">
                <c-content>
                <m-docpan :model="model" :codes="codes"/>
                </c-content>
           </el-tab-pane>
            <!--bopgat PD000006 外管信息 -->
           <el-tab-pane label="外管信息" name="wg">
                <c-content>
                <m-wg :model="model" :codes="codes"/>
                </c-content>
           </el-tab-pane>

           <!--dbap PD000001 涉外收入申报单-申报信息 -->
           <el-tab-pane label="涉外收入申报单-基础信息" name="dclp" v-if="model.bopmod.szflg === '1' && model.bopmod.basflg">
                <c-content>
                <m-dclp :model="model" :codes="codes"/>
                </c-content>
           </el-tab-pane>
            <!--dbdp PD000000 境内收入申报单-基础信息 -->
           <el-tab-pane label="境内收入申报单-基础信息" name="basp" v-if="model.bopmod.szflg === '2' && model.bopmod.basflg">
                <c-content>
                <m-basp :model="model" :codes="codes"/>
                </c-content>
           </el-tab-pane>
           <!--hvpmod PD000007 跨境支付 -->
           <el-tab-pane label="跨境支付" name="secpan">
                <c-content>
                <m-secpan :model="model" :codes="codes"/>
                </c-content>
           </el-tab-pane>
            <!--cnybop PD000002 跨境人民币申报 -->
           <el-tab-pane label="跨境人民币申报" name="cnyp">
                <c-content>
                <m-cnyp :model="model" :codes="codes"/>
                </c-content>
           </el-tab-pane>
            <!--cnybop PD000001 2101跨境收入信息 -->
           <el-tab-pane label="2101跨境收入信息" name="incp" v-if="model.cnybop.cnyflg=='1'">
                <c-content>
                <m-incp :model="model" :codes="codes"/>
                </c-content>
           </el-tab-pane>
            
            
            <!--dbdp PD000002 境内收入申报单-管理信息 -->
           <!-- <el-tab-pane :label="$t('dbdp.PD000002')" name="vrfp">
                <m-vrfp :model="model" :codes="codes"/>
           </el-tab-pane> -->
            
            
       </c-tabs>
    </el-form>
  </div>
</template>
<script>
import Api from "~/service/Api"
import CodeTable from "~/config/CodeTable"
import Cptrep from "~/model/Cptrep"
import commonProcess from "~/mixin/commonProcess"
import Check from "~/model/Cptrep/Check"
import Default from "~/model/Cptrep/Default"
import Pattern from "~/model/Cptrep/Pattern"
import Opnp1 from "./Opnp1"
import Setpan from "~/views/Public/Setpan";
import Glepan from "~/views/Public/Glepan";
import Coninfp from "~/views/Public/Coninfp";
import Docpan1 from "~/views/Public/Docpan";
import Docpan from "./Docpan";
import Wg from "./Wg"
import Cnyp from "./Cnyp"
import Incp from "./Incp"
import Secpan from "./Secpan"
import Dclp from "./Dclp"
import Basp from "./Basp"
import Vrfp from "./Vrfp"
import Doctre from "~/views/Public/Doctre";
import Det910 from "./Det910"


export default {
    name: "Cptrep",
    components:{
        "m-opnp1" : Opnp1,
        "m-setpan" : Setpan,
        "m-glepan" : Glepan,
        "m-coninfp" : Coninfp,
        "m-docpan1" : Docpan1,
        "m-docpan" : Docpan,
        "m-wg" : Wg,
        "m-cnyp" : Cnyp,
        "m-incp" : Incp,
        "m-secpan" : Secpan,
        "m-dclp" : Dclp,
        "m-basp" : Basp,
        "m-vrfp" : Vrfp,
        "m-doctre" : Doctre,
        "m-det910" : Det910,
    },
    provide() {
        return {
            root: this
        }
    },
    mixins: [commonProcess],    // 里面包含了Default、Check等的公共处理
    data(){
        return {
            tabVal: "opnp1",
            trnName: "cptrep",
            trnType: "",
            model: new Cptrep().data,
            checkRules: Check,
            defaultRules: Default,
            pattern: Pattern,
            rules: null,
            codes: {...CodeTable
            },
        }
    },
    methods:{
        myTabClick(tab){
            this.tabClick(tab)
            /**
            *  do it yourself
            **/
        }
    },
    created:async function(){
        console.log("进入cptrep交易");
        let rtnmsg = await this.init({})
        if(rtnmsg.respCode == SUCCESS)
        {
           this.updateModel(rtnmsg.data)
           //TODO 处理数据逻辑

        }
        else
        {
            this.$notify.error({title: '错误',message: '服务请求失败!'});
        }
    }
}
</script>
<style>

</style>