<template>
<c-page title="买方信用证开立">
  <div class="eContainer">
    <el-form :model="model" :rules="rules" ref="modelForm" label-width="200px" size="small" :validate-on-rule-change="false">
        <c-tabs :value="tabVal" ref="elment" type="card" @tab-click="tabClick"> 
        <el-tab-pane label="内容" name="ovwp">
       <!--PD000001 -->
       <m-ovwp :model="model" :codes="codes"/>
       </el-tab-pane>
 
       <!--
        <el-tab-pane label="经办夹查询">
            <m-revp :model="model" :codes="codes"/>
        </el-tab-pane>
         -->

        <!--
        <el-tab-pane label="经办夹查询">
            PD000065 
            <m-rbip :model="model" :codes="codes"/>
        </el-tab-pane>
        -->
        <el-tab-pane label="银行明细" name="detp1">  
            <!--PD000452 -->
            <m-detp1 :model="model" :codes="codes"/>
        </el-tab-pane>
        <el-tab-pane label="明细" name="detp">
            <!--PD000077 -->
            <m-detp :model="model" :codes="codes"/>
        </el-tab-pane>
        <el-tab-pane label="条款" name="tk">
            <!--PD000342 -->
            <m-tk :model="model" :codes="codes"/>
        </el-tab-pane>

        
        <!-- document rules
        <el-tab-pane label="经办夹查询"> 
            
            <m-litbenl1 :model="model" :codes="codes"/>
        </el-tab-pane>
        <el-tab-pane label="经办夹查询">
            
            <m-litapll1 :model="model" :codes="codes"/>
        </el-tab-pane>
        <el-tab-pane label="经办夹查询">
            
            <m-litrmbl1 :model="model" :codes="codes"/>
        </el-tab-pane>
        -->
        <el-tab-pane label="帐务" name="setpan">
            <!--PD000000 -->
            <m-setpan :model="model" :codes="codes"/>
        </el-tab-pane>
        <el-tab-pane label="分录" name="glepan">
            
            <m-glepan :model="model" :codes="codes" ref="glepan"/>
        </el-tab-pane>  

       
        <el-tab-pane label="或有" name="engp">
             <!--PD000027 -->
            
            <m-engp :model="model" :codes="codes"/>
        </el-tab-pane>  
       
       <el-tab-pane label="保证金" name="ccvpan">
            <m-ccvpan :model="model" :codes="codes"/>
       </el-tab-pane> 

        <el-tab-pane label="备查表" name="addbcb">
            <!--PD000027 -->
              <m-addbcb :model="model" :codes="codes"/>
        </el-tab-pane>
        <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" ref="docpan"/>
        </el-tab-pane>
        
       <el-tab-pane label="MT799" name="mt799">
            <!--PD000361 -->
            <m-mt799 :model="model" :codes="codes"/>
        </el-tab-pane> 
       <!--PD000001 -->
       <el-tab-pane label="统一授信" name="limitbody">
            <m-limitbody :model="model" :codes="codes"/>
        </el-tab-pane> 


        </c-tabs> 
        <c-bus-button :$pntvm="this"></c-bus-button>
    </el-form>
  </div>
</c-page>
</template>
<script>
import Api from "~/service/Api"
import Utils from "~/utils/index"
import CodeTable from "~/config/CodeTable"
import Ditopn from "~/model/Ditopn"
import CommonProcess from "~/mixin/CommonProcess"
import Pattern from "~/model/Ditopn/Pattern"
import Default from "~/model/Ditopn/Default";
import Check from "~/model/Ditopn/Check";
import Ovwp from "./Ovwp"
import Revp from "./Revp"
import Tk from "./Tk"
import Rbip from "./Rbip"
import Detp from "./Detp"
import Detp1 from "./Detp1"
import Mt799 from "./Mt799"
import Litbenl1 from "./Litbenl1"
import Litapll1 from "./Litapll1"
import Litrmbl1 from "./Litrmbl1"
import Setpan from "./Setpan"
import Engp from "./Engp"
import Addbcb from "./Addbcb"
import Docpan from "./Docpan"
import Limitbody from "./Limitbody"
import Coninfp from "./Coninfp"
import Ccvpan from "./Ccvpan"
import Glepan from "./Glepan"


export default {
    components:{
        "m-ovwp" : Ovwp,
        "m-revp" : Revp,
        "m-tk" : Tk,
        "m-rbip" : Rbip,
        "m-detp" : Detp,
        "m-detp1" : Detp1,
        "m-mt799" : Mt799,
        "m-litbenl1" : Litbenl1,
        "m-litapll1" : Litapll1,
        "m-litrmbl1" : Litrmbl1,
        "m-setpan" : Setpan,
        "m-glepan" : Glepan,
        "m-engp" : Engp,
        "m-addbcb" : Addbcb,
        "m-docpan" : Docpan,
        "m-limitbody" : Limitbody,
        "m-coninfp" : Coninfp,
        "m-ccvpan" : Ccvpan,
    },
    provide() {
        return {
            root: this
        }
    },
    mixins: [CommonProcess],    // 里面包含了Default、Check等的公共处理
    computed: {

    },
    data(){
        return {
            tabVal: "ovwp",
            trnName:"ditopn",
            model:new Ditopn().data,
            checkRules: Check,
            defaultRules: Default,
            pattern: Pattern,
            rules:null,
            codes:{...CodeTable},
        }
    },
    methods:{
        tabClick(vm){
            if(this.isInDisplay){
                return
            }
            const name = vm.name
            if (name === "engp") {
                this.executeRule("liaall.engp").then(res => {
                    const data = res.data;
                    Utils.copyValueFromVO(this.model, data)
                })
            }
            if (name === "glepan") {
                this.executeRule("setmod.glemod.glepan").then(res => {
                    const data = res.data;
                    this.$refs.glepan.stmData.data = res.data.setmod_glemod_gleshwstm.rows;
                    //Utils.copyValueFromVO(this.model, data)
                })
            }
            if (name === "setpan") {
                this.executeRule("setmod.setpan").then(res => {
                    if (res.respCode == "AAAAAA"){
                        const data = res.data;
                        Utils.copyValueFromVO(this.model, data)
                    }
                })
            }
            if (name === "docpan") {
                this.executeRule("trnmod.trndoc.docpan").then(res => {
                    if (res.respCode == "AAAAAA"){
                        const data = res.data;
                        Utils.copyValueFromVO(this.model, data)
                        var stm = [];
                        let k = 0;
                        for(let i = 0; i < res.data.trnmod_trndoc_doceot.length; i++){
                            if(res.data.trnmod_trndoc_doceot[i].role != ""){
                                stm[k++] = res.data.trnmod_trndoc_doceot[i];
                            }
                        }
                        this.$refs.docpan.stmData.data = stm
                    }
                })
            }
            if (name === "limitbody") {
                this.executeRule("liaall.limmod.limitbody").then(res => {
                    if (res.respCode == "AAAAAA"){
                        const data = res.data;
                        Utils.copyValueFromVO(this.model, data)
                    }
                })
            }
        }
    },
    mounted:async function(){
        console.log("进入ditopn交易");
        let rtnmsg = await this.init(this.$route.query)
        if(rtnmsg.respCode == SUCCESS)
        {
            //更新数据
            console.log(rtnmsg)
            Utils.copyValueFromVO(this.model,rtnmsg.data)
            console.log(this.model);
            if(this.isInDisplay){
                this.restoreDisplay()
            }
        }
        else
        {
            this.$notify.error({title: '错误',message: '服务请求失败！'});
        }
    },
    computed:{
        flg(){
            return this.model.didgrp.rec.elcflg
        },
        avbby(){
            return this.model.didgrp.rec.avbby  
        }

    },
    watch:{
        flg(){
             this.pattern["didgrp.rec.fenctg"][0].required = this.model.didgrp.rec.elcflg == "Y";
        },
        avbby(){
            this.pattern["didgrp.rec.tenmaxday"][0].required = this.model.didgrp.rec.avbby == "D";
        },
    }
}
</script>
<style>

</style>
