<template>
    <div class="eContainer">
        <c-page title="出口信用证单据出口收汇">
            <el-form :model="model" :rules="formRules" :validate-on-rule-change="false" label-position="right"
                     label-width="180px"
                     ref="modelForm" size="small">
                <c-tabs @tab-click="tabClick" ref="elment" type="card" v-model="tabVal">

                    <el-tab-pane label="业务信息" name="ovwp">
                        <c-content>
                            <m-ovwp :codes="codes" :model="model"/>
                        </c-content>
                    </el-tab-pane>

                    <el-tab-pane label="融资还款" name="bptbck" v-if="model.bptbck.bptbckg.length > 0">
                        <c-content>
                            <m-bptbck :codes="codes" :model="model"/>
                        </c-content>
                    </el-tab-pane>

                    <el-tab-pane :label="calcLimExt?'授信/表外':'表外'" name="liacombo">
                        <c-content>
                            <div class="eibs-tab">
                                <c-collapse ref="liacombo" style="margin-bottom: 5px;" v-model="activeNames">
                                    <el-collapse-item name="limitbody" title="统一授信" v-if="calcLimExt">
                                        <m-limitbody :codes="codes" :model="model"/>
                                    </el-collapse-item>
                                    <el-collapse-item name="engp" title="表外信息">
                                        <m-engp :codes="codes" :model="model" ref="engps"/>
                                    </el-collapse-item>
                                </c-collapse>
                            </div>
                        </c-content>
                    </el-tab-pane>

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


                    <el-tab-pane label="资本项目" name="cfabop"
                                 v-if="model.cfabop.cfaeca.eblmod.wrkebl.inr !=null && model.cfabop.cfaeca.eblmod.wrkebl.inr !='' ">
                        <c-content>
                            <m-cfabop :codes="codes" :model="model" ref="cfabop"/>
                        </c-content>
                    </el-tab-pane>

                    <!--PD000002 -->
                    <el-tab-pane label="外管信息" name="bopgat">
                        <c-content>
                            <m-bopgat :codes="codes" :model="model"/>
                        </c-content>
                    </el-tab-pane>

                    <!-- 跨境人民币申报 -->
                    <el-tab-pane label="跨境人民币申报" name="rmbbop">
                        <c-content>
                            <m-rmbbop :codes="codes" :model="model" ref="rmbbop" />
                        </c-content>
                    </el-tab-pane>

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

                    <!--PD000529 -->
                    <el-tab-pane label="报文/面函" name="docpan">
                        <c-content>
                            <m-docpan :codes="codes" :model="model"/>
                        </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
                    :handleCheck="handleCheck"
                    :handleStash="handleStash"
                    :handleSubmit="handleSubmit"
                    @handleSureWarning="handleSureWarning" ref="commonBtn"></c-function-btn>

        </c-page>
    </div>
</template>
<script>

    import Betset from "../model";
    import Ovwp from "./Ovwp"
    import Engp from "~/components/business/engp/views";
    import Setmod from "~/components/business/setmod/views";
    import Glentry from "~/components/business/glentry/views";
    import Docpan from "~/components/business/docpan/views";
    import Doctre from "~/components/business/doctre/views";
    import Limitbody from "~/components/business/limitbody/views";
    import Usrmd from "~/components/business/Usrmd/views";
    import Rmbbop from "~/components/business/rmb/rmbbop/views";
    import Cfabop from "~/components/business/cfa/cfabop/views";
    import Bopgat from "~/components/business/Bopgat/views";
    import Bptbck from "~/components/business/bptbck/views";

    import CodeTable from "~/config/CodeTable";
    import operationFunc from '~/mixin/operationFunc';
    import Default from "../model/default";
    import commonDepend from "~/mixin/commonDepend";
    import Check from '../model/check'
    import event from "../event";
    import buildFn from "../event/buildCommons.js";
    import BigNumber from "bignumber.js";

    export default {
        name: "Betset",
        components: {
            "m-ovwp": Ovwp,
            "m-limitbody": Limitbody,
            "m-engp": Engp,
            "m-doctre": Doctre,
            "m-docpan": Docpan,
            "m-glentry": Glentry,
            "m-setmod": Setmod,
            "m-rmbbop": Rmbbop,
            "m-cfabop": Cfabop,
            "m-usrmd": Usrmd,
            "m-bopgat": Bopgat,
            "m-bptbck": Bptbck,
        },
        provide() {
            return {
                root: this
            }
        },
        mixins: [operationFunc, event, buildFn, commonDepend, Default], // 里面包含了Default、Check等的公共处理
        data() {
            return {
                tabVal: "ovwp",
                trnName: "betset",
                model: new Betset().data,
                codes: {
                    ...CodeTable
                },
                activeNames: ["limitbody", "engp"],
                rules: {},
            }
        },
        computed: {
            formRules() {
                return {...Check.apply(this), ...this.rules};
            },
            calcLimExt() {
                if (this.model.bptbck.bptbckg.length > 0) {
                    this.model.limmod.limpts.opnflg = 'Y';
                    return true;
                }
                this.model.limmod.limpts.opnflg = 'N';
                return false;
            }
        },
        methods: {
            //计算来报数据
            calcRedamt(){
              let mtamt = this.model.betp.mtamt;
              let modified = false;
              if (this.model.setmod && this.model.setmod.modifySet && this.model.setmod.modifySet.includes('redamt')) {
                modified = true;
              }
              if (!modified && Number(mtamt) > 0 && Number(mtamt) < Number(this.model.setmod.docamt)) {
                 this.model.setmod.redamt = new BigNumber(this.model.setmod.docamt).minus(new BigNumber(mtamt));
                 this.calculteAmount();
              }
            }
        },
        mounted() {
            console.log("进入" + this.trnName + "交易");
            let params = {
                transName: this.trnName,
                bedgrp: {
                    rec: {
                        inr: this.$route.query.inr,

                    },
                },
            };
            this.init(params).then(async () => {
                if (this.$store.state.Status.mode !== "display") {
                    this.$refs.engps.initEngp(this.buildCommonData(this.model, this.trnName)).then(() => {
                      this.calcRedamt();
                    });
                }
            });
        },
    }
</script>
<style>

</style>